diff options
author | Richard Jones <rjones@redhat.com> | 2010-10-29 10:32:53 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-10-29 10:55:40 +0100 |
commit | b4618fb060b40ba70f2be28b1b1ad625722a7edf (patch) | |
tree | 7d464a51c794cec36c22882946a95de439c3d04e /src | |
parent | 233530d3541dd67ce8fec7d9677cdf659c9d2900 (diff) | |
download | libguestfs-b4618fb060b40ba70f2be28b1b1ad625722a7edf.tar.gz libguestfs-b4618fb060b40ba70f2be28b1b1ad625722a7edf.tar.xz libguestfs-b4618fb060b40ba70f2be28b1b1ad625722a7edf.zip |
inspect: Add detection of Arch Linux.
Diffstat (limited to 'src')
-rw-r--r-- | src/guestfs-internal.h | 1 | ||||
-rw-r--r-- | src/inspect.c | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index 529aa7d6..e1723a44 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -167,6 +167,7 @@ enum inspect_os_distro { OS_DISTRO_RHEL, OS_DISTRO_WINDOWS, OS_DISTRO_PARDUS, + OS_DISTRO_ARCHLINUX, }; struct inspect_fs { diff --git a/src/inspect.c b/src/inspect.c index 8e42408e..dbb194b9 100644 --- a/src/inspect.c +++ b/src/inspect.c @@ -731,6 +731,13 @@ 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/arch-release") > 0) { + fs->distro = OS_DISTRO_ARCHLINUX; + + /* /etc/arch-release file is empty and I can't see a way to + * determine the actual release or product string. + */ + } /* Determine the architecture. */ const char *binaries[] = @@ -1245,6 +1252,7 @@ guestfs__inspect_get_distro (guestfs_h *g, const char *root) char *ret; switch (fs->distro) { + case OS_DISTRO_ARCHLINUX: ret = safe_strdup (g, "archlinux"); break; 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; |