diff options
author | root <root@rshg054.dnsready.net> | 2011-11-04 23:14:51 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2011-11-04 23:14:51 +0000 |
commit | 3026bb55941e3b04b56f5fb41b88941c6c2ce0cd (patch) | |
tree | 576b183074d925e58c2e37ae2b641e712bceacb1 /testing/mlocate | |
parent | b625511a28fd8401f524474b5339e75328595150 (diff) |
Fri Nov 4 23:14:51 UTC 2011
Diffstat (limited to 'testing/mlocate')
-rw-r--r-- | testing/mlocate/PKGBUILD | 56 | ||||
-rw-r--r-- | testing/mlocate/mlocate.install | 18 | ||||
-rw-r--r-- | testing/mlocate/updatedb.conf | 5 | ||||
-rwxr-xr-x | testing/mlocate/updatedb.cron.daily | 29 |
4 files changed, 108 insertions, 0 deletions
diff --git a/testing/mlocate/PKGBUILD b/testing/mlocate/PKGBUILD new file mode 100644 index 000000000..aa7c002f3 --- /dev/null +++ b/testing/mlocate/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 141941 2011-11-03 11:28:39Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: lydgate + +pkgname=mlocate +pkgver=0.24 +pkgrel=2 +pkgdesc="Faster merging drop-in for slocate" +arch=('i686' 'x86_64') +url="http://carolina.mff.cuni.cz/~trmac/blog/mlocate" +license=('GPL') +conflicts=('slocate') +provides=('slocate') +replaces=('slocate') +depends=('glibc' 'coreutils' 'sh') +backup=('etc/updatedb.conf' + 'etc/cron.daily/updatedb') +install=mlocate.install +source=(https://fedorahosted.org/releases/m/l/mlocate/mlocate-$pkgver.tar.xz + updatedb.conf + updatedb.cron.daily) +md5sums=('a9c221e5bc489a2ed710c943990137bd' + 'c374ff223f2e07b5e602ba22359f2335' + 'cde5da81bebad2de556ef2e43d895e13') + +build() { + cd $srcdir/$pkgname-$pkgver + + sed -i '/^groupname /s/mlocate/locate/' Makefile.in + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib + make + +} + +check() { + cd $srcdir/$pkgname-$pkgver + make check +} + +package() { + cd $srcdir/$pkgname-$pkgver + + # Set up a default updatedb.conf and a daily cronjob + install -Dm644 ${srcdir}/updatedb.conf $pkgdir/etc/updatedb.conf + install -Dm744 ${srcdir}/updatedb.cron.daily $pkgdir/etc/cron.daily/updatedb + + # Install Mlocate + make DESTDIR=$pkgdir install + + ln -sv locate $pkgdir/usr/bin/slocate + chgrp -v 21 $pkgdir/usr/bin/locate + chmod -v 2755 $pkgdir/usr/bin/locate + + install -dm755 $pkgdir/var/lib + install -d -m750 -g21 $pkgdir/var/lib/locate +} diff --git a/testing/mlocate/mlocate.install b/testing/mlocate/mlocate.install new file mode 100644 index 000000000..c7b7f9cf7 --- /dev/null +++ b/testing/mlocate/mlocate.install @@ -0,0 +1,18 @@ +post_install() { + post_upgrade "$1" "$1" + echo "mlocate command is technically locate, but slocate is symlinked and still works." + echo "You should run updatedb as root." +} + +post_upgrade() { + # This can be removed after {m,x}locate have both been updated + getent group slocate &>/dev/null && usr/sbin/groupdel slocate &>/dev/null + getent group mlocate &>/dev/null && usr/sbin/groupdel mlocate &>/dev/null + + getent group locate &>/dev/null || usr/sbin/groupadd -g 21 locate &>/dev/null + chown -R root:locate var/lib/mlocate +} + +pre_remove() { + getent group locate &>/dev/null && usr/sbin/groupdel locate &>/dev/null +} diff --git a/testing/mlocate/updatedb.conf b/testing/mlocate/updatedb.conf new file mode 100644 index 000000000..722b04205 --- /dev/null +++ b/testing/mlocate/updatedb.conf @@ -0,0 +1,5 @@ +# directories to exclude from the slocate database: +PRUNEPATHS="/media /mnt /tmp /var/tmp /var/cache /var/lock /var/run /var/spool" + +# filesystems to exclude from the slocate database: +PRUNEFS="afs auto autofs binfmt_misc cifs coda configfs cramfs debugfs devpts devtmpfs ftpfs iso9660 mqueue ncpfs nfs nfs4 proc ramfs securityfs shfs smbfs sshfs sysfs tmpfs udf usbfs vboxsf" diff --git a/testing/mlocate/updatedb.cron.daily b/testing/mlocate/updatedb.cron.daily new file mode 100755 index 000000000..cac9bb063 --- /dev/null +++ b/testing/mlocate/updatedb.cron.daily @@ -0,0 +1,29 @@ +#!/bin/sh + +# nicenesses range from -20 (most favorable scheduling) to 19 (least favorable) +NICE=19 + +# 0 for none, 1 for real time, 2 for best-effort, 3 for idle +IONICE_CLASS=2 + +# 0-7 (for IONICE_CLASS 1 and 2 only), 0=highest, 7=lowest +IONICE_PRIORITY=7 + +UPDATEDB="/usr/bin/updatedb" + +if [ -x /usr/bin/nice ]; then + UPDATEDB="/usr/bin/nice -n ${NICE:-19} ${UPDATEDB}" +fi + +if [ -x /usr/bin/ionice ]; then + UPDATEDB="/usr/bin/ionice -c ${IONICE_CLASS:-2} -n ${IONICE_PRIORITY:-7} ${UPDATEDB}" +fi + +# Update the "locate" database +if [ -x /usr/bin/updatedb ]; then + if [ -f /etc/updatedb.conf ]; then + ${UPDATEDB} + else + ${UPDATEDB} -f proc + fi +fi |