Skip to content
Commits on Source (64)
*.pyc
/deps.png
/debiman-piuparts-distill/debiman-piuparts-distill
......@@ -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.
......@@ -447,8 +452,9 @@ section, too, and will serve as defaults for all other sections
automatically selected default name) is located. The default is
'.'.
* "chroot-meta-auto" (global, section) is a file in the section
directory where the slave will store cached chroot meta data for
* "chroot-meta-auto" (global, section) is a file in
"chroot-meta-directory" (falling back to the section directory)
where the slave will store cached chroot meta data for
the reference target chroot in distupgrade tests. This speeds up
distupgrade tests since it avoids doing an empty upgrade test to
generate this data on-the-fly as part of each test. Cached data
......@@ -456,6 +462,9 @@ section, too, and will serve as defaults for all other sections
versions available in the chroot is detected earlier.
This is not set (and therefore not enabled) by default.
* "chroot-meta-directory" is the directory where "chroot-meta-auto"
stores the reference target chroot metadata.
* "upgrade-test-distros" is the space delimited list of
distributions the slave should use for testing upgrades
between distributions (i.e., Debian versions). Using "partial"
......
......@@ -10,8 +10,6 @@ Some stuff we might tackle during the bullseye development cycle:
- switch to python3 (that's actually a must)
- do an 1.0.0 release, it's about time since 10 years :)
- README_server.txt: rewrite style a bit more. its super easy to setup now!
- ==== piuparts.debian.org specific configuration
......
......@@ -54,31 +54,25 @@ depends = squeeze squeeze-backports
target-release = squeeze-backports-sloppy
[wheezy/updates]
uri = http://security.debian.org
depends = wheezy
[wheezy-updates]
depends = wheezy
[wheezy]
uri = http://archive.debian.org/debian
[wheezy-proposed-updates]
[wheezy/updates]
uri = http://archive.debian.org/debian-security
depends = wheezy
[wheezy-proposed]
uri = None
depends = wheezy wheezy/updates wheezy-updates wheezy-proposed-updates
candidates = wheezy wheezy/updates wheezy-proposed-updates
[wheezy-lts]
uri = None
depends = wheezy wheezy/updates
candidates = wheezy wheezy/updates
[wheezy-backports]
uri = http://archive.debian.org/debian
depends = wheezy wheezy/updates
target-release = wheezy-backports
[wheezy-backports-sloppy]
uri = http://archive.debian.org/debian
depends = wheezy wheezy-backports
target-release = wheezy-backports-sloppy
......@@ -87,26 +81,21 @@ target-release = wheezy-backports-sloppy
uri = http://security.debian.org
depends = jessie
[jessie-updates]
depends = jessie
[jessie-proposed-updates]
depends = jessie
[jessie-proposed]
uri = None
depends = jessie jessie/updates jessie-updates jessie-proposed-updates
candidates = jessie jessie/updates jessie-proposed-updates
[jessie-lts]
uri = None
depends = jessie jessie/updates
candidates = jessie jessie/updates
[jessie-backports]
uri = http://archive.debian.org/debian
depends = jessie jessie/updates
target-release = jessie-backports
[jessie-backports-sloppy]
uri = http://archive.debian.org/debian
depends = jessie jessie/updates jessie-backports
target-release = jessie-backports-sloppy
[stretch/updates]
uri = http://security.debian.org
......@@ -122,7 +111,8 @@ depends = stretch
uri = http://deb.debian.org/debian-debug
depends = stretch
[stretch-proposed]
# this is a full distro representing an upcoming (old-)stable point release
[stretch-next]
uri = None
depends = stretch stretch/updates stretch-updates stretch-proposed-updates
candidates = stretch stretch/updates stretch-proposed-updates
......@@ -131,6 +121,10 @@ candidates = stretch stretch/updates stretch-proposed-updates
depends = stretch stretch/updates
target-release = stretch-backports
[stretch-backports-sloppy]
depends = stretch stretch/updates stretch-backports
target-release = stretch-backports-sloppy
[buster/updates]
uri = http://security.debian.org
......@@ -146,11 +140,24 @@ depends = buster
uri = http://deb.debian.org/debian-debug
depends = buster
[buster-proposed]
# this is a full distro representing an upcoming (old-)stable point release
[buster-next]
uri = None
depends = buster buster/updates buster-updates buster-proposed-updates
candidates = buster buster/updates buster-proposed-updates
[buster-backports]
depends = buster buster/updates
target-release = buster-backports
[buster-backports-sloppy]
depends = buster buster/updates buster-backports
target-release = buster-backports-sloppy
[bullseye-proposed-updates]
depends = bullseye
[sid-debug]
uri = http://deb.debian.org/debian-debug
......
......@@ -29,6 +29,10 @@ case ${PIUPARTS_OBJECTS%%=*} in
log_debug
echo "docbookwiki docbookwiki/purge_books boolean true" | debconf-set-selections
;;
grub-pc)
log_debug
echo "grub-pc grub-pc/postrm_purge_boot_grub boolean true" | debconf-set-selections
;;
ifetch-tools)
log_debug
echo "ifetch-tools ifetch-tools/purge boolean true" | debconf-set-selections
......
......@@ -6,7 +6,7 @@ test "$PIUPARTS_PHASE" = "" || exit 0
if [ "$PIUPARTS_DISTRIBUTION" = "buster" ] || \
[ "$PIUPARTS_DISTRIBUTION" = "buster-proposed" ] ; then
[ "$PIUPARTS_DISTRIBUTION" = "buster-next" ] ; then
if [ -d /etc/init ]; then
rmdir --ignore-fail-on-non-empty -v /etc/init
......
#!/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
#!/bin/sh
set -e
log_debug() {
echo "Debug: piuparts exception for package $PIUPARTS_OBJECTS"
}
case ${PIUPARTS_OBJECTS} in
mediamate=None)
# removed after lenny
#574228: mediamate: package purge (after dependencies removal) fails
log_debug
apt-get -y install wwwconfig-common
;;
moodle-book=None|\
moodle-debian-edu-theme=None|\
moodle=None)
# fixed after squeeze, not in stable after squeeze
#678027: moodle: fails to purge - command ucf in postrm not found
log_debug
apt-get -y install ucf
;;
rt3.6-rtfm=None)
# removed after lenny
# fails to purge: rt3.6-rtfm.postrm: ucf: not found
log_debug
apt-get -y install ucf
;;
rt3.8-rtfm=None)
# removed after squeeze
# fails to purge: rt3.8-rtfm.postrm: ucf: not found
log_debug
apt-get -y install ucf
;;
torrentflux=None)
# removed after wheezy
#677061: torrentflux: fails to purge - command ucf in postrm not found
log_debug
apt-get -y install ucf
;;
esac
#!/bin/sh
set -e
log_debug() {
echo "Debug: piuparts exception for package $PIUPARTS_OBJECTS"
}
case ${PIUPARTS_OBJECTS} in
autotrust=None)
# removed after squeeze
# logrotate config references /var/log/autotrust/*.log
log_debug
touch /var/log/autotrust/dummy.log
;;
dancer-ircd=None)
# removed after wheezy
# logrotate config references /var/log/dancer-ircd/ircd.log
log_debug
touch /var/log/dancer-ircd/ircd.log
;;
dsyslog=None)
# removed after jessie
# logrotate config references /var/log/messages
log_debug
touch /var/log/messages
;;
fossology-scheduler-single=None)
# removed after squeeze
# logrotate config references /var/log/fossology/*.log
log_debug
chown root:root /var/log/fossology
touch /var/log/fossology/dummy.log
;;
fspd=None)
# removed after lenny
# logrotate config references /var/log/fspd/fspd.log, /var/log/fspd/xferlog
log_debug
touch /var/log/fspd/fspd.log
touch /var/log/fspd/xferlog
;;
gidentd=None)
# removed after lenny
# logrotate config references /var/log/gidentd.log
log_debug
touch /var/log/gidentd.log
;;
interchange=None)
# removed after wheezy
# logrotate config references /var/log/interchange/debug.log, /var/log/interchange/error.log, /var/log/interchange/makecat.log
log_debug
chown root:root /var/log/interchange
touch /var/log/interchange/debug.log
touch /var/log/interchange/error.log
touch /var/log/interchange/makecat.log
;;
mserv=None)
# removed after lenny
# logrotate config references /var/log/mserv/mserv.log
log_debug
touch /var/log/mserv/mserv.log
;;
nws=None)
# removed after lenny
# logrotate config references /var/log/nws/*.err, /var/log/nws/*.log
log_debug
touch /var/log/nws/dummy.err
touch /var/log/nws/dummy.log
;;
qwik=None)
# removed after lenny
# logrotate config references /var/log/qwik/*log
log_debug
touch /var/log/qwik/dummy.log
;;
smtpfeed=None)
# removed after lenny
# logrotate config references /var/log/smtpfeed.log
log_debug
touch /var/log/smtpfeed.log
;;
esac
......@@ -19,6 +19,11 @@ case ${PIUPARTS_OBJECTS%%=*} in
# allow testing of the fake essential packages
exit 0
;;
mediamate)
# removed after lenny
#574228: mediamate: package purge (after dependencies removal) fails
USED_DURING_PURGE="$USED_DURING_PURGE wwwconfig-common"
;;
phpbb3)
USED_DURING_PURGE="$USED_DURING_PURGE dbconfig-common"
;;
......
......@@ -10,8 +10,7 @@ log_debug() {
FORCEREMOVE=
if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy" ] || \
[ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy-proposed" ]
if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy" ]
then
case ${PIUPARTS_OBJECTS%%=*} in
......
......@@ -124,6 +124,9 @@ if [ "${PIUPARTS_DISTRIBUTION}" = "wheezy" ]; then
firmware-b43-lpphy-installer)
skip_distupgrade "#623703: download location no longer available"
;;
geoip-database-contrib)
skip_distupgrade "#885441: download location no longer available"
;;
nautilus-dropbox)
skip_distupgrade "#770402: downloads awfully slow, hangs during installation"
;;
......@@ -134,6 +137,9 @@ fi
if [ "${PIUPARTS_DISTRIBUTION}" = "jessie" ]; then
case ${PIUPARTS_OBJECTS%%=*} in
geoip-database-contrib)
skip_distupgrade "#885441: download location no longer available"
;;
steam)
skip_distupgrade "#772598: cannot preseed licence acceptance"
;;
......@@ -144,6 +150,16 @@ if [ "${PIUPARTS_DISTRIBUTION}" = "jessie" ]; then
fi
if [ "${PIUPARTS_DISTRIBUTION}" = "stretch" ]; then
case ${PIUPARTS_OBJECTS%%=*} in
geoip-database-contrib)
skip_distupgrade "#885441: download location no longer available"
;;
esac
fi
case ${PIUPARTS_OBJECTS%%=*}@${PIUPARTS_DISTRIBUTION} in
acgvision-agent@squeeze)
# removed after squeeze
......@@ -163,6 +179,11 @@ case ${PIUPARTS_OBJECTS%%=*}@${PIUPARTS_DISTRIBUTION} in
chef-server-api@wheezy)
skip_distupgrade "#681573: chef-solr: fails to install if policy-rc.d forbids to start services"
;;
console-setup-freebsd@*)
if [ "$(uname)" = "Linux" ]; then
skip_always "non-Linux package"
fi
;;
cpushare@wheezy)
# removed after wheezy
skip_distupgrade "#689885: Ships a folder in /var/run or /var/lock"
......@@ -171,6 +192,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"
......@@ -213,10 +241,6 @@ case ${PIUPARTS_OBJECTS%%=*}@${PIUPARTS_DISTRIBUTION} in
# removed after lenny
skip_distupgrade "modifies conffiles: /var/lib/mailreader/ads/debian/ad.cfg, /etc/mailreader/{main,server}.cfg"
;;
mediamate@lenny)
# removed after lenny
skip_distupgrade "#574228: package purge (after dependencies removal) fails"
;;
nessusd@lenny|\
harden-remoteaudit@lenny)
# removed after lenny
......@@ -240,14 +264,6 @@ case ${PIUPARTS_OBJECTS%%=*}@${PIUPARTS_DISTRIBUTION} in
# removed after squeeze
skip_distupgrade "#608646: cronjob exits with error after package removal"
;;
rt3.6-rtfm@lenny)
# removed after lenny
skip_distupgrade "fails to purge: rt3.6-rtfm.postrm: ucf: not found"
;;
rt3.8-rtfm@squeeze)
# removed after squeeze
skip_distupgrade "fails to purge: rt3.8-rtfm.postrm: ucf: not found"
;;
sdic-eijiro@lenny)
skip_distupgrade "requires a dictionary CD"
;;
......
......@@ -21,3 +21,19 @@ APT::Get::AllowUnauthenticated "true";
Acquire::Check-Valid-Until "false";
EOF
fi
if [ "$PIUPARTS_DISTRIBUTION" = "wheezy" ]; then
echo "Creating /etc/apt/apt.conf.d/unauthenticated-wheezy ..."
tee /etc/apt/apt.conf.d/unauthenticated-wheezy <<EOF
# The Release file is not getting updated.
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
......@@ -44,8 +44,7 @@ mark_for_purge()
}
if [ "$PIUPARTS_DISTRIBUTION" = "wheezy" ] || \
[ "$PIUPARTS_DISTRIBUTION" = "wheezy-proposed" ] ; then
if [ "$PIUPARTS_DISTRIBUTION" = "wheezy" ] ; then
mark_for_purge libdb4.8
......@@ -55,15 +54,14 @@ if [ "$PIUPARTS_DISTRIBUTION" = "wheezy" ] || \
fi
if [ "$PIUPARTS_DISTRIBUTION" = "jessie" ] || \
[ "$PIUPARTS_DISTRIBUTION" = "jessie-proposed" ] ; then
if [ "$PIUPARTS_DISTRIBUTION" = "jessie" ] ; then
mark_for_purge libdb5.1
fi
if [ "$PIUPARTS_DISTRIBUTION" = "stretch" ] || \
[ "$PIUPARTS_DISTRIBUTION" = "stretch-proposed" ] ; then
[ "$PIUPARTS_DISTRIBUTION" = "stretch-next" ] ; then
mark_for_purge libprocps3
mark_for_purge sysvinit
......@@ -77,7 +75,7 @@ if [ "$PIUPARTS_DISTRIBUTION" = "stretch" ] || \
fi
if [ "$PIUPARTS_DISTRIBUTION" = "buster" ] || \
[ "$PIUPARTS_DISTRIBUTION" = "buster-proposed" ] ; then
[ "$PIUPARTS_DISTRIBUTION" = "buster-next" ] ; then
mark_for_purge libcryptsetup4
mark_for_purge libprocps6
......
......@@ -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
......@@ -74,15 +84,23 @@ fi
if [ "$PIUPARTS_DISTRIBUTION" = "stretch" ]; then
# fakeroot:i386 in jessie shipped these with permissions 0775 (#826318)
for dir in /usr/share/man/nl /usr/share/man/nl/man1
do
test ! -d "$dir" || chmod -c g-w "$dir"
done
# debianutils in jessie shipped /usr/share/man/sl/*/ with mode 0775
find /usr/share/man/sl -type d -perm /020 -exec chmod -c g-w {} +
# fakeroot:i386 in jessie shipped /usr/share/man/**/ with mode 0775 (#826318)
if is_installed fakeroot ; then
find /usr/share/man -type d -perm /020 -exec chmod -c g-w {} +
fi
# 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" ]; then
if [ "$PIUPARTS_DISTRIBUTION" = "buster" ] || \
[ "$PIUPARTS_DISTRIBUTION" = "sid" -a "$PIUPARTS_DISTRIBUTION_PREV" = "stretch" ]; then
# libc-bin only upgrades pristine /etc/nsswitch.conf
if grep -q '^passwd:.*compat' /etc/nsswitch.conf ; then
......@@ -116,4 +134,10 @@ if [ "$PIUPARTS_DISTRIBUTION" = "buster" ]; then
chmod -c go-rx /var/lib/polkit-1
fi
#920760, wontfix, libpam-modules: does not ensure that pam-auth-update gets called after the package was configured
if ! grep -q mkhomedir /var/lib/pam/seen ; then
echo "Running pam-auth-update..."
pam-auth-update
fi
fi
......@@ -10,6 +10,8 @@ if [ -e /etc/apt/apt.conf.d/unauthenticated-lenny ]; then
exit 1
fi
############################################################################
if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy" ]; then
rm -fv /etc/apt/apt.conf.d/unauthenticated-squeeze
fi
......@@ -29,3 +31,37 @@ 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" = "jessie" ]; then
rm -fv /etc/apt/apt.conf.d/unauthenticated-wheezy
fi
if [ "$PIUPARTS_DISTRIBUTION_NEXT" = "wheezy" ]; then
echo "Creating /etc/apt/apt.conf.d/unauthenticated-wheezy ..."
tee /etc/apt/apt.conf.d/unauthenticated-wheezy <<EOF
# The Release file is not getting updated.
Acquire::Check-Valid-Until "false";
EOF
elif [ -e /etc/apt/apt.conf.d/unauthenticated-wheezy ]; then
echo "FAIL: /etc/apt/apt.conf.d/unauthenticated-wheezy 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
......@@ -56,6 +56,10 @@ case "$PIUPARTS_DISTRIBUTION_NEXT" in
CANDIDATES="$CANDIDATES mariadb-server-10.3"
CANDIDATES="$CANDIDATES postgresql-11"
;;
sid)
CANDIDATES="$CANDIDATES mariadb-server-10.3"
CANDIDATES="$CANDIDATES postgresql-11"
;;
esac
......
......@@ -194,7 +194,7 @@ esac
if [ "$FUSIONFORGE" = "yes" ]; then
case "$PIUPARTS_DISTRIBUTION" in
wheezy*|jessie|jessie/updates|jessie-updates|jessie-proposed-updates)
wheezy*|jessie|jessie/updates)
POSTGRESQL=yes
;;
*)
......
......@@ -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
......
#!/bin/sh
set -e
for libdir in /lib /usr/lib /lib/*-gnu* /usr/lib/*-gnu*
for prefix in / /usr/
do
for lib in "${prefix}lib" "${prefix}lib32" "${prefix}lib64" "${prefix}libx32"
do
test -d "$lib" || continue
test -L "$lib" && continue
for libdir in "$lib" "$lib"/*-gnu*
do
test -d "$libdir" || continue
for f in "$libdir"/*
do
test ! -d "$f" || continue
test -d "$f" && continue
test -L "$f" || continue
rl=$(readlink "$f")
test -n "${rl##/etc/alternatives/*}" || continue
if ! dpkg-query -S "$f" >/dev/null 2>&1
owned=0
dpkg-query -S "$f" >/dev/null 2>&1 && owned=1
if [ "$owned" = "0" ] && [ -L "/lib" ]
then
dpkg-query -S "${f#/usr}" >/dev/null 2>&1 && owned=1
fi
if [ "$owned" = "0" ]
then
case "$f" in
/lib/ld-lsb.so.?)
/lib/ld-lsb.so.?|\
/lib/ld-lsb-*.so.?)
# created by lsb-core
continue
;;
......@@ -23,6 +36,7 @@ do
continue
;;
/usr/lib/libfmpich.so.12|\
/usr/lib/libmpi_cxx.so.20|\
/usr/lib/libmpich.so.12|\
/usr/lib/libmpichcxx.so.12|\
/usr/lib/libmpichf90.so.12|\
......@@ -39,4 +53,6 @@ do
echo "UNOWNED SYMLINK $f -> $rl"
fi
done
done
done
done