aboutsummaryrefslogtreecommitdiff
path: root/core/baselayout/build
diff options
context:
space:
mode:
authorCem Keylan <cem@ckyln.com>2019-12-09 19:17:24 +0300
committerCem Keylan <cem@ckyln.com>2019-12-09 19:17:24 +0300
commit03423e0583057cbe5a16f8439183e2dbc0e8dd7c (patch)
tree81fe3ba69d94146f83fb5541d1fb2da0ac4eac08 /core/baselayout/build
downloadrepository-03423e0583057cbe5a16f8439183e2dbc0e8dd7c.tar.gz
secondary commit
Diffstat (limited to 'core/baselayout/build')
-rwxr-xr-xcore/baselayout/build60
1 files changed, 60 insertions, 0 deletions
diff --git a/core/baselayout/build b/core/baselayout/build
new file mode 100755
index 00000000..29d4fabb
--- /dev/null
+++ b/core/baselayout/build
@@ -0,0 +1,60 @@
+#!/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
+
+install -dm 555 "$1/proc"
+install -dm 555 "$1/sys"
+install -dm 0750 "$1/root"
+install -dm 1777 "$1/tmp"
+
+# Setup /usr hierarchy.
+for d in bin include lib lib32 share src; do
+ install -d -m755 "$1"/usr/"$d"
+done
+
+# 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
+
+# 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"
+
+# Setup /var.
+for d in cache local opt log/old lib/misc empty service; do
+ install -dm 755 "$1/var/$d"
+done
+
+install -dm 1777 "$1/var/tmp"
+install -dm 1777 "$1/var/spool/mail"
+
+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"