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.)
Using a pattern to match the source tar.gz files prevents fedpkg upload
from needlessly appending each new source file to .gitignore.
Also ignore *.rpm, the results dir from mockbuild, and expanded source
directories.