Initial commit.

This commit is contained in:
Cyteen 2018-02-19 13:02:59 +00:00
parent d8bc9a858e
commit 58fc12830d
1 changed files with 167 additions and 0 deletions

167
020_pbuilder.sh Normal file
View File

@ -0,0 +1,167 @@
apt-get install -y cowbuilder dh-golang ccache
DIST=ascii
DIST=$(lsb_release --short --codename)
ARCH=$(dpkg --print-architecture)
echo "DIST: " "${DIST}"
echo "ARCH: " "${ARCH}"
DEP_DIR=/srv/pbuilder/deps
HOOK_DIR=/srv/pbuilder/hook.d
mkdir -p ${DEP_DIR}
mkdir -p ${HOOK_DIR}
# Should probably use a containerized reprepro FIXME
cat > /etc/pbuilderrc << 'EOF'
set -x
# 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 overwriting defaults in
# the default template
#
# read pbuilderrc.5 document for notes on specific options.
# Codenames for Debian suites according to their alias. Update these when
# needed.
UNSTABLE_CODENAME="sid"
TESTING_CODENAME="buster"
STABLE_CODENAME="stretch"
STABLE_BACKPORTS_SUITE="$STABLE_CODENAME-backports"
UNSTABLE_DEVUAN="ceres"
TESTING_DEVUAN="beowulf"
STABLE_DEVUAN="ascii"
OLDSTABLE_DEVUAN="jessie"
OLDSTABLE_BACKPORTS_DEVUAN="$OLDSTABLE_DEVUAN-backports"
OLDSTABLE_PROPOSED_BACKPORTS_DEVUAN="$OLDSTABLE_DEVUAN-proposed-backports"
OLDSTABLE_PROPOSED_SECURITY_DEVUAN="$OLDSTABLE_DEVUAN-propsed-security"
OLDSTABLE_PROPOSED_UPDATES_DEVUAN="$OLDSTABLE_DEVUAN-proposed-updates"
OLDSTABLE_PROPOSED_DEVUAN="$OLDSTABLE_DEVUAN-proposed"
OLDSTABLE_SECURITY_DEVUAN="$OLDSTABLE_DEVUAN-security"
OLDSTABLE_UPDATES_DEVUAN="$OLDSTABLE_DEVUAN-updates"
STABLE_BACKPORTS_DEVUAN="$STABLE_DEVUAN-backports"
STABLE_PROPOSED_BACKPORTS_DEVUAN="$STABLE_DEVUAN-proposed-backports"
STABLE_PROPOSED_SECURITY_DEVUAN="$STABLE_DEVUAN-propsed-security"
STABLE_PROPOSED_UPDATES_DEVUAN="$STABLE_DEVUAN-proposed-updates"
STABLE_PROPOSED_DEVUAN="$STABLE_DEVUAN-proposed"
STABLE_SECURITY_DEVUAN="$STABLE_DEVUAN-security"
STABLE_UPDATES_DEVUAN="$STABLE_DEVUAN-updates"
TESTING_PROPOSED_SECURITY_DEVUAN="$TESTING_DEVUAN-propsed-security"
TESTING_PROPOSED_UPDATES_DEVUAN="$TESTING_DEVUAN-proposed-updates"
TESTING_PROPOSED_DEVUAN="$TESTING_DEVUAN-proposed"
TESTING_SECURITY_DEVUAN="$TESTING_DEVUAN-security"
TESTING_UPDATES_DEVUAN="$TESTING_DEVUAN-updates"
# List of Devuan suites.
DEVUAN_SUITES=(
$UNSTABLE_DEVUAN
$TESTING_DEVUAN
$STABLE_DEVUAN
$OLDSTABLE_BACKPORTS_DEVUAN
$OLDSTABLE_PROPOSED_BACKPORTS_DEVUAN
$OLDSTABLE_PROPOSED_SECURITY_DEVUAN
$OLDSTABLE_PROPOSED_UPDATES_DEVUAN
$OLDSTABLE_PROPOSED_DEVUAN
$OLDSTABLE_SECURITY_DEVUAN
$OLDSTABLE_UPDATES_DEVUAN
$STABLE_BACKPORTS_DEVUAN
$STABLE_PROPOSED_BACKPORTS_DEVUAN
$STABLE_PROPOSED_SECURITY_DEVUAN
$STABLE_PROPOSED_UPDATES_DEVUAN
$STABLE_PROPOSED_DEVUAN
$STABLE_SECURITY_DEVUAN
$STABLE_UPDATES_DEVUAN
$TESTING_PROPOSED_SECURITY_DEVUAN
$TESTING_PROPOSED_UPDATES_DEVUAN
$TESTING_PROPOSED_DEVUAN
$TESTING_SECURITY_DEVUAN
$TESTING_UPDATES_DEVUAN
"experimental" "unstable" "testing" "stable")
# List of Debian suites.
DEBIAN_SUITES=($UNSTABLE_CODENAME $TESTING_CODENAME $STABLE_CODENAME $STABLE_BACKPORTS_SUITE
"experimental" "unstable" "testing" "stable")
# List of Ubuntu suites. Update these when needed.
UBUNTU_SUITES=("xenial" "wily" "vivid" "utopic" "trusty")
# Mirrors to use. Update these to your preferred mirror.
DEBIAN_MIRROR="deb.debian.org"
UBUNTU_MIRROR="mirrors.kernel.org"
DEVUAN_MIRROR="pkgmaster.devuan.org"
# Optionally set a default distribution if none is used. Note that you can set
# your own default (i.e. ${DIST:="unstable"}).
#: ${DIST:="$(lsb_release --short --codename)"}
DIST="$(lsb_release --short --codename)"
# Optionally set the architecture to the host architecture if none set. Note
# that you can set your own default (i.e. ${ARCH:="i386"}).
#: ${ARCH:="$(dpkg --print-architecture)"}
ARCH="$(dpkg --print-architecture)"
echo "DIST: " "$DIST"
echo "ARCH: " "$ARCH"
NAME="$DIST"
if [ -n "${ARCH}" ]; then
NAME="$NAME-$ARCH"
DEBOOTSTRAPOPTS=("--arch" "$ARCH" "${DEBOOTSTRAPOPTS[@]}")
fi
BASETGZ="/var/cache/pbuilder/$NAME-base.tgz"
DISTRIBUTION="$DIST"
BUILDRESULT="/var/cache/pbuilder/$NAME/result/"
APTCACHE="/var/cache/pbuilder/$NAME/aptcache/"
BUILDPLACE="/var/cache/pbuilder/build/"
PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-gdebi"
CCACHEDIR=/var/cache/pbuilder/ccache
echo "DIST: " "$DIST"
echo "ARCH: " "$ARCH"
if $(echo ${DEVUAN_SUITES[@]} | grep -q $DIST); then
# Devuan configuration
MIRRORSITE="http://${DEVUAN_MIRROR}/merged/"
COMPONENTS="main contrib non-free"
elif $(echo ${DEBIAN_SUITES[@]} | grep -q $DIST); then
# Debian configuration
MIRRORSITE="http://$DEBIAN_MIRROR/debian/"
COMPONENTS="main contrib non-free"
if $(echo "$STABLE_CODENAME stable" | grep -q $DIST); then
OTHERMIRROR="$OTHERMIRROR | deb $MIRRORSITE $STABLE_BACKPORTS_SUITE $COMPONENTS"
fi
elif $(echo ${UBUNTU_SUITES[@]} | grep -q $DIST); then
# Ubuntu configuration
MIRRORSITE="http://$UBUNTU_MIRROR/ubuntu/"
COMPONENTS="main restricted universe multiverse"
else
echo "Unknown distribution: $DIST"
exit 1
fi
OTHERMIRROR="deb [trusted=yes] file:///srv/pbuilder/deps ./"
BINDMOUNTS=/srv/pbuilder/deps
HOOKDIR=/srv/pbuilder/hook.d
EXTRAPACKAGES="apt-utils"
EOF
cat > ${HOOK_DIR}/D05deps << 'EOF'
#!/bin/bash
(cd /srv/pbuilder/deps; apt-ftparchive packages . > Packages)
apt-get update
EOF
#Update cow image on changes above
#DIST=${DIST} ARCH=${ARCH} git-pbuilder create --override-config --mirror http://pkgmaster.devuan.org
DIST=${DIST} ARCH=${ARCH} git-pbuilder create