!98 Fix distro detecting for openEuler

From: @kailiu42 
Reviewed-by: @Charlie_li 
Signed-off-by: @Charlie_li
This commit is contained in:
openeuler-ci-bot 2024-11-11 07:13:08 +00:00 committed by Gitee
commit 8ac925d387
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 199 additions and 102 deletions

View File

@ -0,0 +1,129 @@
From 1d8924c343b2f0022767c1d5d5c059ea9d8f4d7e Mon Sep 17 00:00:00 2001
From: Wang Guoquan <wangguoquan03@foxmail.com>
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 <wangguoquan03@foxmail.com>
---
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],

View File

@ -4,7 +4,7 @@
Name: libguestfs
Version: 1.49.5
Release: 2
Release: 3
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
@ -359,6 +361,12 @@ rm -rf ocaml/html/.gitignore
%lang(uk) %{_mandir}/uk/man*/*
%changelog
* Thu Nov 7 2024 Kai Liu <kai.liu@windriver.com> - 1:1.49.5-3
- 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.
* Wed Feb 22 2023 wulei <wulei80@h-partners.com> - 1:1.49.5-2
- Enable Vala bindings

View File

@ -0,0 +1,60 @@
From: Kai Liu <kai.liu@windriver.com>
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

View File

@ -1,100 +0,0 @@
From 77c67d0e597f5408c3d005ef624ef3d417271e0e Mon Sep 17 00:00:00 2001
From: sunguoshuai <sunguoshuai@huawei.com>
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