#!/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