In invirt-dev:
[invirt/packages/invirt-dev.git] / invirt-build-release
1 #!/bin/bash
2 distribution=hardy
3 svnuri="$(invirt-getconf svn.uri)"
4
5 set -e
6 if  [ $# -eq 0 ] ; then
7         echo " usage: invirt-build-release package_name [package_name [...]]"
8         exit 1
9 fi
10
11 for package; do
12     rm -rf build-release/$package
13     svn export $svnuri/trunk/packages/$package build-release/$package
14     cd build-release/$package
15     
16     eval $(perl -ne 'print if s/^(Version|Source|Distribution): /\1=/' \
17              <(dpkg-parsechangelog))
18     dpkg-buildpackage -us -uc -rfakeroot -S
19     cd ..
20     eval $(perl -ne 'print if s/^(Architecture): /\1=/' ${Source}_${Version}.dsc)
21     case $Architecture in
22       all)
23         sbuild -d $distribution --arch-all   ${Source}_${Version}.dsc;;
24       any)
25         sbuild -d $distribution --arch amd64 --arch-all ${Source}_${Version}.dsc
26         sbuild -d $distribution --arch i386  ${Source}_${Version}.dsc;;
27       *)
28         echo "invirt-build-release: arch '$Architecture' unimplemented" >&2
29         exit 1
30     esac
31
32     if ! svn ls $svnuri/package_tags/$Source >/dev/null 2>&1; then
33         svn mkdir $svnuri/package_tags/$Source \
34             -m "Create package tags directory"
35     fi
36     if ! svn ls $svnuri/package_tags/$Source/$Version >/dev/null 2>&1; then
37         svn cp $svnuri/trunk/packages/$package $svnuri/package_tags/$Source/$Version \
38             -m "Tag $Version of $Source"
39     else
40         echo "$(basename $0): tag already exists, not making again"
41     fi
42     
43     [ $Distribution = 'unstable' ] \
44         || echo "$(basename $0): warning: Distribution is $Distribution, script expects unstable"
45     changesfile=`pwd`/${Source}_*${Version}*.changes
46     for i in $changesfile; do
47         reprepro-env include unstable $i
48         reprepro-env copy stable unstable $(sed -ne 's/^Binary: //p' $i)
49     done
50     reprepro-env copy stable unstable $Source
51     
52     cd ..
53     rm -rf build-release/$package
54 done