summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--src/appliance.c16
2 files changed, 12 insertions, 6 deletions
diff --git a/configure.ac b/configure.ac
index c42a8558..b42429e0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -404,7 +404,7 @@ dnl enabling this option.
AC_ARG_ENABLE([supermin],
[AS_HELP_STRING([--enable-supermin],
[enable supermin appliance (see README) @<:@default=no@:>@])],
- [],
+ [AC_DEFINE([ENABLE_SUPERMIN],[1],[Supermin appliance enabled.])],
[enable_supermin=no])
AM_CONDITIONAL([SUPERMIN],[test "x$enable_supermin" = "xyes"])
diff --git a/src/appliance.c b/src/appliance.c
index 7dc42c1f..26f52617 100644
--- a/src/appliance.c
+++ b/src/appliance.c
@@ -47,12 +47,14 @@ static const char *initrd_name = "initramfs." host_cpu ".img";
static int find_path (guestfs_h *g, int (*pred) (guestfs_h *g, const char *pelem, void *data), void *data, char **pelem);
static int dir_contains_file (const char *dir, const char *file);
static int dir_contains_files (const char *dir, ...);
-static int contains_supermin_appliance (guestfs_h *g, const char *path, void *data);
static int contains_ordinary_appliance (guestfs_h *g, const char *path, void *data);
+#if ENABLE_SUPERMIN
+static int contains_supermin_appliance (guestfs_h *g, const char *path, void *data);
static char *calculate_supermin_checksum (guestfs_h *g, const char *supermin_path);
static int check_for_cached_appliance (guestfs_h *g, const char *supermin_path, const char *checksum, char **kernel, char **initrd, char **appliance);
static int build_supermin_appliance (guestfs_h *g, const char *supermin_path, const char *checksum, char **kernel, char **initrd, char **appliance);
static int run_supermin_helper (guestfs_h *g, const char *supermin_path, const char *cachedir, size_t cdlen);
+#endif
/* Locate or build the appliance.
*
@@ -88,6 +90,7 @@ guestfs___build_appliance (guestfs_h *g,
{
int r;
+#if ENABLE_SUPERMIN
/* Step (1). */
char *supermin_path;
r = find_path (g, contains_supermin_appliance, NULL, &supermin_path);
@@ -116,6 +119,7 @@ guestfs___build_appliance (guestfs_h *g,
}
free (supermin_path);
}
+#endif
/* Step (5). */
char *path;
@@ -141,15 +145,16 @@ guestfs___build_appliance (guestfs_h *g,
}
static int
-contains_supermin_appliance (guestfs_h *g, const char *path, void *data)
+contains_ordinary_appliance (guestfs_h *g, const char *path, void *data)
{
- return dir_contains_files (path, "supermin.d", "kmod.whitelist", NULL);
+ return dir_contains_files (path, kernel_name, initrd_name, NULL);
}
+#if ENABLE_SUPERMIN
static int
-contains_ordinary_appliance (guestfs_h *g, const char *path, void *data)
+contains_supermin_appliance (guestfs_h *g, const char *path, void *data)
{
- return dir_contains_files (path, kernel_name, initrd_name, NULL);
+ return dir_contains_files (path, "supermin.d", "kmod.whitelist", NULL);
}
/* supermin_path is a path which is known to contain a supermin
@@ -531,6 +536,7 @@ run_supermin_helper (guestfs_h *g, const char *supermin_path,
perror ("execvp");
_exit (EXIT_FAILURE);
}
+#endif
/* Search elements of g->path, returning the first path element which
* matches the predicate function 'pred'.