+++ /dev/null
-#!/bin/bash
-set -e
-
-function echo_usage {
- echo "usage: mconfigure [options] <package>"
- echo " -o: old style build (not recommended"
- ./configure -h
-}
-
-function create_conf {
- if [ -f "debian/$paket.cmake" ]
- then
- echo "compile_type=CMAKE" > debian/$paket.conf
- elif [ -f "debian/$paket.build" ]
- then
- if [ -f "debian/$paket.cpp" ]
- then
- echo "compile_type=CPP" > debian/$paket.conf
- else
- echo "compile_type=ANY" > debian/$paket.conf
- fi
- else
- echo "compile_type=NONE" > debian/$paket.conf
- fi
-
- if [ -f "$paket.control" -a -f "$paket.cp" ]
- then
- echo "target_type=DEB" >> debian/$paket.conf
- else
- echo "target_type=FILE" >> debian/$paket.conf
- fi
- echo "$paket.conf created."
-}
-
-##############################################################################
-# Main program
-##############################################################################
-
-if [ ! -d debian ]
-then
- echo "run mconfigure in the project base directory with a debian directory in it!"
- exit 2
-fi
-
-configure=0
-configure_args="-i debian/tmp"
-while [ $OPTIND -le "$#" ]
-do
- if getopts "o" opt
- then
- case $opt in
- o) old_build=1
- ;;
- \?) $confirure_args="$configure_ars -$OPTARG"
- if [ $OPTARG="a" -o $OPTARG="C" -o $OPTARG="i" -o $OPTARG="v" ]
- then
- eval OPTIND=OPTIND+1
- $confirure_args="$configure_ars ${!OPTIND}"
- fi
- ;;
- :) echo "Option -$OPTARG requires an argument."
- echo_usage
- exit 3
- ;;
- esac
- else
- paket="${!OPTIND}"
- eval OPTIND=OPTIND+1
- fi
-done
-
-if [ -z "$paket" ]
-then
- echo_usage
- exit 4
-fi
-
-if [ ! -f debian/$paket.conf ]
-then
- # check if any files for $paket are present
- if ! ls debian/$paket.* 2>/dev/null
- then
- echo "$paket is no build target in this repository."
- exit 5
- fi
-
- # build conf file
- echo "$paket.conf missing. We create it ..."
- create_conf
-fi
-
-if [ ! -e configure ]
-then
- ln -s /usr/share/mbuild/configure .
-fi
-
-# clean build directory
-if [ "$compile_type" != "NONE" ]
-then
- if [ -e ~/build ]
- then
- rm -rf ~/build
- mkdir ~/build
- fi
- configure_args="$configure_args -d ~/build"
-fi
-
-# perform configure
-. debian/$paket.conf
-if [ -n "$old_build" ]
-then
- rm debian/$paket.conf
-fi
-
-if [ "$compile_type" != "NONE" ]
-then
- configure_args="$configure_args -b"
- if [ -n "$compile_dir" ]
- then
- configure_args="$configure_args -d $compile_dir"
- fi
- if [ -z "$compile_type" ]
- then
- echo "compile_type required in $paket.conf"
- exit 51
- fi
- configure_args="$configure_args -c $compile_type"
- if [ -z "$compile_target" ]
- then
- echo "compile_target required in $paket.conf"
- exit 52
- fi
- configure_args="$configure_args -e $compile_target"
-fi
-if [ "$target_type" == "FILE" ]
-then
- # no version needed
- configure_args="$configure_args -V"
-fi
-configure_args="$configure_args $paket"
-echo "Executing ./configure $configure_args ..."
-./configure $configure_args
-
-if [ "$compile_type" != "NONE" ]
-then
- if grep -- "-prepare" debian/$paket.build >/dev/null
- then
- echo "prepare in <paket>.build no longer supported. Use <paket>.prebuild"
- exit 6
- fi
- # sync build dir
- . debian/setenv.sh
- debian/rules sync
- make
-fi
-
-# pack prepare
-if [ "$target_type" == "DEB" ]
-then
- if [ ! -f debian/$paket.cp ]
- then
- echo "debian/$paket.cp missing for target type DEB"
- exit 9
- fi
- if [ ! -f debian/$paket.control ]
- then
- echo "debian/$paket.control missing for target type DEB"
- exit 10
- fi
-
- echo "PACK=binary" >> debian/rules.pre
- if grep "^Architecture: *all" debian/$paket.control >/dev/null
- then
- echo "arch = all" >> debian/rules.pre
- echo 'BINARY_INDEP = copy ../$(paket)_$(version)-$(build)_all.deb' >> debian/rules.pre
- else
- echo 'arch = ${DEB_HOST_ARCH}' >> debian/rules.pre
- echo "BINARY_ARCH = copy ../${paket}_$version-${build}_"'$(arch).deb' >> debian/rules.pre
- fi
- if ! [ -f debian/$paket.changelog ]
- then
- echo "changelog_source = debian/default.changelog" >> debian/rules.pre
- if [ -f debian/default.changelog ]
- then
- rm debian/default.changelog
- fi
- fi
-elif [ "$target_type" == "ZIP" ]
-then
- echo "PACK=zip" >> debian/rules.pre
- if [ ! -f debian/$paket.cp ]
- then
- echo "debian/$paket.cp missing for target type ZIP"
- exit 11
- fi
-elif [ "$target_type" == "FILE" ]
-then
- echo "PACK=version" >> debian/rules.pre
- if [ "$compile_type" != "ANY" ]
- then
- if [ -z "$compile_target" ]
- then
- echo "compile_target is needed for target_type FILE"
- exit 12
- fi
- echo "COMPILE_TARGET = $compile_target" >> debian/rules.pre
- if [ -n "$target_name" ]
- then
- echo "TARGET = $target_name" >> debian/rules.pre
- else
- echo "TARGET = $paket" >> debian/rules.pre
- fi
- fi
-else
- echo "Unknown target type: $target_type"
- exit 13
-fi
-
-# build package
-debian/rules pack
-
-