public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
To: git-commits@fedoraproject.org
Subject: [rpms/apptainer] migrate-spdx: replace empty patch files with real patches, update to 1.4.5-2
Date: Mon, 03 Aug 2026 17:53:32 GMT	[thread overview]
Message-ID: <178577961284.1.7930474284545302628.rpms-apptainer-1a31e504e0ad@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/apptainer
Branch : migrate-spdx
Commit : 1a31e504e0add5f05580e48483143725f0bad345
Author : Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
Date   : 2025-12-04T11:53:07-06:00
Stats  : +177/-1 in 4 file(s)
URL    : https://src.fedoraproject.org/rpms/apptainer/c/1a31e504e0add5f05580e48483143725f0bad345?branch=migrate-spdx

Log:
replace empty patch files with real patches, update to 1.4.5-2

---
diff --git a/apptainer.spec b/apptainer.spec
index 951cf36..3728cf2 100644
--- a/apptainer.spec
+++ b/apptainer.spec
@@ -45,7 +45,7 @@
 Summary: Application and environment virtualization formerly known as Singularity
 Name: apptainer
 Version: 1.4.5
-Release: 1%{?dist}
+Release: 2%{?dist}
 # See LICENSE.md for first party code (BSD-3-Clause and LBNL BSD)
 # See LICENSE_THIRD_PARTY.md for incorporated code (ASL 2.0)
 # See LICENSE_DEPENDENCIES.md for dependencies
@@ -489,6 +489,10 @@ fi
 %attr(4755, root, root) %{_libexecdir}/%{name}/bin/starter-suid
 
 %changelog
+* Wed Dec  2 2025 Dave Dykstra <dwd@cern.ch> - 1.4.5-2
+- Include the real patches for e2fsprogs instead of empty files.  Fixes
+  BZ#2417548.
+
 * Tue Dec  1 2025 Dave Dykstra <dwd@cern.ch> - 1.4.5
 - Update to upstream 1.4.5
 

