============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /opt/testing/lib64/python3.11/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: 4 cloud-init.x86_64: W: systemd-unit-in-etc /etc/systemd/system/sshd-keygen@.service.d cloud-init.x86_64: W: systemd-unit-in-etc /etc/systemd/system/sshd-keygen@.service.d/disable-sshd-keygen-if-cloud-init-active.conf A systemd unit has been packaged in /etc/systemd/system. These units should be installed in the system unit dir instead. cloud-init.x86_64: E: systemd-service-without-service_del_preun cloud-config.service cloud-init.x86_64: E: systemd-service-without-service_del_preun cloud-config.target cloud-init.x86_64: E: systemd-service-without-service_del_preun cloud-final.service cloud-init.x86_64: E: systemd-service-without-service_del_preun cloud-init-local.service cloud-init.x86_64: E: systemd-service-without-service_del_preun cloud-init.service cloud-init.x86_64: E: systemd-service-without-service_del_preun cloud-init.target The package contains a systemd service but doesn't contain a %preun with a call to service_del_preun. cloud-init.x86_64: E: systemd-service-without-service_del_postun cloud-config.service cloud-init.x86_64: E: systemd-service-without-service_del_postun cloud-config.target cloud-init.x86_64: E: systemd-service-without-service_del_postun cloud-final.service cloud-init.x86_64: E: systemd-service-without-service_del_postun cloud-init-local.service cloud-init.x86_64: E: systemd-service-without-service_del_postun cloud-init.service cloud-init.x86_64: E: systemd-service-without-service_del_postun cloud-init.target The package contains a systemd service but doesn't contain a %postun with a call to service_del_postun. cloud-init.x86_64: E: systemd-service-without-service_add_pre cloud-config.service cloud-init.x86_64: E: systemd-service-without-service_add_pre cloud-config.target cloud-init.x86_64: E: systemd-service-without-service_add_pre cloud-final.service cloud-init.x86_64: E: systemd-service-without-service_add_pre cloud-init-local.service cloud-init.x86_64: E: systemd-service-without-service_add_pre cloud-init.service cloud-init.x86_64: E: systemd-service-without-service_add_pre cloud-init.target The package contains a systemd service but doesn't contain a %pre with a call to service_add_pre. cloud-init.x86_64: E: systemd-service-without-service_add_post cloud-config.service cloud-init.x86_64: E: systemd-service-without-service_add_post cloud-config.target cloud-init.x86_64: E: systemd-service-without-service_add_post cloud-final.service cloud-init.x86_64: E: systemd-service-without-service_add_post cloud-init-local.service cloud-init.x86_64: E: systemd-service-without-service_add_post cloud-init.service cloud-init.x86_64: E: systemd-service-without-service_add_post cloud-init.target The package contains a systemd service but doesn't contain a %post with a call to service_add_post. cloud-init-config-suse.x86_64: E: suse-zypp-otherproviders otherproviders(cloud-init-config) The 'otherproviders(symbol)' syntax is obsolete, it is not needed and you can use the 'symbol' directly: 'Conflicts: symbol' cloud-init.x86_64: W: python-leftover-require python3-passlib cloud-init.x86_64: W: python-leftover-require python3-serial cloud-init.x86_64: W: python-leftover-require python3-setuptools cloud-init.x86_64: W: python-leftover-require python3-xml Some python module Requires can't be found in the python package requirements declaration. Please verify that all dependencies are really needed. cloud-init.x86_64: W: potential-bashisms /usr/lib/cloud-init/ds-identify checkbashisms reported potential bashisms in a /bin/sh shell script, you might want to manually check this script for bashisms. cloud-init.spec:122: E: obsolete-suse-version-check 1220 The specfile contains a comparison of %suse_version against a suse release that is no longer in maintenance. Consider removing obsolete parts of your spec file to make it more readable. cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/clean.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/cloud_id.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/devel/hotplug_hook.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/devel/logs.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/devel/make_mime.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/devel/net_convert.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/devel/render.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/main.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/query.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/cmd/status.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/distros/mariner.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/distros/photon.py 644 /usr/bin/env python3 cloud-init.x86_64: E: non-executable-script /usr/lib/python3.11/site-packages/cloudinit/net/networkd.py 644 /usr/bin/env python3 This text file contains a shebang or is located in a path dedicated for executables, but lacks the executable bits and cannot thus be executed. If the file is meant to be an executable script, add the executable bits, otherwise remove the shebang or move the file elsewhere. cloud-init.x86_64: W: non-conffile-in-etc /etc/cloud/clean.d/README cloud-init.x86_64: W: non-conffile-in-etc /etc/rsyslog.d/21-cloudinit.conf cloud-init.x86_64: W: non-conffile-in-etc /etc/systemd/system/sshd-keygen@.service.d/disable-sshd-keygen-if-cloud-init-active.conf A non-executable file in your package is being installed in /etc, but is not a configuration file. All non-executable files in /etc should be configuration files. Mark the file as %config in the spec file. cloud-init.x86_64: E: no-binary cloud-init-config-suse.x86_64: E: no-binary cloud-init-doc.x86_64: E: no-binary The package should be of the noarch architecture because it doesn't contain any binaries. cloud-init.x86_64: W: files-duplicate /etc/cloud/templates/chrony.conf.rhel.tmpl /etc/cloud/templates/chrony.conf.centos.tmpl cloud-init.x86_64: W: files-duplicate /etc/cloud/templates/chrony.conf.photon.tmpl /etc/cloud/templates/chrony.conf.fedora.tmpl cloud-init.x86_64: W: files-duplicate /etc/cloud/templates/chrony.conf.sles.tmpl /etc/cloud/templates/chrony.conf.opensuse-leap.tmpl:/etc/cloud/templates/chrony.conf.opensuse-microos.tmpl:/etc/cloud/templates/chrony.conf.opensuse-tumbleweed.tmpl:/etc/cloud/templates/chrony.conf.opensuse.tmpl:/etc/cloud/templates/chrony.conf.sle-micro.tmpl:(and 1 more) cloud-init.x86_64: W: files-duplicate /etc/cloud/templates/ntp.conf.sles.tmpl /etc/cloud/templates/ntp.conf.opensuse.tmpl Your package contains duplicated files that are not hard- or symlinks. You should use the %fdupes macro to link the files to one. cloud-init.x86_64: E: filelist-forbidden-systemd-userdirs /etc/systemd/system/sshd-keygen@.service.d cloud-init.x86_64: E: filelist-forbidden-systemd-userdirs /etc/systemd/system/sshd-keygen@.service.d/disable-sshd-keygen-if-cloud-init-active.conf This directory is for user files, use the system directory under /usr/lib. cloud-init.x86_64: E: explicit-lib-dependency python3-oauthlib cloud-init.x86_64: E: explicit-lib-dependency python3-passlib You must let rpm find the library dependencies by itself. Do not put unneeded explicit Requires: tags. Check time report (>1% & >0.1s): Check Duration (in s) Fraction (in %) Checked files BashismsCheck 4.6 87.9 FilesCheck 0.2 4.0 ExtractRpm 0.1 2.2 SpecCheck 0.1 2.1 TOTAL 5.3 100.0 4 packages and 0 specfiles checked; 46 errors, 14 warnings, 14 filtered, 46 badness; has taken 5.3 s