/[packages]/updates/3/glibc/current/SPECS/glibc.spec
ViewVC logotype

Contents of /updates/3/glibc/current/SPECS/glibc.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 217216 - (show annotations) (download)
Sat Mar 3 11:57:12 2012 UTC (12 years ago) by tmb
Original Path: cauldron/glibc/current/SPECS/glibc.spec
File size: 49773 byte(s)
rebuild with new gcc
1 # RH 2.2.4-20, SuSE 2.3.1-32
2 %define name %{cross_prefix}glibc
3
4 # <epoch>:<version>-<release> tags for glibc main package
5 %define glibcversion 2.14.1
6 %define __glibcrelease 5
7 %define glibcepoch 6
8
9 # CVS snapshots of glibc
10 %define RELEASE 1
11 %if %{RELEASE}
12 %define source_package glibc-%{glibcversion}
13 %define source_dir glibc-%{glibcversion}
14 %define _glibcrelease %{__glibcrelease}
15 %define portsversion %{glibcversion}
16 %else
17 %define snapshot 20081113
18 %define source_package glibc-%{glibcversion}-%{snapshot}
19 %define source_dir glibc-%{glibcversion}
20 %define _glibcrelease 0.%{snapshot}.%{__glibcrelease}
21 %define portsversion 2.9
22 %endif
23
24 %define glibcrelease %mkrel %{_glibcrelease}
25
26 # crypt blowfish support
27 %define crypt_bf_ver 1.2
28
29 # Define "cross" to an architecture to which glibc is to be
30 # cross-compiled
31 %define build_cross 0
32 %{expand: %{?cross: %%global build_cross 1}}
33
34 %if %{build_cross}
35 %define target_cpu %{cross}
36 %define cross_prefix cross-%{target_cpu}-
37 %define _prefix /usr/%{target_cpu}-%{_real_vendor}-linux%{gnuext}
38 %define cross_program_prefix %{target_cpu}-%{_real_vendor}-linux%{gnuext}-
39 %define _exec_prefix %{_prefix}
40 # brain damage alert: should not be needed imho
41 # overriding _prefix and _exec_prefix should be enough
42 %define _bindir %{_exec_prefix}/bin
43 %define _sbindir %{_exec_prefix}/sbin
44 %define _libexecdir %{_exec_prefix}/libexec
45 %define _datadir %{_prefix}/share
46 %define _sharedstatedir %{_prefix}/com
47 %define _localstatedir %{_prefix}/var
48 %define _lib lib
49 %define _libdir %{_exec_prefix}/%{_lib}
50 %define _slibdir %{_exec_prefix}/%{_lib}
51 %define _slibdir32 %{_exec_prefix}/lib
52 %define _includedir %{_prefix}/include
53 %else
54 %define gnuext %{_gnu}
55 %define target_cpu %{_target_cpu}
56 %define cross_prefix %{nil}
57 %define cross_program_prefix %{nil}
58 %define _slibdir /%{_lib}
59 %define _slibdir32 /lib
60 %endif
61
62 # Define target (base) architecture
63 %define arch %(echo %{target_cpu}|sed -e "s/\\(i.86\\|athlon\\)/i386/" -e "s/amd64/x86_64/")
64 %define isarch() %(case " %* " in (*" %{arch} "*) echo 1;; (*) echo 0;; esac)
65
66 %if %{build_cross}
67 %if %isarch %arm
68 %define gnuext -gnueabi
69 %else
70 %define gnuext -gnu
71 %endif
72 %endif
73
74 # Define Xen arches to build with -mno-tls-direct-direct-seg-refs
75 %define xenarches %{ix86} x86_64
76
77 # arches which requires glibc-port
78 %define ports_arch %arm %mips
79
80 # Define to build nscd with selinux support
81 %define build_selinux 0
82
83 # Flag for build_pdf_doc:
84 # 1 build glibc with PDF documentation
85 # 0 don't build PDF glibc documentation (e.g. for bootstrap build)
86 %define build_pdf_doc 1
87
88 # Enable checking by default for arches where we know tests all pass
89 %define build_check 1
90
91 # Allow make check to fail only when running kernels where we know
92 # tests must pass (no missing features or bugs in the kernel)
93 %define check_min_kver 2.6.33
94
95 # Define to build a biarch package
96 %define build_biarch 0
97 %if %isarch x86_64 mips64 mips64el
98 %define build_biarch 1
99 %endif
100
101 # Define to build glibc-debug package
102 %define build_debug 1
103 %define _enable_debug_packages 1
104 %if "%{_enable_debug_packages}" == "1"
105 %define build_debug 0
106 %endif
107
108 # Define to bootstrap new glibc
109 %define build_bootstrap 0
110 %{expand: %{!?build_cross_bootstrap: %global build_cross_bootstrap 0}}
111
112 %define build_profile 1
113 %define build_nscd 1
114 %define build_doc 1
115 %define build_utils 1
116 %define build_i18ndata 1
117 %define build_timezone 0
118
119 # Disable a few defaults when cross-compiling a glibc
120 %if %{build_cross}
121 %define build_doc 0
122 %define build_pdf_doc 0
123 %define build_biarch 0
124 %define build_check 0
125 %define build_debug 0
126 %define build_nscd 0
127 %define build_profile 0
128 %define build_utils 0
129 %define build_i18ndata 0
130 %define build_timezone 0
131 %endif
132
133 # Allow --with[out] <feature> at rpm command line build
134 %{expand: %{?_without_PDF: %%global build_pdf_doc 0}}
135 %{expand: %{?_without_CHECK: %%global build_check 0}}
136 %{expand: %{?_without_UTILS: %%global build_utils 0}}
137 %{expand: %{?_without_BOOTSTRAP:%%global build_bootstrap 0}}
138 %{expand: %{?_with_PDF: %%global build_pdf_doc 1}}
139 %{expand: %{?_with_CHECK: %%global build_check 1}}
140 %{expand: %{?_with_UTILS: %%global build_utils 1}}
141 %{expand: %{?_with_BOOTSTRAP: %%global build_bootstrap 1}}
142
143 Summary: The GNU libc libraries
144 Name: %{name}
145 Version: %{glibcversion}
146 Release: %{glibcrelease}
147 Epoch: %{glibcepoch}
148 License: LGPL
149 Group: System/Libraries
150 Url: http://www.gnu.org/software/libc/
151
152 # FSF source
153 Source0: http://ftp.gnu.org/gnu/glibc/%{source_package}.tar.xz
154 %if %{RELEASE}
155 Source1: http://ftp.gnu.org/gnu/glibc/%{source_package}.tar.xz.sig
156 %endif
157
158 # Red Hat tarball
159 Source2: glibc-redhat.tar.bz2
160 Source3: glibc-manpages.tar.bz2
161 Source4: glibc-find-requires.sh
162 Source5: glibc-check.sh
163
164 # wrapper to avoid rpm circular dependencies
165 Source14: glibc-post-wrapper.c
166
167 # Blowfish support
168 Source16: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_ver}.tar.gz
169 Source17: http://www.openwall.com/crypt/crypt_blowfish-%{crypt_bf_ver}.tar.gz.sign
170 Source18: http://cvsweb.openwall.com/cgi/cvsweb.cgi/~checkout~/Owl/packages/glibc/crypt_freesec.c
171 Source19: http://cvsweb.openwall.com/cgi/cvsweb.cgi/~checkout~/Owl/packages/glibc/crypt_freesec.h
172
173 # tarball are at http://ftp.gnu.org/gnu/glibc/
174 # for snapshots :
175 # git clone git://sources.redhat.com/git/glibc-ports.git
176 # git archive --format=tar --prefix=glibc-ports-2.9/ HEAD | bzip2 -c > ../glibc-ports-2.9-$(date +%%Y%%m%%d).tar.bz2
177 Source20: http://ftp.gnu.org/gnu/glibc/glibc-ports-%{portsversion}.tar.xz
178 %if %{RELEASE}
179 Source21: http://ftp.gnu.org/gnu/glibc/glibc-ports-%{portsversion}.tar.xz.sig
180 %endif
181
182 Buildroot: %{_tmppath}/glibc-%{PACKAGE_VERSION}-root
183 %if %{build_cross}
184 Autoreq: false
185 Autoprov: false
186 %else
187 Provides: glibc-crypt_blowfish = %{crypt_bf_ver}
188 Provides: should-restart = system
189 %if %isarch %{xenarches}
190 Obsoletes: %{name}-xen
191 Provides: %{name}-xen
192 %endif
193 # The dynamic linker supports DT_GNU_HASH
194 Provides: rtld(GNU_HASH)
195 Autoreq: false
196 %endif
197 BuildRequires: patch, gettext, perl
198 BuildRequires: kernel-userspace-headers
199 %if %{build_selinux}
200 BuildRequires: libselinux-devel >= 1.17.10
201 %endif
202 # need linker for -Wl,--hash-style=both (>= 2.16.91.0.7-6})
203 # need gnu indirect function for multiarch (>= 2.19.51.0.14-1)
204 %define binutils_version 2.19.51.0.14-1
205 BuildRequires: %{cross_prefix}binutils >= %{binutils_version}
206 # we need the static dash
207 %define ash_bin /bin/dash.static
208 Requires(pre): dash-static
209 Requires(post): dash-static
210 # we need an ldconfig with TLS support
211 %if %{build_cross}
212 BuildRequires: %{cross_prefix}gcc >= 3.2.2-4
213 %endif
214 %ifarch x86_64
215 BuildRequires: %{cross_prefix}gcc >= 3.1.1-0.5
216 %endif
217 BuildRequires: %{cross_prefix}gcc >= 4.0.1-2
218 %if !%{build_cross}
219 %ifarch mips mipsel
220 Provides: ld.so.1
221 %endif
222 %endif
223
224 # Old prelink versions brakes the system with glibc 2.11
225 Conflicts: prelink < 1:0.4.2-1.20091104.1
226
227 BuildRequires: texinfo
228 %if %{build_pdf_doc}
229 BuildRequires: texlive
230 %endif
231 %if %{build_utils}
232 BuildRequires: gd-devel
233 %endif
234 BuildRequires: autoconf2.5
235 BuildRequires: libcap-devel
236 BuildRequires: rpm-mageia-setup-build >= 1.147
237 BuildRequires: spec-helper >= 0.31.2
238
239 # make "localedef --add-to-archive" to follow symlink
240 # safe to send ustream, need to be kept for locales
241 Patch00: glibc-2.11.1-localedef-archive-follow-symlinks.patch
242
243 # various path fix, for _PATH_VI and _PATH_VARDB
244 Patch01: glibc-2.12.1-fhs.patch
245 Patch02: glibc-2.9-ldd-non-exec.patch
246 # try to fallback on loading /lib/libnss_*.so.X.Y when the loading
247 # of /lib/libnss_*.so.X failed. Should be dropped, IMHO.
248 Patch04: glibc-2.2-nss-upgrade.patch
249
250 # patch from https://qa.mandriva.com/show_bug.cgi?id=58834
251 # deferred upstream until rfc is changed, no need to push upstream
252 Patch05: glibc-2.12.1-assign-global-scope-to-RFC-1918-addresses.patch
253 Patch06: glibc-2.9-share-locale.patch
254
255 # default nsswitch.conf
256 # should be moved out patch and be a regular Source
257 Patch07: glibc-2.3.6-nsswitch.conf.patch
258
259 # use xvt instead of xterm in xtrace.sh
260 # cannot be pushed upstream as xvt is Ma* specific
261 Patch09: glibc-2.2.4-xterm-xvt.patch
262
263 # add transliteration for "COLON SIGN"
264 # ( used for the money of money of san salvador )
265 Patch11: glibc-2.4.90-compat-EUR-currencies.patch
266 Patch12: glibc-2.3.6-ppc-build-lddlibc4.patch
267
268 # fix the chkconfig header, should be sent upstream
269 Patch13: glibc-2.3.3-nscd-enable.patch
270
271 # disable cache for hosts on nscd, as this is seen as insecure
272 # if the system relie on reverse dns for security
273 Patch14: glibc-2.9-nscd-no-host-cache.patch
274
275 Patch17: glibc-2.4.90-i386-hwcapinfo.patch
276 Patch18: glibc-2.7-provide_CFI_for_the_outermost_function.patch
277
278 # another fix for nscd init script, make it start after network, ldap, mysql and ypbind
279 # should be sent upstream
280 Patch19: glibc-2.8-nscd-init-should-start.patch
281
282 # according to the patch : "The Linux kernel has a bug which silently ignore the invalid
283 # c_cflag on pty.". Patch is likely fixed in kernel, but this should be checked
284 Patch22: glibc-2.3.2-tcsetattr-kernel-bug-workaround.patch
285
286 # add some new timezone for various cities
287 # Halifax, Montreal, Johannesburg
288 # should be sent upstream ( I guess )
289 Patch23: glibc-2.3.4-timezone.patch
290 Patch24: glibc-2.10.1-biarch-cpp-defines.patch
291 Patch26: glibc-2.6-nice_fix.patch
292
293 # fix a typo, safe to send upstream
294 Patch27: glibc-2.8-ENOTTY-fr-translation.patch
295 Patch28: glibc-2.4.90-gcc4-fortify.patch
296 Patch29: glibc-2.3.5-biarch-utils.patch
297
298 # remove multiarch header, Ma* specific patch
299 # check if still needed or if the work was finished
300 Patch30: glibc-2.10.1-multiarch.patch
301 Patch31: glibc-2.4.90-i586-hptiming.patch
302
303 # do not use i686 optimised library if the processor do not support
304 # cmov ( some i686 cpu don't, from VIA iirc )
305 # shuld be sent upstream, IMHO
306 Patch32: glibc-2.3.4-i586-if-no-cmov.patch
307
308 # translation fixes, need to be checked with some i18n team member
309 # should be safe to send upstream once checked
310 Patch33: glibc-2.3.6-pt_BR-i18nfixes.patch
311 Patch34: glibc-2.4.90-testsuite-ldbl-bits.patch
312
313 # disable parallel testsuite of rt on powerpc with SMT
314 Patch38: glibc-2.4.90-testsuite-rt-notparallel.patch
315 Patch39: glibc-2.10.1-mdv-owl-crypt_freesec.patch
316 Patch40: glibc-2.14.1-avx-relocate_fcrypt.patch
317 Patch41: glibc-2.14.1-avx-increase_BF_FRAME.patch
318 Patch42: glibc-2.10.1-mdv-avx-owl-crypt.patch
319
320 # add support for sha256 and sha512 in crypt
321 # likely coming from owl
322 Patch43: glibc-2.7-mdv-wrapper_handle_sha.patch
323
324 # check for libcap, even if selinux is disabled
325 # should be sent upstream
326 Patch44: glibc-2.14.1-dont-tie-libcap-with-selinux.patch
327
328 # change page size to 16k. mandatory for loongson
329 # but not necessary a good idea for other socs
330 Patch46: glibc_mips_16k_page_size.patch
331
332 # fix segfault in ld-2.14.1.so (glibc bz #12871)
333 Patch48: glibc-2.14.1-fix-segfault-at-dl-lookup.patch
334
335 Patch49: glibc2.14-revert-sunrpc-removal.patch
336 Patch50: crypt_blowfish_arm.patch
337
338 # Determine minium kernel versions
339 %define enablekernel 2.6.33
340 Conflicts: kernel < %{enablekernel}
341
342 # People changed location of rpm scripts...
343 %define rpmscripts /usr/lib/rpm/%{_real_vendor}
344
345 # Don't try to explicitly provide GLIBC_PRIVATE versioned libraries
346 %define __find_provides %{_builddir}/%{source_dir}/find_provides.sh
347 %define __find_requires %{_builddir}/%{source_dir}/find_requires.sh
348
349 %if !%{build_cross}
350 Obsoletes: ld.so
351 Provides: ld.so
352 %endif
353
354 Obsoletes: ldconfig
355 Provides: ldconfig = %{glibcepoch}:%{glibcversion}-%{glibcrelease} /sbin/ldconfig
356
357 %description
358 The glibc package contains standard libraries which are used by
359 multiple programs on the system. In order to save disk space and
360 memory, as well as to make upgrading easier, common system code is
361 kept in one place and shared between programs. This particular package
362 contains the most important sets of shared libraries: the standard C
363 library and the standard math library. Without these two libraries, a
364 Linux system will not function. The glibc package also contains
365 national language (locale) support.
366
367 This package now also provides ldconfig which was package seperately in
368 the past. Ldconfig is a basic system program which determines run-time
369 link bindings between ld.so and shared libraries. Ldconfig scans a running
370 system and sets up the symbolic links that are used to load shared
371 libraries properly. It also creates a cache (/etc/ld.so.cache) which
372 speeds the loading of programs which use shared libraries.
373
374 %package devel
375 Summary: Header and object files for development using standard C libraries
376 Group: Development/C
377 Requires(post): info-install
378 Requires(preun): info-install
379 Requires(post): coreutils
380 Requires(postun): coreutils, awk
381 Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel, nptl-devel
382 %if !%{build_debug}
383 Obsoletes: %{name}-debug < 6:2.3.2-15
384 %endif
385 Requires: %{name} = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
386 %if !%{build_cross}
387 Requires: linux-userspace-headers
388 %endif
389 %if !%isarch ppc
390 Conflicts: %{cross_prefix}gcc < 2.96-0.50
391 %endif
392 # needs a gcc4 fortify capable compiler
393 Conflicts: gcc4.0 < 4.0.1-2
394 %if %{build_cross}
395 Autoreq: false
396 Autoprov: false
397 %else
398 Autoreq: true
399 %endif
400 Provides: glibc-crypt_blowfish-devel = %{crypt_bf_ver}
401
402 %description devel
403 The glibc-devel package contains the header and object files necessary
404 for developing programs which use the standard C libraries (which are
405 used by nearly all programs). If you are developing programs which
406 will use the standard C libraries, your system needs to have these
407 standard header and object files available in order to create the
408 executables.
409
410 This package also includes the C header files for the Linux kernel.
411 The header files define structures and constants that are needed for
412 building most standard programs. The header files are also needed for
413 rebuilding the kernel.
414
415 Install glibc-devel if you are going to develop programs which will
416 use the standard C libraries.
417
418 %package static-devel
419 Summary: Static libraries for GNU C library
420 Group: Development/C
421 Requires: %{name}-devel = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
422
423 %description static-devel
424 The glibc-static-devel package contains the static libraries necessary
425 for developing programs which use the standard C libraries. Install
426 glibc-static-devel if you need to statically link your program or
427 library.
428
429 %package profile
430 Summary: The GNU libc libraries, including support for gprof profiling
431 Group: Development/C
432 Obsoletes: libc-profile
433 Provides: libc-profile = %{glibcversion}-%{glibcrelease}
434 Autoreq: true
435
436 %description profile
437 The glibc-profile package includes the GNU libc libraries and support
438 for profiling using the gprof program. Profiling is analyzing a
439 program's functions to see how much CPU time they use and determining
440 which functions are calling other functions during execution. To use
441 gprof to profile a program, your program needs to use the GNU libc
442 libraries included in glibc-profile (instead of the standard GNU libc
443 libraries included in the glibc package).
444
445 If you are going to use the gprof program to profile a program, you'll
446 need to install the glibc-profile program.
447
448 %package -n nscd
449 Summary: A Name Service Caching Daemon (nscd)
450 Group: System/Servers
451 Requires(pre): rpm-helper
452 Requires(preun): rpm-helper
453 Requires(post): rpm-helper
454 Requires(postun): rpm-helper
455 Autoreq: true
456
457 %description -n nscd
458 Nscd caches name service lookups and can dramatically improve
459 performance with NIS+, and may help with DNS as well. Note that you
460 can't use nscd with 2.0 kernels because of bugs in the kernel-side
461 thread support. Unfortunately, nscd happens to hit these bugs
462 particularly hard.
463
464 Install nscd if you need a name service lookup caching daemon, and
465 you're not using a version 2.0 kernel.
466
467 %if %{build_debug}
468 %package debug
469 Summary: Shared standard C libraries with debugging information
470 Group: System/Libraries
471 Requires: %{name} = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
472 Autoreq: false
473
474 %description debug
475 The glibc-debug package contains shared standard C libraries with
476 debugging information. You need this only if you want to step into C
477 library routines during debugging.
478
479 To use these libraries, you need to add %{_libdir}/debug to your
480 LD_LIBRARY_PATH variable prior to starting the debugger.
481 %endif
482
483 %package utils
484 Summary: Development utilities from GNU C library
485 Group: Development/Other
486 Requires: %{name} = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
487
488 %description utils
489 The glibc-utils package contains memusage, a memory usage profiler,
490 mtrace, a memory leak tracer and xtrace, a function call tracer which
491 can be helpful during program debugging.
492
493 If unsure if you need this, don't install this package.
494
495 %if %{build_i18ndata}
496 %package i18ndata
497 Summary: Database sources for 'locale'
498 Group: System/Libraries
499
500 %description i18ndata
501 This package contains the data needed to build the locale data files
502 to use the internationalization features of the GNU libc.
503 %endif
504
505 %if %{build_timezone}
506 %package -n timezone
507 Summary: Time zone descriptions
508 Group: System/Base
509
510 %description -n timezone
511 These are configuration files that describe possible
512 time zones.
513 %endif
514
515 %package doc
516 Summary: GNU C library documentation
517 Group: Development/Other
518 BuildArch: noarch
519
520 %description doc
521 The glibc-doc package contains documentation for the GNU C library in
522 info format.
523
524 %if %{build_pdf_doc}
525 %package doc-pdf
526 Summary: GNU C library documentation
527 Group: Development/Other
528 BuildArch: noarch
529
530 %description doc-pdf
531 The glibc-doc-pdf package contains the printable documentation for the
532 GNU C library in PDF format.
533 %endif
534
535 %prep
536 %setup -q -n %{source_dir} -a 3 -a 2 -a 16
537
538 %patch00 -p1 -b .localedef-archive-follow-symlinks
539 %patch01 -p1 -b .fhs
540 %patch02 -p1 -b .ldd-non-exec
541 %patch04 -p1 -b .nss-upgrade
542 %patch05 -p1 -b .assign-global-scope-to-RFC-1918-addresses
543 %patch06 -p1 -b .share-locale
544 %patch07 -p1 -b .nsswitch.conf
545 %patch09 -p1 -b .xterm-xvt
546 %patch11 -p1 -b .compat-EUR-currencies
547 %patch12 -p1 -b .ppc-lddlibc4
548 %patch13 -p1 -b .nscd-enable
549 %patch14 -p1 -b .nscd-no-host-cache
550 %patch17 -p1 -b .i386-hwcapinfo
551 %patch18 -p0 -R -b .provide_CFI_for_the_outermost_function
552 %patch19 -p1 -b .nscd-init-should-start
553 # (tmb) 2011-10-18: disable to verify kernels are fixed.
554 #patch22 -p1 -b .tcsetattr-kernel-bug-workaround
555 %patch23 -p1 -b .timezone
556 %patch24 -p1 -b .biarch-cpp-defines
557 %patch26 -p1 -b .nice-fix
558 %patch27 -p1 -b .ENOTTY-fr-translation
559 %patch28 -p1 -b .gcc4-fortify
560 %patch29 -p1 -b .biarch-utils
561 %patch30 -p1 -b .multiarch-check
562 %patch31 -p1 -b .i586-hptiming
563 %patch32 -p1 -b .i586-if-no-cmov
564 %patch33 -p1 -b .pt_BR-i18nfixes
565 %patch34 -p1 -b .testsuite-ldbl-bits
566 %patch38 -p1 -b .testsuite-rt-notparallel
567 %patch44 -p1 -b .dont-tie-libcap-with-selinux
568 %patch48 -p1 -b .fix-segfault-at-dl-lookup
569 %patch49 -p1 -b .revert-rpc-change
570
571 %if %isarch %ports_arch
572 tar xf %{SOURCE20}
573 mv glibc-ports-%{glibcversion} ports
574 %patch46 -p1 -b .pagesize
575 %endif
576
577 # copy freesec source
578 cp %{_sourcedir}/crypt_freesec.[ch] crypt/
579 echo "Applying crypt_blowfish patch:"
580 %patch42 -p1 -b .mdv-avx-owl-crypt
581 mv crypt/crypt.h crypt/gnu-crypt.h
582 cp -a crypt_blowfish-%{crypt_bf_ver}/*.[chS] crypt/
583
584 ## FreeSec support for extended/new-style/BSDI hashes in crypt(3)
585 %patch39 -p1 -b .mdv-owl-crypt_freesec
586 %patch40 -p1 -b .avx-relocate_fcrypt
587 %patch41 -p1 -b .avx-increase_BF_FRAME
588 # add sha256-crypt and sha512-crypt support to the Openwall wrapper
589 #patch43 -p0 -b .mdv-wrapper_handle_sha
590 %patch50 -p1 -b .crypt_arm_asm
591
592 %if %{build_selinux}
593 # XXX kludge to build nscd with selinux support as it added -nostdinc
594 # so /usr/include/selinux is not found
595 ln -s %{_includedir}/selinux selinux
596 %endif
597
598 find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \;
599
600 # (Anssi 03/2008) FIXME: use _provides_exceptions
601 cat > find_provides.sh << EOF
602 #!/bin/sh
603 %{rpmscripts}/find-provides | grep -v GLIBC_PRIVATE
604 exit 0
605 EOF
606 chmod +x find_provides.sh
607
608 cat > find_requires.bootstrap.sh << EOF
609 /bin/sh %{SOURCE4} %{buildroot} %{_target_cpu} | grep -v "\(GLIBC_PRIVATE\|linux-gate\|linux-vdso\)"
610 exit 0
611 EOF
612 chmod +x find_requires.bootstrap.sh
613
614 # XXX: use better way later to avoid LD_LIBRARY_PATH issue
615 cat %{rpmscripts}/find-requires | sed '/.*LD_LIBRARY_PATH.*/d;' > find_requires
616 chmod +x find_requires
617 # (Anssi 03/2008) FIXME: use _requires_exceptions
618 cat > find_requires.noprivate.sh << EOF
619 %{_builddir}/%{source_dir}/find_requires %{buildroot} %{_target_cpu} | \
620 grep -v GLIBC_PRIVATE
621 exit 0
622 EOF
623 chmod +x find_requires.noprivate.sh
624
625 # FIXME: fix system rpm find-requires to use the prefix cross version
626 %if %{build_bootstrap} || "%{_target_cpu}" != "%{target_cpu}"
627 ln -s find_requires.bootstrap.sh find_requires.sh
628 %else
629 ln -s find_requires.noprivate.sh find_requires.sh
630 %endif
631
632 # Remove patch backups from files we ship in glibc packages
633 rm -f ChangeLog.[^0-9]*
634 rm -f localedata/locales/{???_??,??_??}.*
635 rm -f localedata/locales/[a-z_]*.*
636
637 %build
638 # Prepare test matrix in the next function
639 CheckList=$PWD/Check.list
640 rm -f $CheckList
641 touch $CheckList
642
643 #
644 # CompareKver <kernel version>
645 # function to compare the desired kernel version with running kernel
646 # version (package releases not taken into account in comparison). The
647 # function returns:
648 # -1 = <kernel version> is lesser than current running kernel
649 # 0 = <kernel version> is equal to the current running kernel
650 # 1 = <kernel version> is greater than current running kernel
651 #
652 function CompareKver() {
653 v1=`echo $1 | sed 's/\.\?$/./'`
654 v2=`uname -r | sed 's/[^.0-9].*//' | sed 's/\.\?$/./'`
655 n=1
656 s=0
657 while true; do
658 c1=`echo "$v1" | cut -d "." -f $n`
659 c2=`echo "$v2" | cut -d "." -f $n`
660 if [ -z "$c1" -a -z "$c2" ]; then
661 break
662 elif [ -z "$c1" ]; then
663 s=-1
664 break
665 elif [ -z "$c2" ]; then
666 s=1
667 break
668 elif [ "$c1" -gt "$c2" ]; then
669 s=1
670 break
671 elif [ "$c2" -gt "$c1" ]; then
672 s=-1
673 break
674 fi
675 n=$((n + 1))
676 done
677 echo $s
678 }
679
680 #
681 # BuildGlibc <arch> [<extra_configure_options>+]
682 #
683 function BuildGlibc() {
684 arch="$1"
685 shift 1
686
687 # PowerPC CPU add-on
688 case $arch in
689 cpu-addon,*)
690 cpu=` echo "$arch" | sed -n "/.*,\([^,]*\),.*$/s//\1/p"`
691 arch=`echo "$arch" | sed -n "/.*,.*,\([^,]*\)$/s//\1/p"`
692 ;;
693 *)
694 cpu=$arch
695 ;;
696 esac
697
698 # Select optimization flags and compiler to use
699 BuildAltArch="no"
700 BuildCompFlags=""
701 BuildFlags=""
702 case $arch in
703 i[3456]86 | athlon)
704 BuildFlags="-march=$arch -mtune=generic"
705 if [[ "`uname -m`" = "x86_64" ]]; then
706 BuildAltArch="yes"
707 BuildCompFlags="-m32"
708 fi
709 ;;
710 x86_64)
711 BuildFlags="-mtune=generic"
712 ;;
713 mips|mipsel)
714 BuildFlags="-march=mips3"
715 BuildCompFlags="-march=mips3"
716 ;;
717 mips32|mips32el)
718 BuildFlags="-march=mips3 -mabi=n32"
719 BuildCompFlags="-march=mips3 -mabi=n32"
720 ;;
721 mips64|mips64el)
722 BuildFlags="-march=mips3 -mabi=64"
723 BuildCompFlags="-march=mips3 -mabi=64"
724 ;;
725 armv4t*)
726 BuildFlags="-march=armv4t"
727 BuildCompFlags="-march=armv4t"
728 ;;
729 armv5t*)
730 BuildFlags="-march=armv5t"
731 BuildCompFlags="-march=armv5t"
732 ;;
733 # to check
734 armv7*)
735 BuildFlags="-march=armv7-a"
736 BuildCompFlags="-march=armv7-a"
737 ;;
738 esac
739
740 # Choose multiarch support
741 MultiArchFlags=
742 case $arch in
743 i686 | x86_64)
744 MultiArchFlags="--enable-multi-arch"
745 ;;
746 esac
747
748 # Determine C & C++ compilers
749 BuildCC="%{__cc} $BuildCompFlags"
750 BuildCXX="%{__cxx} $BuildCompFlags"
751
752 # Are we supposed to cross-compile?
753 if [[ "%{target_cpu}" != "%{_target_cpu}" ]]; then
754 # Can't use BuildCC anymore with previous changes.
755 BuildCC="%{cross_program_prefix}gcc $BuildCompFlags"
756 BuildCXX="%{cross_program_prefix}g++ $BuildCompFlags"
757 BuildCross="--build=%{_target_platform}"
758 export libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes
759 fi
760
761 BuildFlags="$BuildFlags -DNDEBUG=1 -O2 -finline-functions -g"
762 if $BuildCC -v 2>&1 | grep -q 'gcc version 3.0'; then
763 # gcc3.0 had really poor inlining heuristics causing problems in
764 # resulting ld.so
765 BuildFlags="$BuildFlags -finline-limit=2000"
766 fi
767
768 # Do not use direct references against %gs when accessing tls data
769 # XXX make it the default in GCC? (for other non glibc specific usage)
770 case $arch in
771 i[3456]86 | x86_64)
772 BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
773 ;;
774 esac
775
776 # Arch specific compilation flags
777 if [[ "$arch" = "ppc64" ]]; then
778 BuildFlags="$BuildFlags -fno-inline-functions -mno-minimal-toc"
779 fi
780
781 # Extra configure flags
782 ExtraFlags=
783 if [[ "%{build_profile}" != "0" ]]; then
784 ExtraFlags="$ExtraFlags --enable-profile"
785 fi
786
787 # NPTL+TLS are now the default
788 # check for other arches
789 %if %isarch %ports_arch
790 Pthreads="ports nptl"
791 %else
792 Pthreads="nptl"
793 %endif
794 TlsFlags="--with-tls --with-__thread"
795
796 # Add-ons
797 AddOns="$Pthreads,libidn"
798 if [[ "$cpu" != "$arch" ]]; then
799 AddOns="$AddOns,powerpc-cpu"
800 BuildFlags="$BuildFlags -mcpu=$cpu"
801 ExtraFlags="$ExtraFlags --with-cpu=$cpu"
802 fi
803
804 # Build with selinux support?
805 %if %{build_selinux}
806 SElinuxFlags="--with-selinux"
807 %else
808 SElinuxFlags="--without-selinux"
809 %endif
810
811 # Kernel headers directory
812 KernelHeaders=%{_includedir}
813
814 # Determine library name
815 glibc_cv_cc_64bit_output=no
816 if echo ".text" | $BuildCC -c -o test.o -xassembler -; then
817 case `/usr/bin/file test.o` in
818 *"ELF 64"*)
819 glibc_cv_cc_64bit_output=yes
820 ;;
821 esac
822 fi
823 rm -f test.o
824
825 # Force a separate and clean object dir
826 rm -rf build-$cpu-linux
827 mkdir build-$cpu-linux
828 pushd build-$cpu-linux
829 [[ "$BuildAltArch" = "yes" ]] && touch ".alt" || touch ".main"
830 CC="$BuildCC" CXX="$BuildCXX" CFLAGS="$BuildFlags" ../configure \
831 $arch-%{_real_vendor}-linux%{gnuext} $BuildCross \
832 --prefix=%{_prefix} \
833 --libexecdir=%{_prefix}/libexec \
834 --infodir=%{_infodir} \
835 --enable-add-ons="$AddOns" --without-cvs \
836 $TlsFlags $ExtraFlags $MultiArchFlags $SElinuxFlags \
837 --enable-experimental-malloc \
838 --enable-kernel=%{enablekernel} \
839 --with-headers=$KernelHeaders ${1+"$@"}
840 %make -r
841 popd
842
843 # All tests are expected to pass on certain platforms, depending also
844 # on the version of the kernel running
845 case $arch in
846 athlon | ia64 | ppc | ppc64)
847 if [ "`CompareKver %{check_min_kver}`" -lt 0 ]; then
848 check_flags=""
849 else
850 check_flags="-k"
851 fi
852 ;;
853 *)
854 check_flags="-k"
855 ;;
856 esac
857
858 # Generate test matrix
859 [[ -d "build-$arch-linux" ]] || {
860 echo "ERROR: PrepareGlibcTest: build-$arch-linux does not exist!"
861 return 1
862 }
863 local BuildJobs="-j`getconf _NPROCESSORS_ONLN`"
864 echo "$BuildJobs -d build-$arch-linux $check_flags" >> $CheckList
865
866 case $cpu in
867 i686|athlon) base_arch=i586;;
868 power*) base_arch=$arch;;
869 *) base_arch=none;;
870 esac
871
872 [[ -d "build-$base_arch-linux" ]] && {
873 check_flags="$check_flags -l build-$base_arch-linux/elf/ld.so"
874 echo "$BuildJobs -d build-$arch-linux $check_flags" >> $CheckList
875 }
876 return 0
877 }
878
879 # Build main glibc
880 BuildGlibc %{target_cpu}
881
882 %if %{build_biarch}
883 %if %isarch x86_64
884 BuildGlibc i686
885 %endif
886 %endif
887 %if %isarch mips
888 BuildGlibc mips64
889 BuildGlibc mips32
890 %endif
891 %if %isarch mipsel
892 BuildGlibc mips64el
893 BuildGlibc mips32el
894 %endif
895 %if %isarch mips64
896 BuildGlibc mips
897 BuildGlibc mips32
898 %endif
899 %if %isarch mips64el
900 BuildGlibc mipsel
901 BuildGlibc mips32el
902 %endif
903
904 # Build i686 libraries if not already building for i686/athlon
905 case %{target_cpu} in
906 i686 | athlon)
907 ;;
908 i[3-6]86)
909 BuildGlibc i686 --disable-profile
910 ;;
911 esac
912
913 make -C crypt_blowfish-%{crypt_bf_ver} man
914
915 %if %{build_check}
916 export TMPDIR=/tmp
917 export TIMEOUTFACTOR=16
918 Check="$PWD/glibc-check.sh"
919 cat %{SOURCE5} > $Check
920 chmod +x $Check
921 while read arglist; do
922 $Check $arglist || exit 1
923 done < $CheckList
924 %endif
925
926 %install
927 rm -rf $RPM_BUILD_ROOT
928
929 # force use of _NPROCESSORS_ONLN jobs since RPM_BUILD_NCPUS could be
930 # greater for icecream
931 BuildJobs="-j`getconf _NPROCESSORS_ONLN`"
932
933 make install_root=$RPM_BUILD_ROOT install -C build-%{target_cpu}-linux
934 %if %{build_i18ndata}
935 (cd build-%{target_cpu}-linux;
936 make $BuildJobs -C ../localedata objdir=`pwd` \
937 install_root=$RPM_BUILD_ROOT \
938 install-locales
939 )
940 install -m 0644 localedata/SUPPORTED $RPM_BUILD_ROOT/%{_datadir}/i18n/
941 %endif
942 sh manpages/Script.sh
943
944 # Empty filelist for non i686/athlon targets
945 > extralibs.filelist
946
947 # Install biarch libraries
948 %if %{build_biarch} || %isarch mips mipsel
949 %if %isarch x86_64
950 ALT_ARCHES=i686-linux
951 %endif
952 %if %isarch mips
953 ALT_ARCHES="mips64-linux mips32-linux"
954 %endif
955 %if %isarch mipsel
956 ALT_ARCHES="mips64el-linux mips32el-linux"
957 %endif
958 %if %isarch mips64
959 ALT_ARCHES="mips-linux mips32-linux"
960 %endif
961 %if %isarch mips64el
962 ALT_ARCHES="mipsel-linux mips32el-linux"
963 %endif
964
965 for ALT_ARCH in $ALT_ARCHES; do
966 mkdir -p $RPM_BUILD_ROOT/$ALT_ARCH
967 make install_root=$RPM_BUILD_ROOT/$ALT_ARCH install -C build-$ALT_ARCH
968
969 # Dispatch */lib only
970 case "$ALT_ARCH" in
971 mips32*)
972 LIB="%{_slibdir}32"
973 ;;
974 mips64*)
975 LIB="%{_slibdir}64"
976 ;;
977 *)
978 LIB=/lib
979 ;;
980 esac
981 %if !%{build_cross}
982 mv $RPM_BUILD_ROOT/$ALT_ARCH/$LIB $RPM_BUILD_ROOT/$LIB
983 rm -f $RPM_BUILD_ROOT/$ALT_ARCH/%_prefix/lib/pt_chown
984 mv $RPM_BUILD_ROOT/$ALT_ARCH%{_prefix}/libexec/getconf/* \
985 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/
986 [ ! -d $RPM_BUILD_ROOT/%{_prefix}/$LIB/ ] && mkdir -p $RPM_BUILD_ROOT/%{_prefix}/$LIB/
987 mv $RPM_BUILD_ROOT/$ALT_ARCH/%{_prefix}/$LIB/* $RPM_BUILD_ROOT/%{_prefix}/$LIB/
988 %else
989 mv $RPM_BUILD_ROOT/$ALT_ARCH/%{_prefix}/lib $RPM_BUILD_ROOT/$LIB
990 rm -f $RPM_BUILD_ROOT/%{_prefix}/libexec/pt_chown
991 rm -f $RPM_BUILD_ROOT/$LIB/pt_chown
992 sed -i $RPM_BUILD_ROOT/$LIB/libc.so -e "s!%{_slibdir}!$LIB!g"
993 %endif
994
995 rm -rf $RPM_BUILD_ROOT/$ALT_ARCH
996 # XXX Dispatch 32-bit stubs
997 (sed '/^@/d' include/stubs-prologue.h; LC_ALL=C sort $(find build-$ALT_ARCH -name stubs)) \
998 > $RPM_BUILD_ROOT%{_includedir}/gnu/stubs-32.h
999 done
1000 %endif
1001 %if %{build_cross}
1002 rm -f $RPM_BUILD_ROOT/%{_prefix}/libexec/pt_chown
1003 %endif
1004
1005 # Install extra glibc libraries
1006 function InstallGlibc() {
1007 local BuildDir="$1"
1008 local SubDir="$2"
1009 local LibDir="$3"
1010
1011 case $BuildDir in
1012 *) Pthreads=nptl ;;
1013 esac
1014
1015 [[ -z "$LibDir" ]] && LibDir="%{_slibdir}"
1016
1017 pushd $BuildDir
1018 mkdir -p $RPM_BUILD_ROOT$LibDir/$SubDir/
1019 install -m755 libc.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libc-*.so`
1020 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libc-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libc.so.*`
1021 install -m755 math/libm.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libm-*.so`
1022 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libm-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libm.so.*`
1023 install -m755 $Pthreads/libpthread.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libpthread-*.so`
1024 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libpthread-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libpthread.so.*`
1025 install -m755 ${Pthreads}_db/libthread_db.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libthread_db-*.so`
1026 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libthread_db-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libthread_db.so.*`
1027 install -m755 rt/librt.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/librt-*.so`
1028 ln -sf `basename $RPM_BUILD_ROOT$LibDir/librt-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/librt.so.*`
1029 echo "%dir $LibDir/$SubDir" >> ../extralibs.filelist
1030 find $RPM_BUILD_ROOT$LibDir/$SubDir -maxdepth 1 -type f -o -type l | sed -e "s|$RPM_BUILD_ROOT||" >> ../extralibs.filelist
1031 popd
1032 }
1033
1034 # Install arch-specific optimized libraries
1035 %if %isarch %{ix86}
1036 case %{target_cpu} in
1037 i[3-5]86)
1038 InstallGlibc build-i686-linux i686
1039 ;;
1040 esac
1041 %endif
1042
1043 # NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
1044 # the generic one (RH#162634)
1045 install -m644 bits/stdio-lock.h $RPM_BUILD_ROOT%{_includedir}/bits/stdio-lock.h
1046
1047 # Compatibility hack: this locale has vanished from glibc, but some other
1048 # programs are still using it. Normally we would handle it in the %pre
1049 # section but with glibc that is simply not an option
1050 mkdir -p $RPM_BUILD_ROOT%{_datadir}/locale/ru_RU/LC_MESSAGES
1051
1052 # Remove the files we don't want to distribute
1053 rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion*
1054 rm -f $RPM_BUILD_ROOT%{_slibdir}/libNoVersion*
1055
1056 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}/libbsd.a
1057 %if %{build_biarch}
1058 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/lib/libbsd.a
1059 %endif
1060 %if %isarch mips mipsel
1061 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}32/libbsd.a
1062 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}64/libbsd.a
1063 %endif
1064
1065 %if "%{name}" == "glibc"
1066 install -m 644 mageia/nsswitch.conf $RPM_BUILD_ROOT%{_sysconfdir}/nsswitch.conf
1067 %endif
1068
1069 # This is for ncsd - in glibc 2.2
1070 %if %{build_nscd}
1071 install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT%{_sysconfdir}
1072 mkdir -p $RPM_BUILD_ROOT%{_initrddir}
1073 install -m 755 nscd/nscd.init $RPM_BUILD_ROOT%{_initrddir}/nscd
1074 %endif
1075
1076 # These man pages require special attention
1077 mkdir -p %{buildroot}%{_mandir}/man3
1078 install -p -m 0644 crypt_blowfish-%{crypt_bf_ver}/*.3 %{buildroot}%{_mandir}/man3/
1079
1080 # Useless and takes place
1081 rm -rf %buildroot/%{_datadir}/zoneinfo/{posix,right}
1082
1083 # Include ld.so.conf
1084 %if "%{name}" == "glibc"
1085 %if %isarch mips mipsel
1086 # needed to get a ldd which understands o32, n32, 64
1087 install -m 755 $RPM_BUILD_DIR/%{source_dir}/build-mips64el-linux/elf/ldd $RPM_BUILD_ROOT/%{_bindir}/ldd
1088 %endif
1089 echo "include /etc/ld.so.conf.d/*.conf" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
1090 chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
1091 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
1092
1093 # ldconfig cache
1094 mkdir -p $RPM_BUILD_ROOT%{_var}/cache/ldconfig
1095 touch $RPM_BUILD_ROOT%{_var}/cache/ldconfig/aux-cache
1096
1097 # automatic ldconfig cache update on rpm installs/removals
1098 # (see http://wiki.mandriva.com/en/Rpm_filetriggers)
1099 install -d %buildroot%{_var}/lib/rpm/filetriggers
1100 cat > %buildroot%{_var}/lib/rpm/filetriggers/ldconfig.filter << EOF
1101 ^.((/lib|/usr/lib)(32|64)?/[^/]*\.so\.|/etc/ld.so.conf.d/[^/]*\.conf)
1102 EOF
1103 cat > %buildroot%{_var}/lib/rpm/filetriggers/ldconfig.script << EOF
1104 #!/bin/sh
1105 ldconfig -X
1106 EOF
1107 chmod 755 %buildroot%{_var}/lib/rpm/filetriggers/ldconfig.script
1108 %endif
1109
1110 # Include %{_libdir}/gconv/gconv-modules.cache
1111 > $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
1112 chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
1113
1114 %if "%{name}" == "glibc"
1115 touch $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.cache
1116 %endif
1117
1118 # Add libraries to debug sub-package
1119 %if %{build_debug}
1120 mkdir $RPM_BUILD_ROOT%{_libdir}/debug
1121 #cp -a $RPM_BUILD_ROOT%{_libdir}/*.a $RPM_BUILD_ROOT%{_libdir}/debug/
1122 #rm -f $RPM_BUILD_ROOT%{_libdir}/debug/*_p.a
1123 cp -a $RPM_BUILD_ROOT%{_slibdir}/lib*.so* $RPM_BUILD_ROOT%{_libdir}/debug/
1124
1125 pushd $RPM_BUILD_ROOT%{_libdir}/debug
1126 for lib in *.so*; do
1127 [[ -f "$lib" ]] && DEBUG_LIBS="$DEBUG_LIBS %{_libdir}/debug/$lib"
1128 done
1129 popd
1130 %endif
1131
1132 # Are we cross-compiling?
1133 Strip="strip"
1134 if [[ "%{_target_cpu}" != "%{target_cpu}" ]]; then
1135 Strip="%{cross_program_prefix}$Strip"
1136 fi
1137
1138 # Strip debugging info from all static libraries
1139 pushd $RPM_BUILD_ROOT%{_slibdir}
1140 for i in *.a; do
1141 if [ -f "$i" ]; then
1142 case "$i" in
1143 *_p.a) ;;
1144 *) $Strip -g -R .comment $i ;;
1145 esac
1146 fi
1147 done
1148 popd
1149
1150 # post install wrapper
1151 %__cc -Os -DSLIBDIR="\"%{_slibdir}\"" -DASH_BIN="\"%{ash_bin}\"" %{SOURCE14} -static \
1152 -L $RPM_BUILD_ROOT%{_libdir}/ \
1153 -o $RPM_BUILD_ROOT%{_sbindir}/glibc-post-wrapper
1154 chmod 700 $RPM_BUILD_ROOT%{_sbindir}/glibc-post-wrapper
1155
1156 # rquota.x and rquota.h are now provided by quota
1157 rm -f $RPM_BUILD_ROOT%{_includedir}/rpcsvc/rquota.[hx]
1158
1159 # Hardlink identical locale files together
1160 %if %{build_i18ndata}
1161 gcc -O2 -o build-%{target_cpu}-linux/hardlink redhat/hardlink.c
1162 build-%{target_cpu}-linux/hardlink -vc $RPM_BUILD_ROOT%{_datadir}/locale
1163 %endif
1164
1165 rm -rf $RPM_BUILD_ROOT%{_includedir}/netatalk/
1166
1167 # Build file list for devel package
1168 find $RPM_BUILD_ROOT%{_includedir} -type f -or -type l > devel.filelist
1169 find $RPM_BUILD_ROOT%{_includedir} -type d | sed "s/^/%dir /" | \
1170 grep -v "%{_libdir}/libnss1.*.so$" | \
1171 grep -v "%{_includedir}$" | >> devel.filelist
1172 find $RPM_BUILD_ROOT%{_libdir} -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1173 # biarch libs
1174 %if %{build_biarch}
1175 find $RPM_BUILD_ROOT%{_prefix}/lib -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1176 %endif
1177 %if %isarch mips mipsel
1178 find $RPM_BUILD_ROOT%{_libdir}32 -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1179 find $RPM_BUILD_ROOT%{_libdir}64 -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1180 %endif
1181 perl -pi -e "s|$RPM_BUILD_ROOT||" devel.filelist
1182
1183 # /etc/localtime - we're proud of our timezone #Well we may put Paris
1184 %if %{build_timezone}
1185 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1186 cp -f $RPM_BUILD_ROOT%{_datadir}/zoneinfo/US/Eastern $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1187 #ln -sf ..%{_datadir}/zoneinfo/US/Eastern $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1188 %endif
1189
1190 # [gg] build PDF documentation
1191 %if %{build_pdf_doc}
1192 (cd manual; texi2dvi -p -t @afourpaper -t @finalout libc.texinfo)
1193 %endif
1194
1195 # the last bit: more documentation
1196 rm -rf documentation
1197 mkdir documentation
1198 cp timezone/README documentation/README.timezone
1199 cp ChangeLog* documentation
1200 gzip -9 documentation/ChangeLog*
1201 mkdir documentation/crypt_blowfish-%{crypt_bf_ver}
1202 install -m 644 crypt_blowfish-%{crypt_bf_ver}/{README,LINKS,PERFORMANCE} \
1203 documentation/crypt_blowfish-%{crypt_bf_ver}
1204
1205 # Generate final rpm filelist, with localized libc.mo files
1206 rm -f rpm.filelist
1207 %if "%{name}" == "glibc"
1208 %find_lang libc
1209 perl -ne '/^\s*$/ or print' libc.lang > rpm.filelist
1210 %endif
1211 cat extralibs.filelist >> rpm.filelist
1212
1213 # Remove unpackaged files
1214 rm -f $RPM_BUILD_ROOT%{_infodir}/dir.old*
1215 rm -rf $RPM_BUILD_ROOT%{_includedir}/asm-*/mach-*/
1216 rm -f $RPM_BUILD_ROOT%{_datadir}/locale/locale-archive*
1217
1218 %if !%{build_utils}
1219 %if %{build_biarch}
1220 rm -f $RPM_BUILD_ROOT%{_slibdir32}/libmemusage.so
1221 rm -f $RPM_BUILD_ROOT%{_slibdir32}/libpcprofile.so
1222 %endif
1223 %if %isarch mips mipsel
1224 rm -f $RPM_BUILD_ROOT%{_slibdir}32/libmemusage.so
1225 rm -f $RPM_BUILD_ROOT%{_slibdir}32/libpcprofile.so
1226 rm -f $RPM_BUILD_ROOT%{_slibdir}64/libmemusage.so
1227 rm -f $RPM_BUILD_ROOT%{_slibdir}64/libpcprofile.so
1228 %endif
1229 rm -f $RPM_BUILD_ROOT%{_slibdir}/libmemusage.so
1230 rm -f $RPM_BUILD_ROOT%{_slibdir}/libpcprofile.so
1231 rm -f $RPM_BUILD_ROOT%{_bindir}/memusage
1232 rm -f $RPM_BUILD_ROOT%{_bindir}/memusagestat
1233 rm -f $RPM_BUILD_ROOT%{_bindir}/mtrace
1234 rm -f $RPM_BUILD_ROOT%{_bindir}/pcprofiledump
1235 rm -f $RPM_BUILD_ROOT%{_bindir}/xtrace
1236 %endif
1237
1238 %if !%{build_timezone}
1239 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1240 rm -f $RPM_BUILD_ROOT%{_sbindir}/zdump
1241 rm -f $RPM_BUILD_ROOT%{_sbindir}/zic
1242 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/zdump.1*
1243 rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo
1244 %endif
1245
1246 %if !%{build_i18ndata}
1247 rm -rf $RPM_BUILD_ROOT%{_datadir}/i18n
1248 %endif
1249
1250 %if "%{name}" != "glibc"
1251 rm -rf $RPM_BUILD_ROOT/boot
1252 rm -rf $RPM_BUILD_ROOT/sbin
1253 rm -rf $RPM_BUILD_ROOT/usr/share
1254 rm -rf $RPM_BUILD_ROOT%{_bindir}
1255 rm -rf $RPM_BUILD_ROOT%{_sbindir}
1256 rm -rf $RPM_BUILD_ROOT%{_datadir}
1257 rm -rf $RPM_BUILD_ROOT%{_mandir}
1258 rm -rf $RPM_BUILD_ROOT%{_infodir}
1259 rm -rf $RPM_BUILD_ROOT%{_prefix}/etc
1260 rm -rf $RPM_BUILD_ROOT%{_libdir}/gconv
1261 %endif
1262
1263 # In case we are cross-compiling, don't bother to remake symlinks and
1264 # fool spec-helper when stripping files
1265 %if "%{name}" != "glibc"
1266 export DONT_SYMLINK_LIBS=1
1267 export PATH=%{_bindir}:$PATH
1268 %endif
1269
1270 %if %build_debug
1271 export EXCLUDE_FROM_STRIP="$DEBUG_LIBS"
1272 %endif
1273
1274 # This will make the '-g' argument to be passed to eu-strip for these
1275 # libraries, so that only debug symbols are stripped and gdb/valgrind continue
1276 # to work without needing glibc-debug package to be installed.
1277 export EXCLUDE_FROM_FULL_STRIP="ld-%{glibcversion}.so libpthread libc-%{glibcversion}.so"
1278
1279 %if "%{name}" == "glibc"
1280 %define upgradestamp %{_slibdir}/glibc.upgraded
1281 %define broken_link %{_slibdir}/libnss_nis.so.1 %{_slibdir}/libnss_files.so.1 %{_slibdir}/libnss_dns.so.1 %{_slibdir}/libnss_compat.so.1
1282
1283 %pre -p %{ash_bin}
1284 # test(1) and echo(1) are built-ins
1285 if [ -d %{_slibdir} ] && [ ! -f %{_slibdir}/libnss_files-%{glibcversion}.so ]; then
1286 echo > %{upgradestamp}
1287 fi
1288
1289 %post -p %{_sbindir}/glibc-post-wrapper
1290 export LC_ALL=C
1291
1292 if [ "$1" -gt 1 ]; then
1293 # migrate /etc/ld.so.conf to include the new /etc/ld.so.conf.d/
1294 # without external commands but for removing the temporary file
1295 ldso_conf=/etc/ld.so.conf
1296 while read i; do
1297 [ "$i" = "include /etc/ld.so.conf.d/*.conf" ] && keep=1
1298 # Remove previously used include line without absolute path
1299 [ "$i" = "include ld.so.conf.d/*.conf" ] || echo $i
1300 done < $ldso_conf > $ldso_conf-
1301 if [ -z "$keep" ]; then
1302 echo "include /etc/ld.so.conf.d/*.conf" > $ldso_conf
1303 while read i; do
1304 echo $i
1305 done < $ldso_conf- >> $ldso_conf
1306 fi
1307 [ -x /bin/rm ] && /bin/rm -f $ldso_conf-
1308 fi
1309 /sbin/ldconfig
1310
1311 if [ "$1" -gt 1 ]; then
1312 # On upgrade the services doesn't work because libnss couldn't be
1313 # loaded anymore.
1314 if [ -f %{upgradestamp} ]; then
1315 if /usr/bin/readlink /proc/1/exe >/dev/null && \
1316 /usr/bin/readlink /proc/1/root >/dev/null; then
1317 if [ -x /sbin/telinit -a -p /dev/initctl ]; then
1318 /sbin/telinit u
1319 fi
1320 if [ -x /etc/init.d/sshd -a \
1321 -x /usr/sbin/sshd -a \
1322 -x /bin/bash ]; then
1323 /etc/init.d/sshd condrestart
1324 fi
1325 fi
1326 fi
1327 if [ -f /bin/rm ]; then
1328 for i in %broken_link; do
1329 if [ -e $i ] && [ ! -L $i ]; then
1330 /bin/rm -f $i
1331 fi
1332 done
1333 fi
1334 fi
1335 [ -x /bin/rm ] && /bin/rm -f %{upgradestamp}
1336
1337 # always generate the gconv-modules.cache
1338 %{_sbindir}/iconvconfig -o %{_libdir}/gconv/gconv-modules.cache --nostdlib %{_libdir}/gconv
1339
1340 %endif
1341
1342 %pre devel
1343 if [ -L %{_includedir}/scsi ]; then
1344 rm -f %{_includedir}/scsi
1345 fi
1346 if [ -L %{_includedir}/sound ]; then
1347 rm -f %{_includedir}/sound
1348 fi
1349 if [ -L %{_includedir}/linux ]; then
1350 rm -f %{_includedir}/linux
1351 fi
1352 if [ -L %{_includedir}/asm ]; then
1353 rm -f %{_includedir}/asm
1354 fi
1355 if [ -L %{_includedir}/asm-generic ]; then
1356 rm -f %{_includedir}/asm-generic
1357 fi
1358 %if %isarch x86_64
1359 if [ -L %{_includedir}/asm-x86_64 ]; then
1360 rm -f %{_includedir}/asm-x86_64
1361 fi
1362 if [ -L %{_includedir}/asm-i386 ]; then
1363 rm -f %{_includedir}/asm-i386
1364 fi
1365 %endif
1366 %if %isarch %mips
1367 if [ -L %{_includedir}/asm-mips ]; then
1368 rm -f %{_includedir}/asm-mips
1369 fi
1370 %endif
1371 %if %isarch %arm
1372 if [ -L %{_includedir}/asm-arm ]; then
1373 rm -f %{_includedir}/asm-arm
1374 fi
1375 %endif
1376 exit 0
1377
1378 %if %{build_doc}
1379 %post doc
1380 %_install_info libc.info
1381
1382 %preun doc
1383 %_remove_install_info libc.info
1384 %endif
1385
1386 %if %{build_nscd}
1387 %pre -n nscd
1388 %_pre_useradd nscd / /bin/false
1389
1390 %post -n nscd
1391 %_post_service nscd
1392
1393 %preun -n nscd
1394 %_preun_service nscd
1395
1396 %postun -n nscd
1397 %_postun_userdel nscd
1398
1399 if [ "$1" -ge "1" ]; then
1400 /sbin/service nscd condrestart > /dev/null 2>&1 || :
1401 fi
1402 %endif
1403
1404 %clean
1405 #rm -rf "$RPM_BUILD_ROOT"
1406 #rm -f *.filelist*
1407
1408 #
1409 # glibc
1410 #
1411 %files -f rpm.filelist
1412 %defattr(-,root,root)
1413 %if "%{name}" == "glibc"
1414 %if %{build_timezone}
1415 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/localtime
1416 %endif
1417 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/nsswitch.conf
1418 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/ld.so.conf
1419 %dir %{_sysconfdir}/ld.so.conf.d
1420 %config(noreplace) %{_sysconfdir}/rpc
1421 %doc nis/nss
1422 %doc posix/gai.conf
1423 %{_mandir}/man1/*
1424 %{_mandir}/man8/rpcinfo.8*
1425 %{_mandir}/man8/ld.so*
1426 %{_datadir}/locale/locale.alias
1427 /sbin/sln
1428 %dir %{_prefix}/libexec/getconf
1429 %{_prefix}/libexec/getconf/*
1430 %endif
1431 %{_slibdir}/ld-%{glibcversion}.so
1432 %if %isarch i386
1433 %{_slibdir}/ld-linux.so.2
1434 %endif
1435 %if %isarch %arm
1436 %{_slibdir}/ld-linux.so.3
1437 %endif
1438 %if %isarch x86_64
1439 %{_slibdir}/ld-linux-x86-64.so.2
1440 %endif
1441 %if %isarch %mips
1442 %{_slibdir}/ld.so.1
1443 %endif
1444 %{_slibdir}/lib*-[.0-9]*.so
1445 %{_slibdir}/lib*.so.[0-9]*
1446 %{_slibdir}/libSegFault.so
1447 %if "%{name}" == "glibc"
1448 %dir %{_libdir}/audit
1449 %{_libdir}/audit/sotruss-lib.so
1450 %dir %{_libdir}/gconv
1451 %{_libdir}/gconv/*.so
1452 %{_libdir}/gconv/gconv-modules
1453 %ghost %{_libdir}/gconv/gconv-modules.cache
1454 %attr(4755,root,root) %{_prefix}/libexec/pt_chown
1455 %{_bindir}/catchsegv
1456 %{_bindir}/gencat
1457 %{_bindir}/getconf
1458 %{_bindir}/getent
1459 %{_bindir}/iconv
1460 %{_bindir}/ldd
1461 %if %isarch i386
1462 %{_bindir}/lddlibc4
1463 %endif
1464 %{_bindir}/locale
1465 %{_bindir}/localedef
1466 %{_bindir}/rpcgen
1467 %{_bindir}/sotruss
1468 %{_bindir}/sprof
1469 %{_bindir}/tzselect
1470 %{_sbindir}/iconvconfig
1471 %{_sbindir}/glibc-post-wrapper
1472 %endif
1473
1474 %if %{build_biarch}
1475 %{_slibdir32}/ld-%{glibcversion}.so
1476 %{_slibdir32}/ld-linux*.so.2
1477 %{_slibdir32}/lib*-[.0-9]*.so
1478 %{_slibdir32}/lib*.so.[0-9]*
1479 %{_slibdir32}/libSegFault.so
1480 %dir %{_prefix}/lib/audit
1481 %{_prefix}/lib/audit/sotruss-lib.so
1482 %dir %{_prefix}/lib/gconv
1483 %{_prefix}/lib/gconv/*
1484 %endif
1485 %if %isarch mips mipsel
1486 %{_slibdir}32/ld-%{glibcversion}.so
1487 %{_slibdir}32/ld.so.1
1488 %{_slibdir}32/lib*-[.0-9]*.so
1489 %{_slibdir}32/lib*.so.[0-9]*
1490 %{_slibdir}32/libSegFault.so
1491 %dir %{_libdir}32/gconv
1492 %{_libdir}32/gconv/*
1493 %{_slibdir}64/ld-%{glibcversion}.so
1494 %{_slibdir}64/ld.so.1
1495 %{_slibdir}64/lib*-[.0-9]*.so
1496 %{_slibdir}64/lib*.so.[0-9]*
1497 %{_slibdir}64/libSegFault.so
1498 %dir %{_libdir}64/gconv
1499 %{_libdir}64/gconv/*
1500 %endif
1501
1502 #
1503 # ldconfig
1504 #
1505 %if "%{name}" == "glibc"
1506 %defattr(-,root,root)
1507 /sbin/ldconfig
1508 %{_mandir}/man8/ldconfig*
1509 %ghost %{_sysconfdir}/ld.so.cache
1510 %dir %{_var}/cache/ldconfig
1511 %ghost %{_var}/cache/ldconfig/aux-cache
1512 %{_var}/lib/rpm/filetriggers/ldconfig.*
1513 %endif
1514
1515 #
1516 # glibc-devel
1517 #
1518 %files devel -f devel.filelist
1519 %defattr(-,root,root)
1520 %doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE
1521 %doc COPYING COPYING.LIB
1522 %doc documentation/* README.libm
1523 %doc hesiod/README.hesiod
1524 %doc crypt/README.ufc-crypt
1525 %if "%{name}" == "glibc"
1526 %{_mandir}/man3/*
1527 %endif
1528 %{_libdir}/libbsd-compat.a
1529 %{_libdir}/libbsd.a
1530 %{_libdir}/libc_nonshared.a
1531 %{_libdir}/libg.a
1532 %{_libdir}/libieee.a
1533 %{_libdir}/libmcheck.a
1534 %{_libdir}/libpthread_nonshared.a
1535 %if "%{name}" == "glibc"
1536 %{_libdir}/librpcsvc.a
1537 %endif
1538
1539 %if %{build_biarch}
1540 %{_prefix}/lib/libbsd-compat.a
1541 %{_prefix}/lib/libbsd.a
1542 %{_prefix}/lib/libc_nonshared.a
1543 %{_prefix}/lib/libg.a
1544 %{_prefix}/lib/libieee.a
1545 %{_prefix}/lib/libmcheck.a
1546 %{_prefix}/lib/libpthread_nonshared.a
1547 %{_prefix}/lib/librpcsvc.a
1548 %endif
1549
1550 %if %isarch mips mipsel
1551 %{_libdir}32/libbsd-compat.a
1552 %{_libdir}32/libbsd.a
1553 %{_libdir}32/libc_nonshared.a
1554 %{_libdir}32/libg.a
1555 %{_libdir}32/libieee.a
1556 %{_libdir}32/libmcheck.a
1557 %{_libdir}32/libpthread_nonshared.a
1558 %if "%{name}" == "glibc"
1559 %{_libdir}32/librpcsvc.a
1560 %endif
1561 %{_libdir}64/libbsd-compat.a
1562 %{_libdir}64/libbsd.a
1563 %{_libdir}64/libc_nonshared.a
1564 %{_libdir}64/libg.a
1565 %{_libdir}64/libieee.a
1566 %{_libdir}64/libmcheck.a
1567 %{_libdir}64/libpthread_nonshared.a
1568 %if "%{name}" == "glibc"
1569 %{_libdir}64/librpcsvc.a
1570 %endif
1571 %endif
1572
1573 #
1574 # glibc-static-devel
1575 #
1576 %files static-devel
1577 %defattr(-,root,root)
1578 %doc COPYING COPYING.LIB
1579 %{_libdir}/libBrokenLocale.a
1580 %{_libdir}/libanl.a
1581 %{_libdir}/libc.a
1582 %{_libdir}/libcrypt.a
1583 %{_libdir}/libdl.a
1584 %{_libdir}/libm.a
1585 %{_libdir}/libnsl.a
1586 %{_libdir}/libpthread.a
1587 %{_libdir}/libresolv.a
1588 %{_libdir}/librt.a
1589 %{_libdir}/libutil.a
1590
1591 %if %{build_biarch}
1592 %{_prefix}/lib/libBrokenLocale.a
1593 %{_prefix}/lib/libanl.a
1594 %{_prefix}/lib/libc.a
1595 %{_prefix}/lib/libcrypt.a
1596 %{_prefix}/lib/libdl.a
1597 %{_prefix}/lib/libm.a
1598 %{_prefix}/lib/libnsl.a
1599 %{_prefix}/lib/libpthread.a
1600 %{_prefix}/lib/libresolv.a
1601 %{_prefix}/lib/librt.a
1602 %{_prefix}/lib/libutil.a
1603 %endif
1604
1605 %if %isarch mips mipsel
1606 %{_libdir}32/libBrokenLocale.a
1607 %{_libdir}32/libanl.a
1608 %{_libdir}32/libc.a
1609 %{_libdir}32/libcrypt.a
1610 %{_libdir}32/libdl.a
1611 %{_libdir}32/libm.a
1612 %{_libdir}32/libnsl.a
1613 %{_libdir}32/libpthread.a
1614 %{_libdir}32/libresolv.a
1615 %{_libdir}32/librt.a
1616 %{_libdir}32/libutil.a
1617
1618 %{_libdir}64/libBrokenLocale.a
1619 %{_libdir}64/libanl.a
1620 %{_libdir}64/libc.a
1621 %{_libdir}64/libcrypt.a
1622 %{_libdir}64/libdl.a
1623 %{_libdir}64/libm.a
1624 %{_libdir}64/libnsl.a
1625 %{_libdir}64/libpthread.a
1626 %{_libdir}64/libresolv.a
1627 %{_libdir}64/librt.a
1628 %{_libdir}64/libutil.a
1629 %endif
1630
1631 #
1632 # glibc-doc
1633 #
1634 %if %{build_doc}
1635 %files doc
1636 %defattr(-,root,root)
1637 %{_infodir}/libc.info*
1638 %endif
1639
1640 #
1641 # glibc-doc-pdf
1642 #
1643 %if %{build_pdf_doc}
1644 %files doc-pdf
1645 %defattr(-,root,root)
1646 %doc manual/libc.pdf
1647 %endif
1648
1649 #
1650 # glibc-debug
1651 #
1652 %if %{build_debug}
1653 %files debug
1654 %defattr(-,root,root)
1655 %dir %{_libdir}/debug
1656 %{_libdir}/debug/*.so
1657 %{_libdir}/debug/*.so.*
1658 %if %isarch mips mipsel
1659 %dir %{_libdir}/debug/lib32
1660 %{_libdir}/debug/lib32/*.so
1661 %{_libdir}/debug/lib32/*.so.*
1662 %dir %{_libdir}/debug/lib64
1663 %{_libdir}/debug/lib64/*.so
1664 %{_libdir}/debug/lib64/*.so.*
1665 %endif
1666 %endif
1667
1668 #
1669 # glibc-profile
1670 #
1671 %if %{build_profile}
1672 %files profile
1673 %defattr(-,root,root)
1674 %{_libdir}/lib*_p.a
1675 %if %{build_biarch}
1676 %{_prefix}/lib/lib*_p.a
1677 %endif
1678 %if %isarch mips mipsel
1679 %{_libdir}32/lib*_p.a
1680 %{_libdir}64/lib*_p.a
1681 %endif
1682 %endif
1683
1684 #
1685 # glibc-utils
1686 #
1687 %if %{build_utils}
1688 %files utils
1689 %defattr(-,root,root)
1690 %if %{build_biarch}
1691 %{_slibdir32}/libmemusage.so
1692 %{_slibdir32}/libpcprofile.so
1693 %endif
1694 %{_slibdir}/libmemusage.so
1695 %{_slibdir}/libpcprofile.so
1696 %{_bindir}/memusage
1697 %{_bindir}/memusagestat
1698 %{_bindir}/mtrace
1699 %{_bindir}/pcprofiledump
1700 %{_bindir}/xtrace
1701 %if %isarch mips mipsel
1702 %{_slibdir}32/libmemusage.so
1703 %{_slibdir}32/libpcprofile.so
1704 %{_slibdir}64/libmemusage.so
1705 %{_slibdir}64/libpcprofile.so
1706 %endif
1707 %endif
1708
1709 #
1710 # nscd
1711 #
1712 %if %{build_nscd}
1713 %files -n nscd
1714 %defattr(-,root,root)
1715 %config(noreplace) %{_sysconfdir}/nscd.conf
1716 %config(noreplace) %{_initrddir}/nscd
1717 %{_sbindir}/nscd
1718 %endif
1719
1720 #
1721 # timezone
1722 #
1723 %if %{build_timezone}
1724 %files -n timezone
1725 %defattr(-,root,root)
1726 %{_sbindir}/zdump
1727 %{_sbindir}/zic
1728 %{_mandir}/man1/zdump.1*
1729 %dir %{_datadir}/zoneinfo
1730 %{_datadir}/zoneinfo/*
1731 %endif
1732
1733 #
1734 # glibc-i18ndata
1735 #
1736 %if %{build_i18ndata}
1737 %files i18ndata
1738 %defattr(-,root,root)
1739 %dir %{_datadir}/i18n
1740 %dir %{_datadir}/i18n/charmaps
1741 %{_datadir}/i18n/charmaps/*
1742 %dir %{_datadir}/i18n/locales
1743 %{_datadir}/i18n/locales/*
1744 %{_datadir}/i18n/SUPPORTED
1745 %endif

  ViewVC Help
Powered by ViewVC 1.1.30