-#
-# Conditional build:
-%bcond_with selinux # build with selinux support
-#
-# TODO:
-# - see Source 8
-
+%bcond_without tests
Summary: GNU Core-utils - basic command line utilities
-Summary(pl): GNU Core-utils - podstawowe narzêdzia dzia³aj±ce z linii poleceñ
+Summary(pl.UTF-8): GNU Core-utils - podstawowe narzędzia działające z linii poleceń
Name: coreutils
-Version: 5.0
-Release: 4
-License: GPL
+Version: 7.4
+Release: 1
+License: GPL v3+
Group: Applications/System
-# devel versions:
-#Source0: ftp://alpha.gnu.org/gnu/fetish/%{name}-%{version}.tar.bz2
-# final versions:
-Source0: ftp://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.bz2
-# Source0-md5: 94e5558ee2a65723d4840bfde2d323f0
-Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/fileutils-non-english-man-pages.tar.bz2
-# Source1-md5: def2f215ac4832e3de0889f06d8543ca
-Source2: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sh-utils-non-english-man-pages.tar.bz2
-# Source2-md5: 9c5fd04cad759fe8d2a70d755679cbc9
-Source3: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/textutils-non-english-man-pages.tar.bz2
-# Source3-md5: 4331303b69dd3b74b7c9be9fa3905557
-Source4: DIR_COLORS
-Source5: fileutils.sh
-Source6: fileutils.csh
-Source7: su.pamd
-# to be put in Source1
-Source8: stat.1.pl
+Source0: http://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.xz
+# Source0-md5: e8d906c153f271430e3efb2b9a35a35f
+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}-pam.patch
Patch2: %{name}-getgid.patch
-Patch3: %{name}-utmp.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
-# based on http://acl.bestbits.at/current/diff/fileutils-4.1.8acl-0.8.25.diff.gz
-Patch11: %{name}-acl-0.8.25.patch
-Patch12: %{name}-lsw.patch
-Patch13: %{name}-selinux.patch
+Patch3: %{name}-su-paths.patch
+Patch4: %{name}-uname-cpuinfo.patch
+Patch5: %{name}-date-man.patch
+Patch6: %{name}-mem.patch
+
+
+Patch9: %{name}-fmt-wchars.patch
+Patch10: %{name}-runuser.patch
+Patch11: %{name}-split-pam.patch
+Patch12: %{name}-sparc64.patch
+Patch13: %{name}-pl.po-update.patch
+
+URL: http://www.gnu.org/software/coreutils/
BuildRequires: acl-devel
-BuildRequires: autoconf >= 2.56
-BuildRequires: automake >= 1.7
-BuildRequires: gettext-devel >= 0.11.5
+BuildRequires: attr-devel
+BuildRequires: autoconf >= 2.61
+BuildRequires: automake >= 1:1.11
+BuildRequires: gcc >= 5:3.2
+BuildRequires: gettext-devel >= 0.16-2
+BuildRequires: gmp-devel
BuildRequires: help2man
+BuildRequires: libcap-devel
+BuildRequires: libselinux-devel
+BuildRequires: xz
BuildRequires: pam-devel
+BuildRequires: rpmbuild(find_lang) >= 1.24
BuildRequires: texinfo >= 4.2
-%{?with_selinux:BuildRequires: libselinux-devel}
+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
-Requires: pam >= 0.77.3
+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
-These are the GNU core utilities. This package is the union of
-the GNU fileutils, sh-utils, and textutils packages.
+These are the GNU core utilities. This package is the union of the GNU
+fileutils, sh-utils, and textutils packages.
Most of these programs have significant advantages over their Unix
counterparts, such as greater speed, additional options, and fewer
The programs that can be built with this package are:
- basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
- df dir dircolors dirname du echo env expand expr factor false fmt fold
- ginstall 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
+ [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date
+ 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
-%description -l pl
-Narzêdzia podstawowe (core utilities) GNU to po³±czone paczki GNU
+%description -l pl.UTF-8
+Narzędzia podstawowe (core utilities) GNU to połączone paczki GNU
fileutils, sh-utils i textutils.
-Wiêkszo¶æ z zawartych programów jest znacznie ulepszona w porównaniu
-z ich uniksowymi odpowiednikami, np. szybciej dzia³aj±, maj± dodatkowe
-opcje i mniej ograniczeñ.
+Większość z zawartych programów jest znacznie ulepszona w porównaniu
+z ich uniksowymi odpowiednikami, np. szybciej działają, mają dodatkowe
+opcje i mniej ograniczeń.
-Programy zawarte w tej paczce to:
+Programy zawarte w tym pakiecie to:
- basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd
- df dir dircolors dirname du echo env expand expr factor false fmt fold
- ginstall 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
+ [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date
+ 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
%prep
-%setup -q -a1 -a3
-%patch0 -p1
+%setup -q -c -T -a1
+lzma -dc %{SOURCE0} | tar xf - -C ..
+# currently obsolete
+# %patch13 -p1
+# ?
+# %patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
-%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
+%ifarch sparc64
%patch12 -p1
-%{?with_selinux:%patch13 -p1}
+%endif
-perl -pi -e 's@GNU/Linux@PLD Linux@' m4/host-os.m4
+%{__perl} -pi -e 's@GNU/Linux@PLD Linux@' m4/host-os.m4
-# nb_NO is just an alias for no_NO in glibc
-# no.po is outdated, nb.po is more fresh here
-mv -f po/{nb,no}.po
-rm -f po/{nb,no}.gmo
+# allow rebuilding *.gmo
+rm -f po/stamp-po
+
+# drop when our automake supports dist-xz
+sed -i -e 's#1.10a dist-xz#1.10#g' configure.ac
%build
-# jm's inttypes.m4 and inttypes.m4 from gettext are really different files
-mv -f m4/{inttypes.m4,jm-inttypes.m4}
%{__gettextize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
+ CFLAGS="%{rpmcflags} -DSYSLOG_SUCCESS -DSYSLOG_FAILURE -DSYSLOG_NON_ROOT" \
+ DEFAULT_POSIX2_VERSION=199209 \
+ --enable-install-program=arch \
+ --enable-no-install-program=hostname,kill,uptime \
--enable-pam
%{__make}
+%{?with_tests:%{__make} tests}
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},/etc/pam.d,/etc/profile.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}/{uptime,hostname,groups,kill}
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/{uptime,hostname,groups}.1*
-
-ln -sf test $RPM_BUILD_ROOT%{_bindir}/[
-
-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,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 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
-install %{SOURCE5} %{SOURCE6} $RPM_BUILD_ROOT/etc/profile.d
-install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/su
+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
-mv -f man/pt_BR/*.1 man/pt
-for d in cs da de es fi fr hu id it ja ko nl pl pt ru ; do
+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 %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/pl/man1/stat.1
-bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/{groups,hostname,uptime}.1
-for f in `find $RPM_BUILD_ROOT%{_mandir} -type f -name ginstall.1`; do
- mv -f $f `dirname $f`/install.1
-done
+install %{SOURCE9} $RPM_BUILD_ROOT%{_mandir}/pl/man1/mktemp.1
+# unwanted
+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 size mtime md5) /etc/pam.d/su
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/DIR_COLORS
-%attr(755,root,root) /etc/profile.d/*
+%attr(755,root,root) %{_sbindir}/chroot
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS
+%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
%{_mandir}/man1/*
%lang(cs) %{_mandir}/cs/man1/*
%lang(da) %{_mandir}/da/man1/*
%lang(pl) %{_mandir}/pl/man1/*
%lang(pt) %{_mandir}/pt/man1/*
%lang(ru) %{_mandir}/ru/man1/*
+%lang(zh_CN) %{_mandir}/zh_CN/man1/*
%{_infodir}/coreutils.info*