diff --git a/.gitignore b/.gitignore index 32c290c..460acbe 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/rpm-ostree-2021.14.tar.xz +SOURCES/rpm-ostree-2022.8.tar.xz diff --git a/.rpm-ostree.metadata b/.rpm-ostree.metadata index d0ace46..eb2531e 100644 --- a/.rpm-ostree.metadata +++ b/.rpm-ostree.metadata @@ -1 +1 @@ -600773ce823ad028fc3668c9c9c015e98c80d5dc SOURCES/rpm-ostree-2021.14.tar.xz +2f9c289889f50ee77b2c354f8722e239e5c8d42a SOURCES/rpm-ostree-2022.8.tar.xz diff --git a/SOURCES/0001-rust-scripts-Ignore-kernel-automotive-core.posttrans.patch b/SOURCES/0001-rust-scripts-Ignore-kernel-automotive-core.posttrans.patch new file mode 100644 index 0000000..904d6d2 --- /dev/null +++ b/SOURCES/0001-rust-scripts-Ignore-kernel-automotive-core.posttrans.patch @@ -0,0 +1,40 @@ +From 34cdfd6e055e79a659364c5c97ee300d1672379a Mon Sep 17 00:00:00 2001 +From: Jonathan Lebon +Date: Thu, 2 Jun 2022 11:39:55 -0400 +Subject: [PATCH] rust/scripts: Ignore `kernel-automotive-core.posttrans` + +Yet another kernel package variant whose %posttrans we want to ignore. + +As mentioned in there, I think we should change the strategy so that we +detect kernel packages like we do in the core based on its `Provides` to +know to ignore %posttrans. + +Alternatively/additionally, we should work with kernel and systemd teams +so that e.g. it short-circuits if it detects an "offline" system. That +would also benefit containers, which AFAIK even today runs dracut on +kernel installs. + +Closes: #3720 +--- + rust/src/scripts.rs | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/rust/src/scripts.rs b/rust/src/scripts.rs +index 3b15c629..1f59e390 100644 +--- a/rust/src/scripts.rs ++++ b/rust/src/scripts.rs +@@ -18,9 +18,11 @@ use phf::phf_set; + static IGNORED_PKG_SCRIPTS: phf::Set<&'static str> = phf_set! { + "glibc.prein", + // We take over depmod/dracut etc. It's `kernel` in C7 and kernel-core in F25+ ++ // XXX: we should probably change this to instead ignore based on the kernel virtual Provides + "kernel.posttrans", + "kernel-core.posttrans", + "kernel-debug-core.posttrans", ++ "kernel-automotive-core.posttrans", + // Additionally ignore posttrans scripts for the Oracle Linux `kernel-uek` package + "kernel-uek.posttrans", + // Legacy workaround +-- +2.36.1 + diff --git a/SPECS/rpm-ostree.spec b/SPECS/rpm-ostree.spec index c979f3a..0535e36 100644 --- a/SPECS/rpm-ostree.spec +++ b/SPECS/rpm-ostree.spec @@ -3,13 +3,14 @@ Summary: Hybrid image/package system Name: rpm-ostree -Version: 2021.14 +Version: 2022.8 Release: 3%{?dist} License: LGPLv2+ URL: https://github.com/coreos/rpm-ostree # This tarball is generated via "cd packaging && make -f Makefile.dist-packaging dist-snapshot" # in the upstream git. It also contains vendored Rust sources. Source0: https://github.com/coreos/rpm-ostree/releases/download/v%{version}/rpm-ostree-%{version}.tar.xz +Patch0: 0001-rust-scripts-Ignore-kernel-automotive-core.posttrans.patch ExclusiveArch: %{rust_arches} @@ -24,6 +25,8 @@ BuildRequires: rust # Enable ASAN + UBSAN %bcond_with sanitizers +# Embedded unit tests +%bcond_with bin_unit_tests # RHEL (8,9) doesn't ship zchunk today. Keep this in sync # with libdnf: https://gitlab.com/redhat/centos-stream/rpms/libdnf/-/blob/762f631e36d1e42c63a794882269d26c156b68c1/libdnf.spec#L45 @@ -33,10 +36,6 @@ BuildRequires: rust %bcond_without zchunk %endif -%if 0%{?fedora} >= 34 -%define sqlite_rpmdb_default "--enable-sqlite-rpmdb-default" -%endif - # For the autofiles bits below BuildRequires: /usr/bin/python3 # We always run autogen.sh @@ -51,7 +50,7 @@ BuildRequires: /usr/bin/g-ir-scanner BuildRequires: pkgconfig(ostree-1) >= 2021.5 BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(json-glib-1.0) -BuildRequires: pkgconfig(rpm) >= 4.16.0 +BuildRequires: pkgconfig(rpm) >= 4.14.0 BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libsystemd) BuildRequires: libcap-devel @@ -72,33 +71,57 @@ BuildRequires: pkgconfig(check) # but duplicating to be clear) BuildRequires: pkgconfig(libsolv) -# We need g++ for libdnf -BuildRequires: gcc-c++ +# These are build deps which aren't strictly required in Koji/Brew builds, but +# are required for git builds. Since they're few and tiny, we just add it here +# to keep it part of `dnf builddep`. +BuildRequires: jq + +######################################################################### +# libdnf build deps # +# # +# Copy/pasted from libdnf/libdnf.spec. Removed the irrelevant bits like # +# valgrind, rhsm, swig, python, and sanitizer stuff. # +######################################################################### -# more libdnf build deps (see libdnf's spec for versions; maintain ordering) %global libsolv_version 0.7.17 -%global libmodulemd_version 2.11.2-2 -%global librepo_version 1.13.0 -%global swig_version 3.0.12 -BuildRequires: swig >= %{swig_version} -BuildRequires: pkgconfig(modulemd-2.0) >= %{libmodulemd_version} -BuildRequires: pkgconfig(librepo) >= %{librepo_version} +%global libmodulemd_version 2.13.0 +%global librepo_version 1.13.1 + +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: libsolv-devel >= %{libsolv_version} -BuildRequires: pkgconfig(json-c) -BuildRequires: pkgconfig(cppunit) -BuildRequires: pkgconfig(sqlite3) -BuildRequires: pkgconfig(smartcols) +BuildRequires: pkgconfig(librepo) >= %{librepo_version} +BuildRequires: pkgconfig(check) +BuildRequires: pkgconfig(gio-unix-2.0) >= 2.46.0 +BuildRequires: pkgconfig(gtk-doc) +BuildRequires: rpm-devel >= 4.11.0 %if %{with zchunk} BuildRequires: pkgconfig(zck) >= 0.9.11 %endif +BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(json-c) +BuildRequires: pkgconfig(cppunit) +BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(modulemd-2.0) >= %{libmodulemd_version} +BuildRequires: pkgconfig(smartcols) +BuildRequires: gettext BuildRequires: gpgme-devel +%if 0%{?rhel} <= 8 +# In current Fedora, this is a dependency of gpgme-devel, but +# not in RHEL8. Missing this package breaks -znow. +BuildRequires: libassuan-devel +%endif -# Runtime libdnf deps Requires: libmodulemd%{?_isa} >= %{libmodulemd_version} Requires: libsolv%{?_isa} >= %{libsolv_version} Requires: librepo%{?_isa} >= %{librepo_version} +######################################################################### +# end of libdnf build deps # +######################################################################### + # For now...see https://github.com/projectatomic/rpm-ostree/pull/637 # and https://github.com/fedora-infra/fedmsg-atomic-composer/pull/17 # etc. We'll drop this dependency at some point in the future when @@ -107,6 +130,10 @@ Requires: ostree Requires: bubblewrap Requires: fuse +# For container functionality +# https://github.com/coreos/rpm-ostree/issues/3286 +Recommends: skopeo + Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description @@ -132,10 +159,8 @@ The %{name}-devel package includes the header files for %{name}-libs. %prep %autosetup -Sgit -n %{name}-%{version} -# We hit "LLVM ERROR: out of memory" with LTO on 32 bit -# https://bugzilla.redhat.com/show_bug.cgi?id=1974927 %if 0%{?__isa_bits} == 32 -sed -ie 's,^lto = true,# disabled: lto = true,' Cargo.toml +sed -ie 's,^lto = true,lto = false,' Cargo.toml %endif %build @@ -146,7 +171,7 @@ env NOCONFIGURE=1 ./autogen.sh %if 0%{?build_rustflags:1} export RUSTFLAGS="%{build_rustflags}" %endif -%configure --disable-silent-rules --enable-gtk-doc %{?sqlite_rpmdb_default} %{?with_sanitizers:--enable-sanitizers} +%configure --disable-silent-rules --enable-gtk-doc %{?rpmdb_default} %{?with_sanitizers:--enable-sanitizers} %{?with_bin_unit_tests:--enable-bin-unit-tests} %make_build @@ -188,8 +213,9 @@ $PYTHON autofiles.py > files \ '%{_sysconfdir}/rpm-ostreed.conf' \ '%{_prefix}/lib/systemd/system/*' \ '%{_libexecdir}/rpm-ostree*' \ + '%{_libexecdir}/libostree/ext/*' \ '%{_datadir}/polkit-1/actions/*.policy' \ - '%{_datadir}/dbus-1/system-services' \ + '%{_datadir}/dbus-1/system-services/*' \ '%{_datadir}/bash-completion/completions/*' $PYTHON autofiles.py > files.lib \ @@ -210,8 +236,26 @@ $PYTHON autofiles.py > files.devel \ %files libs -f files.lib %files devel -f files.devel - %changelog +* Thu Jun 09 2022 Jonathan Lebon - 2022.8-3 +- Backport https://github.com/coreos/rpm-ostree/pull/3721 + Resolves: rhbz#2094085 + +* Thu Apr 21 2022 Colin Walters - 2022.8-2 +- https://github.com/coreos/rpm-ostree/releases/tag/v2022.8 + Resolves: rhbz#2077062 + Resolves: rhbz#2023325 + +* Mon Apr 11 2022 Colin Walters - 2022.7-2 +- https://github.com/coreos/rpm-ostree/releases/tag/v2022.7 + +* Mon Feb 07 2022 Colin Walters - 2022.2-2 +- Rebase to 2022.2 + +* Mon Jan 10 2022 Colin Walters - 2022.1-2 +- Rebase to 2022.1 + Resolves: rhbz#2027476 + * Wed Dec 01 2021 Colin Walters - 2021.14-3 - Drop zchunk dependency Resolves: rhbz#2028167