squashfs: bump version to e38956b92f738518c29734399629e7cdb33072d3
Subsystems (2)
PATCH v2 1/6 squashfs: bump version to e38956b92f738518c29734399629e7cdb33072d3
- delete patch 0001-musl.patch (superseeded by upstream commit [1])
- disable new zstd support for host/target
---
Changes v1 -> v2:
- split off zstd support to extra patches (suggested by Yann E. MORIN)
--- package/squashfs/0001-musl.patch | 71 ---------------------------------------- package/squashfs/squashfs.hash | 2 +- package/squashfs/squashfs.mk | 7 ++-- 3 files changed, 5 insertions(+), 75 deletions(-) delete mode 100644 package/squashfs/0001-musl.patch
package/squashfs/0001-musl.patch deleted +0 -71
@@ -1,71 +0,0 @@ -Fix musl build - -Downloaded from -http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch -and adjusted paths. - -Signed-off-by: Bernd Kuhls <[email protected]> - -Define FNM_EXTMATCH if not defined its glibc specific define -include missing sys/stat.h for stat* function declarations - -Upstream-Status: Pending -Signed-off-by: Khem Raj <[email protected]> - -Index: squashfs-tools/action.c -=================================================================== ---- a/squashfs-tools.orig/action.c -+++ b/squashfs-tools/action.c -@@ -44,6 +44,10 @@ - #include "action.h" - #include "error.h" - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - /* - * code to parse actions - */ -Index: squashfs-tools/mksquashfs.c -=================================================================== ---- a/squashfs-tools.orig/mksquashfs.c -+++ b/squashfs-tools/mksquashfs.c -@@ -1286,6 +1286,10 @@ void write_dir(squashfs_inode *inode, st - dir_size + 3, directory_block, directory_offset, NULL, NULL, - dir, 0); - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #ifdef SQUASHFS_TRACE - { - unsigned char *dirp; -Index: squashfs-tools/pseudo.c -=================================================================== ---- a/squashfs-tools.orig/pseudo.c -+++ b/squashfs-tools/pseudo.c -@@ -32,6 +32,7 @@ - #include <stdlib.h> - #include <sys/types.h> - #include <sys/wait.h> -+#include <sys/stat.h> - #include <ctype.h> - - #include "pseudo.h" -Index: squashfs-tools/unsquashfs.c -=================================================================== ---- a/squashfs-tools.orig/unsquashfs.c -+++ b/squashfs-tools/unsquashfs.c -@@ -38,6 +38,10 @@ - #include <limits.h> - #include <ctype.h> - -+#ifndef FNM_EXTMATCH -+#define FNM_EXTMATCH 0 -+#endif -+ - struct cache *fragment_cache, *data_cache; - struct queue *to_reader, *to_inflate, *to_writer, *from_writer; - pthread_t *thread, *inflator_thread;
package/squashfs/squashfs.hash +1 -1
@@ -1,2 +1,2 @@ # Locally computed -sha256 2c49392816615b73bf5d6cdce9776cb66a01f5a1494b1d9af580667e32bab001 squashfs-3de1687d7432ea9b302c2db9521996f506c140a3.tar.gz +sha256 bd0aa3011320b8ebee68aa406060de277bef16daf81bad5b9f70cbea6db1a779 squashfs-e38956b92f738518c29734399629e7cdb33072d3.tar.gz
package/squashfs/squashfs.mk +4 -3
@@ -4,12 +4,12 @@ # ################################################################################ -SQUASHFS_VERSION = 3de1687d7432ea9b302c2db9521996f506c140a3 +SQUASHFS_VERSION = e38956b92f738518c29734399629e7cdb33072d3 SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4
@@ -54,7 +54,8 @@ HOST_SQUASHFS_MAKE_ARGS = \ GZIP_SUPPORT=1 \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ - LZMA_XZ_SUPPORT=1 + LZMA_XZ_SUPPORT=1 \ + ZSTD_SUPPORT=0 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \
Signature · 1 line
2.16.3
PATCH v2 2/6 zstd: add host libzstd support
---
Changes v1 -> v2:
- split off host libzstd support (suggested by Yann E. MORIN)
- no ZSTD_OPTS for host libarary build
--- package/zstd/zstd.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+)
package/zstd/zstd.mk +12 -0
@@ -46,4 +46,16 @@ define ZSTD_INSTALL_TARGET_CMDS DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endef +# note: no 'HAVE_...' options for host library build only +define HOST_ZSTD_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D) lib +endef + +define HOST_ZSTD_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package))
Signature · 1 line
2.16.3
PATCH v2 2/6 zstd: add host libzstd support
Peter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 20 lines
Signed-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off host libzstd support (suggested by Yann E. MORIN)
- noZSTD_OPTSfor host libarary build--- package/zstd/zstd.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+)package/zstd/zstd.mk +3
-0@@ -46,4 +46,16 @@ define ZSTD_INSTALL_TARGET_CMDS DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endef +# note: no 'HAVE_...' options for host library build only +define HOST_ZSTD_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \
package/zstd/zstd.mk define ZSTD_INSTALL_TARGET_CMDS · line 61
Quoted 10 lines
package/zstd/zstd.mk +9
-0+ -C $(@D) lib +endef + +define HOST_ZSTD_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package))
The target variant has optional dependencies on zlib, xz, and lz4, which all have host variants.
So, if you don;t specify the dependency in the host-zstd, you get a host-zstd that may or may not have support for zlib, xz, or lz4, depending on hether another package a dependency on them.
We don't have spport for optional host dependencies (because there are not config options for those host packages), so I don't see a solution but to always depend on all three. So:
HOST_ZSTD_DEPENDENCIES = host-lz4 host-xz host-zlib
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 2/6 zstd: add host libzstd support
Hi Yann,
Quoted 39 lines · Yann E. MORIN
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 20 lines
Signed-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off host libzstd support (suggested by Yann E. MORIN)
- noZSTD_OPTSfor host libarary build--- package/zstd/zstd.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+)package/zstd/zstd.mk +3
-0@@ -46,4 +46,16 @@ define ZSTD_INSTALL_TARGET_CMDS DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endef +# note: no 'HAVE_...' options for host library build only +define HOST_ZSTD_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \package/zstd/zstd.mk define ZSTD_INSTALL_TARGET_CMDS · line 61
Quoted 10 lines
package/zstd/zstd.mk +9
-0+ -C $(@D) lib +endef + +define HOST_ZSTD_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package))The target variant has optional dependencies on zlib, xz, and lz4, which all have host variants.
So, if you don;t specify the dependency in the host-zstd, you get a host-zstd that may or may not have support for zlib, xz, or lz4, depending on hether another package a dependency on them.
Quoted 5 lines
We don't have spport for optional host dependencies (because there are not config options for those host packages), so I don't see a solution but to always depend on all three. So:
HOST_ZSTD_DEPENDENCIES= host-lz4 host-xz host-zlib
Why? The build should still consistent for a given config. If you add/remove other packages you might get host-zstd build with different dependencies. This is normal. Target packages behave the same way.
baruch
Signature · 3 lines
http://baruch.siach.name/blog/ ~. .~ Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
- baruch at tkos.co.il - tel: +972.52.368.4656, http://www.tkos.co.il -PATCH v2 2/6 zstd: add host libzstd support
In reply to Yann E. MORINHello Yann,
Quoted 20 lines · Yann E. MORIN
Peter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 17 lines
Signed-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off host libzstd support (suggested by Yann E. MORIN)
- noZSTD_OPTSfor host libarary build--- package/zstd/zstd.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+)package/zstd/zstd.mk +0
-0@@ -46,4 +46,16 @@ define ZSTD_INSTALL_TARGET_CMDS DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endef
Quoted 16 lines
package/zstd/zstd.mk define ZSTD_INSTALL_TARGET_CMDS · line 61
Quoted 13 lines
package/zstd/zstd.mk +12
-0+# note: no 'HAVE_...' options for host library build only +define HOST_ZSTD_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D) lib +endef + +define HOST_ZSTD_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package))The target variant has optional dependencies on zlib, xz, and lz4, which all have host variants.
The zlibx/xz/lz4 support options apply only to the cmdline tools, not to the libzst libary (the only build target for the host variant), see the (short) comment about the 'HAVE_...' options...
Quoted 10 lines
So, if you don;t specify the dependency in the host-zstd, you get a host-zstd that may or may not have support for zlib, xz, or lz4, depending on hether another package a dependency on them.
We don't have spport for optional host dependencies (because there are not config options for those host packages), so I don't see a solution but to always depend on all three. So:
HOST_ZSTD_DEPENDENCIES= host-lz4 host-xz host-zlib
So no need for the host library build to depend on (unused) lz4/xz/zlib host-builds....
Regards,
Peter
Quoted 4 lines
Regards,
Yann E. MORIN.
PATCH v2 2/6 zstd: add host libzstd support
Peter, All,
On 2018-04-12 20:30 +0200, Peter Seiderer spake thusly:
Quoted 36 lines · Yann E. MORIN
Quoted 18 lines
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 17 lines
Signed-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off host libzstd support (suggested by Yann E. MORIN)
- noZSTD_OPTSfor host libarary build--- package/zstd/zstd.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+)package/zstd/zstd.mk +0
-0@@ -46,4 +46,16 @@ define ZSTD_INSTALL_TARGET_CMDS DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endefQuoted 16 lines
package/zstd/zstd.mk define ZSTD_INSTALL_TARGET_CMDS · line 61
Quoted 13 lines
package/zstd/zstd.mk +12
-0+# note: no 'HAVE_...' options for host library build only +define HOST_ZSTD_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D) lib +endef + +define HOST_ZSTD_INSTALL_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + DESTDIR=$(HOST_DIR) PREFIX=/usr -C $(@D)/lib install +endef + $(eval $(generic-package)) +$(eval $(host-generic-package))The target variant has optional dependencies on zlib, xz, and lz4, which all have host variants.
Quoted 3 lines
The zlibx/xz/lz4 support options apply only to the cmdline tools, not to the libzst libary (the only build target for the host variant), see the (short) comment about the '
HAVE_...' options...
OK, that was not clear to me. Say so in the commit log, then.
Regards,
Yann E. MORIN.
Quoted 21 lines
Quoted 9 lines
So, if you don;t specify the dependency in the host-zstd, you get a host-zstd that may or may not have support for zlib, xz, or lz4, depending on hether another package a dependency on them.
We don't have spport for optional host dependencies (because there are not config options for those host packages), so I don't see a solution but to always depend on all three. So:
HOST_ZSTD_DEPENDENCIES= host-lz4 host-xz host-zlibSo no need for the host library build to depend on (unused) lz4/xz/zlib host-builds....
Regards,
PeterQuoted 4 lines
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 3/6 squashfs: add host zstd support
In reply to Peter Seiderer---
Changes v1 -> v2:
- split off host zstd support (suggested by Yann E. MORIN)
--- package/squashfs/squashfs.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
package/squashfs/squashfs.mk +2 -2
@@ -46,7 +46,7 @@ else SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 endif -HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz +HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd HOST_SQUASHFS_MAKE_ARGS = \ XATTR_SUPPORT=1 \
@@ -55,7 +55,7 @@ HOST_SQUASHFS_MAKE_ARGS = \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ LZMA_XZ_SUPPORT=1 \ - ZSTD_SUPPORT=0 + ZSTD_SUPPORT=1 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \
Signature · 1 line
2.16.3
PATCH v2 3/6 squashfs: add host zstd support
Peter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 1 line
Signed-off-by Peter Seiderer <[email protected]>
Regards,
Yann E. MORIN.
Quoted 32 lines
---
Changes v1 -> v2:
- split off host zstd support (suggested by Yann E. MORIN)--- package/squashfs/squashfs.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)package/squashfs/squashfs.mk +2
-2@@ -46,7 +46,7 @@ else SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 endif -HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz +HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd HOST_SQUASHFS_MAKE_ARGS = \ XATTR_SUPPORT=1 \@@ -55,7 +55,7 @@ HOST_SQUASHFS_MAKE_ARGS = \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ LZMA_XZ_SUPPORT=1 \ - ZSTD_SUPPORT=0 + ZSTD_SUPPORT=1 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \Signature · 1 line
2.16.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 4/6 fs/squashfs: add zstd support
In reply to Peter Seiderer---
Changes v1 -> v2:
- add reviewed-by: Yann E. MORIN
--- fs/squashfs/Config.in | 3 +++ fs/squashfs/squashfs.mk | 2 ++ 2 files changed, 5 insertions(+)
fs/squashfs/Config.in +3 -0
@@ -27,5 +27,8 @@ config BR2_TARGET_ROOTFS_SQUASHFS4_LZO config BR2_TARGET_ROOTFS_SQUASHFS4_XZ bool "xz" +config BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD + bool "zstd" + endchoice endif
fs/squashfs/squashfs.mk +2 -0
@@ -16,6 +16,8 @@ else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_LZMA),y) ROOTFS_SQUASHFS_ARGS += -comp lzma else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_XZ),y) ROOTFS_SQUASHFS_ARGS += -comp xz +else ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4_ZSTD),y) +ROOTFS_SQUASHFS_ARGS += -comp zstd else ROOTFS_SQUASHFS_ARGS += -comp gzip endif
Signature · 1 line
2.16.3
PATCH v2 5/6 zstd: add libzstd support
In reply to Peter Seiderer---
Changes v1 -> v2:
- split off target libzstd support (suggested by Yann E. MORIN)
--- package/zstd/zstd.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
package/zstd/zstd.mk +9 -1
@@ -6,6 +6,7 @@ ZSTD_VERSION = v1.3.3 ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) +ZSTD_INSTALL_STAGING = YES ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 ZSTD_LICENSE_FILES = LICENSE COPYING
@@ -38,10 +39,17 @@ endif define ZSTD_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - -C $(@D) zstd + -C $(@D) lib zstd +endef + +define ZSTD_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib install endef define ZSTD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib install $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endef
Signature · 1 line
2.16.3
PATCH v2 5/6 zstd: add libzstd support
Peter, All,
I think the commit title should rather be something like:
zstd: build and install the library
Have you tried building it in:
- a shared-only library configuration (the default for Buildroot),
- a static-only configuration,
- a dual shared+static configuration?
And of course, checked that the corresponding libs are installed?
Regards,
Yann E. MORIN.
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 42 lines
Signed-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off target libzstd support (suggested by Yann E. MORIN)--- package/zstd/zstd.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)package/zstd/zstd.mk +9
-1@@ -6,6 +6,7 @@ ZSTD_VERSION = v1.3.3 ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) +ZSTD_INSTALL_STAGING = YES ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 ZSTD_LICENSE_FILES = LICENSE COPYING@@ -38,10 +39,17 @@ endif define ZSTD_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - -C $(@D) zstd + -C $(@D) lib zstd +endef + +define ZSTD_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib install endef define ZSTD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib install $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endefSignature · 1 line
2.16.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 5/6 zstd: add libzstd support
Hello Yann,
Quoted 5 lines · Yann E. MORIN
Peter, All,
I think the commit title should rather be something like:
zstd: build and install the library
Mhh, a matter of taste ;-)
Quoted 5 lines
Have you tried building it in:
- a shared-only library configuration (the default for Buildroot),
- a static-only configuration,
- a dual shared+static configuration?
Not yet....
Quoted 2 lines
And of course, checked that the corresponding libs are installed?
Good point, looking at the zstd-v1.3.3/lib/Makefile there are separate build targets for the shared/static libs but the install target builds/installs both...
Will fix it on the next patch iteration...
Regards,
Peter
Quoted 48 lines
Regards,
Yann E. MORIN.On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 42 lines
Signed-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off target libzstd support (suggested by Yann E. MORIN)--- package/zstd/zstd.mk | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)package/zstd/zstd.mk +9
-1@@ -6,6 +6,7 @@ ZSTD_VERSION = v1.3.3 ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) +ZSTD_INSTALL_STAGING = YES ZSTD_LICENSE = BSD-3-Clause or GPL-2.0 ZSTD_LICENSE_FILES = LICENSE COPYING@@ -38,10 +39,17 @@ endif define ZSTD_BUILD_CMDS $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ - -C $(@D) zstd + -C $(@D) lib zstd +endef + +define ZSTD_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib install endef define ZSTD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ + DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib install $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \ DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install endefSignature · 1 line
2.16.3
PATCH v2 6/6 squashfs: add zstd support
In reply to Peter Seiderer---
Changes v1 -> v2:
- split off target zstd support (suggested by Yann E. MORIN)
--- package/squashfs/Config.in | 6 ++++++ package/squashfs/squashfs.mk | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-)
package/squashfs/Config.in +6 -0
@@ -41,6 +41,12 @@ config BR2_PACKAGE_SQUASHFS_XZ help Support XZ compression algorithm +config BR2_PACKAGE_SQUASHFS_ZSTD + bool "zstd support" + select BR2_PACKAGE_ZSTD + help + Support ZSTD compression algorithm + endif comment "squashfs needs a toolchain w/ threads"
package/squashfs/squashfs.mk +8 -1
@@ -9,7 +9,7 @@ SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4
@@ -46,6 +46,13 @@ else SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 endif +ifeq ($(BR2_PACKAGE_SQUASHFS_ZSTD),y) +SQUASHFS_DEPENDENCIES += zstd +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=1 COMP_DEFAULT=zstd +else +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=0 +endif + HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd HOST_SQUASHFS_MAKE_ARGS = \
Signature · 1 line
2.16.3
PATCH v2 6/6 squashfs: add zstd support
Peter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 1 line
Signed-off-by Peter Seiderer <[email protected]>
[--SNIP--]
Quoted 14 lines
package/squashfs/squashfs.mk +1
-1@@ -9,7 +9,7 @@ SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4
package/squashfs/squashfs.mk else · line 54
Quoted 9 lines
package/squashfs/squashfs.mk +6
-0@@ -46,6 +46,13 @@ else SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 endif +ifeq ($(BR2_PACKAGE_SQUASHFS_ZSTD),y) +SQUASHFS_DEPENDENCIES += zstd +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=1 COMP_DEFAULT=zstd +else +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=0 +endif
Please, keep the gzip case last, so that it stays the default. Add the zstd case first.
Regards,
Yann E. MORIN.
Quoted 6 lines
package/squashfs/squashfs.mk +0
-0HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd HOST_SQUASHFS_MAKE_ARGS = \Signature · 1 line
2.16.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 6/6 squashfs: add zstd support
Hello Yann,
Quoted 22 lines · Yann E. MORIN
Peter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 1 line
Signed-off-by Peter Seiderer <[email protected]>[--SNIP--]
Quoted 17 lines
package/squashfs/squashfs.mk +1
-1@@ -9,7 +9,7 @@ SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4@@ -46,6 +46,13 @@ else SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=0 endif
Quoted 9 lines
package/squashfs/squashfs.mk else · line 54
Quoted 6 lines
package/squashfs/squashfs.mk +6
-0+ifeq ($(BR2_PACKAGE_SQUASHFS_ZSTD),y) +SQUASHFS_DEPENDENCIES += zstd +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=1 COMP_DEFAULT=zstd +else +SQUASHFS_MAKE_ARGS += ZSTD_SUPPORT=0 +endifPlease, keep the gzip case last, so that it stays the default. Add the zstd case first.
O.k, will fix it on the next patch iteration....
Regards,
Peter
Quoted 11 lines
Regards,
Yann E. MORIN.Quoted 6 lines
package/squashfs/squashfs.mk +0
-0HOST_SQUASHFS_DEPENDENCIES = host-zlib host-lz4 host-lzo host-xz host-zstd HOST_SQUASHFS_MAKE_ARGS = \Signature · 1 line
2.16.3
PATCH v2 1/6 squashfs: bump version to e38956b92f738518c29734399629e7cdb33072d3
In reply to Peter SeidererPeter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 6 lines
- delete patch 0001-musl.patch (superseeded by upstream commit [1])
- disable new zstd support for host/targetSigned-off-by Peter Seiderer <[email protected]>
However, I don't think it is interesting to have the new version (especially as it is a sha1) in the commit title. Having the title read just "squashfs: bump version" is IMHO enough. My rev-by still stands, though.
Thanks!
Regards,
Yann E. MORIN.
Quoted 127 lines
---
Changes v1 -> v2:
- split off zstd support to extra patches (suggested by Yann E. MORIN)--- package/squashfs/0001-musl.patch | 71 ---------------------------------------- package/squashfs/squashfs.hash | 2 +- package/squashfs/squashfs.mk | 7 ++-- 3 files changed, 5 insertions(+), 75 deletions(-) delete mode 100644 package/squashfs/0001-musl.patchpackage/squashfs/0001-musl.patch deleted +0
-71@@ -1,71 +0,0 @@ -Fix musl build - -Downloaded from -http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch -and adjusted paths. - -Signed-off-by: Bernd Kuhls <[email protected]> - -Define FNM_EXTMATCH if not defined its glibc specific define -include missing sys/stat.h for stat* function declarations - -Upstream-Status: Pending -Signed-off-by: Khem Raj <[email protected]> - -Index: squashfs-tools/action.c -=================================================================== ---- a/squashfs-tools.orig/action.c -+++ b/squashfs-tools/action.c -@@ -44,6 +44,10 @@ - #include "action.h" - #include "error.h" - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - /* - * code to parse actions - */ -Index: squashfs-tools/mksquashfs.c -=================================================================== ---- a/squashfs-tools.orig/mksquashfs.c -+++ b/squashfs-tools/mksquashfs.c -@@ -1286,6 +1286,10 @@ void write_dir(squashfs_inode *inode, st - dir_size + 3, directory_block, directory_offset, NULL, NULL, - dir, 0); - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #ifdef SQUASHFS_TRACE - { - unsigned char *dirp; -Index: squashfs-tools/pseudo.c -=================================================================== ---- a/squashfs-tools.orig/pseudo.c -+++ b/squashfs-tools/pseudo.c -@@ -32,6 +32,7 @@ - #include <stdlib.h> - #include <sys/types.h> - #include <sys/wait.h> -+#include <sys/stat.h> - #include <ctype.h> - - #include "pseudo.h" -Index: squashfs-tools/unsquashfs.c -=================================================================== ---- a/squashfs-tools.orig/unsquashfs.c -+++ b/squashfs-tools/unsquashfs.c -@@ -38,6 +38,10 @@ - #include <limits.h> - #include <ctype.h> - -+#ifndef FNM_EXTMATCH -+#define FNM_EXTMATCH 0 -+#endif -+ - struct cache *fragment_cache, *data_cache; - struct queue *to_reader, *to_inflate, *to_writer, *from_writer; - pthread_t *thread, *inflator_thread;package/squashfs/squashfs.hash +1
-1@@ -1,2 +1,2 @@ # Locally computed -sha256 2c49392816615b73bf5d6cdce9776cb66a01f5a1494b1d9af580667e32bab001 squashfs-3de1687d7432ea9b302c2db9521996f506c140a3.tar.gz +sha256 bd0aa3011320b8ebee68aa406060de277bef16daf81bad5b9f70cbea6db1a779 squashfs-e38956b92f738518c29734399629e7cdb33072d3.tar.gzpackage/squashfs/squashfs.mk +4
-3@@ -4,12 +4,12 @@ # ################################################################################ -SQUASHFS_VERSION = 3de1687d7432ea9b302c2db9521996f506c140a3 +SQUASHFS_VERSION = e38956b92f738518c29734399629e7cdb33072d3 SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4@@ -54,7 +54,8 @@ HOST_SQUASHFS_MAKE_ARGS = \ GZIP_SUPPORT=1 \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ - LZMA_XZ_SUPPORT=1 + LZMA_XZ_SUPPORT=1 \ + ZSTD_SUPPORT=0 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \Signature · 1 line
2.16.3
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v2 1/6 squashfs: bump version to e38956b92f738518c29734399629e7cdb33072d3
Hello Yann,
Quoted 8 lines · Yann E. MORIN
Peter, All,
On 2018-04-09 22:04 +0200, Peter Seiderer spake thusly:
Quoted 5 lines
- delete patch 0001-musl.patch (superseeded by upstream commit [1])
- disable new zstd support for host/target
Quoted 8 lines
Quoted 1 line
Signed-off-by Peter Seiderer <[email protected]>Reviewed-by "Yann E. MORIN" <[email protected]>However, I don't think it is interesting to have the new version (especially as it is a sha1) in the commit title. Having the title read just "squashfs: bump version" is IMHO enough. My rev-by still stands, though.
Matter of taste....and looking at a packet history of e.g.:
squashfs: bump version
squashfs: bump version
squashfs: bump version
[...]
is a little boring and makes every patch search or patch reference more difficult....
Regards,
Peter
Quoted 134 lines
Thanks!
Regards,
Yann E. MORIN.Quoted 127 lines
---
Changes v1 -> v2:
- split off zstd support to extra patches (suggested by Yann E. MORIN)--- package/squashfs/0001-musl.patch | 71 ---------------------------------------- package/squashfs/squashfs.hash | 2 +- package/squashfs/squashfs.mk | 7 ++-- 3 files changed, 5 insertions(+), 75 deletions(-) delete mode 100644 package/squashfs/0001-musl.patchpackage/squashfs/0001-musl.patch deleted +0
-71@@ -1,71 +0,0 @@ -Fix musl build - -Downloaded from -http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch -and adjusted paths. - -Signed-off-by: Bernd Kuhls <[email protected]> - -Define FNM_EXTMATCH if not defined its glibc specific define -include missing sys/stat.h for stat* function declarations - -Upstream-Status: Pending -Signed-off-by: Khem Raj <[email protected]> - -Index: squashfs-tools/action.c -=================================================================== ---- a/squashfs-tools.orig/action.c -+++ b/squashfs-tools/action.c -@@ -44,6 +44,10 @@ - #include "action.h" - #include "error.h" - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - /* - * code to parse actions - */ -Index: squashfs-tools/mksquashfs.c -=================================================================== ---- a/squashfs-tools.orig/mksquashfs.c -+++ b/squashfs-tools/mksquashfs.c -@@ -1286,6 +1286,10 @@ void write_dir(squashfs_inode *inode, st - dir_size + 3, directory_block, directory_offset, NULL, NULL, - dir, 0); - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #ifdef SQUASHFS_TRACE - { - unsigned char *dirp; -Index: squashfs-tools/pseudo.c -=================================================================== ---- a/squashfs-tools.orig/pseudo.c -+++ b/squashfs-tools/pseudo.c -@@ -32,6 +32,7 @@ - #include <stdlib.h> - #include <sys/types.h> - #include <sys/wait.h> -+#include <sys/stat.h> - #include <ctype.h> - - #include "pseudo.h" -Index: squashfs-tools/unsquashfs.c -=================================================================== ---- a/squashfs-tools.orig/unsquashfs.c -+++ b/squashfs-tools/unsquashfs.c -@@ -38,6 +38,10 @@ - #include <limits.h> - #include <ctype.h> - -+#ifndef FNM_EXTMATCH -+#define FNM_EXTMATCH 0 -+#endif -+ - struct cache *fragment_cache, *data_cache; - struct queue *to_reader, *to_inflate, *to_writer, *from_writer; - pthread_t *thread, *inflator_thread;package/squashfs/squashfs.hash +1
-1@@ -1,2 +1,2 @@ # Locally computed -sha256 2c49392816615b73bf5d6cdce9776cb66a01f5a1494b1d9af580667e32bab001 squashfs-3de1687d7432ea9b302c2db9521996f506c140a3.tar.gz +sha256 bd0aa3011320b8ebee68aa406060de277bef16daf81bad5b9f70cbea6db1a779 squashfs-e38956b92f738518c29734399629e7cdb33072d3.tar.gzpackage/squashfs/squashfs.mk +4
-3@@ -4,12 +4,12 @@ # ################################################################################ -SQUASHFS_VERSION = 3de1687d7432ea9b302c2db9521996f506c140a3 +SQUASHFS_VERSION = e38956b92f738518c29734399629e7cdb33072d3 SQUASHFS_SITE = https://git.kernel.org/pub/scm/fs/squashfs/squashfs-tools.git SQUASHFS_SITE_METHOD = git SQUASHFS_LICENSE = GPL-2.0+ SQUASHFS_LICENSE_FILES = COPYING -SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 +SQUASHFS_MAKE_ARGS = XATTR_SUPPORT=1 ZSTD_SUPPORT=0 ifeq ($(BR2_PACKAGE_SQUASHFS_LZ4),y) SQUASHFS_DEPENDENCIES += lz4@@ -54,7 +54,8 @@ HOST_SQUASHFS_MAKE_ARGS = \ GZIP_SUPPORT=1 \ LZ4_SUPPORT=1 \ LZO_SUPPORT=1 \ - LZMA_XZ_SUPPORT=1 + LZMA_XZ_SUPPORT=1 \ + ZSTD_SUPPORT=0 define SQUASHFS_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) \Signature · 1 line
2.16.3
PATCH v2 1/6 squashfs: bump version to e38956b92f738518c29734399629e7cdb33072d3
Hello,
Quoted 7 lines · Peter Seiderer
Quoted 4 lines
However, I don't think it is interesting to have the new version (especially as it is a sha1) in the commit title. Having the title read just "squashfs: bump version" is IMHO enough. My rev-by still stands, though.
Matter of taste....and looking at a packet history of e.g.:
Quoted 7 lines
squashfs: bump version
squashfs: bump version
squashfs: bump version
[...]is a little boring and makes every patch search or patch reference more difficult....
We normally like to have the version number in the commit title indeed, like "foo: bump to version 1.2.0". For Git SHA1s, it is a bit more questionable whether it is really useful or not. Indeed, while with "bump to version 1.2.0" you can easily say "ah, yes good, they bumped to that one", with "bump to version e38956b92f738518c29734399629e7cdb33072d3", you're unlikely to be able to say "aah very good, they are up to this commit, so they must have this great new feature". Or if you are, and now all the SHA1s of a project Git repository, you really have a *very* good memory.
That being said, it doesn't hurt, and we could say that for the sake of consistency, we should do it for all packages, regardless of whether they have human-readable version numbers or random SHA1s.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
Thomas Petazzoni
AppliedPATCH v2 1/6 squashfs: bump version to e38956b92f738518c29734399629e7cdb33072d3
In reply to Peter SeidererHello,
Quoted 9 lines · Peter Seiderer
- delete patch 0001-musl.patch (superseeded by upstream commit [1])
- disable new zstd support for host/targetSigned-off-by Peter Seiderer <[email protected]>---
Changes v1 -> v2:
- split off zstd support to extra patches (suggested by Yann E. MORIN)
Quoted 6 lines
--- package/squashfs/0001-musl.patch | 71 ---------------------------------------- package/squashfs/squashfs.hash | 2 +- package/squashfs/squashfs.mk | 7 ++-- 3 files changed, 5 insertions(+), 75 deletions(-) delete mode 100644 package/squashfs/0001-musl.patch
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com