summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/squashfs/Config.in19
-rw-r--r--fs/squashfs/squashfs.mk4
-rw-r--r--package/Config.in1
-rw-r--r--package/squashfs3/Config.in7
-rw-r--r--package/squashfs3/squashfs-3.4-build-system-fix.patch28
-rw-r--r--package/squashfs3/squashfs3.mk30
6 files changed, 89 insertions, 0 deletions
diff --git a/fs/squashfs/Config.in b/fs/squashfs/Config.in
index 6cc8fcae0..bcc93b925 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 d72388ebf..f11ba2090 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 0dac9498f..877a87e81 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 000000000..2f7033dd8
--- /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 000000000..5b86b008a
--- /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 <jacmet@sunsite.dk>
+---
+ 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 000000000..5504b1426
--- /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))
+