forked from Mirrors/flatpak-builder
parent
0e88f5430c
commit
2d938e2ccd
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue