diff options
Diffstat (limited to 'net/admin/webalizer/webalizer.SlackBuild')
-rwxr-xr-x | net/admin/webalizer/webalizer.SlackBuild | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/net/admin/webalizer/webalizer.SlackBuild b/net/admin/webalizer/webalizer.SlackBuild new file mode 100755 index 00000000..ec8d8bed --- /dev/null +++ b/net/admin/webalizer/webalizer.SlackBuild @@ -0,0 +1,207 @@ +#!/bin/bash +# Copyright (c) 2006 Eric Hameleers <alien@slackware.com> +# Distributed under the terms of the GNU General Public License, Version 2 +# ----------------------------------------------------------------------------- +# +# Slackware SlackBuild script +# =========================== +# By: Eric Hameleers <alien@slackware.com> +# For: webalizer +# URL: http://www.mrunix.net/webalizer/ +# Needs: gd, freetype2 +# Changelog: +# 2.01.10-1: 15/may/2005 by Eric Hameleers <alien@sox.homeip.net> +# * Initial build. +# 2.01.10-2: 15/may/2005 by Eric Hameleers <alien@sox.homeip.net> +# * Fixed the DNS resolving (detection of db 1.85 compat) +# 2.01.10-3: 28/apr/2006 by Eric Hameleers <alien@slackware.com> +# * Linked against gd-nox to avoid dependency on x11 (still +# needs freetype2 though!) +# 2.01.10-4: 28/apr/2006 by Eric Hameleers <alien@slackware.com> +# * Added a "STATIC" variable to the script, so you can build +# webalizer without any dependencies at all. +# +# small changes by rhatto +# +# Run 'sh SlackBuild --cleanup' to build a Slackware package. +# The package (.tgz) plus descriptive .txt file are created in /tmp . +# Install using 'installpkg'. +# +# ----------------------------------------------------------------------------- + +# --- INIT --- +# Set initial variables: +CWD="`pwd`" + +if [ -f ~/.slackbuildrc ]; then + source ~/.slackbuildrc +elif [ -f /etc/slackbuildrc ]; then + source /etc/slackbuildrc +fi + +# change STATIC to anything other than "yes" to enable dynamic build. +STATIC=${STATIC:-no} + +[ "$STATIC" == "yes" ] && \ + PRGNAM=webalizer_static || \ + PRGNAM=webalizer + +SRCNAM="webalizer" +SRCVER="2.01-10" +VERSION=${VERSION:=2.01.10} +ARCH=${ARCH:-i486} +BUILD=${BUILD:=1rha} +PACKAGE="$PRGNAM" +SRC_DIR=${SRC:=$CWD} +TMP=${TMP:=/tmp} +REPOS=${REPOS:=$TMP} + +DOCS="CHANGES COPYING Copyright DNS.README INSTALL README README.FIRST country-codes.txt" + +if [ "$ARCH" == "x86_64" ]; then + LIBDIR=/usr/lib64 +else + LIBDIR=/usr/lib +fi + +RTOOL="wget" +PACKAGE_EXT="tgz" +SRC="$SRCNAM-$SRCVER-src.$PACKAGE_EXT" +URL="ftp://ftp.mrunix.net/pub/webalizer/$SRC" + +if [ "$PACKAGE_EXT" == "bz2" ]; then + tarflag="j" +else + tarflag="z" +fi + +SRC_DIR="$SRC_DIR/$PACKAGE" +mkdir -p $SRC_DIR + +if [ "$RTOOL" == "wget" ] && [ ! -f "$SRC_DIR/$SRC" ]; then + wget "$URL" -O "$SRC_DIR/$SRC" +fi + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2" +fi + +TMP="$TMP/$PACKAGE" +PKG=$TMP/package-$PRGNAM +rm -rf $TMP +mkdir -p $PKG + +# --- PACKAGE BUILDING --- + +echo "++" +echo "|| $PRGNAM-$VERSION" +echo "++" + +cd $PKG + +# Explode the package framework: +if [ -f $CWD/_$PRGNAM.tar.gz ]; then + explodepkg $CWD/_$PRGNAM.tar.gz +fi + +cd $TMP + +# --- TARBALL EXTRACTION,PATCH,MODIFY --- + +echo "Extracting the program sources for $PRGNAM..." +tar xvf$tarflag $SRC_DIR/$SRC + +mv ${SRCNAM}-${SRCVER} ${PRGNAM}-${SRCVER} +cd ${PRGNAM}-${SRCVER} + +chown -R root.root * + +# --- BUILDING --- + +echo Building ... + +CPPFLAGS="-I/usr/include/db4" \ +CFLAGS="$SLKCFLAGS $CPPFLAGS" \ +./configure --prefix=/usr \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --with-db=/usr/include/db4 \ + --with-dblib=/lib \ + --libdir=$LIBDIR \ + --enable-dns \ + $([ "$STATIC" == "yes" ] && echo "--enable-static" || echo "") \ + 2>&1 | tee $TMP/configure-${PRGNAM}.log +make 2>&1 | tee $TMP/make-${PRGNAM}.log + +# +# Install all the needed stuff to the package dir +# +mkdir -p $PKG/etc +mkdir -p $PKG/usr/bin +mkdir -p $PKG/usr/man/man1 + +# Use installwatch if available: +which installwatch > /dev/null 2>&1 +if [ $? == 0 ]; then + installwatch -o $TMP/install-${PRGNAM}.log \ + make BINDIR=$PKG/usr/bin MANDIR=$PKG/usr/man/man1 ETCDIR=$PKG/etc install +else + make BINDIR=$PKG/usr/bin MANDIR=$PKG/usr/man/man1 ETCDIR=$PKG/etc install \ + 2>&1 |tee $TMP/install-${PRGNAM}.log +fi + + +# --- DOCUMENTATION --- + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a $DOCS \ + $PKG/usr/doc/$PRGNAM-$VERSION +chmod -R a-w $PKG/usr/doc/$PRGNAM-$VERSION/* + +# Compress the man page(s) +find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \; + +# Strip binaries +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + + +# --- OWNERSHIP, RIGHTS --- + +chmod -R o-w $PKG + +# --- PACKAGE DESCRIPTION --- + +mkdir -p $PKG/install +cat $CWD/$([ "$STATIC" == "yes" ] && echo "$PRGNAM." || echo "")slack-desc > $PKG/install/slack-desc + +if [ -f $CWD/doinst.sh ]; then + cat $CWD/doinst.sh > $PKG/install/doinst.sh +else + echo '( if [ ! -f "/etc/webalizer.conf" ]; then mv /etc/webalizer.conf.sample /etc/webalizer.conf; fi )' > $PKG/install/doinst.sh +fi + +# --- BUILDING --- + +# Build the package: +cd $PKG +makepkg --linkadd y --chown n $REPOS/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz \ + 2>&1 | tee $TMP/makepkg-${PRGNAM}.log +#(cd $REPOS && md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz.md5) +#cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $REPOS/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt + +# --- CLEANUP --- + +# Clean up the extra stuff: +if [ "$CLEANUP" == "yes" ]; then + rm -rf $TMP +fi + |