Compare commits

..

67 commits

Author SHA1 Message Date
Jerry James
809fd5e0a1 Fix a changelog entry 2026-01-13 20:49:14 -07:00
Richard W.M. Jones
1ce3d77b47 OCaml 5.4.0 rebuild 2025-10-13 18:50:43 +01:00
Fedora Release Engineering
dbb5a2fe0e Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 18:54:20 +00:00
Jerry James
dfd1c6610d Rebuild to fix OCaml dependencies 2025-07-11 14:39:10 -06:00
Fedora Release Engineering
1c53902718 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 11:59:02 +00:00
Jerry James
38ee6830fa OCaml 5.3.0 rebuild for Fedora 42 2025-01-09 13:28:26 -07:00
Richard W.M. Jones
42c5e1c360 Use stable owner, group and mtime in base.tar.gz (RHBZ#2320025) 2024-10-21 14:34:22 +01:00
Richard W.M. Jones
4a1323f319 New upstream version 5.3.5 2024-08-31 10:39:53 +01:00
Fedora Release Engineering
50e0475ea7 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 06:44:22 +00:00
Richard W.M. Jones
479078fe0c OCaml 5.2.0 ppc64le fix 2024-06-19 13:38:14 +01:00
Richard W.M. Jones
0ca25557e7 OCaml 5.2.0 for Fedora 41 2024-05-29 18:11:21 +01:00
Fedora Release Engineering
836dd0b229 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 04:46:06 +00:00
Richard W.M. Jones
0c6d8abf11 Fix date in changelog 2024-01-11 12:51:13 +00:00
Richard W.M. Jones
61460d5d8f New upstream version 5.3.4
Remove patches which are now all upstream.
2024-01-11 12:27:27 +00:00
Richard W.M. Jones
e50448eed6 OCaml 5.1.1 + s390x code gen fix for Fedora 40 2023-12-18 13:45:35 +00:00
Richard W.M. Jones
a3f30e63dc OCaml 5.1.1 rebuild for Fedora 40 2023-12-12 14:02:50 +00:00
Richard W.M. Jones
2417d4becf Fix RISC-V gzip compressed kernels 2023-11-10 11:03:54 +00:00
Richard W.M. Jones
6f9f7bfc2e OCaml 5.1 rebuild for Fedora 40 2023-10-05 14:59:46 +01:00
Yaakov Selkowitz
b394af62b0 Defer dnf5 until Fedora 41
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EYE2JY537OM7GFW46EK7YIBLHJ52USAZ/
2023-08-02 17:01:41 -04:00
Fedora Release Engineering
191d0e7909 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-22 02:51:21 +00:00
Richard W.M. Jones
47169f1699 Reenable stripping (further fix) 2023-07-12 22:53:51 +01:00
Richard W.M. Jones
1addc80aac Reenable stripping 2023-07-12 22:42:41 +01:00
Richard W.M. Jones
61395e3f5a Disable stripping on bytecode platforms as that breaks the binary. 2023-07-12 11:34:18 +01:00
Richard W.M. Jones
e1702f8c28 OCaml 5.0 rebuild for Fedora 39 2023-07-11 23:20:40 +01:00
Richard W.M. Jones
4e7d4fef4c ExcludeArch i686 (https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/SPML7CUBSZNI36NLXGVHEG7DNHU3EWOJ/) 2023-07-11 11:36:26 +01:00
Jerry James
0190d0f55f OCaml 5.0.0 rebuild 2023-07-10 15:49:18 -06:00
Richard W.M. Jones
1ae35926e5 Fix --if-newer 2023-06-12 13:10:51 +01:00
Richard W.M. Jones
a020f9a10e Migrated to SPDX license 2023-06-05 16:02:00 +01:00
Richard W.M. Jones
5283ce36d8 Further fix for dnf5 (RHBZ#2211386) 2023-05-31 13:02:07 +01:00
Richard W.M. Jones
23e3141c9d Temporarily set DNF=dnf5 2023-05-30 10:38:29 +01:00
Richard W.M. Jones
27e02e0188 Add support for dnf5 (RHBZ#2209412) 2023-05-30 09:24:07 +01:00
Richard W.M. Jones
8b8563ecd9 Rebuild against librpm 10 2023-05-19 13:04:13 +01:00
Richard W.M. Jones
1a507fd401 Rebuild OCaml packages for F38 2023-01-24 10:35:30 +00:00
Richard W.M. Jones
29efa3fac5 Deal with new RPM database location
https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
2023-01-21 09:42:55 +00:00
Fedora Release Engineering
aa8ebc6a2e Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 04:21:04 +00:00
Richard W.M. Jones
444d564619 New upstream development version 5.3.3 2022-10-18 14:48:32 +01:00
Richard W.M. Jones
c0e4947ad7 Unconditionally run autoreconf 2022-09-07 16:26:53 +01:00
Richard W.M. Jones
1951f6acfa Include all upstream patches since 5.3.2
Add debugging and accurate exception backtraces (RHBZ#2124571).
2022-09-07 16:17:52 +01:00
Fedora Release Engineering
1aa63b8ba2 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 09:44:53 +00:00
Richard W.M. Jones
0999d4f711 OCaml 4.14.0 rebuild 2022-06-18 15:25:48 +01:00
Richard W.M. Jones
aab96d51f3 Move dependency on dnf to -devel subpackage (RHBZ#2086302) 2022-05-15 18:17:52 +01:00
Richard W.M. Jones
2058048768 Remove upstream patches 2022-03-04 13:39:22 +00:00
Richard W.M. Jones
ac4b685403 New upstream development version 5.3.2 2022-03-04 13:32:40 +00:00
Richard W.M. Jones
767dca226a Fix link to dependency generator documentation 2022-02-28 13:07:44 +00:00
Richard W.M. Jones
13688555ee OCaml 4.13.1 rebuild to remove package notes 2022-02-04 18:12:39 +00:00
Fedora Release Engineering
304198ebcf - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 01:58:06 +00:00
Richard W.M. Jones
80d74621ab Further fix to ignore zfcpdump kernel on s390x 2021-12-01 10:40:14 +00:00
Richard W.M. Jones
87c3622fef Work around incorrect kernel provides on RHEL 9 s390x
On RHEL 9 s390x, kernel incorrectly pulls in kernel-zfcpdump-core
https://bugzilla.redhat.com/show_bug.cgi?id=2027654
2021-11-30 11:02:04 +00:00
Richard W.M. Jones
8d0c6850b4 Ignore zfcpdump kernel on s390x 2021-11-30 09:01:52 +00:00
Richard W.M. Jones
58de4c8249 New upstream development version 5.3.1. 2021-08-26 16:46:08 +01:00
Fedora Release Engineering
eb5a05494e - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 18:34:45 +00:00
Richard W.M. Jones
eb8e677daa Remove bogus timestamp added by rpmdev-bumpspec 2021-06-02 10:36:22 +01:00
Richard W.M. Jones
c4dc459160 Add gating tests (for RHEL 9) 2021-06-02 10:34:35 +01:00
Richard W.M. Jones
3f2b7f0a26 Do not include the package on POWER on RHEL 9
resolves: rhbz#1956934
2021-05-07 13:28:18 +01:00
Richard W.M. Jones
084b2b0908 Add upstream patch for stat field overflow on armv7. 2021-02-01 10:14:26 +00:00
Richard W.M. Jones
d4841876ba Remove patch which is included in 5.2.1.
Enable GPG signature verification.
2021-02-01 09:48:54 +00:00
Richard W.M. Jones
987c3207fc New upstream version 5.2.1. 2021-02-01 09:43:19 +00:00
Fedora Release Engineering
690d7f8122 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 21:19:46 +00:00
Richard W.M. Jones
661449a5ad Remove inactive strip override (see RHBZ#1915570). 2021-01-14 12:08:11 +00:00
Tom Stellard
024ce82026 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 22:05:59 +00:00
Richard W.M. Jones
a90c9f99bd Tidy up comment, since RHEL is a no-dietlibc platform. 2020-11-23 09:15:47 +00:00
Richard W.M. Jones
c8365175e3 Disable dietlibc on RHEL 9. 2020-11-23 08:24:31 +00:00
Troy Dawson
517a7171c7 Use ExclusiveArch: %{kernel_arches}
kernel_arches is a new rpm macro variable that is now in the Fedora buildroot as of redhat-rpm-config-167.
It lists what architectures the full kernel is built on.
Architectures that only have the kernel-header (such as i686) is not listed.
Thus, it can be used as a variable so that packages that depend on the kernel, can have a consistent way of listing the architectures.
The variable is currently only in Fedora, but is expected to be in RHEL9, and hopefully backported to earlier RHEL versions.

This pull request updates the spec to use %{kernel_arches} for ExclusiveArch:
2020-08-07 16:14:21 +00:00
Fedora Release Engineering
e13f1165c6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 11:47:32 +00:00
Richard W.M. Jones
ab46d9cdb4 ppc64le: ibmvscsi driver missing from supermin appliance (RHBZ#1819019). 2020-04-03 11:55:42 +01:00
Richard W.M. Jones
bee2834ecd New upstream stable version 5.2.0. 2020-03-10 10:49:00 +00:00
Fedora Release Engineering
485ec501e0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-31 00:42:43 +00:00
16 changed files with 271 additions and 767 deletions

View file

@ -0,0 +1,33 @@
From 7a80a6eec799841b828ba7f617709562d8061435 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 21 Oct 2024 11:55:53 +0100
Subject: [PATCH] prepare: Use stable owner, group and mtime in base.tar.gz
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2320025
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
src/mode_prepare.ml | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/mode_prepare.ml b/src/mode_prepare.ml
index 70f9dd4..6af47b1 100644
--- a/src/mode_prepare.ml
+++ b/src/mode_prepare.ml
@@ -166,9 +166,12 @@ let prepare debug (copy_kernel, format, host_cpu,
let base = outputdir // "base.tar.gz" in
if debug >= 1 then printf "supermin: writing %s\n%!" base;
let cmd =
- sprintf "tar%s -C %s -zcf %s -T %s"
+ let mtime =
+ try sprintf "--mtime=@%s" (quote (Sys.getenv "SOURCE_DATE_EPOCH"))
+ with Not_found -> "" in
+ sprintf "tar%s -C %s -z --owner=0 --group=0 %s -cf %s -T %s"
(if debug >=1 then " -v" else "")
- (quote dir) (quote base) (quote files_from) in
+ (quote dir) mtime (quote base) (quote files_from) in
run_command cmd;
)
else (
--
2.46.0

View file

@ -1,89 +0,0 @@
From 42955541dc3aa8ae3361f3bd6eb0ae338f307545 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Wed, 23 Jan 2019 12:22:19 +0100
Subject: [PATCH 01/12] rpm: extend the Multiple_matches exception
Add the package that raised the issue, so it can be used to provide
better diagnostic.
---
src/librpm-c.c | 15 ++++++++++-----
src/librpm.ml | 4 ++--
src/librpm.mli | 2 +-
3 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/src/librpm-c.c b/src/librpm-c.c
index 3bd25a2..75ca4d7 100644
--- a/src/librpm-c.c
+++ b/src/librpm-c.c
@@ -66,10 +66,15 @@ librpm_handle_closed (void)
}
static void
-librpm_raise_multiple_matches (int occurrences)
+librpm_raise_multiple_matches (value pkgv, int occurrences)
{
- caml_raise_with_arg (*caml_named_value ("librpm_multiple_matches"),
- Val_int (occurrences));
+ CAMLparam1 (pkgv);
+
+ value args[] = { pkgv, Val_int (occurrences) };
+ caml_raise_with_args (*caml_named_value ("librpm_multiple_matches"),
+ 2, args);
+
+ CAMLnoreturn;
}
#define Librpm_val(v) (*((struct librpm_data *)Data_custom_val(v)))
@@ -296,7 +301,7 @@ supermin_rpm_pkg_requires (value rpmv, value pkgv)
fflush (stdout);
}
if (count != 1)
- librpm_raise_multiple_matches (count);
+ librpm_raise_multiple_matches (pkgv, count);
h = rpmdbNextIterator (iter);
assert (h != NULL);
@@ -413,7 +418,7 @@ supermin_rpm_pkg_filelist (value rpmv, value pkgv)
fflush (stdout);
}
if (count != 1)
- librpm_raise_multiple_matches (count);
+ librpm_raise_multiple_matches (pkgv, count);
h = rpmdbNextIterator (iter);
assert (h != NULL);
diff --git a/src/librpm.ml b/src/librpm.ml
index 4eeba77..b6f9ff8 100644
--- a/src/librpm.ml
+++ b/src/librpm.ml
@@ -23,7 +23,7 @@ external rpm_vercmp : string -> string -> int = "supermin_rpm_vercmp" "noalloc"
type t
-exception Multiple_matches of int
+exception Multiple_matches of string * int
external rpm_open : ?debug:int -> t = "supermin_rpm_open"
external rpm_close : t -> unit = "supermin_rpm_close"
@@ -49,4 +49,4 @@ external rpm_pkg_whatprovides : t -> string -> string array = "supermin_rpm_pkg_
external rpm_pkg_filelist : t -> string -> rpmfile_t array = "supermin_rpm_pkg_filelist"
let () =
- Callback.register_exception "librpm_multiple_matches" (Multiple_matches 0)
+ Callback.register_exception "librpm_multiple_matches" (Multiple_matches ("", 0))
diff --git a/src/librpm.mli b/src/librpm.mli
index 5229be6..53b4b2c 100644
--- a/src/librpm.mli
+++ b/src/librpm.mli
@@ -31,7 +31,7 @@ val rpm_vercmp : string -> string -> int
type t
(** The librpm handle. *)
-exception Multiple_matches of int
+exception Multiple_matches of string * int
val rpm_open : ?debug:int -> t
(** Open the librpm (transaction set) handle. *)
--
2.23.0

View file

@ -1,27 +0,0 @@
From 36878992ebdd08f0f9b37017f347f5eab18ce9ed Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Wed, 23 Jan 2019 12:23:02 +0100
Subject: [PATCH 02/12] Print Librpm.Multiple_matches exceptions
Print a better diagnostic for them, so it is more clear which package
is detected as present multiple times.
---
src/supermin.ml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/supermin.ml b/src/supermin.ml
index f9798f9..71d8b64 100644
--- a/src/supermin.ml
+++ b/src/supermin.ml
@@ -298,6 +298,8 @@ let () =
error "error: %s: %s: %s" fname (Unix.error_message code) param
| Failure msg -> (* from failwith/failwithf *)
error "failure: %s" msg
+ | Librpm.Multiple_matches (package, count) -> (* from librpm *)
+ error "RPM error: %d occurrences for %s" count package
| Invalid_argument msg -> (* probably should never happen *)
error "internal error: invalid argument: %s" msg
| Assert_failure (file, line, char) -> (* should never happen *)
--
2.23.0

View file

@ -1,38 +0,0 @@
From 6579cf5f72d5de345ae1cc97d0344dfa1771460a Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 28 Jan 2019 22:20:33 +0000
Subject: [PATCH 03/12] Use external command mv to rename old output directory
(RHBZ#1670191).
See https://bugzilla.redhat.com/show_bug.cgi?id=1670191#c0
for explanation.
Thanks: Sam Eiderman
---
src/supermin.ml | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/supermin.ml b/src/supermin.ml
index 71d8b64..7c7135b3 100644
--- a/src/supermin.ml
+++ b/src/supermin.ml
@@ -264,12 +264,10 @@ appliance automatically.
(* Delete the old output directory if it exists. *)
let old_outputdir =
- try
- let old_outputdir = outputdir ^ "." ^ string_random8 () in
- rename outputdir old_outputdir;
- Some old_outputdir
- with
- Unix_error _ -> None in
+ let old_outputdir = outputdir ^ "." ^ string_random8 () in
+ let cmd = sprintf "mv %s %s 2>/dev/null"
+ (quote outputdir) (quote old_outputdir) in
+ if Sys.command cmd == 0 then Some old_outputdir else None in
if debug >= 1 then
printf "supermin: renaming %s to %s\n%!" new_outputdir outputdir;
--
2.23.0

View file

@ -1,128 +0,0 @@
From bca633bfd14aeeb8ae1331d468db75d1ef31f9ff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= <bero@lindev.ch>
Date: Tue, 2 Apr 2019 08:28:06 +0100
Subject: [PATCH 04/12] Add OpenMandriva support (RHBZ#1694267).
---
src/ph_rpm.ml | 28 +++++++++++++++++++++++++---
tests/test-harder.sh | 31 +++++++++++++++++++++++++++++++
2 files changed, 56 insertions(+), 3 deletions(-)
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
index 46b7f1f..3ff5c94 100644
--- a/src/ph_rpm.ml
+++ b/src/ph_rpm.ml
@@ -50,6 +50,12 @@ let mageia_detect () =
(Os_release.get_id () = "mageia" ||
try (stat "/etc/mageia-release").st_kind = S_REG with Unix_error _ -> false)
+let openmandriva_detect () =
+ Config.rpm <> "no" && Config.rpm2cpio <> "no" && rpm_is_available () &&
+ ((Config.urpmi <> "no" && Config.fakeroot <> "no") || Config.dnf <> "no") &&
+ (Os_release.get_id () = "openmandriva" ||
+ try (stat "/etc/openmandriva-release").st_kind = S_REG with Unix_error _ -> false)
+
let ibm_powerkvm_detect () =
Config.rpm <> "no" && Config.rpm2cpio <> "no" && rpm_is_available () &&
Config.yumdownloader <> "no" &&
@@ -386,17 +392,27 @@ and opensuse_download_all_packages pkgs dir =
rpm_unpack tdir dir
+and openmandriva_download_all_packages pkgs dir =
+ let tdir = !settings.tmpdir // string_random8 () in
+
+ if Config.dnf <> "no" then
+ download_all_packages_with_dnf pkgs dir tdir
+ else (* Config.urpmi <> "no" && Config.fakeroot <> "no" *)
+ download_all_packages_with_urpmi pkgs dir tdir;
+
+ rpm_unpack tdir dir
+
and mageia_download_all_packages pkgs dir =
let tdir = !settings.tmpdir // string_random8 () in
if Config.dnf <> "no" then
download_all_packages_with_dnf pkgs dir tdir
else (* Config.urpmi <> "no" && Config.fakeroot <> "no" *)
- mageia_download_all_packages_with_urpmi pkgs dir tdir;
+ download_all_packages_with_urpmi pkgs dir tdir;
rpm_unpack tdir dir
-and mageia_download_all_packages_with_urpmi pkgs dir tdir =
+and download_all_packages_with_urpmi pkgs dir tdir =
let rpms = List.map rpm_package_name (PackageSet.elements pkgs) in
let cmd =
@@ -484,4 +500,10 @@ let () =
ph_detect = mageia_detect;
ph_download_package = PHDownloadAllPackages mageia_download_all_packages;
} in
- register_package_handler "mageia" "rpm" mageia
+ register_package_handler "mageia" "rpm" mageia;
+ let openmandriva = {
+ fedora with
+ ph_detect = openmandriva_detect;
+ ph_download_package = PHDownloadAllPackages openmandriva_download_all_packages;
+ } in
+ register_package_handler "openmandriva" "rpm" openmandriva
diff --git a/tests/test-harder.sh b/tests/test-harder.sh
index c827f13..aceef21 100755
--- a/tests/test-harder.sh
+++ b/tests/test-harder.sh
@@ -31,6 +31,7 @@ if [ -f /etc/os-release ]; then
fedora|rhel|centos) distro=redhat ;;
opensuse*|sled|sles) distro=suse ;;
ubuntu) distro=debian ;;
+ openmandriva) distro=openmandriva ;;
esac
elif [ -f /etc/arch-release ]; then
distro=arch
@@ -77,6 +78,9 @@ case $distro in
ibm-powerkvm)
pkgs="augeas hivex tar"
;;
+ openmandriva)
+ pkgs="augeas hivex rpm"
+ ;;
*)
echo "Unhandled distro '$distro'"
exit 77
@@ -153,6 +157,33 @@ case $distro in
exit 1
fi
;;
+ openmandriva)
+ if [ ! -x $d2/usr/bin/augtool ]; then
+ echo "$0: $distro: augtool binary not installed in chroot"
+ ls -lR $d2
+ exit 1
+ fi
+ if [ "$(find $d2/lib* $d2/usr/lib* -name libaugeas.so.0 | wc -l)" -lt 1 ]; then
+ echo "$0: $distro: augeas library not installed in chroot"
+ ls -lR $d2
+ exit 1
+ fi
+ if [ ! -x $d2/usr/bin/hivexget ]; then
+ echo "$0: $distro: hivexget binary not installed in chroot"
+ ls -lR $d2
+ exit 1
+ fi
+ if [ "$(find $d2/usr/lib* -name libhivex.so.0 | wc -l)" -lt 1 ]; then
+ echo "$0: $distro: hivex library not installed in chroot"
+ ls -lR $d2
+ exit 1
+ fi
+ if [ ! -x $d2/bin/rpm ]; then
+ echo "$0: $distro: rpm binary not installed in chroot"
+ ls -lR $d2
+ exit 1
+ fi
+ ;;
redhat)
if [ ! -x $d2/usr/bin/augtool ]; then
echo "$0: $distro: augtool binary not installed in chroot"
--
2.23.0

