]> mj.ucw.cz Git - libucw.git/blob - debian/mk
9f8718b6f5b0127a77d85140d13bdb0c073eb15c
[libucw.git] / debian / mk
1 #!/bin/bash
2 # A script for building of LibUCW packages
3 # (c) 2013--2014 Pavel Charvat <pchar@ucw.cz>
4
5 set -e
6 . debian/pkg-lib
7
8 function usage {
9         cat >&2 <<EOF
10 Usage: $0 <options>
11 Options:
12 --archonly              Build only binary packages
13 --cleanup               Cleanup temporary files when finished
14 --version=<ver>         Custom version number of resulting packages (default: autodetect from git-describe)
15 --abi-version=<ver>     Custom version number of the LibUCW's ABI (default: defined in ucw/default.cfg)
16 --gen-script=<script>   Custom script to postprocess
17 EOF
18         exit 1
19 }
20
21 function pkg-gen-debian {(
22         cd $BUILDDIR
23         echo "Configuring"
24         ./configure debian/config VER="$VER" TREEHASH="$TREEHASH" $CONF \
25                 PREFIX=/ \
26                 INSTALL_INCLUDE_DIR=/usr/include/libucw \
27                 INSTALL_DOC_DIR=/usr/share/doc/libucw/html \
28                 INSTALL_CONFIG_DIR=/usr/share/doc/libucw/examples/etc
29
30         echo "Creating debian/control"
31         build/genconf debian/control.in debian/control obj/config.mk
32
33         if [ -n "$GEN_SCRIPT" ] ; then
34                 echo "Executing $GEN_SCRIPT"
35                 $GEN_SCRIPT
36         fi
37
38         echo "Creating debian/changelog"
39         export EDITOR=true
40         CL=debian/changelog
41         rm -f $CL
42         dch --changelog=$CL --create --package=$PKG --newversion=$VER "Automatic release."
43         dch --changelog=$CL --release
44         sed -i '/Initial release/d' $CL
45 )}
46
47 ROOT="`pwd`"
48 PKG=libucw
49 ARCHONLY=
50 CLEANUP=
51 CONF=
52 GEN_SCRIPT=
53 while [ -n "$1" ] ; do
54         case "$1" in
55         --archonly)     ARCHONLY=1
56                         ;;
57         --cleanup)      CLEANUP=1
58                         ;;
59         --version=*)    PKGVER="${1:10}"
60                         ;;
61         --abi-version=*)CONF="$CONF UCW_ABI_SUFFIX=-${1:14}"
62                         ;;
63         --gen-script=*) GEN_SCRIPT="${1:13}"
64                         ;;
65         *)              usage
66                         ;;
67         esac
68         shift
69 done
70
71 pkg-git-version
72 pkg-git-checkout
73
74 echo $TREEVER >$BUILDDIR/UCW_VERSION
75 pkg-gen-debian
76 (cd $BUILDDIR && dpkg-buildpackage -rfakeroot -us -uc ${ARCHONLY:+"-B"})
77 [ -z "$ARCHONLY" ] || rm -f debian-tmp/*_all.deb
78 pkg-get-files debian-tmp/*.{deb,dsc,changes}
79
80 [ -z "$CLEANUP" ] || pkg-cleanup