Logrotate formula

The logrotate utility is designed to simplify the administration of log files
on a system which generates a lot of log files. Logrotate allows for the
automatic rotation compression, removal and mailing of log files. Logrotate
can be set to handle a log file daily, weekly, monthly or when the log file
gets to a certain size. Normally, logrotate runs as a daily cron job.

The package is not buildable on Darwin without including an additional
header, nor is it installable without teaching the Makefile what INSTALL
is on Darwin.

Signed-off-by: Max Howell <max@methylblue.com>

I made a number of modifications, including comma separating the make call so
that the prefix doesn't need to be escaped if it has spaces in it.

Also setting LDFLAGS to /usr/local/lib is done in brewkit.rb already. The
POPT_DIR var shouldn't be necessary either, but I haven't tested that yet.
This commit is contained in:
Brian Smyth 2009-09-09 12:08:32 -04:00 committed by Max Howell
parent 0f59c8c8ea
commit 14037f255d

85
Formula/logrotate.rb Normal file
View file

@ -0,0 +1,85 @@
require 'brewkit'
class Logrotate <Formula
@url='http://ftp.de.debian.org/debian/pool/main/l/logrotate/logrotate_3.7.8.orig.tar.gz'
@homepage='http://packages.debian.org/testing/admin/logrotate'
@md5='b3589bea6d8d5afc8a84134fddaae973'
def deps
LibraryDep.new 'popt'
end
def patches
# these patches emerge from the logrotate patch. Recursively nice!
debian_patches=['configparse.patch',
'datehack.patch',
'compressutime.patch',
'man-startcount.patch',
'dst.patch',
'dateext-504079.patch',
'rh-toolarge.patch',
'rh-curdir2.patch',
'copyloginfo-512152.patch',
'sharedscripts-519432.patch',
'chown-484762.patch',
'create-388608.patch',
'nofollow.patch',
'security-388608.patch'].collect {|p| "debian/patches/#{p}"}
{
:p1 => [DATA,
"http://ftp.de.debian.org/debian/pool/main/l/logrotate/logrotate_3.7.8-4.diff.gz",
*debian_patches]
}
end
def install
system "make"
system "make", "install", "BASEDIR=#{prefix}"
end
end
__END__
diff --git a/config.c b/config.c
index 4e650f1..be7905a 100644
--- a/config.c
+++ b/config.c
@@ -12,6 +12,7 @@
#include <stdlib.h>
#include <string.h>
#include <sys/stat.h>
+#include <sys/syslimits.h>
#include <time.h>
#include <unistd.h>
#include <assert.h>
diff --git a/logrotate.c b/logrotate.c
index 6427465..f0614a8 100644
--- a/logrotate.c
+++ b/logrotate.c
@@ -10,6 +10,7 @@
#include <string.h>
#include <sys/stat.h>
#include <sys/wait.h>
+#include <sys/syslimits.h>
#include <time.h>
#include <unistd.h>
#include <glob.h>
diff --git a/Makefile b/Makefile
index f110ab5..8e17dea 100644
--- a/Makefile
+++ b/Makefile
@@ -45,6 +45,14 @@ ifeq ($(OS_NAME),SunOS)
endif
endif
+# Darwin
+ifeq ($(OS_NAME),Darwin)
+ INSTALL = install
+ ifeq ($(BASEDIR),)
+ BASEDIR = /usr/local
+ endif
+endif
+
# Red Hat Linux
ifeq ($(OS_NAME),Linux)
INSTALL = install