View file

@ -1,33 +0,0 @@
From 941f72d05302d265af763c7f8ed6b999e4f85eeb Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 12 Apr 2019 11:58:49 +0200
Subject: [PATCH 05/12] rpm: do not unpack parameters
They will be used as parameters again soon.
This has no behaviour changes.
---
src/ph_rpm.ml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
index 3ff5c94..6769e7b 100644
--- a/src/ph_rpm.ml
+++ b/src/ph_rpm.ml
@@ -144,10 +144,10 @@ let rpm_package_of_string str =
* interested in the highest version with the best
* architecture.
*)
- let cmp { version = v1; arch = a1 } { version = v2; arch = a2 } =
- let i = rpm_vercmp v2 v1 in
+ let cmp pkg1 pkg2 =
+ let i = rpm_vercmp pkg2.version pkg1.version in
if i <> 0 then i
- else compare_architecture a2 a1
+ else compare_architecture pkg2.arch pkg1.arch
in
let rpms = List.sort cmp rpms in
List.hd rpms
--
2.23.0

View file

@ -1,70 +0,0 @@
From de075776722741a67b0956f36a6357fcedd66ae0 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 12 Apr 2019 12:13:07 +0200
Subject: [PATCH 06/12] rpm: fix version comparison
When comparing two RPMs, also the epoch, and the release must be taken
into account. Hence, add a new helper to get the EVR string of a
package, and use it when sorting each list of installed packages.
The mapping is done to avoid recreating the EVR strings at every
comparison.
---
src/ph_rpm.ml | 29 ++++++++++++++++++++++++++---
1 file changed, 26 insertions(+), 3 deletions(-)
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
index 6769e7b..a8bcf7c 100644
--- a/src/ph_rpm.ml
+++ b/src/ph_rpm.ml
@@ -136,21 +136,44 @@ let rpm_of_pkg, pkg_of_rpm = get_memo_functions ()
(* Memo of rpm_package_of_string. *)
let rpmh = Hashtbl.create 13
+let rpm_to_evr_string rpm =
+ (* In RPM < 4.11 query commands that use the epoch number in the
+ * package name did not work.
+ *
+ * For example:
+ * RHEL 6 (rpm 4.8.0):
+ * $ rpm -q tar-2:1.23-11.el6.x86_64
+ * package tar-2:1.23-11.el6.x86_64 is not installed
+ * Fedora 20 (rpm 4.11.2):
+ * $ rpm -q tar-2:1.26-30.fc20.x86_64
+ * tar-1.26-30.fc20.x86_64
+ *
+ *)
+ let is_rpm_lt_4_11 =
+ !rpm_major < 4 || (!rpm_major = 4 && !rpm_minor < 11) in
+
+ if is_rpm_lt_4_11 || rpm.epoch = 0 then
+ sprintf "%s-%s" rpm.version rpm.release
+ else
+ sprintf "%d:%s-%s"
+ rpm.epoch rpm.version rpm.release
+
let rpm_package_of_string str =
let query rpm =
let rpms = Array.to_list (rpm_installed (get_rpm ()) rpm) in
+ let rpms = List.map (fun rpm -> (rpm, rpm_to_evr_string rpm)) rpms in
(* RPM will return multiple hits when either multiple versions or
* multiple arches are installed at the same time. We are only
* interested in the highest version with the best
* architecture.
*)
- let cmp pkg1 pkg2 =
- let i = rpm_vercmp pkg2.version pkg1.version in
+ let cmp (pkg1, evr1) (pkg2, evr2) =
+ let i = rpm_vercmp evr2 evr2 in
if i <> 0 then i
else compare_architecture pkg2.arch pkg1.arch
in
let rpms = List.sort cmp rpms in
- List.hd rpms
+ fst (List.hd rpms)
in
try
--
2.23.0

