path: root/strata/foundation/e2fsprogs.morph
diff options
Diffstat (limited to 'strata/foundation/e2fsprogs.morph')
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 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
-# 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"