From fddd00f3df34de164ca86de4c60866dbf801638f Mon Sep 17 00:00:00 2001 From: Sam Thursfield Date: Fri, 6 Mar 2015 10:24:58 +0000 Subject: Fix the dog's dinner I made of the e2fsprogs morphology I had assumed that --disable-fsck was disabling all 'fsck' programs, but in fact it was the removal of `make install` that caused that. This chunk should now provide the fsck.ext2/3/4 programs but not the generic 'fsck' program, as it did before commit 57ce68fea. --- strata/foundation/e2fsprogs.morph | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/strata/foundation/e2fsprogs.morph b/strata/foundation/e2fsprogs.morph index 55ac486c..4207eb78 100644 --- a/strata/foundation/e2fsprogs.morph +++ b/strata/foundation/e2fsprogs.morph @@ -2,21 +2,28 @@ name: e2fsprogs kind: chunk build-system: autotools configure-commands: -# Configure with the usual paths for binaries and config -# but also disable whatever we can that is already provided by util-linux -# Disabling e2fsprofs' libblkid does not work, but we don't have to -# install it. +# We disable some components which are duplicated in util-linux, because +# the util-linux versions are newer. +# +# Note that --disable-fsck only disables the 'fsck' wrapper program, not +# the fsck.ext2/3/4 programs which we do need from this chunk. - | ./configure --prefix="$PREFIX" --sysconfdir=/etc \ - --disable-libuuid --disable-uuidd --disable-libblkid + --disable-libuuid --disable-uuidd --disable-libblkid --disable-fsck install-commands: -# e2fsprogs also includes tools that are provided by util-linux, so we -# need to selectively exclude them. Removing them directly from DESTDIR -# causes problems, so we need to remove them beforehand. - | + # Newer versions of some programs are provided by util-linux. We can't + # disable these being built at configure-time, so instead we filter them + # out at install-time. + # + # Removing files from DESTDIR directly causes problems (during a + # cross-bootstrap the DESTDIR could be '/') so we use an additional staging + # directory. td="$(mktemp -d)" make DESTDIR="$td" install make DESTDIR="$td" install-libs - find "$td" \( -name blkid -o -name findfs -o \) -delete + + find "$td" \( -name blkid -o -name findfs \) -delete find "$td" \( -name blkid.8 -o -name findfs.8 \) -delete + mv "$td"/* "$DESTDIR" -- cgit v1.2.1