Index: third_party/buildbot_7_12/buildbot/steps/package/rpm/rpmbuild.py |
diff --git a/third_party/buildbot_7_12/buildbot/steps/package/rpm/rpmbuild.py b/third_party/buildbot_7_12/buildbot/steps/package/rpm/rpmbuild.py |
deleted file mode 100644 |
index 38bce85b8e3fe7efb50595efc00fdf3c1446a967..0000000000000000000000000000000000000000 |
--- a/third_party/buildbot_7_12/buildbot/steps/package/rpm/rpmbuild.py |
+++ /dev/null |
@@ -1,144 +0,0 @@ |
-# Dan Radez <dradez+buildbot@redhat.com> |
-# Steve 'Ashcrow' Milner <smilner+buildbot@redhat.com> |
-# |
-# This software may be freely redistributed under the terms of the GNU |
-# general public license. |
-# |
-# You should have received a copy of the GNU General Public License |
-# along with this program; if not, write to the Free Software |
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
-""" |
-RPM Building steps. |
-""" |
- |
-from buildbot.steps.shell import ShellCommand |
-from buildbot.process.buildstep import RemoteShellCommand |
- |
- |
-class RpmBuild(ShellCommand): |
- """ |
- Build and RPM based on pased spec filename |
- """ |
- |
- import os.path |
- |
- name = "rpmbuilder" |
- haltOnFailure = 1 |
- flunkOnFailure = 1 |
- description = ["RPMBUILD"] |
- descriptionDone = ["RPMBUILD"] |
- |
- def __init__(self, |
- specfile=None, |
- topdir='`pwd`', |
- builddir='`pwd`', |
- rpmdir='`pwd`', |
- sourcedir='`pwd`', |
- specdir='`pwd`', |
- srcrpmdir='`pwd`', |
- dist='.el5', |
- autoRelease=False, |
- vcsRevision=False, |
- **kwargs): |
- """ |
- Creates the RpmBuild object. |
- |
- @type specfile: str |
- @param specfile: the name of the spec file for the rpmbuild |
- @type topdir: str |
- @param topdir: the top directory for rpm building. |
- @type builddir: str |
- @param builddir: the directory to use for building |
- @type rpmdir: str |
- @param rpmdir: the directory to dump the rpms into |
- @type sourcedir: str |
- @param sourcedir: the directory that houses source code |
- @type srcrpmdir: str |
- @param srcrpmdir: the directory to dump source rpms into |
- @type dist: str |
- @param dist: the distribution to build for |
- @type autoRelease: boolean |
- @param autoRelease: if the auto release mechanics should be used |
- @type vcsRevision: boolean |
- @param vcsRevision: if the vcs revision mechanics should be used |
- @type kwargs: dict |
- @param kwargs: All further keyword arguments. |
- """ |
- ShellCommand.__init__(self, **kwargs) |
- self.addFactoryArguments(topdir=topdir, |
- builddir=builddir, |
- rpmdir=rpmdir, |
- sourcedir=sourcedir, |
- specdir=specdir, |
- srcrpmdir=srcrpmdir, |
- specfile=specfile, |
- dist=dist, |
- autoRelease=autoRelease, |
- vcsRevision=vcsRevision) |
- self.rpmbuild = ( |
- 'rpmbuild --define "_topdir %s" --define "_builddir %s"' |
- ' --define "_rpmdir %s" --define "_sourcedir %s"' |
- ' --define "_specdir %s" --define "_srcrpmdir %s"' |
- ' --define "dist %s"' % (topdir, builddir, rpmdir, sourcedir, |
- specdir, srcrpmdir, dist)) |
- self.specfile = specfile |
- self.autoRelease = autoRelease |
- self.vcsRevision = vcsRevision |
- |
- def start(self): |
- """ |
- Buildbot Calls Me when it's time to start |
- """ |
- if self.autoRelease: |
- relfile = '%s.release' % ( |
- self.os.path.basename(self.specfile).split('.')[0]) |
- try: |
- rfile = open(relfile, 'r') |
- rel = int(rfile.readline().strip()) |
- rfile.close() |
- except: |
- rel = 0 |
- self.rpmbuild = self.rpmbuild + ' --define "_release %s"' % rel |
- rfile = open(relfile, 'w') |
- rfile.write(str(rel+1)) |
- rfile.close() |
- |
- if self.vcsRevision: |
- self.rpmbuild = self.rpmbuild + ' --define "_revision %s"' % \ |
- self.getProperty('got_revision') |
- |
- self.rpmbuild = self.rpmbuild + ' -ba %s' % self.specfile |
- |
- self.command = ['bash', '-c', self.rpmbuild] |
- |
- # create the actual RemoteShellCommand instance now |
- kwargs = self.remote_kwargs |
- kwargs['command'] = self.command |
- cmd = RemoteShellCommand(**kwargs) |
- self.setupEnvironment(cmd) |
- self.checkForOldSlaveAndLogfiles() |
- self.startCommand(cmd) |
- |
- def createSummary(self, log): |
- """ |
- Create nice summary logs. |
- |
- @param log: The log to create summary off of. |
- """ |
- rpm_prefixes = ['Provides:', 'Requires(rpmlib):', 'Requires:', |
- 'Checking for unpackaged', 'Wrote:', |
- 'Executing(%', '+ '] |
- rpm_err_pfx = [' ', 'RPM build errors:', 'error: '] |
- |
- rpmcmdlog = [] |
- rpmerrors = [] |
- |
- for line in log.readlines(): |
- for pfx in rpm_prefixes: |
- if pfx in line: |
- rpmcmdlog.append(line) |
- for err in rpm_err_pfx: |
- if err in line: |
- rpmerrors.append(line) |
- self.addCompleteLog('RPM Command Log', "".join(rpmcmdlog)) |
- self.addCompleteLog('RPM Errors', "".join(rpmerrors)) |