]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
e2fsprogs: Ensure we use the right mke2fs.conf when restoring from sstate
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 5 Feb 2016 10:52:39 +0000 (10:52 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 5 Feb 2016 11:16:35 +0000 (11:16 +0000)
If we don't do this, we can use an mke2fs.conf from a different path which
may contain incompatible flags and lead to obtuse build failures such as:

Invalid filesystem option set: has_journal,extent,huge_file,flex_bg,metadata_csum,64bit,dir_nlink,extra_isize

To fix this, wrap the mke2fs binary and its hardlinks and point at the
correct configuration file.

In particular this fixes conflicts between master and jethro builds
affecting the main autobuilder.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bb

index ce7d2e86283ba14e573edf7a0c1d3edae1ebd24b..a8edeefc973ff88a44cd457731644795a897f176 100644 (file)
@@ -61,12 +61,27 @@ do_install () {
        install -v -m 755 ${S}/contrib/populate-extfs.sh ${D}${base_sbindir}/
 }
 
+# Need to find the right mke2fs.conf file
+e2fsprogs_conf_fixup () {
+       for i in mke2fs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev; do
+               create_wrapper ${D}${base_sbindir}/$i MKE2FS_CONFIG=${sysconfdir}/mke2fs.conf
+       done
+}
+
 do_install_append_class-target() {
        # Clean host path in compile_et, mk_cmds
        sed -i -e "s,ET_DIR=\"${S}/lib/et\",ET_DIR=\"${datadir}/et\",g" ${D}${bindir}/compile_et
        sed -i -e "s,SS_DIR=\"${S}/lib/ss\",SS_DIR=\"${datadir}/ss\",g" ${D}${bindir}/mk_cmds
 }
 
+do_install_append_class-native() {
+       e2fsprogs_conf_fixup
+}
+
+do_install_append_class-nativesdk() {
+       e2fsprogs_conf_fixup
+}
+
 RDEPENDS_e2fsprogs = "e2fsprogs-badblocks"
 RRECOMMENDS_e2fsprogs = "e2fsprogs-mke2fs e2fsprogs-e2fsck"