From 8cfcc141b2d2c7f7a27731b624f2483c7cfff7f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Fri, 7 Jul 2023 12:56:34 +0200 Subject: [PATCH] Use rpm.files instead of rpm.fi RPM 4.19 removed a deprecated rpm.fi class in favour of rpm.files: # rpmconf -a Traceback (most recent call last): File "/usr/sbin/rpmconf", line 105, in main() File "/usr/sbin/rpmconf", line 95, in main rconf.run() File "/usr/lib/python3.11/site-packages/rpmconf/rpmconf.py", line 122, in run tested_files += self._handle_package(pkg_hdr) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/rpmconf/rpmconf.py", line 346, in _handle_package for conf_file in self.get_list_of_config(package): ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/site-packages/rpmconf/rpmconf.py", line 159, in get_list_of_config files = rpm.fi(package) # pylint: disable=no-member ^^^^^^ AttributeError: module 'rpm' has no attribute 'fi'. Did you mean: 'fd'? This patch fixes it by porting to rpm.files API. According to RPM git log, the new API is available since 2013. Thus I did not implement any fallback. --- rpmconf/rpmconf.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rpmconf/rpmconf.py b/rpmconf/rpmconf.py index 8d54d67..e020525 100755 --- a/rpmconf/rpmconf.py +++ b/rpmconf/rpmconf.py @@ -154,11 +154,11 @@ def get_list_of_config(self, package): :rtype: list """ - files = rpm.fi(package) # pylint: disable=no-member + files = rpm.files(package) # pylint: disable=no-member result = [] for rpm_file in files: - if rpm_file[4] & rpm.RPMFILE_CONFIG: # pylint: disable=no-member - file_name = rpm_file[0] + if rpm_file.fflags & rpm.RPMFILE_CONFIG: # pylint: disable=no-member + file_name = rpm_file.name if self.root: file_name = os.path.normpath(self.root + file_name) result.append(file_name)