Move flatpak_version_check to builder-utils.c

Closes: #274
Approved by: alexlarsson
auto
Alexander Larsson 2019-02-15 09:02:38 +01:00 committed by Atomic Bot
parent 0e88f5430c
commit 2d938e2ccd
3 changed files with 44 additions and 40 deletions

View File

@ -256,46 +256,6 @@ do_export (BuilderContext *build_context,
return TRUE;
}
static gboolean
flatpak_version_check (int major,
int minor,
int micro)
{
static int flatpak_major = 0;
static int flatpak_minor = 0;
static int flatpak_micro = 0;
if (flatpak_major == 0 &&
flatpak_minor == 0 &&
flatpak_micro == 0)
{
const char * argv[] = { "flatpak", "--version", NULL };
g_autoptr(GSubprocess) subp = NULL;
g_autofree char *out = NULL;
subp = g_subprocess_newv (argv, G_SUBPROCESS_FLAGS_STDOUT_PIPE, NULL);
g_subprocess_communicate_utf8 (subp, NULL, NULL, &out, NULL, NULL);
if (sscanf (out, "Flatpak %d.%d.%d", &flatpak_major, &flatpak_minor, &flatpak_micro) != 3)
g_warning ("Failed to get flatpak version");
g_debug ("Using Flatpak version %d.%d.%d", flatpak_major, flatpak_minor, flatpak_micro);
}
if (flatpak_major > major)
return TRUE;
if (flatpak_major < major)
return FALSE;
if (flatpak_minor > minor)
return TRUE;
if (flatpak_minor < minor)
return FALSE;
if (flatpak_micro >= micro)
return TRUE;
return FALSE;
}
static gboolean
do_install (BuilderContext *build_context,
const gchar *repodir,

View File

@ -2607,3 +2607,43 @@ flatpak_variant_compress (GVariant *variant)
return g_variant_ref_sink (g_variant_new_from_bytes (G_VARIANT_TYPE_BYTESTRING, compressed_bytes, TRUE));
}
gboolean
flatpak_version_check (int major,
int minor,
int micro)
{
static int flatpak_major = 0;
static int flatpak_minor = 0;
static int flatpak_micro = 0;
if (flatpak_major == 0 &&
flatpak_minor == 0 &&
flatpak_micro == 0)
{
const char * argv[] = { "flatpak", "--version", NULL };
g_autoptr(GSubprocess) subp = NULL;
g_autofree char *out = NULL;
subp = g_subprocess_newv (argv, G_SUBPROCESS_FLAGS_STDOUT_PIPE, NULL);
g_subprocess_communicate_utf8 (subp, NULL, NULL, &out, NULL, NULL);
if (sscanf (out, "Flatpak %d.%d.%d", &flatpak_major, &flatpak_minor, &flatpak_micro) != 3)
g_warning ("Failed to get flatpak version");
g_debug ("Using Flatpak version %d.%d.%d", flatpak_major, flatpak_minor, flatpak_micro);
}
if (flatpak_major > major)
return TRUE;
if (flatpak_major < major)
return FALSE;
if (flatpak_minor > minor)
return TRUE;
if (flatpak_minor < minor)
return FALSE;
if (flatpak_micro >= micro)
return TRUE;
return FALSE;
}

View File

@ -177,6 +177,10 @@ GVariant * flatpak_variant_compress (GVariant *variant);
GVariant * flatpak_variant_uncompress (GVariant *variant, const GVariantType *type);
gboolean flatpak_version_check (int major,
int minor,
int micro);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (FlatpakXml, flatpak_xml_free);
G_END_DECLS