Compare commits

..

127 commits

Author SHA1 Message Date
Alejandro Sáez
edd2298769 rebuild 2025-10-10 15:13:52 +02:00
Debarshi Ray
0f5c4c381d Unify the build with RHEL 9
There's no need to do a build just for this.
2025-10-07 15:13:09 +02:00
Debarshi Ray
a2c786de0b Update to 0.3
... and update the BuildRequires on golang to reflect reality.

https://src.fedoraproject.org/rpms/toolbox/pull-request/39
2025-09-18 12:24:19 +02:00
Debarshi Ray
f46fb3ba3c tests: Don't needlessly preserve environment variables in su(1) sessions
The TMT namespaced environment variables are not referenced anywhere
else and were recently removed from Podman too [1].  It's confusing to
have a long list of variables, which are either unused or don't need to
be explicitly preserved within the child session started by su(1).

ROOTLESS_USER is used when invoking su(1) and there's no need for it
within the child session started by su(1).

[1] Fedora podman commit b972298be7d228f4
    https://src.fedoraproject.org/rpms/podman/c/b972298be7d228f4

https://src.fedoraproject.org/rpms/toolbox/pull-request/36
2025-09-17 20:44:25 +02:00
Maxwell G
94a6775aac Rebuild for golang-1.25.0 2025-08-15 18:43:04 -05:00
Debarshi Ray
1ba0b4876e Update to 0.2
... and fix CVE-2025-23266, CVE-2025-23267, and GHSA-fv92-fjc5-jj9h or
GO-2025-3787.

The following rpmlint warning was silenced:
  toolbox.spec: W: no-%check-section

The timeout for the CI was increased to prevent it from timing out.  The
upstream CI runs the test suite in three parallel batches, with each
batch having a timeout of 2 hours.  The downstream CI doesn't run
parallelly, so a timeout of 4 hours was chosen.

https://src.fedoraproject.org/rpms/toolbox/pull-request/33
2025-08-09 23:29:50 +02:00
Fedora Release Engineering
db0197b744 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 19:26:32 +00:00
Lokesh Mandvekar
63c067cd19 TMT: Prevent Bats from hanging when tearing down the test suite
The CI needs to be run without 'p11-kit server' because the lingering
singleton process causes Bats to hang when tearing down the suite of
system tests [1].  To terminate the 'p11-kit server' instance run by the
system tests, it needs to be distinguishable from the instance run by
'normal' use of Toolbx by the user.  One way to do this is to isolate
the host operating system's XDG_RUNTIME_DIR from the system tests.
Unfortunately, this is easier said than done [2].  So, this workaround
has to suffice until the problem is solved.

With the recent expansion of the test suite, it's necessary to increase
the timeout to prevent the CI from timing out.

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

[2] https://github.com/containers/toolbox/pull/1652

https://src.fedoraproject.org/rpms/toolbox/pull-request/30
2025-06-17 01:01:31 +02:00
Debarshi Ray
3a4c4677a1 Unify the build with RHEL
There's no need to do a build just for this.
2025-06-16 22:29:28 +02:00
Debarshi Ray
07f1db2b0d Revert "Don't 'Requires: flatpak-session-helper' on RHEL"
The org.freedesktop.Flatpak D-Bus service provided by the
flatpak-session-helper RPM is not just needed to use containers created
by Toolbx < 0.0.97 [1,2].

It's needed on the host when toolbox(1) invocations inside a container
are forwarded to the host with 'flatpak-spawn --host ...'.  This has
been true since Toolbx >= 0.0.6 [3], and, hence, flatpak-session-helper
is needed on RHEL.

There's no need to do a build just for this.

This reverts commit a8b4975b5c.

[1] Upstream commit 82c32bea742621a3
    82c32bea74
    https://github.com/containers/toolbox/pull/591
    https://github.com/containers/toolbox/issues/267

[2] Upstream commit 71b5c8c0a235249b
    71b5c8c0a2
    https://github.com/containers/toolbox/pull/591
    https://github.com/containers/toolbox/issues/267

[3] Upstream commit 5b3d234c9e9ef45f
    5b3d234c9e
    https://github.com/containers/toolbox/pull/54
2025-06-16 20:51:53 +02:00
Debarshi Ray
cf4d77aa24 Update the BuildRequires on golang for Fedora and ELN to reflect reality
There's no need to do a build just for this.
2025-06-16 16:21:06 +02:00
Debarshi Ray
23a91e7031 Update the baseline BuildRequires on golang
... to match what Toolbx 0.1.2 actually needs [1].

There's no need to do a build just for this.

Fallout from a3506a3263

[1] Upstream commit 82e85bac9f5e69a5
    82e85bac9f
    https://github.com/containers/toolbox/pull/1614
2025-06-16 16:14:37 +02:00
Debarshi Ray
a3506a3263 Update to 0.1.2
Switch to vendored dependencies on Fedora because the package for
github.com/spf13/viper (ie., golang-github-spf13-viper) currently has
broken dependencies because a number of Go packages were recently
orphaned and retired.  Hopefully, this is aligned with the direction the
Go ecosystem in Fedora is taking [1], and won't lead to too many
problems.

This further unifies Fedora with RHEL, which was already using vendored
dependencies.

Now that all the Go dependencies are in the src/vendor directory,
there's no need to mess around with the GO111MODULE (ie., gomodulesmode)
and GOPATH environment variables.  Those were probably already not
needed on RHEL.

[1] https://fedoraproject.org/wiki/Changes/GolangPackagesVendoredByDefault

https://bugzilla.redhat.com/show_bug.cgi?id=2370151
2025-06-04 13:08:45 +02:00
Lokesh Mandvekar
0cbcff3ba4 TMT: Initial enablement
This PR will enable test runs using TMT. These tests can be maintained
here for starters and fetched and reused in the podman rpm for toolbox
tests on bodhi updates.

https://src.fedoraproject.org/rpms/toolbox/pull-request/24
2025-01-23 12:37:37 +01:00
Debarshi Ray
d6c4d7c587 Use RPM macros for shell completions and clean up directory ownership
... as recommended by the Fedora packaging guidelines [1,2].

This was made possible by two recent developments.

First, the parent directories for shell completions are now owned by the
filesystem RPM [3,4].  So, there won't be any unowned directories, if
the toolbox RPM doesn't own them without depending on some other package
that owns those directories.

Second, there are now RPM macros for the parent directories for shell
completions [5].

[1] https://docs.fedoraproject.org/es/packaging-guidelines/ShellCompletions/

[2] https://docs.fedoraproject.org/es/packaging-guidelines/UnownedDirectories/

[3] Fedora filesystem commit 47d37ac94192f792
    https://src.fedoraproject.org/rpms/filesystem/c/47d37ac94192f792
    https://bugzilla.redhat.com/show_bug.cgi?id=1312594

[4] Fedora filesystem commit 4c45982cd067557e
    https://src.fedoraproject.org/rpms/filesystem/c/4c45982cd067557e
    https://bugzilla.redhat.com/show_bug.cgi?id=1504616

[5] Fedora redhat-rpm-config commit 483a3b89d74c6f0b
    https://src.fedoraproject.org/rpms/redhat-rpm-config/c/483a3b89d74c6f0b
2025-01-22 20:01:59 +01:00
Fedora Release Engineering
d61e4b81c9 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 13:06:21 +00:00
Debarshi Ray
8ec06e58ca Update to 0.1.1
https://bugzilla.redhat.com/show_bug.cgi?id=2323150
2024-11-04 16:22:58 +01:00
Debarshi Ray
6f1c1c4052 Update to 0.1.0
... and update the BuildRequires on golang to reflect reality.
2024-10-23 19:05:53 +02:00
Debarshi Ray
120a6ce1a6 Recommend fuse-overlayfs because old containers created with it need it
... and:

  * containers-common removed fuse-overlayfs as even a weak
    dependency [1]
  * there are still several such containers out there in the wild [2,3]

This should be removed once Toolbx can detect the situation and offer
users a migration path.

[1] Fedora containers-common commit 447945e59a01cb67
    https://src.fedoraproject.org/rpms/containers-common/c/447945e59a01cb67

[2] https://discussion.fedoraproject.org/t/rpm-ostree-update-breaks-toolbox-fedora-40

[3] https://github.com/containers/toolbox/issues/1512

https://bugzilla.redhat.com/show_bug.cgi?id=2319121
2024-10-16 12:35:50 +02:00
Yaakov Selkowitz
8805e4b239 Fix ELN build
Otherwise, it fails with:
  Processing files: toolbox-debugsource-0.0.99.6-5.eln143.x86_64
  RPM build errors:
  error: Empty %files file
    /builddir/build/BUILD/toolbox-0.0.99.6-build/toolbox-0.0.99.6/debugsourcefiles.list
      Empty %files file
        /builddir/build/BUILD/toolbox-0.0.99.6-build/toolbox-0.0.99.6/debugsourcefiles.list
  Child return code was: 1

https://src.fedoraproject.org/rpms/toolbox/pull-request/23
2024-10-08 17:50:10 +02:00
Debarshi Ray
d91d2c8523 Don't use slirp4netns(1) in tests to work around bug in pasta(1) 2024-10-07 16:42:34 +02:00
Debarshi Ray
1d3597789e Unify the build with RHEL
There's no need to do a build just for this.
2024-10-07 16:42:34 +02:00
Debarshi Ray
ea36bd0bb0 Unify the build with RHEL
There's no need to do a build just for this.
2024-10-07 16:42:34 +02:00
Debarshi Ray
2334d4ee5f Unify the build with RHEL 9
There's no need to do a build just for this.
2024-10-07 16:42:34 +02:00
Debarshi Ray
5ff63e6c80 Use the fedora-toolbox:40 image for Fedora Asahi Remix hosts
https://bugzilla.redhat.com/show_bug.cgi?id=2316312
2024-10-04 15:08:39 +02:00
Debarshi Ray
8da835d84a Unbreak the downstream Fedora CI
Fallout from e447d41208
2024-10-03 14:56:46 +02:00
Debarshi Ray
f81e991c0a Silence 'rpminspect --tests=elf'
With Toolbx 0.0.99.6, 'rpminspect --tests=elf', run by the Fedora CI,
fails with:
  /usr/bin/toolbox lost full GNU_RELRO security protection