View file

@ -1,90 +0,0 @@
From e57e988c39aca015100fb92377dbd8d114c0bece Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 12 Apr 2019 12:26:11 +0200
Subject: [PATCH 07/12] rpm: query the RPM architecture
Query the RPM library for the current architecture of RPM, storing it
for later use, and printing it to the debug output.
---
src/librpm-c.c | 10 ++++++++++
src/librpm.ml | 1 +
src/librpm.mli | 3 +++
src/ph_rpm.ml | 8 ++++++--
4 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/librpm-c.c b/src/librpm-c.c
index 75ca4d7..2e2f048 100644
--- a/src/librpm-c.c
+++ b/src/librpm-c.c
@@ -132,6 +132,16 @@ supermin_rpm_vercmp (value av, value bv)
return Val_int (rpmvercmp (String_val (av), String_val (bv)));
}
+value
+supermin_rpm_get_arch (value unit)
+{
+ const char *str;
+
+ rpmGetArchInfo (&str, NULL);
+
+ return caml_copy_string (str);
+}
+
value
supermin_rpm_open (value debugv)
{
diff --git a/src/librpm.ml b/src/librpm.ml
index b6f9ff8..c987e21 100644
--- a/src/librpm.ml
+++ b/src/librpm.ml
@@ -20,6 +20,7 @@ external rpm_is_available : unit -> bool = "supermin_rpm_is_available" "noalloc"
external rpm_version : unit -> string = "supermin_rpm_version"
external rpm_vercmp : string -> string -> int = "supermin_rpm_vercmp" "noalloc"
+external rpm_get_arch : unit -> string = "supermin_rpm_get_arch"
type t
diff --git a/src/librpm.mli b/src/librpm.mli
index 53b4b2c..c0d7bdf 100644
--- a/src/librpm.mli
+++ b/src/librpm.mli
@@ -28,6 +28,9 @@ val rpm_version : unit -> string
val rpm_vercmp : string -> string -> int
(** Compare two RPM version strings using RPM version compare rules. *)
+val rpm_get_arch : unit -> string
+(** The current main RPM architecture. *)
+
type t
(** The librpm handle. *)
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
index a8bcf7c..e27d226 100644
--- a/src/ph_rpm.ml
+++ b/src/ph_rpm.ml
@@ -64,7 +64,7 @@ let ibm_powerkvm_detect () =
with Unix_error _ -> false
let settings = ref no_settings
-let rpm_major, rpm_minor = ref 0, ref 0
+let rpm_major, rpm_minor, rpm_arch = ref 0, ref 0, ref ""
let zypper_major, zypper_minor, zypper_patch = ref 0, ref 0, ref 0
let t = ref None
@@ -93,7 +93,11 @@ let rec rpm_init s =
if !settings.debug >= 1 then
printf "supermin: rpm: detected RPM version %d.%d\n" major minor;
- t := Some (rpm_open ~debug:!settings.debug)
+ t := Some (rpm_open ~debug:!settings.debug);
+
+ rpm_arch := rpm_get_arch ();
+ if !settings.debug >= 1 then
+ printf "supermin: rpm: detected RPM architecture %s\n" !rpm_arch
and opensuse_init s =
rpm_init s;
--
2.23.0

View file

@ -1,49 +0,0 @@
From 72735dd11c83eb59d90e04b3c1e580af43b1ba0a Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 12 Apr 2019 12:38:46 +0200
Subject: [PATCH 08/12] rpm: fix package sorting (RHBZ#1696822)
The sorting algorithm for RPMs sorted this way:
- before the packages with the higher versions
- among the packages with the version version, first noarch packages,
then 64bit packages, and then 32bit packages
This was broken in at least two ways:
- the higher installed version may not be of the same host architecture
- if the host architecture is 32bit, and there is a 64bit package of a
32bit installed one, the 64bit version was preferred
Instead:
- first sort by architecture, preferring noarch packages, and
packages of the host architecture
- then sort by version
This way, the higher version of the host architecture is preferred,
otherwise the higher version of any foreign architecture is chosen.
---
src/ph_rpm.ml | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/ph_rpm.ml b/src/ph_rpm.ml
index e27d226..dbe3bda 100644
--- a/src/ph_rpm.ml
+++ b/src/ph_rpm.ml
@@ -172,9 +172,14 @@ let rpm_package_of_string str =
* architecture.
*)
let cmp (pkg1, evr1) (pkg2, evr2) =
- let i = rpm_vercmp evr2 evr2 in
+ let weight_of_arch = function
+ | "noarch" -> 100
+ | a when a = !rpm_arch -> 50
+ | _ -> 0
+ in
+ let i = compare (weight_of_arch pkg2.arch) (weight_of_arch pkg1.arch) in
if i <> 0 then i
- else compare_architecture pkg2.arch pkg1.arch
+ else rpm_vercmp evr2 evr2
in
let rpms = List.sort cmp rpms in
fst (List.hd rpms)
--
2.23.0

View file

@ -1,66 +0,0 @@
From b2401285cd3e3d42006fc164ef1f046cc35a50c4 Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 12 Apr 2019 12:47:52 +0200
Subject: [PATCH 09/12] utils: remove unused 'compare_architecture' function
This was used only in the RPM package handler.
---
src/utils.ml | 27 ---------------------------
src/utils.mli | 3 ---
2 files changed, 30 deletions(-)
diff --git a/src/utils.ml b/src/utils.ml
index f85418f..b25df88 100644
--- a/src/utils.ml
+++ b/src/utils.ml
@@ -172,33 +172,6 @@ and split_version = function
) in
first :: split_version rest
-let compare_architecture a1 a2 =
- let index_of_architecture = function
- | "noarch" | "all" -> 100
- | "i386" | "i486" | "i586" | "i686" | "x86_32" | "x86-32" -> 32
- | "x86_64" | "x86-64" | "amd64" -> 64
- | "armel" | "armhf" -> 32
- | "aarch64" -> 64
- | a when string_prefix "armv5" a -> 32
- | a when string_prefix "armv6" a -> 32
- | a when string_prefix "armv7" a -> 32
- | a when string_prefix "armv8" a -> 64
- | "hppa" | "parisc" -> 32
- | "hppa64" | "parisc64" -> 64
- | "ppc" | "ppc32" -> 32
- | a when string_prefix "ppc64" a -> 64
- | "sparc" | "sparc32" -> 32
- | "sparc64" -> 64
- | "ia64" -> 64
- | "s390" -> 32
- | "s390x" -> 64
- | "alpha" -> 64
- | a ->
- error "missing support for architecture '%s'\nIt may need to be added to supermin."
- a
- in
- compare (index_of_architecture a1) (index_of_architecture a2)
-
(* Parse a size field, eg. "10G". *)
let parse_size =
let const_re = Str.regexp "^\\([.0-9]+\\)\\([bKMG]\\)$" in
diff --git a/src/utils.mli b/src/utils.mli
index 7837dbb..b86586a 100644
--- a/src/utils.mli
+++ b/src/utils.mli
@@ -86,9 +86,6 @@ val filter_map : ('a -> 'b option) -> 'a list -> 'b list
val compare_version : string -> string -> int
(** Compare two version-like strings. *)
-val compare_architecture : string -> string -> int
- (** Compare two architecture strings. *)
-
val parse_size : string -> int64
(** Parse a size field, eg. [10G] *)
--
2.23.0

