diff --git a/.gitignore b/.gitignore index 802a12f..a03669c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/osbuild-110.tar.gz +SOURCES/osbuild-141.2.tar.gz diff --git a/.osbuild.metadata b/.osbuild.metadata index b59a0aa..f437706 100644 --- a/.osbuild.metadata +++ b/.osbuild.metadata @@ -1 +1 @@ -a34b43322aef7a58ce2d4faa97029aed690d1de0 SOURCES/osbuild-110.tar.gz +632a961b280fcdc983fd9f8012e751311c1dcbca SOURCES/osbuild-141.2.tar.gz diff --git a/SPECS/osbuild.spec b/SPECS/osbuild.spec index 3525f74..532b1a8 100644 --- a/SPECS/osbuild.spec +++ b/SPECS/osbuild.spec @@ -1,7 +1,7 @@ %global forgeurl https://github.com/osbuild/osbuild %global selinuxtype targeted -Version: 110 +Version: 141.2 %forgemeta @@ -27,7 +27,6 @@ Requires: bash Requires: bubblewrap Requires: coreutils Requires: curl -Requires: dnf Requires: e2fsprogs Requires: glibc Requires: policycoreutils @@ -38,6 +37,7 @@ Requires: tar Requires: util-linux Requires: python3-%{pypi_name} = %{version}-%{release} Requires: (%{name}-selinux if selinux-policy-%{selinuxtype}) +Requires: python3-librepo # This is required for `osbuild`, for RHEL-10 and above # the stdlib toml package can be used instead @@ -121,6 +121,7 @@ containers it uses to build OS artifacts. Summary: Extra tools and utilities Requires: %{name} = %{version}-%{release} Requires: python3-pyyaml +Requires: python3-dnf # These are required for `osbuild-dev`, only packaged for Fedora %if 0%{?fedora} @@ -137,28 +138,40 @@ manifests and osbuild. Summary: Dependency solving support for DNF Requires: %{name} = %{version}-%{release} -# Fedora 40 and later use libdnf5, RHEL and Fedora < 40 use libdnf -%if 0%{?fedora} >= 40 -Requires: python3-libdnf5 >= 5.1.1 +# RHEL 11 and Fedora 41 and later use libdnf5, RHEL < 11 and Fedora < 41 use dnf +# On Fedora 41 however, we force dnf4 (and depend on python3-dnf) until dnf5 issues are resolved. +# See https://github.com/rpm-software-management/dnf5/issues/1748 +# and https://issues.redhat.com/browse/COMPOSER-2361 +%if 0%{?rhel} >= 11 +Requires: python3-libdnf5 >= 5.2.1 %else -Requires: python3-libdnf +Requires: python3-dnf %endif +# osbuild 125 added a new "solver" field and osbuild-composer only +# supports this since 116 +Conflicts: osbuild-composer <= 115 + +# This version needs to get bumped every time the osbuild-dnf-json +# version changes in an incompatible way. Packages like osbuild-composer +# can depend on the exact API version this way +Provides: osbuild-dnf-json-api = 8 + %description depsolve-dnf Contains depsolving capabilities for package managers. %prep %forgeautosetup -p1 +%build +%py3_build +make man + ln -rs %{_builddir}/%{name}-%{version}/runners/org.osbuild.rhel82 %{_builddir}/%{name}-%{version}/runners/org.osbuild.almalinux8 %if 0%{?almalinux} >= 9 ln -rs %{_builddir}/%{name}-%{version}/runners/org.osbuild.centos9 %{_builddir}/%{name}-%{version}/runners/org.osbuild.almalinux9 %endif -%build -%py3_build -make man - # SELinux make -f /usr/share/selinux/devel/Makefile osbuild.pp bzip2 -9 osbuild.pp @@ -218,11 +231,18 @@ install -p -m 0755 data/10-osbuild-inhibitor.rules %{buildroot}%{_udevrulesdir} # Install `osbuild-depsolve-dnf` into libexec mkdir -p %{buildroot}%{_libexecdir} -# Fedora 40 and later use dnf5-json, RHEL and Fedora < 40 use dnf-json -%if 0%{?fedora} >= 40 -install -p -m 0755 tools/osbuild-depsolve-dnf5 %{buildroot}%{_libexecdir}/osbuild-depsolve-dnf -%else install -p -m 0755 tools/osbuild-depsolve-dnf %{buildroot}%{_libexecdir}/osbuild-depsolve-dnf + +# Configure the solver for dnf +mkdir -p %{buildroot}%{_datadir}/osbuild +# RHEL 11 and Fedora 41 and later use dnf5, RHEL < 11 and Fedora < 41 use dnf +# On Fedora 41 however, we force dnf4 (and depend on python3-dnf) until dnf5 issues are resolved. +# See https://github.com/rpm-software-management/dnf5/issues/1748 +# and https://issues.redhat.com/browse/COMPOSER-2361 +%if 0%{?rhel} >= 11 +install -p -m 0644 tools/solver-dnf5.json %{buildroot}%{pkgdir}/solver.json +%else +install -p -m 0644 tools/solver-dnf.json %{buildroot}%{pkgdir}/solver.json %endif %check @@ -294,16 +314,78 @@ fi %selinux_relabel_post -s %{selinuxtype} %files tools +%{_bindir}/osbuild-image-info %{_bindir}/osbuild-mpp %{?fedora:%{_bindir}/osbuild-dev} %files depsolve-dnf %{_libexecdir}/osbuild-depsolve-dnf +%{pkgdir}/solver.json %changelog -* Thu Mar 28 2024 Eduard Abdullin - 110-1.alma.1 +* Tue May 13 2025 Eduard Abdullin - 141.2-1.alma.1 - Add AlmaLinux runners +* Wed Apr 02 2025 Tomáš Hozza - 141.2-1 +- Resolve RHEL-85560 + +* Wed Feb 12 2025 imagebuilder-bot - 141-1 +- New upstream release + +* Wed Feb 05 2025 imagebuilder-bot - 140-1 +- New upstream release + +* Thu Jan 30 2025 imagebuilder-bot - 139-1 +- New upstream release + +* Thu Jan 16 2025 imagebuilder-bot - 138-1 +- New upstream release + +* Thu Dec 19 2024 imagebuilder-bot - 137-1 +- New upstream release + +* Wed Dec 04 2024 imagebuilder-bot - 136-1 +- New upstream release + +* Sat Nov 23 2024 imagebuilder-bot - 135-1 +- New upstream release + +* Wed Oct 23 2024 imagebuilder-bot - 132-1 +- New upstream release + +* Wed Oct 09 2024 imagebuilder-bot - 131-1 +- New upstream release + +* Thu Sep 26 2024 Tomáš Hozza - 130-1 +- New upstream release + +* Wed Aug 21 2024 imagebuilder-bot - 126-1 +- New upstream release + +* Wed Aug 14 2024 imagebuilder-bot - 125-1 +- New upstream release + +* Thu Aug 01 2024 imagebuilder-bot - 124-1 +- New upstream release + +* Thu Jul 25 2024 imagebuilder-bot - 123-1 +- New upstream release + +* Tue Jul 23 2024 Tomáš Hozza - 122-2 +- Run tests only on x86_64 + +* Thu Jul 04 2024 imagebuilder-bot - 122-1 +- New upstream release + +* Thu May 23 2024 imagebuilder-bot - 119-1 +- New upstream release + +* Fri May 10 2024 imagebuilder-bot - 118-1 +- New upstream release + +* Wed Feb 28 2024 imagebuilder-bot - 111-1 +- New upstream release + * Mon Feb 26 2024 imagebuilder-bot - 110-1 - New upstream release