findutils: remove locate.

Findutils locate/updatedb is very inefficient, and either an information
leak or not useful, since the database is public readable.  It's slocate
implementation warns it has bugs.

Providing this locate implementation was deemed impractical, especially
in a core package like findutils.

Users interested in having a proper locate service are highly
recommended to use mlocate instead, which has none of these
shortcommings.

Closes #7032.
This commit is contained in:
Leah Neukirchen 2017-07-17 13:14:03 +02:00
parent dd28d4247a
commit 34a1ef31f8
3 changed files with 8 additions and 46 deletions

View File

@ -1,13 +0,0 @@
# Configuration file for updatedb(1) from findutils.
#
# Directories to exclude from the database:
PRUNEPATHS="/media /mnt /tmp /var/tmp /var/cache /var/lock /var/run /var/spool /run"
# Filesystems to exclude from the 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"
# Folder names that are pruned from updatedb database
PRUNENAMES=".git .hg .svn CVS"
# Skip bind mounts
PRUNE_BIND_MOUNTS="yes"

View File

@ -1,11 +0,0 @@
#!/bin/sh
# Read system defaults.
if [ -r /etc/updatedb.conf ]; then
. /etc/updatedb.conf
fi
# Update the "locate" database
if [ -x /usr/bin/updatedb ]; then
env PRUNEFS="$PRUNEFS" PRUNEPATHS="$PRUNEPATHS" /usr/bin/updatedb
fi

View File

@ -1,41 +1,27 @@
# Template file for 'findutils' # Template file for 'findutils'
pkgname=findutils pkgname=findutils
version=4.6.0 version=4.6.0
revision=3 revision=4
bootstrap=yes bootstrap=yes
build_style=gnu-configure build_style=gnu-configure
configure_args="--program-prefix=g --localstatedir=/var/lib/locate" configure_args="--program-prefix=g"
short_desc="The GNU Find Utilities" short_desc="The GNU Find Utilities"
maintainer="Juan RP <xtraeme@voidlinux.eu>" maintainer="Juan RP <xtraeme@voidlinux.eu>"
license="GPL-3" license="GPL-3"
homepage="http://www.gnu.org/software/findutils" homepage="http://www.gnu.org/software/findutils"
distfiles="${GNU_SITE}/$pkgname/$pkgname-$version.tar.gz" distfiles="${GNU_SITE}/${pkgname}/${pkgname}-${version}.tar.gz"
checksum=ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d checksum=ded4c9f73731cd48fec3b6bdaccce896473b6d8e337e9612e16cf1431bb1169d
make_dirs="/var/lib/locate 0755 root root"
conf_files="/etc/updatedb.conf"
alternatives=" alternatives="
locate:locate:/usr/bin/glocate
locate:locate.1:/usr/share/man/man1/glocate.1
locate:locatedb.5:/usr/share/man/man5/glocatedb.5
locate:updatedb:/usr/bin/gupdatedb
locate:updatedb.1:/usr/share/man/man1/gupdatedb.1
xargs:xargs:/usr/bin/gxargs xargs:xargs:/usr/bin/gxargs
xargs:xargs.1:/usr/share/man/man1/gxargs.1 xargs:xargs.1:/usr/share/man/man1/gxargs.1
find:find:/usr/bin/gfind find:find:/usr/bin/gfind
find:find.1:/usr/share/man/man1/gfind.1 find:find.1:/usr/share/man/man1/gfind.1
" "
post_install() { post_extract() {
# Install the cron daily job. sed -i '/SUBDIRS/s/locate//' Makefile.in
vinstall ${FILESDIR}/updatedb.cron-daily 744 etc/cron.daily updatedb }
# Install the updatedb conf file. post_configure() {
vinstall ${FILESDIR}/updatedb.conf 640 etc make -C locate dblocation.texi
# remove 'g' prefix.
for f in gbigram gcode gfrcode; do
mv ${DESTDIR}/usr/libexec/${f} ${DESTDIR}/usr/libexec/${f#g}
sed -i "s/${f}/${f#g}/" ${DESTDIR}/usr/bin/gupdatedb
done
} }