[gnome-builder] build: handle a few temporary quirks in flatpak



commit c192cce118689864fdf332bc522cb6f50ce83d14
Author: Diego Escalante Urrelo <diegoe gnome org>
Date:   Sun Oct 27 20:55:22 2019 -0500

    build: handle a few temporary quirks in flatpak
    
    flatpak 1.5.0 does not build because of a change in glib:
    https://github.com/flatpak/flatpak/pull/3164
    
    To avoid the above problem we pin flatpak to the commit which resolved
    the issue. Said commit is not yet available in an official release.
    
    flatpak itself was also failing to build because of a missing ifdef:
    https://github.com/flatpak/flatpak/pull/3198

 ...k-Add-missing-check-for-USE_SYSTEM_HELPER.patch | 62 ++++++++++++++++++++++
 build-aux/flatpak/local-build.sh                   | 10 +++-
 build-aux/flatpak/org.gnome.Builder.json           |  6 ++-
 3 files changed, 75 insertions(+), 3 deletions(-)
---
diff --git a/build-aux/flatpak/flatpak-Add-missing-check-for-USE_SYSTEM_HELPER.patch 
b/build-aux/flatpak/flatpak-Add-missing-check-for-USE_SYSTEM_HELPER.patch
new file mode 100644
index 000000000..33bdb3991
--- /dev/null
+++ b/build-aux/flatpak/flatpak-Add-missing-check-for-USE_SYSTEM_HELPER.patch
@@ -0,0 +1,62 @@
+From b121b288253b9b621e5305d228191e6751e64c88 Mon Sep 17 00:00:00 2001
+From: Diego Escalante Urrelo <diegoe gnome org>
+Date: Sun, 27 Oct 2019 20:46:32 -0500
+Subject: [PATCH] common: Add missing check for USE_SYSTEM_HELPER
+
+If building with --disable-system-helper, common/flatpak-dir.c might
+still try to use polkit APIs. A check for libmalcontent was already in
+place but not enough.
+---
+ common/flatpak-dir.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c
+index 65a07922..93d62be3 100644
+--- a/common/flatpak-dir.c
++++ b/common/flatpak-dir.c
+@@ -42,7 +42,10 @@
+ #include "libglnx/libglnx.h"
+ #include "flatpak-error.h"
+ #include <ostree.h>
++
++#ifdef USE_SYSTEM_HELPER
+ #include <polkit/polkit.h>
++#endif
+ 
+ #include "flatpak-dir-private.h"
+ #include "flatpak-utils-base-private.h"
+@@ -74,6 +77,7 @@
+ #define SYSCONF_REMOTES_DIR "remotes.d"
+ #define SYSCONF_REMOTES_FILE_EXT ".flatpakrepo"
+ 
++#ifdef USE_SYSTEM_HELPER
+ /* This uses a weird Auto prefix to avoid conflicts with later added polkit types.
+  */
+ typedef PolkitAuthority           AutoPolkitAuthority;
+@@ -85,6 +89,7 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoPolkitAuthority, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoPolkitAuthorizationResult, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoPolkitDetails, g_object_unref)
+ G_DEFINE_AUTOPTR_CLEANUP_FUNC (AutoPolkitSubject, g_object_unref)
++#endif
+ 
+ static FlatpakOciRegistry *flatpak_dir_create_system_child_oci_registry (FlatpakDir   *self,
+                                                                          GLnxLockFile *file_lock,
+@@ -7641,6 +7646,7 @@ flatpak_dir_check_parental_controls (FlatpakDir    *self,
+                                      GError       **error)
+ {
+ #ifdef HAVE_LIBMALCONTENT
++#ifdef USE_SYSTEM_HELPER
+   g_autoptr(GError) local_error = NULL;
+   const char *on_session = g_getenv ("FLATPAK_SYSTEM_HELPER_ON_SESSION");
+   g_autoptr(GDBusConnection) dbus_connection = NULL;
+@@ -7753,6 +7759,7 @@ flatpak_dir_check_parental_controls (FlatpakDir    *self,
+                                ref);
+ 
+   g_debug ("Parental controls policy overridden by polkit for %s", ref);
++#endif  /* USE_SYSTEM_HELPER */
+ #endif  /* HAVE_LIBMALCONTENT */
+ 
+   return TRUE;
+-- 
+2.23.0.162.g0b9fbb3734
+
diff --git a/build-aux/flatpak/local-build.sh b/build-aux/flatpak/local-build.sh
index 316e12112..4312ecec6 100755
--- a/build-aux/flatpak/local-build.sh
+++ b/build-aux/flatpak/local-build.sh
@@ -7,6 +7,12 @@ rm -rf _repo ; mkdir _repo
 STATE_DIR=~/.cache/gnome-builder/flatpak-builder
 BRANCH=master
 
-flatpak-builder --ccache --state-dir=$STATE_DIR --force-clean _build org.gnome.Builder.json --repo=_repo 
--default-branch=$BRANCH
-flatpak build-bundle _repo org.gnome.Builder.flatpak org.gnome.Builder $BRANCH
+flatpak-builder \
+    --ccache --force-clean \
+    --repo=_repo --state-dir=$STATE_DIR \
+    --default-branch=$BRANCH \
+    _build org.gnome.Builder.json
+
+flatpak build-bundle \
+    _repo org.gnome.Builder.flatpak org.gnome.Builder $BRANCH
 
diff --git a/build-aux/flatpak/org.gnome.Builder.json b/build-aux/flatpak/org.gnome.Builder.json
index 57f41c82c..131058918 100644
--- a/build-aux/flatpak/org.gnome.Builder.json
+++ b/build-aux/flatpak/org.gnome.Builder.json
@@ -484,7 +484,11 @@
                 {
                     "type" : "git",
                     "url" : "https://github.com/flatpak/flatpak.git";,
-                    "branch" : "1.5.0"
+                    "commit" : "23e1928a19c3e93296b83c10eeb19be288ccddee"
+                },
+                {
+                    "type" : "patch",
+                    "path" : "flatpak-Add-missing-check-for-USE_SYSTEM_HELPER.patch"
                 }
             ]
         },


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]