diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2011-01-24 12:39:33 +0000 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2011-01-24 12:39:33 +0000 |
commit | b3d1dc41daeb8657fd2c4a9e3c3fc10403fe5fa2 (patch) | |
tree | 087224557297c3fadce04b5734cba570ec6fb931 | |
parent | x86 stable wrt bug #352491 (diff) | |
download | gentoo-2-b3d1dc41daeb8657fd2c4a9e3c3fc10403fe5fa2.tar.gz gentoo-2-b3d1dc41daeb8657fd2c4a9e3c3fc10403fe5fa2.tar.bz2 gentoo-2-b3d1dc41daeb8657fd2c4a9e3c3fc10403fe5fa2.zip |
Update cronscript and config to be more strict and flexible.
(Portage version: 2.2.0_alpha19/cvs/Linux x86_64)
-rw-r--r-- | sys-apps/mlocate/ChangeLog | 8 | ||||
-rw-r--r-- | sys-apps/mlocate/files/mlocate-cron.conf | 2 | ||||
-rw-r--r-- | sys-apps/mlocate/files/mlocate.cron-r2 | 56 | ||||
-rw-r--r-- | sys-apps/mlocate/files/updatedb.conf | 11 |
4 files changed, 55 insertions, 22 deletions
diff --git a/sys-apps/mlocate/ChangeLog b/sys-apps/mlocate/ChangeLog index afce966665c0..ab48f0185b64 100644 --- a/sys-apps/mlocate/ChangeLog +++ b/sys-apps/mlocate/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for sys-apps/mlocate -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/mlocate/ChangeLog,v 1.82 2010/11/21 14:57:13 fauli Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/mlocate/ChangeLog,v 1.83 2011/01/24 12:39:33 scarabeus Exp $ + + 24 Jan 2011; Tomáš Chvátal <scarabeus@gentoo.org> files/mlocate.cron-r2, + files/mlocate-cron.conf, files/updatedb.conf: + Update cronscript and config to be more strict and flexible. 21 Nov 2010; Christian Faulhammer <fauli@gentoo.org> mlocate-0.23.1.ebuild, files/updatedb.conf: diff --git a/sys-apps/mlocate/files/mlocate-cron.conf b/sys-apps/mlocate/files/mlocate-cron.conf index 886a984c8a56..f207344a9e6c 100644 --- a/sys-apps/mlocate/files/mlocate-cron.conf +++ b/sys-apps/mlocate/files/mlocate-cron.conf @@ -1,5 +1,5 @@ # nice value to run at: see -n in nice(1) -NICE="10" +NICE="19" # ionice class to run at: see -c in ionice(1) # you have to install sys-apps/util-linux manually diff --git a/sys-apps/mlocate/files/mlocate.cron-r2 b/sys-apps/mlocate/files/mlocate.cron-r2 index 3074f132aaa7..20b2ba7d6ab3 100644 --- a/sys-apps/mlocate/files/mlocate.cron-r2 +++ b/sys-apps/mlocate/files/mlocate.cron-r2 @@ -1,22 +1,48 @@ #! /bin/sh +set -e -if [ -x /usr/bin/updatedb ] -then - if [ -f /etc/updatedb.conf ] - then - args="" - else - args="-f proc" +# check if we run on battery and if so then don't run +if which on_ac_power >/dev/null 2>&1; then + ON_BATTERY=0 + on_ac_power >/dev/null 2>&1 || ON_BATTERY=$? + if [ "${ON_BATTERY}" -eq 1 ]; then + exit 0 fi +fi - if [ -f /etc/mlocate-cron.conf ] - then - . /etc/mlocate-cron.conf - fi +# check if we are already running (lockfile) +LOCKFILE="/var/lock/mlocate.daily.lock" +trap "rm -f ${LOCKFILE}" EXIT +if [ -e "${LOCKFILE}" ]; then + echo >&2 "Warning: \"${LOCKFILE}\" already present, not running updatedb." + exit 1 +else + touch "${LOCKFILE}" +fi + +# source the user specified variables +if [ -f /etc/mlocate-cron.conf ]; then + . /etc/mlocate-cron.conf +fi + +# check the config file +ARGS="" +if [ ! -f /etc/updatedb.conf ]; then + nodevs=$(< /proc/filesystems awk '$1 == "nodev" && $2 != "rootfs" { print $2 }') + ARGS="-f ${nodevs}" +fi - # run on active process in case ionice isnt installed, or - # system is really old and ionice doesnt work ... - ionice -c ${IONICE_CLASS:-2} -n ${IONICE_PRIORITY:-7} -p $$ 2>/dev/null +# alter the priority of the updatedb process +if [ -x /usr/bin/renice ]; then + /usr/bin/renice +${NICE:-19} -p $$ > /dev/null 2>&1 +if [ -x /usr/bin/ionice ] && /usr/bin/ionice -c3 true 2>/dev/null; then + /usr/bin/ionice -c${IONICE_CLASS:-2} -n${IONICE_PRIORITY:-7} -p $$ > /dev/null 2>&1 +fi - nice -n ${NICE:-10} /usr/bin/updatedb ${args} +# run the updatedb if possible +if [ -x /usr/bin/updatedb ]; then + /usr/bin/updatedb ${ARGS} +else + echo >&2 "Warning: \"/usr/bin/updatedb\" is not executable, unable to run updatedb." + exit 0 fi diff --git a/sys-apps/mlocate/files/updatedb.conf b/sys-apps/mlocate/files/updatedb.conf index 85fe93488027..09f5db4306e8 100644 --- a/sys-apps/mlocate/files/updatedb.conf +++ b/sys-apps/mlocate/files/updatedb.conf @@ -1,14 +1,17 @@ # /etc/updatedb.conf: config file for slocate -# $Id: updatedb.conf,v 1.4 2010/11/21 14:57:13 fauli Exp $ +# $Id: updatedb.conf,v 1.5 2011/01/24 12:39:33 scarabeus Exp $ # This file sets variables that are used by updatedb. # For more info, see the updatedb.conf(5) manpage. # Filesystems that are pruned from updatedb database -PRUNEFS="afs auto autofs cifs devfs devpts eventpollfs futexfs gfs hostfs hugetlbfs iso9660 mqueue ncpfs nfs NFS nfs4 nfsd nnpfs ocfs ocfs2 pipefs proc ramfs rpc_pipefs selinuxfs sfs shfs smbfs sockfs spufs subfs supermount sysfs tmpfs udf usbfs vperfctrfs" +PRUNEFS="afs anon_inodefs auto autofs bdev binfmt binfmt_misc cgroup cifs coda configfs cramfs cpuset debugfs devpts devtmps devfs devpts ecryptfs eventpollfs exofs futexfs ftpfs fuse fusectl gfs gfs2 hostfs hugetlbfs inotifyfs iso9660 jffs2 lustre misc mqueue ncpfs nfs NFS nfs4 nfsd nnpfs ocfs ocfs2 pipefs proc ramfs rpc_pipefs securityfs selinuxfs sfs shfs smbfs sockfs spufs sshfs subfs supermount sysfs tmpfs ubifs udf usbfs vboxsf vperfctrfs" # Paths which are pruned from updatedb database -PRUNEPATHS="/tmp /var/tmp /root/.ccache" +PRUNEPATHS="/tmp /var/tmp /var/cache /var/lock /var/run /var/spool" + +# Folder names that are pruned from updatedb database +PRUNENAMES=".git .hg .svn CVS" # Skip bind mounts. -PRUNE_BIND_MOUNTS="no" +PRUNE_BIND_MOUNTS="yes" |