class rpmMacro(object): def __init__(self): self.macroName="" self.macroFlag="" self.content="" self.position=-1 self.endposition=-1 def setName(self,name): self.macroName=name def displayMacro(self): print "Macro:\n", self.macroName, " ",self.macroFlag," ",self.position," ",self.endposition print self.content class dependentPackageData(object): def __init__(self): self.package="" self.version="" self.compare="" class Package(object): def __init__(self, basePkg=None): self.summary="" self.name="" self.group="" self.license="" self.version="" self.release="" self.buildarch="x86_64" self.distribution="Photon" self.basePkgName="" self.URL="" self.sources=[] self.checksums={} self.patches=[] self.buildrequires=[] self.buildprovides=[] self.checkbuildrequires=[] self.requires=[] self.provides=[] self.obsoletes=[] self.conflicts=[] self.descriptionMacro= None self.postMacro=None self.postunMacro=None self.filesMacro=None self.packageMacro=None if basePkg is not None: self.basePkgName=basePkg.name self.group=basePkg.group self.license=basePkg.license self.version=basePkg.version self.buildarch=basePkg.buildarch self.release=basePkg.release self.distribution=basePkg.distribution def updatePackageMacro(self,macro): if macro.macroName == "%post": self.postMacro=macro return True if macro.macroName == "%postun": self.postunMacro=macro return True if macro.macroName == "%files": self.filesMacro=macro return True if macro.macroName == "%description": self.descriptionMacro = macro return True return False