Before:
$ rpmlint python-setuptools.spec
python-setuptools.spec: E: specfile-error warning: extra tokens at the end of %endif directive in line 58: %endif # with tests
python-setuptools.spec: E: specfile-error
python-setuptools.spec: E: specfile-error warning: extra tokens at the end of %endif directive in line 67: %endif # without bootstrap
python-setuptools.spec: E: specfile-error
python-setuptools.spec: E: specfile-error warning: extra tokens at the end of %endif directive in line 181: %endif # with tests
0 packages and 1 specfiles checked; 5 errors, 0 warnings.
After:
$ rpmlint python-setuptools.spec
python-setuptools.spec: E: specfile-error warning: extra tokens at the end of %endif directive in line 58: %endif # with tests
python-setuptools.spec: E: specfile-error warning: extra tokens at the end of %endif directive in line 67: %endif # without bootstrap
python-setuptools.spec: E: specfile-error warning: extra tokens at the end of %endif directive in line 181: %endif # with tests
0 packages and 1 specfiles checked; 3 errors, 0 warnings.
Fedora no longer requires install-info scriptlets, and we already filter out some rpmlint rules (`info-files-without-install-info-postin` and `info-files-without-install-info-postun`).
Some packages (like `emacs-slime`) still has `%post` for other reasons, though, and if they also ship info files this triggers an extraneous rpmlint error.
Filter out `postin-without-install-info` in addition to the existing two rules.
Test case:
```
~/src/fedora/pkgs-others/rpmlint master*
❯ diff -u <(rpmlint /var/lib/mock/fedora-32-x86_64/result/emacs-slime-2.24-1.fc32.noarch.rpm) <(rpmlint -f ./rpmlint.config /var/lib/mock/fedora-32-x86_64/result/emacs-slime-2.24-1.fc32.noarch.rpm)
--- /proc/self/fd/12 2020-04-28 18:24:01.774132790 -0700
+++ /proc/self/fd/13 2020-04-28 18:24:01.775132781 -0700
@@ -1,6 +1,4 @@
emacs-slime.noarch: E: incorrect-fsf-address /usr/share/common-lisp/source/slime/lib/hyperspec.el
emacs-slime.noarch: E: incorrect-fsf-address /usr/share/common-lisp/source/slime/swank/clisp.lisp
emacs-slime.noarch: E: incorrect-fsf-address /usr/share/emacs/site-lisp/slime/lib/hyperspec.el
-emacs-slime.noarch: E: postin-without-install-info /usr/share/info/slime.info.gz
-emacs-slime.noarch: E: postin-without-install-info /usr/share/info/slime.info.gz
-1 packages and 0 specfiles checked; 5 errors, 0 warnings.
+1 packages and 0 specfiles checked; 3 errors, 0 warnings.
```
When readying parlatype[1] for package review[2], I discovered that rpmlint was giving me an explicit-lib-dependency error on the parlatype-libreoffice-helpers package, due to its "Requires: libreoffice-pyuno%{?isa}" component.
Obviously, a libreoffice package is not a library, even though the package name starts with 'lib'. This change adds an additional filter to the rpmlint.config , excluding `libreoffice.*$` from the explicit-lib-dependency check.
[1]: https://github.com/gkarsay/parlatype
[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1624208
In 2e06474 ("buildid fixes", 2017-07-17) an upstream patch was applied
which added '.build-id' to the UsrLibBinaryException regex.
Unfortunately, since fd3ffab ("add systemd to UsrLibBinaryException",
2014-06-25)), we override this setting in our rpmlint.config file and it
was not updated to include '.build-id'.
Update the regex to include (most) of the upstream changes, along with our
addition of 'systemd' to the regex.
This fixes spurious 'only-non-binary-in-usr-lib' warnings.