Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Mar 2024 08:10:08 GMT
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 5edf9f1ac6d4 - main - sysutils/squashfs-tools-ng: update the port to version 1.3.0
Message-ID:  <202403150810.42F8A8TD008173@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5edf9f1ac6d43c9f463b4b0f1a56efc6b855e7c2

commit 5edf9f1ac6d43c9f463b4b0f1a56efc6b855e7c2
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2024-03-15 08:08:46 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2024-03-15 08:08:46 +0000

    sysutils/squashfs-tools-ng: update the port to version 1.3.0
    
    Pull one upstream patch which had been omitted from this release
    for some reason so that gensquashfs(1) can apply xattr file also
    when using a pack file.
    
    Reported by:    portscout
---
 sysutils/squashfs-tools-ng/Makefile                |  3 +-
 sysutils/squashfs-tools-ng/distinfo                |  6 +-
 .../files/patch-bin_gensquashfs_mkfs.c             | 77 ++++++++++++++++++++++
 sysutils/squashfs-tools-ng/pkg-plist               | 12 ++--
 4 files changed, 87 insertions(+), 11 deletions(-)

diff --git a/sysutils/squashfs-tools-ng/Makefile b/sysutils/squashfs-tools-ng/Makefile
index 640eec8df879..c7a2ffaa1a60 100644
--- a/sysutils/squashfs-tools-ng/Makefile
+++ b/sysutils/squashfs-tools-ng/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=	squashfs-tools-ng
-PORTVERSION=	1.2.0
-PORTREVISION=	1
+PORTVERSION=	1.3.0
 CATEGORIES=	sysutils
 MASTER_SITES=	https://infraroot.at/pub/squashfs/
 
