summaryrefslogtreecommitdiffstats
path: root/debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc
diff options
context:
space:
mode:
Diffstat (limited to 'debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc')
-rw-r--r--debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc190
1 files changed, 158 insertions, 32 deletions
diff --git a/debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc b/debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc
index 04869a03b..81e7894c4 100644
--- a/debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc
+++ b/debian/_buildscripts/local/scripts/additional files/etc/pbuilderrc
@@ -1,53 +1,179 @@
-# this is your configuration file for pbuilder.
-# the file in /usr/share/pbuilder/pbuilderrc is the default template.
-# /etc/pbuilderrc is the one meant for editing.
-#
-# read pbuilderrc.5 document for notes on specific options.
-
-BASETGZ=/var/cache/pbuilder/base.tgz
-BUILDPLACE=/var/cache/pbuilder/build/
+#!/bin/bash
+
+# general options
+BUILDPLACE="/var/cache/pbuilder/build/"
USEPROC=yes
USEDEVPTS=yes
USEDEVFS=no
-BUILDRESULT=/var/cache/pbuilder/result/
+
+# the username and ID used by pbuilder, inside chroot. Needs fakeroot, really
+BUILDUSERID=1234
+BUILDUSERNAME=pbuilder
# make debconf not interact with user
export DEBIAN_FRONTEND="noninteractive"
DEBEMAIL=""
+
# for pbuilder debuild (sudo -E keeps the environment as-is)
BUILDSOURCEROOTCMD="fakeroot"
PBUILDERROOTCMD="sudo -E"
-# command to satisfy build-dependencies; the default is an internal shell
-# implementation which is relatively slow; there are two alternate
-# implementations, the "experimental" implementation,
-# "pbuilder-satisfydepends-experimental", which might be useful to pull
-# packages from experimental or from repositories with a low APT Pin Priority,
-# and the "aptitude" implementation, which will resolve build-dependencies and
-# build-conflicts with aptitude which helps dealing with complex cases but does
-# not support unsigned APT repositories
-PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends"
-
-#Command-line option passed on to dpkg-buildpackage.
-DEBBUILDOPTS=""
+# this is necessary for running 'apt-ftparchive' in a hook script if required
+EXTRAPACKAGES="$EXTRAPACKAGES apt-utils"
#APT configuration files directory
APTCONFDIR=""
-# the username and ID used by pbuilder, inside chroot. Needs fakeroot, really
-BUILDUSERID=1234
-BUILDUSERNAME=pbuilder
-
-# Set the debootstrap variant to 'buildd' type.
-DEBOOTSTRAPOPTS[0]='--variant=buildd'
-# Set the PATH I am going to use inside pbuilder: default is "/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
+# Set the PATH to be used inside pbuilder
export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
-
-# SHELL variable is used inside pbuilder by commands like 'su'; and they need sane values
+# Shell to be used inside pbuilder by commands like 'su'
export SHELL=/bin/bash
-# The name of debootstrap command.
-DEBOOTSTRAP="debootstrap"
+# default PKGNAME_LOGFILE
+PKGNAME_LOGFILE="__build__.log"
+
+#-- get desired distribution and architecture
+if [ "$DIST" = "" ]; then
+ DIST=$(lsb_release -cs)
+fi
+DISTRIBUTION=$DIST
+if [ "$ARCH" = "" ]; then
+ ARCH=$(dpkg --print-architecture)
+fi
+ARCHITECTURE=$ARCH
+
+if [ -n "$T" ]; then
+ if [ "${T##*-}" = "vm" ]; then
+ BUILD_VM="qemu"
+ T=${T%-vm}
+ fi
+ if [ "${T#*@}" = "$T" ]; then
+ DISTRIBUTION=${T%-*}
+ ARCHITECTURE=${T##*-}
+ else
+ DISTRIBUTION=${T%@*}
+ ARCHITECTURE=${T##*@}
+ fi
+ if [ "${DISTRIBUTION##*-}" = "backports" ]; then
+ BACKPORTS="yes"
+ DISTRIBUTION=${DISTRIBUTION%-backports}
+ fi
+fi
+
+BASETGZ="/var/cache/pbuilder/base-$DIST@$ARCH.tgz"
+
+#-- select apt components
+case "$DISTRIBUTION" in
+ sid|buster|stretch|jessie|wheezy|squeeze|lenny|etch|sarge)
+ COMPONENTS="main contrib non-free"
+ ;;
+
+ ceres|beowulf|ascii)
+ COMPONENTS="main"
+ DEBOOTSTRAPOPTS=(--variant=buildd --no-check-gpg)
+ EXTRAPACKAGES="$EXTRAPACKAGES devuan-keyring"
+ ;;
+
+ bionic|artful|zesty|yakkety|xenial|wily|vivid|utopic|trusty|saucy|raring|quantal|precise|oneiric|natty|maverick|lucid)
+ COMPONENTS="main restricted universe multiverse"
+ DEBOOTSTRAPOPTS=(--variant=buildd)
+ ;;
+
+ raspbian-jessie|raspbian-wheezy)
+ COMPONENTS="main contrib non-free"
+ DEBOOTSTRAPOPTS=(--variant=buildd --no-check-gpg)
+ ;;
+esac
+EXTRAPACKAGES="$EXTRAPACKAGES fakeroot apt-transport-https ca-certificates"
+
+#-- select base apt sources
+case "$DISTRIBUTION" in
+ sid|buster|stretch|jessie|wheezy)
+ MIRRORSITE=http://deb.debian.org/debian
+ ;;
+
+ squeeze|lenny|etch|sarge)
+ MIRRORSITE=http://archive.debian.org/debian
+ OTHERMIRROR="#deb http://archive.debian.org/backports.org $DISTRIBUTION-backports main contrib non-free"
+ ;;
+
+ ceres|beowulf|ascii)
+ MIRRORSITE=http://auto.mirror.devuan.org/merged
+ ;;
+
+ bionic|artful|zesty|yakkety|wily|vivid|trusty|precise)
+ if [ "$ARCHITECTURE" = "amd64" ] || [ "$ARCHITECTURE" = "i386" ]; then
+ MIRRORSITE=http://archive.ubuntu.com/ubuntu
+ else
+ MIRRORSITE=http://ports.ubuntu.com
+ fi
+ ;;
+
+ xenial)
+ if [ "$ARCHITECTURE" = "amd64" ] || [ "$ARCHITECTURE" = "i386" ]; then
+ MIRRORSITE=http://archive.ubuntu.com/ubuntu
+ else
+ MIRRORSITE=http://ports.ubuntu.com
+ fi
+ OTHERMIRROR="deb $MIRRORSITE $DISTRIBUTION-updates $COMPONENTS"
+ ;;
+
+ utopic|saucy|raring|quantal|oneiric|natty|maverick|lucid)
+ MIRRORSITE=http://old-releases.ubuntu.com/ubuntu
+ ;;
+
+ raspbian-jessie|raspbian-wheezy)
+ MIRRORSITE=http://ftp.fi.muni.cz/pub/linux/raspbian/raspbian
+ ;;
+esac
+
+if [ -n "${ARCH}" ]; then
+ NAME="$NAME-$ARCH"
+ DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
+fi
+
+BUILDRESULT="/var/cache/pbuilder/$DISTRIBUTION/result/"
+
+APTCACHE="/var/cache/pbuilder/aptcache/$DISTRIBUTION/"
+if [ -n "$APTCACHE" ] && [ ! -d "$APTCACHE" ]; then
+ mkdir $APTCACHE
+fi
+if [ -z "$(stat -L --print "%d\n" $APTCACHE/. /var/cache/pbuilder/build/. | uniq -d)" ]; then
+ # apt cache for build on tmpfs is managed by hook scripts
+ BINDMOUNTS="${BINDMOUNTS} ${APTCACHE}"
+ APTCACHEHARDLINK=no
+ APTCACHE=""
+fi
# default PKGNAME_LOGFILE
PKGNAME_LOGFILE="__build__.log"
+
+#-- extra options
+DEBBUILDOPTS="-B"
+if [ "$ARCHITECTURE" == "amd64" ]; then
+ DEBBUILDOPTS="-b"
+fi
+if [ "${DISTRIBUTION#raspbian}" != "$DISTRIBUTION" ] && [ "$ARCHITECTURE" == "armhf" ]; then
+ DEBBUILDOPTS="-b"
+ DISTRIBUTION=${DISTRIBUTION#raspbian-}
+fi
+if [ -z "$DEB_SIGN_KEYID" ]; then
+ AUTO_DEBSIGN=${AUTO_DEBSIGN:-no}
+fi
+
+#-- choose dependency solver
+#-- apt is better if target distribution contains apt >= 1.4~beta3
+#-- aptitude is better if target distribution contains apt < 1.4~beta3
+case "$DISTRIBUTION" in
+ sid|buster|stretch|\
+ ceres|beowulf|ascii|\
+ bionic|artful|zesty)
+ PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-apt"
+ ;;
+
+ jessie|wheezy|squeeze|lenny|etch|sarge|\
+ raspbian-jessie|raspbian-wheezy|\
+ yakkety|xenial|wily|vivid|utopic|trusty|saucy|raring|quantal|precise|oneiric|natty|maverick|lucid)
+ PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-aptitude"
+ ;;
+esac