Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 584960 Details for
Bug 817154
Kernel- Check OS kernel build fails with MRG-RT kernel
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
redhatrelease.py patch add in check and parsing for mrg release file
redhatrelease.patch (text/plain), 6.42 KB, created by
Greg Nichols
on 2012-05-16 13:33:50 UTC
(
hide
)
Description:
redhatrelease.py patch add in check and parsing for mrg release file
Filename:
MIME Type:
Creator:
Greg Nichols
Created:
2012-05-16 13:33:50 UTC
Size:
6.42 KB
patch
obsolete
>Index: redhatrelease.py >=================================================================== >--- redhatrelease.py (revision 1287) >+++ redhatrelease.py (working copy) >@@ -14,35 +14,32 @@ > # Author: Greg Nichols > # > import string, os, sys, re >+ >+class Release: >+ def __init__(self, file): > >-class RedHatRelease: >- >- def __init__(self): > self.product = None > self.version = None > self.update = None > self.codeName = None > self.candidate = None > self.valid = False >- self.kernel = None >- self.arch = None >- self.kernelRPMName = None >- self.kernelDevelRPMName = None >- self.kernelFlavor = None >- self.debugKernel = False > >- self._read() >- self._parse() >- self.__getKernelInfo() >- >- def _read(self): >- f=open("/etc/redhat-release") >- self.text=f.readline() >- f.close() > >- def _parse(self): >+ self.__read(file) >+ self.__parse() >+ >+ def __read(self, file): >+ try: >+ f=open(file) >+ self.text=f.readline() >+ f.close() >+ except: >+ pass >+ >+ def __parse(self): > if self.text: >- pattern = re.compile("^(?P<product>[a-zA-Z\ ]+)release (?P<number>[0-9\.]+)(?P<candidate>[a-zA-Z0-9\ ]+)\((?P<name>[a-zA-Z0-9\ ]+)\)") >+ pattern = re.compile("^(?P<product>[a-zA-Z\ ]+)release (?P<number>[0-9\.]+)(?P<candidate>[a-zA-Z0-9\ ]+)(\((?P<name>[a-zA-Z0-9\ ]+)\))?") > match = pattern.match(self.text) > if not match: > self.valid = False >@@ -65,7 +62,58 @@ > self.update = int(nameParts[2]) > if match.group("candidate") and len(match.group("candidate").strip()) > 0: > self.candidate = match.group("candidate").strip() >+ >+ >+ def isValid(self): >+ return self.valid and self.product and self.version >+ >+ def getProduct(self): return self.product >+ def getVersion(self): return self.version >+ def getUpdate(self): return self.update >+ def getCodeName(self): return self.codeName >+ def getCandidate(self): return self.candidate >+ def getVersionPointUpdate(self): >+ if self.update: >+ return "%u.%u" % (self.version, self.update) >+ else: >+ return "%u" % self.version >+ >+ >+ def dump(self): >+ print "" >+ print self.text >+ print "-------------------------------" >+ print "Product: \"" + self.getProduct() + "\"" >+ print "Version: \"" + str(self.getVersion()) + "\"" >+ print "Update: \"" + str(self.getUpdate()) + "\"" >+ print "Version.Update \"" + self.getVersionPointUpdate() + "\"" >+ if self.candidate: >+ print "Candidate: \"" + self.getCandidate() + "\"" >+ if self.codeName: >+ print "Code Name: \"" + self.getCodeName() + "\"" >+ if not self.isValid(): >+ print "Not Valid" >+ def parse(self): >+ self.__parse() >+ >+class RedHatRelease(Release): >+ >+ def __init__(self): >+ Release.__init__(self, "/etc/redhat-release") >+ self.kernel = None >+ self.arch = None >+ self.kernelRPMName = None >+ self.kernelDevelRPMName = None >+ self.kernelFlavor = None >+ self.debugKernel = False >+ self.realtimeRelease = None >+ self.kernelVersionRelease = None >+ >+ self.realtimeRelease = Release("/etc/mrg-realtime-release") >+ >+ self.__getKernelInfo() > >+ > def __getKernelInfo(self): > uname = os.popen('uname -r') > self.kernel = uname.readline()[:-1] >@@ -151,15 +199,10 @@ > else: > return False > >- def isValid(self): >- return self.valid and self.product and self.version and self.codeName >+ > > >- def getProduct(self): return self.product >- def getVersion(self): return self.version >- def getUpdate(self): return self.update >- def getCodeName(self): return self.codeName >- def getCandidate(self): return self.candidate >+ > def getKernelRPMName(self): return self.kernelRPMName > def getKernelDevelRPMName(self): return self.kernelDevelRPMName > def getKernel(self): return self.kernel >@@ -167,31 +210,27 @@ > def getArch(self): return self.arch > def getKernelFlavor(self): return self.kernelFlavor > def kernelIsDebug(self): return self.debugKernel >+ def getRealTimeRelease(self): >+ if self.realtimeRelease and self.realtimeRelease.isValid(): >+ return self.realtimeRelease >+ # otherwise >+ return None > > >- def getVersionPointUpdate(self): >- if self.update: >- return "%u.%u" % (self.version, self.update) >- else: >- return "%u" % self.version > > > > def dump(self): >- print "" >- print self.text >- print "-------------------------------" >- print "Product: \"" + self.getProduct() + "\"" >- print "Version: \"" + str(self.getVersion()) + "\"" >- print "Update: \"" + str(self.getUpdate()) + "\"" >- print "Version.Update \"" + self.getVersionPointUpdate() + "\"" >+ Release.dump(self) >+ > print "Kernel Version \"" + self.getKernelVersionRelease() + "\"" >- if self.candidate: >- print "Candidate: \"" + self.getCandidate() + "\"" >- print "Code Name: \"" + self.getCodeName() + "\"" >- if not self.isValid(): >- print "Not Valid" >+ if self.getRealTimeRelease(): >+ print "Realtime:" >+ self.getRealTimeRelease().dump() > >+ >+ >+ > def unit_test(): > PASSED = 0 > FAILED = 1 >@@ -206,13 +245,14 @@ > "Red Hat Enterprise Linux release 4 (Bogus Update 3)", > "Red Hat Enterprise Linux Server release 5.5 Beta (Tikanga)", > "Red Hat Enterprise Linux release 6.0 Beta (Santiago)", >- "Red Hat Enterprise Linux Server release 7.0 Alpha1 (Maipo)" >+ "Red Hat Enterprise Linux Server release 7.0 Alpha1 (Maipo)", >+ "Red Hat MRG Realtime Linux release 2.2.0" > ) > > for text in texts: > print "\n" > redHatRelease.text = text >- redHatRelease._parse() >+ redHatRelease.parse() > redHatRelease.dump() > if not redHatRelease.isValid(): > print "Error: text parsing failed"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 817154
: 584960 |
584961
|
585400
|
585411
|
585428
|
585429
|
587401