At Sun, 10 Jul 2011 13:46:24 +0000 (UTC), apb%NetBSD.org@localhost wrote: Subject: Re: bin/45130 (/etc/locate.conf cannot deal with pathnames containing spaces) > > Synopsis: /etc/locate.conf cannot deal with pathnames containing spaces > > State-Changed-From-To: open->feedback > State-Changed-By: apb%NetBSD.org@localhost > State-Changed-When: Sun, 10 Jul 2011 13:46:22 +0000 > State-Changed-Why: > Does revision 1.12 of src/usr.bin/locate/locate/updatedb.sh fix this? I think so -- I haven't tested it yet, but conceptually it looks right, and I assume you've tested it some! Thanks for reminding me about using 'read -r', 'set', and "$@" -- I forgot about how the latter could work with a "for" statement to keep quoting in place! I see you caught some other minor bugs too! :-) The appearance of shell_quote() reminds me of this: http://mail-index.netbsd.org/tech-userlevel/2008/09/05/msg001147.html or at least adding "%q" or similar to printf(1) using shquote(3). :-) (and maybe "%v" with several option flag using strvis(3)) Now if we could just get every other *BSD and derivative to adopt this version of locate.conf(5) verbatim. (OS X is of course where I first ran into the problem, and they're still using the hokey shell variables mechanism from FreeBSD for their /etc/locate.rc.) Next, on to maybe adopting some of FreeBSD's fixes for managing the size during processing of large locate lists. I have 110 million files on my desktop machine, apparently, and that's on a less than half-full 1TB drive. The find will probably run for more than 72 hours (at nice -10). -- Greg A. Woods +1 250 762-7675 RoboHack <woods%robohack.ca@localhost> Planix, Inc. <woods%planix.com@localhost> Secrets of the Weird <woods%weird.com@localhost>
Attachment:
pgpRE7IDfv7YG.pgp
Description: PGP signature