diff --git a/centos_iso_image.inc b/centos_iso_image.inc index a81f0d8f3..26122d8d0 100644 --- a/centos_iso_image.inc +++ b/centos_iso_image.inc @@ -161,6 +161,7 @@ kubernetes-kubeadm kubernetes-client containerd k8s-pod-recovery +containernetworking-plugins # resource-agents resource-agents diff --git a/centos_pkg_dirs b/centos_pkg_dirs index 5b81ec9b2..751368a92 100644 --- a/centos_pkg_dirs +++ b/centos_pkg_dirs @@ -53,6 +53,7 @@ storage-drivers/trident-installer security/tboot docker/python-docker kubernetes/containerd +kubernetes/cni/plugins kubernetes/kubernetes kubernetes/kubernetes-unversioned kubernetes/docker-distribution diff --git a/centos_tarball-dl.lst b/centos_tarball-dl.lst index 321a135bb..843b5d51b 100644 --- a/centos_tarball-dl.lst +++ b/centos_tarball-dl.lst @@ -72,3 +72,4 @@ zstd-f4340f46b2387bc8de7d5320c0b83bb1499933ad.tar.gz#zstd#https://api.github.com inih-b1dbff4b0bd1e1f40d237e21011f6dee0ec2fa69.tar.gz#inih-44#https://github.com/benhoyt/inih/tarball/b1dbff4b0bd1e1f40d237e21011f6dee0ec2fa69#https## pf-bb-config-d7d5f1ddd17b4c80e3e0d6ce87660926f58f8585.tar.gz#pf-bb-config-21.6#https://github.com/intel/pf-bb-config/tarball/d7d5f1ddd17b4c80e3e0d6ce87660926f58f8585#https## gpu-operator-1.6.0.tar.gz#gpu-operator-1.6.0#https://github.com/NVIDIA/gpu-operator/archive/1.6.0.tar.gz##https## +containernetworking-plugins-v0.9.1.tar.gz#containernetworking-plugins-v0.9.1#https://github.com/containernetworking/plugins/archive/refs/tags/v0.9.1.tar.gz#https## diff --git a/kubernetes/cni/plugins/Readme.rst b/kubernetes/cni/plugins/Readme.rst new file mode 100644 index 000000000..0d17982dc --- /dev/null +++ b/kubernetes/cni/plugins/Readme.rst @@ -0,0 +1,5 @@ +The spec file used here was from the Centos 7 src rpm for +containernetworking-plugins. +The orig file is included to help show modifications made to that +spec file, to help understand which changes were needed and to +assist with future upversioning. \ No newline at end of file diff --git a/kubernetes/cni/plugins/centos/build_srpm.data b/kubernetes/cni/plugins/centos/build_srpm.data new file mode 100644 index 000000000..59cd9e0fa --- /dev/null +++ b/kubernetes/cni/plugins/centos/build_srpm.data @@ -0,0 +1,9 @@ +VERSION=0.9.1 +CON_VERSION=0.9.1 +TAR_NAME=containernetworking-plugins +TAR="$TAR_NAME-v$VERSION.tar.gz" +#CONTRIB="$TAR_NAME-contrib-v$CON_VERSION.tar.gz" + +COPY_LIST="${CGCS_BASE}/downloads/$TAR" + +TIS_PATCH_VER=PKG_GITREVCOUNT \ No newline at end of file diff --git a/kubernetes/cni/plugins/centos/containernetworking-plugins.spec b/kubernetes/cni/plugins/centos/containernetworking-plugins.spec new file mode 100644 index 000000000..6e63c4fd6 --- /dev/null +++ b/kubernetes/cni/plugins/centos/containernetworking-plugins.spec @@ -0,0 +1,203 @@ +%global with_debug 1 +%global with_check 0 + +%if 0%{?with_debug} +%global _dwz_low_mem_die_limit 0 +%else +%global debug_package %{nil} +%endif + +%if ! 0%{?gobuild:1} +%define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; +%endif + +%global provider github +%global provider_tld com +%global project containernetworking +%global repo plugins +# https://github.com/containernetworking/plugins +%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} +%global import_path %{provider_prefix} +%global commit fe60fcddb897079746ec1523fd1837ab05b1e689 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: containernetworking-plugins +Version: 0.9.1 +Release: 1%{?_tis_dist}.%{tis_patch_ver} +Summary: CNI network plugins +License: ASL 2.0 +URL: https://%{provider_prefix} + +Source0: %{project}-%{repo}-v%{version}.tar.gz +ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64 %{ix86} + +%if 0%{?fedora} +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +%else +#BuildRequires: go-toolset-1.10 +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +BuildRequires: openssl-devel +%endif #fedora + +Provides: containernetworking-cni = %{version}-%{release} + +%description +The CNI (Container Network Interface) project consists of a specification +and libraries for writing plugins to configure network interfaces in Linux +containers, along with a number of supported plugins. CNI concerns itself +only with network connectivity of containers and removing allocated resources +when the container is deleted. + +%{?enable_gotoolset110} + +%prep +%autosetup -n %{project}-%{repo}-v%{version} +rm -rf plugins/main/windows + +%build +export ORG_PATH="%{provider}.%{provider_tld}/%{project}" +export REPO_PATH="$ORG_PATH/%{repo}" + +if [ ! -h gopath/src/${REPO_PATH} ]; then + mkdir -p gopath/src/${ORG_PATH} + ln -s ../../../.. gopath/src/${REPO_PATH} || exit 255 +fi + +export GOPATH=$(pwd)/gopath +mkdir -p $(pwd)/bin + +echo "Building plugins" +export PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample" +for d in $PLUGINS; do + if [ -d "$d" ]; then + plugin="$(basename "$d")" + echo " $plugin" + %gobuild -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d + fi +done + +%install +install -d -p %{buildroot}%{_libexecdir}/cni/ +install -p -m 0755 bin/* %{buildroot}/%{_libexecdir}/cni + +%check +%if 0%{?with_check} + +%if ! 0%{?gotest:1} +%global gotest go test +%endif + +%gotest %{import_path}/libcni +%gotest %{import_path}/pkg/invoke +%gotest %{import_path}/pkg/ip +%gotest %{import_path}/pkg/ipam +%gotest %{import_path}/pkg/ns +%gotest %{import_path}/pkg/skel +%gotest %{import_path}/pkg/types +%gotest %{import_path}/pkg/types/020 +%gotest %{import_path}/pkg/types/current +%gotest %{import_path}/pkg/utils +%gotest %{import_path}/pkg/utils/hwaddr +%gotest %{import_path}/pkg/version +%gotest %{import_path}/pkg/version/legacy_examples +%gotest %{import_path}/pkg/version/testhelpers +%gotest %{import_path}/plugins/ipam/dhcp +%gotest %{import_path}/plugins/ipam/host-local +%gotest %{import_path}/plugins/ipam/host-local/backend/allocator +%gotest %{import_path}/plugins/main/bridge +%gotest %{import_path}/plugins/main/ipvlan +%gotest %{import_path}/plugins/main/loopback +%gotest %{import_path}/plugins/main/macvlan +%gotest %{import_path}/plugins/main/ptp +%gotest %{import_path}/plugins/meta/flannel +%gotest %{import_path}/plugins/test/noop +%endif + +#define license tag if not already defined +%{!?_licensedir:%global license %doc} + +%files +%license LICENSE +%doc *.md +%dir %{_libexecdir}/cni +%{_libexecdir}/cni/* + +%changelog +* Sun Aug 08 2021 Steven Webster +- Support for compilation on StarlingX + +* Fri Jun 07 2019 Lokesh Mandvekar - 0.8.1-1 +- Resolves: #1717915 - bump to v0.8.1 + +* Tue May 14 2019 Lokesh Mandvekar - 0.8.0-1 +- Resolves: #1709630 - rebase to v0.8.0 + +* Wed Mar 27 2019 Frantisek Kluknavsky - 0.7.5-2 +- rebase + +* Mon Jan 07 2019 Lokesh Mandvekar - 0.7.4-1 +- Resolves: #1664009 - bump to v0.7.4 +- remove unused devel and unit-test* packages +- update go build env + +* Wed Nov 21 2018 Frantisek Kluknavsky - 0.7.3-3 +- buildrequires for centos + +* Wed Oct 03 2018 Frantisek Kluknavsky - 0.7.3-2 +- rebase + +* Wed Oct 03 2018 Frantisek Kluknavsky - 0.7.1-2 +- scl go toolset + +* Mon Jul 23 2018 Frantisek Kluknavsky - 0.7.1-1 +- rebase + +* Thu May 10 2018 Frantisek Kluknavsky - 0.7.0-101 +- rebase +- patches already upstream, removed + +* Thu Apr 26 2018 Frantisek Kluknavsky - 0.6.0-6 +- Imported from Fedora +- Renamed CNI -> plugins + +* Mon Apr 2 2018 Peter Robinson 0.6.0-4 +- Own the libexec cni directory + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Dan Williams - 0.6.0-2 +- skip settling IPv4 addresses + +* Mon Jan 08 2018 Frantisek Kluknavsky - 0.6.0-1 +- rebased to 7480240de9749f9a0a5c8614b17f1f03e0c06ab9 + +* Fri Oct 13 2017 Lokesh Mandvekar - 0.5.2-7 +- do not install to /opt (against Fedora Guidelines) + +* Thu Aug 24 2017 Jan Chaloupka - 0.5.2-6 +- Enable devel subpackage + +* Wed Aug 02 2017 Fedora Release Engineering - 0.5.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.5.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 13 2017 Lokesh Mandvekar - 0.5.2-3 +- excludearch: ppc64 as it's not in goarches anymore +- re-enable s390x + +* Fri Jun 30 2017 Lokesh Mandvekar - 0.5.2-2 +- upstream moved to github.com/containernetworking/plugins +- built commit dcf7368 +- provides: containernetworking-plugins +- use vendored deps because they're a lot less of a PITA +- excludearch: s390x for now (rhbz#1466865) + +* Mon Jun 12 2017 Timothy St. Clair - 0.5.2-1 +- Update to 0.5.2 +- Softlink to default /opt/cni/bin directories + +* Sun May 07 2017 Timothy St. Clair - 0.5.1-1 +- Initial package diff --git a/kubernetes/cni/plugins/centos/containernetworking-plugins.spec.orig b/kubernetes/cni/plugins/centos/containernetworking-plugins.spec.orig new file mode 100644 index 000000000..860427851 --- /dev/null +++ b/kubernetes/cni/plugins/centos/containernetworking-plugins.spec.orig @@ -0,0 +1,199 @@ +%global with_debug 1 +%global with_check 0 + +%if 0%{?with_debug} +%global _dwz_low_mem_die_limit 0 +%else +%global debug_package %{nil} +%endif + +%if ! 0%{?gobuild:1} +%define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; +%endif + +%global provider github +%global provider_tld com +%global project containernetworking +%global repo plugins +# https://github.com/containernetworking/plugins +%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} +%global import_path %{provider_prefix} +%global commit fe60fcddb897079746ec1523fd1837ab05b1e689 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +Name: containernetworking-plugins +Version: 0.8.1 +Release: 1%{?dist} +Summary: CNI network plugins +License: ASL 2.0 +URL: https://%{provider_prefix} +Source0: https://%{provider_prefix}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz +ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64 %{ix86} + +%if 0%{?fedora} +BuildRequires: %{?go_compiler:compiler(go-compiler)}%{!?go_compiler:golang} +%else +BuildRequires: go-toolset-1.10 +BuildRequires: openssl-devel +%endif #fedora + +Provides: containernetworking-cni = %{version}-%{release} + +%description +The CNI (Container Network Interface) project consists of a specification +and libraries for writing plugins to configure network interfaces in Linux +containers, along with a number of supported plugins. CNI concerns itself +only with network connectivity of containers and removing allocated resources +when the container is deleted. + +%{?enable_gotoolset110} + +%prep +%autosetup -Sgit -n %{repo}-%{commit} +rm -rf plugins/main/windows + +%build +export ORG_PATH="%{provider}.%{provider_tld}/%{project}" +export REPO_PATH="$ORG_PATH/%{repo}" + +if [ ! -h gopath/src/${REPO_PATH} ]; then + mkdir -p gopath/src/${ORG_PATH} + ln -s ../../../.. gopath/src/${REPO_PATH} || exit 255 +fi + +export GOPATH=$(pwd)/gopath +mkdir -p $(pwd)/bin + +echo "Building plugins" +export PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/* plugins/sample" +for d in $PLUGINS; do + if [ -d "$d" ]; then + plugin="$(basename "$d")" + echo " $plugin" + %gobuild -o "${PWD}/bin/$plugin" "$@" "$REPO_PATH"/$d + fi +done + +%install +install -d -p %{buildroot}%{_libexecdir}/cni/ +install -p -m 0755 bin/* %{buildroot}/%{_libexecdir}/cni + +%check +%if 0%{?with_check} + +%if ! 0%{?gotest:1} +%global gotest go test +%endif + +%gotest %{import_path}/libcni +%gotest %{import_path}/pkg/invoke +%gotest %{import_path}/pkg/ip +%gotest %{import_path}/pkg/ipam +%gotest %{import_path}/pkg/ns +%gotest %{import_path}/pkg/skel +%gotest %{import_path}/pkg/types +%gotest %{import_path}/pkg/types/020 +%gotest %{import_path}/pkg/types/current +%gotest %{import_path}/pkg/utils +%gotest %{import_path}/pkg/utils/hwaddr +%gotest %{import_path}/pkg/version +%gotest %{import_path}/pkg/version/legacy_examples +%gotest %{import_path}/pkg/version/testhelpers +%gotest %{import_path}/plugins/ipam/dhcp +%gotest %{import_path}/plugins/ipam/host-local +%gotest %{import_path}/plugins/ipam/host-local/backend/allocator +%gotest %{import_path}/plugins/main/bridge +%gotest %{import_path}/plugins/main/ipvlan +%gotest %{import_path}/plugins/main/loopback +%gotest %{import_path}/plugins/main/macvlan +%gotest %{import_path}/plugins/main/ptp +%gotest %{import_path}/plugins/meta/flannel +%gotest %{import_path}/plugins/test/noop +%endif + +#define license tag if not already defined +%{!?_licensedir:%global license %doc} + +%files +%license LICENSE +%doc *.md +%dir %{_libexecdir}/cni +%{_libexecdir}/cni/* + +%changelog +* Fri Jun 07 2019 Lokesh Mandvekar - 0.8.1-1 +- Resolves: #1717915 - bump to v0.8.1 + +* Tue May 14 2019 Lokesh Mandvekar - 0.8.0-1 +- Resolves: #1709630 - rebase to v0.8.0 + +* Wed Mar 27 2019 Frantisek Kluknavsky - 0.7.5-2 +- rebase + +* Mon Jan 07 2019 Lokesh Mandvekar - 0.7.4-1 +- Resolves: #1664009 - bump to v0.7.4 +- remove unused devel and unit-test* packages +- update go build env + +* Wed Nov 21 2018 Frantisek Kluknavsky - 0.7.3-3 +- buildrequires for centos + +* Wed Oct 03 2018 Frantisek Kluknavsky - 0.7.3-2 +- rebase + +* Wed Oct 03 2018 Frantisek Kluknavsky - 0.7.1-2 +- scl go toolset + +* Mon Jul 23 2018 Frantisek Kluknavsky - 0.7.1-1 +- rebase + +* Thu May 10 2018 Frantisek Kluknavsky - 0.7.0-101 +- rebase +- patches already upstream, removed + +* Thu Apr 26 2018 Frantisek Kluknavsky - 0.6.0-6 +- Imported from Fedora +- Renamed CNI -> plugins + +* Mon Apr 2 2018 Peter Robinson 0.6.0-4 +- Own the libexec cni directory + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Jan 23 2018 Dan Williams - 0.6.0-2 +- skip settling IPv4 addresses + +* Mon Jan 08 2018 Frantisek Kluknavsky - 0.6.0-1 +- rebased to 7480240de9749f9a0a5c8614b17f1f03e0c06ab9 + +* Fri Oct 13 2017 Lokesh Mandvekar - 0.5.2-7 +- do not install to /opt (against Fedora Guidelines) + +* Thu Aug 24 2017 Jan Chaloupka - 0.5.2-6 +- Enable devel subpackage + +* Wed Aug 02 2017 Fedora Release Engineering - 0.5.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.5.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 13 2017 Lokesh Mandvekar - 0.5.2-3 +- excludearch: ppc64 as it's not in goarches anymore +- re-enable s390x + +* Fri Jun 30 2017 Lokesh Mandvekar - 0.5.2-2 +- upstream moved to github.com/containernetworking/plugins +- built commit dcf7368 +- provides: containernetworking-plugins +- use vendored deps because they're a lot less of a PITA +- excludearch: s390x for now (rhbz#1466865) + +* Mon Jun 12 2017 Timothy St. Clair - 0.5.2-1 +- Update to 0.5.2 +- Softlink to default /opt/cni/bin directories + +* Sun May 07 2017 Timothy St. Clair - 0.5.1-1 +- Initial package +