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.
This commit is contained in:
parent
58a8c0aefd
commit
b0008e61a0
3 changed files with 175 additions and 4 deletions
|
@ -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"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
|
4
build-aux/flatpak/polkit-autogen
Executable file
4
build-aux/flatpak/polkit-autogen
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/sh
|
||||
|
||||
gtkdocize --flavour no-tmpl
|
||||
autoreconf -if
|
|
@ -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
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue