Skip to content

Instantly share code, notes, and snippets.

@mpurzynski
Created January 20, 2016 19:03
Show Gist options
  • Save mpurzynski/208a5cf83ef9e2120d47 to your computer and use it in GitHub Desktop.
Save mpurzynski/208a5cf83ef9e2120d47 to your computer and use it in GitHub Desktop.
Build a clean Bro package with Myricom. Uses fpm.
TMP_ROOT=~/tmp/dest
rm -rf ~/bro 2>&1 > /dev/null
rm -rf "${TMP_ROOT}" 2>&1 > /dev/null
mkdir -p "${TMP_ROOT}" 2>&1 > /dev/null
git clone --recursive https://github.com/bro/bro.git ~/bro
git checkout remotes/origin/topic/seth/remove-flarecd ~/bro && ./configure --prefix=/opt/bro --disable-broker --with-pcap=/opt/snf || exit 1
make install DESTDIR=~/tmp/dest || exit 1
cd ~/
rm bro-*.x86_64.rpm >/dev/null 2>&1
rm -f ~/tmp/dest/opt/bro/etc/*.cfg >/dev/null 2>&1 || exit 1
rm -f ~/tmp/dest/opt/bro/share/bro/site/*.bro >/dev/null 2>&1 || exit 1
rm -rf ~/tmp/dest/opt/bro/lib/bro/plugins/* >/dev/null 2>&1 || exit 1
for i in "${TMP_ROOT}"/nsm/bro/logs "${TMP_ROOT}"/nsm/bro/spool "${TMP_ROOT}"/home/bro/run "${TMP_ROOT}"/home/bro/tmp "${TMP_ROOT}"/opt/bro/share/bro/brozilla "${TMP_ROOT}"/opt/bro/share/bro/intelzilla "${TMP_ROOT}"/var/log/nsm "${TMP_ROOT}"/etc/cron.d; do
mkdir -p "${i}"
done;
rm -f bro-2.5*.x86_64.rpm 2>&1 > /dev/null || exit 1
fpm -s dir -t rpm -a native -v 2.5-`date +"%Y_%m_%d_%H_%M_%S"` -n bro --provides bro --pre-install ~/bro-package-scripts/preinstall-bro.sh --post-install ~/bro-package-scripts/postinstall-bro.sh --rpm-user bro --rpm-group bro -C "${TMP_ROOT}" opt/bro etc/cron.d/broctl nsm var/log/nsm home/bro/run home/bro/tmp || exit 1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment