+1 maintenance report

Steve Langasek steve.langasek at ubuntu.com
Fri May 29 05:14:37 UTC 2020


After roughly a week or so of the baton being passed between folks on +1
maintenance rotation, as of today the perl/re2/gdal/gsl/hdf5/qt/pdl/etc
transition has finally completed, comprising 416 packages (out of a total of
467 packages which were candidates) that have migrated as a group to the
release pocket.

My work on this over the last two days largely consisted of:

 - finagling autopkgtests to get them to pass with the correct triggers
 - rebuilding packages for several of the ancilliary transitions that had
   only been partially completed
 - rolling back r-cran-lwgeom in the archive because the new upstream
   version has regressed on s390x for reasons that are not altogether clear
   (git bisect points at a commit consisting of a wholesale import of a new
   vendored version of liblwgeom from postgis, and there my investigation
   stopped)
 - with my archive admin hat, removing a handful of riscv64 binaries from
   the release pocket which had regressed in buildability in -proposed as
   part of the transition
 - continuing to investigate the riscv64 build failure of atlas-ecmwf

I've also rebuilt libguestfs for a libyara transition, which should allow
that autohint from
https://people.canonical.com/~ubuntu-archive/proposed-migration/update_output.txt
to also complete.

That finishes all of the non-rust-related transitions that the autohinter
knows about; on the next run of proposed-migration,
https://people.canonical.com/~ubuntu-archive/proposed-migration/update_output.txt
should be a bit shorter and people may want to investigate why individual
packages there are stalled (for example, I just noticed libx86emu is an
soname transition, so triggered a no-change rebuild of hwinfo for that).

Also, I'm attaching the script I use locally for driving no-change rebuilds
for library transitions; perhaps others will find this useful, and perhaps
this can be cleaned up enough to be committed somewhere.

Things to hand off:

 - ntirpc has a library transition, but its sole reverse-dependency,
   nfs-ganesha, FTBFS and needs investigation.

 - golang-pretty-dev is dropped in -proposed, so packages need updating to
   golang-github-kr-pretty-dev.

 - nautilus-python has dropped python2 bindings, its revdeps need sorting

 - there are plenty of rust packages stuck in -proposed.  Unfortunately the
   rust packages we sync from Debian are not generally in a consistent state
   allowing migration (to Debian testing or to the Ubuntu release).  If
   someone takes a look at these, they will probably want to recommend
   removals of various leaf packages blocking transitions.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
#!/bin/sh

set -e

release=groovy
dry_run=false

while [ $# -gt 0 ]; do
	case $1 in
		--dry-run)
			dry_run=:
			;;
		*)
			if [ -z "$olddep" ]; then
				olddep=$1
			elif [ -z "$newdep" ]; then
				newdep=$1
			else
				echo "Unknown argument: $1"
				exit 1
			fi
			;;
	esac
	shift
done

sudo apt-get install wget ubuntu-dev-tools grep-dctrl devscripts equivs dput

echo "Transitioning $olddep -> $newdep"

oldre=$(echo "$olddep" | sed -e's/+/\\+/g')
newre=$(echo "$newdep" | sed -e's/+/\\+/g')

# don't include our own source package in the list of those needing rebuilds...
oursrc=$(grep-dctrl -n -sSource:Package -w -FPackage "$oldre" /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_"$release"_*Packages |head -n1)
for pkg in $(
	grep-dctrl -n -sSource:Package \( -w -FDepends "$oldre" \
		-o -w -FPre-Depends "$oldre" \) \
		-a '!' -X -FSource:Package "$oursrc" \
		/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_"$release"_*Packages \
		/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_"$release"-proposed_*Packages \
	| sed -e's/(.*)//' | sort -u)
do
	# special-casing when needed
	case $pkg in
		libguestfs)
			# broken, skip it for now.
			#continue
			;;
	esac

	if grep-dctrl -q -FSource:Package -X "$pkg" \
	              -a '!' -w -FDepends "$oldre" \
	              -a -w -FDepends "$newre" \
	              /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_"$release"-proposed_*Packages
	then
		echo "Package $pkg already fixed in $release-proposed."
		continue
	fi

	if proposed_ver=$(grep-dctrl -sVersion -n -FPackage -X "$pkg" /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_"$release"-proposed_*Sources)
	then
		echo "Package $pkg already present in $release-proposed (but not fixed)"
		if ! grep-dctrl -q -FSource:Package -X "$pkg" \
		                -a -FVersion -X "$proposed_ver" \
		                /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_$release-proposed_*Packages
		then
			echo " (Package $pkg not built in $release-proposed)"
			continue
		fi
	fi

	echo "Rebuilding $pkg"
	if $dry_run; then
		continue
	fi
	apt-get source $pkg
	build_failed=false
	(cd ${pkg}-*
	 dch -R "No-change rebuild against $newdep"
#	 dch -R "No-change rebuild for new GHC ABIs"
	 update-maintainer
	 dch -r -D "$release" ''
#	 sudo mk-build-deps -i -r -t 'apt-get --no-install-recommends -y'
	 debuild --no-lintian -S -nc
	) || build_failed=:

	if $build_failed; then
		rm -rf ${pkg}[-_]*
		continue
	fi
	dput ${pkg}*_source.changes
	rm -r ${pkg}[-_]*
done
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/ubuntu-devel/attachments/20200528/564028d8/attachment.sig>


More information about the ubuntu-devel mailing list