Summary: The GNU versions of find utilities (find and xargs).
Summary(ja):  find ユーティリティの GNU バージョン (find および xargs).
Name: findutils
Version: 4.10.0
Release: 2%{?_dist_release}
Group: system,accessories
Vendor: Project Vine
Distribution: Vine Linux

License: GPL
Source0: https://ftp.gnu.org/gnu/findutils/findutils-%{version}.tar.xz

# do not build locate
Patch1:  findutils-4.5.15-no-locate.patch

# add -xautofs option to not descend into directories on autofs file systems
Patch2:  findutils-4.4.2-xautofs.patch

# eliminate compile-time warnings
Patch3:  findutils-4.5.13-warnings.patch

# test-lock: disable the rwlock test
Patch4:  findutils-4.6.0-test-lock.patch

# implement the -noleaf option of find (#1252549)
Patch5:  findutils-4.6.0-leaf-opt.patch

# fix find not obeying -ignore_readdir_race in symlink_loop (#2232278)
Patch6:  findutils-4.9.0-ignore_readdir_race-symlink_loop.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libtool, automake, autoconf
BuildRequires: dejagnu, gettext, texinfo, git
Provides: /bin/find

%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 filename 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.


%debug_package


%prep
%autosetup -N -S git

# drop the source code of locate
git rm -q -r locate
git commit -q -m "drop the source code of locate"

# remove ignored files from git and mark them as ignored
tee -a .gitignore << EOF
*~
Makefile.in
/aclocal.m4
/autom4te.cache
/build
/configure
/doc/find.info*
/doc/stamp-vti
/doc/version.texi
EOF
git rm -q -r --cached .
git add --all .
git commit -m "remove ignored files from git"

# apply all patches
%autopatch

# needed because of findutils-4.5.15-no-locate.patch
autoreconf -fiv
git add --all .
git commit -q -m "after invocation of autoreconf"


%build
mkdir build
cd build
%global _configure ../configure
%configure

make %{?_smp_mflags}


%install
%make_install -C build

rm -f %{buildroot}%{_infodir}/dir

%find_lang %{name}


%check
make %{?_smp_mflags} check -C build


%post
if [ ! -L /bin -a ! -e /bin/find ]; then
  ln -sf ../usr/bin/find /bin/
fi

%triggerpostun -- findutils < 5.3.0-2
if [ ! -L /bin -a ! -e /bin/find ]; then
  ln -sf ../usr/bin/find /bin/
fi


%files -f %{name}.lang
%defattr(-,root,root)
%license COPYING
%doc AUTHORS NEWS README THANKS TODO
%{_bindir}/find
%{_bindir}/xargs
%{_mandir}/man1/find.1*
%{_mandir}/man1/xargs.1*
%{_infodir}/find.info*
%{_infodir}/find-maint.info*


%changelog
* Sun Jul 07 2024 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.10.0-2
- prepared for usrmerge.

* Mon Jun 17 2024 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.10.0-1
- new upstream release.

* Mon Feb 22 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.8.0-1
- new upstream release.
- updated patches.

* Wed Mar 18 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 4.7.0-1
- new upstream release.
- updated patches.

* Sun Jul 20 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 4.5.10-2
- rebuild with VineSeed environment
- add Patch0 (findutils-4.5.10-gets.patch)

* Thu Nov 29 2012 Daisuke SUZUKI <daisuke@linux.or.jp> 4.5.10-1
- new upstream reelase

* Mon Apr 11 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 4.5.9-1
- new upstream release

* Sun Mar 29 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 4.4.0-2
- move find to /bin
  - we'd use find in initscripts

* Fri May 23 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 4.4.0-1
- new versioning policy
- new upstream release

* Mon Oct 22 2007 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 4.2.31-0vl1
- new upstream release (including security fix for CVE-2007-2452)

* Thu May 04 2006 Daisuke SUZUKI <daisuke@linux.or.jp> 4.2.27-0vl1
- new upstream release
- use License instead of Copyright
- change Group to System Environment/Base

* Tue Jun 21 2005 Daisuke SUZUKI <daisuke@linux.or.jp> 4.2.23-0vl1
- new upstream release
- drop unneeded patches

* Sat Jan 20 2001 Lisa Sagami <czs14350@mb.infoweb.ne.jp>
- 4.1.5-0vl3
- usr better macros (%%configure/%%makeinstall)

* Tue Nov 21 2000 Jun Nishii <jun@vinelinux.org>
- 4.1.5-0vl2
- bug fix for -O002

* Wed Jun  7 2000 Yasuyuki Furukawa <furukawa@vinelinux.org>
- 4.1.5
- added ja.po

* Mon Apr  3 2000 Bernhard Rosenkraenzer <bero@redhat.com>
- 4.1.4
- remove some obsolete patches, adapt others
- fix build on alpha

* Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com>
- fix summary
- ma  pages are compressed

* Wed Jan 12 2000 Preston Brown <pbrown@redhat.com>
- new description.

* Fri Aug 27 1999 Preston Brown <pbrown@redhat.com>
- fixed block count bug (# 2141)

* Mon Mar 29 1999 Preston Brown <pbrown@redhat.com>
- patch to fix xargs out of bounds overflow (bug # 1279)

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 30)

* Fri Mar 19 1999 Jeff Johnson <jbj@redhat.com>
- strip binaries.

* Mon Feb  8 1999 Jeff Johnson <jbj@redhat.com>
- remove further updatedb remnants (#1072).

* Thu Dec 03 1998 Cristian Gafton <gafton@redhat.com>
- added patch for glibc21

* Mon Nov 16 1998 Erik Troan <ewt@redhat.com>
- removed locate stuff (as we now ship slocate)

* Wed Jun 10 1998 Erik Troan <ewt@redhat.com>
- updated updatedb cron script to not look for $TMPNAME.n (which was
  a relic anyway)
- added -b parameters to all of the patches

* Fri Apr 24 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Mon Mar 09 1998 Michael K. Johnson <johnsonm@redhat.com>
- make updatedb.cron use mktemp correctly
- make updatedb use mktemp

* Sun Nov 09 1997 Michael K. Johnson <johnsonm@redhat.com>
- nobody should own tmpfile
- ignore /net

* Wed Nov 05 1997 Michael K. Johnson <johnsonm@redhat.com>
- made updatedb.cron do a better job of cleaning up after itself.

* Tue Oct 28 1997 Donald Barnes <djb@redhat.com>
- fixed 64 bit-ism in getline.c, patch tacked on to end of glibc one

* Thu Oct 23 1997 Erik Troan <ewt@redhat.com>
- added patch for glibc 2.1

* Fri Oct 17 1997 Donnie Barnes <djb@redhat.com>
- added BuildRoot support

* Tue Oct 14 1997 Michael K. Johnson <johnsonm@redhat.com>
- made updatedb.cron work even if "nobody" can't read /root
- use mktemp in updatedb.cron

* Sun Sep 14 1997 Erik Troan <ewt@redhat.com>
- added missing info pages
- uses install-info

* Mon Jun 02 1997 Erik Troan <ewt@redhat.com>
- built with glibc

* Mon Apr 21 1997 Michael K. Johnson <johnsonm@redhat.com>
- fixed updatedb.cron
