/[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 272322 - (show annotations) (download)
Wed Jul 18 18:34:08 2012 UTC (11 years, 9 months ago) by tmb
Original Path: cauldron/glibc/current/SPECS/glibc.spec
File size: 49657 byte(s)
- merge glibc-2.16 branch:
  * update to 2.16.0
  * rediff P4, P6, P12, P28, P30, P31, P38, P44
  * drop P49 (rpc change revert) as its replaced by
    '--enable-obsolete-rpc' configure flag
  * drop P48, P60-P62 (merged upstream)
  * disable broken pdf doc build for now
  * update filelists
  * drop obsolete defattr and buildroot from spec


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

  ViewVC Help
Powered by ViewVC 1.1.30