83 lines
2 KiB
Text
83 lines
2 KiB
Text
make_system_dirs()
|
|
{
|
|
#
|
|
# Install FHS system directories.
|
|
#
|
|
for d in bin sbin boot etc etc/modprobe.d etc/skel \
|
|
home lib dev proc usr mnt opt sys var media run; do
|
|
[ ! -d ${d} ] && install -d ${d}
|
|
done
|
|
|
|
[ ! -d root ] && install -dm750 root
|
|
[ ! -d var/spool/mail ] && install -dm1777 var/spool/mail
|
|
|
|
for d in local local/bin local/sbin local/include local/lib \
|
|
bin include lib sbin src; do
|
|
[ ! -d usr/${d} ] && install -d usr/${d}
|
|
done
|
|
|
|
for d in locale misc terminfo zoneinfo doc info; do
|
|
[ ! -d usr/share/${d} ] && install -d usr/share/${d}
|
|
[ ! -d usr/local/share/${d} ] && install -d usr/local/share/${d}
|
|
done
|
|
|
|
for d in 1 2 3 4 5 6 7 8; do
|
|
[ ! -d usr/share/man/man${d} ] && \
|
|
install -d usr/share/man/man${d}
|
|
[ ! -d usr/local/share/man/man${d} ] && \
|
|
install -d usr/local/share/man/man${d}
|
|
done
|
|
|
|
[ ! -h usr/man ] && ln -sf /usr/share/man usr/man
|
|
[ ! -h usr/local/man ] && ln -sf /usr/share/man usr/local/man
|
|
|
|
for d in log run opt cache lib; do
|
|
[ ! -d var/${d} ] && install -d var/${d}
|
|
done
|
|
|
|
if [ "$(uname -m)" = "x86_64" ]; then
|
|
[ ! -h lib64 ] && ln -sf /lib lib64
|
|
[ ! -h usr/lib64 ] && ln -sf /usr/lib usr/lib64
|
|
fi
|
|
|
|
[ ! -d lib/rc ] && install -d lib/rc
|
|
|
|
for d in init.d udev; do
|
|
[ ! -d run/${d} ] && install -dm0755 run/${d}
|
|
done
|
|
for d in lock tmp shm; do
|
|
[ ! -d run/${d} ] && install -dm1777 run/${d}
|
|
done
|
|
}
|
|
|
|
case "${ACTION}" in
|
|
post)
|
|
make_system_dirs
|
|
|
|
# Create compat symlinks for /run.
|
|
mntpnts="tmp /run/tmp"
|
|
mntpnts="$mntpnts var/tmp /run/tmp"
|
|
mntpnts="$mntpnts var/run /run"
|
|
mntpnts="$mntpnts var/lock /run/lock"
|
|
mntpnts="$mntpnts lib/rc/init.d /run/init.d"
|
|
|
|
set -- ${mntpnts}
|
|
while [ $# -gt 0 ]; do
|
|
dir="$1"
|
|
dest="$2"
|
|
if [ -h "$dir" ]; then
|
|
if [ "$(readlink -f $dir)" != "$dest" ]; then
|
|
echo "WARNING: removing wrong symlink in /$dir..."
|
|
rm -f "$dir"
|
|
fi
|
|
elif [ -d "$dir" ]; then
|
|
echo "WARNING: removing directory /$dir..."
|
|
rm -rf "$dir"
|
|
fi
|
|
if [ ! -e "$dir" ]; then
|
|
ln -sf "$dest" "$dir"
|
|
fi
|
|
shift; shift;
|
|
done
|
|
;;
|
|
esac
|