N
Портал сборок NiceOS
Корпоративный портал наблюдаемости для опубликованных сборок пакетов NiceOS.

input/cni.spec

raw · 4.8 KiB

%define network_required 0

%bcond_with tests

%ifarch x86_64
%global goarch amd64
%endif

%ifarch aarch64
%global goarch arm64
%endif

%ifnarch x86_64 aarch64
%{error: Unsupported architecture %{_target_cpu}}
%endif

%global cni_plugins_dir /opt/cni/bin
%global debug_package %{nil}
%global __strip /bin/true

Name:           cni
Version:        1.9.1
Release:        2%{?dist}
Summary:        Container Network Interface (CNI) - a specification and libraries for writing plugins to configure network interfaces in Linux containers
Summary(ru):    Container Network Interface (CNI) — спецификация и библиотеки для разработки плагинов настройки сетевых интерфейсов в Linux-контейнерах
License:        Apache-2.0
URL:            https://github.com/containernetworking/plugins

Packager:       NICE SOFT GROUP LLC (ООО "НАЙС СОФТ ГРУПП") 5024245440 <niceos@ncsgp.ru>
Vendor:         NiceSOFT
Distribution:   NiceOS.Core
BugURL:         https://bugs.niceos.ru/
VCS:            https://specs.niceos.ru/rmps/%{name}

Source0:        https://github.com/containernetworking/plugins/archive/refs/tags/v%{version}.tar.gz

BuildRequires:  bash
BuildRequires:  coreutils
BuildRequires:  findutils
BuildRequires:  go >= 1.24
BuildRequires:  grep
BuildRequires:  make
BuildRequires:  sed
BuildRequires:  tar

Requires:       iproute2
Requires:       iptables

# Compatibility names used by Kubernetes packages in different distributions.
Provides:       kubernetes-cni = %{version}-%{release}
Provides:       kubernetes-cni%{?_isa} = %{version}-%{release}
Provides:       cni = %{version}-%{release}
Provides:       cni%{?_isa} = %{version}-%{release}

%global _default_cni_plugins_dir /opt/cni/bin

%description
CNI (Container Network Interface) is a set of specifications and libraries for configuring networking
in Linux containers. It provides a standardized way to manage network interfaces and their setup,
making it easier to integrate different networking plugins in container environments.

%description -l ru
CNI (Container Network Interface) — набор спецификаций и библиотек для настройки сетевых соединений
в Linux-контейнерах. Он обеспечивает стандартизированный способ управления сетевыми интерфейсами и их
конфигурацией, упрощая интеграцию различных сетевых плагинов в контейнерных средах.

%prep
%autosetup -p1 -n plugins-%{version}
# Upstream release tarball contains vendored Go modules.
# NiceOS builds this package without network access.
test -d vendor
test -f vendor/modules.txt

%build
export GOTOOLCHAIN=local
export GOPROXY=off
export GOSUMDB=off
export GONOSUMDB=*
export GOPRIVATE=*
export GO111MODULE=on
export GOOS=linux
export GOARCH=%{goarch}
export CGO_ENABLED=0
export GOFLAGS="-mod=vendor -trimpath"

# build_linux.sh builds the Linux CNI plugin set into ./bin.
sh ./build_linux.sh

%install
install -d -m 0755 %{buildroot}%{cni_plugins_dir}
install -d -m 0755 %{buildroot}%{_sysconfdir}/cni/net.d

install -p -m 0755 bin/* %{buildroot}%{cni_plugins_dir}/

%if 0%{?with_check}
%check
test -x %{buildroot}%{cni_plugins_dir}/loopback
test -x %{buildroot}%{cni_plugins_dir}/bridge
test -x %{buildroot}%{cni_plugins_dir}/host-local
test -x %{buildroot}%{cni_plugins_dir}/portmap
test -x %{buildroot}%{cni_plugins_dir}/bandwidth
test -x %{buildroot}%{cni_plugins_dir}/firewall
test -x %{buildroot}%{cni_plugins_dir}/tuning
%endif

%files
%defattr(-,root,root)
%license LICENSE
%doc README.md
%dir /opt/cni
%dir %{cni_plugins_dir}
%{cni_plugins_dir}/*
%dir %{_sysconfdir}/cni
%dir %{_sysconfdir}/cni/net.d

%changelog
* Sun May 10 2026 NiceOS Team <support@niceos.ru> - 1.9.1-2
- Added compatibility Provides: kubernetes-cni and cni-plugins.
- Fixed CNI plugin directory macro usage.
- Added /etc/cni/net.d ownership.
- Fixed VCS URL typo.
- Kept CNI binaries under /opt/cni/bin.

* Sat May 02 2026 NiceOS Team <support@niceos.ru> - 1.9.1-1
- EN: - Update cni from 1.7.1 to 1.9.1
- Security update for CVE-2025-52881 via selinux dependency bump to 1.13.0
- Backport upstream fixes for nil bandwidth handling in CHECK, vrf route filtering, and bridge AddrAdd error details
- RU: - Обновление cni с 1.7.1 до 1.9.1
- Исправление безопасности для CVE-2025-52881 через обновление зависимости selinux до 1.13.0
- Включены upstream-исправления для обработки nil bandwidth в CHECK, фильтрации маршрутов vrf и текста ошибки bridge AddrAdd


* Sun Jan 11 2026 NiceOS Team <niceos@ncsgp.ru> - 1.7.1-1
- Initial build for NiceOS (Первая сборка для НАЙС.ОС)