commit:     0cb2e1a56954a0ae8621953eb95584c999617e5d
Author:     José María Alonso Josa <nimiux <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 20:01:19 2016 +0000
Commit:     José María Alonso <nimiux <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 20:01:55 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0cb2e1a5

app-admin/logrotate: bump to version 3.9.2

Package-Manager: portage-2.2.26

 app-admin/logrotate/Manifest                       |  1 +
 .../logrotate/files/logrotate-3.9.2-Werror.patch   | 12 ++++
 .../files/logrotate-3.9.2-atomic-create.patch      | 42 +++++++++++
 .../logrotate/files/logrotate-3.9.2-fbsd.patch     | 57 +++++++++++++++
 .../files/logrotate-3.9.2-ignore-hidden.patch      | 15 ++++
 .../logrotate/files/logrotate-3.9.2-lfs.patch      | 12 ++++
 .../files/logrotate-3.9.2-noasprintf.patch         | 55 ++++++++++++++
 app-admin/logrotate/logrotate-3.9.2.ebuild         | 83 ++++++++++++++++++++++
 8 files changed, 277 insertions(+)

diff --git a/app-admin/logrotate/Manifest b/app-admin/logrotate/Manifest
index 25d4efc..eae536b 100644
--- a/app-admin/logrotate/Manifest
+++ b/app-admin/logrotate/Manifest
@@ -1,2 +1,3 @@
+DIST 3.9.2.tar.gz 80711 SHA256 
2de00c65e23fa9d7909cae6594e550b9abe9a7eb1553669ddeaca92d30f97009 SHA512 
62c84a98ec3373562a5c0ab0abd68e33620787cbbafbcf442cb5c7bdc1a41a7f673ee5dabc5f905ad4dd3fffebcbee0dab2ea8698f20de04cc13950212aaab33
 WHIRLPOOL 
b77338f2cc88e6bd03310cea40c26cd4d890238455b4d9507f64a3f8de1006bf98e0d3b783f6536da963f3d695ab604ab3f9bb0e6aa1ae9575005a665b497ec1
 DIST logrotate-3.8.9.tar.gz 77408 SHA256 
700ed7ce9072a1cca324779a74797dfaefdae37ac50a817134b947c4ded1dfa7 SHA512 
342533f321a1d77c0ca389fd0a393377ba73f10654aae163cbd35f8d5df25673f1aa6e44d0af42be5419d152a7dae11024d9005076bce0a3b3dad1f0e12b9c0d
 WHIRLPOOL 
005621b5dc7f6954e505876eece76e3adf03b9b89b724e5c28b845c8af3ebb8e978d20e3a82c8a503c32bfd8758517625207e23518d6d08068e237c22fe7212d
 DIST logrotate-3.9.1.tar.gz 79061 SHA256 
022769e3288c80981559a8421703c88e8438b447235e36dd3c8e97cd94c52545 SHA512 
e6da7c7f067befaf2441e9c6ce77e53cf5ddb4f56cc3304c3e50873b6f20c68520f4a0e50ec466cbebcbed20bfd77bf6dfc489975a8131e9573fb19856c0fe28
 WHIRLPOOL 
9b3558bb03c6c95f8f386ea75ca09bfda802ae4c45b9ef8408692e3aa7a2ee57447cf15ce04d0289946b9cae2266acb5509d8151d15ac6ea0ad9113aeb32dc17

diff --git a/app-admin/logrotate/files/logrotate-3.9.2-Werror.patch 
b/app-admin/logrotate/files/logrotate-3.9.2-Werror.patch
new file mode 100644
index 0000000..659a66c
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.2-Werror.patch
@@ -0,0 +1,12 @@
+diff -Nuar a/Makefile.am b/Makefile.am
+--- a/Makefile.am      2016-01-20 10:47:36.000000000 +0100
++++ b/Makefile.am      2016-01-25 20:04:28.270050499 +0100
+@@ -1,7 +1,7 @@
+ MAN = logrotate.8
+ MAN5 = logrotate.conf.5
+ 
+-AM_CFLAGS = -Wall -Werror
++AM_CFLAGS = -Wall
+ sbin_PROGRAMS = logrotate
+ logrotate_SOURCES = logrotate.c log.c config.c basenames.c
+ 

