diff --git a/python3.9.rpmlintrc b/python3.9.rpmlintrc index 064c0d5..013f1e9 100644 --- a/python3.9.rpmlintrc +++ b/python3.9.rpmlintrc @@ -4,7 +4,7 @@ addFilter(r'crypto-policy-non-compliance-openssl') # TESTS: -addFilter(r'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3.\d/test') +addFilter(r'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3.\d+/test') # OTHER DELIBERATES: @@ -25,18 +25,18 @@ addFilter(r'python3\.\d+\.[^:]+: (E|W): devel-file-in-non-devel-package') addFilter(r'only-non-binary-in-usr-lib') # some devel files that are deliberately needed -addFilter(r'devel-file-in-non-devel-package /usr/include/python3\.\dm/pyconfig-(32|64)\.h') -addFilter(r'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d/distutils/tests/xxmodule\.c') +addFilter(r'devel-file-in-non-devel-package /usr/include/python3\.\d+m?/pyconfig-(32|64)\.h') +addFilter(r'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d+/distutils/tests/xxmodule\.c') # SORRY, NOT SORRY: # manual pages -addFilter(r'no-manual-page-for-binary (idle|pydoc|pyvenv|2to3|python3-debug|pathfix|msgfmt|pygettext)') -addFilter(r'no-manual-page-for-binary python3.*-config$') -addFilter(r'no-manual-page-for-binary python3.\dd?m$') +addFilter(r'no-manual-page-for-binary (idle|pydoc|pyvenv|2to3|python3?-debug|pathfix|msgfmt|pygettext)') +addFilter(r'no-manual-page-for-binary python3?.*-config$') +addFilter(r'no-manual-page-for-binary python3\.\d+dm?$') # missing documentation from subpackages -addFilter(r'^python3\.?\d*-(debug|tkinter|test|idle)\.[^:]+: (E|W): no-documentation') +addFilter(r'^python3(\.\d+)?-(debug|tkinter|test|idle)\.[^:]+: (E|W): no-documentation') # platform python is obsoleted, but not provided addFilter(r'obsolete-not-provided platform-python') @@ -52,29 +52,36 @@ addFilter(r'python-bytecode-wrong-magic-value .* expected 33\d\d \(3\.7\), found # https://github.com/rpm-software-management/rpmlint/issues/128 addFilter(r'python-bytecode-inconsistent-mtime .* 1970') +# we provide python(abi) manually to be sure. createrepo will merge this with the automatic +addFilter(r'python3(\.\d+)?\.[^:-]+: (E|W): useless-provides python\(abi\)') + # debugsource -addFilter(r'^python3\.?\d*-debugsource\.[^:]+: (E|W): no-documentation') +addFilter(r'^python3(\.\d+)?-debugsource\.[^:]+: (E|W): no-documentation') # debuginfo -addFilter(r'^python3\.?\d*-debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)') +addFilter(r'^python3(\.\d+)?-debuginfo\.[^:]+: (E|W): useless-provides debuginfo\(build-id\)') # this is OK for F28+ addFilter(r'library-without-ldconfig-post') # debug package contains devel and non-devel files -addFilter(r'python3\.?\d*-debug.[^:]+: (E|W): (non-)?devel-file-in-(non-)?devel-package') +addFilter(r'python3(\.\d+)?-debug.[^:]+: (E|W): (non-)?devel-file-in-(non-)?devel-package') # this goes to other subpackage, hence not actually dangling, the read error is bogus -addFilter(r'dangling-relative-symlink /usr/lib(64)?/pkgconfig/python-3\.\ddm\.pc python-3\.\d\.pc') -addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3\.\ddm\.pc \[Errno 2\]') +addFilter(r'dangling-relative-symlink /usr/lib(64)?/pkgconfig/python-3\.\d+dm?(-embed)?\.pc python-3\.\d+(-embed)?\.pc') +addFilter(r'read-error /usr/lib(64)?/pkgconfig/python-3\.\d+dm?(-embed)?\.pc \[Errno 2\]') + +# the python-unversioned-command package contains dangling symlinks by design +addFilter(r'^python-unversioned-command\.[^:]+: (E|W): dangling-relative-symlink ' + r'(/usr/bin/python \./python3|/usr/share/man/man1/python\.1\S* ./python3\.1\S*)$') # we need this macro to evaluate, even if the line starts with # addFilter(r'macro-in-comment %\{_pyconfig(32|64)_h\}') # Python modules don't need to be linked against libc # Since 3.8 they are no longer linked against libpython3.8.so.1.0 -addFilter(r'E: library-not-linked-against-libc /usr/lib(64)?/python3.\d/lib-dynload/') -addFilter(r'E: shared-lib-without-dependency-information /usr/lib(64)?/python3.\d/lib-dynload/') +addFilter(r'E: library-not-linked-against-libc /usr/lib(64)?/python3.\d+/lib-dynload/') +addFilter(r'E: shared-lib-without-dependency-information /usr/lib(64)?/python3.\d+/lib-dynload/') # SPELLING ERRORS addFilter(r'spelling-error .* en_US (bytecode|pyc|filename|tkinter|namespaces|pytest) ')