# ---------------------------------------------------------------------------- #
## \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"