diff options
author | José María Alonso <nimiux@gentoo.org> | 2013-10-26 16:27:42 +0000 |
---|---|---|
committer | José María Alonso <nimiux@gentoo.org> | 2013-10-26 16:27:42 +0000 |
commit | 44a446918979d3d6c16c6db4f9eaeb395fa6bac1 (patch) | |
tree | d322bce5e5ec5a95aba16de3948cd29a7f94bfe5 | |
parent | app-misc/colordiff: Add missing dep on perl, #489474 (diff) | |
download | gentoo-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/ChangeLog | 11 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.8.7-atomic-create.patch | 45 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.8.7-datehack.patch | 12 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.8.7-fbsd.patch | 57 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.8.7-ignore-hidden.patch | 14 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.8.7-noasprintf.patch | 55 | ||||
-rw-r--r-- | app-admin/logrotate/logrotate-3.8.7.ebuild | 70 |
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 +} |