Hello community, here is the log from the commit of package findutils.1616 for openSUSE:12.3:Update checked in at 2013-05-02 14:46:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:12.3:Update/findutils.1616 (Old) and /work/SRC/openSUSE:12.3:Update/.findutils.1616.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "findutils.1616" Changes: -------- New Changes file: --- /dev/null 2013-04-05 00:01:41.916011506 +0200 +++ /work/SRC/openSUSE:12.3:Update/.findutils.1616.new/findutils.changes 2013-05-02 14:47:00.000000000 +0200 @@ -0,0 +1,869 @@ +------------------------------------------------------------------- +Tue Apr 23 12:24:12 CEST 2013 - [email protected] + +- Add /var/run/media to UPDATEDB_PRUNEPATHS in sysconfig.locate + so that updatedb doesn't index removable media (bnc#807170). + +------------------------------------------------------------------- +Thu Apr 4 12:34:19 CEST 2013 - [email protected] + +- Fix name of btrfs snapshot directory (bnc#813293). + +------------------------------------------------------------------- +Wed Dec 5 11:43:21 CET 2012 - [email protected] + +- Fix typo in findutils-4.5.10-updatedb_ignore_nfsv4.patch that + lead to nfs4 directories being searched again (bnc#792323). +- Enable FTS based search. +- Replace $RPM_BUILD_ROOT by %%buildroot in specfile. + +------------------------------------------------------------------- +Thu Nov 15 13:32:47 CET 2012 - [email protected] + +- Initialize stat_buf in find.c(process_path) so that find by inum + works (bnc#780928 http://savannah.gnu.org/bugs/?37683) + findutils-init_stat_buf.patch. +- Exclude /.snapshot from updatedb's indexing (bnc#780918) + No patch, change was done in the sysconfig file of this package. +- Rename automake-1.12.patch to findutils-automake-1.12.patch + +------------------------------------------------------------------- +Thu Jul 26 07:24:20 UTC 2012 - [email protected] + +- Fix build with missing gets declaration (glibc 2.16) + +------------------------------------------------------------------- +Wed May 30 17:13:20 UTC 2012 - [email protected] + +- remove useless automake dependency, it was needed for selinux.patch + which has been removed since findutils 4.5.10 + +------------------------------------------------------------------- +Tue May 29 11:29:27 UTC 2012 - [email protected] + +- fix build with automake-1.12 + - add: automake-1.12.patch + +------------------------------------------------------------------- +Mon Feb 13 14:19:23 CET 2012 - [email protected] + +- Fix updatedb to work again (bnc#746610). + +------------------------------------------------------------------- +Sat Feb 4 23:27:05 UTC 2012 - [email protected] + +- keep binary in /usr tree (UsrMerge project) + +------------------------------------------------------------------- +Tue Jan 17 02:40:55 UTC 2012 - [email protected] + +- removed patches deprecated by this release + - findutils-4.4.2-selinux.patch + - findutils-4.4.2-selinux-gnulib.patch + - findutils-4.4.2-fts-remount.patch +- refreshed other patches as required + +- Update to 4.5.10 + + doc: The manual now includes a small number of references to + further reading on security. + + fixed bug #30608: Automagic dependency on selinux. The configure + script now provides a --without-selinux option. + + fixed bug #29949: find -execdir does not change working directory + + fixed bug #31359: test-strstr unit test fails on alpha. + + fixed bug #30777: find -exec echo TURNIP{} \+ is accepted but + TURNIP is eaten + + fixed bug #30180: error message from incorrect -size option is off + + fixed bug #29828: test suite deadlock on FreeBSD + + updated translations - Finnish, Italian, Danish, Slovenian, + German, Estonian, French, Japanese and Danish + +- Update to 4.5.9 + + fixed bug #29593: Make import-gnulib.sh work under a POSIX shell. + + fixed bug #29511: fails to build on kfreebsd-* + + fixed bug #27563: -L breaks -execdir + + fixed bug #19593: -execdir .... {} + has suboptimal performance + (see below) + + updated translation - Chinese (simplified) + + The find program will once again build argument lists longer + than 1 with "-execdir ...+". The upper limit of 1 argument for + execdir was introduced as a workaround in findutils-4.3.4. The + limit is now removed, but find still does not issue the maximum + possible number of arguments, since an exec will occur each time + find encounters a subdirectory (if at least one argument is + pending). + + You can now increase the parallelism of xargs in mid-run by + sending it SIGUSR1, and decrease the parallelism with SIGUSR2. + +- Update to 4.5.8 + + fixed bug #29460: -printf %Y fails in $CWD-dependent way + + fixed bug #27974: Use gnulib's xreadlinkat support + + fixed bug #29435: fd_is_cloexec does not work on Fedora buildhosts + + fixed bug #27221: symlink_loop check broken by FTS_CWDFD + + fixed bug #27213: avoid failed assertions for non-executable + directories. + + updated translations - Vietnamese, Czech, Dutch, Polish, Russian + +- Update to 4.5.7 + + If you use the -fstype FOO predicate and specify a filsystem + type FOO which is not known (e.g. present in /etc/mtab) at the + time find starts, that predicate is now equivalent to -false. + This substitution currently occurs at optimisation level 2 and + above. + +- Update to 4.5.6 + + patch #4848 - support for SELinux + + fixed bug #29089 - SELinux --context and %Z options + + fixed bug #28872: Mistake in "#safer" example in "Problems with + -exec and filenames" section of the Texinfo manual. + + fixed bug #28824: Corrected error message for "-ctime x". + Likewise for -gid, -inum, -links, -mmin, -cmin, -amin, + -uid, -used, -atime, -mtime, -ctime. + + fixed bug #27975: Infinite loop for -exec [..] {} +. + + fixed bug #27846: Assertion failure in xargs.c on AIX. + + fixed bug #27375: Open file descriptors leak into child processes. + + fixed bug #27017: find -D opt / -fstype ext3 -print , -quit coredumps + + fixed bug #27328: segfault if the initial exec for "find -exec" fails. + + fixed bug #26868: compilation error in pred.c on Solaris x86_64 + + fixed bug #24873: Duplicate fprint option corrupts output + + fixed bug #23920: warn about un-matchable -path arguments ending in /. + + fixed bug #19120: Patch to fix single quotes in man page find(1) + + fixed bug #26327: xargs man page is vague about the number of times + command is executed. + +- Update to 4.5.5 + + xargs now handles the case where the system's actual exec limits + are smaller than the value of ARG_MAX at compile time. Very few + platforms normally have this property, but it is possible to + configure sume Unix systems this way. + + fixed bug #25359 - files/testsuite/find.gnu/posix-h.exp test fail + + fixed bug #26587 - fix a typo in -execdir documentation (it says + -exec by mistake in the text) + + fixed bug #26537 - find -prune now makes sure it has valid stat() + information + + fixed bug #22708 - exit status 126 and 127 from the utility invoked + from xargs now makes xargs return 123, meaning that exit status + values 126 and 127 not unambiguously mean that the utility could + not be run or could not be found, respectively. + + doc: the -wholename option to find is no longer preferred over + -ipath + +- Update to 4.5.4 + + The ftsfind executable (which is built by default as "find") now + calls fts() in such a way that it avoids calling stat() on directory + entries, if it doesn't need the information. This can produce a + significant speedup on filesystems which don't populate the d_type + element of struct dirent, for example reiserfs. Anecdotal evidence + suggests this can speed updatedb up from about 30 minutes to 3-4 + minutes. + + The ftsfind executable also now avoids calling stat() functions to + discover the inode number of a file, if we already read this + information from the directory. This does provide a speed-up, but + only for a restricted set of commands such as "find . -inum 4001". + This fix is listed below as bug #24342 + + fixed bug #25764 - remove duplicate entry for 'proc' in updatedb's + $PRUNEFS + + fixed bug #25359 - find -H wrongly behaves like -L sometimes; this + bug affects only filesystems which populate d_type and affects + -type and -printf %y. This does not affect the default behavior of + find or find -P + + fixed bug #25144 - misleading error message when argument to + find -user is an unknown user or is missing + + fixed bug #25154 - allow compilation with C compilers that don't + allow declarations to follow statements + + fixed bug #24342 - -inum predicate should use dirent.d_ino instead + of stat.st_ino (this is a performance bug) + + updated translations - Bulgarian, German, Irish, Hungarian, + Lithuanian, Dutch, Polish, Slovenian, Swedish, Turkish, Ukranian, + Vietnamese + +- Update to 4.5.3 + + fixed bug #24283 - find -printf %TY causes NULL pointer dereference + + changes to gnulib's fts code should provide performance improvements + in find when processing very large directories (for example + directories containing significantly more than 10000 filenames). + Performance improvements may only exist for some find command + lines (performance testing was done for the fts implementation + itself but we haven't done the analogous performance tests in find). + + file type information is also passed back from fts to find, + saving calls to the stat system call for find command lines + which don't need the stat information. This provides a performance + improvement for common cases like find "find . -type d". + +- Update to 4.5.2 + + fixed bug #24169 - find would segfault if the -newerXY test was + not followed by any argument + + fixed bug #23996 - integer overflow on some platforms when + parsing "-used 3" + + New translation - Czech ++++ 672 more lines (skipped) ++++ between /dev/null ++++ and /work/SRC/openSUSE:12.3:Update/.findutils.1616.new/findutils.changes New: ---- cron.daily.updatedb findutils-4.4.2-updatedb.patch findutils-4.4.2-xautofs.patch findutils-4.5.10-prune_unknown.patch findutils-4.5.10-updatedb_ignore_nfsv4.patch findutils-4.5.10-use_proc_mounts.patch findutils-4.5.10.tar.bz2 findutils-automake-1.12.patch findutils-init_stat_buf.patch findutils-stdio.in.patch findutils.changes findutils.spec sysconfig.locate ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ findutils.spec ++++++ # # spec file for package findutils # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: findutils Url: http://www.gnu.org/software/findutils/ Version: 4.5.10 Release: 0 Summary: The GNU versions of find utilities (find and xargs) License: GPL-3.0+ Group: Productivity/File utilities # retrieved from http://alpha.gnu.org/pub/gnu/findutils/findutils-4.5.10.tar.gz Source: findutils-%{version}.tar.bz2 Source1: sysconfig.locate Source2: cron.daily.updatedb # Use /proc/mounts instead of /etc/mtab as autofs entries are only # listed in the kernels >= 2.6.32 Patch0: findutils-4.5.10-use_proc_mounts.patch # adds a new option -xautofs to find to not descend into directories on autofs file systems Patch1: findutils-4.4.2-xautofs.patch Patch2: findutils-4.4.2-updatedb.patch Patch3: findutils-4.5.10-prune_unknown.patch Patch4: findutils-4.5.10-updatedb_ignore_nfsv4.patch Patch5: findutils-automake-1.12.patch Patch6: findutils-stdio.in.patch Patch7: findutils-init_stat_buf.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1100 BuildRequires: libselinux-devel %endif Provides: find = %{version} Obsoletes: find < %{version} Requires(post): %{install_info_prereq} Requires(preun): %{install_info_prereq} %description The findutils package contains programs which will help you locate files on your system. The find utility searches through a hierarchy of directories looking for files which match a certain set of criteria (such as a file name pattern). The xargs utility builds and executes command lines from standard input arguments (usually lists of file names generated by the find command). You should install findutils because it includes tools that are very useful for finding things on your system. %lang_package %package locate Summary: Tool for Locating Files (findutils subpackage) Group: Productivity/File utilities Provides: findutils:/usr/bin/locate PreReq: %{fillup_prereq} Requires: cron Requires: findutils = %{version} %description locate This package contains the locate program which is part of the GNU findutils software suite. You can find files fast using locate. On installing findutils-locate an additional daily cron job will be added to the cron system. This job will update the files database every night or shortly after switching on the computer. %prep %setup -q %patch0 %patch1 -p1 %patch2 %patch3 %patch4 %patch5 -p1 %patch6 -p1 %patch7 %build %ifarch %arm armv5tel armv7l armv7el armv5el # this is a workaround for a qemu-user bug, we hit. A qemu patch is being discussed, but for now ... export DEFAULT_ARG_SIZE="(31u * 1024u)" %endif %configure \ --libexecdir=%{_libdir}/find \ --localstatedir=/var/lib \ --without-included-regex \ --enable-d_type-optimisation make %{?_smp_mflags} %check make check %install %make_install install -D -m 644 %{SOURCE1} %{buildroot}/var/adm/fillup-templates/sysconfig.locate install -D -m 755 %{SOURCE2} %{buildroot}/etc/cron.daily/suse-updatedb rm -f %{buildroot}%{_bindir}/oldfind rm -f %{buildroot}%{_bindir}/ftsfind rm -f %{buildroot}%{_infodir}/find-maint* %find_lang %{name} #UsrMerge mkdir -p %{buildroot}/bin ln -sf %{_bindir}/find %{buildroot}/bin #UsrMerge %post locate %{fillup_only -n locate} %post %install_info --info-dir=%{_infodir} %{_infodir}/find.info.gz %preun %install_info_delete --info-dir=%{_infodir} %{_infodir}/find.info.gz %files %defattr(-,root,root,-) %doc AUTHORS COPYING NEWS README THANKS TODO #UsrMerge /bin/find #UsrMerge %{_bindir}/find %{_bindir}/xargs %doc %{_infodir}/find.info*.gz %doc %{_mandir}/man1/find.1.gz %doc %{_mandir}/man1/xargs.1.gz %files lang -f %{name}.lang %defattr(-,root,root,-) %files locate %defattr(-,root,root,-) /etc/cron.daily/* %{_bindir}/locate %{_bindir}/updatedb %{_libdir}/find %doc %{_mandir}/man1/locate.1.gz %doc %{_mandir}/man1/updatedb.1.gz %doc %{_mandir}/man5/locatedb.5.gz /var/adm/fillup-templates/* %changelog ++++++ cron.daily.updatedb ++++++ #!/bin/sh # # # updatedb. This script was split off cron.daily. # Please add your local changes to cron.daily.local # since this file will be overwritten, when updating your system. # # Copyright (c) 2003 SuSE Linux AG, Nuernberg, Germany. # # Please submit bugfixes or comments via http://www.suse.de/feedback/ # # Author: Burchard Steinbild <[email protected]>, 1996 # Florian La Roche <[email protected]>, 1996 # # # # # paranoia settings # umask 022 PATH=/sbin:/bin:/usr/sbin:/usr/bin export PATH # # get information from /etc/rc.config # if [ -f /etc/sysconfig/locate ] ; then . /etc/sysconfig/locate fi # # update database for locate # if [ -n "$RUN_UPDATEDB" -a "$RUN_UPDATEDB" = "yes" -a \ -x /usr/bin/updatedb ] ; then # avoid error messages from updatedb when using user nobody for find. cd / PARAMS="`test -n "$RUN_UPDATEDB_AS" && \ fgrep localuser /usr/bin/updatedb > /dev/null && \ echo --localuser=$RUN_UPDATEDB_AS`" PARAMS="$PARAMS `test -n "$UPDATEDB_PRUNEPATHS" && \ echo --prunepaths=\'$(eval echo $UPDATEDB_PRUNEPATHS)\'`" PARAMS="$PARAMS `test -n "$UPDATEDB_NETUSER" && \ echo --netuser=$UPDATEDB_NETUSER`" PARAMS="$PARAMS `test -n "$UPDATEDB_NETPATHS" && \ echo --netpaths=\'$(eval echo $UPDATEDB_NETPATHS)\'`" PARAMS="$PARAMS `test -n "$UPDATEDB_PRUNEFS" && \ echo --prunefs=\'$(eval echo $UPDATEDB_PRUNEFS)\'`" eval nice -n 19 ionice -c 3 /usr/bin/updatedb $PARAMS 2> /dev/null fi exit 0 ++++++ findutils-4.4.2-updatedb.patch ++++++ Index: doc/find.texi =================================================================== --- doc/find.texi.orig 2012-02-13 14:27:58.223123360 +0100 +++ doc/find.texi 2012-02-13 14:27:58.231123165 +0100 @@ -3486,7 +3486,7 @@ Default is none. @item --prunepaths='@var{path}@dots{}' Directories to omit from the database, which would otherwise be included. The environment variable @code{PRUNEPATHS} also sets this -value. Default is @file{/tmp /usr/tmp /var/tmp /afs}. The paths are +value. Default is @file{/tmp /usr/tmp /var/tmp /afs /var/spool}. The paths are used as regular expressions (with @code{find ... -regex}, so you need to specify these paths in the same way that @code{find} will encounter them. This means for example that the paths must not include trailing Index: locate/updatedb.1 =================================================================== --- locate/updatedb.1.orig 2011-04-04 00:53:12.000000000 +0200 +++ locate/updatedb.1 2012-02-13 14:27:58.232123141 +0100 @@ -75,8 +75,7 @@ Default is \fInfs NFS proc\fP. .TP .B \-\-output=\fIdbfile\fP The database file to build. -Default is system-dependent. In Debian GNU/Linux, the default -is /var/cache/locate/locatedb. +Default is /var/lib/locatedb. .TP .B \-\-localuser=\fIuser\fP The user to search non-network directories as, using \fBsu\fP(1). @@ -85,7 +84,7 @@ You can also use the environment variabl .TP .B \-\-netuser=\fIuser\fP The user to search network directories as, using \fBsu\fP(1). -Default is \fBdaemon\fP. +Default is \fBnobody\fP. You can also use the environment variable \fBNETUSER\fP to set this user. .TP .B \-\-old\-format Index: locate/updatedb.sh =================================================================== --- locate/updatedb.sh.orig 2011-04-04 00:53:12.000000000 +0200 +++ locate/updatedb.sh 2012-02-13 14:28:48.445898801 +0100 @@ -158,7 +158,7 @@ select_shell() { : ${NETPATHS=} # Directories to not put in the database, which would otherwise be. -: ${PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /sfs /proc"} +: ${PRUNEPATHS="/tmp /usr/tmp /var/tmp /afs /amd /sfs /proc /var/spool"} # Trailing slashes result in regex items that are never matched, which # is not what the user will expect. Therefore we now reject such @@ -188,7 +188,7 @@ fi export TMPDIR # The user to search network directories as. -: ${NETUSER=daemon} +: ${NETUSER=nobody} # The directory containing the subprograms. if test -n "$LIBEXECDIR" ; then @@ -228,7 +228,7 @@ done PATH=/bin:/usr/bin:${BINDIR}; export PATH -: ${PRUNEFS="nfs NFS proc afs smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs"} +: ${PRUNEFS="nfs NFS proc afs smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs cifs 9P"} if test -n "$PRUNEFS"; then prunefs_exp=`echo $PRUNEFS |sed -e 's/\([^ ][^ ]*\)/-o -fstype \1/g' \ @@ -252,13 +252,12 @@ if test -n "$SEARCHPATHS"; then # : A1 su $LOCALUSER `select_shell $LOCALUSER` -c \ "$find $SEARCHPATHS $FINDOPTIONS \ - \\( $prunefs_exp \ - -type d -regex '$PRUNEREGEX' \\) -prune -o $print_option" + -type d \\( $prunefs_exp -regex '$PRUNEREGEX' \\) -prune \ + -o $print_option" else # : A2 $find $SEARCHPATHS $FINDOPTIONS \ - \( $prunefs_exp \ - -type d -regex "$PRUNEREGEX" \) -prune -o $print_option + -type d \( $prunefs_exp -regex "$PRUNEREGEX" \) -prune -o $print_option fi fi @@ -322,12 +321,14 @@ if test -n "$SEARCHPATHS"; then su $LOCALUSER `select_shell $LOCALUSER` -c \ "$find $SEARCHPATHS $FINDOPTIONS \ \( $prunefs_exp \ - -type d -regex '$PRUNEREGEX' \) -prune -o $print_option" || exit $? + -type d \( $prunefs_exp -regex '$PRUNEREGEX' \) -prune \ + -o $print_option" || exit $? else # : A6 $find $SEARCHPATHS $FINDOPTIONS \ \( $prunefs_exp \ - -type d -regex "$PRUNEREGEX" \) -prune -o $print_option || exit $? + -type d \( $prunefs_exp -regex "$PRUNEREGEX" \) -prune \ + -o $print_option || exit $? fi fi ++++++ findutils-4.4.2-xautofs.patch ++++++ diff -aur findutils-4.5.10.orig/doc/find.texi findutils-4.5.10/doc/find.texi --- findutils-4.5.10.orig/doc/find.texi 2012-01-16 15:29:59.649039029 -0500 +++ findutils-4.5.10/doc/find.texi 2012-01-16 15:54:30.683648566 -0500 @@ -1440,6 +1440,10 @@ There are two ways to avoid searching certain filesystems. One way is to tell @code{find} to only search one filesystem: +@deffn Option -xautofs +Don't descend directories on autofs filesystems. +@end deffn + @deffn Option -xdev @deffnx Option -mount Don't descend directories on other filesystems. These options are diff -aur findutils-4.5.10.orig/find/defs.h findutils-4.5.10/find/defs.h --- findutils-4.5.10.orig/find/defs.h 2011-04-03 18:53:11.000000000 -0400 +++ findutils-4.5.10/find/defs.h 2012-01-16 15:56:13.473363517 -0500 @@ -561,6 +561,9 @@ /* If true, don't cross filesystem boundaries. */ bool stay_on_filesystem; + /* If true, don't descend directores on autofs filesystems */ + bool bypass_autofs; + /* If true, we ignore the problem where we find that a directory entry * no longer exists by the time we get around to processing it. */ diff -aur findutils-4.5.10.orig/find/find.1 findutils-4.5.10/find/find.1 --- findutils-4.5.10.orig/find/find.1 2011-04-03 18:53:11.000000000 -0400 +++ findutils-4.5.10/find/find.1 2012-01-16 15:57:07.003694295 -0500 @@ -460,6 +460,9 @@ .B \-nowarn otherwise. +.IP \-xautofs +Don't descend directories on autofs filesystems. + .IP \-xdev Don't descend directories on other filesystems. diff -aur findutils-4.5.10.orig/find/ftsfind.c findutils-4.5.10/find/ftsfind.c --- findutils-4.5.10.orig/find/ftsfind.c 2011-04-03 18:53:11.000000000 -0400 +++ findutils-4.5.10/find/ftsfind.c 2012-01-16 16:00:05.103467741 -0500 @@ -485,6 +485,12 @@ } } + if (options.bypass_autofs && + 0 == strcmp ("autofs", filesystem_type (&statbuf, ent->fts_name))) + { + fts_set(p, ent, FTS_SKIP); /* descend no further */ + } + if ( (ent->fts_info == FTS_D) && !options.do_dir_first ) { /* this is the preorder visit, but user said -depth */ diff -aur findutils-4.5.10.orig/find/parser.c findutils-4.5.10/find/parser.c --- findutils-4.5.10.orig/find/parser.c 2011-04-03 18:53:11.000000000 -0400 +++ findutils-4.5.10/find/parser.c 2012-01-16 16:05:32.208378367 -0500 @@ -151,6 +151,7 @@ static bool parse_version (const struct parser_table*, char *argv[], int *arg_ptr); static bool parse_wholename (const struct parser_table*, char *argv[], int *arg_ptr); static bool parse_xdev (const struct parser_table*, char *argv[], int *arg_ptr); +static bool parse_xautofs (const struct parser_table*, char *argv[], int *arg_ptr); static bool parse_ignore_race (const struct parser_table*, char *argv[], int *arg_ptr); static bool parse_noignore_race (const struct parser_table*, char *argv[], int *arg_ptr); static bool parse_warn (const struct parser_table*, char *argv[], int *arg_ptr); @@ -325,6 +326,7 @@ PARSE_TEST_NP ("wholename", wholename), /* GNU, replaced -path, but anyway -path will soon be in POSIX */ {ARG_TEST, "writable", parse_accesscheck, pred_writable}, /* GNU, 4.3.0+ */ PARSE_OPTION ("xdev", xdev), /* POSIX */ + PARSE_OPTION ("xautofs", xautofs), PARSE_TEST ("xtype", xtype), /* GNU */ #ifdef UNIMPLEMENTED_UNIX /* It's pretty ugly for find to know about archive formats. @@ -2800,6 +2802,16 @@ } static bool +parse_xautofs(const struct parser_table* entry, char **argv, int *arg_ptr) +{ + (void) argv; + (void) arg_ptr; + (void) entry; + options.bypass_autofs = true; + return true; +} + +static bool parse_ignore_race (const struct parser_table* entry, char **argv, int *arg_ptr) { options.ignore_readdir_race = true; diff -aur findutils-4.5.10.orig/find/util.c findutils-4.5.10/find/util.c --- findutils-4.5.10.orig/find/util.c 2011-04-03 18:53:11.000000000 -0400 +++ findutils-4.5.10/find/util.c 2012-01-16 16:06:17.309814520 -0500 @@ -1006,6 +1006,7 @@ p->full_days = false; p->stay_on_filesystem = false; + p->bypass_autofs = false; p->ignore_readdir_race = false; if (p->posixly_correct) ++++++ findutils-4.5.10-prune_unknown.patch ++++++ Index: locate/updatedb.sh =================================================================== --- locate/updatedb.sh.orig 2012-02-13 14:29:16.754208481 +0100 +++ locate/updatedb.sh 2012-02-13 14:29:43.317560656 +0100 @@ -228,7 +228,7 @@ done PATH=/bin:/usr/bin:${BINDIR}; export PATH -: ${PRUNEFS="nfs NFS proc afs smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs cifs 9P"} +: ${PRUNEFS="nfs NFS proc afs smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs cifs 9P unknown"} if test -n "$PRUNEFS"; then prunefs_exp=`echo $PRUNEFS |sed -e 's/\([^ ][^ ]*\)/-o -fstype \1/g' \ ++++++ findutils-4.5.10-updatedb_ignore_nfsv4.patch ++++++ Index: locate/updatedb.sh =================================================================== --- locate/updatedb.sh.orig 2012-02-13 14:30:01.105126826 +0100 +++ locate/updatedb.sh 2012-02-13 14:30:17.708721842 +0100 @@ -228,7 +228,7 @@ done PATH=/bin:/usr/bin:${BINDIR}; export PATH -: ${PRUNEFS="nfs NFS proc afs smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs cifs 9P unknown"} +: ${PRUNEFS="nfs nfs4 NFS proc afs smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs sysfs shfs cifs 9P unknown"} if test -n "$PRUNEFS"; then prunefs_exp=`echo $PRUNEFS |sed -e 's/\([^ ][^ ]*\)/-o -fstype \1/g' \ ++++++ findutils-4.5.10-use_proc_mounts.patch ++++++ --- gnulib/lib/mountlist.c.orig 2012-01-16 15:24:39.982035415 -0500 +++ gnulib/lib/mountlist.c 2012-01-16 15:26:14.587852681 -0500 @@ -71,6 +71,11 @@ # endif #endif +#if defined __linux__ +# undef MOUNTED +# define MOUNTED "/proc/mounts" +#endif + #ifdef MOUNTED_GETMNTINFO /* 4.4BSD. */ # include <sys/mount.h> #endif ++++++ findutils-automake-1.12.patch ++++++ Index: findutils-4.5.10/configure.ac =================================================================== --- findutils-4.5.10.orig/configure.ac +++ findutils-4.5.10/configure.ac @@ -77,8 +77,6 @@ AC_PROG_CPP dnl for gnulib gl_EARLY -AM_C_PROTOTYPES - AC_PROG_INSTALL AC_PROG_RANLIB dnl AC_PROG_LIBTOOL ++++++ findutils-init_stat_buf.patch ++++++ From: Philipp Thomas <[email protected]> Date: 2012-11-13 11:58:38+01:00 Subject: Find by inode fails because of uninitialized structure References: bnc#780928 Upstream: http://savannah.gnu.org/bugs/?37683 stat_buf in find.c(process_path) wasn't initialized and always contained the inode no. of the first file. util.c(get_info) then thought it already had the inode information and the following comparison in pred.c(pred_inum) in fails of cause. --- find/find.c | 1 + 1 file changed, 1 insertion(+) Index: find/find.c =================================================================== --- find/find.c.orig 2011-04-04 00:53:11.000000000 +0200 +++ find/find.c 2012-11-13 11:57:46.161844128 +0100 @@ -1131,6 +1131,7 @@ process_path (char *pathname, char *name eval_tree = get_eval_tree (); /* Assume it is a non-directory initially. */ + memset(&stat_buf,'\0',sizeof(stat_buf)); stat_buf.st_mode = 0; state.rel_pathname = name; state.type = 0; ++++++ findutils-stdio.in.patch ++++++ Index: findutils-4.5.10/gnulib/lib/stdio.in.h =================================================================== --- findutils-4.5.10.orig/gnulib/lib/stdio.in.h +++ findutils-4.5.10/gnulib/lib/stdio.in.h @@ -178,9 +178,10 @@ _GL_WARN_ON_USE (fflush, "fflush is not /* It is very rare that the developer ever has full control of stdin, so any use of gets warrants an unconditional warning. Assume it is always declared, since it is required by C89. */ +#if HAVE_RAW_DECL_GETS #undef gets _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - +#endif #if @GNULIB_FOPEN@ # if @REPLACE_FOPEN@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) ++++++ sysconfig.locate ++++++ ## Path: Applications/Locate ## Description: Configuration of updatedb # # NOTE: These variables only apply when updatedb is run via cron # ## Type: yesno ## Default: yes # # Should updatedb (for locate) be started by cron.daily ("yes" or "no") # RUN_UPDATEDB=yes ## Type: string(nobody,root) ## Default: nobody # # updatedb has a parameter "--localuser". # It runs the "find" command as this user. Some people think this is a # security hole if set to 'root' (because some directory information can # be read which is normally protected). Others think it is useful to hold # all files in the database. # So if you want full information in locate db, set RUN_UPDATEDB_AS=root. # If you want security use RUN_UPDATEDB_AS=nobody. # RUN_UPDATEDB_AS=nobody ## Type: string ## Default: "" # # uptdatedb normally only scans local harddisks, but can include net paths # in the database as well. If you specify directories here, they will be # scanned. # UPDATEDB_NETPATHS="" ## Type: string ## Default: "/mnt /cdrom /tmp /usr/tmp /var/tmp /var/spool /proc /media /sys /.snapshot" # # uptdatedb can skip directories for its database. The following parameter # says which ones. # UPDATEDB_PRUNEPATHS="/mnt /cdrom /tmp /usr/tmp /var/tmp /var/spool /proc /media /sys /.snapshots /var/run/media" ## Type: string("",nobody) ## Default: "" # # Search net paths as ? (e.g. nobody) # UPDATEDB_NETUSER="" ## Type: string ## Default: "" # # updatedb can skip certain filesystem types completely # this sets the parameter "--prunefs" for updatedb # UPDATEDB_PRUNEFS="" -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
