#!/bin/bash # Author: Johannes Ranke # Script to automate backporting for CRAN # Make sure the R version in ./backport is correctly set and the pbuilder chroot is updated usage() { echo "Usage: ./backport_others [options] squeeze|wheezy|jessie" echo "Options:" echo " -n Skip apt-get update/upgrade and pbuilder update" } update=true while getopts ":n" flag; do case $flag in n) update=false ;; \?) echo "Invalid option: -$OPTARG" >&2 ;; esac shift $((OPTIND-1)) done # Check for number of arguments if [ $# -lt 1 ]; then usage; exit 1; fi DIST=$1 # Update pbuilder chroot if [ "$update" = true ] then sudo -E pbuilder update fi # Validate distribution argument if [ $DIST != "squeeze" ] && [ $DIST != "wheezy" ] && [ $DIST != "jessie" ]; then usage; exit 1; fi export DIST # When doing a new repository, lattice, r-cran-mass and survival have to be # built first, then nlme and rmatrix, then the rest # Packages to backport to squeeze/wheezy/jessie (without rpy2): for i in lattice nlme rmatrix mgcv boot cluster codetools foreign kernsmooth r-cran-class r-cran-coda r-cran-spatial r-cran-nnet r-cran-mass rodbc rpart survival r-cran-littler rpy rkward r-cran-rjags; do ./backport -n $i $DIST done