]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
cmake: install dbus-daemon-launch-helper on Unix
authorRalf Habacker <ralf.habacker@freenet.de>
Mon, 21 Sep 2020 12:36:24 +0000 (14:36 +0200)
committerRalf Habacker <ralf.habacker@freenet.de>
Tue, 22 Sep 2020 09:22:40 +0000 (11:22 +0200)
Previously it was built on Unix platforms, but not installed. This
would prevent traditional activation on the system bus (on Linux
without systemd or non-Linux, or for services without SystemdService),
which requires the activation helper.

Because the executable is an internal implementation detail of how
traditional activation is implemented on Unix, it is not exported to
the generated cmake support files.

Resolves: dbus#310

bus/CMakeLists.txt

index 095039662ad458c35310f798d25aa3ffcb637de1..a52c1bfb6efa46158b12ef12daf271a8ddf7225e 100644 (file)
@@ -148,6 +148,10 @@ if(NOT WIN32)
 
     add_executable(dbus-daemon-launch-helper activation-helper.c activation-helper-bin.c )
     target_link_libraries(dbus-daemon-launch-helper launch-helper-internal)
+    install(TARGETS dbus-daemon-launch-helper RUNTIME DESTINATION ${CMAKE_INSTALL_LIBEXECDIR})
+    # It is intended not to check here that uid is 0 - see https://gitlab.freedesktop.org/dbus/dbus/-/merge_requests/154#note_478876
+    install(CODE "message(\"-- Note: Not installing \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBEXECDIR}/dbus-daemon-launch-helper binary setuid!\")")
+    install(CODE "message(\"-- Note: You'll need to manually set permissions to 'root:${DBUS_USER}' and permissions '4750'\")")
 endif()
 
 if(MSVC)