Compare commits

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

41 commits

Author SHA1 Message Date
Packit
d96e581a46 Update to 5.4.2 upstream release
Upstream tag: v5.4.2
Upstream commit: be85287f

Commit authored by Packit automation (https://packit.dev/)
2025-04-02 16:28:37 +00:00
Packit
26aee3045b Update to 5.4.1 upstream release
Upstream tag: v5.4.1
Upstream commit: b79bc8af

Commit authored by Packit automation (https://packit.dev/)
2025-03-11 18:38:15 +00:00
Packit
700c36629d Update to 5.4.0 upstream release
Upstream tag: v5.4.0
Upstream commit: f9f7d48b

Commit authored by Packit automation (https://packit.dev/)
2025-02-11 18:27:01 +00:00
Packit
3a2977e3e3 Update to 5.3.2 upstream release
Upstream tag: v5.3.2
Upstream commit: 85043bb1

Commit authored by Packit automation (https://packit.dev/)
2025-01-22 13:38:19 +00:00
Lokesh Mandvekar
50840bc5f0
remove patch merged in upcoming upstream release
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 37f545e12b2098dd8fead41433c4e45e8c4fa65c)
2025-01-22 19:04:09 +05:30
Mikhail Gavrilov
e7b25177b7
apply MR https://github.com/containers/storage/pull/2193
(cherry picked from commit 6889e09310)
2025-01-17 15:10:21 +05:30
Lokesh Mandvekar
931c45a7b9
remove unused patch
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 89aed9941f)
2024-11-27 20:50:16 +05:30
Packit
9a52167206 Update to 5.3.1 upstream release
Upstream tag: v5.3.1
Upstream commit: 4cbdfde5

Commit authored by Packit automation (https://packit.dev/)
2024-11-21 15:41:39 +00:00
Packit
094278c841 Update to 5.3.0 upstream release
Upstream tag: v5.3.0
Upstream commit: 874bf2c3

Commit authored by Packit automation (https://packit.dev/)
2024-11-13 13:16:09 +00:00
Lokesh Mandvekar
0ddcc0cdee
rebuild 2024-10-25 16:59:56 +05:30
Lokesh Mandvekar
f28b34c70f
bump to v5.2.5
Fixes: #2317464 - Security fix for CVE-2024-9675
Fixes: #2319019 - Security fix for CVE-2024-9676
Fixes: #2318511 - Security fix for CVE-2024-9341

Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
(cherry picked from commit 5f0570428b)
2024-10-18 23:17:32 +05:30
Lokesh Mandvekar
1f78e0a89f
c/common pr 2194
(cherry picked from commit 7d7eeff1c6)
2024-10-18 23:17:24 +05:30
Packit
5ffbaec905 Update to 5.2.4 upstream release
Upstream tag: v5.2.4
Upstream commit: 76d0859d

Commit authored by Packit automation (https://packit.dev/)
2024-10-07 16:06:19 +00:00
Packit
cdc399082d Update to 5.2.3 upstream release
Upstream tag: v5.2.3
Upstream commit: c5366a30

Commit authored by Packit automation (https://packit.dev/)
2024-09-24 15:19:02 +00:00
Packit
67c6f79e58 Update to 5.2.2 upstream release
Upstream tag: v5.2.2
Upstream commit: fcee4810

Commit authored by Packit automation (https://packit.dev/)
2024-08-21 20:01:27 +00:00
Packit
e40e4c7c79
Update to 5.2.1 upstream release
Upstream tag: v5.2.1
Upstream commit: d0582c9e

Commit authored by Packit automation (https://packit.dev/)

(cherry picked from commit 199ebc87b2e8c8b63c28a86a426348307319b5a2)
2024-08-14 14:23:04 -04:00
Packit
1a4c4bcadb
Update to 5.2.0 upstream release
Upstream tag: v5.2.0
Upstream commit: b22d5c61

Commit authored by Packit automation (https://packit.dev/)
2024-08-02 09:44:27 -04:00
Lokesh Mandvekar
dd59a9527e
check buildah and skopeo version in tests
(cherry picked from commit 44c5587573)
2024-08-01 10:45:05 -04:00
Packit
b2d12e74a3 Update to 5.2.0-rc2 upstream release
Upstream tag: v5.2.0-rc2
Upstream commit: 716874f4

Commit authored by Packit automation (https://packit.dev/)
2024-07-23 12:02:56 +00:00
Lokesh Mandvekar
d2272dd186
fix podman-testing binary
(cherry picked from commit f605ca3f0c)
2024-07-17 08:31:17 -04:00
Lokesh Mandvekar
6f11ee553f
Add PODMAN_TESTING var
(cherry picked from commit 1ed846a4ae)
2024-07-16 13:42:52 -04:00
Packit
0d410b9752 Update to 5.1.2 upstream release
Upstream tag: v5.1.2
Upstream commit: 94a24974

Commit authored by Packit automation (https://packit.dev/)
2024-07-10 14:56:54 +00:00
Packit
4542276b9b Update to 5.1.1 upstream release
Upstream tag: v5.1.1
Upstream commit: bda6eb03

Commit authored by Packit automation (https://packit.dev/)
2024-06-04 21:13:40 +00:00
Packit
71ec61cee5 Update to 5.1.0 upstream release
Upstream tag: v5.1.0
Upstream commit: 4e9486db

Commit authored by Packit automation (https://packit.dev/)
2024-05-29 20:27:17 +00:00
Packit
cb4b5fa9f9 Update to 5.1.0-rc1 upstream release
Upstream tag: v5.1.0-rc1
Upstream commit: 6a8f2e7f

Commit authored by Packit automation (https://packit.dev/)
2024-05-16 12:43:43 +00:00
Packit
767fe1e455
Update to 5.0.3 upstream release
Upstream tag: v5.0.3
Upstream commit: d08315df

Commit authored by Packit automation (https://packit.dev/)

(cherry picked from commit 2a0a1fc671)
2024-05-10 14:13:48 -04:00
Packit
3900c84dda Update to 5.0.2 upstream release
Upstream tag: v5.0.2
Upstream commit: 3304dd95

Commit authored by Packit automation (https://packit.dev/)
2024-04-17 19:14:49 +00:00
Packit
c838401773 [packit] 5.0.1 upstream release
Upstream tag: v5.0.1
Upstream commit: 946d055d
2024-04-01 14:07:30 +00:00
Ed Santiago
b15c24aa87
Podman tests: force-install slirp4netns
As of podman 5.0, slirp4 is no longer an RPM Requirement. It
is not deprecated, though, so we should continue to test it.

Signed-off-by: Ed Santiago <santiago@redhat.com>
(cherry picked from commit 9667d0f5b5)
2024-03-27 17:18:05 +05:30
Packit
7b00c4e46f [packit] 5.0.0 upstream release
Upstream tag: v5.0.0
Upstream commit: e71ec6f1
2024-03-19 17:26:37 +00:00
Packit
43df44e272 [packit] 5.0.0-rc7 upstream release
Upstream tag: v5.0.0-rc7
Upstream commit: f8888a13
2024-03-15 13:25:29 +00:00
Lokesh Mandvekar
495a037489
Resolves: #2269148 - make passt a hard dep
Signed-off-by: Lokesh Mandvekar <lsm5@redhat.com>
(cherry picked from commit c837778125)
2024-03-13 17:45:12 +05:30
Packit
480d655ed9 [packit] 5.0.0-rc6 upstream release
Upstream tag: v5.0.0-rc6
Upstream commit: d26113ca
2024-03-11 19:05:20 +00:00
Packit
a433181a4b [packit] 5.0.0-rc5 upstream release
Upstream tag: v5.0.0-rc5
Upstream commit: bbad09bb
2024-03-08 02:48:49 +00:00
Packit
81be0854d2 [packit] 5.0.0-rc4 upstream release
Upstream tag: v5.0.0-rc4
Upstream commit: cfc5b8e0
2024-03-05 10:42:03 +00:00
Debarshi Ray
46b5dceb08 Show the toolbox RPMs used to run the tests
This will make it easier to debug test failures by confirming if they
are caused by old buggy toolbox RPMs or if the fixes don't work as
intended.

https://src.fedoraproject.org/rpms/podman/pull-request/134
https://src.fedoraproject.org/rpms/podman/pull-request/133
(cherry picked from commit 5a89a85665)
2024-03-01 11:04:40 +01:00
Debarshi Ray
c616ef6581 Avoid running out of storage space when running the Toolbx tests
Toolbx's system tests download several images when setting up the test
suite, and cache them for later use by the tests [1].  This saves time
and avoids hitting rate limits imposed by OCI registries by not
downloading the same images repeatedly for several tests, but at the
cost of increased use of storage space to cache the images.

The images are cached under BATS_TMPDIR.  It defaults to the TMPDIR
environment variable, and if that's not set then to /tmp [2].  Normally,
TMPDIR isn't set, and the images end up getting cached under /tmp.  Now,
/tmp is typically on tmpfs backed by RAM or swap, which means that it
should be used for smaller size-bounded files only, and /var/tmp should
be used for everything else [3].

The images are big enough that a collection of them can't be described
as smaller and size-bounded, and it led to:
  1..306
  # test suite: Set up
  # test suite: Tear down
  not ok 1 setup_suite
  # (from function `setup_suite' in test file ./setup_suite.bash, line
      55)
  #   `_pull_and_cache_distro_image fedora "$((system_version-1))" ||
      false' failed
  # Failed to cache image registry.fedoraproject.org/fedora-toolbox:40
      to /tmp/bats-run-IPz4Cn/image-cache/fedora-toolbox-40
  # time="2024-02-19T11:41:43Z" level=fatal msg="copying system image
      from manifest list: writing blob: write
      /tmp/bats-run-IPz4Cn/image-cache/fedora-toolbox-40/dir-put-blob607392514:
      no space left on device"
  # bats warning: Executed 1 instead of expected 306 tests

So, change the default location of the BATS_TMPDIR environment variable
to /var/tmp by setting TMPDIR.

[1] Toolbx commit 50683c9d9a78adc9
    50683c9d9a
    https://github.com/containers/toolbox/pull/375

[2] https://bats-core.readthedocs.io/en/stable/writing-tests.html

[3] https://systemd.io/TEMPORARY_DIRECTORIES/

https://src.fedoraproject.org/rpms/podman/pull-request/134
https://src.fedoraproject.org/rpms/podman/pull-request/128
(cherry picked from commit c2712c6a6b)
2024-03-01 11:04:40 +01:00
Debarshi Ray
864ae2707f Silence warnings about deprecated grep(1) use in test logs
The egrep command was deprecated in 2007 as part of Grep 2.5.3, and
since Grep 3.8 it actually warns about it [1].  The warning shows up in
the test logs as:
  egrep: warning: egrep is obsolescent; using grep -E

[1] Grep commit a9515624709865d4
    https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d4

https://src.fedoraproject.org/rpms/podman/pull-request/134
https://src.fedoraproject.org/rpms/podman/pull-request/125
(cherry picked from commit 89acf13e05)
2024-03-01 11:04:40 +01:00
Debarshi Ray
d5ceaea206 Update how Toolbx is spelt
This is meant to make the project more searchable on the Internet.  More
and more people have been pointing out that "toolbox" is terribly
difficult to search for, and it's impossible to find any decent
Internet real estate by that name.

Some exceptions:

  * The code repository is still https://github.com/containers/toolbox.
    It will be renamed after giving a heads-up to other contributors.

  * The name of the binary is still 'toolbox'.  The name is embedded
    into existing Toolbx containers as their entry point, which is bind
    mounted from the host operating system when the containers are
    started.  Trivially renaming the binary will prevent these
    containers from starting.

  * The name of the Fedora package is still 'toolbox'.

https://src.fedoraproject.org/rpms/podman/pull-request/134
https://src.fedoraproject.org/rpms/podman/pull-request/122
(cherry picked from commit 7bff8d08f6)
2024-03-01 11:04:32 +01:00
Packit
a39a897583 [packit] 5.0.0-rc3 upstream release
Upstream tag: v5.0.0-rc3
Upstream commit: 54795efe
2024-02-22 21:07:43 +00:00
Packit
261067f5cd [packit] 5.0.0-rc2 upstream release
Upstream tag: v5.0.0-rc2
Upstream commit: f620aa0f
2024-02-16 16:46:16 +00:00
9 changed files with 211 additions and 82 deletions

27
.gitignore vendored
View file

@ -1847,3 +1847,30 @@
/v4.9.1.tar.gz
/v4.9.2.tar.gz
/v5.0.0-rc1.tar.gz
/v5.0.0-rc2.tar.gz
/v5.0.0-rc3.tar.gz
/v5.0.0-rc4.tar.gz
/v5.0.0-rc5.tar.gz
/v5.0.0-rc6.tar.gz
/v5.0.0-rc7.tar.gz
/v5.0.0.tar.gz
/v5.0.1.tar.gz
/v5.0.2.tar.gz
/v5.0.3.tar.gz
/v5.1.0-rc1.tar.gz
/v5.1.0.tar.gz
/v5.1.1.tar.gz
/v5.1.2.tar.gz
/v5.2.0-rc2.tar.gz
/v5.2.0.tar.gz
/v5.2.1.tar.gz
/v5.2.2.tar.gz
/v5.2.3.tar.gz
/v5.2.4.tar.gz
/v5.2.5.tar.gz
/v5.3.0.tar.gz
/v5.3.1.tar.gz
/v5.3.2.tar.gz
/v5.4.0.tar.gz
/v5.4.1.tar.gz
/v5.4.2.tar.gz

View file

@ -2,39 +2,67 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
specfile_path: rpm/podman.spec
downstream_package_name: podman
upstream_tag_template: v{version}
packages:
podman-fedora:
pkg_tool: fedpkg
specfile_path: rpm/podman.spec
podman-centos:
pkg_tool: centpkg
specfile_path: rpm/podman.spec
podman-eln:
specfile_path: rpm/podman.spec
srpm_build_deps:
- git-archive-all
- make
actions:
fix-spec-file:
- "bash .packit.sh"
fix-spec-file: "bash .packit-copr-rpm.sh"
pre-sync: "bash .packit-rpm-git-commit.sh"
jobs:
- job: copr_build
trigger: pull_request
notifications:
packages: [podman-fedora]
notifications: &packit_generic_failure_notification
failure_comment:
message: "Ephemeral COPR build failed. @containers/packit-build please check."
message: "[NON-BLOCKING] Packit jobs failed. @containers/packit-build please check. Everyone else, feel free to ignore."
enable_net: true
targets:
- fedora-all-x86_64
- fedora-all-aarch64
- fedora-eln-x86_64
- fedora-eln-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"
- job: copr_build
trigger: pull_request
packages: [podman-eln]
notifications: *packit_generic_failure_notification
enable_net: true
targets:
fedora-eln-x86_64:
additional_repos:
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/x86_64/"
fedora-eln-aarch64:
additional_repos:
- "https://kojipkgs.fedoraproject.org/repos/eln-build/latest/aarch64/"
- job: copr_build
trigger: pull_request
packages: [podman-centos]
notifications: *packit_generic_failure_notification
enable_net: true
targets:
- centos-stream-9-x86_64
- centos-stream-9-aarch64
- centos-stream-10-x86_64
- centos-stream-10-aarch64
# Run on commit to main branch
- job: copr_build
trigger: commit
packages: [podman-fedora]
notifications:
failure_comment:
message: "podman-next COPR build failed. @containers/packit-build please check."
@ -46,6 +74,7 @@ jobs:
- job: tests
identifier: cockpit-revdeps
trigger: pull_request
packages: [podman-fedora]
notifications:
failure_comment:
message: "Cockpit tests failed for commit {commit_sha}. @martinpitt, @jelly, @mvollmer please check."
@ -66,16 +95,32 @@ jobs:
- job: propose_downstream
trigger: release
update_release: false
packages: [podman-fedora]
dist_git_branches: &fedora_targets
- fedora-all
- job: propose_downstream
trigger: release
update_release: false
packages: [podman-centos]
dist_git_branches:
- fedora-development # Implies fedora-rawhide and any branched but unreleased version, will include f40 before f40 is marked stable.
- c10s
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-development
packages: [podman-fedora]
sidetag_group: podman-releases
dist_git_branches: *fedora_targets
# TODO: Revisit once fedora 40 is branched and manual bodhi is enabled
#- job: bodhi_update
#trigger: commit
#dist_git_branches:
#- fedora-40 # rawhide updates are created automatically
- job: bodhi_update
trigger: koji_build
packages: [podman-fedora]
sidetag_group: podman-releases
# Dependencies are not rpm dependencies, but packages that should go in the
# same bodhi update
# Ref: https://packit.dev/docs/fedora-releases-guide/releasing-multiple-packages
dependencies:
- buildah
- containers-common
- skopeo
dist_git_branches: *fedora_targets

View file

@ -1,3 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 0.90.0.post1.dev9+g1f0325d1.
The file was generated using packit 1.4.0.post1.dev4+g043c5fde.

View file

@ -7,34 +7,23 @@
%global debug_package %{nil}
%endif
# 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} && 0%{?rhel} < 10
%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
%if %{defined rhel}
# _user_tmpfiles.d currently undefined on rhel
%global _user_tmpfilesdir %{_datadir}/user-tmpfiles.d
%endif
%if %{defined fedora}
%define build_with_btrfs 1
# qemu-system* isn't packageed for CentOS Stream / RHEL
%define qemu 1
%endif
%if %{defined copr_username}
%define copr_build 1
%endif
# Only RHEL and CentOS Stream rpms are built with fips-enabled go compiler
%if %{defined rhel}
%define fips_enabled 1
%endif
%global container_base_path github.com/containers
%global container_base_url https://%{container_base_path}
@ -45,6 +34,15 @@
# %%{name}
%global git0 %{container_base_url}/%{name}
# podman-machine subpackage will be present only on these architectures
%global machine_arches x86_64 aarch64
%if %{defined copr_build}
%define build_origin Copr: %{?copr_username}/%{?copr_projectname}
%else
%define build_origin %{?packager}
%endif
Name: podman
%if %{defined copr_build}
Epoch: 102
@ -57,14 +55,14 @@ 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: 5.0.0~rc1
Version: 5.4.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}
%else
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 ppc64le s390x x86_64 riscv64
%endif
Summary: Manage Pods, Containers and Container Images
URL: https://%{name}.io/
@ -81,7 +79,7 @@ BuildRequires: glibc-devel
BuildRequires: glibc-static
BuildRequires: golang
BuildRequires: git-core
%if !%{defined gobuild}
%if %{undefined rhel} || 0%{?rhel} >= 10
BuildRequires: go-rpm-macros
%endif
BuildRequires: gpgme-devel
@ -96,19 +94,16 @@ BuildRequires: man-db
BuildRequires: ostree-devel
BuildRequires: systemd
BuildRequires: systemd-devel
%if %{defined rhel8py3}
BuildRequires: python3
%endif
Requires: catatonit
Requires: conmon >= 2:2.1.7-2
Requires: containers-common-extra
%if %{defined rhel} && !%{defined eln}
Recommends: gvisor-tap-vsock-gvforwarder
%if %{defined fedora} && 0%{?fedora} >= 40
# TODO: Remove the f40 conditional after a few releases to keep conditionals to
# a minimum
# Ref: https://bugzilla.redhat.com/show_bug.cgi?id=2269148
Requires: containers-common-extra >= 5:0.58.0-1
%else
Requires: gvisor-tap-vsock-gvforwarder
Requires: containers-common-extra
%endif
Recommends: gvisor-tap-vsock
Provides: %{name}-quadlet
Obsoletes: %{name}-quadlet <= 5:4.4.0-1
Provides: %{name}-quadlet = %{epoch}:%{version}-%{release}
@ -124,8 +119,6 @@ additional privileges.
Both tools share image (not container) storage, hence each can use or
manipulate images (but not containers) created by the other.
%{summary}
%{repo} Simple management tool for pods, containers and images
%package docker
Summary: Emulate Docker CLI using %{name}
@ -146,7 +139,10 @@ pages and %{name}.
Summary: Tests for %{name}
Requires: %{name} = %{epoch}:%{version}-%{release}
%if %{defined fedora}
Requires: bats
%endif
Requires: attr
Requires: jq
Requires: skopeo
Requires: nmap-ncat
@ -155,6 +151,7 @@ Requires: openssl
Requires: socat
Requires: buildah
Requires: gnupg
Requires: xfsprogs
%description tests
%{summary}
@ -187,6 +184,30 @@ 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].
%ifarch %{machine_arches}
%package machine
Summary: Metapackage for setting up %{name} machine
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: gvisor-tap-vsock
%if %{defined qemu}
%ifarch aarch64
Requires: qemu-system-aarch64-core
%endif
%ifarch x86_64
Requires: qemu-system-x86-core
%endif
%else
Requires: qemu-kvm
%endif
Requires: qemu-img
Requires: virtiofsd
ExclusiveArch: x86_64 aarch64
%description machine
This subpackage installs the dependencies for %{name} machine, for more see:
https://docs.podman.io/en/latest/markdown/podman-machine.1.html
%endif
%prep
%autosetup -Sgit -n %{name}-%{version_no_tilde}
sed -i 's;@@PODMAN@@\;$(BINDIR);@@PODMAN@@\;%{_bindir};' Makefile
@ -196,14 +217,6 @@ sed -i 's;@@PODMAN@@\;$(BINDIR);@@PODMAN@@\;%{_bindir};' Makefile
sed -i '/DELETE ON RHEL9/,/DELETE ON RHEL9/d' libpod/runtime.go
%endif
# These changes are only meant for copr builds
%if %{defined copr_build}
# podman --version should show short sha
sed -i "s/^const RawVersion = .*/const RawVersion = \"##VERSION##-##SHORT_SHA##\"/" version/rawversion/version.go
# use ParseTolerant to allow short sha in version
sed -i "s/^var Version.*/var Version, err = semver.ParseTolerant(rawversion.RawVersion)/" version/version.go
%endif
%build
%set_build_flags
export CGO_CFLAGS=$CFLAGS
@ -219,16 +232,30 @@ export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
export GOPROXY=direct
LDFLAGS="-X %{ld_libpod}/define.buildInfo=$(date +%s) \
LDFLAGS="-X %{ld_libpod}/define.buildInfo=${SOURCE_DATE_EPOCH:-$(date +%s)} \
-X \"%{ld_libpod}/define.buildOrigin=%{build_origin}\" \
-X %{ld_libpod}/config._installPrefix=%{_prefix} \
-X %{ld_libpod}/config._etcDir=%{_sysconfdir} \
-X %{ld_project}/pkg/systemd/quadlet._binDir=%{_bindir}"
# This variable will be set by Packit actions. See .packit.yaml in the root dir
# of the repo (upstream as well as Fedora dist-git).
GIT_COMMIT="be85287fcf4590961614ee37be65eeb315e5d9ff"
LDFLAGS="$LDFLAGS -X %{ld_libpod}/define.gitCommit=$GIT_COMMIT"
# build rootlessport first
%gobuild -o bin/rootlessport ./cmd/rootlessport
export BASEBUILDTAGS="seccomp exclude_graphdriver_devicemapper $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh)"
# libtrust_openssl buildtag switches to using the FIPS-compatible func
# `ecdsa.HashSign`.
# Ref 1: https://github.com/golang-fips/go/blob/main/patches/015-add-hash-sign-verify.patch#L22
# Ref 2: https://github.com/containers/libtrust/blob/main/ec_key_openssl.go#L23
%if %{defined fips_enabled}
export BASEBUILDTAGS="$BASEBUILDTAGS libtrust_openssl"
%endif
# build %%{name}
export BUILDTAGS="$BASEBUILDTAGS $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) $(hack/libdm_tag.sh)"
%gobuild -o bin/%{name} ./cmd/%{name}
@ -241,6 +268,10 @@ export BUILDTAGS="$BASEBUILDTAGS exclude_graphdriver_btrfs btrfs_noversion remot
export BUILDTAGS="$BASEBUILDTAGS $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh)"
%gobuild -o bin/quadlet ./cmd/quadlet
# build %%{name}-testing
export BUILDTAGS="$BASEBUILDTAGS $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh)"
%gobuild -o bin/podman-testing ./cmd/podman-testing
# reset LDFLAGS for plugins binaries
LDFLAGS=''
@ -248,7 +279,7 @@ LDFLAGS=''
%install
install -dp %{buildroot}%{_unitdir}
PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{_sysconfdir} \
PODMAN_VERSION=%{version} %{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} ETCDIR=%{_sysconfdir} \
install.bin \
install.man \
install.systemd \
@ -256,27 +287,38 @@ PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{_sysc
install.docker \
install.docker-docs \
install.remote \
%if %{defined _modulesloaddir}
install.modules-load
install.testing
# See above for the iptables.conf declaration
%if %{defined fedora} && 0%{?fedora} < 41
%{__make} DESTDIR=%{buildroot} MODULESLOADDIR=%{_modulesloaddir} install.modules-load
%endif
sed -i 's;%{buildroot};;g' %{buildroot}%{_bindir}/docker
# 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
echo "$file*" >> podman.file-list
for file in `find %{buildroot}%{_mandir}/man[157] -type f | sed "s,%{buildroot},," | grep -v -e %{name}sh.1 -e remote -e docker`; do
echo "$file*" >> %{name}.file-list
done
rm -f %{buildroot}%{_mandir}/man5/docker*.5
install -d -p %{buildroot}/%{_datadir}/%{name}/test/system
cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/
install -d -p %{buildroot}%{_datadir}/%{name}/test/system
cp -pav test/system %{buildroot}%{_datadir}/%{name}/test/
%ifarch %{machine_arches}
# symlink virtiofsd in %%{name} libexecdir for machine subpackage
ln -s ../virtiofsd %{buildroot}%{_libexecdir}/%{name}
%endif
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
# Include empty check to silence rpmlint warning
%check
%files -f %{name}.file-list
%license LICENSE
%license LICENSE vendor/modules.txt
%doc README.md CONTRIBUTING.md install.md transfer.md
%{_bindir}/%{name}
%dir %{_libexecdir}/%{name}
@ -293,13 +335,17 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/
%{_tmpfilesdir}/%{name}.conf
%{_systemdgeneratordir}/%{name}-system-generator
%{_systemdusergeneratordir}/%{name}-user-generator
%if %{defined _modulesloaddir}
# iptables modules are only needed with iptables-legacy,
# as of f41 netavark will default to nftables so do not load unessary modules
# https://fedoraproject.org/wiki/Changes/NetavarkNftablesDefault
%if %{defined fedora} && 0%{?fedora} < 41
%{_modulesloaddir}/%{name}-iptables.conf
%endif
%files docker
%{_bindir}/docker
%{_mandir}/man1/docker*.1*
%{_sysconfdir}/profile.d/%{name}-docker.*
%{_tmpfilesdir}/%{name}-docker.conf
%{_user_tmpfilesdir}/%{name}-docker.conf
@ -314,15 +360,18 @@ cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/
%{_datadir}/zsh/site-functions/_%{name}-remote
%files tests
%{_bindir}/%{name}-testing
%{_datadir}/%{name}/test
%files -n %{name}sh
%{_bindir}/%{name}sh
%{_mandir}/man1/%{name}sh.1*
%ifarch %{machine_arches}
%files machine
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/virtiofsd
%endif
%changelog
%if %{defined autochangelog}
%autochangelog
%else
* Mon May 01 2023 RH Container Bot <rhcontainerbot@fedoraproject.org>
- Placeholder changelog for envs that are not autochangelog-ready
%endif

View file

@ -1 +1 @@
SHA512 (v5.0.0-rc1.tar.gz) = 95452d5489b167cff24620b5a7504e1363d8276cf4e7c026d43ea2e9b24dde1c595b6e763a1065087d876e5ad56e62f7cda6e53838abdeac7eeb3deadcfd88ae
SHA512 (v5.4.2.tar.gz) = 482fde529766ca1b509a08bab4beb59a5935ebc6b27bc886c33597183258631e8c8db03ebb521baefd7989305aa76fad14c1359e211a0fe75c855c14bbaca960

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|passt' |\
grep -E 'buildah|skopeo|toolbox|podman|conmon|containers-common|crun|runc|iptable|slirp|aardvark|netavark|containernetworking-plugins|systemd|container-selinux|passt' |\
sort |\
sed -e 's/^/ /'

View file

@ -3,6 +3,11 @@
dnf: name="podman-remote" state=installed
when: podman_bin == "podman-remote"
# As of podman 5.0, slirp is a soft dependency. Until/unless it is
# actually deprecated, we continue to test with it.
- name: "slirp4netns | install"
dnf: name="slirp4netns" state=installed
- include_role:
name: run_bats_tests
vars:
@ -13,10 +18,12 @@
package: podman
environment:
PODMAN: /usr/bin/{{ podman_bin }}
PODMAN_TESTING: /usr/bin/podman-testing
QUADLET: /usr/libexec/podman/quadlet
- name: "{{ podman_bin }} rootless"
package: podman
environment:
PODMAN: /usr/bin/{{ podman_bin }}
PODMAN_TESTING: /usr/bin/podman-testing
QUADLET: /usr/libexec/podman/quadlet
become: true

View file

@ -31,8 +31,8 @@
loop_control:
loop_var: podman_bin
- name: test toolbox
include_tasks: test_toolbox.yml
- name: test toolbx
include_tasks: test_toolbx.yml
# Postprocessing: check for FAIL or ERROR in any test, exit 1 if so
- name: check results

View file

@ -3,8 +3,9 @@
name: run_bats_tests
vars:
tests:
- name: toolbox
- name: toolbx
package: toolbox
become: true
environment:
TMPDIR: /var/tmp
XDG_RUNTIME_DIR: /run/user/{{ rootless_uid }}