diff --git a/.gitignore b/.gitignore index 2d30973..c4345c0 100644 --- a/.gitignore +++ b/.gitignore @@ -4,5 +4,6 @@ /.build-*.log /clog /supermin-*.tar.gz -/supermin-*.tar.gz.sig /x86_64 +/supermin-5.1.17.tar.gz.sig +/supermin-5.1.18.tar.gz.sig diff --git a/0001-prepare-Use-stable-owner-group-and-mtime-in-base.tar.patch b/0001-prepare-Use-stable-owner-group-and-mtime-in-base.tar.patch deleted file mode 100644 index 6e70551..0000000 --- a/0001-prepare-Use-stable-owner-group-and-mtime-in-base.tar.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7a80a6eec799841b828ba7f617709562d8061435 Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -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 ---- - 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 - diff --git a/gating.yaml b/gating.yaml deleted file mode 100755 index 9234236..0000000 --- a/gating.yaml +++ /dev/null @@ -1,6 +0,0 @@ ---- !Policy -product_versions: - - rhel-9 -decision_context: osci_compose_gate -rules: - - !PassingTestCaseRule {test_case_name: xen-ci.brew-build.tier1.functional} diff --git a/sources b/sources index cc31e54..d59c5b9 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (supermin-5.3.5.tar.gz) = e410bafe06805880f0f701e78d743a6e22e9d25e57bd70a020d583dba6d710ba9917d7afc37be714d9bde410c7ff35f4198300b3af0858d761b0b3e07af58dc0 -SHA512 (supermin-5.3.5.tar.gz.sig) = 88f446c3855367dd8917a6eb44d926f8a09dac9913d9098757951ccb3300f9e3544689a45d661382ae24221f8558bbfc188976f4db288829c28379b87949ed7e +SHA512 (supermin-5.1.18.tar.gz) = 5e2d1a86359fd334ba6cfea3bd15c7f4d8ee8ec57db55b191e438bd9e1d22e4c317c7e421966abae4f2409e1c6c2b81c3eef5110e823fefc1102a12c79e15c35 +SHA512 (supermin-5.1.18.tar.gz.sig) = 16adab798fcac6e44318c9ffa08a7096b84eda14f13e1febdbdb7dbbea14594a3fb60d9ca2cfb2c9a723a78dd2cddf972f60bde004d90e167acdadaa2b55cc74 diff --git a/supermin.spec b/supermin.spec index ee09a0f..bc4fb7a 100644 --- a/supermin.spec +++ b/supermin.spec @@ -1,76 +1,61 @@ -# OCaml packages not built on i686 since OCaml 5 / Fedora 39. -ExcludeArch: %{ix86} +%ifnarch %{ocaml_native_compiler} +%global __strip /bin/true +%global debug_package %{nil} +%endif -# On platforms and architectures that support it, the default is -# ‘--with dietlibc’. +# _hardened_build breaks building the static 'init' binary. +# https://bugzilla.redhat.com/show_bug.cgi?id=1202091 +# https://bugzilla.redhat.com/show_bug.cgi?id=1204162 +%undefine _hardened_build + +# On armv7 and x86, 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 +%ifarch %{arm} %{ix86} x86_64 s390x %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.3.5 -Release: 7%{?dist} -License: GPL-2.0-or-later +Version: 5.1.18 +Release: 1%{?dist} +License: GPLv2+ -ExclusiveArch: %{kernel_arches} -%if 0%{?rhel} -# No qemu-kvm on POWER (RHBZ#1946532). -ExcludeArch: %{power64} +%if 0%{?rhel} >= 7 +ExclusiveArch: x86_64 %endif URL: http://people.redhat.com/~rjones/supermin/ -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 +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 + # Keyring used to verify tarball signature. +%if 0%{verify_tarball_signature} Source2: libguestfs.keyring +%endif -# 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: dnf >= 0.6.5-1.fc23 +BuildRequires: dnf-plugins-core >= 0.1.7-1.fc23 +BuildRequires: hawkey >= 0.5.4-1.fc23 BuildRequires: /usr/sbin/mke2fs BuildRequires: e2fsprogs-devel BuildRequires: findutils @@ -88,14 +73,6 @@ 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/ subdirectory (in Fedora >= 23). Read the @@ -104,19 +81,26 @@ 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 >= 0.6.5-1.fc23 +Requires: dnf-plugins-core >= 0.1.7-1.fc23 +Requires: hawkey >= 0.5.4-1.fc23 Requires: util-linux-ng Requires: cpio Requires: tar Requires: /usr/sbin/mke2fs # RHBZ#771310 Requires: e2fsprogs-libs >= 1.42 +Requires: findutils + +# supermin-helper subpackage is no longer separate (since Fedora 21). +# A single binary (supermin) provides both features. +# Remove this in Fedora 23. +Provides: supermin-helper = %{version}-%{release} +Obsoletes: supermin-helper < 4.1.6-3 # For automatic RPM dependency generation. -# See: https://rpm-software-management.github.io/rpm/manual/dependency_generators.html +# See: http://www.rpm.org/wiki/PackagerDocs/DependencyGenerator Source3: supermin.attr Source4: supermin-find-requires @@ -127,48 +111,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 contains extra dependencies needed for 'supermin --prepare' to -work, as well as tools for automatic RPM dependency generation from -supermin appliances. +It just contains tools for automatic RPM dependency generation +from supermin appliances. %prep %if 0%{verify_tarball_signature} -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +tmphome="$(mktemp -d)" +gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} %endif %setup -q %autopatch -p1 %build -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 +%configure --disable-network-tests %if %{with dietlibc} make -C init CC="diet gcc" @@ -211,242 +178,10 @@ make check || { %changelog -* Mon Oct 13 2025 Richard W.M. Jones - 5.3.5-7 -- OCaml 5.4.0 rebuild - -* Fri Jul 25 2025 Fedora Release Engineering - 5.3.5-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Jul 11 2025 Jerry James - 5.3.5-5 -- Rebuild to fix OCaml dependencies - -* Sun Jan 19 2025 Fedora Release Engineering - 5.3.5-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jan 9 2025 Jerry James - 5.3.5-3 -- OCaml 5.3.0 rebuild for Fedora 42 - -* Mon Oct 21 2024 Richard W.M. Jones - 5.3.5-2 -- Use stable owner, group and mtime in base.tar.gz (RHBZ#2320025) - -* Sat Aug 31 2024 Richard W.M. Jones - 5.3.5-1 -- New upstream version 5.3.5 - -* Sat Jul 20 2024 Fedora Release Engineering - 5.3.4-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Wed Jun 19 2024 Richard W.M. Jones - 5.3.4-4 -- OCaml 5.2.0 ppc64le fix - -* Wed May 29 2024 Richard W.M. Jones - 5.3.4-3 -- OCaml 5.2.0 for Fedora 41 - -* Sat Jan 27 2024 Fedora Release Engineering - 5.3.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jan 11 2024 Richard W.M. Jones - 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 - 5.3.3-19 -- OCaml 5.1.1 + s390x code gen fix for Fedora 40 - -* Tue Dec 12 2023 Richard W.M. Jones - 5.3.3-18 -- OCaml 5.1.1 rebuild for Fedora 40 - -* Fri Nov 10 2023 Richard W.M. Jones - 5.3.3-17 -- Fix RISC-V gzip compressed kernels - -* Thu Oct 05 2023 Richard W.M. Jones - 5.3.3-16 -- OCaml 5.1 rebuild for Fedora 40 - -* Wed Aug 02 2023 Yaakov Selkowitz - 5.3.3-15 -- Defer dnf5 until Fedora 41 - -* Sat Jul 22 2023 Fedora Release Engineering - 5.3.3-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jul 12 2023 Richard W.M. Jones - 5.3.3-13 -- OCaml 5.0 rebuild for Fedora 39 - -* Mon Jul 10 2023 Jerry James - 5.3.3-10 -- OCaml 5.0.0 rebuild - -* Mon Jun 12 2023 Richard W.M. Jones - 5.3.3-9 -- Fix --if-newer - -* Mon Jun 05 2023 Richard W.M. Jones - 5.3.3-8 -- Migrated to SPDX license - -* Wed May 31 2023 Richard W.M. Jones - 5.3.3-7 -- Further fix for dnf5 (RHBZ#2211386) - -* Tue May 30 2023 Richard W.M. Jones - 5.3.3-6 -- Add support for dnf5 (RHBZ#2209412) - -* Fri May 19 2023 Richard W.M. Jones - 5.3.3-5 -- Rebuild against librpm 10 - -* Tue Jan 24 2023 Richard W.M. Jones - 5.3.3-4 -- Rebuild OCaml packages for F38 - -* Sat Jan 21 2023 Richard W.M. Jones - 5.3.3-3 -- Deal with new RPM database location -- https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr - -* Sat Jan 21 2023 Fedora Release Engineering - 5.3.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Tue Oct 18 2022 Richard W.M. Jones - 5.3.3-1 -- New upstream development version 5.3.3 - -* Wed Sep 07 2022 Richard W.M. Jones - 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 - 5.3.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Sat Jun 18 2022 Richard W.M. Jones - 5.3.2-3 -- OCaml 4.14.0 rebuild - -* Sun May 15 2022 Richard W.M. Jones - 5.3.2-2 -- Move dependency on dnf to -devel subpackage (RHBZ#2086302) - -* Fri Mar 04 2022 Richard W.M. Jones - 5.3.2-1 -- New upstream development version 5.3.2 - -* Fri Feb 04 2022 Richard W.M. Jones - 5.3.1-5 -- OCaml 4.13.1 rebuild to remove package notes - -* Sat Jan 22 2022 Fedora Release Engineering - 5.3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Dec 01 2021 Richard W.M. Jones - 5.3.1-3 -- Further fix to ignore zfcpdump kernel on s390x - -* Tue Nov 30 2021 Richard W.M. Jones - 5.3.1-2 -- Ignore zfcpdump kernel on s390x - -* Thu Aug 26 2021 Richard W.M. Jones - 5.3.1-1 -- New upstream development version 5.3.1. - -* Fri Jul 23 2021 Fedora Release Engineering - 5.2.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jun 2 2021 Richard W.M. Jones - 5.2.1-3 -- Add gating tests (for RHEL 9) - -* Fri May 07 2021 Richard W.M. Jones - 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 - 5.2.1-1 -- New upstream version 5.2.1. - -* Wed Jan 27 2021 Fedora Release Engineering - 5.2.0-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Jan 14 2021 Richard W.M. Jones - 5.2.0-6 -- Remove inactive strip override (see RHBZ#1915570). - -* Mon Nov 23 2020 Richard W.M. Jones - 5.2.0-5 -- Disable dietlibc on RHEL 9. - -* Fri Aug 07 2020 Troy Dawson - 5.2.0-4 -- Use ExclusiveArch: %{kernel_arches} - -* Wed Jul 29 2020 Fedora Release Engineering - 5.2.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Apr 03 2020 Richard W.M. Jones - 5.2.0-2 -- ppc64le: ibmvscsi driver missing from supermin appliance (RHBZ#1819019). - -* Tue Mar 10 2020 Richard W.M. Jones - 5.2.0-1 -- New upstream stable version 5.2.0. - -* Fri Jan 31 2020 Fedora Release Engineering - 5.1.20-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Dec 10 2019 Richard W.M. Jones - 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 - 5.1.20-10 -- Add upstream patch to fix symlinks on recent kernels (RHBZ#1770304). - -* Wed Nov 27 2019 Richard W.M. Jones - 5.1.20-9 -- Use gpgverify macro instead of explicit gpgv2 command. - -* Wed Jul 31 2019 Richard W.M. Jones - 5.1.20-8 -- OCaml 4.08.1 (rc2) rebuild. - -* Sat Jul 27 2019 Richard W.M. Jones - 5.1.20-7 -- Disable package on i686 because no kernel. - -* Sat Jul 27 2019 Fedora Release Engineering - 5.1.20-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Mon Jun 10 22:13:23 CET 2019 Igor Gnatenko - 5.1.20-5 -- Rebuild for RPM 4.15 - -* Mon Jun 10 15:42:06 CET 2019 Igor Gnatenko - 5.1.20-4 -- Rebuild for RPM 4.15 - -* Sun Feb 03 2019 Fedora Release Engineering - 5.1.20-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Thu Jan 24 2019 Richard W.M. Jones - 5.1.20-2 -- Add upstream patches to diagnose possible F29 issue. - -* Thu Jan 17 2019 Richard W.M. Jones - 5.1.20-1 -- New upstream version 5.1.20. - -* Sat Jul 14 2018 Fedora Release Engineering - 5.1.19-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Sat Feb 24 2018 Florian Weimer - 5.1.19-4 -- Reenable hardened build - -* Tue Feb 13 2018 Richard W.M. Jones - 5.1.19-3 -- Fix bytes/string problems. - -* Fri Feb 09 2018 Fedora Release Engineering - 5.1.19-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Sep 19 2017 Richard W.M. Jones - 5.1.19-1 -- New upstream version 5.1.19. -- Remove all patches, now upstream. - -* Thu Aug 10 2017 Igor Gnatenko - 5.1.18-5 -- Rebuilt for RPM soname bump - -* Thu Aug 03 2017 Richard W.M. Jones - 5.1.18-4 -- Fix supermin crash with truncated vmlinuz file (RHBZ#1477758). -- Include all upstream patches since 5.1.18. - -* Thu Aug 03 2017 Fedora Release Engineering - 5.1.18-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 5.1.18-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - * Thu Jul 13 2017 Richard W.M. Jones - 5.1.18-1 - New upstream release 5.1.18. - Fixes problem with creating incorrect symlinks (RHBZ#1470157). -* Sat Mar 18 2017 Richard W.M. Jones - 5.1.17-5 -- Enable dietlibc on aarch64 and POWER. - -* Fri Mar 17 2017 Richard W.M. Jones - 5.1.17-4 -- Drop dependency on hawkey and versioned dependencies on dnf. - -* Sat Feb 11 2017 Fedora Release Engineering - 5.1.17-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Sat Nov 05 2016 Richard W.M. Jones - 5.1.17-2 -- Rebuild for OCaml 4.04.0. - * Tue Nov 01 2016 Richard W.M. Jones - 5.1.17-1 - New upstream release 5.1.17. - Check signature on the tarball before unpacking it.