Skip to contentSkip to conversation

squashfs: add license hash

PATCH New Peter Seiderer 3 participants 17 messages Apr 16, 2018 – Apr 30, 2018

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH v3 1/6 squashfs: add license hash

---
Changes v2 -> v3:
- new patch

---
 package/squashfs/squashfs.hash | 3 +++
 1 file changed, 3 insertions(+)
package/squashfs/squashfs.hash +3 -0
index 82a650022c..4464e62c02 100644
@@ -1,2 +1,5 @@
 # Locally computed
 sha256 bd0aa3011320b8ebee68aa406060de277bef16daf81bad5b9f70cbea6db1a779 squashfs-e38956b92f738518c29734399629e7cdb33072d3.tar.gz
+
+# License files
+sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
Signature · 1 line
2.16.3
#1 lore raw

PATCH v3 2/6 zstd: add host libzstd support

For the host only the libzstd library is built (no need for host-lz4 host-xz host-zlib dependencies because they affect only the cmdline tool).

---
Changes v2 -> v3:
- fix trailing spaces
- clarify the no need for host-lz4 host-xz host-zlib dependency (suggested by Yann E. MORIN)

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
index c0fa88026c..98f8f779aa 100644
@@ -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
#2 lore raw

PATCH v3 2/6 zstd: add host libzstd support

Peter, All,

On 2018-04-16 21:39 +0200, Peter Seiderer spake thusly:

Quoted 5 lines

For the host only the libzstd library is built (no need for host-lz4 host-xz host-zlib dependencies because they affect only the cmdline tool).

Just a note, see below...

Quoted 20 lines

---
Changes v2 -> v3:
- fix trailing spaces
- clarify the no need for host-lz4 host-xz host-zlib dependency (suggested by Yann E. MORIN)

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 +0 -0
index c0fa88026c..98f8f779aa 100644
@@ -46,4 +46,16 @@ define ZSTD_INSTALL_TARGET_CMDS
 		DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install
 endef

package/zstd/zstd.mk define ZSTD_INSTALL_TARGET_CMDS · line 57

Quoted 10 lines
package/zstd/zstd.mk +9 -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

For the build command, you do: -C $(@D) lib
while for the install, you do: -C $(@D)/lib install