This is because from version 0.0.99.6 onwards, toolbox(1) is only built
with the '-z relro' linker flag, but not '-z now' [1].

Fallout from e447d41208

[1] Upstream commit 83f28c52e47c2d44
    83f28c52e4
    https://github.com/containers/toolbox/pull/1548
2024-10-02 21:48:17 +02:00
Debarshi Ray
e447d41208 Update to 0.0.99.6
Start using the golang-ipath(...) virtual Provides for BuildRequires
because they use the top-level import paths and are closer to what is
listed in the upstream go.mod.  The golang(...) virtual Provides mention
each individual Go package within a Go module, and bigger modules can
have several packages in them.  It is noisy and tedious to keep up with
the list of packages that are currently in use, by looking at all the Go
source files, and then to list them as BuildRequires.

Update the compiler and linker flags for Fedora by incorporating some of
the changes to the distribution's defaults up to Fedora 39, which is the
oldest supported Fedora.  Switch to using the GO_BUILDTAGS and
GO_LDFLAGS environment variables, because their unprefixed counterparts
have been deprecated [1], and start annotating the toolbox(1) binary
with an ELF note that identifies the RPM for which it was built [2].

However, the change to use the RPM's %{name}, %{version}, %{release} and
the SOURCE_DATE_EPOCH environment variable [3], instead of /dev/urandom,
to generate the build ID annotation for the toolbox(1) binary [4] was
left out.  It will need more work to propagate the RPM's %{name},
%{version} and %{release} to Meson.

Stop carrying the downstream patch for the compiler and linker flags for
PPC64.  The architecture was already discontinued from Fedora 29 [5],
even before the patch was added [6].  It was added purely for the sake
of completeness, and in the last four years since it was introduced, it
hasn't been tested or used.  At this point it's becoming too much of a
maintenance burden, and removing it silences the %ifarch-applied-patch
warning from rpmlint.

Fill in some of the missing Requires for the toolbox-tests sub-package.

[1] go-rpm-macros commit bc7e5cc55c4709e8
    https://pagure.io/go-rpm-macros/c/bc7e5cc55c4709e8

[2] Fedora redhat-rpm-config commit 57edf0cad7b089ed
    https://src.fedoraproject.org/rpms/redhat-rpm-config/c/57edf0cad7b089ed
    https://fedoraproject.org/wiki/Changes/Package_information_on_ELF_objects

[3] https://reproducible-builds.org/docs/source-date-epoch/

[4] go-rpm-macros commit 1980932bf3a21890
    https://pagure.io/go-rpm-macros/c/1980932bf3a21890
    https://fedoraproject.org/wiki/Changes/ReproduciblePackageBuilds

[5] https://fedoraproject.org/wiki/Changes/DiscontinuePPC64

[6] Commit ba60453d21

https://src.fedoraproject.org/rpms/toolbox/pull-request/22
2024-09-30 15:42:31 +02:00
Debarshi Ray
bba451ece1 Rebuild against shadow-utils-subid ABI version 5.0.0
The runtime dependency on shadow-utils-subid should have already been
part of commit 95d6ea8689 to ensure that Toolbx >= 0.0.99.4 would
be able to dlopen(3) the library.  It only worked in practice because
the podman RPM also required it.
2024-09-12 18:06:08 +02:00
Debarshi Ray
c4f11e9887 Unify the build with RHEL
There's no need to do a build just for this.
2024-08-09 18:46:57 +02:00
Debarshi Ray
1f9f142ef1 Remove stray newline
There's no need to do a build just for this.

Fallout from 8598325132
2024-08-09 18:42:08 +02:00
Debarshi Ray
adcdf19861 tests: Silence deprecation warning
Otherwise, Ansible in Fedora CI would complain:
  # STDERR:
  ---v---v---v---v---v---
  [DEPRECATION WARNING]: "include" is deprecated, use
  include_tasks/import_tasks instead.  See
  https://docs.ansible.com/ansible-core/2.14/user_guide/playbooks_reuse_includes.html
  for details.  This feature will be removed in version 2.16.
  Deprecation warnings can be disabled by setting
  deprecation_warnings=False in ansible.cfg.

https://src.fedoraproject.org/rpms/toolbox/pull-request/21
2024-08-08 17:55:45 +02:00
Adam Williamson
ee2fa0eab4 tests: Ensure slirp4netns(1) is installed
Podman 5.0 switched to using pasta(1), instead of slirp4netns(1), by
default for rootless containers.  This change has led to a regression
causing 'skopeo copy' to get stuck uploading an OCI image to the local
temporary Docker registry run by the tests as a Podman container [1],
which breaks the test suite on Fedora 40 onwards.

This was worked around by forcing the use of slirp4netns(1).

The slirp4nets package needs to be explicitly installed on Fedora 40
onwards, because the dependency in containers-common-extra changed from
Recommends to Suggests [2].  Otherwise, it led to:
  1..320
  # test suite: Set up
  # test suite: Tear down
  not ok 1 setup_suite
  # (from function `assert_success' in file
       ./libs/bats-assert/src/assert.bash, line 114,
  #  from function `_setup_docker_registry' in file ./libs/helpers.bash,
       line 208,
  #  from function `setup_suite' in test file ./setup_suite.bash, line
       59)
  #   `_setup_docker_registry' failed
  #
  # -- command failed --
  # status : 127
  # output : Error: could not find slirp4netns, the network namespace
      can't be configured: exec: "slirp4netns": executable file not
      found in $PATH
  # --
  #
  # Untagged: quay.io/toolbox_tests/registry:latest
  # Deleted: fea5a12cde107bb407bc44ede6dd9edea1d2b4171cd8e52b0cb330bf45e517e1
  # bats warning: Executed 1 instead of expected 320 tests

The missing dependency on the slirp4netns package in toolbox-tests
doesn't affect Podman's downstream Fedora CI, which runs toolbox-tests,
because it separately installs slirp4netns for other tests [3].

Fallout from d8388da39e

[1] https://github.com/containers/podman/issues/22575

[2] Fedora containers-common commit 17934d87b2686ab5
    Fedora containers-common commit 13c232f064113860
    https://src.fedoraproject.org/rpms/containers-common/c/17934d87b2686ab5
    https://src.fedoraproject.org/rpms/containers-common/c/13c232f064113860

[3] Fedora podman commit 9667d0f5b5069acb
    https://src.fedoraproject.org/rpms/podman/c/9667d0f5b5069acb

https://src.fedoraproject.org/rpms/toolbox/pull-request/20

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-08-08 17:00:12 +02:00
Adam Williamson
8598325132 tests: Avoid running out of storage space
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/toolbox/pull-request/20

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-07-31 14:44:35 +02:00
Adam Williamson
c8c1f44f2e tests: Don't use undefined variable
The test.environment variable was removed from the variables defined in
tests.yml in commit 1b207227f3, but it's still used, which causes
Ansible to break:
  The task includes an option with an undefined variable. The error was:
  'dict object' has no attribute 'environment'. 'dict object' has no
  attribute 'environment'

https://src.fedoraproject.org/rpms/toolbox/pull-request/19
2024-07-29 18:13:52 +02:00
Fedora Release Engineering
ad7ceee60d Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 07:41:42 +00:00
Debarshi Ray
c262e4e417 Silence 'rpminspect --tests=stack-prot'
The stack-prot test [1] currently fails with:
  Hardened: /usr/bin/toolbox: FAIL: stack-prot test because stack
      protection not enabled (lto:_cgo_6f668e16310a_Cfunc_mygetgrnam_r)

According to the documentation [1], the test is supposed to pass if the
C compiler is GCC and it was used with the -fstack-protector-strong
option.  That's definitely the case, since Fedora uses GCC by default,
and its default build flags (including %optflags) include
-fstack-protector-strong.

There's also no function called mygetgrnam() in neither Toolbx nor its
chain of dependencies.

Therefore, temporarily disable the stack-prot test to prevent the Fedora
CI from failing.

[1] https://sourceware.org/annobin/annobin.html/Test-stack-prot.html
2024-07-11 10:58:36 +02:00
Debarshi Ray
58b0af2d6b Silence 'rpminspect --tests=annocheck' (part 2)
In recent times, 'rpminspect --tests=annocheck', run by the Fedora CI,
has been failing because of the intentional DT_RPATH or DT_RUNPATH value
of /run/host%{_libdir} that's present in %{_bindir}/toolbox [1].  It's
not clear if they started failing again only recently due to changes in
rpminspect(1), or if the previous attempt at silencing it was broken and
never actually worked [2].

[1] Upstream commit 6063eb27b9893994
    6063eb27b9
    https://github.com/containers/toolbox/issues/821

[2] Commit 12fabacd03

https://github.com/rpminspect/rpminspect/issues/1296
2024-07-11 10:16:29 +02:00
Debarshi Ray
d8388da39e Unbreak the tests with Podman 5.0
... and make them show the Bats version.
2024-05-07 00:45:50 +02:00
Debarshi Ray
fd1d76c601 Specify the golang versions for RHEL 9 and 10 2024-03-26 18:06:02 +01:00
Debarshi Ray
6dfd366e61 Conditionalize the BuildRequires on golang
The OpenSSL FIPS patches in Fedora ELN's golang makes it lag behind its
Fedora counterpart at times.

