logrotate: Add new recipe for logrotate, courtesy of Colin Hill aka hillct. Closing...
authorMatthias Hentges <oe@hentges.net>
Sat, 24 Feb 2007 21:30:44 +0000 (21:30 +0000)
committerMatthias Hentges <oe@hentges.net>
Sat, 24 Feb 2007 21:30:44 +0000 (21:30 +0000)
packages/logrotate/.mtn2git_empty [new file with mode: 0644]
packages/logrotate/files/.mtn2git_empty [new file with mode: 0644]
packages/logrotate/files/logrotate-3.7.1.patch [new file with mode: 0644]
packages/logrotate/files/logrotate.conf [new file with mode: 0644]
packages/logrotate/logrotate_3.7.1.bb [new file with mode: 0644]

diff --git a/packages/logrotate/.mtn2git_empty b/packages/logrotate/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/logrotate/files/.mtn2git_empty b/packages/logrotate/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/logrotate/files/logrotate-3.7.1.patch b/packages/logrotate/files/logrotate-3.7.1.patch
new file mode 100644 (file)
index 0000000..e184977
--- /dev/null
@@ -0,0 +1,20 @@
+--- logrotate-3.7.1.old/Makefile       2007-02-17 17:41:04.000000000 +1100
++++ logrotate-3.7.1/Makefile   2007-02-17 17:40:38.000000000 +1100
+@@ -3,7 +3,7 @@
+ CVSTAG = r$(subst .,-,$(VERSION))
+ 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 -D_GNU_SOURCE -D$(OS_NAME) -DVERSION=\"$(VERSION)\" $(RPM_OPT_FLAGS) $(LFS)
+ PROG = logrotate
+ MAN = logrotate.8
+ LOADLIBES = -lpopt
+@@ -69,7 +69,7 @@
+ ifeq ($(RPM_OPT_FLAGS),)
+ CFLAGS += -g
+-LDFLAGS = -g
++LDFLAGS += -g
+ endif
+ ifeq (.depend,$(wildcard .depend))
diff --git a/packages/logrotate/files/logrotate.conf b/packages/logrotate/files/logrotate.conf
new file mode 100644 (file)
index 0000000..b370b39
--- /dev/null
@@ -0,0 +1,30 @@
+# see "man logrotate" for details
+# rotate log files weekly
+weekly
+
+# keep 4 weeks worth of backlogs
+rotate 4
+
+# create new (empty) log files after rotating old ones
+create
+
+# uncomment this if you want your log files compressed
+#compress
+
+# ipk packages should drop log rotation information into this directory
+include /etc/logrotate.d
+
+# no packages own wtmp -- we'll rotate them here
+/var/log/wtmp {
+    monthly
+    create 0664 root root
+    rotate 1
+}
+
+# /var/log/messages {
+#      rotate 5
+#      postrotate
+#              /bin/killall syslogd
+#              /bin/killall klogd
+#      endscript
+# }
diff --git a/packages/logrotate/logrotate_3.7.1.bb b/packages/logrotate/logrotate_3.7.1.bb
new file mode 100644 (file)
index 0000000..2697607
--- /dev/null
@@ -0,0 +1,39 @@
+DESCRIPTION = "Rotates, compresses, removes and mails system log files"
+HOMEPAGE = "http://packages.debian.org/unstable/admin/logrotate"
+RCONFLICTS = "logrotate-script"
+RRECOMMENDS = "gzip"
+DEPENDS = "popt"
+RDEPENDS = "cron"
+SECTION = "admin"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://ftp.debian.org/debian/pool/main/l/logrotate/logrotate_${PV}.orig.tar.gz \
+          file://logrotate-3.7.1.patch;patch=1 \
+           file://logrotate.conf"
+
+CFLAGS_prepend  += "-I${STAGING_INCDIR} "
+LDFLAGS_prepend += "-L${STAGING_LIBDIR} "
+EXTRA_OEMAKE    =  "-p"
+
+do_compile() {
+    oe_runmake
+}
+
+do_install () {
+    # Install the binary and conf file
+    install -D -s -m 0755 ${WORKDIR}/logrotate-${PV}/logrotate ${D}${base_sbindir}/logrotate
+    install -D -m 0644 ${WORKDIR}/logrotate.conf ${D}${sysconfdir}/logrotate.conf
+    install -m 0755 -d ${D}${sysconfdir}/logrotate.d
+}
+
+pkg_postinst () {
+    # Add the logrotate line to /etc/crontab
+    grep -q "/sbin/logrotate" ${sysconfdir}/crontab || echo "*/5 * * * *   /sbin/logrotate /etc/logrotate.conf" >> ${sysconfdir}/crontab
+}
+
+pkg_postrm() {
+    # Remove the logrotate line from /etc/crontab
+    grep -v /sbin/logrotate ${sysconfdir}/crontab > ${sysconfdir}/crontab.no-${PF}
+    mv ${sysconfdir}/crontab.no-${PF} ${sysconfdir}/crontab
+}