diff --git a/fs/squashfs/Config.in b/fs/squashfs/Config.in index 6cc8fcae00..bcc93b9256 100644 --- a/fs/squashfs/Config.in +++ b/fs/squashfs/Config.in @@ -2,3 +2,22 @@ config BR2_TARGET_ROOTFS_SQUASHFS bool "squashfs root filesystem" help Build a squashfs root filesystem + +if BR2_TARGET_ROOTFS_SQUASHFS +choice + prompt "SquashFS version" + default BR2_TARGET_ROOTFS_SQUASHFS4 + help + Select the Squash filesystem version to use to generate the + root filesystem. + +config BR2_TARGET_ROOTFS_SQUASHFS4 + bool "4.x" + +config BR2_TARGET_ROOTFS_SQUASHFS3 + depends on BR2_DEPRECATED + bool "3.x" + +endchoice +endif + diff --git a/fs/squashfs/squashfs.mk b/fs/squashfs/squashfs.mk index d72388ebf2..f11ba20900 100644 --- a/fs/squashfs/squashfs.mk +++ b/fs/squashfs/squashfs.mk @@ -4,7 +4,11 @@ # ############################################################# +ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS4),y) ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs +else +ROOTFS_SQUASHFS_DEPENDENCIES = host-squashfs3 +endif define ROOTFS_SQUASHFS_CMD $(HOST_DIR)/usr/bin/mksquashfs $(TARGET_DIR) $$@ -noappend diff --git a/package/Config.in b/package/Config.in index 0dac9498f2..877a87e81c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -189,6 +189,7 @@ source "package/sfdisk/Config.in" endif source "package/smartmontools/Config.in" source "package/squashfs/Config.in" +source "package/squashfs3/Config.in" source "package/sshfs/Config.in" source "package/sysstat/Config.in" if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS diff --git a/package/squashfs3/Config.in b/package/squashfs3/Config.in new file mode 100644 index 0000000000..2f7033dd83 --- /dev/null +++ b/package/squashfs3/Config.in @@ -0,0 +1,7 @@ +config BR2_PACKAGE_SQUASHFS3 + bool "squashfs3" + depends on BR2_DEPRECATED + help + Tools to generate SquashFS 3.x filesystems. + + http://squashfs.sourceforge.net/ diff --git a/package/squashfs3/squashfs-3.4-build-system-fix.patch b/package/squashfs3/squashfs-3.4-build-system-fix.patch new file mode 100644 index 0000000000..5b86b008a0 --- /dev/null +++ b/package/squashfs3/squashfs-3.4-build-system-fix.patch @@ -0,0 +1,28 @@ +[PATCH]: squashfs-tools: Handle user supplied CFLAGS/LDFLAGS + +Properly handle make CFLAGS=.. LDFLAGS=.. + +Signed-off-by: Peter Korsgaard +--- + squashfs-tools/Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: squashfs3.4/squashfs-tools/Makefile +=================================================================== +--- squashfs3.4.orig/squashfs-tools/Makefile ++++ squashfs3.4/squashfs-tools/Makefile +@@ -2,12 +2,12 @@ INSTALL_DIR = /usr/local/bin + + INCLUDEDIR = . + +-CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2 ++override CFLAGS += -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -O2 + + all: mksquashfs unsquashfs + + mksquashfs: mksquashfs.o read_fs.o sort.o +- $(CC) mksquashfs.o read_fs.o sort.o -lz -lpthread -lm -o $@ ++ $(CC) $(LDFLAGS) mksquashfs.o read_fs.o sort.o -lz -lpthread -lm -o $@ + + mksquashfs.o: mksquashfs.c squashfs_fs.h mksquashfs.h global.h sort.h + diff --git a/package/squashfs3/squashfs3.mk b/package/squashfs3/squashfs3.mk new file mode 100644 index 0000000000..5504b14263 --- /dev/null +++ b/package/squashfs3/squashfs3.mk @@ -0,0 +1,30 @@ +SQUASHFS3_VERSION=3.4 +SQUASHFS3_SOURCE=squashfs$(SQUASHFS3_VERSION).tar.gz +SQUASHFS3_SITE=http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/sourceforge/squashfs + +SQUASHFS3_DEPENDENCIES = zlib +HOST_SQUASHFS3_DEPENDENCIES = host-zlib + +define SQUASHFS3_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) \ + CC="$(TARGET_CC)" \ + CFLAGS="$(TARGET_CFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + -C $(@D)/squashfs-tools/ +endef + +define SQUASHFS3_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/squashfs-tools/ INSTALL_DIR=$(TARGET_DIR)/usr/bin install +endef + +define HOST_SQUASHFS3_BUILD_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/squashfs-tools/ +endef + +define HOST_SQUASHFS3_INSTALL_CMDS + $(HOST_MAKE_ENV) $(MAKE) -C $(@D)/squashfs-tools/ INSTALL_DIR=$(HOST_DIR)/usr/bin install +endef + +$(eval $(call GENTARGETS,package,squashfs3)) +$(eval $(call GENTARGETS,package,squashfs3,host)) +