src/plugin.c
src/plugin_encrypt.c
src/descs_strings.c
+ src/sdbd.c
)
+
+SET(SDBD_SERVICE_SRCS
+ src/sdb.c
+ src/fdevent.c
+ src/transport.c
+ src/transport_local.c
+ src/transport_usb.c
+ src/sockets.c
+ src/file_sync_service.c
+ src/usb_linux_client.c
+ src/utils.c
+ src/socket_inaddr_any_server.c
+ src/socket_local_client.c
+ src/socket_local_server.c
+ src/socket_loopback_client.c
+ src/socket_loopback_server.c
+ src/socket_network_client.c
+ src/sdktools.c
+ src/strutils.c
+ src/commandline_sdbd.c
+ src/usb_linux_client.c
+ src/usb_funcfs_client.c
+ src/default_plugin_auth.c
+ src/default_plugin_basic.c
+ src/default_plugin_main.c
+ src/default_plugin_event.c
+ src/default_plugin_appcmd.c
+ src/default_plugin_shellcmd.c
+ src/hashtable.c
+ src/plugin.c
+ src/plugin_encrypt.c
+ src/descs_strings.c
+ src/services.c
+ src/sdbd_service.c
+)
+
SET(SDBD_SUBS
src/subprocess.c
)
ADD_EXECUTABLE(sdbd ${SDBD_SRCS})
ADD_EXECUTABLE(sdbd-user ${SDBD_SUBS})
+ADD_EXECUTABLE(sdbd-service ${SDBD_SERVICE_SRCS})
TARGET_LINK_LIBRARIES(sdbd -pie -lsmack -lresolv -ldl ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS} ${SYSTEMD_LDFLAGS})
+TARGET_LINK_LIBRARIES(sdbd-service -pie -lsmack -lresolv -ldl ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS} ${SYSTEMD_LDFLAGS})
TARGET_LINK_LIBRARIES(sdbd-user -pie ${CMAKE_THREAD_LIBS_INIT} ${pkgs_LDFLAGS})
set_property(
HAVE_FORKEXEC
)
+set_property(
+ TARGET sdbd-service
+ PROPERTY COMPILE_DEFINITIONS
+ SDB_HOST=0
+ _DROP_PRIVILEGE
+ _FILE_OFFSET_BITS=64
+)
+
+set_property(
+ TARGET sdbd-service
+ APPEND PROPERTY COMPILE_DEFINITIONS
+ _XOPEN_SOURCE
+ _GNU_SOURCE
+ HAVE_FORKEXEC
+)
+
+
if(USE_FUNCTION_FS)
set_property(
TARGET sdbd
)
endif()
-install(TARGETS sdbd sdbd-user DESTINATION /usr/sbin)
+install(TARGETS sdbd sdbd-user sdbd-service DESTINATION /usr/sbin)
install(FILES script/sdbd DESTINATION /etc/init.d)
# Extract descriptors and strings for systemd socket activation