#!/bin/sh
# Set initial variables:
CWD=`pwd`
TMP=/tmp
PKG=$TMP/package-tcpip
VERSION=0.17
ARCH=alpha
BUILD=3

mkdir -p $PKG
( cd $PKG
explodepkg $CWD/_tcpip.tar.gz
# This is for the "blue underscore" effect, already patched in.
#( cd $PKG ; zcat $CWD/termcap.diff.gz | patch )
#( cd $PKG ; rm etc/termcap.orig )

echo "+=========================+"
echo "| tcp_wrappers_7.6-ipv6.4 |"
echo "+=========================+"
cd $TMP
tar xzf $CWD/tcp_wrappers_7.6-ipv6.4.tar.gz
cd tcp_wrappers_7.6-ipv6.4
zcat $CWD/tcp_wrappers_7.6-ipv6.2.diff.gz | patch -p1
zcat $CWD/tcp_wrappers.diff.gz | patch -p0
make REAL_DAEMON_DIR=/usr/sbin linux
strip tcpd safe_finger tcpdchk tcpdmatch try-from
cat libwrap.a > $PKG/usr/lib/libwrap.a
cat tcpd.h > $PKG/usr/include/tcpd.h
cat safe_finger > $PKG/usr/sbin/safe_finger
cat tcpd > $PKG/usr/sbin/tcpd
cat tcpdchk > $PKG/usr/sbin/tcpdchk
cat tcpdmatch > $PKG/usr/sbin/tcpdmatch
cat try-from > $PKG/usr/sbin/try-from
cat hosts_access.3 | gzip -9c > $PKG/usr/man/man3/hosts_access.3.gz
cat hosts_access.5 | gzip -9c > $PKG/usr/man/man5/hosts_access.5.gz
cat hosts_options.5 | gzip -9c > $PKG/usr/man/man5/hosts_options.5.gz
cat tcpd.8 | gzip -9c > $PKG/usr/man/man8/tcpd.8.gz
cat tcpdchk.8 | gzip -9c > $PKG/usr/man/man8/tcpdchk.8.gz
cat tcpdmatch.8 | gzip -9c > $PKG/usr/man/man8/tcpdmatch.8.gz
mkdir -p $PKG/usr/doc/tcp_wrappers_7.6-ipv6.4
cp -a BLURB CHANGES DISCLAIMER README README.NIS $PKG/usr/doc/tcp_wrappers_7.6-ipv6.4
chown root.root $PKG/usr/doc/tcp_wrappers_7.6-ipv6.4/*
chmod 644 $PKG/usr/doc/tcp_wrappers_7.6-ipv6.4/*

echo "+===============+"
echo "| icmpinfo-1.11 |"
echo "+===============+"
cd $TMP
tar xzf $CWD/icmpinfo-1.11.tar.gz
cd icmpinfo-1.11
zcat $CWD/icmpinfo-1.11.diff.gz | patch -p1
zcat $CWD/icmpinfo-1.11.diff2.gz | patch -p1
make
strip icmpinfo
cat icmpinfo > $PKG/usr/sbin/icmpinfo
gzip -9c icmpinfo.man > $PKG/usr/man/man1/icmpinfo.1.gz
mkdir -p $PKG/usr/doc/icmpinfo-1.11
cp -a CHANGES CHECKSUMS.asc README TODO $PKG/usr/doc/icmpinfo-1.11
chown root.root $PKG/usr/doc/icmpinfo-1.11/*
chmod 644 $PKG/usr/doc/icmpinfo-1.11/*

echo "+================+"
echo "| net-tools-1.60 |"
echo "+================+"
cd $TMP
tar xjf $CWD/net-tools-1.60.tar.bz2
cd net-tools-1.60
zcat $CWD/net-tools.diff.gz | patch -p1
zcat $CWD/net-tools-1.60-gcc34-2.patch.gz | patch -p1
zcat $CWD/net-tools-1.60-kernel-headers-1.patch.gz | patch -p1
zcat $CWD/net-tools.mii-tool.sockios.diff.gz | patch -p1
mkdir -p $PKG/usr/doc/net-tools-1.60
cp -a README README.ipv6 $PKG/usr/doc/net-tools-1.60
chmod 644 $PKG/usr/doc/net-tools-1.60/*
chown root.root $PKG/usr/doc/net-tools-1.60/*
HAVE_IP_TOOLS=1 HAVE_MII=1 make
strip ipmaddr iptunnel hostname arp ifconfig rarp route netstat plipconfig slattach mii-tool
cat arp > $PKG/sbin/arp
cat ifconfig > $PKG/sbin/ifconfig
cat rarp > $PKG/sbin/rarp
cat route > $PKG/sbin/route
cat hostname > $PKG/bin/hostname
cat mii-tool > $PKG/sbin/mii-tool
cat netstat > $PKG/bin/netstat
cat plipconfig > $PKG/sbin/plipconfig
cat slattach > $PKG/usr/sbin/slattach
cat ipmaddr > $PKG/sbin/ipmaddr
cat iptunnel > $PKG/sbin/iptunnel
cd man/en_US
for page in dnsdomainname.1 domainname.1 hostname.1 nisdomainname.1 \
  ypdomainname.1 ; do
  cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
done
cat ethers.5 | gzip -9c > $PKG/usr/man/man5/ethers.5.gz
for page in arp.8 ifconfig.8 mii-tool.8 netstat.8 rarp.8 route.8 \
  slattach.8 plipconfig.8 ; do
  cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz
done

echo "+=========+"
echo "| netdate |"
echo "+=========+"
cd $TMP
tar xzf $CWD/netdate.tar.gz
cd netdate
zcat $CWD/netdate.diff.gz | patch -p1
zcat $CWD/netdate.diff2.gz | patch -p1
make
strip netdate
cat netdate > $PKG/usr/sbin/netdate
cat netdate.8 | gzip -9c > $PKG/usr/man/man8/netdate.8.gz

echo "+==================+"
echo "| biff+comsat-0.17 |"
echo "+==================+"
cd $TMP
tar xzvf $CWD/biff+comsat-0.17.tar.gz
cd biff+comsat-0.17
chown -R root.root .
zcat $CWD/biff+comsat-0.17.diff.gz | patch -p1
zcat $CWD/biff+comsat.offset.diff.gz | patch -p1
zcat $CWD/biff+comsat.badutmp.diff.gz | patch -p1
./configure --prefix=/usr
make
cd biff
strip biff
cat biff > $PKG/usr/bin/biff
cat biff.1 | gzip -9c > $PKG/usr/man/man1/biff.1.gz
cd ../comsat
strip comsat
cat comsat > $PKG/usr/sbin/in.comsat
cat comsat.8 | gzip -9c > $PKG/usr/man/man8/in.comsat.8.gz
cd ..
mkdir -p $PKG/usr/doc/biff+comsat-0.17
cp -a README $PKG/usr/doc/biff+comsat-0.17
chown root.root $PKG/usr/doc/biff+comsat-0.17/*
chmod 644 $PKG/usr/doc/biff+comsat-0.17/*

echo "+=================+"
echo "| bsd-finger-0.17 |"
echo "+=================+"
cd $TMP
tar xzf $CWD/bsd-finger-0.17.tar.gz
cd bsd-finger-0.17
zcat $CWD/bsd-finger-0.17.diff.gz | patch -p1
./configure --prefix=/usr
make
cd finger
strip finger
cat finger > $PKG/usr/bin/finger
cat finger.1 | gzip -9c > $PKG/usr/man/man1/finger.1.gz
cd ../fingerd
strip fingerd
cat fingerd > $PKG/usr/sbin/in.fingerd
cat fingerd.8 | gzip -9c > $PKG/usr/man/man8/in.fingerd.8.gz
cd ..
mkdir -p $PKG/usr/doc/bsd-finger-0.17
cp -a README $PKG/usr/doc/bsd-finger-0.17
chown root.root $PKG/usr/doc/bsd-finger-0.17/*
chmod 644 $PKG/usr/doc/bsd-finger-0.17/*

echo "+========================+"
echo "| netkit-bootparamd-0.17 |"
echo "+========================+"
cd $TMP
tar xzf $CWD/netkit-bootparamd-0.17.tar.gz
cd netkit-bootparamd-0.17
./configure --prefix=/usr
make
cd rpc.bootparamd
strip bootparamd callbootd
cat bootparamd > $PKG/usr/sbin/rpc.bootparamd
cat callbootd > $PKG/usr/bin/callbootd
gzip -9c bootparamd.8 > $PKG/usr/man/man8/rpc.bootparamd.8.gz
mkdir -p $PKG/usr/doc/netkit-bootparamd-0.17
cp -a README $PKG/usr/doc/netkit-bootparamd-0.17
chown root.root $PKG/usr/doc/netkit-bootparamd-0.17/*
chmod 644 $PKG/usr/doc/netkit-bootparamd-0.17/*

echo "+====================+"
echo "| netkit-routed-0.17 |"
echo "+====================+"
cd $TMP
tar xzf $CWD/netkit-routed-0.17.tar.gz
cd netkit-routed-0.17
zcat $CWD/routed.18.candidate.final.patch.gz | patch -p1 --backup --verbose -E --suffix=.orig
zcat $CWD/netkit-routed-0.17.diff.gz | patch -p1 --backup --verbose -E --suffix=.orig
./configure --prefix=/usr
make
strip ripquery/ripquery routed/routed
cat routed/routed > $PKG/usr/sbin/routed
cat routed/routed.8 | gzip -9c > $PKG/usr/man/man8/routed.8.gz
cat ripquery/ripquery > $PKG/usr/sbin/ripquery
cat ripquery/ripquery.8 | gzip -9c > $PKG/usr/man/man8/ripquery.8.gz
mkdir -p $PKG/usr/doc/netkit-routed-0.17
cp -a README $PKG/usr/doc/netkit-routed-0.17
chown root.root $PKG/usr/doc/netkit-routed-0.17/*
chmod 644 $PKG/usr/doc/netkit-routed-0.17/*

echo "+====================+"
echo "| netkit-telnet-0.17 |"
echo "+====================+"
cd $TMP
tar xzf $CWD/netkit-telnet-0.17.tar.gz
cd netkit-telnet-0.17
zcat $CWD/netkit-telnet-0.17.diff.gz | patch -p1
zcat $CWD/netkit-telnet-0.17-ayt.patch.gz | patch -p1
./configure --prefix=/usr
cd telnetd
make
strip telnetd
cat telnetd > $PKG/usr/sbin/in.telnetd
cat telnetd.8 | gzip -9c > $PKG/usr/man/man8/in.telnetd.8.gz
cd ..
# The OpenBSD version of the telnet client is superior.
mv telnet telnet-netkit
tar xzf $CWD/telnet-OpenBSD-20020321.tar.gz
zcat $CWD/telnet-OpenBSD-20020321.diff.gz | patch -p1
( cd telnet ; make )
cd telnet
strip telnet
cat telnet > $PKG/bin/telnet
cat telnet.1 | gzip -9c > $PKG/usr/man/man1/telnet.1.gz
cd ..
mkdir -p $PKG/usr/doc/netkit-telnet-0.17
cp -a README $PKG/usr/doc/netkit-telnet-0.17
chown root.root $PKG/usr/doc/netkit-telnet-0.17/*
chmod 644 $PKG/usr/doc/netkit-telnet-0.17/*

echo "+===============+"
echo "| tftp-hpa-0.36 |"
echo "+===============+"
cd $TMP
tar xjf $CWD/tftp-hpa-0.36.tar.bz2
cd tftp-hpa-0.36
./configure --prefix=/usr
make
cd tftp
strip tftp
cat tftp > $PKG/usr/bin/tftp
cat tftp.1 | gzip -9c > $PKG/usr/man/man1/tftp.1.gz
cd ../tftpd
strip tftpd
cat tftpd > $PKG/usr/sbin/in.tftpd
cat tftpd.8 | gzip -9c > $PKG/usr/man/man8/in.tftpd.8.gz
cd ..
mkdir -p $PKG/usr/doc/tftp-hpa-0.36
cp -a CHANGES INSTALL INSTALL.tftp README README.security $PKG/usr/doc/tftp-hpa-0.36
chown root.root $PKG/usr/doc/tftp-hpa-0.36/*
chmod 644 $PKG/usr/doc/tftp-hpa-0.36/*

echo "+===================+"
echo "| netkit-timed-0.17 |"
echo "+===================+"
cd $TMP
tar xzf $CWD/netkit-timed-0.17.tar.gz
cd netkit-timed-0.17
zcat $CWD/netkit-timed-0.17.diff.gz | patch -p1
./configure --prefix=/usr
make
cd timed/timed
strip timed
cat timed > $PKG/usr/sbin/in.timed
cat timed.8 | gzip -9c > $PKG/usr/man/man8/timed.8.gz
cd ../timedc
strip timedc
cat timedc > $PKG/usr/sbin/timedc
cat timedc.8 | gzip -9c > $PKG/usr/man/man8/timedc.8.gz
cd ../..
mkdir -p $PKG/usr/doc/netkit-timed-0.17
cp -a README $PKG/usr/doc/netkit-timed-0.17
chown root.root $PKG/usr/doc/netkit-timed-0.17/*
chmod 644 $PKG/usr/doc/netkit-timed-0.17/*

echo "+========+"
echo "| ipmask |"
echo "+========+"
mkdir $TMP/ipmask
cd $TMP/ipmask
cc -s -O2 -o ipmask $CWD/ipmask.c
cat ipmask > $PKG/bin/ipmask
chown root:bin $PKG/bin/ipmask
chmod 755 $PKG/bin/ipmask

echo "+=========+"
echo "| iputils |"
echo "+=========+"
cd $TMP
tar xjf $CWD/iputils.tar.bz2
cd iputils
zcat $CWD/iputils-021109-linux-udp-header.patch.gz | patch -p1
chown -R root.root .
make
strip arping clockdiff ping ping6 rarpd rdisc tracepath tracepath6 traceroute6
cat arping > $PKG/sbin/arping
cat clockdiff > $PKG/usr/sbin/clockdiff
# Replace old ping...
cat ping > $PKG/bin/ping
cat ping6 > $PKG/bin/ping6
cat rarpd > $PKG/usr/sbin/rarpd
cat rdisc > $PKG/usr/sbin/rdisc
cat tracepath > $PKG/usr/bin/tracepath
cat tracepath6 > $PKG/usr/bin/tracepath6
cat traceroute6 > $PKG/usr/bin/traceroute6
mkdir -p $PKG/usr/doc/iputils
cp -a RELNOTES $PKG/usr/doc/iputils

echo "+=========+"
echo "| ethtool |"
echo "+=========+"
cd $TMP
tar xzf $CWD/ethtool-1.8.tar.gz
cd ethtool-1.8
chown -R root.root .
./configure --prefix=/usr
make
make install DESTDIR=$PKG
strip $PKG/usr/sbin/ethtool
chown root.bin $PKG/usr/sbin/ethtool
gzip -9 $PKG/usr/man/man8/ethtool.8
mkdir -p $PKG/usr/doc/ethtool-1.8
cp -a AUTHORS COPYING ChangeLog NEWS README $PKG/usr/doc/ethtool-1.8

rm -rf $PKG/usr/bin/whois
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
makepkg -l y -c n $TMP/tcpip-$VERSION-$ARCH-$BUILD.tgz
) 2>&1 | tee $TMP/tcpip.build.log
