#!/bin/sh
# This file is part of the "Bad Penguin" GNU/Linux distribution
# Copyright (C)1997 by Antonio GALLO (AGX) http://www.badpenguin.org/
# This program is distributed under the GNU General Public License
# You are not allowed to remove the copyright notice
set -e

# ############################################################
# echoc CYAN "Filesystem Hierarchy Standard - Version 2.0"
# ############################################################

if [ "$1" = "" ]; then
  echoc RED "! target directory not specified"
  exit 1
fi
if [ ! -d "$1" ]; then
  echoc RED "! target directory does not exists"
  exit 1
fi


echo "> creating FSST 2.0 under $1"
echo -n ": "
cd $1
umask 022

# -----------------------------------------------------

echo -n "root, "
mkdir -p bin
mkdir -p boot
mkdir -p cdrom
mkdir -p dev
mkdir -p etc
mkdir -p floppy
mkdir -p home
mkdir -p lib
mkdir -p mnt
mkdir -p proc
mkdir -p root
mkdir -p sbin
mkdir -p tmp
mkdir -p usr
mkdir -p var

# -----------------------------------------------------

echo -n "etc, "
rm -f etc/X11
( cd etc ; ln -sf ../usr/X11R6/lib/X11 	X11 )
mkdir -p etc/init.d
mkdir -p etc/skel
mkdir -p etc/default
mkdir -p etc/sysconfig
mkdir -p etc/sysconfig/DEFAULT

# -----------------------------------------------------

echo -n "lib, "
mkdir -p lib/modules

# -----------------------------------------------------

echo -n "opt, "
mkdir -p opt

# -----------------------------------------------------

echo -n "usr, "
mkdir  -p usr/bin
mkdir  -p usr/dict
rm     -f usr/doc
( cd usr ; ln -sf share/doc     doc )
mkdir  -p usr/games
mkdir  -p usr/include
rm     -f usr/info
( cd usr ; ln -sf share/info    info )
mkdir  -p usr/lib
rm -f     usr/man
( cd usr ; ln -sf share/man	man )
mkdir  -p usr/sbin
mkdir  -p usr/share
mkdir  -p usr/src

# -----------------------------------------------------

echo -n "usr/X11R6, "
mkdir -p usr/X11R6
mkdir -p usr/X11R6/bin
rm  -f   usr/bin/X11
( cd usr/bin ; ln  -sf ../X11R6/bin  X11 )
mkdir -p usr/X11R6/doc
mkdir -p usr/X11R6/include
mkdir -p usr/X11R6/include/X11
rm  -f   usr/include/X11
( cd usr/include ; ln  -sf ../X11R6/include/X11  X11 )
mkdir -p usr/X11R6/lib
mkdir -p usr/X11R6/lib/X11
rm  -f   usr/lib/X11
( cd usr/lib ; ln -sf ../X11R6/lib/X11	X11 )
mkdir -p usr/X11R6/man

# -----------------------------------------------------

echo -n "usr/lib, "
mkdir  -p usr/lib/games
rm    -f  usr/lib/terminfo	usr/lib/zoneinfo
( cd usr/lib ; ln -sf ../share/terminfo	terminfo )
( cd usr/lib ; ln -sf ../share/zoneinfo	zoneinfo )

# -----------------------------------------------------

echo  -n "usr/local, "
mkdir  -p usr/local
mkdir  -p usr/local/bin
mkdir  -p usr/local/doc
mkdir  -p usr/local/include
mkdir  -p usr/local/lib
mkdir  -p usr/local/info
mkdir  -p usr/local/man
mkdir  -p usr/local/sbin
mkdir  -p usr/local/share
mkdir  -p usr/local/src

# -----------------------------------------------------

echo -n "usr/share, "
mkdir -p usr/share
mkdir -p usr/share/doc
mkdir -p usr/share/info
mkdir -p usr/share/locale
mkdir -p usr/share/man/
mkdir -p usr/share/nls
mkdir -p usr/share/misc
mkdir -p usr/share/terminfo
mkdir -p usr/share/zoneinfo 

# -----------------------------------------------------

echo -n "var, "
mkdir -p var/account
rm  -f   var/adm
( cd var ; ln -sf log  adm )
mkdir -p var/backups
mkdir -p var/lib
mkdir -p var/local
mkdir -p var/log 
mkdir -p var/run
mkdir -p var/spool
mkdir -p var/spool/lock
mkdir -p var/spool/lock/subsys
rm   -f   var/tmp
( cd var ; ln -sf ../tmp tmp )

# -----------------------------------------------------

echo -n "var/log, "
# Slackware package management
mkdir -p var/log/packages
mkdir -p var/log/scripts
mkdir -p var/log/setup
mkdir -p var/log/setup/tmp


# -----------------------------------------------------

echo -n "var/spool, "
rm  -f   var/lock
( cd var ; ln -sf  spool/lock lock )
mkdir -p var/spool
mkdir -p var/spool/mail
rm  -f   var/mail
( cd var ; ln  -sf spool/mail mail )

# -----------------------------------------------------
echo "done."
#echoc GREEN "! your system is now FSST 2.0 compliant."
exit 0
