[gnome-control-center/wip/jimmac/nightly-app-icon: 6/10] flatpak: Fix the build of polkit
- From: Felipe Borges <felipeborges src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/jimmac/nightly-app-icon: 6/10] flatpak: Fix the build of polkit
- Date: Tue, 8 Oct 2019 17:11:17 +0000 (UTC)
commit 26fd812210bdf9da93601fb01ef121f9f4649ce8
Author: Felipe Borges <felipeborges gnome org>
Date: Tue Oct 8 16:38:50 2019 +0200
flatpak: Fix the build of polkit
intltool has been removed from the SDK and the release-team has
advised users to bundle it in their Flatpaks until the dependencies
get ported away from it. See
https://mail.gnome.org/archives/desktop-devel-list/2019-August/msg00000.html
This patch also ships with some polkit changes to make it suitable
for use within Flatpak. These changes were copied from gnome-builder.
build-aux/flatpak/org.gnome.Settings.json | 43 ++++++-
build-aux/flatpak/polkit-autogen | 4 +
...build-Add-option-to-build-without-polkitd.patch | 132 +++++++++++++++++++++
3 files changed, 175 insertions(+), 4 deletions(-)
---
diff --git a/build-aux/flatpak/org.gnome.Settings.json b/build-aux/flatpak/org.gnome.Settings.json
index 2c388402f..a6ab6f0e6 100644
--- a/build-aux/flatpak/org.gnome.Settings.json
+++ b/build-aux/flatpak/org.gnome.Settings.json
@@ -57,20 +57,55 @@
}
]
},
+ {
+ "name": "intltool",
+ "cleanup": [ "*" ],
+ "sources": [
+ {
+ "type": "archive",
+ "url": "https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz",
+ "sha256": "67c74d94196b153b774ab9f89b2fa6c6ba79352407037c8c14d5aeb334e959cd"
+ }
+ ]
+ },
{
"name" : "polkit",
"buildsystem" : "autotools",
"config-opts" : [
+ "--disable-polkitd",
"--disable-man-pages",
"--disable-introspection",
+ "--disable-examples",
+ "--disable-gtk-doc",
"--disable-libelogind",
- "--enable-libsystemd-login=no",
- "--with-systemdsystemunitdir=no"
+ "--disable-libsystemd-login",
+ "--with-systemdsystemunitdir=no",
+ "--with-authdb=dummy",
+ "--with-authfw=none"
+ ],
+ "rm-configure" : true,
+ "cleanup" : [
+ "/bin/*",
+ "/etc/pam.d",
+ "/etc/dbus-1",
+ "/share/dbus-1/system-services/*",
+ "/share/polkit-1",
+ "/lib/polkit-1"
],
"sources" : [
{
- "type" : "git",
- "url" : "git://anongit.freedesktop.org/polkit"
+ "type" : "archive",
+ "url" : "https://www.freedesktop.org/software/polkit/releases/polkit-0.116.tar.gz",
+ "sha256" : "88170c9e711e8db305a12fdb8234fac5706c61969b94e084d0f117d8ec5d34b1"
+ },
+ {
+ "type" : "patch",
+ "path" : "polkit-build-Add-option-to-build-without-polkitd.patch"
+ },
+ {
+ "type" : "file",
+ "path" : "polkit-autogen",
+ "dest-filename" : "autogen.sh"
}
]
},
diff --git a/build-aux/flatpak/polkit-autogen b/build-aux/flatpak/polkit-autogen
new file mode 100755
index 000000000..3ba457e5a
--- /dev/null
+++ b/build-aux/flatpak/polkit-autogen
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+gtkdocize --flavour no-tmpl
+autoreconf -if
diff --git a/build-aux/flatpak/polkit-build-Add-option-to-build-without-polkitd.patch
b/build-aux/flatpak/polkit-build-Add-option-to-build-without-polkitd.patch
new file mode 100644
index 000000000..651f53ba3
--- /dev/null
+++ b/build-aux/flatpak/polkit-build-Add-option-to-build-without-polkitd.patch
@@ -0,0 +1,132 @@
+From 1073a44277316348d40d86ecec908f1d4812f360 Mon Sep 17 00:00:00 2001
+From: Christian Hergert <chergert redhat com>
+Date: Mon, 27 May 2019 11:49:09 -0700
+Subject: [PATCH] flatpak: make polkit suitable for use within flatpak
+
+This is based on patches from Patrick Griffis with additional fixes
+to allow us to disable use of PAM within Flaptak.
+---
+ configure.ac | 20 ++++++++++++++++----
+ src/Makefile.am | 6 +++++-
+ src/polkitagent/Makefile.am | 5 +++++
+ test/Makefile.am | 6 +++++-
+ 4 files changed, 31 insertions(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 5cedb4e..729d78d 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -79,11 +79,13 @@ PKG_CHECK_MODULES(GLIB, [gmodule-2.0 gio-unix-2.0 >= 2.30.0])
+ AC_SUBST(GLIB_CFLAGS)
+ AC_SUBST(GLIB_LIBS)
+
+-PKG_CHECK_MODULES(LIBJS, [mozjs-60])
++AS_IF([test x${enable_polkitd} = yes], [
++ PKG_CHECK_MODULES(LIBJS, [mozjs-60])
+
+-AC_SUBST(LIBJS_CFLAGS)
+-AC_SUBST(LIBJS_CXXFLAGS)
+-AC_SUBST(LIBJS_LIBS)
++ AC_SUBST(LIBJS_CFLAGS)
++ AC_SUBST(LIBJS_CXXFLAGS)
++ AC_SUBST(LIBJS_LIBS)
++])
+
+ EXPAT_LIB=""
+ AC_ARG_WITH(expat, [ --with-expat=<dir> Use expat from here],
+@@ -236,6 +238,15 @@ if test "x$with_systemdsystemunitdir" != "xno"; then
+ fi
+ AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$systemdsystemunitdir"])
+
++dnl ---------------------------------------------------------------------------
++dnl - Disable polkitd when using library alone
++dnl ---------------------------------------------------------------------------
++
++AC_ARG_ENABLE([polkitd],
++ [AS_HELP_STRING([--disable-polkitd], [Do not build polkitd])],
++ [enable_polkitd=$enableval], [enable_polkitd=yes])
++AM_CONDITIONAL(BUILD_POLKITD, [test x${enable_polkitd} = yes])
++
+ dnl ---------------------------------------------------------------------------
+ dnl - User for running polkitd
+ dnl ---------------------------------------------------------------------------
+@@ -579,6 +590,7 @@ echo "
+ Session tracking: ${SESSION_TRACKING}
+ PAM support: ${have_pam}
+ systemdsystemunitdir: ${systemdsystemunitdir}
++ polkitd: ${enable_polkitd}
+ polkitd user: ${POLKITD_USER}"
+
+ if test "$have_pam" = yes ; then
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 09fc7b3..c6fe91b 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -1,5 +1,9 @@
+
+-SUBDIRS = polkit polkitbackend polkitagent programs
++SUBDIRS = polkit polkitagent programs
++
++if BUILD_POLKITD
++SUBDIRS += polkitbackend
++endif
+
+ if BUILD_EXAMPLES
+ SUBDIRS += examples
+diff --git a/src/polkitagent/Makefile.am b/src/polkitagent/Makefile.am
+index 49720db..633f9d4 100644
+--- a/src/polkitagent/Makefile.am
++++ b/src/polkitagent/Makefile.am
+@@ -79,6 +79,7 @@ libpolkit_agent_1_la_LIBADD = \
+
+ libpolkit_agent_1_la_LDFLAGS = -export-symbols-regex '(^polkit_.*)'
+
++if !POLKIT_AUTHFW_NONE
+ libprivdir = $(prefix)/lib/polkit-1
+ libpriv_PROGRAMS = polkit-agent-helper-1
+
+@@ -113,6 +114,8 @@ polkit_agent_helper_1_LDFLAGS = \
+ $(AM_LDFLAGS) \
+ $(NULL)
+
++endif # !POLKIT_AUTHFW_NONE
++
+ if HAVE_INTROSPECTION
+
+ girdir = $(INTROSPECTION_GIRDIR)
+@@ -142,6 +145,7 @@ include $(INTROSPECTION_MAKEFILE)
+
+ endif # HAVE_INTROSPECTION
+
++if !POLKIT_AUTHFW_NONE
+ # polkit-agent-helper-1 need to be setuid root because it's used to
+ # authenticate not only the invoking user, but possibly also root
+ # and/or other users.
+@@ -149,6 +153,7 @@ endif # HAVE_INTROSPECTION
+ install-data-hook:
+ -chown root $(DESTDIR)$(libprivdir)/polkit-agent-helper-1
+ -chmod 4755 $(DESTDIR)$(libprivdir)/polkit-agent-helper-1
++endif # !POLKIT_AUTHFW_NONE
+
+ EXTRA_DIST = polkitagentmarshal.list polkitagentenumtypes.h.template polkitagentenumtypes.c.template
+ CLEANFILES = $(gir_DATA) $(typelibs_DATA)
+diff --git a/test/Makefile.am b/test/Makefile.am
+index 59d0680..d43b0fe 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -1,7 +1,11 @@
+
+-SUBDIRS = mocklibc . polkit polkitbackend
++SUBDIRS = mocklibc . polkit
+ AM_CFLAGS = $(GLIB_CFLAGS)
+
++if BUILD_POLKITD
++SUBDIRS += polkitbackend
++endif
++
+ noinst_LTLIBRARIES = libpolkit-test-helper.la
+ libpolkit_test_helper_la_SOURCES = polkittesthelper.c polkittesthelper.h
+ libpolkit_test_helper_la_LIBADD = $(GLIB_LIBS)
+--
+2.21.0
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]