Advertisement
Guest User

packages/omkafka/packaging

a guest
Jun 24th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.04 KB | None | 0 0
  1. $ cat packages/omkafka/packaging
  2. # Available variables
  3. # $BOSH_COMPILE_TARGET - where this package & spec'd source files are available
  4. # $BOSH_INSTALL_TARGET - where you copy/install files to be included in package
  5.  
  6. # abort script on any command that exits with a non zero value
  7. # and report the usage of uninitialized variables
  8. set -euo pipefail
  9.  
  10. # Detect rsyslog version which is used for building omkafka module
  11. OMKAFKA_VERSION=$(rsyslogd -v | head -n1 | grep -o '^rsyslogd 8\.[0-9]\+\.[0-9]\+,' | awk -F'[ ,]' '{ print $2 }')
  12.  
  13. # Detect versions of dependencies
  14. LIBESTR_VERSION=$(dpkg-query -f '${Version}\n' -W libestr0 || true)
  15. LIBJSON_C_VERSION=$(dpkg-query -f '${Version}\n' -W libjson-c2 || true)
  16. LIBFASTJSON_VERSION=$(dpkg-query -f '${Version}\n' -W libfastjson || true)
  17.  
  18. # Install detected versions of dependencies to build rsyslog
  19. DEBS=""
  20. [ -n "$LIBESTR_VERSION" ] && DEBS="$DEBS ${BOSH_COMPILE_TARGET}/omkafka/libestr-dev_${LIBESTR_VERSION}_amd64.deb" || true
  21. [ -n "$LIBJSON_C_VERSION" ] && DEBS="$DEBS ${BOSH_COMPILE_TARGET}/omkafka/libjson-c-dev_${LIBJSON_C_VERSION}_amd64.deb" || true
  22. [ -n "$LIBFASTJSON_VERSION" ] && DEBS="$DEBS ${BOSH_COMPILE_TARGET}/omkafka/libfastjson-dev_${LIBFASTJSON_VERSION}_amd64.deb" || true
  23. dpkg -i $DEBS
  24.  
  25. LIBRDKAFKA_DIR=/var/vcap/packages/librdkafka
  26.  
  27. TMP=$(mktemp --directory --tmpdir=$BOSH_COMPILE_TARGET)
  28. DEST=$TMP/dest
  29. RSYSLOG_DIR=$TMP/rsyslog_src/
  30. LIBFASTJSON_DIR=$TMP/libfastjson_src/
  31.  
  32. # Build rsyslog (we only build it to have omkafka plugin)
  33. mkdir -p $RSYSLOG_DIR
  34. tar -xf ${BOSH_COMPILE_TARGET}/omkafka/rsyslog-${OMKAFKA_VERSION}.tar.gz --strip-components=1 --directory $RSYSLOG_DIR
  35. cd $RSYSLOG_DIR
  36. export CPATH=${LIBRDKAFKA_DIR}/include
  37. export LIBRARY_PATH=${LIBRDKAFKA_DIR}/lib
  38. ./configure --prefix=/usr --enable-omkafka --disable-uuid --disable-liblogging-stdlog --disable-generate-man-pages
  39. make
  40. make DESTDIR=$DEST install
  41.  
  42. # Install omkafka plugin
  43. cp $DEST/usr/lib/rsyslog/omkafka.so ${BOSH_INSTALL_TARGET}/omkafka.so
  44. cp $DEST/usr/lib/rsyslog/omkafka.la ${BOSH_INSTALL_TARGET}/omkafka.la
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement