Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package rpmlint for openSUSE:Factory checked 
in at 2026-04-26 21:11:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rpmlint (Old)
 and      /work/SRC/openSUSE:Factory/.rpmlint.new.11940 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rpmlint"

Sun Apr 26 21:11:17 2026 rev:535 rq:1349108 version:2.9.0+git20260417.eb98d54d

Changes:
--------
--- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes  2026-04-16 
17:25:07.494874008 +0200
+++ /work/SRC/openSUSE:Factory/.rpmlint.new.11940/rpmlint.changes       
2026-04-26 21:13:02.841672272 +0200
@@ -1,0 +2,14 @@
+Fri Apr 17 08:40:25 UTC 2026 - Matthias Gerstner <[email protected]>
+
+- Update to version 2.9.0+git20260417.eb98d54d:
+  * test: add test coverage for PermissionsParser in SUIDPermissionsCheck
+  * pkg.py: FakePkg.add_file_with_content(): support custom file mode
+  * PermissionsParser: fix parse error when spaces occur between package names 
(bsc#1262166)
+
+-------------------------------------------------------------------
+Tue Apr 14 08:22:48 UTC 2026 - Wolfgang Frisch <[email protected]>
+
+- Update to version 2.9.0+git20260414.1a000082:
+  * dbus-services: systemd v260 (bsc#1259318)
+
+-------------------------------------------------------------------

Old:
----
  rpmlint-2.9.0+git20260413.9633b0c5.tar.xz

New:
----
  rpmlint-2.9.0+git20260417.eb98d54d.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rpmlint.spec ++++++
--- /var/tmp/diff_new_pack.zVgC9a/_old  2026-04-26 21:13:03.685706757 +0200
+++ /var/tmp/diff_new_pack.zVgC9a/_new  2026-04-26 21:13:03.689706921 +0200
@@ -1,6 +1,7 @@
 #
 # spec file for package rpmlint
 #
+# Copyright (c) 2026 SUSE LLC
 # Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
@@ -23,7 +24,7 @@
 %define name_suffix -%{flavor}
 %endif
 Name:           rpmlint%{name_suffix}
-Version:        2.9.0+git20260413.9633b0c5
+Version:        2.9.0+git20260417.eb98d54d
 Release:        0
 Summary:        RPM file correctness checker
 License:        GPL-2.0-or-later

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.zVgC9a/_old  2026-04-26 21:13:03.757709699 +0200
+++ /var/tmp/diff_new_pack.zVgC9a/_new  2026-04-26 21:13:03.765710026 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/rpm-software-management/rpmlint.git</param>
-              <param 
name="changesrevision">9633b0c522d4f9c218d0606210d2b647e9478444</param></service></servicedata>
+              <param 
name="changesrevision">eb98d54d7712f7717ab91d887b47fb0cc23e4249</param></service></servicedata>
 (No newline at EOF)
 

++++++ rpmlint-2.9.0+git20260413.9633b0c5.tar.xz -> 
rpmlint-2.9.0+git20260417.eb98d54d.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rpmlint-2.9.0+git20260413.9633b0c5/configs/openSUSE/dbus-services.toml 
new/rpmlint-2.9.0+git20260417.eb98d54d/configs/openSUSE/dbus-services.toml
--- old/rpmlint-2.9.0+git20260413.9633b0c5/configs/openSUSE/dbus-services.toml  
2026-04-13 12:09:46.000000000 +0200
+++ new/rpmlint-2.9.0+git20260417.eb98d54d/configs/openSUSE/dbus-services.toml  
2026-04-17 10:34:14.000000000 +0200
@@ -619,7 +619,7 @@
 package = "systemd-container"
 type = "dbus"
 note = "imported from rpmlint1 DBUSServices.WhiteList"
-bugs = ["bsc#828207", "bsc#1192033", "bsc#1257388", "bsc#1255368"]
+bugs = ["bsc#828207", "bsc#1192033", "bsc#1257388", "bsc#1255368", 
"bsc#1259318"]
 [[FileDigestGroup.digests]]
 path = "/usr/share/dbus-1/system-services/org.freedesktop.machine1.service"
 digester = "shell"
@@ -633,7 +633,7 @@
 package = "systemd-container"
 type = "dbus"
 note = "imported from rpmlint1 DBUSServices.WhiteList"
-bug = "bsc#964935"
+bugs = ["bsc#964935", "bsc#1259318"]
 [[FileDigestGroup.digests]]
 path = "/usr/share/dbus-1/system-services/org.freedesktop.import1.service"
 digester = "shell"
@@ -641,7 +641,7 @@
 [[FileDigestGroup.digests]]
 path = "/usr/share/dbus-1/system.d/org.freedesktop.import1.conf"
 digester = "xml"
-hash = "9c6f8a5703892843b4b9386ad5ce2ba264e35cf98e5af3d6b032df55bb2d4b0c"
+hash = "426f75e9a68216b346ba6421a35b2d0645b3fb52a2865328e351959193ffddb3"
 
 [[FileDigestGroup]]
 package = "geoclue2"
@@ -1339,12 +1339,12 @@
 [[FileDigestGroup]]
 package  = "systemd-experimental"
 note     = "update management of operating system assets like containers"
-bug      = "bsc#1237106"
+bugs     = ["bsc#1237106", "bsc#1259318"]
 type     = "dbus"
 [[FileDigestGroup.digests]]
 path     = "/usr/share/dbus-1/system.d/org.freedesktop.sysupdate1.conf"
 digester = "xml"
-hash     = "92233ffa14abcd0b21710963d67ce86f4ea4acd3efa52474d386800b3cc7646c"
+hash     = "db654b66f9731235bc34eabd313146ce67f87ba1a4870b61c6efb5ef669bd3b1"
 [[FileDigestGroup.digests]]
 path     = 
"/usr/share/dbus-1/system-services/org.freedesktop.sysupdate1.service"
 digester = "shell"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rpmlint-2.9.0+git20260413.9633b0c5/rpmlint/permissions.py 
new/rpmlint-2.9.0+git20260417.eb98d54d/rpmlint/permissions.py
--- old/rpmlint-2.9.0+git20260413.9633b0c5/rpmlint/permissions.py       
2026-04-13 12:09:46.000000000 +0200
+++ new/rpmlint-2.9.0+git20260417.eb98d54d/rpmlint/permissions.py       
2026-04-17 10:34:14.000000000 +0200
@@ -171,7 +171,11 @@
             for entry in context.active_entries:
                 entry.caps = caps
         elif line.startswith(':package:'):
-            parts = line.split()
-            self._active_packages = parts[1].split(',')
+            # get rid of any trailing comment
+            line = line.split('#')[0]
+            # get rid of the :package: prefix
+            parts = line.split(None, 1)
+            # split comma-separated package names and strip each part from 
spaces
+            self._active_packages = [part.strip() for part in 
parts[1].split(',')]
         else:
             raise Exception(f'Unexpected line encountered in 
{context.label}:{context.line_nr}')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/rpmlint-2.9.0+git20260413.9633b0c5/rpmlint/pkg.py 
new/rpmlint-2.9.0+git20260417.eb98d54d/rpmlint/pkg.py
--- old/rpmlint-2.9.0+git20260413.9633b0c5/rpmlint/pkg.py       2026-04-13 
12:09:46.000000000 +0200
+++ new/rpmlint-2.9.0+git20260417.eb98d54d/rpmlint/pkg.py       2026-04-17 
10:34:14.000000000 +0200
@@ -904,7 +904,7 @@
 
         return pkgdir
 
-    def add_file_with_content(self, name, content, metadata=None, **flags):
+    def add_file_with_content(self, name, content, metadata=None, perms=0o644, 
**flags):
         """
         Add file to the FakePkg and fill the file with provided
         string content.
@@ -912,7 +912,7 @@
         path = os.path.join(self.dir_name(), name.lstrip('/'))
         pkg_file = PkgFile(name)
         pkg_file.path = path
-        pkg_file.mode = stat.S_IFREG | 0o0644
+        pkg_file.mode = stat.S_IFREG | perms
         pkg_file.user = 'root'
         pkg_file.group = 'root'
         self.files[name] = pkg_file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rpmlint-2.9.0+git20260413.9633b0c5/test/configs/permissions.secure 
new/rpmlint-2.9.0+git20260417.eb98d54d/test/configs/permissions.secure
--- old/rpmlint-2.9.0+git20260413.9633b0c5/test/configs/permissions.secure      
2026-04-13 12:09:46.000000000 +0200
+++ new/rpmlint-2.9.0+git20260417.eb98d54d/test/configs/permissions.secure      
2026-04-17 10:34:14.000000000 +0200
@@ -3,3 +3,5 @@
 /var/lib/testsuidpermissionscheck/test_permissions_incorrect_owner abc:root   
600
 /var/lib/testsuidpermissionscheck/test_permissions_file_as_dir/  root:root   
755
 /var/lib/testsuidpermissionscheck/test_permissions_dir_without_slash  
root:root   755
+:package: first, second   #  funny comment , :stuff:
+/test/path/one root:root 04755
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/rpmlint-2.9.0+git20260413.9633b0c5/test/test_suid_permissions.py 
new/rpmlint-2.9.0+git20260417.eb98d54d/test/test_suid_permissions.py
--- old/rpmlint-2.9.0+git20260413.9633b0c5/test/test_suid_permissions.py        
2026-04-13 12:09:46.000000000 +0200
+++ new/rpmlint-2.9.0+git20260417.eb98d54d/test/test_suid_permissions.py        
2026-04-17 10:34:14.000000000 +0200
@@ -4,12 +4,29 @@
 import pytest
 from rpmlint.checks.SUIDPermissionsCheck import SUIDPermissionsCheck
 from rpmlint.filter import Filter
+from rpmlint.pkg import FakePkg
 
 import Testing
 from Testing import get_tested_mock_package
 from Testing import get_tested_package, get_tested_path
 
 
+class FakePermPkg(FakePkg):
+
+    def __init__(self, name, paths):
+        super().__init__(name)
+        if not isinstance(paths, list):
+            paths = [paths]
+        # we need to add some extra ingredients for the SUIDPermissionsCheck
+        # to be satisfied with a fake package.
+        script = '\n'.join([f'permctl -n  {path}' for path in paths])
+        self.add_header({
+            'POSTIN': script,
+            'VERIFYSCRIPT': script
+        })
+        self.prereq.append(['permissions'])
+
+
 def get_suid_permissions_check(config_path):
     from rpmlint.config import Config
 
@@ -186,3 +203,26 @@
     out = output.print_results(output.results)
     assert 'permissions-missing-postin' not in out
     assert 'permissions-missing-verifyscript' not in out
+
+
+def get_fake_pkg_check():
+    output, test = get_suid_permissions_check(Testing.TEST_CONFIG[0])
+    test._parse_profile(str(get_tested_path('configs/permissions.secure')))
+    return output, test
+
+
+def test_permissions_package_coupling():
+    output, test = get_fake_pkg_check()
+
+    # check that the multi-package specification works correctly, this package
+    # should be accepted
+    with FakePermPkg('second', '/test/path/one') as pkg:
+        pkg.add_file_with_content('/test/path/one', 'stuff', perms=0o4755)
+        test.check(pkg)
+        assert len(output.results) == 0
+
+    # this is an unrelated package which should actually be complained about
+    with FakePermPkg('third', '/test/path/one') as pkg:
+        pkg.add_file_with_content('/test/path/one', 'stuff', perms=0o4755)
+        test.check(pkg)
+        assert len(output.results) == 1

Reply via email to