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: update to 1.1.3
Date: Mon, 03 Aug 2026 17:53:01 GMT	[thread overview]
Message-ID: <178577958149.1.1275234990472747150.rpms-apptainer-7d9bcaf28f3e@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/apptainer
Branch : migrate-spdx
Commit : 7d9bcaf28f3e7c60884f1e5ad3fa07db4f86a490
Author : Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
Date   : 2022-10-25T11:33:40-05:00
Stats  : +189/-3 in 3 file(s)
URL    : https://src.fedoraproject.org/rpms/apptainer/c/7d9bcaf28f3e7c60884f1e5ad3fa07db4f86a490?branch=migrate-spdx

Log:
update to 1.1.3

---
diff --git a/77.patch b/77.patch
new file mode 100644
index 0000000..099332c
--- /dev/null
+++ b/77.patch
@@ -0,0 +1,181 @@
+From b816b986f063f2f7ba5f517669a1d36d1c40ce16 Mon Sep 17 00:00:00 2001
+From: Dave Dykstra <2129743+DrDaveD@users.noreply.github.com>
+Date: Thu, 6 Oct 2022 18:21:57 -0500
+Subject: [PATCH] add low-level uid=N and gid=N options, better help
+
+---
+ fs.h          |  2 ++
+ fuseprivate.c | 12 ++++++++++--
+ fuseprivate.h |  4 +++-
+ hl.c          |  4 ++--
+ ll_main.c     | 12 +++++++++---
+ stat.c        | 24 ++++++++++++++++--------
+ 6 files changed, 42 insertions(+), 16 deletions(-)
+
+diff --git a/fs.h b/fs.h
+index d300a3bb..dc00d54a 100644
+--- a/fs.h
++++ b/fs.h
+@@ -36,6 +36,8 @@
+ struct sqfs {
+ 	sqfs_fd_t fd;
+ 	size_t offset;
++	int uid;
++	int gid;
+ 	struct squashfs_super_block sb;
+ 	sqfs_table id_table;
+ 	sqfs_table frag_table;
+diff --git a/fuseprivate.c b/fuseprivate.c
+index a8e71191..b9a10182 100644
+--- a/fuseprivate.c
++++ b/fuseprivate.c
+@@ -59,12 +59,20 @@ int sqfs_listxattr(sqfs *fs, sqfs_inode *inode, char *buf, size_t *size) {
+ 	return 0;
+ }
+ 
+-void sqfs_usage(char *progname, bool fuse_usage) {
++void sqfs_usage(char *progname, bool fuse_usage, bool ll_usage) {
+ 	fprintf(stderr, "%s (c) 2012 Dave Vasilevsky\n\n", PACKAGE_STRING);
+ 	fprintf(stderr, "Usage: %s [options] ARCHIVE MOUNTPOINT\n",
+ 		progname ? progname : PACKAGE_NAME);
++	fprintf(stderr, "\n%s options:\n", progname);
++	fprintf(stderr, "    -o offset              offset into ARCHIVE to mount\n");
++	fprintf(stderr, "    -o timeout             idle seconds for automatic unmount\n");
++	if (ll_usage) {
++		fprintf(stderr, "    -o uid=N               set file owner\n");
++		fprintf(stderr, "    -o gid=N               set file group\n");
++	}
+ 	if (fuse_usage) {
+ #if FUSE_USE_VERSION >= 30
++		fprintf(stderr, "\nFUSE options:\n");
+ 		fuse_cmdline_help();
+ #else
+ 		struct fuse_args args = FUSE_ARGS_INIT(0, NULL);
+@@ -92,7 +100,7 @@ int sqfs_opt_proc(void *data, const char *arg, int key,
+ 		}
+ 	} else if (key == FUSE_OPT_KEY_OPT) {
+ 		if (strncmp(arg, "-h", 2) == 0 || strncmp(arg, "--h", 3) == 0)
+-			sqfs_usage(opts->progname, true);
++			return -1;
+ 	}
+ 	return 1; /* Keep */
+ }
+diff --git a/fuseprivate.h b/fuseprivate.h
+index c978076c..29974b86 100644
+--- a/fuseprivate.h
++++ b/fuseprivate.h
+@@ -40,7 +40,7 @@
+ int sqfs_listxattr(sqfs *fs, sqfs_inode *inode, char *buf, size_t *size);
+ 
+ /* Print a usage string */
+-void sqfs_usage(char *progname, bool fuse_usage);
++void sqfs_usage(char *progname, bool fuse_usage, bool ll_usage);
+ 
+ /* Parse command-line arguments */
+ typedef struct {
+@@ -49,6 +49,8 @@ typedef struct {
+ 	int mountpoint;
+ 	size_t offset;
+ 	unsigned int idle_timeout_secs;
++	int uid;
++	int gid;
+ } sqfs_opts;
+ int sqfs_opt_proc(void *data, const char *arg, int key,
+ 	struct fuse_args *outargs);
+diff --git a/hl.c b/hl.c
+index 49673913..aa71e4e0 100644
+--- a/hl.c
++++ b/hl.c
+@@ -325,9 +325,9 @@ int main(int argc, char *argv[]) {
+ 	opts.mountpoint = 0;
+ 	opts.offset = 0;
+ 	if (fuse_opt_parse(&args, &opts, fuse_opts, sqfs_opt_proc) == -1)
+-		sqfs_usage(argv[0], true);
++		sqfs_usage(argv[0], true, false);
+ 	if (!opts.image)
+-		sqfs_usage(argv[0], true);
++		sqfs_usage(argv[0], true, false);
+ 	
+ 	hl = sqfs_hl_open(opts.image, opts.offset);
+ 	if (!hl)
+diff --git a/ll_main.c b/ll_main.c
+index aca76935..5bc57abd 100644
+--- a/ll_main.c
++++ b/ll_main.c
+@@ -55,6 +55,8 @@ int main(int argc, char *argv[]) {
+ 	struct fuse_opt fuse_opts[] = {
+ 		{"offset=%zu", offsetof(sqfs_opts, offset), 0},
+ 		{"timeout=%u", offsetof(sqfs_opts, idle_timeout_secs), 0},
++		{"uid=%d", offsetof(sqfs_opts, uid), 0},
++		{"gid=%d", offsetof(sqfs_opts, gid), 0},
+ 		FUSE_OPT_END
+ 	};
+ 	
+@@ -85,8 +87,10 @@ int main(int argc, char *argv[]) {
+ 	opts.mountpoint = 0;
+ 	opts.offset = 0;
+ 	opts.idle_timeout_secs = 0;
++	opts.uid = 0;
++	opts.gid = 0;
+ 	if (fuse_opt_parse(&args, &opts, fuse_opts, sqfs_opt_proc) == -1)
+-		sqfs_usage(argv[0], true);
++		sqfs_usage(argv[0], true, true);
+ 
+ #if FUSE_USE_VERSION >= 30
+ 	if (fuse_parse_cmdline(&args, &fuse_cmdline_opts) != 0)
+@@ -96,9 +100,9 @@ int main(int argc, char *argv[]) {
+                            &fuse_cmdline_opts.mt,
+                            &fuse_cmdline_opts.foreground) == -1)
+ #endif
+-		sqfs_usage(argv[0], true);
++		sqfs_usage(argv[0], true, true);
+ 	if (fuse_cmdline_opts.mountpoint == NULL)
+-		sqfs_usage(argv[0], true);
++		sqfs_usage(argv[0], true, true);
+ 
+ 	/* fuse_daemonize() will unconditionally clobber fds 0-2.
+ 	 *
+@@ -128,6 +132,8 @@ int main(int argc, char *argv[]) {
+ 	
+ 	/* STARTUP FUSE */
+ 	if (!err) {
++		ll->fs.uid = opts.uid;
++		ll->fs.gid = opts.gid;
+ 		sqfs_ll_chan ch;
+ 		err = -1;
+ 		if (sqfs_ll_mount(
+diff --git a/stat.c b/stat.c
+index 29923f37..b425c0c0 100644
+--- a/stat.c
++++ b/stat.c
+@@ -49,14 +49,22 @@ sqfs_err sqfs_stat(sqfs *fs, sqfs_inode *inode, struct stat *st) {
+ 	
+ 	st->st_blksize = fs->sb.block_size; /* seriously? */
+ 	
+-	err = sqfs_id_get(fs, inode->base.uid, &id);
+-	if (err)
+-		return err;
+-	st->st_uid = id;
+-	err = sqfs_id_get(fs, inode->base.guid, &id);
+-	st->st_gid = id;
+-	if (err)
+-		return err;
++	if (fs->uid > 0) {
++		st->st_uid = fs->uid;
++	} else {
++		err = sqfs_id_get(fs, inode->base.uid, &id);
++		if (err)
++			return err;
++		st->st_uid = id;
++	}
++	if (fs->gid > 0) {
++		st->st_gid = fs->gid;
++	} else {
++		err = sqfs_id_get(fs, inode->base.guid, &id);
++		st->st_gid = id;
++		if (err)
++			return err;
++	}
+ 	
+ 	return SQFS_OK;
+ }

diff --git a/apptainer.spec b/apptainer.spec
index 1780e10..743ad34 100644
--- a/apptainer.spec
+++ b/apptainer.spec
@@ -31,14 +31,14 @@
 
 # This can be slightly different than %%{version}.
 # For example, it has dash instead of tilde for release candidates.
-%global package_version 1.1.2
+%global package_version 1.1.3
 
 # Uncomment this to include a multithreaded version of squashfuse_ll
 %global squashfuse_version 0.1.105
 
 Summary: Application and environment virtualization
 Name: apptainer
-Version: 1.1.2
+Version: 1.1.3
 Release: 1%{?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)
@@ -51,6 +51,7 @@ Source: https://github.com/%{name}/%{name}/releases/download/v%{package_version}
 %if "%{?squashfuse_version}" != ""
 Source10: https://github.com/vasi/squashfuse/archive/%{squashfuse_version}/squashfuse-%{squashfuse_version}.tar.gz
 Patch10: https://github.com/vasi/squashfuse/pull/70.patch
+Patch11: https://github.com/vasi/squashfuse/pull/77.patch
 %endif
 # The singularity package was renamed to apptainer after version 3.8.x.
 # The apptainer package reset numbering at 1.0.0, and some singularity
@@ -113,6 +114,7 @@ Provides the optional setuid-root portion of Apptainer.
 # so do main package last
 %setup -b 10 -n squashfuse-%{squashfuse_version}
 %patch -P 10 -p1
+%patch -P 11 -p1
 %setup -n %{name}-%{package_version}
 %else
 %autosetup -n %{name}-%{package_version}
@@ -219,6 +221,9 @@ rmdir %{_sysconfdir}/singularity/* %{_sysconfdir}/singularity 2>/dev/null || tru
 %attr(4755, root, root) %{_libexecdir}/%{name}/bin/starter-suid
 
 %changelog
+* Tue Oct 25 2022 Dave Dykstra <dwd@fedoraproject.org> - 1.1.3
+- Update to upstream 1.1.3.
+
 * Thu Oct 06 2022 Dave Dykstra <dwd@fedoraproject.org> - 1.1.2
 - Update to upstream 1.1.2.
 

diff --git a/sources b/sources
index 3c22736..60a19a1 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 SHA512 (squashfuse-0.1.105.tar.gz) = 6bf18575fd4732f3b0e4530902f2556859c2efbbd781a31bdbf97fe6601412dc750a80354a8ab08a3132d4f8680ea5ff0dd04440f29243906f1017aa6c70bede
-SHA512 (apptainer-1.1.2.tar.gz) = 3fad253379a87ea790f22a14aec703296f606255d4ce847454a59f9dba0b9a6fc449489e7760c4696c1df90fc6abec198934310c1b762e33a83c72cafc7cb370
+SHA512 (apptainer-1.1.3.tar.gz) = d6602cee3db9bd279b09a4cd4939a2e5474b53bcd323c181abcaedd671cefcdb47575801867fde2de5ae457aca6dc3318c2128eed20b2634bedcb3af9a06e915

                 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=178577958149.1.1275234990472747150.rpms-apptainer-7d9bcaf28f3e@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