From 2327feac25f507dbf752025ce2e0248062ddd5b4 Mon Sep 17 00:00:00 2001 From: Andre F de Miranda Date: Mon, 21 Sep 2015 20:59:03 +1000 Subject: [PATCH] * Add RPM pre-install script via CPack parameters --- CMakeLists.txt | 8 +++++--- rpm/heka.preinst.in | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 rpm/heka.preinst.in 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