It is not very consistent (not your fault, just the package's). But would it be possible to build with: -C $(@D)/lib

This way, we would get a semblance of artificial consistency...

But that does not bar this from be applied as is...

Regards,
Yann E. MORIN.

Quoted 7 lines
package/zstd/zstd.mk +3 -0
+endef
+
 $(eval $(generic-package))
+$(eval $(host-generic-package))
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.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH v3 2/6 zstd: add host libzstd support

In reply to Peter Seiderer

Hello,

Quoted 10 lines · Peter Seiderer

For the host only the libzstd library is built (no need for host-lz4 host-xz host-zlib dependencies because they affect only the cmdline tool).

---
Changes v2 -> v3:
- fix trailing spaces
- clarify the no need for host-lz4 host-xz host-zlib dependency (suggested by Yann E. MORIN)

I've applied, after changing the build command to use -C $(@D)/lib, as suggested by Yann E. Morin (and verifying that it does work).

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#4 lore raw

PATCH v3 3/6 squashfs: add host zstd support

In reply to Peter Seiderer

---
Changes v2 -> v3:
- no changes

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
index e656218f97..67025ac68a 100644
@@ -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
#5 lore raw

PATCH v3 3/6 squashfs: add host zstd support

Peter, All,

On 2018-04-16 21:39 +0200, Peter Seiderer spake thusly:

Quoted 1 line

Regards,
Yann E. MORIN.

Quoted 35 lines

---
Changes v2 -> v3:
- no changes

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
index e656218f97..67025ac68a 100644
@@ -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.  |
'------------------------------^-------^------------------^--------------------'
#6 lore raw

PATCH v3 3/6 squashfs: add host zstd support

In reply to Peter Seiderer

Hello,

Quoted 4 lines · Peter Seiderer

---
Changes v2 -> v3:
- no changes

I hate when we add unconditional dependencies to host packages, when those dependencies are in fact optional. Long term, we really need to find a better way of doing this.

In the mean time: applied, thanks!

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#7 lore raw

PATCH v3 4/6 fs/squashfs: add zstd support

In reply to Peter Seiderer

---
Changes v2 -> v3:
- no changes

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
index ca9ddb2218..dde2097cb7 100644
@@ -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
index 51abd5d7d0..34ab048603 100644
@@ -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
#9 lore raw

PATCH v3 5/6 zstd: add libzstd support

In reply to Peter Seiderer

Add patch to split libzstd install target into pc, static, shared and includes target. Call only the needed ones for the buildroot staging/target install steps (respect the static/shared configuration).

---
Changes v2 -> v3:
- split libray install targets for static/shared (suggested by Yann E. MORIN)

Changes v1 -> v2:
- split off target libzstd support (suggested by Yann E. MORIN)

---
 ...ry-install-target-into-pc-static-shared-a.patch | 51 ++++++++++++++++++++++
 package/zstd/zstd.mk                               | 46 +++++++++++++++++++
 2 files changed, 97 insertions(+)
 create mode 100644 package/zstd/0001-Split-library-install-target-into-pc-static-shared-a.patch
package/zstd/0001-Split-library-install-target-into-pc-static-shared-a.patch new file +51 -0
new file mode 100644
index 0000000000..af9b2bf3f9
@@ -0,0 +1,51 @@
+From 2623a12bff19049b6ad5bc066e3ef9c6259d415c Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <[email protected]>
+Date: Mon, 16 Apr 2018 20:44:49 +0200
+Subject: [PATCH] Split library install target into pc, static, shared and
+ include only target
+
+Signed-off-by: Peter Seiderer <[email protected]>
+---
+ lib/Makefile | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/lib/Makefile b/lib/Makefile
+index cdfdc5c..b592aa6 100644
+--- a/lib/Makefile
++++ b/lib/Makefile
+@@ -159,20 +159,29 @@ libzstd.pc: libzstd.pc.in
+              -e 's|@VERSION@|$(VERSION)|' \
+              $< >$@
+ 
+-install: libzstd.a libzstd libzstd.pc
++install: install-pc install-static install-shared install-includes
++	@echo zstd static and shared library installed
++
++install-pc: libzstd.pc
+ 	@$(INSTALL) -d -m 755 $(DESTDIR)$(PKGCONFIGDIR)/ $(DESTDIR)$(INCLUDEDIR)/
+ 	@$(INSTALL_DATA) libzstd.pc $(DESTDIR)$(PKGCONFIGDIR)/
+-	@echo Installing libraries
++
++install-static: libzstd.a
++	@echo Installing static library
+ 	@$(INSTALL_DATA) libzstd.a $(DESTDIR)$(LIBDIR)
++
++install-shared: libzstd
++	@echo Installing shared library
+ 	@$(INSTALL_PROGRAM) $(LIBZSTD) $(DESTDIR)$(LIBDIR)
+ 	@ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT_MAJOR)
+ 	@ln -sf $(LIBZSTD) $(DESTDIR)$(LIBDIR)/libzstd.$(SHARED_EXT)
++
++install-includes:
+ 	@echo Installing includes
+ 	@$(INSTALL_DATA) zstd.h $(DESTDIR)$(INCLUDEDIR)
+ 	@$(INSTALL_DATA) common/zstd_errors.h $(DESTDIR)$(INCLUDEDIR)
+ 	@$(INSTALL_DATA) deprecated/zbuff.h $(DESTDIR)$(INCLUDEDIR)     # prototypes generate deprecation warnings
+ 	@$(INSTALL_DATA) dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR)
+-	@echo zstd static and shared library installed
+ 
+ uninstall:
+ 	@$(RM) $(DESTDIR)$(LIBDIR)/libzstd.a
+-- 
+2.16.3
+
package/zstd/zstd.mk +46 -0

