#
# Conditional build:
-%bcond_without selinux # build without SELinux support
+%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: 6.7
-Release: 3
-License: GPL
+Version: 8.10
+Release: 1
+License: GPL v3+
Group: Applications/System
-Source0: ftp://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.bz2
-# Source0-md5: a16465d0856cd011a1acc1c21040b7f4
+Source0: http://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.xz
+# Source0-md5: 4bb81c051da6e5436fc1ad9a67ae44fe
Source1: %{name}-non-english-man-pages.tar.bz2
# Source1-md5: f7c986ebc74ccb8d08ed70141063f14c
Source2: DIR_COLORS
Source3: fileutils.sh
Source4: fileutils.csh
Source5: su.pamd
+Source6: su-l.pamd
+Source7: runuser.pamd
+Source8: runuser-l.pamd
+Source9: mktemp.1.pl
Patch0: %{name}-info.patch
-Patch1: %{name}-pl.po-update.patch
-Patch2: %{name}-pam.patch
-Patch3: %{name}-getgid.patch
-Patch4: %{name}-su-paths.patch
-Patch5: %{name}-uname-cpuinfo.patch
-Patch6: %{name}-date-man.patch
-Patch7: %{name}-mem.patch
-Patch8: %{name}-install-C.patch
-Patch9: %{name}-po.patch
-Patch10: %{name}-no-nb.patch
-Patch11: %{name}-selinux.patch
-Patch12: %{name}-system-openat.patch
-Patch13: %{name}-fmt-wchars.patch
+Patch1: %{name}-pam.patch
+Patch2: %{name}-getgid.patch
+Patch3: %{name}-su-paths.patch
+Patch4: %{name}-uname-cpuinfo.patch
+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: autoconf >= 2.60
-BuildRequires: automake >= 1:1.9.6
-%{?with_selinux:BuildRequires: gcc >= 5:3.2}
-BuildRequires: gettext-devel >= 0.16-2
+BuildRequires: attr-devel
+BuildRequires: autoconf >= 2.62
+BuildRequires: automake >= 1:1.11.1
+BuildRequires: gcc >= 5:3.2
+BuildRequires: gettext-devel >= 0.17
+BuildRequires: gmp-devel
BuildRequires: help2man
-%{?with_selinux:BuildRequires: libselinux-devel}
+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
Requires: pam >= 0.77.3
Requires: setup >= 2.4.6-2
+Provides: coreutils-su
Provides: fileutils
+Provides: mktemp = %{version}-%{release}
Provides: sh-utils
Provides: stat
Provides: textutils
+Obsoletes: coreutils-su
Obsoletes: fileutils
+Obsoletes: mktemp
Obsoletes: sh-utils
Obsoletes: stat
Obsoletes: textutils
Conflicts: shadow < 1:4.0.3-6
Conflicts: tetex < 1:2.0.2
+Conflicts: util-linux < 2.13-0.pre7
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
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 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 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 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 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 -a1
+%patch13 -p1
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch10 -p1
-%{?with_selinux:%patch11 -p1}
+%patch11 -p1
+%ifarch sparc64
%patch12 -p1
-%patch13 -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
-# no_NO is just an alias for nb_NO in recent glibc
-# no.po is outdated, nb.po is more fresh here (see also patch10)
-rm -f po/no.*
# allow rebuilding *.gmo
-rm -f po/stamp-po
-
-# missing, added to gettext.m4 by ./bootstrap
-echo 'AC_DEFUN([gl_LOCK_EARLY],[])' > m4/gllock.m4
+%{__rm} po/stamp-po
%build
%{__gettextize}
%configure \
CFLAGS="%{rpmcflags} -DSYSLOG_SUCCESS -DSYSLOG_FAILURE -DSYSLOG_NON_ROOT" \
DEFAULT_POSIX2_VERSION=199209 \
- %{?with_selinux:--enable-selinux} \
+ --disable-silent-rules \
+ --enable-install-program=arch \
+ --enable-no-install-program=hostname,kill,uptime \
--enable-pam
%{__make}
+%{?with_tests:%{__make} tests check}
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},/etc/pam.d,/etc/shrc.d}
+install -d $RPM_BUILD_ROOT{/bin,/sbin,%{_bindir},%{_sbindir},/etc/pam.d,/etc/shrc.d}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-rm -f $RPM_BUILD_ROOT%{_bindir}/{hostname,kill,uptime}
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/{hostname,kill,uptime}.1*
-
-mv -f $RPM_BUILD_ROOT%{_bindir}/{basename,cat,chgrp,chmod,chown,cp,date,dd,df,\
-echo,false,id,link,ln,ls,mkdir,mknod,mv,nice,printf,pwd,rm,rmdir,sleep,sort,stty,\
-sync,touch,true,unlink,uname} $RPM_BUILD_ROOT/bin
+mv -f $RPM_BUILD_ROOT%{_bindir}/{arch,basename,cat,chgrp,chmod,chown,cp,date,dd,\
+df,echo,false,id,link,ln,ls,mkdir,mknod,mktemp,mv,nice,printf,pwd,rm,rmdir,\
+sleep,sort,stat,stty,sync,touch,true,unlink,uname} $RPM_BUILD_ROOT/bin
mv -f $RPM_BUILD_ROOT%{_bindir}/chroot $RPM_BUILD_ROOT%{_sbindir}
-# su is missed by "make install"
+# 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 %{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 -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
install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
install man/$d/*.1 $RPM_BUILD_ROOT%{_mandir}/$d/man1
done
+install %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/pl/man1/mktemp.1
+# unwanted (-f left intentionally - some manuals could have no translations)
rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/{hostname,kill,uptime}.1
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
-%post
-[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir %{_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 %{_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)
%attr(755,root,root) /bin/[!s]*
%attr(755,root,root) /bin/s[!u]*
%attr(4755,root,root) /bin/su
+%attr(755,root,root) /sbin/runuser
%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_sbindir}/*
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su
+%attr(755,root,root) %{_sbindir}/chroot
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS
-/etc/shrc.d/*
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/su-l
+%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/*