squashfs-4.0: update squashfs-tools to include upstream LZMA inclusion.
authorLeon Woestenberg <leon@sidebranch.com>
Wed, 18 Nov 2009 00:29:09 +0000 (01:29 +0100)
committerLeon Woestenberg <leon@sidebranch.com>
Wed, 18 Nov 2009 18:22:12 +0000 (19:22 +0100)
In OpenEmbedded we used squashfs 4.0 with external patch for LZMA
compression support. In the meantime, squashfs has mainlined LZMA
support in its CVS version.

This patches switches to the upstream squashfs-tools and modifies
bitbake.conf to match the slightly different arguments to mksquashfs.

Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
conf/bitbake.conf
conf/distro/include/sane-srcdates.inc
recipes/squashfs-tools/squashfs-tools-native_4.0.bb
recipes/squashfs-tools/squashfs-tools_4.0.bb

index ae3ff25..4435fdd 100644 (file)
@@ -367,7 +367,7 @@ IMAGE_CMD_ext2.gz = "install -d ${DEPLOY_DIR_IMAGE}/tmp.gz ; genext2fs -b ${ROOT
 IMAGE_CMD_ext3 = "genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"
 IMAGE_CMD_ext3.gz = "install -d ${DEPLOY_DIR_IMAGE}/tmp.gz ; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext3.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3.gz"
 IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"
-IMAGE_CMD_squashfs-lzma = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend -lzma"
+IMAGE_CMD_squashfs-lzma = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs-lzma ${EXTRA_IMAGECMD} -noappend -comp lzma"
 IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar ."
 IMAGE_CMD_tar.gz = "cd ${IMAGE_ROOTFS} && tar -zcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.gz ."
 IMAGE_CMD_tar.bz2 = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
index 422145c..4ea318f 100644 (file)
@@ -41,6 +41,7 @@ SRCDATE_rdesktop ?= "20080917"
 SRCDATE_roadster ?= "20060814"
 SRCDATE_rosetta ?= "20090514"
 SRCDATE_sctzap ?= "20060814"
+SRCDATE_squashfs ?= "20091110"
 SRCDATE_tslib ?= "20051101"
 SRCDATE_waimea ?= "20060814"
 SRCDATE_xcompmgr ?= "20060814"
index 8fc80a6..cc01604 100644 (file)
@@ -1,13 +1,12 @@
-require squashfs-tools_${PV}.bb
+require squashfs-tools_4.0.bb
 
 inherit native
 
-DEPENDS = "zlib-native lzma-native "
-
-PR = "${INC_PR}.1"
+DEPENDS = "zlib-native"
 
 PACKAGES = ""
 
 do_stage () {
        install -m 0755 mksquashfs ${STAGING_BINDIR}/
 }
+
index 17ab6dc..4e18489 100644 (file)
@@ -1,14 +1,36 @@
-require squashfs-tools.inc
-DEPENDS += "lzma"
-PR = "${INC_PR}.1"
+DESCRIPTION = "Squashfs is a highly compressed read-only filesystem for Linux."
+SECTION = "base"
+LICENSE = "GPLv2"
+DEPENDS = "zlib"
+PR = "r2"
 
-EXTRA_OEMAKE = "USE_LZMA=1 \
-                LZMA_CFLAGS='-I${STAGING_INCDIR}/lzma -DUSE_LZMA' \
-                LZMA_LIB='${STAGING_LIBDIR}/liblzma.a'"
+# 2009-10-22 snapshot
+#SRC_URI = "http://www.kernel.org/pub/linux/kernel/people/pkl/squashfs4.0-lzma-snapshot.tgz"
+#S = "${WORKDIR}/squashfs4.0-lzma-snapshot/squashfs-tools"
 
-DEFAULT_PREFERENCE = "-1"
-DEFAULT_PREFERENCE_angstrom = "1"
+SRC_URI  = "cvs://anonymous@squashfs.cvs.sourceforge.net/cvsroot/squashfs;module=squashfs;date=${SRCDATE}"
+S = "${WORKDIR}/squashfs/squashfs-tools"
 
-SRC_URI += " file://portability.patch;patch=1;pnum=2 \
-             file://lzma-support.patch;patch=1;pnum=2"
+SRC_URI += "http://downloads.sourceforge.net/sevenzip/lzma465.tar.bz2"
+
+COMP_DEFAULT = gzip
+
+EXTRA_OEMAKE += "LZMA_SUPPORT=1 LZMA_DIR=../.."
+
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+# the COMP_DEFAULT macro should result in a string including quotes: "gzip"
+CFLAGS_append = ' -I. -I../../C -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
+ -D_GNU_SOURCE -DLZMA_SUPPORT -DCOMP_DEFAULT=\\"${COMP_DEFAULT}\\" '
+
+prefix = ""
+
+do_compile() {
+       oe_runmake mksquashfs
+}
+
+do_install () {
+       install -d ${D}${sbindir}
+       install -m 0755 mksquashfs ${D}${sbindir}/
+}