3 Summary: The GNU core utilities: a set of tools commonly used in shell scripts
9 Group: System Environment/Base
10 Url: http://www.gnu.org/software/coreutils/
11 Source0: ftp://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.bz2
12 Source1: mktemp-1.5.tar.gz
13 Source101: coreutils-DIR_COLORS
14 Source102: coreutils-DIR_COLORS.xterm
15 Source105: coreutils-colorls.sh
16 Source106: coreutils-colorls.csh
17 Source200: coreutils-su.pamd
18 Source202: coreutils-su-l.pamd
21 Patch1: coreutils-futimens.patch
22 Patch2: coreutils-ls-x.patch
23 Patch3: coreutils-6.9-cp-i-u.patch
26 Patch100: coreutils-chgrp.patch
29 Patch703: sh-utils-2.0.11-dateman.patch
30 Patch704: sh-utils-1.16-paths.patch
31 # RMS will never accept the PAM patch because it removes his historical
32 # rant about Twenex and the wheel group, so we'll continue to maintain
33 # it here indefinitely.
34 Patch706: coreutils-pam.patch
35 Patch713: coreutils-4.5.3-langinfo.patch
36 Patch715: coreutils-4.5.3-sysinfo.patch
38 # (sb) lin18nux/lsb compliance
39 Patch800: coreutils-i18n.patch
41 Patch900: coreutils-setsid.patch
42 Patch907: coreutils-5.2.1-runuser.patch
43 Patch908: coreutils-getgrouplist.patch
44 Patch912: coreutils-overflow.patch
45 Patch915: coreutils-split-pam.patch
46 Patch916: coreutils-getfacl-exit-code.patch
48 Patch1001: mktemp-1.5-build.patch
50 BuildRequires: libacl-devel
52 BuildRequires: autoconf >= 2.58
53 BuildRequires: automake >= 1.10
54 %{?!nopam:BuildRequires: pam-devel}
56 %{?!nopam:Requires: pam >= 0.66-12}
61 These are the GNU core utilities. This package is the combination of
62 the old GNU fileutils, sh-utils, and textutils packages.
68 %patch1 -p1 -b .futimens
70 %patch3 -p1 -b .cp-i-u
73 %patch100 -p1 -b .chgrp
76 %patch703 -p1 -b .dateman
77 %patch704 -p1 -b .paths
78 %{?!nopam:%patch706 -p1 -b .pam}
79 %patch713 -p1 -b .langinfo
80 %patch715 -p1 -b .sysinfo
83 %patch800 -p1 -b .i18n
86 #%patch900 -p1 -b .setsid
87 #%patch907 -p1 -b .runuser
88 %patch908 -p1 -b .getgrouplist
89 %patch912 -p1 -b .overflow
90 #%patch915 -p1 -b .splitl
91 %patch916 -p1 -b .getfacl-exit-code
93 sed -i -e 's/basic-1//g' tests/stty/Makefile*
95 chmod a+x tests/sort/sort-mb-tests
96 chmod a+x tests/ls/x-option
100 patch -p1 < %{PATCH1001}
106 # Build at -O1 for the moment (bug #196369).
107 export CFLAGS="$RPM_OPT_FLAGS -fPIC -O1"
109 export CFLAGS="$RPM_OPT_FLAGS -fpic"
111 %{expand:%%global optflags %{optflags} -D_GNU_SOURCE=1}
112 %configure %{?!nopam:--enable-pam} \
114 DEFAULT_POSIX2_VERSION=200112 alternative=199209 || :
116 %{?!nopam:CPPFLAGS="-DUSE_PAM"} \
117 su_LDFLAGS="-pie %{?!nopam:-lpam -lpam_misc}"
119 # XXX docs should say /var/run/[uw]tmp not /etc/[uw]tmp
120 sed -i -e 's,/etc/utmp,/var/run/utmp,g;s,/etc/wtmp,/var/run/wtmp,g' doc/coreutils.texi
127 rm -rf $RPM_BUILD_ROOT
130 make bindir=$RPM_BUILD_ROOT/bin mandir=$RPM_BUILD_ROOT/usr/share/man install
135 make DESTDIR=$RPM_BUILD_ROOT install
137 # man pages are not installed with make install
138 make mandir=$RPM_BUILD_ROOT%{_mandir} install-man
140 # fix japanese catalog file
141 if [ -d $RPM_BUILD_ROOT%{_datadir}/locale/ja_JP.EUC/LC_MESSAGES ]; then
142 mkdir -p $RPM_BUILD_ROOT%{_datadir}/locale/ja/LC_MESSAGES
143 mv $RPM_BUILD_ROOT%{_datadir}/locale/ja_JP.EUC/LC_MESSAGES/*mo \
144 $RPM_BUILD_ROOT%{_datadir}/locale/ja/LC_MESSAGES
145 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/ja_JP.EUC
150 # let be compatible with old fileutils, sh-utils and textutils packages :
151 mkdir -p $RPM_BUILD_ROOT{/bin,%_bindir,%_sbindir,/sbin}
152 %{?!nopam:mkdir -p $RPM_BUILD_ROOT%_sysconfdir/pam.d}
153 for f in basename cat chgrp chmod chown cp cut date dd df echo env false link ln ls mkdir mknod mv nice pwd rm rmdir sleep sort stty sync touch true uname unlink
155 mv $RPM_BUILD_ROOT{%_bindir,/bin}/$f
158 # chroot was in /usr/sbin :
159 mv $RPM_BUILD_ROOT{%_bindir,%_sbindir}/chroot
160 # {cat,sort,cut} were previously moved from bin to /usr/bin and linked into
161 for i in env cut; do ln -sf ../../bin/$i $RPM_BUILD_ROOT/usr/bin; done
163 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
164 install -p -c -m644 %SOURCE101 $RPM_BUILD_ROOT%{_sysconfdir}/DIR_COLORS
165 install -p -c -m644 %SOURCE102 $RPM_BUILD_ROOT%{_sysconfdir}/DIR_COLORS.xterm
166 install -p -c -m644 %SOURCE105 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/colorls.sh
167 install -p -c -m644 %SOURCE106 $RPM_BUILD_ROOT%{_sysconfdir}/profile.d/colorls.csh
170 install -m 4755 src/su $RPM_BUILD_ROOT/bin
171 #install -m 755 src/runuser $RPM_BUILD_ROOT/sbin
173 # These come from util-linux and/or procps.
174 for i in hostname uptime kill ; do
175 rm $RPM_BUILD_ROOT{%_bindir/$i,%_mandir/man1/$i.1}
178 %{?!nopam:install -p -m 644 %SOURCE200 $RPM_BUILD_ROOT%_sysconfdir/pam.d/su}
179 %{?!nopam:install -p -m 644 %SOURCE202 $RPM_BUILD_ROOT%_sysconfdir/pam.d/su-l}
180 #%{?!nopam:install -p -m 644 %SOURCE201 $RPM_BUILD_ROOT%_sysconfdir/pam.d/runuser}
181 #%{?!nopam:install -p -m 644 %SOURCE203 $RPM_BUILD_ROOT%_sysconfdir/pam.d/runuser-l}
183 # Compress ChangeLogs from before the fileutils/textutils/etc merge
186 # Use hard links instead of symbolic links for LC_TIME files (bug #246729).
187 find %{buildroot}%{_datadir}/locale -type l | \
190 target=$(readlink "$link")
192 ln "$(dirname "$link")/$target" "$link"
196 # (sb) Deal with Installed (but unpackaged) file(s) found
197 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
200 rm -rf $RPM_BUILD_ROOT
208 %defattr(-,root,root,-)
209 %config(noreplace) %{_sysconfdir}/DIR_COLORS*
210 %{_sysconfdir}/profile.d/*
211 %{?!nopam:%config(noreplace) %{_sysconfdir}/pam.d/su}
212 %{?!nopam:%config(noreplace) %{_sysconfdir}/pam.d/su-l}
240 %attr(4755,root,root) /bin/su