summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Thursfield <sam.thursfield@codethink.co.uk>2015-03-06 10:24:58 (GMT)
committerSam Thursfield <sam.thursfield@codethink.co.uk>2015-03-06 10:29:47 (GMT)
commitfddd00f3df34de164ca86de4c60866dbf801638f (patch)
tree3d4b06cbf44aa3d9b45b79a7c3065791eb523103
parentc85678db412a710a4ee339cebd3664028eee8429 (diff)
downloaddefinitions-baserock/sam/e2fsprogs-cleanup.tar.gz
Fix the dog's dinner I made of the e2fsprogs morphologybaserock/sam/e2fsprogs-cleanup
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.
-rw-r--r--strata/foundation/e2fsprogs.morph25
1 files changed, 16 insertions, 9 deletions
diff --git a/strata/foundation/e2fsprogs.morph b/strata/foundation/e2fsprogs.morph
index 55ac486..4207eb7 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"