#!/bin/sh
# test we are root
if [ "$USER" != "root" ] ; then
   echo "Run as root please, exiting." 
   exit 1                                                      
fi

###  tried 3 sets of compile flags with and without fno exceptions plus the other one
###     make --exits with error with below flags so NONE used
# export CC="gcc -flto -fuse-linker-plugin -mtune=generic -Os -pipe" 
# export CXX="g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe"
# export CXX="g++ -flto -fuse-linker-plugin -mtune=generic -Os -pipe \
#-fno-exceptions -fno-rtti" 
# export CC="gcc -flto -fuse-linker-plugin"
# export CXX="g++ -flto -fuse-linker-plugin"

L=libpipeline
USER=`cat /etc/sysconfig/tcuser`

LIST="submitqc5 compiletc libtool "
for Z in $LIST
    do 
    su -c "tce-load -i $Z" $USER
done

cd /tmp
su -c "/usr/local/bin/wget -nc -t 0 \
http://ftp.yzu.edu.tw/nongnu//libpipeline/libpipeline-1.4.0.tar.gz  \
libpipeline-1.4.0.tar.gz" $USER 

# sometimes for me, host DNS fails so kill script
if [ ! -f /tmp/libpipeline-1.4.0.tar.gz ] ; then 
echo "resolve host borked exitting now"
exit 1
fi


# we are root for rest of commands
tar zxvf $L-1.4.0.tar.gz
cd $L-1.4.0

# configure (help) already /usr/local
./configure 
make -j3
mkdir -p /tmp/$L
make install DESTDIR=/tmp/$L

# Strip executables
cd /tmp/$L
find . | xargs file | grep "executable"    | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | grep "not stripped" | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null

##############
cd /tmp
##############

# create dev
############
mkdir -p $L-dev/usr/local/lib
mv $L/usr/local/include $L-dev/usr/local
mv $L/usr/local/lib/pkgconfig $L-dev/usr/local/lib
mv $L/usr/local/lib/*.la $L-dev/usr/local/lib/
# la file is a file not an executable fix perm
chmod 644 $L-dev/usr/local/lib/*.la

# create doc
###########   
mkdir -p $L-doc/usr/local/share
mv $L/usr/local/share/man $L-doc/usr/local/share
	
# main 
######
rm -rf $L/usr/local/share

# TCZ them
#######
LIST2="$L $L-doc $L-dev"
for Z in $LIST2
do
	mksquashfs $Z $Z.tcz
	md5sum $Z.tcz > $Z.tcz.md5.txt
	cd $Z
	find usr -not -type d > /tmp/$Z.tcz.list
	cd /tmp
done

# create dep files
###################
echo "libpipeline.tcz" > libpipeline-dev.tcz.dep

# create info files let submitqc5 add size
###################
echo "Title:          libpipeline.tcz
Description:    a C library 
Version:        1
Author:         Colin Watson, Markus Armbruster
Original-site:  http://libpipeline.nongnu.org/
Copying-policy: GPL v3
Size:		
Extension_by:   gordons64
Tags:           libpipeline 
Comments:       C library for setting up and running pipelines of
                processes, dependency of man-db
                 

		Compiled for Corepure64 6.x
Change-log:     2015/07/07 First version
Current:        2015/07/07
" > libpipeline.tcz.info

echo "Title:          libpipeline-doc.tcz
Description:    man page for libpipeline
Version:        1
Author:         Colin Watson, Markus Armbruster
Original-site:  http://libpipeline.nongnu.org/
Copying-policy: GPL v3
Size:		
Extension_by:   gordons64
Tags:           libpipeline 
Comments:       man pages for this package

		Compiled for Corepure64 6.x
Change-log:     2015/07/07 First version
Current:        2015/07/07 
" > libpipeline-doc.tcz.info

echo "Title:          libpipeline-dev.tcz
Description:    dev files for libpipeline
Version:        1
Author:         Colin Watson, Markus Armbruster
Original-site:  http://libpipeline.nongnu.org/
Copying-policy: GPL v3
Size:		
Extension_by:   gordons64
Tags:           libpipeline 
Comments:       development files

		Compiled for Corepure64 6.x
Change-log:     2015/07/07 First version
Current:        2015/07/07 
" > libpipeline-dev.tcz.info

submitqc5
