From a0486767ba387f69dd9ceaba380ae5a3185b3e4b Mon Sep 17 00:00:00 2001 From: Quentin Deslandes Date: Tue, 4 Feb 2025 11:30:47 +0100 Subject: [PATCH] bpfilter: add systemd service file Configure and install a systemd service file to manage the daemon. --- src/bpfilter/CMakeLists.txt | 12 ++++++++++++ src/bpfilter/bpfilter.service.in | 9 +++++++++ 2 files changed, 21 insertions(+) create mode 100644 src/bpfilter/bpfilter.service.in diff --git a/src/bpfilter/CMakeLists.txt b/src/bpfilter/CMakeLists.txt index 3a1826e4..6d7bad38 100644 --- a/src/bpfilter/CMakeLists.txt +++ b/src/bpfilter/CMakeLists.txt @@ -4,6 +4,12 @@ find_package(PkgConfig REQUIRED) pkg_check_modules(nl REQUIRED IMPORTED_TARGET libnl-3.0) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/bpfilter.service.in + ${CMAKE_BINARY_DIR}/output/usr/lib/systemd/system/bpfilter.service + @ONLY +) + add_executable(bpfilter ${CMAKE_CURRENT_SOURCE_DIR}/main.c ${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgen.h ${CMAKE_CURRENT_SOURCE_DIR}/cgen/cgen.c @@ -53,3 +59,9 @@ target_link_libraries(bpfilter install(TARGETS bpfilter DESTINATION ${CMAKE_INSTALL_SBINDIR} ) + +message("${CMAKE_INSTALL_PREFIX}") +install( + FILES ${CMAKE_BINARY_DIR}/output/usr/lib/systemd/system/bpfilter.service + DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/systemd/system +) diff --git a/src/bpfilter/bpfilter.service.in b/src/bpfilter/bpfilter.service.in new file mode 100644 index 00000000..27bb70f0 --- /dev/null +++ b/src/bpfilter/bpfilter.service.in @@ -0,0 +1,9 @@ +[Unit] +Description=BPF-based packet filtering framework + +[Service] +ExecStart=/usr/sbin/bpfilter --no-nftables --no-iptables +Restart=on-failure + +[Install] +WantedBy=multi-user.target