~launchpad-pqm/launchpad/devel

13269.2.3 by Jonathan Lange
Mark up the files that have surprising special dependency requirements due
1
# Copyright 2009-2011 Canonical Ltd.  This software is licensed under the
8687.15.8 by Karl Fogel
Add the copyright header block to more files.
2
# GNU Affero General Public License version 3 (see the file LICENSE).
3
13269.2.4 by Jonathan Lange
Change them to XXXs.
4
# XXX: JonathanLange 2011-06-21 bug=800295: The only modules in the Launchpad
5
# tree that this is permitted to depend on are canonical.buildd and
6
# canonical.launchpad.daemons.readyservice, since canonical.buildd is deployed
7
# by copying lib/canonical/buildd,
13269.2.3 by Jonathan Lange
Mark up the files that have surprising special dependency requirements due
8
# lib/canonical/launchpad/daemons/readyservice.py and daemons/buildd-slave.tac
9
# only.
10
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
11
# Buildd Slave implementation
1264 by Canonical.com Patch Queue Manager
Bob the builder! (initial buildd slave implementation)
12
# XXX: dsilvers: 2005/01/21: Currently everything logged in the slave gets
13
# passed through to the twistd log too. this could get dangerous/big
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
14
15
from twisted.application import service, strports
10134.2.1 by William Grant
Factor the binary package building stuff out of DebianBuildManager.
16
from canonical.buildd import XMLRPCBuildDSlave
17
from canonical.buildd.binarypackage import BinaryPackageBuildManager
10134.3.1 by William Grant
Add and register skeleton SourcePackageRecipeBuildManager.
18
from canonical.buildd.sourcepackagerecipe import (
19
    SourcePackageRecipeBuildManager)
12126.5.4 by Curtis Hovey
Hush lint. Removed test for bad data...the was fixed.
20
from canonical.buildd.translationtemplates import (
21
    TranslationTemplatesBuildManager)
11765.1.1 by Robert Collins
Split out the launchpad-buildd needed component from tachandler.py.
22
from canonical.launchpad.daemons import readyservice
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
23
2556 by Canonical.com Patch Queue Manager
Add /filecache/ to build slave, rev protocol to 2, rev package to v9. r=stevea
24
from twisted.web import server, resource, static
25
from ConfigParser import SafeConfigParser
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
26
27
import os
28
1311 by Canonical.com Patch Queue Manager
Move buildd master to new scripts dir, and buildd slave to new daemons dir
29
conffile = os.environ.get('BUILDD_SLAVE_CONFIG', 'buildd-slave-example.conf')
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
30
2556 by Canonical.com Patch Queue Manager
Add /filecache/ to build slave, rev protocol to 2, rev package to v9. r=stevea
31
conf = SafeConfigParser()
32
conf.read(conffile)
33
slave = XMLRPCBuildDSlave(conf)
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
34
10134.2.2 by William Grant
'debian' is now an alias for 'binarypackage', the new name for BinaryPackageBuildManager.
35
# 'debian' is the old name. It remains here for compatibility.
36
slave.registerBuilder(BinaryPackageBuildManager, "debian")
37
slave.registerBuilder(BinaryPackageBuildManager, "binarypackage")
10134.3.1 by William Grant
Add and register skeleton SourcePackageRecipeBuildManager.
38
slave.registerBuilder(SourcePackageRecipeBuildManager, "sourcepackagerecipe")
12126.5.4 by Curtis Hovey
Hush lint. Removed test for bad data...the was fixed.
39
slave.registerBuilder(
40
    TranslationTemplatesBuildManager, 'translation-templates')
1264 by Canonical.com Patch Queue Manager
Bob the builder! (initial buildd slave implementation)
41
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
42
application = service.Application('BuildDSlave')
43
builddslaveService = service.IServiceCollection(application)
44
2240 by Canonical.com Patch Queue Manager
My librarian-cleanups branch, held up by baz confusion. r=BjornT
45
# Service that announces when the daemon is ready
11765.1.1 by Robert Collins
Split out the launchpad-buildd needed component from tachandler.py.
46
readyservice.ReadyService().setServiceParent(builddslaveService)
2240 by Canonical.com Patch Queue Manager
My librarian-cleanups branch, held up by baz confusion. r=BjornT
47
2556 by Canonical.com Patch Queue Manager
Add /filecache/ to build slave, rev protocol to 2, rev package to v9. r=stevea
48
root = resource.Resource()
2606 by Canonical.com Patch Queue Manager
Build Daemon protocol rework. r=spiv
49
root.putChild('rpc', slave)
2556 by Canonical.com Patch Queue Manager
Add /filecache/ to build slave, rev protocol to 2, rev package to v9. r=stevea
50
root.putChild('filecache', static.File(conf.get('slave', 'filecache')))
51
slavesite = server.Site(root)
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
52
12126.5.4 by Curtis Hovey
Hush lint. Removed test for bad data...the was fixed.
53
strports.service(slave.slave._config.get("slave","bindport"),
2556 by Canonical.com Patch Queue Manager
Add /filecache/ to build slave, rev protocol to 2, rev package to v9. r=stevea
54
                 slavesite).setServiceParent(builddslaveService)
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
55
56
# You can interact with a running slave like this:
1311 by Canonical.com Patch Queue Manager
Move buildd master to new scripts dir, and buildd slave to new daemons dir
57
# (assuming the slave is on localhost:8221)
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
58
#
59
# python
60
# import xmlrpclib
10134.1.18 by Aaron Bentley
Get buildd able to start building
61
# s = xmlrpclib.ServerProxy("http://localhost:8221/rpc")
1193 by Canonical.com Patch Queue Manager
Merge in the buildd stuff so I can start a 2005 archive
62
# s.echo("Hello World")