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