67 lines not on this page · raw message

Signature · 1 line
2.16.3
#10 lore raw

PATCH v3 5/6 zstd: add libzstd support

Peter, All,

On 2018-04-16 21:39 +0200, Peter Seiderer spake thusly:

Quoted 5 lines

Add patch to split libzstd install target into pc, static, shared and includes target. Call only the needed ones for the buildroot staging/target install steps (respect the static/shared configuration).

[--SNIP--]

package/zstd/zstd.mk

Quoted 4 lines
package/zstd/zstd.mk +0 -0
index 98f8f779aa..6be36cf398 100644

[--SNIP--]

Quoted 14 lines
package/zstd/zstd.mk +6 -0
@@ -36,15 +37,60 @@ else
 ZSTD_OPTS += HAVE_LZ4=0
 endif
 
+ifeq ($(BR2_STATIC_LIBS),y)
 define ZSTD_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		-C $(@D)/lib libzstd.a
 	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
 		-C $(@D) zstd
 endef
+else ifeq ($(BR2_SHARED_LIBS),y)
+define ZSTD_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \

package/zstd/zstd.mk else · line 59

Quoted 10 lines
package/zstd/zstd.mk +10 -0
+		-C $(@D)/lib libzstd
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		-C $(@D) zstd
+endef
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+define ZSTD_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		-C $(@D) lib zstd
+endef
+endif

I don't like much that we redefine the BUILD_CMDS, INSTALL_TARGET_CMDS, and INSTALL_STAGING_CMDS multiple times under various conditions. When we have that situation, we tend to define additional macros, like so:

ifeq ($(BR2_STATIC_LIBS),y)
ZSTD_BUILD_LIBS = libzstd.a
ZSTD_INSTALL_LIBS = install-static
else ifeq ($(BR2_SHARED_LIBS),y)
ZSTD_BUILD_LIBS = libzstd
ZSTD_INSTALL_LIBS = install-shared
else
ZSTD_BUILD_LIBS = libzstd.a libzstd
ZSTD_INSTALL_LIBS = install-static install-shared
endif

define ZSTD_BUILD_CMDS

    $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
        -C $(@D)/lib $(ZSTD_BUILD_LIBS)
    $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
        -C $(@D) 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-pc install-includes $(ZSTD_INSTALL_LIBS)

endef

define ZSTD_INSTALL_TARGET_CMDS

    $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
        DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install
    $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
        DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib $(ZSTD_INSTALL_LIBS)

endef

Note: yes, the target install would also install the static libs, but they will be removed in target-finalize anyway. So, given this matches our usual practice, and that it makes the code smaller and easier to read, I'd suggest we go this route.

Regards,
Yann E. MORIN.

Quoted 39 lines
package/zstd/zstd.mk +29 -0
+ifeq ($(BR2_STATIC_LIBS),y)
+define ZSTD_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib \
+		install-pc install-static install-includes
+endef
+else ifeq ($(BR2_SHARED_LIBS),y)
+define ZSTD_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib \
+		install-pc install-shared install-includes
+endef
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+define ZSTD_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		DESTDIR=$(STAGING_DIR) PREFIX=/usr -C $(@D)/lib \
+		install
+endef
+endif
+
+ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+define ZSTD_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/lib install-shared
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
+		DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install
+endef
+else
 define ZSTD_INSTALL_TARGET_CMDS
 	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) \
 		DESTDIR=$(TARGET_DIR) PREFIX=/usr -C $(@D)/programs install
 endef
+endif
 
 # note: no 'HAVE_...' options for host library build only
 define HOST_ZSTD_BUILD_CMDS
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.  |
'------------------------------^-------^------------------^--------------------'
#11 lore raw

PATCH v3 5/6 zstd: add libzstd support

In reply to Peter Seiderer

Hello,

