#!/bin/sh # Set initial variables: CWD=`pwd` if [ "$TMP" = "" ]; then TMP=/tmp fi PKG=$TMP/package-util INFO=$PKG/usr/info 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/_util.tar.gz echo "+================+" echo "| net-tools-1.52 |" echo "+================+" cd $TMP tar xzvf $CWD/net-tools-1.52.tar.gz cd net-tools-1.52 zcat $CWD/net-tools-1.52.diff.gz | patch -p1 make strip hostname cat hostname > $PKG/bin/hostname cd man/en_US for page in hostname.1 dnsdomainname.1 nisdomainname.1 ypdomainname.1 \ domainname.1 ; do cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz done echo "+================+" echo "| setserial-2.14 |" echo "+================+" cd $TMP tar xzvf $CWD/setserial-2.14.tar.gz cd setserial-2.14 ./configure --prefix=/usr make strip setserial cat setserial > $PKG/sbin/setserial #cat rc.serial > $PKG/etc/rc.d/rc.serial zcat $CWD/rc.serial > $PKG/etc/rc.d/rc.serial cat setserial.8 | gzip -9c > $PKG/usr/man/man8/setserial.8.gz echo "+=================+" echo "| util-linux-2.9i |" echo "+=================+" if gcc --version | fgrep egcs ; then echo "Historically, using egcs to compile this has caused some problems," echo "like a segfault on 486s with clock. These timing problems may be" echo "resolved in newer versions on egcs (1.0.3a was the one connected" echo "with these observations), but keep an eye out for these things." echo "hit [enter]" read junk; fi cd $TMP tar xzvf $CWD/util-linux-2.9i.tar.gz cd util-linux-2.9i # This patch is needed to compile ipcs with libc5: zcat $CWD/util-linux-libc5.diff.gz | patch zcat $CWD/bsdgetopt.diff.gz | patch zcat $CWD/MCONFIG.diff.gz | patch # This prevents 'swapon' from complaining that root.disk brw-rw---- permissions # are insecure, which they aren't: zcat $CWD/swapon.nowarning.diff.gz | patch # Add support to fdisk and cfdisk for the 1b hidden FAT32 partition type: ( cd fdisk ; zcat $CWD/fdisk.hiddenfat32.diff.gz | patch ) make ( cd attic ; cc -O -o strings strings.c getopt.c ; strip strings ) cat sys-utils/arch > $PKG/bin/arch cat sys-utils/dmesg > $PKG/bin/dmesg cat getopt-1.0.3a/getopt > $PKG/bin/getopt cat misc-utils/mcookie > $PKG/usr/bin/mcookie #cat misc-utils/hostname > $PKG/bin/hostname # There's a better 'kill' in procps now. #cat misc-utils/kill > $PKG/bin/kill #cat login-utils/login > $PKG/bin/login cat text-utils/more > $PKG/bin/more cat mount/mount > $PKG/bin/mount cat mount/umount > $PKG/bin/umount cat mount/losetup > $PKG/sbin/losetup #cat sys-utils/setserial > $PKG/bin/setserial cat misc-utils/setterm > $PKG/bin/setterm cat sys-utils/sln > $PKG/bin/sln #cat sys-utils/sync > $PKG/bin/sync cat login-utils/agetty > $PKG/sbin/agetty #cat login-utils/chfn > $PKG/usr/bin/chfn #cat bdflush > $PKG/sbin/bdflush #cat sys-utils/clock > $PKG/sbin/clock cat sys-utils/hwclock > $PKG/sbin/hwclock cat fdisk/fdisk > $PKG/sbin/fdisk cat fdisk/sfdisk > $PKG/usr/sbin/sfdisk #cat fsck > $PKG/sbin/fsck cat disk-utils/fsck.minix > $PKG/sbin/fsck.minix cat sys-utils/readprofile > $PKG/usr/bin/readprofile cat sys-utils/kbdrate > $PKG/sbin/kbdrate cat disk-utils/mkfs.minix > $PKG/sbin/mkfs.minix cat disk-utils/mkfs > $PKG/sbin/mkfs cat disk-utils/mkswap > $PKG/sbin/mkswap cat sys-utils/rdev > $PKG/sbin/rdev cat mount/swapon > $PKG/sbin/swapon cat games/banner > $PKG/usr/bin/banner cat misc-utils/cal > $PKG/usr/bin/cal #cat login-utils/chsh > $PKG/usr/bin/chsh #cat clear > $PKG/usr/bin/clear cat text-utils/col > $PKG/usr/bin/col cat text-utils/colcrt > $PKG/usr/bin/colcrt cat text-utils/colrm > $PKG/usr/bin/colrm cat text-utils/column > $PKG/usr/bin/column cat misc-utils/ddate > $PKG/usr/bin/ddate cat disk-utils/fdformat > $PKG/usr/bin/fdformat cat text-utils/hexdump > $PKG/usr/bin/hexdump #cat misc-utils/hostid > $PKG/usr/bin/hostid cat sys-utils/ipcrm > $PKG/usr/bin/ipcrm cat sys-utils/cytune > $PKG/usr/bin/cytune cat sys-utils/ipcs > $PKG/usr/bin/ipcs cat login-utils/last > $PKG/usr/bin/last cat misc-utils/logger > $PKG/usr/bin/logger cat misc-utils/look > $PKG/usr/bin/look cat login-utils/mesg > $PKG/usr/bin/mesg cat misc-utils/namei > $PKG/usr/bin/namei #cat login-utils/newgrp > $PKG/usr/bin/newgrp #cat login-utils/passwd > $PKG/usr/bin/passwd #cat login-utils/vipw > $PKG/usr/sbin/vipw cat sys-utils/renice > $PKG/usr/bin/renice cat misc-utils/reset.sh > $PKG/usr/bin/reset cat text-utils/rev > $PKG/usr/bin/rev cat misc-utils/script > $PKG/usr/bin/script cat disk-utils/setfdprm > $PKG/usr/bin/setfdprm cat sys-utils/setsid > $PKG/usr/bin/setsid #cat text-utils/strings > $PKG/usr/bin/strings cat attic/strings > $PKG/usr/bin/strings cat misc-utils/tsort > $PKG/usr/bin/tsort cat sys-utils/tunelp > $PKG/usr/bin/tunelp cat text-utils/ul > $PKG/usr/bin/ul cat login-utils/wall > $PKG/usr/bin/wall cat misc-utils/whereis > $PKG/usr/bin/whereis cat misc-utils/write > $PKG/usr/bin/write cat fdisk/cfdisk > $PKG/usr/sbin/cfdisk #cat sys-utils/chroot > $PKG/usr/sbin/chroot cat sys-utils/ctrlaltdel > $PKG/usr/sbin/ctrlaltdel mkdir -p $INFO cat sys-utils/ipc.info | gzip -9c > $INFO/ipc.info.gz #cp sys-utils/ipc.texi $TEX/ipc.texi gzip -9c getopt-1.0.3a/getopt.1 > $PKG/usr/man/man1/getopt.1.gz for file in sys-utils/arch.1 \ text-utils/more.1 misc-utils/setterm.1 \ text-utils/col.1 text-utils/colcrt.1 \ text-utils/colrm.1 text-utils/column.1 text-utils/hexdump.1 \ login-utils/last.1 misc-utils/logger.1 misc-utils/look.1 \ login-utils/mesg.1 \ misc-utils/reset.1 text-utils/rev.1 misc-utils/script.1 attic/strings.1 \ misc-utils/tsort.1 text-utils/ul.1 login-utils/wall.1 misc-utils/whereis.1 \ misc-utils/write.1 misc-utils/namei.1 misc-utils/ddate.1 \ sys-utils/readprofile.1 \ misc-utils/mcookie.1 misc-utils/cal.1 ; do gzip -9c $file > $PKG/usr/man/man1/`basename $file`.gz done gzip -9c mount/fstab.5 > $PKG/usr/man/man5/fstab.5.gz gzip -9c mount/nfs.5 > $PKG/usr/man/man5/nfs.5.gz gzip -9c games/banner.6 > $PKG/usr/man/man6/banner.6.gz for file in sys-utils/dmesg.8 mount/mount.8 \ mount/losetup.8 mount/umount.8 login-utils/agetty.8 \ sys-utils/hwclock.8 sys-utils/rdev.8 \ sys-utils/cytune.8 fdisk/fdisk.8 disk-utils/fsck.minix.8 \ sys-utils/kbdrate.8 disk-utils/mkfs.minix.8 disk-utils/mkswap.8 \ mount/swapon.8 disk-utils/mkfs.8 disk-utils/fdformat.8 \ sys-utils/ipcrm.8 sys-utils/ipcs.8 sys-utils/renice.8 disk-utils/setfdprm.8 \ sys-utils/setsid.8 sys-utils/tunelp.8 \ sys-utils/ctrlaltdel.8 fdisk/cfdisk.8 fdisk/sfdisk.8 \ sys-utils/ramsize.8 sys-utils/swapdev.8 mount/swapoff.8 sys-utils/vidmode.8 \ sys-utils/rootflags.8 ; do gzip -9c $file > $PKG/usr/man/man8/`basename $file`.gz done mkdir -p $PKG/usr/doc/util-linux-2.9i cp -a ANNOUNCE COPYING.GPL COPYING.UCB HISTORY INSTALL LSM MAINTAINERS \ disk-utils/README* fdisk/README* login-utils/README* misc-utils/README* \ mount/README* sys-utils/README* \ text-utils/README* $PKG/usr/doc/util-linux-2.9i cp -a getopt-1.0.3a/README $PKG/usr/doc/util-linux-2.9i/README.getopt-1.0.3a chown root.root $PKG/usr/doc/util-linux-2.9i/* chmod 644 $PKG/usr/doc/util-linux-2.9i/* echo "+=============+" echo "| updated-1.2 |" echo "+=============+" cd $TMP tar xzvf $CWD/updated-1.2.tar.gz cd update-1.2 make strip update cat update > $PKG/sbin/update cat update.8 | gzip -9c > $PKG/usr/man/man8/update.8.gz echo "+===========+" echo "| clock-1.6 |" echo "+===========+" cd $TMP tar xzvf $CWD/clock-1.6.tar.gz cd clock-1.6 make cat clock > $PKG/sbin/clock cat clock.8 | gzip -9c > $PKG/usr/man/man8/clock.8.gz # This no longer works with 2.2.x kernels: #echo "+=============+" #echo "| smbfs-2.0.2 |" #echo "+=============+" #cd $TMP #tar xzvf $CWD/smbfs-2.0.2.tar.gz #cd smbfs-2.0.2 #make #strip util/smbmount util/smbumount #cat util/smbmount > $PKG/bin/smbmount #cat util/smbumount > $PKG/bin/smbumount #cat man/smbmount.8 | gzip -9c > $PKG/usr/man/man8/smbmount.8.gz #cat man/smbumount.8 | gzip -9c > $PKG/usr/man/man8/smbumount.8.gz # The mount in util-2.9 seems up-to-date, so we won't seek a newer version. #echo "+============+" #echo "| mount-2.7l |" #echo "+============+" #cd $TMP #tar xzvf $CWD/mount-2.7l.tar.gz #cd mount-2.7l #make #strip mount umount losetup swapon #cat mount > $PKG/bin/mount #cat umount > $PKG/bin/umount #cat losetup > $PKG/sbin/losetup #cat swapon > $PKG/sbin/swapon #for page in fstab.5 nfs.5 ; do #cat $page | gzip -9c > $PKG/usr/man/man5/$page.gz #done #for page in losetup.8 mount.8 swapoff.8 swapon.8 umount.8 ; do #cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz #done echo "+=============+" echo "| jaztool-1.0 |" echo "+=============+" cd $TMP tar xzvf $CWD/jaztool-1.0.tar.gz cd jaztool-1.0 make strip jaztool chown root.bin jaztool cp -a jaztool $PKG/sbin mkdir -p $PKG/usr/doc/jaztool-1.0 cat README > $PKG/usr/doc/jaztool-1.0/README echo "+=============+" echo "| ziptool-1.0 |" echo "+=============+" cd $TMP tar xzvf $CWD/ziptool-1.0.tar.gz cd ziptool-1.0 make strip ziptool chown root.bin ziptool cp -a ziptool $PKG/sbin mkdir -p $PKG/usr/doc/ziptool-1.0 cat ziptool.txt > $PKG/usr/doc/ziptool-1.0/ziptool.txt strip $PKG/bin/* $PKG/usr/bin/* $PKG/usr/sbin/* # Build the package: cd $PKG tar czvf $TMP/util.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 rm -rf $TMP/util-linux-2.9i rm -rf $TMP/update-1.2 rm -rf $TMP/clock-1.6 rm -rf $TMP/jaztool-1.0 # mount in util-linux is newer # rm -rf $TMP/mount-2.7l # Phased out. Use the smbmount from Samba... # rm -rf $TMP/smbfs-2.0.2 rm -rf $PKG fi