/[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 156310 - (show annotations) (download)
Tue Oct 18 16:33:29 2011 UTC (12 years, 5 months ago) by tmb
Original Path: cauldron/glibc/current/SPECS/glibc.spec
File size: 49677 byte(s)
- update filelists
- rediff P40, P41
- disable P22 (old tcsetattr kernel bug workaround)


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 0.2
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: linux-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.104
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 # change page size to 16k. mandatory for loongson
328 # but not necessary a good idea for other socs
329 Patch46: glibc_mips_16k_page_size.patch
330 # shamlessly taken in linaro. just look dirty woraround
331 Patch47: glibc_local-syscall-mcount.diff
332 # Determine minium kernel versions
333 %define enablekernel 2.6.33
334 Conflicts: kernel < %{enablekernel}
335
336 # People changed location of rpm scripts...
337 %define rpmscripts /usr/lib/rpm/%{_real_vendor}
338
339 # Don't try to explicitly provide GLIBC_PRIVATE versioned libraries
340 %define __find_provides %{_builddir}/%{source_dir}/find_provides.sh
341 %define __find_requires %{_builddir}/%{source_dir}/find_requires.sh
342
343 %if !%{build_cross}
344 Obsoletes: ld.so
345 Provides: ld.so
346 %endif
347
348 Obsoletes: ldconfig
349 Provides: ldconfig = %{glibcepoch}:%{glibcversion}-%{glibcrelease} /sbin/ldconfig
350
351 %description
352 The glibc package contains standard libraries which are used by
353 multiple programs on the system. In order to save disk space and
354 memory, as well as to make upgrading easier, common system code is
355 kept in one place and shared between programs. This particular package
356 contains the most important sets of shared libraries: the standard C
357 library and the standard math library. Without these two libraries, a
358 Linux system will not function. The glibc package also contains
359 national language (locale) support.
360
361 This package now also provides ldconfig which was package seperately in
362 the past. Ldconfig is a basic system program which determines run-time
363 link bindings between ld.so and shared libraries. Ldconfig scans a running
364 system and sets up the symbolic links that are used to load shared
365 libraries properly. It also creates a cache (/etc/ld.so.cache) which
366 speeds the loading of programs which use shared libraries.
367
368 %package devel
369 Summary: Header and object files for development using standard C libraries
370 Group: Development/C
371 Requires(post): info-install
372 Requires(preun): info-install
373 Requires(post): coreutils
374 Requires(postun): coreutils, awk
375 Obsoletes: libc-debug, libc-headers, libc-devel, linuxthreads-devel, nptl-devel
376 %if !%{build_debug}
377 Obsoletes: %{name}-debug < 6:2.3.2-15
378 %endif
379 Requires: %{name} = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
380 %if !%{build_cross}
381 Requires: linux-userspace-headers
382 %endif
383 %if !%isarch ppc
384 Conflicts: %{cross_prefix}gcc < 2.96-0.50
385 %endif
386 # needs a gcc4 fortify capable compiler
387 Conflicts: gcc4.0 < 4.0.1-2
388 %if %{build_cross}
389 Autoreq: false
390 Autoprov: false
391 %else
392 Autoreq: true
393 %endif
394 Provides: glibc-crypt_blowfish-devel = %{crypt_bf_ver}
395
396 %description devel
397 The glibc-devel package contains the header and object files necessary
398 for developing programs which use the standard C libraries (which are
399 used by nearly all programs). If you are developing programs which
400 will use the standard C libraries, your system needs to have these
401 standard header and object files available in order to create the
402 executables.
403
404 This package also includes the C header files for the Linux kernel.
405 The header files define structures and constants that are needed for
406 building most standard programs. The header files are also needed for
407 rebuilding the kernel.
408
409 Install glibc-devel if you are going to develop programs which will
410 use the standard C libraries.
411
412 %package static-devel
413 Summary: Static libraries for GNU C library
414 Group: Development/C
415 Requires: %{name}-devel = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
416
417 %description static-devel
418 The glibc-static-devel package contains the static libraries necessary
419 for developing programs which use the standard C libraries. Install
420 glibc-static-devel if you need to statically link your program or
421 library.
422
423 %package profile
424 Summary: The GNU libc libraries, including support for gprof profiling
425 Group: Development/C
426 Obsoletes: libc-profile
427 Provides: libc-profile = %{glibcversion}-%{glibcrelease}
428 Autoreq: true
429
430 %description profile
431 The glibc-profile package includes the GNU libc libraries and support
432 for profiling using the gprof program. Profiling is analyzing a
433 program's functions to see how much CPU time they use and determining
434 which functions are calling other functions during execution. To use
435 gprof to profile a program, your program needs to use the GNU libc
436 libraries included in glibc-profile (instead of the standard GNU libc
437 libraries included in the glibc package).
438
439 If you are going to use the gprof program to profile a program, you'll
440 need to install the glibc-profile program.
441
442 %package -n nscd
443 Summary: A Name Service Caching Daemon (nscd)
444 Group: System/Servers
445 Requires(pre): rpm-helper
446 Requires(preun): rpm-helper
447 Requires(post): rpm-helper
448 Requires(postun): rpm-helper
449 Autoreq: true
450
451 %description -n nscd
452 Nscd caches name service lookups and can dramatically improve
453 performance with NIS+, and may help with DNS as well. Note that you
454 can't use nscd with 2.0 kernels because of bugs in the kernel-side
455 thread support. Unfortunately, nscd happens to hit these bugs
456 particularly hard.
457
458 Install nscd if you need a name service lookup caching daemon, and
459 you're not using a version 2.0 kernel.
460
461 %if %{build_debug}
462 %package debug
463 Summary: Shared standard C libraries with debugging information
464 Group: System/Libraries
465 Requires: %{name} = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
466 Autoreq: false
467
468 %description debug
469 The glibc-debug package contains shared standard C libraries with
470 debugging information. You need this only if you want to step into C
471 library routines during debugging.
472
473 To use these libraries, you need to add %{_libdir}/debug to your
474 LD_LIBRARY_PATH variable prior to starting the debugger.
475 %endif
476
477 %package utils
478 Summary: Development utilities from GNU C library
479 Group: Development/Other
480 Requires: %{name} = %{glibcepoch}:%{glibcversion}-%{glibcrelease}
481
482 %description utils
483 The glibc-utils package contains memusage, a memory usage profiler,
484 mtrace, a memory leak tracer and xtrace, a function call tracer which
485 can be helpful during program debugging.
486
487 If unsure if you need this, don't install this package.
488
489 %if %{build_i18ndata}
490 %package i18ndata
491 Summary: Database sources for 'locale'
492 Group: System/Libraries
493
494 %description i18ndata
495 This package contains the data needed to build the locale data files
496 to use the internationalization features of the GNU libc.
497 %endif
498
499 %if %{build_timezone}
500 %package -n timezone
501 Summary: Time zone descriptions
502 Group: System/Base
503
504 %description -n timezone
505 These are configuration files that describe possible
506 time zones.
507 %endif
508
509 %package doc
510 Summary: GNU C library documentation
511 Group: Development/Other
512 BuildArch: noarch
513
514 %description doc
515 The glibc-doc package contains documentation for the GNU C library in
516 info format.
517
518 %if %{build_pdf_doc}
519 %package doc-pdf
520 Summary: GNU C library documentation
521 Group: Development/Other
522 BuildArch: noarch
523
524 %description doc-pdf
525 The glibc-doc-pdf package contains the printable documentation for the
526 GNU C library in PDF format.
527 %endif
528
529 %prep
530 %setup -q -n %{source_dir} -a 3 -a 2 -a 16
531
532 %patch00 -p1 -b .localedef-archive-follow-symlinks
533 %patch01 -p1 -b .fhs
534 %patch02 -p1 -b .ldd-non-exec
535 %patch04 -p1 -b .nss-upgrade
536 %patch05 -p1 -b .assign-global-scope-to-RFC-1918-addresses
537 %patch06 -p1 -b .share-locale
538 %patch07 -p1 -b .nsswitch.conf
539 %patch09 -p1 -b .xterm-xvt
540 %patch11 -p1 -b .compat-EUR-currencies
541 %patch12 -p1 -b .ppc-lddlibc4
542 %patch13 -p1 -b .nscd-enable
543 %patch14 -p1 -b .nscd-no-host-cache
544 %patch17 -p1 -b .i386-hwcapinfo
545 %patch18 -p0 -R -b .provide_CFI_for_the_outermost_function
546 %patch19 -p1 -b .nscd-init-should-start
547 # (tmb) 2011-10-18: disable to verify kernels are fixed.
548 #patch22 -p1 -b .tcsetattr-kernel-bug-workaround
549 %patch23 -p1 -b .timezone
550 %patch24 -p1 -b .biarch-cpp-defines
551 %patch26 -p1 -b .nice-fix
552 %patch27 -p1 -b .ENOTTY-fr-translation
553 %patch28 -p1 -b .gcc4-fortify
554 %patch29 -p1 -b .biarch-utils
555 %patch30 -p1 -b .multiarch-check
556 %patch31 -p1 -b .i586-hptiming
557 %patch32 -p1 -b .i586-if-no-cmov
558 %patch33 -p1 -b .pt_BR-i18nfixes
559 %patch34 -p1 -b .testsuite-ldbl-bits
560 %patch38 -p1 -b .testsuite-rt-notparallel
561 %patch44 -p1 -b .dont-tie-libcap-with-selinux
562
563 %if %isarch %ports_arch
564 tar xjf %{SOURCE20}
565 mv glibc-ports-%{glibcversion} ports
566 %patch46 -p1 -b .pagesize
567 %patch47 -p1 -b .mcount
568 %endif
569
570 # copy freesec source
571 cp %{_sourcedir}/crypt_freesec.[ch] crypt/
572 echo "Applying crypt_blowfish patch:"
573 %patch42 -p1 -b .mdv-avx-owl-crypt
574 mv crypt/crypt.h crypt/gnu-crypt.h
575 cp -a crypt_blowfish-%{crypt_bf_ver}/*.[chS] crypt/
576
577 ## FreeSec support for extended/new-style/BSDI hashes in crypt(3)
578 %patch39 -p1 -b .mdv-owl-crypt_freesec
579 %patch40 -p1 -b .avx-relocate_fcrypt
580 %patch41 -p1 -b .avx-increase_BF_FRAME
581 # add sha256-crypt and sha512-crypt support to the Openwall wrapper
582 #patch43 -p0 -b .mdv-wrapper_handle_sha
583
584 %if %{build_selinux}
585 # XXX kludge to build nscd with selinux support as it added -nostdinc
586 # so /usr/include/selinux is not found
587 ln -s %{_includedir}/selinux selinux
588 %endif
589
590 find . -type f -size 0 -o -name "*.orig" -exec rm -f {} \;
591
592 # (Anssi 03/2008) FIXME: use _provides_exceptions
593 cat > find_provides.sh << EOF
594 #!/bin/sh
595 %{rpmscripts}/find-provides | grep -v GLIBC_PRIVATE
596 exit 0
597 EOF
598 chmod +x find_provides.sh
599
600 cat > find_requires.bootstrap.sh << EOF
601 /bin/sh %{SOURCE4} %{buildroot} %{_target_cpu} | grep -v "\(GLIBC_PRIVATE\|linux-gate\|linux-vdso\)"
602 exit 0
603 EOF
604 chmod +x find_requires.bootstrap.sh
605
606 # XXX: use better way later to avoid LD_LIBRARY_PATH issue
607 cat %{rpmscripts}/find-requires | sed '/.*LD_LIBRARY_PATH.*/d;' > find_requires
608 chmod +x find_requires
609 # (Anssi 03/2008) FIXME: use _requires_exceptions
610 cat > find_requires.noprivate.sh << EOF
611 %{_builddir}/%{source_dir}/find_requires %{buildroot} %{_target_cpu} | \
612 grep -v GLIBC_PRIVATE
613 exit 0
614 EOF
615 chmod +x find_requires.noprivate.sh
616
617 # FIXME: fix system rpm find-requires to use the prefix cross version
618 %if %{build_bootstrap} || "%{_target_cpu}" != "%{target_cpu}"
619 ln -s find_requires.bootstrap.sh find_requires.sh
620 %else
621 ln -s find_requires.noprivate.sh find_requires.sh
622 %endif
623
624 # Remove patch backups from files we ship in glibc packages
625 rm -f ChangeLog.[^0-9]*
626 rm -f localedata/locales/{???_??,??_??}.*
627 rm -f localedata/locales/[a-z_]*.*
628
629 %build
630 # Prepare test matrix in the next function
631 CheckList=$PWD/Check.list
632 rm -f $CheckList
633 touch $CheckList
634
635 #
636 # CompareKver <kernel version>
637 # function to compare the desired kernel version with running kernel
638 # version (package releases not taken into account in comparison). The
639 # function returns:
640 # -1 = <kernel version> is lesser than current running kernel
641 # 0 = <kernel version> is equal to the current running kernel
642 # 1 = <kernel version> is greater than current running kernel
643 #
644 function CompareKver() {
645 v1=`echo $1 | sed 's/\.\?$/./'`
646 v2=`uname -r | sed 's/[^.0-9].*//' | sed 's/\.\?$/./'`
647 n=1
648 s=0
649 while true; do
650 c1=`echo "$v1" | cut -d "." -f $n`
651 c2=`echo "$v2" | cut -d "." -f $n`
652 if [ -z "$c1" -a -z "$c2" ]; then
653 break
654 elif [ -z "$c1" ]; then
655 s=-1
656 break
657 elif [ -z "$c2" ]; then
658 s=1
659 break
660 elif [ "$c1" -gt "$c2" ]; then
661 s=1
662 break
663 elif [ "$c2" -gt "$c1" ]; then
664 s=-1
665 break
666 fi
667 n=$((n + 1))
668 done
669 echo $s
670 }
671
672 #
673 # BuildGlibc <arch> [<extra_configure_options>+]
674 #
675 function BuildGlibc() {
676 arch="$1"
677 shift 1
678
679 # PowerPC CPU add-on
680 case $arch in
681 cpu-addon,*)
682 cpu=` echo "$arch" | sed -n "/.*,\([^,]*\),.*$/s//\1/p"`
683 arch=`echo "$arch" | sed -n "/.*,.*,\([^,]*\)$/s//\1/p"`
684 ;;
685 *)
686 cpu=$arch
687 ;;
688 esac
689
690 # Select optimization flags and compiler to use
691 BuildAltArch="no"
692 BuildCompFlags=""
693 BuildFlags=""
694 case $arch in
695 i[3456]86 | athlon)
696 BuildFlags="-march=$arch -mtune=generic"
697 if [[ "`uname -m`" = "x86_64" ]]; then
698 BuildAltArch="yes"
699 BuildCompFlags="-m32"
700 fi
701 ;;
702 x86_64)
703 BuildFlags="-mtune=generic"
704 ;;
705 mips|mipsel)
706 BuildFlags="-march=mips3"
707 BuildCompFlags="-march=mips3"
708 ;;
709 mips32|mips32el)
710 BuildFlags="-march=mips3 -mabi=n32"
711 BuildCompFlags="-march=mips3 -mabi=n32"
712 ;;
713 mips64|mips64el)
714 BuildFlags="-march=mips3 -mabi=64"
715 BuildCompFlags="-march=mips3 -mabi=64"
716 ;;
717 armv4t*)
718 BuildFlags="-march=armv4t"
719 BuildCompFlags="-march=armv4t"
720 ;;
721 armv5t*)
722 BuildFlags="-march=armv5t"
723 BuildCompFlags="-march=armv5t"
724 ;;
725 # to check
726 armv7*)
727 BuildFlags="-march=armv7-a"
728 BuildCompFlags="-march=armv7-a"
729 ;;
730 esac
731
732 # Choose multiarch support
733 MultiArchFlags=
734 case $arch in
735 i686 | x86_64)
736 MultiArchFlags="--enable-multi-arch"
737 ;;
738 esac
739
740 # Determine C & C++ compilers
741 BuildCC="%{__cc} $BuildCompFlags"
742 BuildCXX="%{__cxx} $BuildCompFlags"
743
744 # Are we supposed to cross-compile?
745 if [[ "%{target_cpu}" != "%{_target_cpu}" ]]; then
746 # Can't use BuildCC anymore with previous changes.
747 BuildCC="%{cross_program_prefix}gcc $BuildCompFlags"
748 BuildCXX="%{cross_program_prefix}g++ $BuildCompFlags"
749 BuildCross="--build=%{_target_platform}"
750 export libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes
751 fi
752
753 BuildFlags="$BuildFlags -DNDEBUG=1 -O2 -finline-functions -g"
754 if $BuildCC -v 2>&1 | grep -q 'gcc version 3.0'; then
755 # gcc3.0 had really poor inlining heuristics causing problems in
756 # resulting ld.so
757 BuildFlags="$BuildFlags -finline-limit=2000"
758 fi
759
760 # Do not use direct references against %gs when accessing tls data
761 # XXX make it the default in GCC? (for other non glibc specific usage)
762 case $arch in
763 i[3456]86 | x86_64)
764 BuildFlags="$BuildFlags -mno-tls-direct-seg-refs"
765 ;;
766 esac
767
768 # Arch specific compilation flags
769 if [[ "$arch" = "ppc64" ]]; then
770 BuildFlags="$BuildFlags -fno-inline-functions -mno-minimal-toc"
771 fi
772
773 # Extra configure flags
774 ExtraFlags=
775 if [[ "%{build_profile}" != "0" ]]; then
776 ExtraFlags="$ExtraFlags --enable-profile"
777 fi
778
779 # NPTL+TLS are now the default
780 # check for other arches
781 %if %isarch %ports_arch
782 Pthreads="ports nptl"
783 %else
784 Pthreads="nptl"
785 %endif
786 TlsFlags="--with-tls --with-__thread"
787
788 # Add-ons
789 AddOns="$Pthreads,libidn"
790 if [[ "$cpu" != "$arch" ]]; then
791 AddOns="$AddOns,powerpc-cpu"
792 BuildFlags="$BuildFlags -mcpu=$cpu"
793 ExtraFlags="$ExtraFlags --with-cpu=$cpu"
794 fi
795
796 # Build with selinux support?
797 %if %{build_selinux}
798 SElinuxFlags="--with-selinux"
799 %else
800 SElinuxFlags="--without-selinux"
801 %endif
802
803 # Kernel headers directory
804 KernelHeaders=%{_includedir}
805
806 # Determine library name
807 glibc_cv_cc_64bit_output=no
808 if echo ".text" | $BuildCC -c -o test.o -xassembler -; then
809 case `/usr/bin/file test.o` in
810 *"ELF 64"*)
811 glibc_cv_cc_64bit_output=yes
812 ;;
813 esac
814 fi
815 rm -f test.o
816
817 # Force a separate and clean object dir
818 rm -rf build-$cpu-linux
819 mkdir build-$cpu-linux
820 pushd build-$cpu-linux
821 [[ "$BuildAltArch" = "yes" ]] && touch ".alt" || touch ".main"
822 CC="$BuildCC" CXX="$BuildCXX" CFLAGS="$BuildFlags" ../configure \
823 $arch-%{_real_vendor}-linux%{gnuext} $BuildCross \
824 --prefix=%{_prefix} \
825 --libexecdir=%{_prefix}/libexec \
826 --infodir=%{_infodir} \
827 --enable-add-ons="$AddOns" --without-cvs \
828 $TlsFlags $ExtraFlags $MultiArchFlags $SElinuxFlags \
829 --enable-experimental-malloc \
830 --enable-kernel=%{enablekernel} \
831 --with-headers=$KernelHeaders ${1+"$@"}
832 %make -r
833 popd
834
835 # All tests are expected to pass on certain platforms, depending also
836 # on the version of the kernel running
837 case $arch in
838 athlon | ia64 | ppc | ppc64)
839 if [ "`CompareKver %{check_min_kver}`" -lt 0 ]; then
840 check_flags=""
841 else
842 check_flags="-k"
843 fi
844 ;;
845 *)
846 check_flags="-k"
847 ;;
848 esac
849
850 # Generate test matrix
851 [[ -d "build-$arch-linux" ]] || {
852 echo "ERROR: PrepareGlibcTest: build-$arch-linux does not exist!"
853 return 1
854 }
855 local BuildJobs="-j`getconf _NPROCESSORS_ONLN`"
856 echo "$BuildJobs -d build-$arch-linux $check_flags" >> $CheckList
857
858 case $cpu in
859 i686|athlon) base_arch=i586;;
860 power*) base_arch=$arch;;
861 *) base_arch=none;;
862 esac
863
864 [[ -d "build-$base_arch-linux" ]] && {
865 check_flags="$check_flags -l build-$base_arch-linux/elf/ld.so"
866 echo "$BuildJobs -d build-$arch-linux $check_flags" >> $CheckList
867 }
868 return 0
869 }
870
871 # Build main glibc
872 BuildGlibc %{target_cpu}
873
874 %if %{build_biarch}
875 %if %isarch x86_64
876 BuildGlibc i686
877 %endif
878 %endif
879 %if %isarch mips
880 BuildGlibc mips64
881 BuildGlibc mips32
882 %endif
883 %if %isarch mipsel
884 BuildGlibc mips64el
885 BuildGlibc mips32el
886 %endif
887 %if %isarch mips64
888 BuildGlibc mips
889 BuildGlibc mips32
890 %endif
891 %if %isarch mips64el
892 BuildGlibc mipsel
893 BuildGlibc mips32el
894 %endif
895
896 # Build i686 libraries if not already building for i686/athlon
897 case %{target_cpu} in
898 i686 | athlon)
899 ;;
900 i[3-6]86)
901 BuildGlibc i686 --disable-profile
902 ;;
903 esac
904
905 make -C crypt_blowfish-%{crypt_bf_ver} man
906
907 %if %{build_check}
908 export TMPDIR=/tmp
909 export TIMEOUTFACTOR=16
910 Check="$PWD/glibc-check.sh"
911 cat %{SOURCE5} > $Check
912 chmod +x $Check
913 while read arglist; do
914 $Check $arglist || exit 1
915 done < $CheckList
916 %endif
917
918 %install
919 rm -rf $RPM_BUILD_ROOT
920
921 # force use of _NPROCESSORS_ONLN jobs since RPM_BUILD_NCPUS could be
922 # greater for icecream
923 BuildJobs="-j`getconf _NPROCESSORS_ONLN`"
924
925 make install_root=$RPM_BUILD_ROOT install -C build-%{target_cpu}-linux
926 %if %{build_i18ndata}
927 (cd build-%{target_cpu}-linux;
928 make $BuildJobs -C ../localedata objdir=`pwd` \
929 install_root=$RPM_BUILD_ROOT \
930 install-locales
931 )
932 install -m 0644 localedata/SUPPORTED $RPM_BUILD_ROOT/%{_datadir}/i18n/
933 %endif
934 sh manpages/Script.sh
935
936 # Empty filelist for non i686/athlon targets
937 > extralibs.filelist
938
939 # Install biarch libraries
940 %if %{build_biarch} || %isarch mips mipsel
941 %if %isarch x86_64
942 ALT_ARCHES=i686-linux
943 %endif
944 %if %isarch mips
945 ALT_ARCHES="mips64-linux mips32-linux"
946 %endif
947 %if %isarch mipsel
948 ALT_ARCHES="mips64el-linux mips32el-linux"
949 %endif
950 %if %isarch mips64
951 ALT_ARCHES="mips-linux mips32-linux"
952 %endif
953 %if %isarch mips64el
954 ALT_ARCHES="mipsel-linux mips32el-linux"
955 %endif
956
957 for ALT_ARCH in $ALT_ARCHES; do
958 mkdir -p $RPM_BUILD_ROOT/$ALT_ARCH
959 make install_root=$RPM_BUILD_ROOT/$ALT_ARCH install -C build-$ALT_ARCH
960
961 # Dispatch */lib only
962 case "$ALT_ARCH" in
963 mips32*)
964 LIB="%{_slibdir}32"
965 ;;
966 mips64*)
967 LIB="%{_slibdir}64"
968 ;;
969 *)
970 LIB=/lib
971 ;;
972 esac
973 %if !%{build_cross}
974 mv $RPM_BUILD_ROOT/$ALT_ARCH/$LIB $RPM_BUILD_ROOT/$LIB
975 rm -f $RPM_BUILD_ROOT/$ALT_ARCH/%_prefix/lib/pt_chown
976 mv $RPM_BUILD_ROOT/$ALT_ARCH%{_prefix}/libexec/getconf/* \
977 $RPM_BUILD_ROOT%{_prefix}/libexec/getconf/
978 [ ! -d $RPM_BUILD_ROOT/%{_prefix}/$LIB/ ] && mkdir -p $RPM_BUILD_ROOT/%{_prefix}/$LIB/
979 mv $RPM_BUILD_ROOT/$ALT_ARCH/%{_prefix}/$LIB/* $RPM_BUILD_ROOT/%{_prefix}/$LIB/
980 %else
981 mv $RPM_BUILD_ROOT/$ALT_ARCH/%{_prefix}/lib $RPM_BUILD_ROOT/$LIB
982 rm -f $RPM_BUILD_ROOT/%{_prefix}/libexec/pt_chown
983 rm -f $RPM_BUILD_ROOT/$LIB/pt_chown
984 sed -i $RPM_BUILD_ROOT/$LIB/libc.so -e "s!%{_slibdir}!$LIB!g"
985 %endif
986
987 rm -rf $RPM_BUILD_ROOT/$ALT_ARCH
988 # XXX Dispatch 32-bit stubs
989 (sed '/^@/d' include/stubs-prologue.h; LC_ALL=C sort $(find build-$ALT_ARCH -name stubs)) \
990 > $RPM_BUILD_ROOT%{_includedir}/gnu/stubs-32.h
991 done
992 %endif
993 %if %{build_cross}
994 rm -f $RPM_BUILD_ROOT/%{_prefix}/libexec/pt_chown
995 %endif
996
997 # Install extra glibc libraries
998 function InstallGlibc() {
999 local BuildDir="$1"
1000 local SubDir="$2"
1001 local LibDir="$3"
1002
1003 case $BuildDir in
1004 *) Pthreads=nptl ;;
1005 esac
1006
1007 [[ -z "$LibDir" ]] && LibDir="%{_slibdir}"
1008
1009 pushd $BuildDir
1010 mkdir -p $RPM_BUILD_ROOT$LibDir/$SubDir/
1011 install -m755 libc.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libc-*.so`
1012 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libc-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libc.so.*`
1013 install -m755 math/libm.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libm-*.so`
1014 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libm-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libm.so.*`
1015 install -m755 $Pthreads/libpthread.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libpthread-*.so`
1016 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libpthread-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libpthread.so.*`
1017 install -m755 ${Pthreads}_db/libthread_db.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libthread_db-*.so`
1018 ln -sf `basename $RPM_BUILD_ROOT$LibDir/libthread_db-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/libthread_db.so.*`
1019 install -m755 rt/librt.so $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/librt-*.so`
1020 ln -sf `basename $RPM_BUILD_ROOT$LibDir/librt-*.so` $RPM_BUILD_ROOT$LibDir/$SubDir/`basename $RPM_BUILD_ROOT$LibDir/librt.so.*`
1021 echo "%dir $LibDir/$SubDir" >> ../extralibs.filelist
1022 find $RPM_BUILD_ROOT$LibDir/$SubDir -maxdepth 1 -type f -o -type l | sed -e "s|$RPM_BUILD_ROOT||" >> ../extralibs.filelist
1023 popd
1024 }
1025
1026 # Install arch-specific optimized libraries
1027 %if %isarch %{ix86}
1028 case %{target_cpu} in
1029 i[3-5]86)
1030 InstallGlibc build-i686-linux i686
1031 ;;
1032 esac
1033 %endif
1034
1035 # NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
1036 # the generic one (RH#162634)
1037 install -m644 bits/stdio-lock.h $RPM_BUILD_ROOT%{_includedir}/bits/stdio-lock.h
1038
1039 # Compatibility hack: this locale has vanished from glibc, but some other
1040 # programs are still using it. Normally we would handle it in the %pre
1041 # section but with glibc that is simply not an option
1042 mkdir -p $RPM_BUILD_ROOT%{_datadir}/locale/ru_RU/LC_MESSAGES
1043
1044 # Remove the files we don't want to distribute
1045 rm -f $RPM_BUILD_ROOT%{_libdir}/libNoVersion*
1046 rm -f $RPM_BUILD_ROOT%{_slibdir}/libNoVersion*
1047
1048 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}/libbsd.a
1049 %if %{build_biarch}
1050 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_prefix}/lib/libbsd.a
1051 %endif
1052 %if %isarch mips mipsel
1053 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}32/libbsd.a
1054 ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}64/libbsd.a
1055 %endif
1056
1057 %if "%{name}" == "glibc"
1058 install -m 644 mageia/nsswitch.conf $RPM_BUILD_ROOT%{_sysconfdir}/nsswitch.conf
1059 %endif
1060
1061 # This is for ncsd - in glibc 2.2
1062 %if %{build_nscd}
1063 install -m 644 nscd/nscd.conf $RPM_BUILD_ROOT%{_sysconfdir}
1064 mkdir -p $RPM_BUILD_ROOT%{_initrddir}
1065 install -m 755 nscd/nscd.init $RPM_BUILD_ROOT%{_initrddir}/nscd
1066 %endif
1067
1068 # These man pages require special attention
1069 mkdir -p %{buildroot}%{_mandir}/man3
1070 install -p -m 0644 crypt_blowfish-%{crypt_bf_ver}/*.3 %{buildroot}%{_mandir}/man3/
1071
1072 # Useless and takes place
1073 rm -rf %buildroot/%{_datadir}/zoneinfo/{posix,right}
1074
1075 # Include ld.so.conf
1076 %if "%{name}" == "glibc"
1077 %if %isarch mips mipsel
1078 # needed to get a ldd which understands o32, n32, 64
1079 install -m 755 $RPM_BUILD_DIR/%{source_dir}/build-mips64el-linux/elf/ldd $RPM_BUILD_ROOT/%{_bindir}/ldd
1080 %endif
1081 echo "include /etc/ld.so.conf.d/*.conf" > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
1082 chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
1083 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
1084
1085 # ldconfig cache
1086 mkdir -p $RPM_BUILD_ROOT%{_var}/cache/ldconfig
1087 touch $RPM_BUILD_ROOT%{_var}/cache/ldconfig/aux-cache
1088
1089 # automatic ldconfig cache update on rpm installs/removals
1090 # (see http://wiki.mandriva.com/en/Rpm_filetriggers)
1091 install -d %buildroot%{_var}/lib/rpm/filetriggers
1092 cat > %buildroot%{_var}/lib/rpm/filetriggers/ldconfig.filter << EOF
1093 ^.((/lib|/usr/lib)(32|64)?/[^/]*\.so\.|/etc/ld.so.conf.d/[^/]*\.conf)
1094 EOF
1095 cat > %buildroot%{_var}/lib/rpm/filetriggers/ldconfig.script << EOF
1096 #!/bin/sh
1097 ldconfig -X
1098 EOF
1099 chmod 755 %buildroot%{_var}/lib/rpm/filetriggers/ldconfig.script
1100 %endif
1101
1102 # Include %{_libdir}/gconv/gconv-modules.cache
1103 > $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
1104 chmod 644 $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache
1105
1106 %if "%{name}" == "glibc"
1107 touch $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.cache
1108 %endif
1109
1110 # Add libraries to debug sub-package
1111 %if %{build_debug}
1112 mkdir $RPM_BUILD_ROOT%{_libdir}/debug
1113 #cp -a $RPM_BUILD_ROOT%{_libdir}/*.a $RPM_BUILD_ROOT%{_libdir}/debug/
1114 #rm -f $RPM_BUILD_ROOT%{_libdir}/debug/*_p.a
1115 cp -a $RPM_BUILD_ROOT%{_slibdir}/lib*.so* $RPM_BUILD_ROOT%{_libdir}/debug/
1116
1117 pushd $RPM_BUILD_ROOT%{_libdir}/debug
1118 for lib in *.so*; do
1119 [[ -f "$lib" ]] && DEBUG_LIBS="$DEBUG_LIBS %{_libdir}/debug/$lib"
1120 done
1121 popd
1122 %endif
1123
1124 # Are we cross-compiling?
1125 Strip="strip"
1126 if [[ "%{_target_cpu}" != "%{target_cpu}" ]]; then
1127 Strip="%{cross_program_prefix}$Strip"
1128 fi
1129
1130 # Strip libpthread but keep some symbols
1131 find $RPM_BUILD_ROOT%{_slibdir} -type f -name "libpthread-*.so" \
1132 -o -type f -name "libc-*.so" | \
1133 xargs $Strip -g -R .comment
1134
1135 %if %{build_biarch}
1136 find $RPM_BUILD_ROOT/lib -type f -name "libpthread-*.so" \
1137 -o -type f -name "libc-*.so" | \
1138 xargs $Strip -g -R .comment
1139 %endif
1140
1141 # Strip debugging info from all static libraries
1142 pushd $RPM_BUILD_ROOT%{_slibdir}
1143 for i in *.a; do
1144 if [ -f "$i" ]; then
1145 case "$i" in
1146 *_p.a) ;;
1147 *) $Strip -g -R .comment $i ;;
1148 esac
1149 fi
1150 done
1151 popd
1152
1153 # post install wrapper
1154 %__cc -Os -DSLIBDIR="\"%{_slibdir}\"" -DASH_BIN="\"%{ash_bin}\"" %{SOURCE14} -static \
1155 -L $RPM_BUILD_ROOT%{_libdir}/ \
1156 -o $RPM_BUILD_ROOT%{_sbindir}/glibc-post-wrapper
1157 chmod 700 $RPM_BUILD_ROOT%{_sbindir}/glibc-post-wrapper
1158
1159 # rquota.x and rquota.h are now provided by quota
1160 rm -f $RPM_BUILD_ROOT%{_includedir}/rpcsvc/rquota.[hx]
1161
1162 # Hardlink identical locale files together
1163 %if %{build_i18ndata}
1164 gcc -O2 -o build-%{target_cpu}-linux/hardlink redhat/hardlink.c
1165 build-%{target_cpu}-linux/hardlink -vc $RPM_BUILD_ROOT%{_datadir}/locale
1166 %endif
1167
1168 rm -rf $RPM_BUILD_ROOT%{_includedir}/netatalk/
1169
1170 # Build file list for devel package
1171 find $RPM_BUILD_ROOT%{_includedir} -type f -or -type l > devel.filelist
1172 find $RPM_BUILD_ROOT%{_includedir} -type d | sed "s/^/%dir /" | \
1173 grep -v "%{_libdir}/libnss1.*.so$" | \
1174 grep -v "%{_includedir}$" | >> devel.filelist
1175 find $RPM_BUILD_ROOT%{_libdir} -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1176 # biarch libs
1177 %if %{build_biarch}
1178 find $RPM_BUILD_ROOT%{_prefix}/lib -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1179 %endif
1180 %if %isarch mips mipsel
1181 find $RPM_BUILD_ROOT%{_libdir}32 -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1182 find $RPM_BUILD_ROOT%{_libdir}64 -maxdepth 1 -name "*.so" -o -name "*.o" | egrep -v "(libmemusage.so|libpcprofile.so)" >> devel.filelist
1183 %endif
1184 perl -pi -e "s|$RPM_BUILD_ROOT||" devel.filelist
1185
1186 # /etc/localtime - we're proud of our timezone #Well we may put Paris
1187 %if %{build_timezone}
1188 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1189 cp -f $RPM_BUILD_ROOT%{_datadir}/zoneinfo/US/Eastern $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1190 #ln -sf ..%{_datadir}/zoneinfo/US/Eastern $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1191 %endif
1192
1193 # [gg] build PDF documentation
1194 %if %{build_pdf_doc}
1195 (cd manual; texi2dvi -p -t @afourpaper -t @finalout libc.texinfo)
1196 %endif
1197
1198 # the last bit: more documentation
1199 rm -rf documentation
1200 mkdir documentation
1201 cp timezone/README documentation/README.timezone
1202 cp ChangeLog* documentation
1203 gzip -9 documentation/ChangeLog*
1204 mkdir documentation/crypt_blowfish-%{crypt_bf_ver}
1205 install -m 644 crypt_blowfish-%{crypt_bf_ver}/{README,LINKS,PERFORMANCE} \
1206 documentation/crypt_blowfish-%{crypt_bf_ver}
1207
1208 # Generate final rpm filelist, with localized libc.mo files
1209 rm -f rpm.filelist
1210 %if "%{name}" == "glibc"
1211 %find_lang libc
1212 perl -ne '/^\s*$/ or print' libc.lang > rpm.filelist
1213 %endif
1214 cat extralibs.filelist >> rpm.filelist
1215
1216 # Remove unpackaged files
1217 rm -f $RPM_BUILD_ROOT%{_infodir}/dir.old*
1218 rm -rf $RPM_BUILD_ROOT%{_includedir}/asm-*/mach-*/
1219 rm -f $RPM_BUILD_ROOT%{_datadir}/locale/locale-archive*
1220
1221 %if !%{build_utils}
1222 %if %{build_biarch}
1223 rm -f $RPM_BUILD_ROOT%{_slibdir32}/libmemusage.so
1224 rm -f $RPM_BUILD_ROOT%{_slibdir32}/libpcprofile.so
1225 %endif
1226 %if %isarch mips mipsel
1227 rm -f $RPM_BUILD_ROOT%{_slibdir}32/libmemusage.so
1228 rm -f $RPM_BUILD_ROOT%{_slibdir}32/libpcprofile.so
1229 rm -f $RPM_BUILD_ROOT%{_slibdir}64/libmemusage.so
1230 rm -f $RPM_BUILD_ROOT%{_slibdir}64/libpcprofile.so
1231 %endif
1232 rm -f $RPM_BUILD_ROOT%{_slibdir}/libmemusage.so
1233 rm -f $RPM_BUILD_ROOT%{_slibdir}/libpcprofile.so
1234 rm -f $RPM_BUILD_ROOT%{_bindir}/memusage
1235 rm -f $RPM_BUILD_ROOT%{_bindir}/memusagestat
1236 rm -f $RPM_BUILD_ROOT%{_bindir}/mtrace
1237 rm -f $RPM_BUILD_ROOT%{_bindir}/pcprofiledump
1238 rm -f $RPM_BUILD_ROOT%{_bindir}/xtrace
1239 %endif
1240
1241 %if !%{build_timezone}
1242 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
1243 rm -f $RPM_BUILD_ROOT%{_sbindir}/zdump
1244 rm -f $RPM_BUILD_ROOT%{_sbindir}/zic
1245 rm -f $RPM_BUILD_ROOT%{_mandir}/man1/zdump.1*
1246 rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo
1247 %endif
1248
1249 %if !%{build_i18ndata}
1250 rm -rf $RPM_BUILD_ROOT%{_datadir}/i18n
1251 %endif
1252
1253 %if "%{name}" != "glibc"
1254 rm -rf $RPM_BUILD_ROOT/boot
1255 rm -rf $RPM_BUILD_ROOT/sbin
1256 rm -rf $RPM_BUILD_ROOT/usr/share
1257 rm -rf $RPM_BUILD_ROOT%{_bindir}
1258 rm -rf $RPM_BUILD_ROOT%{_sbindir}
1259 rm -rf $RPM_BUILD_ROOT%{_datadir}
1260 rm -rf $RPM_BUILD_ROOT%{_mandir}
1261 rm -rf $RPM_BUILD_ROOT%{_infodir}
1262 rm -rf $RPM_BUILD_ROOT%{_prefix}/etc
1263 rm -rf $RPM_BUILD_ROOT%{_libdir}/gconv
1264 %endif
1265
1266 # In case we are cross-compiling, don't bother to remake symlinks and
1267 # fool spec-helper when stripping files
1268 %if "%{name}" != "glibc"
1269 export DONT_SYMLINK_LIBS=1
1270 export PATH=%{_bindir}:$PATH
1271 %endif
1272
1273 EXCLUDE_FROM_STRIP="ld-%{glibcversion}.so libpthread libc-%{glibcversion}.so $DEBUG_LIBS"
1274 export EXCLUDE_FROM_STRIP
1275
1276 %if "%{name}" == "glibc"
1277 %define upgradestamp %{_slibdir}/glibc.upgraded
1278 %define broken_link %{_slibdir}/libnss_nis.so.1 %{_slibdir}/libnss_files.so.1 %{_slibdir}/libnss_dns.so.1 %{_slibdir}/libnss_compat.so.1
1279
1280 %pre -p %{ash_bin}
1281 # test(1) and echo(1) are built-ins
1282 if [ -d %{_slibdir} ] && [ ! -f %{_slibdir}/libnss_files-%{glibcversion}.so ]; then
1283 echo > %{upgradestamp}
1284 fi
1285
1286 %post -p %{_sbindir}/glibc-post-wrapper
1287 export LC_ALL=C
1288
1289 if [ "$1" -gt 1 ]; then
1290 # migrate /etc/ld.so.conf to include the new /etc/ld.so.conf.d/
1291 # without external commands but for removing the temporary file
1292 ldso_conf=/etc/ld.so.conf
1293 while read i; do
1294 [ "$i" = "include /etc/ld.so.conf.d/*.conf" ] && keep=1
1295 # Remove previously used include line without absolute path
1296 [ "$i" = "include ld.so.conf.d/*.conf" ] || echo $i
1297 done < $ldso_conf > $ldso_conf-
1298 if [ -z "$keep" ]; then
1299 echo "include /etc/ld.so.conf.d/*.conf" > $ldso_conf
1300 while read i; do
1301 echo $i
1302 done < $ldso_conf- >> $ldso_conf
1303 fi
1304 [ -x /bin/rm ] && /bin/rm -f $ldso_conf-
1305 fi
1306 /sbin/ldconfig
1307
1308 if [ "$1" -gt 1 ]; then
1309 # On upgrade the services doesn't work because libnss couldn't be
1310 # loaded anymore.
1311 if [ -f %{upgradestamp} ]; then
1312 if /usr/bin/readlink /proc/1/exe >/dev/null && \
1313 /usr/bin/readlink /proc/1/root >/dev/null; then
1314 if [ -x /sbin/telinit -a -p /dev/initctl ]; then
1315 /sbin/telinit u
1316 fi
1317 if [ -x /etc/init.d/sshd -a \
1318 -x /usr/sbin/sshd -a \
1319 -x /bin/bash ]; then
1320 /etc/init.d/sshd condrestart
1321 fi
1322 fi
1323 fi
1324 if [ -f /bin/rm ]; then
1325 for i in %broken_link; do
1326 if [ -e $i ] && [ ! -L $i ]; then
1327 /bin/rm -f $i
1328 fi
1329 done
1330 fi
1331 fi
1332 [ -x /bin/rm ] && /bin/rm -f %{upgradestamp}
1333
1334 # always generate the gconv-modules.cache
1335 %{_sbindir}/iconvconfig -o %{_libdir}/gconv/gconv-modules.cache --nostdlib %{_libdir}/gconv
1336
1337 %endif
1338
1339 %pre devel
1340 if [ -L %{_includedir}/scsi ]; then
1341 rm -f %{_includedir}/scsi
1342 fi
1343 if [ -L %{_includedir}/sound ]; then
1344 rm -f %{_includedir}/sound
1345 fi
1346 if [ -L %{_includedir}/linux ]; then
1347 rm -f %{_includedir}/linux
1348 fi
1349 if [ -L %{_includedir}/asm ]; then
1350 rm -f %{_includedir}/asm
1351 fi
1352 if [ -L %{_includedir}/asm-generic ]; then
1353 rm -f %{_includedir}/asm-generic
1354 fi
1355 %if %isarch x86_64
1356 if [ -L %{_includedir}/asm-x86_64 ]; then
1357 rm -f %{_includedir}/asm-x86_64
1358 fi
1359 if [ -L %{_includedir}/asm-i386 ]; then
1360 rm -f %{_includedir}/asm-i386
1361 fi
1362 %endif
1363 %if %isarch %mips
1364 if [ -L %{_includedir}/asm-mips ]; then
1365 rm -f %{_includedir}/asm-mips
1366 fi
1367 %endif
1368 %if %isarch %arm
1369 if [ -L %{_includedir}/asm-arm ]; then
1370 rm -f %{_includedir}/asm-arm
1371 fi
1372 %endif
1373 exit 0
1374
1375 %if %{build_doc}
1376 %post doc
1377 %_install_info libc.info
1378
1379 %preun doc
1380 %_remove_install_info libc.info
1381 %endif
1382
1383 %if %{build_nscd}
1384 %pre -n nscd
1385 %_pre_useradd nscd / /bin/false
1386
1387 %post -n nscd
1388 %_post_service nscd
1389
1390 %preun -n nscd
1391 %_preun_service nscd
1392
1393 %postun -n nscd
1394 %_postun_userdel nscd
1395
1396 if [ "$1" -ge "1" ]; then
1397 /sbin/service nscd condrestart > /dev/null 2>&1 || :
1398 fi
1399 %endif
1400
1401 %clean
1402 #rm -rf "$RPM_BUILD_ROOT"
1403 #rm -f *.filelist*
1404
1405 #
1406 # glibc
1407 #
1408 %files -f rpm.filelist
1409 %defattr(-,root,root)
1410 %if "%{name}" == "glibc"
1411 %if %{build_timezone}
1412 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/localtime
1413 %endif
1414 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/nsswitch.conf
1415 %verify(not md5 size mtime) %config(noreplace) %{_sysconfdir}/ld.so.conf
1416 %dir %{_sysconfdir}/ld.so.conf.d
1417 %config(noreplace) %{_sysconfdir}/rpc
1418 %doc nis/nss
1419 %doc posix/gai.conf
1420 %{_mandir}/man1/*
1421 %{_mandir}/man8/rpcinfo.8*
1422 %{_mandir}/man8/ld.so*
1423 %{_datadir}/locale/locale.alias
1424 /sbin/sln
1425 %dir %{_prefix}/libexec/getconf
1426 %{_prefix}/libexec/getconf/*
1427 %endif
1428 %{_slibdir}/ld-%{glibcversion}.so
1429 %if %isarch i386
1430 %{_slibdir}/ld-linux.so.2
1431 %endif
1432 %if %isarch %arm
1433 %{_slibdir}/ld-linux.so.3
1434 %endif
1435 %if %isarch x86_64
1436 %{_slibdir}/ld-linux-x86-64.so.2
1437 %endif
1438 %if %isarch %mips
1439 %{_slibdir}/ld.so.1
1440 %endif
1441 %{_slibdir}/lib*-[.0-9]*.so
1442 %{_slibdir}/lib*.so.[0-9]*
1443 %{_slibdir}/libSegFault.so
1444 %if "%{name}" == "glibc"
1445 %dir %{_libdir}/audit
1446 %{_libdir}/audit/sotruss-lib.so
1447 %dir %{_libdir}/gconv
1448 %{_libdir}/gconv/*.so
1449 %{_libdir}/gconv/gconv-modules
1450 %ghost %{_libdir}/gconv/gconv-modules.cache
1451 %attr(4755,root,root) %{_prefix}/libexec/pt_chown
1452 %{_bindir}/catchsegv
1453 %{_bindir}/gencat
1454 %{_bindir}/getconf
1455 %{_bindir}/getent
1456 %{_bindir}/iconv
1457 %{_bindir}/ldd
1458 %if %isarch i386
1459 %{_bindir}/lddlibc4
1460 %endif
1461 %{_bindir}/locale
1462 %{_bindir}/localedef
1463 %{_bindir}/rpcgen
1464 %{_bindir}/sotruss
1465 %{_bindir}/sprof
1466 %{_bindir}/tzselect
1467 %{_sbindir}/iconvconfig
1468 %{_sbindir}/glibc-post-wrapper
1469 %endif
1470
1471 %if %{build_biarch}
1472 %{_slibdir32}/ld-%{glibcversion}.so
1473 %{_slibdir32}/ld-linux*.so.2
1474 %{_slibdir32}/lib*-[.0-9]*.so
1475 %{_slibdir32}/lib*.so.[0-9]*
1476 %{_slibdir32}/libSegFault.so
1477 %dir %{_prefix}/lib/audit
1478 %{_prefix}/lib/audit/sotruss-lib.so
1479 %dir %{_prefix}/lib/gconv
1480 %{_prefix}/lib/gconv/*
1481 %endif
1482 %if %isarch mips mipsel
1483 %{_slibdir}32/ld-%{glibcversion}.so
1484 %{_slibdir}32/ld.so.1
1485 %{_slibdir}32/lib*-[.0-9]*.so
1486 %{_slibdir}32/lib*.so.[0-9]*
1487 %{_slibdir}32/libSegFault.so
1488 %dir %{_libdir}32/gconv
1489 %{_libdir}32/gconv/*
1490 %{_slibdir}64/ld-%{glibcversion}.so
1491 %{_slibdir}64/ld.so.1
1492 %{_slibdir}64/lib*-[.0-9]*.so
1493 %{_slibdir}64/lib*.so.[0-9]*
1494 %{_slibdir}64/libSegFault.so
1495 %dir %{_libdir}64/gconv
1496 %{_libdir}64/gconv/*
1497 %endif
1498
1499 #
1500 # ldconfig
1501 #
1502 %if "%{name}" == "glibc"
1503 %defattr(-,root,root)
1504 /sbin/ldconfig
1505 %{_mandir}/man8/ldconfig*
1506 %ghost %{_sysconfdir}/ld.so.cache
1507 %dir %{_var}/cache/ldconfig
1508 %ghost %{_var}/cache/ldconfig/aux-cache
1509 %{_var}/lib/rpm/filetriggers/ldconfig.*
1510 %endif
1511
1512 #
1513 # glibc-devel
1514 #
1515 %files devel -f devel.filelist
1516 %defattr(-,root,root)
1517 %doc README NEWS INSTALL FAQ BUGS NOTES PROJECTS CONFORMANCE
1518 %doc COPYING COPYING.LIB
1519 %doc documentation/* README.libm
1520 %doc hesiod/README.hesiod
1521 %doc crypt/README.ufc-crypt
1522 %if "%{name}" == "glibc"
1523 %{_mandir}/man3/*
1524 %endif
1525 %{_libdir}/libbsd-compat.a
1526 %{_libdir}/libbsd.a
1527 %{_libdir}/libc_nonshared.a
1528 %{_libdir}/libg.a
1529 %{_libdir}/libieee.a
1530 %{_libdir}/libmcheck.a
1531 %{_libdir}/libpthread_nonshared.a
1532 %if "%{name}" == "glibc"
1533 %{_libdir}/librpcsvc.a
1534 %endif
1535
1536 %if %{build_biarch}
1537 %{_prefix}/lib/libbsd-compat.a
1538 %{_prefix}/lib/libbsd.a
1539 %{_prefix}/lib/libc_nonshared.a
1540 %{_prefix}/lib/libg.a
1541 %{_prefix}/lib/libieee.a
1542 %{_prefix}/lib/libmcheck.a
1543 %{_prefix}/lib/libpthread_nonshared.a
1544 %{_prefix}/lib/librpcsvc.a
1545 %endif
1546
1547 %if %isarch mips mipsel
1548 %{_libdir}32/libbsd-compat.a
1549 %{_libdir}32/libbsd.a
1550 %{_libdir}32/libc_nonshared.a
1551 %{_libdir}32/libg.a
1552 %{_libdir}32/libieee.a
1553 %{_libdir}32/libmcheck.a
1554 %{_libdir}32/libpthread_nonshared.a
1555 %if "%{name}" == "glibc"
1556 %{_libdir}32/librpcsvc.a
1557 %endif
1558 %{_libdir}64/libbsd-compat.a
1559 %{_libdir}64/libbsd.a
1560 %{_libdir}64/libc_nonshared.a
1561 %{_libdir}64/libg.a
1562 %{_libdir}64/libieee.a
1563 %{_libdir}64/libmcheck.a
1564 %{_libdir}64/libpthread_nonshared.a
1565 %if "%{name}" == "glibc"
1566 %{_libdir}64/librpcsvc.a
1567 %endif
1568 %endif
1569
1570 #
1571 # glibc-static-devel
1572 #
1573 %files static-devel
1574 %defattr(-,root,root)
1575 %doc COPYING COPYING.LIB
1576 %{_libdir}/libBrokenLocale.a
1577 %{_libdir}/libanl.a
1578 %{_libdir}/libc.a
1579 %{_libdir}/libcrypt.a
1580 %{_libdir}/libdl.a
1581 %{_libdir}/libm.a
1582 %{_libdir}/libnsl.a
1583 %{_libdir}/libpthread.a
1584 %{_libdir}/libresolv.a
1585 %{_libdir}/librt.a
1586 %{_libdir}/libutil.a
1587
1588 %if %{build_biarch}
1589 %{_prefix}/lib/libBrokenLocale.a
1590 %{_prefix}/lib/libanl.a
1591 %{_prefix}/lib/libc.a
1592 %{_prefix}/lib/libcrypt.a
1593 %{_prefix}/lib/libdl.a
1594 %{_prefix}/lib/libm.a
1595 %{_prefix}/lib/libnsl.a
1596 %{_prefix}/lib/libpthread.a
1597 %{_prefix}/lib/libresolv.a
1598 %{_prefix}/lib/librt.a
1599 %{_prefix}/lib/libutil.a
1600 %endif
1601
1602 %if %isarch mips mipsel
1603 %{_libdir}32/libBrokenLocale.a
1604 %{_libdir}32/libanl.a
1605 %{_libdir}32/libc.a
1606 %{_libdir}32/libcrypt.a
1607 %{_libdir}32/libdl.a
1608 %{_libdir}32/libm.a
1609 %{_libdir}32/libnsl.a
1610 %{_libdir}32/libpthread.a
1611 %{_libdir}32/libresolv.a
1612 %{_libdir}32/librt.a
1613 %{_libdir}32/libutil.a
1614
1615 %{_libdir}64/libBrokenLocale.a
1616 %{_libdir}64/libanl.a
1617 %{_libdir}64/libc.a
1618 %{_libdir}64/libcrypt.a
1619 %{_libdir}64/libdl.a
1620 %{_libdir}64/libm.a
1621 %{_libdir}64/libnsl.a
1622 %{_libdir}64/libpthread.a
1623 %{_libdir}64/libresolv.a
1624 %{_libdir}64/librt.a
1625 %{_libdir}64/libutil.a
1626 %endif
1627
1628 #
1629 # glibc-doc
1630 #
1631 %if %{build_doc}
1632 %files doc
1633 %defattr(-,root,root)
1634 %{_infodir}/libc.info*
1635 %endif
1636
1637 #
1638 # glibc-doc-pdf
1639 #
1640 %if %{build_pdf_doc}
1641 %files doc-pdf
1642 %defattr(-,root,root)
1643 %doc manual/libc.pdf
1644 %endif
1645
1646 #
1647 # glibc-debug
1648 #
1649 %if %{build_debug}
1650 %files debug
1651 %defattr(-,root,root)
1652 %dir %{_libdir}/debug
1653 %{_libdir}/debug/*.so
1654 %{_libdir}/debug/*.so.*
1655 %if %isarch mips mipsel
1656 %dir %{_libdir}/debug/lib32
1657 %{_libdir}/debug/lib32/*.so
1658 %{_libdir}/debug/lib32/*.so.*
1659 %dir %{_libdir}/debug/lib64
1660 %{_libdir}/debug/lib64/*.so
1661 %{_libdir}/debug/lib64/*.so.*
1662 %endif
1663 %endif
1664
1665 #
1666 # glibc-profile
1667 #
1668 %if %{build_profile}
1669 %files profile
1670 %defattr(-,root,root)
1671 %{_libdir}/lib*_p.a
1672 %if %{build_biarch}
1673 %{_prefix}/lib/lib*_p.a
1674 %endif
1675 %if %isarch mips mipsel
1676 %{_libdir}32/lib*_p.a
1677 %{_libdir}64/lib*_p.a
1678 %endif
1679 %endif
1680
1681 #
1682 # glibc-utils
1683 #
1684 %if %{build_utils}
1685 %files utils
1686 %defattr(-,root,root)
1687 %if %{build_biarch}
1688 %{_slibdir32}/libmemusage.so
1689 %{_slibdir32}/libpcprofile.so
1690 %endif
1691 %{_slibdir}/libmemusage.so
1692 %{_slibdir}/libpcprofile.so
1693 %{_bindir}/memusage
1694 %{_bindir}/memusagestat
1695 %{_bindir}/mtrace
1696 %{_bindir}/pcprofiledump
1697 %{_bindir}/xtrace
1698 %if %isarch mips mipsel
1699 %{_slibdir}32/libmemusage.so
1700 %{_slibdir}32/libpcprofile.so
1701 %{_slibdir}64/libmemusage.so
1702 %{_slibdir}64/libpcprofile.so
1703 %endif
1704 %endif
1705
1706 #
1707 # nscd
1708 #
1709 %if %{build_nscd}
1710 %files -n nscd
1711 %defattr(-,root,root)
1712 %config(noreplace) %{_sysconfdir}/nscd.conf
1713 %config(noreplace) %{_initrddir}/nscd
1714 %{_sbindir}/nscd
1715 %endif
1716
1717 #
1718 # timezone
1719 #
1720 %if %{build_timezone}
1721 %files -n timezone
1722 %defattr(-,root,root)
1723 %{_sbindir}/zdump
1724 %{_sbindir}/zic
1725 %{_mandir}/man1/zdump.1*
1726 %dir %{_datadir}/zoneinfo
1727 %{_datadir}/zoneinfo/*
1728 %endif
1729
1730 #
1731 # glibc-i18ndata
1732 #
1733 %if %{build_i18ndata}
1734 %files i18ndata
1735 %defattr(-,root,root)
1736 %dir %{_datadir}/i18n
1737 %dir %{_datadir}/i18n/charmaps
1738 %{_datadir}/i18n/charmaps/*
1739 %dir %{_datadir}/i18n/locales
1740 %{_datadir}/i18n/locales/*
1741 %{_datadir}/i18n/SUPPORTED
1742 %endif

  ViewVC Help
Powered by ViewVC 1.1.30