#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
 TMP=/tmp
fi
PKG=$TMP/package-base
SRC=/devel/manpagesrc
INFO=/devel/info-pages/usr/info
TEX=/devel/texinfo-docs

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
tar xzvf $CWD/_base.tar.gz

# Function to handle manpage source:
man2gz () { # $1 is source page name, $2 is target name for preformatted
           # output (full path && name) and $3 is the same, but for the
           # source.
 mkdir -p `dirname $2`
 groff -Tascii -mandoc $1 | gzip -9c > $2
 if [ ! "$3" = "" ]; then
   mkdir -p `dirname $3`
   cat $1 > $3
 fi
}

echo "+==============+"
echo "| mtools-2.0.7 |"
echo "+==============+"
cd $TMP
tar xzvf $CWD/mtools-2.0.7.tar.gz
cd mtools-2.0.7
zcat $CWD/mtools-2.0.7.diff.gz | patch
make
strip mtools
cat mtools > $PKG/usr/bin/mtools
man2gz mattrib.1 $PKG/usr/man/preformat/cat1/mattrib.1.gz $SRC/usr/man/man1/mattrib.1
man2gz mcd.1 $PKG/usr/man/preformat/cat1/mcd.1.gz $SRC/usr/man/man1/mcd.1
man2gz mcopy.1 $PKG/usr/man/preformat/cat1/mcopy.1.gz $SRC/usr/man/man1/mcopy.1
man2gz mdel.1 $PKG/usr/man/preformat/cat1/mdel.1.gz $SRC/usr/man/man1/mdel.1
man2gz mdir.1 $PKG/usr/man/preformat/cat1/mdir.1.gz $SRC/usr/man/man1/mdir.1
man2gz mformat.1 $PKG/usr/man/preformat/cat1/mformat.1.gz $SRC/usr/man/man1/mformat.1
man2gz mkmanifest.1 $PKG/usr/man/preformat/cat1/mkmanifest.1.gz $SRC/usr/man/man1/mkmanifest.1
man2gz mlabel.1 $PKG/usr/man/preformat/cat1/mlabel.1.gz $SRC/usr/man/man1/mlabel.1
man2gz mmd.1 $PKG/usr/man/preformat/cat1/mmd.1.gz $SRC/usr/man/man1/mmd.1
man2gz mrd.1 $PKG/usr/man/preformat/cat1/mrd.1.gz $SRC/usr/man/man1/mrd.1
man2gz mread.1 $PKG/usr/man/preformat/cat1/mread.1.gz $SRC/usr/man/man1/mread.1
man2gz mren.1 $PKG/usr/man/preformat/cat1/mren.1.gz $SRC/usr/man/man1/mren.1
man2gz mtools.1 $PKG/usr/man/preformat/cat1/mtools.1.gz $SRC/usr/man/man1/mtools.1
man2gz mtype.1 $PKG/usr/man/preformat/cat1/mtype.1.gz $SRC/usr/man/man1/mtype.1
man2gz mwrite.1 $PKG/usr/man/preformat/cat1/mwrite.1.gz $SRC/usr/man/man1/mwrite.1

echo "+===============+"
echo "| todos/fromdos |"
echo "+===============+"
cd $TMP
tar xzvf $CWD/todos.tar.gz
cd todos
cc -O2 -s -o todos todos.c
cat todos > $PKG/usr/bin/fromdos

echo "+=====+"
echo "| zip |"
echo "+=====+"
mkdir -p $TMP/zip
cd $TMP/zip
unzip $CWD/zip201.zip
make linux
cat zip > $PKG/usr/bin/zip
cat zipnote > $PKG/usr/bin/zipnote
cat zipsplit > $PKG/usr/bin/zipsplit
man2gz zip.1 $PKG/usr/man/preformat/cat1/zip.1.gz $SRC/usr/man/man1/zip.1
man2gz zipgrep.1 $PKG/usr/man/preformat/cat1/zipgrep.1.gz $SRC/usr/man/man1/zipgrep.1

echo "+=======+"
echo "| unzip |"
echo "+=======+"
mkdir -p $TMP/unzip
cd $TMP/unzip
unzip $CWD/unzip512.zip
make -f unix/Makefile linux
cat unzip > $PKG/usr/bin/unzip
cat unzipsfx > $PKG/usr/bin/unzipsfx
cat funzip > $PKG/usr/bin/funzip
man2gz unix/funzip.1 $PKG/usr/man/preformat/cat1/funzip.1.gz $SRC/usr/man/man1/funzip.1
man2gz unix/unzip.1 $PKG/usr/man/preformat/cat1/unzip.1.gz $SRC/usr/man/man1/unzip.1
man2gz unix/unzipsfx.1 $PKG/usr/man/preformat/cat1/unzipsfx.1.gz $SRC/usr/man/man1/unzipsfx.1

# Build the package:
cd $PKG
tar czvf $TMP/base.tgz .

# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
 rm -rf $TMP/mtools-2.0.7
 rm -rf $TMP/todos
 rm -rf $TMP/zip
 rm -rf $TMP/unzip
 rm -rf $PKG
fi