mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-14 21:56:41 +01:00
888ec031ac
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
74 lines
2 KiB
Bash
74 lines
2 KiB
Bash
#!/bin/sh
|
|
#set -x
|
|
|
|
# A function to make a file local (not hard-linked to the real file)
|
|
# One should run this on any file that the test might modify
|
|
make_local()
|
|
{
|
|
while [ $# -gt 0 ]
|
|
do
|
|
cp -a $CHROOT/$1 $CHROOT/$1.new
|
|
mv $CHROOT/$1.new $CHROOT/$1
|
|
shift
|
|
done
|
|
}
|
|
|
|
CHROOT=${CHROOT:-/tmp/t5}
|
|
VERBOSE_ADDCHROOT=${VERBOSE_ADDCHROOT:-true}
|
|
export VERBOSE_ADDCHROOT
|
|
PKGDIR=${PKGDIR:-/usr/packages}
|
|
[ -n "$MKCHROOT_IGNORE_LN_ERRORS" ] && LNE='2>/dev/null' || LNE=
|
|
|
|
# These are options
|
|
INSTALL_DAEMONTOOLS=${INSTALL_DAEMONTOOLS:-no}
|
|
STRIP_INITTAB_SV=${STRIP_INITTAB_SV:-yes}
|
|
STRIP_QMAIL_USERS_GROUPS=${STRIP_QMAIL_USERS_GROUPS:-yes}
|
|
|
|
[ ! -d $CHROOT/proc/1 ] || umount $CHROOT/proc
|
|
rm -rf $CHROOT
|
|
mkchroot $CHROOT
|
|
addchroot $CHROOT tar pkgtools
|
|
mkdir -p $CHROOT$PKGDIR
|
|
eval ln $PKGDIR/netqmail* $PKGDIR/daemontools* $CHROOT$PKGDIR $LNE \|\| \
|
|
cp -a $PKGDIR/netqmail* $PKGDIR/daemontools* $CHROOT$PKGDIR
|
|
addchroot $CHROOT ucspi-tcp mkchroot
|
|
|
|
# Set up Slackware install DB for mkchroot
|
|
for i in packages scripts
|
|
do
|
|
mkdir $CHROOT/var/log/$i
|
|
(cd /var/log/$i; ls -1 | while read j; do [ -d $j ] ||
|
|
eval ln $j $CHROOT/var/log/$i $LNE \|\| cp -a $j $CHROOT/var/log/$i; done)
|
|
done
|
|
|
|
addchroot $CHROOT etc
|
|
make_local etc/{group,gshadow,passwd,shadow}
|
|
addchroot $CHROOT sysvinit
|
|
addchroot $CHROOT sysvinit-scripts
|
|
make_local etc/inittab
|
|
[ $STRIP_INITTAB_SV != yes ] ||
|
|
{
|
|
cat $CHROOT/etc/inittab | grep -E -v '^SV:' >$CHROOT/etc/inittab.new
|
|
mv $CHROOT/etc/inittab.new $CHROOT/etc/inittab
|
|
}
|
|
addchroot $CHROOT sed util-linux gzip network-scripts shadow ncurses
|
|
mkdir $CHROOT/root $CHROOT/proc
|
|
[ $INSTALL_DAEMONTOOLS = no ] || addchroot $CHROOT daemontools
|
|
|
|
[ $STRIP_QMAIL_USERS_GROUPS != yes ] ||
|
|
{
|
|
mount -tproc proc $CHROOT/proc
|
|
|
|
for i in alias qmail{d,l,p,q,r,s}
|
|
do
|
|
grep -q ^$i: $CHROOT/etc/passwd && chroot $CHROOT userdel $i
|
|
done
|
|
for i in nofiles qmail
|
|
do
|
|
grep -q ^$i: $CHROOT/etc/group && chroot $CHROOT groupdel $i
|
|
done
|
|
umount $CHROOT/proc
|
|
}
|
|
|
|
# inst_check needs these
|
|
addchroot $CHROOT procps-ng gawk net-tools
|