build: manage .service.in files via configure.ac

Considering we do basic substitution, we don't need to manually sed,
track dependencies, dist nor clean. Just add the files to
AC_CONFIG_FILES() call it a day - it does everything for us.
This commit is contained in:
Emil Velikov 2024-01-24 16:20:09 +00:00 committed by Luiz Augusto von Dentz
parent 808d008aac
commit 116524c01d
9 changed files with 19 additions and 26 deletions

View File

@ -47,7 +47,7 @@ dbussystembusdir = $(DBUS_SYSTEMBUSDIR)
dbussystembus_DATA = src/org.bluez.service
endif
EXTRA_DIST += src/bluetooth.service.in src/org.bluez.service
EXTRA_DIST += src/org.bluez.service
plugindir = $(libdir)/bluetooth/plugins
@ -345,7 +345,7 @@ builtin_files = src/builtin.h
nodist_src_bluetoothd_SOURCES = $(builtin_files)
CLEANFILES += $(builtin_files) src/bluetooth.service
CLEANFILES += $(builtin_files)
if MANPAGES
man_MANS += src/bluetoothd.8
@ -736,13 +736,6 @@ MAINTAINERCLEANFILES = Makefile.in \
aclocal.m4 configure config.h.in config.sub config.guess \
ltmain.sh depcomp compile missing install-sh mkinstalldirs test-driver
SED_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SED) -e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
-e 's,@libexecdir\@,$(libexecdir),g' \
-e 's,@statedir\@,$(statedir),g' \
-e 's,@confdir\@,$(confdir),g' \
< $< > $@
if RUN_RST2MAN
RST2MAN_PROCESS = $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(RST2MAN) --strict --no-raw \
@ -752,9 +745,6 @@ RST2MAN_PROCESS = $(AM_V_GEN)test -f $@ || \
{ echo "Generated manual page $@ does not exist"; false; }
endif
%.service: %.service.in Makefile
$(SED_PROCESS)
%.1: %.rst Makefile
$(RST2MAN_PROCESS)

View File

@ -51,9 +51,6 @@ man_MANS += mesh/bluetooth-meshd.8
endif
manual_pages += mesh/bluetooth-meshd.8
CLEANFILES += mesh/bluetooth-mesh.service
endif
EXTRA_DIST += mesh/bluetooth-mesh.conf mesh/bluetooth-mesh.service.in \
mesh/org.bluez.mesh.service mesh/mesh-main.conf
EXTRA_DIST += mesh/bluetooth-mesh.conf mesh/org.bluez.mesh.service mesh/mesh-main.conf

View File

@ -7,7 +7,7 @@ dbussessionbusdir = $(DBUS_SESSIONBUSDIR)
dbussessionbus_DATA = obexd/src/org.bluez.obex.service
endif
EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
EXTRA_DIST += obexd/src/org.bluez.obex.service
if OBEX
@ -112,6 +112,6 @@ obexd/src/builtin.h: obexd/src/genbuiltin $(obexd_builtin_sources)
$(AM_V_at)$(MKDIR_P) $(dir $@)
$(AM_V_GEN)$(srcdir)/obexd/src/genbuiltin $(obexd_builtin_modules) > $@
CLEANFILES += obexd/src/builtin.h $(builtin_files) obexd/src/obex.service
CLEANFILES += obexd/src/builtin.h
EXTRA_DIST += obexd/src/genbuiltin

View File

@ -77,9 +77,6 @@ systemdsystemunit_DATA += tools/bluetooth-logger.service
endif
endif
CLEANFILES += tools/bluetooth-logger.service
EXTRA_DIST += tools/bluetooth-logger.service.in
if TESTING
noinst_PROGRAMS += emulator/btvirt emulator/b1ee emulator/hfp \
peripheral/btsensor tools/3dsp \

View File

@ -441,5 +441,14 @@ if (test "${plugin_phonebook}" = "ebook"); then
fi
AC_SUBST(PLUGIN_PHONEBOOK, [${plugin_phonebook}])
AC_CONFIG_FILES(Makefile src/bluetoothd.rst lib/bluez.pc mesh/bluetooth-meshd.rst)
AC_CONFIG_FILES(
lib/bluez.pc
Makefile
mesh/bluetooth-meshd.rst
mesh/bluetooth-mesh.service
obexd/src/obex.service
src/bluetoothd.rst
src/bluetooth.service
tools/bluetooth-logger.service
)
AC_OUTPUT

View File

@ -5,7 +5,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez.mesh
ExecStart=@pkglibexecdir@/bluetooth-meshd
ExecStart=@exec_prefix@/bluetooth/bluetooth-meshd
NotifyAccess=main
LimitNPROC=1
ProtectHome=true

View File

@ -4,7 +4,7 @@ Description=Bluetooth OBEX service
[Service]
Type=dbus
BusName=org.bluez.obex
ExecStart=@pkglibexecdir@/obexd
ExecStart=@exec_prefix@/bluetooth/obexd
[Install]
Alias=dbus-org.bluez.obex.service

View File

@ -6,7 +6,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=dbus
BusName=org.bluez
ExecStart=@pkglibexecdir@/bluetoothd
ExecStart=@exec_prefix@/bluetooth/bluetoothd
NotifyAccess=main
#WatchdogSec=10
#Restart=on-failure

View File

@ -4,7 +4,7 @@ ConditionPathIsDirectory=/sys/class/bluetooth
[Service]
Type=simple
ExecStart=@pkglibexecdir@/btmon-logger -p -b /var/log/bluetooth/hci.log
ExecStart=@exec_prefix@/bluetooth/btmon-logger -p -b /var/log/bluetooth/hci.log
NotifyAccess=main
CapabilityBoundingSet=CAP_NET_RAW
LimitNPROC=1