inspect: Add detection of Gentoo.
[libguestfs.git] / src / inspect.c
index dbb194b..6e22360 100644 (file)
@@ -738,6 +738,15 @@ check_linux_root (guestfs_h *g, struct inspect_fs *fs)
      * determine the actual release or product string.
      */
   }
      * determine the actual release or product string.
      */
   }
+  else if (guestfs_exists (g, "/etc/gentoo-release") > 0) {
+    fs->distro = OS_DISTRO_GENTOO;
+
+    if (parse_release_file (g, fs, "/etc/gentoo-release") == -1)
+      return -1;
+
+    if (parse_major_minor (g, fs) == -1)
+      return -1;
+  }
 
   /* Determine the architecture. */
   const char *binaries[] =
 
   /* Determine the architecture. */
   const char *binaries[] =
@@ -1255,6 +1264,7 @@ guestfs__inspect_get_distro (guestfs_h *g, const char *root)
   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_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_GENTOO: ret = safe_strdup (g, "gentoo"); 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_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;