diff --git a/e2fsprogs-246.patch b/e2fsprogs-246.patch
index e69de29..cdd6a46 100644
--- a/e2fsprogs-246.patch
+++ b/e2fsprogs-246.patch
@@ -0,0 +1,48 @@
+From 9c12bff363f1c7bba62decc56d06cb17e5f685d6 Mon Sep 17 00:00:00 2001
+From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+Date: Fri, 10 Oct 2025 08:29:00 -0500
+Subject: [PATCH] fuse2fs: revert change of storing boolean options in bytes
+ instead of ints
+
+This reverts commit c7f2688540d95e7f2cbcd178f8ff62ebe079faf7
+which turned the ints into uint8_t but didn't realize that
+fuse_opt_parse() assumes they are ints.
+
+Signed-off-by: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+---
+ misc/fuse2fs.c | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c
+index cb5620c7e..f565dbe7c 100644
+--- a/misc/fuse2fs.c
++++ b/misc/fuse2fs.c
+@@ -217,17 +217,17 @@ struct fuse2fs {
+ 	pthread_mutex_t bfl;
+ 	char *device;
+ 	char *shortdev;
+-	uint8_t ro;
+-	uint8_t debug;
+-	uint8_t no_default_opts;
+-	uint8_t panic_on_error;
+-	uint8_t minixdf;
+-	uint8_t fakeroot;
+-	uint8_t alloc_all_blocks;
+-	uint8_t norecovery;
+-	uint8_t kernel;
+-	uint8_t directio;
+-	uint8_t acl;
++	int ro;
++	int debug;
++	int no_default_opts;
++	int panic_on_error;
++	int minixdf;
++	int fakeroot;
++	int alloc_all_blocks;
++	int norecovery;
++	int kernel;
++	int directio;
++	int acl;
+ 
+ 	int logfd;
+ 	int blocklog;

diff --git a/e2fsprogs-250.patch b/e2fsprogs-250.patch
index e69de29..2fc267e 100644
--- a/e2fsprogs-250.patch
+++ b/e2fsprogs-250.patch
@@ -0,0 +1,79 @@
+From bb46af2ae75aa0b670f33f17f3141c9bf563bece Mon Sep 17 00:00:00 2001
+From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+Date: Fri, 17 Oct 2025 15:51:44 -0500
+Subject: [PATCH] fuse2fs: open read-only when image is not writable
+
+This opens the image read-only when the image is not writable. If it is then found that a journal recovery is needed, an error is returned then.
+
+The ret value is set to 2 after the option checks so that if there's an error resulting in "goto out" it won't print an error about unrecognized options.
+
+Signed-off-by: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+---
+ misc/fuse2fs.c | 32 ++++++++++++++++++++++++++++----
+ 1 file changed, 28 insertions(+), 4 deletions(-)
+
+diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c
+index d209bc790..96b7de26e 100644
+--- a/misc/fuse2fs.c
++++ b/misc/fuse2fs.c
+@@ -4459,9 +4459,24 @@ int main(int argc, char *argv[])
+ 	err = ext2fs_open2(fctx.device, options, flags, 0, 0, unix_io_manager,
+ 			   &global_fs);
+ 	if (err) {
+-		err_printf(&fctx, "%s.\n", error_message(err));
+-		err_printf(&fctx, "%s\n", _("Please run e2fsck -fy."));
+-		goto out;
++		if ((err == EACCES) || (err == EPERM)) {
++			if (fctx.ro) {
++				dbg_printf(&fctx, "%s: %s\n", __func__,
++ _("Permission denied with writable, trying without.\n"));
++			} else {
++				dbg_printf(&fctx, "%s: %s\n", __func__,
++ _("No write access, opening read-only.\n"));
++				fctx.ro = 1;
++			}
++			flags &= ~EXT2_FLAG_RW;
++			err = ext2fs_open2(fctx.device, options, flags, 0, 0, 
++					   unix_io_manager, &global_fs);
++		}
++		if (err) {
++			err_printf(&fctx, "%s.\n", error_message(err));
++			err_printf(&fctx, "%s\n", _("Please run e2fsck -fy."));
++			goto out;
++		}
+ 	}
+ 	fctx.fs = global_fs;
+ 	global_fs->priv_data = &fctx;
+@@ -4504,6 +4519,8 @@ int main(int argc, char *argv[])
+ 		goto out;
+ 	}
+ 
++	ret = 2;
++
+ 	if (ext2fs_has_feature_shared_blocks(global_fs->super))
+ 		fctx.ro = 1;
+ 
+@@ -4513,6 +4530,11 @@ int main(int argc, char *argv[])
+  _("Mounting read-only without recovering journal."));
+ 			fctx.ro = 1;
+ 			global_fs->flags &= ~EXT2_FLAG_RW;
++		} else if (fctx.ro && !(flags & EXT2_FLAG_RW)) {
++			err_printf(&fctx, "%s\n",
++ _("Journal needs recovery but filesystem could not be opened read-write."));
++			err_printf(&fctx, "%s\n", _("Please run e2fsck -fy."));
++			goto out;
+ 		} else {
+ 			log_printf(&fctx, "%s\n", _("Recovering journal."));
+ 			err = ext2fs_run_ext3_journal(&global_fs);
+@@ -4578,8 +4600,10 @@ int main(int argc, char *argv[])
+ 	if (fctx.no_default_opts == 0)
+ 		fuse_opt_add_arg(&args, extra_args);
+ 
+-	if (fctx.ro)
++	if (fctx.ro) {
++		/* This is in case ro was implied above and not passed in */
+ 		fuse_opt_add_arg(&args, "-oro");
++	}
+ 
+ 	if (fctx.fakeroot) {
+ #ifdef HAVE_MOUNT_NODEV

diff --git a/e2fsprogs-251.patch b/e2fsprogs-251.patch
index e69de29..95b05d3 100644
--- a/e2fsprogs-251.patch
+++ b/e2fsprogs-251.patch
@@ -0,0 +1,45 @@
+From aeea611af1f33b69d971b080febc6d74127e376f Mon Sep 17 00:00:00 2001
+From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+Date: Fri, 17 Oct 2025 14:51:54 -0500
+Subject: [PATCH] fuse2fs: updates for message reporting journal is not
+ supported
+
+This makes two changes to the message that is shown saying that fuse2fs
+does not support the journal.  First is that it reverts the check to
+what it was before 3875380 to look at the ro option not being set
+instead of checking the RW flag.  That's because I don't think this
+message needs to be shown when the ro option is set even when it was
+opened RW; there should be nothing to corrupt when it is ro.
+
+Second, it changes the message to say that writing is not supported
+rather than using the journal is not supported.  The current message is
+confusing because in fact the journal is used for recovery when needed
+and possible.
+
+Signed-off-by: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+---
+ misc/fuse2fs.c | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/misc/fuse2fs.c b/misc/fuse2fs.c
+index cb5620c7e..4401b52c1 100644
+--- a/misc/fuse2fs.c
++++ b/misc/fuse2fs.c
+@@ -4774,12 +4774,15 @@ int main(int argc, char *argv[])
+ 		}
+ 	}
+ 
+-	if (global_fs->flags & EXT2_FLAG_RW) {
++	if (!fctx.ro) {
+ 		if (ext2fs_has_feature_journal(global_fs->super))
+ 			log_printf(&fctx, "%s",
+- _("Warning: fuse2fs does not support using the journal.\n"
++ _("Warning: fuse2fs does not support writing the journal.\n"
+    "There may be file system corruption or data loss if\n"
+    "the file system is not gracefully unmounted.\n"));
++	}
++
++	if (global_fs->flags & EXT2_FLAG_RW) {
+ 		err = ext2fs_read_inode_bitmap(global_fs);
+ 		if (err) {
+ 			translate_error(global_fs, 0, err);

                 reply	other threads:[~2026-08-03 17:53 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178577961284.1.7930474284545302628.rpms-apptainer-1a31e504e0ad@fedoraproject.org \
    --to=2129743+drdaved@users.noreply.github.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox