6fa390
# RHEL's RPM toolchain doesn't like the compressed DWARF data generated by the
6fa390
# Go toolchain.
6fa390
%global _dwz_low_mem_die_limit 0
6fa390
%global _find_debuginfo_dwz_opts %{nil}
6fa390
6fa390
Name:          toolbox
049014
Version:       0.0.99.3
6fa390
6fa390
%global goipath github.com/containers/%{name}
6fa390
%gometa
6fa390
6fa390
Release:       1%{?dist}
6fa390
Summary:       Unprivileged development environment
6fa390
6fa390
License:       ASL 2.0
6fa390
URL:           https://github.com/containers/%{name}
6fa390
6fa390
# https://github.com/containers/%%{name}/releases/download/%%{version}/%%{name}-%%{version}.tar.xz
6fa390
# A vendored tarball was created from the upstream tarball:
6fa390
# $ cd src
6fa390
# $ go mod vendor
6fa390
Source0:       %{name}-%{version}-vendored.tar.xz
049014
Source1:       %{name}.conf
6fa390
6fa390
# RHEL specific
6fa390
Patch100:      toolbox-Make-the-build-flags-match-RHEL-s-gobuild.patch
6fa390
Patch101:      toolbox-Make-the-build-flags-match-RHEL-s-gobuild-for-PPC64.patch
049014
Patch102:      toolbox-cmd-run-Make-sosreport-work-by-setting-the-HOST-envi.patch
049014
Patch103:      toolbox-cmd-root-Suggest-a-way-forward-if-coreos-toolbox-was.patch
6fa390
6fa390
# https://bugzilla.redhat.com/show_bug.cgi?id=1905383
6fa390
ExcludeArch:   %{ix86}
6fa390
6fa390
BuildRequires: golang >= 1.13
6fa390
BuildRequires: go-md2man
6fa390
BuildRequires: meson
6fa390
BuildRequires: pkgconfig(bash-completion)
6fa390
BuildRequires: systemd
6fa390
049014
Requires:      containers-common
6fa390
Requires:      podman >= 1.4.0
6fa390
6fa390
6fa390
%description
6fa390
Toolbox is a tool for Linux operating systems, which allows the use of
6fa390
containerized command line environments. It is built on top of Podman and
6fa390
other standard container technologies from OCI.
6fa390
6fa390
6fa390
%package       tests
6fa390
Summary:       Tests for %{name}
6fa390
6fa390
Requires:      %{name}%{?_isa} = %{version}-%{release}
6fa390
6fa390
%description   tests
6fa390
The %{name}-tests package contains system tests for %{name}.
6fa390
6fa390
6fa390
%prep
6fa390
%setup -q
6fa390
6fa390
%ifnarch ppc64
6fa390
%patch100 -p1
6fa390
%else
6fa390
%patch101 -p1
6fa390
%endif
6fa390
049014
%patch102 -p1
049014
%patch103 -p1
049014
6fa390
# %%gomkdir is absent from RHEL 8.
6fa390
GOBUILDDIR="$(pwd)/_build"
6fa390
GOSOURCEDIR="$(pwd)"
6fa390
if [[ ! -e "$GOBUILDDIR/bin" ]] ; then
6fa390
  install -m 0755 -vd "$GOBUILDDIR/bin"
6fa390
fi
6fa390
if [[ ! -e "$GOBUILDDIR/src/%{goipath}" ]] ; then
6fa390
  install -m 0755 -vd "$(dirname $GOBUILDDIR/src/%{goipath})"
6fa390
  ln -fs "$GOSOURCEDIR" "$GOBUILDDIR/src/%{goipath}"
6fa390
fi
6fa390
cd "$GOBUILDDIR/src/%{goipath}"
6fa390
6fa390
6fa390
%build
6fa390
export GO111MODULE=off
6fa390
GOBUILDDIR="$(pwd)/_build"
6fa390
export GOPATH="$GOBUILDDIR:%{gopath}"
6fa390
export CGO_CFLAGS="%{optflags} -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
6fa390
ln -s src/cmd cmd
6fa390
ln -s src/pkg pkg
6fa390
ln -s src/vendor vendor
6fa390
%meson --buildtype=plain -Dprofile_dir=%{_sysconfdir}/profile.d
6fa390
%meson_build
6fa390
6fa390
6fa390
%install
6fa390
%meson_install
049014
install -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/containers/%{name}.conf
6fa390
6fa390
6fa390
%files
6fa390
%doc CODE-OF-CONDUCT.md NEWS README.md SECURITY.md
6fa390
%license COPYING
6fa390
%{_bindir}/%{name}
6fa390
%{_datadir}/bash-completion
6fa390
%{_mandir}/man1/%{name}.1*
6fa390
%{_mandir}/man1/%{name}-*.1*
049014
%config(noreplace) %{_sysconfdir}/containers/%{name}.conf
6fa390
%{_sysconfdir}/profile.d/%{name}.sh
6fa390
%{_tmpfilesdir}/%{name}.conf
6fa390
6fa390
%files tests
6fa390
%{_datadir}/%{name}
6fa390
6fa390
6fa390
%changelog
049014
* Thu Dec 23 2021 Jindrich Novy <jnovy@redhat.com> - 0.0.99.3-1
049014
- Sync toolbox version with rhel8-8.6.0
049014
- Related: #2034066
049014
6fa390
* Tue Jan 12 2021 Jindrich Novy <jnovy@redhat.com> - 0.0.99-1
6fa390
- Update to 0.0.99
6fa390
- Related: #1883490
6fa390
6fa390
* Tue Jan 12 2021 Jindrich Novy <jnovy@redhat.com> - 0.0.98.1-3
6fa390
- remove bats as it's not present in RHEL
6fa390
- Related: #1883490
6fa390
6fa390
* Mon Jan 11 2021 Jindrich Novy <jnovy@redhat.com> - 0.0.98.1-2
6fa390
- harden the toolbox binary
6fa390
- minor fixes
6fa390
- Related: #1883490
6fa390
6fa390
* Fri Jan 08 2021 Debarshi Ray <rishi@fedoraproject.org> - 0.0.98.1-1
6fa390
- Rebase to github.com/containers/toolbox