diff options
author | root <root@rshg054.dnsready.net> | 2012-06-20 00:01:41 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-06-20 00:01:41 +0000 |
commit | 530e6e88786befa5d1bcd569e480f1b9fec5b102 (patch) | |
tree | 78088a8187ab892bdaa7001bcd2e76abd66837df /testing/logrotate | |
parent | e4afcc505c31482d7d7cee60bb6388bfacc8ad7f (diff) |
Wed Jun 20 00:01:41 UTC 2012
Diffstat (limited to 'testing/logrotate')
-rw-r--r-- | testing/logrotate/PKGBUILD | 47 | ||||
-rw-r--r-- | testing/logrotate/logrotate-3.8.1-noasprintf.patch | 53 | ||||
-rw-r--r-- | testing/logrotate/logrotate.conf | 31 | ||||
-rwxr-xr-x | testing/logrotate/logrotate.cron.daily | 24 |
4 files changed, 155 insertions, 0 deletions
diff --git a/testing/logrotate/PKGBUILD b/testing/logrotate/PKGBUILD new file mode 100644 index 000000000..99a621b50 --- /dev/null +++ b/testing/logrotate/PKGBUILD @@ -0,0 +1,47 @@ +# $Id: PKGBUILD 162025 2012-06-18 22:17:58Z pierre $ +# Maintainer: Pierre Schmitz <pierre@archlinux.de> + +pkgname=logrotate +pkgver=3.8.1 +pkgrel=2 +pkgdesc="Rotates system logs automatically" +arch=('i686' 'x86_64') +url="https://fedorahosted.org/logrotate/" +license=('GPL') +groups=('base') +depends=('popt' 'cron' 'gzip') +backup=('etc/logrotate.conf') +source=("https://fedorahosted.org/releases/l/o/logrotate/logrotate-${pkgver}.tar.gz" + 'logrotate-3.8.1-noasprintf.patch' + 'logrotate.conf' + 'logrotate.cron.daily') +md5sums=('bd2e20d8dc644291b08f9215397d28a5' + 'fc8e4e15211d8aefd431d0e2e96223c4' + '462a5f364717461537eb2ae6394ad23e' + 'aa8ac8283908b6114483a293adcb650f') + +build() { + cd "$srcdir/${pkgname}-${pkgver}" + + patch -p1 -i "$srcdir"/logrotate-3.8.1-noasprintf.patch + + sed -e 's|#define DEFAULT_MAIL_COMMAND .*|#define DEFAULT_MAIL_COMMAND "/usr/bin/mail"|'\ + -e 's|#define COMPRESS_COMMAND .*|#define COMPRESS_COMMAND "/usr/bin/gzip"|'\ + -e 's|#define UNCOMPRESS_COMMAND .*|#define UNCOMPRESS_COMMAND "/usr/bin/gunzip"|'\ + -i config.h + + make RPM_OPT_FLAGS="$CFLAGS" EXTRA_LDFLAGS="$LDFLAGS" +} + +check() { + cd "$srcdir/${pkgname}-${pkgver}" + make test +} + +package() { + cd "$srcdir/${pkgname}-${pkgver}" + make PREFIX="$pkgdir" MANDIR="usr/share/man" install + + install -Dm644 "$srcdir/logrotate.conf" "$pkgdir/etc/logrotate.conf" + install -Dm744 "$srcdir/logrotate.cron.daily" "$pkgdir/etc/cron.daily/logrotate" +} diff --git a/testing/logrotate/logrotate-3.8.1-noasprintf.patch b/testing/logrotate/logrotate-3.8.1-noasprintf.patch new file mode 100644 index 000000000..be0c08062 --- /dev/null +++ b/testing/logrotate/logrotate-3.8.1-noasprintf.patch @@ -0,0 +1,53 @@ +--- logrotate-3.8.0.orig/config.c 2011-06-21 04:12:02.000000000 -0400 ++++ logrotate-3.8.0/config.c 2011-07-12 13:47:36.274319050 -0400 +@@ -41,39 +41,6 @@ + #include "asprintf.c" + #endif + +-#if !defined(asprintf) +-#include <stdarg.h> +- +-int asprintf(char **string_ptr, const char *format, ...) +-{ +- va_list arg; +- char *str; +- int size; +- int rv; +- +- va_start(arg, format); +- size = vsnprintf(NULL, 0, format, arg); +- size++; +- va_start(arg, format); +- str = malloc(size); +- if (str == NULL) { +- va_end(arg); +- /* +- * Strictly speaking, GNU asprintf doesn't do this, +- * but the caller isn't checking the return value. +- */ +- fprintf(stderr, "failed to allocate memory\\n"); +- exit(1); +- } +- rv = vsnprintf(str, size, format, arg); +- va_end(arg); +- +- *string_ptr = str; +- return (rv); +-} +- +-#endif +- + #if !defined(strndup) + char *strndup(const char *s, size_t n) + { +--- logrotate-3.8.0.orig/logrotate.h 2011-06-21 04:12:02.000000000 -0400 ++++ logrotate-3.8.0/logrotate.h 2011-07-12 13:47:38.949285608 -0400 +@@ -66,8 +66,5 @@ extern int numLogs; + extern int debug; + + int readAllConfigPaths(const char **paths); +-#if !defined(asprintf) +-int asprintf(char **string_ptr, const char *format, ...); +-#endif + + #endif diff --git a/testing/logrotate/logrotate.conf b/testing/logrotate/logrotate.conf new file mode 100644 index 000000000..88b4935cd --- /dev/null +++ b/testing/logrotate/logrotate.conf @@ -0,0 +1,31 @@ +# see "man logrotate" for details +# rotate log files weekly +weekly + +# keep 4 weeks worth of backlogs +rotate 4 + +# restrict maximum size of log files +#size 20M + +# create new (empty) log files after rotating old ones +create + +# uncomment this if you want your log files compressed +#compress + +# Logs are moved into directory for rotation +# olddir /var/log/archive + +# Ignore pacman saved files +tabooext + .pacorig .pacnew .pacsave + +# Arch packages drop log rotation information into this directory +include /etc/logrotate.d + +/var/log/wtmp { + monthly + create 0664 root root + rotate 1 +} + diff --git a/testing/logrotate/logrotate.cron.daily b/testing/logrotate/logrotate.cron.daily new file mode 100755 index 000000000..ee0eeeb48 --- /dev/null +++ b/testing/logrotate/logrotate.cron.daily @@ -0,0 +1,24 @@ +#!/bin/sh + +# nicenesses range from -20 (most favorable scheduling) to 19 (least favorable) +NICE=19 + +# 0 for none, 1 for real time, 2 for best-effort, 3 for idle +IONICE_CLASS=2 + +# 0-7 (for IONICE_CLASS 1 and 2 only), 0=highest, 7=lowest +IONICE_PRIORITY=7 + +CMD_LOGROTATE="/usr/sbin/logrotate /etc/logrotate.conf" + +if [ -x /usr/bin/nice ]; then + CMD_LOGROTATE="/usr/bin/nice -n ${NICE:-19} ${CMD_LOGROTATE}" +fi + +if [ -x /usr/bin/ionice ]; then + CMD_LOGROTATE="/usr/bin/ionice -c ${IONICE_CLASS:-2} -n ${IONICE_PRIORITY:-7} ${CMD_LOGROTATE}" +fi + +${CMD_LOGROTATE} + +exit 0 |