Merge lp:~wgrant/launchpad/buildstatus-to-buildmaster into lp:launchpad

Proposed by William Grant
Status: Merged
Approved by: Michael Nelson
Approved revision: no longer in the source branch.
Merged at revision: not available
Proposed branch: lp:~wgrant/launchpad/buildstatus-to-buildmaster
Merge into: lp:launchpad
Prerequisite: lp:~wgrant/launchpad/buildqueue-to-buildmaster
Diff against target: 1503 lines (+244/-256)
61 files modified
lib/canonical/launchpad/doc/tales.txt (+1/-1)
lib/canonical/launchpad/interfaces/_schema_circular_imports.py (+2/-5)
lib/canonical/launchpad/webapp/tales.py (+11/-11)
lib/lp/archiveuploader/dscfile.py (+6/-6)
lib/lp/archiveuploader/nascentuploadfile.py (+2/-2)
lib/lp/archiveuploader/tests/test_recipeuploads.py (+1/-1)
lib/lp/buildmaster/interfaces/buildbase.py (+87/-4)
lib/lp/buildmaster/master.py (+2/-1)
lib/lp/buildmaster/model/buildbase.py (+1/-1)
lib/lp/buildmaster/model/builder.py (+2/-1)
lib/lp/buildmaster/model/buildqueue.py (+5/-8)
lib/lp/buildmaster/model/packagebuildfarmjob.py (+1/-1)
lib/lp/buildmaster/tests/queuebuilder.txt (+2/-1)
lib/lp/buildmaster/tests/test_builder.py (+2/-1)
lib/lp/buildmaster/tests/test_buildfarmjobbehavior.py (+1/-1)
lib/lp/buildmaster/tests/test_buildqueue.py (+1/-1)
lib/lp/buildmaster/tests/test_manager.py (+2/-1)
lib/lp/code/model/sourcepackagerecipebuild.py (+1/-2)
lib/lp/registry/browser/person.py (+2/-2)
lib/lp/registry/model/sourcepackage.py (+1/-1)
lib/lp/soyuz/browser/archive.py (+3/-4)
lib/lp/soyuz/browser/build.py (+2/-2)
lib/lp/soyuz/browser/tests/archive-views.txt (+2/-1)
lib/lp/soyuz/browser/tests/build-views.txt (+1/-1)
lib/lp/soyuz/browser/tests/builder-views.txt (+1/-1)
lib/lp/soyuz/doc/archive.txt (+1/-2)
lib/lp/soyuz/doc/build-estimated-dispatch-time.txt (+1/-2)
lib/lp/soyuz/doc/build-notification.txt (+4/-4)
lib/lp/soyuz/doc/build.txt (+2/-1)
lib/lp/soyuz/doc/buildd-dispatching.txt (+1/-1)
lib/lp/soyuz/doc/buildd-slavescanner.txt (+1/-1)
lib/lp/soyuz/doc/hasbuildrecords.txt (+1/-1)
lib/lp/soyuz/doc/packageupload-lookups.txt (+1/-1)
lib/lp/soyuz/doc/publishing.txt (+1/-1)
lib/lp/soyuz/doc/sourcepackagerelease-build-lookup.txt (+1/-1)
lib/lp/soyuz/doc/soyuz-set-of-uploads.txt (+3/-2)
lib/lp/soyuz/interfaces/build.py (+1/-89)
lib/lp/soyuz/model/archive.py (+2/-1)
lib/lp/soyuz/model/build.py (+2/-1)
lib/lp/soyuz/model/buildpackagejob.py (+2/-1)
lib/lp/soyuz/model/publishing.py (+10/-9)
lib/lp/soyuz/model/sourcepackagerelease.py (+6/-6)
lib/lp/soyuz/scripts/gina/handlers.py (+12/-17)
lib/lp/soyuz/scripts/packagecopier.py (+8/-13)
lib/lp/soyuz/scripts/tests/test_buildd_cronscripts.py (+6/-7)
lib/lp/soyuz/scripts/tests/test_copypackage.py (+2/-2)
lib/lp/soyuz/scripts/tests/test_populatearchive.py (+3/-2)
lib/lp/soyuz/stories/ppa/xx-copy-packages.txt (+1/-1)
lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt (+3/-2)
lib/lp/soyuz/stories/soyuz/xx-build-record.txt (+1/-1)
lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt (+1/-1)
lib/lp/soyuz/stories/webservice/xx-builds.txt (+1/-1)
lib/lp/soyuz/tests/test_archive.py (+1/-1)
lib/lp/soyuz/tests/test_build.py (+3/-3)
lib/lp/soyuz/tests/test_buildpackagejob.py (+1/-1)
lib/lp/soyuz/tests/test_packageupload.py (+1/-1)
lib/lp/soyuz/tests/test_publishing.py (+10/-10)
lib/lp/soyuz/tests/test_publishing_models.py (+1/-1)
lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py (+1/-1)
scripts/ftpmaster-tools/buildd-mass-retry.py (+3/-3)
scripts/ftpmaster-tools/initialise-from-parent.py (+3/-3)
To merge this branch: bzr merge lp:~wgrant/launchpad/buildstatus-to-buildmaster
Reviewer Review Type Date Requested Status
Michael Nelson (community) code Approve
Review via email: mp+20892@code.launchpad.net

Commit message

Move BuildStatus from lp.soyuz to lp.buildmaster, and drop unused lp.soyuz.interfaces.build.incomplete_build_status.

Description of the change

This branch does the following:

 - Moves lp.soyuz.interfaces.build.BuildStatus to lp.buildmaster.interfaces.buildbase, where we would have moved it during the spring if it wasn't such a huge diff.
 - Removes the IBuildBase['buildstatus'] circular import hack from _schema_circular_imports, since BuildStatus is now in the same file.
 - Removes lp.soyuz.interfaces.build.incomplete_building_status, since it's unused, and would otherwise itself need to be moved.
 - Fixes all of the BuildStatus imports to point at the new location. THERE ARE LOTS.

To post a comment you must log in.
Revision history for this message
Michael Nelson (michael.nelson) wrote :

Thanks for the other cleanups along the way too (moving imports from canonical.launchpad to lp.registry etc., and various re-orderings.)

I'll send this off to ec2 land now.

