pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

New package, wip/squashfs. From scole_mail in PR pkg/51058.



Module Name:	pkgsrc-wip
Committed By:	Benny Siegert <bsiegert%gmail.com@localhost>
Pushed By:	bsiegert
Date:		Mon Apr 18 22:50:43 2016 +0200
Changeset:	b9f2c07f7fbe860df209959bb3e92fe3610bd6e8

Modified Files:
	Makefile
Added Files:
	squashfs/DESCR
	squashfs/Makefile
	squashfs/PLIST
	squashfs/distinfo
	squashfs/patches/patch-aa
	squashfs/patches/patch-ab
	squashfs/patches/patch-ac
	squashfs/patches/patch-ad
	squashfs/patches/patch-ae

Log Message:
New package, wip/squashfs. From scole_mail in PR pkg/51058.

Squashfs is a highly compressed read-only filesystem for Linux.
It uses either gzip/xz/lzo/lz4 compression to compress both files, inodes
and directories.  Inodes in the system are very small and all blocks are
packed to minimise data overhead. Block sizes greater than 4K are supported
up to a maximum of 1Mbytes (default block size 128K).

Squashfs is intended for general read-only filesystem use, for archival
use (i.e. in cases where a .tar.gz file may be used), and in constrained
block device/memory systems (e.g. embedded systems) where low overhead is
needed.

This package contains tools to manipulate squashfs archive files.

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=b9f2c07f7fbe860df209959bb3e92fe3610bd6e8

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 Makefile                  |  1 +
 squashfs/DESCR            | 12 ++++++++
 squashfs/Makefile         | 49 ++++++++++++++++++++++++++++++++
 squashfs/PLIST            | 22 +++++++++++++++
 squashfs/distinfo         | 11 ++++++++
 squashfs/patches/patch-aa | 71 +++++++++++++++++++++++++++++++++++++++++++++++
 squashfs/patches/patch-ab | 38 +++++++++++++++++++++++++
 squashfs/patches/patch-ac | 14 ++++++++++
 squashfs/patches/patch-ad | 33 ++++++++++++++++++++++
 squashfs/patches/patch-ae | 16 +++++++++++
 10 files changed, 267 insertions(+)

diffs:
diff --git a/Makefile b/Makefile
index 44d46e8..f6f69af 100644
--- a/Makefile
+++ b/Makefile
@@ -3887,6 +3887,7 @@ SUBDIR+=	spidermonkey24
 SUBDIR+=	splix
 SUBDIR+=	spread4
 SUBDIR+=	spyder
+SUBDIR+=	squashfs
 SUBDIR+=	squirrel
 SUBDIR+=	squirrelmail-avelsieve
 SUBDIR+=	squirrelmail-chg_sasl_passwd
