-%bcond_without tests
+#
+# Conditional build:
+%bcond_with advcopy # progress bar in cp (orphaned patch)
+%bcond_without tests # do not perform "make test check"
+#
Summary: GNU Core-utils - basic command line utilities
Summary(pl.UTF-8): GNU Core-utils - podstawowe narzędzia działające z linii poleceń
Name: coreutils
-Version: 8.4
-Release: 1
+Version: 8.15
+Release: 2
License: GPL v3+
Group: Applications/System
Source0: http://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.xz
-# Source0-md5: 1fde97f144b4699b18f36c2ec18b1f18
+# Source0-md5: 094909fafa86110140b32e4948941545
Source1: %{name}-non-english-man-pages.tar.bz2
# Source1-md5: f7c986ebc74ccb8d08ed70141063f14c
Source2: DIR_COLORS
Patch5: %{name}-date-man.patch
Patch6: %{name}-mem.patch
Patch7: %{name}-7.4-sttytcsadrain.patch
-
Patch9: %{name}-fmt-wchars.patch
Patch10: %{name}-runuser.patch
Patch11: %{name}-split-pam.patch
Patch12: %{name}-sparc64.patch
+# http://translationproject.org/latest/coreutils/pl.po (pass through msgcat to generate shorter diff)
Patch13: %{name}-pl.po-update.patch
-
+# from http://www.beatex.org/web/advancedcopy.html, edited by shadzik
+Patch14: %{name}-advcopy.patch
URL: http://www.gnu.org/software/coreutils/
BuildRequires: acl-devel
BuildRequires: attr-devel
-BuildRequires: autoconf >= 2.61
+BuildRequires: autoconf >= 2.64
BuildRequires: automake >= 1:1.11.1
BuildRequires: gcc >= 5:3.2
-BuildRequires: gettext-devel >= 0.16-2
+BuildRequires: gettext-devel >= 0.18.1
BuildRequires: gmp-devel
BuildRequires: help2man
BuildRequires: libcap-devel
BuildRequires: libselinux-devel
BuildRequires: pam-devel
BuildRequires: rpmbuild(find_lang) >= 1.24
+BuildRequires: tar >= 1:1.22
BuildRequires: texinfo >= 4.2
BuildRequires: xz
+%if %{with tests}
+BuildRequires: strace
+%endif
Requires: pam >= 0.77.3
Requires: setup >= 2.4.6-2
Provides: coreutils-su
dd df dir dircolors dirname du echo env expand expr factor false fmt
fold install groups head hostid id join link ln logname ls md5sum
mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
- printf ptx pwd rm rmdir runuser seq sha1sum shred sleep sort split
- stat stty su sum sync tac tail tee test touch tr true tsort tty uname
- unexpand uniq unlink users vdir wc who whoami yes
+ printf ptx pwd realpath rm rmdir runuser seq sha1sum shred sleep sort
+ split stat stty su sum sync tac tail tee test touch tr true tsort tty
+ uname unexpand uniq unlink users vdir wc who whoami yes
%description -l pl.UTF-8
Narzędzia podstawowe (core utilities) GNU to połączone paczki GNU
dd df dir dircolors dirname du echo env expand expr factor false fmt
fold ginstall groups head hostid id join link ln logname ls md5sum
mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
- printf ptx pwd rm rmdir runuser seq sha1sum shred sleep sort split
- stat stty su sum sync tac tail tee test touch tr true tsort tty uname
- unexpand uniq unlink users vdir wc who whoami yes
+ printf ptx pwd realpath rm rmdir runuser seq sha1sum shred sleep sort
+ split stat stty su sum sync tac tail tee test touch tr true tsort tty
+ uname unexpand uniq unlink users vdir wc who whoami yes
%prep
-%setup -q -c -T -a1
-xz -dc %{SOURCE0} | tar xf - -C ..
-# currently obsolete
-# %patch13 -p1
-# ?
-# %patch0 -p1
+%setup -q -a1
+#%patch13 -p1
+%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%ifarch sparc64
%patch12 -p1
%endif
+%if %{with advcopy}
+# progress-bar patch, -g,--progress-bar //if in doubt, comment it out
+%patch14 -p1
+%endif
%{__perl} -pi -e 's@GNU/Linux@PLD Linux@' m4/host-os.m4
# allow rebuilding *.gmo
-rm -f po/stamp-po
+%{__rm} po/stamp-po
+
+# fails under C locale:
+# LC_ALL=C echo -e "ça\nçb\n"|LC_ALL=C fmt -p 'ç'
+# fmt: memory exhausted
+%{__sed} -i -e 25,27d tests/misc/fmt
+
+# /etc/resolv.conf is blocked in pld builders, try some other file
+%{__sed} -i -e 's,/etc/resolv.conf,/etc/hosts,' gnulib-tests/test-read-file.c
-# drop when our automake supports dist-xz
-sed -i -e 's#1.10a dist-xz#1.10#g' configure.ac
+# getgid needs to be fixed:
+# getgid: missing operand
+# Try `getgid --help' for more information.
+%{__rm} tests/misc/help-version
+%{__sed} -i -e '/misc\/help-version/d' tests/Makefile.am
+
+# fails on some filesystems (like XFS), where readdir returns d_type=DT_UNKNOWN
+%{__rm} tests/ls/stat-free-color
+%{__sed} -i -e '/ls\/stat-free-color/d' tests/Makefile.am
%build
%{__gettextize}
%configure \
CFLAGS="%{rpmcflags} -DSYSLOG_SUCCESS -DSYSLOG_FAILURE -DSYSLOG_NON_ROOT" \
DEFAULT_POSIX2_VERSION=199209 \
- --enable-install-program=arch \
+ --disable-silent-rules \
+ --enable-install-program=arch,su \
--enable-no-install-program=hostname,kill,uptime \
--enable-pam
%{__make}
-%{?with_tests:%{__make} tests}
+%if %{with tests}
+sed -i -e 's#COLUMNS##g' tests/envvar-check
+%{__make} -j1 tests check
+%endif
%install
rm -rf $RPM_BUILD_ROOT
sleep,sort,stat,stty,sync,touch,true,unlink,uname} $RPM_BUILD_ROOT/bin
mv -f $RPM_BUILD_ROOT%{_bindir}/chroot $RPM_BUILD_ROOT%{_sbindir}
+mv $RPM_BUILD_ROOT{%{_bindir},/sbin}/runuser
# su is missed by "make install" called by non-root
-install src/su $RPM_BUILD_ROOT/bin
-install src/runuser $RPM_BUILD_ROOT/sbin
+install -p src/su $RPM_BUILD_ROOT/bin
-install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
-install %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/shrc.d
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/su
-install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/su-l
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/runuser
-install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/runuser-l
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
+cp -p %{SOURCE3} %{SOURCE4} $RPM_BUILD_ROOT/etc/shrc.d
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/su
+cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/su-l
+cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/runuser
+cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/runuser-l
cp -a man/pt_BR man/pt
-for d in cs da de es fi fr hu id it ja ko nl pl pt ru zh_CN ; do
+for d in cs da de es fi fr hu id it ja ko nl pl pt ru zh_CN; do
install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
- install man/$d/*.1 $RPM_BUILD_ROOT%{_mandir}/$d/man1
+ cp -p man/$d/*.1 $RPM_BUILD_ROOT%{_mandir}/$d/man1
done
install %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/pl/man1/mktemp.1
-# unwanted
+# unwanted (-f left intentionally - some manuals could have no translations)
rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/{hostname,kill,uptime}.1
+# always remove, never packaged but sometimes installed
+rm -f $RPM_BUILD_ROOT%{_infodir}/dir
%find_lang %{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/runuser
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/runuser-l
%config(noreplace) /etc/shrc.d/fileutils.*sh
+%dir %{_libdir}/coreutils
+%attr(755,root,root) %{_libdir}/coreutils/libstdbuf.so
%{_mandir}/man1/*
%lang(cs) %{_mandir}/cs/man1/*
%lang(da) %{_mandir}/da/man1/*
%lang(ru) %{_mandir}/ru/man1/*
%lang(zh_CN) %{_mandir}/zh_CN/man1/*
%{_infodir}/coreutils.info*
-%dir %{_libdir}/coreutils
-%attr(755,root,root) %{_libdir}/coreutils/libstdbuf.so