diff options
Diffstat (limited to 'system/graphite-web/graphite-web.SlackBuild')
-rw-r--r-- | system/graphite-web/graphite-web.SlackBuild | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/system/graphite-web/graphite-web.SlackBuild b/system/graphite-web/graphite-web.SlackBuild new file mode 100644 index 0000000000000..53e26ad1ba800 --- /dev/null +++ b/system/graphite-web/graphite-web.SlackBuild @@ -0,0 +1,111 @@ +#!/bin/sh + +# Slackware build script for graphite-web + +# Copyright 2015 Mario Preksavec, Zagreb, Croatia +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PRGNAM=graphite-web +VERSION=${VERSION:-0.9.3pre1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +SRCVER=0.9.13-pre1 +ARCH=noarch + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$SRCVER +tar xvf $CWD/$v$SRCVER.tar.gz +cd $PRGNAM-$SRCVER +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# We don't have a RedHat system +patch -p1 <$CWD/patches/setup.cfg.diff + +# Change path to wsgi +patch -p1 <$CWD/patches/graphite.wsgi.example.diff + +# Patches thanks to Debian folks! +patch -p1 <$CWD/patches/local_settings.patch +patch -p1 <$CWD/patches/settings_debian.patch +patch -p1 <$CWD/patches/remove_internal_logrotate.patch + +python setup.py install --root=$PKG + +# Need some dirs +mkdir -p $PKG/etc/{httpd/extra,logrotate.d} $PKG/usr/share/$PRGNAM \ + $PKG/var/log/graphite +chown graphite:graphite $PKG/var/log/graphite + +# Add apache config +cat $CWD/$PRGNAM.conf > $PKG/etc/httpd/extra/$PRGNAM.conf.new + +# Cruft removal +rm -rf $PKG/usr/{storage,examples} $PKG/usr/bin/* +find $PKG/usr -name 'local_settings.py.example' -delete + +# Scripts and crontab mostly from Debian +install -m0755 -oroot -groot -t $PKG/usr/bin $CWD/scripts/graphite-manage \ + $CWD/scripts/graphite-build-search-index +install -D -m0755 -oroot -groot $CWD/$PRGNAM.cron \ + $PKG/etc/cron.hourly/graphite-build-search-index +cat $CWD/$PRGNAM.logrotate > $PKG/etc/logrotate.d/$PRGNAM.new + +# Move wsgi script +mv $PKG/usr/conf/graphite.wsgi.example $PKG/usr/share/$PRGNAM/graphite.wsgi + +# Configuration goes into /etc/graphite +mv $PKG/usr/conf $PKG/etc/graphite +for i in $PKG/etc/graphite/*.example ; do mv $i ${i/.example/.new} ; done +cat webapp/graphite/local_settings.py.example \ + > $PKG/etc/graphite/local_settings.py.new + +# Move webapp dir +mv $PKG/usr/webapp $PKG/usr/share/$PRGNAM/static + +# Manpages also from Debian +mkdir -p $PKG/usr/man +cp -a $CWD/man1 $PKG/usr/man +find $PKG/usr/man -type f -exec gzip -9 {} \; + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a INSTALL LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} |