Linters and test coverage makes sense in upstream CI, but not that much in Fedora.
This makes testing rpmlint with newer Python releases easier.
It also partially unblocks the Python 3.10 rebuild.
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
The rpmlint build process byte compiles these, so no manual byte
compilation is needed. (The make definition COMPILE_PYC has been used
since 83a9a35 (2009-11-02). Prior to that a patch was applied to byte
compile in %build.)