Spotted by Yaakov Selkowitz.

Fallout from 32b32e42f3

https://src.fedoraproject.org/rpms/toolbox/pull-request/18
2024-03-05 19:25:54 +01:00
Debarshi Ray
72a3fb0bb0 Unbreak Podman's downstream Fedora CI (part 2)
... and backport some new upstream tests.

https://bugzilla.redhat.com/show_bug.cgi?id=2263968
2024-02-27 16:12:07 +01:00
Debarshi Ray
32b32e42f3 Unbreak Podman's downstream Fedora CI
... and update the BuildRequires on golang to reflect reality.

https://bugzilla.redhat.com/show_bug.cgi?id=2263968
2024-02-13 22:58:07 +01:00
Maxwell G
85becd3dde
Rebuild for golang 1.22.0 2024-02-11 23:40:44 +00:00
Debarshi Ray
5aea389aab Migrate to SPDX license 2024-02-07 14:45:03 +01:00
Fedora Release Engineering
78a3000c62 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 06:33:04 +00:00
Maxwell G
25a9050dd0
Remove deprecated %patchN syntax
[skip changelog]

Relates: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/5YUJWTUJK4JA26YP2VD46HOCQ6UZXMQD/
2024-01-12 21:09:56 +00:00
Debarshi Ray
f79961c521 Drop 'Recommends: subscription-manager'
... because subscription-manager requires python3-dnf, which contains
%{_bindir}/dnf-3 and %{_bindir}/dnf4 [1].   This is a problem on Fedora
Silverblue, because they shouldn't be present on OSTree based variants
of Fedora.

This reverts parts of commit 6682165143.

[1] https://github.com/fedora-silverblue/issue-tracker/issues/521
2024-01-11 19:04:31 +01:00
Debarshi Ray
57ae69592c Drop the experience and support subpackages
The only known user of the toolbox-experience and toolbox-support
packages was: https://github.com/AICoE/tf-in-container

... which was declared dead in February 2022.

Hence, there's no need to keep offering these subpackages.  Especially,
since the cost of keeping them updated to match the content of the
fedora-toolbox images is quite high.  If someone really needs these
subpackages, then they can be reinstated.
2023-12-19 14:09:03 +01:00
Debarshi Ray
6682165143 Update to 0.0.99.5
Start using Toolbx as the name of the project, instead of Toolbox; and
recommend subscription-manager, as requested by the Fedora Workstation
Working Group [1], to make it easier to have gratis, self-supported Red Hat
Enterprise Linux containers on Fedora.

[1] https://pagure.io/fedora-workstation/issue/391
2023-12-19 13:28:45 +01:00
Debarshi Ray
a7b53166a8 tests: Remove trailing whitespace 2023-12-19 13:25:48 +01:00
Debarshi Ray
1b207227f3 tests: Remove redundant environment variable
There's no need to explicitly set the PODMAN environment variable to its
default value of /usr/bin/podman.
2023-12-19 13:24:23 +01:00
Debarshi Ray
616aba2f2d Require openssl(1) for the system tests in the tests subpackage 2023-12-19 13:18:49 +01:00
Adam Williamson
2fcdf29a72 tests subpackage: require httpd-tools for htpasswd 2023-12-06 10:45:50 -08:00
Debarshi Ray
8fd7877f42 Fix the conditionals for 'if RHEL <= 9'
'%if 0%{?rhel} <= 9' is the wrong way to express 'if RHEL <= 9'.  On
Fedora, %rhel won't be defined.  So, %{?rhel} will expand to nothing,
and leave only a 0 on the left hand side, making the condition TRUE on
Fedora.

Note, that conditions like '%if 0%{?rhel}', and other relational
operators like ==, > and >= work as expected.  The problem is only with
< and <=.

Fallout from 1d18729e66 and
d437e83604
2023-12-05 15:26:10 +01:00
Debarshi Ray
e7a1de731b Track the active container on Fedora Linux Asahi Remix 2023-11-30 22:16:08 +01:00
Debarshi Ray
a8d29ef83f Silence 'rpminspect --tests=runpath' on i686 2023-11-10 16:01:17 +01:00
Debarshi Ray
1d18729e66 Drop the custom /etc/containers/toolbox.conf from RHEL 10 onwards
Complete support for RHEL Toolbx images based on the Red Hat Universal
Base Images (or UBI) was only recently added to Toolbx [1], in version
0.0.99.4.  Before that, Toolbx would only pick the image for RHEL 8,
and even before that, it would pick the base 'ubi8' image, which isn't
designed for interactive command line use.

Due to this, RHEL >= 8.5 shipped a custom configuration file
in /etc/containers/toolbox.conf to specify the image.

However, that's not necessary anymore.  RHEL 10 is going to be a fresh
new operating system, and it will be better if we don't ship any custom
configuration that's not needed, because it will ensure consistency with
non-RHEL operating systems, including Fedora.

[1] Upstream commit 0a29b374e649437
    0a29b374e6
    https://github.com/containers/toolbox/issues/1065
2023-11-09 18:13:11 +01:00
Debarshi Ray
d437e83604 Clarify that %golang_arches_future are meant for RHEL 10
Since the RHEL conditional was only targeting RHEL 9, it wasn't clear
whether it needed updating for RHEL 10.  So, it's better to say that
%golang_arches are for RHEL 9 and older, and %golang_arches_future are
for Fedora and RHEL 10 onwards.

This doesn't change any behaviour of the built artifacts, because the
build is only shared with RHEL 9 onwards.  Hence, a conditional checking
for RHEL 9 is the same as one checking for RHEL 9 and older.

There's no need to do a build just for this.
2023-11-09 17:15:39 +01:00
Debarshi Ray
12fabacd03 Silence 'rpminspect --tests=annocheck' and 'rpminspect --tests=runpath'
The DT_RPATH or DT_RUNPATH value of /run/host%{_libdir} that's present
in %{_bindir}/toolbox is intentional [1].

[1] Upstream commit 6063eb27b9893994
    6063eb27b9
    https://github.com/containers/toolbox/issues/821
2023-11-09 12:05:46 +01:00
Debarshi Ray
b6101bf73f Drop github.com/coreos/toolbox compatibility from RHEL 10 onwards
Some limited compatibility with github.com/coreos/toolbox was added to
RHEL 8.5 when the implementation of the toolbox RPM was changed from
github.com/coreos/toolbox to github.com/containers/toolbox.  This was
carried forward to RHEL 9 to give everybody some extra time to adjust.

This compatibility involved setting the HOST environment variable inside
the Toolbx containers for 'sos report' to work, and replicating the
command line interface from github.com/coreos/toolbox.

The problem with setting the HOST environment variable in Toolbx
containers is that it's a very generic name without any namespacing.
Not every user is going to use 'sos report', and it can easily conflict
with a variable of the same name being used for a different purpose.
This is similar to the NAME and VERSION environment variables that used
to be set inside Toolbx containers due to outdated or wrong information
in Fedora's container guidelines [1].  They were a constant source of
complaints and were recently fixed [2].  The same logic applies to HOST.

Instead of expecting the Toolbx container to have the HOST environment
variable, sos(1) should be taught how to work inside a Toolbx container
without requiring any extra configuration [3].

The problem with replicating the command line interface from
github.com/coreos/toolbox is that it's difficult to document it, because
it's so different from the native interface that users on non-RHEL
operating systems, including Fedora, have come to expect.  So, it's an
undocumented easter egg that receives very limited, if any, testing.

RHEL 8.5 was released on the 9th of November in 2021, which was almost
two years ago.  RHEL 10 is going to be a fresh new operating system.
It's time to ship a version of sos(1) in RHEL that works without any
extra configuration inside Toolbx containers, and to inform RHEL users
to adapt to the native command line interface.

[1] https://docs.fedoraproject.org/en-US/containers/guidelines/creation/

[2] Upstream commit 9506173f88dc26bf
    9506173f88
    https://github.com/containers/toolbox/issues/188

[3] https://github.com/sosreport/sos/pull/3370
2023-10-02 16:59:24 +02:00
Debarshi Ray
a8e2dd8823 Add two upstream patches that are already in CentOS Stream 9 2023-10-02 13:46:15 +02:00
Debarshi Ray
c91cdf0ad7 Unify the build with RHEL
This pulls in an extra patch [1] that's necessary to fix the build on
only CentOS Stream 9, not Fedora.  While not needed, it also doesn't
hurt Fedora and has the added benefit of keeping the build unified with
RHEL.

There's no need to do a build just for this.

[1] Upstream commit f555029304415a06
    f555029304
    https://github.com/containers/toolbox/issues/1246
2023-10-02 13:38:10 +02:00
Fedora Release Engineering
0ad2c75c04 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 16:34:45 +00:00
Debarshi Ray
1591f98256 Remove trailing whitespace
There's no need to do a build just for this.

Fallout from a8db8e5d51
2023-06-26 15:29:46 +02:00
Debarshi Ray
b18f520f26 Pull in the rest of the RHEL specific patches to further unify the build
There's no need to do a build just for this.
2023-06-26 15:27:07 +02:00
Yaakov Selkowitz
006d4f5d81 Add missing files for RHEL builds
Source and Patch listings should not be conditionalized, as that causes
SRPM contents to be inconsistent.

https://src.fedoraproject.org/rpms/toolbox/pull-request/14
2023-06-26 15:08:36 +02:00
Debarshi Ray
037ea0e724 Don't 'BuildRequires: pkgconfig(fish)' on RHEL
... because RHEL doesn't have fish.

