support TencentOS

Signed-off-by: denisecheng <denisecheng@tencent.com>
Fixes: https://github.com/libguestfs/libguestfs/pull/172
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
This commit is contained in:
denisecheng
2025-03-03 11:30:51 +08:00
committed by Richard W.M. Jones
parent f81444ccad
commit 0c70675aae
7 changed files with 39 additions and 1 deletions

View File

@@ -14,6 +14,7 @@ dnl FRUGALWARE=1 For Frugalware.
dnl MAGEIA=1 For Mageia. dnl MAGEIA=1 For Mageia.
dnl OPENMANDRIVA=1 For OpenMandriva. dnl OPENMANDRIVA=1 For OpenMandriva.
dnl OPENCLOUDOS=1 For OpenCloudOS. dnl OPENCLOUDOS=1 For OpenCloudOS.
dnl TENCENTOS=1 For TencentOS.
/etc/ld.so.cache /etc/ld.so.cache
/lib/lsb/* /lib/lsb/*

View File

@@ -12,6 +12,7 @@ dnl SUSE=1 For OpenSUSE.
dnl FRUGALWARE=1 For Frugalware. dnl FRUGALWARE=1 For Frugalware.
dnl MAGEIA=1 For Mageia. dnl MAGEIA=1 For Mageia.
dnl OPENCLOUDOS=1 For OpencloudOS. dnl OPENCLOUDOS=1 For OpencloudOS.
dnl TENCENTOS=1 For TencentOS.
dnl dnl
dnl There is also a list of packages which are excluded if they appear dnl There is also a list of packages which are excluded if they appear
dnl as dependencies of the packages below. See: excludelist.in dnl as dependencies of the packages below. See: excludelist.in
@@ -241,6 +242,29 @@ ifelse(OPENCLOUDOS,1,
zstd zstd
) )
ifelse(TENCENTOS,1,
clevis-luks
cryptsetup
cryptsetup-luks
dhclient
gfs2-utils
glibc-gconv-extra
hfsplus-tools
iproute
iputils
kernel
ntfsprogs
ntfs-3g
openssh-clients
policycoreutils
rpm-libs
syslinux-extlinux
systemd
vim-minimal
xz
zstd
)
include(guestfsd.deps) include(guestfsd.deps)
acl acl

View File

@@ -267,6 +267,7 @@ and check_package_format { distro } =
| Some DISTRO_MEEGO | Some DISTRO_MEEGO
| Some DISTRO_NEOKYLIN | Some DISTRO_NEOKYLIN
| Some DISTRO_OPENCLOUDOS | Some DISTRO_OPENCLOUDOS
| Some DISTRO_TENCENTOS
| Some DISTRO_OPENEULER | Some DISTRO_OPENEULER
| Some DISTRO_OPENMANDRIVA | Some DISTRO_OPENMANDRIVA
| Some DISTRO_OPENSUSE | Some DISTRO_OPENSUSE
@@ -387,6 +388,9 @@ and check_package_management { distro; version } =
| Some DISTRO_OPENCLOUDOS -> | Some DISTRO_OPENCLOUDOS ->
Some PACKAGE_MANAGEMENT_DNF Some PACKAGE_MANAGEMENT_DNF
| Some DISTRO_TENCENTOS ->
Some PACKAGE_MANAGEMENT_DNF
| Some DISTRO_OPENEULER-> | Some DISTRO_OPENEULER->
Some PACKAGE_MANAGEMENT_DNF Some PACKAGE_MANAGEMENT_DNF

View File

@@ -61,6 +61,7 @@ let re_neokylin_version = PCRE.compile "^V(\\d+)Update(\\d+)$"
let re_openmandriva = let re_openmandriva =
PCRE.compile "OpenMandriva.*release (\\d+)\\.(\\d+)\\.?(\\d+)? .*" PCRE.compile "OpenMandriva.*release (\\d+)\\.(\\d+)\\.?(\\d+)? .*"
let re_opencloudos = PCRE.compile "OpenCloudOS.*release (\\d+)" let re_opencloudos = PCRE.compile "OpenCloudOS.*release (\\d+)"
let re_tencentos = PCRE.compile "TencentOS.* (\\d+)\\.(\\d+)"
let arch_binaries = let arch_binaries =
[ "/bin/bash"; "/bin/ls"; "/bin/echo"; "/bin/rm"; "/bin/sh" ] [ "/bin/bash"; "/bin/ls"; "/bin/echo"; "/bin/rm"; "/bin/sh" ]
@@ -160,6 +161,7 @@ and distro_of_os_release_id = function
| "openEuler" -> Some DISTRO_OPENEULER | "openEuler" -> Some DISTRO_OPENEULER
| "openmandriva" -> Some DISTRO_OPENMANDRIVA | "openmandriva" -> Some DISTRO_OPENMANDRIVA
| "opencloudos" -> Some DISTRO_OPENCLOUDOS | "opencloudos" -> Some DISTRO_OPENCLOUDOS
| "tencentos" -> Some DISTRO_TENCENTOS
| "opensuse" -> Some DISTRO_OPENSUSE | "opensuse" -> Some DISTRO_OPENSUSE
| s when String.is_prefix s "opensuse-" -> Some DISTRO_OPENSUSE | s when String.is_prefix s "opensuse-" -> Some DISTRO_OPENSUSE
| "pardus" -> Some DISTRO_PARDUS | "pardus" -> Some DISTRO_PARDUS
@@ -404,6 +406,9 @@ let linux_root_tests : tests = [
"/etc/opencloudos-release", parse_generic ~rex:re_opencloudos "/etc/opencloudos-release", parse_generic ~rex:re_opencloudos
DISTRO_OPENCLOUDOS; DISTRO_OPENCLOUDOS;
"/etc/tencentos-release", parse_generic ~rex:re_tencentos
DISTRO_TENCENTOS;
(* RHEL-based distros include a [/etc/redhat-release] file, hence their (* RHEL-based distros include a [/etc/redhat-release] file, hence their
* checks need to be performed before the Red-Hat one. * checks need to be performed before the Red-Hat one.
*) *)

View File

@@ -93,6 +93,7 @@ and distro =
| DISTRO_OPENEULER | DISTRO_OPENEULER
| DISTRO_OPENMANDRIVA | DISTRO_OPENMANDRIVA
| DISTRO_OPENCLOUDOS | DISTRO_OPENCLOUDOS
| DISTRO_TENCENTOS
| DISTRO_OPENSUSE | DISTRO_OPENSUSE
| DISTRO_ORACLE_LINUX | DISTRO_ORACLE_LINUX
| DISTRO_PARDUS | DISTRO_PARDUS
@@ -232,6 +233,7 @@ and string_of_distro = function
| DISTRO_OPENEULER -> "openeuler" | DISTRO_OPENEULER -> "openeuler"
| DISTRO_OPENMANDRIVA -> "openmandriva" | DISTRO_OPENMANDRIVA -> "openmandriva"
| DISTRO_OPENCLOUDOS -> "opencloudos" | DISTRO_OPENCLOUDOS -> "opencloudos"
| DISTRO_TENCENTOS -> "tencentos"
| DISTRO_OPENSUSE -> "opensuse" | DISTRO_OPENSUSE -> "opensuse"
| DISTRO_ORACLE_LINUX -> "oraclelinux" | DISTRO_ORACLE_LINUX -> "oraclelinux"
| DISTRO_PARDUS -> "pardus" | DISTRO_PARDUS -> "pardus"

View File

@@ -100,6 +100,7 @@ and distro =
| DISTRO_OPENEULER | DISTRO_OPENEULER
| DISTRO_OPENMANDRIVA | DISTRO_OPENMANDRIVA
| DISTRO_OPENCLOUDOS | DISTRO_OPENCLOUDOS
| DISTRO_TENCENTOS
| DISTRO_OPENSUSE | DISTRO_OPENSUSE
| DISTRO_ORACLE_LINUX | DISTRO_ORACLE_LINUX
| DISTRO_PARDUS | DISTRO_PARDUS

View File

@@ -121,6 +121,7 @@ if test "x$ENABLE_APPLIANCE" = "xyes"; then
[ARCH | MANJARO | ARTIX],[DISTRO=ARCHLINUX], [ARCH | MANJARO | ARTIX],[DISTRO=ARCHLINUX],
[OPENMANDRIVA],[DISTRO=OPENMANDRIVA], [OPENMANDRIVA],[DISTRO=OPENMANDRIVA],
[OPENCLOUDOS],[DISTRO=OPENCLOUDOS], [OPENCLOUDOS],[DISTRO=OPENCLOUDOS],
[TENCENTOS],[DISTRO=TENCENTOS],
[OPENEULER],[DISTRO=OPENEULER]) [OPENEULER],[DISTRO=OPENEULER])
AC_MSG_RESULT([$DISTRO (from /etc/os-release)]) AC_MSG_RESULT([$DISTRO (from /etc/os-release)])
else else
@@ -131,7 +132,7 @@ if test "x$ENABLE_APPLIANCE" = "xyes"; then
AC_SUBST([DISTRO]) AC_SUBST([DISTRO])
fi fi
AM_CONDITIONAL([HAVE_RPM], AM_CONDITIONAL([HAVE_RPM],
[AS_CASE([$DISTRO], [REDHAT | SUSE | OPENMANDRIVA | MAGEIA | OPENCLOUDOS | OPENEULER ], [true], [AS_CASE([$DISTRO], [REDHAT | SUSE | OPENMANDRIVA | MAGEIA | OPENCLOUDOS | TENCENTOS | OPENEULER ], [true],
[*], [false])]) [*], [false])])
AM_CONDITIONAL([HAVE_DPKG], AM_CONDITIONAL([HAVE_DPKG],
[AS_CASE([$DISTRO], [DEBIAN | UBUNTU ], [true], [AS_CASE([$DISTRO], [DEBIAN | UBUNTU ], [true],