diff --git a/app-admin/logrotate/files/logrotate-3.9.2-atomic-create.patch 
b/app-admin/logrotate/files/logrotate-3.9.2-atomic-create.patch
new file mode 100644
index 0000000..3914e65
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.2-atomic-create.patch
@@ -0,0 +1,42 @@
+diff -Nuar a/logrotate.c b/logrotate.c
+--- a/logrotate.c      2016-01-25 19:55:46.740039999 +0100
++++ b/logrotate.c      2016-01-25 20:03:15.290049030 +0100
+@@ -367,15 +367,18 @@
+ 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];
++    mode_t umask_value;
++    snprintf(template, PATH_MAX, "%s/logrotate_temp.XXXXXX", 
ourDirName(fileName));
++    umask_value = umask(0000);
++    fd = mkostemp(template, (flags | O_EXCL | O_NOFOLLOW));
++    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)) {
+@@ -425,6 +428,12 @@
+               return -1;
+               }
+       }
++    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.9.2-fbsd.patch 
b/app-admin/logrotate/files/logrotate-3.9.2-fbsd.patch
new file mode 100644
index 0000000..5f60596
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.2-fbsd.patch
@@ -0,0 +1,57 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2016-01-25 19:50:48.840034001 +0100
++++ b/config.c 2016-01-25 19:54:37.170038598 +0100
+@@ -1,6 +1,6 @@
+ #include "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      2016-01-20 10:47:36.000000000 +0100
++++ b/logrotate.c      2016-01-25 19:55:46.740039999 +0100
+@@ -1,6 +1,6 @@
+ #include "queue.h"
+ /* alloca() is defined in stdlib.h in NetBSD */
+-#ifndef __NetBSD__
++#if !defined(__NetBSD__) && !defined(__FreeBSD__)
+ #include <alloca.h>
+ #endif
+ #include <limits.h>
+@@ -26,6 +26,10 @@
+ #include <limits.h>
+ #endif
+ 
++#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 2016-01-20 10:47:36.000000000 +0100
++++ b/Makefile 2016-01-25 19:56:43.380041139 +0100
+@@ -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.9.2-ignore-hidden.patch 
b/app-admin/logrotate/files/logrotate-3.9.2-ignore-hidden.patch
new file mode 100644
index 0000000..df1ed8d
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.2-ignore-hidden.patch
@@ -0,0 +1,15 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2016-01-20 10:47:36.000000000 +0100
++++ b/config.c 2016-01-25 19:50:48.840034001 +0100
+@@ -359,7 +359,10 @@
+       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.9.2-lfs.patch 
b/app-admin/logrotate/files/logrotate-3.9.2-lfs.patch
new file mode 100644
index 0000000..66ea73f
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.2-lfs.patch
@@ -0,0 +1,12 @@
+diff -Nuar a/configure.ac b/configure.ac
+--- a/configure.ac     2016-01-20 10:47:36.000000000 +0100
++++ b/configure.ac     2016-01-25 20:05:49.310052130 +0100
+@@ -10,6 +10,8 @@
+ AC_STRUCT_ST_BLKSIZE
+ AC_STRUCT_ST_BLOCKS
+ 
++AC_SYS_LARGEFILE
++
+ AC_CHECK_LIB([popt],[poptParseArgvString],,
+   AC_MSG_ERROR([libpopt required but not found]))
+ 

diff --git a/app-admin/logrotate/files/logrotate-3.9.2-noasprintf.patch 
b/app-admin/logrotate/files/logrotate-3.9.2-noasprintf.patch
new file mode 100644
index 0000000..f9e0769
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.2-noasprintf.patch
@@ -0,0 +1,55 @@
+diff -Nuar a/config.c b/config.c
+--- a/config.c 2016-01-25 19:54:37.170038598 +0100
++++ b/config.c 2016-01-25 19:58:56.040043810 +0100
+@@ -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      2016-01-20 10:47:36.000000000 +0100
++++ b/logrotate.h      2016-01-25 19:59:39.760044690 +0100
+@@ -80,8 +80,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.9.2.ebuild 
b/app-admin/logrotate/logrotate-3.9.2.ebuild
new file mode 100644
index 0000000..25550cc
--- /dev/null
+++ b/app-admin/logrotate/logrotate-3.9.2.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="Rotates, compresses, and mails system logs"
+HOMEPAGE="https://fedorahosted.org/logrotate/";
+SRC_URI="https://github.com/logrotate/logrotate/archive/${PV}.tar.gz";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="acl +cron selinux"
+
+CDEPEND="
+       >=dev-libs/popt-1.5
+       selinux? (
+               sys-libs/libselinux
+       )
+       acl? ( virtual/acl )"
+
+DEPEND="${CDEPEND}
+       >=sys-apps/sed-4"
+
+RDEPEND="${CDEPEND}
+       selinux? ( sec-policy/selinux-logrotate )
+       cron? ( virtual/cron )"
+
+install_cron_file() {
+       exeinto /etc/cron.daily
+       newexe "${S}"/examples/logrotate.cron "${PN}"
+}
+
+src_prepare() {
+       epatch \
+               "${FILESDIR}"/${P}-ignore-hidden.patch \
+               "${FILESDIR}"/${P}-fbsd.patch \
+               "${FILESDIR}"/${P}-noasprintf.patch \
+               "${FILESDIR}"/${P}-atomic-create.patch \
+               "${FILESDIR}"/${P}-Werror.patch \
+               "${FILESDIR}"/${P}-lfs.patch
+       eautoreconf
+}
+
+src_configure() {
+       econf $(use_with acl) $(use_with selinux)
+}
+
+src_compile() {
+       emake ${myconf} RPM_OPT_FLAGS="${CFLAGS}"
+}
+
+src_test() {
+       emake test
+}
+
+src_install() {
+       insinto /usr
+       dosbin logrotate
+       doman logrotate.8
+       dodoc CHANGES examples/logrotate*
+
+       insinto /etc
+       doins "${FILESDIR}"/logrotate.conf
+
+       use cron && install_cron_file
+
+       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
+}

Reply via email to