forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-admin/logrotate: Adds temporary directory for systemd
Gentoo-Bug: 357275 Package-Manager: Portage-2.3.8, Repoman-2.3.3
- Loading branch information
Chema Alonso Josa
committed
Oct 4, 2017
1 parent
01d14e2
commit 23207c9
Showing
2 changed files
with
96 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d /var/lib/misc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
# Copyright 1999-2017 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
inherit systemd | ||
|
||
DESCRIPTION="Rotates, compresses, and mails system logs" | ||
HOMEPAGE="https://github.com/logrotate/logrotate" | ||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz -> ${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 )" | ||
|
||
STATEFILE="/var/lib/misc/logrotate.status" | ||
OLDSTATEFILE="/var/lib/logrotate.status" | ||
|
||
move_old_state_file() { | ||
elog "logrotate state file is now located at ${STATEFILE}" | ||
elog "See bug #357275" | ||
if [[ -e "${OLDSTATEFILE}" ]] ; then | ||
elog "Moving your current state file to new location: ${STATEFILE}" | ||
mv -n "${OLDSTATEFILE}" "${STATEFILE}" | ||
fi | ||
} | ||
|
||
install_cron_file() { | ||
exeinto /etc/cron.daily | ||
newexe "${S}"/examples/logrotate.cron "${PN}" | ||
} | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${P}-ignore-hidden.patch" | ||
"${FILESDIR}/${P}-fbsd.patch" | ||
) | ||
|
||
src_prepare() { | ||
default | ||
sed -i -e 's#/usr/sbin/logrotate#/usr/bin/logrotate#' "${S}"/examples/logrotate.{cron,service} || die | ||
} | ||
|
||
src_configure() { | ||
econf $(use_with acl) $(use_with selinux) --with-state-file-path="${STATEFILE}" | ||
} | ||
|
||
src_test() { | ||
emake test | ||
} | ||
|
||
src_install() { | ||
insinto /usr | ||
dobin logrotate | ||
doman logrotate.8 | ||
dodoc ChangeLog.md examples/logrotate-default | ||
|
||
insinto /etc | ||
doins "${FILESDIR}"/logrotate.conf | ||
|
||
use cron && install_cron_file | ||
|
||
systemd_dounit examples/logrotate.{service,timer} | ||
systemd_newtmpfilesd "${FILESDIR}/${PN}.tmpfiles" "${PN}".conf | ||
|
||
keepdir /etc/logrotate.d | ||
} | ||
|
||
pkg_postinst() { | ||
elog "The ${PN} binary is now installed under /usr/bin. Please" | ||
elog "update your links" | ||
elog | ||
move_old_state_file | ||
elog | ||
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 | ||
} |