diff --git a/sysutils/squashfs-tools-ng/distinfo b/sysutils/squashfs-tools-ng/distinfo
index 839ff9f95889..80049366d147 100644
--- a/sysutils/squashfs-tools-ng/distinfo
+++ b/sysutils/squashfs-tools-ng/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1670069084
-SHA256 (squashfs-tools-ng-1.2.0.tar.xz) = d736076095d584975640a78cd1554ce15ccbdebdd73d779b7d1ec8004832b7e7
-SIZE (squashfs-tools-ng-1.2.0.tar.xz) = 586992
+TIMESTAMP = 1710194396
+SHA256 (squashfs-tools-ng-1.3.0.tar.xz) = 5f91df5eb4d4ae6b6f613e9b7cd346daf45373a1b065c6c1b0891a86abe13e8f
+SIZE (squashfs-tools-ng-1.3.0.tar.xz) = 585800
diff --git a/sysutils/squashfs-tools-ng/files/patch-bin_gensquashfs_mkfs.c b/sysutils/squashfs-tools-ng/files/patch-bin_gensquashfs_mkfs.c
new file mode 100644
index 000000000000..66f9167e7fd2
--- /dev/null
+++ b/sysutils/squashfs-tools-ng/files/patch-bin_gensquashfs_mkfs.c
@@ -0,0 +1,77 @@
+--- bin/gensquashfs/mkfs.c.orig	2024-01-24 08:55:22 UTC
++++ bin/gensquashfs/mkfs.c
+@@ -70,7 +70,8 @@ static int pack_files(sqfs_block_processor_t *data, fs
+ }
+ 
+ static int relabel_tree_dfs(const char *filename, sqfs_xattr_writer_t *xwr,
+-			    tree_node_t *n, void *selinux_handle)
++			    tree_node_t *n, void *selinux_handle,
++			    void *xattrmap)
+ {
+ 	char *path = fstree_get_path(n);
+ 	int ret;
+@@ -86,24 +87,28 @@ static int relabel_tree_dfs(const char *filename, sqfs
+ 		return -1;
+ 	}
+ 
+-	if (selinux_relable_node(selinux_handle, xwr, n, path)) {
+-		free(path);
+-		return -1;
+-	}
++	if (xattrmap != NULL)
++		ret = xattr_apply_map_file(path, xattrmap, xwr);
+ 
+-	ret = sqfs_xattr_writer_end(xwr, &n->xattr_idx);
++	if (ret == 0 && selinux_handle != NULL)
++		ret = selinux_relable_node(selinux_handle, xwr, n, path);
++
++	free(path);
++	if (ret == 0)
++		ret = sqfs_xattr_writer_end(xwr, &n->xattr_idx);
++
+ 	if (ret) {
+ 		sqfs_perror(filename, "flushing completed key-value pairs",
+ 			    ret);
+ 		return -1;
+ 	}
+ 
+-	free(path);
+-
+ 	if (S_ISDIR(n->mode)) {
+ 		for (n = n->data.dir.children; n != NULL; n = n->next) {
+-			if (relabel_tree_dfs(filename, xwr, n, selinux_handle))
++			if (relabel_tree_dfs(filename, xwr, n,
++					     selinux_handle, xattrmap)) {
+ 				return -1;
++			}
+ 		}
+ 	}
+ 
+@@ -111,15 +116,15 @@ static int relabel_tree_dfs(const char *filename, sqfs
+ }
+ 
+ static int read_fstree(fstree_t *fs, options_t *opt, sqfs_xattr_writer_t *xwr,
+-		       void *selinux_handle)
++		       void *selinux_handle, void *xattrmap)
+ {
+ 	int ret;
+ 
+ 	ret = fstree_from_file(fs, opt->infile, opt->packdir);
+ 
+-	if (ret == 0 && selinux_handle != NULL)
++	if (ret == 0 && (selinux_handle != NULL || xattrmap != NULL))
+ 		ret = relabel_tree_dfs(opt->cfg.filename, xwr,
+-				       fs->root, selinux_handle);
++				       fs->root, selinux_handle, xattrmap);
+ 
+ 	return ret;
+ }
+@@ -175,7 +180,7 @@ int main(int argc, char **argv)
+ 			goto out;
+ 		}
+ 	} else {
+-		if (read_fstree(&sqfs.fs, &opt, sqfs.xwr, sehnd))
++		if (read_fstree(&sqfs.fs, &opt, sqfs.xwr, sehnd, xattrmap))
+ 			goto out;
+ 	}
+ 
diff --git a/sysutils/squashfs-tools-ng/pkg-plist b/sysutils/squashfs-tools-ng/pkg-plist
index 71b6a8f951bd..c45f36f07a70 100644
--- a/sysutils/squashfs-tools-ng/pkg-plist
+++ b/sysutils/squashfs-tools-ng/pkg-plist
@@ -27,13 +27,8 @@ include/sqfs/xattr_writer.h
 lib/libsquashfs.a
 lib/libsquashfs.so
 lib/libsquashfs.so.1
-lib/libsquashfs.so.1.4.0
+lib/libsquashfs.so.1.4.1
 libdata/pkgconfig/libsquashfs1.pc
-%%TOOLS%%share/man/man1/gensquashfs.1.gz
-%%TOOLS%%share/man/man1/rdsquashfs.1.gz
-%%TOOLS%%share/man/man1/sqfs2tar.1.gz
-%%TOOLS%%share/man/man1/sqfsdiff.1.gz
-%%TOOLS%%share/man/man1/tar2sqfs.1.gz
 %%PORTDOCS%%%%DOCSDIR%%/CHANGELOG.md
 %%PORTDOCS%%%%DOCSDIR%%/README.md
 %%PORTDOCS%%%%DOCSDIR%%/architecture.md
@@ -42,3 +37,8 @@ libdata/pkgconfig/libsquashfs1.pc
 %%PORTDOCS%%%%DOCSDIR%%/format.adoc
 %%PORTDOCS%%%%DOCSDIR%%/mainpage.dox
 %%PORTDOCS%%%%DOCSDIR%%/parallelism.txt
+%%TOOLS%%share/man/man1/gensquashfs.1.gz
+%%TOOLS%%share/man/man1/rdsquashfs.1.gz
+%%TOOLS%%share/man/man1/sqfs2tar.1.gz
+%%TOOLS%%share/man/man1/sqfsdiff.1.gz
+%%TOOLS%%share/man/man1/tar2sqfs.1.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202403150810.42F8A8TD008173>