diff --git a/1.0.2.tar.gz b/1.0.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4db7d6f563ea7e25878879d376edd711742106c0 Binary files /dev/null and b/1.0.2.tar.gz differ diff --git a/netavark-v1.0.2-vendor.tar.gz b/netavark-v1.0.2-vendor.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..bd6f64f33ca3e5e63a5c656462abc041d37aa4b2 Binary files /dev/null and b/netavark-v1.0.2-vendor.tar.gz differ diff --git a/netavark.spec b/netavark.spec new file mode 100644 index 0000000000000000000000000000000000000000..2eb0bb59b9beac0f95f91f1b9f81a7cf1eda69d2 --- /dev/null +++ b/netavark.spec @@ -0,0 +1,216 @@ +%global debug_package %{nil} + +Name: netavark +Version: 1.0.2 +Release: 1 +Summary: OCI network stack +License: ASL 2.0 and BSD and MIT +URL: https://github.com/containers/%{name} +Source0: %{url}/archive/tag/%{version}.tar.gz +Source1: %{url}/releases/download/tag/%{name}-v%{version}-vendor.tar.gz +Source2: https://github.com/cpuguy83/go-md2man/archive/v1.0.10.tar.gz +BuildRequires: cargo make rust-srpm-macros git-core golang +Recommends: aardvark-dns +Provides: container-network-stack = 2 +Provides: bundled(crate(aho-corasick)) = v0.7.18 +Provides: bundled(crate(anyhow)) = v1.0.56 +Provides: bundled(crate(async-broadcast)) = v0.3.4 +Provides: bundled(crate(async-channel)) = v1.6.1 +Provides: bundled(crate(async-executor)) = v1.4.1 +Provides: bundled(crate(async-io)) = v1.6.0 +Provides: bundled(crate(async-lock)) = v2.5.0 +Provides: bundled(crate(async-recursion)) = v0.3.2 +Provides: bundled(crate(async-task)) = v4.1.0 +Provides: bundled(crate(async-trait)) = v0.1.52 +Provides: bundled(crate(atty)) = v0.2.14 +Provides: bundled(crate(autocfg)) = v1.1.0 +Provides: bundled(crate(bitflags)) = v1.3.2 +Provides: bundled(crate(block-buffer)) = v0.10.2 +Provides: bundled(crate(byteorder)) = v1.4.3 +Provides: bundled(crate(bytes)) = v1.1.0 +Provides: bundled(crate(cache-padded)) = v1.2.0 +Provides: bundled(crate(cfg-if)) = v1.0.0 +Provides: bundled(crate(chrono)) = v0.4.19 +Provides: bundled(crate(clap)) = v3.1.1 +Provides: bundled(crate(clap_derive)) = v3.1.0 +Provides: bundled(crate(concurrent-queue)) = v1.2.2 +Provides: bundled(crate(cpufeatures)) = v0.2.1 +Provides: bundled(crate(crypto-common)) = v0.1.3 +Provides: bundled(crate(derivative)) = v2.2.0 +Provides: bundled(crate(digest)) = v0.10.3 +Provides: bundled(crate(easy-parallel)) = v3.2.0 +Provides: bundled(crate(enumflags2)) = v0.7.3 +Provides: bundled(crate(enumflags2_derive)) = v0.7.3 +Provides: bundled(crate(env_logger)) = v0.9.0 +Provides: bundled(crate(event-listener)) = v2.5.2 +Provides: bundled(crate(fastrand)) = v1.7.0 +Provides: bundled(crate(form_urlencoded)) = v1.0.1 +Provides: bundled(crate(futures)) = v0.3.21 +Provides: bundled(crate(futures-channel)) = v0.3.21 +Provides: bundled(crate(futures-core)) = v0.3.21 +Provides: bundled(crate(futures-executor)) = v0.3.21 +Provides: bundled(crate(futures-io)) = v0.3.21 +Provides: bundled(crate(futures-lite)) = v1.12.0 +Provides: bundled(crate(futures-macro)) = v0.3.21 +Provides: bundled(crate(futures-sink)) = v0.3.21 +Provides: bundled(crate(futures-task)) = v0.3.21 +Provides: bundled(crate(futures-util)) = v0.3.21 +Provides: bundled(crate(generic-array)) = v0.14.5 +Provides: bundled(crate(getrandom)) = v0.2.5 +Provides: bundled(crate(hashbrown)) = v0.11.2 +Provides: bundled(crate(heck)) = v0.4.0 +Provides: bundled(crate(hex)) = v0.4.3 +Provides: bundled(crate(humantime)) = v2.1.0 +Provides: bundled(crate(idna)) = v0.2.3 +Provides: bundled(crate(indexmap)) = v1.8.0 +Provides: bundled(crate(ipnet)) = v2.4.0 +Provides: bundled(crate(iptables)) = v0.5.0 +Provides: bundled(crate(itoa)) = v1.0.1 +Provides: bundled(crate(lazy_static)) = v1.4.0 +Provides: bundled(crate(libc)) = v0.2.121 +Provides: bundled(crate(lock_api)) = v0.4.6 +Provides: bundled(crate(log)) = v0.4.16 +Provides: bundled(crate(matches)) = v0.1.9 +Provides: bundled(crate(memchr)) = v2.4.1 +Provides: bundled(crate(memoffset)) = v0.6.5 +Provides: bundled(crate(mio)) = v0.8.0 +Provides: bundled(crate(netavark)) = v1.0.2 +Provides: bundled(crate(netlink-packet-core)) = v0.4.2 +Provides: bundled(crate(netlink-packet-route)) = v0.11.0 +Provides: bundled(crate(netlink-packet-utils)) = v0.5.1 +Provides: bundled(crate(netlink-proto)) = v0.9.2 +Provides: bundled(crate(netlink-sys)) = v0.8.2 +Provides: bundled(crate(nix)) = v0.22.3 +Provides: bundled(crate(nix)) = v0.23.1 +Provides: bundled(crate(num-integer)) = v0.1.44 +Provides: bundled(crate(num-traits)) = v0.2.14 +Provides: bundled(crate(num_cpus)) = v1.13.1 +Provides: bundled(crate(once_cell)) = v1.9.0 +Provides: bundled(crate(ordered-float)) = v2.10.0 +Provides: bundled(crate(ordered-stream)) = v0.0.1 +Provides: bundled(crate(os_str_bytes)) = v6.0.0 +Provides: bundled(crate(parking)) = v2.0.0 +Provides: bundled(crate(parking_lot)) = v0.12.0 +Provides: bundled(crate(parking_lot_core)) = v0.9.1 +Provides: bundled(crate(paste)) = v1.0.6 +Provides: bundled(crate(percent-encoding)) = v2.1.0 +Provides: bundled(crate(pin-project-lite)) = v0.2.8 +Provides: bundled(crate(pin-utils)) = v0.1.0 +Provides: bundled(crate(polling)) = v2.2.0 +Provides: bundled(crate(ppv-lite86)) = v0.2.16 +Provides: bundled(crate(proc-macro-crate)) = v1.1.2 +Provides: bundled(crate(proc-macro-error)) = v1.0.4 +Provides: bundled(crate(proc-macro-error-attr)) = v1.0.4 +Provides: bundled(crate(proc-macro2)) = v1.0.36 +Provides: bundled(crate(quote)) = v1.0.15 +Provides: bundled(crate(rand)) = v0.8.5 +Provides: bundled(crate(rand_chacha)) = v0.3.1 +Provides: bundled(crate(rand_core)) = v0.6.3 +Provides: bundled(crate(regex)) = v1.5.4 +Provides: bundled(crate(regex-syntax)) = v0.6.25 +Provides: bundled(crate(rtnetlink)) = v0.9.1 +Provides: bundled(crate(ryu)) = v1.0.9 +Provides: bundled(crate(same-file)) = v1.0.6 +Provides: bundled(crate(scopeguard)) = v1.1.0 +Provides: bundled(crate(serde)) = v1.0.136 +Provides: bundled(crate(serde-value)) = v0.7.0 +Provides: bundled(crate(serde_derive)) = v1.0.136 +Provides: bundled(crate(serde_json)) = v1.0.79 +Provides: bundled(crate(serde_repr)) = v0.1.7 +Provides: bundled(crate(sha1)) = v0.6.1 +Provides: bundled(crate(sha1_smol)) = v1.0.0 +Provides: bundled(crate(sha2)) = v0.10.2 +Provides: bundled(crate(signal-hook-registry)) = v1.4.0 +Provides: bundled(crate(simple-error)) = v0.2.3 +Provides: bundled(crate(slab)) = v0.4.5 +Provides: bundled(crate(smallvec)) = v1.8.0 +Provides: bundled(crate(socket2)) = v0.4.4 +Provides: bundled(crate(static_assertions)) = v1.1.0 +Provides: bundled(crate(strsim)) = v0.10.0 +Provides: bundled(crate(syn)) = v1.0.86 +Provides: bundled(crate(sysctl)) = v0.4.4 +Provides: bundled(crate(termcolor)) = v1.1.2 +Provides: bundled(crate(textwrap)) = v0.14.2 +Provides: bundled(crate(thiserror)) = v1.0.30 +Provides: bundled(crate(thiserror-impl)) = v1.0.30 +Provides: bundled(crate(time)) = v0.1.43 +Provides: bundled(crate(tinyvec)) = v1.5.1 +Provides: bundled(crate(tinyvec_macros)) = v0.1.0 +Provides: bundled(crate(tokio)) = v1.17.0 +Provides: bundled(crate(tokio-macros)) = v1.7.0 +Provides: bundled(crate(toml)) = v0.5.8 +Provides: bundled(crate(typenum)) = v1.15.0 +Provides: bundled(crate(unicode-bidi)) = v0.3.7 +Provides: bundled(crate(unicode-normalization)) = v0.1.19 +Provides: bundled(crate(unicode-xid)) = v0.2.2 +Provides: bundled(crate(url)) = v2.2.2 +Provides: bundled(crate(version_check)) = v0.9.4 +Provides: bundled(crate(waker-fn)) = v1.1.0 +Provides: bundled(crate(walkdir)) = v2.3.2 +Provides: bundled(crate(zbus)) = v2.1.1 +Provides: bundled(crate(zbus_macros)) = v2.1.1 +Provides: bundled(crate(zbus_names)) = v2.1.0 +Provides: bundled(crate(zvariant)) = v3.1.2 +Provides: bundled(crate(zvariant_derive)) = v3.1.2 + +%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 +%autosetup -Sgit -n %{name}-%{version} +tar fx %{SOURCE1} +mkdir -p .cargo + +cat >.cargo/config << EOF +[source.crates-io] +replace-with = "vendored-sources" + +[source.vendored-sources] +directory = "vendor" +EOF + +tar -xf %SOURCE2 +%build +GO_MD2MAN_PATH="$(pwd)%{_bindir}" +mkdir -p _buildgo2man/bin $GO_MD2MAN_PATH +cd go-md2man-* +go build -mod=vendor -o ../_buildgo2man/bin/go-md2man . +cp ../_buildgo2man/bin/go-md2man $GO_MD2MAN_PATH/go-md2man +export PATH=$GO_MD2MAN_PATH:$PATH +cd - + +%{__make} build + +pushd docs +go-md2man -in %{name}.1.md -out %{name}.1 +popd + +%install +%{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} install + +%files +%license LICENSE +%dir %{_libexecdir}/podman +%{_libexecdir}/podman/%{name} +%{_mandir}/man1/%{name}.1* + +%changelog +* Thu Jul 07 2022 fushanqing - 1.0.2-1 +- Init Package diff --git a/v1.0.10.tar.gz b/v1.0.10.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c6b658ca85114774c8b6b3d80ff9c210e863564d Binary files /dev/null and b/v1.0.10.tar.gz differ