summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunnar Beutner <gbeutner@serenityos.org>2021-07-30 18:22:40 +0200
committerAndreas Kling <kling@serenityos.org>2021-07-30 23:50:29 +0200
commitdff8b3d2d9b89176af41f795c8e4a45176f8927b (patch)
tree03d17cef4f1dcc05a0775c6126c9805cfaa28d60
parent9ea8aa7ffe213167c1bb93b7b7257a501f45e11c (diff)
downloadserenity-dff8b3d2d9b89176af41f795c8e4a45176f8927b.zip
Meta: Make rsync a hard dependency and remove the fallback code
Previously we'd fall back to using cp if rsync wasn't available. Not only is this considerably slower it also breaks when some of the files in the target directory are symlinks because cp tries to dereference them. Fixes #8672.
-rwxr-xr-xMeta/build-root-filesystem.sh21
1 files changed, 9 insertions, 12 deletions
diff --git a/Meta/build-root-filesystem.sh b/Meta/build-root-filesystem.sh
index 185c9b31db..64006129de 100755
--- a/Meta/build-root-filesystem.sh
+++ b/Meta/build-root-filesystem.sh
@@ -32,19 +32,16 @@ fi
umask 0022
printf "installing base system... "
-if command -v rsync >/dev/null; then
- if rsync --chown 2>&1 | grep "missing argument" >/dev/null; then
- rsync -aH --chown=0:0 --inplace "$SERENITY_SOURCE_DIR"/Base/ mnt/
- rsync -aH --chown=0:0 --inplace Root/ mnt/
- else
- rsync -aH --inplace "$SERENITY_SOURCE_DIR"/Base/ mnt/
- rsync -aH --inplace Root/ mnt/
- chown -R 0:0 mnt/
- fi
+if ! command -v rsync >/dev/null; then
+ die "Please install rsync."
+fi
+
+if rsync --chown 2>&1 | grep "missing argument" >/dev/null; then
+ rsync -aH --chown=0:0 --inplace "$SERENITY_SOURCE_DIR"/Base/ mnt/
+ rsync -aH --chown=0:0 --inplace Root/ mnt/
else
- echo "Please install rsync to speed up image creation times, falling back to cp for now"
- $CP -PdR "$SERENITY_SOURCE_DIR"/Base/* mnt/
- $CP -PdR Root/* mnt/
+ rsync -aH --inplace "$SERENITY_SOURCE_DIR"/Base/ mnt/
+ rsync -aH --inplace Root/ mnt/
chown -R 0:0 mnt/
fi
SERENITY_ARCH="${SERENITY_ARCH:-i686}"