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