diff options
author | Gunnar Beutner <gbeutner@serenityos.org> | 2021-07-30 18:22:40 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-07-30 23:50:29 +0200 |
commit | dff8b3d2d9b89176af41f795c8e4a45176f8927b (patch) | |
tree | 03d17cef4f1dcc05a0775c6126c9805cfaa28d60 | |
parent | 9ea8aa7ffe213167c1bb93b7b7257a501f45e11c (diff) | |
download | serenity-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-x | Meta/build-root-filesystem.sh | 21 |
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}" |