From 9a50d3398db90e9e38c9074ca0d3a9499c130c02 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 17 Sep 2024 00:57:17 +0200 Subject: [PATCH] pmb/data/merge-usr: deduplicate code (MR 2388) Create a common merge() function that can be adjusted in the next patch, because the logic for merging needs to be more complicated now. --- .shellcheckrc | 3 +++ pmb/data/merge-usr.sh | 28 +++++++++++----------------- 2 files changed, 14 insertions(+), 17 deletions(-) create mode 100644 .shellcheckrc diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 00000000..f42d6663 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,3 @@ +# SC3043: "In POSIX sh, 'local' is undefined" - busybox sh and pretty much all +# other shells can handle it though and Alpine uses it too in lots of scripts. +disable=SC3043 diff --git a/pmb/data/merge-usr.sh b/pmb/data/merge-usr.sh index 8866e6a1..48cdbb5b 100644 --- a/pmb/data/merge-usr.sh +++ b/pmb/data/merge-usr.sh @@ -17,22 +17,16 @@ if [ -L "$CHROOT"/bin ]; then exit 1 fi -# /bin -> /usr/bin -mv "$CHROOT"/bin/* "$CHROOT"/usr/bin/ -rmdir "$CHROOT"/bin -ln -s usr/bin "$CHROOT"/bin +merge() { + local src="$1" + local dest="$2" -# /sbin -> /usr/bin -mv "$CHROOT"/sbin/* "$CHROOT"/usr/bin/ -rmdir "$CHROOT"/sbin -ln -s usr/bin "$CHROOT"/sbin + mv "$CHROOT/$src/"* "$CHROOT/$dest/" + rmdir "$CHROOT/$src" + ln -s "/$dest" "$CHROOT/$src" +} -# /lib -> /usr/lib -mv "$CHROOT"/lib/* "$CHROOT"/usr/lib/ -rmdir "$CHROOT"/lib -ln -s usr/lib "$CHROOT"/lib - -# /usr/sbin -> /usr/bin -mv "$CHROOT"/usr/sbin/* "$CHROOT"/usr/bin/ -rmdir "$CHROOT"/usr/sbin -ln -s bin "$CHROOT"/usr/sbin +merge bin usr/bin +merge sbin usr/bin +merge lib usr/lib +merge usr/sbin usr/bin