diff --git a/.gitignore b/.gitignore index 5283a44..7dd18eb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +SOURCES/podman-machine-cni-afab2d8.tar.gz +SOURCES/v0.1.0.tar.gz SOURCES/v0.1.5.tar.gz -SOURCES/v1.1.1.tar.gz -SOURCES/v3.3-63269b6.tar.gz +SOURCES/v1.3.0.tar.gz +SOURCES/v3.3.0.tar.gz diff --git a/.podman.metadata b/.podman.metadata index 8fa4f3f..ff2f163 100644 --- a/.podman.metadata +++ b/.podman.metadata @@ -1,3 +1,5 @@ +2b197d002b649ea3c8ff91500a1d56c21e1bf749 SOURCES/podman-machine-cni-afab2d8.tar.gz +d2be14e364fef2d95c61cdac528219548640f6d4 SOURCES/v0.1.0.tar.gz 4502491739693bd1b1d108d9af545f69a3bd424b SOURCES/v0.1.5.tar.gz -3d883ef197eeb1a602dfef79ee1027847cfd40a4 SOURCES/v1.1.1.tar.gz -f230a35bddff7737ccc7348077778ac7b015a5cf SOURCES/v3.3-63269b6.tar.gz +667dcf5bea5992e18963bac6b833053a0d8b1eaa SOURCES/v1.3.0.tar.gz +df5d73b54a7009a0cb19d8db760b5c4b7829612a SOURCES/v3.3.0.tar.gz diff --git a/SPECS/podman.spec b/SPECS/podman.spec index db844a2..3e4f49a 100644 --- a/SPECS/podman.spec +++ b/SPECS/podman.spec @@ -17,29 +17,37 @@ go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl %global import_path github.com/containers/podman %global branch v3.3 -%global commit0 63269b60fe7f928c29439357177ab56242723258 +%global commit0 39cab790cc90c77d4b4a156f5f885077b267cbd9 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global cataver 0.1.5 -%global dnsnamever 1.1.1 +%global dnsnamever 1.3.0 +%global gvproxyrepo gvisor-tap-vsock +%global gvproxyver 0.1.0 +%global commit_mcni afab2d8047bc0bd963d570686770eeb0c2e5a396 +%global shortcommit_mcni %(c=%{commit_mcni}; echo ${c:0:7}) + Name: podman Version: 3.3.0 -Release: 4%{?dist} +Release: 8%{?dist} Summary: Manage Pods, Containers and Container Images License: ASL 2.0 and GPLv3+ URL: https://%{name}.io/ -%if 0%{?branch:1} -Source0: https://%{import_path}/tarball/%{commit0}/%{branch}-%{shortcommit0}.tar.gz -%else -Source0: https://%{import_path}/archive/%{commit0}/%{name}-%{version}-%{shortcommit0}.tar.gz -%endif +#%%if 0%%{?branch:1} +#Source0: https://%%{import_path}/tarball/%%{commit0}/%%{branch}-%%{shortcommit0}.tar.gz +#%%else +#%Source0: https://%%{import_path}/archive/%%{commit0}/%%{name}-%%{version}-%%{shortcommit0}.tar.gz +#%%endif +Source0: https://%{import_path}/archive/v%{version}.tar.gz Source1: https://github.com/openSUSE/catatonit/archive/v%{cataver}.tar.gz Source2: https://github.com/containers/dnsname/archive/v%{dnsnamever}.tar.gz +Source3: https://github.com/containers/%{name}-machine-cni/archive/%{commit_mcni}/%{name}-machine-cni-%{shortcommit_mcni}.tar.gz +Source4: https://github.com/containers/%{gvproxyrepo}/archive/v%{gvproxyver}.tar.gz # https://fedoraproject.org/wiki/PackagingDrafts/Go#Go_Language_Architectures ExclusiveArch: %{go_arches} Provides: %{name}-manpages = %{version}-%{release} Obsoletes: %{name}-manpages < %{version}-%{release} -BuildRequires: golang >= 1.12.12-4 +BuildRequires: golang >= 1.16.6 BuildRequires: glib2-devel BuildRequires: glibc-devel BuildRequires: glibc-static @@ -130,6 +138,7 @@ signalfd(2)) and has no additional features. %package plugins Summary: Plugins for %{name} Requires: dnsmasq +Recommends: %{name}-gvproxy = %{version}-%{release} %description plugins This plugin sets up the use of dnsmasq on a given CNI network so @@ -156,14 +165,26 @@ Requires: buildah This package contains system tests for %{name} +%package gvproxy +Summary: Go replacement for libslirp and VPNKit + +%description gvproxy +A replacement for libslirp and VPNKit, written in pure Go. +It is based on the network stack of gVisor. Compared to libslirp, +gvisor-tap-vsock brings a configurable DNS server and +dynamic port forwarding. + %prep -%if 0%{?branch:1} -%autosetup -Sgit -n containers-%{name}-%{shortcommit0} -%else -%autosetup -Sgit -n %{name}-%{commit0} -%endif +#%%if 0%%{?branch:1} +#%%autosetup -Sgit -n containers-%%{name}-%%{shortcommit0} +#%%else +#%%autosetup -Sgit -n %%{name}-%%{commit0} +#%%endif +%autosetup -Sgit -n %{name}-%{version} tar fx %{SOURCE1} tar fx %{SOURCE2} +tar fx %{SOURCE3} +tar fx %{SOURCE4} mv pkg/hooks/README.md pkg/hooks/README-hooks.md @@ -223,10 +244,31 @@ export GOPATH=$(pwd)/_build:$(pwd) %gobuild -o bin/dnsname github.com/containers/dnsname/plugins/meta/dnsname popd +pushd %{name}-machine-cni-%{commit_mcni} +unset LDFLAGS +mkdir _build +pushd _build +mkdir -p src/github.com/containers +ln -s ../../../../ src/github.com/containers/%{name}-machine-cni +popd +ln -s vendor src +export GOPATH=$(pwd)/_build:$(pwd) +%gobuild -o bin/%{name}-machine github.com/containers/%{name}-machine-cni/plugins/meta/%{name}-machine +popd + +pushd %{gvproxyrepo}-%{gvproxyver} +unset LDFLAGS +mkdir _build +pushd _build +mkdir -p src/github.com/containers +ln -s ../../../../ src/github.com/containers/%{gvproxyrepo} +popd +ln -s vendor src +export GOPATH=$(pwd)/_build:$(pwd) +%gobuild -o bin/%{name}-gvproxy github.com/containers/%{gvproxyrepo}/cmd/gvproxy +popd + %install -install -dp %{buildroot}%{_unitdir} -install -dp %{buildroot}%{_userunitdir} -install -dp %{buildroot}%{_tmpfilesdir} PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} \ ETCDIR=%{buildroot}%{_sysconfdir} \ install.bin-nobuild \ @@ -260,9 +302,16 @@ pushd dnsname-%{dnsnamever} %{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install popd -# install CNI -install -dp %{buildroot}%{_sysconfdir}/cni/net.d -install -p cni/87-podman-bridge.conflist %{buildroot}%{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist +# install machine-cni plugin +pushd %{name}-machine-cni-%{commit_mcni} +%{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install +popd + +# install gvproxy +pushd %{gvproxyrepo}-%{gvproxyver} +install -dp %{buildroot}%{_libexecdir}/%{name} +install -p -m0755 bin/%{name}-gvproxy %{buildroot}%{_libexecdir}/%{name} +popd %check %if 0%{?with_check} @@ -301,7 +350,7 @@ exit 0 %{_datadir}/zsh/site-functions/_%{name} %dir %{_datadir}/fish/vendor_completions.d %{_datadir}/fish/vendor_completions.d/%{name}.fish -%config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist +#%%config(noreplace) %%{_sysconfdir}/cni/net.d/87-%%{name}-bridge.conflist %{_unitdir}/*.service %{_unitdir}/*.socket %{_unitdir}/*.timer @@ -338,12 +387,39 @@ exit 0 %license dnsname-%{dnsnamever}/LICENSE %doc dnsname-%{dnsnamever}/{README.md,README_PODMAN.md} %{_libexecdir}/cni/dnsname +%{_libexecdir}/cni/%{name}-machine %files tests %license LICENSE %{_datadir}/%{name}/test +%files gvproxy +%license %{gvproxyrepo}-%{gvproxyver}/LICENSE +%doc %{gvproxyrepo}-%{gvproxyver}/README.md +%dir %{_libexecdir}/%{name} +%{_libexecdir}/%{name}/%{name}-gvproxy + %changelog +* Tue Aug 17 2021 Lokesh Mandvekar - 3.3.0-8 +- Bump podman to v3.3.0 +- Related: #1966538 + +* Tue Aug 17 2021 Lokesh Mandvekar - 3.3.0-7 +- podman-plugins Recommends: podman-gvproxy +- Related: #1934415 + +* Tue Aug 17 2021 Lokesh Mandvekar - 3.3.0-6 +- update podman to v3.3.0-rc3 +- update dnsname to v1.3.0 +- add podman-machine-cni commit afab2d8 +- add gvproxy v0.1.0 +- Related: #1934415 + +* Tue Aug 17 2021 Jindrich Novy - 3.3.0-5 +- update to the latest content of https://github.com/containers/podman/tree/v3.3 + (https://github.com/containers/podman/commit/39cab79) +- Related: #1934415 + * Thu Aug 12 2021 Jindrich Novy - 3.3.0-4 - update to the latest content of https://github.com/containers/podman/tree/v3.3 (https://github.com/containers/podman/commit/63269b6)