Skip to content
Commits on Source (12)
......@@ -305,6 +305,11 @@ used for all further sections.
* "slave-count" is the number of concurrent slaves to start.
Default: "1".
* "slave-flush-interval" is an interval (in seconds) of processing a
section which has more queued work after that the slave will connect
to the master and flush pending logfiles before resuming the section.
Default: "0", i.e. disabled.
* "output-directory" is the directory where piuparts-report places
the logfiles, generated html files, charts, ... that can be
served by a webserver.
......
......@@ -58,7 +58,7 @@ target-release = squeeze-backports-sloppy
uri = http://archive.debian.org/debian
[wheezy/updates]
uri = http://security.debian.org
uri = http://archive.debian.org/debian-security
depends = wheezy
[wheezy-lts]
......
#!/bin/sh
set -e
log_debug() {
echo "Debug: piuparts exception for package $PIUPARTS_OBJECTS"
}
is_installed()
{
local pkg="$1"
dpkg-query -s "$pkg" >/dev/null 2>&1 || return 1
local status="$(dpkg-query -W -f '${Status}' $pkg)"
test "$status" != "unknown ok not-installed" || return 1
test "$status" != "deinstall ok config-files" || return 1
return 0
}
# Skip while creating the reference chroot.
test "$PIUPARTS_PHASE" != "" || exit 0
if [ "$PIUPARTS_DISTRIBUTION" = "jessie" ]; then
if [ -h /etc/alternatives/javaws ] && ! is_installed openjdk-7-jre ; then
#775072 openjdk-7-jre: cleanup broken alternatives left by openjdk-6-jre: javaws, pluginappletviewer
log_debug
update-alternatives --remove javaws /usr/lib/jvm/java-6-openjdk/jre/bin/javaws
update-alternatives --remove pluginappletviewer /usr/lib/jvm/java-6-openjdk/jre/bin/pluginappletviewer
fi
fi
......@@ -171,6 +171,13 @@ case ${PIUPARTS_OBJECTS%%=*}@${PIUPARTS_DISTRIBUTION} in
# removed after lenny
skip_distupgrade "#523770: must use invoke-rc.d"
;;
dms-core@jessie|\
dms@jessie|\
dms-dr@jessie|\
dms-wsgi@jessie)
# fixed after jessie, not in stable after jessie
skip_distupgrade '#852519: fails to install: NZST FATAL: configuration file "/etc/postgresql/9.4/dms/postgresql.conf" contains errors'
;;
docbookwiki@lenny)
# removed after lenny
skip_distupgrade "unconditionally uses mysql-client during purge"
......
......@@ -21,3 +21,11 @@ APT::Get::AllowUnauthenticated "true";
Acquire::Check-Valid-Until "false";
EOF
fi
if [ "$PIUPARTS_DISTRIBUTION" = "jessie-backports" ]; then
echo "Creating /etc/apt/apt.conf.d/unauthenticated-jessie ..."
tee /etc/apt/apt.conf.d/unauthenticated-jessie <<EOF
# The Release file is not getting updated.
Acquire::Check-Valid-Until "false";
EOF
fi
......@@ -5,6 +5,16 @@ log_debug() {
echo "Debug: piuparts exception for package $PIUPARTS_OBJECTS"
}
is_installed()
{
local pkg="$1"
dpkg-query -s "$pkg" >/dev/null 2>&1 || return 1
local status="$(dpkg-query -W -f '${Status}' $pkg)"
test "$status" != "unknown ok not-installed" || return 1
test "$status" != "deinstall ok config-files" || return 1
return 0
}
# E: Could not perform immediate configuration on ...
rm -fv /etc/apt/apt.conf.d/piuparts-disable-immediate-configure
......@@ -80,6 +90,11 @@ if [ "$PIUPARTS_DISTRIBUTION" = "stretch" ]; then
test ! -d "$dir" || chmod -c g-w "$dir"
done
# git:i386 in jessie shipped /usr/share/locale/**/ with mode 0775
if is_installed git ; then
find /usr/share/locale -type d -perm /020 -exec chmod -c g-w {} +
fi
fi
if [ "$PIUPARTS_DISTRIBUTION" = "buster" ] || \
......
......@@ -29,3 +29,18 @@ elif [ -e /etc/apt/apt.conf.d/unauthenticated-squeeze ]; then
echo "FAIL: /etc/apt/apt.conf.d/unauthenticated-squeeze exists"
exit 1
fi
if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "stretch" ]; then
rm -fv /etc/apt/apt.conf.d/unauthenticated-jessie
fi
if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "jessie-backports" ]; then
echo "Creating /etc/apt/apt.conf.d/unauthenticated-jessie ..."
tee /etc/apt/apt.conf.d/unauthenticated-jessie <<EOF
# The Release file is not getting updated.
Acquire::Check-Valid-Until "false";
EOF
elif [ -e /etc/apt/apt.conf.d/unauthenticated-jessie ]; then
echo "FAIL: /etc/apt/apt.conf.d/unauthenticated-jessie exists"
exit 1
fi
......@@ -97,6 +97,18 @@ case ${PIUPARTS_OBJECTS%%=*} in
;;
esac
if [ "$PIUPARTS_DISTRIBUTION" = "jessie" ]; then
case ${PIUPARTS_OBJECTS%%=*} in
libjs-protoaculous)
#919917: yui-compressor: insufficient java dependency in jessie
log_debug
apt-get -y install default-jre-headless
;;
esac
fi
if [ "$PIUPARTS_DISTRIBUTION" = "wheezy" ]; then
case ${PIUPARTS_OBJECTS%%=*} in
......
......@@ -12,6 +12,7 @@ piuparts (0.99) UNRELEASED; urgency=medium
[ Andreas Beckmann ]
* piuparts.py:
- Add '--merged-usr' support when using debootstrap to create the chroot.
- Add '--distupgrade-to-testdebs-from DIR' as a shorthand for
'--bindmount DIR --testdebs-repo DIR --distupgrade-to-testdebs'.
* distros.conf:
......@@ -19,6 +20,13 @@ piuparts (0.99) UNRELEASED; urgency=medium
- jessie* has been partially archived/removed.
- Add buster-backports.
- Add bullseye-proposed-updates.
* piuparts.conf:
- Add section [sid-merged-usr], using --merged-usr. (Closes: #848968)
* piuparts-slave.py:
- New option "slave-flush-interval" to flush logs more frequently to the
master. Set to 30 minutes.
* scripts/{post_chroot_unpack,pre_distupgrade}_allow_unauthenticated:
- Disable Check-Valid-Until for jessie-backports.
* scripts/post_distupgrade_exceptions:
- Handle /var/lib/pam/seen stretch -> buster upgrade by running
pam-auth-update if needed. Workaround for #920760.
......
......@@ -148,6 +148,7 @@ flags-broken-symlinks =
[global]
basetgz-sections =
tarball/sid
tarball/sid-merged-usr
tarball/buster
tarball/stretch
tarball/jessie
......@@ -160,6 +161,7 @@ sections =
sid
sid-strict
sid-nodoc
sid-merged-usr
sid-broken-symlinks
testing2sid
stable2sid
......@@ -236,6 +238,7 @@ arch = @ARCH@
area = main
# the slave-count setting is for the slave(s)
slave-count = 4
slave-flush-interval = 1800
# 3600s = 1h
idle-sleep = 3600
max-tgz-age = 0
......@@ -259,6 +262,17 @@ upgrade-test-distros = sid
max-tgz-age = 259200
[tarball/sid-merged-usr]
piuparts-flags =
--merged-usr
%(flags-default)s
distro = None
upgrade-test-distros = sid
chroot-tgz = %(upgrade-test-distros)s-merged-usr_%(arch)s.tgz
# 3 days (60*60*24*3)
max-tgz-age = 259200
[tarball/buster]
piuparts-flags =
%(flags-default)s
......@@ -368,6 +382,17 @@ piuparts-flags =
distro = sid
[sid-merged-usr]
precedence = 5
description = + In --merged-usr environment.
json-sections = none
piuparts-flags =
--merged-usr
%(flags-default)s
distro = sid
chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
[sid-broken-symlinks]
precedence = 9
description = + Failing on broken symlinks.
......
......@@ -111,6 +111,8 @@ flags-broken-symlinks =
basetgz-sections =
tarball/sid/amd64
tarball/sid/i386
tarball/sid-merged-usr/amd64
tarball/sid-merged-usr/i386
tarball/buster/amd64
tarball/buster/i386
tarball/stretch/amd64
......@@ -131,6 +133,7 @@ sections =
sid/main
sid-plus/main
sid-rcmd/main
sid-merged-usr/main
sid-bl/main
sid-bl_i386/main
sid-ipi/main
......@@ -195,6 +198,7 @@ sections =
sid/contrib
sid-plus/contrib
sid-rcmd/contrib
sid-merged-usr/contrib
sid-bl/contrib
sid-bl_i386/contrib
sid-ipi/contrib
......@@ -259,6 +263,7 @@ sections =
sid/non-free
sid-plus/non-free
sid-rcmd/non-free
sid-merged-usr/non-free
sid-bl/non-free
sid-bl_i386/non-free
sid-ipi/non-free
......@@ -430,10 +435,11 @@ slave-directory = /srv/piuparts/slave
basetgz-directory = /srv/piuparts/slave/basetgz
output-directory = /srv/piuparts/htdocs
backup-directory = /srv/piuparts/backup
tmpdir = /tmp/piupartss
tmpdir = /srv/piuparts/tmp
chroot-meta-auto = reference-chroot-metadata.dat
slave-load-max = 20.5
idle-sleep = 1800
slave-load-max = 15.5
idle-sleep = 3600
slave-flush-interval = 1800
max-tgz-age = -1
max-reserved = 50
reschedule-old-count = 200
......@@ -442,7 +448,7 @@ expire-old-days = +15
reschedule-fail-count = 100
reschedule-fail-days = 5
expire-fail-days = +3
reschedule-untestable-days = 2
reschedule-untestable-days = 1
slave-count = 12
......@@ -476,6 +482,35 @@ components = main
max-tgz-age = 172800
[tarball/sid-merged-usr/amd64]
piuparts-flags =
--merged-usr
%(flags-default)s
distro = None
upgrade-test-distros = sid
arch = amd64
area = main
components = main
chroot-tgz = %(upgrade-test-distros)s-merged-usr_%(arch)s.tgz
# 60*60*24*2
max-tgz-age = 172800
[tarball/sid-merged-usr/i386]
piuparts-flags =
--merged-usr
%(flags-default)s
distro = None
upgrade-test-distros = sid
arch = i386
setarch = linux32
area = main
components = main
chroot-tgz = %(upgrade-test-distros)s-merged-usr_%(arch)s.tgz
# 60*60*24*2
max-tgz-age = 172800
[tarball/buster/amd64]
piuparts-flags =
%(flags-default)s
......@@ -886,6 +921,43 @@ area = non-free
reschedule-old-days = 60
[sid-merged-usr/main]
precedence = 30
description = + In --merged-usr environment.
piuparts-flags =
--merged-usr
%(flags-default)s
distro = sid
arch = amd64
area = main
components = main
chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
[sid-merged-usr/contrib]
precedence = 45
description = + In --merged-usr environment.
piuparts-flags =
--merged-usr
%(flags-default)s
depends-sections = sid-merged-usr/main sid-merged-usr/non-free
distro = sid
arch = amd64
area = contrib
chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
[sid-merged-usr/non-free]
precedence = 45
description = + In --merged-usr environment.
piuparts-flags =
--merged-usr
%(flags-default)s
depends-sections = sid-merged-usr/main sid-merged-usr/contrib
distro = sid
arch = amd64
area = non-free
chroot-tgz = %(distro)s-merged-usr_%(arch)s.tgz
[sid-bl/main]
precedence = 130
description = + Failing on broken symlinks.
......@@ -1278,7 +1350,7 @@ piuparts-flags =
%(flags-default)s
%(flags-start-stretch)s
%(flags-end-stretch)s
depends-sections = stretch/main
depends-sections = stretch/main stretch/contrib
distro = stretch/updates
arch = amd64
area = contrib
......@@ -1289,7 +1361,7 @@ piuparts-flags =
%(flags-default)s
%(flags-start-stretch)s
%(flags-end-stretch)s
depends-sections = stretch/main
depends-sections = stretch/main stretch/contrib
distro = stretch/updates
arch = amd64
area = non-free
......@@ -1584,7 +1656,7 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-jessie)s
depends-sections = jessie/main
depends-sections = jessie/main jessie/contrib
distro = jessie/updates
arch = amd64
area = non-free
......@@ -2320,7 +2392,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = squeeze/main
distro = squeeze-lts
arch = i386
......@@ -2336,7 +2407,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = squeeze/main squeeze2lts2wheezy/main squeeze2lts2wheezy/non-free
distro = squeeze-lts
arch = i386
......@@ -2351,7 +2421,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = squeeze/main squeeze2lts2wheezy/main squeeze2lts2wheezy/contrib
distro = squeeze-lts
arch = i386
......@@ -2367,7 +2436,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -2408,7 +2476,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -2449,7 +2516,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -2495,7 +2561,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -2541,7 +2606,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -2587,7 +2651,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = squeeze/main
distro = squeeze-backports
arch = amd64
......@@ -2602,7 +2665,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = squeeze/main squeeze2bpo2wheezy/main squeeze2bpo2wheezy/non-free
distro = squeeze-backports
arch = amd64
......@@ -2616,7 +2678,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-squeeze)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = squeeze/main squeeze2bpo2wheezy/main squeeze2bpo2wheezy/contrib
distro = squeeze-backports
arch = amd64
......@@ -2720,7 +2781,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-wheezy)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -2761,7 +2821,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -2774,7 +2833,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = wheezy2jessie/main wheezy2jessie/non-free
arch = amd64
area = contrib
......@@ -2787,7 +2845,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = wheezy2jessie/main wheezy2jessie/contrib
arch = amd64
area = non-free
......@@ -2801,7 +2858,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -2815,7 +2871,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = wheezy2jessie_i386/main wheezy2jessie_i386/non-free
arch = i386
setarch = linux32
......@@ -2829,7 +2884,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = wheezy2jessie_i386/main wheezy2jessie_i386/contrib
arch = i386
setarch = linux32
......@@ -2846,7 +2900,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
-i /usr/lib/dbus-1.0/dbus-daemon-launch-helper
arch = amd64
area = main
......@@ -2862,7 +2915,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
-i /usr/lib/dbus-1.0/dbus-daemon-launch-helper
depends-sections = wheezy2jessie-rcmd/main wheezy2jessie-rcmd/non-free
arch = amd64
......@@ -2878,7 +2930,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
-i /usr/lib/dbus-1.0/dbus-daemon-launch-helper
depends-sections = wheezy2jessie-rcmd/main wheezy2jessie-rcmd/contrib
arch = amd64
......@@ -2895,7 +2946,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
-i /usr/lib/dbus-1.0/dbus-daemon-launch-helper
arch = i386
setarch = linux32
......@@ -2912,7 +2962,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
-i /usr/lib/dbus-1.0/dbus-daemon-launch-helper
depends-sections = wheezy2jessie-rcmd_i386/main wheezy2jessie-rcmd_i386/non-free
arch = i386
......@@ -2929,7 +2978,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
-i /usr/lib/dbus-1.0/dbus-daemon-launch-helper
depends-sections = wheezy2jessie-rcmd_i386/main wheezy2jessie-rcmd_i386/contrib
arch = i386
......@@ -2946,7 +2994,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
--scriptsdir /etc/piuparts/scripts-sysvinit
arch = amd64
area = main
......@@ -2962,7 +3009,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
--scriptsdir /etc/piuparts/scripts-sysvinit
depends-sections = wheezy2jessie-sysv/main wheezy2jessie-sysv/non-free
arch = amd64
......@@ -2978,7 +3024,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
--scriptsdir /etc/piuparts/scripts-sysvinit
depends-sections = wheezy2jessie-sysv/main wheezy2jessie-sysv/contrib
arch = amd64
......@@ -2995,7 +3040,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
--scriptsdir /etc/piuparts/scripts-apt-first
arch = amd64
area = main
......@@ -3011,7 +3055,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
--scriptsdir /etc/piuparts/scripts-apt-first
depends-sections = wheezy2jessie-apt1st/main wheezy2jessie-apt1st/non-free
arch = amd64
......@@ -3027,7 +3070,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-wheezy)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
--scriptsdir /etc/piuparts/scripts-apt-first
depends-sections = wheezy2jessie-apt1st/main wheezy2jessie-apt1st/contrib
arch = amd64
......@@ -3213,7 +3255,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-jessie)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -3251,7 +3292,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -3264,7 +3304,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch/main jessie2stretch/non-free
arch = amd64
area = contrib
......@@ -3277,7 +3316,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch/main jessie2stretch/contrib
arch = amd64
area = non-free
......@@ -3293,7 +3331,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -3309,7 +3346,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch/main jessie3stretch/non-free
arch = amd64
area = contrib
......@@ -3325,7 +3361,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch/main jessie3stretch/contrib
arch = amd64
area = non-free
......@@ -3340,7 +3375,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -3354,7 +3388,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch_i386/main jessie2stretch_i386/non-free
arch = i386
setarch = linux32
......@@ -3368,7 +3401,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch_i386/main jessie2stretch_i386/contrib
arch = i386
setarch = linux32
......@@ -3385,7 +3417,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -3402,7 +3433,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch_i386/main jessie3stretch_i386/non-free
arch = i386
setarch = linux32
......@@ -3419,7 +3449,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch_i386/main jessie3stretch_i386/contrib
arch = i386
setarch = linux32
......@@ -3437,7 +3466,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -3452,7 +3480,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch-rcmd/main jessie2stretch-rcmd/non-free
arch = amd64
area = contrib
......@@ -3467,7 +3494,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch-rcmd/main jessie2stretch-rcmd/contrib
arch = amd64
area = non-free
......@@ -3484,7 +3510,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -3501,7 +3526,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch-rcmd/main jessie3stretch-rcmd/non-free
arch = amd64
area = contrib
......@@ -3518,7 +3542,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch-rcmd/main jessie3stretch-rcmd/contrib
arch = amd64
area = non-free
......@@ -3535,7 +3558,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -3551,7 +3573,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch-rcmd_i386/main jessie2stretch-rcmd_i386/non-free
arch = i386
setarch = linux32
......@@ -3567,7 +3588,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch-rcmd_i386/main jessie2stretch-rcmd_i386/contrib
arch = i386
setarch = linux32
......@@ -3585,7 +3605,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = i386
setarch = linux32
area = main
......@@ -3603,7 +3622,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch-rcmd_i386/main jessie3stretch-rcmd_i386/non-free
arch = i386
setarch = linux32
......@@ -3621,7 +3639,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie3stretch-rcmd_i386/main jessie3stretch-rcmd_i386/contrib
arch = i386
setarch = linux32
......@@ -3639,7 +3656,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -3654,7 +3670,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch-iri/main jessie2stretch-iri/non-free
arch = amd64
area = contrib
......@@ -3669,7 +3684,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-jessie)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
depends-sections = jessie2stretch-iri/main jessie2stretch-iri/contrib
arch = amd64
area = non-free
......@@ -3810,7 +3824,6 @@ piuparts-flags =
%(flags-default)s
%(flags-start-stretch)s
%(flags-end-stretch)s
--scriptsdir /etc/piuparts/scripts-debug-problemresolver
arch = amd64
area = main
components = main
......@@ -4175,7 +4188,6 @@ precedence = 80
description = + Testing two-stage upgrades with --install-recommends.
piuparts-flags =
--install-recommends
--fake-essential-packages ca-certificates
--upgrade-before-dist-upgrade
%(flags-default)s
%(flags-start-stretch)s
......@@ -4194,7 +4206,6 @@ precedence = 95
description = + Testing two-stage upgrades with --install-recommends.
piuparts-flags =
--install-recommends
--fake-essential-packages ca-certificates
--upgrade-before-dist-upgrade
%(flags-default)s
%(flags-start-stretch)s
......@@ -4213,7 +4224,6 @@ precedence = 95
description = + Testing two-stage upgrades with --install-recommends.
piuparts-flags =
--install-recommends
--fake-essential-packages ca-certificates
--upgrade-before-dist-upgrade
%(flags-default)s
%(flags-start-stretch)s
......
......@@ -101,6 +101,7 @@ class Config(piupartslib.conf.Config):
"arch": None,
"precedence": "1",
"slave-load-max": None,
"slave-flush-interval": 0,
},
defaults_section=defaults_section)
......@@ -359,15 +360,15 @@ class Section:
self._logger = logging.getLogger()
self._logger.setLevel(logging.DEBUG)
if int(self._config["max-reserved"]) > 0:
self._check_tarball()
self._slave = slave or Slave()
for rdir in ["new", "pass", "fail", "untestable", "reserved"]:
rdir = os.path.join(self._slave_directory, rdir)
if not os.path.exists(rdir):
os.mkdir(rdir)
self._slave = slave or Slave()
if int(self._config["max-reserved"]) > 0:
self._check_tarball()
def _throttle_if_overloaded(self):
global interrupted
......@@ -423,6 +424,8 @@ class Section:
max_tgz_age = int(self._config["max-tgz-age"])
min_tgz_retry_delay = int(self._config["min-tgz-retry-delay"])
ttl = 0
if max_tgz_age == 0:
ttl = 86400
needs_update = not os.path.exists(tgz)
if not needs_update and max_tgz_age > 0:
# tgz exists and age is limited, so check age
......@@ -439,6 +442,7 @@ class Section:
needs_update = True
logging.info("%s too old. Forcing re-creation" % tgz)
if needs_update:
self._slave.close()
create_chroot(self._config, tgz, self._config.get_start_distro())
ttl = min_tgz_retry_delay
self._tarball_wait_until = time.time() + ttl
......@@ -612,7 +616,7 @@ class Section:
def _process(self):
global interrupted
self._slave.close()
last_flush = time.time()
packagenames = set([x[0] for x in self._slave.get_reserved()])
packages_files = {}
......@@ -652,6 +656,11 @@ class Section:
self._throttle_if_overloaded()
if interrupted or got_sighup:
break
if int(self._config["slave-flush-interval"]):
if time.time() - last_flush > int(self._config["slave-flush-interval"]):
last_flush += 300 # throttle retries
if self._talk_to_master():
last_flush = time.time()
if not os.path.exists(self._get_tarball()):
logging.error("Missing chroot-tgz %s" % self._get_tarball())
break
......@@ -664,6 +673,7 @@ class Section:
def _test_package(self, pname, pvers, packages_files):
global old_sigint_handler
old_sigint_handler = signal(SIGINT, sigint_handler)
self._slave.close()
logging.info("Testing package %s/%s %s" % (self._config.section, pname, pvers))
......
......@@ -173,6 +173,11 @@ The tarball can be created with the '-s' option, or you can use one that *pbuild
*--log-level*='level'::
Display messages from loglevel LEVEL, possible values are: error, info, dump, debug. The default is dump.
*--merged-usr*::
When using debootstrap to create the chroot, use the '--merged-usr' option
to create a chroot with /bin, /lib, /sbin being symlinks to their /usr
counterparts.
*-m* 'url', *--mirror*='url'::
Which Debian mirror to use. The default is the first mirror named in _/etc/apt/sources.list_ or _http://deb.debian.org/debian_ if none is found. This option may be used multiple times to use multiple mirrors. Only the first mirror is used with *debootstrap*.
+
......
......@@ -193,6 +193,7 @@ class Settings:
self.minimize = False
self.debfoster_options = None
self.docker_image = None
self.merged_usr = False
# tests and checks
self.no_install_purge_test = False
self.no_upgrade_test = False
......@@ -1107,6 +1108,9 @@ class Chroot:
options.append("--keyring=%s" % settings.keyring)
if settings.eatmydata:
options.append('--include=eatmydata')
if settings.merged_usr:
options.append('--merged-usr')
else:
options.append('--no-merged-usr')
options.append('--components=%s' % ','.join(settings.debian_mirrors[0][1]))
if settings.arch:
......@@ -2797,6 +2801,11 @@ def parse_command_line():
"DOCKER-IMAGE for the testing environment, instead of "
"building a new one with debootstrap.")
parser.add_option("--merged-usr",
default=False,
action='store_true',
help="Create a --merged-usr chroot (if using debootstrap).")
parser.add_option("-m", "--mirror", action="append", metavar="URL",
default=[],
help="Which Debian mirror to use.")
......@@ -3026,6 +3035,7 @@ def parse_command_line():
settings.skip_minimize = False
settings.debfoster_options = opts.debfoster_options.split()
settings.docker_image = opts.docker_image
settings.merged_usr = opts.merged_usr
# tests and checks
settings.no_install_purge_test = opts.no_install_purge_test
settings.no_upgrade_test = opts.no_upgrade_test
......