diff --git a/Makefile.am b/Makefile.am index 450e931c6e..5717c3dacb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -16,7 +16,7 @@ CLEANFILES = EXTRA_DIST = -pkglibexecdir = $(libexecdir)/bluetooth +pkglibexecdir = @PKGLIBEXECDIR@ pkglibexec_PROGRAMS = diff --git a/configure.ac b/configure.ac index 70e9d4be81..bb6380f2f4 100644 --- a/configure.ac +++ b/configure.ac @@ -401,6 +401,24 @@ if (test "${prefix}" = "NONE"); then prefix="${ac_default_prefix}" fi +if (test "${exec_prefix}" = "NONE"); then + # exec_prefix defaults to prefix, although our manual handling of the + # latter (above) confuses autoconf. Manually set the exec_prefix. + exec_prefix="${prefix}" +fi + +# Expand any variables containing relative references like ${prefix} and co. +# +# Otherwise we'll end up with literal references in the final binaries or +# manuals, which is not something we really want. + +if (test "$libexecdir" = '${exec_prefix}/libexec'); then + pkglibexecdir="${exec_prefix}/libexec/bluetooth" +else + pkglibexecdir="${libexecdir}/bluetooth" +fi +AC_SUBST(PKGLIBEXECDIR, "${pkglibexecdir}") + if (test "$localstatedir" = '${prefix}/var'); then storagedir="${prefix}/var/lib/bluetooth" else diff --git a/mesh/bluetooth-mesh.service.in b/mesh/bluetooth-mesh.service.in index 9c3ff01a3e..899ef107b8 100644 --- a/mesh/bluetooth-mesh.service.in +++ b/mesh/bluetooth-mesh.service.in @@ -5,7 +5,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez.mesh -ExecStart=@exec_prefix@/bluetooth/bluetooth-meshd +ExecStart=@PKGLIBEXECDIR@/bluetooth-meshd NotifyAccess=main LimitNPROC=1 ProtectHome=true diff --git a/obexd/src/obex.service.in b/obexd/src/obex.service.in index 03d09a679d..cf4d8c9850 100644 --- a/obexd/src/obex.service.in +++ b/obexd/src/obex.service.in @@ -4,7 +4,7 @@ Description=Bluetooth OBEX service [Service] Type=dbus BusName=org.bluez.obex -ExecStart=@exec_prefix@/bluetooth/obexd +ExecStart=@PKGLIBEXECDIR@/obexd [Install] Alias=dbus-org.bluez.obex.service diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in index 14c16d3e3c..873b9d1fd9 100644 --- a/obexd/src/org.bluez.obex.service.in +++ b/obexd/src/org.bluez.obex.service.in @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.bluez.obex -Exec=@exec_prefix@/bluetooth/obexd +Exec=@PKGLIBEXECDIR@/obexd SystemdService=dbus-org.bluez.obex.service diff --git a/src/bluetooth.service.in b/src/bluetooth.service.in index 63e1575875..8ebe89bec6 100644 --- a/src/bluetooth.service.in +++ b/src/bluetooth.service.in @@ -6,7 +6,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=dbus BusName=org.bluez -ExecStart=@exec_prefix@/bluetooth/bluetoothd +ExecStart=@PKGLIBEXECDIR@/bluetoothd NotifyAccess=main #WatchdogSec=10 #Restart=on-failure diff --git a/tools/bluetooth-logger.service.in b/tools/bluetooth-logger.service.in index 5657c8d84b..d6df676b86 100644 --- a/tools/bluetooth-logger.service.in +++ b/tools/bluetooth-logger.service.in @@ -4,7 +4,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth [Service] Type=simple -ExecStart=@exec_prefix@/bluetooth/btmon-logger -p -b /var/log/bluetooth/hci.log +ExecStart=@PKGLIBEXECDIR@/btmon-logger -p -b /var/log/bluetooth/hci.log NotifyAccess=main CapabilityBoundingSet=CAP_NET_RAW LimitNPROC=1