]> TLD Linux GIT Repositories - packages/coreutils.git/blob - coreutils.spec
- remove locales not available in our current glibc
[packages/coreutils.git] / coreutils.spec
1 # Conditional build:
2 %bcond_with     advcopy # progress bar in cp (orphaned patch)
3 %bcond_with     multicall       # Compile all the tools in a single binary
4 %bcond_without  tests   # do not perform "make test check"
5
6 Summary:        GNU Core-utils - basic command line utilities
7 Summary(pl.UTF-8):      GNU Core-utils - podstawowe narzędzia działające z linii poleceń
8 Name:           coreutils
9 Version:        8.25
10 Release:        2
11 License:        GPL v3+
12 Group:          Applications/System
13 Source0:        http://ftp.gnu.org/gnu/coreutils/%{name}-%{version}.tar.xz
14 # Source0-md5:  070e43ba7f618d747414ef56ab248a48
15 Source1:        %{name}-non-english-man-pages.tar.bz2
16 # Source1-md5:  f7c986ebc74ccb8d08ed70141063f14c
17 Source2:        DIR_COLORS
18 Source3:        DIR_COLORS.256color
19 Source4:        colorls.sh
20 Source5:        colorls.csh
21 Source6:        mktemp.1.pl
22 Patch0:         %{name}-info.patch
23 Patch1:         %{name}-getgid.patch
24 Patch2:         %{name}-uname-cpuinfo.patch
25 Patch3:         %{name}-date-man.patch
26 Patch6:         %{name}-fmt-wchars.patch
27 Patch7:         %{name}-sparc64.patch
28 # http://translationproject.org/latest/coreutils/pl.po (pass through msgcat to generate shorter diff)
29 Patch8:         %{name}-pl.po-update.patch
30 # from http://www.beatex.org/web/advancedcopy.html, edited by shadzik
31 Patch9:         %{name}-advcopy.patch
32 Patch10:        tests.patch
33 URL:            http://www.gnu.org/software/coreutils/
34 BuildRequires:  acl-devel
35 BuildRequires:  attr-devel
36 BuildRequires:  autoconf >= 2.64
37 BuildRequires:  automake >= 1:1.11.2
38 BuildRequires:  gcc >= 5:3.2
39 BuildRequires:  gettext-tools >= 0.18.1
40 BuildRequires:  gmp-devel
41 BuildRequires:  help2man
42 BuildRequires:  libcap-devel
43 BuildRequires:  libselinux-devel
44 BuildRequires:  rpmbuild(find_lang) >= 1.24
45 BuildRequires:  tar >= 1:1.22
46 BuildRequires:  texinfo >= 4.2
47 BuildRequires:  xz
48 %if %{with tests}
49 BuildRequires:  strace
50 %endif
51 Requires:       setup >= 2.4.6-2
52 Provides:       fileutils
53 Provides:       mktemp = %{version}-%{release}
54 Provides:       sh-utils
55 Provides:       stat
56 Provides:       textutils
57 Obsoletes:      fileutils
58 Obsoletes:      mktemp
59 Obsoletes:      sh-utils
60 Obsoletes:      stat
61 Obsoletes:      textutils
62 Conflicts:      shadow < 1:4.0.3-6
63 Conflicts:      tetex < 1:2.0.2
64 # ensure util-linux has su included
65 Conflicts:      util-linux < 2.22
66 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
67
68 %description
69 These are the GNU core utilities. This package is the union of the GNU
70 fileutils, sh-utils, and textutils packages.
71
72 Most of these programs have significant advantages over their Unix
73 counterparts, such as greater speed, additional options, and fewer
74 arbitrary limits.
75
76 The programs that can be built with this package are:
77
78   [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date
79   dd df dir dircolors dirname du echo env expand expr factor false fmt
80   fold install groups head hostid id join link ln logname ls md5sum
81   mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
82   printf ptx pwd realpath rm rmdir seq sha1sum shred sleep sort split
83   stat stty sum sync tac tail tee test touch tr true tsort tty uname
84   unexpand uniq unlink users vdir wc who whoami yes
85
86 %description -l pl.UTF-8
87 Narzędzia podstawowe (core utilities) GNU to połączone paczki GNU
88 fileutils, sh-utils i textutils.
89
90 Większość z zawartych programów jest znacznie ulepszona w porównaniu
91 z ich uniksowymi odpowiednikami, np. szybciej działają, mają dodatkowe
92 opcje i mniej ograniczeń.
93
94 Programy zawarte w tym pakiecie to:
95
96   [ basename cat chgrp chmod chown chroot cksum comm cp csplit cut date
97   dd df dir dircolors dirname du echo env expand expr factor false fmt
98   fold ginstall groups head hostid id join link ln logname ls md5sum
99   mkdir mkfifo mknod mv nice nl nohup od paste pathchk pinky pr printenv
100   printf ptx pwd realpath rm rmdir seq sha1sum shred sleep sort split
101   stat stty sum sync tac tail tee test touch tr true tsort tty uname
102   unexpand uniq unlink users vdir wc who whoami yes
103
104 %prep
105 %setup -q -a1
106 %patch8 -p1
107 %patch0 -p1
108 %patch1 -p1
109 %patch2 -p1
110 %patch3 -p1
111 %patch6 -p1
112 %ifarch sparc64
113 %patch7 -p1
114 %endif
115 %if %{with advcopy}
116 # progress-bar patch, -g,--progress-bar //if in doubt, comment it out
117 %patch9 -p1
118 %endif
119 %patch10 -p1
120
121 mv man/pt_BR man/pt
122
123 %{__perl} -pi -e 's@GNU/Linux@TLD Linux@' m4/host-os.m4
124
125 # allow rebuilding *.gmo
126 %{__rm} po/stamp-po
127
128 # 8-bit-pfx test fails under C locale:
129 # LC_ALL=C echo -e "ça\nçb\n"|LC_ALL=C fmt -p 'ç'
130 # fmt: memory exhausted
131 %{__sed} -i -e 25,27d tests/fmt/base.pl
132
133 # /etc/resolv.conf is blocked in pld builders, try some other file
134 %{__sed} -i -e 's,/etc/resolv.conf,/etc/hosts,' gnulib-tests/test-read-file.c
135
136 # getgid needs to be fixed:
137 # getgid: missing operand
138 # Try `getgid --help' for more information.
139 %{__rm} tests/misc/help-version.sh
140 %{__sed} -i -e '/misc\/help-version/d' tests/local.mk
141
142 # fails on some filesystems (like XFS), where readdir returns d_type=DT_UNKNOWN
143 %{__rm} tests/ls/stat-free-color.sh
144 %{__sed} -i -e '/ls\/stat-free-color/d' tests/local.mk
145
146 # filesystem layout dependant (fails on some xfs fs)
147 %{__rm} tests/dd/sparse.sh
148 %{__sed} -i -e '/dd\/sparse/d' tests/local.mk
149
150 # mksh is too smart for those, won't let programs fail on ulimit
151 # would need bash here
152 %{__rm} tests/misc/sort-merge-fdlimit.sh
153 %{__sed} -i -e '/misc\/sort-merge-fdlimit/d' tests/local.mk
154 %{__rm} tests/split/r-chunk.sh
155 %{__sed} -i -e '/split\/r-chunk/d' tests/local.mk
156
157 %build
158 build-aux/gen-lists-of-programs.sh --autoconf > m4/cu-progs.m4
159 build-aux/gen-lists-of-programs.sh --automake > src/cu-progs.mk
160 %{__gettextize}
161 %{__aclocal} -I m4
162 %{__autoconf}
163 %{__autoheader}
164 %{__automake}
165 %configure \
166         CFLAGS="%{rpmcflags} -DSYSLOG_SUCCESS -DSYSLOG_FAILURE -DSYSLOG_NON_ROOT" \
167         DEFAULT_POSIX2_VERSION=199209 \
168         %{?with_multicall:--enable-single-binary=symlinks} \
169         --disable-silent-rules \
170         --enable-install-program=arch \
171         --enable-no-install-program=hostname,kill,uptime
172
173 %{__make}
174
175 %if %{with tests}
176 sed -i -e 's#COLUMNS##g' tests/envvar-check
177 LC_ALL=C LANG=C %{__make} -j1 tests check
178 %endif
179
180 %install
181 rm -rf $RPM_BUILD_ROOT
182 install -d $RPM_BUILD_ROOT{/bin,/sbin,%{_bindir},%{_sbindir},/etc/shrc.d}
183
184 %{__make} install \
185         DESTDIR=$RPM_BUILD_ROOT
186
187 mv $RPM_BUILD_ROOT%{_bindir}/{arch,basename,cat,chgrp,chmod,chown,cp,date,dd,\
188 df,echo,false,id,link,ln,ls,mkdir,mknod,mktemp,mv,nice,printf,pwd,readlink,rm,rmdir,\
189 sleep,sort,stat,stty,sync,touch,true,unlink,uname} $RPM_BUILD_ROOT/bin
190
191 %if %{with multicall}
192 mv $RPM_BUILD_ROOT{%{_bindir},/bin}/coreutils
193 ln -s ../../bin/coreutils $RPM_BUILD_ROOT%{_bindir}
194 %endif
195
196 mv $RPM_BUILD_ROOT%{_bindir}/chroot $RPM_BUILD_ROOT%{_sbindir}
197
198 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
199 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}
200 cp -p %{SOURCE4} %{SOURCE5} $RPM_BUILD_ROOT/etc/shrc.d
201
202 for d in cs da de es fi fr hu id it ja ko nl pl pt ru zh_CN; do
203         install -d $RPM_BUILD_ROOT%{_mandir}/$d/man1
204         cp -p man/$d/*.1 $RPM_BUILD_ROOT%{_mandir}/$d/man1
205 done
206 cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_mandir}/pl/man1/mktemp.1
207 # unwanted (-f left intentionally - some manuals could have no translations)
208 rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/{hostname,kill,su,uptime}.1
209 # always remove, never packaged but sometimes installed
210 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
211 # remove locales not available in the system
212 rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/sr/LC_TIME
213
214 %find_lang %{name}
215
216 %clean
217 rm -rf $RPM_BUILD_ROOT
218
219 %post   -p /sbin/postshell
220 -/usr/sbin/fix-info-dir -c %{_infodir}
221
222 %postun -p /sbin/postshell
223 -/usr/sbin/fix-info-dir -c %{_infodir}
224
225 %files -f %{name}.lang
226 %defattr(644,root,root,755)
227 %doc AUTHORS ChangeLog NEWS README THANKS THANKS-to-translators TODO
228 %attr(755,root,root) /bin/arch
229 %attr(755,root,root) /bin/basename
230 %attr(755,root,root) /bin/cat
231 %attr(755,root,root) /bin/chgrp
232 %attr(755,root,root) /bin/chmod
233 %attr(755,root,root) /bin/chown
234 %attr(755,root,root) /bin/cp
235 %attr(755,root,root) /bin/date
236 %attr(755,root,root) /bin/dd
237 %attr(755,root,root) /bin/df
238 %attr(755,root,root) /bin/echo
239 %attr(755,root,root) /bin/false
240 %attr(755,root,root) /bin/id
241 %attr(755,root,root) /bin/link
242 %attr(755,root,root) /bin/ln
243 %attr(755,root,root) /bin/ls
244 %attr(755,root,root) /bin/mkdir
245 %attr(755,root,root) /bin/mknod
246 %attr(755,root,root) /bin/mktemp
247 %attr(755,root,root) /bin/mv
248 %attr(755,root,root) /bin/nice
249 %attr(755,root,root) /bin/printf
250 %attr(755,root,root) /bin/pwd
251 %attr(755,root,root) /bin/readlink
252 %attr(755,root,root) /bin/rm
253 %attr(755,root,root) /bin/rmdir
254 %attr(755,root,root) /bin/sleep
255 %attr(755,root,root) /bin/sort
256 %attr(755,root,root) /bin/stat
257 %attr(755,root,root) /bin/stty
258 %attr(755,root,root) /bin/sync
259 %attr(755,root,root) /bin/touch
260 %attr(755,root,root) /bin/true
261 %attr(755,root,root) /bin/uname
262 %attr(755,root,root) /bin/unlink
263 %attr(755,root,root) %{_bindir}/[
264 %attr(755,root,root) %{_bindir}/base32
265 %attr(755,root,root) %{_bindir}/base64
266 %attr(755,root,root) %{_bindir}/chcon
267 %attr(755,root,root) %{_bindir}/cksum
268 %attr(755,root,root) %{_bindir}/comm
269 %attr(755,root,root) %{_bindir}/csplit
270 %attr(755,root,root) %{_bindir}/cut
271 %attr(755,root,root) %{_bindir}/dir
272 %attr(755,root,root) %{_bindir}/dircolors
273 %attr(755,root,root) %{_bindir}/dirname
274 %attr(755,root,root) %{_bindir}/du
275 %attr(755,root,root) %{_bindir}/env
276 %attr(755,root,root) %{_bindir}/expand
277 %attr(755,root,root) %{_bindir}/expr
278 %attr(755,root,root) %{_bindir}/factor
279 %attr(755,root,root) %{_bindir}/fmt
280 %attr(755,root,root) %{_bindir}/fold
281 %attr(755,root,root) %{_bindir}/getgid
282 %attr(755,root,root) %{_bindir}/groups
283 %attr(755,root,root) %{_bindir}/head
284 %attr(755,root,root) %{_bindir}/hostid
285 %attr(755,root,root) %{_bindir}/install
286 %attr(755,root,root) %{_bindir}/join
287 %attr(755,root,root) %{_bindir}/logname
288 %attr(755,root,root) %{_bindir}/md5sum
289 %attr(755,root,root) %{_bindir}/mkfifo
290 %attr(755,root,root) %{_bindir}/nl
291 %attr(755,root,root) %{_bindir}/nohup
292 %attr(755,root,root) %{_bindir}/nproc
293 %attr(755,root,root) %{_bindir}/numfmt
294 %attr(755,root,root) %{_bindir}/od
295 %attr(755,root,root) %{_bindir}/paste
296 %attr(755,root,root) %{_bindir}/pathchk
297 %attr(755,root,root) %{_bindir}/pinky
298 %attr(755,root,root) %{_bindir}/pr
299 %attr(755,root,root) %{_bindir}/printenv
300 %attr(755,root,root) %{_bindir}/ptx
301 %attr(755,root,root) %{_bindir}/realpath
302 %attr(755,root,root) %{_bindir}/runcon
303 %attr(755,root,root) %{_bindir}/seq
304 %attr(755,root,root) %{_bindir}/sha1sum
305 %attr(755,root,root) %{_bindir}/sha224sum
306 %attr(755,root,root) %{_bindir}/sha256sum
307 %attr(755,root,root) %{_bindir}/sha384sum
308 %attr(755,root,root) %{_bindir}/sha512sum
309 %attr(755,root,root) %{_bindir}/shred
310 %attr(755,root,root) %{_bindir}/shuf
311 %attr(755,root,root) %{_bindir}/split
312 %attr(755,root,root) %{_bindir}/stdbuf
313 %attr(755,root,root) %{_bindir}/sum
314 %attr(755,root,root) %{_bindir}/tac
315 %attr(755,root,root) %{_bindir}/tail
316 %attr(755,root,root) %{_bindir}/tee
317 %attr(755,root,root) %{_bindir}/test
318 %attr(755,root,root) %{_bindir}/timeout
319 %attr(755,root,root) %{_bindir}/tr
320 %attr(755,root,root) %{_bindir}/truncate
321 %attr(755,root,root) %{_bindir}/tsort
322 %attr(755,root,root) %{_bindir}/tty
323 %attr(755,root,root) %{_bindir}/unexpand
324 %attr(755,root,root) %{_bindir}/uniq
325 %attr(755,root,root) %{_bindir}/users
326 %attr(755,root,root) %{_bindir}/vdir
327 %attr(755,root,root) %{_bindir}/wc
328 %attr(755,root,root) %{_bindir}/who
329 %attr(755,root,root) %{_bindir}/whoami
330 %attr(755,root,root) %{_bindir}/yes
331 %attr(755,root,root) %{_sbindir}/chroot
332 %if %{with multicall}
333 %attr(755,root,root) /bin/coreutils
334 %attr(755,root,root) %{_bindir}/coreutils
335 %{_mandir}/man1/coreutils.1*
336 %endif
337 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS
338 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS.256color
339 %config(noreplace) /etc/shrc.d/colorls.csh
340 %config(noreplace) /etc/shrc.d/colorls.sh
341 %dir %{_libdir}/coreutils
342 %attr(755,root,root) %{_libdir}/coreutils/libstdbuf.so
343 %{_mandir}/man1/arch.1*
344 %{_mandir}/man1/base32.1*
345 %{_mandir}/man1/base64.1*
346 %{_mandir}/man1/basename.1*
347 %{_mandir}/man1/cat.1*
348 %{_mandir}/man1/chcon.1*
349 %{_mandir}/man1/chgrp.1*
350 %{_mandir}/man1/chmod.1*
351 %{_mandir}/man1/chown.1*
352 %{_mandir}/man1/chroot.1*
353 %{_mandir}/man1/cksum.1*
354 %{_mandir}/man1/comm.1*
355 %{_mandir}/man1/cp.1*
356 %{_mandir}/man1/csplit.1*
357 %{_mandir}/man1/cut.1*
358 %{_mandir}/man1/date.1*
359 %{_mandir}/man1/dd.1*
360 %{_mandir}/man1/df.1*
361 %{_mandir}/man1/dir.1*
362 %{_mandir}/man1/dircolors.1*
363 %{_mandir}/man1/dirname.1*
364 %{_mandir}/man1/du.1*
365 %{_mandir}/man1/echo.1*
366 %{_mandir}/man1/env.1*
367 %{_mandir}/man1/expand.1*
368 %{_mandir}/man1/expr.1*
369 %{_mandir}/man1/factor.1*
370 %{_mandir}/man1/false.1*
371 %{_mandir}/man1/fmt.1*
372 %{_mandir}/man1/fold.1*
373 %{_mandir}/man1/getgid.1*
374 %{_mandir}/man1/groups.1*
375 %{_mandir}/man1/head.1*
376 %{_mandir}/man1/hostid.1*
377 %{_mandir}/man1/id.1*
378 %{_mandir}/man1/install.1*
379 %{_mandir}/man1/join.1*
380 %{_mandir}/man1/link.1*
381 %{_mandir}/man1/ln.1*
382 %{_mandir}/man1/logname.1*
383 %{_mandir}/man1/ls.1*
384 %{_mandir}/man1/md5sum.1*
385 %{_mandir}/man1/mkdir.1*
386 %{_mandir}/man1/mkfifo.1*
387 %{_mandir}/man1/mknod.1*
388 %{_mandir}/man1/mktemp.1*
389 %{_mandir}/man1/mv.1*
390 %{_mandir}/man1/nice.1*
391 %{_mandir}/man1/nl.1*
392 %{_mandir}/man1/nohup.1*
393 %{_mandir}/man1/nproc.1*
394 %{_mandir}/man1/numfmt.1*
395 %{_mandir}/man1/od.1*
396 %{_mandir}/man1/paste.1*
397 %{_mandir}/man1/pathchk.1*
398 %{_mandir}/man1/pinky.1*
399 %{_mandir}/man1/pr.1*
400 %{_mandir}/man1/printenv.1*
401 %{_mandir}/man1/printf.1*
402 %{_mandir}/man1/ptx.1*
403 %{_mandir}/man1/pwd.1*
404 %{_mandir}/man1/readlink.1*
405 %{_mandir}/man1/realpath.1*
406 %{_mandir}/man1/rm.1*
407 %{_mandir}/man1/rmdir.1*
408 %{_mandir}/man1/runcon.1*
409 %{_mandir}/man1/seq.1*
410 %{_mandir}/man1/sha1sum.1*
411 %{_mandir}/man1/sha224sum.1*
412 %{_mandir}/man1/sha256sum.1*
413 %{_mandir}/man1/sha384sum.1*
414 %{_mandir}/man1/sha512sum.1*
415 %{_mandir}/man1/shred.1*
416 %{_mandir}/man1/shuf.1*
417 %{_mandir}/man1/sleep.1*
418 %{_mandir}/man1/sort.1*
419 %{_mandir}/man1/split.1*
420 %{_mandir}/man1/stat.1*
421 %{_mandir}/man1/stdbuf.1*
422 %{_mandir}/man1/stty.1*
423 %{_mandir}/man1/sum.1*
424 %{_mandir}/man1/sync.1*
425 %{_mandir}/man1/tac.1*
426 %{_mandir}/man1/tail.1*
427 %{_mandir}/man1/tee.1*
428 %{_mandir}/man1/test.1*
429 %{_mandir}/man1/timeout.1*
430 %{_mandir}/man1/touch.1*
431 %{_mandir}/man1/tr.1*
432 %{_mandir}/man1/true.1*
433 %{_mandir}/man1/truncate.1*
434 %{_mandir}/man1/tsort.1*
435 %{_mandir}/man1/tty.1*
436 %{_mandir}/man1/uname.1*
437 %{_mandir}/man1/unexpand.1*
438 %{_mandir}/man1/uniq.1*
439 %{_mandir}/man1/unlink.1*
440 %{_mandir}/man1/users.1*
441 %{_mandir}/man1/vdir.1*
442 %{_mandir}/man1/wc.1*
443 %{_mandir}/man1/who.1*
444 %{_mandir}/man1/whoami.1*
445 %{_mandir}/man1/yes.1*
446 %lang(cs) %{_mandir}/cs/man1/*
447 %lang(da) %{_mandir}/da/man1/*
448 %lang(de) %{_mandir}/de/man1/*
449 %lang(es) %{_mandir}/es/man1/*
450 %lang(fi) %{_mandir}/fi/man1/*
451 %lang(fr) %{_mandir}/fr/man1/*
452 %lang(hu) %{_mandir}/hu/man1/*
453 %lang(id) %{_mandir}/id/man1/*
454 %lang(it) %{_mandir}/it/man1/*
455 %lang(ja) %{_mandir}/ja/man1/*
456 %lang(ko) %{_mandir}/ko/man1/*
457 %lang(nl) %{_mandir}/nl/man1/*
458 %lang(pl) %{_mandir}/pl/man1/*
459 %lang(pt) %{_mandir}/pt/man1/*
460 %lang(ru) %{_mandir}/ru/man1/*
461 %lang(zh_CN) %{_mandir}/zh_CN/man1/*
462 %{_infodir}/coreutils.info*