← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~cjwatson/launchpad/multiarch-translations into lp:launchpad/db-devel

 

The proposal to merge lp:~cjwatson/launchpad/multiarch-translations into lp:launchpad/db-devel has been updated.

Description changed to:

I'm seeking review to merge this branch into db-devel.

Summary: https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-multiarch-next-steps requires that some clients start downloading Packages files for multiple architectures on 'apt-get update'.  As it stands, this will double users' bandwidth costs and time.

Proposed fix: Move the long descriptions from the Packages files (which are in practice common across architectures) out to the Translation-en file.  apt-ftparchive already knows how to do this with a configuration option, and apt-get already knows to fetch the Translation-* files, so all we need is a small change to Launchpad to start doing this for Ubuntu Oneiric and beyond.

Pre-implementation notes: I discussed this with William Grant, and agreed that we could follow much the same path as he took recently with the NotAutomatic flag for backports: add a new column to DistroSeries and make the new behaviour depend on that, so that we don't change older series.  He also suggested that I export DistroSeries.split_long_descriptions over the API so that we don't need SQL to change it for Oneiric.  William has allocated me a db patch number.

Tests: 'testr run -- -t archivepublisher; testr run -- -t soyuz' should cover it.  I adjusted lib/lp/archivepublisher/tests/test_ftparchive.py and its data to ensure that the correct apt.conf text is generated, and lib/lp/soyuz/scripts/tests/test_initialize_distroseries.py to ensure that split_long_descriptions is copied across initialising a new distroseries.

QA: On a dogfood Soyuz instance, use the API to set split_long_descriptions to True on a development distroseries of Ubuntu.  Perform a publisher run (either making a fake upload, or using the publish-distro.py -A option to force careful apt generation).  Make sure that long descriptions (everything after the first line) are written to Translation-en files in the output dists/ tree rather than to Packages files.  Set up a client-side apt instance to talk to this, run 'apt-get update', and make sure that 'apt-cache show some-package-name-in-the-archive' still shows a sensible long description.

lint: Nothing introduced by my branch as far as I can see.

For more details, see:
https://code.launchpad.net/~cjwatson/launchpad/multiarch-translations/+merge/67640
-- 
https://code.launchpad.net/~cjwatson/launchpad/multiarch-translations/+merge/67640
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~cjwatson/launchpad/multiarch-translations into lp:launchpad/db-devel.


References