Compare commits

...
Sign in to create a new pull request.

8 commits

Author SHA1 Message Date
Lokesh Mandvekar
27f935d6d6 Revert last 3 commits
Don't need gvforwarder split for f37.

This reverts commit d63582f1c4.
This reverts commit 71813a9862.
This reverts commit f22de8aa1e.
2023-09-13 15:05:35 -04:00
Lokesh Mandvekar
d63582f1c4 fix package requires
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
2023-09-13 11:26:07 -04:00
Lokesh Mandvekar
71813a9862 adjust dependency for podman-gvproxy 2023-09-12 16:01:22 -04:00
Lokesh Mandvekar
f22de8aa1e podman has hard dependency on gvisor-tap-vsock-gvforwarder
(cherry picked from commit e937b31ec5)
2023-09-12 15:54:31 -04:00
Lokesh Mandvekar
90413ac508 tests: add passt to rpm -qa so we know what version is used in tests
(cherry picked from commit 01f53fd3b5)
2023-08-29 14:36:32 -04:00
Packit
48098151fb [packit] 4.6.2 upstream release
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
```
2023-08-28 19:18:00 +00:00
Packit
ecae69579d [packit] 4.6.1 upstream release
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
```
2023-08-10 20:57:33 +00:00
Packit
2f602c0d59 [packit] 4.6.0 upstream release
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
```
2023-07-20 22:10:14 +00:00
6 changed files with 120 additions and 9 deletions

3
.gitignore vendored
View file

@ -1831,3 +1831,6 @@
/v4.5.1.tar.gz
/v4.6.0-rc1.tar.gz
/v4.6.0-rc2.tar.gz
/v4.6.0.tar.gz
/v4.6.1.tar.gz
/v4.6.2.tar.gz

65
.packit.yaml Normal file
View file

@ -0,0 +1,65 @@
---
# See the documentation for more information:
# https://packit.dev/docs/configuration/
specfile_path: rpm/podman.spec
upstream_tag_template: v{version}
srpm_build_deps:
- make
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
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

3
README.packit Normal file
View file

@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.79.0.post2+g93f33d9.

View file

@ -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,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.0~rc2
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}
@ -69,9 +88,11 @@ 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
%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
@ -95,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
@ -104,7 +126,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 +200,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 +214,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 +223,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}
@ -207,14 +239,16 @@ 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
tar zxf %{SOURCE1}
%if %{defined gvproxy_subpackage}
# untar %%{name}-gvproxy
tar zxf %{SOURCE2}
%endif
%build
%set_build_flags
@ -254,11 +288,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 +332,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 +402,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

View file

@ -1,3 +1,3 @@
SHA512 (v4.6.2.tar.gz) = 0c89ff3df21e9ca0eb6891600eb86c47463a53bd004d1564cc4661f0ea303dc245b47467d586db29587f960d5c78e0326b7f33ef87ba95e142e3320c56ceaa99
SHA512 (dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84.tar.gz) = de371722fbf18cd23b31485ee7ba36bb41d0d9a932d15e50872989c3ca1ff7246da63143c3725d81089fadda3821a54c18b22150d9d16005b07df6824f5f71f8
SHA512 (gvisor-tap-vsock-407efb5dcdb0f4445935f7360535800b60447544.tar.gz) = 8b9e687c8be7063641839b5764787ae82561635ae6410585a3c70552bed741e6a63154f55d0209a6408861d5ee76619a765e70b2deda37d38802f6e5b57f2a4c
SHA512 (v4.6.0-rc2.tar.gz) = 96dc23df93269c5c83e15bfeb33606505205aef7ee2064f69babf6f4fae9c2d1a416d397f34119de30f1d086192b307771c67d66ae256ace1dfd4a24b7c675bf

View file

@ -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/^/ /'