2 # spec file for package glibc
4 # Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
5 # Copyright (c) 2021 Samsung Electronics Co. Ltd.
7 # All modifications and additions to the file contributed by third parties
8 # remain the property of their copyright owners, unless otherwise agreed
9 # upon. The license for this file, and modifications and additions to the
10 # file, is the same license as for the pristine package itself (unless the
11 # license for the pristine package is not an Open Source License, in which
12 # case the license is the MIT License). An "Open Source License" is a
13 # license that conforms to the Open Source Definition (Version 1.9)
14 # published by the Open Source Initiative.
17 %define glibc_run_tests 1
20 # Enable this when testing on device to:
21 # 1. Enable macro to turn on testsuite building ('glibc_run_tests 1')
22 # 2. Keep 'build/' folder in build stage as we do not want to rebuild all
23 # glibc again on device after invoking rpmbuild --short-circuit -bc ...
24 # 3. Skip configure and make commands and go directly to 'make check'
25 %if 0%{?run_tests_on_device}
26 %define glibc_run_tests 1
27 %define glibc_keep_build_dir 1
28 %define glibc_skip_configure 1
29 %define glibc_skip_make 1
32 # Exit right after 'make ..' step to keep all object files produced by glibc build
33 %if 0%{?exit_on_make_finish}
34 %define glibc_exit_on_make_finish 1
37 %if 0%{?dump_configure}
38 %define glibc_dump_configure 1
41 # This will avoid building some parts of glibc
42 %define asan_arch x86_64 armv7l aarch64
43 %define hwasan_arch aarch64
44 %bcond_with fast_build
46 Summary: Standard Shared Libraries (from the GNU C Library)
47 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
50 BuildRequires: makeinfo
52 BuildRequires: gcc-c++
53 BuildRequires: gettext-tools
54 BuildRequires: libstdc++-devel
56 BuildRequires: python3-base
59 #BuildRequires: python
60 BuildRequires: glibc-devel-static
63 %if 0%{?glibc_dump_configure}
64 BuildRequires: configure-dumper
66 #BuildRequires: pkgconfig(systemd)
67 %define _filter_GLIBC_PRIVATE 1
68 %if %_target_cpu == "i686"
69 # For i686 let's only build what's different from i586, so
70 # no need to build documentation
71 %define build_profile 1
72 %define build_locales 0
75 %if %{with fast_build}
76 %define build_profile 0
77 %define build_locales 0
81 %define build_profile 1
82 %define build_locales 0
87 %define disable_assert 0
88 %define enable_stackguard_randomization 1
89 %define multiarcharches %{ix86} x86_64
92 %define enablekernel 2.6.16
94 %define enablekernel 2.6.16
96 Conflicts: kernel < %{enablekernel}
97 %ifarch armv7l armv7hl
98 # The old runtime linker link gets not provided by rpm find.provides, but it exists
99 Provides: ld-linux.so.3
100 Provides: ld-linux.so.3(GLIBC_2.4)
104 %define glibc_major_version %{version}
105 %define git_id 0a8262a1b2
107 Url: http://www.gnu.org/software/libc/libc.html
108 Source: glibc-%{version}.tar.xz
109 Source7: bindresvport.blacklist
110 Source8: glibc_post_upgrade.c
111 Source9: glibc.rpmlintrc
112 Source10: baselibs.conf
114 Source1001: glibc.manifest
116 Requires(pre): filesystem
117 Provides: rtld(GNU_HASH)
120 The GNU C Library provides the most important standard libraries used
121 by nearly all programs: the standard C library, the standard math
122 library, and the POSIX thread library. A system is not functional
123 without these libraries.
126 Summary: Info Files for the GNU C Library
132 This package contains the documentation for the GNU C library stored as
133 info files. Due to a lack of resources, this documentation is not
134 complete and is partially out of date.
137 Summary: HTML Documentation for the GNU C Library
143 This package contains the HTML documentation for the GNU C library. Due
144 to a lack of resources, this documentation is not complete and is
145 partially out of date.
148 Summary: Database Sources for 'locale'
149 License: GPL-2.0+ and MIT
150 Group: Base/Libraries
153 %description i18ndata
154 This package contains the data needed to build the locale data files to
155 use the internationalization features of the GNU libc. It is normally
156 not necessary to install this packages, the data files are already
160 Summary: Locale Data for Localized Programs
161 License: GPL-2.0+ and MIT and LGPL-2.1+
162 Requires(post): /usr/bin/cat
163 Requires: glibc = %{version}
165 Locale data for the internationalisation features of the GNU C library.
168 Summary: Libc Profiling and Debugging Versions
169 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
170 Group: Base/Utilities
171 Requires: glibc = %{version}
174 This package contains special versions of the GNU C library which are
175 necessary for profiling and debugging.
178 Summary: Include Files and Libraries Mandatory for Development
179 License: BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
180 Requires: glibc = %{version}
181 Requires: linux-kernel-headers
184 These libraries are needed to develop programs which use the standard C
187 %package devel-static
188 Summary: C library static libraries for -static linking
189 License: BSD-3-Clause and LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
190 Requires: %{name}-devel = %{version}
191 # Provide Fedora name for package to make packaging easier
192 Provides: %{name}-static = %version
194 %description devel-static
195 The glibc-devel-static package contains the C library static libraries
196 for -static linking. You don't need these, unless you link statically,
197 which is highly discouraged.
200 Summary: Development utilities from GNU C library
202 Requires: glibc = %{version}
204 %description devel-utils
205 The glibc-devel-utils package contains various binaries which can be helpful during program
208 If you are unsure if you need this, don't install this package.
211 Summary: Extra binaries from GNU C Library
213 Requires: glibc = %{version}
216 The glibc-extra package contains some extra binaries for glibc that
217 are not essential but recommend to use.
219 makedb: A program to create a database for nss
222 Summary: Obsolete Shared Libraries from the GNU C Library
224 Requires: glibc = %{version}
226 %description obsolete
227 This package provides some old libraries from the GNU C Library which
228 are no longer supported. Additional it provides a compatibility library
229 for old binaries linked against glibc 2.0.
231 Install this package if you need one of this libraries to get old
232 binaries working, but since this libraries are not supported and there
233 is no gurantee that they work for you, you should try to get newer
234 versions of your software.
237 Summary: Testsuite results
239 Group: Development/Languages
240 %description testresults
241 Results from running the glibc testsuites.
246 Summary: glibc with ASan instrumentation
247 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
248 Requires: glibc = %{version}
252 This package provides glibc with ASan instrumentation
255 ln -s --force /%{_lib}/libc-%{version}-asan.so /%{_lib}/libc.so.6
258 ln -s --force /%{_lib}/libc-%{version}.so /%{_lib}/libc.so.6
266 Summary: glibc with Hwasan instrumentation
267 License: LGPL-2.1+ and LGPL-2.1+-with-GCC-exception and GPL-2.0+
268 Requires: glibc = %{version}
272 This package provides glibc with Hwasan instrumentation
275 ln -s --force /%{_lib}/libc-%{version}-hwasan.so /%{_lib}/libc.so.6
278 ln -s --force /%{_lib}/libc-%{version}.so /%{_lib}/libc.so.6
284 %{?glibc_dump_configure:
285 %package configure-dump
286 Summary: GNU Glibc configure dump
288 Group: Development/Languages
289 %description configure-dump
290 This package contains dump of configure variables of Glibc
294 %setup -n glibc-%{version} -q
298 %{?asan:%gcc_unforce_options}
299 %{?hwasan:%gcc_unforce_options}
300 if [ -x /bin/uname.bin ]; then
308 # We do not want configure to figure out the system its building one
309 # to support a common ground and thus set build and host to the
312 %define target %{_target_cpu}-tizen-linux-gnueabi
314 %define target %{_target_cpu}-tizen-linux
316 # Don't use as-needed, it breaks glibc assumptions
317 # Before enabling it, run the testsuite and verify that it
319 export LD_AS_NEEDED=0
320 # Adjust glibc version.h
321 echo "#define CONFHOST \"%{target}\"" >> version.h
322 echo "#define GITID \"%{git_id}\"" >> version.h
324 # Default CFLAGS and Compiler
326 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//" )
327 BuildFlags="$BuildFlags -O2 -g -U_FORTIFY_SOURCE"
328 BuildFlags="$(echo $BuildFlags | sed -e 's#-ffortify=[0-9]*##')"
329 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector-strong##')"
330 BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##')"
331 BuildFlags="$(echo $BuildFlags | sed -e 's/-Wa,-mimplicit-it=thumb\(-interwork\)\?//g' | sed -e 's/-mthumb\(-interwork\)\?//g')"
332 # Turn off all -Wformat enable flags as there are glibc tests that explicitly
333 # append -Wno-format and with enabled Wformat options that produced warnings
334 # that turns into errors. Remove -Wformat=1|2 or -Wformat-..-arg
335 BuildFlags="$(echo $BuildFlags | sed -re 's/-Wformat((=[1-2])|((-\w+)+))?(\s|$)//g')"
338 # Support DA build with armv8 cpu in 32bit mode: prevent Werror on sqrt function
339 (echo ${BuildFlags} | grep '\-march=armv8') && BuildFlags="${BuildFlags} -Wno-error=unused-variable"
346 BuildFlags="$BuildFlags -g"
349 # Glibc must have both functions' implementations
350 BuildFlags="$BuildFlags -U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
352 %if %{disable_assert}
353 BuildFlags="$BuildFlags -DNDEBUG=1"
362 # fails to build otherwise - need to recheck and fix
363 %define enable_stackguard_randomization 0
369 %{!?glibc_keep_build_dir:
375 conf_cflags="$BuildFlags -funwind-tables -fPIC"
376 %{?asan: conf_cflags="$conf_cflags -DASAN_INIT_FIRST"}
377 %{?hwasan: conf_cflags="$conf_cflags -DASAN_INIT_FIRST -Wno-error=pragmas"}
378 profile="--disable-profile"
379 %{?build_profile:profile="--enable-profile"}
380 %{?glibc_dump_configure:patch_configure.pl ..}
382 %{!?glibc_skip_configure:
383 CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \
384 CC="$BuildCC" CXX="$BuildCCplus" \
386 --prefix=%{_prefix} \
387 --libexecdir=%{_libexecdir} --infodir=%{_infodir} \
388 --enable-add-ons=$add_ons \
390 --enable-kernel=%{enablekernel} \
392 --enable-obsolete-rpc \
394 --disable-experimental-malloc \
395 libc_cv_cc_pie_default=yes \
396 %if %{enable_stackguard_randomization}
397 --enable-stackguard-randomization \
399 --build=%{target} --host=%{target} \
400 %ifnarch %{multiarcharches}
401 --disable-multi-arch \
403 %ifarch %{ix86} x86_64
406 %if 0%{?enable_static_pie}
407 --enable-static-pie \
413 %{?glibc_dump_configure:
414 dump_configure.pl .. . \
416 --project-version %{version} \
417 --out_db glibc-%{version}-%{release}-%_project-%_repository.db
421 # Build glibc_post_upgrade binary
424 -static %{optflags} -Os \
425 $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \
427 '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \
428 '-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_libdir}/gconv"'
430 %{!?glibc_keep_build_dir:
434 # Build html documentation
437 make %{?_smp_mflags} -C "build" html
441 # Build ASan version of glibc
445 configure_flags="--prefix=/usr --without-cvs --without-selinux --enable-stackguard-randomization --enable-obsolete-rpc --disable-mathvec"
446 configure_flags="$configure_flags --disable-sanity-checks"
448 HERE=%{_builddir}/%{name}-%{version}
451 ASAN_BUILD=$HERE/asan-build
455 %ifarch %{arm} aarch64
456 # Glibc must have both functions' implementations
457 CPPFLAGS="-U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
459 CPPFLAGS+=" -DASAN_INIT_FIRST"
461 # chmod +x $HERE/asan-glibc-gcc-wrapper.py
462 # build static wrapper, because we don't want asan to intercept allocators
463 g++ -o gcc-wrapper gcc-wrapper.cc -O3 -funroll-loops -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -static
468 # Legacy python wrapper call was:
469 # CC=$HERE/asan-glibc-gcc-wrapper.py $GLIBC/configure $configure_flags
471 CC=$HERE/gcc-wrapper $GLIBC/configure $configure_flags
473 # Quick build - builds only libraries, but does not create symlinks.
474 make -r -j $J -C $GLIBC objdir=`pwd` subdir_lib
475 # make -r -j $J -C $GLIBC objdir=`pwd` install_root=$ASAN_INST install-lib
481 %ifarch %{hwasan_arch}
482 configure_flags="--prefix=/usr --without-cvs --without-selinux --enable-stackguard-randomization --enable-obsolete-rpc --disable-mathvec"
483 configure_flags="$configure_flags --disable-sanity-checks"
485 HERE=%{_builddir}/%{name}-%{version}
488 ASAN_BUILD=$HERE/hwasan-build
493 # Glibc must have both functions' implementations
494 CPPFLAGS="-U_LARGEFILE_SOURCE -U_LARGEFILE64_SOURCE -U_FILE_OFFSET_BITS"
496 CPPFLAGS+=" -DASAN_INIT_FIRST"
498 # chmod +x $HERE/asan-glibc-gcc-wrapper.py
499 # build static wrapper, because we don't want asan to intercept allocators
500 g++ -o gcc-wrapper gcc-wrapper.cc -O3 -funroll-loops -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-exceptions -static -DHWASAN_BUILD
505 # Legacy python wrapper call was:
506 # CC=$HERE/asan-glibc-gcc-wrapper.py $GLIBC/configure $configure_flags
508 CC=$HERE/gcc-wrapper $GLIBC/configure $configure_flags
510 # Quick build - builds only libraries, but does not create symlinks.
511 make -r -j $J -C $GLIBC objdir=`pwd` subdir_lib
512 # make -r -j $J -C $GLIBC objdir=`pwd` install_root=$ASAN_INST install-lib
518 %{?glibc_exit_on_make_finish:
519 echo "Glibc build is complete and environment is ready, exiting"
528 # #check sections could be redefined/disabled, so keep this inside #build
531 export LD_AS_NEEDED=0
532 (make %{?_smp_mflags} -k -C build check || true) 2>&1 | tee check.log
535 #######################################################################
539 #######################################################################
542 # The testsuite will fail if asneeded is used
543 export LD_AS_NEEDED=0
544 # This has to pass on all platforms!
547 make %{?_smp_mflags} -k -C build check-abi
549 #######################################################################
553 #######################################################################
556 # We don't want to strip the .symtab from our libraries in find-debuginfo.sh,
557 # certainly not from libpthread.so.* because it is used by libthread_db to find
558 # some non-exported symbols in order to detect if threading support
559 # should be enabled. These symbols are _not_ exported, and we can't easily
560 # export them retroactively without changing the ABI. So we have to
561 # continue to "export" them via .symtab, instead of .dynsym :-(
562 # But we also want to keep .symtab and .strtab of other libraries since some
563 # debugging tools currently require these sections directly inside the main
564 # files - specifically valgrind and PurifyPlus.
565 export STRIP_KEEP_SYMTAB=*.so*
567 # Make sure we will create the gconv-modules.cache
568 mkdir -p %{buildroot}%{_libdir}/gconv
569 touch %{buildroot}%{_libdir}/gconv/gconv-modules.cache
572 make %{?_smp_mflags} install_root=%{buildroot} install -C build
574 %{?glibc_dump_configure:
575 install -D -m 0644 build/glibc-%{version}-%{release}-%_project-%_repository.db %{buildroot}%{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db
580 # XXX Do not install locales in parallel!
582 # localedef creates hardlinks to other locales if possible
583 # this will not work if we generate them in parallel.
584 # thus we need to run fdupes on /usr/lib/locale/
585 # Still, on my system this is a speed advantage:
586 # non-parallel build for install-locales: 9:34mins
587 # parallel build with fdupes: 7:08mins
588 make %{?_smp_mflags} install_root=%{buildroot} localedata/install-locales
589 %fdupes %{buildroot}/usr/lib/locale
593 # Create file list for glibc-locale package
596 # Prepare obsolete/, used only on some architectures:
597 export RPM_BUILD_ROOT
599 mkdir -p %{buildroot}/%{_lib}/obsolete
604 install -m 0700 build/glibc_post_upgrade %{buildroot}%{_sbindir}
606 install -m 644 %{SOURCE7} %{buildroot}/etc
607 install -m 644 posix/gai.conf %{buildroot}/etc
609 mkdir -p %{buildroot}/etc/default
611 mkdir -p %{buildroot}%{_includedir}/resolv
612 install -m 0644 resolv/mapv4v6addr.h %{buildroot}%{_includedir}/resolv/
613 install -m 0644 resolv/mapv4v6hostent.h %{buildroot}%{_includedir}/resolv/
616 mkdir -p %{buildroot}%{_datadir}/doc/glibc
617 cp -p build/manual/libc/*.html %{buildroot}%{_datadir}/doc/glibc
623 cat > %{buildroot}/etc/ld.so.conf <<EOF
624 %if "%{_lib}" == "lib64"
628 include /etc/ld.so.conf.d/*.conf
629 # /lib64, /lib, /usr/lib64 and /usr/lib gets added
630 # automatically by ldconfig after parsing this file.
631 # So, they do not need to be listed.
633 # Add ldconfig cache directory for directory ownership
634 mkdir -p %{buildroot}/var/cache/ldconfig
635 # Empty the ld.so.cache:
636 rm -f %{buildroot}/etc/ld.so.cache
637 touch %{buildroot}/etc/ld.so.cache
639 # Don't look at ldd! We don't wish a /bin/sh requires
640 chmod 644 %{buildroot}%{_bindir}/ldd
642 # Remove timezone data, now coming in standalone package:
643 for i in sbin/sln usr/bin/tzselect usr/sbin/zic usr/sbin/zdump etc/localtime; do
644 rm -f %{buildroot}/$i
646 rm -rf %{buildroot}%{_datadir}/zoneinfo
649 # Provide compatibility link
650 ln -s ld-linux-armhf.so.3 %{buildroot}/lib/ld-linux.so.3
653 # Move getconf to %{_libexecdir}/getconf/ to avoid cross device link
654 mv %{buildroot}%{_bindir}/getconf %{buildroot}%{_libexecdir}/getconf/getconf
655 ln -s %{_libexecdir}/getconf/getconf %{buildroot}%{_bindir}/getconf
657 #######################################################################
661 #######################################################################
665 HERE=%{_builddir}/%{name}-%{version}
667 ASAN_BUILD=$HERE/asan-build
668 cp $ASAN_BUILD/libc.so %{buildroot}/%{_lib}/libc-%{version}-asan.so
673 %ifarch %{hwasan_arch}
674 HERE=%{_builddir}/%{name}-%{version}
676 ASAN_BUILD=$HERE/hwasan-build
677 cp $ASAN_BUILD/libc.so %{buildroot}/%{_lib}/libc-%{version}-hwasan.so
684 \( -name "*tests.sum" -o -name "*.out" -o -name "*.test-result" \) \
685 -exec cp --parents {} testresults/ \;
686 find testresults/ -type f -exec chmod 644 {} \;
687 cp check.log testresults/
690 %post -p %{_sbindir}/glibc_post_upgrade
692 %postun -p /sbin/ldconfig
695 for l in /usr/share/locale/locale.alias %{_libdir}/gconv/gconv-modules; do
696 [ -d "$l.d" ] || continue
697 echo "###X# The following is autogenerated from extra files in the .d directory:" >>"$l"
700 /usr/sbin/iconvconfig
703 %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz
706 %install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz
709 %manifest %{name}.manifest
711 %defattr(-,root,root)
712 %license LICENSES COPYING COPYING.LIB
713 %config(noreplace) /etc/bindresvport.blacklist
714 %config /etc/ld.so.conf
715 %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache
716 %config(noreplace) /etc/rpc
717 %verify(not md5 size mtime) %config(noreplace) /etc/gai.conf
719 # Each architecture has a different name for the dynamic linker:
722 /lib/ld-linux-armhf.so.3
724 # Keep as compatibility link for armv7lh
728 /lib64/ld-linux-x86-64.so.2
734 /lib/ld-linux-aarch64.so.1
739 /%{_lib}/libcrypt.so.1
743 /%{_lib}/libnss_compat.so.2
744 /%{_lib}/libnss_db.so.2
745 /%{_lib}/libnss_dns.so.2
746 /%{_lib}/libnss_files.so.2
747 /%{_lib}/libnss_optfiles.so.2
748 /%{_lib}/libnss_hesiod.so.2
749 /%{_lib}/libpthread.so.0
750 /%{_lib}/libthread_db-1.0.so
751 /%{_lib}/libthread_db.so.1
752 /%{_lib}/libresolv.so.2
754 /%{_lib}/libutil.so.1
755 %define optimized_libs() \
756 %dir %attr(0755,root,root) /%{_lib}/%1\
757 /%{_lib}/%1/libc.so.6*\
758 /%{_lib}/%1/libm.so.6*\
759 /%{_lib}/%1/libpthread.so.0\
760 /%{_lib}/%1/librt.so.1\
761 /%{_lib}/%1/libthread_db-1.0.so\
762 /%{_lib}/%1/libthread_db.so.1
764 %dir %attr(0700,root,root) /var/cache/ldconfig
770 %attr(755,root,root) %{_bindir}/ldd
771 %ifarch %ix86 sparc sparcv9
776 %dir %attr(0755,root,root) %{_libexecdir}/getconf
777 %{_libexecdir}/getconf/*
778 %{_sbindir}/glibc_post_upgrade
779 %{_sbindir}/iconvconfig
780 /%{_lib}/libBrokenLocale.so.1
785 %manifest %{name}.manifest
787 %defattr (755,root,root,755)
788 %dir /%{_lib}/obsolete/
789 #%dir /%{_lib}/obsolete/noversion
790 #/%{_lib}/obsolete/noversion/libNoVersion.so.1
793 %files locale -f libc.lang
794 %manifest %{name}.manifest
795 %license COPYING COPYING.LIB
796 %defattr(-,root,root)
797 %{_datadir}/locale/locale.alias
806 %manifest %{name}.manifest
807 /%{_lib}/libc-%{version}-asan.so
812 %ifarch %{hwasan_arch}
814 %manifest %{name}.manifest
815 /%{_lib}/libc-%{version}-hwasan.so
820 %manifest %{name}.manifest
821 %defattr(-,root,root)
822 %license COPYING COPYING.LIB
828 # These static libraries are needed even for shared builds
829 %{_libdir}/libc_nonshared.a
831 %ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v
832 # This is not built on sparc64.
833 %{_libdir}/libnldbl_nonshared.a
835 %{_libdir}/libmcheck.a
836 %{_libdir}/librpcsvc.a
839 %manifest %{name}.manifest
840 %defattr(-,root,root)
841 %{_libdir}/libBrokenLocale.a
844 %{_libdir}/libcrypt.a
847 %{_libdir}/libpthread.a
848 %{_libdir}/libresolv.a
853 %manifest %{name}.manifest
854 %defattr(-,root,root)
855 %doc %{_infodir}/libc.info.gz
856 %doc %{_infodir}/libc.info-?.gz
857 %doc %{_infodir}/libc.info-??.gz
861 %manifest %{name}.manifest
862 %defattr(-,root,root)
863 %doc %{_prefix}/share/doc/glibc
867 %manifest %{name}.manifest
868 %defattr(-,root,root)
869 %{_prefix}/share/i18n
873 %manifest %{name}.manifest
874 %license COPYING COPYING.LIB
875 %defattr(-,root,root)
877 %{_libdir}/libBrokenLocale_p.a
878 %{_libdir}/libanl_p.a
880 %{_libdir}/libcrypt_p.a
881 %{_libdir}/libpthread_p.a
882 %{_libdir}/libresolv_p.a
884 %{_libdir}/librpcsvc_p.a
885 %{_libdir}/libutil_p.a
890 %manifest %{name}.manifest
891 %defattr(-,root,root)
892 /%{_lib}/libmemusage.so
893 /%{_lib}/libpcprofile.so
894 /%{_libdir}/libBrokenLocale.so
895 /%{_lib}/libSegFault.so
896 /%{_lib}/libthread_db-1.0.so
897 /%{_lib}/libthread_db.so.1
898 /%{_libdir}/libthread_db.so
899 %dir /%{_libdir}/audit
900 /%{_libdir}/audit/sotruss-lib.so
901 # These need gd-devel for building
902 # %%{_bindir}/memusage
903 # %%{_bindir}/memusagestat
905 %{_bindir}/pcprofiledump
913 %manifest %{name}.manifest
915 %defattr(-,root,root)
921 %defattr(-,root,root)
922 %doc testresults/check.log
926 %{?glibc_dump_configure:
927 %files configure-dump
928 %manifest glibc.manifest
929 %{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db