#!/bin/bash # uppdev2deb # From a devel source tree, batch builds theide and creates .deb package # ###################################################################### #convert a path to absolute one rel2abs() { # make sure file is specified if [ -z "$1" ] then echo "$0 " return 1 fi # already absolute case if [ "${1:0:1}" = "/" ] || [ "$PWD" = "/" ] then ABS="" else ABS="$PWD" fi # loop thru path IFS="/" for DIR in $1 do if [ -n "$DIR" ] then if [ "$DIR" = ".." ] then ABS="${ABS%/*}" elif [ "$DIR" != "." ] then ABS="$ABS/$DIR" fi fi done IFS=":" echo $ABS return 0 } ###################################################################### echo echo "UPP STABLE2DEB BUILDER" echo "CopyRight(c) 2008 By Massimo Del Fedele" echo # checks for parameters if [ x"$1" = x -o x"$2" = x ] then echo "uppstable2deb " exit 1 fi #sets up source and dest folder names src=$(rel2abs $1) dst=$(rel2abs $2) #locates 'uppdeb' and 'idebuild' scripts uppdeb="`which uppdeb`" if [ x$uppdeb = x ] then # couldn't find it on path, just try on this script's path LSOF=$(lsof -p $$ 2>/dev/null | grep -E "/"$(basename $0)"$") uppdeb=$(echo $LSOF | sed -r s/'^([^\/]+)\/'/'\/'/1 2>/dev/null) uppdeb=$(dirname $uppdeb)/uppdeb fi if [ ! -f $uppdeb ] then echo "ERROR - Could not find 'uppdeb' script" echo "Please check if it's on current path" exit 1 fi idebuild="`which idebuild`" if [ x$idebuild = x ] then # couldn't find it on path, just try on this script's path LSOF=$(lsof -p $$ 2>/dev/null | grep -E "/"$(basename $0)"$") idebuild=$(echo $LSOF | sed -r s/'^([^\/]+)\/'/'\/'/1 2>/dev/null) idebuild=$(dirname $idebuild)/idebuild fi if [ ! -f $idebuild ] then echo "ERROR - Could not find 'idebuild' script" echo "Please check if it's on current path" exit 1 fi #checks if source folder is an upp folder for name in uppsrc Common examples tutorial reference bazaar do if [ ! -d $src/$name ] then echo "bad source folder '$src'" echo "missing '$src/$name' subfolder" exit 1 fi done #gets release number from uppsrc/ide/version.h release="`cat $src/uppsrc/ide/version.h`" release=${release#*\"} release=${release%%\"*} echo "building .deb for release $release" #creates a temporary folder for executable file outtmp="`mktemp -t -d uppstable2deb.XXXXXXX`" #build theide echo "building TheIDE......" $idebuild $src $outtmp/theide if [ $? = 0 ] then true else echo "Error building TheIDE" echo "Please check executables for errors" exit 1 fi #creates the deb package echo "Creating package......" $uppdeb $src $outtmp/theide-dev $dst $release result=$? #remove temporary folder rm -rf $outtmp