Package: qa.debian.org Severity: wishlist Control: user qa.debian....@packages.debian.org Control: usertag -1 jenkins
Hi, first of all, thanks for all these chroot jobs, they are quiet handy. :) That said, I wonder if they would be even more useful if we could enable a bunch of debug options for apt. Failures like [0] are e.g. hard to reason about as-is as the info shown is about stuff which remained broken even after trying hard, while information about what was tried would be nice and probably more helpful to identify and fix the (initial) problem. The totally untested attached diff adds an array of those, which all just print (many) many lines on stderr (well, actually stdlog) but do not modify behaviour otherwise. There are others which could be interesting like showing how dpkg is called ( -o Debug::pkgDpkgPm=true ) and newer tricks like not downloading deb files ( -o Debug::pkgAcqArchive::NoQueue=true ), but they modify behaviour and would therefore need other changes and I am not sure if that would actually be worthed it, so just noting in case you want to dig deeper. Related, it might be interesting to store the /var/lib/dpkg/status file at various steps in the job (if that is even possible with jenkins). Setting up (especially the bigger cases) takes quiet a bit of time and traffic, while to reproduce some problems, all you need is the status file and "-o dir::state::status=/path/to/file -s". And while talking about reproducibility, a strategic grep -H '^Date:' /var/lib/apt/lists/*Release* after 'apt-get update's might help in figuring out what to tell snapshot.d.o to get the exact same data as used in the job. Best regards David Kalnischkies [0] https://jenkins.debian.net/job/chroot-installation_wheezy_install_developer_upgrade_to_jessie_aptdpkg_first/5/console
diff --git a/bin/chroot-installation.sh b/bin/chroot-installation.sh index 9e154e5..76e6df4 100755 --- a/bin/chroot-installation.sh +++ b/bin/chroot-installation.sh @@ -51,6 +51,14 @@ mount /proc -t proc /proc echo -e '#!/bin/sh\nexit 101' > /usr/sbin/policy-rc.d chmod +x /usr/sbin/policy-rc.d echo 'Acquire::http::Proxy "http://localhost:3128";' > /etc/apt/apt.conf.d/80proxy +cat > /etc/apt/apt.conf.d/80debug << APTEOF +# solution calculation +Debug::pkgDepCache::Marker "true"; +Debug::pkgDepCache::AutoInstall "true"; +Debug::pkgProblemResolver "true"; +# installation order +Debug::pkgPackageManager "true"; +APTEOF echo "deb-src $MIRROR $1 main" >> /etc/apt/sources.list apt-get update set +x
signature.asc
Description: Digital signature