yeni pspec formatı (history) desteği, pisinizi güncelleyin
önceki pisi-index.xml ve eski binary paketler ile uyuşmayacaktır cachelerinizi siliniz
This commit is contained in:
+2
-1
@@ -122,7 +122,8 @@ class MetaData(XmlFile):
|
|||||||
self.package.license = pkg.license
|
self.package.license = pkg.license
|
||||||
self.package.runtimeDeps = pkg.runtimeDeps
|
self.package.runtimeDeps = pkg.runtimeDeps
|
||||||
self.package.paths = pkg.paths
|
self.package.paths = pkg.paths
|
||||||
self.package.history = src.history # FIXME
|
# FIXME: no need to copy full history with comments
|
||||||
|
self.package.history = src.history
|
||||||
self.package.conflicts = pkg.conflicts
|
self.package.conflicts = pkg.conflicts
|
||||||
self.package.providesComar = pkg.providesComar
|
self.package.providesComar = pkg.providesComar
|
||||||
self.package.requiresComar = pkg.requiresComar
|
self.package.requiresComar = pkg.requiresComar
|
||||||
|
|||||||
+29
-18
@@ -135,35 +135,37 @@ class PatchInfo:
|
|||||||
class UpdateInfo:
|
class UpdateInfo:
|
||||||
def __init__(self, node = None):
|
def __init__(self, node = None):
|
||||||
if node:
|
if node:
|
||||||
|
self.release = getNodeAttribute(node, "release")
|
||||||
|
self.type = getNodeAttribute(node, "type")
|
||||||
self.date = getNodeText(getNode(node, "Date"))
|
self.date = getNodeText(getNode(node, "Date"))
|
||||||
self.version = getNodeText(getNode(node, "Version"))
|
self.version = getNodeText(getNode(node, "Version"))
|
||||||
self.release = getNodeText(getNode(node, "Release"))
|
self.comment = getNodeText(getNode(node, "Comment"))
|
||||||
self.type = getNodeText(getNode(node, "Type"))
|
self.name = getNodeText(getNode(node, "Name"))
|
||||||
|
self.email = getNodeText(getNode(node, "Email"))
|
||||||
else:
|
else:
|
||||||
self.type = None
|
self.type = None
|
||||||
|
|
||||||
def elt(self, xml):
|
def elt(self, xml):
|
||||||
node = xml.newNode("Update")
|
node = xml.newNode("Update")
|
||||||
|
node.setAttribute("release", self.release)
|
||||||
xml.addTextNodeUnder(node, "Date", self.date)
|
xml.addTextNodeUnder(node, "Date", self.date)
|
||||||
xml.addTextNodeUnder(node, "Version", self.version)
|
xml.addTextNodeUnder(node, "Version", self.version)
|
||||||
xml.addTextNodeUnder(node, "Release", self.release)
|
xml.addTextNodeUnder(node, "Comment", self.comment)
|
||||||
|
xml.addTextNodeUnder(node, "Name", self.name)
|
||||||
|
xml.addTextNodeUnder(node, "Email", self.email)
|
||||||
if self.type:
|
if self.type:
|
||||||
xml.addTextNodeUnder(node, "Type", self.type)
|
node.setAttribute("type", self.type)
|
||||||
return node
|
return node
|
||||||
|
|
||||||
def has_errors(self):
|
def has_errors(self):
|
||||||
err = Checks()
|
err = Checks()
|
||||||
err.has_tag(self.date, "Update", "Date")
|
err.has_tag(self.date, "Update", "Date")
|
||||||
err.has_tag(self.version, "Update", "Version")
|
err.has_tag(self.version, "Update", "Version")
|
||||||
err.has_tag(self.release, "Update", "Release")
|
|
||||||
return err.list
|
return err.list
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
s = self.date
|
return "%s, ver=%s, rel=%s, type=%s" % (
|
||||||
s += ", ver=" + self.version
|
self.data, self.version, self.release, self.type)
|
||||||
s += ", rel=" + self.release
|
|
||||||
s += ", type=" + self.type
|
|
||||||
return s
|
|
||||||
|
|
||||||
class PathInfo:
|
class PathInfo:
|
||||||
def __init__(self, node = None):
|
def __init__(self, node = None):
|
||||||
@@ -236,8 +238,6 @@ class SourceInfo:
|
|||||||
buildDepElts = getAllNodes(node,
|
buildDepElts = getAllNodes(node,
|
||||||
"BuildDependencies/Dependency")
|
"BuildDependencies/Dependency")
|
||||||
self.buildDeps = [DepInfo(d) for d in buildDepElts]
|
self.buildDeps = [DepInfo(d) for d in buildDepElts]
|
||||||
historyElts = getAllNodes(node, "History/Update")
|
|
||||||
self.history = [UpdateInfo(x) for x in historyElts]
|
|
||||||
|
|
||||||
def elt(self, xml):
|
def elt(self, xml):
|
||||||
node = xml.newNode("Source")
|
node = xml.newNode("Source")
|
||||||
@@ -276,12 +276,8 @@ class SourceInfo:
|
|||||||
err.add(_("Source archive URI and type should be given"))
|
err.add(_("Source archive URI and type should be given"))
|
||||||
if not self.archiveSHA1:
|
if not self.archiveSHA1:
|
||||||
errd.add(_("Source archive should have a SHA1 sum"))
|
errd.add(_("Source archive should have a SHA1 sum"))
|
||||||
if len(self.history) <= 0:
|
|
||||||
err.add(_("Source needs some education in History :)"))
|
|
||||||
|
|
||||||
err.join(self.packager.has_errors())
|
err.join(self.packager.has_errors())
|
||||||
for update in self.history:
|
|
||||||
err.join(update.has_errors())
|
|
||||||
for patch in self.patches:
|
for patch in self.patches:
|
||||||
err.join(patch.has_errors())
|
err.join(patch.has_errors())
|
||||||
for dep in self.buildDeps:
|
for dep in self.buildDeps:
|
||||||
@@ -334,6 +330,7 @@ class PackageInfo:
|
|||||||
xml.addNodeUnder(node, "RuntimeDependencies", dep.elt(xml))
|
xml.addNodeUnder(node, "RuntimeDependencies", dep.elt(xml))
|
||||||
for path in self.paths:
|
for path in self.paths:
|
||||||
xml.addNodeUnder(node, "Files", path.elt(xml))
|
xml.addNodeUnder(node, "Files", path.elt(xml))
|
||||||
|
# FIXME: no need to put full history with comments in metafile.xml
|
||||||
for update in self.history:
|
for update in self.history:
|
||||||
xml.addNodeUnder(node, "History", update.elt(xml))
|
xml.addNodeUnder(node, "History", update.elt(xml))
|
||||||
for conflict in self.conflicts:
|
for conflict in self.conflicts:
|
||||||
@@ -395,11 +392,14 @@ class SpecFile(XmlFile):
|
|||||||
|
|
||||||
self.source = SourceInfo(self.getNode("Source"))
|
self.source = SourceInfo(self.getNode("Source"))
|
||||||
|
|
||||||
|
historyElts = getAllNodes(self.getNode("History"), "Update")
|
||||||
|
self.history = [UpdateInfo(x) for x in historyElts]
|
||||||
|
|
||||||
# As we have no Source/Version tag we need to get
|
# As we have no Source/Version tag we need to get
|
||||||
# the last version and release information
|
# the last version and release information
|
||||||
# from the first child of History/Update. And it works :)
|
# from the first child of History/Update. And it works :)
|
||||||
self.source.version = self.source.history[0].version
|
self.source.version = self.history[0].version
|
||||||
self.source.release = self.source.history[0].release
|
self.source.release = self.history[0].release
|
||||||
|
|
||||||
# find all binary packages
|
# find all binary packages
|
||||||
packageElts = self.getAllNodes("Package")
|
packageElts = self.getAllNodes("Package")
|
||||||
@@ -408,8 +408,15 @@ class SpecFile(XmlFile):
|
|||||||
self.merge_tags()
|
self.merge_tags()
|
||||||
self.override_tags()
|
self.override_tags()
|
||||||
|
|
||||||
|
#FIXME: copy only needed information
|
||||||
|
# no need to keep full history with comments in metadata.xml
|
||||||
|
self.source.history = self.history
|
||||||
|
for p in self.packages:
|
||||||
|
p.history = self.history
|
||||||
|
|
||||||
self.unlink()
|
self.unlink()
|
||||||
|
|
||||||
|
|
||||||
errs = self.has_errors()
|
errs = self.has_errors()
|
||||||
if errs:
|
if errs:
|
||||||
e = ""
|
e = ""
|
||||||
@@ -471,6 +478,10 @@ class SpecFile(XmlFile):
|
|||||||
errs.add(_("There should be at least one Package section"))
|
errs.add(_("There should be at least one Package section"))
|
||||||
for p in self.packages:
|
for p in self.packages:
|
||||||
err.join(p.has_errors())
|
err.join(p.has_errors())
|
||||||
|
if len(self.history) <= 0:
|
||||||
|
err.add(_("Source needs some education in History :)"))
|
||||||
|
for update in self.history:
|
||||||
|
err.join(update.has_errors())
|
||||||
return err.list
|
return err.list
|
||||||
|
|
||||||
def write(self, filename):
|
def write(self, filename):
|
||||||
|
|||||||
+3
-1
@@ -540,7 +540,9 @@ if errors:
|
|||||||
printu("***")
|
printu("***")
|
||||||
|
|
||||||
if len(sys.argv) > 2:
|
if len(sys.argv) > 2:
|
||||||
if sys.argv[2] == "packager":
|
if sys.argv[2] == "check":
|
||||||
|
sys.exit(0)
|
||||||
|
elif sys.argv[2] == "packager":
|
||||||
if len(sys.argv) > 3:
|
if len(sys.argv) > 3:
|
||||||
packagers[unicode(sys.argv[3].decode('utf-8'))].report()
|
packagers[unicode(sys.argv[3].decode('utf-8'))].report()
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|||||||
Reference in New Issue
Block a user