From c516a7f0da2f0b7384a05d5d11046ae1ad9ff1df Mon Sep 17 00:00:00 2001 From: Alfredo Moralejo Date: Sep 21 2021 15:09:13 +0000 Subject: Import rdo-openvswitch-2.15-1.el9s First release for CS9. --- diff --git a/SPECS/rdo-openvswitch.spec b/SPECS/rdo-openvswitch.spec new file mode 100644 index 0000000..c26c0a8 --- /dev/null +++ b/SPECS/rdo-openvswitch.spec @@ -0,0 +1,206 @@ +# Current version of OVS that this package requires +%define ovs_version 2.15 + +# Comma-separated (no spaces) e.g. 2.10,2.9 ... of prior fast-datapath +# openvswitch and ovn packages we need to obsolete +%define obsolete_ovs_versions 2.10,2.11,2.12,2.13 + +# Same as above, but enable ovs/ovn to be separate +%define ovn_version 2021 +%define obsolete_ovn_versions 2.10,2.11,2.12,2.13 + +# Lua macro to create a bunch of Obsoletes by splitting up the above +# definition and substituting where there's an asterisk +%{lua: +function rdo_obsoletes(package, ver, obsoletes) + local s + local pkg + pkg = string.gsub(package, "*", "") + print("Obsoletes: "..pkg.." < "..ver.."\n") + for s in string.gmatch(obsoletes, "[^,]+") do + pkg = string.gsub(package, "*", s) + print("Obsoletes: "..pkg.." < "..ver.."\n") + end +end + +function ovs_obsoletes(package) + rdo_obsoletes(package, rpm.expand("%ovs_version"), rpm.expand("%obsolete_ovs_versions")) +end + +function ovn_obsoletes(package) + rdo_obsoletes(package, rpm.expand("%ovn_version"), rpm.expand("%obsolete_ovn_versions")) +end} + +######## OPENVSWITCH PACKAGING ######## + +Name: rdo-openvswitch +Epoch: 1 +Version: %{ovs_version} +Release: 1%{?dist} +Summary: Wrapper rpm to allow installing OVS with new versioning schemes + +Group: System Environment/Daemons +License: Public domain +URL: http://www.openvswitch.org +BuildArch: noarch + +Requires: openvswitch%{ovs_version} +#Requires: network-scripts-openvswitch%{ovs_version} +Provides: openvswitch = %{?epoch:%{epoch}:}%{ovs_version} +Provides: rdo-openvswitch = %{?epoch:%{epoch}:}%{ovs_version} +Provides: rhosp-openvswitch = %{?epoch:%{epoch}:}%{ovs_version} +%{lua:ovs_obsoletes("openvswitch*")} + +%description +Wrapper rpm for the base openvswitch package + +%package -n python3-rdo-openvswitch +Summary: wrapper for python-openvswitch rpm +License: Public domain +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: python3-openvswitch%{ovs_version} +Provides: python3-openvswitch = %{?epoch:%{epoch}:}%{ovs_version} +%{lua:ovs_obsoletes("python3-openvswitch*")} +%{lua:ovs_obsoletes("python2-openvswitch*")} +%{lua:ovs_obsoletes("python-openvswitch*")} + +%description -n python3-rdo-openvswitch +Wrapper rpm for the base python3-openvswitch package + +%package devel +Summary: wrapper for openvswitch-devel rpm +License: Public domain +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: openvswitch%{ovs_version}-devel +Provides: openvswitch-devel = %{?epoch:%{epoch}:}%{ovs_version} +%{lua:ovs_obsoletes("openvswitch*-devel")} + +%description devel +Wrapper rpm for the base openvswitch-devel package + +%package test +Summary: wrapper for openvswitch-test rpm +License: Public domain +Requires: python3-rdo-openvswitch = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: openvswitch%{ovs_version}-test +Provides: openvswitch-test = %{?epoch:%{epoch}:}%{ovs_version} +%{lua:ovs_obsoletes("openvswitch*-test")} + +%description test +Wrapper rpm for the base openvswitch-test package + +%package -n rdo-network-scripts-openvswitch +Summary: wrapper for network-scripts-openvswitch rpm +License: Public domain +Requires: network-scripts-openvswitch%{ovs_version} +Provides: network-scripts-openvswitch = %{?epoch:%{epoch}:}%{ovs_version} +%{lua:ovs_obsoletes("network-scripts-openvswitch*")} + +%description -n rdo-network-scripts-openvswitch +Wrapper rpm for the base network-scripts-openvswitch package + + +######## OVN PACKAGING ######## + +%package -n rdo-ovn +Version: %{ovn_version} +Summary: wrapper for ovn rpm +License: Public domain +Requires: openvswitch +Requires: ovn-%{ovn_version} +Provides: ovn = %{?epoch:%{epoch}:}%{ovn_version} +Provides: openvswitch-ovn-common = %{?epoch:%{epoch}:}%{ovn_version} +Provides: %{name}-ovn-common = %{?epoch:%{epoch}:}%{version} +Obsoletes: %{name}-ovn-common < %{?epoch:%{epoch}:}%{version}-%{release} +Provides: rdo-ovn-common = %{?epoch:%{epoch}:}%{version} +Obsoletes: rdo-ovn-common < %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: ovn < %{?epoch:%{epoch}:}%{version}-%{release} +# OVN packaging should do this, but doesn't? +# Obsoletes: openvswitch-ovn-common < ... +%{lua:ovn_obsoletes("ovn*")} + +%description -n rdo-ovn +Wrapper rpm for the base ovn package + +%package -n rdo-ovn-central +Version: %{ovn_version} +Summary: wrapper for openvswitch-ovn-central rpm +License: Public domain +Requires: rdo-ovn = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: ovn-%{ovn_version}-central +Provides: openvswitch-ovn-central = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: openvswitch-ovn-central < %{?epoch:%{epoch}:}%{ovn_version} +Provides: ovn-central = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: ovn-central < %{?epoch:%{epoch}:}%{ovn_version} +Provides: %{name}-ovn-central = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: %{name}-ovn-central < %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: ovn-central < %{?epoch:%{epoch}:}%{version}-%{release} +# OVN packaging should do this, but doesn't? +%{lua:ovn_obsoletes("openvswitch*-ovn-central")} +%{lua:ovn_obsoletes("ovn*-central")} + +%description -n rdo-ovn-central +Wrapper rpm for the base openvswitch-ovn-central package + +%package -n rdo-ovn-host +Version: %{ovn_version} +Summary: wrapper for openvswitch-ovn-host rpm +License: Public domain +Requires: rdo-ovn = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: ovn-%{ovn_version}-host +Provides: openvswitch-ovn-host = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: openvswitch-ovn-host < %{?epoch:%{epoch}:}%{ovn_version} +Provides: ovn-host = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: ovn-host < %{?epoch:%{epoch}:}%{ovn_version} +Provides: %{name}-ovn-host = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: %{name}-ovn-host < %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: ovn-host < %{?epoch:%{epoch}:}%{version}-%{release} +%{lua:ovn_obsoletes("openvswitch*-ovn-host")} +%{lua:ovn_obsoletes("ovn*-host")} + +%description -n rdo-ovn-host +Wrapper rpm for the base openvswitch-ovn-host package + +%package -n rdo-ovn-vtep +Version: %{ovn_version} +Summary: wrapper for openvswitch-ovn-vtep rpm +License: Public domain +Requires: rdo-ovn = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: ovn-%{ovn_version}-vtep +Provides: openvswitch-ovn-vtep = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: openvswitch-ovn-vtep < %{?epoch:%{epoch}:}%{ovn_version} +Provides: ovn-vtep = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: ovn-vtep < %{?epoch:%{epoch}:}%{ovn_version} +Provides: %{name}-ovn-vtep = %{?epoch:%{epoch}:}%{ovn_version} +Obsoletes: %{name}-ovn-vtep < %{?epoch:%{epoch}:}%{version}-%{release} +Obsoletes: ovn-vtep < %{?epoch:%{epoch}:}%{version}-%{release} +%{lua:ovn_obsoletes("openvswitch*-ovn-vtep")} +%{lua:ovn_obsoletes("ovn*-vtep")} + +%description -n rdo-ovn-vtep +Wrapper rpm for the base ovn-vtep package + +%setup -q + +%build + +%files -n rdo-openvswitch +%files -n python3-rdo-openvswitch +%files devel +%files test +%files -n rdo-network-scripts-openvswitch +%files -n rdo-ovn +%files -n rdo-ovn-central +%files -n rdo-ovn-host +%files -n rdo-ovn-vtep + +%changelog +* Tue May 25 2021 Yatin Karel - 2.15-1 +- Update to ovs 2.15 and ovn 2021 + +* Fri Oct 09 2020 Alfredo Moralejo - 2.13-2 +- Adds wrapper subpackage for network-scripts-openvswitch + +* Mon Sep 14 2020 Yatin Karel - 2.13-1 +- RDO Wrapper for OVS/OVN 2.13 builds from Fast DataPath +