Openembedded Devel Discussions
 help / color / mirror / Atom feed
From: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [PATCH 2/2] bitbake.conf: add ext4 image support
Date: Thu, 18 Nov 2010 20:27:29 +0100	[thread overview]
Message-ID: <1290108449-14749-3-git-send-email-rep.dot.nop@gmail.com> (raw)
In-Reply-To: <AANLkTi=REDDr=0wv9oQDEyUPAYh1KUyDq_p=q0s-0WAy@mail.gmail.com>

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
---
 conf/bitbake.conf               |    8 +++++++
 conf/local.conf.sample          |    2 +-
 recipes/e2fsprogs/e2fsprogs.inc |   41 ++++++++++++++++----------------------
 3 files changed, 26 insertions(+), 25 deletions(-)

diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index f1dc0ff..d89f7bb 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -369,6 +369,9 @@ IMAGE_CMD_ext2.bz2 = "install -d ${DEPLOY_DIR_IMAGE}/tmp.bz2 ; genext2fs -b ${RO
 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_ext3.bz2 = "install -d ${DEPLOY_DIR_IMAGE}/tmp.bz2 ; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext3 ${EXTRA_IMAGECMD}; tune2fs -j ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext3; bzip2 -f -9 ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext3; mv ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext3.bz2 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3.bz2"
+IMAGE_CMD_ext4 = "genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4 ${EXTRA_IMAGECMD}; tune2fs -O extents,uninit_bg,dir_index,has_journal ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4; set +e; e2fsck -yfDC0 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4;chk=$?; set -e; case $chk in 0|1|2);;*)exit $chk;;esac;"
+IMAGE_CMD_ext4.gz = "install -d ${DEPLOY_DIR_IMAGE}/tmp.gz ; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext4 ${EXTRA_IMAGECMD}; tune2fs -O extents,uninit_bg,dir_index,has_journal ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext4; set +e;e2fsck -yfDC0 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext4;chk=$?; set -e; case $chk in 0|1|2);;*)exit $chk;;esac; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext4; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext4.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4.gz"
+IMAGE_CMD_ext4.bz2 = "install -d ${DEPLOY_DIR_IMAGE}/tmp.bz2 ; genext2fs -b ${ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext4 ${EXTRA_IMAGECMD}; tune2fs -O extents,uninit_bg,dir_index,has_journal ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext4; set +e; e2fsck -yfDC0 ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext4;chk=$?; set -e; case $chk in 0|1|2);;*)exit $chk;;esac; bzip2 -f -9 ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext4; mv ${DEPLOY_DIR_IMAGE}/tmp.bz2/${IMAGE_NAME}.rootfs.ext4.bz2 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext4.bz2"
 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 -comp lzma"
 IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -cvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar ."
@@ -402,6 +405,9 @@ IMAGE_DEPENDS_ext2.bz2 = "genext2fs-native"
 IMAGE_DEPENDS_ext3 = "genext2fs-native e2fsprogs-native"
 IMAGE_DEPENDS_ext3.gz = "genext2fs-native e2fsprogs-native"
 IMAGE_DEPENDS_ext3.bz2 = "genext2fs-native e2fsprogs-native"
+IMAGE_DEPENDS_ext4 = "genext2fs-native e2fsprogs-native"
+IMAGE_DEPENDS_ext4.gz = "genext2fs-native e2fsprogs-native"
+IMAGE_DEPENDS_ext4.bz2 = "genext2fs-native e2fsprogs-native"
 IMAGE_DEPENDS_cpio.gz.u-boot = "u-boot-mkimage-native"
 IMAGE_DEPENDS_cpio.lzma = "lzma-native"
 IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
@@ -718,6 +724,8 @@ IMAGE_ROOTFS_SIZE_ext2 ?= "65536"
 IMAGE_ROOTFS_SIZE_ext2.gz ?= "65536"
 IMAGE_ROOTFS_SIZE_ext3 ?= "65536"
 IMAGE_ROOTFS_SIZE_ext3.gz ?= "65536"
+IMAGE_ROOTFS_SIZE_ext4 ?= "65536"
+IMAGE_ROOTFS_SIZE_ext4.gz ?= "65536"
 DISTRO_PR ?= ""
 
 # Forcefully set CACHE now so future changes to things like 
diff --git a/conf/local.conf.sample b/conf/local.conf.sample
index 60c10e4..31357b9 100644
--- a/conf/local.conf.sample
+++ b/conf/local.conf.sample
@@ -114,7 +114,7 @@ PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
 # INHERIT = "package_tar"
 
 # Add the required image file system types below. Valid are 
-# jffs2, tar(.gz|bz2), cpio(.gz), cramfs, ext2(.gz), ext3(.gz)
+# jffs2, tar(.gz|bz2), cpio(.gz), cramfs, ext2(.gz), ext3(.gz), ext4(.gz|.bz2),
 # squashfs, squashfs-lzma
 IMAGE_FSTYPES = "jffs2 tar"
 
diff --git a/recipes/e2fsprogs/e2fsprogs.inc b/recipes/e2fsprogs/e2fsprogs.inc
index 7697440..3d3e874 100644
--- a/recipes/e2fsprogs/e2fsprogs.inc
+++ b/recipes/e2fsprogs/e2fsprogs.inc
@@ -9,7 +9,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/e2fsprogs/e2fsprogs-${PV}.tar.gz"
 
 S = "${WORKDIR}/e2fsprogs-${PV}"
 
-INC_PR = "r24"
+INC_PR = "r25"
 
 inherit autotools
 
