diff --git a/appliance/hostfiles.in b/appliance/hostfiles.in index 247f0d55a..58b62e9ff 100644 --- a/appliance/hostfiles.in +++ b/appliance/hostfiles.in @@ -14,6 +14,7 @@ dnl FRUGALWARE=1 For Frugalware. dnl MAGEIA=1 For Mageia. dnl OPENMANDRIVA=1 For OpenMandriva. dnl OPENCLOUDOS=1 For OpenCloudOS. +dnl TENCENTOS=1 For TencentOS. /etc/ld.so.cache /lib/lsb/* diff --git a/appliance/packagelist.in b/appliance/packagelist.in index 854d254c6..d0637631d 100644 --- a/appliance/packagelist.in +++ b/appliance/packagelist.in @@ -12,6 +12,7 @@ dnl SUSE=1 For OpenSUSE. dnl FRUGALWARE=1 For Frugalware. dnl MAGEIA=1 For Mageia. dnl OPENCLOUDOS=1 For OpencloudOS. +dnl TENCENTOS=1 For TencentOS. 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 @@ -241,6 +242,29 @@ ifelse(OPENCLOUDOS,1, 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) acl diff --git a/daemon/inspect_fs.ml b/daemon/inspect_fs.ml index 6d8d4c8eb..121b267ea 100644 --- a/daemon/inspect_fs.ml +++ b/daemon/inspect_fs.ml @@ -267,6 +267,7 @@ and check_package_format { distro } = | Some DISTRO_MEEGO | Some DISTRO_NEOKYLIN | Some DISTRO_OPENCLOUDOS + | Some DISTRO_TENCENTOS | Some DISTRO_OPENEULER | Some DISTRO_OPENMANDRIVA | Some DISTRO_OPENSUSE @@ -387,6 +388,9 @@ and check_package_management { distro; version } = | Some DISTRO_OPENCLOUDOS -> Some PACKAGE_MANAGEMENT_DNF + | Some DISTRO_TENCENTOS -> + Some PACKAGE_MANAGEMENT_DNF + | Some DISTRO_OPENEULER-> Some PACKAGE_MANAGEMENT_DNF diff --git a/daemon/inspect_fs_unix.ml b/daemon/inspect_fs_unix.ml index 9ec5f272f..e27863e86 100644 --- a/daemon/inspect_fs_unix.ml +++ b/daemon/inspect_fs_unix.ml @@ -61,6 +61,7 @@ let re_neokylin_version = PCRE.compile "^V(\\d+)Update(\\d+)$" let re_openmandriva = PCRE.compile "OpenMandriva.*release (\\d+)\\.(\\d+)\\.?(\\d+)? .*" let re_opencloudos = PCRE.compile "OpenCloudOS.*release (\\d+)" +let re_tencentos = PCRE.compile "TencentOS.* (\\d+)\\.(\\d+)" let arch_binaries = [ "/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 | "openmandriva" -> Some DISTRO_OPENMANDRIVA | "opencloudos" -> Some DISTRO_OPENCLOUDOS + | "tencentos" -> Some DISTRO_TENCENTOS | "opensuse" -> Some DISTRO_OPENSUSE | s when String.is_prefix s "opensuse-" -> Some DISTRO_OPENSUSE | "pardus" -> Some DISTRO_PARDUS @@ -404,6 +406,9 @@ let linux_root_tests : tests = [ "/etc/opencloudos-release", parse_generic ~rex:re_opencloudos DISTRO_OPENCLOUDOS; + "/etc/tencentos-release", parse_generic ~rex:re_tencentos + DISTRO_TENCENTOS; + (* RHEL-based distros include a [/etc/redhat-release] file, hence their * checks need to be performed before the Red-Hat one. *) diff --git a/daemon/inspect_types.ml b/daemon/inspect_types.ml index 8d5e69c50..4c20070b9 100644 --- a/daemon/inspect_types.ml +++ b/daemon/inspect_types.ml @@ -93,6 +93,7 @@ and distro = | DISTRO_OPENEULER | DISTRO_OPENMANDRIVA | DISTRO_OPENCLOUDOS + | DISTRO_TENCENTOS | DISTRO_OPENSUSE | DISTRO_ORACLE_LINUX | DISTRO_PARDUS @@ -232,6 +233,7 @@ and string_of_distro = function | DISTRO_OPENEULER -> "openeuler" | DISTRO_OPENMANDRIVA -> "openmandriva" | DISTRO_OPENCLOUDOS -> "opencloudos" + | DISTRO_TENCENTOS -> "tencentos" | DISTRO_OPENSUSE -> "opensuse" | DISTRO_ORACLE_LINUX -> "oraclelinux" | DISTRO_PARDUS -> "pardus" diff --git a/daemon/inspect_types.mli b/daemon/inspect_types.mli index 7e413eb0b..e42bf213c 100644 --- a/daemon/inspect_types.mli +++ b/daemon/inspect_types.mli @@ -100,6 +100,7 @@ and distro = | DISTRO_OPENEULER | DISTRO_OPENMANDRIVA | DISTRO_OPENCLOUDOS + | DISTRO_TENCENTOS | DISTRO_OPENSUSE | DISTRO_ORACLE_LINUX | DISTRO_PARDUS diff --git a/m4/guestfs-appliance.m4 b/m4/guestfs-appliance.m4 index 221e0e6fd..fdc5fc728 100644 --- a/m4/guestfs-appliance.m4 +++ b/m4/guestfs-appliance.m4 @@ -121,6 +121,7 @@ if test "x$ENABLE_APPLIANCE" = "xyes"; then [ARCH | MANJARO | ARTIX],[DISTRO=ARCHLINUX], [OPENMANDRIVA],[DISTRO=OPENMANDRIVA], [OPENCLOUDOS],[DISTRO=OPENCLOUDOS], + [TENCENTOS],[DISTRO=TENCENTOS], [OPENEULER],[DISTRO=OPENEULER]) AC_MSG_RESULT([$DISTRO (from /etc/os-release)]) else @@ -131,7 +132,7 @@ if test "x$ENABLE_APPLIANCE" = "xyes"; then AC_SUBST([DISTRO]) fi 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])]) AM_CONDITIONAL([HAVE_DPKG], [AS_CASE([$DISTRO], [DEBIAN | UBUNTU ], [true],