There's no need to do a build just for this.
2023-04-04 00:34:08 +02:00
Debarshi Ray
ef153bba41 Shuffle the BuildRequires around
There's no need to do a build just for this.
2023-04-04 00:27:52 +02:00
Debarshi Ray
7ddc864959 Update the commit messages of the downstream patches
Fedora now has a %{gobuildflags} RPM macro with only the flags used by
'go build ...'.

There's no need to do a build just for this.
2023-04-03 23:15:51 +02:00
Debarshi Ray
2f6e2b7cfe Unify the build with RHEL
There's no need to do a build just for this.
2023-04-03 22:23:50 +02:00
Debarshi Ray
a8b4975b5c Don't 'Requires: flatpak-session-helper' on RHEL
... because RHEL has always shipped toolbox >= 0.0.97 and hence doesn't
require flatpak-session-helper.

There's no need to do a build just for this.
2023-04-03 21:33:58 +02:00
Debarshi Ray
2f07af48f5 Don't 'Requires: bats' on RHEL
... because RHEL doesn't have bats.

There's no need to do a build just for this.
2023-04-03 21:33:53 +02:00
Nieves Montero
a8db8e5d51 Sprinkle a debug log
Signed-off-by: Nieves Montero <nmontero@redhat.com>
2023-03-08 11:24:16 +01:00
Debarshi Ray
2f7d549494 Don't use podman(1) when generating the completions
This is actually needed for Fedoras 36 and 37, but, at least currently,
not necessary for Fedoras 38 and 39.

There's no need to do a build just for this.

https://github.com/containers/podman/issues/17657
2023-02-28 19:38:33 +01:00
Debarshi Ray
95d6ea8689 Update to 0.0.99.4
https://bugzilla.redhat.com/show_bug.cgi?id=2171961
2023-02-23 18:05:26 +01:00
Debarshi Ray
79167d70c4 Remove a patch specific to Fedora that doesn't seem necessary anymore
There's no need to do a build just for this.
2023-02-23 17:49:22 +01:00
Debarshi Ray
cbcdb7a21c Simplify and unify the build with RHEL
There's no need to do a build just for this.
2023-02-23 16:13:42 +01:00
Debarshi Ray
7556bb66c2 Bump the golang requirement to ensure recent CVE fixes
'BuildRequires: golang >= 1.19.4' will ensure that recent CVEs like
CVE-2022-41717 remain fixed.

There's no need to do a build just for this, because the toolbox package
has either already been built with a sufficiently recent golang or will
soon be.

https://bugzilla.redhat.com/show_bug.cgi?id=2161274
2023-02-22 20:44:23 +01:00
Martin Jackson
fbfe9ff31b Fix the ExclusiveArch
The %gometa RPM macro also generates a ExclusiveArch on %golang_arches
or %golang_arches_future depending on whether the -f flag is present or
not.  This was overriding the separately specified ExclusiveArch.

Fallout from 7ce081c75c

https://src.fedoraproject.org/rpms/toolbox/pull-request/12
2023-02-22 19:22:47 +01:00
Debarshi Ray
7ce081c75c Add ExclusiveArch to match Podman
There's no golang on %ix86 from RHEL 9 onwards [1], and hence no podman
either [2].

Recently, with Podman 4.4.1, there are also no new podman builds for
%ix86 for Fedora 36 onwards [3].  Arguably, the podman change should
have been limited to Fedora Rawhide, but it's probably not a big problem
because there's no %ix86 install media for Fedora CoreOS, Silverblue or
Workstation.

Note that while %golang_arches on RHEL 9 doesn't include %arm, it's
included in both %golang_arches and %golang_arches_future on Fedora.

[1] go-rpm-macros commit b1500ff47ee8cdd1
    https://src.fedoraproject.org/rpms/go-rpm-macros/c/b1500ff47ee8cdd1

[2] podman commit 555a5a504dd538d5
    https://src.fedoraproject.org/rpms/podman/c/555a5a504dd538d5

[3] podman commit 313c3e86a81c69eb
    https://src.fedoraproject.org/rpms/podman/c/313c3e86a81c69eb
2023-02-21 18:22:41 +01:00
Debarshi Ray
5e28822115 Use %gomodulesmode introduced in go-rpm-macros-3.0.10
There's no need to do a build just for this.
2023-02-21 17:16:07 +01:00
Debarshi Ray
ecc081de3e Mark and comment out the unused BuildRequires for %check
Fallout from 484d3d6209 and
12df1ef16a

There's no need to do a build just for this.
2023-02-21 17:09:13 +01:00
Debarshi Ray
df688dd65b Add missing 'BuildRequires: gcc'
A C compiler is necessary to build Toolbx [1].  GCC is being pulled in
by the other BuildRequires, but it's good to explicitly list it since
GCC isn't part of the default buildroot since Fedora 29 [2] and will
prevent the compiler from unexpectedly changing to Clang.

There's no need to do a build just for this.

[1] Upstream commit c8aaed52c547e24e
    c8aaed52c5
    https://github.com/containers/toolbox/pull/923

[2] https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
2023-02-21 17:06:29 +01:00
Debarshi Ray
021ab3822e Drop redundant option from %meson
There's no need to pass the --buildtype=plain option to the %meson RPM
macro, because it's one of the default options used by the macro.

There's no need to do a build just for this.

Fallout from 33bd39b0f9
2023-02-21 16:56:46 +01:00
Yaakov Selkowitz
484d3d6209 Sync packaging changes from CentOS Stream 2023-02-02 12:55:51 -05:00
Fedora Release Engineering
1815f6417e Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 05:16:24 +00:00
Yaakov Selkowitz
46d2ca508e Use vendored dependencies for RHEL 2022-12-22 16:17:31 -05:00
Fedora Release Engineering
9dc23837ed Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 10:41:32 +00:00
Maxwell G
f6c0926811
Rebuild for CVE-2022-{1705,32148,30631,30633,28131,30635,30632,30630,1962} in golang 2022-07-19 13:59:13 -05:00
Robert-André Mauchin
c2a3244ca4 Rebuilt for CVE-2022-1996, CVE-2022-24675, CVE-2022-28327, CVE-2022-27191, CVE-2022-29526, CVE-2022-30629 2022-06-18 12:23:53 +02:00
Debarshi Ray
b3f0d3b599 Add 'BuildRequires: golang(golang.org/x/crypto/ssh/terminal)'
Not having golang.org/x/crypto/ssh/terminal explicitly listed as a
BuildRequires isn't breaking the build at the moment.  However, since
it's a direct dependency, and Toolbx is written in Go, it's good to
explicitly list it due to the statically linked nature of Go binaries.
It will make it easier to gauge the fallout from a security bug.

There's no need to do a build just for this.
2022-05-18 00:07:18 +02:00
Debarshi Ray
da55cfac4e Add 'BuildRequires: golang(github.com/spf13/viper)'
Earlier Viper was being pulled in by Cobra, and hence wasn't explicitly
listed as a BuildRequires.  However, Cobra 1.4.0 removed the Viper
dependency [1], so it needs to be explicitly listed.

There's no need to do a build just for this.

[1] Cobra commit 5b2b9e9f61d36ccb
    https://github.com/spf13/cobra/issues/1597
2022-05-17 23:29:44 +02:00
Debarshi Ray
0329ca33cc Revert back to referring to go-md2man as go-md2man
The 'go-md2man' virtual Provides was briefly lost after the
golang-github-cpuguy83-go-md2man package was renamed to
golang-github-cpuguy83-md2man.  The virtual Provides has since been
restored [1], and go-md2man is being used as a standalone binary tool,
not as a Go package that's imported into Toolbx's source code.  Hence,
it makes sense to refer to the tool as go-md2man, and not by it's
import path.

This reverts commit 701836afca.

There's no need to do a build just for this.

[1] golang-github-cpuguy83-md2man commit c085b15e5acd8d07
    https://src.fedoraproject.org/rpms/golang-github-cpuguy83-md2man/c/c085b15e5acd8d07
