From bb7fd9745a5af9bd90fb335f04e13d3d0047e1ba Mon Sep 17 00:00:00 2001 From: Vaishnavi S Date: Fri, 16 Jan 2026 08:41:17 +0530 Subject: [PATCH 1/3] Fix RPM class: add package and full_version properties Signed-off-by: Vaishnavi S --- src/packagedcode/pyrpm.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/packagedcode/pyrpm.py b/src/packagedcode/pyrpm.py index 09c5b91be49..ab9a7ec2860 100644 --- a/src/packagedcode/pyrpm.py +++ b/src/packagedcode/pyrpm.py @@ -586,7 +586,18 @@ def source_rpm(self): @property def package(self): - return '-'.join([self.name, self.version]) + """ + Return the RPM package identifier: name-version. + Example: bash-4.4.20 + """ + return f"{self.name}-{self.version}" + + @property + def full_version(self): + """Return version + release, similar to package property""" + if self.release: + return f"{self.version}-{self.release}" + return self.version @property def files_digest_algo(self): From 287393638fa457f4c503a2271b65e04624ee54a5 Mon Sep 17 00:00:00 2001 From: Vaishnavi S Date: Fri, 16 Jan 2026 09:02:24 +0530 Subject: [PATCH 2/3] Fix truncated RPM package versions by including release in package property Signed-off-by: Vaishnavi S --- src/packagedcode/pyrpm.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/packagedcode/pyrpm.py b/src/packagedcode/pyrpm.py index ab9a7ec2860..6721b82c851 100644 --- a/src/packagedcode/pyrpm.py +++ b/src/packagedcode/pyrpm.py @@ -587,10 +587,14 @@ def source_rpm(self): @property def package(self): """ - Return the RPM package identifier: name-version. - Example: bash-4.4.20 + Return the full RPM package identifier: name-version-release if release exists. + Example: bash-4.4.20-4.el8_6 """ - return f"{self.name}-{self.version}" + parts = [self.name, self.version] + if self.release: + parts.append(self.release) + return '-'.join(parts) + @property def full_version(self): From 9a1b542dc3b2d86bba39af69b5a5fff43b0f7bcd Mon Sep 17 00:00:00 2001 From: Vaishnavi S Date: Fri, 16 Jan 2026 13:57:44 +0530 Subject: [PATCH 3/3] Fix RPM package version to include release and add tests Signed-off-by: Vaishnavi S --- src/packagedcode/pyrpm.py | 6 +++--- tests/packagedcode/test_pyrpm.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/packagedcode/pyrpm.py b/src/packagedcode/pyrpm.py index 6721b82c851..fa63416ee7e 100644 --- a/src/packagedcode/pyrpm.py +++ b/src/packagedcode/pyrpm.py @@ -609,12 +609,12 @@ def files_digest_algo(self): @property def filename(self): - name = '-'.join([self.package, self.release]) + name = self.package arch = self.arch if self.is_binary: - ext = 'rpm' + ext = 'rpm' else: - ext = 'src.rpm' + ext = 'src.rpm' return '.'.join([name, arch, ext]) def get_tags(self): diff --git a/tests/packagedcode/test_pyrpm.py b/tests/packagedcode/test_pyrpm.py index 119666cb91e..7a560034cdc 100644 --- a/tests/packagedcode/test_pyrpm.py +++ b/tests/packagedcode/test_pyrpm.py @@ -60,7 +60,8 @@ def test_rpm(self): assert rpm[pyrpm.RPMTAG_COPYRIGHT] == 'BSD' assert rpm[pyrpm.RPMTAG_DESCRIPTION] == description assert rpm.is_binary is True - assert rpm.package == 'Eterm-0.9.3' + assert rpm.package == 'Eterm-0.9.3-5mdv2007.0' + assert rpm.full_version == '0.9.3-5mdv2007.0' assert rpm.filename == 'Eterm-0.9.3-5mdv2007.0.i586.rpm' expected = {