diff --git a/squashfs/DESCR b/squashfs/DESCR
new file mode 100644
index 0000000..a7e9184
--- /dev/null
+++ b/squashfs/DESCR
@@ -0,0 +1,12 @@
+Squashfs is a highly compressed read-only filesystem for Linux.
+It uses either gzip/xz/lzo/lz4 compression to compress both files, inodes
+and directories.  Inodes in the system are very small and all blocks are
+packed to minimise data overhead. Block sizes greater than 4K are supported
+up to a maximum of 1Mbytes (default block size 128K).
+
+Squashfs is intended for general read-only filesystem use, for archival
+use (i.e. in cases where a .tar.gz file may be used), and in constrained
+block device/memory systems (e.g. embedded systems) where low overhead is
+needed.
+
+This package contains tools to manipulate squashfs archive files.
diff --git a/squashfs/Makefile b/squashfs/Makefile
new file mode 100644
index 0000000..032d077
--- /dev/null
+++ b/squashfs/Makefile
@@ -0,0 +1,49 @@
+# $NetBSD$
+
+
+DISTNAME=       squashfs${VERSION}
+PKGNAME=        squashfs-${VERSION}
+VERSION=        4.3
+CATEGORIES=     filesystems
+MASTER_SITES=   http://downloads.sourceforge.net/project/squashfs/squashfs/${DISTNAME}/
+
+MAINTAINER=     pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE=       http://squashfs.sourceforge.net/
+COMMENT=        Tools for squashfs archives
+LICENSE=        gnu-gpl-v2
+
+USE_LANGUAGES=  c
+
+USE_TOOLS+=	gmake
+
+INSTALLATION_DIRS=	bin \
+			share/doc/${PKGNAME} \
+			share/doc/${PKGNAME}/OLD-READMEs \
+			share/examples/${PKGNAME}
+
+SQUASH_DIR=	${WRKDIR}/${DISTNAME}
+WRKSRC=		${SQUASH_DIR}/squashfs-tools
+SQUASH_PKG_DOC=	${DESTDIR}${PREFIX}/share/doc/${PKGNAME}
+
+do-build:
+	cd ${WRKSRC} && env EXTRA_LDFLAGS="${COMPILER_RPATH_FLAG}${PREFIX}/lib" ${GMAKE}
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/mksquashfs ${DESTDIR}${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKSRC}/unsquashfs ${DESTDIR}${PREFIX}/bin
+	${INSTALL_DATA}	${SQUASH_DIR}/ACKNOWLEDGEMENTS   ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/CHANGES            ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/COPYING            ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/DONATIONS          ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/INSTALL            ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/PERFORMANCE.README ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/README             ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/README-4.3         ${SQUASH_PKG_DOC}
+	${INSTALL_DATA}	${SQUASH_DIR}/OLD-READMEs/*      ${SQUASH_PKG_DOC}/OLD-READMEs/
+	${INSTALL_DATA}	${SQUASH_DIR}/pseudo-file.example ${DESTDIR}${PREFIX}/share/examples/${PKGNAME}/
+
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../archivers/lz4/buildlink3.mk"
+.include "../../archivers/lzo/buildlink3.mk"
+.include "../../archivers/xz/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/squashfs/PLIST b/squashfs/PLIST
new file mode 100644
index 0000000..ed5302b
--- /dev/null
+++ b/squashfs/PLIST
@@ -0,0 +1,22 @@
+@comment $NetBSD$
+bin/mksquashfs
+bin/unsquashfs
+share/doc/${PKGNAME}/ACKNOWLEDGEMENTS
+share/doc/${PKGNAME}/CHANGES
+share/doc/${PKGNAME}/COPYING
+share/doc/${PKGNAME}/DONATIONS
+share/doc/${PKGNAME}/INSTALL
+share/doc/${PKGNAME}/PERFORMANCE.README
+share/doc/${PKGNAME}/README
+share/doc/${PKGNAME}/README-4.3
+share/doc/${PKGNAME}/OLD-READMEs/README-2.0
+share/doc/${PKGNAME}/OLD-READMEs/README-2.1
+share/doc/${PKGNAME}/OLD-READMEs/README-3.0
+share/doc/${PKGNAME}/OLD-READMEs/README-3.1
+share/doc/${PKGNAME}/OLD-READMEs/README-3.2
+share/doc/${PKGNAME}/OLD-READMEs/README-3.3
+share/doc/${PKGNAME}/OLD-READMEs/README-4.0
+share/doc/${PKGNAME}/OLD-READMEs/README-4.1
+share/doc/${PKGNAME}/OLD-READMEs/README-4.2
+share/doc/${PKGNAME}/OLD-READMEs/README-AMD64
+share/examples/${PKGNAME}/pseudo-file.example
diff --git a/squashfs/distinfo b/squashfs/distinfo
new file mode 100644
index 0000000..7f56770
--- /dev/null
+++ b/squashfs/distinfo
@@ -0,0 +1,11 @@
+$NetBSD$
+
+SHA1 (squashfs4.3.tar.gz) = a615979db9cee82e4a934a1455577f597d290b41
+RMD160 (squashfs4.3.tar.gz) = fc91627c0757205c4a0fbe2037913cec1cefb1fd
+SHA512 (squashfs4.3.tar.gz) = 854ed7acc99920f24ecf11e0da807e5a2a162eeda55db971aba63a03f0da2c13b20ec0564a906c4b0e415bd8258b273a10208c7abc0704f2ceea773aa6148a79
+Size (squashfs4.3.tar.gz) = 182550 bytes
+SHA1 (patch-aa) = c411bff007132de3f7cfc4382d53f9d9a3ca6806
+SHA1 (patch-ab) = f971b98be2ac760580ff9e813304b1c6182cbd09
+SHA1 (patch-ac) = 070c08107dc466f7c9e0490b3ceb114decc1026b
+SHA1 (patch-ad) = 2bb64be1f48420b5e69cfaa3362448a9e9129b19
+SHA1 (patch-ae) = 5a627546b61b9611151feb9ed052b3b52956786d
diff --git a/squashfs/patches/patch-aa b/squashfs/patches/patch-aa
new file mode 100644
index 0000000..3ae9d6e
--- /dev/null
+++ b/squashfs/patches/patch-aa
@@ -0,0 +1,71 @@
+$NetBSD$
+
+Include other compression besides gzip and add
+fnm_extmatch.h include file dependency.
+
+--- Makefile.orig	2014-05-11 14:56:00.000000000 -0400
++++ Makefile	2016-04-08 15:22:18.000000000 -0400
+@@ -26,7 +26,7 @@
+ # To build using XZ Utils liblzma - install the library and uncomment
+ # the XZ_SUPPORT line below.
+ #
+-#XZ_SUPPORT = 1
++XZ_SUPPORT = 1
+ 
+ 
+ ############ Building LZO support ##############
+@@ -37,7 +37,7 @@
+ # LZO_SUPPORT line below. If needed, uncomment and set LZO_DIR to the
+ # installation prefix.
+ #
+-#LZO_SUPPORT = 1
++LZO_SUPPORT = 1
+ #LZO_DIR = /usr/local
+ 
+ 
+@@ -51,7 +51,7 @@
+ # install and uncomment
+ # the LZ4_SUPPORT line below.
+ #
+-#LZ4_SUPPORT = 1
++LZ4_SUPPORT = 1
+ 
+ 
+ ########### Building LZMA support #############
+@@ -100,7 +100,7 @@
+ #
+ # If unselected, Mksquashfs/Unsquashfs won't store and extract xattrs by
+ # default.  Users can enable xattrs by using the -xattrs option.
+-XATTR_DEFAULT = 1
++#XATTR_DEFAULT = 1
+ 
+ 
+ ###############################################
+@@ -229,7 +229,8 @@
+ 
+ mksquashfs.o: Makefile mksquashfs.c squashfs_fs.h squashfs_swap.h mksquashfs.h \
+ 	sort.h pseudo.h compressor.h xattr.h action.h error.h progressbar.h \
+-	info.h caches-queues-lists.h read_fs.h restore.h process_fragments.h 
++	info.h caches-queues-lists.h read_fs.h restore.h process_fragments.h \
++	fnm_extmatch.h
+ 
+ read_fs.o: read_fs.c squashfs_fs.h squashfs_swap.h compressor.h xattr.h \
+ 	error.h mksquashfs.h
+@@ -247,7 +248,7 @@
+ 
+ read_xattrs.o: read_xattrs.c squashfs_fs.h squashfs_swap.h xattr.h error.h
+ 
+-action.o: action.c squashfs_fs.h mksquashfs.h action.h error.h
++action.o: action.c squashfs_fs.h mksquashfs.h action.h error.h fnm_extmatch.h
+ 
+ progressbar.o: progressbar.c error.h
+ 
+@@ -279,7 +280,7 @@
+ 	$(CC) $(LDFLAGS) $(EXTRA_LDFLAGS) $(UNSQUASHFS_OBJS) $(LIBS) -o $@
+ 
+ unsquashfs.o: unsquashfs.h unsquashfs.c squashfs_fs.h squashfs_swap.h \
+-	squashfs_compat.h xattr.h read_fs.h compressor.h
++	squashfs_compat.h xattr.h read_fs.h compressor.h fnm_extmatch.h
+ 
+ unsquash-1.o: unsquashfs.h unsquash-1.c squashfs_fs.h squashfs_compat.h
+ 
diff --git a/squashfs/patches/patch-ab b/squashfs/patches/patch-ab
new file mode 100644
index 0000000..58c1b40
--- /dev/null
+++ b/squashfs/patches/patch-ab
@@ -0,0 +1,38 @@
+$NetBSD$
+
+Don't use strdupa which NetBSD lacks.
+
+--- action.c.orig	2014-05-10 00:54:13.000000000 -0400
++++ action.c	2016-04-09 14:25:44.000000000 -0400
+@@ -43,6 +43,7 @@
+ #include "mksquashfs.h"
+ #include "action.h"
+ #include "error.h"
++#include "fnm_extmatch.h"
+ 
+ /*
+  * code to parse actions
+@@ -1953,9 +1954,22 @@
+ 
+ static int subpathname_fn(struct atom *atom, struct action_data *action_data)
+ {
+-	return fnmatch(atom->argv[0], get_start(strdupa(action_data->subpath),
++	/* XXX some platforms might not have alloca, strdupa */
++	int ret_val;
++	char *copy_str;
++
++	if ((copy_str = strdup(action_data->subpath)) == NULL) {
++	  fprintf(stderr, "Out of mem\n");
++	  exit(1);
++	}
++
++	ret_val = fnmatch(atom->argv[0],get_start(copy_str,
+ 		count_components(atom->argv[0])),
+ 		FNM_PATHNAME|FNM_PERIOD|FNM_EXTMATCH) == 0;
++
++	free(copy_str);
++
++	return ret_val;
+ }
+ 
+ TEST_VAR_FN(filesize, ACTION_REG, action_data->buf->st_size)
diff --git a/squashfs/patches/patch-ac b/squashfs/patches/patch-ac
new file mode 100644
index 0000000..fb31e32
--- /dev/null
+++ b/squashfs/patches/patch-ac
@@ -0,0 +1,14 @@
+$NetBSD$
+
+Add fnm_extmatch.h include.
+
+--- mksquashfs.c.orig	2014-05-12 18:18:20.000000000 -0400
++++ mksquashfs.c	2016-04-08 11:41:27.000000000 -0400
+@@ -76,6 +76,7 @@
+ #include "read_fs.h"
+ #include "restore.h"
+ #include "process_fragments.h"
++#include "fnm_extmatch.h"
+ 
+ int delete = FALSE;
+ int fd;
diff --git a/squashfs/patches/patch-ad b/squashfs/patches/patch-ad
new file mode 100644
index 0000000..e0678ad
--- /dev/null
+++ b/squashfs/patches/patch-ad
@@ -0,0 +1,33 @@
+$NetBSD$
+
+Add preprocessor checks for sysinfo.h and sysctl.h.
+
+--- unsquashfs.c.orig	2014-05-12 18:18:35.000000000 -0400
++++ unsquashfs.c	2016-04-08 13:09:53.000000000 -0400
+@@ -31,13 +31,25 @@
+ #include "unsquashfs_info.h"
+ #include "stdarg.h"
+ 
+-#include <sys/sysinfo.h>
++/* XXX need autoconf */
++#if ( defined(__linux__) )
++ #include <sys/sysinfo.h>
++#endif
++
++/* XXX need autoconf HAVE_SYS_SYSCTL_H */
++#if ( defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) || \
++      defined(__FreeBSD__) || defined(__OpenBSD__) )
++ #include <sys/sysctl.h>
++#endif
++
+ #include <sys/types.h>
+ #include <sys/time.h>
+ #include <sys/resource.h>
+ #include <limits.h>
+ #include <ctype.h>
+ 
++#include "fnm_extmatch.h"
++
+ struct cache *fragment_cache, *data_cache;
+ struct queue *to_reader, *to_inflate, *to_writer, *from_writer;
+ pthread_t *thread, *inflator_thread;
diff --git a/squashfs/patches/patch-ae b/squashfs/patches/patch-ae
new file mode 100644
index 0000000..5cbd9b5
--- /dev/null
+++ b/squashfs/patches/patch-ae
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Define FNM_EXTMATCH if needed.
+
+--- fnm_extmatch.h.orig	2016-04-08 15:40:57.000000000 -0400
++++ fnm_extmatch.h	2016-04-08 12:36:43.000000000 -0400
+@@ -0,0 +1,9 @@
++/*
++ * this is defined in external/gpl[23]/gnulib various fnmatch_.h
++ * with _GNU_SOURCE or various _POSIX_C_SOURCE but not
++ * pksrgc/pkgtools/libnbcompat pkg/include/nbcompat/fnmatch.h or
++ * usr/include/fnmatch.h, what is best way to fix?
++ */
++#ifndef FNM_EXTMATCH
++# define FNM_EXTMATCH	(1 << 5) /* Use ksh-like extended matching. */	      
++#endif


Home | Main Index | Thread Index | Old Index