1 |
Summary: The GNU core utilities: a set of tools commonly used in shell scripts |
2 |
Name: coreutils |
3 |
Version: 8.17 |
4 |
Release: %mkrel 2 |
5 |
License: GPLv3+ |
6 |
Group: System/Base |
7 |
Url: http://www.gnu.org/software/coreutils/ |
8 |
Source0: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz |
9 |
Source200: su.pamd |
10 |
Source201: coreutils-runuser.pamd |
11 |
Source202: su-l.pamd |
12 |
Source203: coreutils-runuser-l.pamd |
13 |
|
14 |
# fileutils |
15 |
Patch101: coreutils-8.2-spacedir.patch |
16 |
Patch1155: coreutils-8.17-force-option--override--interactive-option.patch |
17 |
Patch118: fileutils-8.17-ls_h.patch |
18 |
Patch500: coreutils-8.3-mem.patch |
19 |
|
20 |
# sh-utils |
21 |
|
22 |
#add info about TZ envvar to date manpage |
23 |
Patch703: coreutils-6.11-dateman.patch |
24 |
#set paths for su explicitly, don't get influenced by paths.h |
25 |
Patch704: sh-utils-1.16-paths.patch |
26 |
# RMS will never accept the PAM patch because it removes his historical |
27 |
# rant about Twenex and the wheel group, so we'll continue to maintain |
28 |
# it here indefinitely. |
29 |
Patch706: coreutils-8.17-pam.patch |
30 |
Patch713: coreutils-4.5.3-langinfo.patch |
31 |
|
32 |
# (sb) lin18nux/lsb compliance - normally from here: |
33 |
# http://www.openi18n.org/subgroups/utildev/patch/ |
34 |
# this one is actually a merger of 5.2 and 5.3, as join segfaults |
35 |
# compiled with gcc4 and the 5.1/5.2 patch |
36 |
# fwang: we often get this patch from fedora |
37 |
Patch800: coreutils-8.17-new-i18n.patch |
38 |
|
39 |
Patch909: coreutils-5.1.0-64bit-fixes.patch |
40 |
|
41 |
# https://qa.mandriva.com/show_bug.cgi?id=38577 |
42 |
Patch911: coreutils-8.3-groupfix.patch |
43 |
|
44 |
Patch1011: coreutils-8.15-DIR_COLORS-mdkconf.patch |
45 |
#(peroyvind): add back always red blinking on broken symlinks |
46 |
Patch1013: coreutils-8.2-always-blinking-colors-on-broken-symlinks.patch |
47 |
#(peroyvind): fix a test that fails to compile with -Werror=format-security |
48 |
Patch1014: coreutils-8.8-check-string-format.patch |
49 |
|
50 |
# fedora patches |
51 |
#add note about no difference between binary/text mode on Linux - md5sum manpage |
52 |
Patch2101: coreutils-8.9-manpages.patch |
53 |
#temporarily workaround probable kernel issue with TCSADRAIN(#504798) |
54 |
Patch2102: coreutils-7.15-sttytcsadrain.patch |
55 |
#do display processor type for uname -p/-i based on uname(2) syscall |
56 |
Patch2103: coreutils-8.2-uname-processortype.patch |
57 |
#df --direct |
58 |
Patch2104: coreutils-8.9-df-direct.patch |
59 |
#Fix mkstemp on sparc64 |
60 |
Patch2105: coreutils-mkstemp.patch |
61 |
|
62 |
#Call setsid() in su under some circumstances (bug #173008). |
63 |
Patch2900: coreutils-setsid.patch |
64 |
#make runuser binary based on su.c |
65 |
Patch2907: coreutils-8.17-runuser.patch |
66 |
#getgrouplist() patch from Ulrich Drepper. |
67 |
Patch2908: coreutils-getgrouplist.patch |
68 |
#Prevent buffer overflow in who(1) (bug #158405). |
69 |
Patch2912: coreutils-overflow.patch |
70 |
#compile su with pie flag and RELRO protection |
71 |
Patch2917: coreutils-8.4-su-pie.patch |
72 |
|
73 |
BuildRequires: locales-fr |
74 |
BuildRequires: locales-ja |
75 |
BuildRequires: locales-zh |
76 |
BuildRequires: locales-tr |
77 |
BuildRequires: gettext |
78 |
BuildRequires: termcap-devel |
79 |
BuildRequires: pam-devel |
80 |
BuildRequires: texinfo >= 4.3 |
81 |
# We need automake which supports the dist-xz target |
82 |
BuildRequires: automake >= 1.10.2-2 |
83 |
# And tar which supports xz automagically since rpm.org seems to rely on this(..?) |
84 |
BuildRequires: tar >= 1.21-2 |
85 |
BuildRequires: libacl-devel |
86 |
BuildRequires: libattr-devel |
87 |
BuildRequires: libgmp-devel |
88 |
BuildRequires: libcap-devel |
89 |
BuildRequires: bison |
90 |
BuildRequires: flex |
91 |
BuildRequires: strace |
92 |
Requires(pre): filesystem >= 2.1.9-18 |
93 |
Requires: pam >= 0.66-12 |
94 |
|
95 |
Provides: mktemp = %{version} |
96 |
Obsoletes: mktemp < %{version} |
97 |
|
98 |
Provides: stat = %{version} |
99 |
Provides: %{_bindir}/env |
100 |
Provides: /bin/env |
101 |
Obsoletes: base64 |
102 |
Conflicts: tetex < 1.0.7-49 |
103 |
|
104 |
%description |
105 |
This package is the union of the old GNU fileutils, sh-utils, and |
106 |
textutils packages. |
107 |
|
108 |
These tools are the GNU versions of common useful and popular |
109 |
file & text utilities which are used for: |
110 |
- file management |
111 |
- shell scripts |
112 |
- modifying text file (spliting, joining, comparing, modifying, ...) |
113 |
|
114 |
Most of these programs have significant advantages over their Unix |
115 |
counterparts, such as greater speed, additional options, and fewer |
116 |
arbitrary limits. |
117 |
|
118 |
%package doc |
119 |
Summary: Coreutils documentation in info format |
120 |
Group: Books/Computer books |
121 |
Requires: coreutils >= 4.5.4-2 |
122 |
Requires(post,preun): info-install |
123 |
BuildArch: noarch |
124 |
|
125 |
%description doc |
126 |
This package contains coreutils documentation in GNU info format. |
127 |
|
128 |
%prep |
129 |
%setup -q |
130 |
|
131 |
# fileutils |
132 |
# (tpg) seems to be fixed |
133 |
#patch101 -p1 -b .space~ |
134 |
%patch1155 -p1 -b .override~ |
135 |
%patch118 -p1 |
136 |
|
137 |
# textutils |
138 |
%patch500 -p1 |
139 |
|
140 |
# sh-utils |
141 |
%patch703 -p1 -b .dateman~ |
142 |
%patch704 -p1 -b .paths~ |
143 |
%patch706 -p1 -b .pam~ |
144 |
%patch713 -p1 -b .langinfo~ |
145 |
|
146 |
# li18nux/lsb |
147 |
%patch800 -p1 -b .i18n~ |
148 |
|
149 |
%patch909 -p1 -b .64bit~ |
150 |
%patch911 -p1 -b .groups~ |
151 |
|
152 |
%patch1011 -p1 -b .colors_mdkconf~ |
153 |
%patch1013 -p1 -b .broken_blink~ |
154 |
%patch1014 -p1 -b .str_fmt~ |
155 |
|
156 |
%patch2101 -p1 -b .manpages~ |
157 |
%patch2102 -p1 -b .tcsadrain~ |
158 |
%patch2103 -p1 -b .sysinfo~ |
159 |
# (tpg) not needed for now |
160 |
#patch2104 -p1 -b .dfdirect~ |
161 |
%patch2105 -p1 -b .sparc~ |
162 |
|
163 |
%patch2900 -p1 -b .setsid~ |
164 |
%patch2907 -p1 -b .runuser~ |
165 |
%patch2908 -p1 -b .getgrouplist~ |
166 |
%patch2912 -p1 -b .overflow~ |
167 |
%patch2917 -p1 -b .pie~ |
168 |
|
169 |
chmod a+x tests/misc/sort-mb-tests tests/misc/id-context |
170 |
chmod +w ./src/dircolors.h |
171 |
./src/dcgen ./src/dircolors.hin > ./src/dircolors.h |
172 |
|
173 |
export DEFAULT_POSIX2_VERSION=199209 |
174 |
aclocal -I m4 |
175 |
automake --gnits --add-missing |
176 |
autoconf |
177 |
bzip2 -9 ChangeLog |
178 |
|
179 |
%build |
180 |
export CFLAGS="%{optflags} -fPIC -D_GNU_SOURCE=1" |
181 |
|
182 |
%configure2_5x \ |
183 |
--enable-largefile \ |
184 |
--enable-pam \ |
185 |
--enable-install-program=su \ |
186 |
--enable-no-install-program=arch,hostname,uptime,kill \ |
187 |
--without-selinux \ |
188 |
--disable-rpath \ |
189 |
--disable-silent-rules |
190 |
|
191 |
%make |
192 |
|
193 |
%check |
194 |
#make check |
195 |
|
196 |
%install |
197 |
rm -rf %{buildroot} |
198 |
%makeinstall_std |
199 |
|
200 |
# man pages are not installed with make install |
201 |
make mandir=%{buildroot}%{_mandir} install-man |
202 |
|
203 |
# let be compatible with old fileutils, sh-utils and textutils packages : |
204 |
mkdir -p %{buildroot}{%{_sbindir},%{_sysconfdir}/pam.d} |
205 |
|
206 |
# chroot was in /usr/sbin : |
207 |
mv %{buildroot}/{%{_bindir},%{_sbindir}}/chroot |
208 |
|
209 |
install -m644 src/dircolors.hin -D %{buildroot}%{_sysconfdir}/DIR_COLORS |
210 |
|
211 |
# su |
212 |
install -m 4755 src/su %{buildroot}/%{_bindir} |
213 |
|
214 |
install -m 644 %{SOURCE200} %{buildroot}%{_sysconfdir}/pam.d/su |
215 |
install -m 644 %{SOURCE201} %{buildroot}%{_sysconfdir}/pam.d/runuser |
216 |
install -m 644 %{SOURCE202} %{buildroot}%{_sysconfdir}/pam.d/su-l |
217 |
install -m 644 %{SOURCE203} %{buildroot}%{_sysconfdir}/pam.d/runuser-l |
218 |
|
219 |
|
220 |
#TV# find_lang look for LC_MESSAGES, not LC_TIME: |
221 |
#TV(cd %{buildroot}; find .%_datadir/locale/ -name coreutils.mo | fgrep LC_TIME | \ |
222 |
#TV sed -e "s!^.*/share/locale/\([^/]*\)/!%lang(\1) %_datadir/locale/\1/!") >> %name.lang |
223 |
find %{buildroot}%{_datadir}/locale/ -name coreutils.mo | fgrep LC_TIME | xargs rm -f |
224 |
|
225 |
%find_lang %{name} |
226 |
|
227 |
%clean |
228 |
rm -rf %{buildroot} |
229 |
|
230 |
%preun doc |
231 |
%_remove_install_info %{name}.info |
232 |
|
233 |
%post doc |
234 |
%_install_info %{name}.info |
235 |
# The next true is needed: else, if there's a problem, the |
236 |
# package'll be installed 2 times because of trigger faillure |
237 |
true |
238 |
|
239 |
%files -f %{name}.lang |
240 |
%config(noreplace) %{_sysconfdir}/D* |
241 |
%config(noreplace) %{_sysconfdir}/pam.d/su |
242 |
%config(noreplace) %{_sysconfdir}/pam.d/runuser |
243 |
%config(noreplace) %{_sysconfdir}/pam.d/su-l |
244 |
%config(noreplace) %{_sysconfdir}/pam.d/runuser-l |
245 |
%doc README |
246 |
%{_bindir}/* |
247 |
%{_sbindir}/chroot |
248 |
%dir %{_libdir}/coreutils |
249 |
%{_libdir}/coreutils/libstdbuf.so |
250 |
|
251 |
%files doc |
252 |
%doc ABOUT-NLS ChangeLog.bz2 NEWS THANKS TODO |
253 |
%{_infodir}/coreutils* |
254 |
%{_mandir}/man*/* |