diff options
Diffstat (limited to 'source/a/logrotate/logrotate.SlackBuild')
-rwxr-xr-x | source/a/logrotate/logrotate.SlackBuild | 73 |
1 files changed, 53 insertions, 20 deletions
diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild index 13c1a230..88260241 100755 --- a/source/a/logrotate/logrotate.SlackBuild +++ b/source/a/logrotate/logrotate.SlackBuild @@ -1,6 +1,6 @@ -#!/bin/sh +#!/bin/bash -# Copyright 2008, 2009, 2012, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2012, 2015, 2017, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,25 +20,37 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-3.8.9} -BUILD=${BUILD:-1} +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=logrotate +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} + +NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -CWD=$(pwd) +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + TMP=${TMP:-/tmp} PKG=$TMP/package-logrotate -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -55,8 +67,8 @@ rm -rf $PKG mkdir -p $TMP $PKG cd $TMP rm -rf logrotate-$VERSION -tar xvf $CWD/logrotate-$VERSION.tar.?z* || exit 1 -cd logrotate-$VERSION +tar xvf $CWD/logrotate-$VERSION.tar.xz || exit 1 +cd logrotate-$VERSION || exit 1 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -67,16 +79,22 @@ find . \ # Fixup a few things: zcat $CWD/logrotate.slackware.diff.gz | patch -p1 || exit 1 -make clean -make RPM_OPT_FLAGS="$SLKCFLAGS" || exit 1 -strip logrotate +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/logrotate-$VERSION \ + --build=$ARCH-slackware-linux || exit 1 -mkdir -p $PKG/usr/sbin -cat logrotate > $PKG/usr/sbin/logrotate -chmod 0755 $PKG/usr/sbin/logrotate +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 -mkdir -p $PKG/usr/man/man8 -cat logrotate.8 | gzip -9c > $PKG/usr/man/man8/logrotate.8.gz +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null # Create the logrotate.d directory and install the config file mkdir -p $PKG/etc/logrotate.d @@ -87,6 +105,21 @@ mkdir -p $PKG/etc/cron.daily zcat $CWD/logrotate.cron.gz > $PKG/etc/cron.daily/logrotate chmod 0755 $PKG/etc/cron.daily/logrotate +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + mkdir -p $PKG/usr/doc/logrotate-$VERSION cp -a \ CHANGES COPYING READM* \ @@ -94,9 +127,9 @@ cp -a \ # If there's a ChangeLog, installing at least part of the recent history # is useful, but don't let it get totally out of control: -if [ -r ChangeLog ]; then +if [ -r ChangeLog.md ]; then DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) - cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + cat ChangeLog.md | head -n 1000 > $DOCSDIR/ChangeLog.md touch -r ChangeLog $DOCSDIR/ChangeLog fi |