review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/canonical/launchpad/doc/tales.txt'
2--- lib/canonical/launchpad/doc/tales.txt 2010-03-06 21:38:23 +0000
3+++ lib/canonical/launchpad/doc/tales.txt 2010-03-09 20:58:30 +0000
4@@ -197,7 +197,7 @@
5
6 The 'building' build is 14x14:
7
8- >>> from lp.soyuz.interfaces.build import BuildStatus
9+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
10 >>> build.buildstate = BuildStatus.BUILDING
11 >>> print test_tales("build/image:icon", build=build)
12 <img width="14" height="14"...src="/@@/processing" />
13
14=== modified file 'lib/canonical/launchpad/interfaces/_schema_circular_imports.py'
15--- lib/canonical/launchpad/interfaces/_schema_circular_imports.py 2010-02-27 21:18:10 +0000
16+++ lib/canonical/launchpad/interfaces/_schema_circular_imports.py 2010-03-09 20:58:30 +0000
17@@ -31,13 +31,12 @@
18 from lp.bugs.interfaces.bugtarget import IHasBugs, IBugTarget
19 from lp.bugs.interfaces.bugtracker import IBugTracker
20 from lp.bugs.interfaces.bugwatch import IBugWatch
21-from lp.soyuz.interfaces.build import (
22- BuildStatus, IBuild)
23+from lp.buildmaster.interfaces.buildbase import BuildStatus
24+from lp.soyuz.interfaces.build import IBuild
25 from lp.soyuz.interfaces.buildrecords import IHasBuildRecords
26 from lp.blueprints.interfaces.specification import ISpecification
27 from lp.blueprints.interfaces.specificationbranch import (
28 ISpecificationBranch)
29-from lp.buildmaster.interfaces.buildbase import IBuildBase
30 from lp.code.interfaces.branch import IBranch
31 from lp.code.interfaces.branchmergeproposal import IBranchMergeProposal
32 from lp.code.interfaces.branchsubscription import IBranchSubscription
33@@ -322,8 +321,6 @@
34 IStructuralSubscriptionTarget, 'parent_subscription_target',
35 IStructuralSubscriptionTarget)
36
37-IBuildBase['buildstate'].vocabulary = BuildStatus
38-
39 patch_reference_property(
40 ISourcePackageRelease, 'source_package_recipe_build', ISourcePackageRecipeBuild)
41
42
43=== modified file 'lib/canonical/launchpad/webapp/tales.py'
44--- lib/canonical/launchpad/webapp/tales.py 2010-03-08 13:51:22 +0000
45+++ lib/canonical/launchpad/webapp/tales.py 2010-03-09 20:58:30 +0000
46@@ -21,6 +21,7 @@
47 from xml.sax.saxutils import unescape as xml_unescape
48 from datetime import datetime, timedelta
49 from lazr.enum import enumerated_type_registry
50+from lazr.uri import URI
51
52 from zope.interface import Interface, Attribute, implements
53 from zope.component import getUtility, queryAdapter, getMultiAdapter
54@@ -42,27 +43,26 @@
55 IBug, IBugSet, IDistribution, IFAQSet,
56 IProduct, IProjectGroup, IDistributionSourcePackage, ISprint,
57 LicenseStatus, NotFoundError)
58-from lp.blueprints.interfaces.specification import ISpecification
59-from lp.code.interfaces.branch import IBranch
60-from lp.soyuz.interfaces.archive import ArchivePurpose, IPPA
61-from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriberSet
62 from canonical.launchpad.interfaces.launchpad import (
63 IHasIcon, IHasLogo, IHasMugshot, IPrivacy)
64-from lp.registry.interfaces.person import IPerson, IPersonSet
65+import canonical.launchpad.pagetitles
66+from canonical.launchpad.webapp import canonical_url, urlappend
67+from canonical.launchpad.webapp.authorization import check_permission
68+from canonical.launchpad.webapp.badge import IHasBadges
69 from canonical.launchpad.webapp.interfaces import (
70 IApplicationMenu, IContextMenu, IFacetMenu, ILaunchBag, INavigationMenu,
71 IPrimaryContext, NoCanonicalUrl)
72-import canonical.launchpad.pagetitles
73-from canonical.launchpad.webapp import canonical_url, urlappend
74-from lazr.uri import URI
75 from canonical.launchpad.webapp.menu import get_current_view, get_facet
76 from canonical.launchpad.webapp.publisher import (
77 get_current_browser_request, LaunchpadView, nearest)
78-from canonical.launchpad.webapp.authorization import check_permission
79-from canonical.launchpad.webapp.badge import IHasBadges
80 from canonical.launchpad.webapp.session import get_cookie_domain
81 from canonical.lazr.canonicalurl import nearest_adapter
82-from lp.soyuz.interfaces.build import BuildStatus
83+from lp.blueprints.interfaces.specification import ISpecification
84+from lp.buildmaster.interfaces.buildbase import BuildStatus
85+from lp.code.interfaces.branch import IBranch
86+from lp.soyuz.interfaces.archive import ArchivePurpose, IPPA
87+from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriberSet
88+from lp.registry.interfaces.person import IPerson, IPersonSet
89
90
91 SEPARATOR = ' : '
92
93=== modified file 'lib/lp/archiveuploader/dscfile.py'
94--- lib/lp/archiveuploader/dscfile.py 2010-02-16 02:30:15 +0000
95+++ lib/lp/archiveuploader/dscfile.py 2010-03-09 20:58:30 +0000
96@@ -25,6 +25,11 @@
97
98 from zope.component import getUtility
99
100+from canonical.encoding import guess as guess_encoding
101+from canonical.launchpad.interfaces import (
102+ GPGVerificationError, IGPGHandler, IGPGKeySet,
103+ ISourcePackageNameSet, NotFoundError)
104+from canonical.librarian.utils import copy_and_close
105 from lp.archiveuploader.nascentuploadfile import (
106 UploadWarning, UploadError, NascentUploadFile, SourceUploadFile)
107 from lp.archiveuploader.tagfiles import (
108@@ -33,18 +38,13 @@
109 determine_source_file_type, get_source_file_extension,
110 ParseMaintError, prefix_multi_line_string, re_is_component_orig_tar_ext,
111 re_issource, re_valid_pkg_name, re_valid_version, safe_fix_maintainer)
112-from canonical.encoding import guess as guess_encoding
113+from lp.buildmaster.interfaces.buildbase import BuildStatus
114 from lp.code.interfaces.sourcepackagerecipebuild import (
115 ISourcePackageRecipeBuildSource)
116 from lp.registry.interfaces.person import IPersonSet, PersonCreationRationale
117 from lp.registry.interfaces.sourcepackage import SourcePackageFileType
118 from lp.soyuz.interfaces.archive import ArchivePurpose, IArchiveSet
119-from lp.soyuz.interfaces.build import BuildStatus
120 from lp.soyuz.interfaces.sourcepackageformat import SourcePackageFormat
121-from canonical.launchpad.interfaces import (
122- GPGVerificationError, IGPGHandler, IGPGKeySet,
123- ISourcePackageNameSet, NotFoundError)
124-from canonical.librarian.utils import copy_and_close
125
126
127 class SignableTagFile:
128
129=== modified file 'lib/lp/archiveuploader/nascentuploadfile.py'
130--- lib/lp/archiveuploader/nascentuploadfile.py 2010-02-09 00:17:40 +0000
131+++ lib/lp/archiveuploader/nascentuploadfile.py 2010-03-09 20:58:30 +0000
132@@ -34,12 +34,12 @@
133 re_no_epoch, re_no_revision, re_valid_version, re_valid_pkg_name,
134 re_extract_src_version, determine_source_file_type)
135 from canonical.encoding import guess as guess_encoding
136+from lp.buildmaster.interfaces.buildbase import BuildStatus
137 from lp.soyuz.interfaces.binarypackagename import (
138 IBinaryPackageNameSet)
139 from lp.soyuz.interfaces.binarypackagerelease import (
140 BinaryPackageFormat)
141-from lp.soyuz.interfaces.build import (
142- BuildStatus, IBuildSet)
143+from lp.soyuz.interfaces.build import IBuildSet
144 from lp.soyuz.interfaces.component import IComponentSet
145 from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
146 from lp.soyuz.interfaces.queue import (
147
148=== modified file 'lib/lp/archiveuploader/tests/test_recipeuploads.py'
149--- lib/lp/archiveuploader/tests/test_recipeuploads.py 2010-02-22 11:16:49 +0000
150+++ lib/lp/archiveuploader/tests/test_recipeuploads.py 2010-03-09 20:58:30 +0000
151@@ -14,9 +14,9 @@
152 from lp.archiveuploader.tests.test_uploadprocessor import (
153 TestUploadProcessorBase)
154 from lp.archiveuploader.uploadprocessor import UploadProcessor
155+from lp.buildmaster.interfaces.buildbase import BuildStatus
156 from lp.code.interfaces.sourcepackagerecipebuild import (
157 ISourcePackageRecipeBuildSource)
158-from lp.soyuz.interfaces.build import BuildStatus
159 from lp.soyuz.interfaces.queue import PackageUploadStatus
160
161
162
163=== modified file 'lib/lp/buildmaster/interfaces/buildbase.py'
164--- lib/lp/buildmaster/interfaces/buildbase.py 2010-03-08 12:35:15 +0000
165+++ lib/lp/buildmaster/interfaces/buildbase.py 2010-03-09 20:58:30 +0000
166@@ -7,11 +7,15 @@
167
168 __metaclass__ = type
169
170-__all__ = ['BUILDD_MANAGER_LOG_NAME', 'IBuildBase']
171+__all__ = [
172+ 'BUILDD_MANAGER_LOG_NAME',
173+ 'BuildStatus',
174+ 'IBuildBase',
175+ ]
176
177 from zope.interface import Attribute, Interface
178 from zope.schema import Choice, Datetime, Object, TextLine, Timedelta
179-from lazr.enum import DBEnumeratedType
180+from lazr.enum import DBEnumeratedType, DBItem
181 from lazr.restful.declarations import exported
182 from lazr.restful.fields import Reference
183
184@@ -27,6 +31,86 @@
185 BUILDD_MANAGER_LOG_NAME = "slave-scanner"
186
187
188+class BuildStatus(DBEnumeratedType):
189+ """Build status type
190+
191+ Builds exist in the database in a number of states such as 'complete',
192+ 'needs build' and 'dependency wait'. We need to track these states in
193+ order to correctly manage the autobuilder queues in the BuildQueue table.
194+ """
195+
196+ NEEDSBUILD = DBItem(0, """
197+ Needs building
198+
199+ Build record is fresh and needs building. Nothing is yet known to
200+ block this build and it is a candidate for building on any free
201+ builder of the relevant architecture
202+ """)
203+
204+ FULLYBUILT = DBItem(1, """
205+ Successfully built
206+
207+ Build record is an historic account of the build. The build is complete
208+ and needs no further work to complete it. The build log etc are all
209+ in place if available.
210+ """)
211+
212+ FAILEDTOBUILD = DBItem(2, """
213+ Failed to build
214+
215+ Build record is an historic account of the build. The build failed and
216+ cannot be automatically retried. Either a new upload will be needed
217+ or the build will have to be manually reset into 'NEEDSBUILD' when
218+ the issue is corrected
219+ """)
220+
221+ MANUALDEPWAIT = DBItem(3, """
222+ Dependency wait
223+
224+ Build record represents a package whose build dependencies cannot
225+ currently be satisfied within the relevant DistroArchSeries. This
226+ build will have to be manually given back (put into 'NEEDSBUILD') when
227+ the dependency issue is resolved.
228+ """)
229+
230+ CHROOTWAIT = DBItem(4, """
231+ Chroot problem
232+
233+ Build record represents a build which needs a chroot currently known
234+ to be damaged or bad in some way. The buildd maintainer will have to
235+ reset all relevant CHROOTWAIT builds to NEEDSBUILD after the chroot
236+ has been fixed.
237+ """)
238+
239+ SUPERSEDED = DBItem(5, """
240+ Build for superseded Source
241+
242+ Build record represents a build which never got to happen because the
243+ source package release for the build was superseded before the job
244+ was scheduled to be run on a builder. Builds which reach this state
245+ will rarely if ever be reset to any other state.
246+ """)
247+
248+ BUILDING = DBItem(6, """
249+ Currently building
250+
251+ Build record represents a build which is being build by one of the
252+ available builders.
253+ """)
254+
255+ FAILEDTOUPLOAD = DBItem(7, """
256+ Failed to upload
257+
258+ Build record is an historic account of a build that could not be
259+ uploaded correctly. It's mainly genereated by failures in
260+ process-upload which quietly rejects the binary upload resulted
261+ by the build procedure.
262+ In those cases all the build historic information will be stored (
263+ buildlog, datebuilt, duration, builder, etc) and the buildd admins
264+ will be notified via process-upload about the reason of the rejection.
265+ """)
266+
267+
268 class IBuildBase(Interface):
269 """Common interface shared by farm jobs that build a package."""
270
271@@ -37,10 +121,9 @@
272 title=_('Date created'), required=True, readonly=True,
273 description=_("The time when the build request was created.")))
274
275- # Really BuildStatus. Patched in _schema_circular_imports.
276 buildstate = exported(
277 Choice(
278- title=_('State'), required=True, vocabulary=DBEnumeratedType,
279+ title=_('State'), required=True, vocabulary=BuildStatus,
280 description=_("The current build state.")))
281
282 date_first_dispatched = exported(
283
284=== modified file 'lib/lp/buildmaster/master.py'
285--- lib/lp/buildmaster/master.py 2010-03-08 12:35:15 +0000
286+++ lib/lp/buildmaster/master.py 2010-03-09 20:58:30 +0000
287@@ -22,11 +22,12 @@
288 from canonical.config import config
289 from canonical.librarian.interfaces import ILibrarianClient
290 from lp.archivepublisher.utils import process_in_batches
291+from lp.buildmaster.interfaces.buildbase import BuildStatus
292 from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet
293 from lp.buildmaster.pas import BuildDaemonPackagesArchSpecific
294 from lp.buildmaster.buildergroup import BuilderGroup
295 from lp.soyuz.interfaces.archive import ArchivePurpose
296-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
297+from lp.soyuz.interfaces.build import IBuildSet
298
299
300 def determineArchitecturesToBuild(pubrec, legal_archseries,
301
302=== modified file 'lib/lp/buildmaster/model/buildbase.py'
303--- lib/lp/buildmaster/model/buildbase.py 2010-03-08 12:35:15 +0000
304+++ lib/lp/buildmaster/model/buildbase.py 2010-03-09 20:58:30 +0000
305@@ -29,10 +29,10 @@
306 from canonical.launchpad.helpers import filenameToContentType
307 from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
308 from canonical.librarian.utils import copy_and_close
309+from lp.buildmaster.interfaces.buildbase import BuildStatus
310 from lp.buildmaster.model.buildqueue import BuildQueue
311 from lp.buildmaster.interfaces.buildbase import BUILDD_MANAGER_LOG_NAME
312 from lp.registry.interfaces.pocket import pocketsuffix
313-from lp.soyuz.interfaces.build import BuildStatus
314
315
316 UPLOAD_LOG_FILENAME = 'uploader.log'
317
318=== modified file 'lib/lp/buildmaster/model/builder.py'
319--- lib/lp/buildmaster/model/builder.py 2010-03-08 12:35:15 +0000
320+++ lib/lp/buildmaster/model/builder.py 2010-03-09 20:58:30 +0000
321@@ -37,6 +37,7 @@
322 IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
323 from canonical.lazr.utils import safe_hasattr
324 from canonical.librarian.utils import copy_and_close
325+from lp.buildmaster.interfaces.buildbase import BuildStatus
326 from lp.buildmaster.interfaces.builder import (
327 BuildDaemonError, BuildSlaveFailure, CannotBuild, CannotFetchFile,
328 CannotResumeHost, IBuilder, IBuilderSet, ProtocolVersionMismatch)
329@@ -52,7 +53,7 @@
330 # XXX Michael Nelson 2010-01-13 bug=491330
331 # These dependencies on soyuz will be removed when getBuildRecords()
332 # is moved.
333-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
334+from lp.soyuz.interfaces.build import IBuildSet
335 from lp.soyuz.interfaces.buildrecords import IHasBuildRecords
336 from lp.soyuz.interfaces.distroarchseries import IDistroArchSeriesSet
337 from lp.soyuz.model.buildpackagejob import BuildPackageJob
338
339=== modified file 'lib/lp/buildmaster/model/buildqueue.py'
340--- lib/lp/buildmaster/model/buildqueue.py 2010-03-08 12:35:15 +0000
341+++ lib/lp/buildmaster/model/buildqueue.py 2010-03-09 20:58:30 +0000
342@@ -15,18 +15,18 @@
343 from datetime import datetime, timedelta
344 import logging
345
346-from zope.component import getSiteManager, getUtility
347-
348-from zope.interface import implements
349-
350 from sqlobject import (
351 StringCol, ForeignKey, BoolCol, IntCol, IntervalCol, SQLObjectNotFound)
352 from storm.expr import In, Join, LeftJoin
353 from storm.store import Store
354+from zope.component import getSiteManager, getUtility
355+from zope.interface import implements
356
357 from canonical.database.enumcol import EnumCol
358 from canonical.database.sqlbase import SQLBase, sqlvalues
359-from canonical.launchpad.webapp.interfaces import NotFoundError
360+from canonical.launchpad.webapp.interfaces import (
361+ DEFAULT_FLAVOR, IStoreSelector, MAIN_STORE, NotFoundError)
362+from lp.buildmaster.interfaces.buildbase import BuildStatus
363 from lp.buildmaster.interfaces.buildfarmjob import (
364 BuildFarmJobType, IBuildFarmJob)
365 from lp.buildmaster.interfaces.buildfarmjobbehavior import (
366@@ -34,10 +34,7 @@
367 from lp.buildmaster.interfaces.buildqueue import IBuildQueue, IBuildQueueSet
368 from lp.services.job.interfaces.job import JobStatus
369 from lp.services.job.model.job import Job
370-from lp.soyuz.interfaces.build import BuildStatus
371 from lp.soyuz.model.buildpackagejob import BuildPackageJob
372-from canonical.launchpad.webapp.interfaces import (
373- IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
374
375
376 def normalize_virtualization(virtualized):
377
378=== modified file 'lib/lp/buildmaster/model/packagebuildfarmjob.py'
379--- lib/lp/buildmaster/model/packagebuildfarmjob.py 2010-03-09 14:11:00 +0000
380+++ lib/lp/buildmaster/model/packagebuildfarmjob.py 2010-03-09 20:58:30 +0000
381@@ -7,8 +7,8 @@
382
383 from canonical.database.constants import UTC_NOW
384
385+from lp.buildmaster.interfaces.buildbase import BuildStatus
386 from lp.buildmaster.model.buildfarmjob import BuildFarmJob
387-from lp.soyuz.interfaces.build import BuildStatus
388
389
390 class PackageBuildFarmJob(BuildFarmJob):
391
392=== modified file 'lib/lp/buildmaster/tests/queuebuilder.txt'
393--- lib/lp/buildmaster/tests/queuebuilder.txt 2010-01-10 04:58:44 +0000
394+++ lib/lp/buildmaster/tests/queuebuilder.txt 2010-03-09 20:58:30 +0000
395@@ -229,7 +229,8 @@
396 >>> copied_pub = pub_failed.copyTo(
397 ... hoary, PackagePublishingPocket.RELEASE, warty.main_archive)
398
399- >>> from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
400+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
401+ >>> from lp.soyuz.interfaces.build import IBuildSet
402 >>> failed_build = pub_failed.sourcepackagerelease.createBuild(
403 ... warty['i386'], PackagePublishingPocket.RELEASE,
404 ... warty.main_archive, status=BuildStatus.FAILEDTOBUILD)
405
406=== modified file 'lib/lp/buildmaster/tests/test_builder.py'
407--- lib/lp/buildmaster/tests/test_builder.py 2010-03-06 00:32:52 +0000
408+++ lib/lp/buildmaster/tests/test_builder.py 2010-03-09 20:58:30 +0000
409@@ -11,13 +11,14 @@
410 from canonical.launchpad.webapp.interfaces import (
411 IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
412 from canonical.testing import LaunchpadZopelessLayer
413+from lp.buildmaster.interfaces.buildbase import BuildStatus
414 from lp.buildmaster.interfaces.builder import IBuilderSet
415 from lp.buildmaster.interfaces.buildfarmjobbehavior import (
416 IBuildFarmJobBehavior)
417 from lp.buildmaster.model.buildfarmjobbehavior import IdleBuildBehavior
418 from lp.buildmaster.model.buildqueue import BuildQueue
419 from lp.soyuz.interfaces.archive import ArchivePurpose
420-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
421+from lp.soyuz.interfaces.build import IBuildSet
422 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
423 from lp.soyuz.model.binarypackagebuildbehavior import (
424 BinaryPackageBuildBehavior)
425
426=== modified file 'lib/lp/buildmaster/tests/test_buildfarmjobbehavior.py'
427--- lib/lp/buildmaster/tests/test_buildfarmjobbehavior.py 2010-02-11 19:11:11 +0000
428+++ lib/lp/buildmaster/tests/test_buildfarmjobbehavior.py 2010-03-09 20:58:30 +0000
429@@ -5,8 +5,8 @@
430
431 from unittest import TestCase, TestLoader
432
433+from lp.buildmaster.interfaces.buildbase import BuildStatus
434 from lp.buildmaster.model.buildfarmjobbehavior import BuildFarmJobBehaviorBase
435-from lp.soyuz.interfaces.build import BuildStatus
436
437
438 class FakeBuildFarmJob:
439
440=== modified file 'lib/lp/buildmaster/tests/test_buildqueue.py'
441--- lib/lp/buildmaster/tests/test_buildqueue.py 2010-03-08 12:35:15 +0000
442+++ lib/lp/buildmaster/tests/test_buildqueue.py 2010-03-09 20:58:30 +0000
443@@ -14,6 +14,7 @@
444 IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
445 from canonical.testing import LaunchpadZopelessLayer
446
447+from lp.buildmaster.interfaces.buildbase import BuildStatus
448 from lp.buildmaster.interfaces.builder import IBuilderSet
449 from lp.buildmaster.interfaces.buildfarmjob import BuildFarmJobType
450 from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet
451@@ -22,7 +23,6 @@
452 from lp.buildmaster.model.buildqueue import BuildQueue, get_builder_data
453 from lp.services.job.model.job import Job
454 from lp.soyuz.interfaces.archive import ArchivePurpose
455-from lp.soyuz.interfaces.build import BuildStatus
456 from lp.soyuz.model.processor import ProcessorFamilySet
457 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
458 from lp.soyuz.model.build import Build
459
460=== modified file 'lib/lp/buildmaster/tests/test_manager.py'
461--- lib/lp/buildmaster/tests/test_manager.py 2010-03-06 00:32:52 +0000
462+++ lib/lp/buildmaster/tests/test_manager.py 2010-03-09 20:58:30 +0000
463@@ -22,6 +22,7 @@
464 from canonical.launchpad.scripts.logger import BufferLogger
465 from canonical.testing.layers import (
466 LaunchpadScriptLayer, LaunchpadZopelessLayer, TwistedLayer)
467+from lp.buildmaster.interfaces.buildbase import BuildStatus
468 from lp.buildmaster.interfaces.builder import IBuilderSet
469 from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet
470 from lp.buildmaster.manager import (
471@@ -29,7 +30,7 @@
472 ResetDispatchResult, buildd_success_result_map)
473 from lp.buildmaster.tests.harness import BuilddManagerTestSetup
474 from lp.registry.interfaces.distribution import IDistributionSet
475-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
476+from lp.soyuz.interfaces.build import IBuildSet
477 from lp.soyuz.tests.soyuzbuilddhelpers import SaneBuildingSlave
478 from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
479
480
481=== modified file 'lib/lp/code/model/sourcepackagerecipebuild.py'
482--- lib/lp/code/model/sourcepackagerecipebuild.py 2010-03-05 13:52:32 +0000
483+++ lib/lp/code/model/sourcepackagerecipebuild.py 2010-03-09 20:58:30 +0000
484@@ -21,7 +21,7 @@
485 from zope.component import getUtility
486 from zope.interface import classProvides, implements
487
488-from lp.buildmaster.interfaces.buildbase import IBuildBase
489+from lp.buildmaster.interfaces.buildbase import BuildStatus, IBuildBase
490 from lp.buildmaster.interfaces.buildfarmjob import BuildFarmJobType
491 from lp.buildmaster.model.buildbase import BuildBase
492 from lp.buildmaster.model.buildqueue import BuildQueue
493@@ -33,7 +33,6 @@
494 from lp.services.job.model.job import Job
495 from lp.soyuz.adapters.archivedependencies import (
496 default_component_dependency_name,)
497-from lp.soyuz.interfaces.build import BuildStatus
498 from lp.soyuz.interfaces.component import IComponentSet
499 from lp.soyuz.model.sourcepackagerelease import SourcePackageRelease
500
501
502=== modified file 'lib/lp/registry/browser/person.py'
503--- lib/lp/registry/browser/person.py 2010-03-08 18:01:33 +0000
504+++ lib/lp/registry/browser/person.py 2010-03-09 20:58:30 +0000
505@@ -175,8 +175,8 @@
506 from lp.code.interfaces.branchnamespace import (
507 IBranchNamespaceSet, InvalidNamespace)
508 from lp.bugs.interfaces.bugtask import IBugTaskSet
509-from lp.soyuz.interfaces.build import (
510- BuildStatus, IBuildSet)
511+from lp.buildmaster.interfaces.buildbase import BuildStatus
512+from lp.soyuz.interfaces.build import IBuildSet
513 from canonical.launchpad.interfaces.launchpad import (
514 ILaunchpadCelebrities, INotificationRecipientSet, UnknownRecipientError)
515 from canonical.launchpad.interfaces.message import (
516
517=== modified file 'lib/lp/registry/model/sourcepackage.py'
518--- lib/lp/registry/model/sourcepackage.py 2010-03-08 01:51:58 +0000
519+++ lib/lp/registry/model/sourcepackage.py 2010-03-09 20:58:30 +0000
520@@ -21,6 +21,7 @@
521 from canonical.database.constants import UTC_NOW
522 from canonical.database.sqlbase import flush_database_updates, sqlvalues
523 from canonical.lazr.utils import smartquote
524+from lp.buildmaster.interfaces.buildbase import BuildStatus
525 from lp.code.model.branch import Branch
526 from lp.code.model.hasbranches import HasBranchesMixin, HasMergeProposalsMixin
527 from lp.bugs.model.bug import get_bug_tags_open_count
528@@ -48,7 +49,6 @@
529 from lp.translations.model.translationimportqueue import (
530 HasTranslationImportsMixin)
531 from canonical.launchpad.helpers import shortlist
532-from lp.soyuz.interfaces.build import BuildStatus
533 from lp.soyuz.interfaces.buildrecords import IHasBuildRecords
534 from lp.registry.interfaces.packaging import PackagingType
535 from lp.translations.interfaces.potemplate import IHasTranslationTemplates
536
537=== modified file 'lib/lp/soyuz/browser/archive.py'
538--- lib/lp/soyuz/browser/archive.py 2010-03-08 05:03:15 +0000
539+++ lib/lp/soyuz/browser/archive.py 2010-03-09 20:58:30 +0000
540@@ -46,6 +46,7 @@
541 from canonical.launchpad import _
542 from canonical.launchpad.helpers import english_list
543 from canonical.lazr.utils import smartquote
544+from lp.buildmaster.interfaces.buildbase import BuildStatus
545 from lp.services.browser_helpers import get_user_agent_distroseries
546 from lp.soyuz.browser.build import BuildRecordsView
547 from lp.soyuz.browser.sourceslist import (
548@@ -60,10 +61,8 @@
549 IArchiveSet, IPPAActivateForm, NoSuchPPA)
550 from lp.soyuz.interfaces.archivepermission import (
551 ArchivePermissionType, IArchivePermissionSet)
552-from lp.soyuz.interfaces.archivesubscriber import (
553- IArchiveSubscriberSet)
554-from lp.soyuz.interfaces.build import (
555- BuildStatus, BuildSetStatus, IBuildSet)
556+from lp.soyuz.interfaces.archivesubscriber import IArchiveSubscriberSet
557+from lp.soyuz.interfaces.build import BuildSetStatus, IBuildSet
558 from lp.soyuz.interfaces.buildrecords import IHasBuildRecords
559 from lp.soyuz.interfaces.component import IComponentSet
560 from lp.registry.interfaces.series import SeriesStatus
561
562=== modified file 'lib/lp/soyuz/browser/build.py'
563--- lib/lp/soyuz/browser/build.py 2010-03-09 01:55:59 +0000
564+++ lib/lp/soyuz/browser/build.py 2010-03-09 20:58:30 +0000
565@@ -30,10 +30,10 @@
566 from canonical.launchpad.webapp.batching import BatchNavigator
567 from canonical.launchpad.webapp.interfaces import ICanonicalUrlData
568 from canonical.lazr.utils import safe_hasattr
569+from lp.buildmaster.interfaces.buildbase import BuildStatus
570 from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet
571 from lp.services.job.interfaces.job import JobStatus
572-from lp.soyuz.interfaces.build import (
573- BuildStatus, IBuild, IBuildRescoreForm)
574+from lp.soyuz.interfaces.build import IBuild, IBuildRescoreForm
575 from lp.soyuz.interfaces.buildrecords import IHasBuildRecords
576 from canonical.launchpad.interfaces.launchpad import UnexpectedFormData
577 from lp.soyuz.interfaces.queue import PackageUploadStatus
578
579=== modified file 'lib/lp/soyuz/browser/tests/archive-views.txt'
580--- lib/lp/soyuz/browser/tests/archive-views.txt 2010-02-27 20:20:03 +0000
581+++ lib/lp/soyuz/browser/tests/archive-views.txt 2010-03-09 20:58:30 +0000
582@@ -355,7 +355,8 @@
583
584 Let's set some builds appropriately to see the results.
585
586- >>> from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
587+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
588+ >>> from lp.soyuz.interfaces.build import IBuildSet
589 >>> warty_hppa = getUtility(IDistributionSet)['ubuntu']['warty']['hppa']
590 >>> source = view.filtered_sources[0]
591 >>> ignore = source.sourcepackagerelease.createBuild(
592
593=== modified file 'lib/lp/soyuz/browser/tests/build-views.txt'
594--- lib/lp/soyuz/browser/tests/build-views.txt 2010-02-24 13:39:16 +0000
595+++ lib/lp/soyuz/browser/tests/build-views.txt 2010-03-09 20:58:30 +0000
596@@ -4,7 +4,7 @@
597 from the sampledata which happens to be in FAILEDTOBUILD status.
598
599 >>> from zope.component import getUtility
600- >>> from lp.soyuz.interfaces.build import BuildStatus
601+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
602 >>> from lp.registry.interfaces.distribution import IDistributionSet
603
604 >>> ubuntu = getUtility(IDistributionSet).getByName('ubuntu')
605
606=== modified file 'lib/lp/soyuz/browser/tests/builder-views.txt'
607--- lib/lp/soyuz/browser/tests/builder-views.txt 2010-03-09 01:55:59 +0000
608+++ lib/lp/soyuz/browser/tests/builder-views.txt 2010-03-09 20:58:30 +0000
609@@ -140,11 +140,11 @@
610 SoyuzTestPublisher is used to make a new publication only in Celso's
611 private PPA.
612
613+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
614 >>> from lp.soyuz.tests.test_publishing import (
615 ... SoyuzTestPublisher)
616 >>> from lp.soyuz.interfaces.publishing import (
617 ... PackagePublishingStatus)
618- >>> from lp.soyuz.interfaces.build import BuildStatus
619
620 >>> test_publisher = SoyuzTestPublisher()
621 >>> test_publisher.prepareBreezyAutotest()
622
623=== modified file 'lib/lp/soyuz/doc/archive.txt'
624--- lib/lp/soyuz/doc/archive.txt 2010-03-04 20:19:39 +0000
625+++ lib/lp/soyuz/doc/archive.txt 2010-03-09 20:58:30 +0000
626@@ -919,7 +919,7 @@
627 be returned, but you can also ask for releases with builds in a certain
628 state.
629
630- >>> from lp.soyuz.interfaces.build import BuildStatus
631+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
632 >>> releases = cprov_archive.getSourcePackageReleases(
633 ... build_status=BuildStatus.FULLYBUILT)
634 >>> for release in releases:
635@@ -1037,7 +1037,6 @@
636
637 Or return build records in a specific status:
638
639- >>> from lp.soyuz.interfaces.build import BuildStatus
640 >>> cprov_archive.getBuildRecords(
641 ... build_state=BuildStatus.FULLYBUILT).count()
642 3
643
644=== modified file 'lib/lp/soyuz/doc/build-estimated-dispatch-time.txt'
645--- lib/lp/soyuz/doc/build-estimated-dispatch-time.txt 2010-02-10 10:11:46 +0000
646+++ lib/lp/soyuz/doc/build-estimated-dispatch-time.txt 2010-03-09 20:58:30 +0000
647@@ -44,7 +44,7 @@
648 the pending job.
649
650 >>> from datetime import timedelta
651- >>> from canonical.launchpad.interfaces import BuildStatus
652+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
653 >>> alsa_build = alsa_spr.createBuild(
654 ... hoary['i386'], PackagePublishingPocket.RELEASE,
655 ... hoary.main_archive)
656@@ -64,7 +64,6 @@
657
658 Make sure the job at hand is currently being built.
659
660- >>> from canonical.launchpad.interfaces import BuildStatus
661 >>> cur_build.buildstate == BuildStatus.BUILDING
662 True
663
664
665=== modified file 'lib/lp/soyuz/doc/build-notification.txt'
666--- lib/lp/soyuz/doc/build-notification.txt 2009-12-24 01:41:54 +0000
667+++ lib/lp/soyuz/doc/build-notification.txt 2010-03-09 20:58:30 +0000
668@@ -15,7 +15,7 @@
669 All build states are supported by the current implementation, however
670 only failures should be reported this time.
671
672- >>> from canonical.launchpad.interfaces import IBuildSet
673+ >>> from lp.soyuz.interfaces.build import IBuildSet
674 >>> from lp.testing.mail_helpers import pop_notifications
675 >>> buildset = getUtility(IBuildSet)
676
677@@ -414,10 +414,10 @@
678 they are in the team owning the PPA (to avoid spamming the innocent
679 when PPA users upload unchanged source packages).
680
681- >>> from canonical.launchpad.interfaces import IPersonSet
682+ >>> from lp.registry.interfaces.person import IPersonSet
683 >>> cprov = getUtility(IPersonSet).getByName('cprov')
684
685- >>> from canonical.launchpad.interfaces import BuildStatus
686+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
687 >>> failed_candidate = cprov.archive.getBuildRecords(
688 ... build_state=BuildStatus.FAILEDTOBUILD, name='cdrkit')[0]
689
690@@ -486,7 +486,7 @@
691
692 We also make 'Foo Bar' the source signer.
693
694- >>> from canonical.launchpad.interfaces import IGPGKeySet
695+ >>> from lp.registry.interfaces.gpg import IGPGKeySet
696 >>> gpgkey = getUtility(IGPGKeySet).get(1)
697 >>> print gpgkey.owner.name
698 name16
699
700=== modified file 'lib/lp/soyuz/doc/build.txt'
701--- lib/lp/soyuz/doc/build.txt 2010-02-27 20:20:03 +0000
702+++ lib/lp/soyuz/doc/build.txt 2010-03-09 20:58:30 +0000
703@@ -136,7 +136,8 @@
704
705 If the build does not have any uploads, None is returned:
706
707- >>> from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
708+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
709+ >>> from lp.soyuz.interfaces.build import IBuildSet
710 >>> at_build = getUtility(IBuildSet).getByBuildID(15)
711 >>> print at_build.package_upload
712 None
713
714=== modified file 'lib/lp/soyuz/doc/buildd-dispatching.txt'
715--- lib/lp/soyuz/doc/buildd-dispatching.txt 2010-03-05 13:52:32 +0000
716+++ lib/lp/soyuz/doc/buildd-dispatching.txt 2010-03-09 20:58:30 +0000
717@@ -187,7 +187,7 @@
718
719 >>> BuilddSlaveTestSetup().tearDown()
720
721- >>> from lp.soyuz.interfaces.build import BuildStatus
722+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
723 >>> build.buildstate = BuildStatus.FAILEDTOBUILD
724 >>> job.destroySelf()
725 >>> flush_database_updates()
726
727=== modified file 'lib/lp/soyuz/doc/buildd-slavescanner.txt'
728--- lib/lp/soyuz/doc/buildd-slavescanner.txt 2010-03-09 14:11:00 +0000
729+++ lib/lp/soyuz/doc/buildd-slavescanner.txt 2010-03-09 20:58:30 +0000
730@@ -548,7 +548,7 @@
731 Now in order to emulate a successfully binary upload we will update
732 the build record to FULLYBUILT, as the process-upload would do:
733
734- >>> from canonical.launchpad.interfaces import BuildStatus
735+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
736 >>> build.buildstate = BuildStatus.FULLYBUILT
737
738 Now the updateBuild should recognize this build record as a
739
740=== modified file 'lib/lp/soyuz/doc/hasbuildrecords.txt'
741--- lib/lp/soyuz/doc/hasbuildrecords.txt 2009-08-28 06:41:25 +0000
742+++ lib/lp/soyuz/doc/hasbuildrecords.txt 2010-03-09 20:58:30 +0000
743@@ -22,7 +22,7 @@
744 The method has a number of filtering options, such as filtering by build
745 status,
746
747- >>> from lp.soyuz.interfaces.build import BuildStatus
748+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
749 >>> hoary.getBuildRecords(build_state=BuildStatus.FULLYBUILT).count()
750 2
751
752
753=== modified file 'lib/lp/soyuz/doc/packageupload-lookups.txt'
754--- lib/lp/soyuz/doc/packageupload-lookups.txt 2009-07-01 13:16:44 +0000
755+++ lib/lp/soyuz/doc/packageupload-lookups.txt 2010-03-09 20:58:30 +0000
756@@ -29,7 +29,7 @@
757
758 # Audit the source publication and builds of a given archive
759 # and report missing uploads.
760- >>> from lp.soyuz.interfaces.build import BuildStatus
761+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
762 >>> def check_upload_lookups(archive):
763 ... sources_missing_upload = []
764 ... sources = list(archive.getPublishedSources())
765
766=== modified file 'lib/lp/soyuz/doc/publishing.txt'
767--- lib/lp/soyuz/doc/publishing.txt 2010-02-09 12:32:01 +0000
768+++ lib/lp/soyuz/doc/publishing.txt 2010-03-09 20:58:30 +0000
769@@ -139,7 +139,7 @@
770 augments the IBuildSet.getStatusSummaryForBuilds() method to include the
771 'pending' state when builds are fully built but not yet published.
772
773- >>> from lp.soyuz.interfaces.build import BuildStatus
774+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
775 >>> spph = test_publisher.getPubSource(
776 ... sourcename='abc', architecturehintlist='any')
777 >>> builds = spph.createMissingBuilds()
778
779=== modified file 'lib/lp/soyuz/doc/sourcepackagerelease-build-lookup.txt'
780--- lib/lp/soyuz/doc/sourcepackagerelease-build-lookup.txt 2009-11-15 19:52:54 +0000
781+++ lib/lp/soyuz/doc/sourcepackagerelease-build-lookup.txt 2010-03-09 20:58:30 +0000
782@@ -43,7 +43,7 @@
783 >>> hoary_evo_source = hoary.getSourcePackage('evolution')
784 >>> evo_release = hoary_evo_source['1.0'].sourcepackagerelease
785
786- >>> from canonical.launchpad.interfaces import BuildStatus
787+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
788 >>> evo_build_i386 = evo_release.createBuild(
789 ... hoary_i386, pocket_release, ubuntu.main_archive,
790 ... status=BuildStatus.FULLYBUILT)
791
792=== modified file 'lib/lp/soyuz/doc/soyuz-set-of-uploads.txt'
793--- lib/lp/soyuz/doc/soyuz-set-of-uploads.txt 2010-01-31 19:36:27 +0000
794+++ lib/lp/soyuz/doc/soyuz-set-of-uploads.txt 2010-03-09 20:58:30 +0000
795@@ -620,10 +620,11 @@
796
797 Check there's a SourcePackageRelease with no build.
798
799+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
800 >>> from lp.registry.model.sourcepackagename import SourcePackageName
801- >>> from canonical.launchpad.database import SourcePackageRelease, Build
802 >>> from lp.registry.interfaces.pocket import PackagePublishingPocket
803- >>> from canonical.launchpad.interfaces import BuildStatus
804+ >>> from lp.soyuz.model.build import Build
805+ >>> from lp.soyuz.model.sourcepackagerelease import SourcePackageRelease
806 >>> spn = SourcePackageName.selectOneBy(name="baz")
807 >>> spr = SourcePackageRelease.selectOneBy(sourcepackagenameID=spn.id)
808 >>> spr_id = spr.id
809
810=== modified file 'lib/lp/soyuz/interfaces/build.py'
811--- lib/lp/soyuz/interfaces/build.py 2010-02-19 06:34:18 +0000
812+++ lib/lp/soyuz/interfaces/build.py 2010-03-09 20:58:30 +0000
813@@ -8,18 +8,16 @@
814 __metaclass__ = type
815
816 __all__ = [
817- 'BuildStatus',
818 'BuildSetStatus',
819 'CannotBeRescored',
820 'IBuild',
821 'IBuildRescoreForm',
822 'IBuildSet',
823- 'incomplete_building_status',
824 ]
825
826 from zope.interface import Interface, Attribute
827 from zope.schema import Bool, Int, Object, Text
828-from lazr.enum import DBEnumeratedType, DBItem, EnumeratedType, Item
829+from lazr.enum import EnumeratedType, Item
830
831 from canonical.launchpad import _
832 from lp.buildmaster.interfaces.buildbase import IBuildBase
833@@ -40,92 +38,6 @@
834 _message_prefix = "Cannot rescore build"
835
836
837-class BuildStatus(DBEnumeratedType):
838- """Build status type
839-
840- Builds exist in the database in a number of states such as 'complete',
841- 'needs build' and 'dependency wait'. We need to track these states in
842- order to correctly manage the autobuilder queues in the BuildQueue table.
843- """
844-
845- NEEDSBUILD = DBItem(0, """
846- Needs building
847-
848- Build record is fresh and needs building. Nothing is yet known to
849- block this build and it is a candidate for building on any free
850- builder of the relevant architecture
851- """)
852-
853- FULLYBUILT = DBItem(1, """
854- Successfully built
855-
856- Build record is an historic account of the build. The build is complete
857- and needs no further work to complete it. The build log etc are all
858- in place if available.
859- """)
860-
861- FAILEDTOBUILD = DBItem(2, """
862- Failed to build
863-
864- Build record is an historic account of the build. The build failed and
865- cannot be automatically retried. Either a new upload will be needed
866- or the build will have to be manually reset into 'NEEDSBUILD' when
867- the issue is corrected
868- """)
869-
870- MANUALDEPWAIT = DBItem(3, """
871- Dependency wait
872-
873- Build record represents a package whose build dependencies cannot
874- currently be satisfied within the relevant DistroArchSeries. This
875- build will have to be manually given back (put into 'NEEDSBUILD') when
876- the dependency issue is resolved.
877- """)
878-
879- CHROOTWAIT = DBItem(4, """
880- Chroot problem
881-
882- Build record represents a build which needs a chroot currently known
883- to be damaged or bad in some way. The buildd maintainer will have to
884- reset all relevant CHROOTWAIT builds to NEEDSBUILD after the chroot
885- has been fixed.
886- """)
887-
888- SUPERSEDED = DBItem(5, """
889- Build for superseded Source
890-
891- Build record represents a build which never got to happen because the
892- source package release for the build was superseded before the job
893- was scheduled to be run on a builder. Builds which reach this state
894- will rarely if ever be reset to any other state.
895- """)
896-
897- BUILDING = DBItem(6, """
898- Currently building
899-
900- Build record represents a build which is being build by one of the
901- available builders.
902- """)
903-
904- FAILEDTOUPLOAD = DBItem(7, """
905- Failed to upload
906-
907- Build record is an historic account of a build that could not be
908- uploaded correctly. It's mainly genereated by failures in
909- process-upload which quietly rejects the binary upload resulted
910- by the build procedure.
911- In those cases all the build historic information will be stored (
912- buildlog, datebuilt, duration, builder, etc) and the buildd admins
913- will be notified via process-upload about the reason of the rejection.
914- """)
915-
916-
917-incomplete_building_status = (
918- BuildStatus.NEEDSBUILD,
919- BuildStatus.BUILDING,
920- )
921-
922-
923 class IBuildView(IBuildBase):
924 """A Build interface for items requiring launchpad.View."""
925 id = Int(title=_('ID'), required=True, readonly=True)
926
927=== modified file 'lib/lp/soyuz/model/archive.py'
928--- lib/lp/soyuz/model/archive.py 2010-03-08 18:01:33 +0000
929+++ lib/lp/soyuz/model/archive.py 2010-03-09 20:58:30 +0000
930@@ -31,6 +31,7 @@
931 from canonical.database.enumcol import EnumCol
932 from canonical.database.sqlbase import (
933 cursor, quote, quote_like, sqlvalues, SQLBase)
934+from lp.buildmaster.interfaces.buildbase import BuildStatus
935 from lp.services.job.interfaces.job import JobStatus
936 from lp.soyuz.adapters.packagelocation import PackageLocation
937 from canonical.launchpad.components.tokens import (
938@@ -67,7 +68,7 @@
939 from lp.soyuz.interfaces.archivesubscriber import (
940 ArchiveSubscriberStatus, IArchiveSubscriberSet, ArchiveSubscriptionError)
941 from lp.soyuz.interfaces.binarypackagerelease import BinaryPackageFileType
942-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
943+from lp.soyuz.interfaces.build import IBuildSet
944 from lp.soyuz.interfaces.buildrecords import IHasBuildRecords
945 from lp.soyuz.interfaces.component import IComponent, IComponentSet
946 from lp.registry.interfaces.distroseries import IDistroSeriesSet
947
948=== modified file 'lib/lp/soyuz/model/build.py'
949--- lib/lp/soyuz/model/build.py 2010-03-05 13:52:32 +0000
950+++ lib/lp/soyuz/model/build.py 2010-03-09 20:58:30 +0000
951@@ -41,6 +41,7 @@
952 IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
953 from canonical.launchpad.webapp.tales import DurationFormatterAPI
954 from lp.archivepublisher.utils import get_ppa_reference
955+from lp.buildmaster.interfaces.buildbase import BuildStatus
956 from lp.buildmaster.interfaces.buildfarmjob import BuildFarmJobType
957 from lp.buildmaster.model.buildbase import BuildBase
958 from lp.buildmaster.model.buildqueue import BuildQueue
959@@ -49,7 +50,7 @@
960 from lp.soyuz.adapters.archivedependencies import get_components_for_building
961 from lp.soyuz.interfaces.archive import ArchivePurpose
962 from lp.soyuz.interfaces.build import (
963- BuildStatus, BuildSetStatus, CannotBeRescored, IBuild, IBuildSet)
964+ BuildSetStatus, CannotBeRescored, IBuild, IBuildSet)
965 from lp.buildmaster.interfaces.buildbase import IBuildBase
966 from lp.soyuz.interfaces.publishing import active_publishing_status
967 from lp.soyuz.model.binarypackagerelease import BinaryPackageRelease
968
969=== modified file 'lib/lp/soyuz/model/buildpackagejob.py'
970--- lib/lp/soyuz/model/buildpackagejob.py 2010-01-30 05:27:48 +0000
971+++ lib/lp/soyuz/model/buildpackagejob.py 2010-03-09 20:58:30 +0000
972@@ -17,11 +17,12 @@
973
974 from canonical.database.sqlbase import sqlvalues
975
976+from lp.buildmaster.interfaces.buildbase import BuildStatus
977 from lp.buildmaster.model.packagebuildfarmjob import PackageBuildFarmJob
978 from lp.registry.interfaces.sourcepackage import SourcePackageUrgency
979 from lp.registry.interfaces.pocket import PackagePublishingPocket
980 from lp.soyuz.interfaces.archive import ArchivePurpose
981-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
982+from lp.soyuz.interfaces.build import IBuildSet
983 from lp.soyuz.interfaces.buildpackagejob import IBuildPackageJob
984 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
985
986
987=== modified file 'lib/lp/soyuz/model/publishing.py'
988--- lib/lp/soyuz/model/publishing.py 2010-02-24 16:14:37 +0000
989+++ lib/lp/soyuz/model/publishing.py 2010-03-09 20:58:30 +0000
990@@ -31,11 +31,18 @@
991 from storm.expr import Desc, In, LeftJoin
992 from storm.store import Store
993
994-from lp.buildmaster.master import determineArchitecturesToBuild
995 from canonical.database.sqlbase import SQLBase, sqlvalues
996 from canonical.database.constants import UTC_NOW
997 from canonical.database.datetimecol import UtcDateTimeCol
998 from canonical.database.enumcol import EnumCol
999+from canonical.launchpad.components.decoratedresultset import (
1000+ DecoratedResultSet)
1001+from canonical.launchpad.webapp.interfaces import (
1002+ IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
1003+from canonical.launchpad.webapp.interfaces import NotFoundError
1004+from lp.buildmaster.interfaces.buildbase import BuildStatus
1005+from lp.buildmaster.master import determineArchitecturesToBuild
1006+from lp.registry.interfaces.person import validate_public_person
1007 from lp.registry.interfaces.pocket import PackagePublishingPocket
1008 from lp.soyuz.model.binarypackagename import BinaryPackageName
1009 from lp.soyuz.model.binarypackagerelease import BinaryPackageRelease
1010@@ -46,22 +53,16 @@
1011 from lp.soyuz.model.packagediff import PackageDiff
1012 from lp.soyuz.interfaces.archive import ArchivePurpose
1013 from lp.soyuz.interfaces.archivearch import IArchiveArchSet
1014+from lp.soyuz.interfaces.build import BuildSetStatus, IBuildSet
1015 from lp.soyuz.interfaces.component import IComponentSet
1016-from lp.soyuz.interfaces.queue import PackageUploadStatus
1017 from lp.soyuz.interfaces.publishing import (
1018 active_publishing_status, IBinaryPackageFilePublishing,
1019 IBinaryPackagePublishingHistory, IPublishingSet,
1020 ISourcePackageFilePublishing, ISourcePackagePublishingHistory,
1021 PackagePublishingPriority, PackagePublishingStatus,
1022 PoolFileOverwriteError)
1023-from lp.soyuz.interfaces.build import BuildSetStatus, BuildStatus, IBuildSet
1024+from lp.soyuz.interfaces.queue import PackageUploadStatus
1025 from lp.soyuz.scripts.changeoverride import ArchiveOverriderError
1026-from canonical.launchpad.components.decoratedresultset import (
1027- DecoratedResultSet)
1028-from canonical.launchpad.webapp.interfaces import (
1029- IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
1030-from lp.registry.interfaces.person import validate_public_person
1031-from canonical.launchpad.webapp.interfaces import NotFoundError
1032
1033
1034 # XXX cprov 2006-08-18: move it away, perhaps archivepublisher/pool.py
1035
1036=== modified file 'lib/lp/soyuz/model/sourcepackagerelease.py'
1037--- lib/lp/soyuz/model/sourcepackagerelease.py 2010-02-22 12:07:03 +0000
1038+++ lib/lp/soyuz/model/sourcepackagerelease.py 2010-03-09 20:58:30 +0000
1039@@ -34,12 +34,13 @@
1040 LibraryFileAlias, LibraryFileContent)
1041 from canonical.launchpad.helpers import shortlist
1042 from canonical.launchpad.interfaces.launchpad import ILaunchpadCelebrities
1043-from lp.translations.interfaces.translationimportqueue import (
1044- ITranslationImportQueue)
1045 from canonical.launchpad.webapp.interfaces import NotFoundError
1046 from lp.archiveuploader.utils import determine_source_file_type
1047+from lp.buildmaster.interfaces.buildbase import BuildStatus
1048+from lp.registry.interfaces.person import validate_public_person
1049+from lp.registry.interfaces.sourcepackage import (
1050+ SourcePackageType, SourcePackageUrgency)
1051 from lp.soyuz.interfaces.archive import IArchiveSet, MAIN_ARCHIVE_PURPOSES
1052-from lp.soyuz.interfaces.build import BuildStatus
1053 from lp.soyuz.interfaces.packagediff import (
1054 PackageDiffAlreadyRequested, PackageDiffStatus)
1055 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1056@@ -51,9 +52,8 @@
1057 from lp.soyuz.model.queue import (
1058 PackageUpload, PackageUploadSource)
1059 from lp.soyuz.scripts.queue import QueueActionError
1060-from lp.registry.interfaces.person import validate_public_person
1061-from lp.registry.interfaces.sourcepackage import (
1062- SourcePackageType, SourcePackageUrgency)
1063+from lp.translations.interfaces.translationimportqueue import (
1064+ ITranslationImportQueue)
1065
1066
1067 def _filter_ubuntu_translation_file(filename):
1068
1069=== modified file 'lib/lp/soyuz/scripts/gina/handlers.py'
1070--- lib/lp/soyuz/scripts/gina/handlers.py 2010-01-10 04:58:44 +0000
1071+++ lib/lp/soyuz/scripts/gina/handlers.py 2010-03-09 20:58:30 +0000
1072@@ -24,34 +24,29 @@
1073
1074 from zope.component import getUtility
1075
1076-from canonical.database.sqlbase import quote
1077+from canonical.database.sqlbase import quote, sqlvalues
1078 from canonical.database.constants import UTC_NOW
1079+from canonical.launchpad.scripts import log
1080
1081 from lp.archivepublisher.diskpool import poolify
1082 from lp.archiveuploader.tagfiles import parse_tagfile
1083 from lp.archiveuploader.utils import (determine_binary_file_type,
1084 determine_source_file_type)
1085-
1086-from canonical.database.sqlbase import sqlvalues
1087-
1088-from canonical.launchpad.scripts import log
1089-from lp.soyuz.scripts.gina.library import getLibraryAlias
1090-from lp.soyuz.scripts.gina.packages import (SourcePackageData,
1091- urgencymap, prioritymap, get_dsc_path, PoolFileNotFound)
1092-
1093-from lp.registry.model.sourcepackagename import SourcePackageName
1094-from lp.soyuz.model.component import Component
1095-from lp.soyuz.model.processor import Processor
1096-from lp.soyuz.model.section import Section
1097-from lp.soyuz.model.files import (
1098- BinaryPackageFile, SourcePackageReleaseFile)
1099-
1100+from lp.buildmaster.interfaces.buildbase import BuildStatus
1101 from lp.registry.interfaces.person import IPersonSet, PersonCreationRationale
1102 from lp.registry.interfaces.sourcepackage import SourcePackageType
1103+from lp.registry.model.sourcepackagename import SourcePackageName
1104 from lp.soyuz.interfaces.binarypackagename import IBinaryPackageNameSet
1105 from lp.soyuz.interfaces.binarypackagerelease import BinaryPackageFormat
1106-from lp.soyuz.interfaces.build import BuildStatus
1107 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1108+from lp.soyuz.model.component import Component
1109+from lp.soyuz.model.files import (
1110+ BinaryPackageFile, SourcePackageReleaseFile)
1111+from lp.soyuz.model.processor import Processor
1112+from lp.soyuz.model.section import Section
1113+from lp.soyuz.scripts.gina.library import getLibraryAlias
1114+from lp.soyuz.scripts.gina.packages import (SourcePackageData,
1115+ urgencymap, prioritymap, get_dsc_path, PoolFileNotFound)
1116
1117
1118 def check_not_in_librarian(files, archive_root, directory):
1119
1120=== modified file 'lib/lp/soyuz/scripts/packagecopier.py'
1121--- lib/lp/soyuz/scripts/packagecopier.py 2010-01-10 04:58:44 +0000
1122+++ lib/lp/soyuz/scripts/packagecopier.py 2010-03-09 20:58:30 +0000
1123@@ -20,27 +20,22 @@
1124 import os
1125 import tempfile
1126
1127+from lazr.delegates import delegates
1128 from zope.component import getUtility
1129
1130 from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
1131 from canonical.librarian.utils import copy_and_close
1132-from lazr.delegates import delegates
1133-from lp.soyuz.adapters.packagelocation import (
1134- build_package_location)
1135-from lp.soyuz.interfaces.archive import (
1136- ArchivePurpose, CannotCopy)
1137-from lp.soyuz.interfaces.build import (
1138- BuildStatus, BuildSetStatus)
1139+from lp.buildmaster.interfaces.buildbase import BuildStatus
1140+from lp.soyuz.adapters.packagelocation import build_package_location
1141+from lp.soyuz.interfaces.archive import ArchivePurpose, CannotCopy
1142+from lp.soyuz.interfaces.build import BuildSetStatus
1143 from lp.soyuz.interfaces.publishing import (
1144 IBinaryPackagePublishingHistory, IPublishingSet,
1145 ISourcePackagePublishingHistory, active_publishing_status)
1146-from lp.soyuz.interfaces.queue import (
1147- IPackageUpload, IPackageUploadSet)
1148+from lp.soyuz.interfaces.queue import IPackageUpload, IPackageUploadSet
1149 from lp.soyuz.interfaces.sourcepackageformat import SourcePackageFormat
1150-from lp.soyuz.scripts.ftpmasterbase import (
1151- SoyuzScript, SoyuzScriptError)
1152-from lp.soyuz.scripts.processaccepted import (
1153- close_bugs_for_sourcepublication)
1154+from lp.soyuz.scripts.ftpmasterbase import SoyuzScript, SoyuzScriptError
1155+from lp.soyuz.scripts.processaccepted import close_bugs_for_sourcepublication
1156
1157
1158 # XXX cprov 2009-06-12: This function could be incorporated in ILFA,
1159
1160=== modified file 'lib/lp/soyuz/scripts/tests/test_buildd_cronscripts.py'
1161--- lib/lp/soyuz/scripts/tests/test_buildd_cronscripts.py 2010-02-09 12:32:01 +0000
1162+++ lib/lp/soyuz/scripts/tests/test_buildd_cronscripts.py 2010-03-09 20:58:30 +0000
1163@@ -14,17 +14,16 @@
1164 from zope.component import getUtility
1165
1166 from canonical.config import config
1167-from lp.soyuz.model.build import Build
1168-from lp.soyuz.interfaces.build import BuildStatus
1169-from lp.soyuz.interfaces.component import IComponentSet
1170 from canonical.launchpad.scripts.logger import QuietFakeLogger
1171-from lp.soyuz.scripts.buildd import (
1172- QueueBuilder, RetryDepwait)
1173-from lp.services.scripts.base import LaunchpadScriptFailure
1174-from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
1175 from canonical.testing import (
1176 DatabaseLayer, LaunchpadLayer, LaunchpadZopelessLayer)
1177+from lp.buildmaster.interfaces.buildbase import BuildStatus
1178 from lp.registry.interfaces.distribution import IDistributionSet
1179+from lp.services.scripts.base import LaunchpadScriptFailure
1180+from lp.soyuz.interfaces.component import IComponentSet
1181+from lp.soyuz.model.build import Build
1182+from lp.soyuz.scripts.buildd import QueueBuilder, RetryDepwait
1183+from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
1184
1185
1186 class TestCronscriptBase(unittest.TestCase):
1187
1188=== modified file 'lib/lp/soyuz/scripts/tests/test_copypackage.py'
1189--- lib/lp/soyuz/scripts/tests/test_copypackage.py 2010-02-27 20:20:03 +0000
1190+++ lib/lp/soyuz/scripts/tests/test_copypackage.py 2010-03-09 20:58:30 +0000
1191@@ -22,6 +22,7 @@
1192 from lp.bugs.interfaces.bug import (
1193 CreateBugParams, IBugSet)
1194 from lp.bugs.interfaces.bugtask import BugTaskStatus
1195+from lp.buildmaster.interfaces.buildbase import BuildStatus
1196 from lp.registry.interfaces.distribution import IDistributionSet
1197 from lp.registry.interfaces.series import SeriesStatus
1198 from lp.registry.interfaces.person import IPersonSet
1199@@ -29,8 +30,7 @@
1200 from lp.soyuz.adapters.packagelocation import PackageLocationError
1201 from lp.soyuz.interfaces.archive import (
1202 ArchivePurpose, CannotCopy)
1203-from lp.soyuz.interfaces.build import (
1204- BuildSetStatus, BuildStatus)
1205+from lp.soyuz.interfaces.build import BuildSetStatus
1206 from lp.soyuz.interfaces.component import IComponentSet
1207 from lp.soyuz.interfaces.publishing import (
1208 IBinaryPackagePublishingHistory, ISourcePackagePublishingHistory,
1209
1210=== modified file 'lib/lp/soyuz/scripts/tests/test_populatearchive.py'
1211--- lib/lp/soyuz/scripts/tests/test_populatearchive.py 2010-02-19 13:40:43 +0000
1212+++ lib/lp/soyuz/scripts/tests/test_populatearchive.py 2010-03-09 20:58:30 +0000
1213@@ -17,15 +17,16 @@
1214 from canonical.launchpad.scripts import BufferLogger
1215 from canonical.testing import LaunchpadZopelessLayer
1216 from canonical.testing.layers import DatabaseLayer
1217+from lp.buildmaster.interfaces.buildbase import BuildStatus
1218 from lp.registry.interfaces.distribution import IDistributionSet
1219 from lp.registry.interfaces.person import IPersonSet
1220 from lp.services.job.interfaces.job import JobStatus
1221 from lp.soyuz.interfaces.archive import ArchivePurpose, IArchiveSet
1222 from lp.soyuz.interfaces.archivearch import IArchiveArchSet
1223-from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
1224-from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1225+from lp.soyuz.interfaces.build import IBuildSet
1226 from lp.soyuz.interfaces.packagecopyrequest import (
1227 IPackageCopyRequestSet, PackageCopyStatus)
1228+from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1229 from lp.soyuz.scripts.ftpmaster import PackageLocationError, SoyuzScriptError
1230 from lp.soyuz.scripts.populate_archive import ArchivePopulator
1231 from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
1232
1233=== modified file 'lib/lp/soyuz/stories/ppa/xx-copy-packages.txt'
1234--- lib/lp/soyuz/stories/ppa/xx-copy-packages.txt 2010-01-31 19:36:27 +0000
1235+++ lib/lp/soyuz/stories/ppa/xx-copy-packages.txt 2010-03-09 20:58:30 +0000
1236@@ -972,7 +972,7 @@
1237 ... archive=jblack_friends.archive,
1238 ... status=PackagePublishingStatus.PUBLISHED)
1239 >>> [build] = jblack_friends_foo_src.createMissingBuilds()
1240- >>> from lp.soyuz.interfaces.build import BuildStatus
1241+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
1242 >>> build.buildstate = BuildStatus.FAILEDTOBUILD
1243
1244 >>> flush_database_updates()
1245
1246=== modified file 'lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt'
1247--- lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt 2010-02-26 19:29:51 +0000
1248+++ lib/lp/soyuz/stories/ppa/xx-ubuntu-ppas.txt 2010-03-09 20:58:30 +0000
1249@@ -410,10 +410,11 @@
1250 If the ppa has some current activity (building or waiting builds) then this
1251 is also included in the statistics portlet.
1252
1253- >>> login('foo.bar@canonical.com')
1254+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
1255 >>> from lp.registry.interfaces.person import IPersonSet
1256+ >>> from lp.soyuz.interfaces.build import IBuildSet
1257+ >>> login('foo.bar@canonical.com')
1258 >>> cprov_ppa = getUtility(IPersonSet).getByName('cprov').archive
1259- >>> from lp.soyuz.interfaces.build import BuildStatus, IBuildSet
1260 >>> builds = getUtility(IBuildSet).getBuildsForArchive(cprov_ppa)
1261 >>> builds[0].buildstate = BuildStatus.BUILDING
1262 >>> logout()
1263
1264=== modified file 'lib/lp/soyuz/stories/soyuz/xx-build-record.txt'
1265--- lib/lp/soyuz/stories/soyuz/xx-build-record.txt 2010-02-24 14:23:31 +0000
1266+++ lib/lp/soyuz/stories/soyuz/xx-build-record.txt 2010-03-09 20:58:30 +0000
1267@@ -146,7 +146,7 @@
1268 # build with an known buildlog 'tail'.
1269 >>> login('foo.bar@canonical.com')
1270 >>> from canonical.database.constants import UTC_NOW
1271- >>> from lp.soyuz.interfaces.build import BuildStatus
1272+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
1273 >>> in_progress_build.buildqueue_record.reset()
1274 >>> build.buildqueue_record.markAsBuilding(bob_builder)
1275 >>> build.buildqueue_record.logtail = 'one line\nanother line'
1276
1277=== modified file 'lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt'
1278--- lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt 2009-11-20 18:07:15 +0000
1279+++ lib/lp/soyuz/stories/soyuz/xx-buildfarm-index.txt 2010-03-09 20:58:30 +0000
1280@@ -60,7 +60,7 @@
1281 >>> import datetime
1282 >>> from zope.component import getUtility
1283 >>> from zope.security.proxy import removeSecurityProxy
1284- >>> from lp.soyuz.interfaces.build import BuildStatus
1285+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
1286 >>> from lp.registry.interfaces.person import IPersonSet
1287 >>> login('foo.bar@canonical.com')
1288 >>> cprov = getUtility(IPersonSet).getByName('cprov')
1289
1290=== modified file 'lib/lp/soyuz/stories/webservice/xx-builds.txt'
1291--- lib/lp/soyuz/stories/webservice/xx-builds.txt 2009-08-13 15:12:16 +0000
1292+++ lib/lp/soyuz/stories/webservice/xx-builds.txt 2010-03-09 20:58:30 +0000
1293@@ -174,7 +174,7 @@
1294 alter the buildstate to one that cannot be retried:
1295
1296 >>> login('foo.bar@canonical.com')
1297- >>> from lp.soyuz.interfaces.build import BuildStatus
1298+ >>> from lp.buildmaster.interfaces.buildbase import BuildStatus
1299 >>> build.buildstate = BuildStatus.FAILEDTOUPLOAD
1300 >>> logout()
1301
1302
1303=== modified file 'lib/lp/soyuz/tests/test_archive.py'
1304--- lib/lp/soyuz/tests/test_archive.py 2010-02-27 21:18:10 +0000
1305+++ lib/lp/soyuz/tests/test_archive.py 2010-03-09 20:58:30 +0000
1306@@ -15,6 +15,7 @@
1307 IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
1308 from canonical.testing import LaunchpadZopelessLayer
1309
1310+from lp.buildmaster.interfaces.buildbase import BuildStatus
1311 from lp.registry.interfaces.distribution import IDistributionSet
1312 from lp.registry.interfaces.person import IPersonSet
1313 from lp.services.job.interfaces.job import JobStatus
1314@@ -22,7 +23,6 @@
1315 IArchiveSet, ArchivePurpose, CannotSwitchPrivacy)
1316 from lp.soyuz.interfaces.archivearch import IArchiveArchSet
1317 from lp.soyuz.interfaces.binarypackagerelease import BinaryPackageFormat
1318-from lp.soyuz.interfaces.build import BuildStatus
1319 from lp.soyuz.interfaces.processor import IProcessorFamilySet
1320 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1321 from lp.soyuz.model.build import Build
1322
1323=== modified file 'lib/lp/soyuz/tests/test_build.py'
1324--- lib/lp/soyuz/tests/test_build.py 2010-03-06 00:32:52 +0000
1325+++ lib/lp/soyuz/tests/test_build.py 2010-03-09 20:58:30 +0000
1326@@ -13,16 +13,16 @@
1327 from canonical.database.constants import UTC_NOW
1328 from canonical.testing import LaunchpadZopelessLayer
1329 from lp.services.job.model.job import Job
1330-from lp.buildmaster.interfaces.buildbase import IBuildBase
1331+from lp.buildmaster.interfaces.buildbase import BuildStatus, IBuildBase
1332 from lp.buildmaster.interfaces.builder import IBuilderSet
1333 from lp.buildmaster.model.buildqueue import BuildQueue
1334+from lp.soyuz.interfaces.build import IBuild, IBuildSet
1335 from lp.soyuz.interfaces.component import IComponentSet
1336-from lp.soyuz.interfaces.build import BuildStatus, IBuild, IBuildSet
1337 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1338 from lp.soyuz.model.buildpackagejob import BuildPackageJob
1339 from lp.soyuz.model.processor import ProcessorFamilySet
1340+from lp.soyuz.tests.soyuzbuilddhelpers import WaitingSlave
1341 from lp.soyuz.tests.test_publishing import SoyuzTestPublisher
1342-from lp.soyuz.tests.soyuzbuilddhelpers import WaitingSlave
1343 from lp.testing import TestCaseWithFactory
1344
1345
1346
1347=== modified file 'lib/lp/soyuz/tests/test_buildpackagejob.py'
1348--- lib/lp/soyuz/tests/test_buildpackagejob.py 2010-01-30 05:27:48 +0000
1349+++ lib/lp/soyuz/tests/test_buildpackagejob.py 2010-03-09 20:58:30 +0000
1350@@ -11,9 +11,9 @@
1351 IStoreSelector, MAIN_STORE, DEFAULT_FLAVOR)
1352 from canonical.testing import LaunchpadZopelessLayer
1353
1354+from lp.buildmaster.interfaces.buildbase import BuildStatus
1355 from lp.buildmaster.interfaces.builder import IBuilderSet
1356 from lp.soyuz.interfaces.archive import ArchivePurpose
1357-from lp.soyuz.interfaces.build import BuildStatus
1358 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1359 from lp.soyuz.model.build import Build
1360 from lp.soyuz.model.processor import ProcessorFamilySet
1361
1362=== modified file 'lib/lp/soyuz/tests/test_packageupload.py'
1363--- lib/lp/soyuz/tests/test_packageupload.py 2009-12-13 11:55:40 +0000
1364+++ lib/lp/soyuz/tests/test_packageupload.py 2010-03-09 20:58:30 +0000
1365@@ -14,12 +14,12 @@
1366 from canonical.testing import LaunchpadZopelessLayer
1367 from email import message_from_string
1368 from lp.archiveuploader.tests import datadir
1369+from lp.buildmaster.interfaces.buildbase import BuildStatus
1370 from lp.registry.interfaces.distribution import IDistributionSet
1371 from lp.registry.interfaces.series import SeriesStatus
1372 from lp.registry.interfaces.pocket import PackagePublishingPocket
1373 from lp.services.mail import stub
1374 from lp.soyuz.interfaces.archive import ArchivePurpose
1375-from lp.soyuz.interfaces.build import BuildStatus
1376 from lp.soyuz.interfaces.publishing import PackagePublishingStatus
1377 from lp.soyuz.interfaces.queue import (
1378 IPackageUploadSet, PackageUploadCustomFormat, PackageUploadStatus)
1379
1380=== modified file 'lib/lp/soyuz/tests/test_publishing.py'
1381--- lib/lp/soyuz/tests/test_publishing.py 2010-02-27 20:20:03 +0000
1382+++ lib/lp/soyuz/tests/test_publishing.py 2010-03-09 20:58:30 +0000
1383@@ -14,34 +14,34 @@
1384 import pytz
1385 from zope.component import getUtility
1386
1387-from lp.archivepublisher.config import Config
1388-from lp.archivepublisher.diskpool import DiskPool
1389 from canonical.config import config
1390 from canonical.database.constants import UTC_NOW
1391-from lp.soyuz.model.publishing import (
1392- SourcePackagePublishingHistory, BinaryPackagePublishingHistory)
1393-from lp.soyuz.model.processor import ProcessorFamily
1394-from lp.soyuz.interfaces.component import IComponentSet
1395 from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
1396-from lp.soyuz.interfaces.section import ISectionSet
1397 from canonical.launchpad.webapp.interfaces import NotFoundError
1398+from canonical.testing import LaunchpadZopelessLayer
1399+from lp.archivepublisher.config import Config
1400+from lp.archivepublisher.diskpool import DiskPool
1401+from lp.buildmaster.interfaces.buildbase import BuildStatus
1402 from lp.registry.interfaces.distribution import IDistributionSet
1403 from lp.registry.interfaces.person import IPersonSet
1404 from lp.registry.interfaces.pocket import PackagePublishingPocket
1405 from lp.registry.interfaces.sourcepackage import SourcePackageUrgency
1406 from lp.registry.interfaces.sourcepackagename import ISourcePackageNameSet
1407+from lp.soyuz.model.processor import ProcessorFamily
1408+from lp.soyuz.model.publishing import (
1409+ SourcePackagePublishingHistory, BinaryPackagePublishingHistory)
1410 from lp.soyuz.interfaces.archive import ArchivePurpose
1411 from lp.soyuz.interfaces.archivearch import IArchiveArchSet
1412 from lp.soyuz.interfaces.binarypackagename import IBinaryPackageNameSet
1413 from lp.soyuz.interfaces.binarypackagerelease import BinaryPackageFormat
1414-from lp.soyuz.interfaces.build import BuildStatus
1415-from lp.soyuz.interfaces.queue import PackageUploadStatus
1416+from lp.soyuz.interfaces.component import IComponentSet
1417+from lp.soyuz.interfaces.section import ISectionSet
1418 from lp.soyuz.interfaces.publishing import (
1419 PackagePublishingPriority, PackagePublishingStatus)
1420+from lp.soyuz.interfaces.queue import PackageUploadStatus
1421 from canonical.launchpad.scripts import FakeLogger
1422 from lp.testing import TestCaseWithFactory
1423 from lp.testing.factory import LaunchpadObjectFactory
1424-from canonical.testing import LaunchpadZopelessLayer
1425
1426
1427 class SoyuzTestPublisher:
1428
1429=== modified file 'lib/lp/soyuz/tests/test_publishing_models.py'
1430--- lib/lp/soyuz/tests/test_publishing_models.py 2010-01-31 19:36:27 +0000
1431+++ lib/lp/soyuz/tests/test_publishing_models.py 2010-03-09 20:58:30 +0000
1432@@ -10,7 +10,7 @@
1433 from canonical.database.constants import UTC_NOW
1434 from canonical.testing import LaunchpadZopelessLayer
1435
1436-from lp.soyuz.interfaces.build import BuildStatus
1437+from lp.buildmaster.interfaces.buildbase import BuildStatus
1438 from lp.soyuz.interfaces.publishing import (IPublishingSet,
1439 PackagePublishingStatus)
1440 from lp.soyuz.tests.test_build import BaseTestCaseWithThreeBuilds
1441
1442=== modified file 'lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py'
1443--- lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py 2010-03-06 00:32:52 +0000
1444+++ lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py 2010-03-09 20:58:30 +0000
1445@@ -14,10 +14,10 @@
1446
1447 from canonical.launchpad.interfaces import ILaunchpadCelebrities
1448 from canonical.launchpad.interfaces.librarian import ILibraryFileAliasSet
1449+from lp.buildmaster.interfaces.buildbase import BuildStatus
1450 from lp.buildmaster.interfaces.buildfarmjobbehavior import (
1451 IBuildFarmJobBehavior)
1452 from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet
1453-from lp.soyuz.interfaces.build import BuildStatus
1454 from lp.testing import TestCaseWithFactory
1455 from lp.testing.fakemethod import FakeMethod
1456
1457
1458=== modified file 'scripts/ftpmaster-tools/buildd-mass-retry.py'
1459--- scripts/ftpmaster-tools/buildd-mass-retry.py 2009-10-13 14:38:07 +0000
1460+++ scripts/ftpmaster-tools/buildd-mass-retry.py 2010-03-09 20:58:30 +0000
1461@@ -20,12 +20,12 @@
1462
1463 from canonical.database.sqlbase import ISOLATION_LEVEL_READ_COMMITTED
1464 from canonical.launchpad.interfaces import NotFoundError
1465-from lp.registry.interfaces.distribution import IDistributionSet
1466-from lp.soyuz.interfaces.build import BuildStatus
1467-from lp.registry.interfaces.pocket import PackagePublishingPocket
1468 from canonical.launchpad.scripts import (
1469 execute_zcml_for_scripts, logger_options, logger)
1470 from canonical.lp import initZopeless
1471+from lp.buildmaster.interfaces.buildbase import BuildStatus
1472+from lp.registry.interfaces.distribution import IDistributionSet
1473+from lp.registry.interfaces.pocket import PackagePublishingPocket
1474
1475
1476 def main():
1477
1478=== modified file 'scripts/ftpmaster-tools/initialise-from-parent.py'
1479--- scripts/ftpmaster-tools/initialise-from-parent.py 2009-11-17 02:33:27 +0000
1480+++ scripts/ftpmaster-tools/initialise-from-parent.py 2010-03-09 20:58:30 +0000
1481@@ -25,11 +25,11 @@
1482 from canonical.config import config
1483 from canonical.database.sqlbase import (
1484 sqlvalues, flush_database_updates, cursor, flush_database_caches)
1485-from canonical.lp import initZopeless
1486-from lp.soyuz.interfaces.queue import PackageUploadStatus
1487 from canonical.launchpad.interfaces import IDistributionSet, NotFoundError
1488 from canonical.launchpad.scripts import (
1489 execute_zcml_for_scripts, logger, logger_options)
1490+from canonical.lp import initZopeless
1491+from lp.soyuz.interfaces.queue import PackageUploadStatus
1492
1493
1494 def main():
1495@@ -107,8 +107,8 @@
1496 via initialiseFromParent method.
1497 """
1498 # Avoid circular import.
1499+ from lp.buildmaster.interfaces.buildbase import BuildStatus
1500 from lp.registry.interfaces.pocket import PackagePublishingPocket
1501- from lp.soyuz.interfaces.build import BuildStatus
1502
1503 parentseries = distroseries.parent_series
1504