commit 21999244ac6b34a75b2966962f1071a4a27b38c3 Author: zyppe <210hcl@gmail.com> Date: Wed Feb 7 23:07:37 2024 +0800 Initialize for findutils diff --git a/.findutils.metadata b/.findutils.metadata new file mode 100644 index 0000000..bd891f4 --- /dev/null +++ b/.findutils.metadata @@ -0,0 +1 @@ +eea46772c476c3f76465c9c7e4718eabe674747f6f0b5d99e85c8bd2fa849e8e findutils-4.8.0.tar.xz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93d1b42 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +findutils-4.8.0.tar.xz diff --git a/findutils-4.8.0.tar.xz.sig b/findutils-4.8.0.tar.xz.sig new file mode 100644 index 0000000..299114e --- /dev/null +++ b/findutils-4.8.0.tar.xz.sig @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCAAdFiEEpRidtpwRZNMwApNmRlAu95aRcZUFAl/53q8ACgkQRlAu95aR +cZVPlwgAshQRkDwagj5Zi1tFovX2GBbGfoTT9PddleIqGCieCy28GvVRkQNKf/q9 +8hjZ5L/dKUhMPQuoiB6zlL2iVzWz/8pHxBIbCWUqWEIyoubSzPI6oSfpKmzODLNk +2BBWcM+7uTPEK7Q/l2GCk7R1txzFM7izk5wwyVNtq0ARjU0njUm3w6wSgKUcXKpR +deV4psEwSkkUzcZ/IBXKZrW41Dtj4LaS0AsIqj4j1lUsDyYd/NC4Z66GAlg80PRK +7TOv8AHels0nXpgJtWiwcIz74MmCfbMq8IL1vzoTVEMMYItRkGyREoGTKnDecjCm +w9GvH4sTRO0h7JDWjKMDXD2ZxHxXmg== +=QPJY +-----END PGP SIGNATURE----- diff --git a/findutils-xautofs.patch b/findutils-xautofs.patch new file mode 100644 index 0000000..4bcc93f --- /dev/null +++ b/findutils-xautofs.patch @@ -0,0 +1,127 @@ +--- + doc/find.texi | 4 ++++ + find/defs.h | 3 +++ + find/find.1 | 3 +++ + find/ftsfind.c | 6 ++++++ + find/parser.c | 12 ++++++++++++ + find/util.c | 3 ++- + 6 files changed, 30 insertions(+), 1 deletion(-) + +Index: doc/find.texi +=================================================================== +--- doc/find.texi.orig ++++ doc/find.texi +@@ -1475,6 +1475,10 @@ them. + 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 +Index: find/defs.h +=================================================================== +--- find/defs.h.orig ++++ find/defs.h +@@ -574,6 +574,9 @@ struct options + /* 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. + */ +Index: find/find.1 +=================================================================== +--- find/find.1.orig ++++ find/find.1 +@@ -567,6 +567,9 @@ to stat them; this gives a significant i + .IP "\-version, \-\-version" + Print the \fBfind\fR version number and exit. + ++.IP \-xautofs ++Don't descend directories on autofs filesystems. ++ + .IP \-xdev + Don't descend directories on other filesystems. + +Index: find/ftsfind.c +=================================================================== +--- find/ftsfind.c.orig ++++ find/ftsfind.c +@@ -479,6 +479,12 @@ consider_visiting (FTS *p, FTSENT *ent) + } + } + ++ 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 */ +Index: find/parser.c +=================================================================== +--- find/parser.c.orig ++++ find/parser.c +@@ -138,6 +138,7 @@ static bool parse_used (const s + static bool parse_user (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); +@@ -302,6 +303,7 @@ static struct parser_table const parse_t + PARSE_TEST_NP ("wholename", wholename), /* GNU, replaced -path, but now -path is standardized since POSIX 2008 */ + {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. +@@ -2604,6 +2606,16 @@ parse_xdev (const struct parser_table* e + } + + 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; +Index: find/util.c +=================================================================== +--- find/util.c.orig ++++ find/util.c +@@ -181,7 +181,7 @@ operators (decreasing precedence; -and i + positional options (always true): -daystart -follow -regextype\n\n\ + normal options (always true, specified before other expressions):\n\ + -depth --help -maxdepth LEVELS -mindepth LEVELS -mount -noleaf\n\ +- --version -xdev -ignore_readdir_race -noignore_readdir_race\n")); ++ --version -xdev -xautofs -ignore_readdir_race -noignore_readdir_race\n")); + HTL (_("\ + tests (N can be +N or -N or N): -amin N -anewer FILE -atime N -cmin N\n\ + -cnewer FILE -ctime N -empty -false -fstype TYPE -gid N -group NAME\n\ +@@ -1044,6 +1044,7 @@ set_option_defaults (struct options *p) + + p->full_days = false; + p->stay_on_filesystem = false; ++ p->bypass_autofs = false; + p->ignore_readdir_race = false; + + if (p->posixly_correct) diff --git a/findutils.changes b/findutils.changes new file mode 100644 index 0000000..6e30b24 --- /dev/null +++ b/findutils.changes @@ -0,0 +1,673 @@ +* Mon Apr 19 2021 christian.voegl@suse.com +- Use new Group Release Keyring +* Sat Jan 9 2021 andreas.stieger@gmx.de +- update upstream signing key +- remove deprecated texinfo packaging macros +- run spec-cleaner +* Sat Jan 9 2021 mail@bernhard-voelker.de +- Update to 4.8.0. + Announcement: https://savannah.gnu.org/forum/forum.php?forum_id=9914 +- findutils.spec: + - Source0: Fix download URL: remove "pub/". + - %%check: Output the content of all test-suite files in case of errors. +- Remove now-upstream patches: + - disable-null-ptr-test.patch + - findutils-gnulib-disable-test-float.patch + - findutils-gnulib-test-avoid-FP-perror-strerror.patch +* Fri Oct 16 2020 lnussel@suse.de +- prepare usrmerge (boo#1029961) +* Sun Aug 30 2020 mail@bernhard-voelker.de +- findutils-gnulib-test-avoid-FP-perror-strerror.patch: Add patch to + avoid false-positive error in gnulib tests 'test-perror2' and + 'test-strerror_r', visible on armv7l. +- findutils.spec: Reference the patch. +- disable-null-ptr-test.patch: Refresh with -p0. +* Tue Aug 11 2020 mail@bernhard-voelker.de +- findutils.keyring: Update GPG keys of Bob Proulx. + Prompted by an error of 'osc service localrun download_files'. +* Thu Jun 11 2020 mail@bernhard-voelker.de +- findutils.spec: Avoid conditional Patch definition as this breaks + cross-platform building from source RPMs. +* Wed Jun 10 2020 mail@bernhard-voelker.de +- findutils-gnulib-disable-test-float.patch: Add patch to temporarily + disable the gnulib test 'test-float' failing on ppc and ppc64le. +- findutils.spec: Reference the patch. +* Wed Nov 20 2019 mliska@suse.cz +- Add disable-null-ptr-test.patch in order to fix boo#1157342. +* Thu Aug 29 2019 mail@bernhard-voelker.de +- Upgrade to 4.7.0. +- findutils.spec: + - Change source compression from gzip to xz. + - Align comments about how to bump the version. + - Activate the signature checking via *.sig and keyring files. + - Remove downstream hack in %%check section to make a test executable. +- Delete obsolete patches: + - disable-broken-tests.patch + - gnulib-libio.patch + - sv-bug-48030-find-exec-plus-does-not-pass-all-arguments.patch + - sysmacros.patch +- findutils-4.4.2-xautofs.patch: Refresh, and rename ... +- findutils-xautofs.patch: ... to this. +* Thu Jun 20 2019 mliska@suse.cz +- Add disable-broken-tests.patch in order to remove broken + tests (boo#1138800). +* Wed Aug 1 2018 schwab@suse.de +- gnulib-libio.patch: Update gnulib for libio.h removal +- sysmacros.patch: Include for makedev +* Thu Feb 22 2018 fvogt@suse.com +- Use %%license (boo#1082318) +* Tue May 31 2016 mail@bernhard-voelker.de +- sv-bug-48030-find-exec-plus-does-not-pass-all-arguments.patch: + Add upstream patch to fix https://savannah.gnu.org/bugs/?48030 +* Mon Jan 11 2016 mail@bernhard-voelker.de +- Upgrade to 4.6.0 + stable release, removing 'oldfind'. +- Delete now-upstream patches: findutils-gnulib-ppc64le.patch, + gnulib-perl522.patch +- Refresh patch: findutils-4.4.2-xautofs.patch +* Sun Dec 20 2015 mail@bernhard-voelker.de +- Upgrade to 4.5.15 +- Delete now-upstream patch: + findutils-oldfind-fix-dotdot-skipping.patch +- Refresh patches: + findutils-4.4.2-xautofs.patch + gnulib-perl522.patch +* Mon Jul 6 2015 coolo@suse.com +- add gnulib-perl522.patch from gnulib upstream +* Tue Jan 6 2015 mail@bernhard-voelker.de +- findutils-oldfind-fix-dotdot-skipping.patch: Add upstream patch + to fix 'oldfind' which skipped all files starting with ".." + (e.g. "..file"). +- findutils.spec: Add BuildRequires:dejagnu - otherwise only a + very limited set of the tests was run by 'make check'. +* Sun Aug 3 2014 mail@bernhard-voelker.de +- Upgrade to 4.5.14 +- Refresh patches: + findutils-4.4.2-xautofs.patch + findutils-gnulib-ppc64le.patch (using -p0 for consistency) +- findutils.spec (Version): s/4.5.12/4.5/14 + (%%patch1): Remove -p1. + (%%configure): Remove --without-included-regex option, + as it is the default anyway. +* Wed Dec 18 2013 uweigand@de.ibm.com +- findutils-gnulib-ppc64le.patch: Fix imported gnulib long double + math tests for little-endian PowerPC. +* Thu Dec 5 2013 pth@suse.de +- Do not build findutils-locate anymore as mlocate obsoletes it + since openSUSE 13.1. +- Remove findutils-4.4.2-updatedb.patch as it's not needed anymore. +- Remove cron.daily.updatedb and sysconfig.locate as they aren't + needed anymore. +* Thu Oct 24 2013 pth@suse.de +- Fix spelling of the btrfs snapshot directory (bnc#847240). +* Thu Sep 26 2013 schwab@suse.de +- Conditionalize the qemu arg size workaround on %%qemu_user_space_build +* Mon Sep 23 2013 mail@bernhard-voelker.de +- Remove patches: + - findutils-4.5.10-use_proc_mounts.patch: + /etc/mtab is a link to /proc/self/mounts nowadays. + - findutils-4.5.10-prune_unknown.patch: + merge patch into findutils-4.4.2-updatedb.patch. + - findutils-4.5.10-updatedb_ignore_nfsv4.patch: + fixed upstream. + - findutils-stdio.in.patch: + fixed upstream (in included gnulib). + - findutils-init_stat_buf.patch: + fixed upstream. +- Refresh other patches: + - findutils-4.4.2-updatedb.patch: + refresh with changes from the above, removed patch. + - findutils-4.4.2-xautofs.patch: + refresh, and added -xautofs in find's usage text. +- Adapt findutils.spec: + - Version bump. + - Remove above removed patches. + - Add BuildRequires for makeinfo. + - configure call: remove --enable-d_type-optimization + option because turned on by default since 4.2.15. + - Do not remove oldfind's man page in %%install. + - Add oldfind's binary and man page in %%files. +- Update to 4.5.12 + See /usr/share/doc/packages/findutils/NEWS, + section "Major changes in release 4.5.12, 2013-09-22" +- Update to 4.5.11 (2013-02-02) + See /usr/share/doc/packages/findutils/NEWS, + section "Major changes in release 4.5.11, 2013-02-02" +* Tue Apr 23 2013 pth@suse.de +- Add /var/run/media to UPDATEDB_PRUNEPATHS in sysconfig.locate + so that updatedb doesn't index removable media (bnc#807170). +* Tue Mar 26 2013 mmeister@suse.com +- Added url as source. + Please see http://en.opensuse.org/SourceUrls +* Wed Feb 6 2013 schwab@suse.de +- Remove useless findutils-automake-1.12.patch +* Wed Dec 5 2012 pth@suse.de +- 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 2012 pth@suse.de +- 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 2012 aj@suse.de +- Fix build with missing gets declaration (glibc 2.16) +* Wed May 30 2012 sweet_f_a@gmx.de +- remove useless automake dependency, it was needed for selinux.patch + which has been removed since findutils 4.5.10 +* Tue May 29 2012 puzel@suse.com +- fix build with automake-1.12 + - add: automake-1.12.patch +* Mon Feb 13 2012 pth@suse.de +- Fix updatedb to work again (bnc#746610). +* Sat Feb 4 2012 rschweikert@suse.com +- keep binary in /usr tree (UsrMerge project) +* Tue Jan 17 2012 tabraham@novell.com +- 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 + + Updated translations - French, Indonesian + + doc: bug #23070 - corrected manpage description of find -perm /000 + (the change was already made by the manpage indicated the change + would happen "soon") +- Update to 4.5.1 + + New translation - Lithuanian + + Updated translation - Chinese (simplified) + + doc: added a working example describing how to find the + shallowest instances of a given directoty name (or names) in a + directory hierarchy + + fixed bug #22662 - find -printf %%AX appends nanoseconds in the + right place now + + fixed bug #23663 - crash in some locales for -print %%AX (this + problem seems to have affected only the CVS code, and not any + public releases) +- Update to 4.5.0 + + If POSIXLY_CORRECT environment variable is set, the system's + definition of "yes" and "no" responses are used to interpret + the response to questions from -ok and -okdir. The default is + still to use information from the findutils message translations. + + If xargs find that exec fails because the argument size limit it + calculated is larger than the system's actual maximum, it now + adapts by passing fewer arguments (as opposed to failing) + + The default optimization level for find is now -O2 instead of + - O0 meaning that a number of additional optimizations are + performed by default. Current optimizations at each level are: + 0: Perform -name, -path, -iname, -ipath before other checks + 1: Expressions containing only cost-free tests are evaluated + before expressions which contain more costly tests + 2: Bring forward all tests that need to know the type of a file + but don't need to stat it + 3: All tests are ordered by their estimated cost + Cost here is simply an estimate of how time consuming the I/O + operations needed to make a test are + + Various bug fixes (See NEWS) +* Thu Dec 1 2011 coolo@suse.com +- add automake as buildrequire to avoid implicit dependency +* Sun Sep 18 2011 jengelh@medozas.de +- Apply packaging guidelines (remove redundant/obsolete + tags/sections from specfile, etc.) +* Fri Apr 29 2011 pth@suse.de +- findutils-locate needs find so require findutils. +* Wed Nov 17 2010 pth@suse.de +- Really do use /proc/mounts instead of /etc/mtab. +* Mon Sep 27 2010 lnussel@suse.de +- remove nobody wrapper again. It's not needed due to a fix in + coreutils that allows su from root to any user without account + checks. +* Mon Aug 23 2010 pth@suse.de +- Add NFSv4 to updatedb's prune list, i.e. make it ignore such + file systems. +* Fri Jul 30 2010 werner@suse.de +- Add a simple wrapper for user root to switch over to user nobody + for the command ls and find without using su. +* Thu Apr 1 2010 pth@suse.de +- Use /proc/mounts instead of /etc/mtab as in newer kernels autofs + entries appear only in the former (bnc#591460) +- updatedb will by default ignore filesystems where it can't determine the + type. +* Mon Mar 8 2010 prusnak@suse.cz +- updated to 4.4.2 + * see NEWS for more info +- updated SElinux patches (selinux.patch, selinux-gnulib.patch) +- added more patches from Fedora (autofs.patch, ftsremount.patch, xautofs.patch) +- findutils.patch renamed to updatedb.patch +- split-off lang package +* Fri Jul 10 2009 jansimon.moeller@opensuse.org +- Workaround for a qemu-user bug, we hit. + A qemu patch is being discussed, but for now ... + This is important for the ARM build process to work. +* Tue Mar 10 2009 werner@suse.de +- Fix manual page [bnc#466425] +* Mon Sep 1 2008 schwab@suse.de +- Fix last change. +- Optimize find expressions in updatedb. +* Mon Aug 25 2008 prusnak@suse.cz +- enabled SELinux support [Fate#303662] +* Mon Aug 11 2008 schwab@suse.de +- Fix undefined behaviour. +* Mon Aug 4 2008 schwab@suse.de +- Don't use fts. +* Tue Mar 18 2008 schwab@suse.de +- Update to findutils 4.4.0. + See NEWS for details. +* Sun Feb 24 2008 crrodriguez@suse.de +- use find_lang macro +* Thu Feb 14 2008 schwab@suse.de +- Update to findutils 4.2.33. + * * Translations + The following translations are new: + Ukranian + The following translations have been updated: + Hungarian, Dutch, Slovenian, Swedish, Traditional Chinese, + Polish, Irish, Portuguese, Slovak. +* Fri Jan 25 2008 schwab@suse.de +- Update to findutils 4.2.32. + * * License changes + This version of findutils is now distributed under version 3 (or + later) of the GNU GPL. The documentation is distributed under + version 1.2 (or later) of the GNU Free Documentation License. + * * Documentation Fixes + [#19596]: -printf %%b should be compared with %%s/512, not %%s/1024. + * * Bug Fixes + [#21568]: When building from CVS in 4.2.x, we now check gnulib out using git + instead of CVS. This fixes Savannah bug 21568, the problem being that + git-cvspserevr does not currently support -D, and the ond CVS server + for gnulib has been frozen. + [#20970]: Trailing slash on directory arguments breaks -name. "find + foo/ -name foo" now correctly matches foo and printf foo/. See POSIX + interp http://www.opengroup.org/austin/interps/uploads/40/14959/AI-186.txt + [#20751]: Avoid memory corruption in find -ls that has been present + since 4.2.28. + [#20662]: Avoid memory leak in find -name and other places affected by + gnulib dirname module. The leak had been present since 4.2.28. + [#20310]: configure uses hosts's support status for "sort -z" when + generating the updatedb script for use on the target. This is not a + reliable strategy when cross-compiling, so assume no support for -z in + that situation. + [#20273]: When xargs is successful without consuming all of stdin (for + example, with the -E option), and stdin is seekable, xargs now + correctly restores the file position, even on platforms where exit() + does not follow the POSIX rules of doing likewise. Likewise for find + (for example, with the -ok action). + [#19660]: Fix compilation failure on Cygwin. + [#15384]: Find misbehaves when parent directory is not readable. + * * Enhancements + [#20688]: The warning printed by -name or -iname when the pattern to + match contains a slash can now be silenced by -nowarn. This warning + was originally introduced unconditionally in 4.2.21. +* Thu Jul 5 2007 schwab@suse.de +- Drop clean core script. +* Sun Jun 3 2007 schwab@suse.de +- Update to findutils 4.2.31. + * * Security Fixes + [#20014]: Findutils-4.2.31 includes a patch for a potential security + problem in locate. When locate read an old-format database, it read + file names into a fixed-length buffer allocated on the heap without + checking for overflow. Although overflowing a heap buffer if often + somewhat safer than overflowing a buffer on the stack, this bug still + has potential security implications. + All previous releases of findutils are affected by this bug. It has + been assigned CVE number CVE-2007-2452. + * * Documentation Fixes + [#19596]: Corrected the documentation for "find -printf %%b". + [#19483]: updatedb manpage has inconsistent highlighting for --help + option. + [#19155]: Fixed typo in the output of "locate --help". + * * Other Bug Fixes + [#19658]: When cross-compiling, "make clean" no longer deletes the + generated file doc/regexprops.texi, because there is no way to + regenerate it. + [#19484]: Decompressed data is wrong in locate if the first filename + indexed by updatedb starts with a space (instead of a slash). + * * Other Changes + Findutils has switched to a new way of building the code from gnulib. + There should be no functional difference; the change should not be + visible to those using the findutils binaries, except for changes to + the output of "find --version", which should now show the version of + Gnulib which was used. +* Wed Feb 28 2007 schwab@suse.de +- Update to findutils 4.2.30. + * * Bug Fixes + Savannah Bug #13252: The test suite now works on platforms where + DejaGnu is based on Tcl 8.3 (previously, 8.4 or later was required). + Savannah Bug bug #17861: this version should build on Solaris and HPUX + once again. + Savannah Bug #18433: findutils now compiles if "--enable-debug" was + specified as an option to configure. Previously this caused a + compilation failure in find. + * * Documentation Fixes + Some typos in the Texinfo manual and one typo in in the usage message + for xargs have been fixed. +* Mon Feb 12 2007 schwab@suse.de +- Fix memleaks. +* Mon Dec 4 2006 schwab@suse.de +- Update to findutils 4.2.29. + * * Documentation Fixes + The global effect of options (other than -daystart and -follow) is now + explained more clearly in the manual page. Savannah bug #15360. + * * Bug Fixes + [#17782]: find -execdir now correctly puts the prefix "./" before the + expansion of "{}" rather than at the start of the argument it appears + in. Please note that if you use the -exec or -execdir actions with a + shell, then you may be vulnerable to shell code injection attacks, so + don't do that. It's not a security defect in find - you should not be + passing untrusted data (such as file names chosen by other people) to + the shell. + [#17477]: find -printf '%%' (that is, where the format has a trailing %%) + now generates an error message. +* Mon Nov 20 2006 schwab@suse.de +- cron.daily.clean_core: robustify even more. +* Mon Oct 16 2006 schwab@suse.de +- cron.daily.clean_core: robustify to avoid matching non-cores [#210987]. +* Mon Aug 7 2006 schwab@suse.de +- Update to findutils 4.2.28. + * * Bug Fixes + Savannah bug #15800: If find finds more subdirectories within a parent + directory than it previously expected to based on the link count of + the parent, the resulting error message now gives the correct + directory name (previously an error message was issued but it + specified the wrong directory). + Savannah bug #16738: "find .... -exec ... {} +" now works if you have + a large environment and many files must be passed to the -exec + action. The same problem affected the -execdir action, though since + the number of files in a given directory will normally be smaller, the + problem was worse for -exec. + Savannah bug #16579: Updatedb now works if it is running as a user + whose login shell is not actually a shell. + * * Translations + The following translations have been updated: + Vietnamese, Belarusian, Catalan, Danish, German, Greek, Esperanto, + Spanish, Estonian, Finnish, French, Irish, Galician, Croatian, Hungarian, + Indonesian, Italian, Japanese, Korean, Luganda, Malay, Dutch, Polish, + Portuguese, Brazilian Portuguese, Romanian, Russian, Kinyarwanda, + Slovak, Slovenian, Serbian, Swedish, Turkish, Chinese (simplified), + Chinese (traditional), Bulgarian +* Mon Jul 24 2006 rguenther@suse.de +- Do not run autoreconf. +* Mon Jul 24 2006 schwab@suse.de +- Add 9P to PRUNEFS [#129339]. +* Fri Jun 30 2006 schwab@suse.de +- Add nfs4 to PRUNEFS [#189281]. +* Thu Mar 23 2006 schwab@suse.de +- Add /sys to UPDATEDB_PRUNEPATHS [#160354]. +* Wed Jan 25 2006 mls@suse.de +- converted neededforbuild to BuildRequires +* Mon Jan 16 2006 schwab@suse.de +- Fix permissions of cron scripts [#138550]. +* Wed Dec 7 2005 schwab@suse.de +- Update to findutils 4.2.27. +* Mon Dec 5 2005 schwab@suse.de +- Drop SELinux support. +* Tue Nov 22 2005 schwab@suse.de +- Update to findutils 4.2.26. +* Wed Oct 19 2005 schwab@suse.de +- Add cifs to the default for PRUNEFS [#129339]. +* Wed Oct 5 2005 schwab@suse.de +- Cleanup. +* Sun Sep 25 2005 schwab@suse.de +- Fix warnings. +* Sun Sep 4 2005 schwab@suse.de +- Update to findutils 4.2.25. +* Sun Sep 4 2005 schwab@suse.de +- Don't link libselinux statically. +* Mon Aug 1 2005 mmj@suse.de +- Make updatedb run as an idle io process +* Sun Jun 26 2005 schwab@suse.de +- Make regex syntax compatible to previous versions again. +* Mon Jun 20 2005 schwab@suse.de +- Update to findutils 4.2.23. +* Wed Jun 1 2005 schwab@suse.de +- Rename cron scripts. +* Thu Mar 24 2005 schwab@suse.de +- Update to findutils 4.2.20. +* Wed Mar 9 2005 schwab@suse.de +- Update to findutils 4.2.19 [#71803]. +* Sat Feb 19 2005 schwab@suse.de +- Update to findutils 4.2.18. +* Mon Jan 31 2005 schwab@suse.de +- Update to findutils 4.2.15. +* Wed Jan 26 2005 schwab@suse.de +- Update to findutils 4.2.14. +* Mon Jan 24 2005 schwab@suse.de +- Update to findutils 4.2.13. +* Mon Jan 17 2005 schwab@suse.de +- Fix use of next_element. +* Wed Jan 12 2005 schwab@suse.de +- Update to findutils 4.2.11. +* Mon Nov 22 2004 schwab@suse.de +- Update to findutils 4.2.7. +* Mon Nov 1 2004 schwab@suse.de +- Update to findutils 4.2.3. +* Tue Oct 26 2004 schwab@suse.de +- Update to findutils 4.2.2. +* Thu Aug 5 2004 schwab@suse.de +- Update to findutils 4.1.20. +* Thu Jul 29 2004 schwab@suse.de +- Add patch to support d_type. +- Add patch to support POSIX xargs options. +* Mon Mar 15 2004 kukuk@suse.de +- Adjust for new SELinux version +* Fri Dec 12 2003 schwab@suse.de +- Fix file list. +* Tue Nov 11 2003 schwab@suse.de +- Terminate xargs help output with a newline. +* Wed Oct 15 2003 schwab@suse.de +- Cleanup selinux patch. +* Tue Oct 14 2003 ro@suse.de +- link libselinux static +* Tue Oct 14 2003 kukuk@suse.de +- Add selinux patch +- Build not as root +- Fix permissions in RPM filelist +* Fri Oct 3 2003 kukuk@suse.de +- Remove tetex from neededforbuild +* Tue May 13 2003 schwab@suse.de +- Add %%defattr. +- Fix file list. +* Thu Apr 24 2003 ro@suse.de +- fix install_info --delete call and move from preun to postun +* Mon Apr 7 2003 schwab@suse.de +- Only delete info entries when removing last version. +* Thu Mar 6 2003 schwab@suse.de +- Fix clean_core cron script [#22758]: + * use /etc/sysconfig/locate + * add proper quoting + * use mtime for finding old cores. +- Fix feedback address. +* Thu Feb 6 2003 schwab@suse.de +- Use %%install_info. +* Tue Dec 10 2002 schwab@suse.de +- Add meta tags to fillup templates. +* Fri Aug 9 2002 bk@suse.de +- findutils-locate: use nice -n 19 for the daily cronjob of updatedb +* Mon Aug 5 2002 schwab@suse.de +- Fix missing newline [#17427]. +* Wed Jul 31 2002 schwab@suse.de +- Add PreReq for locate. +* Sun Jun 23 2002 schwab@suse.de +- Make -name conforming to POSIX. +* Fri Mar 8 2002 schwab@suse.de +- Add some documentation [#14733]. +* Mon Feb 25 2002 schwab@suse.de +- Fix permissions. +* Wed Feb 6 2002 ro@suse.de +- sysconfig/cron_daily -> sysconfig/cron +* Thu Jan 31 2002 ro@suse.de +- added sysconfig.locate and cron.daily scripts updatedb and + clean core to locate subpackage +* Thu Jan 31 2002 schwab@suse.de +- Put locate and related programs in their own subpackage. +* Wed Jun 6 2001 schwab@suse.de +- Update to findutils 4.1.7. +* Thu Nov 23 2000 bk@suse.de +- added suse update config macro, was needed for s390 +* Tue Oct 24 2000 schwab@suse.de +- Update to findutils 4.1.6. +- Renamed from find. +* Fri Oct 13 2000 schwab@suse.de +- Fix substitution in updatedb script. +* Wed Sep 13 2000 schwab@suse.de +- Fix compilation problem with getline. +- Don't use included regex. +* Wed Sep 13 2000 schwab@suse.de +- Update to findutils 4.1.3. +* Thu Mar 16 2000 schwab@suse.de +- xargs: Move arg_max limit check after environ size check. +* Wed Feb 2 2000 schwab@suse.de +- Fix substitutions in updatedb. +* Mon Jan 17 2000 schwab@suse.de +- /usr/{info,man} -> /usr/share/{info,man} +- Get rid of Makefile.Linux +- Remove some obsolete changes +* Mon Nov 15 1999 kukuk@suse.de +- fix returncode from dostat and dolstat +* Mon Sep 13 1999 bs@suse.de +- ran old prepare_spec on spec file to switch to new prepare_spec. +* Thu Aug 26 1999 schwab@suse.de +- fix "find -false , -name ." +* Fri Dec 18 1998 ro@suse.de +- for glibc: use getline from libc +* Tue Sep 1 1998 ro@suse.de +- fixed macro problems with strcpy,strdup,... +* Thu May 14 1998 florian@suse.de +- added "-s /bin/sh" to further 2 places +- also prune "afs smbfs autofs" filesystems +- fix "find / -xtype l" +- xargs: raise default limit of 20k to 80k for the environment and + all command parameters +* Mon Nov 10 1997 bs@suse.de +- added "-s /bin/sh" to su command in updatedb (our nobody has /bin/false + for default shell) +* Sun Apr 13 1997 florian@suse.de +- add bug-fixes from debian and gnu.utils.bugs +- updatedb now supports "--prunefs" +- "mv /usr/libexec/* /usr/lib/find/" diff --git a/findutils.keyring b/findutils.keyring new file mode 100644 index 0000000..da26a0f --- /dev/null +++ b/findutils.keyring @@ -0,0 +1,620 @@ +Release GPG keyring of findutils group. + +GPG keys of James Youngman +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +iJpHld5wbiXhNA18Lr5bV56Z+9IXwQ== +=Svgf +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Bob Proulx +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=MuTV +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Eric Blake +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.10 (GNU/Linux) +Comment: Public key at http://people.redhat.com/eblake/eblake.gpg + +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 +=FC1k +-----END PGP PUBLIC KEY BLOCK----- + +GPG keys of Bernhard Voelker +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +mQENBFPirzMBCACyzYldTjQ4ufFOkByY5Nn5USb5GFoL48nWBwNHjd9KUbtRRNlQ +iPNKd6hKGvd3BGi5aoFKA4ytfRk6jbAbW3jVb3R8wYaV08mOy4KVEKxqN4bxsXlM +jNChXVR+rtKDmfI+oPTL+cPH2X6gW4W02IRbVw0uUhNm6zEedC/gNrY/mTlf1enZ +46jxZ7BTUZaG+kx38UMISIMBzSzLRtdkwgmHj4jS3p1fF2cwRqLclIfMjKGpbNFP +EXeXKWrCLcqHw78795eAR9q0YvrDkfInGdDBwfb3VM4NdulwIFzvYZMSXvSbbyPL +B5YkHU5aAWQHUse4WlfT5ccDpbzUYldRAvF9ABEBAAG0K0Jlcm5oYXJkIFZvZWxr +ZXIgPG1haWxAYmVybmhhcmQtdm9lbGtlci5kZT6JATkEEwECACMFAlPirzMCGwMH +CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRBGUC73lpFxle5wCACCdbs0QaJ0 +vR3Sff2cKdTk41rUq3YfWngsR///IOU0C5DdkePmCnJE/lUsUy0LRTxcUDLxQR+x +QHU8ssRT0JUO9726dI3miy36UdsgmBYaOtLvQcidGmW1R7o0PYYf04+TFtyqKgng +OUBPpMgR6o4UsQxy/OD4bN1WDqOgIjL+D/qJpkKmgp6L6+hhaBCpiOFKRmmV7YyQ +3SqVlfQNiHs5ZtkRnXpIjgZARV+GllKucI17bO0CGmTJZ1tstVy0+W3DQT1lbBkT +Tc++5LONM99D3jjn23l1ocOpfolR53F7I4cb2RNfT23v1I59RH37lB9wMOqrKj0U +jYAC2YoPGQ3BuQENBFPirzMBCADXLWWpQihBldY6reca8ZKdc3T9qXEOa3akE3DW +KztIBmNJhtYOjmpLYajQTkGa7UoJTnbmZE2Rn6ZEoNnvb0gcFNAIcY95KOI+bjOR +8HEgh4cx2REXh6L6olIgyXqt/KFusE4wtVZAFxZl+30HzN6nD+1HvrjXxPJRX6Ms +IYOYyyX9/6OofwJK6QHODYGp8WL2olHDnmsXg4AT6Wlr7qKpKrQELlcFR4xkvdmg +L/Ghw/tK0yJTxMIcewCCZWLPOXRmFRbvAadZWPAgVsJ63siNyUlVnVMSzDgTJl+s +l/DMabXpqrJQx3/1Yy6mTaDs3XZT/wmBKaTLXx/LByaPxQQ7ABEBAAGJAR8EGAEC +AAkFAlPirzMCGwwACgkQRlAu95aRcZWVPwgAqZT6iTXkoP37wYb41323RzhBcJ8J +Sk4cyBDBUXX0lMrM3qhiClKG7phpxVdu817Gwc6Hsecg7FfjQAV8MHQ0ZFeEFdk3 +b2rKBqfsStc+h49/xF3Fb+ifCzR9qeQF82fMSxkg18++7hMcHCMO/hPZ/Q0xRi+l +rSr2QKDJQuLzSyVU14TxrCkevZjEhtmaVNvcJlJzCbiBXee9Fpc5jITUXPFG8E8d +xqo1n+duOyIMgozrAnzP7X5V/Ob/Ozf/aGGX9+JdinyfCX18nWcHALKMU/36Eua/ +ylalf/2c2YkBp9KCLVmGgPkUgW52EeRPgroIsiwu+rwCSV6ZUyCJ+OymCg== +=d/K6 +-----END PGP PUBLIC KEY BLOCK----- diff --git a/findutils.spec b/findutils.spec new file mode 100644 index 0000000..b8c97fe --- /dev/null +++ b/findutils.spec @@ -0,0 +1,106 @@ +# +# spec file for package findutils +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +Name: findutils +Version: 4.8.0 +Release: 1.20 +Summary: The GNU versions of find utilities (find and xargs) +License: GPL-3.0-or-later +Group: Productivity/File utilities +URL: https://www.gnu.org/software/findutils/ +# Upstream development: +# cgit-URL: https://git.savannah.gnu.org/cgit/findutils.git/ +# Git-Clone: git://git.sv.gnu.org/findutils +# For upgrading the upstream version, increase the version number (above), +# then remove the old tarball and signature files and let OSC download +# those files of the new version: +# osc rm findutils-*.tar.xz findutils-*.tar.xz.sig +# osc service localrun download_files +# osc addremove +# Then adjust the downstream patches (using quilt). +# Finally, add a changelog entry and commit: +# osc vc +# osc ci +Source0: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz +Source1: https://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig +Source2: https://savannah.gnu.org/project/release-gpgkeys.php?group=%{name}&download=1&file=./%{name}.keyring +# adds a new option -xautofs to find to not descend into directories on autofs file systems +Patch0: findutils-xautofs.patch +# BuildRequire dejagnu for 'runtest' to execute all tests. +BuildRequires: dejagnu +BuildRequires: makeinfo +Provides: find = %{version} +Obsoletes: find < %{version} +%if 0%{?suse_version} > 1100 +BuildRequires: libselinux-devel +%endif + +%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 + +%prep +%setup -q +%patch0 + +%build +%if 0%{?qemu_user_space_build} +# 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=%{_localstatedir}/lib + +%make_build + +%check +%make_build check \ + || { grep . */test-suite.log; exit 1; } + +%install +%make_install + +rm -f %{buildroot}%{_infodir}/find-maint* +%find_lang %{name} +%if !0%{?usrmerged} +mkdir -p %{buildroot}/bin +ln -sf %{_bindir}/find %{buildroot}/bin +%endif + +rm %{buildroot}%{_bindir}/locate +rm %{buildroot}%{_bindir}/updatedb +rm -r %{buildroot}%{_libdir}/find +rm %{buildroot}%{_mandir}/man1/locate.1* +rm %{buildroot}%{_mandir}/man1/updatedb.1* +rm %{buildroot}%{_mandir}/man5/locatedb.5* + +%files +%license COPYING +%doc AUTHORS NEWS README THANKS TODO +%if !0%{?usrmerged} +/bin/find +%endif +%{_bindir}/find +%{_bindir}/xargs +%{_infodir}/find.info*.gz +%{_mandir}/man1/find.1%{?ext_man} +%{_mandir}/man1/xargs.1%{?ext_man} + +%files lang -f %{name}.lang +%license COPYING + +%changelog