summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2011-01-24 12:39:33 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2011-01-24 12:39:33 +0000
commitb3d1dc41daeb8657fd2c4a9e3c3fc10403fe5fa2 (patch)
tree087224557297c3fadce04b5734cba570ec6fb931 /sys-apps/mlocate/files
parentx86 stable wrt bug #352491 (diff)
downloadgentoo-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)
Diffstat (limited to 'sys-apps/mlocate/files')
-rw-r--r--sys-apps/mlocate/files/mlocate-cron.conf2
-rw-r--r--sys-apps/mlocate/files/mlocate.cron-r256
-rw-r--r--sys-apps/mlocate/files/updatedb.conf11
3 files changed, 49 insertions, 20 deletions
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"