From b76270bf9e6dd375e495fec92140a79a79415d27 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Wed, 19 May 2010 08:58:23 +0000 Subject: Slackware 13.1 Wed May 19 08:58:23 UTC 2010 Slackware 13.1 x86_64 stable is released! Lots of thanks are due -- see the RELEASE_NOTES and the rest of the ChangeLog for credits. The ISOs are on their way to replication, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We are taking pre-orders now at store.slackware.com, and offering a discount if you sign up for a subscription. Consider picking up a copy to help support the project. Thanks again to the Slackware community for testing, contributing, and generally holding us to a high level of quality. :-) Enjoy! --- source/a/logrotate/doinst.sh | 13 +++++ source/a/logrotate/logrotate.SlackBuild | 73 +++++++++++++++++++++-------- source/a/logrotate/logrotate.conf | 50 ++++++++++++++++++++ source/a/logrotate/logrotate.cron | 3 ++ source/a/logrotate/logrotate.slackware.diff | 63 +++++++++++++++---------- source/a/logrotate/slack-desc | 2 +- 6 files changed, 158 insertions(+), 46 deletions(-) create mode 100644 source/a/logrotate/doinst.sh create mode 100644 source/a/logrotate/logrotate.conf create mode 100644 source/a/logrotate/logrotate.cron (limited to 'source/a/logrotate') diff --git a/source/a/logrotate/doinst.sh b/source/a/logrotate/doinst.sh new file mode 100644 index 00000000..ea006ffa --- /dev/null +++ b/source/a/logrotate/doinst.sh @@ -0,0 +1,13 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} +config etc/logrotate.conf.new + diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild index 6b6284b7..76cc34ab 100755 --- a/source/a/logrotate/logrotate.SlackBuild +++ b/source/a/logrotate/logrotate.SlackBuild @@ -20,25 +20,42 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -VERSION=${VERSION:-3.7.4} -ARCH=${ARCH:-x86_64} +VERSION=${VERSION:-3.7.8} BUILD=${BUILD:-1} +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-logrotate +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + rm -rf $PKG mkdir -p $TMP $PKG - -# Explode the package framework: -cd $PKG -explodepkg $CWD/_logrotate.tar.gz - cd $TMP rm -rf logrotate-$VERSION -tar xzvf $CWD/logrotate-$VERSION.tar.gz +tar xvf $CWD/logrotate-$VERSION.tar.?z* || exit 1 cd logrotate-$VERSION chown -R root:root . find . \ @@ -47,25 +64,43 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -zcat $CWD/logrotate.slackware.diff.gz | patch -p1 +# Fixup a few things: +zcat $CWD/logrotate.slackware.diff.gz | patch -p1 || exit 1 + make clean -make || exit 1 +make EXTRA_CFLAGS="$SLKCFLAGS" || exit 1 strip logrotate + +mkdir -p $PKG/usr/sbin cat logrotate > $PKG/usr/sbin/logrotate +chmod 0755 $PKG/usr/sbin/logrotate + +mkdir -p $PKG/usr/man/man8 cat logrotate.8 | gzip -9c > $PKG/usr/man/man8/logrotate.8.gz + +# Create the logrotate.d directory and install the config file +mkdir -p $PKG/etc/logrotate.d +zcat $CWD/logrotate.conf.gz > $PKG/etc/logrotate.conf.new + +# Make logrotate run from cron every day +mkdir -p $PKG/etc/cron.daily +zcat $CWD/logrotate.cron.gz > $PKG/etc/cron.daily/logrotate +chmod 0755 $PKG/etc/cron.daily/logrotate + +# Create the state directory +mkdir -p $PKG/var/lib/logrotate + mkdir -p $PKG/usr/doc/logrotate-$VERSION cp -a \ CHANGES COPYING READM* \ - $PKG/usr/doc/logrotate-$VERSION + $PKG/usr/doc/logrotate-$VERSION + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -# Build the package: +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh + cd $PKG -makepkg -l y -c n $TMP/logrotate-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/logrotate-$VERSION-$ARCH-$BUILD.txz -# Clean up the extra stuff: -if [ "$1" = "--cleanup" ]; then - rm -rf $TMP/logrotate-$VERSION - rm -rf $PKG -fi diff --git a/source/a/logrotate/logrotate.conf b/source/a/logrotate/logrotate.conf new file mode 100644 index 00000000..27b03e13 --- /dev/null +++ b/source/a/logrotate/logrotate.conf @@ -0,0 +1,50 @@ +# /etc/logrotate.conf +# +# logrotate is designed to ease administration of systems that generate large +# numbers of log files. It allows automatic rotation, compression, removal, and +# mailing of log files. Each log file may be handled daily, weekly, monthly, or +# when it grows too large. +# +# logrotate is normally run daily from root's crontab. +# +# For more details, see "man logrotate". + +# rotate log files weekly: +weekly + +# keep 4 weeks worth of backlogs: +rotate 4 + +# create new (empty) log files after rotating old ones: +create + +# uncomment if you want to use the date as a suffix of the rotated file +#dateext + +# uncomment this if you want your log files compressed: +#compress + +# some packages install log rotation information in this directory: +include /etc/logrotate.d + +# Rotate /var/log/wtmp: +/var/log/wtmp { + monthly + create 0664 root utmp + minsize 1M + rotate 1 +} + +# Rotate /var/log/btmp: +/var/log/btmp { + monthly + create 0600 root root + rotate 1 +} + +# Note that /var/log/lastlog is not rotated. This is intentional, and it should +# not be. The lastlog file is a database, and is also a sparse file that takes +# up much less space on the drive than it appears. + +# system-specific logs may be also be configured below: + diff --git a/source/a/logrotate/logrotate.cron b/source/a/logrotate/logrotate.cron new file mode 100644 index 00000000..f91b3add --- /dev/null +++ b/source/a/logrotate/logrotate.cron @@ -0,0 +1,3 @@ +#!/bin/sh +/usr/sbin/logrotate /etc/logrotate.conf +[ $? != 0 ] && /usr/bin/logger -t logrotate "ALERT - exited abnormally." diff --git a/source/a/logrotate/logrotate.slackware.diff b/source/a/logrotate/logrotate.slackware.diff index 77b8aad6..e9126cee 100644 --- a/source/a/logrotate/logrotate.slackware.diff +++ b/source/a/logrotate/logrotate.slackware.diff @@ -1,44 +1,55 @@ -diff -u -r --new-file logrotate-3.7.4.orig/config.c logrotate-3.7.4/config.c ---- logrotate-3.7.4.orig/config.c 2006-07-24 07:08:04.000000000 -0500 -+++ logrotate-3.7.4/config.c 2006-09-21 01:07:50.000000000 -0500 -@@ -29,7 +29,7 @@ +diff -Nur logrotate-3.7.8.orig/Makefile logrotate-3.7.8/Makefile +--- logrotate-3.7.8.orig/Makefile 2008-05-19 05:25:54.000000000 -0500 ++++ logrotate-3.7.8/Makefile 2009-05-09 23:25:12.060201375 -0500 +@@ -1,7 +1,7 @@ + VERSION = $(shell awk '/Version:/ { print $$2 }' logrotate.spec) + OS_NAME = $(shell uname -s) + LFS = $(shell echo `getconf LFS_CFLAGS 2>/dev/null`) +-CFLAGS = -Wall -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS) ++CFLAGS = -Wall $(EXTRA_CFLAGS) -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS) + PROG = logrotate + MAN = logrotate.8 + LOADLIBES = -lpopt +diff -Nur logrotate-3.7.8.orig/config.c logrotate-3.7.8/config.c +--- logrotate-3.7.8.orig/config.c 2008-06-02 05:26:14.000000000 -0500 ++++ logrotate-3.7.8/config.c 2009-05-09 23:53:36.748287318 -0500 +@@ -33,8 +33,9 @@ #define isblank(c) ( (c) == ' ' || (c) == '\t' ) ? 1 : 0 #endif -static char *defTabooExts[] = { ".rpmsave", ".rpmorig", "~", ",v", -+static char *defTabooExts[] = { ".new", ".rpmsave", ".rpmorig", "~", ",v", - ".rpmnew", ".swp" +- ".rpmnew", ".swp", ".cfsaved", ".rhn-cfg-tmp-*" ++static char *defTabooExts[] = { ".new", ".orig", ".old", ".bak", ++ ".rpmsave", ".rpmorig", "~", ",v", ".rpmnew", ".swp", ".cfsaved", ++ ".rhn-cfg-tmp-*" }; static int defTabooCount = sizeof(defTabooExts) / sizeof(char *); -diff -u -r --new-file logrotate-3.7.4.orig/config.h logrotate-3.7.4/config.h ---- logrotate-3.7.4.orig/config.h 2005-11-12 13:07:56.000000000 -0600 -+++ logrotate-3.7.4/config.h 2006-09-21 01:08:02.000000000 -0500 -@@ -36,5 +36,5 @@ - #endif - #ifndef STATEFILE --#define STATEFILE "/var/lib/logrotate.status" +diff -Nur logrotate-3.7.8.orig/config.h logrotate-3.7.8/config.h +--- logrotate-3.7.8.orig/config.h 2005-11-12 13:07:56.000000000 -0600 ++++ logrotate-3.7.8/config.h 2009-05-09 23:58:17.040241145 -0500 +@@ -13,7 +13,7 @@ + #define DEFAULT_MAIL_COMMAND "/usr/bin/mailx" + #define COMPRESS_COMMAND "/usr/local/bin/gzip" + #define UNCOMPRESS_COMMAND "/usr/local/bin/gunzip" +-#define STATEFILE "/var/log/logrotate.status" +#define STATEFILE "/var/lib/logrotate/status" #endif -diff -u -r --new-file logrotate-3.7.4.orig/logrotate.8 logrotate-3.7.4/logrotate.8 ---- logrotate-3.7.4.orig/logrotate.8 2006-05-17 09:46:51.000000000 -0500 -+++ logrotate-3.7.4/logrotate.8 2006-09-21 01:07:14.000000000 -0500 -@@ -1,4 +1,4 @@ --.TH LOGROTATE 8 "Wed Nov 5 2002" "Red Hat Linux" "System Administrator's Manual" -+.TH LOGROTATE 8 "Wed Nov 5 2002" "Linux" "System Administrator's Manual" - .SH NAME - logrotate \- rotates, compresses, and mails system logs - .SH SYNOPSIS -@@ -410,7 +410,7 @@ + + /* +diff -Nur logrotate-3.7.8.orig/logrotate.8 logrotate-3.7.8/logrotate.8 +--- logrotate-3.7.8.orig/logrotate.8 2008-12-06 08:05:40.000000000 -0600 ++++ logrotate-3.7.8/logrotate.8 2009-05-09 23:56:45.137687740 -0500 +@@ -442,7 +442,7 @@ for information on the taboo extensions). If a + precedes the list of extensions, the current taboo extension list is augmented, otherwise it is replaced. At startup, the taboo extension list --contains .rpmorig, .rpmsave, ,v, .swp, .rpmnew, and ~. -+contains .new, .rpmorig, .rpmsave, ,v, .swp, .rpmnew, and ~. +-contains .rpmorig, .rpmsave, ,v, .swp, .rpmnew, ~, .cfsaved and .rhn-cfg-tmp-*. ++contains .new, .orig, .bak, .old, .rpmorig, .rpmsave, ,v, .swp, .rpmnew, ~, .cfsaved and .rhn-cfg-tmp-*. .TP \fBweekly\fR -@@ -427,7 +427,7 @@ +@@ -459,7 +459,7 @@ .SH FILES .PD 0 .TP 27 diff --git a/source/a/logrotate/slack-desc b/source/a/logrotate/slack-desc index 2a1c76a5..e0fafdb5 100644 --- a/source/a/logrotate/slack-desc +++ b/source/a/logrotate/slack-desc @@ -5,7 +5,7 @@ # exactly 11 lines for the formatting to be correct. It's also customary to # leave one space after the ':'. - |-----handy-ruler------------------------------------------------------| + |-----handy-ruler------------------------------------------------------| logrotate: logrotate (system log rotation tool) logrotate: logrotate: The logrotate utility is designed to simplify the administration -- cgit v1.2.3