mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-02-13 20:02:24 +01:00
153 lines
5.2 KiB
Diff
153 lines
5.2 KiB
Diff
Patch-Source: https://lore.kernel.org/linux-bluetooth/20251208012421.838601-1-achill@achill.org/
|
|
---
|
|
From: Achill Gilgenast <achill@achill.org>
|
|
To: linux-bluetooth@vger.kernel.org
|
|
Cc: Achill Gilgenast <achill@achill.org>
|
|
Subject: [PATCH BlueZ] build: Allow systemd unit build without libsystemd
|
|
Date: Mon, 8 Dec 2025 02:24:18 +0100
|
|
Message-ID: <20251208012421.838601-1-achill@achill.org>
|
|
|
|
Decouples libsystemd and systemd units from the same option and allows
|
|
installation of services without systemd.pc by manually specifying the
|
|
directories.
|
|
|
|
This is useful in Alpine Linux where we don't ship systemd, but allow
|
|
systemd services to be subpackaged for downstream distributions like
|
|
postmarketOS.
|
|
---
|
|
I'm by far no expert in autotools or bluez and how specific components
|
|
are best categorized, so please let me know your feedback.
|
|
---
|
|
Makefile.am | 6 +++++-
|
|
Makefile.mesh | 4 +++-
|
|
Makefile.obexd | 2 +-
|
|
Makefile.tools | 4 ++--
|
|
configure.ac | 21 +++++++++++++++------
|
|
5 files changed, 26 insertions(+), 11 deletions(-)
|
|
|
|
diff --git a/Makefile.am b/Makefile.am
|
|
index e152ae64853c..d3cdb2890d32 100644
|
|
--- a/Makefile.am
|
|
+++ b/Makefile.am
|
|
@@ -49,13 +49,17 @@ conf_DATA += profiles/network/network.conf
|
|
state_DATA =
|
|
endif
|
|
|
|
-if SYSTEMD
|
|
+if SYSTEMD_SYSTEMUNITS
|
|
systemdsystemunitdir = $(SYSTEMD_SYSTEMUNITDIR)
|
|
systemdsystemunit_DATA = src/bluetooth.service
|
|
+endif
|
|
|
|
+if SYSTEMD_USERUNITS
|
|
systemduserunitdir = $(SYSTEMD_USERUNITDIR)
|
|
systemduserunit_DATA =
|
|
+endif
|
|
|
|
+if SYSTEMD_UNITS
|
|
dbussystembusdir = $(DBUS_SYSTEMBUSDIR)
|
|
dbussystembus_DATA = src/org.bluez.service
|
|
endif
|
|
diff --git a/Makefile.mesh b/Makefile.mesh
|
|
index e4c9fa6a32e6..e9998a9cdd75 100644
|
|
--- a/Makefile.mesh
|
|
+++ b/Makefile.mesh
|
|
@@ -6,8 +6,10 @@ dbus_DATA += mesh/bluetooth-mesh.conf
|
|
conf_DATA += mesh/mesh-main.conf
|
|
endif
|
|
|
|
-if SYSTEMD
|
|
+if SYSTEMD_SYSTEMUNITS
|
|
systemdsystemunit_DATA += mesh/bluetooth-mesh.service
|
|
+endif
|
|
+if SYSTEMD_UNITS
|
|
dbussystembus_DATA += mesh/org.bluez.mesh.service
|
|
endif
|
|
|
|
diff --git a/Makefile.obexd b/Makefile.obexd
|
|
index 7ad74e1286b6..25aa8feb73d1 100644
|
|
--- a/Makefile.obexd
|
|
+++ b/Makefile.obexd
|
|
@@ -1,7 +1,7 @@
|
|
# SPDX-License-Identifier: GPL-2.0
|
|
if OBEX
|
|
|
|
-if SYSTEMD
|
|
+if SYSTEMD_USERUNITS
|
|
systemduserunit_DATA += obexd/src/obex.service
|
|
|
|
obexd-add-service-symlink:
|
|
diff --git a/Makefile.tools b/Makefile.tools
|
|
index 561b03d0b95b..72dffe7cd005 100644
|
|
--- a/Makefile.tools
|
|
+++ b/Makefile.tools
|
|
@@ -74,7 +74,7 @@ pkglibexec_PROGRAMS += tools/btmon-logger
|
|
tools_btmon_logger_SOURCES = tools/btmon-logger.c
|
|
tools_btmon_logger_LDADD = src/libshared-mainloop.la
|
|
|
|
-if SYSTEMD
|
|
+if SYSTEMD_SYSTEMUNITS
|
|
systemdsystemunit_DATA += tools/bluetooth-logger.service
|
|
endif
|
|
endif
|
|
@@ -340,7 +340,7 @@ tools_hex2hcd_SOURCES = tools/hex2hcd.c tools/missing.h
|
|
|
|
tools_mpris_proxy_SOURCES = tools/mpris-proxy.c
|
|
tools_mpris_proxy_LDADD = gdbus/libgdbus-internal.la $(GLIB_LIBS) $(DBUS_LIBS)
|
|
-if SYSTEMD
|
|
+if SYSTEMD_USERUNITS
|
|
systemduserunit_DATA += tools/mpris-proxy.service
|
|
endif
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 16b81aca37e6..2d9352b59557 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -352,29 +352,38 @@ AC_ARG_WITH([systemdsystemunitdir],
|
|
AS_HELP_STRING([--with-systemdsystemunitdir=DIR],
|
|
[path to systemd system unit directory]),
|
|
[path_systemunitdir=${withval}])
|
|
-if (test "${enable_systemd}" != "no" && test -z "${path_systemunitdir}"); then
|
|
+if (test "${enable_systemd}" != "no" -o -z "${path_systemunitdir}"); then
|
|
AC_MSG_CHECKING([systemd system unit dir])
|
|
- path_systemunitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`"
|
|
if (test -z "${path_systemunitdir}"); then
|
|
- AC_MSG_ERROR([systemd system unit directory is required])
|
|
+ path_systemunitdir="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`"
|
|
+ if (test -z "${path_systemunitdir}"); then
|
|
+ AC_MSG_ERROR([systemd system unit directory is required])
|
|
+ fi
|
|
fi
|
|
AC_MSG_RESULT([${path_systemunitdir}])
|
|
fi
|
|
AC_SUBST(SYSTEMD_SYSTEMUNITDIR, [${path_systemunitdir}])
|
|
+AM_CONDITIONAL(SYSTEMD_SYSTEMUNITS, test "${path_systemunitdir}" != "")
|
|
|
|
AC_ARG_WITH([systemduserunitdir],
|
|
AS_HELP_STRING([--with-systemduserunitdir=DIR],
|
|
[path to systemd user unit directory]),
|
|
[path_userunitdir=${withval}])
|
|
-if (test "${enable_systemd}" != "no" && test -z "${path_userunitdir}"); then
|
|
+if (test "${enable_systemd}" != "no" -o -z "${path_userunitdir}"); then
|
|
AC_MSG_CHECKING([systemd user unit dir])
|
|
- path_userunitdir="`$PKG_CONFIG --variable=systemduserunitdir systemd`"
|
|
if (test -z "${path_userunitdir}"); then
|
|
- AC_MSG_ERROR([systemd user unit directory is required])
|
|
+ path_userunitdir="`$PKG_CONFIG --variable=systemduserunitdir systemd`"
|
|
+ if (test -z "${path_userunitdir}"); then
|
|
+ AC_MSG_ERROR([systemd user unit directory is required])
|
|
+ fi
|
|
fi
|
|
AC_MSG_RESULT([${path_userunitdir}])
|
|
fi
|
|
AC_SUBST(SYSTEMD_USERUNITDIR, [${path_userunitdir}])
|
|
+AM_CONDITIONAL(SYSTEMD_USERUNITS, test "${path_userunitdir}" != "")
|
|
+
|
|
+AM_CONDITIONAL(SYSTEMD_UNITS, (test "${path_systemunitdir}" != "" || test "${path_userunitdir}" != ""))
|
|
+
|
|
|
|
AC_ARG_ENABLE(datafiles, AS_HELP_STRING([--disable-datafiles],
|
|
[do not install configuration and data files]),
|
|
--
|
|
2.52.0
|