#
# 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.UTF-8): GNU-Suchprogramme (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.31
+Version: 4.9.0
Release: 1
Epoch: 1
-License: GPL
+License: GPL v3+
Group: Applications/File
# development versions at ftp://alpha.gnu.org/gnu/findutils/
-Source0: ftp://ftp.gnu.org/gnu/findutils/%{name}-%{version}.tar.gz
-# Source0-md5: a0e31a0f18a49709bf5a449867c8049a
+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}-selinux.patch
-Patch2: %{name}-man-selinux.patch
-Patch3: %{name}-pl.po-update.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
URL: http://www.gnu.org/software/findutils/
-BuildRequires: autoconf
-BuildRequires: automake
-BuildRequires: gettext-devel >= 0.14.5
+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
%prep
%setup -q
-%patch3 -p1
-%patch0 -p1
-%{?with_selinux:%patch1 -p1}
-# patch2 is applied in install stage
+# patch0 is applied in install stage
+%patch1 -p1
+%patch2 -p1
-rm -f po/stamp-po
+%{__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} < %{PATCH2}}
+%{?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 -f $RPM_BUILD_ROOT{%{_infodir}/dir,%{_mandir}/README.findutils-non-english-man-pages}
+%{__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]*