+++ /dev/null
--#!/bin/bash
--set -e
--
--function echo_usage {
-- echo "usage: configure <package> <revision> [options]"
-- echo " -b <branch-rev>"
-- echo " -a <arch>"
-- echo " -g <alternative repository>"
-- echo " -n : do not delete src dir"
--}
--
--# to build a package you need ...
--# <package>.co: checkout commands
--# <package>.cp (optional): copy step for package production
--# <package>.cpp.sh (optional): commands to setup the C++ compile environment
--
--if [ $# -lt 2 ]
--then
-- echo_usage
-- exit 1
--fi
--
--paket=$1
--build=$2
--shift 2
--ARCH=""
--cpp_build=0
--alt_repos=""
--delete_src=1
--
--while getopts ":a:b:g:n" opt; do
-- case $opt in
-- a) ARCH=$OPTARG
-- ;;
-- b) branch=$OPTARG
-- ;;
-- g) alt_repos="-g $OPTARG"
-- ;;
-- n) delete_src=0
-- ;;
-- \?) echo "Invalid option: -$OPTARG"
-- echo_usage
-- exit 1
-- ;;
-- :) echo "Option -$OPTARG requires an argument."
-- echo_usage
-- exit 1
-- ;;
-- esac
--done
--
--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 -a $delete_src -eq 1 ]
--then
-- rm -rf src
--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 $alt_repos $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 -L src -name $paket.control)
-build_number=${build#*_}
--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
- sed "s/%BUILD%/$build_number/" $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 -L 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 -L 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
--# mBuild make.pre script (auto generated)
--project = $paket
--COPY = ./$paket.cp
--MAKE_PRE
-- echo "make.pre written."
--fi
--
--# append version to make.pre
--echo "version = $version" >> make.pre
--echo "build = $build" >> make.pre
--