You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
4.9 KiB
177 lines
4.9 KiB
7 years ago
|
#!/bin/bash
|
||
|
|
||
|
# general options
|
||
|
BUILDPLACE="/var/cache/pbuilder/build/"
|
||
7 years ago
|
USEPROC=yes
|
||
|
USEDEVPTS=yes
|
||
|
USEDEVFS=no
|
||
7 years ago
|
|
||
|
# the username and ID used by pbuilder, inside chroot. Needs fakeroot, really
|
||
|
BUILDUSERID=1234
|
||
|
BUILDUSERNAME=pbuilder
|
||
7 years ago
|
|
||
|
# make debconf not interact with user
|
||
|
export DEBIAN_FRONTEND="noninteractive"
|
||
|
DEBEMAIL=""
|
||
7 years ago
|
|
||
7 years ago
|
# for pbuilder debuild (sudo -E keeps the environment as-is)
|
||
|
BUILDSOURCEROOTCMD="fakeroot"
|
||
|
PBUILDERROOTCMD="sudo -E"
|
||
|
|
||
7 years ago
|
# this is necessary for running 'apt-ftparchive' in a hook script if required
|
||
|
EXTRAPACKAGES="$EXTRAPACKAGES apt-utils"
|
||
7 years ago
|
|
||
|
#APT configuration files directory
|
||
|
APTCONFDIR=""
|
||
|
|
||
7 years ago
|
# Set the PATH to be used inside pbuilder
|
||
7 years ago
|
export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin"
|
||
7 years ago
|
# Shell to be used inside pbuilder by commands like 'su'
|
||
7 years ago
|
export SHELL=/bin/bash
|
||
|
|
||
7 years ago
|
# 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
|
||
7 years ago
|
|
||
7 years ago
|
#-- 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
|