add hour to timestamp; don't build packages needlessly
[freeside.git] / bin / freeside-debian-releases.sh
1 #!/bin/bash
2
3 DISTRO="$1"
4 FS_VERSION="$2"
5 FS_REPO="$3"
6
7 if [[ $# -ne 3 ]]
8   then
9     echo "We need 3 arguments"
10     exit;
11 fi
12
13 DATE=`date +"%Y%m%d%H"`
14 DIR="/home/autobuild/packages/staging/freeside$FS_VERSION/$FS_REPO"
15 TARGET="/home/autobuild/public_html/freeside$FS_VERSION-$DISTRO-$FS_REPO"
16
17 if [ ! -d "$DIR" -a -d $TARGET ]; then
18
19 echo "Staging or Target directories do not exist"
20
21 fi
22
23 GIT_VERSION=`grep '^$VERSION' $DIR/freeside/FS/FS.pm | cut -d\' -f2`
24
25 # Clean configuration file
26 rm -fr $DIR/freeside/debian/freeside-ng-selfservice.conffiles
27
28 # Pull any changes
29 cd $DIR/freeside
30 git checkout -- debian/changelog
31
32 LOCAL=`git rev-parse FREESIDE_${FS_VERSION}_BRANCH`
33 REMOTE=`git ls-remote origin -h refs/heads/FREESIDE_${FS_VERSION}_BRANCH | cut -f1`
34
35 if [ $LOCAL = $REMOTE ]; then
36   echo "No new changes in git; aborting build."
37   exit #there's no new changes
38 fi
39 echo "New changes in git since last build; building new packages."
40
41 git pull
42 #STATUS=`git pull`
43
44 # Add the build information to changelog
45 if [ $FS_REPO != "stable" ]; then
46         dch -b --newversion $GIT_VERSION-$DATE "Auto-Build"
47 fi
48
49 # Using pbuilder and pdebuild in chroot instead of building directly : dpkg-buildpackage -b -rfakeroot -uc -us
50
51 pdebuild --pbuilderroot sudo --debbuildopts "-b -rfakeroot -uc -us" --buildresult $TARGET --architecture all -- --distribution $DISTRO  --basetgz /var/cache/pbuilder/$DISTRO.tgz
52
53 #--buildresult gets the file where it needs to be, may need to clean up DIR
54
55 cd $DIR && rm -f freeside_*
56 cd $TARGET && rm -f *.gz
57
58 apt-ftparchive -qq packages ./ >Packages
59 gzip -c Packages >Packages.gz
60 #bzip2 -c Packages >Packagez.bz2
61 apt-ftparchive -qq sources ./ >Sources
62 gzip -c Sources >Sources.gz
63 #bzip2 -c Sources >Sources.bz2
64 rm *bz2 || true
65 apt-ftparchive -qq release ./ >Release