#!/bin/sh
# Set initial variables:
CWD=`pwd`
if [ "$TMP" = "" ]; then
  TMP=/tmp
fi
PKG=$TMP/package-cdutils

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/_cdutils.tar.gz

echo "+===================+"
echo "| mkhybrid-1.12b5.2 |"
echo "+===================+"
cd $TMP
tar xzvf $CWD/mkhybrid-1.12b5.2.tar.gz
cd mkhybrid-1.12b5.2
./configure --prefix=/usr
make -j 3
strip mkhybrid
cat mkhybrid > $PKG/usr/bin/mkhybrid
mkdir -p $PKG/usr/doc/mkhybrid-1.12b5.2
cp -a COPYING ChangeLog* README* TODO \
  $PKG/usr/doc/mkhybrid-1.12b5.2
chown root.root $PKG/usr/doc/mkhybrid-1.12b5.2/*
chmod 644 $PKG/usr/doc/mkhybrid-1.12b5.2/*
mkdir -p $PKG/usr/man/man8
cat mkhybrid.8 | gzip -9c > $PKG/usr/man/man8/mkhybrid.8.gz

echo "+=============+"
echo "| cdwrite-2.0 |"
echo "+=============+"
cd $TMP
tar xzvf $CWD/cdwrite-2.0.tar.gz
cd cdwrite-2.0
zcat $CWD/cdwrite-2.0.diff.gz | patch -p1 -E --verbose --backup
make clean
make -j 3
strip cdwrite
cat cdwrite > $PKG/usr/bin/cdwrite
mkdir -p $PKG/usr/man/man1
cat cdwrite.1 | gzip -9c > $PKG/usr/man/man1/cdwrite.1.gz

echo "+=================+"
echo "| cdrecord-1.8a29 |"
echo "+=================+"
cd $TMP
tar xzvf $CWD/cdrecord-1.8a29.tar.gz
cd cdrecord-1.8
zcat $CWD/cdrecord.diff.gz | patch -p1 -E --backup --verbose
make -j 3
make install
mkdir -p $PKG/usr/doc/cdrecord-1.8a29
cp -a AN-* BUILD COMPILE COPYING INSTALL README* $PKG/usr/doc/cdrecord-1.8a29
chown -R root.root $PKG/usr/doc/cdrecord-1.8a29/*
find $PKG/usr/doc/cdrecord-1.8a29 -type f -exec chmod 644 {} \;
( cd mkisofs-1.12b5
  mkdir -p $PKG/usr/doc/mkisofs-1.12b5
  cp -a COPYING README* TODO $PKG/usr/doc/mkisofs-1.12b5
  chown root.root $PKG/usr/doc/mkisofs-1.12b5/*
  chmod 644 $PKG/usr/doc/mkisofs-1.12b5/* )
( cd cdda2wav
  mkdir -p $PKG/usr/doc/cdda2wav
  cp -a FAQ Frontends GPL HOWTOUSE NEEDED OtherProgs README THANKS TODO \
    $PKG/usr/doc/cdda2wav
  chown root.root $PKG/usr/doc/cdda2wav/*
  chmod 644 $PKG/usr/doc/cdda2wav/* )
gzip -9 $PKG/usr/man/man?/*
# These don't need to be in the package, IMHO.
rm $PKG/usr/lib/*.a
rmdir $PKG/usr/lib
rm -r $PKG/usr/man/man5

# Strip binaries:
strip $PKG/usr/bin/*
chgrp bin $PKG/usr/bin/*

# Build the package:
cd $PKG
tar czvf $TMP/cdutils.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/cdwrite-2.0
  rm -rf $TMP/mkhybrid-1.11.1
  rm -rf $TMP/cdrecord-1.8
  rm -rf $PKG
fi
