packaging: Apply ASLR
[platform/upstream/glibc.git] / packaging / glibc.spec
1 #
2 # spec file for package glibc
3 #
4 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 #
6 # All modifications and additions to the file contributed by third parties
7 # remain the property of their copyright owners, unless otherwise agreed
8 # upon. The license for this file, and modifications and additions to the
9 # file, is the same license as for the pristine package itself (unless the
10 # license for the pristine package is not an Open Source License, in which
11 # case the license is the MIT License). An "Open Source License" is a
12 # license that conforms to the Open Source Definition (Version 1.9)
13 # published by the Open Source Initiative.
14
15 # This will avoid building some parts of glibc
16 %bcond_with    fast_build
17
18 Name:           glibc
19 Summary:        Standard Shared Libraries (from the GNU C Library)
20 License:        LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
21 Group:          Base/Libraries
22 BuildRequires:  fdupes
23 BuildRequires:  makeinfo
24 BuildRequires:  xz
25 BuildRequires:  gcc-c++
26 BuildRequires:  gettext-tools
27 BuildRequires:  libstdc++-devel
28 #BuildRequires:  pkgconfig(systemd)
29
30 %define _filter_GLIBC_PRIVATE 1
31 %if %_target_cpu == "i686"
32 # For i686 let's only build what's different from i586, so
33 # no need to build documentation
34 %define build_profile 1
35 %define build_locales 0
36 %define build_html 0
37 %else
38 %if %{with fast_build}
39 %define build_profile 0
40 %define build_locales 0
41 %define build_html 0
42 %else
43 # Default:
44 %define build_profile 1
45 %define build_locales 0
46 %define build_html 1
47 %endif
48 %endif
49
50 %define disable_assert 0
51 %define enable_stackguard_randomization 1
52 %define multiarcharches %{ix86} x86_64
53
54 %ifarch x86_64
55 %define enablekernel 2.6.16
56 %else
57 %define enablekernel 2.6.16
58 %endif
59 Conflicts:      kernel < %{enablekernel}
60 %ifarch armv7l armv7hl
61 # The old runtime linker link gets not provided by rpm find.provides, but it exists
62 Provides:       ld-linux.so.3
63 Provides:       ld-linux.so.3(GLIBC_2.4)
64 %endif
65 Version:        2.24
66 Release:        0
67 %define glibc_major_version 2.24
68 %define git_id 4e42b5b8f89f
69
70 Url:            http://www.gnu.org/software/libc/libc.html
71 Source:         glibc-%{version}.tar.xz
72 Source5:        nsswitch.conf
73 Source7:        bindresvport.blacklist
74 Source8:        glibc_post_upgrade.c
75 Source9:        glibc.rpmlintrc
76 Source10:       baselibs.conf
77 # For systemd 
78 Source1001:     glibc.manifest
79
80 Requires(pre):  filesystem
81 Provides:       rtld(GNU_HASH)
82
83 %description
84 The GNU C Library provides the most important standard libraries used
85 by nearly all programs: the standard C library, the standard math
86 library, and the POSIX thread library. A system is not functional
87 without these libraries.
88
89 %package info
90 Summary:        Info Files for the GNU C Library
91 License:        GFDL-1.1
92 Group:          Documentation
93 BuildArch:      noarch
94
95 %description info
96 This package contains the documentation for the GNU C library stored as
97 info files. Due to a lack of resources, this documentation is not
98 complete and is partially out of date.
99
100 %package html
101 Summary:        HTML Documentation for the GNU C Library
102 License:        GFDL-1.1
103 Group:          Documentation
104 BuildArch:      noarch
105
106 %description html
107 This package contains the HTML documentation for the GNU C library. Due
108 to a lack of resources, this documentation is not complete and is
109 partially out of date.
110
111 %package i18ndata
112 Summary:        Database Sources for 'locale'
113 License:        GPL-2.0+ and MIT
114 Group:          Base/Libraries
115 BuildArch:      noarch
116
117 %description i18ndata
118 This package contains the data needed to build the locale data files to
119 use the internationalization features of the GNU libc. It is normally
120 not necessary to install this packages, the data files are already
121 created.
122
123 %package locale
124 Summary:        Locale Data for Localized Programs
125 License:        GPL-2.0+ and MIT and LGPL-2.1+
126 Requires(post): /usr/bin/cat
127 Requires:       glibc = %{version}
128 %description locale
129 Locale data for the internationalisation features of the GNU C library.
130
131 %package profile
132 Summary:        Libc Profiling and Debugging Versions
133 License:        LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
134 Group:          Base/Utilities
135 Requires:       glibc = %{version}
136
137 %description profile
138 This package contains special versions of the GNU C library which are
139 necessary for profiling and debugging.
140
141 %package devel
142 Summary:        Include Files and Libraries Mandatory for Development
143 License:        BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
144 Requires:       glibc = %{version}
145 Requires:       linux-kernel-headers
146
147 %description devel
148 These libraries are needed to develop programs which use the standard C
149 library.
150
151 %package devel-static
152 Summary:        C library static libraries for -static linking
153 License:        BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
154 Requires:       %{name}-devel = %{version}
155 # Provide Fedora name for package to make packaging easier
156 Provides:       %{name}-static = %version
157
158 %description devel-static
159 The glibc-devel-static package contains the C library static libraries
160 for -static linking.  You don't need these, unless you link statically,
161 which is highly discouraged.
162
163 %package devel-utils
164 Summary:        Development utilities from GNU C library
165 License:        LGPL-2.1+
166 Requires:       glibc = %{version}
167
168 %description devel-utils
169 The glibc-devel-utils package contains various binaries which can be helpful during program
170 debugging.
171
172 If you are unsure if you need this, don't install this package.
173
174 %package extra
175 Summary:        Extra binaries from GNU C Library
176 License:        LGPL-2.1+
177 Requires:       glibc = %{version}
178
179 %description extra
180 The glibc-extra package contains some extra binaries for glibc that
181 are not essential but recommend to use.
182
183 makedb: A program to create a database for nss
184
185 %package obsolete
186 Summary:        Obsolete Shared Libraries from the GNU C Library
187 License:        LGPL-2.0+
188 Requires:       glibc = %{version}
189
190 %description obsolete
191 This package provides some old libraries from the GNU C Library which
192 are no longer supported. Additional it provides a compatibility library
193 for old binaries linked against glibc 2.0.
194
195 Install this package if you need one of this libraries to get old
196 binaries working, but since this libraries are not supported and there
197 is no gurantee that they work for you, you should try to get newer
198 versions of your software.
199
200 %prep
201 %setup -n glibc-%{version} -q 
202 cp %{SOURCE1001} .
203
204 %build
205 %{?asan:%gcc_unforce_options}
206 if [ -x /bin/uname.bin ]; then
207         /bin/uname.bin -a
208 else
209         uname -a
210 fi
211 uptime || :
212 ulimit -a
213 nice
214 # We do not want configure to figure out the system its building one
215 # to support a common ground and thus set build and host to the
216 # target_cpu.
217 %ifarch %arm
218 %define target %{_target_cpu}-tizen-linux-gnueabi
219 %else
220 %define target %{_target_cpu}-tizen-linux
221 %endif
222 # Don't use as-needed, it breaks glibc assumptions
223 # Before enabling it, run the testsuite and verify that it
224 # passes completely
225 export LD_AS_NEEDED=0
226 # Adjust glibc version.h
227 echo "#define CONFHOST \"%{target}\"" >> version.h
228 echo "#define GITID \"%{git_id}\"" >> version.h
229 #
230 # Default CFLAGS and Compiler
231 #
232 BuildFlags=$(echo %{optflags} | sed -e "s/-Wp,-D_FORTIFY_SOURCE=2//g" | sed -e "s/-ffast-math//" | sed -e "s/atom/i686/g" | sed -e "s/-fexceptions//" | sed -e "s/-fno-omit-frame-pointer//" )
233 BuildFlags="$BuildFlags -O2 -g -U_FORTIFY_SOURCE"
234 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')"
235 BuildFlags="$(echo $BuildFlags | sed -e 's/-Wa,-mimplicit-it=thumb//g' | sed -e 's/-mthumb//g')"
236 BuildCC="%__cc"
237 BuildCCplus="%__cxx"
238 add_ons=",libidn"
239
240
241 BuildFlags="$BuildFlags -g"
242 %if %{disable_assert}
243         BuildFlags="$BuildFlags -DNDEBUG=1"
244 %endif
245 %ifarch %ix86
246         add_ons=$add_ons
247 %endif
248 %ifarch %arm aarch64
249         add_ons=$add_ons
250 %endif
251 %ifarch mipsel
252         # fails to build otherwise - need to recheck and fix
253         %define enable_stackguard_randomization 0
254 %endif
255
256 configure_and_build_glibc() {
257         local dirname="$1"; shift
258         local cflags="$1"; shift
259         local addons="$1"; shift
260         mkdir "cc-$dirname"
261         cd "cc-$dirname"
262         conf_cflags="$cflags -funwind-tables -fPIC"
263
264         profile="--disable-profile"
265 %if %{build_profile}
266         if [ "$dirname" = "base" ] ; then
267             profile="--enable-profile"
268         fi
269 %endif
270         CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \
271         CC="$BuildCC" CXX="$BuildCCplus"  ../configure \
272                 --prefix=%{_prefix} \
273                 --libexecdir=%{_libexecdir} --infodir=%{_infodir} \
274                 --enable-add-ons=$addons \
275                 $profile \
276                 "$@" \
277 %if %{enable_stackguard_randomization}
278                 --enable-stackguard-randomization \
279 %endif
280                 --build=%{target} --host=%{target} \
281 %ifnarch %{multiarcharches}
282                 --disable-multi-arch \
283 %endif
284 %ifarch %{ix86} x86_64 
285                 --disable-mathvec \
286 %endif
287                 --enable-kernel=%{enablekernel} \
288                 --enable-bind-now  --enable-obsolete-rpc \
289                 --disable-nscd \
290                 libc_cv_pie_default=yes
291         # explicitly set CFLAGS to use the full CFLAGS (not the reduced one for configure)
292         make %{?_smp_mflags} #CFLAGS="$cflags" BUILD_CFLAGS="$cflags"
293         cd ..
294 }
295
296         #
297         # Build base glibc
298         #
299         configure_and_build_glibc base "$BuildFlags" "$add_ons"
300
301 #
302 # Build html documentation
303 #
304 %if %{build_html}
305 make -C cc-base html
306 %endif
307
308 #
309 # Build glibc_post_upgrade binary
310 #
311 $BuildCC -static %{optflags} -Os $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
312      -Lcc-base -Bcc-base/csu \
313     '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \
314     '-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_libdir}/gconv"'
315
316
317 #######################################################################
318 ###
319 ### CHECK
320 ###
321 #######################################################################
322
323 %check
324 # The testsuite will fail if asneeded is used
325 export LD_AS_NEEDED=0
326 # This has to pass on all platforms!
327 # Exceptions:
328 # None!
329 make %{?_smp_mflags} -C cc-base check-abi
330
331 #######################################################################
332 ###
333 ### INSTALL
334 ###
335 #######################################################################
336
337 %install
338 # We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
339 # certainly not from libpthread.so.* because it is used by libthread_db to find
340 # some non-exported symbols in order to detect if threading support
341 # should be enabled.  These symbols are _not_ exported, and we can't easily
342 # export them retroactively without changing the ABI.  So we have to
343 # continue to "export" them via .symtab, instead of .dynsym :-(
344 # But we also want to keep .symtab and .strtab of other libraries since some
345 # debugging tools currently require these sections directly inside the main
346 # files - specifically valgrind and PurifyPlus.
347 export STRIP_KEEP_SYMTAB=*.so*
348
349 # Make sure we will create the gconv-modules.cache
350 mkdir -p %{buildroot}%{_libdir}/gconv
351 touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache
352
353 # Install base glibc
354 make %{?_smp_mflags} install_root=%{buildroot} install -C cc-base
355
356 install_optimized_variant() {
357         local dirname="$1"; shift
358         local subdir="$1"; shift
359         local subdir_up="$1"; shift
360
361 cd "cc-$dirname"
362 destdir=$RPM_BUILD_ROOT/%{_lib}/$subdir
363 mkdir -p $destdir
364 # Don't run a complete make install, we know which libraries
365 # we want
366 for lib in libc math/libm nptl/libpthread rt/librt nptl_db/libthread_db
367 do
368   libbase=${lib#*/}
369   libbaseso=$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}-*.so)
370   # Only install if different from base lib
371   if cmp -s ${lib}.so ../cc-base/${lib}.so; then
372     ln -sf $subdir_up/$libbaseso $destdir/$libbaseso
373   else
374     cp -a ${lib}.so $destdir/$libbaseso
375   fi
376   # Emulate ldconfig
377   ln -sf $libbaseso $destdir/$(basename $RPM_BUILD_ROOT/%{_lib}/${libbase}.so.*)
378 done
379 cd ..
380 }
381
382
383 # Install locales
384 %if %{build_locales}
385         # XXX Do not install locales in parallel!
386         cd cc-base
387         # localedef creates hardlinks to other locales if possible
388         # this will not work if we generate them in parallel.
389         # thus we need to run fdupes on  /usr/lib/locale/
390         # Still, on my system this is a speed advantage:
391         # non-parallel build for install-locales: 9:34mins
392         # parallel build with fdupes: 7:08mins
393         make %{?_smp_mflags} install_root=%{buildroot} localedata/install-locales
394         %fdupes %{buildroot}/usr/lib/locale
395         cd ..
396 %endif
397 # Create file list for glibc-locale package
398 %{find_lang} libc
399
400 # Prepare obsolete/, used only on some architectures:
401 export RPM_BUILD_ROOT
402 %ifarch %ix86
403 mkdir -p %{buildroot}/%{_lib}/obsolete
404 %endif
405
406 # NPTL <bits/stdio-lock.h> is not usable outside of glibc, so include
407 # the generic one (RH#162634)
408 # cp -av bits/stdio-lock.h %{buildroot}%{_includedir}/bits/stdio-lock.h
409
410
411 # Miscelanna:
412
413 install -m 0700 glibc_post_upgrade %{buildroot}%{_sbindir}
414
415 install -m 644 %{SOURCE7} %{buildroot}/etc
416 install -m 644 %{SOURCE5} %{buildroot}/etc
417 install -m 644 posix/gai.conf %{buildroot}/etc
418
419 mkdir -p %{buildroot}/etc/default
420 install -m 644 nis/nss %{buildroot}/etc/default/
421
422 mkdir -p %{buildroot}%{_includedir}/resolv
423 install -m 0644 resolv/mapv4v6addr.h %{buildroot}%{_includedir}/resolv/
424 install -m 0644 resolv/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/
425
426 %if %{build_html}
427 mkdir -p %{buildroot}%{_datadir}/doc/glibc
428 cp -p cc-base/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
429 %endif
430
431
432 #
433 # Create ld.so.conf
434 #
435 cat > %{buildroot}/etc/ld.so.conf <<EOF
436 %if "%{_lib}" == "lib64"
437 /usr/local/lib64
438 %endif
439 /usr/local/lib
440 include /etc/ld.so.conf.d/*.conf
441 # /lib64, /lib, /usr/lib64 and /usr/lib gets added
442 # automatically by ldconfig after parsing this file.
443 # So, they do not need to be listed.
444 EOF
445 # Add ldconfig cache directory for directory ownership
446 mkdir -p %{buildroot}/var/cache/ldconfig
447 # Empty the ld.so.cache:
448 rm -f %{buildroot}/etc/ld.so.cache
449 touch %{buildroot}/etc/ld.so.cache
450
451 # Don't look at ldd! We don't wish a /bin/sh requires
452 chmod 644 %{buildroot}%{_bindir}/ldd
453
454 # Remove timezone data, now coming in standalone package:
455 for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do
456         rm -f %{buildroot}/$i
457 done
458 rm -rf %{buildroot}%{_datadir}/zoneinfo
459
460 %ifarch armv7hl
461 # Provide compatibility link
462 ln -s ld-%{glibc_major_version}.so %{buildroot}/lib/ld-linux.so.3
463 %endif
464
465 # Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
466 mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
467 ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
468
469 #######################################################################
470 ###
471 ### ...
472 ###
473 #######################################################################
474
475 %post -p %{_sbindir}/glibc_post_upgrade
476
477 %postun -p /sbin/ldconfig
478
479 %post locale
480 for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
481         [ -d "$l.d" ] || continue
482         echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
483         cat "$l.d"/* >>"$l"
484 done
485 /usr/sbin/iconvconfig
486
487 %post info
488 %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
489
490 %postun info
491 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
492
493 %files
494 %manifest %{name}.manifest
495 # glibc
496 %defattr(-,root,root)
497 %license LICENSES COPYING COPYING.LIB
498 %config(noreplace) /etc/bindresvport.blacklist
499 %config /etc/ld.so.conf
500 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
501 %config(noreplace) /etc/rpc
502 %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf
503 %verify(not md5 size mtime) %config(noreplace) /etc/gai.conf
504 %config(noreplace) /etc/default/nss
505 /%{_lib}/ld-%{glibc_major_version}.so
506
507 # Each architecture has a different name for the dynamic linker:
508 %ifarch %arm
509 %ifarch armv7hl
510 /%{_lib}/ld-linux-armhf.so.3
511 # Keep compatibility link
512 /%{_lib}/ld-linux.so.3
513 %else
514 /%{_lib}/ld-linux.so.3
515 %endif
516 %endif
517 %ifarch x86_64
518 /%{_lib}/ld-linux-x86-64.so.2
519 %endif
520 %ifarch %ix86 %sparc
521 /%{_lib}/ld-linux.so.2
522 %endif
523 %ifarch aarch64
524 /lib/ld-linux-aarch64.so.1
525 /%{_lib}/ld-linux-aarch64.so.1
526 %endif
527
528 /%{_lib}/libanl-%{glibc_major_version}.so
529 /%{_lib}/libanl.so.1
530 /%{_lib}/libc-%{glibc_major_version}.so
531 /%{_lib}/libc.so.6*
532 /%{_lib}/libcidn-%{glibc_major_version}.so
533 /%{_lib}/libcidn.so.1
534 /%{_lib}/libcrypt-%{glibc_major_version}.so
535 /%{_lib}/libcrypt.so.1
536 /%{_lib}/libdl-%{glibc_major_version}.so
537 /%{_lib}/libdl.so.2*
538 /%{_lib}/libm-%{glibc_major_version}.so
539 /%{_lib}/libm.so.6*
540 /%{_lib}/libnsl-%{glibc_major_version}.so
541 /%{_lib}/libnsl.so.1
542 /%{_lib}/libnss_compat-%{glibc_major_version}.so
543 /%{_lib}/libnss_compat.so.2
544 /%{_lib}/libnss_db-%{glibc_major_version}.so
545 /%{_lib}/libnss_db.so.2
546 /%{_lib}/libnss_dns-%{glibc_major_version}.so
547 /%{_lib}/libnss_dns.so.2
548 /%{_lib}/libnss_files-%{glibc_major_version}.so
549 /%{_lib}/libnss_files.so.2
550 /%{_lib}/libnss_hesiod-%{glibc_major_version}.so
551 /%{_lib}/libnss_hesiod.so.2
552 /%{_lib}/libnss_nis-%{glibc_major_version}.so
553 /%{_lib}/libnss_nis.so.2
554 /%{_lib}/libnss_nisplus-%{glibc_major_version}.so
555 /%{_lib}/libnss_nisplus.so.2
556 /%{_lib}/libpthread-%{glibc_major_version}.so
557 /%{_lib}/libpthread.so.0
558 /%{_lib}/libthread_db-1.0.so
559 /%{_lib}/libthread_db.so.1
560 /%{_lib}/libresolv-%{glibc_major_version}.so
561 /%{_lib}/libresolv.so.2
562 /%{_lib}/librt-%{glibc_major_version}.so
563 /%{_lib}/librt.so.1
564 /%{_lib}/libutil-%{glibc_major_version}.so
565 /%{_lib}/libutil.so.1
566 %define optimized_libs() \
567         %dir %attr(0755,root,root) /%{_lib}/%1\
568         /%{_lib}/%1/libc-%{glibc_major_version}.so\
569         /%{_lib}/%1/libc.so.6*\
570         /%{_lib}/%1/libm-%{glibc_major_version}.so\
571         /%{_lib}/%1/libm.so.6*\
572         /%{_lib}/%1/libpthread-%{glibc_major_version}.so\
573         /%{_lib}/%1/libpthread.so.0\
574         /%{_lib}/%1/librt-%{glibc_major_version}.so\
575         /%{_lib}/%1/librt.so.1\
576         /%{_lib}/%1/libthread_db-1.0.so\
577         /%{_lib}/%1/libthread_db.so.1
578
579 %dir %attr(0700,root,root) /var/cache/ldconfig
580 /sbin/ldconfig
581 %{_bindir}/gencat
582 %{_bindir}/getconf
583 %{_bindir}/getent
584 %{_bindir}/iconv
585 %attr(755,root,root) %{_bindir}/ldd
586 %ifarch %ix86 sparc sparcv9
587         %{_bindir}/lddlibc4
588 %endif
589 %{_bindir}/locale
590 %{_bindir}/localedef
591 %dir %attr(0755,root,root) %{_libexecdir}/getconf
592 %{_libexecdir}/getconf/*
593 %{_sbindir}/glibc_post_upgrade
594 %{_sbindir}/iconvconfig
595 /%{_lib}/libBrokenLocale-%{glibc_major_version}.so
596 /%{_lib}/libBrokenLocale.so.1
597
598 %ifarch %ix86
599
600 %files obsolete
601 %manifest %{name}.manifest
602 %license COPYING.LIB
603 %defattr (755,root,root,755)
604 %dir /%{_lib}/obsolete/
605         #%dir /%{_lib}/obsolete/noversion
606         #/%{_lib}/obsolete/noversion/libNoVersion-%{glibc_major_version}.so
607         #/%{_lib}/obsolete/noversion/libNoVersion.so.1
608 %endif
609
610 %files locale -f libc.lang
611 %manifest %{name}.manifest
612 %license COPYING COPYING.LIB
613 %defattr(-,root,root)
614 %{_datadir}/locale/locale.alias
615 %if %{build_locales}
616 /usr/lib/locale/*
617 %endif
618 %{_libdir}/gconv
619
620 %files devel
621 %manifest %{name}.manifest
622 %defattr(-,root,root)
623 %license COPYING COPYING.LIB 
624 %doc NEWS README BUGS CONFORMANCE
625 %{_bindir}/rpcgen
626 %{_includedir}/*
627 %{_libdir}/*.o
628 %{_libdir}/*.so
629 # These static libraries are needed even for shared builds
630 %{_libdir}/libc_nonshared.a
631 %{_libdir}/libg.a
632 %{_libdir}/libieee.a
633 %ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v
634 # This is not built on sparc64.
635         %{_libdir}/libnldbl_nonshared.a
636 %endif
637 %{_libdir}/libmcheck.a
638 %{_libdir}/libpthread_nonshared.a
639 %{_libdir}/librpcsvc.a
640
641 %files devel-static
642 %manifest %{name}.manifest
643 %defattr(-,root,root)
644 %{_libdir}/libBrokenLocale.a
645 %{_libdir}/libanl.a
646 %{_libdir}/libc.a
647 %{_libdir}/libcrypt.a
648 %{_libdir}/libdl.a
649 %{_libdir}/libm.a
650 %{_libdir}/libnsl.a
651 %{_libdir}/libpthread.a
652 %{_libdir}/libresolv.a
653 %{_libdir}/librt.a
654 %{_libdir}/libutil.a
655
656 %files info
657 %manifest %{name}.manifest
658 %defattr(-,root,root)
659 %doc %{_infodir}/libc.info.gz
660 %doc %{_infodir}/libc.info-?.gz
661 %doc %{_infodir}/libc.info-??.gz
662
663 %if %{build_html}
664 %files html
665 %manifest %{name}.manifest
666 %defattr(-,root,root)
667 %doc %{_prefix}/share/doc/glibc
668 %endif
669
670 %files i18ndata
671 %manifest %{name}.manifest
672 %defattr(-,root,root)
673 %{_prefix}/share/i18n
674
675 %if %{build_profile}
676 %files profile
677 %manifest %{name}.manifest
678 %license COPYING COPYING.LIB
679 %defattr(-,root,root)
680 %{_libdir}/libc_p.a
681 %{_libdir}/libBrokenLocale_p.a
682 %{_libdir}/libanl_p.a
683 %{_libdir}/libm_p.a
684 %{_libdir}/libcrypt_p.a
685 %{_libdir}/libpthread_p.a
686 %{_libdir}/libresolv_p.a
687 %{_libdir}/libnsl_p.a
688 %{_libdir}/librt_p.a
689 %{_libdir}/librpcsvc_p.a
690 %{_libdir}/libutil_p.a
691 %{_libdir}/libdl_p.a
692 %endif
693
694 %files devel-utils
695 %manifest %{name}.manifest
696 %defattr(-,root,root)
697 /%{_lib}/libmemusage.so
698 /%{_lib}/libpcprofile.so
699 /%{_libdir}/libBrokenLocale.so
700 /%{_lib}/libSegFault.so
701 /%{_lib}/libthread_db-1.0.so
702 /%{_lib}/libthread_db.so.1
703 /%{_libdir}/libthread_db.so
704 %dir /%{_libdir}/audit
705 /%{_libdir}/audit/sotruss-lib.so
706 # These need gd-devel for building
707 # %%{_bindir}/memusage
708 # %%{_bindir}/memusagestat
709 %{_bindir}/mtrace
710 %{_bindir}/pcprofiledump
711 %{_bindir}/sotruss
712 %{_bindir}/xtrace
713 %{_bindir}/pldd
714 %{_bindir}/catchsegv
715 %{_bindir}/sprof
716
717 %files extra
718 %manifest %{name}.manifest
719 %license COPYING.LIB
720 %defattr(-,root,root)
721 %{_bindir}/makedb
722 /var/db/Makefile
723
724
725 %docs_package