gvproxy removed for rawhide and copr builds

Ref: (WIP) https://bugzilla.redhat.com/show_bug.cgi?id=2224434

This might cause breakage in rawhide, but can't be worse than what it
already is.
This commit is contained in:
Lokesh Mandvekar 2023-07-24 08:34:58 -04:00
parent f5015a026a
commit 107772583a

View File

@ -25,6 +25,15 @@
%define build_with_btrfs 1
%endif
# gvproxy can be included as a standalone package on copr.
# It is currently open for review on bugzilla until which fedora releases can't
# include it. Official rawhide should be able to fetch the last active build of
# gvproxy, the min version requirement has been removed to allow it.
# Ref: https://bugzilla.redhat.com/show_bug.cgi?id=2224434
%if !%{defined copr_username} && 0%{?fedora} <= 38
%define gvproxy_subpackage 1
%endif
%global container_base_path github.com/containers
%global container_base_url https://%{container_base_path}
@ -71,7 +80,9 @@ URL: https://%{name}.io/
# All SourceN files fetched from upstream
Source0: %{git0}/archive/v%{version}.tar.gz
Source1: %{git_plugins}/archive/%{commit_plugins}/%{repo_plugins}-%{commit_plugins}.tar.gz
%if %{defined gvproxy_subpackage}
Source2: %{git_gvproxy}/archive/%{commit_gvproxy}/%{repo_gvproxy}-%{commit_gvproxy}.tar.gz
%endif
Provides: %{name}-manpages = %{epoch}:%{version}-%{release}
BuildRequires: %{_bindir}/envsubst
BuildRequires: %{_bindir}/go-md2man
@ -104,7 +115,11 @@ BuildRequires: python3
Requires: catatonit
Requires: conmon >= 2:2.1.7-2
Requires: containers-common-extra
%if %{defined gvproxy_subpackage}
Recommends: %{name}-gvproxy = %{epoch}:%{version}-%{release}
%else
Recommends: %{name}-gvproxy
%endif
Provides: %{name}-quadlet
Obsoletes: %{name}-quadlet <= 5:4.4.0-1
Provides: %{name}-quadlet = %{epoch}:%{version}-%{release}
@ -174,7 +189,11 @@ connections as well.
%package plugins
Summary: Plugins for %{name}
Requires: dnsmasq
%if %{defined gvproxy_subpackage}
Recommends: %{name}-gvproxy = %{epoch}:%{version}-%{release}
%else
Recommends: %{name}-gvproxy
%endif
%description plugins
This plugin sets up the use of dnsmasq on a given CNI network so
@ -184,6 +203,7 @@ that dnsmasq will read in. Similarly, when a pod
is removed from the network, it will remove the entry from the hosts
file. Each CNI network will have its own dnsmasq instance.
%if %{defined gvproxy_subpackage}
%package gvproxy
Summary: Go replacement for libslirp and VPNKit
@ -192,6 +212,7 @@ 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.
%endif
%package -n %{name}sh
Summary: Confined login and user shell using %{name}
@ -213,8 +234,10 @@ sed -i 's;@@PODMAN@@\;$(BINDIR);@@PODMAN@@\;%{_bindir};' Makefile
# untar dnsname
tar zxf %{SOURCE1}
%if %{defined gvproxy_subpackage}
# untar %%{name}-gvproxy
tar zxf %{SOURCE2}
%endif
%build
%set_build_flags
@ -254,11 +277,13 @@ export BUILDTAGS="$BASEBUILDTAGS $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag
# reset LDFLAGS for plugins and gvisor binaries
LDFLAGS=''
%if %{defined gvproxy_subpackage}
# build gvisor-tap-vsock binaries
cd %{repo_gvproxy}-%{commit_gvproxy}
%gobuild -o bin/gvproxy ./cmd/gvproxy
%gobuild -o bin/gvforwarder ./cmd/vm
cd ..
%endif
%{__make} docs docker-docs
@ -296,12 +321,14 @@ cd %{repo_plugins}-%{commit_plugins}
%{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install
cd ..
%if %{defined gvproxy_subpackage}
# install gvproxy
cd %{repo_gvproxy}-%{commit_gvproxy}
install -dp %{buildroot}%{_libexecdir}/%{name}
install -p -m0755 bin/gvproxy %{buildroot}%{_libexecdir}/%{name}
install -p -m0755 bin/gvforwarder %{buildroot}%{_libexecdir}/%{name}
cd ..
%endif
# do not include docker and podman-remote man pages in main package
for file in `find %{buildroot}%{_mandir}/man[15] -type f | sed "s,%{buildroot},," | grep -v -e remote -e docker`; do
@ -364,12 +391,14 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/
%dir %{_libexecdir}/cni
%{_libexecdir}/cni/dnsname
%if %{defined gvproxy_subpackage}
%files gvproxy
%license %{repo_gvproxy}-%{commit_gvproxy}/LICENSE
%doc %{repo_gvproxy}-%{commit_gvproxy}/README.md
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/gvproxy
%{_libexecdir}/%{name}/gvforwarder
%endif
%files -n %{name}sh
%license LICENSE