From: Seth Vidal Date: Sat, 17 Jan 2004 06:04:00 +0000 (+0000) Subject: fix bug where not all files were getting included X-Git-Tag: upstream/0.9.9~318 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ef6c5864304c0616a1b76beb11612841e7c5e206;p=tools%2Fcreaterepo.git fix bug where not all files were getting included make the directory detection more reliable --- diff --git a/dumpMetadata.py b/dumpMetadata.py index 564b14f..11321eb 100644 --- a/dumpMetadata.py +++ b/dumpMetadata.py @@ -26,7 +26,7 @@ import sha import types import struct import re - +import stat def returnHdr(ts, package): @@ -246,7 +246,7 @@ class RpmMetaData: def _stringToVersion(self, strng): i = strng.find(':') if i != -1: - epoch = long(strng[:i]) + epoch = strng[:i] else: epoch = '0' j = strng.find('-') @@ -367,21 +367,17 @@ class RpmMetaData: """produces lists of dirs and files for this header in two lists""" files = self.listTagByName('filenames') - fileclasses = self.listTagByName('fileclass') fileflags = self.listTagByName('fileflags') - filetuple = zip(files, fileclasses, fileflags) - classdict = self.listTagByName('classdict') - for (file, fileclass, flags) in filetuple: - if fileclass is None or file is None: # this is a dumb test - self.filenames.append(file) - continue - if (flags & 64): # check for ghost - self.ghostnames.append(file) - continue - if classdict[fileclass] == 'directory': - self.dirnames.append(file) + filemodes = self.listTagByName('filemodes') + filetuple = zip(files, filemodes, fileflags) + for (file, mode, flag) in filetuple: + if stat.S_ISDIR(mode): + self.dirnames.append(file) else: - self.filenames.append(file) + if (flag & 64): + self.ghostnames.append(file) + else: + self.filenames.append(file) def usefulFiles(self): diff --git a/genpkgmetadata.py b/genpkgmetadata.py index f4de6f2..7062c25 100755 --- a/genpkgmetadata.py +++ b/genpkgmetadata.py @@ -250,6 +250,7 @@ def doPkgMetadata(cmds, ts): else: output = node.serialize(None, 1) basefile.write(output) + basefile.write('\n') node.unlinkNode() node.freeNode() del node @@ -262,6 +263,7 @@ def doPkgMetadata(cmds, ts): else: output = node.serialize(None, 1) flfile.write(output) + flfile.write('\n') node.unlinkNode() node.freeNode() del node @@ -274,6 +276,7 @@ def doPkgMetadata(cmds, ts): else: output = node.serialize(None, 1) otherfile.write(output) + otherfile.write('\n') node.unlinkNode() node.freeNode() del node