# debuginfo doesn't work yet
%global debug_package %{nil}
%global netavark_version v1.1.0
%global netavark_branch v1.1.0-rhel
%global netavark_commit0 e868e02552bd1be28d8eb6a193f2e92b0e0643bf
%global netavark_shortcommit0 %(c=%{netavark_commit0}; echo ${c:0:7})
Epoch: 2
Name: netavark
Version: 1.1.0
Release: 7%{?dist}
License: ASL 2.0 and BSD and MIT
ExclusiveArch: %{rust_arches}
Summary: OCI network stack
URL: https://github.com/containers/%{name}
%if 0%{?netavark_branch:1}
Source0: https://github.com/containers/netavark/tarball/%{netavark_commit0}/%{netavark_branch}-%{netavark_shortcommit0}.tar.gz
%else
Source0: https://github.com/containers/netavark/archive/%{netavark_commit0}/netavark-%{netavark_version}-%{netavark_shortcommit0}.tar.gz
%endif
Source1: https://github.com/containers/netavark/releases/download/%{netavark_version}/netavark-%{netavark_version}-vendor.tar.gz
Source2: netavark.1
BuildRequires: cargo
Recommends: aardvark-dns >= 1.0.3
Provides: container-network-stack = 2
BuildRequires: make
BuildRequires: rust-srpm-macros
BuildRequires: git-core
%description
%{summary}
Netavark is a rust based network stack for containers. It is being
designed to work with Podman but is also applicable for other OCI
container management applications.
Netavark is a tool for configuring networking for Linux containers.
Its features include:
* Configuration of container networks via JSON configuration file
* Creation and management of required network interfaces,
including MACVLAN networks
* All required firewall configuration to perform NAT and port
forwarding as required for containers
* Support for iptables and firewalld at present, with support
for nftables planned in a future release
* Support for rootless containers
* Support for IPv4 and IPv6
* Support for container DNS resolution via aardvark-dns.
%prep
tar fx %{SOURCE0}
%if 0%{?netavark_branch:1}
pushd containers-netavark-%{netavark_shortcommit0}
%else
pushd netavark-%{netavark_commit0}
%endif
tar fx %{SOURCE1}
mkdir -p .cargo
cat >.cargo/config << EOF
[source.crates-io]
replace-with = "vendored-sources"
[source.vendored-sources]
directory = "vendor"
EOF
%build
%if 0%{?netavark_branch:1}
pushd containers-netavark-%{netavark_shortcommit0}
%else
pushd netavark-%{netavark_commit0}
%endif
%__scm_setup_git -q
%{__make} build
cd docs
cp %{SOURCE2} .
%install
%if 0%{?netavark_branch:1}
pushd containers-netavark-%{netavark_shortcommit0}
%else
pushd netavark-%{netavark_commit0}
%endif
%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install
%files
%if 0%{?netavark_branch:1}
%license containers-netavark-%{netavark_shortcommit0}/LICENSE
%else
%license netavark-%{netavark_commit0}/LICENSE
%endif
%dir %{_libexecdir}/podman
%{_libexecdir}/podman/%{name}
%{_mandir}/man1/%{name}.1*
%changelog
* Tue Oct 25 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-7
- fix "Two aardvark-dns instances trying to use the same port
on the same interface"
- Resolves: #2130234
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 2:1.1.0-6
- bump Epoch to preserve upgrade path
- Related: #2061390
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-5
- remove dependency on md2man
- Related: #2061390
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-4
- fix arches
- Related: #2061390
* Tue Aug 09 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-3
- add gating.yaml
- Related: #2061390
* Thu Aug 04 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-2
- require /usr/bin/go-md2man directly
* Wed Aug 03 2022 Jindrich Novy <jnovy@redhat.com> - 1.1.0-1
- initial import
- Related: #2061390