2017-10-20 20:05 GMT+02:00 Yaniv Kaul <yk...@redhat.com>: > > > On Fri, Oct 20, 2017 at 7:56 PM, Nir Soffer <nsof...@redhat.com> wrote: > >> On Fri, Oct 20, 2017 at 11:37 AM Sandro Bonazzola <sbona...@redhat.com> >> 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? >> > The package should be of the noarch architecture because it doesn't contain any binaries.
> >> >>> 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-m >>> odprobe.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.s >>> ervice.d/unlimited-core.conf >>> vdsm.x86_64: W: non-conffile-in-etc /etc/systemd/system/libvirtd.s >>> ervice.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. >> > It should be /usr/bin/python since python is under "alternatives" management > >> >>> 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/toolTest >>> s_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? >> > Some of the errors may be false positives, but if really needed I can help with the test. > >> 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 >>> Devel@ovirt.org >>> http://lists.ovirt.org/mailman/listinfo/devel >> >> >> _______________________________________________ >> Devel mailing list >> Devel@ovirt.org >> http://lists.ovirt.org/mailman/listinfo/devel >> > > -- 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 Devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/devel