Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rpmlint for openSUSE:Factory checked in at 2025-12-20 21:45:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rpmlint (Old) and /work/SRC/openSUSE:Factory/.rpmlint.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rpmlint" Sat Dec 20 21:45:43 2025 rev:520 rq:1323662 version:2.8.0+git20251215.35efabff Changes: -------- --- /work/SRC/openSUSE:Factory/rpmlint/rpmlint.changes 2025-12-15 11:52:46.257206324 +0100 +++ /work/SRC/openSUSE:Factory/.rpmlint.new.1928/rpmlint.changes 2025-12-20 21:46:45.343841076 +0100 @@ -1,0 +2,9 @@ +Fri Dec 19 11:41:46 UTC 2025 - Filippo Bonazzi <[email protected]> + +- Update to version 2.8.0+git20251215.35efabff: + * Fix lint + * MenuXDGCheck: Fix error string + * Remove post-without-tmpfile-creation warning + * Format and modify test/spec/bogus-date.spec + +------------------------------------------------------------------- Old: ---- rpmlint-2.8.0+git20251212.031b8a08.tar.xz New: ---- rpmlint-2.8.0+git20251215.35efabff.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rpmlint.spec ++++++ --- /var/tmp/diff_new_pack.xUMx1j/_old 2025-12-20 21:46:46.067871046 +0100 +++ /var/tmp/diff_new_pack.xUMx1j/_new 2025-12-20 21:46:46.071871212 +0100 @@ -23,7 +23,7 @@ %define name_suffix -%{flavor} %endif Name: rpmlint%{name_suffix} -Version: 2.8.0+git20251212.031b8a08 +Version: 2.8.0+git20251215.35efabff Release: 0 Summary: RPM file correctness checker License: GPL-2.0-or-later ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.xUMx1j/_old 2025-12-20 21:46:46.139874026 +0100 +++ /var/tmp/diff_new_pack.xUMx1j/_new 2025-12-20 21:46:46.147874358 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/rpm-software-management/rpmlint.git</param> - <param name="changesrevision">031b8a08e113dfacbc1cfd1ce52cfbcaf2cb3650</param></service></servicedata> + <param name="changesrevision">35efabffa85d648a2bd33c65c57a6de1671bc691</param></service></servicedata> (No newline at EOF) ++++++ rpmlint-2.8.0+git20251212.031b8a08.tar.xz -> rpmlint-2.8.0+git20251215.35efabff.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/rpmlint/checks/MenuXDGCheck.py new/rpmlint-2.8.0+git20251215.35efabff/rpmlint/checks/MenuXDGCheck.py --- old/rpmlint-2.8.0+git20251212.031b8a08/rpmlint/checks/MenuXDGCheck.py 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/rpmlint/checks/MenuXDGCheck.py 2025-12-15 09:41:15.000000000 +0100 @@ -70,10 +70,10 @@ self.output.add_info('E', pkg, 'desktopfile-missing-header', filename) elif (isinstance(e, cfgparser.DuplicateSectionError)): self.output.add_info('E', pkg, 'desktopfile-duplicate-section', filename, - '[{e.section}]') + f'[{e.section}]') elif (isinstance(e, cfgparser.DuplicateOptionError)): self.output.add_info('E', pkg, 'desktopfile-duplicate-option', filename, - '[{e.section}]/{e.option}') + f'[{e.section}]/{e.option}') else: self.output.add_info('E', pkg, 'invalid-desktopfile', filename, e.message.partition(':')[0]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/rpmlint/checks/TmpFilesCheck.py new/rpmlint-2.8.0+git20251215.35efabff/rpmlint/checks/TmpFilesCheck.py --- old/rpmlint-2.8.0+git20251212.031b8a08/rpmlint/checks/TmpFilesCheck.py 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/rpmlint/checks/TmpFilesCheck.py 2025-12-15 09:41:15.000000000 +0100 @@ -30,7 +30,6 @@ continue self._check_pre_tmpfile(fname, pkg) - self._check_post_tmpfile(fname, pkg) self._check_tmpfile_in_filelist(pkgfile, pkg) def _check_pre_tmpfile(self, fname, pkg): @@ -49,22 +48,6 @@ if pre and tmpfiles_regex.search(pre): self.output.add_info('W', pkg, 'pre-with-tmpfile-creation', fname) - def _check_post_tmpfile(self, fname, pkg): - """ - Check if the %post section contains 'systemd-tmpfiles --create' call. - - Print a warning if there is no such call in the %post section. - """ - post = pkg[rpm.RPMTAG_POSTIN] - - basename = Path(fname).name - tmpfiles_regex = re.compile(r'systemd-tmpfiles --create .*%s' - % re.escape(basename)) - - if post and tmpfiles_regex.search(post): - return - self.output.add_info('W', pkg, 'post-without-tmpfile-creation', fname) - def _check_tmpfile_in_filelist(self, pkgfile, pkg): """ Check if the tmpfile is listed in the filelist and marked as %ghost. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/rpmlint/descriptions/TmpFilesCheck.toml new/rpmlint-2.8.0+git20251215.35efabff/rpmlint/descriptions/TmpFilesCheck.toml --- old/rpmlint-2.8.0+git20251212.031b8a08/rpmlint/descriptions/TmpFilesCheck.toml 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/rpmlint/descriptions/TmpFilesCheck.toml 2025-12-15 09:41:15.000000000 +0100 @@ -2,11 +2,6 @@ %pre section contains %tmpfiles_create macro that should be in the %post section instead. """ -post-without-tmpfile-creation=""" -Please use the %tmpfiles_create macro in %post for each of your -tmpfiles.d files if you expect this file or directory to be -available after package installation (and before reboot). -""" tmpfile-not-regular-file=""" Files in tmpfiles.d need to be regular files. """ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/test/mockdata/mock_menuxdg.py new/rpmlint-2.8.0+git20251215.35efabff/test/mockdata/mock_menuxdg.py --- old/rpmlint-2.8.0+git20251212.031b8a08/test/mockdata/mock_menuxdg.py 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/test/mockdata/mock_menuxdg.py 2025-12-15 09:41:15.000000000 +0100 @@ -30,6 +30,17 @@ Categories=Game;Amusement; """ +BADDUP2 = """ +[Desktop Entry] +Name=rpmlint-test +Name=name duplicate +Exec=rpmlint-test file.file +Icon=chameleon_v_balíku +Type=Application +GenericName=rpmlint testcase +Categories=Game;Amusement; +""" + BADSEC = """ Name=rpmlint-test @@ -60,6 +71,12 @@ ) +MenuXDGBadDup2Package = get_tested_mock_package( + lazyload=True, + files={'/usr/share/applications/rpmlint-test.desktop': {'content': BADDUP2}}, +) + + MenuXDGBadSecPackage = get_tested_mock_package( lazyload=True, files={'/usr/share/applications/rpmlint-test.desktop': {'content': BADSEC}}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/test/spec/bogus-date.spec new/rpmlint-2.8.0+git20251215.35efabff/test/spec/bogus-date.spec --- old/rpmlint-2.8.0+git20251212.031b8a08/test/spec/bogus-date.spec 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/test/spec/bogus-date.spec 2025-12-15 09:41:15.000000000 +0100 @@ -1,20 +1,17 @@ ### Based on macro-in-changelog.spec, I added the date information in changlog, as follows: -Name: macro-in +Name: bogus-date Version: 0 Release: 0 -Summary: macro-in +Summary: bogus-date License: GPL-2.0-only Group: Undefined URL: http://rpmlint.zarb.org/#%{name} Source0: Source0.tar.gz %description -Macros are expanded in %changelog too, which can in unfortunate cases lead -to the package not building at all, or other subtle unexpected conditions that -affect the build. Even when that doesn't happen, the expansion results in -possibly 'rewriting history' on subsequent package revisions and generally -odd entries eg. in source rpms, which is rarely wanted. Avoid use of macros -in %changelog altogether, or use two '%'s to escape them, like '%%foo'. +The 'rpm -q --specfile' command will display a warning message if the day of the +week or date is not set correctly in %changelog. +For example:'warning: bogus date in %changelog' %prep diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/test/test_menuxdg.py new/rpmlint-2.8.0+git20251215.35efabff/test/test_menuxdg.py --- old/rpmlint-2.8.0+git20251212.031b8a08/test/test_menuxdg.py 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/test/test_menuxdg.py 2025-12-15 09:41:15.000000000 +0100 @@ -1,5 +1,6 @@ from mockdata.mock_menuxdg import ( MenuXDGBadBinPackage, + MenuXDGBadDup2Package, MenuXDGBadDupPackage, MenuXDGBadSecPackage, MenuXDGBadUTF8Package, @@ -49,6 +50,19 @@ test.check(package) out = output.print_results(output.results) assert 'desktopfile-duplicate-section' in out + assert '[{e.section}]' not in out + assert 'invalid-desktopfile' in out + + [email protected](not HAS_DESKTOP_FILE_UTILS, reason='Optional dependency desktop-file-utils not installed') [email protected]('package', [MenuXDGBadDup2Package]) +def test_duplicate_option(package, menuxdgcheck): + output, test = menuxdgcheck + test.check(package) + out = output.print_results(output.results) + assert 'desktopfile-duplicate-option' in out + assert '[{e.section}]' not in out + assert '{e.option}' not in out assert 'invalid-desktopfile' in out diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rpmlint-2.8.0+git20251212.031b8a08/test/test_tmp_files.py new/rpmlint-2.8.0+git20251215.35efabff/test/test_tmp_files.py --- old/rpmlint-2.8.0+git20251212.031b8a08/test/test_tmp_files.py 2025-12-12 15:37:05.000000000 +0100 +++ new/rpmlint-2.8.0+git20251215.35efabff/test/test_tmp_files.py 2025-12-15 09:41:15.000000000 +0100 @@ -25,7 +25,6 @@ out = output.print_results(output.results) assert 'W: pre-with-tmpfile-creation ' not in out - assert 'W: post-without-tmpfile-creation /usr/lib/tmpfiles.d/krb5.conf' in out assert 'W: tmpfile-not-in-filelist /var/lib/kerberos' in out assert 'W: tmpfile-not-regular-file /usr/lib/tmpfiles.d/symlink.conf' in out @@ -37,7 +36,6 @@ out = output.print_results(output.results) assert 'W: pre-with-tmpfile-creation /usr/lib/tmpfiles.d/systemd-tmpfiles.conf' in out - assert 'W: post-without-tmpfile-creation' in out assert 'W: tmpfile-not-in-filelist /run/my_new_directory' in out assert 'W: tmpfile-not-regular-file' not in out @@ -49,6 +47,5 @@ out = output.print_results(output.results) assert 'W: pre-with-tmpfile-creation' not in out - assert 'W: post-without-tmpfile-creation' not in out assert 'W: tmpfile-not-regular-file' not in out assert 'W: tmpfile-not-in-filelist' not in out
