#!/bin/sh
#
######################################################
# Build script for Core 8.2                          #
#                                                    #
# See .info for details                              #
######################################################

######################################################
# Configure extension creation parameters            #
######################################################

SRCNAM=tree-1.7.0.tgz
WRKDIR=tree-1.7.0
EXTNAM=tree
TMPDIR=/tmp/tree
export DESTDIR=~/build/tree/package

######################################################
# Prepare extension creation                         #
######################################################

# Remove dirs and files left from previous creation

rm -r -f $WRKDIR

sudo rm -r -f $TMPDIR
sudo rm -r -f $TMPDIR-doc

######################################################
# Compile extension                                  #
######################################################

# Export variables needed for compilation

export CFLAGS="-O2 -pipe -march=i486 -mtune=i686"
export CXXFLAGS="-O2 -pipe -fno-exceptions -fno-rtti -march=i486 -mtune=i686"
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig

# Unpack source in current directory

tar -xf $SRCNAM


cd $WRKDIR

# Compile
mkdir $DESTDIR

make
make prefix=$DESTDIR/usr/local install

# Install in base temp dir

mkdir -p $TMPDIR/usr/local/bin

mv $DESTDIR/usr/local/bin/$EXTNAM $TMPDIR/usr/local/bin

# Delete compilation work directory

cd ..
rm -r -f $WRKDIR

# Add TC specific files


# Create symlinks

cd $TMPDIR/usr/local/bin

# Adjust directory access rigths

find $TMPDIR/ -type d | xargs chmod -v 755;

# Strip executables

find $TMPDIR | xargs file | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded

# Move files to doc extension

mkdir -p $TMPDIR-doc/usr/local/share/man/man1
# mkdir -p $TMPDIR-doc/usr/local/share/man/man8

mv $DESTDIR/usr/local/man/man1/tree* $TMPDIR-doc/usr/local/share/man/man1
# mv $DESTDIR/usr/local/share/man/man8/tree* $TMPDIR-doc/usr/local/share/man/man8

###################################################
# Create base extension in temp dir               #
###################################################

cd $TMPDIR
find $TMPDIR -perm 777 -exec chmod 755 {} \;
find $TMPDIR -perm 555 -exec chmod 755 {} \;
find $TMPDIR -perm 444 -exec chmod 644 {} \;
find $TMPDIR -perm 666 -exec chmod 644 {} \;
find $TMPDIR -perm 664 -exec chmod 644 {} \;
sudo chown -R root:root $TMPDIR
cd ..
mksquashfs $TMPDIR $EXTNAM.tcz
cd $TMPDIR
sudo sh -c "find usr -not -type d > $EXTNAM.tcz.list"
sudo mv ../$EXTNAM.tcz .

# Create md5 file

sudo sh -c "md5sum $EXTNAM.tcz > $EXTNAM.tcz.md5.txt"

# Cleanup temp directory

sudo rm -r -f usr

###################################################
# Create doc extension in temp dir                #
###################################################

cd $TMPDIR-doc
find $TMPDIR-doc -perm 777 -exec chmod 755 {} \;
find $TMPDIR-doc -perm 555 -exec chmod 755 {} \;
find $TMPDIR-doc -perm 444 -exec chmod 644 {} \;
find $TMPDIR-doc -perm 666 -exec chmod 644 {} \;
find $TMPDIR-doc -perm 664 -exec chmod 644 {} \;
sudo chown -R root:root $TMPDIR-doc
cd ..
mksquashfs $TMPDIR-doc $EXTNAM-doc.tcz
cd $TMPDIR-doc
sudo sh -c "find usr -not -type d > $EXTNAM-doc.tcz.list"
sudo mv ../$EXTNAM-doc.tcz .

# Create md5 file

sudo sh -c "md5sum $EXTNAM-doc.tcz > $EXTNAM-doc.tcz.md5.txt"

# Cleanup temp directory

sudo rm -r -f usr