Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d486a7b66c | ||
| ec3b2a7dde | |||
| 91ea74a239 | |||
| dfc5913808 |
@ -1,2 +1,2 @@
|
|||||||
f845ad2a14b147102fd407cff8c75f46f18485e6 SOURCES/bootc-1.1.5-vendor.tar.zstd
|
41a56ab6bb51f99445735cf567ace0e9297fe8bc SOURCES/bootc-1.13.0-vendor.tar.zstd
|
||||||
77fd4b2f65b52577b0f8a3c6679b04ce5eff47ac SOURCES/bootc-1.1.5.tar.zstd
|
46a80d31f9b5e715e75a5ff7d09a5663d48b0ab0 SOURCES/bootc-1.13.0.tar.zstd
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,2 +1,2 @@
|
|||||||
SOURCES/bootc-1.1.5-vendor.tar.zstd
|
SOURCES/bootc-1.13.0-vendor.tar.zstd
|
||||||
SOURCES/bootc-1.1.5.tar.zstd
|
SOURCES/bootc-1.13.0.tar.zstd
|
||||||
|
|||||||
177
SPECS/bootc.spec
177
SPECS/bootc.spec
@ -1,5 +1,6 @@
|
|||||||
%bcond_without check
|
%bcond_without check
|
||||||
%if 0%{?rhel} >= 10 || 0%{?fedora} > 41
|
%bcond_with tests
|
||||||
|
%if 0%{?rhel} >= 9 || 0%{?fedora} > 41
|
||||||
%bcond_without ostree_ext
|
%bcond_without ostree_ext
|
||||||
%else
|
%else
|
||||||
%bcond_with ostree_ext
|
%bcond_with ostree_ext
|
||||||
@ -11,8 +12,17 @@
|
|||||||
%bcond_with rhsm
|
%bcond_with rhsm
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%global rust_minor %(rustc --version | cut -f2 -d" " | cut -f2 -d".")
|
||||||
|
|
||||||
|
# https://github.com/bootc-dev/bootc/issues/1640
|
||||||
|
%if 0%{?fedora} || 0%{?rhel} >= 10 || 0%{?rust_minor} >= 89
|
||||||
|
%global new_cargo_macros 1
|
||||||
|
%else
|
||||||
|
%global new_cargo_macros 0
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: bootc
|
Name: bootc
|
||||||
Version: 1.1.5
|
Version: 1.13.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Bootable container system
|
Summary: Bootable container system
|
||||||
|
|
||||||
@ -25,7 +35,7 @@ Summary: Bootable container system
|
|||||||
# MIT OR Apache-2.0
|
# MIT OR Apache-2.0
|
||||||
# Unlicense OR MIT
|
# Unlicense OR MIT
|
||||||
License: Apache-2.0 AND BSD-3-Clause AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)
|
License: Apache-2.0 AND BSD-3-Clause AND MIT AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)
|
||||||
URL: https://github.com/containers/bootc
|
URL: https://github.com/bootc-dev/bootc
|
||||||
Source0: %{url}/releases/download/v%{version}/bootc-%{version}.tar.zstd
|
Source0: %{url}/releases/download/v%{version}/bootc-%{version}.tar.zstd
|
||||||
Source1: %{url}/releases/download/v%{version}/bootc-%{version}-vendor.tar.zstd
|
Source1: %{url}/releases/download/v%{version}/bootc-%{version}-vendor.tar.zstd
|
||||||
|
|
||||||
@ -36,6 +46,7 @@ BuildRequires: libzstd-devel
|
|||||||
BuildRequires: make
|
BuildRequires: make
|
||||||
BuildRequires: ostree-devel
|
BuildRequires: ostree-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
BuildRequires: go-md2man
|
||||||
%if 0%{?rhel}
|
%if 0%{?rhel}
|
||||||
BuildRequires: rust-toolset
|
BuildRequires: rust-toolset
|
||||||
%else
|
%else
|
||||||
@ -47,10 +58,13 @@ BuildRequires: skopeo ostree
|
|||||||
|
|
||||||
# Backing storage tooling https://github.com/containers/composefs/issues/125
|
# Backing storage tooling https://github.com/containers/composefs/issues/125
|
||||||
Requires: composefs
|
Requires: composefs
|
||||||
# For OS updates
|
# Keep this list in sync with workspace.metadata.binary-dependencies until we sync
|
||||||
|
# it automatically
|
||||||
Requires: ostree
|
Requires: ostree
|
||||||
Requires: skopeo
|
Requires: skopeo
|
||||||
Requires: podman
|
Requires: podman
|
||||||
|
Requires: util-linux-core
|
||||||
|
Requires: /usr/bin/chcon
|
||||||
# For bootloader updates
|
# For bootloader updates
|
||||||
Recommends: bootupd
|
Recommends: bootupd
|
||||||
|
|
||||||
@ -65,69 +79,194 @@ Provides: ostree-cli(ostree-container)
|
|||||||
# (-n because we don't want the subpackage name to start with bootc-)
|
# (-n because we don't want the subpackage name to start with bootc-)
|
||||||
%package -n system-reinstall-bootc
|
%package -n system-reinstall-bootc
|
||||||
Summary: Utility to reinstall the current system using bootc
|
Summary: Utility to reinstall the current system using bootc
|
||||||
Requires: podman
|
Recommends: podman
|
||||||
# The reinstall subpackage intentionally does not require bootc, as it pulls in many unnecessary dependencies
|
# The reinstall subpackage intentionally does not require bootc, as it pulls in many unnecessary dependencies
|
||||||
|
|
||||||
%description -n system-reinstall-bootc
|
%description -n system-reinstall-bootc
|
||||||
This package provides a utility to simplify reinstalling the current system to a given bootc image.
|
This package provides a utility to simplify reinstalling the current system to a given bootc image.
|
||||||
|
|
||||||
|
%if %{with tests}
|
||||||
|
%package tests
|
||||||
|
Summary: Integration tests for bootc
|
||||||
|
Requires: %{name} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description tests
|
||||||
|
This package contains the integration test suite for bootc.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%global system_reinstall_bootc_install_podman_path %{_prefix}/lib/system-reinstall-bootc/install-podman
|
||||||
|
|
||||||
|
%if 0%{?container_build}
|
||||||
|
# Source is already at /src, no subdirectory
|
||||||
|
%global _buildsubdir .
|
||||||
|
%endif
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
|
%if ! 0%{?container_build}
|
||||||
%autosetup -p1 -a1
|
%autosetup -p1 -a1
|
||||||
# Default -v vendor config doesn't support non-crates.io deps (i.e. git)
|
# Default -v vendor config doesn't support non-crates.io deps (i.e. git)
|
||||||
cp .cargo/vendor-config.toml .
|
cp .cargo/vendor-config.toml .
|
||||||
%cargo_prep -N
|
%cargo_prep -N
|
||||||
cat vendor-config.toml >> .cargo/config.toml
|
cat vendor-config.toml >> .cargo/config.toml
|
||||||
rm vendor-config.toml
|
rm vendor-config.toml
|
||||||
|
|
||||||
%build
|
|
||||||
# Build the main bootc binary
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} >= 10
|
|
||||||
%cargo_build %{?with_rhsm:-f rhsm}
|
|
||||||
%else
|
%else
|
||||||
%cargo_build %{?with_rhsm:--features rhsm}
|
# Container build: source already at _builddir (/src), nothing to extract
|
||||||
|
# RPM's %mkbuilddir creates a subdirectory; symlink it back to the source
|
||||||
|
cd ..
|
||||||
|
rm -rf %{name}-%{version}-build
|
||||||
|
ln -s . %{name}-%{version}-build
|
||||||
|
cd %{name}-%{version}-build
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Build the system reinstallation CLI binary
|
%build
|
||||||
%global cargo_args -p system-reinstall-bootc
|
export SYSTEM_REINSTALL_BOOTC_INSTALL_PODMAN_PATH=%{system_reinstall_bootc_install_podman_path}
|
||||||
%cargo_build
|
# Build this first to avoid feature skew
|
||||||
|
make manpages
|
||||||
|
|
||||||
|
# Build all binaries
|
||||||
|
%if 0%{?container_build}
|
||||||
|
# Container build: use cargo directly with cached dependencies to avoid RPM macro overhead
|
||||||
|
cargo build -j%{_smp_build_ncpus} --release %{?with_rhsm:--features rhsm} --bins
|
||||||
|
%else
|
||||||
|
# Non-container build: use RPM macros for proper dependency tracking
|
||||||
|
%if %new_cargo_macros
|
||||||
|
%cargo_build %{?with_rhsm:-f rhsm} -- --bins
|
||||||
|
%else
|
||||||
|
%cargo_build %{?with_rhsm:--features rhsm} -- --bins
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if ! 0%{?container_build}
|
||||||
%cargo_vendor_manifest
|
%cargo_vendor_manifest
|
||||||
# https://pagure.io/fedora-rust/rust-packaging/issue/33
|
# https://pagure.io/fedora-rust/rust-packaging/issue/33
|
||||||
sed -i -e '/https:\/\//d' cargo-vendor.txt
|
sed -i -e '/https:\/\//d' cargo-vendor.txt
|
||||||
%cargo_license_summary
|
%cargo_license_summary
|
||||||
%{cargo_license} > LICENSE.dependencies
|
%{cargo_license} > LICENSE.dependencies
|
||||||
|
%endif
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install INSTALL="install -p -c"
|
# Pass CARGO_FEATURES explicitly to prevent auto-detection rebuild in install environment
|
||||||
|
%make_install INSTALL="install -p -c" CARGO_FEATURES="%{?with_rhsm:rhsm}"
|
||||||
%if %{with ostree_ext}
|
%if %{with ostree_ext}
|
||||||
make install-ostree-hooks DESTDIR=%{?buildroot}
|
make install-ostree-hooks DESTDIR=%{?buildroot}
|
||||||
%endif
|
%endif
|
||||||
|
%if %{with tests}
|
||||||
|
install -D -m 0755 target/release/tests-integration %{buildroot}%{_bindir}/bootc-integration-tests
|
||||||
|
%endif
|
||||||
|
mkdir -p %{buildroot}/%{dirname:%{system_reinstall_bootc_install_podman_path}}
|
||||||
|
cat >%{?buildroot}/%{system_reinstall_bootc_install_podman_path} <<EOF
|
||||||
|
#!/bin/bash
|
||||||
|
exec dnf -y install podman
|
||||||
|
EOF
|
||||||
|
chmod +x %{?buildroot}/%{system_reinstall_bootc_install_podman_path}
|
||||||
|
# generate doc file list excluding directories; workaround for
|
||||||
|
# https://github.com/coreos/rpm-ostree/issues/5420
|
||||||
|
touch %{?buildroot}/%{_docdir}/bootc/baseimage/base/sysroot/.keepdir
|
||||||
|
find %{?buildroot}/%{_docdir} ! -type d -printf '%{_docdir}/%%P\n' | sort > bootcdoclist.txt
|
||||||
|
|
||||||
|
rm -f %{buildroot}/%{_datadir}/elvish/lib/bootc.elv
|
||||||
|
rm -f %{buildroot}/%{_datadir}/powershell/Modules/Bootc/Bootc.psm1
|
||||||
|
|
||||||
%if %{with check}
|
%if %{with check}
|
||||||
%check
|
%check
|
||||||
%cargo_test
|
if grep -qEe 'Seccomp:.*0$' /proc/self/status; then
|
||||||
|
%cargo_test
|
||||||
|
else
|
||||||
|
echo "skipping unit tests due to https://github.com/rpm-software-management/mock/pull/1613#issuecomment-3421908652"
|
||||||
|
fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%files
|
%files -f bootcdoclist.txt
|
||||||
%license LICENSE-MIT
|
%license LICENSE-MIT
|
||||||
%license LICENSE-APACHE
|
%license LICENSE-APACHE
|
||||||
|
%if ! 0%{?container_build}
|
||||||
%license LICENSE.dependencies
|
%license LICENSE.dependencies
|
||||||
%license cargo-vendor.txt
|
%license cargo-vendor.txt
|
||||||
|
%endif
|
||||||
%doc README.md
|
%doc README.md
|
||||||
%{_bindir}/bootc
|
%{_bindir}/bootc
|
||||||
%{_prefix}/lib/bootc/
|
%{_prefix}/lib/bootc/
|
||||||
%{_prefix}/lib/systemd/system-generators/*
|
%{_prefix}/lib/systemd/system-generators/*
|
||||||
|
%{_prefix}/lib/dracut/modules.d/51bootc/
|
||||||
%if %{with ostree_ext}
|
%if %{with ostree_ext}
|
||||||
%{_prefix}/libexec/libostree/ext/*
|
%{_prefix}/libexec/libostree/ext/*
|
||||||
%endif
|
%endif
|
||||||
%{_unitdir}/*
|
%{_unitdir}/*
|
||||||
%{_docdir}/bootc/*
|
%{_mandir}/man*/*bootc*
|
||||||
%{_mandir}/man*/bootc*
|
%if 0%{?rhel} && 0%{?rhel} <= 9
|
||||||
|
%{_datadir}/bash-completion/completions/bootc
|
||||||
|
%{_datadir}/zsh/site-functions/_bootc
|
||||||
|
%{_datadir}/fish/vendor_completions.d/bootc.fish
|
||||||
|
%else
|
||||||
|
%{bash_completions_dir}/bootc
|
||||||
|
%{zsh_completions_dir}/_bootc
|
||||||
|
%{fish_completions_dir}/bootc.fish
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n system-reinstall-bootc
|
%files -n system-reinstall-bootc
|
||||||
%{_bindir}/system-reinstall-bootc
|
%{_bindir}/system-reinstall-bootc
|
||||||
|
%{system_reinstall_bootc_install_podman_path}
|
||||||
|
|
||||||
|
%if %{with tests}
|
||||||
|
%files tests
|
||||||
|
%{_bindir}/bootc-integration-tests
|
||||||
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Feb 24 2026 Colin Walters <walters@verbum.org> - 1.13.0-1
|
||||||
|
- Update to 1.13.0
|
||||||
|
- https://github.com/bootc-dev/bootc/releases/tag/v1.13.0
|
||||||
|
- Resolves: RHEL-151443
|
||||||
|
|
||||||
|
* Fri Jan 17 2026 Colin Walters <walters@verbum.org> - 1.12.1-1
|
||||||
|
- Update to 1.12.1
|
||||||
|
- Fix mount point check regression breaking bootc-image-builder
|
||||||
|
- Resolves: RHEL-142112
|
||||||
|
|
||||||
|
* Thu Jan 09 2026 Colin Walters <walters@verbum.org> - 1.12.0-1
|
||||||
|
- Update to 1.12.0
|
||||||
|
- Resolves: RHEL-140335
|
||||||
|
|
||||||
|
* Thu Oct 30 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.10.0-1
|
||||||
|
- Update to 1.10.0
|
||||||
|
- Resolves: #RHEL-125340
|
||||||
|
|
||||||
|
* Fri Sep 05 2025 Colin Walters <walters@verbum.org> - 1.8.0-2
|
||||||
|
- Update to 1.8.0
|
||||||
|
|
||||||
|
* Tue Aug 26 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.7.1-1
|
||||||
|
- Update to 1.7.1
|
||||||
|
- Resolves: #RHEL-111339
|
||||||
|
|
||||||
|
* Thu Aug 21 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.7.0-1
|
||||||
|
- Update to 1.7.0
|
||||||
|
- Resolves: #RHEL-109555
|
||||||
|
|
||||||
|
* Fri Jul 22 2025 Gursewak Mangat <gurssing@redhat.com> - 1.5.1-1
|
||||||
|
- Update to 1.5.1
|
||||||
|
- Resolves: #RHEL-104335
|
||||||
|
|
||||||
|
* Fri Jul 11 2025 Gursewak Mangat <gurssing@redhat.com> - 1.4.0-1
|
||||||
|
- Update to 1.4.0
|
||||||
|
- Resolves: #RHEL-103125
|
||||||
|
|
||||||
|
* Fri May 30 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.3.0-1
|
||||||
|
- Update to 1.3.0
|
||||||
|
- Resolves: #RHEL-94597
|
||||||
|
|
||||||
|
* Tue Apr 15 2025 John Eckersberg <jeckersb@redhat.com> - 1.1.7-1
|
||||||
|
- Update to 1.1.7
|
||||||
|
- Resolves: #RHEL-87207
|
||||||
|
|
||||||
|
* Thu Mar 06 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.1.6-3
|
||||||
|
- Backport https://github.com/containers/bootc/pull/1167
|
||||||
|
- Resolves: #RHEL-82293
|
||||||
|
|
||||||
|
* Wed Feb 19 2025 John Eckersberg <jeckersb@redhat.com> - 1.1.5-2
|
||||||
|
- Sync specfile from upstream
|
||||||
|
- Resolves: #RHEL-80264
|
||||||
|
- Resolves: #RHEL-81981
|
||||||
|
|
||||||
* Mon Feb 10 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.1.5-1
|
* Mon Feb 10 2025 Joseph Marrero <jmarrero@fedoraproject.org> - 1.1.5-1
|
||||||
- Update to 1.1.5
|
- Update to 1.1.5
|
||||||
- Resolves: #RHEL-77733
|
- Resolves: #RHEL-77733
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user