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 if [ ! -d run/${d} -a ! -h run/${d} ]; then install -dm0755 run/${d} fi done for d in lock tmp shm; do if [ ! -d run/${d} -a ! -h run/${d} ]; then install -dm1777 run/${d} fi 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