teemtee / tmt

Test Management Tool
MIT License
81 stars 122 forks source link

rpminspect, rpmlint errors and warnings #2803

Closed martinhoyer closed 2 months ago

martinhoyer commented 6 months ago

rpminspect fails on current rawhide: https://artifacts.dev.testing-farm.io/e3a16e91-a0d0-4a66-b873-9cc5ecbf7285/

Here is a list issues from rpmlint and rpminspect

rpminspect w/ --release=fc41:

/var/tmp/tmt (inode/directory) is world-writable on noarch

rpmlint errors

tmt.noarch: E: env-script-interpreter /usr/share/doc/tmt/examples/redis/test.sh /usr/bin/env bash

tmt.noarch: E: dir-or-file-in-var-tmp /var/tmp/tmt

tmt.noarch: E: non-standard-dir-perm /var/tmp/tmt 1777 tmt.noarch: E: non-executable-script /usr/lib/python3.12/site-packages/tmt/templates/script/beakerlib.j2 644 /bin/bash tmt.noarch: E: non-executable-script /usr/lib/python3.12/site-packages/tmt/templates/script/shell.j2 644 /bin/sh -eux

rpmlint warnings

tmt.noarch: W: obsolete-not-provided tmt-report-html tmt.noarch: W: obsolete-not-provided tmt-report-junit tmt.noarch: W: obsolete-not-provided tmt-report-polarion tmt.noarch: W: obsolete-not-provided tmt-report-reportportal

tmt.noarch: W: incoherent-version-in-changelog 1.32.1 ['1.32.1-1.fc40', '1.32.1-1']

martinhoyer commented 5 months ago

tmt.noarch: E: non-executable-script /usr/lib/python3.12/site-packages/tmt/templates/script/beakerlib.j2 644 /bin/bash

These errors should be ignored as they are script template, not script. I haven't found a way to mark them for rpmlint to ignore though.

lukaszachy commented 5 months ago

Still some errors: https://fedora.softwarefactory-project.io/zuul/build/fbb542e914d941119311ce3fccac43aa

martinhoyer commented 5 months ago

Still some errors: https://fedora.softwarefactory-project.io/zuul/build/fbb542e914d941119311ce3fccac43aa

The "obsoletes", and "incoherent-version" can be fixed in https://github.com/teemtee/tmt/pull/2880.

tmt.spec: E: unused-rpmlintrc-filter "python3-tmt.noarch: E: non-executable-script"

No idea to be honest. Maybe it's confused by the fact we have %py_provides python3-tmt, as the package name is just 'tmt'

tmt.noarch: E: non-executable-script /usr/lib/python3.12/site-packages/tmt/templates/script/shell.j2 644 /bin/sh -eux

W: no-documentation

W: files-duplicate for fmf/.version

Can be ignored I presume. Is there any mechanism to tell rpmlint to ignore it? In docs, I can see $PACKAGE_NAME.rpmlintrc can be in the same directory as the spec file and "addFilter ignores all errors that match the given regular expression". Is it worth "polluting" the repository root with yet another file though?

tmt+provision-virtual.noarch: E: explicit-lib-dependency libvirt-daemon-config-network

Hmm, "You must let rpm find the library dependencies by itself. Do not put unneeded explicit Requires: tags."
False positive? Maybe it thinks it's a library because the name starts with 'lib'?