On Fri, Oct 20, 2017 at 7:56 PM, Nir Soffer <[email protected]> wrote:
> On Fri, Oct 20, 2017 at 11:37 AM Sandro Bonazzola <[email protected]> > wrote: > >> Just an heads up we have improvement margin on vdsm spec file quality. >> >> [sbonazzo@sbonazzo SPECS]$ rpmlint ./vdsm.spec >> /var/lib/mock/epel-7-x86_64/result/*rpm >> vdsm.x86_64: E: explicit-lib-dependency libnl3 >> > > What is wrong with this? > > >> vdsm.x86_64: E: explicit-lib-dependency libvirt-client >> vdsm.x86_64: E: explicit-lib-dependency libvirt-daemon-config-nwfilter >> vdsm.x86_64: E: explicit-lib-dependency libvirt-lock-sanlock >> vdsm.x86_64: W: obsolete-not-provided vdsm-infra >> vdsm.x86_64: E: no-binary >> > > Ha? > > >> vdsm.x86_64: W: conffile-without-noreplace-flag /var/log/vdsm/mom.log >> > > This is not a conf file, we should probably change this > > >> vdsm.x86_64: W: conffile-without-noreplace-flag >> /var/log/vdsm/supervdsm.log >> vdsm.x86_64: W: conffile-without-noreplace-flag /var/log/vdsm/vdsm.log >> vdsm.x86_64: W: non-conffile-in-etc /etc/NetworkManager/conf.d/vdsm.conf >> > > Ha? > Perhaps: %{_sysconfdir}/NetworkManager/conf.d/vdsm.conf should be: %config(noreplace) %{_sysconfdir}/NetworkManager/conf.d/vdsm.conf > >> vdsm.x86_64: W: non-conffile-in-etc /etc/modprobe.d/vdsm-bonding- >> modprobe.conf >> vdsm.x86_64: E: non-readable /etc/pki/vdsm/keys/libvirt_password 600 >> vdsm.x86_64: W: non-conffile-in-etc /etc/security/limits.d/99-vdsm.conf >> > > Ha? > Same? > > >> vdsm.x86_64: W: non-conffile-in-etc /etc/sudoers.d/50_vdsm >> vdsm.x86_64: W: systemd-unit-in-etc /etc/systemd/system/libvirtd. >> service.d/unlimited-core.conf >> vdsm.x86_64: W: non-conffile-in-etc /etc/systemd/system/libvirtd. >> service.d/unlimited-core.conf >> vdsm.x86_64: E: zero-length /etc/vdsm/mom.d/01-parameters.policy >> vdsm.x86_64: E: wrong-script-interpreter /usr/libexec/vdsm/kvm2ovirt >> /usr/bin/env python >> > > This used to be the recommended way to write scripts, but it is easy to > replace with /usr/bin/python2. > > >> vdsm.x86_64: E: wrong-script-interpreter /usr/libexec/vdsm/vm_migrate_hook.py >> /usr/bin/env python >> vdsm.x86_64: E: wrong-script-interpreter >> /usr/share/vdsm/virt/vm_migrate_hook.py >> /usr/bin/env python >> vdsm.x86_64: E: non-executable-script /usr/share/vdsm/virt/vm_migrate_hook.py >> 644 /usr/bin/env python >> vdsm.x86_64: E: non-standard-dir-perm /var/lib/libvirt/qemu/channels 775 >> vdsm.x86_64: E: non-standard-dir-perm /var/log/core 1777 >> vdsm.x86_64: E: dir-or-file-in-var-run /var/run/vdsm >> > > What is wrong with this? > "/var/run may be a temporary filesystem, so any directories or files needed there must be created dynamically at boot time." Y. > > >> vdsm.x86_64: E: dir-or-file-in-var-run /var/run/vdsm/payload >> vdsm.x86_64: E: dir-or-file-in-var-run /var/run/vdsm/sourceRoutes >> vdsm.x86_64: E: dir-or-file-in-var-run /var/run/vdsm/trackedInterfaces >> vdsm.x86_64: E: dir-or-file-in-var-run /var/run/vdsm/v2v >> vdsm.x86_64: W: log-files-without-logrotate ['/var/log/core', >> '/var/log/vdsm'] >> > > We have logrotate configuration for vdsm, but we don't use the standard > configuration since we need more frequent rotation. > > >> vdsm.x86_64: W: dangerous-command-in-%pre rpm >> vdsm.x86_64: W: dangerous-command-in-%post chmod >> vdsm-api.noarch: E: wrong-script-interpreter >> /usr/lib/python2.7/site-packages/vdsm/api/vdsmapi.py >> /usr/bin/env python >> vdsm-api.noarch: E: non-executable-script >> /usr/lib/python2.7/site-packages/vdsm/api/vdsmapi.py >> 644 /usr/bin/env python >> vdsm-cli.noarch: W: non-conffile-in-etc /etc/bash_completion.d/vdsClient >> vdsm-gluster.noarch: W: spelling-error %description -l en_US >> functionalities -> functionalists, functionality, functionalist >> vdsm-gluster.noarch: W: no-documentation >> vdsm-hook-allocate_net.noarch: W: summary-not-capitalized C >> random_network allocation hook for VDSM >> vdsm-hook-allocate_net.noarch: W: spelling-error %description -l en_US >> vms -> vs, ms, ems >> vdsm-hook-allocate_net.noarch: W: no-documentation >> vdsm-hook-allocate_net.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/before_device_create/10_allocate_net >> /usr/bin/env python >> vdsm-hook-checkimages.noarch: W: no-documentation >> vdsm-hook-checkips.x86_64: W: no-documentation >> vdsm-hook-checkips.x86_64: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/after_get_stats/10_checkips /usr/bin/env python >> vdsm-hook-checkips.x86_64: E: non-executable-script >> /usr/libexec/vdsm/hooks/after_get_stats/checkips_utils.py 644 >> /usr/bin/python2 >> vdsm-hook-diskunmap.noarch: W: spelling-error Summary(en_US) lun -> loon, >> lung, sun >> vdsm-hook-diskunmap.noarch: W: no-documentation >> vdsm-hook-diskunmap.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/before_vm_start/50_diskunmap /usr/bin/env python2 >> vdsm-hook-ethtool-options.noarch: W: spelling-error Summary(en_US) nics >> -> incs, mics, nicks >> vdsm-hook-ethtool-options.noarch: W: spelling-error %description -l >> en_US nics -> incs, mics, nicks >> vdsm-hook-ethtool-options.noarch: W: no-documentation >> vdsm-hook-ethtool-options.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/after_network_setup/30_ethtool_options >> /usr/bin/env python >> vdsm-hook-extnet.noarch: W: spelling-error Summary(en_US) vNIC -> Venice >> vdsm-hook-extnet.noarch: W: spelling-error Summary(en_US) libvirt -> >> liberty, ovirt >> vdsm-hook-extnet.noarch: W: spelling-error %description -l en_US vNIC -> >> Venice >> vdsm-hook-extnet.noarch: W: spelling-error %description -l en_US libvirt >> -> liberty, ovirt >> vdsm-hook-extnet.noarch: W: spelling-error %description -l en_US >> openvswitch -> switchboard >> vdsm-hook-extnet.noarch: W: no-documentation >> vdsm-hook-extra-ipv4-addrs.x86_64: W: summary-ended-with-dot C Set extra >> ipv4 addresses for vdsm networks. >> vdsm-hook-extra-ipv4-addrs.x86_64: W: no-documentation >> vdsm-hook-extra-ipv4-addrs.x86_64: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/after_network_setup/40_extra_ipv4_addrs >> /usr/bin/env python >> vdsm-hook-fakesriov.x86_64: W: spelling-error %description -l en_US >> hostdevListByCaps >> vdsm-hook-fakesriov.x86_64: W: spelling-error %description -l en_US sriov >> -> Rios >> vdsm-hook-fakesriov.x86_64: W: spelling-error %description -l en_US conf >> -> con, cone, cons >> vdsm-hook-fakesriov.x86_64: W: no-documentation >> vdsm-hook-fakevmstats.noarch: W: spelling-error %description -l en_US >> vmstats -> stats >> vdsm-hook-fakevmstats.noarch: W: spelling-error %description -l en_US >> conf -> con, cone, cons >> vdsm-hook-fakevmstats.noarch: W: no-documentation >> vdsm-hook-faqemu.noarch: W: spelling-error Summary(en_US) qemu -> emu, q >> emu >> vdsm-hook-faqemu.noarch: W: spelling-error %description -l en_US kvm -> km >> vdsm-hook-faqemu.noarch: W: spelling-error %description -l en_US conf -> >> con, cone, cons >> vdsm-hook-faqemu.noarch: W: no-documentation >> vdsm-hook-fcoe.noarch: W: no-documentation >> vdsm-hook-fcoe.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/before_network_setup/50_fcoe /bin/env python >> vdsm-hook-fileinject.noarch: W: no-documentation >> vdsm-hook-floppy.noarch: W: no-documentation >> vdsm-hook-hostusb.noarch: W: no-documentation >> vdsm-hook-hostusb.noarch: E: non-readable /etc/sudoers.d/50_vdsm_hook_hostusb >> 440 >> vdsm-hook-hostusb.noarch: W: non-conffile-in-etc >> /etc/sudoers.d/50_vdsm_hook_hostusb >> vdsm-hook-httpsisoboot.noarch: W: spelling-error Summary(en_US) https -> >> HTTP >> vdsm-hook-httpsisoboot.noarch: W: spelling-error %description -l en_US >> https -> HTTP >> vdsm-hook-httpsisoboot.noarch: W: spelling-error %description -l en_US >> http -> HTTP >> vdsm-hook-httpsisoboot.noarch: W: no-documentation >> vdsm-hook-hugepages.noarch: W: summary-ended-with-dot C Huge pages enable >> user to handle VM with 2048KB page files. >> vdsm-hook-hugepages.noarch: W: no-documentation >> vdsm-hook-hugepages.noarch: E: non-readable >> /etc/sudoers.d/50_vdsm_hook_hugepages >> 440 >> vdsm-hook-hugepages.noarch: W: non-conffile-in-etc >> /etc/sudoers.d/50_vdsm_hook_hugepages >> vdsm-hook-ipv6.noarch: W: no-documentation >> vdsm-hook-ipv6.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/before_network_setup/50_ipv6 /usr/bin/env python2 >> vdsm-hook-isolatedprivatevlan.noarch: W: spelling-error %description -l >> en_US ip -> pi, up, op >> vdsm-hook-isolatedprivatevlan.noarch: W: spelling-error %description -l >> en_US filterref -> filter ref, filter-ref, filterer >> vdsm-hook-isolatedprivatevlan.noarch: W: spelling-error %description -l >> en_US xml -> XML, ml, x ml >> vdsm-hook-isolatedprivatevlan.noarch: W: no-documentation >> vdsm-hook-isolatedprivatevlan.noarch: E: executable-marked-as-config-file >> /etc/libvirt/nwfilter/isolatedprivatevlan-vdsm.xml >> vdsm-hook-isolatedprivatevlan.noarch: E: script-without-shebang >> /etc/libvirt/nwfilter/isolatedprivatevlan-vdsm.xml >> vdsm-hook-localdisk.noarch: W: spelling-error %description -l en_US lvm >> -> lvi, lam, Lvov >> vdsm-hook-localdisk.noarch: W: only-non-binary-in-usr-lib >> vdsm-hook-localdisk.noarch: W: no-documentation >> vdsm-hook-localdisk.noarch: E: non-readable >> /etc/sudoers.d/50_vdsm_hook_localdisk >> 440 >> vdsm-hook-localdisk.noarch: W: non-conffile-in-etc >> /etc/sudoers.d/50_vdsm_hook_localdisk >> vdsm-hook-macbind.noarch: W: spelling-error Summary(en_US) vNIC -> Venice >> vdsm-hook-macbind.noarch: W: spelling-error %description -l en_US vNIC -> >> Venice >> vdsm-hook-macbind.noarch: W: no-documentation >> vdsm-hook-macbind.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/before_vm_start/50_macbind /usr/bin/env python2 >> vdsm-hook-macspoof.noarch: W: spelling-error %description -l en_US vnics >> -> conics >> vdsm-hook-macspoof.noarch: W: no-documentation >> vdsm-hook-nestedvt.noarch: W: spelling-error %description -l en_US >> virtualization -> visualization, actualization, vitalization >> vdsm-hook-nestedvt.noarch: W: spelling-error %description -l en_US kvm -> >> km >> vdsm-hook-nestedvt.noarch: W: no-documentation >> vdsm-hook-nestedvt.noarch: W: non-conffile-in-etc >> /etc/modprobe.d/vdsm-nestedvt.conf >> vdsm-hook-noipspoof.noarch: W: no-documentation >> vdsm-hook-numa.noarch: W: spelling-error %description -l en_US xml -> >> XML, ml, x ml >> vdsm-hook-numa.noarch: W: no-documentation >> vdsm-hook-openstacknet.noarch: W: spelling-error Summary(en_US) vNICs -> >> conics >> vdsm-hook-openstacknet.noarch: W: spelling-error %description -l en_US >> vNICs -> conics >> vdsm-hook-openstacknet.noarch: W: no-documentation >> vdsm-hook-openstacknet.noarch: E: non-readable >> /etc/sudoers.d/50_vdsm_hook_openstacknet 440 >> vdsm-hook-openstacknet.noarch: W: non-conffile-in-etc >> /etc/sudoers.d/50_vdsm_hook_openstacknet >> vdsm-hook-openstacknet.noarch: E: wrong-script-interpreter >> /usr/libexec/vdsm/hooks/before_device_migrate_destination/50_openstacknet >> /usr/bin/env python2 >> vdsm-hook-pincpu.noarch: W: no-documentation >> vdsm-hook-promisc.noarch: W: no-documentation >> vdsm-hook-promisc.noarch: E: non-readable /etc/sudoers.d/50_vdsm_hook_promisc >> 440 >> vdsm-hook-promisc.noarch: W: non-conffile-in-etc >> /etc/sudoers.d/50_vdsm_hook_promisc >> vdsm-hook-qemucmdline.noarch: W: spelling-error Summary(en_US) cmdline -> >> decline >> vdsm-hook-qemucmdline.noarch: W: spelling-error %description -l en_US >> cmdline -> decline >> vdsm-hook-qemucmdline.noarch: W: spelling-error %description -l en_US >> libvirt's -> liberty's >> vdsm-hook-qemucmdline.noarch: W: spelling-error %description -l en_US >> qemu -> emu, q emu >> vdsm-hook-qemucmdline.noarch: W: spelling-error %description -l en_US >> commandline -> command line, command-line, commandment >> vdsm-hook-qemucmdline.noarch: W: spelling-error %description -l en_US xml >> -> XML, ml, x ml >> vdsm-hook-qemucmdline.noarch: W: spelling-error %description -l en_US >> namespace -> name space, name-space, names pace >> vdsm-hook-qemucmdline.noarch: W: no-documentation >> vdsm-hook-qos.noarch: W: no-documentation >> vdsm-hook-scratchpad.noarch: W: no-documentation >> vdsm-hook-smbios.noarch: W: spelling-error Summary(en_US) libvirt -> >> liberty, ovirt >> vdsm-hook-smbios.noarch: W: spelling-error %description -l en_US libvirt >> -> liberty, ovirt >> vdsm-hook-smbios.noarch: W: no-documentation >> vdsm-hook-spiceoptions.noarch: W: spelling-error Summary(en_US) vm -> cm, >> v, m >> vdsm-hook-spiceoptions.noarch: W: no-documentation >> vdsm-hook-vfio-mdev.noarch: W: summary-ended-with-dot C Hook to enable >> mdev-capable devices. >> vdsm-hook-vfio-mdev.noarch: W: no-documentation >> vdsm-hook-vhostmd.noarch: W: no-documentation >> vdsm-hook-vhostmd.noarch: E: non-readable /etc/sudoers.d/50_vdsm_hook_vhostmd >> 440 >> vdsm-hook-vhostmd.noarch: W: non-conffile-in-etc >> /etc/sudoers.d/50_vdsm_hook_vhostmd >> vdsm-hook-vmdisk.noarch: W: no-documentation >> vdsm-hook-vmfex.noarch: W: summary-not-capitalized C vmfex support for >> VDSM >> vdsm-hook-vmfex.noarch: W: no-documentation >> vdsm-hook-vmfex-dev.noarch: W: spelling-error Summary(en_US) vNIC -> >> Venice >> vdsm-hook-vmfex-dev.noarch: W: spelling-error %description -l en_US vNIC >> -> Venice >> vdsm-hook-vmfex-dev.noarch: W: spelling-error %description -l en_US >> macvtap -> madcap >> vdsm-hook-vmfex-dev.noarch: W: no-documentation >> vdsm-jsonrpc.noarch: W: spelling-error %description -l en_US libvdsm -> >> liberalism >> vdsm-jsonrpc.noarch: W: obsolete-not-provided vdsm-api >> vdsm-jsonrpc.noarch: W: no-documentation >> vdsm-python.noarch: E: non-executable-script >> /usr/lib/python2.7/site-packages/vdsm/tool/dummybr.py >> 644 /usr/bin/python2 >> vdsm-python.noarch: E: non-executable-script >> /usr/lib/python2.7/site-packages/vdsm/tool/nwfilter.py >> 644 /usr/bin/python2 >> vdsm-python.noarch: W: dangerous-command-in-%post rm >> vdsm-tests.noarch: E: non-executable-script >> /usr/share/vdsm/tests/alignmentScanTests.py >> 644 /usr/bin/python2 >> > > This looks easy, this is not a script > > >> vdsm-tests.noarch: E: wrong-script-interpreter >> /usr/share/vdsm/tests/fake-ssh-add >> /usr/bin/env python >> vdsm-tests.noarch: E: non-executable-script >> /usr/share/vdsm/tests/fake-ssh-add >> 644 /usr/bin/env python >> vdsm-tests.noarch: E: wrong-script-interpreter >> /usr/share/vdsm/tests/fake-ssh-agent >> /usr/bin/env python >> vdsm-tests.noarch: E: non-executable-script >> /usr/share/vdsm/tests/fake-ssh-agent >> 644 /usr/bin/env python >> vdsm-tests.noarch: E: wrong-script-interpreter >> /usr/share/vdsm/tests/fake-virt-v2v >> /usr/bin/env python >> vdsm-tests.noarch: E: non-executable-script >> /usr/share/vdsm/tests/fake-virt-v2v >> 644 /usr/bin/env python >> vdsm-tests.noarch: E: script-without-shebang /usr/share/vdsm/tests/ >> testValidation.py >> > > This is also not a script, maybe wrong permissions? > > >> vdsm-tests.noarch: E: zero-length /usr/share/vdsm/tests/ >> toolTests_empty.conf >> > > This is bogus error, but we can probably replace this with generated > temporary file. > > >> vdsm-xmlrpc.noarch: W: spelling-error %description -l en_US vdsmd >> vdsm-xmlrpc.noarch: W: spelling-error %description -l en_US vdsClient -> >> clientele >> vdsm-xmlrpc.noarch: W: no-documentation >> vdsm-yajsonrpc.noarch: W: no-documentation >> 48 packages and 1 specfiles checked; 49 errors, 120 warnings. >> > > Sandro, can you help with adding a test to vdsm build, failing if the spec > has > errors? > > This would also would be useful to other projects like ovirt-imageio. > > Nir > > >> >> >> -- >> >> SANDRO BONAZZOLA >> >> ASSOCIATE MANAGER, SOFTWARE ENGINEERING, EMEA ENG VIRTUALIZATION R&D >> >> Red Hat EMEA <https://www.redhat.com/> >> <https://red.ht/sig> >> TRIED. TESTED. TRUSTED. <https://redhat.com/trusted> >> <http://www.teraplan.it/redhat-osd-2017/> >> _______________________________________________ >> Devel mailing list >> [email protected] >> http://lists.ovirt.org/mailman/listinfo/devel > > > _______________________________________________ > Devel mailing list > [email protected] > http://lists.ovirt.org/mailman/listinfo/devel >
_______________________________________________ Devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/devel
