#!/bin/bash
 
# Packager : Markus Muttilainen <stillborn.zenwalk@gmail.com>
#
# Packaging date : 23/04/2010
#
#package			: bootchart
#homepage			: http://www.bootchart.org
#source location                : http://switch.dl.sourceforge.net/project/bootchart/bootchart/0.9/bootchart-0.9.tar.bz2
#build time dependency: ant,jdk

set -u -x -e

#> log
(

softname='bootchart'
softversion='0.9'
salixver='1mm'
arch='noarch'
cpu='i686'

#>

buildir=$(pwd)
src="$buildir/$softname-$softversion"
srcpkg="$buildir/$softname-$softversion.tar.bz2"
package="$softname-$softversion-$arch-$salixver"
dest="$buildir/$package"
sources="http://people.salixos.org/stillborn/bootchart/sources/"
sourcetemplate="http://people.salixos.org/stillborn/bootchart"

#>

rm -rfv {$dest,$src,$package.{txz,src,dep,md5},pkgtree.log}
mkdir -p $dest/{install,etc,sbin,usr/{bin,doc/$softname-$softversion,share/applications,src/$softname-$softversion}}

#> prepare slack-desc
cat << EOF > $dest/install/slack-desc 
         |-----handy-ruler------------------------------------------------------|
$softname: $softname - (Boot Process Performance Visualization)
$softname:
$softname: Bootchart is a tool for performance analysis and visualization of
$softname: the GNU/Linux boot process. Resource utilization and process info
$softname: are collected during the boot and later rendered in a PNG, SVG, or
$softname: EPS encoded chart.
$softname: 
$softname: http://www.bootchart.org/
$softname:
$softname:
$softname:
EOF

#>

#> to download sources do 
#> wget -c -r -nd -np --accept=bz2,desktop,sh http://people.salixos.org/stillborn/bootchart/sources/

#> extract sources
# tar.gz : tar zxvf $srcpkg
# tar.bz2: tar xjvf $srcpkg
# tgz    : tar xzvf $srcpkg
cd $buildir
tar xjvf $srcpkg
cd $src	

chown -R root:root .

find . -perm 664 -exec chmod 644 {} \;
find . -perm 600 -exec chmod 644 {} \;
find . -perm 444 -exec chmod 644 {} \;
find . -perm 400 -exec chmod 644 {} \;
find . -perm 440 -exec chmod 644 {} \;
find . -perm 777 -exec chmod 755 {} \;
find . -perm 775 -exec chmod 755 {} \;
find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;

#> add docs, infos, ...
cp -av \
      COPYING ChangeLog INSTALL README README.logger TODO \
$dest/usr/doc/$softname-$softversion

ant 
sed -i -e 's?m"?m\ slim\ xdm"?' -e 's!frugalware-release!slackware-version!' script/"$softname"d
install -m 0755 script/"$softname"d $dest/sbin/"$softname"d
install -m 0755 $buildir/process-$softname.sh $dest/usr/bin/process-$softname.sh
install -m 0755 $softname.jar $dest/usr/bin/$softname.jar
install -m 0644 script/"$softname"d.conf $dest/etc/"$softname"d.conf.new
install -m 0644 $buildir/$softname.desktop $dest/usr/share/applications/$softname.desktop
install -m 0644 $buildir/doinst.sh $dest/install/doinst.sh

#> store buildscript 
install -m 0755 $buildir/build-$softname.sh $dest/usr/src/$softname-$softversion/build-$softname.sh

#> helperline
(cd $dest;find . -printf "%y %m %u:%g %p %l\n") >$buildir/pkgtree.log

#> do the actual salix package
(
cd $dest
/sbin/makepkg -l y -c n $dest.txz
)

#> prepare .src .md5
cd $buildir
/usr/bin/md5sum $package.txz > $package.md5
echo "jre|jdk" > $package.dep
echo $sourcetemplate/build-$softname.sh > $package.src
echo $sources\bootchart.desktop >> $package.src
echo $sources\process-bootchart.sh >> $package.src
echo $sources\doinst.sh >> $package.src
echo "http://switch.dl.sourceforge.net/project/bootchart/bootchart/0.9/bootchart-0.9.tar.bz2" >> $package.src

#>
rm -rf $src
rm -rf $dest


#> log
) 2>&1 | tee bootchart-build.log.txt
