summaryrefslogtreecommitdiff
path: root/testing/logrotate
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-08-23 23:14:30 +0000
committerroot <root@rshg054.dnsready.net>2011-08-23 23:14:30 +0000
commit9254c2bc6500471b22eead69781ddef84f87e2bf (patch)
treec4afa4b28422f98d69f9b2594705e164e8c3049c /testing/logrotate
parent64e290184042563a240e2d6d15c02e06703d00ee (diff)
Tue Aug 23 23:14:30 UTC 2011
Diffstat (limited to 'testing/logrotate')
-rw-r--r--testing/logrotate/PKGBUILD48
-rw-r--r--testing/logrotate/logrotate-3.8.0-noasprintf.patch55
-rw-r--r--testing/logrotate/logrotate.conf31
-rwxr-xr-xtesting/logrotate/logrotate.cron.daily3
4 files changed, 137 insertions, 0 deletions
diff --git a/testing/logrotate/PKGBUILD b/testing/logrotate/PKGBUILD
new file mode 100644
index 000000000..eac5714c2
--- /dev/null
+++ b/testing/logrotate/PKGBUILD
@@ -0,0 +1,48 @@
+# $Id: PKGBUILD 136073 2011-08-22 13:06:08Z allan $
+# Maintainer: Aaron Griffin <aaron@archlinux.org>
+# Contributor: Judd Vinet <jvinet@zeroflux.org>
+
+pkgname=logrotate
+pkgver=3.8.0
+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.0-noasprintf.patch
+ logrotate.conf
+ logrotate.cron.daily)
+md5sums=('590f77c13077a4c384dbec7ca9c5f242'
+ '624801859beb9abe7958b6392c854d72'
+ '462a5f364717461537eb2ae6394ad23e'
+ '8e23d5d4cc29b1e055b24df87e355cdc')
+
+build() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+
+ patch -Np1 -i "$srcdir"/logrotate-3.8.0-noasprintf.patch
+
+ sed -i 's|#define DEFAULT_MAIL_COMMAND .*|#define DEFAULT_MAIL_COMMAND "/usr/bin/mail"|'\
+ config.h
+ sed -i "s|CFLAGS = -Wall|CFLAGS = -Wall $CFLAGS|" Makefile
+ sed -i 's|$(BASEDIR)/man|$(BASEDIR)/share/man|' Makefile
+
+ make
+}
+
+check() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make test
+}
+
+package() {
+ cd "$srcdir/${pkgname}-${pkgver}"
+ make PREFIX="$pkgdir" 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.0-noasprintf.patch b/testing/logrotate/logrotate-3.8.0-noasprintf.patch
new file mode 100644
index 000000000..b9464e230
--- /dev/null
+++ b/testing/logrotate/logrotate-3.8.0-noasprintf.patch
@@ -0,0 +1,55 @@
+diff '--exclude-from=/home/dang/.scripts/diffrc' -up -ruN logrotate-3.8.0.orig/config.c logrotate-3.8.0/config.c
+--- 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 @@
+ #endif
+ #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
+-
+ enum {
+ STATE_DEFAULT = 2,
+ STATE_SKIP_LINE = 4,
+diff '--exclude-from=/home/dang/.scripts/diffrc' -up -ruN logrotate-3.8.0.orig/logrotate.h logrotate-3.8.0/logrotate.h
+--- 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..e8ab921ea
--- /dev/null
+++ b/testing/logrotate/logrotate.cron.daily
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/sbin/logrotate /etc/logrotate.conf