Spec URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00871171-ovn/ovn.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00871171-ovn/ovn-2.11.0-1.fc31.src.rpm Description: OVN is part of OpenvSwitch project and is a sub-project of openvswitch. Hence all the ovn packages are sub packages of openvswitch with the sub package names - openvswitch-ovn-common, openvswitch-ovn-central and openvswitch-ovn-host. In OpenvSwitch 2.11, the rpms were split and OVN is now independently built. The upstream ovn.spec can be found here - https://github.com/openvswitch/ovs/blob/master/rhel/ovn-fedora.spec.in Hence adding a new 'ovn' project in Fedora. Fedora Account System Username: numans Koji build link - https://koji.fedoraproject.org/koji/taskinfo?taskID=33653344 Please note this is my first package and I am seeking a sponsor.
Addressed the review comments I received from mrunge (Matthias Runge) and amoralej (Alfredo Moralejo) in #rdo channel. Updated URLs are: Spec URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00871731-ovn/ovn.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00871731-ovn/ovn-2.11.0-2.fc31.src.rpm Koji build link - https://koji.fedoraproject.org/koji/taskinfo?taskID=33677544
Not a review, just a few comments - Not needed at the start of %install: rm -rf $RPM_BUILD_ROOT - Python 2 is deprecated in F30, you shouldn't build new packages with it: %if 0%{?fedora} %global with_python2 1 %else %global with_python2 0 %endif - Group: is not used in Fedora CC mrunge or amoralej?
(In reply to Robert-André Mauchin from comment #2) > Not a review, just a few comments > > - Not needed at the start of %install: > > rm -rf $RPM_BUILD_ROOT > > - Python 2 is deprecated in F30, you shouldn't build new packages with it: > > %if 0%{?fedora} > %global with_python2 1 > %else > %global with_python2 0 > %endif > > - Group: is not used in Fedora > > CC mrunge or amoralej? Thanks. I have addressed it.
Updated URLs are: Spec URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00873471-ovn/ovn.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00873471-ovn/ovn-2.11.0-2.fc31.src.rpm Koji build link - https://koji.fedoraproject.org/koji/taskinfo?taskID=33763733
- The obsoleted version should be the version the obsoleted package would have been if it was bumped Obsoletes: openvswitch-ovn-common < 2.11.0-3 and so on for all the Obsoletes. - Use %{?systemd_requires}: Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units - What's the purpose of this: %if 0%{?commit0:1} %setup -n ovs-%{commit0} -q -D -T %else %setup -n openvswitch-%{version} -q -D -T %endif you already ran %autosetup. That will only overwrite patches applied in %autosetup, which is probably not what you want. - What platform are you targeting that don't have systemd macros? They are even on EPEL7. Remove all the %if 0%{?systemd_*:1} conditionals. - Not useful: # Use Python3 %global _py python3 %global _py2 python2 You used %_py one time in the spec. - Have you discussed the obsoleting part with the current openvswitch maintainers? You need to coordinate together for this. I'll continue the review later.
- Group is not used in Fedora - BuildRequires: systemd-units → BuildRequires: systemd-rpm-macros or BuildRequires: systemd for older Fedora - Redundant: libcap-ng is a dependency of libcap-ng-devel %if %{with libcapng} BuildRequires: libcap-ng-devel %endif - make install DESTDIR=$RPM_BUILD_ROOT → %make_install
(In reply to Robert-André Mauchin from comment #5) Thanks for the review. > - The obsoleted version should be the version the obsoleted package would > have been if it was bumped > > Obsoletes: openvswitch-ovn-common < 2.11.0-3 > > and so on for all the Obsoletes. > Done > - Use %{?systemd_requires}: > > Requires(post): systemd-units > Requires(preun): systemd-units > Requires(postun): systemd-units > Done > > - What's the purpose of this: > > > %if 0%{?commit0:1} > %setup -n ovs-%{commit0} -q -D -T > %else > %setup -n openvswitch-%{version} -q -D -T > %endif > > you already ran %autosetup. That will only overwrite patches applied in > %autosetup, which is probably not what you want. Done. removed %setup. > > - What platform are you targeting that don't have systemd macros? They are > even on EPEL7. > Remove all the %if 0%{?systemd_*:1} conditionals. > Done > - Not useful: > > # Use Python3 > %global _py python3 > %global _py2 python2 > > You used %_py one time in the spec. Done. removed them. > > - Have you discussed the obsoleting part with the current openvswitch > maintainers? You need to coordinate together for this. Yes. Timothy Redaelli <tredaelli>, maintainer of openvswitch packages is aware of this. I have added him in the CC. > > I'll continue the review later. Thanks
(In reply to Robert-André Mauchin from comment #6) > - Group is not used in Fedora Done. > > - BuildRequires: systemd-units → BuildRequires: systemd-rpm-macros or > BuildRequires: systemd for older Fedora > On my fedora 29 I couldn't find the package - systemd-rpm-macros. So I have replaced systemd-units -> systemd > - Redundant: libcap-ng is a dependency of libcap-ng-devel > > %if %{with libcapng} > BuildRequires: libcap-ng-devel > %endif > Done. > - make install DESTDIR=$RPM_BUILD_ROOT → %make_install Done. Thanks the review. I will share the copr and koji links.
Updated URLs are: Spec URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00876521-ovn/ovn.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00876521-ovn/ovn-2.11.0-2.fc31.src.rpm Koji build link - https://koji.fedoraproject.org/koji/taskinfo?taskID=33881379
> > > > - What platform are you targeting that don't have systemd macros? They are > > even on EPEL7. > > Remove all the %if 0%{?systemd_*:1} conditionals. > > > > Done You removed the wrong part of the conditionals: the goal was to keep the SystemD macros and remove the "manual" alternative: %preun central %systemd_preun ovn-northd.service %preun host %systemd_preun ovn-controller.service %preun vtep %systemd_preun ovn-controller-vtep.service %post central %systemd_post ovn-northd.service %post host %systemd_post ovn-controller.service %post vtep %systemd_post ovn-controller-vtep.service %postun central %systemd_postun ovn-northd.service %postun host %systemd_postun ovn-controller.service %postun vtep %systemd_postun ovn-controller-vtep
(In reply to Robert-André Mauchin from comment #10) > > > > > > > - What platform are you targeting that don't have systemd macros? They are > > > even on EPEL7. > > > Remove all the %if 0%{?systemd_*:1} conditionals. > > > > > > > Done > > > You removed the wrong part of the conditionals: the goal was to keep the > SystemD macros and remove the "manual" alternative: > > > %preun central > %systemd_preun ovn-northd.service > > %preun host > %systemd_preun ovn-controller.service > > %preun vtep > %systemd_preun ovn-controller-vtep.service > > %post central > %systemd_post ovn-northd.service > > %post host > %systemd_post ovn-controller.service > > %post vtep > %systemd_post ovn-controller-vtep.service > > %postun central > %systemd_postun ovn-northd.service > > %postun host > %systemd_postun ovn-controller.service > > %postun vtep > %systemd_postun ovn-controller-vtep Oops. Thanks. I will update the spec file. If you have any other comments please let me know. Thanks
- Add BR for gcc - Update License field BSD 3-clause "New" or "Revised" License --------------------------------------- openvswitch-2.11.0/include/sparse/rte_byteorder.h openvswitch-2.11.0/include/sparse/rte_esp.h openvswitch-2.11.0/include/sparse/rte_flow.h openvswitch-2.11.0/include/windows/netinet/icmp6.h openvswitch-2.11.0/include/windows/netinet/ip6.h openvswitch-2.11.0/lib/strsep.c openvswitch-2.11.0/tests/dpdk/ring_client.c BSD 4-clause "Original" or "Old" License ---------------------------------------- openvswitch-2.11.0/include/sparse/rte_icmp.h openvswitch-2.11.0/include/sparse/rte_ip.h openvswitch-2.11.0/include/sparse/rte_sctp.h openvswitch-2.11.0/include/sparse/rte_tcp.h openvswitch-2.11.0/include/sparse/rte_udp.h Expat License ------------- openvswitch-2.11.0/build-aux/install-sh openvswitch-2.11.0/include/openflow/openflow-1.3.h openvswitch-2.11.0/include/openflow/openflow-1.4.h openvswitch-2.11.0/include/openflow/openflow-1.5.h GPL (v2) -------- openvswitch-2.11.0/datapath/actions.c openvswitch-2.11.0/datapath/compat.h openvswitch-2.11.0/datapath/conntrack.c openvswitch-2.11.0/datapath/conntrack.h openvswitch-2.11.0/datapath/datapath.c openvswitch-2.11.0/datapath/datapath.h openvswitch-2.11.0/datapath/dp_notify.c openvswitch-2.11.0/datapath/flow.c openvswitch-2.11.0/datapath/flow.h openvswitch-2.11.0/datapath/flow_netlink.c openvswitch-2.11.0/datapath/flow_netlink.h openvswitch-2.11.0/datapath/flow_table.c openvswitch-2.11.0/datapath/flow_table.h openvswitch-2.11.0/datapath/linux/compat/geneve.c openvswitch-2.11.0/datapath/linux/compat/gre.c openvswitch-2.11.0/datapath/linux/compat/gso.c openvswitch-2.11.0/datapath/linux/compat/include/net/mpls.h openvswitch-2.11.0/datapath/linux/compat/ip_tunnel.c openvswitch-2.11.0/datapath/linux/compat/ip_tunnels_core.c openvswitch-2.11.0/datapath/linux/compat/lisp.c openvswitch-2.11.0/datapath/linux/compat/vxlan.c openvswitch-2.11.0/datapath/meter.c openvswitch-2.11.0/datapath/meter.h openvswitch-2.11.0/datapath/nsh.c openvswitch-2.11.0/datapath/vport-gre.c openvswitch-2.11.0/datapath/vport-internal_dev.c openvswitch-2.11.0/datapath/vport-internal_dev.h openvswitch-2.11.0/datapath/vport-netdev.c openvswitch-2.11.0/datapath/vport-netdev.h openvswitch-2.11.0/datapath/vport-vxlan.c openvswitch-2.11.0/datapath/vport.c openvswitch-2.11.0/datapath/vport.h openvswitch-2.11.0/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py Update license breakdown comment as well. - Own these directories: [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/openvswitch, /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts - Issue with Provides/Obsoletes ovn.x86_64: W: self-obsoletion openvswitch-ovn-common < 2.11.0-3 obsoletes openvswitch-ovn-common = 2.11.0-2.fc31 The version you provide should be > to the version you obsolete, so at least 2.11.0-4 - Use Fedora crypto default: ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl SSL_CTX_set_cipher_list ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl SSL_CTX_set_cipher_list ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace SSL_CTX_set_cipher_list See https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ That is: patch lib/stream-ssl.c:1017 to use "PROFILE=SYSTEM" - # Using {_lib} macro will solve the # rpmlink error, but will install the files in /usr/lib64/. # OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/ # and we are not sure if pacemaker looks into this path to find the # OVN resource agent script. Can't you check if lib64 actually work or not?
Forgot to post the review: Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. Note: No gcc, gcc-c++ or clang found in BuildRequires See: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/ ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* Apache License (v2.0)", "FSF All Permissive License", "Apache License (v2.0)", "GPL (v2 or later) (with incorrect FSF address)", "Expat License", "GPL (v2)", "GPL (v2 or later)", "Apache License (v2.0) GNU Lesser General Public License (v2.1)", "GNU Lesser General Public License (v2.1)", "BSD 2-clause "Simplified" License", "Public domain Apache License (v2.0)", "BSD 3-clause "New" or "Revised" License", "FSF Unlimited License (with Retention)", "FSF Unlimited License (with Retention) GNU General Public License", "Apache License (v2.0) Creative Commons Attribution Public License (v3.0)", "ISC License", "Expat License Apache License (v2.0)", "BSD 4-clause "Original" or "Old" License", "*No copyright* GPL (v2 or later)", "Apache License (v2.0) GPL (v2)". 619 files have unknown license. Detailed output of licensecheck in /home/bob/packaging/review/ovn/review-ovn/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/share/openvswitch, /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 0 bytes in 0 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [-]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in ovn , ovn-central , ovn-host , ovn-vtep [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: Scriptlets must be sane, if used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [-]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Uses parallel make %{?_smp_mflags} macro. [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Package should not use obsolete m4 macros [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: ovn-2.11.0-2.fc31.x86_64.rpm ovn-central-2.11.0-2.fc31.x86_64.rpm ovn-host-2.11.0-2.fc31.x86_64.rpm ovn-vtep-2.11.0-2.fc31.x86_64.rpm ovn-debuginfo-2.11.0-2.fc31.x86_64.rpm ovn-debugsource-2.11.0-2.fc31.x86_64.rpm ovn-2.11.0-2.fc31.src.rpm ovn.x86_64: W: self-obsoletion openvswitch-ovn-common < 2.11.0-3 obsoletes openvswitch-ovn-common = 2.11.0-2.fc31 ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl SSL_CTX_set_cipher_list ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl SSL_CTX_set_cipher_list ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace SSL_CTX_set_cipher_list ovn-central.x86_64: W: spelling-error %description -l en_US northd -> north, north d, North ovn-central.x86_64: W: self-obsoletion openvswitch-ovn-central < 2.11.0-3 obsoletes openvswitch-ovn-central = 2.11.0-2.fc31 ovn-central.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-northd SSL_CTX_set_cipher_list ovn-central.x86_64: W: empty-%postun ovn-host.x86_64: W: self-obsoletion openvswitch-ovn-host < 2.11.0-3 obsoletes openvswitch-ovn-host = 2.11.0-2.fc31 ovn-host.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-controller SSL_CTX_set_cipher_list ovn-host.x86_64: W: empty-%postun ovn-vtep.x86_64: W: self-obsoletion openvswitch-ovn-vtep < 2.11.0-3 obsoletes openvswitch-ovn-vtep = 2.11.0-2.fc31 ovn-vtep.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-controller-vtep SSL_CTX_set_cipher_list ovn-vtep.x86_64: W: empty-%postun ovn.src:24: E: hardcoded-library-path in %{_prefix}/lib 7 packages and 0 specfiles checked; 1 errors, 14 warnings.
(In reply to Robert-André Mauchin from comment #12) > - Add BR for gcc > > - Update License field > > > BSD 3-clause "New" or "Revised" License > --------------------------------------- > openvswitch-2.11.0/include/sparse/rte_byteorder.h > openvswitch-2.11.0/include/sparse/rte_esp.h > openvswitch-2.11.0/include/sparse/rte_flow.h > openvswitch-2.11.0/include/windows/netinet/icmp6.h > openvswitch-2.11.0/include/windows/netinet/ip6.h > openvswitch-2.11.0/lib/strsep.c > openvswitch-2.11.0/tests/dpdk/ring_client.c > > BSD 4-clause "Original" or "Old" License > ---------------------------------------- > openvswitch-2.11.0/include/sparse/rte_icmp.h > openvswitch-2.11.0/include/sparse/rte_ip.h > openvswitch-2.11.0/include/sparse/rte_sctp.h > openvswitch-2.11.0/include/sparse/rte_tcp.h > openvswitch-2.11.0/include/sparse/rte_udp.h > > Expat License > ------------- > openvswitch-2.11.0/build-aux/install-sh > openvswitch-2.11.0/include/openflow/openflow-1.3.h > openvswitch-2.11.0/include/openflow/openflow-1.4.h > openvswitch-2.11.0/include/openflow/openflow-1.5.h > > GPL (v2) > -------- > openvswitch-2.11.0/datapath/actions.c > openvswitch-2.11.0/datapath/compat.h > openvswitch-2.11.0/datapath/conntrack.c > openvswitch-2.11.0/datapath/conntrack.h > openvswitch-2.11.0/datapath/datapath.c > openvswitch-2.11.0/datapath/datapath.h > openvswitch-2.11.0/datapath/dp_notify.c > openvswitch-2.11.0/datapath/flow.c > openvswitch-2.11.0/datapath/flow.h > openvswitch-2.11.0/datapath/flow_netlink.c > openvswitch-2.11.0/datapath/flow_netlink.h > openvswitch-2.11.0/datapath/flow_table.c > openvswitch-2.11.0/datapath/flow_table.h > openvswitch-2.11.0/datapath/linux/compat/geneve.c > openvswitch-2.11.0/datapath/linux/compat/gre.c > openvswitch-2.11.0/datapath/linux/compat/gso.c > openvswitch-2.11.0/datapath/linux/compat/include/net/mpls.h > openvswitch-2.11.0/datapath/linux/compat/ip_tunnel.c > openvswitch-2.11.0/datapath/linux/compat/ip_tunnels_core.c > openvswitch-2.11.0/datapath/linux/compat/lisp.c > openvswitch-2.11.0/datapath/linux/compat/vxlan.c > openvswitch-2.11.0/datapath/meter.c > openvswitch-2.11.0/datapath/meter.h > openvswitch-2.11.0/datapath/nsh.c > openvswitch-2.11.0/datapath/vport-gre.c > openvswitch-2.11.0/datapath/vport-internal_dev.c > openvswitch-2.11.0/datapath/vport-internal_dev.h > openvswitch-2.11.0/datapath/vport-netdev.c > openvswitch-2.11.0/datapath/vport-netdev.h > openvswitch-2.11.0/datapath/vport-vxlan.c > openvswitch-2.11.0/datapath/vport.c > openvswitch-2.11.0/datapath/vport.h > openvswitch-2.11.0/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch. > py > > Update license breakdown comment as well. > > - Own these directories: > > [!]: Package requires other packages for directories it uses. > Note: No known owner of /usr/share/openvswitch, > /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts > > - Issue with Provides/Obsoletes > > ovn.x86_64: W: self-obsoletion openvswitch-ovn-common < 2.11.0-3 obsoletes > openvswitch-ovn-common = 2.11.0-2.fc31 > > The version you provide should be > to the version you obsolete, so at least > 2.11.0-4 Ack. > > - Use Fedora crypto default: > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl > SSL_CTX_set_cipher_list > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl > SSL_CTX_set_cipher_list > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace > SSL_CTX_set_cipher_list > > See https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ > > That is: patch lib/stream-ssl.c:1017 to use "PROFILE=SYSTEM" This requires changes int the openvswitch code and I will submit a patch to the ovs-dev ML to use "PROFILE=SYSTEM". I will update if that's acceptable or not. > > - > > # Using {_lib} macro will solve the > # rpmlink error, but will install the files in /usr/lib64/. > # OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/ > # and we are not sure if pacemaker looks into this path to find the > # OVN resource agent script. > > Can't you check if lib64 actually work or not? I actually looked into it. I don't we can address this. I checked with the pacemaker folks and they are not sure if the ResourceAgent looks into this path for Resource agent scripts. It would be too risky to assume that /usr/lib64 will work. So I would prefer that the OVN pacemaker script is installed at /usr/lib.
(In reply to Numan Siddique from comment #14) > (In reply to Robert-André Mauchin from comment #12) > > - Add BR for gcc > > > > - Update License field > > > > > > BSD 3-clause "New" or "Revised" License > > --------------------------------------- > > openvswitch-2.11.0/include/sparse/rte_byteorder.h > > openvswitch-2.11.0/include/sparse/rte_esp.h > > openvswitch-2.11.0/include/sparse/rte_flow.h > > openvswitch-2.11.0/include/windows/netinet/icmp6.h > > openvswitch-2.11.0/include/windows/netinet/ip6.h > > openvswitch-2.11.0/lib/strsep.c > > openvswitch-2.11.0/tests/dpdk/ring_client.c > > > > BSD 4-clause "Original" or "Old" License > > ---------------------------------------- > > openvswitch-2.11.0/include/sparse/rte_icmp.h > > openvswitch-2.11.0/include/sparse/rte_ip.h > > openvswitch-2.11.0/include/sparse/rte_sctp.h > > openvswitch-2.11.0/include/sparse/rte_tcp.h > > openvswitch-2.11.0/include/sparse/rte_udp.h > > > > Expat License > > ------------- > > openvswitch-2.11.0/build-aux/install-sh > > openvswitch-2.11.0/include/openflow/openflow-1.3.h > > openvswitch-2.11.0/include/openflow/openflow-1.4.h > > openvswitch-2.11.0/include/openflow/openflow-1.5.h > > > > GPL (v2) > > -------- > > openvswitch-2.11.0/datapath/actions.c > > openvswitch-2.11.0/datapath/compat.h > > openvswitch-2.11.0/datapath/conntrack.c > > openvswitch-2.11.0/datapath/conntrack.h > > openvswitch-2.11.0/datapath/datapath.c > > openvswitch-2.11.0/datapath/datapath.h > > openvswitch-2.11.0/datapath/dp_notify.c > > openvswitch-2.11.0/datapath/flow.c > > openvswitch-2.11.0/datapath/flow.h > > openvswitch-2.11.0/datapath/flow_netlink.c > > openvswitch-2.11.0/datapath/flow_netlink.h > > openvswitch-2.11.0/datapath/flow_table.c > > openvswitch-2.11.0/datapath/flow_table.h > > openvswitch-2.11.0/datapath/linux/compat/geneve.c > > openvswitch-2.11.0/datapath/linux/compat/gre.c > > openvswitch-2.11.0/datapath/linux/compat/gso.c > > openvswitch-2.11.0/datapath/linux/compat/include/net/mpls.h > > openvswitch-2.11.0/datapath/linux/compat/ip_tunnel.c > > openvswitch-2.11.0/datapath/linux/compat/ip_tunnels_core.c > > openvswitch-2.11.0/datapath/linux/compat/lisp.c > > openvswitch-2.11.0/datapath/linux/compat/vxlan.c > > openvswitch-2.11.0/datapath/meter.c > > openvswitch-2.11.0/datapath/meter.h > > openvswitch-2.11.0/datapath/nsh.c > > openvswitch-2.11.0/datapath/vport-gre.c > > openvswitch-2.11.0/datapath/vport-internal_dev.c > > openvswitch-2.11.0/datapath/vport-internal_dev.h > > openvswitch-2.11.0/datapath/vport-netdev.c > > openvswitch-2.11.0/datapath/vport-netdev.h > > openvswitch-2.11.0/datapath/vport-vxlan.c > > openvswitch-2.11.0/datapath/vport.c > > openvswitch-2.11.0/datapath/vport.h > > openvswitch-2.11.0/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch. > > py > > > > Update license breakdown comment as well. > > OVN is part of OpenvSwitch and the source code is here - https://github.com/openvswitch/ovs/tree/master/ovn Compiling OpenvSwitch also compiles OVN. OVN doesn't make use of the above files listed by you. You think I still need to update the license ? Also the openvswitch spec file is here - https://src.fedoraproject.org/rpms/openvswitch/blob/master/f/openvswitch.spec and I took that as reference. > > - Own these directories: > > > > [!]: Package requires other packages for directories it uses. > > Note: No known owner of /usr/share/openvswitch, > > /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts > > > > - Issue with Provides/Obsoletes > > > > ovn.x86_64: W: self-obsoletion openvswitch-ovn-common < 2.11.0-3 obsoletes > > openvswitch-ovn-common = 2.11.0-2.fc31 > > > > The version you provide should be > to the version you obsolete, so at least > > 2.11.0-4 > > Ack. > > > > > - Use Fedora crypto default: > > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl > > SSL_CTX_set_cipher_list > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl > > SSL_CTX_set_cipher_list > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace > > SSL_CTX_set_cipher_list > > > > See https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ > > > > That is: patch lib/stream-ssl.c:1017 to use "PROFILE=SYSTEM" > > This requires changes int the openvswitch code and I will submit a patch to > the ovs-dev ML > to use "PROFILE=SYSTEM". I will update if that's acceptable or not. > > > > > > - > > > > # Using {_lib} macro will solve the > > # rpmlink error, but will install the files in /usr/lib64/. > > # OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/ > > # and we are not sure if pacemaker looks into this path to find the > > # OVN resource agent script. > > > > Can't you check if lib64 actually work or not? > > I actually looked into it. I don't we can address this. > I checked with the pacemaker folks and they are not sure if the > ResourceAgent looks into this path for Resource agent scripts. > It would be too risky to assume that /usr/lib64 will work. So I would prefer > that the OVN pacemaker script is installed at /usr/lib.
(In reply to Robert-André Mauchin from comment #12) > - Add BR for gcc > > - Update License field > > > BSD 3-clause "New" or "Revised" License > --------------------------------------- > openvswitch-2.11.0/include/sparse/rte_byteorder.h > openvswitch-2.11.0/include/sparse/rte_esp.h > openvswitch-2.11.0/include/sparse/rte_flow.h > openvswitch-2.11.0/include/windows/netinet/icmp6.h > openvswitch-2.11.0/include/windows/netinet/ip6.h > openvswitch-2.11.0/lib/strsep.c > openvswitch-2.11.0/tests/dpdk/ring_client.c > > BSD 4-clause "Original" or "Old" License > ---------------------------------------- > openvswitch-2.11.0/include/sparse/rte_icmp.h > openvswitch-2.11.0/include/sparse/rte_ip.h > openvswitch-2.11.0/include/sparse/rte_sctp.h > openvswitch-2.11.0/include/sparse/rte_tcp.h > openvswitch-2.11.0/include/sparse/rte_udp.h > > Expat License > ------------- > openvswitch-2.11.0/build-aux/install-sh > openvswitch-2.11.0/include/openflow/openflow-1.3.h > openvswitch-2.11.0/include/openflow/openflow-1.4.h > openvswitch-2.11.0/include/openflow/openflow-1.5.h > > GPL (v2) > -------- > openvswitch-2.11.0/datapath/actions.c > openvswitch-2.11.0/datapath/compat.h > openvswitch-2.11.0/datapath/conntrack.c > openvswitch-2.11.0/datapath/conntrack.h > openvswitch-2.11.0/datapath/datapath.c > openvswitch-2.11.0/datapath/datapath.h > openvswitch-2.11.0/datapath/dp_notify.c > openvswitch-2.11.0/datapath/flow.c > openvswitch-2.11.0/datapath/flow.h > openvswitch-2.11.0/datapath/flow_netlink.c > openvswitch-2.11.0/datapath/flow_netlink.h > openvswitch-2.11.0/datapath/flow_table.c > openvswitch-2.11.0/datapath/flow_table.h > openvswitch-2.11.0/datapath/linux/compat/geneve.c > openvswitch-2.11.0/datapath/linux/compat/gre.c > openvswitch-2.11.0/datapath/linux/compat/gso.c > openvswitch-2.11.0/datapath/linux/compat/include/net/mpls.h > openvswitch-2.11.0/datapath/linux/compat/ip_tunnel.c > openvswitch-2.11.0/datapath/linux/compat/ip_tunnels_core.c > openvswitch-2.11.0/datapath/linux/compat/lisp.c > openvswitch-2.11.0/datapath/linux/compat/vxlan.c > openvswitch-2.11.0/datapath/meter.c > openvswitch-2.11.0/datapath/meter.h > openvswitch-2.11.0/datapath/nsh.c > openvswitch-2.11.0/datapath/vport-gre.c > openvswitch-2.11.0/datapath/vport-internal_dev.c > openvswitch-2.11.0/datapath/vport-internal_dev.h > openvswitch-2.11.0/datapath/vport-netdev.c > openvswitch-2.11.0/datapath/vport-netdev.h > openvswitch-2.11.0/datapath/vport-vxlan.c > openvswitch-2.11.0/datapath/vport.c > openvswitch-2.11.0/datapath/vport.h > openvswitch-2.11.0/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch. > py > > Update license breakdown comment as well. > > - Own these directories: > > [!]: Package requires other packages for directories it uses. > Note: No known owner of /usr/share/openvswitch, > /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts The directores - /usr/share/openvswitch and /usr/share/openvswitch/scripts are created by openvwitch package. I think the openvswitch.spec file should be modified to own these directories right ? Thanks Numan > > - Issue with Provides/Obsoletes > > ovn.x86_64: W: self-obsoletion openvswitch-ovn-common < 2.11.0-3 obsoletes > openvswitch-ovn-common = 2.11.0-2.fc31 > > The version you provide should be > to the version you obsolete, so at least > 2.11.0-4 > > - Use Fedora crypto default: > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl > SSL_CTX_set_cipher_list > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl > SSL_CTX_set_cipher_list > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace > SSL_CTX_set_cipher_list > > See https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ > > That is: patch lib/stream-ssl.c:1017 to use "PROFILE=SYSTEM" > > - > > # Using {_lib} macro will solve the > # rpmlink error, but will install the files in /usr/lib64/. > # OVN pacemaker ocf script file is copied in /usr/lib/ocf/resource.d/ovn/ > # and we are not sure if pacemaker looks into this path to find the > # OVN resource agent script. > > Can't you check if lib64 actually work or not?
> > > > > > > > - Use Fedora crypto default: > > > > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl > > > SSL_CTX_set_cipher_list > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl > > > SSL_CTX_set_cipher_list > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace > > > SSL_CTX_set_cipher_list > > > > > > See https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ > > > > > > That is: patch lib/stream-ssl.c:1017 to use "PROFILE=SYSTEM" > > > > This requires changes int the openvswitch code and I will submit a patch to > > the ovs-dev ML > > to use "PROFILE=SYSTEM". I will update if that's acceptable or not. > > Not sure upstream is interested in such a patch, this is a downstream (Fedora) policy. (In reply to Numan Siddique from comment #15) > > OVN is part of OpenvSwitch and the source code is here - > https://github.com/openvswitch/ovs/tree/master/ovn > > Compiling OpenvSwitch also compiles OVN. > OVN doesn't make use of the above files listed by you. > You think I still need to update the license ? > > Also the openvswitch spec file is here - > https://src.fedoraproject.org/rpms/openvswitch/blob/master/f/openvswitch.spec > and I took that as reference. > We are only interested in the licenses of the shipping binaries, if they are not included, then don't modify it. (In reply to Numan Siddique from comment #16) > > > > - Own these directories: > > > > [!]: Package requires other packages for directories it uses. > > Note: No known owner of /usr/share/openvswitch, > > /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts > > The directores - /usr/share/openvswitch and /usr/share/openvswitch/scripts > are created > by openvwitch package. I think the openvswitch.spec file should be modified > to own these directories right ? > > Thanks > Numan I've checked the openvswitch spec and indeed it doesn't own these directories, which it should. However, you still need either: - own these directories with %dir, *or* - Requires: openvswitch (assuming openvswitch is fixed) Second solution is preferred in this case except if you don't wan't a hard requires on openvswitch.
(In reply to Robert-André Mauchin from comment #17) > > > > > > > > > > > - Use Fedora crypto default: > > > > > > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-nbctl > > > > SSL_CTX_set_cipher_list > > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-sbctl > > > > SSL_CTX_set_cipher_list > > > > ovn.x86_64: W: crypto-policy-non-compliance-openssl /usr/bin/ovn-trace > > > > SSL_CTX_set_cipher_list > > > > > > > > See https://docs.fedoraproject.org/en-US/packaging-guidelines/CryptoPolicies/ > > > > > > > > That is: patch lib/stream-ssl.c:1017 to use "PROFILE=SYSTEM" > > > > > > This requires changes int the openvswitch code and I will submit a patch to > > > the ovs-dev ML > > > to use "PROFILE=SYSTEM". I will update if that's acceptable or not. > > > > > Not sure upstream is interested in such a patch, this is a downstream > (Fedora) policy. Got it. Thanks. I will apply the patch to use "PRFOFILE=SYSTEM". > > (In reply to Numan Siddique from comment #15) > > > > OVN is part of OpenvSwitch and the source code is here - > > https://github.com/openvswitch/ovs/tree/master/ovn > > > > Compiling OpenvSwitch also compiles OVN. > > OVN doesn't make use of the above files listed by you. > > You think I still need to update the license ? > > > > Also the openvswitch spec file is here - > > https://src.fedoraproject.org/rpms/openvswitch/blob/master/f/openvswitch.spec > > and I took that as reference. > > > > We are only interested in the licenses of the shipping binaries, if they are > not included, then don't modify it. > Ack. > (In reply to Numan Siddique from comment #16) > > > > > > - Own these directories: > > > > > > [!]: Package requires other packages for directories it uses. > > > Note: No known owner of /usr/share/openvswitch, > > > /usr/lib/ocf/resource.d/ovn, /usr/share/openvswitch/scripts > > > > The directores - /usr/share/openvswitch and /usr/share/openvswitch/scripts > > are created > > by openvwitch package. I think the openvswitch.spec file should be modified > > to own these directories right ? > > > > Thanks > > Numan > > I've checked the openvswitch spec and indeed it doesn't own these > directories, which it should. > However, you still need either: > - own these directories with %dir, *or* > - Requires: openvswitch (assuming openvswitch is fixed) Right now I have aadded "Requires: openvswtich". I will talk to the openvswitch maintainer about it and ask him to fix it. Meanwhile I will change the ovn.spec to won these dirs. Thanks for the review comments. Numan > > Second solution is preferred in this case except if you don't wan't a hard > requires on openvswitch.
Can you post the final SPEC that I can approve?
Yes. I will update soon. Thanks for the reviews
I updated the postun sections as per your suggestion i.e **** %preun central %systemd_preun ovn-northd.service %preun host %systemd_preun ovn-controller.service %preun vtep %systemd_preun ovn-controller-vtep.service %post central %systemd_post ovn-northd.service %post host %systemd_post ovn-controller.service %post vtep %systemd_post ovn-controller-vtep.service %postun central %systemd_postun ovn-northd.service %postun host %systemd_postun ovn-controller.service %postun vtep %systemd_postun ovn-controller-vtep **** And I see the below warning. Is that fine ? rpmlint ovn-central-2.11.0-4.fc29.x86_64.rpm rpmlint ovn-central-2.11.0-4.fc29.x86_64.rpm ovn-central.x86_64: W: spelling-error %description -l en_US northd -> north, north d, North ovn-central.x86_64: W: empty-%postun -> This one. 1 packages and 0 specfiles checked; 0 errors, 2 warnings. ovn-central.x86_64: W: empty-%postun 1 packages and 0 specfiles checked; 0 errors, 2 warnings.
(In reply to Numan Siddique from comment #21) > I updated the postun sections as per your suggestion > > i.e > > **** > %preun central > %systemd_preun ovn-northd.service > > %preun host > %systemd_preun ovn-controller.service > > %preun vtep > %systemd_preun ovn-controller-vtep.service > > %post central > %systemd_post ovn-northd.service > > %post host > %systemd_post ovn-controller.service > > %post vtep > %systemd_post ovn-controller-vtep.service > > %postun central > %systemd_postun ovn-northd.service > > %postun host > %systemd_postun ovn-controller.service > > %postun vtep > %systemd_postun ovn-controller-vtep > **** > > And I see the below warning. Is that fine ? > > rpmlint ovn-central-2.11.0-4.fc29.x86_64.rpm > rpmlint ovn-central-2.11.0-4.fc29.x86_64.rpm > ovn-central.x86_64: W: spelling-error %description -l en_US northd -> north, > north d, North > ovn-central.x86_64: W: empty-%postun -> This one. > 1 packages and 0 specfiles checked; 0 errors, 2 warnings. > > ovn-central.x86_64: W: empty-%postun > 1 packages and 0 specfiles checked; 0 errors, 2 warnings. I removed %postun sections and I don't see the warnings. Thanks
Updated URLs are: Spec URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00877708-ovn/ovn.spec SRPM URL: https://copr-be.cloud.fedoraproject.org/results/numans/OVN/fedora-rawhide-x86_64/00877708-ovn/ovn-2.11.0-2.fc31.src.rpm Koji build link - https://koji.fedoraproject.org/koji/taskinfo?taskID=33921422
There is one rpmlint error : *** $rpmlint ovn.spec ovn.spec:24: E: hardcoded-library-path in %{_prefix}/lib 0 packages and 1 specfiles checked; 1 errors, 0 warnings. **** Please see #comment17
(In reply to Numan Siddique from comment #21) > ovn-central.x86_64: W: empty-%postun -> This one. > 1 packages and 0 specfiles checked; 0 errors, 2 warnings. > This is normal, %systemd_postun evaluate to %{nil} starting F28 or F29. LGTM, package approved. You still need to find a sponsor. See: https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group and https://fedoraproject.org/wiki/Join_the_package_collection_maintainers?rd=PackageMaintainers/Join
Thanks. I will find a sponsor. Regards Numan
I'm sponsoring numans. Numan, it would be great, if you can find a colleague to mentor you.
(In reply to Matthias Runge from comment #27) > I'm sponsoring numans. Numan, it would be great, if you can find a colleague > to mentor you. Thank you. Sure I will find a colleague.
(In reply to Matthias Runge from comment #27) > I'm sponsoring numans. Numan, it would be great, if you can find a colleague > to mentor you. Hi, I already co-maintain the openvswitch and dpdk packages on Fedora, so I think I can mentor Numan
(In reply to Timothy Redaelli from comment #29) > (In reply to Matthias Runge from comment #27) > > I'm sponsoring numans. Numan, it would be great, if you can find a colleague > > to mentor you. > > Hi, > I already co-maintain the openvswitch and dpdk packages on Fedora, > so I think I can mentor Numan Thank you Timothy, this is greatly appreciated.
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/ovn
This BZ can be closed as we have OVN packages for fedora. Thanks to everyone for the review.