diff --git a/CMakeLists.txt b/CMakeLists.txt index a5392ad51..6f9386fc2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -96,9 +96,11 @@ elseif(UNIX) set(CPACK_GENERATOR ${CPACK_GENERATOR} "RPM") set(CPACK_RPM_PACKAGE_LICENSE "MPLv2.0") set(CPACK_RPM_PACKAGE_DESCRIPTION "Heka is a tool for collecting and collating data from a number of different sources, performing 'in-flight' processing of collected data, and delivering the results to any number of destinations for further analysis.") - # todo we should pull lua_sandbox out of the heka/build and packaging - set(CPACK_RPM_PACKAGE_PROVIDES "libluasb.so.0()(64bit), libluasandbox.so.0()(64bit)") - set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/share/man) + # todo we should pull lua_sandbox out of the heka/build and packaging + set(CPACK_RPM_PACKAGE_PROVIDES "libluasb.so.0()(64bit), libluasandbox.so.0()(64bit)") + set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION /usr/share/man) + set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils") + set(CPACK_RPM_PRE_INSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/rpm/heka.preinst.in") endif() endif() diff --git a/rpm/heka.preinst.in b/rpm/heka.preinst.in new file mode 100644 index 000000000..ef8022c6a --- /dev/null +++ b/rpm/heka.preinst.in @@ -0,0 +1,8 @@ +USER="heka" +GROUP=$USER +HOMEBASE=/var/cache/hekad + +getent group $GROUP >/dev/null || groupadd -r $GROUP +getent passwd $USER >/dev/null || useradd -r -g $GROUP -M -d $HOMEBASE -s /sbin/nologin -c "heka daemon" $USER +install -d -m0755 -o$USER -g$GROUP $HOMEBASE +exit 0