diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2010-11-23 19:05:53 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2010-11-24 09:41:41 +0000 |
commit | 22a50e4e3bb9125c5f2520b812811d4ae2bd7d72 (patch) | |
tree | f692bc0cc882fccf1b14a88384510d82d2d9106c /src | |
parent | 72932bd0c94aa18c6054e7b70b852918f3b01293 (diff) | |
download | libguestfs-22a50e4e3bb9125c5f2520b812811d4ae2bd7d72.tar.gz libguestfs-22a50e4e3bb9125c5f2520b812811d4ae2bd7d72.tar.xz libguestfs-22a50e4e3bb9125c5f2520b812811d4ae2bd7d72.zip |
inspect: Detect if db_dump and db_load programs are available.
If db_dump is not available then disable RPM application detection.
Note these utilities have odd names on Debian.
Diffstat (limited to 'src')
-rw-r--r-- | src/inspect.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/inspect.c b/src/inspect.c index e42dca86..8b210268 100644 --- a/src/inspect.c +++ b/src/inspect.c @@ -1661,7 +1661,9 @@ guestfs__inspect_get_hostname (guestfs_h *g, const char *root) return safe_strdup (g, fs->hostname ? : "unknown"); } +#ifdef DB_DUMP static struct guestfs_application_list *list_applications_rpm (guestfs_h *g, struct inspect_fs *fs); +#endif static struct guestfs_application_list *list_applications_deb (guestfs_h *g, struct inspect_fs *fs); static struct guestfs_application_list *list_applications_windows (guestfs_h *g, struct inspect_fs *fs); static void add_application (guestfs_h *g, struct guestfs_application_list *, const char *name, const char *display_name, int32_t epoch, const char *version, const char *release, const char *install_path, const char *publisher, const char *url, const char *description); @@ -1683,9 +1685,11 @@ guestfs__inspect_list_applications (guestfs_h *g, const char *root) case OS_TYPE_LINUX: switch (fs->package_format) { case OS_PACKAGE_FORMAT_RPM: +#ifdef DB_DUMP ret = list_applications_rpm (g, fs); if (ret == NULL) return NULL; +#endif break; case OS_PACKAGE_FORMAT_DEB: @@ -1729,6 +1733,7 @@ guestfs__inspect_list_applications (guestfs_h *g, const char *root) return ret; } +#ifdef DB_DUMP static struct guestfs_application_list * list_applications_rpm (guestfs_h *g, struct inspect_fs *fs) { @@ -1744,7 +1749,7 @@ list_applications_rpm (guestfs_h *g, struct inspect_fs *fs) char line[1024]; size_t len; - snprintf (cmd, cmd_len, "db_dump -p '%s'", tmpfile); + snprintf (cmd, cmd_len, DB_DUMP " -p '%s'", tmpfile); if (g->verbose) fprintf (stderr, "list_applications_rpm: %s\n", cmd); @@ -1829,6 +1834,7 @@ list_applications_rpm (guestfs_h *g, struct inspect_fs *fs) return ret; } +#endif /* defined DB_DUMP */ static struct guestfs_application_list * list_applications_deb (guestfs_h *g, struct inspect_fs *fs) |