Comment 2 for bug 475808

Revision history for this message
Michael Nelson (michael.nelson) wrote :

I played around with testing this on dogfood with the following test plan:

   0 Ensure that ~michael.nelson/+archive/pocketsphinx is private
   1 Upload a new version of pocketsphinx to ~michael.nelson/+archive/pocketsphinx
     that is for contrib component (Done). It will be overridden to main when
     published. Run ppa-run.sh.
   2 Wait for i386 build to build successfully (Done).
   3 in a harness (or the API if available), do the archive.syncSource()
     with binaries included, as shown in
     https://lp-oops.canonical.com/oops.py/?oopsid=1405B2440 and verify
     that it fails with the same traceback.
{{{
>>> ubuntu = getUtility(IDistributionSet)['ubuntu']
>>> ubuntu.main_archive
<Archive at 0xae2c10c>
>>> ubuntu.main_archive.title
u'Primary Archive for Ubuntu'
>>> primary_archive = ubuntu.main_archive
>>> myppa = getUtility(IPersonSet).getByName('michael.nelson').ppas[0]
>>> myppa.title
u'Pocketsphinx packages for karmic'
>>> karmic = ubuntu['karmic']
>>> ret_val = primary_archive.syncSource(from_archive=myppa, include_binaries=True, source_name='pocketsphinx', to_pocket='Security', to_series='karmic', version='0.5.1+dfsg1-0ubuntu1+ppa1')
}}}

although the test was invalid as I didn't have a private PPA the first time. But while going through this, I realised that the same fix needs to be done for the builds being included in the copy (see PackageUploadBuild.checkComponentAndSection()), and the test will need to be updated to test this also.

So, this won't land in 3.1.12, but I'll aim to land it first thing in the next release.