]> TLD Linux GIT Repositories - packages/coreutils.git/blob - coreutils.spec
- PLD merge
[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:        1
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
212 %find_lang %{name}
213
214 %clean
215 rm -rf $RPM_BUILD_ROOT
216
217 %post   -p /sbin/postshell
218 -/usr/sbin/fix-info-dir -c %{_infodir}
219
220 %postun -p /sbin/postshell
221 -/usr/sbin/fix-info-dir -c %{_infodir}
222
223 %files -f %{name}.lang
224 %defattr(644,root,root,755)
225 %doc AUTHORS ChangeLog NEWS README THANKS THANKS-to-translators TODO
226 %attr(755,root,root) /bin/arch
227 %attr(755,root,root) /bin/basename
228 %attr(755,root,root) /bin/cat
229 %attr(755,root,root) /bin/chgrp
230 %attr(755,root,root) /bin/chmod
231 %attr(755,root,root) /bin/chown
232 %attr(755,root,root) /bin/cp
233 %attr(755,root,root) /bin/date
234 %attr(755,root,root) /bin/dd
235 %attr(755,root,root) /bin/df
236 %attr(755,root,root) /bin/echo
237 %attr(755,root,root) /bin/false
238 %attr(755,root,root) /bin/id
239 %attr(755,root,root) /bin/link
240 %attr(755,root,root) /bin/ln
241 %attr(755,root,root) /bin/ls
242 %attr(755,root,root) /bin/mkdir
243 %attr(755,root,root) /bin/mknod
244 %attr(755,root,root) /bin/mktemp
245 %attr(755,root,root) /bin/mv
246 %attr(755,root,root) /bin/nice
247 %attr(755,root,root) /bin/printf
248 %attr(755,root,root) /bin/pwd
249 %attr(755,root,root) /bin/readlink
250 %attr(755,root,root) /bin/rm
251 %attr(755,root,root) /bin/rmdir
252 %attr(755,root,root) /bin/sleep
253 %attr(755,root,root) /bin/sort
254 %attr(755,root,root) /bin/stat
255 %attr(755,root,root) /bin/stty
256 %attr(755,root,root) /bin/sync
257 %attr(755,root,root) /bin/touch
258 %attr(755,root,root) /bin/true
259 %attr(755,root,root) /bin/uname
260 %attr(755,root,root) /bin/unlink
261 %attr(755,root,root) %{_bindir}/[
262 %attr(755,root,root) %{_bindir}/base32
263 %attr(755,root,root) %{_bindir}/base64
264 %attr(755,root,root) %{_bindir}/chcon
265 %attr(755,root,root) %{_bindir}/cksum
266 %attr(755,root,root) %{_bindir}/comm
267 %attr(755,root,root) %{_bindir}/csplit
268 %attr(755,root,root) %{_bindir}/cut
269 %attr(755,root,root) %{_bindir}/dir
270 %attr(755,root,root) %{_bindir}/dircolors
271 %attr(755,root,root) %{_bindir}/dirname
272 %attr(755,root,root) %{_bindir}/du
273 %attr(755,root,root) %{_bindir}/env
274 %attr(755,root,root) %{_bindir}/expand
275 %attr(755,root,root) %{_bindir}/expr
276 %attr(755,root,root) %{_bindir}/factor
277 %attr(755,root,root) %{_bindir}/fmt
278 %attr(755,root,root) %{_bindir}/fold
279 %attr(755,root,root) %{_bindir}/getgid
280 %attr(755,root,root) %{_bindir}/groups
281 %attr(755,root,root) %{_bindir}/head
282 %attr(755,root,root) %{_bindir}/hostid
283 %attr(755,root,root) %{_bindir}/install
284 %attr(755,root,root) %{_bindir}/join
285 %attr(755,root,root) %{_bindir}/logname
286 %attr(755,root,root) %{_bindir}/md5sum
287 %attr(755,root,root) %{_bindir}/mkfifo
288 %attr(755,root,root) %{_bindir}/nl
289 %attr(755,root,root) %{_bindir}/nohup
290 %attr(755,root,root) %{_bindir}/nproc
291 %attr(755,root,root) %{_bindir}/numfmt
292 %attr(755,root,root) %{_bindir}/od
293 %attr(755,root,root) %{_bindir}/paste
294 %attr(755,root,root) %{_bindir}/pathchk
295 %attr(755,root,root) %{_bindir}/pinky
296 %attr(755,root,root) %{_bindir}/pr
297 %attr(755,root,root) %{_bindir}/printenv
298 %attr(755,root,root) %{_bindir}/ptx
299 %attr(755,root,root) %{_bindir}/realpath
300 %attr(755,root,root) %{_bindir}/runcon
301 %attr(755,root,root) %{_bindir}/seq
302 %attr(755,root,root) %{_bindir}/sha1sum
303 %attr(755,root,root) %{_bindir}/sha224sum
304 %attr(755,root,root) %{_bindir}/sha256sum
305 %attr(755,root,root) %{_bindir}/sha384sum
306 %attr(755,root,root) %{_bindir}/sha512sum
307 %attr(755,root,root) %{_bindir}/shred
308 %attr(755,root,root) %{_bindir}/shuf
309 %attr(755,root,root) %{_bindir}/split
310 %attr(755,root,root) %{_bindir}/stdbuf
311 %attr(755,root,root) %{_bindir}/sum
312 %attr(755,root,root) %{_bindir}/tac
313 %attr(755,root,root) %{_bindir}/tail
314 %attr(755,root,root) %{_bindir}/tee
315 %attr(755,root,root) %{_bindir}/test
316 %attr(755,root,root) %{_bindir}/timeout
317 %attr(755,root,root) %{_bindir}/tr
318 %attr(755,root,root) %{_bindir}/truncate
319 %attr(755,root,root) %{_bindir}/tsort
320 %attr(755,root,root) %{_bindir}/tty
321 %attr(755,root,root) %{_bindir}/unexpand
322 %attr(755,root,root) %{_bindir}/uniq
323 %attr(755,root,root) %{_bindir}/users
324 %attr(755,root,root) %{_bindir}/vdir
325 %attr(755,root,root) %{_bindir}/wc
326 %attr(755,root,root) %{_bindir}/who
327 %attr(755,root,root) %{_bindir}/whoami
328 %attr(755,root,root) %{_bindir}/yes
329 %attr(755,root,root) %{_sbindir}/chroot
330 %if %{with multicall}
331 %attr(755,root,root) /bin/coreutils
332 %attr(755,root,root) %{_bindir}/coreutils
333 %{_mandir}/man1/coreutils.1*
334 %endif
335 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS
336 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/DIR_COLORS.256color
337 %config(noreplace) /etc/shrc.d/colorls.csh
338 %config(noreplace) /etc/shrc.d/colorls.sh
339 %dir %{_libdir}/coreutils
340 %attr(755,root,root) %{_libdir}/coreutils/libstdbuf.so
341 %{_mandir}/man1/arch.1*
342 %{_mandir}/man1/base32.1*
343 %{_mandir}/man1/base64.1*
344 %{_mandir}/man1/basename.1*
345 %{_mandir}/man1/cat.1*
346 %{_mandir}/man1/chcon.1*
347 %{_mandir}/man1/chgrp.1*
348 %{_mandir}/man1/chmod.1*
349 %{_mandir}/man1/chown.1*
350 %{_mandir}/man1/chroot.1*
351 %{_mandir}/man1/cksum.1*
352 %{_mandir}/man1/comm.1*
353 %{_mandir}/man1/cp.1*
354 %{_mandir}/man1/csplit.1*
355 %{_mandir}/man1/cut.1*
356 %{_mandir}/man1/date.1*
357 %{_mandir}/man1/dd.1*
358 %{_mandir}/man1/df.1*
359 %{_mandir}/man1/dir.1*
360 %{_mandir}/man1/dircolors.1*
361 %{_mandir}/man1/dirname.1*
362 %{_mandir}/man1/du.1*
363 %{_mandir}/man1/echo.1*
364 %{_mandir}/man1/env.1*
365 %{_mandir}/man1/expand.1*
366 %{_mandir}/man1/expr.1*
367 %{_mandir}/man1/factor.1*
368 %{_mandir}/man1/false.1*
369 %{_mandir}/man1/fmt.1*
370 %{_mandir}/man1/fold.1*
371 %{_mandir}/man1/getgid.1*
372 %{_mandir}/man1/groups.1*
373 %{_mandir}/man1/head.1*
374 %{_mandir}/man1/hostid.1*
375 %{_mandir}/man1/id.1*
376 %{_mandir}/man1/install.1*
377 %{_mandir}/man1/join.1*
378 %{_mandir}/man1/link.1*
379 %{_mandir}/man1/ln.1*
380 %{_mandir}/man1/logname.1*
381 %{_mandir}/man1/ls.1*
382 %{_mandir}/man1/md5sum.1*
383 %{_mandir}/man1/mkdir.1*
384 %{_mandir}/man1/mkfifo.1*
385 %{_mandir}/man1/mknod.1*
386 %{_mandir}/man1/mktemp.1*
387 %{_mandir}/man1/mv.1*
388 %{_mandir}/man1/nice.1*
389 %{_mandir}/man1/nl.1*
390 %{_mandir}/man1/nohup.1*
391 %{_mandir}/man1/nproc.1*
392 %{_mandir}/man1/numfmt.1*
393 %{_mandir}/man1/od.1*
394 %{_mandir}/man1/paste.1*
395 %{_mandir}/man1/pathchk.1*
396 %{_mandir}/man1/pinky.1*
397 %{_mandir}/man1/pr.1*
398 %{_mandir}/man1/printenv.1*
399 %{_mandir}/man1/printf.1*
400 %{_mandir}/man1/ptx.1*
401 %{_mandir}/man1/pwd.1*
402 %{_mandir}/man1/readlink.1*
403 %{_mandir}/man1/realpath.1*
404 %{_mandir}/man1/rm.1*
405 %{_mandir}/man1/rmdir.1*
406 %{_mandir}/man1/runcon.1*
407 %{_mandir}/man1/seq.1*
408 %{_mandir}/man1/sha1sum.1*
409 %{_mandir}/man1/sha224sum.1*
410 %{_mandir}/man1/sha256sum.1*
411 %{_mandir}/man1/sha384sum.1*
412 %{_mandir}/man1/sha512sum.1*
413 %{_mandir}/man1/shred.1*
414 %{_mandir}/man1/shuf.1*
415 %{_mandir}/man1/sleep.1*
416 %{_mandir}/man1/sort.1*
417 %{_mandir}/man1/split.1*
418 %{_mandir}/man1/stat.1*
419 %{_mandir}/man1/stdbuf.1*
420 %{_mandir}/man1/stty.1*
421 %{_mandir}/man1/sum.1*
422 %{_mandir}/man1/sync.1*
423 %{_mandir}/man1/tac.1*
424 %{_mandir}/man1/tail.1*
425 %{_mandir}/man1/tee.1*
426 %{_mandir}/man1/test.1*
427 %{_mandir}/man1/timeout.1*
428 %{_mandir}/man1/touch.1*
429 %{_mandir}/man1/tr.1*
430 %{_mandir}/man1/true.1*
431 %{_mandir}/man1/truncate.1*
432 %{_mandir}/man1/tsort.1*
433 %{_mandir}/man1/tty.1*
434 %{_mandir}/man1/uname.1*
435 %{_mandir}/man1/unexpand.1*
436 %{_mandir}/man1/uniq.1*
437 %{_mandir}/man1/unlink.1*
438 %{_mandir}/man1/users.1*
439 %{_mandir}/man1/vdir.1*
440 %{_mandir}/man1/wc.1*
441 %{_mandir}/man1/who.1*
442 %{_mandir}/man1/whoami.1*
443 %{_mandir}/man1/yes.1*
444 %lang(cs) %{_mandir}/cs/man1/*
445 %lang(da) %{_mandir}/da/man1/*
446 %lang(de) %{_mandir}/de/man1/*
447 %lang(es) %{_mandir}/es/man1/*
448 %lang(fi) %{_mandir}/fi/man1/*
449 %lang(fr) %{_mandir}/fr/man1/*
450 %lang(hu) %{_mandir}/hu/man1/*
451 %lang(id) %{_mandir}/id/man1/*
452 %lang(it) %{_mandir}/it/man1/*
453 %lang(ja) %{_mandir}/ja/man1/*
454 %lang(ko) %{_mandir}/ko/man1/*
455 %lang(nl) %{_mandir}/nl/man1/*
456 %lang(pl) %{_mandir}/pl/man1/*
457 %lang(pt) %{_mandir}/pt/man1/*
458 %lang(ru) %{_mandir}/ru/man1/*
459 %lang(zh_CN) %{_mandir}/zh_CN/man1/*
460 %{_infodir}/coreutils.info*