diff options
author | Michael Scherer <misc@zarb.org> | 2011-10-14 01:05:01 +0200 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2011-10-14 10:01:40 +0100 |
commit | 7d4a99db87b9fe9373b482092db88610fb796012 (patch) | |
tree | 4996b113683524effebe9944149ef4cee1d43508 /src | |
parent | 787baf1bad89aecf4d01738fb8344e4446eb5ba1 (diff) | |
download | libguestfs-7d4a99db87b9fe9373b482092db88610fb796012.tar.gz libguestfs-7d4a99db87b9fe9373b482092db88610fb796012.tar.xz libguestfs-7d4a99db87b9fe9373b482092db88610fb796012.zip |
Detect Mageia distribution
Diffstat (limited to 'src')
-rw-r--r-- | src/guestfs-internal.h | 1 | ||||
-rw-r--r-- | src/inspect.c | 1 | ||||
-rw-r--r-- | src/inspect_fs.c | 2 | ||||
-rw-r--r-- | src/inspect_fs_unix.c | 5 | ||||
-rw-r--r-- | src/inspect_icon.c | 12 |
5 files changed, 21 insertions, 0 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h index 64cf6960..58d06e59 100644 --- a/src/guestfs-internal.h +++ b/src/guestfs-internal.h @@ -274,6 +274,7 @@ enum inspect_os_distro { OS_DISTRO_CENTOS, OS_DISTRO_SCIENTIFIC_LINUX, OS_DISTRO_TTYLINUX, + OS_DISTRO_MAGEIA, }; enum inspect_os_package_format { diff --git a/src/inspect.c b/src/inspect.c index f3e21869..be06fde7 100644 --- a/src/inspect.c +++ b/src/inspect.c @@ -197,6 +197,7 @@ guestfs__inspect_get_distro (guestfs_h *g, const char *root) case OS_DISTRO_FEDORA: ret = safe_strdup (g, "fedora"); break; case OS_DISTRO_GENTOO: ret = safe_strdup (g, "gentoo"); break; case OS_DISTRO_LINUX_MINT: ret = safe_strdup (g, "linuxmint"); break; + case OS_DISTRO_MAGEIA: ret = safe_strdup (g, "mageia"); break; case OS_DISTRO_MANDRIVA: ret = safe_strdup (g, "mandriva"); break; case OS_DISTRO_MEEGO: ret = safe_strdup (g, "meego"); break; case OS_DISTRO_PARDUS: ret = safe_strdup (g, "pardus"); break; diff --git a/src/inspect_fs.c b/src/inspect_fs.c index e317e46c..81b30082 100644 --- a/src/inspect_fs.c +++ b/src/inspect_fs.c @@ -361,6 +361,7 @@ check_package_format (guestfs_h *g, struct inspect_fs *fs) case OS_DISTRO_MEEGO: case OS_DISTRO_REDHAT_BASED: case OS_DISTRO_RHEL: + case OS_DISTRO_MAGEIA: case OS_DISTRO_MANDRIVA: case OS_DISTRO_CENTOS: case OS_DISTRO_SCIENTIFIC_LINUX: @@ -427,6 +428,7 @@ check_package_management (guestfs_h *g, struct inspect_fs *fs) case OS_DISTRO_PARDUS: fs->package_management = OS_PACKAGE_MANAGEMENT_PISI; break; + case OS_DISTRO_MAGEIA: case OS_DISTRO_MANDRIVA: fs->package_management = OS_PACKAGE_MANAGEMENT_URPMI; break; diff --git a/src/inspect_fs_unix.c b/src/inspect_fs_unix.c index 00d3cd7d..689fdb51 100644 --- a/src/inspect_fs_unix.c +++ b/src/inspect_fs_unix.c @@ -214,6 +214,11 @@ parse_lsb_release (guestfs_h *g, struct inspect_fs *fs) fs->distro = OS_DISTRO_MANDRIVA; r = 1; } + else if (fs->distro == 0 && + STREQ (lines[i], "DISTRIB_ID=\"Mageia\"")) { + fs->distro = OS_DISTRO_MAGEIA; + r = 1; + } else if (STRPREFIX (lines[i], "DISTRIB_RELEASE=")) { char *major, *minor; if (match2 (g, &lines[i][16], re_major_minor, &major, &minor)) { diff --git a/src/inspect_icon.c b/src/inspect_icon.c index d9e2ee99..f418e4a7 100644 --- a/src/inspect_icon.c +++ b/src/inspect_icon.c @@ -53,6 +53,7 @@ static char *icon_favicon (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_fedora (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_rhel (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_debian (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); +static char *icon_mageia (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); static char *icon_windows (guestfs_h *g, struct inspect_fs *fs, size_t *size_r); /* Dummy static object. */ @@ -126,6 +127,10 @@ guestfs__inspect_get_icon (guestfs_h *g, const char *root, size_t *size_r, r = icon_debian (g, fs, &size); break; + case OS_DISTRO_MAGEIA: + r = icon_mageia (g, fs, &size); + break; + /* These are just to keep gcc warnings happy. */ case OS_DISTRO_ARCHLINUX: case OS_DISTRO_GENTOO: @@ -286,6 +291,13 @@ icon_debian (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) return get_png (g, fs, DEBIAN_ICON, size_r, 2048); } +#define MAGEIA_ICON "/usr/share/icons/mageia.png" + +static char * +icon_mageia (guestfs_h *g, struct inspect_fs *fs, size_t *size_r) +{ + return get_png (g, fs, MAGEIA_ICON, size_r, 2048); +} /* Windows, as usual, has to be much more complicated and stupid than * anything else. * |