summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosé María Alonso <nimiux@gentoo.org>2013-10-26 16:27:42 +0000
committerJosé María Alonso <nimiux@gentoo.org>2013-10-26 16:27:42 +0000
commit44a446918979d3d6c16c6db4f9eaeb395fa6bac1 (patch)
treed322bce5e5ec5a95aba16de3948cd29a7f94bfe5
parentapp-misc/colordiff: Add missing dep on perl, #489474 (diff)
downloadgentoo-2-44a446918979d3d6c16c6db4f9eaeb395fa6bac1.tar.gz
gentoo-2-44a446918979d3d6c16c6db4f9eaeb395fa6bac1.tar.bz2
gentoo-2-44a446918979d3d6c16c6db4f9eaeb395fa6bac1.zip
Version bump
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key D628E536)
-rw-r--r--app-admin/logrotate/ChangeLog11
-rw-r--r--app-admin/logrotate/files/logrotate-3.8.7-atomic-create.patch45
-rw-r--r--app-admin/logrotate/files/logrotate-3.8.7-datehack.patch12
-rw-r--r--app-admin/logrotate/files/logrotate-3.8.7-fbsd.patch57
-rw-r--r--app-admin/logrotate/files/logrotate-3.8.7-ignore-hidden.patch14
-rw-r--r--app-admin/logrotate/files/logrotate-3.8.7-noasprintf.patch55
-rw-r--r--app-admin/logrotate/logrotate-3.8.7.ebuild70
7 files changed, 263 insertions, 1 deletions
diff --git a/app-admin/logrotate/ChangeLog b/app-admin/logrotate/ChangeLog
index 353f91304b2d..56c5bde9f742 100644
--- a/app-admin/logrotate/ChangeLog
+++ b/app-admin/logrotate/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for app-admin/logrotate
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/ChangeLog,v 1.159 2013/10/02 02:37:51 jer Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/ChangeLog,v 1.160 2013/10/26 16:27:42 nimiux Exp $
+
+*logrotate-3.8.7 (26 Oct 2013)
+
+ 26 Oct 2013; Chema Alonso <nimiux@gentoo.org> +logrotate-3.8.7.ebuild,
+ +files/logrotate-3.8.7-atomic-create.patch,
+ +files/logrotate-3.8.7-datehack.patch, +files/logrotate-3.8.7-fbsd.patch,
+ +files/logrotate-3.8.7-ignore-hidden.patch,
+ +files/logrotate-3.8.7-noasprintf.patch:
+ Version bump
02 Oct 2013; Jeroen Roovers <jer@gentoo.org> logrotate-3.8.6.ebuild:
Stable for HPPA (bug #485886).
diff --git a/app-admin/logrotate/files/logrotate-3.8.7-atomic-create.patch b/app-admin/logrotate/files/logrotate-3.8.7-atomic-create.patch
new file mode 100644
index 000000000000..c5f1979ebb70
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.8.7-atomic-create.patch
@@ -0,0 +1,45 @@
+diff -Nuar a/logrotate.c b/logrotate.c
+--- a/logrotate.c 2013-10-26 18:07:54.809999410 +0200
++++ b/logrotate.c 2013-10-26 18:16:08.539999396 +0200
+@@ -304,15 +304,20 @@
+ int createOutputFile(char *fileName, int flags, struct stat *sb, acl_type acl, int force_mode)
+ {
+ int fd;
+- struct stat sb_create;
+- int acl_set = 0;
+-
+- fd = open(fileName, (flags | O_EXCL | O_NOFOLLOW),
+- (S_IRUSR | S_IWUSR) & sb->st_mode);
++ int acl_set = 0;
++ struct stat sb_create;
++ char template[PATH_MAX + 1];
++ char *fname;
++ mode_t umask_value;
++ snprintf(template, PATH_MAX, "%s/logrotate_temp.XXXXXX", ourDirName(fileName));
++ umask_value = umask(0000);
++ fname = mktemp(template);
++ fd = open(fname, (flags | O_EXCL | O_NOFOLLOW), (S_IRUSR | S_IWUSR) & sb->st_mode);
++ umask(umask_value);
+
+ if (fd < 0) {
+- message(MESS_ERROR, "error creating output file %s: %s\n",
+- fileName, strerror(errno));
++ message(MESS_ERROR, "error creating unique temp file: %s\n",
++ strerror(errno));
+ return -1;
+ }
+ if (fchmod(fd, (S_IRUSR | S_IWUSR) & sb->st_mode)) {
+@@ -363,6 +368,13 @@
+ }
+ }
+
++ if (rename(template, fileName)) {
++ message(MESS_ERROR, "error renaming temp file to %s: %s\n",
++ fileName, strerror(errno));
++ close(fd);
++ return -1;
++ }
++
+ return fd;
+ }
+
diff --git a/app-admin/logrotate/files/logrotate-3.8.7-datehack.patch b/app-admin/logrotate/files/logrotate-3.8.7-datehack.patch
new file mode 100644
index 000000000000..7cb11734e304
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.8.7-datehack.patch
@@ -0,0 +1,12 @@
+diff -Nuar a/logrotate.c b/logrotate.c
+--- a/logrotate.c 2013-10-10 10:43:36.000000000 +0200
++++ b/logrotate.c 2013-10-26 17:56:06.549999428 +0200
+@@ -2046,7 +2046,7 @@
+ }
+
+ /* Hack to hide earlier bug */
+- if ((year != 1900) && (year < 1996 || year > 2100)) {
++ if ((year != 1900) && (year < 1970 || year > 2100)) {
+ message(MESS_ERROR,
+ "bad year %d for file %s in state file %s\n", year,
+ argv[0], stateFilename);
diff --git a/app-admin/logrotate/files/logrotate-3.8.7-fbsd.patch b/app-admin/logrotate/files/logrotate-3.8.7-fbsd.patch
new file mode 100644
index 000000000000..345f46cd53fd
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.8.7-fbsd.patch
@@ -0,0 +1,57 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2013-10-26 18:05:54.729999413 +0200
++++ b/config.c 2013-10-26 18:07:19.179999410 +0200
+@@ -1,6 +1,6 @@
+ #include <sys/queue.h>
+ /* Alloca is defined in stdlib.h in NetBSD */
+-#ifndef __NetBSD__
++#if !defined(__NetBSD__) && !defined(__FreeBSD__)
+ #include <alloca.h>
+ #endif
+ #include <limits.h>
+@@ -24,6 +24,10 @@
+ #include <fnmatch.h>
+ #include <sys/mman.h>
+
++#if !defined(PATH_MAX) && defined(__FreeBSD__)
++#include <sys/param.h>
++#endif
++
+ #include "basenames.h"
+ #include "log.h"
+ #include "logrotate.h"
+diff -Nuar a/logrotate.c b/logrotate.c
+--- a/logrotate.c 2013-10-26 18:05:29.789999413 +0200
++++ b/logrotate.c 2013-10-26 18:07:54.809999410 +0200
+@@ -1,6 +1,6 @@
+ #include <sys/queue.h>
+ /* alloca() is defined in stdlib.h in NetBSD */
+-#ifndef __NetBSD__
++#if !defined(__NetBSD__) && !defined(__FreeBSD__)
+ #include <alloca.h>
+ #endif
+ #include <limits.h>
+@@ -43,6 +43,10 @@
+
+ static acl_type prev_acl = NULL;
+
++#if !defined(PATH_MAX) && defined(__FreeBSD__)
++#include <sys/param.h>
++#endif
++
+ #include "basenames.h"
+ #include "log.h"
+ #include "logrotate.h"
+diff -Nuar a/Makefile b/Makefile
+--- a/Makefile 2013-06-10 13:29:16.000000000 +0200
++++ b/Makefile 2013-10-26 18:06:42.569999411 +0200
+@@ -22,7 +22,9 @@
+
+ ifeq ($(WITH_ACL),yes)
+ CFLAGS += -DWITH_ACL
++ifneq ($(OS_NAME),FreeBSD)
+ LOADLIBES += -lacl
++endif
+ # See pretest
+ TEST_ACL=1
+ else
diff --git a/app-admin/logrotate/files/logrotate-3.8.7-ignore-hidden.patch b/app-admin/logrotate/files/logrotate-3.8.7-ignore-hidden.patch
new file mode 100644
index 000000000000..c12e66a829c2
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.8.7-ignore-hidden.patch
@@ -0,0 +1,14 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2013-07-31 13:34:31.000000000 +0200
++++ b/config.c 2013-10-26 17:57:58.309999425 +0200
+@@ -255,7 +255,9 @@
+ char *pattern;
+
+ /* Check if fname is '.' or '..'; if so, return false */
+- if (fname[0] == '.' && (!fname[1] || (fname[1] == '.' && !fname[2])))
++ /* Don't include 'hidden' files either; this breaks Gentoo
++ portage config file management http://bugs.gentoo.org/87683 */
++ if (fname[0] == '.')
+ return 0;
+
+ /* Check if fname is ending in a taboo-extension; if so, return false */
diff --git a/app-admin/logrotate/files/logrotate-3.8.7-noasprintf.patch b/app-admin/logrotate/files/logrotate-3.8.7-noasprintf.patch
new file mode 100644
index 000000000000..53ce5a0f2c94
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.8.7-noasprintf.patch
@@ -0,0 +1,55 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2013-10-26 18:07:19.179999410 +0200
++++ b/config.c 2013-10-26 18:12:21.599999402 +0200
+@@ -49,39 +49,6 @@
+ #include "asprintf.c"
+ #endif
+
+-#if !defined(asprintf) && !defined(_FORTIFY_SOURCE)
+-#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)
+ {
+diff -Nuar a/logrotate.h b/logrotate.h
+--- a/logrotate.h 2013-06-10 13:29:16.000000000 +0200
++++ b/logrotate.h 2013-10-26 18:12:37.429999402 +0200
+@@ -67,8 +67,5 @@
+ extern int debug;
+
+ int readAllConfigPaths(const char **paths);
+-#if !defined(asprintf) && !defined(_FORTIFY_SOURCE)
+-int asprintf(char **string_ptr, const char *format, ...);
+-#endif
+
+ #endif
diff --git a/app-admin/logrotate/logrotate-3.8.7.ebuild b/app-admin/logrotate/logrotate-3.8.7.ebuild
new file mode 100644
index 000000000000..f5105ce28280
--- /dev/null
+++ b/app-admin/logrotate/logrotate-3.8.7.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/logrotate/logrotate-3.8.7.ebuild,v 1.1 2013/10/26 16:27:42 nimiux Exp $
+
+EAPI=5
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="Rotates, compresses, and mails system logs"
+HOMEPAGE="https://fedorahosted.org/logrotate/"
+SRC_URI="https://fedorahosted.org/releases/l/o/logrotate/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acl selinux"
+
+RDEPEND="
+ >=dev-libs/popt-1.5
+ selinux? (
+ sys-libs/libselinux
+ sec-policy/selinux-logrotate
+ )
+ acl? ( virtual/acl )"
+
+DEPEND="${RDEPEND}
+ >=sys-apps/sed-4"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-datehack.patch \
+ "${FILESDIR}"/${P}-ignore-hidden.patch \
+ "${FILESDIR}"/${P}-fbsd.patch \
+ "${FILESDIR}"/${P}-noasprintf.patch \
+ "${FILESDIR}"/${P}-atomic-create.patch
+}
+
+src_compile() {
+ local myconf
+ myconf="CC=$(tc-getCC)"
+ use selinux && myconf="${myconf} WITH_SELINUX=yes"
+ use acl && myconf="${myconf} WITH_ACL=yes"
+ emake ${myconf} RPM_OPT_FLAGS="${CFLAGS}"
+}
+
+src_install() {
+ insinto /usr
+ dosbin logrotate
+ doman logrotate.8
+ dodoc CHANGES examples/logrotate*
+
+ exeinto /etc/cron.daily
+ newexe "${S}"/examples/logrotate.cron "${PN}"
+
+ insinto /etc
+ doins "${FILESDIR}"/logrotate.conf
+
+ keepdir /etc/logrotate.d
+}
+
+pkg_postinst() {
+ if [[ -z ${REPLACING_VERSIONS} ]] ; then
+ elog "If you wish to have logrotate e-mail you updates, please"
+ elog "emerge virtual/mailx and configure logrotate in"
+ elog "/etc/logrotate.conf appropriately"
+ elog
+ elog "Additionally, /etc/logrotate.conf may need to be modified"
+ elog "for your particular needs. See man logrotate for details."
+ fi
+}