From a02ceea5c364dfd30c333888ab3adecc09ff249f Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 14 May 2025 17:55:54 +0000 Subject: [PATCH] import UBI toolbox-0.1.1-1.el10 --- .gitignore | 2 +- .toolbox.metadata | 1 - SPECS/rhcos-toolbox.spec | 54 -- sources | 1 + ...ation-paths-for-coreos-toolbox-users.patch | 104 ++++ ...ox-Make-the-build-flags-match-Fedora.patch | 47 ++ ...x-Make-the-build-flags-match-RHEL-10.patch | 71 +++ ...ox-Make-the-build-flags-match-RHEL-9.patch | 50 ++ toolbox.conf | 17 + toolbox.spec | 501 ++++++++++++++++++ 10 files changed, 792 insertions(+), 56 deletions(-) delete mode 100644 .toolbox.metadata delete mode 100644 SPECS/rhcos-toolbox.spec create mode 100644 sources create mode 100644 toolbox-Add-migration-paths-for-coreos-toolbox-users.patch create mode 100644 toolbox-Make-the-build-flags-match-Fedora.patch create mode 100644 toolbox-Make-the-build-flags-match-RHEL-10.patch create mode 100644 toolbox-Make-the-build-flags-match-RHEL-9.patch create mode 100644 toolbox.conf create mode 100644 toolbox.spec diff --git a/.gitignore b/.gitignore index 0e061a2..eca9ded 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/0.0.7.tar.gz +toolbox-0.1.1-vendored.tar.xz diff --git a/.toolbox.metadata b/.toolbox.metadata deleted file mode 100644 index 9231e4d..0000000 --- a/.toolbox.metadata +++ /dev/null @@ -1 +0,0 @@ -c4f1c5b9391558c4626c7bc5882afa9bbe095a9b SOURCES/0.0.7.tar.gz diff --git a/SPECS/rhcos-toolbox.spec b/SPECS/rhcos-toolbox.spec deleted file mode 100644 index 9458840..0000000 --- a/SPECS/rhcos-toolbox.spec +++ /dev/null @@ -1,54 +0,0 @@ -Name: toolbox -Version: 0.0.7 -Release: 1%{?dist} -Summary: Script to launch privileged container with podman - -License: ASL 2.0 -URL: https://github.com/coreos/toolbox -Source0: https://github.com/coreos/%{name}/archive/%{version}.tar.gz -Requires: podman -BuildArch: noarch - -%description -toolbox is a small script that launches a container to let -you bring in your favorite debugging or admin tools. - -%define debug_package %{nil} - -%prep -%autosetup - -%build -# No building required - -%install -rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/%{_bindir} -install -m 755 rhcos-toolbox $RPM_BUILD_ROOT/%{_bindir}/toolbox - -%files -%license LICENSE -%doc README.md NOTICE -%{_bindir}/toolbox - - -%changelog -* Tue Mar 24 2020 Jindrich Novy - 0.0.7-1 -- New upstream release 0.0.7 -- Resolves: #1816287 - -* Fri Jun 14 2019 Yu Qi Zhang - 0.0.4-1.el8 -- Update for rhel8.1 container-tools module - -* Tue May 21 2019 Steve Milner - 0.0.4-1.rhaos4.2.el8 -- Add help switch per RHBZ#1684258 -- Spec fixes found by rpmlint - -* Thu May 2 2019 Micah Abbott - 0.0.3-1.rhaos4.1.el8 -- Use rhel8/support-tools - -* Sat Jan 26 2019 Yu Qi Zhang - 0.0.2-1.rhaos4.1.el8 -- Add runlabel options and fix default image - -* Thu Sep 6 2018 Yu Qi Zhang - 0.0.1-1.rhaos4.1.el8 -- Initial Specfile for Red Hat CoreOS Toolbox diff --git a/sources b/sources new file mode 100644 index 0000000..a197a89 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (toolbox-0.1.1-vendored.tar.xz) = dc3aa19f504de49addfe85fa800a0e553c65292cf0d48bca60946251fb8d7ba8bc53c9411a7db5f83f1d256ec960b0f22d2d5798f022be5b704c2bf3531f4ba1 diff --git a/toolbox-Add-migration-paths-for-coreos-toolbox-users.patch b/toolbox-Add-migration-paths-for-coreos-toolbox-users.patch new file mode 100644 index 0000000..9f470cd --- /dev/null +++ b/toolbox-Add-migration-paths-for-coreos-toolbox-users.patch @@ -0,0 +1,104 @@ +From c25ad44b7cb50d470b1533931b7808cc194f0d50 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Wed, 18 Aug 2021 17:55:21 +0200 +Subject: [PATCH 1/2] cmd/run: Make sosreport work by setting the HOST + environment variable + +https://bugzilla.redhat.com/show_bug.cgi?id=1940037 +--- + src/cmd/run.go | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/cmd/run.go b/src/cmd/run.go +index 719c0d6abb20..92a097283f38 100644 +--- a/src/cmd/run.go ++++ b/src/cmd/run.go +@@ -566,6 +566,7 @@ func constructExecArgs(container, preserveFDs string, + execArgs = append(execArgs, envOptions...) + + execArgs = append(execArgs, []string{ ++ "--env", "HOST=/run/host", + "--interactive", + "--preserve-fds", preserveFDs, + }...) +-- +2.46.1 + + +From e7877a4d1d38dc35aa6da6c012ec9a23397b7aa4 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Fri, 10 Dec 2021 13:42:15 +0100 +Subject: [PATCH 2/2] test/system: Update to test the migration path for + coreos/toolbox users + +This reverts the changes to the tests made in commit +411147988b730dabf8b9e761a5426e12d648f008 by restoring commit +ca899c8a561f357ae32c6ba6813520fd8b682abb and the parts of commit +3aeb7cf288319e35eb9c5e26ea18d97452462c1e that were removed. +--- + test/system/002-help.bats | 14 -------------- + test/system/100-root.bats | 27 +++++++++++++++++++++++++++ + 2 files changed, 27 insertions(+), 14 deletions(-) + create mode 100644 test/system/100-root.bats + +diff --git a/test/system/002-help.bats b/test/system/002-help.bats +index a8bfbc2c79d2..5dd14025ea0b 100644 +--- a/test/system/002-help.bats ++++ b/test/system/002-help.bats +@@ -33,20 +33,6 @@ teardown() { + cleanup_all + } + +-@test "help: Smoke test" { +- run --keep-empty-lines --separate-stderr "$TOOLBX" +- +- assert_failure +- assert [ ${#lines[@]} -eq 0 ] +- lines=("${stderr_lines[@]}") +- assert_line --index 0 "Error: missing command" +- assert_line --index 2 "create Create a new Toolbx container" +- assert_line --index 3 "enter Enter an existing Toolbx container" +- assert_line --index 4 "list List all existing Toolbx containers and images" +- assert_line --index 6 "Run 'toolbox --help' for usage." +- assert [ ${#stderr_lines[@]} -eq 7 ] +-} +- + @test "help: Command 'help'" { + if ! command -v man 2>/dev/null; then + skip "not found man(1)" +diff --git a/test/system/100-root.bats b/test/system/100-root.bats +new file mode 100644 +index 000000000000..cf35d60ac25c +--- /dev/null ++++ b/test/system/100-root.bats +@@ -0,0 +1,27 @@ ++#!/usr/bin/env bats ++ ++load 'libs/bats-support/load' ++load 'libs/bats-assert/load' ++load 'libs/helpers' ++ ++setup() { ++ _setup_environment ++ cleanup_all ++} ++ ++teardown() { ++ cleanup_all ++} ++ ++@test "root: Try to enter the default container with no containers created" { ++ run "$TOOLBX" <<< "n" ++ ++ assert_success ++ assert_line --index 0 "No toolbox containers found. Create now? [y/N] A container can be created later with the 'create' command." ++ assert_line --index 1 "Run 'toolbox --help' for usage." ++} ++ ++# TODO: Write the test ++@test "root: Enter the default container when 1 non-default container is present" { ++ skip "Testing of entering toolboxes is not implemented" ++} +-- +2.46.1 + diff --git a/toolbox-Make-the-build-flags-match-Fedora.patch b/toolbox-Make-the-build-flags-match-Fedora.patch new file mode 100644 index 0000000..27fd99d --- /dev/null +++ b/toolbox-Make-the-build-flags-match-Fedora.patch @@ -0,0 +1,47 @@ +From 7dc70160c8ff531473004e879dd57ec303789d71 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Mon, 29 Jun 2020 17:57:47 +0200 +Subject: [PATCH] build: Make the build flags match Fedora's %{gobuildflags} + +Note that these flags are meant for every CPU architecture other than +PPC64, and should be kept updated to match Fedora's Go guidelines. Use +'rpm --eval "%{gobuildflags}"' to expand the %{gobuildflags} macro. +--- + src/go-build-wrapper | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/go-build-wrapper b/src/go-build-wrapper +index a5a1a6a508fb..5978422e9aed 100755 +--- a/src/go-build-wrapper ++++ b/src/go-build-wrapper +@@ -33,9 +33,9 @@ if ! cd "$1"; then + exit 1 + fi + +-tags="" ++tags="-tags rpm_crashtraceback,${GO_BUILDTAGS:-}" + if $7; then +- tags="-tags migration_path_for_coreos_toolbox" ++ tags="$tags,migration_path_for_coreos_toolbox" + fi + + if ! libc_dir=$("$5" --print-file-name=libc.so); then +@@ -114,9 +114,14 @@ dynamic_linker="/run/host$dynamic_linker_canonical_dirname/$dynamic_linker_basen + + # shellcheck disable=SC2086 + go build \ ++ -buildmode pie \ ++ -compiler gc \ + $tags \ + -trimpath \ +- -ldflags "-extldflags '-Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \ ++ -ldflags "${GO_LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \ ++ -a \ ++ -v \ ++ -x \ + -o "$2/$3" + + exit "$?" +-- +2.46.1 + diff --git a/toolbox-Make-the-build-flags-match-RHEL-10.patch b/toolbox-Make-the-build-flags-match-RHEL-10.patch new file mode 100644 index 0000000..e43e0eb --- /dev/null +++ b/toolbox-Make-the-build-flags-match-RHEL-10.patch @@ -0,0 +1,71 @@ +From f08f64c0d5f2019055381c3c00426fe8545e5e31 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Mon, 29 Jun 2020 17:57:47 +0200 +Subject: [PATCH] build: Make the build flags match RHEL 10's %{gobuildflags} + +These reflect the defaults for RHEL 10.0 Beta, because RHEL 10.0 is +still early in its development cycle and the defaults may be in a state +of flux. Some exceptions are mentioned below. + +The '-z pack-relative-relocs' linker flag was left out. It's currently +not supported on s390x, so using it would require architecture specific +patches, which is a hassle. Support for aarch64 was recently added [1], +so hopefully s390x will also be supported soon. + +The change to use the RPM's %{name}, %{version}, %{release} and the +SOURCE_DATE_EPOCH environment variable [2], instead of /dev/urandom, to +generate the build ID annotation for the toolbox(1) binary [2] was left +out. It will need more work to propagate the RPM's %{name}, %{version} +and %{release} to Meson. + +Note that these flags are meant for every CPU architecture other than +PPC64, and should be kept updated to match RHEL 10's Go guidelines. Use +'rpm --eval "%{gobuildflags}"' to expand the %{gobuildflags} macro. + +[1] CentOS Stream redhat-rpm-config commit 3c5a6b17540b2a0b + https://gitlab.com/redhat/centos-stream/rpms/redhat-rpm-config/-/commit/3c5a6b17540b2a0b + https://gitlab.com/redhat/centos-stream/rpms/redhat-rpm-config/-/merge_requests/42 + https://issues.redhat.com/browse/RHEL-40379 + +[2] go-rpm-macros commit 1980932bf3a21890 + https://pagure.io/go-rpm-macros/c/1980932bf3a21890 + https://fedoraproject.org/wiki/Changes/ReproduciblePackageBuilds +--- + src/go-build-wrapper | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/go-build-wrapper b/src/go-build-wrapper +index a5a1a6a508fb..5978422e9aed 100755 +--- a/src/go-build-wrapper ++++ b/src/go-build-wrapper +@@ -33,9 +33,9 @@ if ! cd "$1"; then + exit 1 + fi + +-tags="" ++tags="-tags rpm_crashtraceback,${GO_BUILDTAGS:-}" + if $7; then +- tags="-tags migration_path_for_coreos_toolbox" ++ tags="$tags,migration_path_for_coreos_toolbox" + fi + + if ! libc_dir=$("$5" --print-file-name=libc.so); then +@@ -114,9 +114,14 @@ dynamic_linker="/run/host$dynamic_linker_canonical_dirname/$dynamic_linker_basen + + # shellcheck disable=SC2086 + go build \ ++ -buildmode pie \ ++ -compiler gc \ + $tags \ + -trimpath \ +- -ldflags "-extldflags '-Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \ ++ -ldflags "${GO_LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \ ++ -a \ ++ -v \ ++ -x \ + -o "$2/$3" + + exit "$?" +-- +2.46.1 + diff --git a/toolbox-Make-the-build-flags-match-RHEL-9.patch b/toolbox-Make-the-build-flags-match-RHEL-9.patch new file mode 100644 index 0000000..2c15142 --- /dev/null +++ b/toolbox-Make-the-build-flags-match-RHEL-9.patch @@ -0,0 +1,50 @@ +From ff1320fa869f1e4952836436ab2ad928cbba0987 Mon Sep 17 00:00:00 2001 +From: Debarshi Ray +Date: Mon, 29 Jun 2020 17:57:47 +0200 +Subject: [PATCH] build: Make the build flags match RHEL 9's %{gobuildflags} + +These reflect the defaults for RHEL 9.5, because RHEL 9.6 is still early +in its development cycle and the defaults may be in a state of flux. + +Note that these flags are meant for every CPU architecture other than +PPC64, and should be kept updated to match RHEL 9's Go guidelines. Use +'rpm --eval "%{gobuildflags}"' to expand the %{gobuildflags} macro. +--- + src/go-build-wrapper | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/go-build-wrapper b/src/go-build-wrapper +index a5a1a6a508fb..0a2c7526f210 100755 +--- a/src/go-build-wrapper ++++ b/src/go-build-wrapper +@@ -33,9 +33,9 @@ if ! cd "$1"; then + exit 1 + fi + +-tags="" ++tags="-tags rpm_crashtraceback,${GO_BUILDTAGS:-},libtrust_openssl" + if $7; then +- tags="-tags migration_path_for_coreos_toolbox" ++ tags="$tags,migration_path_for_coreos_toolbox" + fi + + if ! libc_dir=$("$5" --print-file-name=libc.so); then +@@ -114,9 +114,14 @@ dynamic_linker="/run/host$dynamic_linker_canonical_dirname/$dynamic_linker_basen + + # shellcheck disable=SC2086 + go build \ ++ -buildmode pie \ ++ -compiler gc \ + $tags \ + -trimpath \ +- -ldflags "-extldflags '-Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \ ++ -ldflags "${GO_LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname -Wl,--export-dynamic -Wl,--unresolved-symbols=ignore-in-object-files' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$4" \ ++ -a \ ++ -v \ ++ -x \ + -o "$2/$3" + + exit "$?" +-- +2.46.1 + diff --git a/toolbox.conf b/toolbox.conf new file mode 100644 index 0000000..f612e2f --- /dev/null +++ b/toolbox.conf @@ -0,0 +1,17 @@ +[general] +# Create a toolbox container for a different operating system distro than the +# host. Cannot be used with 'image'. +## distro = "fedora" + +# Create a toolbox container for a different operating system release than the +# host. Cannot be used with 'image'. +## release = "33" + +# Change the name of the image used to create the toolbox container. This is +# useful for creating containers from custom-built images. Cannot be used with +# 'distro' or 'release'. +# +# If the name does not contain a registry, the local image storage will be +# consulted, and if it's not present there then it will be pulled from a +# suitable remote registry. +image = "registry.access.redhat.com/ubi9/toolbox:latest" diff --git a/toolbox.spec b/toolbox.spec new file mode 100644 index 0000000..5860757 --- /dev/null +++ b/toolbox.spec @@ -0,0 +1,501 @@ +%global __brp_check_rpaths %{nil} + +Name: toolbox +Version: 0.1.1 + +%global goipath github.com/containers/%{name} + +%if 0%{?fedora} +%gometa -f +%endif + +%if 0%{?rhel} +%if 0%{?rhel} <= 9 +%gometa +%else +%gometa -f +%endif +%endif + +%global toolbx_go 1.20 + +%if 0%{?fedora} +%global toolbx_go 1.22.7 +%endif + +%if 0%{?rhel} +%if 0%{?rhel} == 9 +%global toolbx_go 1.22.5 +%elif 0%{?rhel} == 10 +%global toolbx_go 1.22.5 +%elif 0%{?rhel} > 10 +%global toolbx_go 1.23.1 +%endif +%endif + +Release: 1%{?dist} +Summary: Tool for interactive command line environments on Linux + +License: Apache-2.0 +URL: https://containertoolbx.org/ +Source0: https://github.com/containers/%{name}/releases/download/%{version}/%{name}-%{version}-vendored.tar.xz + +# RHEL specific +Source1: %{name}.conf + +# Fedora specific +Patch100: toolbox-Make-the-build-flags-match-Fedora.patch + +# RHEL specific +Patch200: toolbox-Make-the-build-flags-match-RHEL-9.patch +Patch201: toolbox-Make-the-build-flags-match-RHEL-10.patch +Patch202: toolbox-Add-migration-paths-for-coreos-toolbox-users.patch + +BuildRequires: gcc +BuildRequires: go-md2man +BuildRequires: golang >= %{toolbx_go} +BuildRequires: meson >= 0.58.0 +BuildRequires: pkgconfig(bash-completion) +BuildRequires: shadow-utils-subid-devel +BuildRequires: systemd +BuildRequires: systemd-rpm-macros +%if ! 0%{?rhel} +BuildRequires: golang(github.com/HarryMichal/go-version) >= 1.0.1 +BuildRequires: golang-ipath(github.com/NVIDIA/go-nvlib) >= 0.6.1 +BuildRequires: golang-ipath(github.com/NVIDIA/go-nvml) >= 0.12.4.0 +BuildRequires: golang-ipath(github.com/NVIDIA/nvidia-container-toolkit) >= 1.16.2 +BuildRequires: golang(github.com/acobaugh/osrelease) >= 0.1.0 +BuildRequires: golang(github.com/briandowns/spinner) >= 1.18.0 +BuildRequires: golang(github.com/docker/go-units) >= 0.5.0 +BuildRequires: golang(github.com/fsnotify/fsnotify) >= 1.7.0 +BuildRequires: golang(github.com/go-logfmt/logfmt) >= 0.5.0 +BuildRequires: golang(github.com/godbus/dbus) >= 5.0.6 +BuildRequires: golang(github.com/google/renameio/v2) >= 2.0.0 +BuildRequires: golang(github.com/sirupsen/logrus) >= 1.9.3 +BuildRequires: golang(github.com/spf13/cobra) >= 1.3.0 +BuildRequires: golang(github.com/spf13/viper) >= 1.10.1 +BuildRequires: golang-ipath(golang.org/x/sys) >= 0.24.0 +BuildRequires: golang(golang.org/x/text) >= 0.3.8 +BuildRequires: golang-ipath(gopkg.in/yaml.v3) >= 3.0.1 +BuildRequires: golang-ipath(tags.cncf.io/container-device-interface) >= 0.8.0 +BuildRequires: pkgconfig(fish) +# for tests +# BuildRequires: codespell +# BuildRequires: golang(github.com/stretchr/testify) >= 1.9.0 +# BuildRequires: ShellCheck +%endif + +Recommends: skopeo +%if ! 0%{?rhel} +Recommends: fuse-overlayfs +%endif + +Requires: containers-common +Requires: podman >= 1.6.4 +Requires: shadow-utils-subid%{?_isa} +%if ! 0%{?rhel} +Requires: flatpak-session-helper +%endif + + +%description +Toolbx is a tool for Linux, which allows the use of interactive command line +environments for software development and troubleshooting the host operating +system, without having to install software on the host. It is built on top of +Podman and other standard container technologies from OCI. + +Toolbx environments have seamless access to the user's home directory, the +Wayland and X11 sockets, networking (including Avahi), removable devices (like +USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev +database, etc.. + + +%package tests +Summary: Tests for %{name} + +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: coreutils +Requires: diffutils +# for gdbus(1) +Requires: glib2 +Requires: grep +# for htpasswd(1) +Requires: httpd-tools +Requires: openssl +Requires: python3 +Requires: skopeo +%if ! 0%{?rhel} +Requires: bats >= 1.10.0 +%endif + + +%description tests +The %{name}-tests package contains system tests for %{name}. + + +%prep +%setup -q + +%if 0%{?fedora} +%patch -P100 -p1 +%endif + +%if 0%{?rhel} +%if 0%{?rhel} == 9 +%patch -P200 -p1 +%endif + +%if 0%{?rhel} >= 10 +%patch -P201 -p1 +%endif + +%if 0%{?rhel} <= 9 +%patch -P202 -p1 +%endif +%endif + +%gomkdir -s %{_builddir}/%{extractdir}/src %{?rhel:-k} + + +%build +export %{gomodulesmode} +export GOPATH=%{gobuilddir}:%{gopath} +export CGO_CFLAGS="%{optflags} -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" + +%meson \ +%if 0%{?rhel} + -Dfish_completions_dir=%{_datadir}/fish/vendor_completions.d \ +%if 0%{?rhel} <= 9 + -Dmigration_path_for_coreos_toolbox=true \ +%endif +%endif + -Dprofile_dir=%{_sysconfdir}/profile.d \ + -Dtmpfiles_dir=%{_tmpfilesdir} \ + -Dzsh_completions_dir=%{_datadir}/zsh/site-functions + +%meson_build + + +# %%check +# %%meson_test + + +%install +%meson_install + +%if 0%{?rhel} +%if 0%{?rhel} <= 9 +install -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/containers/%{name}.conf +%endif +%endif + + +%files +%doc CODE-OF-CONDUCT.md CONTRIBUTING.md GOALS.md NEWS README.md SECURITY.md +%license COPYING %{?rhel:src/vendor/modules.txt} +%{_bindir}/%{name} +%{_datadir}/bash-completion +%{_datadir}/fish +%{_datadir}/zsh +%{_mandir}/man1/%{name}.1* +%{_mandir}/man1/%{name}-*.1* +%{_mandir}/man5/%{name}.conf.5* +%config(noreplace) %{_sysconfdir}/containers/%{name}.conf +%{_sysconfdir}/profile.d/%{name}.sh +%{_tmpfilesdir}/%{name}.conf + + +%files tests +%{_datadir}/%{name} + + +%changelog +* Fri Nov 01 2024 Debarshi Ray - 0.1.1-1 +- Update to 0.1.1 +Resolves: RHEL-61904 + +* Tue Oct 29 2024 Troy Dawson - 0.0.99.6-2 +- Bump release for October 2024 mass rebuild: +Resolves: RHEL-64018 + +* Fri Oct 04 2024 Debarshi Ray - 0.0.99.6-1 +- Update to 0.0.99.6 +Resolves: RHEL-61579 + +* Fri Aug 09 2024 Debarshi Ray - 0.0.99.5-15 +- Rebuild for CVE-2024-24791 +Resolves: RHEL-47199 + +* Thu Jul 11 2024 Debarshi Ray - 0.0.99.5-14 +- Silence 'rpminspect --tests=stack-prot' +- Silence 'rpminspect --tests=annocheck' (part 2) +Resolves: RHEL-33522 + +* Mon Jun 24 2024 Troy Dawson - 0.0.99.5-13 +- Bump release for June 2024 mass rebuild + +* Tue May 07 2024 Debarshi Ray - 0.0.99.5-12 +- Rebuild for CVE-2024-24788 +Resolves: RHEL-35915 + +* Tue May 07 2024 Debarshi Ray - 0.0.99.5-11 +- Unbreak the tests with Podman 5.0 +Resolves: RHEL-36170 + +* Tue Mar 26 2024 Debarshi Ray - 0.0.99.5-10 +- Specify the golang versions for RHEL 9 and 10 +Resolves: RHEL-30245 + +* Tue Mar 05 2024 Debarshi Ray - 0.0.99.5-9 +- Conditionalize the BuildRequires on golang +Resolves: RHEL-30245 + +* Tue Feb 27 2024 Debarshi Ray - 0.0.99.5-8 +- Unbreak Podman's downstream Fedora CI (part 2) +- Backport some new upstream tests +Resolves: RHEL-30245 + +* Tue Feb 13 2024 Debarshi Ray - 0.0.99.5-7 +- Unbreak Podman's downstream Fedora CI +- Update the BuildRequires on golang to reflect reality +Resolves: RHEL-30245 + +* Sun Feb 11 2024 Maxwell G - 0.0.99.5-6 +- Rebuild for golang 1.22.0 + +* Wed Feb 07 2024 Debarshi Ray - 0.0.99.5-5 +- Migrate to SPDX license + +* Sat Jan 27 2024 Fedora Release Engineering - 0.0.99.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 11 2024 Debarshi Ray - 0.0.99.5-3 +- Drop 'Recommends: subscription-manager' + +* Tue Dec 19 2023 Debarshi Ray - 0.0.99.5-2 +- Drop the experience and support subpackages + +* Tue Dec 19 2023 Debarshi Ray - 0.0.99.5-1 +- Update to 0.0.99.5 + +* Tue Dec 19 2023 Debarshi Ray - 0.0.99.4-10 +- Require openssl(1) for the system tests in the tests subpackage + +* Wed Dec 06 2023 Adam Williamson - 0.0.99.4-9 +- tests subpackage: require httpd-tools for htpasswd + +* Tue Dec 05 2023 Debarshi Ray - 0.0.99.4-8 +- Fix the conditionals for 'if RHEL <= 9' + +* Thu Nov 30 2023 Debarshi Ray - 0.0.99.4-7 +- Track the active container on Fedora Linux Asahi Remix + +* Thu Nov 09 2023 Debarshi Ray - 0.0.99.4-6 +- Drop the custom /etc/containers/toolbox.conf from RHEL 10 onwards + +* Mon Oct 02 2023 Debarshi Ray - 0.0.99.4-5 +- Drop github.com/coreos/toolbox compatibility from RHEL 10 onwards + +* Mon Oct 02 2023 Debarshi Ray - 0.0.99.4-4 +- Be aware of security hardened mount points +- Simplify removing the user's password + +* Sat Jul 22 2023 Fedora Release Engineering - 0.0.99.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Mar 8 2023 Nieves Montero - 0.0.99.4-2 +- Sprinkle a debug log + +* Wed Feb 22 2023 Debarshi Ray - 0.0.99.4-1 +- Update to 0.0.99.4 + +* Wed Feb 22 2023 Martin Jackson - 0.0.99.3-12 +- Fix the ExclusiveArch + +* Tue Feb 21 2023 Debarshi Ray - 0.0.99.3-11 +- Add ExclusiveArch to match Podman + +* Thu Feb 02 2023 Yaakov Selkowitz - 0.0.99.3-10 +- Sync packaging changes from CentOS Stream + +* Sat Jan 21 2023 Fedora Release Engineering - 0.0.99.3-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Dec 22 2022 Yaakov Selkowitz - 0.0.99.3-8 +- Use vendored dependencies for RHEL/ELN builds + +* Sat Jul 23 2022 Fedora Release Engineering - 0.0.99.3-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Tue Jul 19 2022 Maxwell G - 0.0.99.3-6 +- Rebuild for CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in + golang + +* Sat Jun 18 2022 Robert-André Mauchin - 0.0.99.3-5 +- Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, + CVE-2022-29526, CVE-2022-30629 + +* Sat Jan 22 2022 Fedora Release Engineering - 0.0.99.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 09 2022 Ondřej Míchal - 0.0.99.3-3 +- Add upstream patch fixing doubled error messages + +* Fri Dec 10 2021 Debarshi Ray - 0.0.99.3-2 +- BuildRequire only systemd-rpm-macros as recommended by the Fedora packaging + guidelines + +* Fri Dec 10 2021 Debarshi Ray - 0.0.99.3-1 +- Update to 0.0.99.3 + +* Mon Oct 25 2021 Debarshi Ray - 0.0.99.2^3.git075b9a8d2779-9 +- Restore backwards compatibility with existing containers + +* Fri Oct 22 2021 Debarshi Ray - 0.0.99.2^3.git075b9a8d2779-8 +- Ensure that binaries are run against their build-time ABI + +* Mon Sep 13 2021 Oliver Gutiérrez - 0.0.99.2^3.git075b9a8d2779-7 +- Rebuilt for gating tests + +* Thu Sep 09 2021 Oliver Gutiérrez - 0.0.99.2^3.git075b9a8d2779-6 +- Rebuilt for gating tests + +* Mon Aug 23 2021 Oliver Gutiérrez - 0.0.99.2^3.git075b9a8d2779-5 +- Version bump to build and check fedora gating after fixing ansible playbooks + +* Fri Aug 20 2021 Oliver Gutiérrez - 0.0.99.2^3.git075b9a8d2779-4 +- Version bump to build and check fedora gating + +* Wed Aug 18 2021 Oliver Gutiérrez - 0.0.99.2^3.git075b9a8d2779-3 +- Added Fedora gating + +* Wed Aug 18 2021 Debarshi Ray - 0.0.99.2^3.git075b9a8d2779-2 +- Require containers-common for ownership of %%{_sysconfdir}/containers + +* Mon Aug 09 2021 Oliver Gutiérrez - 0.0.99.2^3.git075b9a8d2779-1 +- Updated to 0.0.99.2^3.git075b9a8d2779 snapshot + +* Thu Jul 29 2021 Oliver Gutiérrez - 0.0.99.2^2.git40fbd377ed0b-1 +- Updated to 0.0.99.2^2.git40fbd377ed0b snapshot + +* Wed Jul 28 2021 Oliver Gutiérrez - 0.0.99.2^1.git9820550c82bb-1 +- Updated to 0.00.99.2^1.git9820550c82bb snapshot + +* Wed Jul 28 2021 Ondřej Míchal - 0.0.99.2-3 +- Update dependencies of -tests subpackage + +* Fri Jul 23 2021 Fedora Release Engineering - 0.0.99.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jun 26 2021 Debarshi Ray - 0.0.99.2-1 +- Update to 0.0.99.2 + +* Tue Feb 23 2021 Debarshi Ray - 0.0.99.1-1 +- Update to 0.0.99.1 + +* Wed Jan 27 2021 Fedora Release Engineering - 0.0.99-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jan 12 2021 Debarshi Ray - 0.0.99-1 +- Update to 0.0.99 + +* Mon Jan 11 2021 Debarshi Ray - 0.0.98.1-2 +- Harden the binary by using the same CGO_CFLAGS as on RHEL 8 + +* Thu Jan 07 2021 Debarshi Ray - 0.0.98.1-1 +- Update to 0.0.98.1 + +* Tue Jan 05 2021 Debarshi Ray - 0.0.98-1 +- Update to 0.0.98 + +* Wed Nov 25 2020 Ondřej Míchal - 0.0.97-2 +- Move krb5-libs from -support to -experience, and update the list of packages + in -experience + +* Tue Nov 03 2020 Debarshi Ray - 0.0.97-1 +- Update to 0.0.97 + +* Thu Oct 01 2020 Debarshi Ray - 0.0.96-1 +- Update to 0.0.96 + +* Sun Aug 30 2020 Debarshi Ray - 0.0.95-1 +- Update to 0.0.95 + +* Mon Aug 24 2020 Debarshi Ray - 0.0.94-1 +- Update to 0.0.94 + +* Wed Jul 29 2020 Fedora Release Engineering - 0.0.93-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 25 2020 Debarshi Ray - 0.0.93-1 +- Update to 0.0.93 + +* Fri Jul 03 2020 Debarshi Ray - 0.0.92-1 +- Update to 0.0.92 + +* Fri Jul 03 2020 Debarshi Ray - 0.0.91-2 +- Fix the 'toolbox --version' output + +* Tue Jun 30 2020 Harry Míchal - 0.0.91-1 +- Update to 0.0.91 + +* Sat Jun 27 2020 Debarshi Ray - 0.0.18-5 +- Remove ExclusiveArch to match Podman + +* Wed Jun 10 2020 Debarshi Ray - 0.0.18-4 +- Sync the "experience" packages with the current Dockerfile +- Make "experience" Require "support" + +* Fri Apr 03 2020 Debarshi Ray - 0.0.18-3 +- Drop compatibility Obsoletes and Provides for fedora-toolbox + +* Fri Jan 31 2020 Fedora Release Engineering - 0.0.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 14 2020 Debarshi Ray - 0.0.18-1 +- Update to 0.0.18 + +* Wed Nov 20 2019 Debarshi Ray - 0.0.17-1 +- Update to 0.0.17 + +* Tue Oct 29 2019 Debarshi Ray - 0.0.16-1 +- Update to 0.0.16 + +* Mon Sep 30 2019 Debarshi Ray - 0.0.15-1 +- Update to 0.0.15 + +* Wed Sep 18 2019 Debarshi Ray - 0.0.14-1 +- Update to 0.0.14 + +* Thu Sep 05 2019 Debarshi Ray - 0.0.13-1 +- Update to 0.0.13 + +* Sat Jul 27 2019 Fedora Release Engineering - 0.0.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jul 22 2019 Debarshi Ray - 0.0.12-1 +- Update to 0.0.12 + +* Tue Jun 25 2019 Debarshi Ray - 0.0.11-2 +- Require flatpak-session-helper + +* Fri Jun 21 2019 Debarshi Ray - 0.0.11-1 +- Update to 0.0.11 + +* Tue May 21 2019 Debarshi Ray - 0.0.10-1 +- Update to 0.0.10 + +* Tue Apr 30 2019 Debarshi Ray - 0.0.9-1 +- Update to 0.0.9 + +* Tue Apr 16 2019 Adam Williamson - 0.0.8-2 +- Rebuild with Meson fix for #1699099 + +* Fri Apr 12 2019 Debarshi Ray - 0.0.8-1 +- Update to 0.0.8 + +* Thu Mar 14 2019 Debarshi Ray - 0.0.7-1 +- Update to 0.0.7 + +* Fri Feb 22 2019 Debarshi Ray - 0.0.6-1 +- Initial build after rename from fedora-toolbox