mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-27 23:16:31 +00:00
Add udisks2 dameon and udisks2 OS agent support (#1284)
* Add udisks2 package Add latest release of udisks2 as a package. Also disable polkit to avoid excessive dependencies. * Add udisks2 and os-agent to Home Assistant OS * Bump OS Agent to latest version with udisks support
This commit is contained in:
parent
23fb6b8dd3
commit
fdd8c246dd
@ -7,3 +7,4 @@ source "$BR2_EXTERNAL_HASSOS_PATH/package/intel-e1000e/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/rpi-eeprom/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/rtl8812au/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/os-agent/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/udisks2/Config.in"
|
||||
|
@ -36,6 +36,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
|
||||
|
@ -38,6 +38,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
|
||||
|
@ -38,6 +38,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
|
||||
|
@ -38,6 +38,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
|
||||
|
@ -38,6 +38,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||
|
@ -37,6 +37,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_IBT=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160=y
|
||||
|
@ -39,6 +39,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||
|
@ -39,6 +39,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
|
||||
|
@ -39,6 +39,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
|
@ -39,6 +39,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
|
@ -40,6 +40,7 @@ BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
|
@ -39,6 +39,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
|
@ -39,6 +39,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT=y
|
||||
|
@ -40,6 +40,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_OS_AGENT=y
|
||||
BR2_PACKAGE_UDISKS2=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y
|
||||
BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI=y
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
OS_AGENT_VERSION = 0cb548c6acfb7e0a9542e6c85ffbce626af04cce
|
||||
OS_AGENT_VERSION = 7bff7f5cd223ad439b738cea513cb558a18155c9
|
||||
OS_AGENT_SITE = $(call github,home-assistant,os-agent,$(OS_AGENT_VERSION))
|
||||
OS_AGENT_LICENSE = Apache License 2.0
|
||||
OS_AGENT_LICENSE_FILES = LICENSE
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,264 @@
|
||||
From 573a9b6988c48abb7579acbe634d6b532ecb8517 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <573a9b6988c48abb7579acbe634d6b532ecb8517.1616318066.git.stefan@agner.ch>
|
||||
In-Reply-To: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
|
||||
References: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Sat, 13 Mar 2021 15:24:45 +0100
|
||||
Subject: [PATCH 2/3] Make polkit dependency optional
|
||||
|
||||
Make authorization using polkit a compile time option. This allows to
|
||||
build udisks2 without polkit.
|
||||
|
||||
Fixes: #615
|
||||
---
|
||||
configure.ac | 33 +++++++++++++++----
|
||||
data/Makefile.am | 2 ++
|
||||
src/udisksauthorization.c | 68 +++++++++++++++++++++++----------------
|
||||
src/udisksauthorization.h | 5 +++
|
||||
src/udisksdaemon.c | 2 ++
|
||||
tools/udisksctl.c | 13 ++++++++
|
||||
6 files changed, 89 insertions(+), 34 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 53917998..7d95bc91 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -150,13 +150,31 @@ PKG_CHECK_MODULES(GIO, [gio-unix-2.0 >= 2.50])
|
||||
AC_SUBST(GIO_CFLAGS)
|
||||
AC_SUBST(GIO_LIBS)
|
||||
|
||||
-PKG_CHECK_MODULES(POLKIT_GOBJECT_1, [polkit-gobject-1 >= 0.102])
|
||||
-AC_SUBST(POLKIT_GOBJECT_1_CFLAGS)
|
||||
-AC_SUBST(POLKIT_GOBJECT_1_LIBS)
|
||||
-
|
||||
-PKG_CHECK_MODULES(POLKIT_AGENT_1, [polkit-agent-1 >= 0.102])
|
||||
-AC_SUBST(POLKIT_AGENT_1_CFLAGS)
|
||||
-AC_SUBST(POLKIT_AGENT_1_LIBS)
|
||||
+have_polkit=no
|
||||
+AC_ARG_ENABLE(polkit, AS_HELP_STRING([--disable-polkit], [disable polkit support]))
|
||||
+if test "x$enable_polkit" != "xno"; then
|
||||
+ PKG_CHECK_MODULES(POLKIT_GOBJECT_1, [polkit-gobject-1 >= 0.102],
|
||||
+ [have_polkit_gobject=yes],
|
||||
+ [have_polkit_gobject=no])
|
||||
+ if test "x$have_polkit_gobject" = "xno"; then
|
||||
+ AC_MSG_ERROR([polkit support requested but polkit-gobject libraries not found])
|
||||
+ fi
|
||||
+ AC_SUBST(POLKIT_GOBJECT_1_CFLAGS)
|
||||
+ AC_SUBST(POLKIT_GOBJECT_1_LIBS)
|
||||
+
|
||||
+ PKG_CHECK_MODULES(POLKIT_AGENT_1, [polkit-agent-1 >= 0.102],
|
||||
+ [have_polkit_agent=yes],
|
||||
+ [have_polkit_agent=no])
|
||||
+ if test "x$have_polkit_agent" = "xno"; then
|
||||
+ AC_MSG_ERROR([polkit support requested but polkit-agent libraries not found])
|
||||
+ fi
|
||||
+ AC_SUBST(POLKIT_AGENT_1_CFLAGS)
|
||||
+ AC_SUBST(POLKIT_AGENT_1_LIBS)
|
||||
+ if test "$have_polkit_gobject" = "yes" -a "$have_polkit_agent" = "yes"; then
|
||||
+ have_polkit=yes
|
||||
+ fi
|
||||
+fi
|
||||
+AM_CONDITIONAL(HAVE_POLKIT, [test "$have_polkit" = "yes"])
|
||||
|
||||
if test "x$enable_daemon" = "xyes"; then
|
||||
PKG_CHECK_MODULES(GUDEV, [gudev-1.0 >= 165])
|
||||
@@ -793,6 +811,7 @@ echo "
|
||||
using libelogind: ${have_libelogind}
|
||||
use /media for mounting: ${fhs_media}
|
||||
acl support: ${have_acl}
|
||||
+ polkit support: ${have_polkit}
|
||||
using libmount/utab: ${have_libmount_utab}
|
||||
|
||||
compiler: ${CC}
|
||||
diff --git a/data/Makefile.am b/data/Makefile.am
|
||||
index 758644be..bf4f29b8 100644
|
||||
--- a/data/Makefile.am
|
||||
+++ b/data/Makefile.am
|
||||
@@ -31,6 +31,7 @@ endif
|
||||
udevrulesdir = $(udevdir)/rules.d
|
||||
udevrules_DATA = 80-udisks2.rules
|
||||
|
||||
+if HAVE_POLKIT
|
||||
polkitdir = $(datadir)/polkit-1/actions
|
||||
polkit_in_files = org.freedesktop.UDisks2.policy.in
|
||||
polkit_DATA = $(polkit_in_files:.policy.in=.policy)
|
||||
@@ -38,6 +39,7 @@ polkit_DATA = $(polkit_in_files:.policy.in=.policy)
|
||||
$(polkit_DATA): $(polkit_in_files)
|
||||
$(AM_V_GEN) $(MSGFMT) --xml --template $< -d $(top_srcdir)/po -o $@
|
||||
endif
|
||||
+endif
|
||||
|
||||
completionsdir = $(datadir)/bash-completion/completions
|
||||
completions_DATA = \
|
||||
diff --git a/src/udisksauthorization.c b/src/udisksauthorization.c
|
||||
index f74e194a..0256cef9 100644
|
||||
--- a/src/udisksauthorization.c
|
||||
+++ b/src/udisksauthorization.c
|
||||
@@ -24,33 +24,6 @@
|
||||
#include "udisksdaemonutil.h"
|
||||
#include "udisksauthorization.h"
|
||||
|
||||
-/* Need this until we can depend on a libpolkit with this bugfix
|
||||
- *
|
||||
- * http://cgit.freedesktop.org/polkit/commit/?h=wip/js-rule-files&id=224f7b892478302dccbe7e567b013d3c73d376fd
|
||||
- */
|
||||
-static void
|
||||
-_safe_polkit_details_insert (PolkitDetails *details, const gchar *key, const gchar *value)
|
||||
-{
|
||||
- if (value != NULL && strlen (value) > 0)
|
||||
- polkit_details_insert (details, key, value);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-_safe_polkit_details_insert_int (PolkitDetails *details, const gchar *key, gint value)
|
||||
-{
|
||||
- gchar buf[32];
|
||||
- snprintf (buf, sizeof buf, "%d", value);
|
||||
- polkit_details_insert (details, key, buf);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-_safe_polkit_details_insert_uint64 (PolkitDetails *details, const gchar *key, guint64 value)
|
||||
-{
|
||||
- gchar buf[32];
|
||||
- snprintf (buf, sizeof buf, "0x%08llx", (unsigned long long int) value);
|
||||
- polkit_details_insert (details, key, buf);
|
||||
-}
|
||||
-
|
||||
static gboolean
|
||||
check_authorization_no_polkit (UDisksDaemon *daemon,
|
||||
UDisksObject *object,
|
||||
@@ -157,6 +130,34 @@ udisks_daemon_util_check_authorization_sync (UDisksDaemon *daemon,
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
+#ifdef HAVE_POLKIT
|
||||
+/* Need this until we can depend on a libpolkit with this bugfix
|
||||
+ *
|
||||
+ * http://cgit.freedesktop.org/polkit/commit/?h=wip/js-rule-files&id=224f7b892478302dccbe7e567b013d3c73d376fd
|
||||
+ */
|
||||
+static void
|
||||
+_safe_polkit_details_insert (PolkitDetails *details, const gchar *key, const gchar *value)
|
||||
+{
|
||||
+ if (value != NULL && strlen (value) > 0)
|
||||
+ polkit_details_insert (details, key, value);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+_safe_polkit_details_insert_int (PolkitDetails *details, const gchar *key, gint value)
|
||||
+{
|
||||
+ gchar buf[32];
|
||||
+ snprintf (buf, sizeof buf, "%d", value);
|
||||
+ polkit_details_insert (details, key, buf);
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+_safe_polkit_details_insert_uint64 (PolkitDetails *details, const gchar *key, guint64 value)
|
||||
+{
|
||||
+ gchar buf[32];
|
||||
+ snprintf (buf, sizeof buf, "0x%08llx", (unsigned long long int) value);
|
||||
+ polkit_details_insert (details, key, buf);
|
||||
+}
|
||||
+
|
||||
gboolean
|
||||
udisks_daemon_util_check_authorization_sync_with_error (UDisksDaemon *daemon,
|
||||
UDisksObject *object,
|
||||
@@ -379,4 +380,17 @@ udisks_daemon_util_check_authorization_sync_with_error (UDisksDaemon *
|
||||
g_clear_object (&result);
|
||||
return ret;
|
||||
}
|
||||
+#else
|
||||
+gboolean
|
||||
+udisks_daemon_util_check_authorization_sync_with_error (UDisksDaemon *daemon,
|
||||
+ UDisksObject *object,
|
||||
+ const gchar *action_id,
|
||||
+ GVariant *options,
|
||||
+ const gchar *message,
|
||||
+ GDBusMethodInvocation *invocation,
|
||||
+ GError **error)
|
||||
+{
|
||||
+ return check_authorization_no_polkit (daemon, object, action_id, options, message, invocation, error);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
diff --git a/src/udisksauthorization.h b/src/udisksauthorization.h
|
||||
index 4903bb57..64dcf4e4 100644
|
||||
--- a/src/udisksauthorization.h
|
||||
+++ b/src/udisksauthorization.h
|
||||
@@ -22,7 +22,12 @@
|
||||
#define __UDISKS_AUTHORIZATION_H__
|
||||
|
||||
#include "udisksdaemontypes.h"
|
||||
+
|
||||
+#ifdef HAVE_POLKIT
|
||||
#include <polkit/polkit.h>
|
||||
+#else
|
||||
+typedef void* PolkitAuthority;
|
||||
+#endif
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
diff --git a/src/udisksdaemon.c b/src/udisksdaemon.c
|
||||
index 51e2bb5c..8995167f 100644
|
||||
--- a/src/udisksdaemon.c
|
||||
+++ b/src/udisksdaemon.c
|
||||
@@ -379,6 +379,7 @@ udisks_daemon_constructed (GObject *object)
|
||||
uuid_unparse (uuid, &uuid_buf[0]);
|
||||
daemon->uuid = g_strdup (uuid_buf);
|
||||
|
||||
+#ifdef HAVE_POLKIT
|
||||
daemon->authority = polkit_authority_get_sync (NULL, &error);
|
||||
if (daemon->authority == NULL)
|
||||
{
|
||||
@@ -386,6 +387,7 @@ udisks_daemon_constructed (GObject *object)
|
||||
error->message, g_quark_to_string (error->domain), error->code);
|
||||
g_clear_error (&error);
|
||||
}
|
||||
+#endif
|
||||
|
||||
daemon->object_manager = g_dbus_object_manager_server_new ("/org/freedesktop/UDisks2");
|
||||
|
||||
diff --git a/tools/udisksctl.c b/tools/udisksctl.c
|
||||
index 7a5de65d..feacfa6d 100644
|
||||
--- a/tools/udisksctl.c
|
||||
+++ b/tools/udisksctl.c
|
||||
@@ -35,9 +35,11 @@
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
+#ifdef HAVE_POLKIT
|
||||
#include <polkit/polkit.h>
|
||||
#define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE
|
||||
#include <polkitagent/polkitagent.h>
|
||||
+#endif
|
||||
|
||||
static UDisksClient *client = NULL;
|
||||
static GMainLoop *loop = NULL;
|
||||
@@ -57,6 +59,7 @@ static void modify_argv0_for_command (gint *argc, gchar **argv[], const gchar *c
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
|
||||
+#ifdef HAVE_POLKIT
|
||||
static PolkitAgentListener *local_polkit_agent = NULL;
|
||||
static gpointer local_agent_handle = NULL;
|
||||
|
||||
@@ -119,6 +122,16 @@ shutdown_local_polkit_agent (void)
|
||||
if (local_polkit_agent != NULL)
|
||||
g_object_unref (local_polkit_agent);
|
||||
}
|
||||
+#else
|
||||
+static gboolean
|
||||
+setup_local_polkit_agent (void)
|
||||
+{
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+shutdown_local_polkit_agent (void) { }
|
||||
+#endif
|
||||
|
||||
|
||||
/* ---------------------------------------------------------------------------------------------------- */
|
||||
--
|
||||
2.30.2
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 25b38dee43559d58f1bf9cc464107f32f476c753 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <25b38dee43559d58f1bf9cc464107f32f476c753.1616318066.git.stefan@agner.ch>
|
||||
In-Reply-To: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
|
||||
References: <abcac570bfe1db867fda504942e6c782ada2aa00.1616318066.git.stefan@agner.ch>
|
||||
From: Stefan Agner <stefan@agner.ch>
|
||||
Date: Fri, 19 Mar 2021 15:54:30 +0100
|
||||
Subject: [PATCH 3/3] Avoid autoreconf error if introspection macros are not
|
||||
available
|
||||
|
||||
Don't make macros for introspection mandatory. This allows to run
|
||||
autoreconf even without GObject introspection automake macros available.
|
||||
---
|
||||
configure.ac | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 7d95bc91..30096af9 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -123,7 +123,10 @@ AC_ARG_ENABLE(daemon,
|
||||
enable_daemon=yes)
|
||||
AM_CONDITIONAL(ENABLE_DAEMON, test "$enable_daemon" != no)
|
||||
|
||||
-GOBJECT_INTROSPECTION_CHECK([0.6.2])
|
||||
+m4_ifdef([GOBJECT_INTROSPECTION_CHECK], [
|
||||
+ GOBJECT_INTROSPECTION_CHECK([0.6.2])
|
||||
+])
|
||||
+AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
|
||||
|
||||
# Behavior
|
||||
#
|
||||
--
|
||||
2.30.2
|
||||
|
62
buildroot-external/package/udisks2/Config.in
Normal file
62
buildroot-external/package/udisks2/Config.in
Normal file
@ -0,0 +1,62 @@
|
||||
config BR2_PACKAGE_UDISKS2
|
||||
bool "udisks2"
|
||||
depends on BR2_ENABLE_LOCALE # parted
|
||||
depends on BR2_PACKAGE_HAS_UDEV
|
||||
depends on BR2_USE_MMU # lvm2
|
||||
depends on BR2_USE_WCHAR # dbus-glib -> glib2
|
||||
depends on !BR2_TOOLCHAIN_USES_UCLIBC # polkit, lvm2
|
||||
select BR2_PACKAGE_DBUS
|
||||
select BR2_PACKAGE_DBUS_GLIB
|
||||
select BR2_PACKAGE_LIBATASMART
|
||||
select BR2_PACKAGE_LIBBLOCKDEV
|
||||
select BR2_PACKAGE_LIBBLOCKDEV_CRYPTO
|
||||
select BR2_PACKAGE_LIBBLOCKDEV_FS
|
||||
select BR2_PACKAGE_LIBBLOCKDEV_LOOP
|
||||
select BR2_PACKAGE_LIBBLOCKDEV_MDRAID
|
||||
select BR2_PACKAGE_LIBBLOCKDEV_PART
|
||||
select BR2_PACKAGE_LIBBLOCKDEV_SWAP
|
||||
select BR2_PACKAGE_LIBGUDEV
|
||||
select BR2_PACKAGE_PARTED
|
||||
help
|
||||
The udisks2 project provides
|
||||
|
||||
o A storage daemon that implements well-defined D-Bus
|
||||
interfaces that can be used to query and manipulate
|
||||
storage devices.
|
||||
|
||||
o a command-line tool, udisksctl(1), that can be used to query
|
||||
and use the daemon
|
||||
|
||||
https://github.com/storaged-project/udisks
|
||||
|
||||
if BR2_PACKAGE_UDISKS2
|
||||
|
||||
config BR2_PACKAGE_UDISKS2_LVM2
|
||||
bool "lvm2 support"
|
||||
# The lvm app library can't compile against musl
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
depends on !BR2_STATIC_LIBS
|
||||
select BR2_PACKAGE_LVM2
|
||||
select BR2_PACKAGE_LVM2_APP_LIBRARY
|
||||
help
|
||||
Enable LVM2 support
|
||||
|
||||
comment "lvm2 support needs a glibc toolchain"
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC
|
||||
|
||||
endif
|
||||
|
||||
comment "udisks2 needs udev /dev management"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_PACKAGE_HAS_UDEV
|
||||
|
||||
comment "udisks2 needs a glibc or musl toolchain with locale, C++, wchar, dynamic library, NPTL, gcc >= 4.9"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_PACKAGE_SPIDERMONKEY_ARCH_SUPPORTS
|
||||
depends on !BR2_ENABLE_LOCALE || BR2_TOOLCHAIN_USES_UCLIBC || \
|
||||
!BR2_INSTALL_LIBSTDCPP || \
|
||||
BR2_STATIC_LIBS || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
|
||||
!BR2_HOST_GCC_AT_LEAST_4_9 || \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
|
||||
!BR2_USE_WCHAR
|
3
buildroot-external/package/udisks2/udisks2.hash
Normal file
3
buildroot-external/package/udisks2/udisks2.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 bda6f9d7edc632c57e55862731a8ffeff2413fa4346708a22bf31ed72b0fe058 udisks-2.9.2.tar.bz2
|
||||
sha256 98046e932dc6c739001e79d7079a3bd958fc55475dcd917d27f884c0c93525cc COPYING
|
41
buildroot-external/package/udisks2/udisks2.mk
Normal file
41
buildroot-external/package/udisks2/udisks2.mk
Normal file
@ -0,0 +1,41 @@
|
||||
################################################################################
|
||||
#
|
||||
# udisks2
|
||||
#
|
||||
################################################################################
|
||||
|
||||
UDISKS2_VERSION = 2.9.2
|
||||
UDISKS2_SITE = https://github.com/storaged-project/udisks/releases/download/udisks-$(UDISKS2_VERSION)
|
||||
UDISKS2_SOURCE = udisks-$(UDISKS2_VERSION).tar.bz2
|
||||
UDISKS2_LICENSE = GPL-2.0+
|
||||
UDISKS2_LICENSE_FILES = COPYING
|
||||
# For 0002-Make-polkit-dependency-optional.patch
|
||||
# Running autoreconf when GObject Introspection is not selected
|
||||
# requires 0003-Avoid-autoreconf-error-if-introspection-macros-are-n.patch
|
||||
UDISKS2_AUTORECONF = YES
|
||||
|
||||
UDISKS2_DEPENDENCIES = \
|
||||
host-pkgconf \
|
||||
dbus \
|
||||
dbus-glib \
|
||||
libatasmart \
|
||||
libblockdev \
|
||||
libgudev \
|
||||
lvm2 \
|
||||
parted \
|
||||
udev
|
||||
|
||||
UDISKS2_CONF_OPTS = --disable-polkit --disable-man
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
|
||||
UDISKS2_CONF_OPTS += --enable-introspection
|
||||
UDISKS2_DEPENDENCIES += gobject-introspection
|
||||
else
|
||||
UDISKS2_CONF_OPTS += --disable-introspection
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UDISKS2_LVM2),y)
|
||||
UDISKS2_CONF_OPTS += --enable-lvm2
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
Loading…
x
Reference in New Issue
Block a user