summaryrefslogtreecommitdiff
blob: a1410bc80e7a962ce293870f0475da32d1c2a833 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

inherit user

DESCRIPTION="base for all cron ebuilds"
HOMEPAGE="https://www.gentoo.org/"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd"
IUSE=""

pkg_setup() {
	enewgroup cron 16
	enewuser cron 16 -1 /var/spool/cron cron
}

src_install() {
	newsbin "${FILESDIR}"/run-crons-${PV} run-crons || die

	diropts -m0750; keepdir /etc/cron.hourly
	diropts -m0750; keepdir /etc/cron.daily
	diropts -m0750; keepdir /etc/cron.weekly
	diropts -m0750; keepdir /etc/cron.monthly

	diropts -m0750 -o root -g cron; keepdir /var/spool/cron

	diropts -m0750; keepdir /var/spool/cron/lastrun
}

pkg_postinst() {
	#Portage doesn't enforce proper permissions on already existing"
	#directories (bug 141619).
	echo
	elog "Forcing proper permissions on"
	elog "${ROOT}etc/cron.{hourly,daily,weekly,monthly},"
	elog "${ROOT}var/spool/cron/ and ${ROOT}var/spool/cron/lastrun/"
	echo
	chmod 0750 "${ROOT}"etc/cron.{hourly,daily,weekly,monthly} \
		|| die "chmod failed"
	chmod 0750 "${ROOT}"var/spool/{cron,cron/lastrun} || die "chmod failed"
	chown root:cron "${ROOT}var/spool/cron" || die "chown failed"
}