From eeaccbeddbaa2974406eb20cbb7beca3fb4a59f0 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Wed, 11 Jul 2018 23:38:32 +0900 Subject: DEB build scripts: several enhancements as follow: - major rework of update_repositories.sh script, which now supports multiple branches and provide better feedback to user. - added support for pre-built extra dependency packages. A user can now use Slavek Banko's binary packages instead of building the extra dependency locally. This removes a quite tedious process during the setup of the building environment. - bug fixes and more user friendly folder names. - improved README to cover the complete process until TDE installation. Special thanks to Gregory Guy for testing and feedback done so far. Signed-off-by: Michele Calgaro --- .../local/additional_files/etc/pbuilderrc | 176 +++++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 debian/_buildscripts/local/additional_files/etc/pbuilderrc (limited to 'debian/_buildscripts/local/additional_files/etc') diff --git a/debian/_buildscripts/local/additional_files/etc/pbuilderrc b/debian/_buildscripts/local/additional_files/etc/pbuilderrc new file mode 100644 index 000000000..fde052b35 --- /dev/null +++ b/debian/_buildscripts/local/additional_files/etc/pbuilderrc @@ -0,0 +1,176 @@ +#!/bin/bash + +# general options +BUILDPLACE="/var/cache/pbuilder/build/" +USEPROC=yes +USEDEVPTS=yes +USEDEVFS=no + +# 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" + +# this is necessary for running 'apt-ftparchive' in a hook script if required +EXTRAPACKAGES="$EXTRAPACKAGES apt-utils" + +#APT configuration files directory +APTCONFDIR="" + +# Set the PATH to be used inside pbuilder +export PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin" +# Shell to be used inside pbuilder by commands like 'su' +export SHELL=/bin/bash + +# 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 + +#-- 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 -- cgit v1.2.1