Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package supermin for openSUSE:Factory checked in at 2024-07-15 19:46:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/supermin (Old) and /work/SRC/openSUSE:Factory/.supermin.new.17339 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "supermin" Mon Jul 15 19:46:37 2024 rev:24 rq:1187213 version:5.3.4 Changes: -------- --- /work/SRC/openSUSE:Factory/supermin/supermin.changes 2024-05-08 11:42:32.490917130 +0200 +++ /work/SRC/openSUSE:Factory/.supermin.new.17339/supermin.changes 2024-07-15 19:47:01.262700611 +0200 @@ -1,0 +2,21 @@ +Wed Jul 10 15:34:55 MDT 2024 - carn...@suse.com + +- Update to version 5.3.4 (jsc#PED-6305) + * Add support for OCaml 5 + * Add kylinsecos support + * rpm: Detect dnf5 and omit missing options + * ocamlc: Use -output-complete-exe instead of -custom + * Fix kernel filtering for aarch64 architecture + * Uncompress kernel on RISC-V +- Drop patches contained in new tarball + 001-Improved-debugging-of-the-supermin-if-newer-calculation.patch + 002-Fix-if-newer-copy-kernel.patch + 003-Fix-kernel-filtering-for-aarch64-architecture.patch + 004-Use-output-complete-exe-instead-of-custom.patch + 005-Only-supply-output-complete-exe-to-final-link.patch + 006-Rename-function-file-kernel.patch + 007-Uncompress-kernel-on-RISC-V.patch + 008-Fix-link-to-renamed-kernel-documentation.patch + 009-New-mailing-list-email-address.patch + +------------------------------------------------------------------- Old: ---- 001-Improved-debugging-of-the-supermin-if-newer-calculation.patch 002-Fix-if-newer-copy-kernel.patch 003-Fix-kernel-filtering-for-aarch64-architecture.patch 004-Use-output-complete-exe-instead-of-custom.patch 005-Only-supply-output-complete-exe-to-final-link.patch 006-Rename-function-file-kernel.patch 007-Uncompress-kernel-on-RISC-V.patch 008-Fix-link-to-renamed-kernel-documentation.patch 009-New-mailing-list-email-address.patch supermin-5.3.3.tar.gz supermin-5.3.3.tar.gz.sig New: ---- supermin-5.3.4.tar.gz supermin-5.3.4.tar.gz.sig BETA DEBUG BEGIN: Old:- Drop patches contained in new tarball 001-Improved-debugging-of-the-supermin-if-newer-calculation.patch 002-Fix-if-newer-copy-kernel.patch Old: 001-Improved-debugging-of-the-supermin-if-newer-calculation.patch 002-Fix-if-newer-copy-kernel.patch 003-Fix-kernel-filtering-for-aarch64-architecture.patch Old: 002-Fix-if-newer-copy-kernel.patch 003-Fix-kernel-filtering-for-aarch64-architecture.patch 004-Use-output-complete-exe-instead-of-custom.patch Old: 003-Fix-kernel-filtering-for-aarch64-architecture.patch 004-Use-output-complete-exe-instead-of-custom.patch 005-Only-supply-output-complete-exe-to-final-link.patch Old: 004-Use-output-complete-exe-instead-of-custom.patch 005-Only-supply-output-complete-exe-to-final-link.patch 006-Rename-function-file-kernel.patch Old: 005-Only-supply-output-complete-exe-to-final-link.patch 006-Rename-function-file-kernel.patch 007-Uncompress-kernel-on-RISC-V.patch Old: 006-Rename-function-file-kernel.patch 007-Uncompress-kernel-on-RISC-V.patch 008-Fix-link-to-renamed-kernel-documentation.patch Old: 007-Uncompress-kernel-on-RISC-V.patch 008-Fix-link-to-renamed-kernel-documentation.patch 009-New-mailing-list-email-address.patch Old: 008-Fix-link-to-renamed-kernel-documentation.patch 009-New-mailing-list-email-address.patch BETA DEBUG END: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ supermin.spec ++++++ --- /var/tmp/diff_new_pack.Hn7zF4/_old 2024-07-15 19:47:01.830721424 +0200 +++ /var/tmp/diff_new_pack.Hn7zF4/_new 2024-07-15 19:47:01.834721571 +0200 @@ -17,24 +17,15 @@ Name: supermin -Version: 5.3.3 +Version: 5.3.4 Release: 0 Summary: Bootstrapping tool for creating supermin appliances License: GPL-3.0-or-later Group: System/Filesystems URL: https://libguestfs.org/ -Source0: https://download.libguestfs.org/supermin/5.3-development/supermin-5.3.3.tar.gz -Source1: https://download.libguestfs.org/supermin/5.3-development/supermin-5.3.3.tar.gz.sig +Source0: https://download.libguestfs.org/supermin/5.3-development/supermin-5.3.4.tar.gz +Source1: https://download.libguestfs.org/supermin/5.3-development/supermin-5.3.4.tar.gz.sig Source9: supermin.keyring -Patch1: 001-Improved-debugging-of-the-supermin-if-newer-calculation.patch -Patch2: 002-Fix-if-newer-copy-kernel.patch -Patch3: 003-Fix-kernel-filtering-for-aarch64-architecture.patch -Patch4: 004-Use-output-complete-exe-instead-of-custom.patch -Patch5: 005-Only-supply-output-complete-exe-to-final-link.patch -Patch6: 006-Rename-function-file-kernel.patch -Patch7: 007-Uncompress-kernel-on-RISC-V.patch -Patch8: 008-Fix-link-to-renamed-kernel-documentation.patch -Patch9: 009-New-mailing-list-email-address.patch Patch30: suse_release.patch Patch31: supermin-kernel_version_compressed.patch Patch32: disable-test-if-newer-ext2.patch ++++++ disable-test-if-newer-ext2.patch ++++++ --- /var/tmp/diff_new_pack.Hn7zF4/_old 2024-07-15 19:47:01.870722889 +0200 +++ /var/tmp/diff_new_pack.Hn7zF4/_new 2024-07-15 19:47:01.874723036 +0200 @@ -1,12 +1,13 @@ ---- supermin-5.2.1/tests/test-if-newer-ext2.sh.orig 2021-08-25 10:58:41.452745319 -0600 -+++ supermin-5.2.1/tests/test-if-newer-ext2.sh 2021-08-25 10:59:35.324746603 -0600 -@@ -43,7 +43,7 @@ run_supermin - # No changes, hence nothing to do. - run_supermin > test-if-newer-ext2.out - cat test-if-newer-ext2.out --grep 'if-newer: output does not need rebuilding' test-if-newer-ext2.out -+#grep 'if-newer: output does not need rebuilding' test-if-newer-ext2.out - rm test-if-newer-ext2.out +--- supermin-5.3.4/tests/Makefile.am.orig 2024-07-12 09:00:00.700673571 -0600 ++++ supermin-5.3.4/tests/Makefile.am 2024-07-12 09:00:14.828673908 -0600 +@@ -28,8 +28,7 @@ TESTS = \ + test-execstack.sh \ + test-build-bash.sh \ + test-binaries-exist.sh \ +- test-harder.sh \ +- test-if-newer-ext2.sh ++ test-harder.sh - # Try removing any of the files, and check that supermin will detect that. + if NETWORK_TESTS + TESTS += \ ++++++ supermin-5.3.3.tar.gz -> supermin-5.3.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/README new/supermin-5.3.4/README --- old/supermin-5.3.3/README 2022-03-04 14:18:18.000000000 +0100 +++ new/supermin-5.3.4/README 2024-01-11 13:18:56.000000000 +0100 @@ -143,7 +143,7 @@ Feedback and bugs ----------------- -Send feedback to libgues...@redhat.com. You can file bugs in +Send feedback to gues...@lists.libguestfs.org. You can file bugs in https://bugzilla.redhat.com/ (under "Fedora", "supermin") Alternate libc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/aclocal.m4 new/supermin-5.3.4/aclocal.m4 --- old/supermin-5.3.3/aclocal.m4 2022-10-18 15:36:36.000000000 +0200 +++ new/supermin-5.3.4/aclocal.m4 2024-01-11 13:20:32.000000000 +0100 @@ -20,8 +20,8 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) +# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) dnl Copyright © 2004 Scott James Remnant <sc...@netsplit.com>. dnl Copyright © 2012-2015 Dan Nicholson <dbn.li...@gmail.com> @@ -63,7 +63,7 @@ dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -108,7 +108,7 @@ dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place +dnl only at the first occurrence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], @@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -174,17 +174,17 @@ See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - m4_default([$4], [AC_MSG_ERROR( + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -195,8 +195,8 @@ _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -206,10 +206,10 @@ To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl ]) else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - $3 + $3 fi[]dnl ])dnl PKG_CHECK_MODULES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/configure new/supermin-5.3.4/configure --- old/supermin-5.3.3/configure 2022-10-18 15:36:37.000000000 +0200 +++ new/supermin-5.3.4/configure 2024-01-11 13:20:33.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for supermin 5.3.3. +# Generated by GNU Autoconf 2.71 for supermin 5.3.4. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -608,8 +608,8 @@ # Identity of this package. PACKAGE_NAME='supermin' PACKAGE_TARNAME='supermin' -PACKAGE_VERSION='5.3.3' -PACKAGE_STRING='supermin 5.3.3' +PACKAGE_VERSION='5.3.4' +PACKAGE_STRING='supermin 5.3.4' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1374,7 +1374,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures supermin 5.3.3 to adapt to many kinds of systems. +\`configure' configures supermin 5.3.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1445,7 +1445,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of supermin 5.3.3:";; + short | recursive ) echo "Configuration of supermin 5.3.4:";; esac cat <<\_ACEOF @@ -1555,7 +1555,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -supermin configure 5.3.3 +supermin configure 5.3.4 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1811,7 +1811,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by supermin $as_me 5.3.3, which was +It was created by supermin $as_me 5.3.4, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3083,7 +3083,7 @@ # Define the identity of the package. PACKAGE='supermin' - VERSION='5.3.3' + VERSION='5.3.4' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -6783,8 +6783,8 @@ fi pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBRPM" >&5 -printf %s "checking for LIBRPM... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for rpm" >&5 +printf %s "checking for rpm... " >&6; } if test -n "$LIBRPM_CFLAGS"; then pkg_cv_LIBRPM_CFLAGS="$LIBRPM_CFLAGS" @@ -6824,7 +6824,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -6833,24 +6833,24 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - LIBRPM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "rpm" 2>&1` + LIBRPM_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "rpm" 2>&1` else - LIBRPM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "rpm" 2>&1` + LIBRPM_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "rpm" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$LIBRPM_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$LIBRPM_PKG_ERRORS" >&5 - : + : elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - : + : else - LIBRPM_CFLAGS=$pkg_cv_LIBRPM_CFLAGS - LIBRPM_LIBS=$pkg_cv_LIBRPM_LIBS + LIBRPM_CFLAGS=$pkg_cv_LIBRPM_CFLAGS + LIBRPM_LIBS=$pkg_cv_LIBRPM_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } - librpm=yes + librpm=yes fi if test "x$librpm" = "xyes"; then @@ -7633,8 +7633,8 @@ pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for EXT2FS" >&5 -printf %s "checking for EXT2FS... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ext2fs" >&5 +printf %s "checking for ext2fs... " >&6; } if test -n "$EXT2FS_CFLAGS"; then pkg_cv_EXT2FS_CFLAGS="$EXT2FS_CFLAGS" @@ -7674,7 +7674,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -7683,14 +7683,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - EXT2FS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ext2fs" 2>&1` + EXT2FS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "ext2fs" 2>&1` else - EXT2FS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ext2fs" 2>&1` + EXT2FS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "ext2fs" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$EXT2FS_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$EXT2FS_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (ext2fs) were not met: + as_fn_error $? "Package requirements (ext2fs) were not met: $EXT2FS_PKG_ERRORS @@ -7701,9 +7701,9 @@ and EXT2FS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -7716,16 +7716,16 @@ To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - EXT2FS_CFLAGS=$pkg_cv_EXT2FS_CFLAGS - EXT2FS_LIBS=$pkg_cv_EXT2FS_LIBS + EXT2FS_CFLAGS=$pkg_cv_EXT2FS_CFLAGS + EXT2FS_LIBS=$pkg_cv_EXT2FS_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } fi pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for COM_ERR" >&5 -printf %s "checking for COM_ERR... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for com_err" >&5 +printf %s "checking for com_err... " >&6; } if test -n "$COM_ERR_CFLAGS"; then pkg_cv_COM_ERR_CFLAGS="$COM_ERR_CFLAGS" @@ -7765,7 +7765,7 @@ if test $pkg_failed = yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -7774,14 +7774,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - COM_ERR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "com_err" 2>&1` + COM_ERR_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "com_err" 2>&1` else - COM_ERR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "com_err" 2>&1` + COM_ERR_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "com_err" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$COM_ERR_PKG_ERRORS" >&5 + # Put the nasty error message in config.log where it belongs + echo "$COM_ERR_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (com_err) were not met: + as_fn_error $? "Package requirements (com_err) were not met: $COM_ERR_PKG_ERRORS @@ -7792,9 +7792,9 @@ and COM_ERR_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -7807,8 +7807,8 @@ To get pkg-config, see <http://pkg-config.freedesktop.org/>. See \`config.log' for more details" "$LINENO" 5; } else - COM_ERR_CFLAGS=$pkg_cv_COM_ERR_CFLAGS - COM_ERR_LIBS=$pkg_cv_COM_ERR_LIBS + COM_ERR_CFLAGS=$pkg_cv_COM_ERR_CFLAGS + COM_ERR_LIBS=$pkg_cv_COM_ERR_LIBS { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } @@ -8482,7 +8482,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by supermin $as_me 5.3.3, which was +This file was extended by supermin $as_me 5.3.4, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -8550,7 +8550,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -supermin config.status 5.3.3 +supermin config.status 5.3.4 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/configure.ac new/supermin-5.3.4/configure.ac --- old/supermin-5.3.3/configure.ac 2022-10-18 15:35:04.000000000 +0200 +++ new/supermin-5.3.4/configure.ac 2024-01-11 13:19:41.000000000 +0100 @@ -20,7 +20,7 @@ dnl MAJOR = 5 (unless we break the command line again) dnl MINOR = even for stable branch, odd for development branch dnl RELEASE = increments for each release -AC_INIT([supermin],[5.3.3]) +AC_INIT([supermin],[5.3.4]) AM_INIT_AUTOMAKE(foreign) AC_REQUIRE_AUX_FILE([supermin-test-driver]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/init/init.c new/supermin-5.3.4/init/init.c --- old/supermin-5.3.3/init/init.c 2022-09-02 13:01:01.000000000 +0200 +++ new/supermin-5.3.4/init/init.c 2024-01-11 13:18:56.000000000 +0100 @@ -279,8 +279,8 @@ fprintf (stderr, "supermin: deleting initramfs files\n"); delete_initramfs_files (); - /* Note that pivot_root won't work. See the note in - * Documentation/filesystems/ramfs-rootfs-initramfs.txt + /* Note that pivot_root won't work. See the note in Linux + * Documentation/filesystems/ramfs-rootfs-initramfs.rst */ if (!quiet) fprintf (stderr, "supermin: chroot\n"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/Makefile.am new/supermin-5.3.4/src/Makefile.am --- old/supermin-5.3.3/src/Makefile.am 2022-09-07 17:14:52.000000000 +0200 +++ new/supermin-5.3.4/src/Makefile.am 2023-07-12 23:50:58.000000000 +0200 @@ -132,7 +132,8 @@ if !HAVE_OCAMLOPT OBJECTS = $(BOBJECTS) BEST = c -OCAMLFLAGS += -custom +#OCAMLLINKFLAGS = -custom # for OCaml < 4.10 +OCAMLLINKFLAGS = -output-complete-exe else OBJECTS = $(XOBJECTS) BEST = opt @@ -142,7 +143,8 @@ supermin_LINK = \ ./supermin-link.sh \ - $(OCAMLFIND) $(BEST) $(OCAMLFLAGS) $(OCAMLPACKAGES) \ + $(OCAMLFIND) $(BEST) $(OCAMLLINKFLAGS) $(OCAMLFLAGS) \ + $(OCAMLPACKAGES) \ $(OBJECTS) -o $@ .mli.cmi: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/Makefile.in new/supermin-5.3.4/src/Makefile.in --- old/supermin-5.3.3/src/Makefile.in 2022-10-18 15:36:37.000000000 +0200 +++ new/supermin-5.3.4/src/Makefile.in 2024-01-11 13:20:33.000000000 +0100 @@ -107,7 +107,6 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = supermin$(EXEEXT) -@HAVE_OCAMLOPT_FALSE@am__append_1 = -custom subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ocaml.m4 \ @@ -475,16 +474,18 @@ BOBJECTS = $(SOURCES_ML:.ml=.cmo) XOBJECTS = $(SOURCES_ML:.ml=.cmx) OCAMLPACKAGES = -package unix,str -OCAMLFLAGS = -g -warn-error +C+D+E+F+L+M+P+S+U+V+X+Y+Z-3 \ - $(am__append_1) +OCAMLFLAGS = -g -warn-error +C+D+E+F+L+M+P+S+U+V+X+Y+Z-3 @HAVE_OCAMLOPT_FALSE@OBJECTS = $(BOBJECTS) @HAVE_OCAMLOPT_TRUE@OBJECTS = $(XOBJECTS) @HAVE_OCAMLOPT_FALSE@BEST = c @HAVE_OCAMLOPT_TRUE@BEST = opt +#OCAMLLINKFLAGS = -custom # for OCaml < 4.10 +@HAVE_OCAMLOPT_FALSE@OCAMLLINKFLAGS = -output-complete-exe supermin_DEPENDENCIES = $(OBJECTS) supermin_LINK = \ ./supermin-link.sh \ - $(OCAMLFIND) $(BEST) $(OCAMLFLAGS) $(OCAMLPACKAGES) \ + $(OCAMLFIND) $(BEST) $(OCAMLLINKFLAGS) $(OCAMLFLAGS) \ + $(OCAMLPACKAGES) \ $(OBJECTS) -o $@ BUILT_SOURCES = format-ext2-init-bin.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/config.ml new/supermin-5.3.4/src/config.ml --- old/supermin-5.3.3/src/config.ml 2022-10-18 15:36:55.000000000 +0200 +++ new/supermin-5.3.4/src/config.ml 2024-01-11 13:20:56.000000000 +0100 @@ -18,16 +18,16 @@ *) let package_name = "supermin" -let package_version = "5.3.3" +let package_version = "5.3.4" let host_cpu = "x86_64" let apt_get = "no" let cpio = "/usr/bin/cpio" let dnf = "/usr/bin/dnf" -let dpkg = "/usr/bin/dpkg" -let dpkg_deb = "/usr/bin/dpkg-deb" -let dpkg_query = "/usr/bin/dpkg-query" -let dpkg_divert = "/usr/bin/dpkg-divert" +let dpkg = "no" +let dpkg_deb = "no" +let dpkg_query = "no" +let dpkg_divert = "no" let fakeroot = "/usr/bin/fakeroot" let makepkg = "no" let pacman = "no" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/format_ext2_kernel.ml new/supermin-5.3.4/src/format_ext2_kernel.ml --- old/supermin-5.3.3/src/format_ext2_kernel.ml 2022-03-04 14:18:18.000000000 +0100 +++ new/supermin-5.3.4/src/format_ext2_kernel.ml 2024-01-11 13:18:56.000000000 +0100 @@ -25,6 +25,20 @@ open Fnmatch open Glob +(* Similar but not the same as get_file_type in mode_build. There + * is a case for deriving a common base utility. XXX + *) +type compression_type = GZip | Uncompressed +let get_compression_type file = + let chan = open_in file in + let buf = Bytes.create 512 in + let len = input chan buf 0 (Bytes.length buf) in + close_in chan; + let buf = Bytes.to_string buf in + if len >= 3 && buf.[0] = '\x1f' && buf.[1] = '\x8b' && buf.[2] = '\x08' + then GZip + else Uncompressed (* or other unknown compression type *) + let rec build_kernel debug host_cpu copy_kernel kernel = (* Locate the kernel. * SUPERMIN_* environment variables override everything. If those @@ -54,7 +68,19 @@ printf "supermin: kernel: modpath %s\n%!" modpath; ); - copy_or_symlink_file copy_kernel kernel_file kernel; + (* RISC-V relies on the bootloader or firmware to uncompress the + * kernel and doesn't have a concept of self-extracting kernels. + * On Arm which is similar, qemu -kernel will automatically uncompress + * the kernel, but qemu-system-riscv won't do that and the code is a + * big mess so I don't fancy fixing it. So we have to detect that + * case here and uncompress the kernel. + *) + let kernel_compression_type = get_compression_type kernel_file in + if string_prefix "riscv" host_cpu && kernel_compression_type <> Uncompressed + then + copy_and_uncompress_kernel kernel_compression_type kernel_file kernel + else + copy_or_symlink_kernel copy_kernel kernel_file kernel; (kernel_version, modpath) @@ -187,6 +213,7 @@ | "amd64" | "x86_64" -> ["amd64"; "x86_64"] | "parisc" | "parisc64" -> ["hppa"; "hppa64"] | "ppc64el" -> ["powerpc64le"] + | "aarch64" -> ["aarch64"; "arm64"] | _ when host_cpu.[0] = 'i' && host_cpu.[2] = '8' && host_cpu.[3] = '6' -> ["?86"] | _ when String.length host_cpu >= 5 && String.sub host_cpu 0 5 = "armv7" -> ["armmp"] | _ -> [host_cpu] @@ -307,10 +334,20 @@ really_input chan buf 0 len; Bytes.to_string buf -and copy_or_symlink_file copy_kernel src dest = +and copy_and_uncompress_kernel compression_type src dest = + let cmd = + match compression_type with + | GZip -> sprintf "zcat %s > %s" (quote src) (quote dest) + | Uncompressed -> sprintf "cp %s %s" (quote src) (quote dest) in + run_command cmd + +and copy_or_symlink_kernel copy_kernel src dest = if not copy_kernel then symlink src dest else ( - let cmd = sprintf "cp -p %s %s" (quote src) (quote dest) in + (* NB: Do not use -p here, we want the kernel to appear newer + * so that --if-newer works. + *) + let cmd = sprintf "cp %s %s" (quote src) (quote dest) in run_command cmd ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/mode_build.ml new/supermin-5.3.4/src/mode_build.ml --- old/supermin-5.3.3/src/mode_build.ml 2022-09-11 10:16:29.000000000 +0200 +++ new/supermin-5.3.4/src/mode_build.ml 2023-02-17 22:34:54.000000000 +0100 @@ -16,6 +16,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) +let stdlib_stdout = stdout + open Unix open Unix.LargeFile open Printf @@ -123,7 +125,7 @@ (PackageSet.cardinal packages); if debug >= 2 then ( List.iter (printf " - %s\n") pretty_packages; - flush Pervasives.stdout + flush stdlib_stdout ) ); @@ -207,7 +209,7 @@ (List.length files); if debug >= 2 then ( List.iter (fun { ft_path = path } -> printf " - %s\n" path) files; - flush Pervasives.stdout + flush stdlib_stdout ) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/ph_rpm.ml new/supermin-5.3.4/src/ph_rpm.ml --- old/supermin-5.3.3/src/ph_rpm.ml 2022-09-02 13:03:20.000000000 +0200 +++ new/supermin-5.3.4/src/ph_rpm.ml 2024-01-11 13:18:56.000000000 +0100 @@ -32,12 +32,13 @@ let fedora_detect () = Config.rpm <> "no" && Config.rpm2cpio <> "no" && rpm_is_available () && (Config.yumdownloader <> "no" || Config.dnf <> "no") && - (List.mem (Os_release.get_id ()) [ "fedora"; "rhel"; "centos"; "openEuler"; "anolis" ] || + (List.mem (Os_release.get_id ()) [ "fedora"; "rhel"; "centos"; "openEuler"; "anolis"; "KylinSecOS" ] || try (stat "/etc/redhat-release").st_kind = S_REG || (stat "/etc/fedora-release").st_kind = S_REG || (stat "/etc/openEuler-release").st_kind = S_REG || - (stat "/etc/anolis-release").st_kind = S_REG + (stat "/etc/anolis-release").st_kind = S_REG || + (stat "/etc/kylin-release").st_kind = S_REG with Unix_error _ -> false) let opensuse_detect () = @@ -236,12 +237,22 @@ let rpm = rpm_of_pkg pkg in rpm.name +let rpmdb_locations = [ + "/usr/lib/sysimage/rpm/rpmdb.sqlite"; + "/var/lib/rpm/rpmdb.sqlite"; + "/var/lib/rpm/Packages" +] + +let find_rpmdb () = + let rec loop = function + | [] -> error "rpm: cannot locate RPM database; if this is a normal RPM-based Linux distro then this is probably a supermin bug" + | db :: rest -> + if Sys.file_exists db then db else loop rest + in + loop rpmdb_locations + let rpm_get_package_database_mtime () = - (try - lstat "/var/lib/rpm/rpmdb.sqlite" - with Unix_error (ENOENT, _, _) -> - lstat "/var/lib/rpm/Packages" - ).st_mtime + (lstat (find_rpmdb ())).st_mtime (* Return the best provider of a particular RPM requirement. * @@ -472,19 +483,39 @@ (* Old dnf didn't create the destdir directory, newer versions do. *) mkdir tdir 0o700; + (* dnf5 lacks various options so we have to detect it: + * https://github.com/rpm-software-management/dnf5/issues/580 + * https://github.com/rpm-software-management/dnf5/issues/581 + *) + let is_dnf5 = is_dnf5 () in + let debug_quiet_option = + if !settings.debug < 1 then " -q" + else if not is_dnf5 then " -v" + else "" in + let rpms = pkgs_as_NA_rpms pkgs in let cmd = - sprintf "%s download%s%s --destdir=%s --disableexcludes=all %s" + sprintf "%s download%s%s%s --destdir=%s %s" Config.dnf - (if !settings.debug >= 1 then " -v" else " -q") + debug_quiet_option (match !settings.packager_config with | None -> "" - | Some filename -> sprintf " -c %s" (quote filename)) + | Some filename -> sprintf " --config=%s" (quote filename)) + (if not is_dnf5 then " --disableexcludes=all" + else " --setopt=disable_excludes=*") (quote tdir) (quoted_list rpms) in run_command cmd +and is_dnf5 () = + let cmd = sprintf "%s --version" Config.dnf in + let lines = run_command_get_lines cmd in + match lines with + | [] -> error "rpm: no output from '%s' command" cmd + | line :: _ when find line "version 5" >= 0 -> true + | _ -> false + and pkgs_as_NA_rpms pkgs = let rpms = List.map rpm_of_pkg (PackageSet.elements pkgs) in List.map ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/supermin.ml new/supermin-5.3.4/src/supermin.ml --- old/supermin-5.3.3/src/supermin.ml 2022-09-07 17:14:52.000000000 +0200 +++ new/supermin-5.3.4/src/supermin.ml 2023-06-12 14:08:59.000000000 +0200 @@ -16,6 +16,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) +let stdlib_stderr = stderr + open Unix open Unix.LargeFile open Printf @@ -239,10 +241,33 @@ try let outputs = Mode_build.get_outputs args inputs in let outputs = List.map ((//) outputdir) outputs in - let odates = List.map (fun d -> (lstat d).st_mtime) (outputdir :: outputs) in - let idates = List.map (fun d -> (lstat d).st_mtime) inputs in + let outputs = outputdir :: outputs in + let odates = List.map (fun f -> (lstat f).st_mtime) outputs in + if debug >= 2 then ( + List.iter ( + fun f -> + printf "supermin: if-newer: output %s => %.2f\n" + f (lstat f).st_mtime + ) outputs; + ); + let idates = List.map (fun f -> (lstat f).st_mtime) inputs in + if debug >= 2 then ( + List.iter ( + fun f -> + printf "supermin: if-newer: input %s => %.2f\n" + f (lstat f).st_mtime + ) inputs; + ); let pdate = (get_package_handler ()).ph_get_package_database_mtime () in - if List.for_all (fun idate -> List.for_all (fun odate -> idate < odate) odates) (pdate :: idates) then ( + if debug >= 2 then ( + printf "supermin: if-newer: package database date: %.2f\n" pdate; + ); + let older = + List.for_all ( + fun idate -> + List.for_all (fun odate -> idate < odate) odates + ) (pdate :: idates) in + if older then ( if debug >= 1 then printf "supermin: if-newer: output does not need rebuilding\n%!"; exit 0 @@ -296,27 +321,27 @@ main () with | Unix.Unix_error (code, fname, "") -> (* from a syscall *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "error: %s: %s" fname (Unix.error_message code) | Unix.Unix_error (code, fname, param) -> (* from a syscall *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "error: %s: %s: %s" fname (Unix.error_message code) param | Failure msg -> (* from failwith/failwithf *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "failure: %s" msg | Librpm.Multiple_matches (package, count) -> (* from librpm *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "RPM error: %d occurrences for %s" count package | Invalid_argument msg -> (* probably should never happen *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "internal error: invalid argument: %s" msg | Assert_failure (file, line, char) -> (* should never happen *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "internal error: assertion failed at %s, line %d, char %d" file line char | Not_found -> (* should never happen *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "internal error: Not_found exception was thrown" | exn -> (* something not matched above *) - Printexc.print_backtrace Pervasives.stderr; + Printexc.print_backtrace stdlib_stderr; error "exception: %s" (Printexc.to_string exn) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/supermin-5.3.3/src/utils.ml new/supermin-5.3.4/src/utils.ml --- old/supermin-5.3.3/src/utils.ml 2022-09-02 14:56:58.000000000 +0200 +++ new/supermin-5.3.4/src/utils.ml 2023-02-17 22:34:54.000000000 +0100 @@ -16,6 +16,8 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *) +let stdlib_compare = compare + open Unix open Unix.LargeFile open Printf @@ -40,7 +42,7 @@ try (stat name).st_kind = S_DIR with Unix_error _ -> false -let uniq ?(cmp = Pervasives.compare) xs = +let uniq ?(cmp = stdlib_compare) xs = let rec loop acc = function | [] -> acc | [x] -> x :: acc @@ -51,7 +53,7 @@ in List.rev (loop [] xs) -let sort_uniq ?(cmp = Pervasives.compare) xs = +let sort_uniq ?(cmp = stdlib_compare) xs = let xs = List.sort cmp xs in let xs = uniq ~cmp xs in xs ++++++ suse_release.patch ++++++ --- /var/tmp/diff_new_pack.Hn7zF4/_old 2024-07-15 19:47:02.006727873 +0200 +++ /var/tmp/diff_new_pack.Hn7zF4/_new 2024-07-15 19:47:02.014728166 +0200 @@ -53,7 +53,7 @@ + be read or the ID_LIKE field is not defined. *) --- a/src/ph_rpm.ml +++ b/src/ph_rpm.ml -@@ -45,6 +45,7 @@ let opensuse_detect () = +@@ -46,6 +46,7 @@ let opensuse_detect () = Config.zypper <> "no" && (List.mem (Os_release.get_id ()) [ "sled"; "sles" ] || string_prefix "opensuse" (Os_release.get_id ()) ||