mirror of
https://github.com/libguestfs/libguestfs.git
synced 2026-03-22 07:03:38 +00:00
supermin: If disabled, don't compile in supermin code or check for supermin.
If supermin is disabled at compile time and the user just wants to use the ordinary appliance, there is no need to compile in all the supermin code, and in particular there is no need to check for the supermin appliance (which involves running febootstrap-supermin-helper that probably doesn't exist). This fixes a warning message observed under Debian w/o supermin: sh: febootstrap-supermin-helper: command not found
This commit is contained in:
@@ -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"])
|
||||
|
||||
|
||||
@@ -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;
|
||||
@@ -140,18 +144,19 @@ guestfs___build_appliance (guestfs_h *g,
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
contains_supermin_appliance (guestfs_h *g, const char *path, void *data)
|
||||
{
|
||||
return dir_contains_files (path, "supermin.d", "kmod.whitelist", NULL);
|
||||
}
|
||||
|
||||
static int
|
||||
contains_ordinary_appliance (guestfs_h *g, const char *path, void *data)
|
||||
{
|
||||
return dir_contains_files (path, kernel_name, initrd_name, NULL);
|
||||
}
|
||||
|
||||
#if ENABLE_SUPERMIN
|
||||
static int
|
||||
contains_supermin_appliance (guestfs_h *g, const char *path, void *data)
|
||||
{
|
||||
return dir_contains_files (path, "supermin.d", "kmod.whitelist", NULL);
|
||||
}
|
||||
|
||||
/* supermin_path is a path which is known to contain a supermin
|
||||
* appliance. Using febootstrap-supermin-helper -f checksum calculate
|
||||
* the checksum so we can see if it is cached.
|
||||
@@ -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'.
|
||||
|
||||
Reference in New Issue
Block a user