Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class PackageFactory(BuildFactory):
- from buildbot.steps.shell import ShellCommand
- from buildbot.process.properties import Property
- def __init__(self, project, projectdir, git, distro, arches, **kwargs):
- self._project = project
- self._projectdir = projectdir
- self._git = git
- self._distro = distro
- self._buildroot = "build"
- self._workdir = os.path.join(self._buildroot, self._projectdir)
- self._base_master_path = os.path.join("public_html", "pkgs", self._distro, self._project)
- self._base_pkg_url = "/" + os.path.join("buildbot", "pkgs", self._distro, self._project)
- BuildFactory.__init__(self, **kwargs)
- self.addStep(Git(workdir=self._workdir, repourl=self._git, mode='full'))
- self.addStep(FileDownload(workdir=self._buildroot, mastersrc="~/local-files/debian-packaging/debian_" + self._project + ".tar.gz", slavedest="debian.tar.gz"))
- self.addStep(ShellCommand(workdir=self._workdir, command=["tar", "xvzf", "../debian.tar.gz"], logEnviron=False, name="debian prep"))
- #self.addStep(Autogen(workdir=self._workdir))
- # use haltOnFailure=True later
- #self.addStep(PyFlakes(command=["pyflakes", "."], haltOnFailure=True))
- self.addStep(PyFlakes(command=["pyflakes", "."]))
- self.addStep(DebGetVersion(workdir=self._workdir))
- #self.addStep(UpstreamGetVersion(workdir=self._workdir))
- self.addStep(shell.SetPropertyFromCommand(command='grep version setup.py | grep = | cut -d = -f2 | cut -d"\'" -f2 ', property="upstreamPkgVer"))
- self.addStep(DebComputeNewVersion(master_path=self._base_master_path, pkg_url=self._base_pkg_url))
- self.addStep(DebDch(workdir=self._workdir))
- self.addStep(DebBuildorig(workdir=self._workdir))
- self.addStep(DebTempDir(workdir=self._workdir))
- for arch in arches:
- self.addStep(DebCowbuilder(workdir=self._workdir, distribution=distro, architecture=arch, warningPattern='IDONTWANTANYWARNINGHERE'))
- self.addStep(DebCollectSrc(workdir=self._workdir))
- self.addStep(DebCollectBin(workdir=self._workdir))
- self.addStep(DebPrepareUpload(workdir=self._workdir))
- self.addStep(DirectoryUpload(slavesrc=Interpolate("%(prop:debTempDir)s"), masterdest=Interpolate("%(prop:masterPath)s"), url=Interpolate("%(prop:pkgUrl)s")))
- self.addStep(DebPackages())
- self.addStep(DebSources())
- # Add back when fixed
- #self.addStep(PyLint(command=["pylint", "."]))
- self.addStep(RepoLinkCurrent(to="latest", path=self._base_master_path))
- self.addStep(RemoveDirectory(dir=Interpolate("%(prop:debTempDir)s", alwaysRun=True)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement