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