diff options
author | root <root@rshg054.dnsready.net> | 2012-03-05 00:01:22 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-03-05 00:01:22 +0000 |
commit | 11711de1942a141f28faef695c4c78c8357fbf23 (patch) | |
tree | 363a8b5d445b8eb1dcee4263b5f06d2fe307678f /testing/mlocate | |
parent | f0fa42126da9e3eec6b98388b35c67929fa20dae (diff) |
Mon Mar 5 00:01:22 UTC 2012
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..ecc508bc3 --- /dev/null +++ b/testing/mlocate/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 151799 2012-03-03 05:54:38Z allan $ +# Maintainer: Allan McRae <allan@archlinux.org> +# Contributor: lydgate + +pkgname=mlocate +pkgver=0.25 +pkgrel=1 +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=('c6d043b170613b0e327a815b497f680a' + '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 |