diff options
author | José María Alonso Josa <nimiux@gentoo.org> | 2016-01-25 21:01:19 +0100 |
---|---|---|
committer | José María Alonso Josa <nimiux@gentoo.org> | 2016-01-25 21:01:55 +0100 |
commit | 0cb2e1a56954a0ae8621953eb95584c999617e5d (patch) | |
tree | 1efcacab3bdad0e88a40dd7360154c19723702c5 /app-admin/logrotate | |
parent | embassy.eclass: Drop obsolete eclass (diff) | |
download | gentoo-0cb2e1a56954a0ae8621953eb95584c999617e5d.tar.gz gentoo-0cb2e1a56954a0ae8621953eb95584c999617e5d.tar.bz2 gentoo-0cb2e1a56954a0ae8621953eb95584c999617e5d.zip |
app-admin/logrotate: bump to version 3.9.2
Package-Manager: portage-2.2.26
Diffstat (limited to 'app-admin/logrotate')
-rw-r--r-- | app-admin/logrotate/Manifest | 1 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.9.2-Werror.patch | 12 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.9.2-atomic-create.patch | 42 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.9.2-fbsd.patch | 57 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.9.2-ignore-hidden.patch | 15 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.9.2-lfs.patch | 12 | ||||
-rw-r--r-- | app-admin/logrotate/files/logrotate-3.9.2-noasprintf.patch | 55 | ||||
-rw-r--r-- | app-admin/logrotate/logrotate-3.9.2.ebuild | 83 |
8 files changed, 277 insertions, 0 deletions
diff --git a/app-admin/logrotate/Manifest b/app-admin/logrotate/Manifest index 25d4efc6ab46..eae536b65803 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 000000000000..659a66c0483e --- /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 000000000000..3914e65608ed --- /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 000000000000..5f6059628d42 --- /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 000000000000..df1ed8de5641 --- /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 000000000000..66ea73fd0def --- /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 000000000000..f9e076957169 --- /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 000000000000..25550cc6d004 --- /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 +} |