# ---------------------------------------------------------------------------- #
## \file pbuilder.yml
## \author Sebastien Beaugrand
## \sa http://beaugrand.chez.com/
## \copyright CeCILL 2.1 Free Software license
# ---------------------------------------------------------------------------- #
stages:
- build
- package
- rbuild
- rpackage
- rxpackage
variables:
BUILD: Release
HDIR: ../hosts
RSYNC: >
rsync --checksum --delete -a -i
--exclude=*~
--exclude=build
--exclude=build-*
--exclude=__pycache__
--exclude=.git
--exclude=.svn
SSH: vagrant ssh -c
URI: example@ip
UPATH: /home/vagrant
build:
stage: build
script:
- mkdir -p build
- cd build
- test -z "$URL" || test -d $REPO || git clone $URL
- test -n "$URL" || test -d $REPO || $RSYNC -L .. $REPO
- test ! -d ../debian || test -d $REPO/debian || cp -r ../debian $REPO/
package:
stage: package
script:
- cd build
- >
tar czf ${REPO}_$VERSION.orig.tar.gz
--exclude=.git
--exclude=debian
--exclude=obj-x86_64-linux-gnu
--exclude=.pc
$REPO
- cd $REPO
- dpkg-buildpackage --no-sign
rbuild:
stage: rbuild
script:
- PROPATH=$(basename `readlink -f .`)
- $RSYNC ./ $URI:$UPATH/$PROPATH/
- $RSYNC ../makefiles $URI:$UPATH/
- cd $HDIR/$BHOST
- $SSH "cd $UPATH/$PROPATH && make BHOST=$BHOST BUILD=$BUILD build"
rpackage:
stage: rpackage
script:
- PROPATH=$(basename `readlink -f .`)
- cd $HDIR/$BHOST
- $SSH "cd $UPATH/$PROPATH && make BHOST=$BHOST BUILD=$BUILD package"
rxpackage:
stage: rxpackage
variables:
ARCH: arm64
script:
- PROPATH=$(basename `readlink -f .`)
- cd $HDIR/$BHOST
- test -n "$DIST" || DIST=`lsb_release -s -c 2>/dev/null`
- >
$SSH "cd $UPATH/$PROPATH/build &&
(test -f $UPATH/pbuilder/$DIST-$ARCH-base.tgz ||
pbuilder-dist $DIST $ARCH create
--extrapackages 'cmake debhelper-compat fakeroot pkg-config') &&
pbuilder-dist $DIST $ARCH ${PKG}_${VERSION}${REVISION}.dsc"