Thursday 20 September 2018

Re: [Feedback needed] New tool for proposed migration help

On Thu, Sep 20, 2018 at 4:58 AM Mathieu Trudel-Lapierre
<cyphermox@ubuntu.com> wrote:
>
> 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.

cool!

however, looking at the commit, it appears it's totally isolated and
uses none of the common code from ubuntutools/

that's unfortunate and some of what you've done duplicates what's
already under ubuntutools/, and some has better alternatives to how
you implemented it.

For example, your MIRReview.get_source_package is already implemented
at ubuntutools/archive.py, with much better (i.e. not using apt-cache
call-out) binary->source resolution. Calling out to apt-cache won't
work right if the binary->source mapping is different for the target
release than your locally running release. Likewise in
ProposedMigration.get_source_package() and .get_pkg_archive_path().
The .package_in_distro() method callout to madison does text
processing, but archive.py has a full already-json-parsed Madison
class to do all that for you.

In LaunchpadInstance, i'm not clear why you override the default
launchpad_dir (~/.launchpadlb) with a subdir (~/.launchpadlib/cache)?
This will create a cache dir of
~/.launchpadlib/cache/api.launchpad.net/cache instead of the normal
~/.launchpadlib/api.launchpad.net/cache. In fact i'm not sure why you
need this class at all, instead of using what ubuntutools/ already
provides...

The URLRetrieverWithProgress class likewise is basically already
provided by ubuntutools/archive.py; and this class doesn't appear used
anywhere, either.

Thanks!

>
> 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
>
>
>
> --
> ubuntu-devel mailing list
> ubuntu-devel@lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel

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