Compare commits

...

6 Commits

Author SHA1 Message Date
AlmaLinux RelEng Bot
d993e6118d import CS bootc-1.16.9-1.el9 2026-09-03 07:33:28 -04:00
AlmaLinux RelEng Bot
268f96df2f import CS bootc-1.16.7-1.el9 2026-08-24 08:54:25 -04:00
AlmaLinux RelEng Bot
d486a7b66c import CS bootc-1.13.0-1.el9 2026-03-30 10:16:51 -04:00
ec3b2a7dde import CS bootc-1.8.0-2.el9_7 2025-10-20 08:41:37 +00:00
91ea74a239 import CS bootc-1.5.1-1.el9 2025-09-15 11:47:00 +00:00
dfc5913808 import CS bootc-1.1.6-3.el9_6 2025-03-31 09:43:47 +00:00
3 changed files with 198 additions and 23 deletions

View File

@ -1,2 +1,2 @@
f845ad2a14b147102fd407cff8c75f46f18485e6 SOURCES/bootc-1.1.5-vendor.tar.zstd 5bc758a75b8f2f50246d7edaf9e515b1d285eb58 SOURCES/bootc-1.16.9-vendor.tar.zstd
77fd4b2f65b52577b0f8a3c6679b04ce5eff47ac SOURCES/bootc-1.1.5.tar.zstd c8e2096560cdd17fdb2c36f0bbd7f28e92ec88f0 SOURCES/bootc-1.16.9.tar.zstd

4
.gitignore vendored
View File

@ -1,2 +1,2 @@
SOURCES/bootc-1.1.5-vendor.tar.zstd SOURCES/bootc-1.16.9-vendor.tar.zstd
SOURCES/bootc-1.1.5.tar.zstd SOURCES/bootc-1.16.9.tar.zstd

View File

@ -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,18 @@
%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 # Ensure this local build overrides anything else.
Version: 1.16.9
Release: 1%{?dist} Release: 1%{?dist}
Summary: Bootable container system Summary: Bootable container system
@ -25,7 +36,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 +47,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 +59,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 +80,229 @@ 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.
# F45+ RPM also creates rpmbuild.env in the subdir that %build will source,
# so preserve it before replacing the directory with a symlink.
cd ..
if [ -f %{name}-%{version}-build/rpmbuild.env ]; then
mv %{name}-%{version}-build/rpmbuild.env .
fi
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
* Fri Aug 21 2026 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 1.16.9-1
- New upstream release
* Thu Aug 20 2026 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 1.16.8-1
- New upstream release
* Tue Aug 04 2026 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 1.16.7-1
- New upstream release
* Tue Jul 28 2026 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 1.16.6-1
- New upstream release
* Mon Jul 27 2026 imagebuilder-bot <imagebuilder-bots+imagebuilder-bot@redhat.com> - 1.16.5-1
- New upstream release
* Wed Jun 24 2026 Joseph Marrero <jmarrero@fedoraproject.org> - 1.16.2-1
- Update to 1.16.2
- https://github.com/bootc-dev/bootc/releases/tag/v1.16.2
- Resolves: #RHEL-156438
* Fri May 01 2026 Joseph Marrero <jmarrero@fedoraproject.org> - 1.15.2-1
- Update to 1.15.2
- https://github.com/bootc-dev/bootc/releases/tag/v1.15.2
- Resolves: #RHEL-172417
* Tue Apr 14 2026 Joseph Marrero <jmarrero@fedoraproject.org> - 1.15.1-1
- Update to 1.15.1
- https://github.com/bootc-dev/bootc/releases/tag/v1.15.1
- Resolves: #RHEL-168117
* 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