#!/usr/bin/env python3
class dependentPackageData(object):
def __init__(self):
self.package = ""
self.version = ""
self.compare = ""
class Package(object):
def __init__(self, buildarch, basePkg=None):
self.summary = ""
self.name = ""
self.group = ""
self.license = ""
self.version = ""
self.release = ""
self.buildarch = buildarch
self.distribution = "Photon"
self.basePkgName = ""
self.URL = ""
self.sources = []
self.checksums = {}
self.patches = []
self.buildrequires = []
self.buildprovides = []
self.checkbuildrequires = []
self.extrabuildrequires = []
self.buildrequiresnative = []
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:
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
if macro.macroName == "%postun":
self.postunMacro = macro
if macro.macroName == "%files":
self.filesMacro = macro
if macro.macroName == "%description":
self.descriptionMacro = macro
class SpecObject(object):
def __init__(self):
self.name = ""
self.version = ""
self.release = ""
# map subpackage name to its buildarch
self.buildarch = {}
# list of subpackage names
self.listPackages = []
# list of subpackage names that have %files section
self.listRPMPackages = []
# Next five lists store dependentPackageData objects
self.buildRequires = []
self.installRequires = []
self.checkBuildRequires = []
self.extraBuildRequires = []
self.buildRequiresNative = []
"""
map subpackage name to list of install requires
dependentPackageData objects
"""
self.installRequiresPackages = {}
# full spec file name
self.specFile = ""
self.listSources = []
self.checksums = {}
self.listPatches = []
self.securityHardening = ""
self.url = ""
self.sourceurl = ""
self.license = ""