View file

@ -1,33 +0,0 @@
From c97b3917068597a0e68e88d9a905da766ade40da Mon Sep 17 00:00:00 2001
From: Pino Toscano <ptoscano@redhat.com>
Date: Fri, 24 May 2019 13:31:07 +0200
Subject: [PATCH 10/12] rpm: provide a dummy supermin_rpm_get_arch
implementation
Make sure supermin builds fine also without the RPM development files.
Fixes commit e57e988c39aca015100fb92377dbd8d114c0bece.
---
src/librpm-c.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/librpm-c.c b/src/librpm-c.c
index 2e2f048..523fe0b 100644
--- a/src/librpm-c.c
+++ b/src/librpm-c.c
@@ -483,6 +483,12 @@ supermin_rpm_vercmp (value av, value bv)
abort ();
}
+value
+supermin_rpm_get_arch (value unit)
+{
+ abort ();
+}
+
value
supermin_rpm_open (value debugv)
{
--
2.23.0

View file

@ -1,58 +0,0 @@
From 487e8c964078f823646d3b0584745ab7d0ef99ca Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 26 Nov 2019 09:01:21 +0000
Subject: [PATCH 11/12] ext2: Build symbolic links correctly (RHBZ#1770304).
We created symlinks in two steps, by creating the empty inode and then
calling ext2fs_symlink to populate it. This created broken symlinks
where the directory name contained a / character, eg:
lrwxrwxrwx 1 root root 7 Nov 26 08:43 /bin -> usr/bin
lrwxrwxrwx 1 root root 7 Nov 26 08:43 /lib -> usr/lib
lrwxrwxrwx 1 root root 9 Nov 26 08:43 /lib64 -> usr/lib64
lrwxrwxrwx 1 root root 8 Nov 26 08:43 /sbin -> usr/sbin
lrwxrwxrwx 1 root root 7 Nov 26 08:38 bin -> usr/bin
This breaks with Linux >= 5.3.8, most likely because of extra
validation now being done at the VFS layer:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/fs/readdir.c?id=8a23eb804ca4f2be909e372cf5a9e7b30ae476cd
It's unnecessary to create the empty inode since ext2fs_symlink can
create the inode for us perfectly fine if we simply pass ino == 0, and
it creates them correctly too.
Thanks: Toolybird for identifying the problem and kernel patch.
---
src/ext2fs-c.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/src/ext2fs-c.c b/src/ext2fs-c.c
index e8ab972..8903f74 100644
--- a/src/ext2fs-c.c
+++ b/src/ext2fs-c.c
@@ -782,12 +782,6 @@ ext2_copy_file (struct ext2_data *data, const char *src, const char *dest)
}
/* Create a symlink. */
else if (S_ISLNK (statbuf.st_mode)) {
- ext2_ino_t ino;
- ext2_empty_inode (data->fs, dir_ino, dirname, basename,
- statbuf.st_mode, statbuf.st_uid, statbuf.st_gid,
- statbuf.st_ctime, statbuf.st_atime, statbuf.st_mtime,
- 0, 0, EXT2_FT_SYMLINK, &ino);
-
char *buf = malloc (statbuf.st_size+1);
if (buf == NULL)
caml_raise_out_of_memory ();
@@ -797,7 +791,7 @@ ext2_copy_file (struct ext2_data *data, const char *src, const char *dest)
if (r > statbuf.st_size)
r = statbuf.st_size;
buf[r] = '\0';
- ext2fs_symlink (data->fs, dir_ino, ino, dest, buf);
+ ext2fs_symlink (data->fs, dir_ino, 0, basename, buf);
free (buf);
}
/* Create directory. */
--
2.23.0

View file

@ -1,42 +0,0 @@
From 62d5c774d6c8fcac11e28fcba99754b5478e5088 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 10 Dec 2019 18:43:00 +0000
Subject: [PATCH 12/12] ext2: Expand directory when adding symlinks
(RHBZ#1770304).
This produced very weird bugs with missing symlinks under
certain conditions, see:
https://bugzilla.redhat.com/show_bug.cgi?id=1781803
Fixes commit 487e8c964078f823646d3b0584745ab7d0ef99ca.
---
src/ext2fs-c.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/ext2fs-c.c b/src/ext2fs-c.c
index 8903f74..0000865 100644
--- a/src/ext2fs-c.c
+++ b/src/ext2fs-c.c
@@ -791,7 +791,18 @@ ext2_copy_file (struct ext2_data *data, const char *src, const char *dest)
if (r > statbuf.st_size)
r = statbuf.st_size;
buf[r] = '\0';
- ext2fs_symlink (data->fs, dir_ino, 0, basename, buf);
+ symlink_again:
+ err = ext2fs_symlink (data->fs, dir_ino, 0, basename, buf);
+ if (err) {
+ if (err == EXT2_ET_DIR_NO_SPACE) {
+ err = ext2fs_expand_dir (data->fs, dir_ino);
+ if (err)
+ ext2_error_to_exception ("ext2fs_expand_dir", err, dirname);
+ goto symlink_again;
+ }
+ else
+ ext2_error_to_exception ("ext2fs_symlink", err, basename);
+ }
free (buf);
}
/* Create directory. */
--
2.23.0

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}

