From 2f602c0d5970372bb13009418fc0205f6d0e509d Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 20 Jul 2023 22:10:14 +0000 Subject: [PATCH 1/8] [packit] 4.6.0 upstream release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream tag: v4.6.0 Upstream commit: 38e6fab9 If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork): ``` git fetch https://src.fedoraproject.org/forks/packit/rpms/podman.git refs/heads/*:refs/remotes/packit/* git checkout packit/4.6.0-f37-update-propose_downstream ``` --- .gitignore | 1 + .packit.yaml | 41 +++++++++++++++++++++++++++++++++++++++++ README.packit | 3 +++ podman.spec | 6 +++--- sources | 2 +- 5 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 .packit.yaml create mode 100644 README.packit diff --git a/.gitignore b/.gitignore index 3b07634..32554f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1831,3 +1831,4 @@ /v4.5.1.tar.gz /v4.6.0-rc1.tar.gz /v4.6.0-rc2.tar.gz +/v4.6.0.tar.gz diff --git a/.packit.yaml b/.packit.yaml new file mode 100644 index 0000000..2d53d26 --- /dev/null +++ b/.packit.yaml @@ -0,0 +1,41 @@ +--- +# See the documentation for more information: +# https://packit.dev/docs/configuration/ + +# Build targets can be found at: +# https://copr.fedorainfracloud.org/coprs/rhcontainerbot/packit-builds/ + +specfile_path: rpm/podman.spec +upstream_tag_template: v{version} + +jobs: + - &copr + job: copr_build + trigger: pull_request + owner: rhcontainerbot + project: packit-builds + enable_net: true + srpm_build_deps: + - make + + - <<: *copr + # Run on commit to main branch + trigger: commit + branch: main + project: podman-next + + - job: propose_downstream + trigger: release + update_release: false + dist_git_branches: + - fedora-all + + - job: koji_build + trigger: commit + dist_git_branches: + - fedora-all + + - job: bodhi_update + trigger: commit + dist_git_branches: + - fedora-branched # rawhide updates are created automatically diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..9d6cbbc --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 0.78.1. diff --git a/podman.spec b/podman.spec index b907f5b..afbb6fc 100644 --- a/podman.spec +++ b/podman.spec @@ -58,7 +58,7 @@ Epoch: 5 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 4.6.0~rc2 +Version: 4.6.0 License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause and ISC and MIT and MPL-2.0 Release: %autorelease %if %{defined golang_arches_future} @@ -69,7 +69,7 @@ ExclusiveArch: aarch64 ppc64le s390x x86_64 Summary: Manage Pods, Containers and Container Images URL: https://%{name}.io/ # All SourceN files fetched from upstream -Source0: %{git0}/archive/v4.6.0-rc2.tar.gz +Source0: %{git0}/archive/v%{version}.tar.gz Source1: %{git_plugins}/archive/%{commit_plugins}/%{repo_plugins}-%{commit_plugins}.tar.gz Source2: %{git_gvproxy}/archive/%{commit_gvproxy}/%{repo_gvproxy}-%{commit_gvproxy}.tar.gz Provides: %{name}-manpages = %{epoch}:%{version}-%{release} @@ -207,7 +207,7 @@ It is a symlink to %{_bindir}/%{name} and execs into the `%{name}sh` container when `%{_bindir}/%{name}sh is set as a login shell or set as os.Args[0]. %prep -%autosetup -Sgit -n %{name}-4.6.0-rc2 +%autosetup -Sgit -n %{name}-%{version} sed -i 's;@@PODMAN@@\;$(BINDIR);@@PODMAN@@\;%{_bindir};' Makefile # untar dnsname diff --git a/sources b/sources index 0c97bd1..930594b 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ +SHA512 (v4.6.0.tar.gz) = a0f045e3275f072abcf2e59636527f1b98b7579d7b64df37cbabbf1f9d2cb3852a95240f6145ccd81d4b31da0175003ab0043d269c75f9dfb31586065554c986 SHA512 (dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8 SHA512 (gvisor-tap-vsock-407efb5dcdb0f4445935f7360535800b60447544.tar.gz) = 8b9e687c8be7063641839b5764787ae82561635ae6410585a3c70552bed741e6a63154f55d0209a6408861d5ee76619a765e70b2deda37d38802f6e5b57f2a4c -SHA512 (v4.6.0-rc2.tar.gz) = 96dc23df93269c5c83e15bfeb33606505205aef7ee2064f69babf6f4fae9c2d1a416d397f34119de30f1d086192b307771c67d66ae256ace1dfd4a24b7c675bf From ecae69579d36cf651c41cee079d4eb70c59e8dc0 Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 10 Aug 2023 20:57:33 +0000 Subject: [PATCH 2/8] [packit] 4.6.1 upstream release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream tag: v4.6.1 Upstream commit: f3069b3f If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork): ``` git fetch https://src.fedoraproject.org/forks/packit/rpms/podman.git refs/heads/*:refs/remotes/packit/* git checkout packit/4.6.1-f37-update-propose_downstream ``` --- .gitignore | 1 + README.packit | 2 +- podman.spec | 46 ++++++++++++++++++++++++++++++++++++++++++---- sources | 2 +- 4 files changed, 45 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 32554f2..832a07c 100644 --- a/.gitignore +++ b/.gitignore @@ -1832,3 +1832,4 @@ /v4.6.0-rc1.tar.gz /v4.6.0-rc2.tar.gz /v4.6.0.tar.gz +/v4.6.1.tar.gz diff --git a/README.packit b/README.packit index 9d6cbbc..d7c433c 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.78.1. +The file was generated using packit 0.78.2.post2+g81828af. diff --git a/podman.spec b/podman.spec index afbb6fc..8372b55 100644 --- a/podman.spec +++ b/podman.spec @@ -7,12 +7,18 @@ %global debug_package %{nil} %endif -# RHEL 8's default %%gobuild macro doesn't account for the BUILDTAGS variable, so we -# set it separately here and do not depend on RHEL 8's go-srpm-macros package. -%if %{defined rhel} && 0%{?rhel} == 8 +# RHEL's default %%gobuild macro doesn't account for the BUILDTAGS variable, so we +# set it separately here and do not depend on RHEL's go-[s]rpm-macros package +# until that's fixed. +# c9s bz: https://bugzilla.redhat.com/show_bug.cgi?id=2227328 +# c8s bz: https://bugzilla.redhat.com/show_bug.cgi?id=2227331 +%if %{defined rhel} && !%{defined eln} %define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "-linkmode=external -compressdwarf=false ${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; +# python3 dep conditional for rhel8 +%if %{?rhel} == 8 %define rhel8py3 1 %endif +%endif %global gomodulesmode GO111MODULE=on @@ -25,6 +31,16 @@ %define build_with_btrfs 1 %endif +# gvproxy doesn't currently build on rawhide because of go1.21. +# It 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} <= 37 +%define gvproxy_subpackage 1 +%endif + %global container_base_path github.com/containers %global container_base_url https://%{container_base_path} @@ -41,10 +57,12 @@ %global commit_plugins 18822f9a4fb35d1349eb256f4cd2bfd372474d84 %global import_path_plugins %{container_base_path}/%{repo_plugins} +%if %{defined gvproxy_subpackage} # gvproxy %global repo_gvproxy gvisor-tap-vsock %global git_gvproxy %{container_base_url}/%{repo_gvproxy} %global commit_gvproxy 407efb5dcdb0f4445935f7360535800b60447544 +%endif Name: podman %if %{defined copr_username} @@ -58,7 +76,7 @@ Epoch: 5 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 4.6.0 +Version: 4.6.1 License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause and ISC and MIT and MPL-2.0 Release: %autorelease %if %{defined golang_arches_future} @@ -71,7 +89,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 +124,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 +198,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 +212,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 +221,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 +243,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 +286,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 +330,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 +400,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 diff --git a/sources b/sources index 930594b..8909bac 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (v4.6.0.tar.gz) = a0f045e3275f072abcf2e59636527f1b98b7579d7b64df37cbabbf1f9d2cb3852a95240f6145ccd81d4b31da0175003ab0043d269c75f9dfb31586065554c986 +SHA512 (v4.6.1.tar.gz) = e875fd8f40be94a589ac2404e82e282490bdd639b75943f669feadf81a26abf9a1bf6649be7d9d2dd07e62df58af7d495c673f30c98cc27a2cf6e7892daf3f28 SHA512 (dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8 SHA512 (gvisor-tap-vsock-407efb5dcdb0f4445935f7360535800b60447544.tar.gz) = 8b9e687c8be7063641839b5764787ae82561635ae6410585a3c70552bed741e6a63154f55d0209a6408861d5ee76619a765e70b2deda37d38802f6e5b57f2a4c From 48098151fbcbffee5aaf9758e167cd6a0833c319 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 28 Aug 2023 19:18:00 +0000 Subject: [PATCH 3/8] [packit] 4.6.2 upstream release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Upstream tag: v4.6.2 Upstream commit: 5db42e86 If you need to do any change in this pull request, you need to locally fetch the source branch of it and push it (with a fix) to your fork (as it is not possible to push to the branch created in the Packit’s fork): ``` git fetch https://src.fedoraproject.org/forks/packit/rpms/podman.git refs/heads/*:refs/remotes/packit/* git checkout packit/4.6.2-f37-update-propose_downstream ``` --- .gitignore | 1 + .packit.yaml | 52 +++++++++++++++++++++++++++++++++++++-------------- README.packit | 2 +- podman.spec | 6 ++++-- sources | 2 +- 5 files changed, 45 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index 832a07c..a609cd9 100644 --- a/.gitignore +++ b/.gitignore @@ -1833,3 +1833,4 @@ /v4.6.0-rc2.tar.gz /v4.6.0.tar.gz /v4.6.1.tar.gz +/v4.6.2.tar.gz diff --git a/.packit.yaml b/.packit.yaml index 2d53d26..fb8aefa 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -2,27 +2,51 @@ # See the documentation for more information: # https://packit.dev/docs/configuration/ -# Build targets can be found at: -# https://copr.fedorainfracloud.org/coprs/rhcontainerbot/packit-builds/ - specfile_path: rpm/podman.spec upstream_tag_template: v{version} -jobs: - - &copr - job: copr_build - trigger: pull_request - owner: rhcontainerbot - project: packit-builds - enable_net: true - srpm_build_deps: - - make +srpm_build_deps: + - make - - <<: *copr - # Run on commit to main branch +jobs: + - job: copr_build + trigger: pull_request + enable_net: true + # keep in sync with https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next + targets: + - fedora-all-x86_64 + - fedora-all-aarch64 + - centos-stream+epel-next-8-x86_64 + - centos-stream+epel-next-8-aarch64 + - centos-stream+epel-next-9-x86_64 + - centos-stream+epel-next-9-aarch64 + additional_repos: + - "copr://rhcontainerbot/podman-next" + + # Run on commit to main branch + - job: copr_build trigger: commit branch: main + owner: rhcontainerbot project: podman-next + enable_net: true + + - job: tests + identifier: cockpit-revdeps + trigger: pull_request + targets: + - fedora-latest-stable + - fedora-development + tf_extra_params: + environments: + - artifacts: + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/g/cockpit/main-builds/repo/fedora-$releasever/group_cockpit-main-builds-fedora-$releasever.repo + - type: repository-file + id: https://copr.fedorainfracloud.org/coprs/rhcontainerbot/podman-next/repo/fedora-$releasever/rhcontainerbot-podman-next-fedora-$releasever.repo + tmt: + context: + revdeps: "yes" - job: propose_downstream trigger: release diff --git a/README.packit b/README.packit index d7c433c..797aefb 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.78.2.post2+g81828af. +The file was generated using packit 0.79.0.post2+g93f33d9. diff --git a/podman.spec b/podman.spec index 8372b55..35f6168 100644 --- a/podman.spec +++ b/podman.spec @@ -76,8 +76,9 @@ Epoch: 5 # If that's what you're reading, Version must be 0, and will be updated by Packit for # copr and koji builds. # If you're reading this on dist-git, the version is automatically filled in by Packit. -Version: 4.6.1 -License: Apache-2.0 and BSD-2-Clause and BSD-3-Clause and ISC and MIT and MPL-2.0 +Version: 4.6.2 +# The `AND` needs to be uppercase in the License for SPDX compatibility +License: Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT AND MPL-2.0 Release: %autorelease %if %{defined golang_arches_future} ExclusiveArch: %{golang_arches_future} @@ -115,6 +116,7 @@ BuildRequires: libselinux-devel BuildRequires: shadow-utils-subid-devel BuildRequires: pkgconfig BuildRequires: make +BuildRequires: man-db BuildRequires: ostree-devel BuildRequires: systemd BuildRequires: systemd-devel diff --git a/sources b/sources index 8909bac..8ebecd1 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (v4.6.1.tar.gz) = e875fd8f40be94a589ac2404e82e282490bdd639b75943f669feadf81a26abf9a1bf6649be7d9d2dd07e62df58af7d495c673f30c98cc27a2cf6e7892daf3f28 +SHA512 (v4.6.2.tar.gz) = 0c89ff3df21e9ca0eb6891600eb86c47463a53bd004d1564cc4661f0ea303dc245b47467d586db29587f960d5c78e0326b7f33ef87ba95e142e3320c56ceaa99 SHA512 (dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8 SHA512 (gvisor-tap-vsock-407efb5dcdb0f4445935f7360535800b60447544.tar.gz) = 8b9e687c8be7063641839b5764787ae82561635ae6410585a3c70552bed741e6a63154f55d0209a6408861d5ee76619a765e70b2deda37d38802f6e5b57f2a4c From 90413ac508132f04a685e96123d7dad4524c0014 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Tue, 29 Aug 2023 14:34:10 -0400 Subject: [PATCH 4/8] tests: add passt to rpm -qa so we know what version is used in tests (cherry picked from commit 01f53fd3b585ecab4e80c90ebdeb6e1338937816) --- tests/roles/run_bats_tests/files/run_bats_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/roles/run_bats_tests/files/run_bats_tests.sh b/tests/roles/run_bats_tests/files/run_bats_tests.sh index 249c3ec..90884cb 100755 --- a/tests/roles/run_bats_tests/files/run_bats_tests.sh +++ b/tests/roles/run_bats_tests/files/run_bats_tests.sh @@ -27,7 +27,7 @@ exec &> >(tee -a $FULL_LOG) echo "Packages:" echo " Kernel: $(uname -r)" rpm -qa |\ - egrep 'podman|conmon|containers-common|crun|runc|iptable|slirp|aardvark|netavark|containernetworking-plugins|systemd|container-selinux' |\ + egrep 'podman|conmon|containers-common|crun|runc|iptable|slirp|aardvark|netavark|containernetworking-plugins|systemd|container-selinux|passt' |\ sort |\ sed -e 's/^/ /' From f22de8aa1e4ddd0ce5aa9e57e811646ca9b02892 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Tue, 12 Sep 2023 15:39:19 -0400 Subject: [PATCH 5/8] podman has hard dependency on gvisor-tap-vsock-gvforwarder (cherry picked from commit e937b31ec5a1f2cff1c1514e49b702469f5f6e7e) --- podman.spec | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/podman.spec b/podman.spec index 35f6168..4473d84 100644 --- a/podman.spec +++ b/podman.spec @@ -95,7 +95,6 @@ Source2: %{git_gvproxy}/archive/%{commit_gvproxy}/%{repo_gvproxy}-%{commit_gvpro %endif Provides: %{name}-manpages = %{epoch}:%{version}-%{release} BuildRequires: %{_bindir}/envsubst -BuildRequires: %{_bindir}/go-md2man %if %{defined build_with_btrfs} BuildRequires: btrfs-progs-devel %endif @@ -131,6 +130,7 @@ Recommends: %{name}-gvproxy = %{epoch}:%{version}-%{release} %else Recommends: %{name}-gvproxy %endif +Requires: gvisor-tap-vsock-gvforwarder Provides: %{name}-quadlet Obsoletes: %{name}-quadlet <= 5:4.4.0-1 Provides: %{name}-quadlet = %{epoch}:%{version}-%{release} @@ -223,6 +223,13 @@ 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. + +%global desc_gvforwarder Forward traffic from a tap interface over vsock +%package -n gvisor-tap-vsock-gvforwarder +Summary: %{desc_gvforwarder} + +%description -n gvisor-tap-vsock-gvforwarder +%{desc_gvforwarder} %endif %package -n %{name}sh @@ -236,7 +243,7 @@ Provides: %{name}-%{name}sh = %{epoch}:%{version}-%{release} capabilities specified in user quadlets. It is a symlink to %{_bindir}/%{name} and execs into the `%{name}sh` container -when `%{_bindir}/%{name}sh is set as a login shell or set as os.Args[0]. +when `%{_bindir}/%{name}sh` is set as a login shell or set as os.Args[0]. %prep %autosetup -Sgit -n %{name}-%{version} @@ -393,7 +400,6 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ %{_datadir}/zsh/site-functions/_%{name}-remote %files tests -%license LICENSE %{_datadir}/%{name}/test %files plugins @@ -408,12 +414,13 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ %doc %{repo_gvproxy}-%{commit_gvproxy}/README.md %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/gvproxy + +%files -n gvisor-tap-vsock-gvforwarder +%dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/gvforwarder %endif %files -n %{name}sh -%license LICENSE -%doc README.md CONTRIBUTING.md install.md transfer.md %{_bindir}/%{name}sh %changelog From 71813a986239c098b90c0c47f8eed4c8dc408733 Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Tue, 12 Sep 2023 16:01:22 -0400 Subject: [PATCH 6/8] adjust dependency for podman-gvproxy --- podman.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/podman.spec b/podman.spec index 4473d84..d5f793a 100644 --- a/podman.spec +++ b/podman.spec @@ -217,6 +217,7 @@ file. Each CNI network will have its own dnsmasq instance. %if %{defined gvproxy_subpackage} %package gvproxy Summary: Go replacement for libslirp and VPNKit +Requires: gvisor-tap-vsock-forwarder %description gvproxy A replacement for libslirp and VPNKit, written in pure Go. From d63582f1c4fa6e6fd66448cbd0f6e8a7453f18ac Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Wed, 13 Sep 2023 11:26:07 -0400 Subject: [PATCH 7/8] fix package requires Signed-off-by: Lokesh Mandvekar --- podman.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/podman.spec b/podman.spec index d5f793a..915474a 100644 --- a/podman.spec +++ b/podman.spec @@ -217,7 +217,7 @@ file. Each CNI network will have its own dnsmasq instance. %if %{defined gvproxy_subpackage} %package gvproxy Summary: Go replacement for libslirp and VPNKit -Requires: gvisor-tap-vsock-forwarder +Requires: gvisor-tap-vsock-gvforwarder %description gvproxy A replacement for libslirp and VPNKit, written in pure Go. @@ -228,6 +228,7 @@ dynamic port forwarding. %global desc_gvforwarder Forward traffic from a tap interface over vsock %package -n gvisor-tap-vsock-gvforwarder Summary: %{desc_gvforwarder} +Provides: gvforwarder = %{epoch}:%{version}-%{release} %description -n gvisor-tap-vsock-gvforwarder %{desc_gvforwarder} From 27f935d6d60c6e83cf044ded6b9d61097cdda47c Mon Sep 17 00:00:00 2001 From: Lokesh Mandvekar Date: Wed, 13 Sep 2023 15:03:26 -0400 Subject: [PATCH 8/8] Revert last 3 commits Don't need gvforwarder split for f37. This reverts commit d63582f1c4fa6e6fd66448cbd0f6e8a7453f18ac. This reverts commit 71813a986239c098b90c0c47f8eed4c8dc408733. This reverts commit f22de8aa1e4ddd0ce5aa9e57e811646ca9b02892. --- podman.spec | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/podman.spec b/podman.spec index 915474a..35f6168 100644 --- a/podman.spec +++ b/podman.spec @@ -95,6 +95,7 @@ Source2: %{git_gvproxy}/archive/%{commit_gvproxy}/%{repo_gvproxy}-%{commit_gvpro %endif Provides: %{name}-manpages = %{epoch}:%{version}-%{release} BuildRequires: %{_bindir}/envsubst +BuildRequires: %{_bindir}/go-md2man %if %{defined build_with_btrfs} BuildRequires: btrfs-progs-devel %endif @@ -130,7 +131,6 @@ Recommends: %{name}-gvproxy = %{epoch}:%{version}-%{release} %else Recommends: %{name}-gvproxy %endif -Requires: gvisor-tap-vsock-gvforwarder Provides: %{name}-quadlet Obsoletes: %{name}-quadlet <= 5:4.4.0-1 Provides: %{name}-quadlet = %{epoch}:%{version}-%{release} @@ -217,21 +217,12 @@ file. Each CNI network will have its own dnsmasq instance. %if %{defined gvproxy_subpackage} %package gvproxy Summary: Go replacement for libslirp and VPNKit -Requires: gvisor-tap-vsock-gvforwarder %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. - -%global desc_gvforwarder Forward traffic from a tap interface over vsock -%package -n gvisor-tap-vsock-gvforwarder -Summary: %{desc_gvforwarder} -Provides: gvforwarder = %{epoch}:%{version}-%{release} - -%description -n gvisor-tap-vsock-gvforwarder -%{desc_gvforwarder} %endif %package -n %{name}sh @@ -245,7 +236,7 @@ Provides: %{name}-%{name}sh = %{epoch}:%{version}-%{release} capabilities specified in user quadlets. It is a symlink to %{_bindir}/%{name} and execs into the `%{name}sh` container -when `%{_bindir}/%{name}sh` is set as a login shell or set as os.Args[0]. +when `%{_bindir}/%{name}sh is set as a login shell or set as os.Args[0]. %prep %autosetup -Sgit -n %{name}-%{version} @@ -402,6 +393,7 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ %{_datadir}/zsh/site-functions/_%{name}-remote %files tests +%license LICENSE %{_datadir}/%{name}/test %files plugins @@ -416,13 +408,12 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ %doc %{repo_gvproxy}-%{commit_gvproxy}/README.md %dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/gvproxy - -%files -n gvisor-tap-vsock-gvforwarder -%dir %{_libexecdir}/%{name} %{_libexecdir}/%{name}/gvforwarder %endif %files -n %{name}sh +%license LICENSE +%doc README.md CONTRIBUTING.md install.md transfer.md %{_bindir}/%{name}sh %changelog