Thursday, 20 September 2018

[Feedback needed] New tool for proposed migration help



Lukasz and I wrote a new tool to attempt to help with proposed migration
(well, we did that at least a year ago). I just added it to
lp:ubuntu-dev-tools (apologies, this was done without much consultation
prior to this email). Now we need help to make this tool even better.
Your feedback is welcome.

Proposed migration is great work for new contributors wishing to work on
something, say, to get upload privileges in Ubuntu. The main problem is
that aside from figuring out how to collaborate with others looking at
the packages, handling the possible parallel work on the same packages,
how do you find out what to do about any particular package stuck in

That's why we wrote 'ubuntu-archive-assistant' (lp:ubuntu-dev-tools).
You can use a CLI command to check what packages are in proposed, and
what you can do to help them migrate. Obviously, this is far from
complete just yet given the large number of different things that could
block a package's migration, but I'm hoping it's already a fair way to
help users, and that more people can contribute and help making it better.

I blogged about it already[1] and the entry should already be visible on Here's essentially a copy of what I wrote on there as
usage examples...

Without any further options than "ubuntu-archive-assistant proposed", it
will list packages in -proposed (sorted by age, from oldest to newest)
and let you pick:

$ ./ubuntu-archive-assistant proposed
No source package name was provided. The following packages are blocked
in proposed:

(1) gnome-shell-extension-multi-monitors (Age: 338 days)
(2) node-is-glob (Age: 278 days)
(3) node-concat-with-sourcemaps (Age: 264 days)
(4) node-postcss (Age: 231 days)
(5) node-source-map (Age: 229 days)
(6) android-platform-system-core (Age: 226 days)
(7) libdigidocpp (Age: 226 days)
(8) qesteidutil (Age: 225 days)
(9) schleuder (Age: 218 days)
(10) ncbi-blast+ (Age: 216 days)
(11) node-postcss-filter-plugins (Age: 213 days)
(12) node-postcss-load-options (Age: 213 days)
(13) node-postcss-load-plugins (Age: 213 days)
(14) node-postcss-minify-font-values (Age: 213 days)
(15) node-postcss-load-config (Age: 209 days)
(16) live-config (Age: 207 days)
Page -1-. Press any key for next page or Q to select a package.
Which package do you want to look at? 9
Next steps for schleuder 3.2.2-1:
  Fix missing builds: amd64

If you specify which package you want to look at, it will give you the
specifics for that package:

$ ./ubuntu-archive-assistant proposed -s qesteidutil
Next steps for qesteidutil 0.3.1-0ubuntu4:
  Fix missing builds: amd64, arm64, armhf, i386, ppc64el, s390x

$ ./ubuntu-archive-assistant proposed -s android-platform-system-core
Next steps for android-platform-system-core 1:7.0.0+r33-2build1:
  Fix missing builds: amd64, arm64, armhf, i386

You can even get more information about the next steps for a package, by
enabling --verbose:

$ ./ubuntu-archive-assistant proposed -s live-config
Next steps for live-config 5.20180224:
  Fix unsatisfiable dependencies in live-config:

$ ./ubuntu-archive-assistant proposed --verbose -s live-config
live-config is not considered ✘
Next steps for live-config 5.20180224:
  Fix unsatisfiable dependencies in live-config:
    sysvinit-core | sysvinit (<< 2.88dsf-44) can not be satisfied on amd64 ✘
      sysvinit-core only exists in Debian ✘

We've covered the most common excuses (I think), and it will still need
work to integrate 'update-output-helper' and to generally "parse"
update_output.txt and get users more information, but I'm hoping more
eyes on the project will help improve it, and that it might already be
of some uses to people who want to see why their packages haven't
migrated yet.

So... Feedback welcome :)

Mathieu Trudel-Lapierre <>
Freenode: cyphermox, Jabber:
4096R/65B58DA1 818A D123 0992 275B 23C2 CF89 C67B B4D6 65B5 8DA1