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-08-24 12:01:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpmlint (Old) and /work/SRC/openSUSE:Factory/.rpmlint.new.1258 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint" Mon Aug 24 12:01:59 2026 rev:547 rq:1372854 version:2.10.0+git20260819.485e0ded Changes: -------- --- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2026-08-09 21:33:35.090591547 +0200 +++ /work/SRC/openSUSE:Factory/.rpmlint.new.1258/rpmlint.changes 2026-08-24 12:02:57.294475861 +0200 @@ -1,0 +2,37 @@ +Fri Aug 21 12:55:58 UTC 2026 - Matthias Gerstner <[email protected]> + +- Update to version 2.10.0+git20260819.485e0ded: + * FileDigestCheck: detect more varlink socket units + * test_whitelist_syntax: include new varlink-whitelist + * varlink-whitelist: add systemd-experimental sockets (bsc#1261919) + * varlink-whitelist: add systemd-userdbd (bsc#1261919) + * varlink-whitelist: add systemd-sysext (bsc#1261919) + * varlink-whitelist: add systemd-logind (bsc#1261919) + * varlink-whitelist: add systemd-hostnamed.socket (bsc#1261919) + * varlink-whitelist: add systemd-creds.socket (bsc#1261919) + * varlink-whitelist: add systemd-ask-password (bsc#1261919) + * varlink-whitelist: add systemd-resolved socket (bsc#1261919) + * varlink-whitelist: add networkd service (bsc#1261919) + * varlink-whitelist: add systemd-container services (bsc#1261919) + * pam-modules: whitelist pam_ssh_agent (bsc#1274633) + * varlink-whitelist: add udev core services (bsc#1261919) + +------------------------------------------------------------------- +Tue Aug 11 09:41:39 UTC 2026 - Daniel Garcia <[email protected]> + +- Update to version 2.10.0+git20260811.5bace490: + * Bump github/codeql-action/autobuild from 4.37.4 to 4.37.6 + * Bump github/codeql-action/init from 4.37.4 to 4.37.6 + * Bump github/codeql-action/analyze from 4.37.4 to 4.37.6 + * FileDigestCheck: varlink: don't process files in sub-directories + * Release 2.10.0 + * CI: Remove ruff + * Bump github/codeql-action/autobuild from 4.36.2 to 4.37.4 + * Bump github/codeql-action/init from 4.36.2 to 4.37.4 + * Bump github/codeql-action/analyze from 4.36.2 to 4.37.4 + * ErlangCheck: Handle beams compiled with the deterministic option + * Bump actions/checkout from 6.0.3 to 7.0.1 + * Bump github/codeql-action from 4.36.0 to 4.36.2 + * Bump actions/checkout from 6.0.2 to 6.0.3 + +------------------------------------------------------------------- Old: ---- rpmlint-2.9.0+git20260806.9feb8bb9.tar.xz New: ---- rpmlint-2.10.0+git20260819.485e0ded.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpmlint.spec ++++++ --- /var/tmp/diff_new_pack.LNKNm0/_old 2026-08-24 12:02:58.735526700 +0200 +++ /var/tmp/diff_new_pack.LNKNm0/_new 2026-08-24 12:02:58.737526771 +0200 @@ -23,7 +23,7 @@ %define name_suffix -%{flavor} %endif Name: rpmlint%{name_suffix} -Version: 2.9.0+git20260806.9feb8bb9 +Version: 2.10.0+git20260819.485e0ded Release: 0 Summary: RPM file correctness checker License: GPL-2.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.LNKNm0/_old 2026-08-24 12:02:58.826529911 +0200 +++ /var/tmp/diff_new_pack.LNKNm0/_new 2026-08-24 12:02:58.833530158 +0200 @@ -1,6 +1,6 @@ <services> <service name="tar_scm" mode="manual"> - <param name="versionformat">2.9.0+git%cd.%h</param> + <param name="versionformat">2.10.0+git%cd.%h</param> <param name="url">https://github.com/rpm-software-management/rpmlint.git</param> <param name="scm">git</param> <param name="revision">opensuse</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.LNKNm0/_old 2026-08-24 12:02:58.875531640 +0200 +++ /var/tmp/diff_new_pack.LNKNm0/_new 2026-08-24 12:02:58.883531922 +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">9feb8bb93d0e7ca38cb72fedd9a7f17953a83a71</param></service></servicedata> + <param name="changesrevision">485e0ded8655bab26b68e828117361081be181c5</param></service></servicedata> (No newline at EOF) ++++++ rpmlint-2.9.0+git20260806.9feb8bb9.tar.xz -> rpmlint-2.10.0+git20260819.485e0ded.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/.github/workflows/codeql.yml new/rpmlint-2.10.0+git20260819.485e0ded/.github/workflows/codeql.yml --- old/rpmlint-2.9.0+git20260806.9feb8bb9/.github/workflows/codeql.yml 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/.github/workflows/codeql.yml 2026-08-19 12:01:21.000000000 +0200 @@ -22,18 +22,18 @@ steps: - name: Checkout - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - name: Initialize CodeQL - uses: github/codeql-action/init@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0 + uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 with: languages: ${{ matrix.language }} queries: +security-and-quality - name: Autobuild - uses: github/codeql-action/autobuild@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0 + uses: github/codeql-action/autobuild@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@7211b7c8077ea37d8641b6271f6a365a22a5fbfa # v4.36.0 + uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6 with: category: "/language:${{ matrix.language }}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/.github/workflows/main.yml new/rpmlint-2.10.0+git20260819.485e0ded/.github/workflows/main.yml --- old/rpmlint-2.9.0+git20260806.9feb8bb9/.github/workflows/main.yml 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/.github/workflows/main.yml 2026-08-19 12:01:21.000000000 +0200 @@ -112,11 +112,9 @@ if: matrix.build-type == 'no-optional-deps' - run: pipx install coveralls - run: pipx install pyupgrade - - run: pipx install ruff - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - run: pytest - run: flake8 - - run: /github/home/.local/bin/ruff check . - run: find . -not -path "./test/files/*" -name '*.py' | xargs /github/home/.local/bin/pyupgrade --py38-plus - run: python3 -m cProfile -o profile.stats lint.py -V test/source/* test/binary/* > /dev/null - run: python3 test/dump_stats.py profile.stats diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/.packit/rpmlint.spec new/rpmlint-2.10.0+git20260819.485e0ded/.packit/rpmlint.spec --- old/rpmlint-2.9.0+git20260806.9feb8bb9/.packit/rpmlint.spec 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/.packit/rpmlint.spec 2026-08-19 12:01:21.000000000 +0200 @@ -1,7 +1,7 @@ %{!?python3: %global python3 %{__python3}} Name: rpmlint -Version: 2.9.0 +Version: 2.10.0 Release: 0%{?dist} Summary: Tool for checking common errors in RPM packages diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/configs/openSUSE/pam-modules.toml new/rpmlint-2.10.0+git20260819.485e0ded/configs/openSUSE/pam-modules.toml --- old/rpmlint-2.9.0+git20260806.9feb8bb9/configs/openSUSE/pam-modules.toml 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/configs/openSUSE/pam-modules.toml 2026-08-19 12:01:21.000000000 +0200 @@ -577,3 +577,12 @@ "glob:*/security/pam_debuginfo.so", "glob:*/security/pam_unix_ng.so" ] + +[[FileDigestGroup]] +package = "pam-ssh-agent" +note = "authentication via SSH public keys" +bug = "bsc#1274633" +type = "pam" +nodigests = [ + "glob:*/security/pam_ssh_agent.so" +] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/configs/openSUSE/security.toml new/rpmlint-2.10.0+git20260819.485e0ded/configs/openSUSE/security.toml --- old/rpmlint-2.9.0+git20260806.9feb8bb9/configs/openSUSE/security.toml 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/configs/openSUSE/security.toml 2026-08-19 12:01:21.000000000 +0200 @@ -35,6 +35,8 @@ "*.socket", ] ContentCheck = "VarlinkServiceCheck" +# don't deal with sub-directories like "socket.target.wants" +Recursive = false [FileDigestLocation.polkit] FollowSymlinks = false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/configs/openSUSE/varlink-whitelist.toml new/rpmlint-2.10.0+git20260819.485e0ded/configs/openSUSE/varlink-whitelist.toml --- old/rpmlint-2.9.0+git20260806.9feb8bb9/configs/openSUSE/varlink-whitelist.toml 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/configs/openSUSE/varlink-whitelist.toml 2026-08-19 12:01:21.000000000 +0200 @@ -45,3 +45,235 @@ path = "/usr/lib/systemd/system/sysextmgr.socket" digester = "systemd-socket" hash = "22ad4eb46a0ddcd461ce0136548de13b207592fa464521f55948581606b53856" + +[[FileDigestGroup]] +package = "udev" +note = "udev core varlink services, all accessible to root only" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-bootctl.socket" +digester = "systemd-socket" +hash = "8224c1d90efca44b975a83bc8989eb5438f43a1d02248f9fb28bfd67c012b650" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-pcrlock.socket" +digester = "systemd-socket" +hash = "245abdf23ead7e1fd5eb8b54502c7a0d0536b2f8417cecd960450d827cc147a1" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-repart.socket" +digester = "systemd-socket" +hash = "ce39189699d18c5e11406980d09e046a8a4b20bc9da2506fe7f447ae8dbf8b98" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-udevd-varlink.socket" +digester = "systemd-socket" +hash = "9ca1632e762e1e3215c51b08b39b7660b5461072d82013ea3dca9193b0beada9" + +[[FileDigestGroup]] +package = "systemd-container" +note = "container image import API, analogous to its D-Bus twin" +bugs = ["bsc#964935", "bsc#1259318", "bsc#1261919"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-importd.socket" +digester = "systemd-socket" +hash = "fa1c9b80e6ba5b08f09abebcc7eabb00f93ef5c86767e2989785f7c6264e24b5" + +[[FileDigestGroup]] +package = "systemd-container" +note = "main daemon for controlling VMs/containers, analogous to its D-Bus twin" +bugs = ["bsc#828207", "bsc#1192033", "bsc#1257388", "bsc#1255368", "bsc#1259318", "bsc#1261919"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-machined.socket" +digester = "systemd-socket" +hash = "9ac503dec78b8d8181e5a57752365f07cab7e9cfeae362695a0720000075691c" + +[[FileDigestGroup]] +package = "systemd-container" +note = "mount file-systems into user-controlled namespaces" +bugs = ["bsc#1250898", "bsc#1261919"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-mountfsd.socket" +digester = "systemd-socket" +hash = "235a773f47e5594d3a5e5ddefb8d2986ea904c0d03a23202a8d59a1227512054" + +[[FileDigestGroup]] +package = "systemd-container" +note = "creation of container/namespace resources for unprivileged users" +bugs = ["bsc#1250902", "bsc#1261919"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-nsresourced.socket" +digester = "systemd-socket" +hash = "5db33de4baa1febd9c296fc28ebe6431fe85afcdcc154cec9edb7b25c5713643" + +[[FileDigestGroup]] +package = "systemd-networkd" +note = "Not too large API mostly for getting information, some for modifying state, protected by Polkit" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-networkd-varlink.socket" +digester = "systemd-socket" +hash = "6411eceeeee8714caeb1d0f8967116da51e1ae3838f9593b71ddadcf88c3deb6" + +[[FileDigestGroup]] +package = "systemd-resolved" +note = "systemd-specific resolve API & management API" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-resolved-varlink.socket" +digester = "systemd-socket" +hash = "924a769f997001348c10369a0af748932058c8f7e88ad5daf1a7e84abda53f77" + +[[FileDigestGroup]] +package = "systemd" +note = "service which helps to obtain a password from an interactive user" +bugs = ["bsc#1261919", "bsc#1257943"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-ask-password.socket" +digester = "systemd-socket" +hash = "65796969f76971117b1f8405906e7ed54d95230faa45465714ab71ccf158e5aa" + +[[FileDigestGroup]] +package = "systemd" +note = "TPM credential encryption/decryption" +bugs = ["bsc#1261919", "bsc#1225317"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-creds.socket" +digester = "systemd-socket" +hash = "bc4fb052a8e1f298a15c0dc8d6e8a9850a3629776b6fa271ef8f9b45cb81d8ae" + +[[FileDigestGroup]] +package = "systemd" +note = "provides hardware information" +bugs = ["bsc#1261919", "bsc#641924", "bsc#1257388"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-hostnamed.socket" +digester = "systemd-socket" +hash = "0bae10736a17d5b449fd2bfa3726599696b168e5e2cc70d9b2d990cea0a16359" + +[[FileDigestGroup]] +package = "systemd" +note = "login/session manager including system power state management" +bugs = ["bsc#641924", "bsc#1261919"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-logind-varlink.socket" +digester = "systemd-socket" +hash = "7e62a81cb560d9dbb4bf27a8c485ec4a2b2ce8d85a9cfddf3c1061795732ae7d" + +[[FileDigestGroup]] +package = "systemd" +note = "management of system extension / configuration images" +bugs = ["bsc#1261919", "bsc#1259318"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-sysext.socket" +digester = "systemd-socket" +hash = "695f5a22b67ede89005bbf39065e94d1c17fff449cd925ecc969da654bba5e26" + +[[FileDigestGroup]] +package = "systemd" +note = "access to /etc/passwd, /etc/group data" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-userdbd.socket" +digester = "systemd-socket" +hash = "f18c943e7ee65fea7d34d282111230867b1d309d5bcbf5e0bb00982567c6bb82" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "access to information about factory reset status" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-factory-reset.socket" +digester = "systemd-socket" +hash = "70d4b87386b0f4aa4d3c99d901b912bb604d7932203b772320625bbc448d978d" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "virtual machine instance metadata service" +bugs = ["bsc#1261919", "bsc#1267504"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-imdsd.socket" +digester = "systemd-socket" +hash = "15703bc772caf1b5604eba1f6dd5709a679374747f6c853012abd6ab2127ff71" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "programmatic access to journalctl data" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-journalctl.socket" +digester = "systemd-socket" +hash = "3232616b0acc13ff0b68b014e028662847b1a5692dc64fd29d63983a03f12bcb" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "turn of pid1 / kernel messages on a console" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-mute-console.socket" +digester = "systemd-socket" +hash = "58a95fcb09c8ab8e0c2f98a2495d14a6a1ef1d0c18aacb751cebc624c9ba41f8" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "allows root to extend TPM PCR registers" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-pcrextend.socket" +digester = "systemd-socket" +hash = "2cccfadaadd7c49d63a40f96ba899b590c77cab7e05fcb7824b58a425d064b71" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "systemd core metrics read-only access" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-report-basic.socket" +digester = "systemd-socket" +hash = "a0637753ab908ba69ed22619bb7b64e47aa1b00dd6f2d85bb33236da64fceb85" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "systemd cgroup metrics read-only access" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-report-cgroup.socket" +digester = "systemd-socket" +hash = "b546d041421a9828c416c613406ece826a81cc854e8ec528f1322c8adcb3a92f" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "read-only access to block devices, authorized read/write access to block devices" +bugs = ["bsc#1261919", "bsc#1267504"] +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-storage-block.socket" +digester = "systemd-socket" +hash = "3671134aedaccb73fa0a5fca06ea5c664f8177052bdbddc605767b739de274c4" + +[[FileDigestGroup]] +package = "systemd-experimental" +note = "read-only access to file-systems, authorized read/write access to file systems" +bug = "bsc#1261919" +type = "varlink" +[[FileDigestGroup.digests]] +path = "/usr/lib/systemd/system/systemd-storage-fs.socket" +digester = "systemd-socket" +hash = "8f6818e0d31544b37d01432d6efd4816f126b12066c41024fa3043bce5116235" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/pyproject.toml new/rpmlint-2.10.0+git20260819.485e0ded/pyproject.toml --- old/rpmlint-2.9.0+git20260806.9feb8bb9/pyproject.toml 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/pyproject.toml 2026-08-19 12:01:21.000000000 +0200 @@ -6,7 +6,7 @@ [project] name = "rpmlint" -version = "2.9.0" +version = "2.10.0" description = "Check for common errors in RPM packages" license = {text = "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)"} authors = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/rpmlint/checks/ErlangCheck.py new/rpmlint-2.10.0+git20260819.485e0ded/rpmlint/checks/ErlangCheck.py --- old/rpmlint-2.9.0+git20260806.9feb8bb9/rpmlint/checks/ErlangCheck.py 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/rpmlint/checks/ErlangCheck.py 2026-08-19 12:01:21.000000000 +0200 @@ -20,14 +20,24 @@ self.output.add_info('W', pkg, 'beam-compile-info-missed', filename) return - compile_state = byte_to_string(beam.compileinfo['source']) - if 'debug_info' not in beam.compileinfo['options']: + # Beams compiled with the 'deterministic' option omit the + # 'source' and 'options' entries from the compile info. For + # those, fall back to the presence of the debug info chunk. + options = beam.compileinfo.get('options') + if options is None: + has_debug_info = beam.selectChunkByName(b'Dbgi') is not None + else: + has_debug_info = 'debug_info' in options + if not has_debug_info: self.output.add_info('E', pkg, 'beam-compiled-without-debuginfo', filename) # This can't be an error as builddir can be user specific and vary between users # it could be error in OBS where all the builds are done by user abuild, not in # general. - if not self.source_re.match(compile_state): - self.output.add_info('W', pkg, 'beam-was-not-recompiled', filename, compile_state) + source = beam.compileinfo.get('source') + if source is not None: + compile_state = byte_to_string(source) + if not self.source_re.match(compile_state): + self.output.add_info('W', pkg, 'beam-was-not-recompiled', filename, compile_state) except Exception: self.output.add_info('E', pkg, 'pybeam-failed', filename) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/rpmlint/checks/FileDigestCheck.py new/rpmlint-2.10.0+git20260819.485e0ded/rpmlint/checks/FileDigestCheck.py --- old/rpmlint-2.9.0+git20260806.9feb8bb9/rpmlint/checks/FileDigestCheck.py 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/rpmlint/checks/FileDigestCheck.py 2026-08-19 12:01:21.000000000 +0200 @@ -46,6 +46,9 @@ config.setdefault('NamePatterns', []) config.setdefault('FollowSymlinks', False) config.setdefault('ContentCheck', None) + # whether we should consider files in sub-directories of the + # locations as well + config.setdefault('Recursive', True) config['type'] = check_type self.checks.append(config) self.known_check_types[check_type] = config @@ -234,15 +237,22 @@ for config in self.checks: for location in config['Locations']: with contextlib.suppress(ValueError): - if path.relative_to(location): - if not config['NamePatterns']: - # files in this location are unconditionally subject to the check. - return config - else: - # we need to check if the filename matches the configured pattern. - for glob in config['NamePatterns']: - if fnmatch(path.name, glob): - return config + subpath = path.relative_to(location) + + if not subpath: + continue + elif not config['Recursive'] and len(subpath.parts) > 1: + # it's not a direct descendant + continue + + if not config['NamePatterns']: + # files in this location are unconditionally subject to the check. + return config + else: + # we need to check if the filename matches the configured pattern. + for glob in config['NamePatterns']: + if fnmatch(path.name, glob): + return config # must be a file which isn't matched by a name pattern. return None diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/rpmlint/filedigestcheck.py new/rpmlint-2.10.0+git20260819.485e0ded/rpmlint/filedigestcheck.py --- old/rpmlint-2.9.0+git20260806.9feb8bb9/rpmlint/filedigestcheck.py 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/rpmlint/filedigestcheck.py 2026-08-19 12:01:21.000000000 +0200 @@ -97,9 +97,10 @@ # previous occurences. Having this would be weird, however, so let's # consider any appearance of varlink here. for name in socket_section.get('FileDescriptorName', []): - # this is more of a convention, not a hard requirement, but so far all - # Varlink services we have use this scheme. - if name == 'varlink': + # this is more of a convention, not a hard requirement. + # most of the time it is just "varlink", but some services also + # use "varlink-monitor" or similar names. + if name.find('varlink') != -1: return True # not a varlink service diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/test/configs/digests_varlink.config new/rpmlint-2.10.0+git20260819.485e0ded/test/configs/digests_varlink.config --- old/rpmlint-2.9.0+git20260806.9feb8bb9/test/configs/digests_varlink.config 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/test/configs/digests_varlink.config 2026-08-19 12:01:21.000000000 +0200 @@ -7,6 +7,7 @@ "*.socket", ] ContentCheck = "VarlinkServiceCheck" +Recursive = false [[FileDigestGroup]] package = "socketpkg" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/test/test_file_digest.py new/rpmlint-2.10.0+git20260819.485e0ded/test/test_file_digest.py --- old/rpmlint-2.9.0+git20260806.9feb8bb9/test/test_file_digest.py 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/test/test_file_digest.py 2026-08-19 12:01:21.000000000 +0200 @@ -427,6 +427,13 @@ test.check(pkg) assert len(output.results) == 1 + # the check should not be recursive + output, test = get_digestcheck('digests_varlink.config') + with FakePkg('defaultpkg') as pkg: + pkg.add_file_with_content('/sockets/sub/unrelated.socket', RESTRICTED_SOCKET_DATA) + test.check(pkg) + assert len(output.results) == 0 + def test_varlink_digester(): # here we want to check the SocketUnitDigester: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.9.0+git20260806.9feb8bb9/test/test_whitelist_syntax.py new/rpmlint-2.10.0+git20260819.485e0ded/test/test_whitelist_syntax.py --- old/rpmlint-2.9.0+git20260806.9feb8bb9/test/test_whitelist_syntax.py 2026-08-06 15:41:54.000000000 +0200 +++ new/rpmlint-2.10.0+git20260819.485e0ded/test/test_whitelist_syntax.py 2026-08-19 12:01:21.000000000 +0200 @@ -50,7 +50,8 @@ ('dbus', 'dbus-services'), ('pam', 'pam-modules'), ('permissions', 'permissions-whitelist'), - ('polkit', 'polkit-rules-whitelist') + ('polkit', 'polkit-rules-whitelist'), + ('varlink', 'varlink-whitelist') ] for _type, whitelist in WHITELISTS:
