summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard Jones <rjones@redhat.com>2010-10-29 10:21:33 +0100
committerRichard Jones <rjones@redhat.com>2010-10-29 10:55:34 +0100
commit233530d3541dd67ce8fec7d9677cdf659c9d2900 (patch)
tree734c74fa9d3f355b829375dae1713866e515f0c2 /src
parenta81bf3f3ef24c8b6d66aea1038f7a16a382ff375 (diff)
downloadlibguestfs-233530d3541dd67ce8fec7d9677cdf659c9d2900.tar.gz
libguestfs-233530d3541dd67ce8fec7d9677cdf659c9d2900.tar.xz
libguestfs-233530d3541dd67ce8fec7d9677cdf659c9d2900.zip
inspect: Add detection of Pardus.
Diffstat (limited to 'src')
-rw-r--r--src/guestfs-internal.h1
-rw-r--r--src/inspect.c10
2 files changed, 11 insertions, 0 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index 10c95038..529aa7d6 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -166,6 +166,7 @@ enum inspect_os_distro {
OS_DISTRO_REDHAT_BASED,
OS_DISTRO_RHEL,
OS_DISTRO_WINDOWS,
+ OS_DISTRO_PARDUS,
};
struct inspect_fs {
diff --git a/src/inspect.c b/src/inspect.c
index 88f8bb12..8e42408e 100644
--- a/src/inspect.c
+++ b/src/inspect.c
@@ -722,6 +722,15 @@ check_linux_root (guestfs_h *g, struct inspect_fs *fs)
if (parse_major_minor (g, fs) == -1)
return -1;
}
+ else if (guestfs_exists (g, "/etc/pardus-release") > 0) {
+ fs->distro = OS_DISTRO_PARDUS;
+
+ if (parse_release_file (g, fs, "/etc/pardus-release") == -1)
+ return -1;
+
+ if (parse_major_minor (g, fs) == -1)
+ return -1;
+ }
/* Determine the architecture. */
const char *binaries[] =
@@ -1238,6 +1247,7 @@ guestfs__inspect_get_distro (guestfs_h *g, const char *root)
switch (fs->distro) {
case OS_DISTRO_DEBIAN: ret = safe_strdup (g, "debian"); break;
case OS_DISTRO_FEDORA: ret = safe_strdup (g, "fedora"); break;
+ case OS_DISTRO_PARDUS: ret = safe_strdup (g, "pardus"); break;
case OS_DISTRO_REDHAT_BASED: ret = safe_strdup (g, "redhat-based"); break;
case OS_DISTRO_RHEL: ret = safe_strdup (g, "rhel"); break;
case OS_DISTRO_WINDOWS: ret = safe_strdup (g, "windows"); break;