+++ /dev/null
-!1 PDF-Test
-
-Build cobol handout in r.320
-
-#|call script|!-rm -r suites/Projekte || true -!|
-!|test.util.CallScript|
-|call script|!- rm suites/Cobol_320.pdf || true -!|
-|call script|if ! [ -d suites/Projekte ]; then svn co http://wagnertech.de/svn/Projekte suites/Projekte/; fi|
-|call script|svn up -r 320 suites/Projekte|
-|call script|mkdir -p suites/Projekte/Kurse/Logo|
-|call script|cp etc/Newelements.jpeg etc/UmschlagNewElements.pdf etc/Newelements1.pdf etc/Newelements2.pdf etc/Newelements3.pdf suites/Projekte/Kurse/Logo|
-|call script|cp etc/.cm.ignore suites/Projekte/|
-|call script|cd suites/Projekte; mconfigure -o cobol|
-|call script|rm suites/Projekte/.cm.ignore|
-|call script|ls suites/Cobol_320.pdf|
-
-Build cobol handout in r.323
-
-!|test.util.CallScript|
-|call script|svn up -r 323 suites/Projekte/|
-|call script|cd suites/Projekte; mconfigure cobol|
+++ /dev/null
-<?xml version="1.0"?>
-<properties>
- <Edit>true</Edit>
- <Files>true</Files>
- <Properties>true</Properties>
- <RecentChanges>true</RecentChanges>
- <Refactor>true</Refactor>
- <Search>true</Search>
- <Test>true</Test>
- <Versions>true</Versions>
- <WhereUsed>true</WhereUsed>
-</properties>
+++ /dev/null
-!contents -R2 -g -p -f -h
+++ /dev/null
-<?xml version="1.0"?>
-<properties>
- <Edit/>
- <Files/>
- <Help></Help>
- <Properties/>
- <RecentChanges/>
- <Refactor/>
- <Search/>
- <Suite/>
- <Suites></Suites>
- <Versions/>
- <WhereUsed/>
-</properties>
+++ /dev/null
-.\" Manpage for mbuild.
-.\" Contact mail@wagnertech.de to correct errors or typos.
-.TH mbuild 7 "Jul 2018" GNU "WagnerTech Utilities"
-.SH NAME
-mbuild \- build system of WagnerTech UG
-.SH SYNOPSIS
-.B mbuild
-.SH DESCRIPTION
-.PP
-mbuild provides a simple build system based on make, git, subversion. The build process
-consists of 3 phases: configuration - compile - pack
-.TP
-configuration
-is done by the
-.B mconfigure
-script. The configuration step has the following tasks:
-
-Determination of version and build number. The version number can be set in a
-.B PAKET.changelog
-file, can be set by the -v option of
-.B mconfigure
-or be set by the project itself in the
-.B PAKET.prepare
-script. The build number is always taken from the CM system: With SVN it is the global version number, with
-GIT the build number is taken from the tag. On build a tag in the form project_version-build is expected. If not
-present a tag in the form v_version-build is searched. Verion may be 0.0 if set elsewhere.
-
-If a
-.B PAKET.prepare
-file is present in the debian directory, it is called.
-
-If a
-.B PAKET.build
-file is present in the debian directory, it is called with a -prepare parameter (deprecated).
-The current directory tree is rsync_ed to ~/build.
-
-If a
-.B PAKET.prebuild
-file is present in the debian directory, it is called in the ~/build directory.
-
-.TP
-compile
-To perform the compile step a
-.B PAKET.build
-script or a
-.B PAKET.cmake
-file is needed in the
-.B debian
-directory.
-.TP
-pack
-To perform the pack step a
-.B PAKET.cp
-script and a
-.B PAKET.control
-file are needed in the debian directory. If pre/post installation scripts
-are needed, these files must be also placed in the
-.B debian
-directory.
-
-A standard copyright file is included. An user defined file can be used by copying it to debian/copyright
-in the PAKET.prepare script.
-
-If files are present to be placed unter /etc a conffiles is creates to avoid changes made by the administrator.
-
-.SH FILES
-.TP
-PAKET.changelog
-Example:
-.br
-projects (0.2-%BUILD%) unstable; urgency=medium
- * Build in svn-Umgebung
- -- Michael Wagner <michael@wagnertech.de> Fr 10. Aug 22:54:48 CEST 2018
-.TP
-PAKET.prepare
-Any executable script file executed in configure step
-.TP
-PAKET.prebuild
-Any executable script file executed in configure step in the ../build directory
-.TP
-PAKET.build
-Any executable script file executing the build in the ../build directory
-.TP
-PAKET.cmake
-cmake file (CMakeLists.txt) for building C/C++ code. If a cross compile option is set in the mconfigure
-script, according definitions are included.
-.TP
-PAKET.cp
-An executable script file copying the artefacts to target paths preposed by $1:
-.br
-cp ../build/my_artefact $1/usr/bin/
-.TP
-PAKET.preinst PAKET.postint PAKET.prerm PAKET.postrm
-Optional pre/post installation scripts
-.TP
-PAKET.control
-Debian control file
-.PP
-These files are expected in a
-.B debian
-directory, placed below the projects main directory.
-.SH SEE ALSO
-make(1), mconfigure(1)
-.SH BUGS
-No known bugs.
-.SH AUTHOR
-Michael Wagner (michael@wagnertech.de)
-
+++ /dev/null
-.\" Manpage for mconfigure.
-.\" Contact mail@wagnertech.de to correct errors or typos.
-.TH mconfigure 1 "Aug 2018" "GNU" "WagnerTech Utilities"
-.SH NAME
-mconfigure \- interface to build system of WagnerTech UG
-.SH SYNOPSIS
-.B mconfigure
-[-cdpoV] [-a ARCH] [-C TOOLSET] [-v VERSION]
-.I paket
-.SH DESCRIPTION
-mconfigure builds the artefact
-.I paket.
-mconfigure has to be called in the projects base directory containing a directoty named
-.B debian,
-that contains the files described in
-.B mbuild(7).
-.SH OPTIONS
-.TP
--a ARCH
-A multiarch cross compile is issued
-.TP
--c
-select configuration step
-.TP
--C TOOLSET
-Defines the cross compile toolset. TOOLSET can either be an absolute path or a directory expected
-in the /opt/cross directory
-.TP
--d
-select compile step
-.TP
--p
-select pack step
-.TP
--o
-support old Debian 7 format
-.TP
--v VERSION
-set version to VERSION
-.TP
--V
-verion is set by the project in the prepare step. The environment variables
-.B version
-and
-.B build
-have to be added to the setenv.sh file in the debian directory.
-.PP
-If no steps are selected all steps are performed.
-.SH SEE ALSO
-mbuild(7): Overview description
-.SH BUGS
-No known bugs.
-.SH AUTHOR
-Michael Wagner (michael@wagnertech.de)
-
+++ /dev/null
-#!/bin/bash
-
-# util routines for a C/C++ - build
-
-function check_arch {
- case $1 in
- armel) ;;
- i386) ;;
- *) echo "unknown architecture $1"
- exit 1
- esac
-}
-
-function install_cpp_make {
-# $1: dir to install
-# $2 (opt): if set to "lib" the fPIC flag is added
-
- # find makefile
- if [ -f /usr/share/mbuild/cpp.make ]
- then
- makefile=/usr/share/mbuild/cpp.make
- elif [ -f $cwd/projects/tools/make/cpp.make ]
- then
- makefile=$cwd/projects/tools/make/cpp.make
- else
- echo "cannot find cpp makefile." >&2
- exit 1
- fi
- src=$(pwd);
- pushd $1
- if [ -f makefile ]; then rm makefile; fi
- if [ -L makefile ]; then rm makefile; fi
- if [ -f make.post ]; then rm make.post; fi
- ln -s $makefile makefile
- echo "SOURCE = \\" > make.pre
- for file in $(ls *.cpp)
- do
- echo " $file \\" >> make.pre
- done
- echo >> make.pre
- if [ "$DEB_HOST_ARCH" != "$DEB_BUILD_ARCH" ]
- then
- #cross compiling
- echo "PREFIX = $DEB_HOST_GNU_TYPE-" >> make.pre
- echo "SYSROOT = --sysroot=$HOME/cross" >> make.pre
- fi
-
- if [ "$ARCH" = "armel" ]
- then
- echo "CXX = arm-linux-gnueabi-g++" >> make.pre
- echo "CC = arm-linux-gnueabi-g++" >> make.pre
- echo "CXXFLAGS += -D_ARMEL" >> make.pre
- echo 'export PATH := /opt/eldk-5.0/armv5te/sysroots/i686-oesdk-linux/usr/bin/armv5te-linux-gnueabi/:/opt/eldk-5.0/armv5te/sysroots/i686-oesdk-linux/bin/armv5te-linux-gnueabi/:$(PATH)' >> make.pre
- else
- echo "CXXFLAGS += -std=c++0x" >> make.pre
- fi
-
- # compilation of libraries need fPIC flag
- if [ "$2" == "lib" ]
- then
- echo "CXXFLAGS += -fPIC" >> make.pre
- fi
-
- popd
-}
-
-function append_dependency_common {
-# common part of append_dependency and append_library
-# parameter:
-# $1: main directory
-# $2: dependency directory
-# $3: dependency artefact
-
- src=$(pwd)
- echo "DEPS += $3" >> $1/make.pre
- echo "$3:" >> $1/make.post
- echo " cd $src/$2 && make TARGET=$3" >> $1/make.post
-}
-
-function append_dependency {
-# adds another drectory, where a c++ compile is performed
- append_dependency_common $*
- echo "" >> $1/make.post
-}
-
-function add_include {
-# adds a include directory
-# parameter:
-# $1: main directory
-# $2: include dir
-
- src=$(pwd)
- echo "CXXFLAGS += -I$src/$2" >> $1/make.pre
-}
-
-function add_library {
-# adds a extern library
-# parameter:
-# $1: main directory
-# $2: library name (without l or lib )
-# $3: library path (optional)
-
- src=$(pwd)
- echo "EXTLIB += -l$2" >> $1/make.pre
- if [ -n "$3" ]
- then
- lib_path=$3
- if [ ${lib_path:0:1} != "/" ]
- then
- lib_path="$src/$lib_path"
- fi
- echo "LDFLAGS += -L$lib_path" >> $1/make.pre
- fi
-}
-
-function append_library {
-# same as append_dependency. In addition a include statement + a link to the library is added to "main directory"
-# parameter:
-# $1: main directory
-# $2: dependency directory
-# $3: dependency artefact
-
- append_dependency_common $*
- echo " ln -sf $src/$2/$3 ." >> $1/make.post
- echo "" >> $1/make.post
-
- echo "LDLIBS += $3" >> $1/make.pre
- echo "CXXFLAGS += -I$src/$2" >> $1/make.pre
-
-}
-
+++ /dev/null
-#!/bin/bash
-set -e
-
-function echo_usage {
- echo "usage: configure [options] <package>"
- echo "--- general options ---"
- echo " -h : print this info"
- echo "--- compile options ---"
- echo " -a <arch>"
- echo " -c <compile type: NONE|CPP|CMAKE|PDF|ANY> default: NONE"
- echo " -C <cross environment>"
- echo " -d <compile_dir>"
- echo " -e <compile_target>"
- echo "--- build target options ---"
- echo " -i : install dir. default: /, nec. for make install"
- echo " -n <target_name>: default: <package>"
- echo " -t <target_type: FILE|DEB|ZIP>, nec. for make pack"
- echo " -v : set version"
- echo " -V : version set by project"
-}
-
-function create_build {
- pushd $BUILD_DIR >/dev/null
- if [ "$compile_type" == "PDF" ]
- then
- echo "cd $compile_dir" > debian/$paket.build
- echo "make $compile_target" >> debian/$paket.build
- chmod 755 debian/$paket.build
- else
- echo "build for compile_type not implemented."
- exit 10
- fi
- popd >/dev/null
-}
-function cmake_check {
- pushd ../build >/dev/null
- # do checks
- if [ -e debian/$paket.build ]
- then
- echo "cmake is not compatible with other builds. Remove $paket.build"
- exit 1
- fi
- if [ -e debian/$paket.prebuild ]
- then
- echo "cmake is not compatible with other builds. Remove $paket.prebuild"
- exit 2
- fi
-
- if [ -n "$cross" ]
- then
- # inject cross toolset
- echo "set (CMAKE_MODULE_PATH $cross)" > CMakeLists.txt
- echo "include(toolset)" >> CMakeLists.txt
- cat debian/$paket.cmake >> CMakeLists.txt
- else
- cp debian/$paket.cmake CMakeLists.txt
- fi
-
- echo "make" > debian/$paket.build
- chmod 755 debian/$paket.build
- cmake .
- popd >/dev/null
-}
-function check_unversioned {
- # has to be called in the projects base directory
- # result: "M" in stdout or nothing
- set -e
-
- # check if build is running in a sandbox
- if ! [ -f .cm.ignore ]
- then
- # we create one
- echo ".cm.ignore" > .cm.ignore
- echo "debian.*" >> .cm.ignore
- echo "up.*" >> .cm.ignore
- fi
-
- # add auto created files to .cm.ignore
- if ! grep Makefile .cm.ignore >/dev/null ; then echo "Makefile" >>.cm.ignore; fi
- if ! grep configure .cm.ignore >/dev/null ; then echo "configure" >>.cm.ignore; fi
- if ! grep debian/rules .cm.ignore >/dev/null ; then echo "debian/rules" >>.cm.ignore; fi
- if ! grep debian/rules.pre .cm.ignore >/dev/null ; then echo "debian/rules.pre" >>.cm.ignore; fi
- if ! grep debian/setenv.sh .cm.ignore >/dev/null ; then echo "debian/setenv.sh" >>.cm.ignore; fi
- if ! grep debian/tmp .cm.ignore >/dev/null ; then echo "debian/tmp" >>.cm.ignore; fi
-
- project=$(pwd)
- project=${project##*/}
- pushd .. >/dev/null
- mCM $project -b -an > /dev/null
- wc=$(wc $project.batch)
- rm $project.batch
- if [ "${wc:0:1}" != "1" ]
- then
- echo "M"
- fi
- popd >/dev/null
-}
-
-function set_build {
- set -e
- if [ -e .svn ]
- then
- version="0.0"
- build=$(svnversion)
- build=${build/:/-}
- build="$build$(check_unversioned)"
- elif [ -e .git ]
- then
- tag=$(git describe --tags --match "${paket}_*" 2>/dev/null) || true
- if test -z "$tag"
- then
- # try generic "v_" tag
- tag=$(git describe --tags --match "v_*" 2>/dev/null) || true
- fi
- if test -z "$tag"
- then
- tag="0.0-0TOP"
- fi
- changes=$(check_unversioned)
- tag="$tag$changes"
- version=${tag##*_}
- version=${version%%-*}
- build=${tag##*-}
- else
- echo "No configuration system found. Cannot determine version."
- exit 3
- fi
-}
-
-function check_version {
- set -e
-
- vline=$(head -1 debian/$paket.changelog)
- vline=${vline%-*}
- clversion=${vline#*(}
- if [ $version = "0.0" ]
- then
- version=$clversion
- return
- fi
-
- # do no check on a modified git repos
- if [ "${build: -1}" == "M" ]
- then
- return
- fi
-
- if [ "$clversion" != $version ]
- then
- echo "version mismatch: git: $version, changelog: $clversion"
- exit 4
- fi
-}
-
-function add_sources {
- echo "Anz: $#"
- for suf in $*
- do
- find . -name "*.$suf" -exec echo " "{}" \\" >> make.pre \;
- done
- if [ $# -eq 2 ]
- then
- rm make.tmp || true
- find . -name "*.$2" -exec echo {} >> make.tmp \;
- while read line
- do
- echo " ${line/\.$2/\.$1} \\" >> make.pre
- done < make.tmp
- fi
-}
-
-##############################################################################
-# Main program
-##############################################################################
-
-install_dir="/"
-compile_type=NONE
-extern_build=0
-
-while [ $OPTIND -le "$#" ]
-do
- if getopts "ha:bc:C:d:e:i:n:t:v:V" opt
- then
- case $opt in
- h) echo_usage
- exit 0
- ;;
- a) ARCH=$OPTARG
- ;;
- b) extern_build=1
- ;;
- c) compile_type=$OPTARG
- ;;
- C) cross=$OPTARG
- ;;
- d) compile_dir=$OPTARG
- ;;
- e) compile_target=$OPTARG
- ;;
- i) install_dir=$OPTARG
- ;;
- n) target_name=$OPTARG
- ;;
- t) target_type=$OPTARG
- ;;
- v) optversion=$OPTARG
- ;;
- V) optversion="0.0"
- ;;
- \?) echo "Invalid option: -$OPTARG"
- echo_usage
- exit 5
- ;;
- :) echo "Option -$OPTARG requires an argument."
- echo_usage
- exit 6
- ;;
- esac
- else
- paket="${!OPTIND}"
- eval OPTIND=OPTIND+1
- fi
-done
-
-if [ -z "$paket" ]
-then
- echo_usage
- exit 7
-fi
-
-if [ -n "$ARCH" -a -n "$cross" ]
-then
- echo "invalid options: supply -a for multiarch or -C for explicit cross compile environment"
- exit 8
-fi
-
-if [ ! -e Makefile ]
-then
- ln -s /usr/share/mbuild/rules Makefile
-fi
-
-# delete changelog and control
-rm debian/changelog debian/control debian/README.debian debian/copyright 2>/dev/null || true
-
-# mconfigure builds 2 environment files: setenv.sh + rules.pre
-echo "paket=$paket" > debian/rules.pre
-echo "INSTALL_DIR=$install_dir" >> debian/rules.pre
-if [ -e debian/setenv.sh ]; then rm debian/setenv.sh; fi
-
-if [ -n "$cross" ]
-then
- if [ ${cross:0:1} != "/" ]
- then
- cross="/opt/cross/$cross"
- #export $cross
- fi
- if [ -f "$cross/setenv.sh" ]
- then
- . "$cross/setenv.sh"
- cp $cross/setenv.sh debian/setenv.sh
- fi
- if [ -z "$ARCH" ]
- then
- # determine architecture
- GNU_ARCH=${cross%-*} # assumed format: DEB_HOST_GNU_TYPE-g++version, e.g. arm-linux-gnueabihf-4.9
- GNU_ARCH=${GNU_ARCH##*/}
- arch_opt="-t $GNU_ARCH"
- fi
-fi
-
-if [ -n "$ARCH" ]
-then
- arch_opt="-a $ARCH"
-fi
-dpkg-architecture $arch_opt >> debian/setenv.sh
-
-echo "paket=$paket" >> debian/setenv.sh
-
-set_build
-if [ -z "$optversion" ]
-then
- check_version
-else
- version=$optversion
-fi
-echo "version=$version" >> debian/rules.pre
-echo "version=$version" >> debian/setenv.sh
-echo "build=$build" >> debian/rules.pre
-echo "build=$build" >> debian/setenv.sh
-
-# get repository name
-# tmp=$(pwd)
-# pwd=${tmp##*/}
-# pwd=${pwd,,*}
-# echo "pwd=$pwd" >> debian/rules.pre
-
-echo "building $paket with version/build=$version-$build"
-
-pushd debian >/dev/null
-# ./debian -------------------------------------
-
-ln -sf /usr/share/mbuild/rules .
-
-if [ -e tmp ]
-then
- rm -rf tmp
-fi
-
-# check for pre/post installation scripts
-if [ -f $paket.preinst ]
-then
- echo "add_inst_tgt += debian/tmp/DEBIAN/preinst" >> rules.pre
-fi
-if [ -f $paket.postinst ]
-then
- echo "add_inst_tgt += debian/tmp/DEBIAN/postinst" >> rules.pre
-fi
-if [ -f $paket.prerm ]
-then
- echo "add_inst_tgt += debian/tmp/DEBIAN/prerm" >> rules.pre
-fi
-if [ -f $paket.postrm ]
-then
- echo "add_inst_tgt += debian/tmp/DEBIAN/postrm" >> rules.pre
-fi
-
-# check for README.debian
-if [ -f $paket.README.debian ]
-then
- cp $paket.README.debian README.debian
-fi
-
-mkdir -p tmp/DEBIAN
-
-# add export to setenv.sh
-sed -i "s/^/export /" setenv.sh
-
-popd >/dev/null
-# ./. ---------------------------------------------
-
-# build prepare
-if [ -x debian/$paket.prepare ]
-then
- . debian/setenv.sh
- debian/$paket.prepare
-fi
-
-if [ "$compile_type" == "NONE" ]
-then
- echo "BUILD=nobuild" >> debian/rules.pre
-else
- echo "BUILD=build" >> debian/rules.pre
-
- if [ $extern_build -eq 1 ]
- then
- BUILD_DIR=~/build
- echo "BUILD_DIR=~/build" >> debian/rules.pre
- debian/rules sync
- fi
-
- # .build
- if [ "$compile_type" != "CMAKE" -a "$compile_type" != "ANY" ]
- then
- cp debian/rules.pre $BUILD_DIR/$compile_dir/make.pre
- pushd $BUILD_DIR/$compile_dir >/dev/null
- ln -sf /usr/share/mbuild/makefile .
- if [ -n "$sources_suffix" ]
- then
- echo "SOURCES = \\" >> make.pre
- for suf in $sources_suffix
- do
- find . -name "*.$suf" -exec echo " "{}" \\" >> make.pre \;
- done
- echo >> make.pre
- fi
- popd >/dev/null
- fi
-
- if [ "$compile_type" == "PDF" ]
- then
- pushd $BUILD_DIR/$compile_dir >/dev/null
- echo "SOURCES = \\" >> make.pre
- add_sources tex xml
- echo >> make.pre
- popd >/dev/null
- fi
- if [ -x debian/$paket.prebuild ]
- then
- pushd $BUILD_DIR >/dev/null
- . debian/setenv.sh
- debian/$paket.prebuild
- popd >/dev/null
- fi
- if ! [ -x debian/$paket.build -o -f debian/$paket.cmake ]
- then
- create_build
- fi
-
- # .cmake
- if [ -e debian/$paket.cmake ]
- then
- cmake_check
- fi
-fi
-
-
+++ /dev/null
-# Generic cpp makefile for mBuild build process
-
-# default parameters
-CC = $(PREFIX)g++
-CXX = $(PREFIX)g++
-
-include make.pre
-
-# All Target
-all: $(DEPS) $(SOURCE:%.cpp=%.o) $(TARGET)
-
-# Other Targets
-clean:
- -rm *.o
- -rm $(TARGET)
-
-.PHONY: all make.post
-
-%.a: $(SOURCE:%.cpp=%.o)
- ar r $(TARGET) *.o
-
-%.so: $(SOURCE:%.cpp=%.o) $(LDLIBS)
- echo $(PATH)
- $(CXX) -shared $(SYSROOT) -o $(TARGET) *.o $(LDFLAGS) $(LDLIBS) $(EXTLIB)
--include make.post
+++ /dev/null
-#!/bin/bash
-set -e
-
-if [ $# -ne 1 ]; then
- echo "usage: create-conffiles BASE_DIR"
- exit 1
-fi
-
-cd $1
-if [ -d etc ]
-then
- mkdir -p DEBIAN
- for files in $(find etc -type f); do
- echo "/$files" >> DEBIAN/conffiles
- done
-fi
-
+++ /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
-
-
+++ /dev/null
-#!/usr/bin/make -f
-
-# Generic rules for mBuild build process
-
-# defile default operations
-NOP = @echo "No operation for target $@"
-DEB = fakeroot dpkg-deb --build debian/tmp
-INSERT_BUILD = /usr/share/mbuild/insert_build.sh
-RSYNC_OPT = -av --exclude="build" --exclude="debian/tmp" --exclude="Packages" --exclude="*Aktuell" --exclude=".*"
-BUILD_DIR = .
-
-std_inst_tgt = debian/tmp/usr/share/doc/$(paket)/copyright debian/tmp/usr/share/doc/$(paket)/README.debian
-changelog_source = debian/$(paket).changelog
-
-include debian/rules.pre
-
-.PHONY: build
-
-default: $(BUILD)
-
-# Löschen aller kompilierten, erzeugten und nicht benötigten Dateien im Bauverzeichnis
-clean:
- -rm -rf debian/tmp
-
-# Bauen der kompilierten Programme und formatierten Dokumente aus den Quellen im Bauverzeichnis
-build: $(BUILD_DIR)/debian/$(paket).build sync
- cd $(BUILD_DIR) ; debian/$(paket).build
- # Build succeeded
-
-nobuild:
- # No build required
-
-install:
- debian/$(paket).cp $(INSTALL_DIR)
-
-pack: $(PACK)
- # packing succeeded
-
-# Bauen der kompilierten architekturabhängigen Programme aus den Quellen im Bauverzeichnis
-build-arch:
-
-# Bauen der architekturunabhängigen formatierten Dokumente aus den Quellen im Bauverzeichnis
-build-indep:
-
-# Installieren der Dateien in einen Verzeichnisbaum unterhalb des Verzeichnisses debian für jedes Binärpaket. Falls sie festgelegt wurden, hängen binary*-Ziele effektiv von diesem Ziel ab (optional)
-install:
-
-# Erstellen aller Binärpakete (effektiv ist dies die Kombination der binary-arch- und binary-indep-Ziele)
-binary: binary-arch binary-indep
-
-# Erstellen Architektur-abhängiger (Architecture: any) Binärpakete im übergeordneten Verzeichnis
-binary-arch: $(BINARY_ARCH)
-
-# Erstellen Architektur-unabhängiger (Architecture: all) Binärpakete im übergeordneten Verzeichnis
-binary-indep: $(BINARY_INDEP)
-
-version: $(BUILD_DIR)/$(TARGET)
- $(INSERT_BUILD) $(BUILD_DIR)/$(TARGET) $(build)
- cp $(BUILD_DIR)/*$(build)* ../
-
-$(BUILD_DIR)/$(TARGET): $(BUILD_DIR)/$(COMPILE_TARGET)
- cp $(BUILD_DIR)/$(COMPILE_TARGET) $(BUILD_DIR)/$(TARGET)
-
-$(BUILD_DIR):
- mkdir $(BUILD_DIR)
-
-sync: $(BUILD_DIR)
- rsync $(RSYNC_OPT) ./ $(BUILD_DIR)/
-
-copy: debian/$(paket).cp install
- create-conffiles debian/tmp
- touch debian/tmp
-
-../$(paket)_$(version)-$(build)_$(arch).deb:debian/tmp/DEBIAN/control $(std_inst_tgt) $(add_inst_tgt) debian/tmp
- $(DEB)
- mv debian/tmp.deb ../$(paket)_$(version)-$(build)_$(arch).deb
-
-debian/tmp/DEBIAN/control: debian/control debian/changelog
- dpkg-gencontrol
-
-debian/control: debian/$(paket).control
- sed "s/_DEB_HOST_ARCH/${DEB_HOST_ARCH}/" debian/$(paket).control > debian/control
-
-debian/changelog: $(changelog_source) debian/rules.pre
- sed "s/%BUILD%/$(build)/" $(changelog_source) > debian/changelog
-
-debian/tmp/usr/share/doc/$(paket)/changelog: debian/changelog
- mkdir -p debian/tmp/usr/share/doc/$(paket)
- cp debian/changelog debian/tmp/usr/share/doc/$(paket)/changelog
-
-debian/tmp/usr/share/doc/$(paket)/copyright: debian/copyright
- mkdir -p debian/tmp/usr/share/doc/$(paket)
- cp debian/copyright debian/tmp/usr/share/doc/$(paket)/copyright
-
-debian/tmp/usr/share/doc/$(paket)/README.debian: debian/README.debian
- mkdir -p debian/tmp/usr/share/doc/$(paket)
- cp debian/README.debian debian/tmp/usr/share/doc/$(paket)/README.debian
-
-debian/tmp/DEBIAN/preinst: debian/$(paket).preinst
- cp debian/$(paket).preinst debian/tmp/DEBIAN/preinst
-
-debian/tmp/DEBIAN/postinst: debian/$(paket).postinst
- cp debian/$(paket).postinst debian/tmp/DEBIAN/postinst
-
-debian/tmp/DEBIAN/prerm: debian/$(paket).prerm
- cp debian/$(paket).prerm debian/tmp/DEBIAN/prerm
-
-debian/tmp/DEBIAN/postrm: debian/$(paket).postrm
- cp debian/$(paket).postrm debian/tmp/DEBIAN/postrm
-
-debian/README.debian:
- echo "developed under:" > debian/README.debian
- cat /etc/issue >> debian/README.debian
- echo "Architecture: $(arch)" >> debian/README.debian
-
-debian/copyright:
- cp /usr/share/mbuild/copyright debian/copyright
-
-debian/default.changelog:
- @echo "$(paket) ($(version)-$(build)) unstable; urgency=medium" >debian/default.changelog
- @echo " * generated" >>debian/default.changelog
- @echo " -- Michael Wagner <michael@wagnertech.de> Thu, 11 Feb 2021 10:00:00 +0100" >>debian/default.changelog
-
-# Load project specification
--include rules.post
-
-