Compare commits

...

No commits in common. "c8-stream-rhel" and "a10s" have entirely different histories.

14 changed files with 245 additions and 481 deletions

10
.gitignore vendored
View File

@ -1,2 +1,8 @@
SOURCES/libguestfs.keyring *~
SOURCES/supermin-5.2.1.tar.gz *.rpm
/.build-*.log
/clog
/supermin-*.tar.gz
/supermin-*.tar.gz.sig
/x86_64

View File

@ -1,2 +0,0 @@
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring
7a5a5ee7c9b13b88bc3e7719f4639da52a84aafd SOURCES/supermin-5.2.1.tar.gz

View File

@ -1,182 +0,0 @@
From b1672fa8a1fdb9c00a0fa1c04547d69abc6afb0a Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 1 Feb 2021 10:07:02 +0000
Subject: [PATCH] Open Unix.LargeFile to avoid "lstat: Value too large for
defined data type".
On 32 bit platforms, because OCaml native ints are limited to 31 bits,
there is a trap in the normal Unix.stat, Unix.lstat functions where
any field in the stat struct may overflow. The result is random
errors like:
supermin: error: lstat: Value too large for defined data type: /tmp/tmp.Ss9aYEBASm/d2/root
You would probably only see this on armv7.
The OCaml Unix module has a "LargeFile" submodule which fixes this by
using int64 for some (unfortunately not all) fields.
For more information see the OCaml sources, file
otherlibs/unix/stat.c, all instances of "EOVERFLOW".
(cherry picked from commit fd9f17c7eb63979af882533a0d234bfc8ca42de3)
---
src/format_chroot.ml | 1 +
src/format_ext2.ml | 1 +
src/format_ext2_initrd.ml | 1 +
src/format_ext2_kernel.ml | 5 +++--
src/mode_build.ml | 1 +
src/package_handler.ml | 1 +
src/ph_dpkg.ml | 1 +
src/ph_pacman.ml | 1 +
src/ph_rpm.ml | 1 +
src/supermin.ml | 1 +
src/utils.ml | 1 +
11 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/format_chroot.ml b/src/format_chroot.ml
index 346c24b..34606f7 100644
--- a/src/format_chroot.ml
+++ b/src/format_chroot.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/format_ext2.ml b/src/format_ext2.ml
index 6348c29..e311ea6 100644
--- a/src/format_ext2.ml
+++ b/src/format_ext2.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/format_ext2_initrd.ml b/src/format_ext2_initrd.ml
index 38977e6..6268442 100644
--- a/src/format_ext2_initrd.ml
+++ b/src/format_ext2_initrd.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/format_ext2_kernel.ml b/src/format_ext2_kernel.ml
index 98bff3a..3be4413 100644
--- a/src/format_ext2_kernel.ml
+++ b/src/format_ext2_kernel.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
@@ -95,8 +96,8 @@ and find_kernel_from_lib_modules debug =
let kernels =
filter_map (
fun kernel_file ->
- let size = try (stat kernel_file).st_size with Unix_error _ -> 0 in
- if size < 10000 then None
+ let size = try (stat kernel_file).st_size with Unix_error _ -> 0L in
+ if size < 10000_L then None
else (
let kernel_name = Filename.basename kernel_file in
let modpath = Filename.dirname kernel_file in
diff --git a/src/mode_build.ml b/src/mode_build.ml
index ed47366..ff7733e 100644
--- a/src/mode_build.ml
+++ b/src/mode_build.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/package_handler.ml b/src/package_handler.ml
index 0409438..f0d6db3 100644
--- a/src/package_handler.ml
+++ b/src/package_handler.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/ph_dpkg.ml b/src/ph_dpkg.ml
index 1e785de..6d4fce1 100644
--- a/src/ph_dpkg.ml
+++ b/src/ph_dpkg.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/ph_pacman.ml b/src/ph_pacman.ml
index 67f7512..50500a5 100644
--- a/src/ph_pacman.ml
+++ b/src/ph_pacman.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
index 9745efd..183b5f3 100644
--- a/src/ph_rpm.ml
+++ b/src/ph_rpm.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Utils
diff --git a/src/supermin.ml b/src/supermin.ml
index e923111..9f838d9 100644
--- a/src/supermin.ml
+++ b/src/supermin.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
open Types
diff --git a/src/utils.ml b/src/utils.ml
index b25df88..f5990ef 100644
--- a/src/utils.ml
+++ b/src/utils.ml
@@ -17,6 +17,7 @@
*)
open Unix
+open Unix.LargeFile
open Printf
let (+^) = Int64.add
--
2.31.1

View File

@ -1,29 +0,0 @@
From d5e5a787b53490c5503a598721d7b34b7d30badd Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 29 Nov 2021 14:40:15 +0000
Subject: [PATCH] Ignore zfcpdump kernel on s390x
Reported-by: Sebastian Mitterle
Thanks: Cornelia Huck
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2027375
(cherry picked from commit 9fbe476d4df0b01568d3668e6121cae7c779c8c7)
---
src/format_ext2_kernel.ml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/format_ext2_kernel.ml b/src/format_ext2_kernel.ml
index 3be4413..ea69ade 100644
--- a/src/format_ext2_kernel.ml
+++ b/src/format_ext2_kernel.ml
@@ -157,6 +157,8 @@ and kernel_filter patterns is_arm all_files =
) all_files in
let files =
List.filter (fun filename -> find filename "xen" = -1) files in
+ let files =
+ List.filter (fun filename -> find filename "zfcpdump" = -1) files in
let files =
if not is_arm then files
else (
--
2.31.1

View File

@ -1,109 +0,0 @@
From b843c724ee6e3f66991b8bd81a602e2bea0c1625 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Wed, 1 Dec 2021 10:28:36 +0000
Subject: [PATCH] Ignore unbootable kernels in /lib/modules
The previous commit didn't ignore zfcpdump kernels if found in
/lib/modules because we didn't apply the kernel filter to those paths.
Also this commit cleans up the code in general, splitting up the
multi-purpose "kernel_filter" function into two parts with clearer
roles.
Fixes: commit 9fbe476d4df0b01568d3668e6121cae7c779c8c7
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2027375
Reported-by: Yongkui Guo
(cherry picked from commit f53868ce875fc17527696a85b48c67fefa3176e7)
---
src/format_ext2_kernel.ml | 44 +++++++++++++++++++++++----------------
1 file changed, 26 insertions(+), 18 deletions(-)
diff --git a/src/format_ext2_kernel.ml b/src/format_ext2_kernel.ml
index ea69ade..79d636b 100644
--- a/src/format_ext2_kernel.ml
+++ b/src/format_ext2_kernel.ml
@@ -38,7 +38,7 @@ let rec build_kernel debug host_cpu copy_kernel kernel =
| None ->
if debug >= 1 then
printf "supermin: kernel: looking for kernels in /lib/modules/*/vmlinuz ...\n%!";
- match find_kernel_from_lib_modules debug with
+ match find_kernel_from_lib_modules debug host_cpu with
| Some k -> k
| None ->
if debug >= 1 then
@@ -89,10 +89,13 @@ and find_kernel_from_env_vars debug =
Some (kernel_env, kernel_name, kernel_version, modpath)
with Not_found -> None
-and find_kernel_from_lib_modules debug =
+and find_kernel_from_lib_modules debug host_cpu =
+ let files = glob "/lib/modules/*/vmlinuz" [GLOB_NOSORT; GLOB_NOESCAPE] in
+ let files = Array.to_list files in
+
+ let files = ignore_unbootable_kernels host_cpu files in
+
let kernels =
- let files = glob "/lib/modules/*/vmlinuz" [GLOB_NOSORT; GLOB_NOESCAPE] in
- let files = Array.to_list files in
let kernels =
filter_map (
fun kernel_file ->
@@ -114,22 +117,22 @@ and find_kernel_from_lib_modules debug =
| [] -> None
and find_kernel_from_boot debug host_cpu =
- let is_arm =
- String.length host_cpu >= 3 &&
- host_cpu.[0] = 'a' && host_cpu.[1] = 'r' && host_cpu.[2] = 'm' in
-
let all_files = Sys.readdir "/boot" in
let all_files = Array.to_list all_files in
(* In original: ls -1dvr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen *)
let patterns = patt_of_cpu host_cpu in
- let files = kernel_filter patterns is_arm all_files in
+ let files = files_matching_globs patterns all_files in
+ let files = ignore_unbootable_kernels host_cpu files in
let files =
if files <> [] then files
- else
+ else (
(* In original: ls -1dvr /boot/vmlinuz-* 2>/dev/null | grep -v xen *)
- kernel_filter ["vmlinu?-*"] is_arm all_files in
+ let files = files_matching_globs ["vmlinu?-*"] all_files in
+ let files = ignore_unbootable_kernels host_cpu files in
+ files
+ ) in
let files = List.sort (fun a b -> compare_version b a) files in
let kernels =
@@ -148,13 +151,18 @@ and find_kernel_from_boot debug host_cpu =
| kernel :: _ -> Some kernel
| [] -> None
-and kernel_filter patterns is_arm all_files =
- let files =
- List.filter
- (fun filename ->
- List.exists
- (fun patt -> fnmatch patt filename [FNM_NOESCAPE]) patterns
- ) all_files in
+and files_matching_globs patterns files =
+ List.filter
+ (fun filename ->
+ List.exists
+ (fun patt -> fnmatch patt filename [FNM_NOESCAPE]) patterns
+ ) files
+
+and ignore_unbootable_kernels host_cpu files =
+ let is_arm =
+ String.length host_cpu >= 3 &&
+ host_cpu.[0] = 'a' && host_cpu.[1] = 'r' && host_cpu.[2] = 'm' in
+
let files =
List.filter (fun filename -> find filename "xen" = -1) files in
let files =
--
2.31.1

View File

@ -1,33 +0,0 @@
From b2565eb1ddc43d8ff6e3406f11004ff42ab108aa Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 28 Feb 2022 16:54:33 -0500
Subject: [PATCH] Ignore debug kernels
On RHEL 8.2 with RT, these kernels are not bootable. The kernel in
that instance was called
/lib/modules/4.18.0-193.70.1.rt13.120.el8_2.x86_64+debug/vmlinuz
installed from the package
kernel-rt-debug-core-4.18.0-193.70.1.rt13.120.el8_2.x86_64
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2051332
(cherry picked from commit c44d685e662e001f5fe70f0a98d0964cb561e1ec)
---
src/format_ext2_kernel.ml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/format_ext2_kernel.ml b/src/format_ext2_kernel.ml
index 79d636b..c592703 100644
--- a/src/format_ext2_kernel.ml
+++ b/src/format_ext2_kernel.ml
@@ -167,6 +167,8 @@ and ignore_unbootable_kernels host_cpu files =
List.filter (fun filename -> find filename "xen" = -1) files in
let files =
List.filter (fun filename -> find filename "zfcpdump" = -1) files in
+ let files =
+ List.filter (fun filename -> find filename "+debug" = -1) files in
let files =
if not is_arm then files
else (
--
2.31.1

View File

@ -1,55 +0,0 @@
#!/bin/bash -
set -e
# Maintainer script to copy patches from the git repo to the current
# directory. Use it like this:
# ./copy-patches.sh
rhel_version=8.7.0
# Check we're in the right directory.
if [ ! -f supermin.spec ]; then
echo "$0: run this from the directory containing 'supermin.spec'"
exit 1
fi
git_checkout=$HOME/d/supermin-rhel-$rhel_version
if [ ! -d $git_checkout ]; then
echo "$0: $git_checkout does not exist"
echo "This script is only for use by the maintainer when preparing a"
echo "supermin release on RHEL."
exit 1
fi
# Get the base version of supermin.
version=`grep '^Version:' supermin.spec | awk '{print $2}'`
tag="v$version"
# Remove any existing patches.
git rm -f [0-9]*.patch ||:
rm -f [0-9]*.patch
# Get the patches.
(cd $git_checkout; rm -f [0-9]*.patch; git format-patch -N --submodule=diff $tag)
mv $git_checkout/[0-9]*.patch .
# Remove any not to be applied.
rm -f *NOT-FOR-RPM*.patch
# Add the patches.
git add [0-9]*.patch
# Print out the patch lines.
echo
echo "--- Copy the following text into supermin.spec file"
echo
echo "# Patches."
for f in [0-9]*.patch; do
n=`echo $f | awk -F- '{print $1}'`
echo "Patch$n: $f"
done
echo
echo "--- End of text"

View File

@ -1,17 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmAXzH4RHHJpY2hAYW5u
ZXhpYS5vcmcACgkQkXOPc+G3aKDLlxAAuqTnWZF8M4KYwSY1XydtgsF4CGjUmhHM
/L6KRsVOR7+hc/yevg/ZJMYieRs1jSW0FHh/16AdRjLRuLhV4BFZGd3wybbYsNUe
aIrbG4dna7pjRYN6wKZIWTNfiYnf7Mqd0MvTfU6rUN0P8O0skbI1xUpcDnViP+GR
sI+yIhM/EpithouoRBqz3sSDtkImXbepSphhnxMb64At6eLWDD09F32uHSqMBALI
ThFeu6mGWNvdsbJAVzDjoXGOynthMLGSb4mE0+uPDP3rFs0FhygNtcdn2KQDTG1S
Jd7MQ2/3w/BilSDTUY/sxqED04GSARxKINgFIOcmHvDnyPltLRX8ET8hCtCkNT1Y
6DgOvUpf77cRKZR6PiQYwor7/bvCwWmOF4AtEaq1x6aWm4D/qFrtN+ofWYsJC5Kz
qBEas7lR40SiiE8EKFDdEoyazps4ZVl5RpZO6Re4yhPbtLhiT8hwzyyNaia9MTyU
k6hU8fivnvnMCAwksJwBN35HxCRgHpOK/CP1IvoxuGA0Q5zwDp7KiHqQjszI5LIa
i2N4VNVwRi/MRrtu7l+B63elKH52SFOJhnLUdUhAJFVhB1jqXZ2y8kOWiZwB2dFc
7KPfkyGRoK39U7ipoI5sUThxl7tfkJSHpbo9/SEL7wFx2fL64oCqdz6t5T4ERPia
6ZGfgCLJNMU=
=aVXZ
-----END PGP SIGNATURE-----

6
gating.yaml Executable file
View File

@ -0,0 +1,6 @@
--- !Policy
product_versions:
- rhel-9
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: xen-ci.brew-build.tier1.functional}

BIN
libguestfs.keyring Normal file

Binary file not shown.

2
sources Normal file
View File

@ -0,0 +1,2 @@
SHA512 (supermin-5.3.4.tar.gz) = 383d783f57af3a870f1debd3c87929b1d73a12d404c3268640963967a53582419923076410d47e79de0eb2a111fe66a998258e636de41caa3ff7f296b5458797
SHA512 (supermin-5.3.4.tar.gz.sig) = 1cae330cc4cee6c48e238738a4fd26b31f21f5ffb054b0496d6eebc5e45d0599c2a9586f3e0a9fe25475ab184394bf5d4155a5c5f82b83a380da0994568c8937

View File

@ -1,3 +1,6 @@
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
# On platforms and architectures that support it, the default is # On platforms and architectures that support it, the default is
# --with dietlibc. # --with dietlibc.
# #
@ -20,19 +23,31 @@
%endif %endif
%endif %endif
%if 0%{?fedora} > 40 || 0%{?rhel} > 10
%bcond_without dnf5
%else
%bcond_with dnf5
%endif
# Whether we should verify tarball signature with GPGv2. # Whether we should verify tarball signature with GPGv2.
%global verify_tarball_signature 1 %global verify_tarball_signature 1
# The source directory. # The source directory.
%global source_directory 5.2-stable %global source_directory 5.3-development
Summary: Tool for creating supermin appliances Summary: Tool for creating supermin appliances
Name: supermin Name: supermin
Version: 5.2.1 Version: 5.3.4
Release: 2%{?dist} Release: 5%{?dist}.alma.1
License: GPLv2+ License: GPL-2.0-or-later
ExcludeArch: %{ix86} ExclusiveArch: %{kernel_arches}
%if 0%{?rhel}
%if 0%{?almalinux} < 10
# No qemu-kvm on POWER (RHBZ#1946532).
ExcludeArch: %{power64}
%endif
%endif
URL: http://people.redhat.com/~rjones/supermin/ URL: http://people.redhat.com/~rjones/supermin/
Source0: http://download.libguestfs.org/supermin/%{source_directory}/%{name}-%{version}.tar.gz Source0: http://download.libguestfs.org/supermin/%{source_directory}/%{name}-%{version}.tar.gz
@ -40,23 +55,19 @@ Source1: http://download.libguestfs.org/supermin/%{source_directory}/%{nam
# Keyring used to verify tarball signature. # Keyring used to verify tarball signature.
Source2: libguestfs.keyring Source2: libguestfs.keyring
# RHEL 8 git repository is: BuildRequires: gcc
# https://github.com/libguestfs/supermin/tree/rhel-8.7.0 BuildRequires: make
# Use 'copy-patches.sh' to copy the patches from the git repo BuildRequires: autoconf, automake
# to the current directory.
# Patches.
Patch0001: 0001-Open-Unix.LargeFile-to-avoid-lstat-Value-too-large-f.patch
Patch0002: 0002-Ignore-zfcpdump-kernel-on-s390x.patch
Patch0003: 0003-Ignore-unbootable-kernels-in-lib-modules.patch
Patch0004: 0004-Ignore-debug-kernels.patch
BuildRequires: /usr/bin/pod2man BuildRequires: /usr/bin/pod2man
BuildRequires: /usr/bin/pod2html BuildRequires: /usr/bin/pod2html
BuildRequires: rpm BuildRequires: rpm
BuildRequires: rpm-devel BuildRequires: rpm-devel
%if %{with dnf5}
BuildRequires: dnf5
%else
BuildRequires: dnf BuildRequires: dnf
BuildRequires: dnf-plugins-core BuildRequires: dnf-plugins-core
%endif
BuildRequires: /usr/sbin/mke2fs BuildRequires: /usr/sbin/mke2fs
BuildRequires: e2fsprogs-devel BuildRequires: e2fsprogs-devel
BuildRequires: findutils BuildRequires: findutils
@ -74,6 +85,14 @@ BuildRequires: gnupg2
# tests to not require these packages. # tests to not require these packages.
BuildRequires: augeas hivex kernel tar BuildRequires: augeas hivex kernel tar
%if 0%{?rhel}
%ifarch s390x
# On RHEL 9 s390x, kernel incorrectly pulls in kernel-zfcpdump-core
# https://bugzilla.redhat.com/show_bug.cgi?id=2027654
BuildRequires: kernel-core
%endif
%endif
# For complicated reasons, this is required so that # For complicated reasons, this is required so that
# /bin/kernel-install puts the kernel directly into /boot, instead of # /bin/kernel-install puts the kernel directly into /boot, instead of
# into a /boot/<machine-id> subdirectory (in Fedora >= 23). Read the # into a /boot/<machine-id> subdirectory (in Fedora >= 23). Read the
@ -82,25 +101,22 @@ BuildRequires: grubby
# https://bugzilla.redhat.com/show_bug.cgi?id=1331012 # https://bugzilla.redhat.com/show_bug.cgi?id=1331012
BuildRequires: systemd-udev BuildRequires: systemd-udev
# This only includes the dependencies needed at runtime, ie. supermin
# --build. For supermin --prepare, dependencies like dnf are placed
# in the -devel subpackage.
Requires: rpm Requires: rpm
Requires: dnf
Requires: dnf-plugins-core
Requires: util-linux-ng Requires: util-linux-ng
Requires: cpio Requires: cpio
Requires: tar Requires: tar
Requires: /usr/sbin/mke2fs Requires: /usr/sbin/mke2fs
# RHBZ#771310 # RHBZ#771310
Requires: e2fsprogs-libs >= 1.42 Requires: e2fsprogs-libs >= 1.42
Requires: findutils
# For automatic RPM dependency generation. # For automatic RPM dependency generation.
# See: http://www.rpm.org/wiki/PackagerDocs/DependencyGenerator # See: https://rpm-software-management.github.io/rpm/manual/dependency_generators.html
Source3: supermin.attr Source3: supermin.attr
Source4: supermin-find-requires Source4: supermin-find-requires
# Maintainer script which helps with handling patches.
Source5: copy-patches.sh
%description %description
Supermin is a tool for building supermin appliances. These are tiny Supermin is a tool for building supermin appliances. These are tiny
@ -108,31 +124,48 @@ appliances (similar to virtual machines), usually around 100KB in
size, which get fully instantiated on-the-fly in a fraction of a size, which get fully instantiated on-the-fly in a fraction of a
second when you need to boot one of them. second when you need to boot one of them.
Note that if you want to run 'supermin --prepare' you will need the
extra dependencies provided by %{name}-devel.
%package devel %package devel
Summary: Development tools for %{name} Summary: Development tools for %{name}
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
Requires: rpm-build Requires: rpm-build
# Dependencies needed for supermin --prepare
%if %{with dnf5}
Requires: dnf5
%else
Requires: dnf
Requires: dnf-plugins-core
%endif
Requires: findutils
%description devel %description devel
%{name}-devel contains development tools for %{name}. %{name}-devel contains development tools for %{name}.
It just contains tools for automatic RPM dependency generation It contains extra dependencies needed for 'supermin --prepare' to
from supermin appliances. work, as well as tools for automatic RPM dependency generation from
supermin appliances.
%prep %prep
%if 0%{verify_tarball_signature} %if 0%{verify_tarball_signature}
tmphome="$(mktemp -d)" %{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
%endif %endif
%setup -q %setup -q
%autopatch -p1 %autopatch -p1
%build %build
%configure --disable-network-tests autoreconf -fi
# Setting DNF is temporarily required for Rawhide. We should be able
# to remove this later. See:
# https://bugzilla.redhat.com/show_bug.cgi?id=2209412
# https://fedoraproject.org/wiki/Changes/ReplaceDnfWithDnf5
%configure %{?with_dnf5:DNF=%{_bindir}/dnf5} --disable-network-tests
%if %{with dietlibc} %if %{with dietlibc}
make -C init CC="diet gcc" make -C init CC="diet gcc"
@ -175,37 +208,181 @@ make check || {
%changelog %changelog
* Fri Mar 04 2022 Richard W.M. Jones <rjones@redhat.com> - 5.2.1-2.el8 * Thu Sep 05 2024 Eduard Abdullin <eabdullin@almalinux.org> - 5.3.4-5.alma.1
- Supermin should ignore +debug kernels - Enable building for ppc64le
resolves: rhbz#2051332
- Add copy-patches script.
* Thu Sep 2 2021 Danilo C. L. de Paula <ddepaula@redhat.com> - 5.2.1-1.el8 * Tue Jun 25 2024 Troy Dawson <tdawson@redhat.com> - 5.3.4-5
- Resolves: bz#2000225 - Bump release for June 2024 mass rebuild
(Rebase virt:rhel module:stream based on AV-8.6)
* Mon Apr 27 2020 Danilo C. L. de Paula <ddepaula@redhat.com> - 5.1.19 * Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.4-4
- Resolves: bz#1810193 - OCaml 5.2.0 ppc64le fix
(Upgrade components in virt:rhel module:stream for RHEL-8.3 release)
* Fri Jun 28 2019 Danilo de Paula <ddepaula@redhat.com> - 5.1.19-9 * Wed May 29 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.4-3
- Rebuild all virt packages to fix RHEL's upgrade path - OCaml 5.2.0 for Fedora 41
- Resolves: rhbz#1695587
(Ensure modular RPM upgrade path)
* Tue Oct 16 2018 Richard W.M. Jones <rjones@redhat.com> - 5.1.19-8 * Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.4-2
- Pass CFLAGS & LDFLAGS to final supermin link - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
resolves: rhbz#1624175
* Fri Jul 20 2018 Richard W.M. Jones <rjones@redhat.com> - 5.1.19-7 * Thu Jan 11 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.4-1
- Rebuild for OCaml 4.07.0. - New upstream version 5.3.4
- Remove patches which are now all upstream.
* Wed Jun 6 2018 Richard W.M. Jones <rjones@redhat.com> - 5.1.19-6 * Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-19
- Drop dietlibc in RHEL 8 - OCaml 5.1.1 + s390x code gen fix for Fedora 40
resolves: rhbz#1588067
* Tue May 22 2018 Richard W.M. Jones <rjones@redhat.com> - 5.1.19-5 * Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-18
- Bump release and rebuild. - OCaml 5.1.1 rebuild for Fedora 40
* Fri Nov 10 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-17
- Fix RISC-V gzip compressed kernels
* Thu Oct 05 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-16
- OCaml 5.1 rebuild for Fedora 40
* Wed Aug 02 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 5.3.3-15
- Defer dnf5 until Fedora 41
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.3-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jul 12 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-13
- OCaml 5.0 rebuild for Fedora 39
* Mon Jul 10 2023 Jerry James <loganjerry@gmail.com> - 5.3.3-10
- OCaml 5.0.0 rebuild
* Mon Jun 12 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-9
- Fix --if-newer
* Mon Jun 05 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-8
- Migrated to SPDX license
* Wed May 31 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-7
- Further fix for dnf5 (RHBZ#2211386)
* Tue May 30 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-6
- Add support for dnf5 (RHBZ#2209412)
* Fri May 19 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-5
- Rebuild against librpm 10
* Tue Jan 24 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-4
- Rebuild OCaml packages for F38
* Sat Jan 21 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-3
- Deal with new RPM database location
- https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Oct 18 2022 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-1
- New upstream development version 5.3.3
* Wed Sep 07 2022 Richard W.M. Jones <rjones@redhat.com> - 5.3.2-5
- Include all upstream patches since 5.3.2
- Add debugging and accurate exception backtraces (RHBZ#2124571).
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sat Jun 18 2022 Richard W.M. Jones <rjones@redhat.com> - 5.3.2-3
- OCaml 4.14.0 rebuild
* Sun May 15 2022 Richard W.M. Jones <rjones@redhat.com> - 5.3.2-2
- Move dependency on dnf to -devel subpackage (RHBZ#2086302)
* Fri Mar 04 2022 Richard W.M. Jones <rjones@redhat.com> - 5.3.2-1
- New upstream development version 5.3.2
* Fri Feb 04 2022 Richard W.M. Jones <rjones@redhat.com> - 5.3.1-5
- OCaml 4.13.1 rebuild to remove package notes
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Dec 01 2021 Richard W.M. Jones <rjones@redhat.com> - 5.3.1-3
- Further fix to ignore zfcpdump kernel on s390x
* Tue Nov 30 2021 Richard W.M. Jones <rjones@redhat.com> - 5.3.1-2
- Ignore zfcpdump kernel on s390x
* Thu Aug 26 2021 Richard W.M. Jones <rjones@redhat.com> - 5.3.1-1
- New upstream development version 5.3.1.
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jun 2 2021 Richard W.M. Jones <rjones@redhat.com> - 5.2.1-3
- Add gating tests (for RHEL 9)
* Fri May 07 2021 Richard W.M. Jones <rjones@redhat.com> - 5.2.1-2
- Do not include the package on POWER on RHEL 9
resolves: rhbz#1956934
* Mon Feb 01 2021 Richard W.M. Jones <rjones@redhat.com> - 5.2.1-1
- New upstream version 5.2.1.
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Thu Jan 14 2021 Richard W.M. Jones <rjones@redhat.com> - 5.2.0-6
- Remove inactive strip override (see RHBZ#1915570).
* Mon Nov 23 2020 Richard W.M. Jones <rjones@redhat.com> - 5.2.0-5
- Disable dietlibc on RHEL 9.
* Fri Aug 07 2020 Troy Dawson <tdawson@redhat.com> - 5.2.0-4
- Use ExclusiveArch: %{kernel_arches}
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Apr 03 2020 Richard W.M. Jones <rjones@redhat.com> - 5.2.0-2
- ppc64le: ibmvscsi driver missing from supermin appliance (RHBZ#1819019).
* Tue Mar 10 2020 Richard W.M. Jones <rjones@redhat.com> - 5.2.0-1
- New upstream stable version 5.2.0.
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.20-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Dec 10 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-11
- Add further patch to fix symlinks (RHBZ#1770304).
- Add all patches since 5.1.20 was released.
* Thu Nov 28 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-10
- Add upstream patch to fix symlinks on recent kernels (RHBZ#1770304).
* Wed Nov 27 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-9
- Use gpgverify macro instead of explicit gpgv2 command.
* Wed Jul 31 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-8
- OCaml 4.08.1 (rc2) rebuild.
* Sat Jul 27 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-7
- Disable package on i686 because no kernel.
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.20-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jun 10 22:13:23 CET 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.1.20-5
- Rebuild for RPM 4.15
* Mon Jun 10 15:42:06 CET 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 5.1.20-4
- Rebuild for RPM 4.15
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.20-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jan 24 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-2
- Add upstream patches to diagnose possible F29 issue.
* Thu Jan 17 2019 Richard W.M. Jones <rjones@redhat.com> - 5.1.20-1
- New upstream version 5.1.20.
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 5.1.19-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Feb 24 2018 Florian Weimer <fweimer@redhat.com> - 5.1.19-4 * Sat Feb 24 2018 Florian Weimer <fweimer@redhat.com> - 5.1.19-4
- Reenable hardened build - Reenable hardened build