package_trunk revision f9205242fea27450f6b17b1405ff4edeb779df46
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#!/bin/sh -e
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# Auto building script
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# for the Hets repository
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# c.prodescu@jacobs-university.de
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# Dependencies: hets-core dependencies, devscripts, subversion, ant,
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# openjdk-6-jdk
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync# VARIABLES
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_VERSION=0.98
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_REPO=https://svn-agbkb.informatik.uni-bremen.de/Hets/trunk
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_LIB_REPO=https://svn-agbkb.informatik.uni-bremen.de/Hets-lib/trunk
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncif [ -d $PWD/debian ]; then
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo Starting Hets debianize script
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncelse
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo No \"debian\" folder found.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo Bye.
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync exit
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfi
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#Macro handling
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncDIRNAME="`dirname "$0"`"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncPWD="`cd "$DIRNAME" && pwd`"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#getting revision number
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_REVISION=`svn info $HETS_REPO | tail -n6 | head -n1 | awk '{ print $2 }'`
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Revision detected: $HETS_REVISION
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#setting full version
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_FULL_VERSION="$HETS_VERSION"r"$HETS_REVISION"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#setting folder name
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_FOLDER=$PWD/hets-$HETS_FULL_VERSION
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Using folder $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#checking out latest Hets version
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncrm -rf $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Checking out $HETS_REPO ...
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsvn -q export $HETS_REPO $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#checking out latest Hets-lib
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Checking out $HETS_LIB_REPO ...
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncsvn -q export $HETS_LIB_REPO $HETS_FOLDER/hets-lib
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#checking out Hets-owl-tools and compiling jar files
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncHETS_OWL_TOOLS_FOLDER=$HETS_FOLDER/hets-owl-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Compiling Hets OWL Tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccd $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmake initialize_java 1>/dev/null 2>/dev/null
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccd ..
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmkdir -p $HETS_FOLDER/hets-owl-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccd $HETS_FOLDER/OWL2
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccp -r tests OWL*.jar $HETS_FOLDER/hets-owl-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccd ../..
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmkdir -p $HETS_FOLDER/hets-owl-tools/lib
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccp $HETS_FOLDER/OWL2/lib/*.jar $HETS_FOLDER/hets-owl-tools/lib
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmkdir -p $HETS_FOLDER/hets-hollight-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccp $HETS_FOLDER/HolLight/OcamlTools/*.ml $HETS_FOLDER/hets-hollight-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#copying OntoDMU and AProVE to hets-owl-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccp $HETS_FOLDER/CASL/Termination/AProVE.jar $HETS_FOLDER/hets-owl-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccp $HETS_FOLDER/DMU/OntoDMU.jar $HETS_FOLDER/hets-owl-tools
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#cleaning the svn/cvs folders
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Clearing svn/cvs folders
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccd $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncmake distclean 1>/dev/null 2>/dev/null
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncrm OWL2/java -rf
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncrm programatica
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncrm -rf GMP Search mini Lottery
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccd ..
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctar -xf programatica.tar.gz -C $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#creating orig.tar.gz
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Creating orig.tar.gz archive
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynctar -czf hets_$HETS_FULL_VERSION.orig.tar.gz hets-$HETS_FULL_VERSION
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#detecting distributions for which to build
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho "::Detecting distroseries"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncDISTROS=$PWD/debian/*
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncCOUNT=`echo $DISTROS | wc -w`
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho " $COUNT distributions found"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsynccount=0
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncfor DIST in $DISTROS
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdo
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync rm -rf $HETS_FOLDER
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync # incrementing count
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync count="`expr $count + 1`"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync # Packaging for each distroseries
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo "::Packaging for `basename $DIST` distroseries ($count/$COUNT)"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync # Unpacking orig.tar.gz archive
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync tar -xf hets_$HETS_FULL_VERSION.orig.tar.gz
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync # Copying debian folder
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo ::Creating debian folder and changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync cp -rf $DIST $HETS_FOLDER/debian
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync rm -rf $HETS_FOLDER/debian/.svn
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync # Creating the changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo "hets ($HETS_FULL_VERSION-1ubuntu$count) `basename $DIST`; urgency=low" > .changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo >> .changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo " * Initial release, automatically generated." >> .changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo >> .changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo " -- `cat changelog_name` <`cat changelog_email`> `date -R`" >> .changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync #merging changelogs
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync mv .changelog $HETS_FOLDER/debian/changelog
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo ::Starting package building and signing;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync cd $HETS_FOLDER;
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync debuild -S -sa
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync cd ..
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo ::Uploading package...
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync dput ppa:hets/hets hets_"$HETS_FULL_VERSION"-1ubuntu"$count"_source.changes
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync echo ::Done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncdone
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync#done
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsyncecho "::All $COUNT package(s) uploaded successfully"
b8e299dddd091ae24e0c08c45d91b8f937bd14d2vboxsync