Thursday 20 September 2018

[Feedback needed] New tool for proposed migration help

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEkD8wCvN9L2OcLX06AGlaQEyevacFAlujYQ4ACgkQAGlaQEye
vadFLw/+MOfLGN04RE89l6XbTWR0IhjL8sFwv5/DRbx8S3trICJDsQHPS+kIgfmD
wIPL/lSmHDUXgAgnANWlKr9IiKkglLYIScdiT5aULaBeMQycrxj6F4exN5mq8+ps
9NfocWKn0dvp1xGkHUxY9bdwYcP9E4RmDBoM8R3kFfXbIx4BliikbTENbQuXCYpf
XyrjDWm+ASez1U7Zh5sJagavzybYZPV4Zm8wwyUiDdbWbtX+zQzj/fLmN+9iYBNq
MIsd90RLJqrm+ryc6Mvg1IFG0yFFt6J3YpC8Xu1thECqG/E0XKTPc5zVAMbMT/b+
zarmU+N54xwiL3z5Nd0iVRAl67+5LLfo9ewD7KrgI96JBSWQix7khMd2JCTFm73i
UuA4mXjFj0fuGB9CRBGJmbOsoonPolKG5Alkx/kyngsj3ncUUJX9ORanEPY1Hyfl
m5j1FH9XZI/uquJU+9VLX8Je2GLZxDqQCtfq2/X+W5xDfUHzYtEswgo5fTfpJR14
wXGwYU8ohBdGDdnXEJUByHG1KZ6nGQIa/lF+/KLPXbrsZETvNG3yG+LQosbAs0XJ
mItipYjor2MtEBgUPf75TRL4Y4BGNKC+Kqj+uSQya7jeyy6/zkEhO0nm8kjGY2Ys
nndCAhls5ssQapN1chKHAwUzKwOm4XRbvIIqUhy/sTsaR2Q0NeQ=
=9FCP
-----END PGP SIGNATURE-----
Hi!

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
proposed?

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
planet.ubuntu.com. 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
     https://launchpad.net/ubuntu/+source/schleuder/3.2.2-1


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
     https://launchpad.net/ubuntu/+source/qesteidutil/0.3.1-0ubuntu4

$ ./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
    
https://launchpad.net/ubuntu/+source/android-platform-system-core/1:7.0.0+r33-2build1



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 <cyphermox@ubuntu.com>
Freenode: cyphermox, Jabber: mathieu.tl@gmail.com
4096R/65B58DA1 818A D123 0992 275B 23C2 CF89 C67B B4D6 65B5 8DA1