X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/projects.git/blobdiff_plain/41ce755310d9f8b1f2435b0254f838e68e50180b..4e9560e5d475437dbf5d8d0044d822b733f2d3e9:/tools/make/configure diff --git a/tools/make/configure b/tools/make/configure index c981fd5..cb61a75 100755 --- a/tools/make/configure +++ b/tools/make/configure @@ -9,8 +9,8 @@ function echo_usage { # to build a package you need ... # .co: checkout commands -# .cp: copy step -# .cpp (optional): commands to setup the C++ compile environment +# .cp (optional): copy step for package production +# .cpp.sh (optional): commands to setup the C++ compile environment if [ $# -lt 2 ] then @@ -18,3 +18,100 @@ then exit 1 fi +paket=$1 +build=$2 +ARCH="" +cpp_build=0 + +# checkout build utilities +if [ ! -d projects ]; then + git clone https://github.com/wagner-tech/projects/ +fi +ln -sf projects/tools/make/makefile . + +# check standard files +if [ ! -x $paket.co ] +then + echo "file $paket.co missing or not executable." + exit 1 +fi + +# clean dirs and check out +if [ -d src ] +then + echo "Shall I delete src dir? [y]/n" + read key + if [ "$key" != "n" ] + then + rm -rf src + fi +fi + +if [ -e $paket ] +then + rm -rf $paket +fi +rm *.stamp || true +rm make.pre || true + +mkdir -p src +cwd=$(pwd) + +# checkout +pushd src >/dev/null + ../$paket.co $build +popd >/dev/null + +# load util functions for C/C++ - build +if [ -f $paket.cpp.sh ] +then + cpp_build=1 + . projects/tools/make/c_configure.sh + . $paket.cpp.sh +fi + +# copy package control +control=$(find src -name $paket.control) +if [ -z "$control" ] +then + echo "warning: control file not found" + echo " this file is necessary for any package production." +else + sed "s/%BUILD%/$build/" $control |sed "s/%ARCH%/$ARCH/" >$paket.control + echo "$paket.control written." + + # extract version + version=$(grep Version $paket.control |sed "s/Version: //") +fi + +# check for copy file +copy=$(find src -name $paket.cp) +if [ -n "$copy" ] +then + ln -sf $copy . +else + echo "warning: file $paket.cp missing or not executable:" + echo " this file is necessary for any package production." +fi + +# check for postinst +postinst=$(find src -name $paket.postinst) +if [ -n "$postinst" ] +then + ln -sf $postinst . +fi + +# create generic make.pre, if not existing +if [ ! -f make.pre ] +then + cat >>make.pre <> make.pre +