forked from Mirrors/flatpak-builder
parent
0e88f5430c
commit
2d938e2ccd
|
@ -256,46 +256,6 @@ do_export (BuilderContext *build_context,
|
||||||
return TRUE;
|
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
|
static gboolean
|
||||||
do_install (BuilderContext *build_context,
|
do_install (BuilderContext *build_context,
|
||||||
const gchar *repodir,
|
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));
|
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);
|
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_DEFINE_AUTOPTR_CLEANUP_FUNC (FlatpakXml, flatpak_xml_free);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
Loading…
Reference in New Issue