Quoted 9 lines · Peter Seiderer

Add patch to split libzstd install target into pc, static, shared and includes target. Call only the needed ones for the buildroot staging/target install steps (respect the static/shared configuration).

---
Changes v2 -> v3:
- split libray install targets for static/shared (suggested by Yann E. MORIN)

Applied to master after implementing the suggestion from Yann:

[Thomas: as suggested by Yann E. Morin, refactor the build/install commands to use only one invocation, with intermediate ZSTD_BUILD_LIBS and ZSTD_INSTALL_LIBS variables, defined depending on whether static/shared/static+shared is selected.]

Also, did you submit the patch upstream ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#12 lore raw

PATCH v3 5/6 zstd: add libzstd support

Hello Yann, Thomas,

Quoted 7 lines · Thomas Petazzoni

Hello,

Quoted 4 lines · Peter Seiderer

Add patch to split libzstd install target into pc, static, shared and includes target. Call only the needed ones for the buildroot staging/target install steps (respect the static/shared configuration).

Quoted 7 lines
Quoted 5 lines

---
Changes v2 -> v3:
- split libray install targets for static/shared (suggested by Yann E. MORIN)

Applied to master after implementing the suggestion from Yann:

Thanks for review, suggestions and fixing it on the fly....

Quoted 7 lines

[Thomas: as suggested by Yann E. Morin, refactor the build/install commands to use only one invocation, with intermediate ZSTD_BUILD_LIBS and ZSTD_INSTALL_LIBS variables, defined depending on whether static/shared/static+shared is selected.]

Also, did you submit the patch upstream ?

Just done, see [1]...

Regards,
Peter

[1] https://github.com/facebook/zstd/pull/1114

Quoted 4 lines

Thanks!

Thomas

#13 lore raw

PATCH v3 6/6 squashfs: add zstd support

In reply to Peter Seiderer

---
Changes v2 -> v3:
- move up the zstd section to keep gzip as default (suggested by Yann E. MORIN)

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
index 70c0fc9808..c16ebbf27f 100644
@@ -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
index 67025ac68a..7467342c48 100644
@@ -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
@@ -39,6 +39,13 @@ else
 SQUASHFS_MAKE_ARGS += LZO_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
+
 ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP),y)
 SQUASHFS_DEPENDENCIES += zlib
 SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 COMP_DEFAULT=gzip
Signature · 1 line
2.16.3
#14 lore raw

PATCH v3 6/6 squashfs: add zstd support

Peter, All,

On 2018-04-16 21:39 +0200, Peter Seiderer spake thusly:

Quoted 1 line

Regards,
Yann E. MORIN.

Quoted 59 lines

---
Changes v2 -> v3:
- move up the zstd section to keep gzip as default (suggested by Yann E. MORIN)

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
index 70c0fc9808..c16ebbf27f 100644
@@ -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
index 67025ac68a..7467342c48 100644
@@ -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
@@ -39,6 +39,13 @@ else
 SQUASHFS_MAKE_ARGS += LZO_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
+
 ifeq ($(BR2_PACKAGE_SQUASHFS_GZIP),y)
 SQUASHFS_DEPENDENCIES += zlib
 SQUASHFS_MAKE_ARGS += GZIP_SUPPORT=1 COMP_DEFAULT=gzip
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.  |
'------------------------------^-------^------------------^--------------------'
#15 lore raw

PATCH v3 6/6 squashfs: add zstd support

In reply to Peter Seiderer

Hello,

Quoted 5 lines · Peter Seiderer

---
Changes v2 -> v3:
- move up the zstd section to keep gzip as default (suggested by Yann E. MORIN)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#16 lore raw

PATCH v3 1/6 squashfs: add license hash

In reply to Peter Seiderer

Hello,

Quoted 7 lines · Peter Seiderer

---
Changes v2 -> v3:
- new patch

---
 package/squashfs/squashfs.hash | 3 +++
 1 file changed, 3 insertions(+)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com