Commit 1f96f566 authored by Geoff Simmons's avatar Geoff Simmons

trackrdrd: initial rpm build, added to CI build script

parent 5224fcea
#/bin/sh
GLOBAL_STATUS=0
LHOTSE_VARNISH_PREFIX=/var/opt/varnish
LHOTSE_TRACKING_PREFIX=/var/opt/varnish_tracking
if [ ! -d "$WORKSPACE/lhotse-varnish-cache" ]; then
git clone git@git.lhotse.ov.otto.de:lhotse-varnish-cache
......@@ -20,7 +22,7 @@ cd $WORKSPACE/trackrdrd
./autogen.sh
[[ $? -ne 0 ]] && exit 1
CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-Wl,-rpath=/var/opt/varnish/lib/varnish:/var/opt/varnish/lib ./configure --prefix=/var/opt/varnish_tracking VARNISHSRC=$WORKSPACE/lhotse-varnish-cache
CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-Wl,-rpath=$LHOTSE_VARNISH_PREFIX/lib/varnish:$LHOTSE_VARNISH_PREFIX/lib ./configure --prefix=$LHOTSE_TRACKING_PREFIX VARNISHSRC=$WORKSPACE/lhotse-varnish-cache
[[ $? -ne 0 ]] && exit 1
make clean
......@@ -30,4 +32,18 @@ make
make check
[[ $? -ne 0 ]] && exit 1
make clean
VERSION=$($WORKSPACE/trackrdrd/src/.libs/trackrdrd -V | awk '{print $2}')
REVISION=$($WORKSPACE/trackrdrd/src/.libs/trackrdrd -V | awk '{print $4}')
BUILDPATH=$WORKSPACE/trackrdrd/rpmbuild/BUILDROOT/trackrdrd-$VERSION-rev${REVISION}_build$JENKINS_BUILD_NUMBER.$(uname -m)
DESTDIR=$BUILDPATH make install
[[ $? -ne 0 ]] && exit 1
mkdir -p $BUILDPATH/etc/init.d
mkdir $BUILDPATH/$LHOTSE_TRACKING_PREFIX/etc
cp $WORKSPACE/trackrdrd/etc/sample.conf $BUILDPATH/etc/trackrdrd.conf
cp $WORKSPACE/trackrdrd/etc/sample.conf $BUILDPATH/$LHOTSE_TRACKING_PREFIX/etc/
cp $WORKSPACE/trackrdrd/etc/trackrdrd $BUILDPATH/etc/init.d/
cd $WORKSPACE/trackrdrd/rpmbuild
rpmbuild --define '_topdir '$WORKSPACE/trackrdrd/rpmbuild --define 'version '$VERSION --define 'revision '$REVISION --define 'build_number '$JENKINS_BUILD_NUMBER --define 'prefix '$LHOTSE_TRACKING_PREFIX -bb SPECS/trackrdrd.spec
[[ $? -ne 0 ]] && exit 1
# Sample configuration for the varnish log tracking reader
pid.file = /var/run/trackrdrd.pid
maxdata.scale = 2
maxopen.scale = 3
monitor.interval = 10
nworkers = 20
mq.uri = tcp://localhost:61616?wireFormat.maxInactivityDuration=0
mq.qname = lhotse/tracking/rdr2proc
#!/bin/bash
### BEGIN INIT INFO
# Provides: trackrdrd
# Required-Start: $syslog $remote_fs
# Should-Start: $time ypbind smtp
# Required-Stop: $syslog $remote_fs
# Should-Stop: ypbind smtp
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Varnish log tracking reader demon
# Description: This is the Varnish log tracking reader demon,
# which reads data intended for tracking from the Varnish
# shared memory log, collects all data for each XID, and
# sends each data record to an ActiveMQ message broker.
### END INIT INFO
CONFIG=/var/opt/varnish_tracking/etc/run.conf
PIDFILE=/var/run/trackrdrd.pid
TRACKRDRD_BIN=/var/opt/varnish_tracking/bin/trackrdrd
CMD="${TRACKRDRD_BIN} -c ${CONFIG}"
# Child process stops after receiving a request
CURL=/usr/bin/curl
URL=http://localhost/ts-rcv?testSession=true
if [ ! -e ${TRACKRDRD_BIN} ]; then
echo "${TRACKRDRD_BIN} not installed"
fi
function start_trackrdrd {
echo -n "Starting trackrdrd ... "
startproc -q ${CMD}
if [ $? -ne 0 ]; then
echo "FAILED (startproc returned $?)"
logger "trackrdrd start FAILED (startproc returned $?)"
exit 1
fi
echo "done."
}
function stop_trackrdrd {
echo -n "Shutting down trackrdrd ... "
killproc ${TRACKRDRD_BIN}
if [ $? -ne 0 ]; then
echo "FAILED (killproc returned $?)"
logger "trackrdrd start FAILED (killproc returned $?)"
exit 1
fi
${CURL} ${URL} >/dev/null 2&>1
echo "done."
}
function getstatus_trackrdrd {
checkproc ${TRACKRDRD_BIN}
if [ $? -ne 0 ]; then
echo "trackrdrd NOT RUNNING (checkproc returned $?)"
exit 1
fi
echo "trackrdrd running"
}
case "$1" in
start)
start_trackrdrd
exit 0
;;
stop)
stop_trackrdrd
exit 0
;;
restart)
echo "Restarting trackrdrd"
stop_trackrdrd
sleep 1
start_trackrdrd
sleep 1
getstatus_trackrdrd
exit 0
;;
status)
getstatus_trackrdrd
exit 0
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
# rc_exit
Summary: Varnish log tracking reader demon
Name: trackrdrd
Version: %{?version}
Release: rev%{?revision}_build%{?build_number}
Vendor: Otto Gmbh & Co KG
License: BSD
Group: System Environment/Daemons
URL: https://qspa.otto.de/confluence/display/LHOT/C-Implementierung
Packager: LHOTSE Operations <lhotse-ops@dv.otto.de>
#Source0: git@git.lhotse.ov.otto.de:lhotse-tracking-varnish
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
#BuildRequires: XXX
#Requires: varnish_bestats
#Requires: libactivemq
#Requires: logrotate
#Requires(post): /sbin/chkconfig
#Requires(preun): /sbin/chkconfig
#Requires(preun): /sbin/service
%description
This is the Varnish log tracking reader demon, which reads data
intended for tracking from the Varnish shared memory log, collects all
data for each XID, and sends each data record to an ActiveMQ message
broker.
%prep
#Empty section.
%build
# Empty section.
%install
# Empty section.
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{prefix}/bin/trackrdrd
%config %{prefix}/etc/sample.conf
%doc %{prefix}/share/man/man3/%{name}.3
%config(noreplace) %{_sysconfdir}/%{name}.conf
%config(noreplace) %{_sysconfdir}/init.d/%{name}
%changelog
* Tue Nov 27 2012 Geoff Simmons <geoff@uplex.de> 0.1
- First RPM build
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment