From 63695d014028ca436b73f40d3c0b6ae4e6998efd Mon Sep 17 00:00:00 2001 From: Dylan Araps Date: Thu, 1 Jul 2021 16:47:52 +0000 Subject: [PATCH] baselayout: remove usage of install --- core/baselayout/build | 120 ++++++++++++++++++++++++------------------ 1 file changed, 69 insertions(+), 51 deletions(-) diff --git a/core/baselayout/build b/core/baselayout/build index 69affa99..83128739 100755 --- a/core/baselayout/build +++ b/core/baselayout/build @@ -1,60 +1,78 @@ #!/bin/sh -e -# Setup base directories. -for d in boot dev etc home mnt usr var opt run; do - install -dm 755 "$1/$d" -done +mkdir -m 755 \ + "$1/boot" \ + "$1/dev" \ + "$1/etc" \ + "$1/home" \ + "$1/mnt" \ + "$1/opt" \ + "$1/run" \ + "$1/usr" \ + "$1/usr/bin" \ + "$1/usr/include" \ + "$1/usr/lib" \ + "$1/usr/share" \ + "$1/usr/share/man" \ + "$1/usr/share/man/man1" \ + "$1/usr/share/man/man2" \ + "$1/usr/share/man/man3" \ + "$1/usr/share/man/man4" \ + "$1/usr/share/man/man5" \ + "$1/usr/share/man/man6" \ + "$1/usr/share/man/man7" \ + "$1/usr/share/man/man8" \ + "$1/var/cache" \ + "$1/var/local" \ + "$1/var/opt" \ + "$1/var/log" \ + "$1/var/log/old" \ + "$1/var/lib" \ + "$1/var/lib/misc" \ + "$1/var/empty" \ + "$1/var/service" \ + "$1/var/spool" -install -dm 555 "$1/proc" -install -dm 555 "$1/sys" -install -dm 0750 "$1/root" -install -dm 1777 "$1/tmp" +mkdir -m 555 \ + "$1/proc" \ + "$1/sys" -# Setup /usr hierarchy. -for d in bin include lib share src; do - install -dm 755 "$1/usr/$d" -done +mkdir -m 0750 \ + "$1/root" -# Setup manpages directories. -for d in 1 2 3 4 5 6 7 8; do - install -dm 755 "$1/usr/share/man/man$d" -done +mkdir -m 1777 \ + "$1/tmp" \ + "$1/var/tmp" \ + "$1/var/spool/mail" -# Add symlinks. -ln -s usr/bin "$1/bin" -ln -s usr/bin "$1/sbin" -ln -s bin "$1/usr/sbin" -ln -s usr/lib "$1/lib" -ln -s usr/lib "$1/lib64" -ln -s lib "$1/usr/lib64" +ln -sf usr/bin "$1/bin" +ln -sf usr/bin "$1/sbin" +ln -sf bin "$1/usr/sbin" +ln -sf usr/lib "$1/lib" +ln -sf usr/lib "$1/lib64" -# Setup /var. -for d in cache local opt log/old lib/misc empty service; do - install -dm 755 "$1/var/$d" -done +ln -sf lib "$1/usr/lib64" +ln -sf spool/mail "$1/var/mail" +ln -sf ../run "$1/var/run" +ln -sf ../run/lock "$1/var/lock" +ln -sf /proc/self/mounts "$1/etc/mtab" -install -dm 1777 "$1/var/tmp" -install -dm 1777 "$1/var/spool/mail" +cp -f \ + fstab \ + group \ + host.conf \ + hosts \ + issue \ + os-release \ + passwd \ + profile \ + securetty \ + shells \ + mime.types \ + crypttab \ + shadow \ + "$1/etc" -ln -s spool/mail "$1/var/mail" -ln -s ../run "$1/var/run" -ln -s ../run/lock "$1/var/lock" - -# Setup /usr/local (usually for any programs installed outside package manager). -for d in bin etc games include lib man sbin share src; do - install -dm 755 "$1/usr/local/$d" -done - -ln -s ../man "$1/usr/local/share/man" - -# /etc skeleton files. -for f in fstab group host.conf hosts issue os-release \ - passwd profile securetty shells mime.types; do - install -m 644 "$f" "$1/etc" -done - -for f in crypttab shadow; do - install -m 600 "$f" "$1/etc" -done - -ln -s /proc/self/mounts "$1/etc/mtab" +chmod 600 \ + "$1/etc/crypttab" \ + "$1/etc/shadow"