Package buildbot :: Package steps :: Package package :: Package rpm :: Module rpmlint
[frames] | no frames]

Source Code for Module buildbot.steps.package.rpm.rpmlint

 1  # This file is part of Buildbot.  Buildbot is free software: you can 
 2  # redistribute it and/or modify it under the terms of the GNU General Public 
 3  # License as published by the Free Software Foundation, version 2. 
 4  # 
 5  # This program is distributed in the hope that it will be useful, but WITHOUT 
 6  # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
 7  # FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more 
 8  # details. 
 9  # 
10  # You should have received a copy of the GNU General Public License along with 
11  # this program; if not, write to the Free Software Foundation, Inc., 51 
12  # Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 
13  # 
14  # Portions Copyright Buildbot Team Members 
15  # Portions Copyright Steve 'Ashcrow' Milner <smilner+buildbot@redhat.com> 
16  """ 
17  Steps and objects related to rpmlint. 
18  """ 
19   
20  from buildbot.steps.shell import Test 
21   
22   
23 -class RpmLint(Test):
24 """ 25 Rpmlint build step. 26 """ 27 28 description = ["Checking for RPM/SPEC issues"] 29 descriptionDone = ["Finished checking RPM/SPEC issues"] 30
31 - def __init__(self, fileloc="*rpm", **kwargs):
32 """ 33 Create the Rpmlint object. 34 35 @type fileloc: str 36 @param fileloc: Location glob of the specs or rpms. 37 @type kwargs: dict 38 @param fileloc: all other keyword arguments. 39 """ 40 Test.__init__(self, **kwargs) 41 self.command = ["/usr/bin/rpmlint", "-i"] 42 self.command.append(fileloc)
43
44 - def createSummary(self, log):
45 """ 46 Create nice summary logs. 47 48 @param log: log to create summary off of. 49 """ 50 warnings = [] 51 errors = [] 52 for line in log.readlines(): 53 if ' W: ' in line: 54 warnings.append(line) 55 elif ' E: ' in line: 56 errors.append(line) 57 self.addCompleteLog('Rpmlint Warnings', "".join(warnings)) 58 self.addCompleteLog('Rpmlint Errors', "".join(errors))
59