From 06128f304f160e3e5223991c42fa3708e90f3eaa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Lepied?= Date: Tue, 27 Jun 2000 08:12:48 +0000 Subject: [PATCH] * (_gatherDepInfo) corrected the conflicts and provides acquisition. git-svn-id: svn+ssh://rpmlint.zarb.org/home/projects/rpmlint/svn/trunk@182 9bc8b190-ac0f-0410-8968-dc7d1f502856 --- Pkg.py | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/Pkg.py b/Pkg.py index a731ee5f..278da7e7 100644 --- a/Pkg.py +++ b/Pkg.py @@ -211,20 +211,40 @@ class Pkg: self._requires = [] self._prereq = [] self._provides = [] + self._conflicts = [] + names = self.header[rpm.RPMTAG_REQUIRENAME] versions = self.header[rpm.RPMTAG_REQUIREVERSION] flags = self.header[rpm.RPMTAG_REQUIREFLAGS] - for loop in range(len(versions)): - if flags[loop] & rpm.RPMSENSE_PREREQ: - self._prereq.append((names[loop], versions[loop], flags[loop] & (not rpm.RPMSENSE_PREREQ))) - else: - self._requires.append((names[loop], versions[loop], flags[loop])) + if versions: + # workaroung buggy rpm python module that doesn't return a list + if type(flags) != types.ListType: + flags=[flags] + for loop in range(len(versions)): + if flags[loop] & rpm.RPMSENSE_PREREQ: + self._prereq.append((names[loop], versions[loop], flags[loop] & (not rpm.RPMSENSE_PREREQ))) + else: + self._requires.append((names[loop], versions[loop], flags[loop])) + names = self.header[rpm.RPMTAG_CONFLICTNAME] versions = self.header[rpm.RPMTAG_CONFLICTVERSION] flags = self.header[rpm.RPMTAG_CONFLICTFLAGS] - print names, versions, flags - for loop in range(len(versions)): - self._provides.append((names[loop], versions[loop], flags[loop])) + if versions: + # workaroung buggy rpm python module that doesn't return a list + if type(flags) != types.ListType: + flags=[flags] + for loop in range(len(versions)): + self._conflicts.append((names[loop], versions[loop], flags[loop])) + + names = self.header[rpm.RPMTAG_PROVIDENAME] + versions = self.header[rpm.RPMTAG_PROVIDEVERSION] + flags = self.header[rpm.RPMTAG_PROVIDEFLAGS] + if versions: + # workaroung buggy rpm python module that doesn't return a list + if type(flags) != types.ListType: + flags=[flags] + for loop in range(len(versions)): + self._provides.append((names[loop], versions[loop], flags[loop])) if __name__ == '__main__': import sys