View file

@ -1,2 +1,2 @@
SHA512 (supermin-5.1.20.tar.gz) = ccc9ada98593f91399b323f0beb027185874f82547a1df4274c1206a9b6d4465e98b7aef5618274d41fb902747f6843fd2cc6192a4ea8526811261ac5a16848e
SHA512 (supermin-5.1.20.tar.gz.sig) = e7c46fdf4105ffa3f6e02d6ed0b895a9af71470f5c650d129304187b977516343d17a861a9c53934eee559de374623f100f4736426de37ee78d5f5bc82d56096
SHA512 (supermin-5.3.5.tar.gz) = e410bafe06805880f0f701e78d743a6e22e9d25e57bd70a020d583dba6d710ba9917d7afc37be714d9bde410c7ff35f4198300b3af0858d761b0b3e07af58dc0
SHA512 (supermin-5.3.5.tar.gz.sig) = 88f446c3855367dd8917a6eb44d926f8a09dac9913d9098757951ccb3300f9e3544689a45d661382ae24221f8558bbfc188976f4db288829c28379b87949ed7e

View file

@ -1,71 +1,76 @@
%ifnarch %{ocaml_native_compiler}
%global __strip /bin/true
%global debug_package %{nil}
%endif
# OCaml packages not built on i686 since OCaml 5 / Fedora 39.
ExcludeArch: %{ix86}
# On architectures that support it, the default is ``--with dietlibc''.
# On platforms and architectures that support it, the default is
# --with dietlibc.
#
# To use glibc-static instead, do ``--without dietlibc''. This
# results in a much larger (about 40 times larger) init binary.
# To use glibc-static instead, do --without dietlibc. This results
# in a much larger (about 40 times larger) init binary.
#
# On other platforms, there is no dietlibc, so the default for those
# is ``--without dietlibc''.
# is --without dietlibc.
#
# See also:
# https://github.com/libguestfs/supermin/commit/9bb57e1a8d0f3b57eb09f65dd574f702b67e1c2f
%if 0%{?rhel}
%bcond_with dietlibc
%else
%ifarch aarch64 %{arm} %{ix86} %{power} s390x x86_64
%bcond_without dietlibc
%else
%bcond_with dietlibc
%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.
%global verify_tarball_signature 1
# The source directory.
%global source_directory 5.3-development
Summary: Tool for creating supermin appliances
Name: supermin
Version: 5.1.20
Release: 11%{?dist}
License: GPLv2+
Version: 5.3.5
Release: 7%{?dist}
License: GPL-2.0-or-later
%if 0%{?rhel} >= 7
ExclusiveArch: x86_64
ExclusiveArch: %{kernel_arches}
%if 0%{?rhel}
# No qemu-kvm on POWER (RHBZ#1946532).
ExcludeArch: %{power64}
%endif
ExcludeArch: %{ix86}
URL: http://people.redhat.com/~rjones/supermin/
Source0: http://libguestfs.org/download/supermin/%{name}-%{version}.tar.gz
%if 0%{verify_tarball_signature}
Source1: http://libguestfs.org/download/supermin/%{name}-%{version}.tar.gz.sig
%endif
Source0: http://download.libguestfs.org/supermin/%{source_directory}/%{name}-%{version}.tar.gz
Source1: http://download.libguestfs.org/supermin/%{source_directory}/%{name}-%{version}.tar.gz.sig
# Keyring used to verify tarball signature.
%if 0%{verify_tarball_signature}
Source2: libguestfs.keyring
%endif
# Upstream patches since 5.1.20 was released.
Patch0001: 0001-rpm-extend-the-Multiple_matches-exception.patch
Patch0002: 0002-Print-Librpm.Multiple_matches-exceptions.patch
Patch0003: 0003-Use-external-command-mv-to-rename-old-output-directo.patch
Patch0004: 0004-Add-OpenMandriva-support-RHBZ-1694267.patch
Patch0005: 0005-rpm-do-not-unpack-parameters.patch
Patch0006: 0006-rpm-fix-version-comparison.patch
Patch0007: 0007-rpm-query-the-RPM-architecture.patch
Patch0008: 0008-rpm-fix-package-sorting-RHBZ-1696822.patch
Patch0009: 0009-utils-remove-unused-compare_architecture-function.patch
Patch0010: 0010-rpm-provide-a-dummy-supermin_rpm_get_arch-implementa.patch
Patch0011: 0011-ext2-Build-symbolic-links-correctly-RHBZ-1770304.patch
Patch0012: 0012-ext2-Expand-directory-when-adding-symlinks-RHBZ-1770.patch
# Use stable owner, group and mtime in base.tar.gz
# Upstream in > 5.3.5
# https://bugzilla.redhat.com/show_bug.cgi?id=2320025
Patch1: 0001-prepare-Use-stable-owner-group-and-mtime-in-base.tar.patch
BuildRequires: gcc
BuildRequires: make
BuildRequires: autoconf, automake
BuildRequires: /usr/bin/pod2man
BuildRequires: /usr/bin/pod2html
BuildRequires: rpm
BuildRequires: rpm-devel
%if %{with dnf5}
BuildRequires: dnf5
%else
BuildRequires: dnf
BuildRequires: dnf-plugins-core
%endif
BuildRequires: /usr/sbin/mke2fs
BuildRequires: e2fsprogs-devel
BuildRequires: findutils
@ -83,6 +88,14 @@ BuildRequires: gnupg2
# tests to not require these packages.
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
# /bin/kernel-install puts the kernel directly into /boot, instead of
# into a /boot/<machine-id> subdirectory (in Fedora >= 23). Read the
@ -91,19 +104,19 @@ BuildRequires: grubby
# https://bugzilla.redhat.com/show_bug.cgi?id=1331012
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: dnf
Requires: dnf-plugins-core
Requires: util-linux-ng
Requires: cpio
Requires: tar
Requires: /usr/sbin/mke2fs
# RHBZ#771310
Requires: e2fsprogs-libs >= 1.42
Requires: findutils
# 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
Source4: supermin-find-requires
@ -114,18 +127,31 @@ appliances (similar to virtual machines), usually around 100KB in
size, which get fully instantiated on-the-fly in a fraction of a
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
Summary: Development tools for %{name}
Requires: %{name} = %{version}-%{release}
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
%{name}-devel contains development tools for %{name}.
It just contains tools for automatic RPM dependency generation
from supermin appliances.
It contains extra dependencies needed for 'supermin --prepare' to
work, as well as tools for automatic RPM dependency generation from
supermin appliances.
%prep
@ -137,7 +163,12 @@ from supermin appliances.
%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}
make -C init CC="diet gcc"
@ -180,6 +211,163 @@ make check || {
%changelog
* Mon Oct 13 2025 Richard W.M. Jones <rjones@redhat.com> - 5.3.5-7
- OCaml 5.4.0 rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.5-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Fri Jul 11 2025 Jerry James <loganjerry@gmail.com> - 5.3.5-5
- Rebuild to fix OCaml dependencies
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jan 9 2025 Jerry James <loganjerry@gmail.com> - 5.3.5-3
- OCaml 5.3.0 rebuild for Fedora 42
* Mon Oct 21 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.5-2
- Use stable owner, group and mtime in base.tar.gz (RHBZ#2320025)
* Sat Aug 31 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.5-1
- New upstream version 5.3.5
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.4-4
- OCaml 5.2.0 ppc64le fix
* Wed May 29 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.4-3
- OCaml 5.2.0 for Fedora 41
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Jan 11 2024 Richard W.M. Jones <rjones@redhat.com> - 5.3.4-1
- New upstream version 5.3.4
- Remove patches which are now all upstream.
* Mon Dec 18 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-19
- OCaml 5.1.1 + s390x code gen fix for Fedora 40
* Tue Dec 12 2023 Richard W.M. Jones <rjones@redhat.com> - 5.3.3-18
- 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.