From ef6c5864304c0616a1b76beb11612841e7c5e206 Mon Sep 17 00:00:00 2001 From: Seth Vidal Date: Sat, 17 Jan 2004 06:04:00 +0000 Subject: [PATCH] fix bug where not all files were getting included make the directory detection more reliable --- dumpMetadata.py | 26 +++++++++++--------------- genpkgmetadata.py | 3 +++ 2 files changed, 14 insertions(+), 15 deletions(-) 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 -- 2.34.1