Skip to content

Instantly share code, notes, and snippets.

@grigorescu
Last active July 15, 2016 06:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save grigorescu/6c2b05c42df0e4aeaa93 to your computer and use it in GitHub Desktop.
Save grigorescu/6c2b05c42df0e4aeaa93 to your computer and use it in GitHub Desktop.
Script to install rsyslog and dependencies.
#!/bin/sh
#########################
##
## Setup
##
#########################
# Set some vars
BUILD_LIBESTR=1
BUILD_LIBEE=1
BUILD_LIBLOGNORM=1
BUILD_LIBRELP=0
BUILD_LIBCURL=0
BUILD_ZEROMQ=0
BUILD_M4=0
BUILD_AUTOCONF=0
BUILD_RSYSLOG=0
INIT_PATH=`pwd`
BASE_PATH=$INIT_PATH
PATH=$PATH:/bin:/sbin
PKG_CONFIG_PATH=/lib/pkgconfig
#LDFLAGS="-Llib -Rlib"
CFLAGS="-w "
export PATH PKG_CONFIG_PATH LDFLAGS CFLAGS
# Check usage
if [ $# -ne 1 ]
then
echo "Usage: `basename $0` RSYSLOG_VERSION"
exit 65
fi
# Define our versions and URLs
RSYSLOG_VERSION=$1
RSYSLOG_URL=http://www.rsyslog.com/files/download/rsyslog/rsyslog-$RSYSLOG_VERSION.tar.gz
LIBESTR_VERSION=0.1.4
LIBESTR_URL=http://libestr.adiscon.com/files/download/libestr-$LIBESTR_VERSION.tar.gz
LIBEE_VERSION=0.4.1
LIBEE_URL=http://www.libee.org/files/download/libee-$LIBEE_VERSION.tar.gz
LIBLOGNORM_VERSION=0.3.5
LIBLOGNORM_URL=http://www.liblognorm.com/files/download/liblognorm-$LIBLOGNORM_VERSION.tar.gz
LIBRELP_VERSION=1.0.1
LIBRELP_URL=http://download.rsyslog.com/librelp/librelp-$LIBRELP_VERSION.tar.gz
CURL_VERSION=7.28.0
CURL_URL=http://curl.haxx.se/download/curl-$CURL_VERSION.tar.gz
ZEROMQ_VERSION=3.2.1-rc2
ZEROMQ_URL=http://download.zeromq.org/zeromq-$ZEROMQ_VERSION.tar.gz
M4_VERSION=1.4.16
M4_URL=http://mirror.team-cymru.org/gnu/m4/m4-$M4_VERSION.tar.gz
AUTOCONF_VERSION=2.69
AUTOCONF_URL=http://mirror.team-cymru.org/gnu/autoconf/autoconf-$AUTOCONF_VERSION.tar.gz
# Clean any previous builds, and create the directory
if [ -d "$BASE_PATH/rsyslog_build_$RSYSLOG_VERSION" ]
then
rm -Rf $BASE_PATH/rsyslog_build_$RSYSLOG_VERSION
fi
mkdir $BASE_PATH/rsyslog_build_$RSYSLOG_VERSION
cd $BASE_PATH/rsyslog_build_$RSYSLOG_VERSION
#########################
##
## Dependency - libestr
##
#########################
if [ $BUILD_LIBESTR -eq 1 ]
then
echo "Downloading libestr..."
curl -# -o libestr-$LIBESTR_VERSION.tar.gz $LIBESTR_URL
echo "Uncompressing libestr..."
tar xzf libestr-$LIBESTR_VERSION.tar.gz
cd libestr-$LIBESTR_VERSION
echo "Configuring libestr..."
./configure --disable-debug --disable-testbench >> rsyslog_build.log || exit 1
echo "Building libestr..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - libee
##
#########################
if [ $BUILD_LIBEE -eq 1 ]
then
echo "
Downloading libee..."
curl -# -o libee-$LIBEE_VERSION.tar.gz $LIBEE_URL
echo "Uncompressing libee..."
tar xzf libee-$LIBEE_VERSION.tar.gz
cd libee-$LIBEE_VERSION
echo "Configuring libee..."
./configure --disable-testbench >> rsyslog_build.log || exit 1
echo "Building libee..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - liblognorm
##
#########################
if [ $BUILD_LIBLOGNORM -eq 1 ]
then
echo "
Downloading liblognorm..."
curl -# -o liblognorm-$LIBLOGNORM_VERSION.tar.gz $LIBLOGNORM_URL
echo "Uncompressing liblognorm..."
tar xzf liblognorm-$LIBLOGNORM_VERSION.tar.gz
cd liblognorm-$LIBLOGNORM_VERSION
echo "Configuring liblognorm..."
./configure >> rsyslog_build.log || exit 1
echo "Building liblognorm..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - librelp
##
#########################
if [ $BUILD_LIBRELP -eq 1 ]
then
echo "
Downloading librelp..."
curl -# -o librelp-$LIBRELP_VERSION.tar.gz $LIBRELP_URL
echo "Uncompressing librelp..."
tar xzf librelp-$LIBRELP_VERSION.tar.gz
cd librelp-$LIBRELP_VERSION
echo "Configuring librelp..."
./configure >> rsyslog_build.log || exit 1
echo "Building librelp..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - curl
##
#########################
if [ $BUILD_LIBCURL -eq 1 ]
then
echo "
Downloading curl..."
curl -# -o curl-$CURL_VERSION.tar.gz $CURL_URL
echo "Uncompressing curl..."
tar xzf curl-$CURL_VERSION.tar.gz
cd curl-$CURL_VERSION
echo "Configuring curl..."
./configure --disable-ldap --without-libidn >> rsyslog_build.log || exit 1
echo "Building curl..."
CFLAGS="$CFLAGS -D CURL_MAX_WRITE_SIZE=16777216" make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - zeromq
##
#########################
if [ $BUILD_ZEROMQ -eq 1 ]
then
echo "
Downloading zeromq..."
curl -# -o zeromq-$ZEROMQ_VERSION.tar.gz $ZEROMQ_URL
echo "Uncompressing zeromq..."
tar xzf zeromq-$ZEROMQ_VERSION.tar.gz
cd zeromq-*
echo "Configuring zeromq..."
./configure >> rsyslog_build.log || exit 1
echo "Building zeromq..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - m4
##
#########################
if [ $BUILD_M4 -eq 1 ]
then
echo "
Downloading m4..."
curl -# -o m4-$M4_VERSION.tar.gz $M4_URL
echo "Uncompressing m4..."
tar xzf m4-$M4_VERSION.tar.gz
cd m4-$M4_VERSION
echo "Configuring m4..."
./configure >> rsyslog_build.log || exit 1
echo "Building m4..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## Dependency - autoconf
##
#########################
if [ $BUILD_AUTOCONF -eq 1 ]
then
echo "
Downloading autoconf..."
curl -# -o autoconf-$AUTOCONF_VERSION.tar.gz $AUTOCONF_URL
echo "Uncompressing autoconf..."
tar xzf autoconf-$AUTOCONF_VERSION.tar.gz
cd autoconf-$AUTOCONF_VERSION
echo "Configuring autoconf..."
./configure >> rsyslog_build.log || exit 1
echo "Building autoconf..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
cd ..
fi
#########################
##
## rsyslog
##
#########################
if [ $BUILD_RSYSLOG -eq 1 ]
then
echo "
Downloading rsyslog..."
curl -# -o rsyslog-$RSYSLOG_VERSION.tar.gz $RSYSLOG_URL
echo "Uncompressing rsyslog..."
tar xzf rsyslog-$RSYSLOG_VERSION.tar.gz
cd rsyslog-$RSYSLOG_VERSION
echo "Configuring rsyslog..."
./configure --enable-imdiag --enable-imfile --enable-impstats --enable-imttcp --enable-mail --enable-mmjsonparse --enable-mmnormalize --enable-omprog --enable-omruleset --enable-omstdout --enable-omudpspoof --enable-elasticsearch --enable-pmlastmsg --enable-pmrfc3164sd --enable-pmsnare --enable-regexp --enable-relp --enable-unlimited-select --disable-klog --disable-largefile --disable-testbench --disable-unix --disable-zlib
# NOTE: Add additional instructions here for any other plugins that are modified
echo "Building rsyslog..."
make >> rsyslog_build.log && make install >> rsyslog_build.log || exit 1
fi
cd $INIT_PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment