IGNOREPATH=/home:/etc:/var:/dev:/boot:/root:/tmp:/usr/local:/bin:/mnt:/usr/src
STRIPLIB=y
STRIPBIN=y

VERSION=2.84
PROGNAME="sysvinit $VERSION"
DESC="\
sysvinit (init, the parent of all processes)                           \n\
                                                                       \n\
System V style init programs by Miquel van Smoorenburg that control    \n\
the booting and shutdown of your system.  These support a number of    \n\
system runlevels, each with a specific set of utilities spawned.       \n\
For example, the normal system runlevel is 3, which starts agetty      \n\
on virtual consoles tty1 - tty6.  Runlevel 4 starts xdm.               \n\
Runlevel 0 shuts the system down."

BUILD=1
MAINTAINER="Mark Post <mark.post@eds.com>"
SOURCE=ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/
PKGNAME=sysvinit-$VERSION-s390-$BUILD
TAG=ADD

compile() {
   tar -zxvf $CWD/sysvinit-$VERSION.tar.gz
   cd sysvinit-$VERSION/
   zcat $CWD/sysvinit.diff.gz | patch -p1 -E --verbose --backup

   cd src/
   make clobber
   make
}

install() {
   mkdir /package-sysvinit
   ( cd /package-sysvinit ; tar -zxvf $CWD/_sysvinit.tar.gz ; rm -rf install )

   # Make errors happen if these two directories are not there.
   # We will remove them later.
   mkdir /package-sysvinit/bin
   mkdir /package-sysvinit/usr/include

   cd $TMP/sysvinit-$VERSION/src
   make ROOT=/package-sysvinit MANDIR=/usr/man install

   cp -p initscript.sample /package-sysvinit/sbin

   cp -p $TMP/sysvinit-$VERSION/src/initscript.sample /package-sysvinit/sbin/

   ( cd /package-sysvinit/etc/rc.d
     rm -rf rc.0 ; ln -sf rc.6 rc.0
   )

   ( cd /package-sysvinit/sbin
     rm -rf pidof ; ln -sf killall5 pidof
   )

   ( cd /package-sysvinit
     rm -rf bin
     rm -rf usr/include
   )

   ( cd /package-sysvinit/sbin
     mv init init.new
     rm sulogin
   )

   ( cd /package-sysvinit/usr/bin
     rm lastb mesg utmpdump wall
   )

   ( cd /package-sysvinit/usr/
     rm man/man1/lastb.1 man/man1/mesg.1 man/man1/wall.1
     rm man/man8/sulogin.8
   )

   mkdir -p /package-sysvinit/usr/doc/sysvinit-$VERSION
   ( cd ../doc/
     cp -a Install Propaganda sysvinit-$VERSION.lsm \
           /package-sysvinit/usr/doc/sysvinit-$VERSION
   )

   ( cd /package-sysvinit/usr/man
     for dir in 1 5 8; do
       ( cd man$dir
         rm -f *.gz
         gzip -9 *.$dir
       )
     done
   )
}

attributes() {
   chown -R root.bin $PKG/package-sysvinit/sbin/ \
                     $PKG/package-sysvinit/usr/bin/
}

special() {
   cd $PKG
   mv package-sysvinit/* ./
   rmdir package-sysvinit/

   cd $CTL
   cat $CWD/slack-desc > slack-desc

   cat $CWD/config.sh >> doinst.sh
   cat << EOF >> doinst.sh
config etc/inittab.new
config etc/rc.d/rc.M.new
config etc/rc.d/rc.S.new
config etc/rc.d/rc.sysvinit.new
config etc/rc.d/rc.local.new
config etc/rc.d/rc.4.new
config etc/rc.d/rc.6.new
config etc/rc.d/rc.K.new

if [ -r sbin/init ]; then
  mv sbin/init sbin/init.old
fi

mv sbin/init.new sbin/init

# Notice we use an absolute path below, rather than usr/bin/last.  This is because
# we're testing to see if we are on the bootdisk, which will not have /usr/bin/last.
# If we aren't, we will signal init to restart using the new binary.
if [ -x /usr/bin/last ]; then
  /sbin/init u
fi

rm -f sbin/init.old
EOF

   sed -e 's%package-sysvinit/%%g' doinst.sh > doinst.sh.new
   cat doinst.sh.new > doinst.sh
   rm doinst.sh.new
}

