summaryrefslogtreecommitdiff
path: root/eclass/cron.eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-03-18 00:29:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-03-18 00:29:05 +0000
commit467e2131896a3030032cd5b0fab2094a045bf9d0 (patch)
tree534578ca7ef61b3eb30fee861db78c0ae58e2fa6 /eclass/cron.eclass
parent1f254b1ee917690b4f8f7738fdcfc295ee304ff7 (diff)
gentoo auto-resync : 18:03:2023 - 00:29:05
Diffstat (limited to 'eclass/cron.eclass')
-rw-r--r--eclass/cron.eclass85
1 files changed, 41 insertions, 44 deletions
diff --git a/eclass/cron.eclass b/eclass/cron.eclass
index 3198c181f21b..c185c0eaa032 100644
--- a/eclass/cron.eclass
+++ b/eclass/cron.eclass
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cron.eclass
@@ -6,11 +6,11 @@
# maintainer-needed@gentoo.org
# @AUTHOR:
# Original Author: Aaron Walker <ka0ttic@gentoo.org>
-# @SUPPORTED_EAPIS: 6 7
+# @SUPPORTED_EAPIS: 7 8
# @BLURB: Some functions for cron
# @DESCRIPTION:
# Purpose: The main motivation for this eclass was to simplify
-# the jungle known as src_install() in cron ebuilds. Using these
+# the jungle known as src_install() in cron ebuilds. Using these
# functions also ensures that permissions are *always* reset,
# preventing the accidental installation of files with wrong perms.
#
@@ -18,26 +18,23 @@
# chosen based on the most common setting among cron ebuilds.
case ${EAPI} in
- [67]) inherit eutils ;;
- *) die "EAPI=${EAPI:-0} is not supported" ;;
+ 7|8) ;;
+ *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;;
esac
-inherit flag-o-matic
-
-EXPORT_FUNCTIONS pkg_postinst
-
if [[ -z ${_CRON_ECLASS} ]]; then
_CRON_ECLASS=1
-SLOT="0"
+inherit flag-o-matic
RDEPEND=">=sys-process/cronbase-0.3.2"
-for pn in vixie-cron bcron cronie dcron fcron; do
- [[ ${pn} == "${PN}" ]] || RDEPEND="${RDEPEND} !sys-process/${pn}"
+for pn in bcron cronie dcron fcron; do
+ [[ ${pn} == "${PN}" ]] || RDEPEND+=" !sys-process/${pn}"
done
+unset pn
# @FUNCTION: docrondir
-# @USAGE: [ dir ] [ perms ]
+# @USAGE: [dir] [perms]
# @DESCRIPTION:
# Creates crontab directory
#
@@ -49,12 +46,13 @@ done
# docrondir -m0700 (uses default dir)
docrondir() {
# defaults
- local perms="-m0750 -o 0 -g cron" dir="/var/spool/cron/crontabs"
+ local perms="-m0750 -o 0 -g cron"
+ local dir="/var/spool/cron/crontabs"
if [[ -n $1 ]] ; then
- case "$1" in
+ case $1 in
*/*)
- dir=$1
+ dir="$1"
shift
[[ -n $1 ]] && perms="$@"
;;
@@ -64,15 +62,14 @@ docrondir() {
esac
fi
- diropts ${perms}
- keepdir ${dir}
-
- # reset perms to default
- diropts -m0755
+ (
+ diropts ${perms}
+ keepdir ${dir}
+ )
}
# @FUNCTION: docron
-# @USAGE: [ exe ] [ perms ]
+# @USAGE: [exe] [perms]
# @DESCRIPTION:
# Install cron executable
#
@@ -81,40 +78,41 @@ docrondir() {
# ex: docron -m 0700 -o 0 -g root ('exe' defaults to "cron")
# docron crond -m 0110
docron() {
- local cron="cron" perms="-m 0750 -o 0 -g wheel"
+ local cron="cron"
+ local perms="-m 0750 -o 0 -g wheel"
if [[ -n $1 ]] ; then
- case "$1" in
+ case $1 in
-*)
perms="$@"
;;
*)
- cron=$1
+ cron="$1"
shift
[[ -n $1 ]] && perms="$@"
;;
esac
fi
- exeopts ${perms}
- exeinto /usr/sbin
- doexe ${cron} || die "failed to install ${cron}"
-
- # reset perms to default
- exeopts -m0755
+ (
+ exeopts ${perms}
+ exeinto /usr/sbin
+ doexe ${cron}
+ )
}
# @FUNCTION: docrontab
-# @USAGE: [ exe ] [ perms ]
+# @USAGE: [exe] [perms]
# @DESCRIPTION:
# Install crontab executable
#
# Uses same semantics as docron.
docrontab() {
- local crontab="crontab" perms="-m 4750 -o 0 -g cron"
+ local crontab="crontab"
+ local perms="-m 4750 -o 0 -g cron"
if [[ -n $1 ]] ; then
- case "$1" in
+ case $1 in
-*)
perms="$@"
;;
@@ -126,15 +124,14 @@ docrontab() {
esac
fi
- exeopts ${perms}
- exeinto /usr/bin
- doexe ${crontab} || die "failed to install ${crontab}"
-
- # reset perms to default
- exeopts -m0755
+ (
+ exeopts ${perms}
+ exeinto /usr/bin
+ doexe ${crontab}
+ )
# users expect /usr/bin/crontab to exist...
- if [[ "${crontab##*/}" != "crontab" ]] ; then
+ if [[ ${crontab##*/} != crontab ]] ; then
dosym ${crontab##*/} /usr/bin/crontab || \
die "failed to create /usr/bin/crontab symlink"
fi
@@ -145,9 +142,8 @@ docrontab() {
# Outputs a message about system crontabs
# daemons that have a true system crontab set CRON_SYSTEM_CRONTAB="yes"
cron_pkg_postinst() {
- echo
# daemons that have a true system crontab set CRON_SYSTEM_CRONTAB="yes"
- if [ "${CRON_SYSTEM_CRONTAB:-no}" != "yes" ] ; then
+ if [[ ${CRON_SYSTEM_CRONTAB:-no} != yes ]] ; then
einfo "To activate /etc/cron.{hourly|daily|weekly|monthly} please run:"
einfo " crontab /etc/crontab"
einfo
@@ -158,7 +154,8 @@ cron_pkg_postinst() {
einfo "You may wish to read the Gentoo Linux Cron Guide, which can be"
einfo "found online at:"
einfo " https://wiki.gentoo.org/wiki/Cron"
- echo
}
fi
+
+EXPORT_FUNCTIONS pkg_postinst