diff --git a/backport-support-openEuler.patch b/backport-support-openEuler.patch new file mode 100644 index 0000000000000000000000000000000000000000..32ee6269082200ad9b8aa260e0ed40be01ee6d36 --- /dev/null +++ b/backport-support-openEuler.patch @@ -0,0 +1,129 @@ +From 1d8924c343b2f0022767c1d5d5c059ea9d8f4d7e Mon Sep 17 00:00:00 2001 +From: Wang Guoquan +Date: Tue, 10 Sep 2024 16:11:03 +0800 +Subject: [PATCH] libguestfs: Support openEuler + +openEuler is simliar to CentOS, but the ID is not lower-case string, +as below: + + NAME="openEuler" + VERSION="24.03 (LTS)" + ID="openEuler" + VERSION_ID="24.03" + PRETTY_NAME="openEuler 24.03 (LTS)" + ANSI_COLOR="0;31" + +Signed-off-by: Wang Guoquan +--- + daemon/inspect_fs.ml | 5 +++++ + daemon/inspect_fs_unix.ml | 1 + + daemon/inspect_types.ml | 2 ++ + daemon/inspect_types.mli | 1 + + generator/actions_inspection.ml | 4 ++++ + m4/guestfs-appliance.m4 | 5 +++-- + 6 files changed, 16 insertions(+), 2 deletions(-) + +Index: libguestfs-1.49.5/daemon/inspect_fs.ml +=================================================================== +--- libguestfs-1.49.5.orig/daemon/inspect_fs.ml ++++ libguestfs-1.49.5/daemon/inspect_fs.ml +@@ -265,6 +265,7 @@ and check_package_format { distro } = + | Some DISTRO_MANDRIVA + | Some DISTRO_MEEGO + | Some DISTRO_NEOKYLIN ++ | Some DISTRO_OPENEULER + | Some DISTRO_OPENMANDRIVA + | Some DISTRO_OPENSUSE + | Some DISTRO_ORACLE_LINUX +@@ -362,6 +363,9 @@ and check_package_management { distro; v + | Some DISTRO_PARDUS -> + Some PACKAGE_MANAGEMENT_PISI + ++ | Some DISTRO_OPENEULER-> ++ Some PACKAGE_MANAGEMENT_DNF ++ + | Some DISTRO_MAGEIA + | Some DISTRO_MANDRIVA -> + Some PACKAGE_MANAGEMENT_URPMI +Index: libguestfs-1.49.5/daemon/inspect_fs_unix.ml +=================================================================== +--- libguestfs-1.49.5.orig/daemon/inspect_fs_unix.ml ++++ libguestfs-1.49.5/daemon/inspect_fs_unix.ml +@@ -151,6 +151,7 @@ and distro_of_os_release_id = function + | "kylin" -> Some DISTRO_KYLIN + | "mageia" -> Some DISTRO_MAGEIA + | "neokylin" -> Some DISTRO_NEOKYLIN ++ | "openEuler" -> Some DISTRO_OPENEULER + | "openmandriva" -> Some DISTRO_OPENMANDRIVA + | "opensuse" -> Some DISTRO_OPENSUSE + | s when String.is_prefix s "opensuse-" -> Some DISTRO_OPENSUSE +Index: libguestfs-1.49.5/daemon/inspect_types.ml +=================================================================== +--- libguestfs-1.49.5.orig/daemon/inspect_types.ml ++++ libguestfs-1.49.5/daemon/inspect_types.ml +@@ -88,6 +88,7 @@ and distro = + | DISTRO_NEOKYLIN + | DISTRO_NETBSD + | DISTRO_OPENBSD ++ | DISTRO_OPENEULER + | DISTRO_OPENMANDRIVA + | DISTRO_OPENSUSE + | DISTRO_ORACLE_LINUX +@@ -222,6 +223,7 @@ and string_of_distro = function + | DISTRO_NEOKYLIN -> "neokylin" + | DISTRO_NETBSD -> "netbsd" + | DISTRO_OPENBSD -> "openbsd" ++ | DISTRO_OPENEULER -> "openeuler" + | DISTRO_OPENMANDRIVA -> "openmandriva" + | DISTRO_OPENSUSE -> "opensuse" + | DISTRO_ORACLE_LINUX -> "oraclelinux" +Index: libguestfs-1.49.5/daemon/inspect_types.mli +=================================================================== +--- libguestfs-1.49.5.orig/daemon/inspect_types.mli ++++ libguestfs-1.49.5/daemon/inspect_types.mli +@@ -95,6 +95,7 @@ and distro = + | DISTRO_NEOKYLIN + | DISTRO_NETBSD + | DISTRO_OPENBSD ++ | DISTRO_OPENEULER + | DISTRO_OPENMANDRIVA + | DISTRO_OPENSUSE + | DISTRO_ORACLE_LINUX +Index: libguestfs-1.49.5/generator/actions_inspection.ml +=================================================================== +--- libguestfs-1.49.5.orig/generator/actions_inspection.ml ++++ libguestfs-1.49.5/generator/actions_inspection.ml +@@ -250,6 +250,10 @@ NetBSD. + + OpenBSD. + ++=item \"openeuler\" ++ ++openEuler. ++ + =item \"openmandriva\" + + OpenMandriva Lx. +Index: libguestfs-1.49.5/m4/guestfs-appliance.m4 +=================================================================== +--- libguestfs-1.49.5.orig/m4/guestfs-appliance.m4 ++++ libguestfs-1.49.5/m4/guestfs-appliance.m4 +@@ -119,7 +119,8 @@ if test "x$ENABLE_APPLIANCE" = "xyes"; t + [DISTRO=REDHAT], + [OPENSUSE* | SLED | SLES],[DISTRO=SUSE], + [ARCH | MANJARO | ARTIX],[DISTRO=ARCHLINUX], +- [OPENMANDRIVA],[DISTRO=OPENMANDRIVA]) ++ [OPENMANDRIVA],[DISTRO=OPENMANDRIVA], ++ [OPENEULER],[DISTRO=OPENEULER]) + AC_MSG_RESULT([$DISTRO (from /etc/os-release)]) + else + AC_MSG_ERROR([/etc/os-release not available, please specify the distro using --with-distro=DISTRO]) +@@ -129,7 +130,7 @@ if test "x$ENABLE_APPLIANCE" = "xyes"; t + AC_SUBST([DISTRO]) + fi + AM_CONDITIONAL([HAVE_RPM], +- [AS_CASE([$DISTRO], [REDHAT | SUSE | OPENMANDRIVA | MAGEIA ], [true], ++ [AS_CASE([$DISTRO], [REDHAT | SUSE | OPENMANDRIVA | MAGEIA | OPENEULER ], [true], + [*], [false])]) + AM_CONDITIONAL([HAVE_DPKG], + [AS_CASE([$DISTRO], [DEBIAN | UBUNTU ], [true], diff --git a/libguestfs.spec b/libguestfs.spec index 58c25070c522ef1f16a102fae23ba3d4ea975a51..9b6e466cdfc81386979bac6e1b96fb086aa59f1f 100644 --- a/libguestfs.spec +++ b/libguestfs.spec @@ -4,7 +4,7 @@ Name: libguestfs Version: 1.49.5 -Release: 4 +Release: 5 Epoch: 1 Summary: A set of tools for accessing and modifying virtual machine (VM) disk images License: LGPLv2+ @@ -14,7 +14,9 @@ Source1: guestfish.sh Source2: yum.conf.in Patch0001: 001-port-to-php-8.0.0.patch Patch0002: fix-not-striped.patch -Patch0003: support_OPENEULER_to_configure.patch +# Backport of https://github.com/libguestfs/libguestfs/commit/1d8924c343b2f0022767c1d5d5c059ea9d8f4d7e +Patch0003: backport-support-openEuler.patch +Patch0004: provide-openEuler-appliance-package-list.patch BuildRequires: gcc-c++, rpcgen, libtirpc-devel, supermin-devel >= 5.1.18, hivex-devel >= 1.2.7-7, ocaml-hivex-devel, perl(Pod::Simple), perl(Pod::Man) BuildRequires: /usr/bin/pod2text, po4a, augeas-devel >= 1.7.0, readline-devel, genisoimage, libxml2-devel, createrepo, glibc-static, libselinux-utils @@ -357,6 +359,12 @@ rm -rf ocaml/html/.gitignore %lang(uk) %{_mandir}/uk/man*/* %changelog +* Mon Nov 11 2024 Kai Liu - 1:1.49.5-5 +- Replace patch support_OPENEULER_to_configure.patch by backport-support-openEuler.patch + which is backported from upstream, fix issue of detecting openEuler. +- Add provide-openEuler-appliance-package-list.patch after correctly detected openEuler. + It was using REDHAT list before. + * Tue Jul 2 2024 xiaoyuliang - 1:1.49.5-4 - Add BuildRequire rpm-devel to support inspect rpm guests. diff --git a/provide-openEuler-appliance-package-list.patch b/provide-openEuler-appliance-package-list.patch new file mode 100644 index 0000000000000000000000000000000000000000..31964ec462ad790e2e17f3ba783819bbca25008e --- /dev/null +++ b/provide-openEuler-appliance-package-list.patch @@ -0,0 +1,60 @@ +From: Kai Liu +Date: Fri, 8 Nov 2024 12:44:03 +0800 +Subject: Provide openEuler appliance package list + +Although upstream already supported distro detecting for openEuler, +package list for openEuler appliance is still missing. + +Index: libguestfs-1.49.5/appliance/packagelist.in +=================================================================== +--- libguestfs-1.49.5.orig/appliance/packagelist.in ++++ libguestfs-1.49.5/appliance/packagelist.in +@@ -11,6 +11,7 @@ dnl ARCHLINUX=1 For Archlinux. + dnl SUSE=1 For OpenSUSE. + dnl FRUGALWARE=1 For Frugalware. + dnl MAGEIA=1 For Mageia. ++dnl OPENEULER=1 For openEuler. + dnl + dnl There is also a list of packages which are excluded if they appear + dnl as dependencies of the packages below. See: excludelist.in +@@ -211,6 +212,29 @@ ifelse(OPENMANDRIVA,1, + zstd + ) + ++ifelse(OPENEULER,1, ++ clevis ++ cryptsetup ++ dhcp ++ gfs2-utils ++ grub2 ++ hfsplus-tools ++ iproute ++ iputils ++ kernel ++ nilfs-utils ++ ntfs-3g ++ openssh-clients ++ policycoreutils ++ reiserfs-utils ++ rpm-libs ++ syslinux-extlinux ++ systemd dnl for /sbin/reboot and udevd ++ vim-minimal ++ xz ++ zstd ++) ++ + include(guestfsd.deps) + + acl +@@ -286,6 +310,10 @@ ifelse(MAGEIA,1, + qemu-img + which + ) ++ifelse(OPENEULER,1, ++ qemu-img ++ which ++) + curl + kpartx + dnl (virt-dib) tools optionally used for elements diff --git a/support_OPENEULER_to_configure.patch b/support_OPENEULER_to_configure.patch deleted file mode 100644 index b8a87eb5e43160bccb39ab18661a5ace721f062d..0000000000000000000000000000000000000000 --- a/support_OPENEULER_to_configure.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 77c67d0e597f5408c3d005ef624ef3d417271e0e Mon Sep 17 00:00:00 2001 -From: sunguoshuai -Date: Thu, 9 Sep 2021 21:34:40 +0800 -Subject: [PATCH] fix not striped - ---- - libguestfs/configure | 28 + 1 - - libguestfs/m4/guestfs-appliance.m4 | 22 + 1 - - 2 files changed, 50 insertions(+), 2 deletions(-) - -diff -ruN libguestfs/configure libguestfs-1.49.5/configure ---- libguestfs/configure 2022-11-16 23:45:04.603664947 +0800 -+++ libguestfs-1.49.5/configure 2022-11-17 01:11:33.528806347 +0800 -@@ -26381,7 +26381,7 @@ - fi ) | tr '[:lower:]' '[:upper:]' - )" - case $DISTRO in #( -- FEDORA | RHEL | CENTOS | ALMALINUX | CLOUDLINUX \ -+ FEDORA | RHEL | CENTOS | OPENEULER | ALMALINUX | CLOUDLINUX \ - | ROCKY) : - DISTRO=REDHAT ;; #( - OPENSUSE* | SLED | SLES) : -@@ -26395,11 +26395,37 @@ - esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DISTRO (from /etc/os-release)" >&5 - printf "%s\n" "$DISTRO (from /etc/os-release)" >&6; } -+ -+elif test -f /etc/openEuler-release; then -+ echo "/etc/openEuler-release:" >&5 -+ cat /etc/openEuler-release >&5 -+ DISTRO="$( -+ . /etc/openEuler-release -+ ( if test -n "$ID_LIKE"; then -+ echo $ID_LIKE | $AWK '{print $1}' -+ else -+ echo $ID -+ fi ) | tr '[:lower:]' '[:upper:]' -+ )" -+ case $DISTRO in #( -+ FEDORA | RHEL | CENTOS | OPENEULER | ALMALINUX | CLOUDLINUX \ -+ | ROCKY) : -+ DISTRO=REDHAT ;; #( -+ OPENSUSE* | SLED | SLES) : -+ DISTRO=SUSE ;; #( -+ ARCH | MANJARO | ARTIX) : -+ DISTRO=ARCHLINUX ;; #( -+ OPENMANDRIVA) : -+ DISTRO=OPENMANDRIVA ;; #( -+ *) : -+ ;; -+esac -+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $DISTRO (from /etc/openEuler-release)" >&5 -+printf "%s\n" "$DISTRO (from /etc/openEuler-release)" >&6; } - else - as_fn_error $? "/etc/os-release not available, please specify the distro using --with-distro=DISTRO" "$LINENO" 5 - fi - -- - fi - - -diff -ruN libguestfs/m4/guestfs-appliance.m4 libguestfs-1.49.5/m4/guestfs-appliance.m4 ---- libguestfs/m4/guestfs-appliance.m4 2022-11-16 23:45:04.608664963 +0800 -+++ libguestfs-1.49.5/m4/guestfs-appliance.m4 2022-11-17 00:54:05.276385306 +0800 -@@ -114,13 +114,34 @@ - fi ) | tr '@<:@:lower:@:>@' '@<:@:upper:@:>@' - )" - AS_CASE([$DISTRO], -- [FEDORA | RHEL | CENTOS | ALMALINUX | CLOUDLINUX \ -+ [FEDORA | RHEL | CENTOS | OPENEULER | ALMALINUX | CLOUDLINUX \ - | ROCKY], - [DISTRO=REDHAT], - [OPENSUSE* | SLED | SLES],[DISTRO=SUSE], - [ARCH | MANJARO | ARTIX],[DISTRO=ARCHLINUX], - [OPENMANDRIVA],[DISTRO=OPENMANDRIVA]) - AC_MSG_RESULT([$DISTRO (from /etc/os-release)]) -+ -+ elif test -f /etc/openEuler-release; then -+ echo "/etc/openEuler-release:" >&AS_MESSAGE_LOG_FD -+ cat /etc/openEuler-release >&AS_MESSAGE_LOG_FD -+ DISTRO="$( -+ . /etc/openEuler-release -+ ( if test -n "$ID_LIKE"; then -+ echo $ID_LIKE | $AWK '{print $1}' -+ else -+ echo $ID -+ fi ) | tr '@<:@:lower:@:>@' '@<:@:upper:@:>@' -+ )" -+ AS_CASE([$DISTRO], -+ [FEDORA | RHEL | CENTOS | OPENEULER | ALMALINUX | CLOUDLINUX \ -+ | ROCKY], -+ [DISTRO=REDHAT], -+ [OPENSUSE* | SLED | SLES],[DISTRO=SUSE], -+ [ARCH | MANJARO | ARTIX],[DISTRO=ARCHLINUX], -+ [OPENMANDRIVA],[DISTRO=OPENMANDRIVA]) -+ AC_MSG_RESULT([$DISTRO (from /etc/openEuler-release)]) -+ - else - AC_MSG_ERROR([/etc/os-release not available, please specify the distro using --with-distro=DISTRO]) - fi