============================ rpmlint session starts ============================ rpmlint: 2.7.0 configuration: /opt/testing/lib/python3.13/rpmlint/configdefaults.toml /opt/testing/share/rpmlint/cron-whitelist.toml /opt/testing/share/rpmlint/dbus-services.toml /opt/testing/share/rpmlint/device-files-whitelist.toml /opt/testing/share/rpmlint/licenses.toml /opt/testing/share/rpmlint/opensuse.toml /opt/testing/share/rpmlint/pam-modules.toml /opt/testing/share/rpmlint/permissions-whitelist.toml /opt/testing/share/rpmlint/pie-executables.toml /opt/testing/share/rpmlint/polkit-rules-whitelist.toml /opt/testing/share/rpmlint/scoring.toml /opt/testing/share/rpmlint/security.toml /opt/testing/share/rpmlint/sudoers-whitelist.toml /opt/testing/share/rpmlint/sysctl-whitelist.toml /opt/testing/share/rpmlint/systemd-tmpfiles.toml /opt/testing/share/rpmlint/users-groups.toml /opt/testing/share/rpmlint/world-writable-whitelist.toml /opt/testing/share/rpmlint/zypper-plugins.toml /etc/xdg/rpmlint/scoring-strict.override.toml checks: 41, packages: 3 po4a.spec:133: W: shared-dir-glob-in-files %attr(755,root,root) %{_bindir}/* The %files section contains "%{_bindir}/*", "%{_datadir}/*", "%{_docdir}/*", "%{_includedir}/*" or "%{_mandir}/*". These can lead to packagers not noticing when upstream adds new and possibly conflicting files in these directories. Therefore, files in these directories should be explicitely listed like "%{_bindir}/foobar" or "%{_includedir}/foobar.h". po4a-lang.noarch: W: package-with-huge-docs 63% More than half the size of your package is documentation. Consider splitting it into a -doc subpackage. po4a-lang.noarch: E: incorrect-locale-subdir /usr/share/locale/zh_Hans/LC_MESSAGES/po4a.mo po4a-lang.noarch: E: incorrect-locale-subdir /usr/share/locale/zh_Hant/LC_MESSAGES/po4a.mo po4a-lang.noarch: W: files-duplicate /usr/share/man/sr_Cyrl/man1/po4a-display-man.1.gz /usr/share/man/sr/man1/po4a-display-man.1.gz po4a-lang.noarch: W: files-duplicate /usr/share/man/sr_Cyrl/man1/po4a-display-pod.1.gz /usr/share/man/sr/man1/po4a-display-pod.1.gz Your package contains duplicated files that are not hard- or symlinks. You should use the %fdupes macro to link the files to one. po4a.noarch: E: env-script-interpreter (Badness: 9) /usr/bin/msguntypot /usr/bin/env perl po4a.noarch: E: env-script-interpreter (Badness: 9) /usr/bin/po4a /usr/bin/env perl po4a.noarch: E: env-script-interpreter (Badness: 9) /usr/bin/po4a-gettextize /usr/bin/env perl po4a.noarch: E: env-script-interpreter (Badness: 9) /usr/bin/po4a-normalize /usr/bin/env perl po4a.noarch: E: env-script-interpreter (Badness: 9) /usr/bin/po4a-translate /usr/bin/env perl po4a.noarch: E: env-script-interpreter (Badness: 9) /usr/bin/po4a-updatepo /usr/bin/env perl This script uses 'env' as an interpreter. For the rpm runtime dependency detection to work, the shebang #!/usr/bin/env needs to be patched into #!/usr/bin/ otherwise the package dependency generator merely adds a dependency on /usr/bin/env rather than the actual interpreter /usr/bin/. Alternatively, if the file should not be executed, then ensure that it is not marked as executable or don't install it in a path that is reserved for executables. Check time report (>1% & >0.1s): Check Duration (in s) Fraction (in %) Checked files BashismsCheck 0.6 42.4 ExtractRpm 0.4 32.7 FilesCheck 0.2 12.3 TOTAL 1.4 100.0 3 packages and 0 specfiles checked; 8 errors, 4 warnings, 27 filtered, 56 badness; has taken 1.4 s