diff options
Diffstat (limited to 'build')
-rwxr-xr-x | build | 68 |
1 files changed, 68 insertions, 0 deletions
@@ -0,0 +1,68 @@ +#!/bin/bash + +# Script to facilitate building r-base binaries for CRAN in a chroot +# Matching CRAN sources must be in /etc/apt/sources.list of the chroot + +usage() +{ +echo "Usage: ./build [options] sourcepackage" +echo "Options:" +echo " -s, --skip Skip apt-get update/upgrade and pbuilder update" +} + +DIST=`lsb_release -cs` + +skip=false +while test -n "${1}"; do + case "$1" in + -s | --skip) + skip=true + shift + ;; + -*) + echo "Error: Unknown option: $1" >&2 + usage + exit 1 + ;; + *) # No more options + break + ;; + esac +done + +# Positional argument +if [ $# -lt 1 ]; then usage; exit 1; fi +pkg=$1 + +if ls $pkg-* 1> /dev/null 2>&1 +then + echo "Please check if sources from previous backport or build need to be cleaned up" + exit 1 +fi + +if [ "$skip" = false ] +then + apt-get update + apt-get upgrade +fi +apt-get build-dep $pkg +apt-get source $pkg + +# Move sources to $DIST directory to enable parallel builds +mkdir -p $DIST +mv $pkg\_* $DIST +mv $pkg-* $DIST + +cd $DIST/$pkg-* + +dpkg-buildpackage -B + +cd ../.. + +keep=false # We do not want to keep local sources for binary builds +# Clean sources from $DIST directory +if [ "$keep" = false ] +then + rm -f $DIST/$pkg\_*.{dsc,changes,diff.gz,tgz,tar.gz,tar.xz} + #rm -rf $DIST/$pkg-* # This removes e.g. r-base-core* debs which is not intended +fi |