Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1387,11 +1387,13 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
set(FLB_INSTALL_BINDIR "bin")
set(FLB_INSTALL_LIBDIR "lib")
set(FLB_INSTALL_CONFDIR "conf")
set(FLB_INSTALL_INITDIR "init.d")
set(FLB_INSTALL_INCLUDEDIR "include")
else()
set(FLB_INSTALL_BINDIR ${CMAKE_INSTALL_FULL_BINDIR})
set(FLB_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/${FLB_OUT_NAME}")
set(FLB_INSTALL_CONFDIR "${CMAKE_INSTALL_SYSCONFDIR}/${FLB_OUT_NAME}/")
set(FLB_INSTALL_INITDIR "/etc/init.d/")
set(FLB_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include")
endif()

Expand Down Expand Up @@ -1472,6 +1474,9 @@ if(DPKG_PROGRAM)
set(CPACK_DEBIAN_RUNTIME_FILE_NAME "${CPACK_PACKAGE_NAME}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_CONTROL_EXTRA
${PROJECT_SOURCE_DIR}/cpack/debian/conffiles
${PROJECT_SOURCE_DIR}/cpack/debian/prerm
${PROJECT_SOURCE_DIR}/cpack/debian/postinst
${PROJECT_SOURCE_DIR}/cpack/debian/postrm
)

if(FLB_RUN_LDCONFIG)
Expand Down
75 changes: 75 additions & 0 deletions conf/fluent-bit
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/sh

### BEGIN INIT INFO
# Provides: fluent-bit
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the fluent-bit service
# Description: starts fluent-bit using start-stop-daemon
### END INIT INFO

PATH=/opt/fluent-bit/bin/:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/opt/fluent-bit/bin/fluent-bit
NAME=fluent-bit
CONFFILE=${CONFFILE:-/etc/fluent-bit/fluent-bit.conf}

start_fluent_bit() {
# Start the daemon/service
#
# Returns:
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon --start --quiet --exec $DAEMON -d -c $CONFFILE -- 2>/dev/null || return 2
}

test_config() {
# Test the fluent-bit configuration
$DAEMON --dry-run -c $CONFFILE
}

stop_fluent_bit() {
# Stops the daemon/service
#
# Return
# 0 if daemon has been stopped or was already stopped (--oknodo)
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --exec "$DAEMON" --retry=TERM/5/KILL/5 --oknodo
}

case "$1" in
start)
start_fluent_bit
;;
stop)
stop_fluent_bit
;;
restart)

# Check configuration before stopping fluent-bit
if ! test_config; then
exit $?
fi

stop_fluent_bit
case "$?" in
0|1)
start_fluent_bit
;;
*)
# Failed to stop
;;
esac
;;
configtest|testconfig)
test_config
;;
*)
echo "Usage: $NAME {start|stop|restart|reload|force-reload|status|configtest}" >&2
exit 3
;;
esac

33 changes: 33 additions & 0 deletions cpack/debian/postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#!/bin/sh

set -e

case "${1}" in
configure)
chmod +x /etc/init.d/fluent-bit
;;

abort-upgrade|abort-remove|abort-deconfigure)

;;

*)
echo "postinst called with unknown argument \`${1}'" >&2
exit 1
;;
esac

if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
if [ -x "/etc/init.d/fluent-bit" ]; then
update-rc.d fluent-bit defaults >/dev/null
if [ -n "$2" ]; then
_dh_action=restart
else
_dh_action=start
fi
invoke-rc.d fluent-bit $_dh_action || exit 1
fi
fi


exit 0
25 changes: 25 additions & 0 deletions cpack/debian/postrm
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/sh

set -e

case "${1}" in
remove)

;;

purge|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)

;;

*)
echo "postrm called with unknown argument \`${1}'" >&2
exit 1
;;
esac

if [ "$1" = "purge" ] ; then
update-rc.d fluent-bit remove >/dev/null
fi


exit 0
10 changes: 10 additions & 0 deletions cpack/debian/prerm
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/sh
set -e

case "$1" in
remove|upgrade|deconfigure)
if [ -x "/etc/init.d/fluent-bit" ]; then
invoke-rc.d fluent-bit stop || true
fi
;;
esac
5 changes: 5 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -661,4 +661,9 @@ if(FLB_BINARY)
COMPONENT binary
DESTINATION ${FLB_INSTALL_CONFDIR})

install(FILES
"${PROJECT_SOURCE_DIR}/conf/fluent-bit"
COMPONENT binary
DESTINATION ${FLB_INSTALL_INITDIR})

endif()