#!/bin/sh # Set initial variables: CWD=`pwd` if [ "$TMP" = "" ]; then TMP=/tmp fi PKG=$TMP/package-tcpip2 if [ ! -d $TMP ]; then mkdir -p $TMP # location to build the source fi if [ ! -d $PKG ]; then mkdir -p $PKG # place for the package to be built fi # Explode the package framework: cd $PKG explodepkg $CWD/_tcpip2.tar.gz # Find the size of a file: filesize() { SIZE=`ls -l -d -G $1 | cut -b23-32` echo -n $SIZE } echo "+==============+" echo "| autofs-3.1.3 |" echo "+==============+" cd $TMP tar xzvf $CWD/autofs-3.1.3.tar.gz cd autofs-3.1.3 mkdir -p $PKG/usr/doc/autofs-3.1.3 cp -a COPYING COPYRIGHT NEWS README README.options TODO \ multiserver_mount.patch samples $PKG/usr/doc/autofs-3.1.3 chown -R root.root $PKG/usr/doc/autofs-3.1.3 ./configure --prefix=/usr i386-slackware-linux make -j 2 cd daemon cat automount > $PKG/usr/sbin/automount chown root.bin $PKG/usr/sbin/automount chmod 755 $PKG/usr/sbin/automount cd ../modules mkdir -p $PKG/usr/lib/autofs for file in *.so ; do cat $file > $PKG/usr/lib/autofs/$file done cd ../man for file in *.5 ; do cat $file | gzip -9c > $PKG/usr/man/man5/$file.gz done for file in *.8 ; do cat $file | gzip -9c > $PKG/usr/man/man8/$file.gz done echo "+===============+" echo "| bootp-DD2.4.3 |" echo "+===============+" cd $TMP tar xzvf $CWD/bootp-DD2.4.3.tar.gz cd bootp-DD2.4.3 mkdir -p $PKG/usr/doc/bootp-DD2.4.3 cp -a Announce Changes Changes.Dynamic Installation Problems README \ README.Dynamic ToDo ToDo.Dynamic bootptab.Dynamic bootptab.cmu \ bootptab.mcs $PKG/usr/doc/bootp-DD2.4.3 chown -R root.root $PKG/usr/doc/bootp-DD2.4.3 chmod 644 $PKG/usr/doc/bootp-DD2.4.3/* zcat $CWD/bootp-DD2.4.3.diff.gz | patch -p1 --backup make -j 2 strip bootpd bootpef bootpgw bootptest for file in bootpd bootpef bootpgw bootptest ; do cat $file > $PKG/usr/sbin/$file done gzip -9c bootptab.5 > $PKG/usr/man/man5/bootptab.5.gz for file in bootpd.8 bootpef.8 bootptest.8 ; do gzip -9c $file > $PKG/usr/man/man8/$file.gz done echo "+==========+" echo "| dhcp-2.0 |" echo "+==========+" cd $TMP tar xzvf $CWD/dhcp-2.0.tar.gz cd dhcp-2.0 ./configure linux-2.2 make -j 2 DOCDIR=$PKG/usr/doc/dhcp-2.0 mkdir -p $DOCDIR cp -a CHANGES README RELNOTES TODO $DOCDIR mkdir -p $DOCDIR/examples cp -a client/dhclient.conf server/dhcpd.conf \ $DOCDIR/examples chown -R root.root $DOCDIR cat << EOF > $PKG/etc-incoming/dhcpd.conf # dhcpd.conf # # Configuration file for ISC dhcpd (see 'man dhcpd.conf') # EOF cat << EOF > $PKG/etc-incoming/dhclient.conf # dhclient.conf # # Configuration file for ISC dhclient (see 'man dhclient.conf') # EOF cat client/scripts/linux > $PKG/etc-incoming/dhclient-script chmod 700 $PKG/etc-incoming/dhclient-script strip server/dhcpd client/dhclient relay/dhcrelay cat server/dhcpd > $PKG/usr/sbin/dhcpd cat relay/dhcrelay > $PKG/usr/sbin/dhcrelay cat client/dhclient > $PKG/sbin/dhclient mkdir -p $PKG/usr/man/man5 mkdir -p $PKG/usr/man/man8 for dir in client server ; do cd $dir for file in *.5 ; do cat $file | sed -e "s#ETCDIR#/etc#g" -e "s#DBDIR#/var/db#g" \ -e "s#RUNDIR#/var/run#g" | gzip -9c > $PKG/usr/man/man5/$file.gz done for file in *.8 ; do cat $file | sed -e "s#ETCDIR#/etc#g" -e "s#DBDIR#/var/db#g" \ -e "s#RUNDIR#/var/run#g" | gzip -9c > $PKG/usr/man/man8/$file.gz done cd .. done cat relay/dhcrelay.8 | sed -e "s#ETCDIR#/etc#g" -e "s#DBDIR#/var/db#g" \ -e "s#RUNDIR#/var/run#g" | gzip -9c > $PKG/usr/man/man8/dhcrelay.8.gz echo "+===================+" echo "| dhcpcd-1.3.18-pl1 |" echo "+===================+" cd $TMP tar xzvf $CWD/dhcpcd-1.3.18-pl1.tar.gz cd dhcpcd-1.3.18-pl1 zcat $CWD/dhcpcd-1.3.18-pl1.diff.gz | patch -p1 -E --backup --verbose # I don't know why, but the versions of this we compile ourselves aren't # working. Maybe the included binary is better... #make clean #make cat dhcpcd > $PKG/sbin/dhcpcd cat dhcpcd.8 | gzip -9c > $PKG/usr/man/man8/dhcpcd.8.gz cat << EOF > $PKG/etc/dhcpc/dhcpcd-eth0.exe #!/bin/sh echo "(dhcpcd) IP address changed to \$1" | logger EOF chmod 750 $PKG/etc/dhcpc/dhcpcd-eth0.exe mkdir -p $PKG/usr/doc/dhcpcd-1.3.18-pl1 cp -a pcmcia $PKG/usr/doc/dhcpcd-1.3.18-pl1 cp -a Changes README dhcpcd*.lsm $PKG/usr/doc/dhcpcd-1.3.18-pl1 chown -R root.root $PKG/usr/doc/dhcpcd-1.3.18-pl1 echo "+===============+" echo "| netwatch.0.9g |" echo "+===============+" cd $TMP tar xzvf $CWD/netwatch.0.9g.tar.gz cd netwatch.0.9g ./configure --prefix=/usr i386-slackware-linux make -j 2 strip netresolv netwatch cat netresolv > $PKG/usr/sbin/netresolv chown root.bin $PKG/usr/sbin/netresolv chmod 755 $PKG/usr/sbin/netresolv cat netwatch > $PKG/usr/sbin/netwatch chown root.bin $PKG/usr/sbin/netwatch chmod 755 $PKG/usr/sbin/netwatch cat netwatch.1 | gzip -9c > $PKG/usr/man/man1/netwatch.1.gz mkdir -p $PKG/usr/doc/netwatch.0.9g cp -a BUGS CHANGES README README.performance TODO netwatch.0.9g.lsm \ netwatch.alpha.patches $PKG/usr/doc/netwatch.0.9g chown root.root $PKG/usr/doc/netwatch.0.9g/* chmod 644 $PKG/usr/doc/netwatch.0.9g/* echo "+=================+" echo "| sliplogin-2.1.1 |" echo "+=================+" cd $TMP tar xzvf $CWD/sliplogin-2.1.1.tar.gz cd sliplogin-2.1.1 zcat $CWD/sliplogin-2.1.1.diff.gz | patch -p1 --backup make -j 2 strip sliplogin cat sliplogin > $PKG/usr/sbin/sliplogin cat sliplogin.8 | gzip -9c > $PKG/usr/man/man8/sliplogin.8.gz mkdir -p $PKG/etc-incoming/slip cp -a slip.login slip.hosts slip.route slip.passwd $PKG/etc-incoming/slip chown root.root $PKG/etc-incoming/slip/* chmod 640 $PKG/etc-incoming/slip/* mkdir -p $PKG/usr/doc/sliplogin-2.1.1 cp -a CHANGES README* TODO TROUBLE_SHOOTING $PKG/usr/doc/sliplogin-2.1.1 chown root.root $PKG/usr/doc/sliplogin-2.1.1/* chmod 644 $PKG/usr/doc/sliplogin-2.1.1/* echo "+======================+" echo "| ipfwadm-2.3.0.tar.gz |" echo "+======================+" cd $TMP tar xzvf $CWD/ipfwadm-2.3.0.tar.gz cd ipfwadm-2.3.0 mkdir -p $PKG/usr/doc/ipfwadm-2.3.0 cp -a COPYING ChangeLog README ipfwadm.lsm $PKG/usr/doc/ipfwadm-2.3.0 chmod 644 $PKG/usr/doc/ipfwadm-2.3.0/* chown root.root $PKG/usr/doc/ipfwadm-2.3.0/* # These don't build under glibc. It's getting phased out anyway in the near # future unless a Linux 2.2.x version is developed. #make #strip ipfwadm cat ipfwadm > $PKG/sbin/ipfwadm-2.3.0 cat ipfwadm.8 | gzip -9c > $PKG/usr/man/man8/ipfwadm.8.gz cat ipfw.4 | gzip -9c > $PKG/usr/man/man4/ipfw.4.gz echo "+=======================+" echo "| ipchains-1.3.9.tar.gz |" echo "+=======================+" cd $TMP tar xzvf $CWD/ipchains-1.3.9.tar.gz cd ipchains-1.3.9 make -j 2 strip ipchains cat ipchains > $PKG/sbin/ipchains cat ipchains.8 | gzip -9c > $PKG/usr/man/man8/ipchains.8.gz cat ipfw.4 | gzip -9c > $PKG/usr/man/man4/ipfw.4.gz mkdir -p $PKG/usr/doc/ipchains-1.3.9 cp -a COPYING HOWTO.txt README $PKG/usr/doc/ipchains-1.3.9 chmod 644 $PKG/usr/doc/ipchains-1.3.9/* chown root.root $PKG/usr/doc/ipchains-1.3.9/* echo "+===============================+" echo "| ipchains-scripts-1.1.2.tar.gz |" echo "+===============================+" cd $TMP tar xzvf $CWD/ipchains-scripts-1.1.2.tar.gz cd ipchains-scripts-1.1.2 zcat $CWD/ipchains-scripts-1.1.2.diff.gz | patch -p1 --backup for file in ipchains-restore ipchains-save ipfwadm-wrapper ; do cat $file > $PKG/sbin/$file chmod 755 $PKG/sbin/$file chown root.bin $PKG/sbin/$file cat $file.8 | gzip -9c > $PKG/usr/man/man8/$file.8.gz done echo "+========================+" echo "| ipmasqadm-0.4.2.tar.gz |" echo "+========================+" cd $TMP tar xzvf $CWD/ipmasqadm-0.4.2.tar.gz cd ipmasqadm-0.4.2 make KSRC=/usr/src/linux/ cp modules/*.so $PKG/usr/lib/ipmasqadm strip ipmasqadm/ipmasqadm cat ipmasqadm/ipmasqadm > $PKG/usr/sbin/ipmasqadm cat man/ipmasqadm.8 | gzip -9c > $PKG/usr/man/man8/ipmasqadm.8.gz echo "+==============+" echo "| yp-tools-2.3 |" echo "+==============+" cd $TMP # Make sure we have a working etc/nsswitch.conf: zcat $CWD/nsswitch.conf.gz > $PKG/etc-incoming/nsswitch.conf # Add etc/nsswitch.conf-nis as a full NIS+ example config file: zcat $CWD/nsswitch.conf-nis.gz > $PKG/etc-incoming/nsswitch.conf-nis tar xyvf $CWD/yp-tools-2.3.tar.bz2 cd yp-tools-2.3 mkdir -p $PKG/usr/doc/yp-tools-2.3 cp -a ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO \ $PKG/usr/doc/yp-tools-2.3 chown root.root $PKG/usr/doc/yp-tools-2.3/* chmod 644 $PKG/usr/doc/yp-tools-2.3/* ./configure --prefix=/usr --disable-domainname i386-slackware-linux make CFLAGS=-O2 -j 2 cat etc/nicknames > $PKG/var/yp/nicknames cat po/de.gmo > $PKG/usr/share/locale/de/LC_MESSAGES/yp-tools.mo cd src strip ypcat ypmatch yppasswd yppoll ypset ypwhich cat ypcat > $PKG/usr/bin/ypcat cat ypmatch > $PKG/usr/bin/ypmatch cat yppasswd > $PKG/usr/bin/yppasswd cat ypwhich > $PKG/usr/bin/ypwhich cat yppoll > $PKG/usr/sbin/yppoll cat ypset > $PKG/usr/sbin/ypset cd ../man cat nicknames.5 | gzip -9c > $PKG/usr/man/man5/nicknames.5.gz for file in *.1 ; do cat $file | gzip -9c > $PKG/usr/man/man1/$file.gz done for file in *.8 ; do cat $file | gzip -9c > $PKG/usr/man/man8/$file.gz done echo "+============+" echo "| ypbind-3.3 |" echo "+============+" cd $TMP tar xzvf $CWD/ypbind-3.3.tar.gz cd ypbind-3.3 zcat $CWD/ypbind-3.3-glibc5.diff.gz | patch -p1 --backup ./configure --prefix=/usr \ i386-slackware-linux make -j 2 cp yp.conf.example $PKG/etc/yp.conf.example mkdir -p $PKG/usr/doc/ypbind-3.3 cp -a COPYING INSTALL README TODO yp.conf.example $PKG/usr/doc/ypbind-3.3 chown root.root $PKG/usr/doc/ypbind-3.3/* chmod 644 $PKG/usr/doc/ypbind-3.3/* cat ypbind > $PKG/usr/sbin/ypbind cat ypbind.8 | gzip -9c > $PKG/usr/man/man8/ypbind.8.gz echo "+==============+" echo "| ypserv-1.3.9 |" echo "+==============+" cd $TMP tar xyvf $CWD/ypserv-1.3.9.tar.bz2 cd ypserv-1.3.9 mkdir -p $PKG/usr/doc/ypserv-1.3.9 cp -a BUGS COPYING ChangeLog INSTALL NEWS README README.secure \ TODO $PKG/usr/doc/ypserv-1.3.9 chmod 644 $PKG/usr/doc/ypserv-1.3.9/* chown root.root $PKG/usr/doc/ypserv-1.3.9/* # --with-ndbm=yes ./configure --enable-tcp-wrapper \ --enable-fqdn \ --enable-yppasswd \ i386-slackware-linux make -j 2 mkdir -p $PKG/usr/include/rpcsvc cp -a ypxfrd.x $PKG/usr/include/rpcsvc chown root.root $PKG/usr/include/rpcsvc/ypxfrd.x chmod 644 $PKG/usr/include/rpcsvc/ypxfrd.x strip makedbm mknetid revnetgroup ypxfr ypserv rpc.ypxfrd yppush rpc.yppasswdd for file in makedbm mknetid pwupdate revnetgroup ypinit ypxfr \ ypxfr_1perday ypxfr_1perhour ypxfr_2perday ; do cat $file > $PKG/usr/lib/yp/$file done for file in ypserv rpc.yppasswdd rpc.ypxfrd yppush ; do cat $file > $PKG/usr/sbin/$file done cat ypMakefile > $PKG/var/yp/Makefile cat etc/securenets > $PKG/var/yp/securenets echo "# This file is part of the YP server package -- see 'man netgroup'" \ > $PKG/etc-incoming/netgroup cat etc/netgroup >> $PKG/etc-incoming/netgroup for file in netgroup.5 ypserv.conf.5 ; do gzip -9c $file > $PKG/usr/man/man5/$file.gz done for file in makedbm.8 mknetid.8 pwupdate.8 revnetgroup.8 \ rpc.yppasswdd.8 rpc.ypxfrd.8 ypinit.8 yppasswdd.8 yppush.8 \ ypserv.8 ypxfr.8 ypxfrd.8 ; do gzip -9c $file > $PKG/usr/man/man8/$file.gz done echo "+=============+" echo "| ncftp-2.4.3 |" echo "+=============+" cd $TMP tar xzvf $CWD/ncftp-2.4.3.tar.gz cd ncftp-2.4.3 zcat $CWD/ncftp-2.4.3.diff.gz | patch -p0 --backup ./configure --prefix=/usr --enable-readline i386-slackware-linux make CFLAGS=-O2 LDFLAGS=-s strip ncftp cat ncftp > $PKG/usr/bin/ncftp cat ncftp.1 | gzip -9c > $PKG/usr/man/man1/ncftp.1.gz echo "+=============+" echo "| ytalk-3.0.2 |" echo "+=============+" cd $TMP tar xzvf $CWD/ytalk-3.0.2.tar.gz cd ytalk-3.0.2 zcat $CWD/ytalk-3.0.2.diff.gz | patch -p1 -E --verbose --backup make strip ytalk cat ytalk > $PKG/usr/bin/ytalk cat ytalk.1 | gzip -9c > $PKG/usr/man/man1/ytalk.1.gz echo "+================+" echo "| ttysnoop-0.12c |" echo "+================+" cd $TMP tar xzvf $CWD/ttysnoop_0.12c.orig.tar.gz cd ttysnoop-0.12c.orig zcat $CWD/ttysnoop_0.12c-6.diff.gz | patch -p1 --backup mkdir -p $PKG/usr/doc/ttysnoop-0.12c cp -a README $PKG/usr/doc/ttysnoop-0.12c chmod 644 $PKG/usr/doc/ttysnoop-0.12c/* chown root.root $PKG/usr/doc/ttysnoop-0.12c/* make strip ttysnoop ttysnoops cat ttysnoops > $PKG/usr/sbin/ttysnoops cat ttysnoop > $PKG/usr/sbin/ttysnoop cat snooptab.dist > $PKG/etc/snooptab cat ttysnoop.8 | gzip -9c > $PKG/usr/man/man8/ttysnoop.8.gz # We build a special version of in.telnetd for ttysnoop: cd $TMP tar xzvf $CWD/netkit-telnet-0.14.tar.gz cd netkit-telnet-0.14 zcat $CWD/netkit-telnet-0.14-ttysnoop.diff.gz | patch -p1 --verbose --backup zcat $CWD/netkit-telnet-0.14.configure.diff.gz | patch -p0 --backup ./configure --prefix=/usr make cd telnetd strip telnetd cat telnetd > $PKG/usr/sbin/in.telnetsnoopd # Build the package: cd $PKG tar czvf $TMP/tcpip2.tgz . # Warn of zero-length files: for file in `find . -type f -print` ; do if [ "`filesize $file`" = "0" ]; then echo "WARNING: zero length file $file" fi if [ "`filesize $file`" = "20" ]; then echo "WARNING: possible empty gzipped file $file" fi done # Clean up the extra stuff: if [ "$1" = "--cleanup" ]; then for dir in bootp-DD2.4.3 ipfwadm-2.3.0 \ dhcpcd-1.3.18-pl1 \ ipchains-1.3.9.tar.gz ipchains-scripts-1.1.2 \ ncftp-2.4.3 package-tcpip2 \ sliplogin-2.1.0 \ ttysnoop-0.12c.orig \ ypserv-1.3.9 yp-tools-2.3 ypbind-3.3 \ ytalk-3.0.2 netwatch.0.9g dhcp-2.0 ipmasqadm-0.4.2 ; do rm -rf $TMP/$dir done rm -rf $PKG fi