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/
slanga...@ubuntu.com                                     vor...@debian.org
#!/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

Attachment: signature.asc
Description: PGP signature

-- 
ubuntu-devel mailing list
ubuntu-devel@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

Reply via email to