#! /bin/sh

if dh_testdir 2> /dev/null; then 
    echo "Good: we are in the main package directory." 
else 
    echo "you are not in the main package directory."
    exit 1
fi

if [ ! -d wims/public_html/modules ]; then
    echo "The directory wims/ does not exist; expanding the archive."
    mkdir -p wims
    (cd wims; tar xzf ../wims-3.64.tgz)
else
    echo "Good: the modules directory seems already uncompressed." 
fi

tempdir=$(mktemp -d)
oldmodulefiles=$tempdir/old.txt
currentmodulefiles=$tempdir/current.txt
newmodulefiles=$tempdir/new.txt
newmoduledirs=$tempdir/dirs.txt
tarfile=$tempdir/wims-modules-extra-$(date +%Y%m%d).tar

echo "building the file of old modules"
(cd wims/public_html/modules/; for d in $(ls | grep -v devel); do find $d -type f; done;)| sort > $oldmodulefiles

echo "building the file of current modules"
(cd /var/lib/wims/public_html/modules/; for d in $(ls | grep -Ev 'adm|devel|Change.*'); do find $d -type f 2> /dev/null; done;)| grep -Ev '~$|.orig$' | sort > $currentmodulefiles

echo "building the file of newer modules."
comm -2 -3 $currentmodulefiles $oldmodulefiles > $newmodulefiles

echo "building the file of new module directories"
cat $newmodulefiles | sed -n 's%\([^/]*/[^/]*/[^/]*\)/.*%public_html/modules/\1% p' | uniq >  $newmoduledirs

echo "The list of the new module files is at $newmodulefiles ($(wc -l $newmodulefiles | sed 's/[^0-9]//g') records)."
echo "their directories are in $newmoduledirs ($(wc -l $newmoduledirs | sed 's/[^0-9]//g') records)."

echo ""
echo -n "Building the archive for the new modules in $tarfile.gz ... "

chmod 755 $tempdir
chmod 644 $newmoduledirs
sudo su - wims -c "tar cf - --files-from $newmoduledirs" | gzip -c9 > $tarfile.gz

echo "Done."
