#
# Conditional build:
-%bcond_without selinux # build without SELinux support
+%bcond_without selinux # SELinux support
+%bcond_without tests # unit tests
#
Summary: GNU Find Utilities (find, xargs)
-Summary(de): GNU-Suchprogramme (find, xargs)
-Summary(es): Utilitarios de búsqueda de la GNU
-Summary(fr): Utilitaires de recherche de GNU (find, xargs)
-Summary(pl): Narzêdzia GNU do odnajdywania plików (find, xargs)
-Summary(pt_BR): Utilitários de procura da GNU
-Summary(tr): GNU dosya arama araçlarý
+Summary(de.UTF-8): GNU-Suchprogramme (find, xargs)
+Summary(es.UTF-8): Utilitarios de búsqueda de la GNU
+Summary(fr.UTF-8): Utilitaires de recherche de GNU (find, xargs)
+Summary(pl.UTF-8): Narzędzia GNU do odnajdywania plików (find, xargs)
+Summary(pt_BR.UTF-8): Utilitários de procura da GNU
+Summary(tr.UTF-8): GNU dosya arama araçları
Name: findutils
-Version: 4.2.8
+Version: 4.9.0
Release: 1
Epoch: 1
-License: GPL
+License: GPL v3+
Group: Applications/File
-Source0: ftp://alpha.gnu.org/gnu/findutils/%{name}-%{version}.tar.gz
-# Source0-md5: 3c276abe786d83c2f962912377b1e3b1
+# development versions at ftp://alpha.gnu.org/gnu/findutils/
+Source0: https://ftp.gnu.org/gnu/findutils/%{name}-%{version}.tar.xz
+# Source0-md5: 4a4a547e888a944b2f3af31d789a1137
#Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
Source1: %{name}-non-english-man-pages.tar.bz2
# Source1-md5: e76388b0c3218eec3557d05ccd6d6515
-Patch0: %{name}-info.patch
-Patch1: %{name}-mktemp.patch
+Patch0: %{name}-man-selinux.patch
+Patch1: %{name}-info.patch
+# (will be again after tp update) http://translationproject.org/latest/findutils/pl.po
Patch2: %{name}-pl.po-update.patch
-Patch3: %{name}-selinux.patch
-Patch4: %{name}-man-selinux.patch
URL: http://www.gnu.org/software/findutils/
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: gettext-devel
+BuildRequires: autoconf >= 2.69
+BuildRequires: automake >= 1:1.11
+BuildRequires: gettext-tools >= 0.19.3
%{?with_selinux:BuildRequires: libselinux-devel}
+BuildRequires: tar >= 1:1.22
BuildRequires: texinfo
+BuildRequires: xz
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
input arguments (usually lists of file names generated by the find
command).
-%description -l de
-Das findutils-Paket enthält Programme, die dabei helfen, Dateien auf
+%description -l de.UTF-8
+Das findutils-Paket enthält Programme, die dabei helfen, Dateien auf
Ihrem System zu finden. Das Find-Utility durchsucht die
Verzeichnishierarchie nach Dateien, die zu bestimmten Kriterien (z.B.
Dateiname) passen. Das locate-Utility durchsucht eine Datenbank
-(erzeugt durch updatedb), um die Dateien schneller finden zu können.
+(erzeugt durch updatedb), um die Dateien schneller finden zu können.
xargs konstruiert Kommandozeilen von der Standardeingabe (z.B.
-Dateilisten, die von find erzeugt werden), und führt sie aus.
+Dateilisten, die von find erzeugt werden), und führt sie aus.
-%description -l es
-Este paquete contiene programas para ayúdalo a localizar archivos en
-tu sistema. El programa find puede pesquisar, a través de una
-jerarquía de directorios, buscando por archivos que obedezcan a un
+%description -l es.UTF-8
+Este paquete contiene programas para ayúdalo a localizar archivos en
+tu sistema. El programa find puede pesquisar, a través de una
+jerarquía de directorios, buscando por archivos que obedezcan a un
cierto conjunto de criterios (como nombre de archivo modelo).
-%description -l fr
-Ce package contient des programmes pour vous aider à localiser des
-fichiers sur votre système. Le programme find peut rechercher à
-travers une hiérarchie de répertoires des fichiers conformes à
-certains critères (comme un type de nom).
+%description -l fr.UTF-8
+Ce package contient des programmes pour vous aider à localiser des
+fichiers sur votre système. Le programme find peut rechercher à
+travers une hiérarchie de répertoires des fichiers conformes à
+certains critères (comme un type de nom).
-%description -l pl
-W pakiecie znajduj± siê narzêdzia pozwalaj±ce na poszukiwanie
-okre¶lonych plików. Program find s³u¿y do poszukiwania w drzewie
-katalogów plików o okre¶lonych parametrach, jak nazwa, uprawnienia,
+%description -l pl.UTF-8
+W pakiecie znajdują się narzędzia pozwalające na poszukiwanie
+określonych plików. Program find służy do poszukiwania w drzewie
+katalogów plików o określonych parametrach, jak nazwa, uprawnienia,
typ czy data ostatniej modyfikacji.
-%description -l pt_BR
-Esse pacote contém programas para ajudá-lo a localizar arquivos em seu
-sistema. O programa find pode procurar através de uma hierarquia de
-diretórios procurando por arquivos que obedeçam um certo conjunto de
-critérios (como nome de arquivo modelo).
+%description -l pt_BR.UTF-8
+Esse pacote contém programas para ajudá-lo a localizar arquivos em seu
+sistema. O programa find pode procurar através de uma hierarquia de
+diretórios procurando por arquivos que obedeçam um certo conjunto de
+critérios (como nome de arquivo modelo).
-%description -l tr
-Bu pakette yer alan yazýlýmlar sisteminizde yer alan dosyalarý
-bulabilmeniz için hazýrlanmýþlardýr. find programý ile belirli
-özellikleri olan bir yazýlýmý bir dizin hiyerarþisi altýnda
+%description -l tr.UTF-8
+Bu pakette yer alan yazılımlar sisteminizde yer alan dosyaları
+bulabilmeniz için hazırlanmışlardır. find programı ile belirli
+özellikleri olan bir yazılımı bir dizin hiyerarşisi altında
arayabilirsiniz.
%prep
%setup -q
-%patch0 -p1
+# patch0 is applied in install stage
%patch1 -p1
%patch2 -p1
-%{?with_selinux:%patch3 -p1}
-# patch4 is applied in install stage
-%{__perl} -pi -e 's/_jy_FIND LIBOBJS_NORMALIZE/_jy_FINDLIBOBJS_NORMALIZE/' m4/findlib.m4
+%{__rm} po/stamp-po
%build
-%{__aclocal} -I gnulib/m4 -I m4
+%{__aclocal} -I gl/m4 -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
-%configure
+%ifarch %{ix86}
+# 64 bit time_t on ix86 requires glibc 2.32+ built with/for kernel 5.6+
+TIME_T_32_BIT_OK=yes \
+%endif
+%configure \
+ --disable-silent-rules \
+ %{__with_without selinux}
%{__make}
+%if %{with tests}
+# tests use bashish $'\n' substitution
+%{__make} check \
+ SHELL=/bin/bash
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
DESTDIR=$RPM_BUILD_ROOT
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-%{?with_selinux:patch -p0 -d $RPM_BUILD_ROOT%{_mandir} < %{PATCH4}}
+%{?with_selinux:patch -p0 -d $RPM_BUILD_ROOT%{_mandir} < %{PATCH0}}
# xargs is wanted in /bin
install -d $RPM_BUILD_ROOT/bin
-mv $RPM_BUILD_ROOT%{_bindir}/xargs $RPM_BUILD_ROOT/bin
+%{__mv} $RPM_BUILD_ROOT%{_bindir}/xargs $RPM_BUILD_ROOT/bin
+
+# useless in binary package
+%{__rm} $RPM_BUILD_ROOT%{_infodir}/find-maint.info*
# unpackaged locate
-rm -f $RPM_BUILD_ROOT%{_bindir}/{locate,updatedb} \
- $RPM_BUILD_ROOT%{_libdir}/{bigram,code,frcode} \
+%{__rm} $RPM_BUILD_ROOT%{_bindir}/{locate,updatedb} \
+ $RPM_BUILD_ROOT%{_libexecdir}/frcode \
$RPM_BUILD_ROOT%{_mandir}/{,*/}man?/{locate.1,updatedb.1,locatedb.5}*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.findutils-non-english-man-pages
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%post -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
-%postun
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
+%postun -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc NEWS README TODO ChangeLog
%attr(755,root,root) %{_bindir}/find
%attr(755,root,root) /bin/xargs
-
-%{_mandir}/man1/[fx]*
+%{_mandir}/man1/find.1*
+%{_mandir}/man1/xargs.1*
%lang(de) %{_mandir}/de/man1/[fx]*
%lang(es) %{_mandir}/es/man1/[fx]*
%lang(fi) %{_mandir}/fi/man1/[fx]*