#!/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 "| 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
zcat $CWD/cdwrite-2.0-linux-2.2-SG_BIG_BUFF.diff.gz | patch -p1 -E --verbose --backup
zcat $CWD/cdwrite-2.0-no.ansi.pedantic.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.8.1 |"
echo "+================+"
cd $TMP
tar xzvf $CWD/cdrecord-1.8.1.tar.gz
cd cdrecord-1.8.1
zcat $CWD/cdrecord-1.8.1-Defaults.linux.diff.gz | patch -p1 -E --backup --verbose
make -j 3
make install
mkdir -p $PKG/usr/doc/cdrecord-1.8.1
cp -a AN-* BUILD COMPILE COPYING INSTALL README* $PKG/usr/doc/cdrecord-1.8.1
chown -R root.root $PKG/usr/doc/cdrecord-1.8.1/*
find $PKG/usr/doc/cdrecord-1.8.1 -type f -exec chmod 644 {} \;
(
   cd mkisofs
   mkdir -p $PKG/usr/doc/cdrecord-1.8.1/mkisofs
   cp -a COPYING ChangeLog README* TODO $PKG/usr/doc/cdrecord-1.8.1/mkisofs
   chown root.root $PKG/usr/doc/cdrecord-1.8.1/mkisofs/*
   chmod 644 $PKG/usr/doc/cdrecord-1.8.1/mkisofs/*
)
(
   cd cdda2wav
   mkdir -p $PKG/usr/doc/cdrecord-1.8.1/cdda2wav
   cp -a FAQ Frontends GPL HOWTOUSE NEEDED OtherProgs README THANKS TODO \
      Changelog $PKG/usr/doc/cdrecord-1.8.1/cdda2wav
   chown root.root $PKG/usr/doc/cdrecord-1.8.1/cdda2wav/*
   chmod 644 $PKG/usr/doc/cdrecord-1.8.1/cdda2wav/*
)
(
   cd mkhybrid
   mkdir -p $PKG/usr/doc/cdrecord-1.8.1/mkhybrid
   cp -a ChangeLog.mkhybrid README* $PKG/usr/doc/cdrecord-1.8.1/mkhybrid
   chown root.root $PKG/usr/doc/cdrecord-1.8.1/mkhybrid/*
   chmod 644 $PKG/usr/doc/cdrecord-1.8.1/mkhybrid/*
)

echo "+==============+"
echo "| cdrdao-1.1.3 |"
echo "+==============+"
cd $TMP
# First, build pccts:
unzip $CWD/pccts133mr.zip
cd pccts
make
cd ..
tar xzvf $CWD/cdrdao-1.1.3.src.tar.gz
cd cdrdao-1.1.3
mkdir -p $PKG/usr/doc/cdrdao-1.1.3
cp -a COPYING CREDITS INSTALL README README.PlexDAE contrib $PKG/usr/doc/cdrdao-1.1.3
./configure --prefix=/usr \
            --with-pcctsbin=/tmp/pccts/bin \
            --with-pcctsinc=/tmp/pccts/h \
            i386-slackware-linux
make CLAGS=-O2 CXXFLAGS=-O2
cd dao
strip cdrdao
cat cdrdao > $PKG/usr/bin/cdrdao
cat cdrdao.man | gzip -9c > $PKG/usr/man/man1/cdrdao.1.gz
gzip -9 $PKG/usr/man/man?/*.?

# These don't need to be in the package, IMHO.
rm -r $PKG/usr/lib $PKG/usr/include $PKG/usr/man/man5

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

# Fix permissions:
cd $PKG
find . -type d -exec chmod 755 {} \;
chown root.bin $PKG/usr/bin/*
chown root.root $PKG/usr/include/*
chmod 644 $PKG/usr/include/*
find $PKG/usr/man -type f -exec chmod 644 {} \;
find $PKG/usr/man -type f -exec chown root.root {} \;

# 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/cdrecord-1.8.1
  rm -rf $PKG
fi