2022-05-17 18:33:08 +02:00
Fedora Release Engineering
b130695e6f - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 02:54:24 +00:00
Ondřej Míchal
3a1aa2f691 Add upstream patch fixing doubled error messages 2022-01-09 23:13:42 +02:00
Debarshi Ray
9bebde5bb6 BuildRequire only systemd-rpm-macros
... as recommended by the Fedora packaging guidelines:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Tmpfiles.d/
https://pagure.io/packaging-committee/issue/824
2021-12-10 11:24:35 +01:00
Debarshi Ray
ca91d5a3eb Style fix
No need to issue a build just for this.
2021-12-10 10:05:18 +01:00
Debarshi Ray
deb9c1e8e6 Update URL to point to the website
No need to issue a build just for this.
2021-12-10 05:11:42 +01:00
Debarshi Ray
88b0cbf084 Specify the minimum Meson version
No need to issue a build just for this.
2021-12-10 05:09:40 +01:00
Debarshi Ray
08f687ebe2 Update to 0.0.99.3 2021-12-10 04:47:38 +01:00
Debarshi Ray
70f5d2352c Restore backwards compatibility with existing containers
https://bugzilla.redhat.com/show_bug.cgi?id=1995439
2021-10-26 00:22:22 +02:00
Debarshi Ray
01cc5e6ecc Ensure that binaries are run against their build-time ABI
https://bugzilla.redhat.com/show_bug.cgi?id=1995439
2021-10-22 02:43:56 +02:00
Oliver Gutierrez
c872492676
Rebuilt for gating 2021-09-13 16:02:32 +01:00
Oliver Gutierrez
c41104fe32
Rebuilt for gating tests 2021-09-09 09:37:58 +01:00
Oliver Gutierrez
482da6793f
Bumped version for rerun gating after updating the ansible playbooks 2021-08-23 19:26:50 +01:00
Oliver Gutierrez
4fbf8c365e
Fixed playbooks for gating 2021-08-23 19:25:13 +01:00
Oliver Gutierrez
a6a68d9aae
Version bump to build and check fedora gating 2021-08-20 11:30:18 +01:00
Oliver Gutierrez
cff1e3addf
Fixed missing environment in gating ansible playbook 2021-08-20 10:40:24 +01:00
Oliver Gutierrez
146838a614
Fixed errors in gating ansible playbook 2021-08-20 10:37:29 +01:00
Oliver Gutierrez
28e8056771
Updated specfile for gating execution 2021-08-18 12:44:07 +01:00
Oliver Gutierrez
4d43cbffea
Added fedora gating 2021-08-18 12:41:51 +01:00
Debarshi Ray
f8eb06d3a5 Require containers-common for ownership of %%{_sysconfdir}/containers 2021-08-18 01:01:24 +02:00
Oliver Gutierrez
10d00acf90
Updated to 0.0.99.2^3.git075b9a8d2779 snapshot 2021-08-09 19:11:49 +01:00
Oliver Gutierrez
8b5e951037
Updated to 0.0.99.2^2.git40fbd377ed0b snapshot 2021-07-29 14:27:25 +01:00
Oliver Gutierrez
c3bb2b8822
Rebased toolbox-Don-t-use-Go-s-semantic-import-versioning.patch 2021-07-28 18:23:06 +01:00
Oliver Gutierrez
afdd5f1cb8
Added missing configuration file 2021-07-28 17:54:13 +01:00
Oliver Gutierrez
05525c1a8e
Updated sources tarball 2021-07-28 17:30:50 +01:00
Oliver Gutierrez
906afe610c
Updated sources to 0.00.99.2^1.git9820550c82bb snapshot 2021-07-28 16:55:24 +01:00
Oliver Gutierrez
c6fdde6d4a
Added changelog entry for the update dependencies of -tests subpackage 2021-07-28 16:25:06 +01:00
Ondřej Míchal
a961891ea2 Update dependencies of -tests subpackage 2021-07-28 15:13:47 +00:00
Fedora Release Engineering
382aa99213 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 19:27:42 +00:00
Debarshi Ray
42c803ef25 Add bc and iproute to the toolbox-experience sub-package
No need to issue a build just for this.
2021-07-08 20:59:14 +02:00
Debarshi Ray
bd527008a2 Disable DWARF compression
This mimics the change in go-rpm-macros [1] for Fedora 35.

[1] go-rpm-macros commit 9f1ba3d1d27f4e81
    https://pagure.io/go-rpm-macros/c/9f1ba3d1d27f4e81

https://bugzilla.redhat.com/show_bug.cgi?id=1961214
2021-06-28 13:56:17 +02:00
Debarshi Ray
12df1ef16a Update to 0.0.99.2
Disable the %check section because 'go test ...' isn't working as it
is in the build environment.
2021-06-26 21:58:41 +02:00
Debarshi Ray
a88a4b95ce Tweak the Summary
No need to issue a build just for this.
2021-04-29 01:02:13 +02:00
Debarshi Ray
aba1d296b5 Update to 0.0.99.1 2021-02-23 20:19:10 +01:00
24 changed files with 691 additions and 618 deletions

1
.fmf/version Normal file
View file

@ -0,0 +1 @@
1

14
.gitignore vendored
View file

@ -23,7 +23,17 @@
/toolbox-0.0.99.tar.xz
/toolbox-0.0.99.1.tar.xz
/toolbox-0.0.99.2.tar.xz
/toolbox-0.0.99.2-1.git9820550c82bb.tar.xz
/toolbox-0.0.99.2^1.git9820550c82bb.tar.xz
/toolbox-0.0.99.2^2.git40fbd377ed0b.tar.xz
/toolbox-0.0.99.2^3.git075b9a8d2779.tar.xz
/toolbox-0.0.99.2^4.git0bdfa53bb2ce.tar.xz
/toolbox-0.0.99.2-vendored.tar.xz
/toolbox-0.0.99.3.tar.xz
/toolbox-0.0.99.3-vendor.tar.xz
/toolbox-0.0.99.4-vendored.tar.xz
/toolbox-0.0.99.5-vendored.tar.xz
/toolbox-0.0.99.6-vendored.tar.xz
/toolbox-0.1.0-vendored.tar.xz
/toolbox-0.1.1-vendored.tar.xz
/toolbox-0.1.2-vendored.tar.xz
/toolbox-0.2-vendored.tar.xz
/toolbox-0.3-vendored.tar.xz

4
plans/main.fmf Normal file
View file

@ -0,0 +1,4 @@
discover:
how: fmf
execute:
how: tmt

16
rpminspect.yaml Normal file
View file

@ -0,0 +1,16 @@
# https://github.com/rpminspect/rpminspect/blob/master/data/generic.yaml
# https://github.com/rpminspect/rpminspect-data-fedora/blob/main/fedora.yaml
---
annocheck:
extra_opts:
hardened: --skip-run-path --skip-stack-prot
elf:
exclude_path: /usr/bin/toolbox
runpath:
allowed_paths:
- /run/host/usr/lib
- /run/host/usr/lib64

View file

@ -1 +1 @@
SHA512 (toolbox-0.0.99.3.tar.xz) = d9e4bd1cc7667b6ecdcf25a2c3ad7d7d67cc997168a41e668c936d2de24db774331a78a1b4a06b63e7cef8e0dc4ac5651591b6d9cec0d8e81be2b2dd64854dca
SHA512 (toolbox-0.3-vendored.tar.xz) = e464aba1c40b37b0ed027a560a0685e5dc8f07684d33d0e2bac5f0ba8c2b2c2a4c585db8847b23bd0753e33d37e3e88c87ab71d3999c3afedf315717f468c0ba

12
tests/main.fmf Normal file
View file

@ -0,0 +1,12 @@
environment:
ROOTLESS_USER: "fedora"
TMPDIR: /var/tmp
require:
- toolbox-tests
/rootless:
summary: rootless test
test: |
rpm --erase p11-kit-server
bash ./rootless-test.sh
duration: 4h

View file

@ -1,7 +0,0 @@
---
- name: create nonroot user
user:
name: testuser
shell: /bin/bash
- name: enable linger
command: loginctl enable-linger testuser

View file

@ -1,72 +0,0 @@
#!/bin/bash
#
# Run bats tests for a given $TEST_PACKAGE, e.g. buildah, podman
#
# This is invoked by the 'run_bats_tests' role; we assume that
# the package foo has a foo-tests subpackage which provides the
# directory /usr/share/foo/test/system, containing one or more .bats
# test files.
#
export PATH=/usr/local/bin:/usr/sbin:/usr/bin
FULL_LOG=/tmp/test.debug.log
BATS_LOG=/tmp/test.bats.log
rm -f $FULL_LOG $BATS_LOG
touch $FULL_LOG $BATS_LOG
exec &> $FULL_LOG
# Log program versions
echo "Packages:"
rpm -q ${TEST_PACKAGE} ${TEST_PACKAGE}-tests
echo "------------------------------"
printenv | sort
testdir=/usr/share/${TEST_PACKAGE}/test/system
if ! cd $testdir; then
echo "FAIL ${TEST_NAME} : cd $testdir" >> /tmp/test.log
exit 0
fi
if [ -e /tmp/helper.sh ]; then
echo "------------------------------"
echo ". /tmp/helper.sh"
. /tmp/helper.sh
fi
if [ "$(type -t setup)" = "function" ]; then
echo "------------------------------"
echo "\$ setup"
setup
if [ $? -ne 0 ]; then
echo "FAIL ${TEST_NAME} : setup" >> /tmp/test.log
exit 0
fi
fi
echo "------------------------------"
echo "\$ bats ."
bats . &> $BATS_LOG
rc=$?
echo "------------------------------"
echo "bats completed with status $rc"
status=PASS
if [ $rc -ne 0 ]; then
status=FAIL
fi
echo "${status} ${TEST_NAME}" >> /tmp/test.log
if [ "$(type -t teardown)" = "function" ]; then
echo "------------------------------"
echo "\$ teardown"
teardown
fi
# FIXME: for CI purposes, always exit 0. This allows subsequent tests.
exit 0

View file

@ -1,37 +0,0 @@
---
# Create empty results file, world-writable
- name: initialize test.log file
copy: dest=/tmp/test.log content='' force=yes mode=0666
- name: execute tests
include: run_one_test.yml
with_items: "{{ tests }}"
loop_control:
loop_var: test
- name: pull test.log results
fetch:
src: "/tmp/test.log"
dest: "{{ artifacts }}/test.log"
flat: yes
# Copied from standard-test-basic
- name: check results
shell: grep "^FAIL" /tmp/test.log
register: test_fails
# Never fail at this step. Just store result of tests.
failed_when: False
- name: preserve results
set_fact:
role_result_failed: "{{ (test_fails.stdout|d|length > 0) or (test_fails.stderr|d|length > 0) }}"
role_result_msg: "{{ test_fails.stdout|d('tests failed.') }}"
- name: display results
vars:
msg: |
Tests failed: {{ role_result_failed|d('Undefined') }}
Tests msg: {{ role_result_msg|d('None') }}
debug:
msg: "{{ msg.split('\n') }}"
failed_when: "role_result_failed|bool"

View file

