summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2015-09-11 23:39:15 -0400
committerMike Frysinger <vapier@gentoo.org>2015-09-11 23:40:45 -0400
commitc33b760cccb8a4167f6ea3c02cb0d7756125e8c3 (patch)
treeefb3a17a0a51afca30b682bb311859542bbef3b3 /app-admin/logrotate
parentprofiles: Temporarily mask x11-misc/slim[consolekit] (diff)
downloadgentoo-c33b760cccb8a4167f6ea3c02cb0d7756125e8c3.tar.gz
gentoo-c33b760cccb8a4167f6ea3c02cb0d7756125e8c3.tar.bz2
gentoo-c33b760cccb8a4167f6ea3c02cb0d7756125e8c3.zip
app-admin/logrotate: add LFS support #559572
This way we properly handle 2GiB+ log files.
Diffstat (limited to 'app-admin/logrotate')
-rw-r--r--app-admin/logrotate/files/logrotate-3.9.1-lfs.patch15
-rw-r--r--app-admin/logrotate/logrotate-3.9.1-r1.ebuild83
2 files changed, 98 insertions, 0 deletions
diff --git a/app-admin/logrotate/files/logrotate-3.9.1-lfs.patch b/app-admin/logrotate/files/logrotate-3.9.1-lfs.patch
new file mode 100644
index 000000000000..57449d0f657b
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.9.1-lfs.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/559572
+
+make sure we can handle large files properly (like log files over 2GiB)
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -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/logrotate-3.9.1-r1.ebuild b/app-admin/logrotate/logrotate-3.9.1-r1.ebuild
new file mode 100644
index 000000000000..44e64376a2d3
--- /dev/null
+++ b/app-admin/logrotate/logrotate-3.9.1-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2015 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://fedorahosted.org/releases/l/o/logrotate/${P}.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
+}