3
0
forked from pool/coreutils
coreutils/coreutils.spec
Philipp Thomas a57cbc234f - Update to 8.15:
** New programs
    realpath: print resolved file names.
  ** Bug fixes
    du --one-file-system (-x) would ignore any non-directory specified on
    the command line.  For example, "touch f; du -x f" would print nothing.
    [bug introduced in coreutils-8.14]
    du -x no longer counts root directories of other file systems.
    [bug introduced in coreutils-5.1.0]
    ls --color many-entry-directory was uninterruptible for too long
    [bug introduced in coreutils-5.2.1]
    ls's -k option no longer affects how ls -l outputs file sizes.
    It now affects only the per-directory block counts written by -l,
    and the sizes written by -s.  This is for compatibility with BSD
    and with POSIX 2008.  Because -k is no longer equivalent to
    --block-size=1KiB, a new long option --kibibyte stands for -k.
    [bug introduced in coreutils-4.5.4]
    ls -l would leak a little memory (security context string) for each
    nonempty directory listed on the command line, when using SELinux.
    [bug probably introduced in coreutils-6.10 with SELinux support]
    split -n 1/2 FILE no longer fails when operating on a growing file, or
    (on some systems) when operating on a non-regular file like /dev/zero.
    It would report "/dev/zero: No such file or directory" even though
    the file obviously exists.  Same for -n l/2.
    [bug introduced in coreutils-8.8, with the addition of the -n option]
    stat -f now recognizes the FhGFS and PipeFS file system types.
    tac no longer fails to handle two or more non-seekable inputs
    [bug introduced in coreutils-5.3.0]
    tail -f no longer tries to use inotify on GPFS or FhGFS file systems
    [you might say this was introduced in coreutils-7.5, along with inotify
     support, but the new magic numbers weren't in the usual places then.]
  ** Changes in behavior
    df avoids long UUID-including file system names in the default listing.
    With recent enough kernel/tools, these long names would be used, pushing
    second and subsequent columns far to the right.  Now, when a long name
    refers to a symlink, and no file systems are specified, df prints the
    usually-short referent instead.
    tail -f now uses polling (not inotify) when any of its file arguments
    resides on a file system of unknown type.  In addition, for each such
    argument, tail -f prints a warning with the FS type magic number and a
    request to report it to the bug-reporting address.
- Bring german message catalog up to date.
- Include upstream fix for du.
- Include upstream patch fixing basename documentation.

OBS-URL: https://build.opensuse.org/package/show/Base:System/coreutils?expand=0&rev=144
2012-03-09 18:02:35 +00:00

174 lines
5.6 KiB
RPMSpec

#
# spec file for package coreutils
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: coreutils
Summary: GNU Core Utilities
License: GPL-3.0+
Group: System/Base
BuildRequires: automake
BuildRequires: help2man
BuildRequires: libacl-devel
BuildRequires: libcap-devel
BuildRequires: libselinux-devel
BuildRequires: pam-devel
BuildRequires: xz
Url: http://www.gnu.org/software/coreutils/
Version: 8.15
Release: 0
Provides: fileutils = %{version}, sh-utils = %{version}, stat = %version}, textutils = %{version}, mktemp = %{version}
Obsoletes: fileutils < %{version}, sh-utils < %{version}, stat < %version}, textutils < %{version}, mktemp < %{version}
Obsoletes: libselinux <= 1.23.11-3 libselinux-32bit = 9 libselinux-64bit = 9 libselinux-x86 = 9
PreReq: %{install_info_prereq}
Recommends: %{name}-lang = %version
Requires: pam >= 1.1.1.90
Source: coreutils-%{version}.tar.xz
Source1: su.pamd
Source2: su.default
Source3: baselibs.conf
Source4: coreutils-%{version}.de.po.xz
Patch0: coreutils-misc.patch
Patch1: coreutils-remove_hostname_documentation.patch
Patch2: coreutils-gl_printf_safe.patch
Patch4: coreutils-8.6-i18n.patch
Patch5: coreutils-i18n-uninit.patch
Patch6: coreutils-i18n-infloop.patch
Patch8: coreutils-sysinfo.patch
Patch16: coreutils-invalid-ids.patch
Patch20: coreutils-8.6-pam-support-for-su.diff
Patch21: coreutils-8.6-update-man-page-for-pam.diff
Patch22: coreutils-8.6-log-all-su-attempts.diff
Patch23: coreutils-8.6-set-sane-default-path.diff
Patch24: coreutils-8.6-honor-settings-in-etc-default-su-resp-etc-login.defs.diff
Patch25: coreutils-8.6-make-sure-sbin-resp-usr-sbin-are-in-PATH.diff
#
Patch30: coreutils-8.6-compile-su-with-fpie.diff
Patch31: coreutils-getaddrinfo.patch
Patch32: coreutils-ptr_int_casts.patch
Patch33: coreutils-8.9-singlethreaded-sort.patch
Patch34: coreutils-acl-nofollow.patch
Patch35: coreutils-one-file-system_ignores_non-directory_arguments.patch
Patch36: coreutils-basename_documentation.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# this will create a cycle, broken up randomly - coreutils is just too core to have other
# prerequires
#PreReq: permissions
%description
Basic file, shell, and text manipulation utilities. The package
contains the following programs:
[ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp
csplit cut date dd df dir dircolors dirname du echo env expand expr
factor false fmt fold groups head id install join kill link ln logname
ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup od paste pathchk
pinky pr printenv printf ptx pwd readlink rm rmdir runcon seq sha1sum
sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split
stat stty su sum sync tac tail tee test timeout touch tr true tsort tty
uname unexpand uniq unlink uptime users vdir wc who whoami yes
%lang_package
%prep
%setup -q
%patch4
%patch5
%patch6
%patch0
%patch1
%patch2
%patch8
%patch16
%patch20
%patch21
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
#
%patch30 -p1
%patch31
%patch32
%patch33
%patch34
%patch35
%patch36
#xz -dc %{S:4} >po/de.po
%build
AUTOPOINT=true autoreconf -fi
export CFLAGS="%optflags -Wall"
%configure --without-included-regex \
--enable-install-program=arch,su \
gl_cv_func_printf_directive_n=yes \
gl_cv_func_isnanl_works=yes \
DEFAULT_POSIX2_VERSION=199209
make -C po update-po
make %{?_smp_mflags} V=1
%install
%makeinstall pkglibexecdir=%{_libdir}/%{name}
test -f %{buildroot}%{_bindir}/su || \
install src/su %{buildroot}%{_bindir}/su
#UsrMerge
install -d %{buildroot}/bin
for i in arch basename cat chgrp chmod chown cp date dd df echo false kill ln ls mkdir mknod mktemp mv pwd rm rmdir sleep sort stat stty su sync touch true uname readlink md5sum
do
ln -sf %{_bindir}/$i %{buildroot}/bin/$i
done
#EndUsrMerge
install -d -m 755 %{buildroot}/etc/pam.d
install -m 644 %{S:1} %{buildroot}/etc/pam.d/su
install -m 644 %{S:1} %{buildroot}/etc/pam.d/su-l
install -d -m 755 %{buildroot}/etc/default
install -m 644 %{S:2} %{buildroot}/etc/default/su
echo '.so man1/test.1' > %{buildroot}/%{_mandir}/man1/\[.1
%find_lang %name
%post
%install_info --info-dir=%{_infodir} %{_infodir}/coreutils.info.gz
# may fail if permissions is not there, but there is no way around that
%set_permissions %{_bindir}/su
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/coreutils.info.gz
%verifyscript
%verify_permissions -e %{_bindir}/su
%files
%defattr(-,root,root)
%doc README NEWS
%config %{_sysconfdir}/pam.d/su
%config %{_sysconfdir}/pam.d/su-l
%config(noreplace) %{_sysconfdir}/default/su
%attr(4755,root,root) %{_bindir}/su
%{_bindir}/*
#UsrMerge
/bin/*
#EndUsrMerge
%{_libdir}/%{name}
%doc %{_infodir}/coreutils.info*.gz
%doc %{_mandir}/man1/*.1.gz
%dir %{_prefix}/share/locale/*/LC_TIME
%files lang -f %name.lang
%defattr(-,root,root)
%changelog