@ -1,52 +0,0 @@
---
- name: "{{ test.name }} | install test packages"
dnf: name="{{ test.package }}-tests" state=installed
- name: "{{ test.name }} | define helper variables"
set_fact:
test_name_oneword: "{{ test.name | replace(' ','-') }}"
# UGH. This is necessary because our caller sets some environment variables
# and we need to set a few more based on other caller variables; then we
# need to combine the two dicts when running the test. This seems to be
# the only way to do it in ansible.
- name: "{{ test.name }} | define local environment"
set_fact:
local_environment:
TEST_NAME: "{{ test.name }}"
TEST_PACKAGE: "{{ test.package }}"
TEST_ENV: "{{ test.environment }}"
- name: "{{ test.name }} | setup/teardown helper | see if exists"
local_action: stat path={{ role_path }}/files/helper.{{ test_name_oneword }}.sh
register: helper
- name: "{{ test.name }} | setup/teardown helper | install"
copy: src=helper.{{ test_name_oneword }}.sh dest=/tmp/helper.sh
when: helper.stat.exists
- name: "{{ test.name }} | run test"
script: ./run_bats_tests.sh
args:
chdir: /usr/share/{{ test.package }}/test/system
become: "{{ true if test.become is defined else false }}"
become_user: testuser
environment: "{{ local_environment | combine(test.environment) }}"
- name: "{{ test.name }} | pull logs"
fetch:
src: "/tmp/test.{{ item }}.log"
dest: "{{ artifacts }}/test.{{ test_name_oneword }}.{{ item }}.log"
flat: yes
with_items:
- bats
- debug
- name: "{{ test.name }} | remove remote logs and helpers"
file:
dest=/tmp/{{ item }}
state=absent
with_items:
- test.bats.log
- test.debug.log
- helper.sh

11
tests/rootless-test.sh Normal file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
set -exo pipefail
uname -r
loginctl enable-linger "$ROOTLESS_USER"
rpm -q containers-common-extra podman toolbox
su --whitelist-environment=$(cat ./tmt-envvars | tr '\n' ',') - "$ROOTLESS_USER" -c "whoami && cd /usr/share/toolbox/test/system && bats ."

View file

@ -1,15 +0,0 @@
---
- hosts: localhost
tags: classic
vars:
- artifacts: ./artifacts
roles:
- role: nonroot_user
- role: run_bats_tests
tests:
- name: toolbox
package: toolbox
environment:
PODMAN: /usr/bin/podman
become: true

1
tests/tmt-envvars Normal file
View file

@ -0,0 +1 @@
TMPDIR

View file

