mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-21 22:53:37 +00:00
daemon: inspection: Add support for NeoKylin (RHBZ#1476081).
Thanks: Qingzheng Zhang
This commit is contained in:
@@ -253,6 +253,7 @@ and check_package_format { distro } =
|
||||
| Some DISTRO_MAGEIA
|
||||
| Some DISTRO_MANDRIVA
|
||||
| Some DISTRO_MEEGO
|
||||
| Some DISTRO_NEOKYLIN
|
||||
| Some DISTRO_OPENSUSE
|
||||
| Some DISTRO_ORACLE_LINUX
|
||||
| Some DISTRO_REDHAT_BASED
|
||||
@@ -307,6 +308,12 @@ and check_package_management { distro; version } =
|
||||
(* Probably parsing the release file failed, see RHBZ#1332025. *)
|
||||
None
|
||||
|
||||
| Some DISTRO_NEOKYLIN ->
|
||||
(* We don't have access to NeoKylin for testing, but it is
|
||||
* supposed to be a Fedora derivative.
|
||||
*)
|
||||
Some PACKAGE_MANAGEMENT_DNF
|
||||
|
||||
| Some DISTRO_CENTOS
|
||||
| Some DISTRO_ORACLE_LINUX
|
||||
| Some DISTRO_REDHAT_BASED
|
||||
|
||||
@@ -53,6 +53,7 @@ let re_minix = PCRE.compile "^(\\d+)\\.(\\d+)(\\.(\\d+))?"
|
||||
let re_openbsd = PCRE.compile "^OpenBSD (\\d+|\\?)\\.(\\d+|\\?)"
|
||||
let re_frugalware = PCRE.compile "Frugalware (\\d+)\\.(\\d+)"
|
||||
let re_pldlinux = PCRE.compile "(\\d+)\\.(\\d+) PLD Linux"
|
||||
let re_neokylin_version = PCRE.compile "^V(\\d+)Update(\\d+)$"
|
||||
|
||||
let arch_binaries =
|
||||
[ "/bin/bash"; "/bin/ls"; "/bin/echo"; "/bin/rm"; "/bin/sh" ]
|
||||
@@ -94,7 +95,7 @@ let rec parse_os_release release_file data =
|
||||
else if key = "PRETTY_NAME" then
|
||||
data.product_name <- Some value
|
||||
else if key = "VERSION_ID" then
|
||||
parse_version_from_major_minor value data
|
||||
parse_os_release_version_id value data
|
||||
)
|
||||
) lines;
|
||||
|
||||
@@ -124,6 +125,18 @@ let rec parse_os_release release_file data =
|
||||
| _ -> true
|
||||
)
|
||||
|
||||
and parse_os_release_version_id value data =
|
||||
(* NeoKylin uses a non-standard format in the VERSION_ID
|
||||
* field (RHBZ#1476081).
|
||||
*)
|
||||
if PCRE.matches re_neokylin_version value then (
|
||||
let major = int_of_string (PCRE.sub 1)
|
||||
and minor = int_of_string (PCRE.sub 2) in
|
||||
data.version <- Some (major, minor)
|
||||
)
|
||||
else
|
||||
parse_version_from_major_minor value data
|
||||
|
||||
(* ID="fedora" => Some DISTRO_FEDORA *)
|
||||
and distro_of_os_release_id = function
|
||||
| "alpine" -> Some DISTRO_ALPINE_LINUX
|
||||
@@ -135,6 +148,7 @@ and distro_of_os_release_id = function
|
||||
| "fedora" -> Some DISTRO_FEDORA
|
||||
| "frugalware" -> Some DISTRO_FRUGALWARE
|
||||
| "mageia" -> Some DISTRO_MAGEIA
|
||||
| "neokylin" -> Some DISTRO_NEOKYLIN
|
||||
| "opensuse" -> Some DISTRO_OPENSUSE
|
||||
| "pld" -> Some DISTRO_PLD_LINUX
|
||||
| "rhel" -> Some DISTRO_RHEL
|
||||
|
||||
@@ -82,6 +82,7 @@ and distro =
|
||||
| DISTRO_MAGEIA
|
||||
| DISTRO_MANDRIVA
|
||||
| DISTRO_MEEGO
|
||||
| DISTRO_NEOKYLIN
|
||||
| DISTRO_NETBSD
|
||||
| DISTRO_OPENBSD
|
||||
| DISTRO_OPENSUSE
|
||||
@@ -210,6 +211,7 @@ and string_of_distro = function
|
||||
| DISTRO_MAGEIA -> "mageia"
|
||||
| DISTRO_MANDRIVA -> "mandriva"
|
||||
| DISTRO_MEEGO -> "meego"
|
||||
| DISTRO_NEOKYLIN -> "neokylin"
|
||||
| DISTRO_NETBSD -> "netbsd"
|
||||
| DISTRO_OPENBSD -> "openbsd"
|
||||
| DISTRO_OPENSUSE -> "opensuse"
|
||||
|
||||
@@ -89,6 +89,7 @@ and distro =
|
||||
| DISTRO_MAGEIA
|
||||
| DISTRO_MANDRIVA
|
||||
| DISTRO_MEEGO
|
||||
| DISTRO_NEOKYLIN
|
||||
| DISTRO_NETBSD
|
||||
| DISTRO_OPENBSD
|
||||
| DISTRO_OPENSUSE
|
||||
|
||||
@@ -226,6 +226,10 @@ Mandriva.
|
||||
|
||||
MeeGo.
|
||||
|
||||
=item \"neokylin\"
|
||||
|
||||
NeoKylin.
|
||||
|
||||
=item \"netbsd\"
|
||||
|
||||
NetBSD.
|
||||
|
||||
@@ -90,6 +90,7 @@
|
||||
<value>mageia</value>
|
||||
<value>mandriva</value>
|
||||
<value>meego</value>
|
||||
<value>neokylin</value>
|
||||
<value>netbsd</value>
|
||||
<value>openbsd</value>
|
||||
<value>opensuse</value>
|
||||
|
||||
Reference in New Issue
Block a user