Merge lp:~michael.nelson/launchpad/536700-present-packagebuilds-in-ppa-context into lp:launchpad/db-devel
| Status: | Merged | ||||
|---|---|---|---|---|---|
| Merged at revision: | 9485 | ||||
| Proposed branch: | lp:~michael.nelson/launchpad/536700-present-packagebuilds-in-ppa-context | ||||
| Merge into: | lp:launchpad/db-devel | ||||
| Diff against target: |
1137 lines (+424/-145) (has conflicts) 28 files modified
lib/canonical/buildd/apply-ogre-model (+0/-39) lib/canonical/buildd/binarypackage.py (+7/-17) lib/canonical/buildd/debian.py (+1/-40) lib/canonical/buildd/debian/changelog (+7/-0) lib/canonical/buildd/debian/rules (+2/-2) lib/canonical/buildd/debian/upgrade-config (+11/-0) lib/canonical/buildd/template-buildd-slave.conf (+0/-1) lib/canonical/buildd/tests/buildd-slave-test.conf (+0/-1) lib/canonical/launchpad/templates/launchpad-form.pt (+6/-3) lib/canonical/widgets/product.py (+3/-1) lib/lp/buildmaster/configure.zcml (+6/-0) lib/lp/buildmaster/interfaces/packagebuild.py (+26/-1) lib/lp/buildmaster/model/packagebuild.py (+45/-2) lib/lp/buildmaster/tests/test_packagebuild.py (+49/-6) lib/lp/code/browser/sourcepackagerecipe.py (+12/-3) lib/lp/code/browser/tests/test_sourcepackagerecipe.py (+56/-7) lib/lp/code/model/sourcepackagerecipedata.py (+2/-0) lib/lp/registry/doc/product-widgets.txt (+45/-2) lib/lp/registry/model/sourcepackage.py (+5/-3) lib/lp/soyuz/configure.zcml (+5/-0) lib/lp/soyuz/interfaces/archive.py (+6/-0) lib/lp/soyuz/interfaces/buildrecords.py (+11/-6) lib/lp/soyuz/model/archive.py (+14/-4) lib/lp/soyuz/model/binarypackagebuild.py (+21/-0) lib/lp/soyuz/tests/test_archive.py (+1/-1) lib/lp/soyuz/tests/test_binarypackagebuild.py (+37/-0) lib/lp/soyuz/tests/test_hasbuildrecords.py (+31/-0) lib/lp/testing/factory.py (+15/-6) Text conflict in lib/lp/code/browser/tests/test_sourcepackagerecipe.py |
||||
| To merge this branch: | bzr merge lp:~michael.nelson/launchpad/536700-present-packagebuilds-in-ppa-context | ||||
| Related bugs: |
|
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Henning Eggers (community) | code | 2010-06-14 | Approve on 2010-06-16 |
|
Review via email:
|
|||
Description of the Change
Please review my branch:
bzr+
revision 11006.
Test command: bin/test -vv -m test_packagebuild -m test_binarypack
test_hasbuildre
This branch does some initial work to enable PPA's to present general
IPackageBuilds rather than IBinaryPackageB
It adds and tests an IPackageBuildSe
optional param to the getBuildRecords() method - binary_only - which defaults
to true (current behaivour). It then updates IArchive.
support binary_only=False.
Additionally, it adds an adapter for IBuildFarmJob-
preparation for the UI (so each build can present its title correctly).
| Michael Nelson (michael.nelson) wrote : | # |
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Michael,
> thank you for your fix and sorry for the delay...
No problem... it was worth all the improvements below :)
>
> Am 14.06.2010 10:35, schrieb Michael Nelson:
> > Test command: bin/test -vv -m test_packagebuild -m test_binarypack
> -m
> > test_hasbuildre
>
> Yup, they pass. Thanks.
>
> > This branch does some initial work to enable PPA's to present general
> > IPackageBuilds rather than IBinaryPackageB
>
> So, I assume that is the reason that no bug is attached to this branch?
There are two now :P
>
> >
> > It adds and tests an IPackageBuildSe
> > optional param to the getBuildRecords() method - binary_only - which
> defaults
> > to true (current behaivour). It then updates IArchive.
> > support binary_only=False.
> >
> > Additionally, it adds an adapter for IBuildFarmJob-
> > preparation for the UI (so each build can present its title correctly).
> >
>
> Very clever. ;-)
>
> Here are my comments:
>
...
> > === modified file 'lib/lp/
> > --- lib/lp/
> > +++ lib/lp/
> > @@ -214,3 +218,40 @@
> > def _handleStatus_
> > return BuildBase.
> > self, librarian, slave_status, logger)
> > +
> > +
> > +class PackageBuildSet:
> > + implements(
> > +
> > + def getBuildsForArc
> > + """See `IPackageBuildS
> > +
> > + extra_exprs = []
> > +
> > + # Add query clause that filters on build status if the latter is
> > + # provided.
>
> I had been told that comments are not there to reiterate what the code is
> doing - the code should speak for itself. This looks like such a case, does it
> not?
/me must stop doing that. Removed.
>
> > + if status is not None:
> > + extra_exprs.
> > +
> > + # Add query clause that filters on pocket if the latter is
> provided.
>
> Same here. The comment is just chatter. Maybe its pseudo code that you forgot
> in here?
Ditto.
>
> > + if pocket:
> > + extra_exprs.
> > +
> > + store = getUtility(
> > + result_set = store.find(
> > + PackageBuild.
> > + PackageBuild.
> > + *extra_exprs)
> > +
> > + # Ordering according status
> > + # * SUPERSEDED & All by -datecreated
>
> What does "& All" refer to"?
I updated this to: When we have a set of builds that may include pending or superseded builds, we order by -date_created (as we won't always have a date_finished), otherwise we can order by -date_finished.
>
> > + # * FULLYBUILT & FAILURES by -datebuilt
> I would put this near the "else" to expla...
| Henning Eggers (henninge) wrote : | # |
As discussed on mumble:
- Please make sure the indention is less confusing by using an intermediate variable for the states, e.g. "unfinished_
+ if status is None or status in [
+ BuildStatus.
+ BuildStatus.
+ BuildStatus.
- AFAICT PackageBuildSet is missing from __all__ (not TestPackageBuil
Thanks for you good work and patience with me. ;-)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Michael,
thank you for your fix and sorry for the delay...
Am 14.06.2010 10:35, schrieb Michael Nelson: agebuild -m cords
> Test command: bin/test -vv -m test_packagebuild -m test_binarypack
> test_hasbuildre
Yup, they pass. Thanks.
> This branch does some initial work to enable PPA's to present general uilds (bug 536700).
> IPackageBuilds rather than IBinaryPackageB
So, I assume that is the reason that no bug is attached to this branch?
> t.getBuildsForA rchive( ). It adds an getBuildRecords () to >IBinaryPackage Build in
> It adds and tests an IPackageBuildSe
> optional param to the getBuildRecords() method - binary_only - which defaults
> to true (current behaivour). It then updates IArchive.
> support binary_only=False.
>
> Additionally, it adds an adapter for IBuildFarmJob-
> preparation for the UI (so each build can present its title correctly).
>
Very clever. ;-)
Here are my comments:
> === modified file 'lib/lp/ buildmaster/ configure. zcml'
OK.
> === modified file 'lib/lp/ buildmaster/ interfaces/ packagebuild. py'
OK.
> === modified file 'lib/lp/ buildmaster/ model/packagebu ild.py' buildmaster/ model/packagebu ild.py 2010-06-07 10:43:01 +0000 buildmaster/ model/packagebu ild.py 2010-06-14 08:35:42 +0000 launchpad. browser. librarian import ( ileAlias) launchpad. interfaces. lpstorm import IMasterStore launchpad. webapp. interfaces import ( interfaces. buildbase import BuildStatus interfaces. buildfarmjob import IBuildFarmJobSource interfaces. packagebuild import ( urce) urce) model.buildbase import handle_ status_ for_build, BuildBase model.buildfarm job import BuildFarmJobDerived model.buildfarm job import ( ived) interfaces. pocket import PackagePublishi ngPocket adapters. archivedependen cies import ( component_ dependency_ name) GIVENBACK( self, librarian, slave_status, logger): _handleStatus_ GIVENBACK( IPackageBuildSe t) hive(self, archive, status=None, pocket=None): et`."""
> --- lib/lp/
> +++ lib/lp/
> @@ -11,6 +11,7 @@
> from lazr.delegates import delegates
>
> from storm.locals import Int, Reference, Storm, Unicode
> +from storm.expr import Desc
>
> from zope.component import getUtility
> from zope.interface import classProvides, implements
> @@ -19,13 +20,16 @@
> from canonical.
> ProxiedLibraryF
> from canonical.
> +from canonical.
> + IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
>
> from lp.buildmaster.
> from lp.buildmaster.
> from lp.buildmaster.
> - IPackageBuild, IPackageBuildSo
> + IPackageBuild, IPackageBuildSet, IPackageBuildSo
> from lp.buildmaster.
> -from lp.buildmaster.
> +from lp.buildmaster.
> + BuildFarmJob, BuildFarmJobDer
> from lp.registry.
> from lp.soyuz.
> default_
> @@ -214,3 +218,40 @@
> def _handleStatus_
> return BuildBase.
> self, librarian, slave_status, logger)
> +
> +
> +class PackageBuildSet:
> + implements(
> +
> + def getBuildsForArc
> + """See `IPackageBuildS
> +
> + extra_exprs = []
> +
> + # Add query clause that filters on build status if the latter is
> + # provided.
I had been told that comments are not there to reiterate what the code is
doing - the code should speak for itself. Thi...