@@ -31,29 +31,22 @@ do_install_append () {
 
     	oe_runmake install-libs DESTDIR=${D}
 
-	mv ${D}${base_sbindir}/e2fsck ${D}${base_sbindir}/e2fsck.${PN}
-	rm ${D}${base_sbindir}/fsck.ext2
-	rm ${D}${base_sbindir}/fsck.ext3
-	rm ${D}${base_sbindir}/fsck.ext4*
-	mv ${D}${base_sbindir}/mke2fs ${D}${base_sbindir}/mke2fs.${PN}
-	rm ${D}${base_sbindir}/mkfs.ext2
-	rm ${D}${base_sbindir}/mkfs.ext3
-	rm ${D}${base_sbindir}/mkfs.ext4*
-
-	cd ${D}/${base_sbindir}
-	ln -sf ./e2fsck.${PN} fsck.ext2.${PN}
-	ln -sf ./e2fsck.${PN} fsck.ext3.${PN}
-	ln -sf ./e2fsck.${PN} fsck.ext4.${PN}
-	ln -sf ./e2fsck.${PN} fsck.ext4dev.${PN}
-	ln -sf ./mke2fs.${PN} mkfs.ext2.${PN}
-	ln -sf ./mke2fs.${PN} mkfs.ext3.${PN}
-	ln -sf ./mke2fs.${PN} mkfs.ext4.${PN}
-	ln -sf ./mke2fs.${PN} mkfs.ext4dev.${PN}
-
-	ln -sf ./tune2fs findfs
-	ln -sf ./tune2fs e2label
-
-	mv ${D}${bindir}/chattr ${D}${bindir}/chattr.${PN}
+	if ${@['true','false'][(bb.data.inherits_class('packaged-staging', d))]}; then
+	for f in e2fsck mke2fs; do
+		mv ${D}${base_sbindir}/$f ${D}${base_sbindir}/$f.${PN}
+	done
+	for f in chattr; do
+		mv ${D}${bindir}/$f ${D}${bindir}/$f.${PN}
+	done
+	fsck=$(cd ${D}${base_sbindir}/ && ls -1 fsck.ext* | sed s/[^\.]*//)
+	for e in $fsck;do
+		rm ${D}${base_sbindir}/{fsck,mkfs}$e;
+		ln -s ${D}${base_sbindir}/e2fsck$e.${PN}$e fsck$e.${PN}
+		ln -s ${D}${base_sbindir}/mke2fs$e.${PN}$e mkfs$e.${PN}
+	done
+	fi
+	ln -sf ${D}/${base_sbindir}/tune2fs findfs
+	ln -sf ${D}/${base_sbindir}/tune2fs e2label
 }
 
 pkg_postinst_e2fsprogs () {
-- 
1.7.2.3




  parent reply	other threads:[~2010-11-18 19:28 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-06  9:40 [PATCH 1/4] bitbake.conf: add ext4 image support Bernhard Reutner-Fischer
2010-08-06  9:40 ` [PATCH 2/4] e2fsprogs: add 1.41.12, remove old versions Bernhard Reutner-Fischer
2010-08-06  9:40 ` [PATCH 3/4] git: add 1.7.2.1 Bernhard Reutner-Fischer
2010-08-06 10:07   ` Paul Menzel
2010-08-06 10:29     ` Bernhard Reutner-Fischer
2010-08-06  9:40 ` [PATCH 4/4] bison: preparation for adding 2.4.2 Bernhard Reutner-Fischer
2010-08-06 12:46 ` [PATCH 1/4] bitbake.conf: add ext4 image support Bjørn Forsman
2010-08-06 12:52   ` Bjørn Forsman
2010-11-17 15:05     ` Author: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> Bernhard Reutner-Fischer
2010-11-17 15:11       ` Frans Meulenbroeks
2010-11-17 16:47         ` Bernhard Reutner-Fischer
2010-11-17 15:18       ` Tom Rini
2010-11-17 16:47         ` Bernhard Reutner-Fischer
2010-11-18 19:27           ` [PATCH 0/2] add ext4 image support Bernhard Reutner-Fischer
2010-11-18 19:27           ` [PATCH 1/2] e2fsprogs: add 1.41.12, remove old versions Bernhard Reutner-Fischer
2010-11-19 14:00             ` Tom Rini
2010-11-18 19:27           ` Bernhard Reutner-Fischer [this message]
2010-11-19 13:59             ` [PATCH 2/2] bitbake.conf: add ext4 image support Tom Rini
2010-12-01 19:15               ` [PATCH v2 0/3] " Bernhard Reutner-Fischer
2010-12-01 19:26                 ` Tom Rini
2010-12-01 19:44                   ` Bernhard Reutner-Fischer
2010-12-01 19:15               ` [PATCH v2 1/3] e2fsprogs: add 1.41.12, remove old versions Bernhard Reutner-Fischer
2010-12-01 19:15               ` [PATCH v2 2/3] e2fsprogs: fix alternatives of non-packaged native sysroot Bernhard Reutner-Fischer
2010-12-21 13:38                 ` Andreas Oberritter
2010-12-21 17:03                   ` Bernhard Reutner-Fischer
2010-12-21 13:50                 ` Andreas Oberritter
2010-12-23  9:37                   ` [PATCH] e2fsprogs: fix symlinks and work with dash Bernhard Reutner-Fischer
2010-12-23 10:58                     ` Andreas Oberritter
2010-12-23 12:19                       ` Bernhard Reutner-Fischer
2010-12-01 19:15               ` [PATCH v2 3/3] add ext4 image support Bernhard Reutner-Fischer
2010-12-01 20:10                 ` [PATCH v3] " Bernhard Reutner-Fischer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1290108449-14749-3-git-send-email-rep.dot.nop@gmail.com \
    --to=rep.dot.nop@gmail.com \
    --cc=openembedded-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox