public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/apptainer] migrate-spdx: replace empty patch files with real patches, update to 1.4.5-2
@ 2026-08-03 17:53 Dave Dykstra
0 siblings, 0 replies; only message in thread
From: Dave Dykstra @ 2026-08-03 17:53 UTC (permalink / raw)
To: git-commits
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);
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-03 17:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-03 17:53 [rpms/apptainer] migrate-spdx: replace empty patch files with real patches, update to 1.4.5-2 Dave Dykstra
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox