Skip to content
Snippets Groups Projects
Commit 04dd14bd authored by Dmitry Simonenko's avatar Dmitry Simonenko
Browse files

RPM package build support

parent 9ab3e5ce
No related branches found
No related tags found
No related merge requests found
......@@ -241,6 +241,7 @@ add_subdirectory(mod)
add_subdirectory(client)
add_subdirectory(test)
add_subdirectory(doc EXCLUDE_FROM_ALL)
add_subdirectory(extra)
install (FILES README LICENSE doc/box-protocol.txt
DESTINATION doc)
......
#
# List generators
#
set (CPACK_GENERATOR "TGZ")
if ("${CPACK_GENERATOR}" STREQUAL "RPM")
set (CPACK_RPM_PACKAGE_REQUIRES "git, gcc44, flex >= 2.5.35, bison, cmake")
set (CPACK_RPM_PACKAGE_NAME "tarantool_box")
set (CPACK_RPM_PACKAGE_SUMMARY "tarantool_box")
set (CPACK_RPM_PACKAGE_VERSION "${TARANTOOL_VERSION}")
set (CPACK_RPM_PACKAGE_RELEASE "8")
set (CPACK_RPM_PACKAGE_LICENSE "BSD")
set (CPACK_RPM_PACKAGE_GROUP "MAIL.RU")
set (CPACK_RPM_PACKAGE_DESCRIPTION "Tarantool in-memory DB storage")
else()
set (CPACK_GENERATOR "TGZ")
endif()
set (CPACK_SOURCE_GENERATOR "TGZ")
#
# Describe the source distribution
......
# scripts for RPM package
#
if ("${CPACK_GENERATOR}" STREQUAL "RPM")
install (FILES tarantool_box DESTINATION /etc/init.d)
install (FILES tarantool_box.sh DESTINATION /bin)
endif()
#!/bin/bash
# /etc/rc.d/init.d/tarantool_box
#
# chkconfig: 2345 99 99
# description: tarantool_box
# processname: tarantool_box
. /etc/init.d/functions
RETVAL=0
INST="$(basename $0)"
export PIDFILE="/var/${INST}/pid"
export WRAP_PIDFILE="/var/${INST}/wrapper.pid"
export OPTIONS=""
# We must not run immediate!
if [ "${INST}" == "tarantool_box" ]
then
echo_failure
echo
exit
fi
start() {
echo -n $"Starting ${INST}: "
/usr/local/bin/${INST}.sh ${OPTIONS} >> /var/${INST}/logs/init.log 2>&1
RETVAL=${?}
if [ ${RETVAL} -eq 0 ]
then
echo_success
else
echo_failure
fi
echo
return ${RETVAL}
}
stop() {
echo -n $"Stopping $INST: "
if [ -f ${WRAP_PIDFILE} ]
then
kill $(cat ${WRAP_PIDFILE}) >/dev/null 2>&1
rm -f ${WRAP_PIDFILE} >/dev/null 2>&1
fi
if [ -f ${PIDFILE} ]
then
kill $(cat ${PIDFILE}) >/dev/null 2>&1
rm -f ${PIDFILE} >/dev/null 2>&1
fi
echo_success
echo
return ${RETVAL}
}
restart(){
stop
sleep 3
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop}"
RETVAL=1
esac
exit ${RETVAL}
#!/bin/sh -x
export PATH=$PATH:/usr/local/bin
NAME="tarantool_box"
BINARY="/usr/local/bin/${NAME}"
INST=$(basename $0 .sh)
CONF="/usr/local/etc/${INST}.cfg"
LOGDIR="/var/${INST}/logs"
CRONOLOG="/usr/sbin/cronolog"
exec <&-
report()
{
tail -n 500 ${LOGDIR}/tarantool.log | mail -s "${@}" ${MAILTO}
}
runtarantool()
{
ulimit -n 40960
${BINARY} ${OPTIONS} --config ${CONF} 2>&1 </dev/null &
wait
RC=${?}
report "${INST} restarted! "`date '+%Y-%m-%d %H:%M:%S'`" exit code $RC"
echo "${INST} restarted! "`date '+%Y-%m-%d %H:%M:%S'`" exit code $RC<br>" >> /var/tmp/error.txt
sleep 2
}
{
ulimit -Hc unlimited
runtarantool
while true
do
ulimit -Hc 0
runtarantool
done
} &
echo $! > ${WRAP_PIDFILE}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment