diff options
author | Kerin Millar <kfm@plushkava.net> | 2021-08-20 03:16:53 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-08-20 03:26:17 +0100 |
commit | b32a477eba2470c5137d5c2b2da0d28d45c4bdc0 (patch) | |
tree | 0bf27f1f31a53be12f852bae4e0dbed90a9f0909 /app-admin/tmpwatch/files | |
parent | Revert "app-admin/tmpwatch: address bug 524698 (bashism)" (diff) | |
download | gentoo-b32a477eba2470c5137d5c2b2da0d28d45c4bdc0.tar.gz gentoo-b32a477eba2470c5137d5c2b2da0d28d45c4bdc0.tar.bz2 gentoo-b32a477eba2470c5137d5c2b2da0d28d45c4bdc0.zip |
app-admin/tmpwatch: address bug 524698 (bashism)
Remove the use of the [[ keyword in favour of the POSIX test command
(SC3010).
Don't hard-code pathnames to external programs and define silly
variables such as TMPWATCH. Instead, define a sane PATH at the beginning
of the script.
Don't force the user to reason with whether certain variables need to be
set or not. Instead, call out to portageq in the samples. Further, check
the exit status of portageq, rather than blindly assume that it always
succeeds. As a result, there are no more hard-coded paths, other than
/tmp.
Use pgrep in a less sloppy way.
Query PORT_LOGDIR if the query for PORTAGE_LOGDIR fails.
Closes: https://bugs.gentoo.org/524698
Signed-off-by: Kerin Millar <kfm@plushkava.net>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-admin/tmpwatch/files')
-rw-r--r-- | app-admin/tmpwatch/files/tmpwatch.cron | 40 |
1 files changed, 19 insertions, 21 deletions
diff --git a/app-admin/tmpwatch/files/tmpwatch.cron b/app-admin/tmpwatch/files/tmpwatch.cron index 806b1453e552..d35a590379d7 100644 --- a/app-admin/tmpwatch/files/tmpwatch.cron +++ b/app-admin/tmpwatch/files/tmpwatch.cron @@ -1,47 +1,45 @@ #!/bin/sh -# vim: ft=sh + +PATH="/usr/sbin:/usr/bin:/sbin:/bin" # This cron script contains several (commented out) examples. You may use # them as is, by uncommenting them, or modify them to suit your needs. Read # tmpwatch(8) for more information on tmpwatch parameters. -### Variables ### - -TMPWATCH="/usr/sbin/tmpwatch" -#PORTAGE_TMPDIR="$(portageq envvar PORTAGE_TMPDIR)/portage" -#PORTAGE_LOGDIR="$(portageq envvar PORT_LOGDIR)" -#DISTDIR="$(portageq distdir)" - ### EXAMPLES ### # NOTE: if you have noatime in /etc/fstab for any partitions you plan on # running tmpwatch on, you should obviously change any of the examples that # use atime (-u|--atime). Those that don't specify anything, default to -# atime. - -# NOTE2: the time value is in HOURS! +# atime. Be aware that the time value is in HOURS! # Delete everything in /tmp that haven't been accessed in a week (>=168 hrs). # -# if [[ -d /tmp ]]; then -# ${TMPWATCH} --atime 168 /tmp +# if [ -d /tmp ]; then +# tmpwatch --atime 168 /tmp # fi # Delete everything in PORTAGE_TMPDIR that hasn't been modified in 2 weeks. # -# if [[ -d ${PORTAGE_TMPDIR:-/var/tmp/portage} && -z $(/usr/bin/pgrep emerge) ]]; then -# ${TMPWATCH} --mtime --all 336 ${PORTAGE_TMPDIR:-/var/tmp/portage} +# if PORTAGE_TMPDIR=$(portageq envvar PORTAGE_TMPDIR) && +# [ -d "${PORTAGE_TMPDIR}/portage" ] && +# ! pgrep -x emerge >/dev/null +# then +# tmpwatch --mtime --all 336 "${PORTAGE_TMPDIR}/portage" # fi # Delete everything in DISTDIR that hasn't been accessed in 6 months (going -# by 30 day months) +# by 30 day months). # -# if [[ -d ${DISTDIR:-/usr/portage/distfiles} ]]; then -# ${TMPWATCH} --atime --fuser 4320 ${DISTDIR:-/usr/portage/distfiles} +# if DISTDIR=$(portageq distdir) && [ -d "${DISTDIR}" ]; then +# tmpwatch --atime --fuser 4320 "${DISTDIR}" # fi -# Delete everything in PORTAGE_LOGDIR that hasn't been accessed in 4 weeks +# Delete everything in PORTAGE_LOGDIR that hasn't been accessed in 4 weeks. # -# if [[ -d ${PORTAGE_LOGDIR:-/var/log/portage} ]]; then -# ${TMPWATCH} --atime 772 ${PORTAGE_LOGDIR:-/var/log/portage} +# if { PORTAGE_LOGDIR=$(portageq envvar PORTAGE_LOGDIR) || +# PORTAGE_LOGDIR=$(portageq envvar PORT_LOGDIR); } && +# [ -d "${PORTAGE_LOGDIR}" ] +# then +# tmpwatch --atime 772 "${PORTAGE_LOGDIR}" # fi |