# # spec file for package glibc # # Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: glibc BuildRequires: gcc-c++ BuildRequires: libselinux-devel BuildRequires: libstdc++-devel %define _filter_GLIBC_PRIVATE 1 %define build_locales 1 %define run_testsuite 0 %define disable_assert 0 %define enable_stackguard_randomization 1 %ifarch ppc ppc64 %define optimize_power 1 %ifarch ppc %define powerpc_optimize_base power3 %define powerpc_optimize_tune power3 %define powerpc_optimize_cpu_power4 1 %else %define powerpc_optimize_base power4 %define powerpc_optimize_tune power5 %define powerpc_optimize_cpu_power4 0 %endif # We are not building Power CPU specific optimizations for openSUSE. %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_cell 0 %else License: GPLv2+ Summary: Standard Shared Libraries (from the GNU C Library) Group: System/Libraries %define optimize_power 0 %define powerpc_optimize_base 0 %define powerpc_optimize_cpu_power4 0 %define powerpc_optimize_cpu_power6 0 %define powerpc_optimize_cpu_power7 0 %define powerpc_optimize_cpu_cell 0 %endif # ppc, ppc64 %ifarch %ix86 x86_64 %define enablekernel 2.6.32 %else %define enablekernel 2.6.5 %endif %define exp_malloc 1 Obsoletes: ngpt < 2.2.2 Obsoletes: ngpt-devel < 2.2.2 Provides: ngpt = 2.2.2 Provides: ngpt-devel = 2.2.2 Conflicts: kernel < %{enablekernel} # bug437293 %ifarch ppc64 Obsoletes: glibc-64bit %endif %ifarch ppc Obsoletes: glibc-32bit %endif Version: 2.13 Release: 5 Url: http://www.gnu.org/software/libc/libc.html Source: glibc-%{version}-996cf2ef0727.tar.bz2 Source2: http://ftp.gnu.org/gnu/glibc/glibc-ports-2.13.tar.bz2 Source3: noversion.tar.bz2 Source4: manpages.tar.bz2 Source5: usr.sbin.nscd Source8: nsswitch.conf Source9: nscd.init Source10: bindresvport.blacklist Source12: glibc_post_upgrade.c Source15: glibc.rpmlintrc Source16: baselibs.conf PreReq: filesystem Provides: rtld(GNU_HASH) BuildRoot: %{_tmppath}/%{name}-%{version}-build %if %_target_cpu == "i686" # We need to avoid to have only the src rpm from i686 on the media, # since it does not work on other architectures. NoSource: 0 %endif # # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch0: glibc-2.3-SuSE.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch1: glibc-2.3.90-noversion.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch2: glibc-fnmatch-multibyte.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch3: glibc-resolv-reload.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch4: glibc-2.3.locales.diff.bz2 # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch5: crypt_blowfish-1.0-suse.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch7: glibc-version.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch8: glibc-2.4.90-revert-only-euro.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch9: glibc-2.3-regcomp.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch11: glibc-2.3.1.localedef.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch12: glibc-2.3.2.no_archive.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch13: libm-x86-64.diff.bz2 # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch14: glibc-2.3.90-bindresvport.blacklist.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch15: glibc-suse-note.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch16: glibc-2.4.90-no_NO.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch17: glibc-2.3.90-ld.so-madvise.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch18: glibc-2.3.3-amd64-s_ceil.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch20: glibc-2.4-china.diff # PATCH-FIX-OPENSUSE Fix gb18030 code bnc#54080 Patch21: glibc-2.3.4-gb18030-big5hkscs.diff.bz2 # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch22: glibc-2.4.90-nscd.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch23: glibc-2.3.3-nscd-db-path.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch24: glibc-2.3.5-nscd-zeronegtimeout.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch25: glibc-2.3.90-langpackdir.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch27: glibc-2.6-configure.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch28: glibc-2.2-sunrpc.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch29: glibc-2.8-getconf.diff # PATCH-FIX-OPENSUSE only use ipv6 if real ipv6 address exists bnc#361697, bnc#684534 Patch30: getaddrinfo-ipv6-sanity.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch31: ppc-atomic.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch33: glibc-compiled-binaries.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch36: glibc-no-unwind-tables.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch37: glibc-2.10-nscd-nostack.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch38: glibc-cpusetsize.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch39: glibc-2.10.99-ia64-include.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch40: libm-x86-64-exceptions.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch41: glibc-uio-cell.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch42: glibc-statfs64-ia64.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch43: missing-include-build-fix.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch44: glibc-ppc64-vdso-time.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch45: glibc-gai-private4.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch46: glibc-resolv-mdnshint.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch47: glibc-nscd-hconf.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch48: glibc-malloc-arena-max.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch49: glibc-fini-unwind.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch50: glibc-gconvcache-s390.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch51: glibc-vfprintf-positional.diff # FIX-OPENSUSE bnc#657627 Patch52: glibc-elf-localscope.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch53: glibc-zarch-longlong.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch54: glibc-disable-backward-memcpy.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch55: glibc-bso-12454.diff # PATCH-MISSING-TAG -- See http://en.opensuse.org/openSUSE:Packaging_Patches_guidelines Patch56: glibc-static-memcpy.diff # FIX-OPENSUSE compile some files with -fno-strict-aliasing Patch58: glibc-strict-aliasing.diff # PATCH-FIX-UPSTREAM fix preloading of shared libs aj@suse.de Patch59: glibc-2.13-dl-load.patch # PATCH-FIX-UPSTREAM fix x86 l_init_called' failed! # # Glibc 2.8 introduced the HP_TIMING element to the rtld_global_ro struct # definition. # If the base is built without power4 the loader won't have this element in # the struct whereas the power4/5/6/... libc will, so there will be a disconnect # between the size of the rtld_global_ro struct between the two and dl_close # ends up getting called incorrectly when it's actually attempting to call a # resolver function. This is because the GLRO() macro simply attempts to # compute an offset and gets the wrong one. # Building the base glibc with --with-cpu=power4 solves this problem. # But: ppc32 can not default to -mcpu=power4 because it would emit instructions # which are not available on G3, G4 etc. # # We simply remove the power4 files, and build the base glibc for a generic powerpc cpu # Additional cputuned libs can now be used on powerpc32 # rm -fv sysdeps/powerpc/powerpc32/power4/hp-timing.c sysdeps/powerpc/powerpc32/power4/hp-timing.h find . -name configure | xargs touch ####################################################################### ### ### BUILD ### ####################################################################### %build if [ -x /bin/uname.bin ]; then /bin/uname.bin -a else uname -a fi uptime || : ulimit -a nice # Adjust glibc version.h echo "#define CONFHOST \"%{_target_cpu}-suse-linux\"" >> version.h echo "#define CVSDATE \"`date -r ChangeLog +%Y%m%d`\"" >> version.h # # Default CFLAGS and Compiler # BuildFlags="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE" BuildFlags="$(echo $BuildFlags | sed -e 's#-fstack-protector##' -e 's#-ffortify=[0-9]*##')" BuildCC="gcc" BuildCCplus="g++" add_ons=",libidn" PARALLEL="%{?_smp_mflags}" # #now overwrite for some architectures # %ifarch sparc64 BuildFlags="-O2 -mcpu=ultrasparc -mvis -fcall-used-g6" BuildCC="gcc -m64" BuildCCplus="$BuildCCplus -m64" %endif %ifarch sparc BuildFlags="$BuildFlags -fcall-used-g6" BuildCC="gcc -m32" BuildCCplus="$BuildCCplus -m32" %endif %ifarch sparcv9 BuildFlags="$BuildFlags -mcpu=ultrasparc -fcall-used-g6" BuildCC="gcc -m32" BuildCCplus="$BuildCCplus -m32" %endif %ifarch alphaev6 BuildFlags="-mcpu=ev6" %endif %ifarch ppc ppc64 BuildFlags="$(echo $BuildFlags | sed 's#-mminimal-toc##')" %endif %ifarch ppc64 BuildCC="$BuildCC -m64" BuildCCplus="$BuildCCplus -m64" %endif %ifarch hppa BuildFlags="$BuildFlags -mpa-risc-1-1 -fstrict-aliasing" %endif %ifarch %ix86 x86_64 BuildFlags="$BuildFlags -mno-tls-direct-seg-refs" %endif # Add flags for all plattforms except AXP %ifnarch alpha BuildFlags="$BuildFlags -g" %endif %if %{disable_assert} BuildFlags="$BuildFlags -DNDEBUG=1" %endif %ifarch %ix86 add_ons=$add_ons,noversion %endif %ifarch %arm armv5tel armv7l add_ons=$add_ons,ports BuildFlags="-march=armv5te -O2 -Wall" # fails to build otherwise - need to recheck and fix %define enable_stackguard_randomization 0 %endif configure_and_build_glibc() { local dirname="$1"; shift local cflags="$1"; shift local addons="$1"; shift mkdir "cc-$dirname" cd "cc-$dirname" CFLAGS="$cflags" CC="$BuildCC" CXX="$BuildCCplus" ../configure \ --prefix=%{_prefix} \ --libexecdir=%{_libdir} --infodir=%{_infodir} \ --enable-add-ons=nptl$addons --without-cvs --enable-profile \ "$@" \ %if %{enable_stackguard_randomization} --enable-stackguard-randomization \ %endif %ifarch %arm armv5tel armv7l --build=%{_target_cpu}-suse-linux-gnueabi \ %else --build=%{_target_cpu}-suse-linux \ %endif %ifarch ppc ppc64 %{ix86} x86_64 --enable-multi-arch \ %endif %if %{exp_malloc} --enable-experimental-malloc \ %endif --with-tls --with-__thread --enable-kernel=%{enablekernel} \ --enable-bind-now # Should we enable --enable-nss-crypt to build use freebl3 hash functions? make $PARALLEL cd .. } %if !%{optimize_power} # # Build base glibc # configure_and_build_glibc base "$BuildFlags" "$add_ons" %else # # Build POWER-optimized glibc # # First, base build: pBuildFlags="$BuildFlags -mcpu=%{powerpc_optimize_base} -mtune=%{powerpc_optimize_tune}" %if %{powerpc_optimize_base} != "power3" configure_and_build_glibc base "$pBuildFlags" "$add_ons" --with-cpu=%{powerpc_optimize_base} %else # Use no default CPU configure_and_build_glibc base "$pBuildFlags" "$add_ons" %endif # Then other power variants: for pcpu in \ %if %{powerpc_optimize_cpu_power4} power4 \ %endif %if %{powerpc_optimize_cpu_power6} power6 \ %endif %if %{powerpc_optimize_cpu_power7} power7 \ %endif ; do configure_and_build_glibc $pcpu "$BuildFlags -mcpu=$pcpu" "$add_ons" \ --with-cpu=$pcpu --disable-runbinaries done # Eventually, special Cell variant: %if %{powerpc_optimize_cpu_cell} configure_and_build_glibc ppc-cell-be "$BuildFlags -mcpu=cell" "$add_ons" --disable-runbinaries %endif %endif # optimize_power # # Build html documentation # make -C cc-base html # # Build glibc_post_upgrade binary # $BuildCC -static $RPM_OPT_FLAGS -Os $RPM_SOURCE_DIR/glibc_post_upgrade.c -o glibc_post_upgrade \ -Lcc-base -Bcc-base/csu \ '-DREMOVE_TLS_DIRS' '-DREMOVE_PPC_OPTIMIZE_POWER5' \ %ifarch ppc ppc64 %if !%{powerpc_optimize_cpu_power4} '-DREMOVE_PPC_OPTIMIZE_POWER4' \ %endif %if !%{powerpc_optimize_cpu_power6} '-DREMOVE_PPC_OPTIMIZE_POWER6' \ %endif %if !%{powerpc_optimize_cpu_power7} '-DREMOVE_PPC_OPTIMIZE_POWER7' \ %endif %if !%{powerpc_optimize_cpu_cell} '-DREMOVE_PPC_OPTIMIZE_CELL' \ %endif %endif '-DLIBDIR="/%{_lib}"' '-DGCONV_MODULES_DIR="%{_prefix}/%{_lib}/gconv"' ####################################################################### ### ### CHECK ### ####################################################################### %check %if %{run_testsuite} # Increase timeout export TIMEOUTFACTOR=16 %ifarch alpha %ix86 ppc ppc64 ia64 s390 s390x x86_64 # ix86: tst-cputimer? fails # ia64: tst-timer4 fails # ppc64: tst-pselect, ftwtest fails # s390,s390x: tst-timer* fails make -C cc-base -k check || echo make check failed %else make -C cc-base check %endif %endif make -C cc-base check-abi || echo check-abi failed ####################################################################### ### ### INSTALL ### ####################################################################### %install # We don't want to strip the .symtab from our libraries in find-debuginfo.sh, # certainly not from libpthread.so.* because it is used by libthread_db to find # some non-exported symbols in order to detect if threading support # should be enabled. These symbols are _not_ exported, and we can't easily # export them retroactively without changing the ABI. So we have to # continue to "export" them via .symtab, instead of .dynsym :-( # But we also want to keep .symtab and .strtab of other libraries since some # debugging tools currently require these sections directly inside the main # files - specifically valgrind and PurifyPlus. export STRIP_KEEP_SYMTAB=*.so* # Make sure we will create the gconv-modules.cache mkdir -p $RPM_BUILD_ROOT%{_libdir}/gconv touch $RPM_BUILD_ROOT%{_libdir}/gconv/gconv-modules.cache # Install base glibc # Do not install in parallel, timezone Makefile will fail make install_root=$RPM_BUILD_ROOT install -C cc-base # Install power-optimized glibc %if %{optimize_power} # run ldconfig to create the library symlinks # do not use the new ldconfig from the build directory because # it may contain instructions not suitable for the cpu on the builhost my_ldconfig=/sbin/ldconfig for pcpu in \ %if %{powerpc_optimize_cpu_power4} power4 \ %endif %if %{powerpc_optimize_cpu_power6} power6 \ %endif %if %{powerpc_optimize_cpu_power7} power7 \ %endif %if %{powerpc_optimize_cpu_cell} ppc-cell-be \ %endif ; do make install_root=${RPM_BUILD_ROOT}/$pcpu install -C cc-$pcpu mkdir -p $RPM_BUILD_ROOT/%{_lib}/$pcpu for i in libc-%{version} libm-%{version} libpthread-%{version} libthread_db-1.0 librt-%{version}; do mv $RPM_BUILD_ROOT/$pcpu/%{_lib}/$i.so $RPM_BUILD_ROOT/%{_lib}/$pcpu done $my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/$pcpu/ rm -rf $RPM_BUILD_ROOT/$pcpu done %if %{powerpc_optimize_cpu_power6} # power6 is compatible with power6x # doing a symlink doesnt work, ldconfig follows them and accepts only the first real dir if test -d $RPM_BUILD_ROOT/%{_lib}/power6; then mkdir -p $RPM_BUILD_ROOT/%{_lib}/power6x for i in $RPM_BUILD_ROOT/%{_lib}/power6/*.so; do b=`basename $i` ln -vs ../power6/$b $RPM_BUILD_ROOT/%{_lib}/power6x/$b done $my_ldconfig -n $RPM_BUILD_ROOT/%{_lib}/power6x/ fi %endif %endif # optimize_power # Install locales %if %{build_locales} # Do not install locales in parallel! cd cc-base make install_root=$RPM_BUILD_ROOT install-locales -C ../localedata objdir=`pwd` cd .. %endif # Create file list for glibc-locale package %{find_lang} libc # Prepare obsolete/, used only on some architectures: export RPM_BUILD_ROOT %ifarch %ix86 mkdir -p $RPM_BUILD_ROOT/%{_lib}/obsolete %endif # NPTL is not usable outside of glibc, so include # the generic one (RH#162634) cp -av bits/stdio-lock.h $RPM_BUILD_ROOT%{_prefix}/include/bits/stdio-lock.h %ifarch s390x # s390x is different ... mkdir $RPM_BUILD_ROOT/lib ln -sf ../%{_lib}/ld-%{version}.so $RPM_BUILD_ROOT/lib/ld64.so.1 %endif # Miscelanna: install -m 0700 glibc_post_upgrade $RPM_BUILD_ROOT%{_sbindir} install -m 644 $RPM_SOURCE_DIR/bindresvport.blacklist $RPM_BUILD_ROOT/etc install -m 644 $RPM_SOURCE_DIR/nsswitch.conf $RPM_BUILD_ROOT/etc install -m 644 posix/gai.conf $RPM_BUILD_ROOT/etc mkdir -p $RPM_BUILD_ROOT/etc/default install -m 644 nis/nss $RPM_BUILD_ROOT/etc/default/ mkdir -p $RPM_BUILD_ROOT/usr/include/resolv install -m 0644 resolv/mapv4v6addr.h $RPM_BUILD_ROOT/usr/include/resolv/ install -m 0644 resolv/mapv4v6hostent.h $RPM_BUILD_ROOT/usr/include/resolv/ mkdir -p $RPM_BUILD_ROOT/usr/share/doc/glibc cp -p manual/libc/*.html $RPM_BUILD_ROOT/usr/share/doc/glibc cd manpages; make install_root=$RPM_BUILD_ROOT install; cd .. # nscd tools: cp nscd/nscd.conf $RPM_BUILD_ROOT/etc mkdir -p $RPM_BUILD_ROOT/etc/apparmor.d cp $RPM_SOURCE_DIR/usr.sbin.nscd $RPM_BUILD_ROOT/etc/apparmor.d mkdir -p $RPM_BUILD_ROOT/etc/init.d install -m 755 $RPM_SOURCE_DIR/nscd.init $RPM_BUILD_ROOT/etc/init.d/nscd ln -sf /etc/init.d/nscd $RPM_BUILD_ROOT/usr/sbin/rcnscd mkdir -p $RPM_BUILD_ROOT/var/run/nscd touch $RPM_BUILD_ROOT/var/run/nscd/{passwd,group,hosts} touch $RPM_BUILD_ROOT/var/run/nscd/{socket,nscd.pid} # # Create ld.so.conf # cat > $RPM_BUILD_ROOT/etc/ld.so.conf <>"$l" cat "$l.d"/* >>"$l" done /usr/sbin/iconvconfig %post info %install_info --info-dir=%{_infodir} %{_infodir}/libc.info.gz %postun info %install_info_delete --info-dir=%{_infodir} %{_infodir}/libc.info.gz %preun -n nscd %stop_on_removal nscd %post -n nscd %{insserv_force_if_yast nscd} mkdir -p /var/run/nscd %postun -n nscd %restart_on_update nscd %insserv_cleanup exit 0 %verifyscript %verify_permissions -e %{_libdir}/pt_chown ####################################################################### ### ### FILES ### ####################################################################### # glibc %files %defattr(-,root,root) %doc LICENSES %config(noreplace) /etc/bindresvport.blacklist %config /etc/ld.so.conf %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /etc/ld.so.cache %config(noreplace) /etc/rpc %verify(not md5 size mtime) %config(noreplace) /etc/nsswitch.conf %verify(not md5 size mtime) %config(noreplace) /etc/gai.conf %config(noreplace) /etc/default/nss %doc %{_mandir}/man1/getconf.1.gz %doc %{_mandir}/man1/getent.1.gz %doc %{_mandir}/man1/localedef.1.gz %doc %{_mandir}/man5/* %doc %{_mandir}/man8/rpcinfo.8.gz /%{_lib}/ld-%{version}.so %ifarch ppc s390 mips hppa /%{_lib}/ld.so.1 %else %ifarch ia64 /%{_lib}/ld-linux-ia64.so.2 %else %ifarch s390x ppc64 /%{_lib}/ld64.so.1 %ifarch s390x /lib/ld64.so.1 %endif %else %ifarch x86_64 /%{_lib}/ld-linux-x86-64.so.2 %else %ifarch %arm armv5tel armv7l /%{_lib}/ld-linux.so.3 %else /%{_lib}/ld-linux.so.2 %endif %endif %endif %endif %endif /%{_lib}/libBrokenLocale-%{version}.so /%{_lib}/libBrokenLocale.so.1 /%{_lib}/libSegFault.so /%{_lib}/libanl-%{version}.so /%{_lib}/libanl.so.1 /%{_lib}/libc-%{version}.so /%{_lib}/libc.so.6* /%{_lib}/libcidn-%{version}.so /%{_lib}/libcidn.so.1 /%{_lib}/libcrypt-%{version}.so /%{_lib}/libcrypt.so.1 /%{_lib}/libdl-%{version}.so /%{_lib}/libdl.so.2* /%{_lib}/libm-%{version}.so /%{_lib}/libm.so.6* /%{_lib}/libnsl-%{version}.so /%{_lib}/libnsl.so.1 /%{_lib}/libnss_compat-%{version}.so /%{_lib}/libnss_compat.so.2 /%{_lib}/libnss_dns-%{version}.so /%{_lib}/libnss_dns.so.2 /%{_lib}/libnss_files-%{version}.so /%{_lib}/libnss_files.so.2 /%{_lib}/libnss_hesiod-%{version}.so /%{_lib}/libnss_hesiod.so.2 /%{_lib}/libnss_nis-%{version}.so /%{_lib}/libnss_nis.so.2 /%{_lib}/libnss_nisplus-%{version}.so /%{_lib}/libnss_nisplus.so.2 /%{_lib}/libpthread-%{version}.so /%{_lib}/libpthread.so.0 /%{_lib}/libresolv-%{version}.so /%{_lib}/libresolv.so.2 /%{_lib}/librt-%{version}.so /%{_lib}/librt.so.1 /%{_lib}/libthread_db-1.0.so /%{_lib}/libthread_db.so.1 /%{_lib}/libutil-%{version}.so /%{_lib}/libutil.so.1 %if %{optimize_power} %define optimized_libs() \ %dir %attr(0755,root,root) /%{_lib}/%1\ /%{_lib}/%1/libc-%{version}.so\ /%{_lib}/%1/libc.so.6*\ /%{_lib}/%1/libm-%{version}.so\ /%{_lib}/%1/libm.so.6*\ /%{_lib}/%1/libpthread-%{version}.so\ /%{_lib}/%1/libpthread.so.0\ /%{_lib}/%1/librt-%{version}.so\ /%{_lib}/%1/librt.so.1\ /%{_lib}/%1/libthread_db-1.0.so\ /%{_lib}/%1/libthread_db.so.1 %if %{powerpc_optimize_cpu_power4} %{optimized_libs power4} %endif %if %{powerpc_optimize_cpu_power6} %{optimized_libs power6} %{optimized_libs power6x} %endif %if %{powerpc_optimize_cpu_power7} %{optimized_libs power7} %endif %if %{powerpc_optimize_cpu_cell} %{optimized_libs ppc-cell-be} %endif %endif # optimize_power %dir %attr(0700,root,root) /var/cache/ldconfig /sbin/ldconfig %{_bindir}/gencat %{_bindir}/getconf %{_bindir}/getent %{_bindir}/iconv %attr(755,root,root) %{_bindir}/ldd %ifarch %ix86 sparc sparcv9 %{_bindir}/lddlibc4 %endif %{_bindir}/locale %{_bindir}/localedef %verify(not mode caps) %attr(4755,root,root) %{_libdir}/pt_chown %dir %attr(0755,root,root) %{_libdir}/getconf %{_libdir}/getconf/* %{_sbindir}/glibc_post_upgrade %{_sbindir}/rpcinfo %{_sbindir}/iconvconfig %ifarch %ix86 %files obsolete %defattr (755,root,root,755) %dir /%{_lib}/obsolete/ %dir /%{_lib}/obsolete/noversion /%{_lib}/obsolete/noversion/libNoVersion-%{version}.so /%{_lib}/obsolete/noversion/libNoVersion.so.1 %endif %files locale -f libc.lang %defattr(-,root,root) /usr/share/locale/locale.alias %if %{build_locales} /usr/lib/locale %endif %{_libdir}/gconv %files devel %defattr(-,root,root) %doc COPYING COPYING.LIB FAQ INSTALL NEWS NOTES README BUGS CONFORMANCE %doc %{_mandir}/man1/catchsegv.1.gz %doc %{_mandir}/man1/rpcgen.1.gz %doc %{_mandir}/man1/sprof.1.gz %doc %{_mandir}/man3/* %{_bindir}/catchsegv %{_bindir}/rpcgen %{_bindir}/sprof %{_prefix}/include/* %{_libdir}/*.o %{_libdir}/*.so # These static libraries are needed even for shared builds %{_libdir}/libbsd-compat.a %{_libdir}/libc_nonshared.a %{_libdir}/libg.a %{_libdir}/libieee.a %ifarch ppc ppc64 s390 s390x sparc sparcv8 sparcv9 sparcv9v # This is not built on sparc64. %{_libdir}/libnldbl_nonshared.a %endif %{_libdir}/libmcheck.a %{_libdir}/libpthread_nonshared.a %{_libdir}/librpcsvc.a %files devel-static %defattr(-,root,root) %{_libdir}/libBrokenLocale.a %{_libdir}/libanl.a %{_libdir}/libc.a %{_libdir}/libcrypt.a %{_libdir}/libdl.a %{_libdir}/libm.a %{_libdir}/libnsl.a %{_libdir}/libpthread.a %{_libdir}/libresolv.a %{_libdir}/librt.a %{_libdir}/libutil.a %files info %defattr(-,root,root) %doc %{_infodir}/libc.info.gz %doc %{_infodir}/libc.info-?.gz %doc %{_infodir}/libc.info-??.gz %files html %defattr(-,root,root) %doc %{_prefix}/share/doc/glibc %files i18ndata %defattr(-,root,root) %{_prefix}/share/i18n %files -n nscd %defattr(-,root,root) %config(noreplace) /etc/nscd.conf %dir /etc/apparmor.d %config /etc/apparmor.d/usr.sbin.nscd %config /etc/init.d/nscd %{_sbindir}/nscd %{_sbindir}/rcnscd %dir %attr(0755,root,root) %ghost /var/run/nscd %attr(0644,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/nscd.pid %attr(0666,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/socket %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/passwd %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/group %attr(0600,root,root) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/run/nscd/hosts %files profile %defattr(-,root,root) %{_libdir}/libc_p.a %{_libdir}/libBrokenLocale_p.a %{_libdir}/libanl_p.a %{_libdir}/libm_p.a %{_libdir}/libcrypt_p.a %{_libdir}/libpthread_p.a %{_libdir}/libresolv_p.a %{_libdir}/libnsl_p.a %{_libdir}/librt_p.a %{_libdir}/librpcsvc_p.a %{_libdir}/libutil_p.a %{_libdir}/libdl_p.a %files utils %defattr(-,root,root) /%{_lib}/libmemusage.so /%{_lib}/libpcprofile.so # These need gd-devel for building #%{_bindir}/memusage #%{_bindir}/memusagestat %{_bindir}/mtrace %{_bindir}/pcprofiledump %{_bindir}/xtrace %changelog