@ -0,0 +1,104 @@
From 4649e50c28321185cbaa81a37efbd317b84ae840 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
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 ceb277a3640a..72b673f506b3 100644
--- a/src/cmd/run.go
+++ b/src/cmd/run.go
@@ -576,6 +576,7 @@ func constructExecArgs(container, preserveFDs string,
execArgs = append(execArgs, envOptions...)
execArgs = append(execArgs, []string{
+ "--env", "HOST=/run/host",
"--interactive",
"--preserve-fds", preserveFDs,
}...)
--
2.51.0
From b2ba8445bee988143d546bc15fa3a8a8c019aa2e Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
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 f7cd3f5480ab..7ad5f72e792f 100644
--- a/test/system/002-help.bats
+++ b/test/system/002-help.bats
@@ -33,20 +33,6 @@ teardown_file() {
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.51.0

View file

@ -1,72 +0,0 @@
From 40fbd377ed0b94060ae5fb2a60289500b66486dc Mon Sep 17 00:00:00 2001
From: Oliver Gutierrez <ogutsua@gmail.com>
Date: Thu, 29 Jul 2021 14:12:41 +0100
Subject: [PATCH] Don't use Go's semantic import versioning
Fedora doesn't support Go modules when building Go programs. This
means that source code using semantic import versioning can't be built.
---
src/cmd/create.go | 2 +-
src/go.mod | 2 +-
src/go.sum | 4 ++--
src/pkg/utils/utils.go | 2 +-
4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/cmd/create.go b/src/cmd/create.go
index 8b31365..502f691 100644
--- a/src/cmd/create.go
+++ b/src/cmd/create.go
@@ -28,7 +28,7 @@ import (
"github.com/containers/toolbox/pkg/podman"
"github.com/containers/toolbox/pkg/shell"
"github.com/containers/toolbox/pkg/utils"
- "github.com/godbus/dbus/v5"
+ "github.com/godbus/dbus"
"github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"golang.org/x/crypto/ssh/terminal"
diff --git a/src/go.mod b/src/go.mod
index cce3e5a..eb7f70c 100644
--- a/src/go.mod
+++ b/src/go.mod
@@ -8,7 +8,7 @@ require (
github.com/briandowns/spinner v1.10.0
github.com/docker/go-units v0.4.0
github.com/fsnotify/fsnotify v1.4.7
- github.com/godbus/dbus/v5 v5.0.3
+ github.com/godbus/dbus v4.1.0+incompatible
github.com/mattn/go-isatty v0.0.8
github.com/sirupsen/logrus v1.4.2
github.com/spf13/cobra v0.0.5
diff --git a/src/go.sum b/src/go.sum
index fbad155..737f058 100644
--- a/src/go.sum
+++ b/src/go.sum
@@ -20,8 +20,8 @@ github.com/fatih/color v1.7.0 h1:DkWD4oS2D8LGGgTQ6IvwJJXSL5Vp2ffcQg58nFV38Ys=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
-github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
-github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/godbus/dbus v4.1.0+incompatible h1:WqqLRTsQic3apZUK9qC5sGNfXthmPXzUZ7nQPrNITa4=
+github.com/godbus/dbus v4.1.0+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
diff --git a/src/pkg/utils/utils.go b/src/pkg/utils/utils.go
index ae7c596..4d1556a 100644
--- a/src/pkg/utils/utils.go
+++ b/src/pkg/utils/utils.go
@@ -33,7 +33,7 @@ import (
"github.com/acobaugh/osrelease"
"github.com/containers/toolbox/pkg/shell"
"github.com/docker/go-units"
- "github.com/godbus/dbus/v5"
+ "github.com/godbus/dbus"
"github.com/sirupsen/logrus"
"github.com/spf13/viper"
"golang.org/x/sys/unix"
--
2.31.1

View file

@ -1,63 +0,0 @@
From 32aa30a17358598f568991a5375f6182e4135648 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
Date: Mon, 29 Jun 2020 17:57:47 +0200
Subject: [PATCH] build: Make the build flags match Fedora's %{gobuild} for
PPC64
The Go toolchain doesn't play well with passing compiler and linker
flags via environment variables. The linker flags require a second
level of quoting, which leaves the build system without a quote level
to assign the flags to an environment variable like GOFLAGS.
This is one reason why Fedora doesn't have a RPM macro with only the
flags. The %{gobuild} RPM macro includes the entire 'go build ...'
invocation.
The Go toolchain also doesn't like the LDFLAGS environment variable as
exported by Fedora's %{meson} RPM macro.
Note that these flags are only meant for the "ppc64" CPU architecture,
and should be kept updated to match Fedora's Go guidelines. Use
'rpm --eval "%{gobuild}"' to expand the %{gobuild} macro.
---
src/go-build-wrapper | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/go-build-wrapper b/src/go-build-wrapper
index ef4aafc8b024..f8ea8370792c 100755
--- a/src/go-build-wrapper
+++ b/src/go-build-wrapper
@@ -32,9 +32,9 @@ if ! cd "$1"; then
exit 1
fi
-tags=""
+tags="-tags rpm_crashtraceback,${BUILDTAGS:-}"
if $6; then
- tags="-tags migration_path_for_coreos_toolbox"
+ tags="$tags,migration_path_for_coreos_toolbox"
fi
if ! libc_dir=$("$4" --print-file-name=libc.so); then
@@ -69,11 +69,16 @@ fi
dynamic_linker="/run/host$dynamic_linker_canonical_dirname/$dynamic_linker_basename"
+unset LDFLAGS
+
# shellcheck disable=SC2086
go build \
+ -compiler gc \
$tags \
- -trimpath \
- -ldflags "-extldflags '-Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$3" \
+ -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$3" \
+ -a \
+ -v \
+ -x \
-o "$2/toolbox"
exit "$?"
--
2.31.1

View file

@ -1,63 +0,0 @@
From 6d913f1fbd6e609957bb01273504b2f479e1b546 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
Date: Mon, 29 Jun 2020 17:57:47 +0200
Subject: [PATCH] build: Make the build flags match Fedora's %{gobuild}
The Go toolchain doesn't play well with passing compiler and linker
flags via environment variables. The linker flags require a second
level of quoting, which leaves the build system without a quote level
to assign the flags to an environment variable like GOFLAGS.
This is one reason why Fedora doesn't have a RPM macro with only the
flags. The %{gobuild} RPM macro includes the entire 'go build ...'
invocation.
The Go toolchain also doesn't like the LDFLAGS environment variable as
exported by Fedora's %{meson} RPM macro.
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 "%{gobuild}"' to expand the %{gobuild} macro.
---
src/go-build-wrapper | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/go-build-wrapper b/src/go-build-wrapper
index ef4aafc8b024..4354beceb215 100755
--- a/src/go-build-wrapper
+++ b/src/go-build-wrapper
@@ -32,9 +32,9 @@ if ! cd "$1"; then
exit 1
fi
-tags=""
+tags="-tags rpm_crashtraceback,${BUILDTAGS:-}"
if $6; then
- tags="-tags migration_path_for_coreos_toolbox"
+ tags="$tags,migration_path_for_coreos_toolbox"
fi
if ! libc_dir=$("$4" --print-file-name=libc.so); then
@@ -69,11 +69,17 @@ fi
dynamic_linker="/run/host$dynamic_linker_canonical_dirname/$dynamic_linker_basename"
+unset LDFLAGS
+
# 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' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$3" \
+ -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -compressdwarf=false -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-dynamic-linker,$dynamic_linker -Wl,-rpath,/run/host$libc_dir_canonical_dirname' -linkmode external -X github.com/containers/toolbox/pkg/version.currentVersion=$3" \
+ -a \
+ -v \
+ -x \
-o "$2/toolbox"
exit "$?"
--
2.31.1

View file

@ -0,0 +1,62 @@
From a1bb7d53fab70899c991feb9276cf93a12280750 Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
Date: Mon, 29 Jun 2020 17:57:47 +0200
Subject: [PATCH] build: Make the build flags match Fedora's %{gobuildflags}
These reflect the defaults for Fedora 39, which is the oldest supported
Fedora, barring some exceptions mentioned below.
The change to use the RPM's %{name}, %{version}, %{release} and the
SOURCE_DATE_EPOCH environment variable [1], 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 Fedora's Go guidelines. Use
'rpm --eval "%{gobuildflags}"' to expand the %{gobuildflags} macro.
[1] https://reproducible-builds.org/docs/source-date-epoch/
[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.51.0

View file

@ -0,0 +1,71 @@
From f79f96fb8f3ec528952b9719f356e871837987df Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
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.51.0

View file

@ -0,0 +1,50 @@
From 2d1b4b2492c65abd0d0bf0c71c971f550447412d Mon Sep 17 00:00:00 2001
From: Debarshi Ray <rishi@fedoraproject.org>
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.51.0

View file

@ -1,95 +0,0 @@
From e598e2160323b63310ad7b6def723eb1f8767f90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ond=C5=99ej=20M=C3=ADchal?= <harrymichal@seznam.cz>
Date: Thu, 11 Nov 2021 18:18:52 +0200
Subject: [PATCH 02/13] cmd/root: Work around Cobra 1.1.2's handling of usage
functions
In version 1.1.2 of Cobra has been included a change[0] that changes
how custom usage functions are handled.
Example of the wrong behaviour:
$ toolbox --foo
Error: unknown flag: --foo
Run 'toolbox --help' for usage.Error: Run 'toolbox --help' for usage.
Desired behaviour:
$ toolbox --foo
Error: unknown flag: --foo
Run 'toolbox --help' for usage.
A workaround is to define a template string for the usage instead. The
template uses the templating language of Go[1]. See the default
template string in version 1.2.1[2].
Because the template is set only once, the executableBase needs to be
set before the template is applied. That required the move of
setUpGlobals() into init() of the cmd package. This is a better place
for the function call as init() is called earlier than Execute()[3].
Upstream issue: https://github.com/spf13/cobra/issues/1532
[0] https://github.com/spf13/cobra/pull/1044
[1] https://pkg.go.dev/text/template
[2] https://github.com/spf13/cobra/blob/v1.2.1/command.go#L491
[3] https://golang.org/doc/effective_go#init
https://github.com/containers/toolbox/pull/917
---
src/cmd/root.go | 20 ++++++++------------
1 file changed, 8 insertions(+), 12 deletions(-)
diff --git a/src/cmd/root.go b/src/cmd/root.go
index eb0622f..ad0753b 100644
--- a/src/cmd/root.go
+++ b/src/cmd/root.go
@@ -62,11 +62,6 @@ var (
)
func Execute() {
- if err := setUpGlobals(); err != nil {
- fmt.Fprintf(os.Stderr, "Error: %s\n", err)
- os.Exit(1)
- }
-
if err := rootCmd.Execute(); err != nil {
os.Exit(1)
}
@@ -75,6 +70,11 @@ func Execute() {
}
func init() {
+ if err := setUpGlobals(); err != nil {
+ fmt.Fprintf(os.Stderr, "Error: %s\n", err)
+ os.Exit(1)
+ }
+
persistentFlags := rootCmd.PersistentFlags()
persistentFlags.BoolVarP(&rootFlags.assumeYes,
@@ -96,7 +96,9 @@ func init() {
persistentFlags.CountVarP(&rootFlags.verbose, "verbose", "v", "Set log-level to 'debug'")
rootCmd.SetHelpFunc(rootHelp)
- rootCmd.SetUsageFunc(rootUsage)
+
+ usageTemplate := fmt.Sprintf("Run '%s --help' for usage.", executableBase)
+ rootCmd.SetUsageTemplate(usageTemplate)
}
func preRun(cmd *cobra.Command, args []string) error {
@@ -188,12 +190,6 @@ func rootRun(cmd *cobra.Command, args []string) error {
return rootRunImpl(cmd, args)
}
-func rootUsage(cmd *cobra.Command) error {
- err := fmt.Errorf("Run '%s --help' for usage.", executableBase)
- fmt.Fprintf(os.Stderr, "%s", err)
- return err
-}
-
func migrate() error {
logrus.Debug("Migrating to newer Podman")
--
2.34.1

17
toolbox.conf Normal file
View file

@ -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"

1
toolbox.rpmlintrc Normal file
View file

@ -0,0 +1 @@
addFilter(r'no-%check-section')

View file

@ -1,135 +1,122 @@
%global __brp_check_rpaths %{nil}
%if 0%{?rhel}
%if 0%{?rhel} <= 9
%{!?bash_completions_dir: %global bash_completions_dir %{_datadir}/bash-completion/completions}
%{!?fish_completions_dir: %global fish_completions_dir %{_datadir}/fish/vendor_completions.d}
%{!?zsh_completions_dir: %global zsh_completions_dir %{_datadir}/zsh/site-functions}
%endif
%endif
Name: toolbox
Version: 0.0.99.3
Version: 0.3
%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.22
%if 0%{?fedora}
%global toolbx_go 1.24.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.24.4
%endif
%endif
Release: 2%{?dist}
Summary: Tool for containerized command line environments on Linux
Summary: Tool for interactive command line environments on Linux
License: ASL 2.0
License: Apache-2.0
URL: https://containertoolbx.org/
Source0: https://github.com/containers/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz
Source0: https://github.com/containers/%{name}/releases/download/%{version}/%{name}-%{version}-vendored.tar.xz
# RHEL specific
Source1: %{name}.conf
# Fedora specific
Patch100: toolbox-Don-t-use-Go-s-semantic-import-versioning.patch
Patch101: toolbox-Make-the-build-flags-match-Fedora-s-gobuild.patch
Patch102: toolbox-Make-the-build-flags-match-Fedora-s-gobuild-for-PPC64.patch
Patch103: toolbox-cmd-root-Work-around-Cobra-1.1.2-s-handling-of-usage.patch
Patch100: toolbox-Make-the-build-flags-match-Fedora.patch
BuildRequires: ShellCheck
BuildRequires: golang >= 1.13
BuildRequires: golang-github-cpuguy83-md2man
BuildRequires: golang(github.com/HarryMichal/go-version)
BuildRequires: golang(github.com/acobaugh/osrelease)
BuildRequires: golang(github.com/briandowns/spinner) >= 1.10.0
BuildRequires: golang(github.com/docker/go-units) >= 0.4.0
BuildRequires: golang(github.com/fsnotify/fsnotify) >= 1.4.7
BuildRequires: golang(github.com/godbus/dbus) >= 5.0.3
BuildRequires: golang(github.com/mattn/go-isatty) >= 0.0.12
BuildRequires: golang(github.com/sirupsen/logrus) >= 1.4.2
# BuildRequires: golang(github.com/stretchr/testify) >= 1.7.0
BuildRequires: golang(github.com/spf13/cobra) >= 0.0.5
BuildRequires: golang(golang.org/x/sys/unix)
# 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 >= 4.16.0
BuildRequires: systemd
BuildRequires: systemd-rpm-macros
%if ! 0%{?rhel}
BuildRequires: pkgconfig(fish)
# for tests
# BuildRequires: codespell
# BuildRequires: ShellCheck
%endif
Recommends: p11-kit-server
Recommends: skopeo
%if ! 0%{?rhel}
Recommends: fuse-overlayfs
%endif
Requires: containers-common
Requires: flatpak-session-helper
Requires: podman >= 1.4.0
Requires: podman >= 1.6.4
Requires: shadow-utils-subid%{?_isa} >= 4.16.0
%description
Toolbox is a tool for Linux operating systems, which allows the use of
containerized command line environments. It is built on top of Podman and
other standard container technologies from OCI.
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.
# The list of requires packages for -support and -experience should be in sync with:
# https://github.com/containers/toolbox/blob/master/images/fedora/f33/extra-packages
%package support
Summary: Required packages for the container image to support %{name}
# These are really required to make the image work with toolbox
Requires: passwd
Requires: shadow-utils
Requires: util-linux
Requires: vte-profile
%description support
The %{name}-support package contains all the required packages that are needed
to be installed in the OCI image to make it work with %{name}.
The %{name}-support package should be typically installed from the Dockerfile
if the image isn't based on the fedora-toolbox image.
%package experience
Summary: Set of packages to enhance the %{name} experience
Requires: %{name}-support = %{version}-%{release}
Requires: bash-completion
Requires: bc
Requires: bzip2
Requires: diffutils
Requires: dnf-plugins-core
Requires: findutils
Requires: flatpak-spawn
Requires: fpaste
Requires: git
Requires: gnupg
Requires: gnupg2-smime
Requires: gvfs-client
Requires: hostname
Requires: iproute
Requires: iputils
Requires: jwhois
Requires: keyutils
Requires: krb5-libs
Requires: less
Requires: lsof
Requires: man-db
Requires: man-pages
Requires: mtr
Requires: nano-default-editor
Requires: nss-mdns
Requires: openssh-clients
Requires: pigz
Requires: procps-ng
Requires: rsync
Requires: sudo
Requires: tcpdump
Requires: time
Requires: traceroute
Requires: tree
Requires: unzip
Requires: wget
Requires: which
Requires: words
Requires: xorg-x11-xauth
Requires: xz
Requires: zip
%description experience
The %{name}-experience package contains all the packages that should be
installed in the container to provide the same default experience as working
on the host.
The %{name}-experience package should be typically installed from the
Dockerfile if the image isn't based on the fedora-toolbox image.
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: bats
Requires: coreutils
Requires: gawk
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}.
@ -137,26 +124,42 @@ The %{name}-tests package contains system tests for %{name}.
%prep
%setup -q
%patch100 -p1
%ifnarch ppc64
%patch101 -p1
%else
%patch102 -p1
%if 0%{?fedora}
%patch -P100 -p1
%endif
%patch103 -p1
%if 0%{?rhel}
%if 0%{?rhel} == 9
%patch -P200 -p1
%endif
%gomkdir
%if 0%{?rhel} >= 10
%patch -P201 -p1
%endif
%if 0%{?rhel} <= 9
%patch -P202 -p1
%endif
%endif
%gomkdir -s %{_builddir}/%{extractdir}/src -k
%build
export GO111MODULE=off
export GOPATH=%{gobuilddir}:%{gopath}
export CGO_CFLAGS="%{optflags} -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
ln -s src/cmd cmd
ln -s src/pkg pkg
%meson --buildtype=plain -Dprofile_dir=%{_sysconfdir}/profile.d
%meson \
%if 0%{?rhel}
-Dfish_completions_dir=%{fish_completions_dir} \
%if 0%{?rhel} <= 9
-Dmigration_path_for_coreos_toolbox=true \
%endif
%endif
-Dprofile_dir=%{_sysconfdir}/profile.d \
-Dtmpfiles_dir=%{_tmpfilesdir} \
-Dzsh_completions_dir=%{zsh_completions_dir}
%meson_build
@ -167,60 +170,246 @@ ln -s src/pkg pkg
%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 NEWS README.md SECURITY.md
%license COPYING
%doc CODE-OF-CONDUCT.md CONTRIBUTING.md GOALS.md NEWS README.md SECURITY.md
%license COPYING src/vendor/modules.txt
%{_bindir}/%{name}
%{_datadir}/bash-completion
%{_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
%{bash_completions_dir}/%{name}.bash
%{fish_completions_dir}/%{name}.fish
%{zsh_completions_dir}/_%{name}
%files support
%files experience
%files tests
%{_datadir}/%{name}
%changelog
* Sun Jan 09 2022 Ondřej Míchal <harrymichal@fedoraproject.org> - 0.0.99.3-2
* Fri Oct 10 2025 Alejandro Sáez <asm@redhat.com> - 0.3-2
- rebuild
* Wed Sep 17 2025 Debarshi Ray <rishi@fedoraproject.org> - 0.3-1
- Update to 0.3
* Fri Aug 15 2025 Maxwell G <maxwell@gtmx.me> - 0.2-2
- Rebuild for golang-1.25.0
* Sat Aug 09 2025 Debarshi Ray <rishi@fedoraproject.org> - 0.2-1
- Update to 0.2
- Fix CVE-2025-23266, CVE-2025-23267, and GHSA-fv92-fjc5-jj9h or GO-2025-3787
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Jun 03 2025 Debarshi Ray <rishi@fedoraproject.org> - 0.1.2-1
- Update to 0.1.2
* Wed Jan 22 2025 Debarshi Ray <rishi@fedoraproject.org> - 0.1.1-3
- Use RPM macros for shell completions and clean up directory ownership
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Nov 04 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.1.1-1
- Update to 0.1.1
* Tue Oct 22 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.1.0-1
- Update to 0.1.0
* Wed Oct 16 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.6-6
- Recommend fuse-overlayfs because old containers created with it need it
* Mon Oct 07 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.6-5
- Don't use slirp4netns(1) in tests to work around bug in pasta(1)
* Fri Oct 04 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.6-4
- Use the fedora-toolbox:40 image for Fedora Asahi Remix hosts
* Thu Oct 03 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.6-3
- Unbreak the downstream Fedora CI
* Wed Oct 02 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.6-2
- Silence 'rpminspect --tests=elf'
* Mon Sep 30 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.6-1
- Update to 0.0.99.6
* Thu Sep 12 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-18
- Rebuild against shadow-utils-subid ABI version 5.0.0
* Thu Aug 08 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-17
- Ensure slirp4netns(1) is installed
* Wed Jul 31 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-16
- Avoid running out of storage space when running the tests
* Fri Jul 26 2024 Adam Williamson <awilliam@redhat.com> - 0.0.99.5-15
- Fix CI test (hopefully)
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.99.5-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jul 11 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-13
- Silence 'rpminspect --tests=stack-prot'
* Thu Jul 11 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-12
- Silence 'rpminspect --tests=annocheck' (part 2)
* Tue May 07 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-11
- Unbreak the tests with Podman 5.0
* Tue Mar 26 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-10
- Specify the golang versions for RHEL 9 and 10
* Tue Mar 05 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-9
- Conditionalize the BuildRequires on golang
* Tue Feb 27 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-8
- Unbreak Podman's downstream Fedora CI (part 2)
- Backport some new upstream tests
* Tue Feb 13 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-7
- Unbreak Podman's downstream Fedora CI
- Update the BuildRequires on golang to reflect reality
* Sun Feb 11 2024 Maxwell G <maxwell@gtmx.me> - 0.0.99.5-6
- Rebuild for golang 1.22.0
* Wed Feb 07 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-5
- Migrate to SPDX license
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.99.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 11 2024 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-3
- Drop 'Recommends: subscription-manager'
* Tue Dec 19 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-2
- Drop the experience and support subpackages
* Tue Dec 19 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.5-1
- Update to 0.0.99.5
* Tue Dec 19 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.4-10
- Require openssl(1) for the system tests in the tests subpackage
* Wed Dec 06 2023 Adam Williamson <awilliam@redhat.com> - 0.0.99.4-9
- tests subpackage: require httpd-tools for htpasswd
* Tue Dec 05 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.4-8
- Fix the conditionals for 'if RHEL <= 9'
* Thu Nov 30 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.4-7
- Track the active container on Fedora Linux Asahi Remix
* Thu Nov 09 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.4-6
- Drop the custom /etc/containers/toolbox.conf from RHEL 10 onwards
* Mon Oct 02 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.4-5
- Drop github.com/coreos/toolbox compatibility from RHEL 10 onwards
* Mon Oct 02 2023 Debarshi Ray <rishi@fedoraproject.org> - 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 <releng@fedoraproject.org> - 0.0.99.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Mar 8 2023 Nieves Montero <nmontero@redhat.com> - 0.0.99.4-2
- Sprinkle a debug log
* Wed Feb 22 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.4-1
- Update to 0.0.99.4
* Wed Feb 22 2023 Martin Jackson <mhjacks@swbell.net> - 0.0.99.3-12
- Fix the ExclusiveArch
* Tue Feb 21 2023 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.3-11
- Add ExclusiveArch to match Podman
* Thu Feb 02 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 0.0.99.3-10
- Sync packaging changes from CentOS Stream
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.99.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Dec 22 2022 Yaakov Selkowitz <yselkowi@redhat.com> - 0.0.99.3-8
- Use vendored dependencies for RHEL/ELN builds
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.99.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jul 19 2022 Maxwell G <gotmax@e.email> - 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 <zebob.m@gmail.com> - 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 <releng@fedoraproject.org> - 0.0.99.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Jan 09 2022 Ondřej Míchal <harrymichal@fedoraproject.org> - 0.0.99.3-3
- Add upstream patch fixing doubled error messages
* Fri Dec 10 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.3-2
- BuildRequire only systemd-rpm-macros as recommended by the Fedora packaging
guidelines
* Fri Dec 10 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.3-1
- Update to 0.0.99.3
- Update the URL to point to the website
* Thu Sep 02 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2-7
- Updated vendored sources
* Mon Oct 25 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-9
- Restore backwards compatibility with existing containers
* Thu Sep 02 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2-6
- Updated patch for tests fixes required for gating
* Fri Oct 22 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-8
- Ensure that binaries are run against their build-time ABI
* Thu Sep 02 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2-5
- Added skopeo as dependency of tests subpackage
* Mon Sep 13 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-7
- Rebuilt for gating tests
* Thu Sep 02 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2-4
- Added directive to apply patch for checking the XDG_RUNTIME_DIR
* Thu Sep 09 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-6
- Rebuilt for gating tests
* Wed Sep 01 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2-3
- Reverted sources to 0.0.99.2
- Vendored required bats modules for gating tests
- Added a patch for checking the XDG_RUNTIME_DIR
* Mon Aug 23 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-5
- Version bump to build and check fedora gating after fixing ansible playbooks
* Thu Aug 26 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^4.git0bdfa53bb2ce-1
- Updated sources to 0.0.99.2^4.git0bdfa53bb2ce snapshot
- Vendored required bats modules for gating tests
* Fri Aug 20 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-4
- Version bump to build and check fedora gating
* Thu Aug 26 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-1
- Updated sources to 0.0.99.2^3.git075b9a8d2779 snapshot
* Wed Aug 18 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-3
- Added Fedora gating
* Sat Jun 26 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.2-2
- Rebuild for gating checks
* Wed Aug 18 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-2
- Require containers-common for ownership of %%{_sysconfdir}/containers
* Mon Aug 09 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^3.git075b9a8d2779-1
- Updated to 0.0.99.2^3.git075b9a8d2779 snapshot
* Thu Jul 29 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^2.git40fbd377ed0b-1
- Updated to 0.0.99.2^2.git40fbd377ed0b snapshot
* Wed Jul 28 2021 Oliver Gutiérrez <ogutierrez@fedoraproject.org> - 0.0.99.2^1.git9820550c82bb-1
- Updated to 0.00.99.2^1.git9820550c82bb snapshot
* Wed Jul 28 2021 Ondřej Míchal <harrymichal@seznam.cz> - 0.0.99.2-3
- Update dependencies of -tests subpackage
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.0.99.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat Jun 26 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.99.2-1
- Update to 0.0.99.2