X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=glibc.spec;h=c8beafca5cd3c880cdf485fc0fdfdad7d303bebc;hb=e87221a;hp=e288b733ebb5e2f2d967c46bc290c2b40c03ee28;hpb=16d3a7330d2d8e09fb04b261dc4812a9642b0d66;p=packages%2Fglibc.git diff --git a/glibc.spec b/glibc.spec index e288b73..c8beafc 100644 --- a/glibc.spec +++ b/glibc.spec @@ -1,4 +1,5 @@ # TODO: +# - consider moving klogctl.3 man to man-pages (and drop syslog.2 stub hacks here) # - restore --with-pkgversion when tcl upstream fixes the #3599098 (broken platform::identify). # - --enable-systemtap # - look at locale fixes/updates in bugzilla @@ -17,6 +18,8 @@ %bcond_without nss_crypt # disable crypt features based on Mozilla NSS library %bcond_with bash_nls # use bash NLS in shell scripts (ldd, sotruss); restores /bin/bash dep %bcond_without cet # Intel Control-flow Enforcement Technology (CET) +%bcond_without crypt # don't build obsolete libcrypt +%bcond_without static_pie # disable static PIE support # %ifarch %{ix86} %{x8664} %{!?min_kernel:%global min_kernel 3.2.0} @@ -30,8 +33,11 @@ %ifnarch i686 %{x8664} x32 %undefine with_cet %endif +%ifarch %{arm} +%undefine with_static_pie +%endif -%define core_version 2.31 +%define core_version 2.34 %define llh_version 7:2.6.32.1-1 Summary: GNU libc @@ -49,20 +55,20 @@ Release: 2 Epoch: 6 License: LGPL v2.1+ Group: Libraries -Source0: http://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz -# Source0-md5: 78a720f17412f3c3282be5a6f3363ec6 +Source0: https://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz +# Source0-md5: 31998b53fb39cb946e96abc310af1c89 Source2: nscd.init Source3: nscd.sysconfig Source4: nscd.logrotate # from man-pages.spec --with tars Source5: %{name}-man-pages.tar.xz -# Source5-md5: 852c1c77c7435615c0b17d8e4acf05d8 +# Source5-md5: ff93a5e391bcff0d88dd4f8c3f96577d Source6: %{name}-localedb-gen Source7: %{name}-LD-path.c Source9: nscd.tmpfiles # use branch.sh to update glibc-git.patch -Patch0: glibc-git.patch -# Patch0-md5: 515dfcf3594afb3ec6a38a9ae39c3ee0 +#Patch0: glibc-git.patch +# Patch0-md5: d41d8cd98f00b204e9800998ecf8427e # against GNU TP (libc domain) #Patch1: %{name}-pl.po-update.patch Patch2: %{name}-pld.patch @@ -113,11 +119,14 @@ BuildRequires: perl-base BuildRequires: python3 >= 1:3.4 BuildRequires: python3-modules >= 1:3.4 BuildRequires: rpm-build >= 4.3-0.20030610.28 -BuildRequires: rpmbuild(macros) >= 1.567 +BuildRequires: rpmbuild(macros) >= 1.752 BuildRequires: sed >= 4.0.5 +BuildRequires: tar >= 1:1.22 BuildRequires: texinfo >= 4.7 -Requires: %{name}-ld = %{epoch}:%{version}-%{release} +BuildRequires: xz +Requires(post): ldconfig = %{epoch}:%{version}-%{release} Requires: filesystem +Requires: ldconfig = %{epoch}:%{version}-%{release} Requires: uname(release) >= %{min_kernel} Provides: %{name}(%{_target_cpu}) = %{epoch}:%{version}-%{release} %ifarch %{ix86} @@ -125,8 +134,10 @@ Provides: %{name}(ix86) = %{epoch}:%{version}-%{release} %endif Provides: glibc(nptl) Provides: glibc(tls) +Provides: rtld(GNU_HASH) Obsoletes: glibc-common Obsoletes: glibc-debug +Obsoletes: glibc-ld < 6:2.33-2 %ifarch %{x8664} sparc64 ppc64 Provides: glibc64 Obsoletes: glibc64 @@ -144,10 +155,14 @@ Conflicts: openssh-server < 2:8.2p1-1 Conflicts: poldek < 0.30.1-9 Conflicts: rc-scripts < 0.3.1-13 Conflicts: rpm < 4.1 +Conflicts: util-linux < 2.35.1-2 Conflicts: xorg-driver-video-nvidia-libs < 1:295.33 -ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel +ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel armv6hl armv7hl armv7hnl aarch64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +# errno, ps_*, __resp, __h_errno symbols +%define skip_post_check_so libm.so.6 libc_malloc_debug.so.0 libcrypt.so.1 libthread_db.so.1 libresolv.so.2 libnss_db.so.2 libnss_compat.so.2 libnss_hesiod.so.2 libnsl.so.1 librt.so.1 + # avoid -s here (ld.so must not be stripped to allow any program debugging) %define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.* # disable -D_FORTIFY_SOURCE=X and -fstack-protector @@ -181,8 +196,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _hack_dontneed_PartialHardlinkSets 1 %define _noautochrpath .*\\(ldconfig\\|sln\\) # private symbols +# don't generate deps for ldconfig to avoid loop and force rpm to install it before glibc %define _noautoprov .*\(GLIBC_PRIVATE\) -%define _noautoreq .*\(GLIBC_PRIVATE\) +%define _noautoreq .*\(GLIBC_PRIVATE\) /sbin/ldconfig # to avoid multi-arch conflicts on getconf/* files %define _libexecdir %{_libdir} @@ -331,9 +347,12 @@ glibc library for crypt(3). %description libcrypt -l pl.UTF-8 Biblioteka glibc z funkcją crypt(3). -%package ld -Summary: Dynamic linker -Summary(pl.UTF-8): Linker (konsolidator) dynamiczny +%package -n ldconfig +Summary: Create shared library cache and maintains symlinks +Summary(de.UTF-8): Erstellt ein shared library cache und verwaltet symlinks +Summary(fr.UTF-8): Crée un cache de bibliothčque partagée et gčre *.so +Summary(pl.UTF-8): Tworzenie cache'u bibliotek dynamicznych i ich dowiązań symbolicznych +Summary(tr.UTF-8): Ortak kitaplýk önbelleđi yaratýr ve bađlantýlarý kurar Group: Applications/System Requires: uname(release) >= %{min_kernel} # we want FHS being installed before ldconfig, altho they are both unrelated to each-other. @@ -342,23 +361,38 @@ Provides: rtld(GNU_HASH) # This is needed because previous package (glibc) had autoreq false and had # provided this manually. Probably poldek bug that have to have it here. Provides: /sbin/ldconfig -Provides: ldconfig = %{epoch}:%{version}-%{release} -Obsoletes: ldconfig < 6:2.28-6.1 - -%description ld -The dynamic linker is used to load shared libraries used by -executables linked dynamically. - -The package also contains the ldconfig tool used to maintain shared -library cache for the linker. - -%description ld -l pl.UTF-8 -Linker (konsolidator) dynamiczny służy do ładowania bibliotek -współdzielonych używanych przez programy wykonywalne konsolidowane -dynamicznie. - -Pakiet zawiera także narzędzie ldconfig, służące do utrzymywania -pamięci podręcznej bibliotek współdzielonych dla linkera. +Conflicts: glibc-ld < 6:2.33-2 + +%description -n ldconfig +ldconfig scans a running system and sets up the symbolic links that +are used to load shared libraries properly. It also creates +/etc/ld.so.cache which speeds the loading programs which use shared +libraries. + +%description -n ldconfig -l de.UTF-8 +ldconfig scannt ein laufendes System und richtet die symbolischen +Verknüpfungen zum Laden der gemeinsam genutzten Libraries ein. +Außerdem erstellt es /etc/ld.so.cache, was das Laden von Programmen +mit gemeinsam genutzten Libraries beschleunigt. + +%description -n ldconfig -l fr.UTF-8 +ldconfig analyse un systčme et configure les liens symboliques +utilisés pour charger correctement les bibliothčques partagées. Il +crée aussi /etc/ld.so.cache qui accélčre le chargement des programmes +utilisant les bibliothčques partagées. + +%description -n ldconfig -l pl.UTF-8 +ldconfig testuje uruchomiony system i tworzy dowiązania symboliczne, +które są następnie używane do poprawnego ładowania bibliotek +dynamicznych. Program ten tworzy plik /etc/ld.so.cache, który +przyśpiesza ładowanie programów korzystających z bibliotek +dynamicznych. + +%description -n ldconfig -l tr.UTF-8 +ldconfig, çalýţmakta olan sistemi araţtýrýr ve ortak kitaplýklarýn +düzgün bir ţekilde yüklenmesi için gereken simgesel bađlantýlarý +kurar. Ayrýca ortak kitaplýklarý kullanan programlarýn yüklenmesini +hýzlandýran /etc/ld.so.cache dosyasýný yaratýr. %package -n nss_compat Summary: Old style NYS NSS glibc module @@ -436,39 +470,6 @@ Módulo hesiod NSS de glibc. %description -n nss_hesiod -l pl.UTF-8 Moduł glibc NSS (Name Service Switch) dostępu do baz danych. -%package -n nss_nis -Summary: NIS(YP) NSS glibc module -Summary(es.UTF-8): Módulo NIS(YP) NSS de glibc -Summary(pl.UTF-8): Moduł NIS(YP) NSS glibc -Group: Base -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description -n nss_nis -glibc NSS (Name Service Switch) module for NIS(YP) databases access. - -%description -n nss_nis -l es.UTF-8 -Módulo NSS de glibc para acceder las bases de datos NIS(YP). - -%description -n nss_nis -l pl.UTF-8 -Moduł glibc NSS (Name Service Switch) dostępu do baz danych NIS(YP). - -%package -n nss_nisplus -Summary: NIS+ NSS module -Summary(es.UTF-8): Módulo NIS+ NSS -Summary(pl.UTF-8): Moduł NIS+ NSS -Group: Base -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description -n nss_nisplus -glibc NSS (Name Service Switch) module for NIS+ databases access. - -%description -n nss_nisplus -l es.UTF-8 -Módulo NSS (Name Service Switch) de glibc para acceder las bases de -datos NIS+. - -%description -n nss_nisplus -l pl.UTF-8 -Moduł glibc NSS (Name Service Switch) dostępu do baz danych NIS+. - %package memusage Summary: Memory usage profiler Summary(pl.UTF-8): Narzędzie do profilowania zużycia pamięci @@ -496,7 +497,11 @@ Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} Requires: %{name}-devel-utils = %{epoch}:%{version}-%{release} Requires: %{name}-headers = %{epoch}:%{version}-%{release} +%if %{with crypt} Requires: %{name}-libcrypt(%{_target_cpu}) = %{epoch}:%{version}-%{release} +%else +Requires: libxcrypt-devel +%endif Provides: %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release} %ifarch %{ix86} Provides: %{name}-devel(ix86) = %{epoch}:%{version}-%{release} @@ -565,33 +570,33 @@ kitaplıklar. Summary: Header files for development using standard C libraries Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia programów przy użyciu standardowych bibliotek C Group: Development/Building -Provides: %{name}-headers(%{_target_cpu}) = %{epoch}:%{version}-%{release} +Provides: %{name}-header-cpu-%{_target_cpu} = %{epoch}:%{version}-%{release} %ifarch %{ix86} -Provides: %{name}-headers(ix86) = %{epoch}:%{version}-%{release} +Provides: %{name}-headers-cpu-ix86 = %{epoch}:%{version}-%{release} %endif %ifarch %{x8664} x32 # If both -m32 and -m64 is to be supported on x86_64, x86_64 package # have to be installed, not ix86 one. -Obsoletes: glibc-headers(athlon) -Obsoletes: glibc-headers(i386) -Obsoletes: glibc-headers(i486) -Obsoletes: glibc-headers(i586) -Obsoletes: glibc-headers(i686) -Obsoletes: glibc-headers(ix86) -Obsoletes: glibc-headers(pentium3) -Obsoletes: glibc-headers(pentium4) +Obsoletes: glibc-headers-cpu-athlon +Obsoletes: glibc-headers-cpu-i386 +Obsoletes: glibc-headers-cpu-i486 +Obsoletes: glibc-headers-cpu-i586 +Obsoletes: glibc-headers-cpu-i686 +Obsoletes: glibc-headers-cpu-ix86 +Obsoletes: glibc-headers-cpu-pentium3 +Obsoletes: glibc-headers-cpu-pentium4 %endif %ifarch x32 -Obsoletes: glibc-headers(x86_64) +Obsoletes: glibc-headers-cpu-x86_64 %endif %ifarch ppc64 -Obsoletes: glibc-headers(ppc) +Obsoletes: glibc-headers-cpu-ppc %endif %ifarch s390x -Obsoletes: glibc-headers(s390) +Obsoletes: glibc-headers-cpu-s390 %endif %ifarch sparc64 -Obsoletes: glibc-headers(sparc) +Obsoletes: glibc-headers-cpu-sparc %endif Requires: linux-libc-headers >= %{llh_version} @@ -620,33 +625,33 @@ korzystające ze standardowych bibliotek C. Summary: Utilities needed for development using standard C libraries Summary(pl.UTF-8): Narzędzia do tworzenia programów przy użyciu standardowych bibliotek C Group: Development/Libraries -Provides: %{name}-devel-utils(%{_target_cpu}) = %{epoch}:%{version}-%{release} +Provides: %{name}-devel-util-cpu-%{_target_cpu} = %{epoch}:%{version}-%{release} %ifarch %{ix86} -Provides: %{name}-devel-utils(ix86) = %{epoch}:%{version}-%{release} +Provides: %{name}-devel-utils-cpu-ix86 = %{epoch}:%{version}-%{release} %endif %ifarch %{x8664} x32 # If both -m32 and -m64 is to be supported on AMD64, x86_64 package # have to be installed, not ix86 one. -Obsoletes: glibc-devel-utils(athlon) -Obsoletes: glibc-devel-utils(i386) -Obsoletes: glibc-devel-utils(i486) -Obsoletes: glibc-devel-utils(i586) -Obsoletes: glibc-devel-utils(i686) -Obsoletes: glibc-devel-utils(ix86) -Obsoletes: glibc-devel-utils(pentium3) -Obsoletes: glibc-devel-utils(pentium4) +Obsoletes: glibc-devel-utils-cpu-athlon +Obsoletes: glibc-devel-utils-cpu-i386 +Obsoletes: glibc-devel-utils-cpu-i486 +Obsoletes: glibc-devel-utils-cpu-i586 +Obsoletes: glibc-devel-utils-cpu-i686 +Obsoletes: glibc-devel-utils-cpu-ix86 +Obsoletes: glibc-devel-utils-cpu-pentium3 +Obsoletes: glibc-devel-utils-cpu-pentium4 %endif %ifarch x32 -Obsoletes: glibc-devel-utils(x86_64) +Obsoletes: glibc-devel-utils-cpu-x86_64 %endif %ifarch ppc64 -Obsoletes: glibc-devel-utils(ppc) +Obsoletes: glibc-devel-utils-cpu-ppc %endif %ifarch s390x -Obsoletes: glibc-devel-utils(s390) +Obsoletes: glibc-devel-utils-cpu-s390 %endif %ifarch sparc64 -Obsoletes: glibc-devel-utils(sparc) +Obsoletes: glibc-devel-utils-cpu-sparc %endif Conflicts: man-pages < 4.00 @@ -675,9 +680,7 @@ Summary: Documentation needed for development using standard C libraries Summary(pl.UTF-8): Dokumentacja do tworzenia programów przy użyciu standardowych bibliotek C Group: Documentation Conflicts: man-pages < 4.09 -%if "%{_rpmversion}" >= "5" BuildArch: noarch -%endif %description devel-doc The glibc-devel-doc package contains info and manual pages necessary @@ -703,6 +706,7 @@ Summary(ru.UTF-8): Статические библиотеки glibc Summary(uk.UTF-8): Статичні бібліотеки glibc Group: Development/Libraries Requires: %{name}-devel = %{epoch}:%{version}-%{release} +%{!?with_crypt:Requires: libxcrypt-static} Provides: %{name}-static(%{_target_cpu}) = %{epoch}:%{version}-%{release} %ifarch %{ix86} Provides: %{name}-static(ix86) = %{epoch}:%{version}-%{release} @@ -945,10 +949,10 @@ echo "Minimal supported kernel is 3.2.0" >&2 exit 1 %endif -%patch0 -p1 +#%patch0 -p1 %patch2 -p1 -%patch3 -p0 +%patch3 -p1 %{!?with_bash_nls:%patch4 -p1} %patch6 -p1 @@ -979,7 +983,6 @@ chmod +x scripts/cpp # glibc has its own way to remove PLT relocations. / H. J. Lu. unset LD_SYMBOLIC_FUNCTIONS || : -cp -f /usr/share/automake/config.sub scripts %{__aclocal} %{__autoconf} @@ -999,6 +1002,9 @@ AWK="gawk" \ ../%configure \ %if %{with cet} --enable-cet \ +%endif +%if %{without crypt} + --disable-crypt \ %endif --enable-bind-now \ --enable-experimental-malloc \ @@ -1006,11 +1012,10 @@ AWK="gawk" \ --enable-kernel="%{min_kernel}" \ --enable-nss-crypt%{!?with_nss_crypt:=no} \ --enable-obsolete-nsl \ - --enable-obsolete-rpc \ --enable-profile \ --enable-stack-protector=strong \ --enable-stackguard-randomization \ - --enable-static-pie \ + %{?with_static_pie:--enable-static-pie} \ --enable-tunables \ --with-binutils=$(pwd)/alt-tools \ --with-bugurl=http://bugs.pld-linux.org/ \ @@ -1074,7 +1079,6 @@ PICFILES="libc_pic.a libc.map resolv/libresolv_pic.a" install -p $PICFILES $RPM_BUILD_ROOT%{_libdir} -install -p elf/soinit.os $RPM_BUILD_ROOT%{_libdir}/soinit.o install -p elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o # Include %{_libdir}/gconv/gconv-modules.cache @@ -1089,11 +1093,11 @@ install -p glibc-postinst $RPM_BUILD_ROOT/sbin mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so $RPM_BUILD_ROOT%{_libdir} # make symlinks across top-level directories absolute -for l in BrokenLocale anl crypt dl \ +for l in BrokenLocale anl %{?with_crypt:crypt} c_malloc_debug\ %ifarch %{x8664} x32 mvec \ %endif - nsl resolv rt thread_db util; do + nss_compat nss_db nss_hesiod resolv thread_db; do test -L $RPM_BUILD_ROOT%{_libdir}/lib${l}.so || exit 1 %{__rm} $RPM_BUILD_ROOT%{_libdir}/lib${l}.so ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/lib${l}.so.*) $RPM_BUILD_ROOT%{_libdir}/lib${l}.so @@ -1107,7 +1111,6 @@ cp -a %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/nscd cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/nscd cp -a nscd/nscd.conf $RPM_BUILD_ROOT%{_sysconfdir} cp -a posix/gai.conf $RPM_BUILD_ROOT%{_sysconfdir} -cp -a nis/nss $RPM_BUILD_ROOT/etc/default/nss sed -e 's#\([ \t]\)db\([ \t]\)#\1#g' nss/nsswitch.conf > $RPM_BUILD_ROOT%{_sysconfdir}/nsswitch.conf xz -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} @@ -1169,14 +1172,16 @@ done # guc (gtk-vnc) # haw (iso-codes, stellarium) # hrx (stellarium) -# ie (xfce) +# hye (tumbler) +# ie (xfce, cinnamon) # ilo (kudzu, libosinfo, libreport) # io (alacarte, gtk+2, gnome, iso-codes) # jam (iso-codes) -# jv (avant-window-navigator, gmpc, kdesudo, mate) +# jv (avant-window-navigator, gmpc, kdesudo, mate, cinnamon) # ki (iso-codes) # kok@latin (inkscape) # kmr (vlc) +# ksw (cinnamon) # ku_IQ (mate) # kv (iso-codes) # kw@kkcor, kw@uccor (libosinfo - currently empty) - add as supported variants when non-empty? @@ -1186,12 +1191,14 @@ done # mus (bluez-gnome) # na (iso-codes) # nah (iso-codes, mate) +# nap (cinnamon) # nqo (mate) # nv (iso-codes) # pi (iso-codes) # pms (deluge, mate-tweak) +# rue (cinnamon) # sat@deva[nagari] (inkscape) -# sco (gnomad2, mate, picard, stellarium) +# sco (gnomad2, mate, picard, stellarium, cinnamon) # son (gtkspell3, iso-codes) # su (terminator) # swg (sim) @@ -1241,6 +1248,7 @@ done # nl=nl_NL # om=om_ET # or=or_IN +# os=os_RU # pa=pa_IN # pt=pt_PT # quz=quz_PE @@ -1270,12 +1278,12 @@ done for i in aa aa@saaho af ak am an ang anp ar ar_TN as ast az az_IR \ be@latin be@tarask bem bg bho bn bn_IN bo br brx bs byn \ ca@valencia ce chr ckb cmn crh csb cv cy de_AT de_CH doi dv dz \ - en en@boldquot en@quot en@shaw en_AU en_CA en_NZ en_US eo \ + en en@boldquot en@quot en@shaw en_AU en_CA en_IE en_NZ en_US en_ZA eo \ es_AR es_CL es_CO es_CR es_DO es_EC es_GT es_HN es_MX es_NI es_PA es_PE es_PR es_SV es_UY es_VE \ et eu fa ff fil fo fr_BE fr_CA fr_CH fur fy ga gd gez gu gv \ ha he hi hne ht hsb hy ia id ig ik is it_CH iu \ ka kab kg kk kl km kn kok ks ks@devanagari ku kw ky la lb lg li ln lo lt lv \ - mai mg mhr mi mjw mk ml mn mni mr ms mt my nds ne nl_BE nn nr nso oc om or \ + mai mg mhr mi mjw mk ml mn mni mr ms mt my nds ne nl_BE nn nr nso oc om or os \ pa pap ps pt ps quz rm ro \ sa sat sc sd sd@devanagari se shn si sid sl so sq \ sr sr@Latn sr@ije sr@ijekavian sr@ijekavianlatin sr@latin ss st sw szl \ @@ -1319,24 +1327,22 @@ install -d $RPM_BUILD_ROOT%{_mandir}{,/ru,/es,/fr,/ja}/man2 %{__rm} $RPM_BUILD_ROOT%{_mandir}/pl/man3/{alphasort,cfgetispeed,cfgetospeed,cfmakeraw,cfsetispeed,cfsetospeed,closelog,dn_comp,dn_expand,fscanf}.3 %{__rm} $RPM_BUILD_ROOT%{_mandir}/tr/man3/{encrypt_r,setkey,setkey_r}.3 +%if %{without crypt} +%{__rm} $RPM_BUILD_ROOT%{_mandir}{,/ja}/man3/crypt{,_r}.3 +%{__rm} $RPM_BUILD_ROOT%{_mandir}/{de,es,fr,pl,pt,ru,tr}/man3/crypt.3 +%endif + %clean rm -rf $RPM_BUILD_ROOT %if %{without cross} %post -p /sbin/postshell /sbin/glibc-postinst /%{_lib}/%{_host_cpu} /%{_lib}/tls --/sbin/ldconfig - -%postun -p /sbin/postshell --/sbin/ldconfig +/sbin/ldconfig -%post ld -p /sbin/postshell --/sbin/ldconfig +%postun -p /sbin/ldconfig -%postun ld -p /sbin/postshell --/sbin/ldconfig - -%triggerpostun ld -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6 +%triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6 -/bin/cp -f /etc/ld.so.conf /etc/ld.so.conf.rpmsave -/bin/sed -i -e '1iinclude ld.so.conf.d/*.conf' /etc/ld.so.conf %endif @@ -1412,57 +1418,72 @@ fi %if %{without cross} %attr(755,root,root) /sbin/glibc-postinst %endif -# wildly arch-dependent ld.so SONAME symlink -%attr(755,root,root) /%{_lib}/libBrokenLocale-%{core_version}.so +%ifarch %{ix86} sparc sparcv9 sparc64 alpha sh +%attr(755,root,root) /%{_lib}/ld-linux.so.2 +%endif +%ifarch ia64 +%attr(755,root,root) /%{_lib}/ld-linux-ia64.so.2 +%endif +%ifarch %{x8664} +%attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2 +%endif +%ifarch x32 +%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2 +%endif +%ifarch ppc64 s390x +%attr(755,root,root) /%{_lib}/ld64.so.1 +%endif +%ifarch aarch64 +%attr(755,root,root) /lib/ld-linux-aarch64.so.1 +%attr(755,root,root) /%{_lib}/ld-linux-aarch64.so.1 +%endif +%ifarch armv6hl armv7hl armv7hnl +%attr(755,root,root) /lib/ld-linux-armhf.so.3 +%endif +%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm} aarch64 +%attr(755,root,root) /%{_lib}/ld.so.1 +%endif %ifarch alpha %attr(755,root,root) /%{_lib}/libBrokenLocale.so.1.1 %else %attr(755,root,root) /%{_lib}/libBrokenLocale.so.1 %endif %attr(755,root,root) /%{_lib}/libSegFault.so -%attr(755,root,root) /%{_lib}/libanl-%{core_version}.so %attr(755,root,root) /%{_lib}/libanl.so.1 -%attr(755,root,root) /%{_lib}/libc-%{core_version}.so %ifarch alpha ia64 %attr(755,root,root) /%{_lib}/libc.so.6.1 %else %attr(755,root,root) /%{_lib}/libc.so.6 %endif -%attr(755,root,root) /%{_lib}/libdl-%{core_version}.so +# for debugging and not linking +%attr(755,root,root) /%{_lib}/libc_malloc_debug.so.0 +%attr(755,root,root) %{_libdir}/libc_malloc_debug.so %ifarch alpha %attr(755,root,root) /%{_lib}/libdl.so.2.1 %else %attr(755,root,root) /%{_lib}/libdl.so.2 %endif -%attr(755,root,root) /%{_lib}/libm-%{core_version}.so %ifarch alpha ia64 %attr(755,root,root) /%{_lib}/libm.so.6.1 %else %attr(755,root,root) /%{_lib}/libm.so.6 %endif %ifarch %{x8664} x32 -%attr(755,root,root) /%{_lib}/libmvec-%{core_version}.so %attr(755,root,root) /%{_lib}/libmvec.so.1 %endif -%attr(755,root,root) /%{_lib}/libnsl-%{core_version}.so %ifarch alpha %attr(755,root,root) /%{_lib}/libnsl.so.1.1 %else %attr(755,root,root) /%{_lib}/libnsl.so.1 %endif -%attr(755,root,root) /%{_lib}/libpthread-%{core_version}.so %attr(755,root,root) /%{_lib}/libpthread.so.0 -%attr(755,root,root) /%{_lib}/libresolv-%{core_version}.so %ifarch alpha %attr(755,root,root) /%{_lib}/libresolv.so.2.1 %else %attr(755,root,root) /%{_lib}/libresolv.so.2 %endif -%attr(755,root,root) /%{_lib}/librt-%{core_version}.so %attr(755,root,root) /%{_lib}/librt.so.1 -%attr(755,root,root) /%{_lib}/libthread_db-1.0.so %attr(755,root,root) /%{_lib}/libthread_db.so.1 -%attr(755,root,root) /%{_lib}/libutil-%{core_version}.so %ifarch alpha %attr(755,root,root) /%{_lib}/libutil.so.1.1 %else @@ -1472,19 +1493,16 @@ fi #%files -n nss_dns %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libnss_dns-%{core_version}.so %attr(755,root,root) /%{_lib}/libnss_dns.so.2 #%files -n nss_files %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libnss_files-%{core_version}.so %attr(755,root,root) /%{_lib}/libnss_files.so.2 %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/nsswitch.conf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gai.conf -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/default/nss %config %{_sysconfdir}/rpc @@ -1493,8 +1511,7 @@ fi %attr(755,root,root) %{_bindir}/getent %attr(755,root,root) %{_bindir}/iconv %attr(755,root,root) %{_bindir}/locale -%attr(755,root,root) %{_bindir}/rpcgen -%attr(755,root,root) %{_sbindir}/zdump +%attr(755,root,root) %{_bindir}/zdump %attr(755,root,root) %{_sbindir}/zic %dir %{_libexecdir}/getconf @@ -1507,7 +1524,6 @@ fi %{_mandir}/man1/getent.1* %{_mandir}/man1/iconv.1* %{_mandir}/man1/locale.1* -%{_mandir}/man1/rpcgen.1* %{_mandir}/man5/gai.conf.5* %{_mandir}/man5/locale.5* %{_mandir}/man5/nss.5* @@ -1530,6 +1546,9 @@ fi %{_mandir}/man7/unicode.7* %{_mandir}/man7/utf-8.7* %{_mandir}/man7/utf8.7* +%{_mandir}/man8/ld-linux.8* +%{_mandir}/man8/ld-linux.so.8* +%{_mandir}/man8/ld.so.8* %{_mandir}/man8/sln.8* %{_mandir}/man8/zdump.8* %{_mandir}/man8/zic.8* @@ -1563,6 +1582,9 @@ fi %lang(es) %{_mandir}/es/man7/unicode.7* %lang(es) %{_mandir}/es/man7/utf-8.7* %lang(es) %{_mandir}/es/man7/utf8.7* +%lang(es) %{_mandir}/es/man8/ld-linux.8* +%lang(es) %{_mandir}/es/man8/ld-linux.so.8* +%lang(es) %{_mandir}/es/man8/ld.so.8* %lang(es) %{_mandir}/es/man8/zdump.8* %lang(es) %{_mandir}/es/man8/zic.8* %lang(fr) %{_mandir}/fr/man1/getent.1* @@ -1587,6 +1609,9 @@ fi %lang(fr) %{_mandir}/fr/man7/unicode.7* %lang(fr) %{_mandir}/fr/man7/utf-8.7* %lang(fr) %{_mandir}/fr/man7/utf8.7* +%lang(fr) %{_mandir}/fr/man8/ld-linux.8* +%lang(fr) %{_mandir}/fr/man8/ld-linux.so.8* +%lang(fr) %{_mandir}/fr/man8/ld.so.8* %lang(fr) %{_mandir}/fr/man8/sln.8* %lang(fr) %{_mandir}/fr/man8/zdump.8* %lang(fr) %{_mandir}/fr/man8/zic.8* @@ -1598,6 +1623,9 @@ fi %lang(hu) %{_mandir}/hu/man7/locale.7* %lang(hu) %{_mandir}/hu/man7/utf-8.7* %lang(hu) %{_mandir}/hu/man7/utf8.7* +%lang(hu) %{_mandir}/hu/man8/ld-linux.8* +%lang(hu) %{_mandir}/hu/man8/ld-linux.so.8* +%lang(hu) %{_mandir}/hu/man8/ld.so.8* %lang(hu) %{_mandir}/hu/man8/zdump.8* %lang(it) %{_mandir}/it/man5/locale.5* %lang(it) %{_mandir}/it/man7/ascii.7* @@ -1614,7 +1642,6 @@ fi %lang(ja) %{_mandir}/ja/man1/getent.1* %lang(ja) %{_mandir}/ja/man1/iconv.1* %lang(ja) %{_mandir}/ja/man1/locale.1* -%lang(ja) %{_mandir}/ja/man1/rpcgen.1* %lang(ja) %{_mandir}/ja/man5/gai.conf.5* %lang(ja) %{_mandir}/ja/man5/locale.5* %lang(ja) %{_mandir}/ja/man5/nss.5* @@ -1637,6 +1664,9 @@ fi %lang(ja) %{_mandir}/ja/man7/unicode.7* %lang(ja) %{_mandir}/ja/man7/utf-8.7* %lang(ja) %{_mandir}/ja/man7/utf8.7* +%lang(ja) %{_mandir}/ja/man8/ld-linux.8* +%lang(ja) %{_mandir}/ja/man8/ld-linux.so.8* +%lang(ja) %{_mandir}/ja/man8/ld.so.8* %lang(ja) %{_mandir}/ja/man8/sln.8* %lang(ja) %{_mandir}/ja/man8/zdump.8* %lang(ja) %{_mandir}/ja/man8/zic.8* @@ -1661,6 +1691,9 @@ fi %lang(pl) %{_mandir}/pl/man7/unicode.7* %lang(pl) %{_mandir}/pl/man7/utf-8.7* %lang(pl) %{_mandir}/pl/man7/utf8.7* +%lang(pl) %{_mandir}/pl/man8/ld-linux.8* +%lang(pl) %{_mandir}/pl/man8/ld-linux.so.8* +%lang(pl) %{_mandir}/pl/man8/ld.so.8* %lang(pt) %{_mandir}/pt/man5/locale.5* %lang(pt) %{_mandir}/pt/man5/nsswitch.conf.5* %lang(pt) %{_mandir}/pt/man5/rpc.5* @@ -1681,7 +1714,6 @@ fi %lang(ru) %{_mandir}/ru/man1/getent.1* %lang(ru) %{_mandir}/ru/man1/iconv.1* %lang(ru) %{_mandir}/ru/man1/locale.1* -%lang(ru) %{_mandir}/ru/man1/rpcgen.1* %lang(ru) %{_mandir}/ru/man5/locale.5* %lang(ru) %{_mandir}/ru/man5/nsswitch.conf.5* %lang(ru) %{_mandir}/ru/man5/rpc.5* @@ -1697,6 +1729,8 @@ fi %lang(ru) %{_mandir}/ru/man7/unicode.7* %lang(ru) %{_mandir}/ru/man7/utf-8.7* %lang(ru) %{_mandir}/ru/man7/utf8.7* +%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8* +%lang(ru) %{_mandir}/ru/man8/ld.so.8* %lang(ru) %{_mandir}/ru/man8/zdump.8* %lang(ru) %{_mandir}/ru/man8/zic.8* %lang(tr) %{_mandir}/tr/man1/iconv.1* @@ -1756,99 +1790,47 @@ fi %lang(zh_CN) %{_mandir}/zh_CN/man1/ldd.1* %lang(zh_TW) %{_mandir}/zh_TW/man1/ldd.1* +%if %{with crypt} %files libcrypt %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libcrypt-%{core_version}.so %ifarch alpha -%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1.1 +%attr(755,root,root) /%{_lib}/libcrypt.so.1.1 %else -%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1 +%attr(755,root,root) /%{_lib}/libcrypt.so.1 +%endif %endif -%files ld +%files -n ldconfig %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf %dir %{_sysconfdir}/ld.so.conf.d %ghost %{_sysconfdir}/ld.so.cache -# TODO: package ldconfig symlinks as %ghost -%attr(755,root,root) /%{_lib}/ld-%{core_version}.so -%ifarch %{ix86} sparc sparcv9 sparc64 alpha sh -%attr(755,root,root) /%{_lib}/ld-linux.so.2 -%endif -%ifarch ia64 -%attr(755,root,root) /%{_lib}/ld-linux-ia64.so.2 -%endif -%ifarch %{x8664} -%attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2 -%endif -%ifarch x32 -%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2 -%endif -%ifarch ppc64 s390x -%attr(755,root,root) /%{_lib}/ld64.so.1 -%endif -%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm} -%attr(755,root,root) /%{_lib}/ld.so.1 -%endif %attr(755,root,root) /sbin/ldconfig -%{_mandir}/man8/ld-linux.8* -%{_mandir}/man8/ld-linux.so.8* -%{_mandir}/man8/ld.so.8* %{_mandir}/man8/ldconfig.8* -%lang(es) %{_mandir}/es/man8/ld-linux.8* -%lang(es) %{_mandir}/es/man8/ld-linux.so.8* -%lang(es) %{_mandir}/es/man8/ld.so.8* %lang(es) %{_mandir}/es/man8/ldconfig.8* -%lang(fr) %{_mandir}/fr/man8/ld-linux.8* -%lang(fr) %{_mandir}/fr/man8/ld-linux.so.8* -%lang(fr) %{_mandir}/fr/man8/ld.so.8* %lang(fr) %{_mandir}/fr/man8/ldconfig.8* -%lang(hu) %{_mandir}/hu/man8/ld-linux.8* -%lang(hu) %{_mandir}/hu/man8/ld-linux.so.8* -%lang(hu) %{_mandir}/hu/man8/ld.so.8* %lang(hu) %{_mandir}/hu/man8/ldconfig.8* -%lang(ja) %{_mandir}/ja/man8/ld-linux.8* -%lang(ja) %{_mandir}/ja/man8/ld-linux.so.8* -%lang(ja) %{_mandir}/ja/man8/ld.so.8* %lang(ja) %{_mandir}/ja/man8/ldconfig.8* -%lang(pl) %{_mandir}/pl/man8/ld-linux.8* -%lang(pl) %{_mandir}/pl/man8/ld-linux.so.8* -%lang(pl) %{_mandir}/pl/man8/ld.so.8* %lang(pl) %{_mandir}/pl/man8/ldconfig.8* %lang(pt) %{_mandir}/pt/man8/ldconfig.8* -%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8* -%lang(ru) %{_mandir}/ru/man8/ld.so.8* %lang(ru) %{_mandir}/ru/man8/ldconfig.8* %dir %attr(700,root,root) /var/cache/ldconfig %attr(600,root,root) %ghost /var/cache/ldconfig/aux-cache %files -n nss_compat %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libnss_compat-%{core_version}.so %attr(755,root,root) /%{_lib}/libnss_compat.so.2 %files -n nss_db %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/makedb -%attr(755,root,root) /%{_lib}/libnss_db-%{core_version}.so %attr(755,root,root) /%{_lib}/libnss_db.so.2 %{_var}/db/Makefile %files -n nss_hesiod %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libnss_hesiod-%{core_version}.so %attr(755,root,root) /%{_lib}/libnss_hesiod.so.2 -%files -n nss_nis -%defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libnss_nis-%{core_version}.so -%attr(755,root,root) /%{_lib}/libnss_nis.so.2 - -%files -n nss_nisplus -%defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/libnss_nisplus-%{core_version}.so -%attr(755,root,root) /%{_lib}/libnss_nisplus.so.2 - %if %{with memusage} %files memusage %defattr(644,root,root,755) @@ -1864,33 +1846,35 @@ fi %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libBrokenLocale.so +%{?with_crypt:%attr(755,root,root) %{_libdir}/libcrypt.so} +# for dlopen and not linking %attr(755,root,root) %{_libdir}/libanl.so -%attr(755,root,root) %{_libdir}/libcrypt.so -%attr(755,root,root) %{_libdir}/libdl.so %attr(755,root,root) %{_libdir}/libm.so %ifarch %{x8664} x32 %attr(755,root,root) %{_libdir}/libmvec.so %endif -%attr(755,root,root) %{_libdir}/libnsl.so %attr(755,root,root) %{_libdir}/libpcprofile.so %attr(755,root,root) %{_libdir}/libresolv.so -%attr(755,root,root) %{_libdir}/librt.so +# for dlopen and not linking %attr(755,root,root) %{_libdir}/libthread_db.so -%attr(755,root,root) %{_libdir}/libutil.so +# empty archives, so linking with obsolete -lXX (these below) works +%{_libdir}/libanl.a +%{_libdir}/libdl.a +%{_libdir}/libpthread.a +%{_libdir}/librt.a +%{_libdir}/libutil.a %{_libdir}/crt[1in].o %{_libdir}/[MSgr]crt1.o -%{_libdir}/grcrt1.o +%{?with_static_pie:%{_libdir}/grcrt1.o} # ld scripts %{_libdir}/libc.so -%{_libdir}/libpthread.so # static-only libs %{_libdir}/libc_nonshared.a %{_libdir}/libg.a %ifarch alpha ppc sparc %{_libdir}/libnldbl_nonshared.a %endif -%{_libdir}/librpcsvc.a -%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64 +%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64 aarch64 armv6hl armv7hl armv7hnl # ABI-dependent headers %{_includedir}/gnu/stubs-*.h %endif @@ -1922,7 +1906,6 @@ fi %{_includedir}/nfs %{_includedir}/protocols %{_includedir}/rpc -%{_includedir}/rpcsvc %{_includedir}/scsi %{_includedir}/sys @@ -1934,18 +1917,17 @@ fi %attr(755,root,root) %{_bindir}/sprof %attr(755,root,root) %{_bindir}/xtrace %{_mandir}/man1/mtrace.1* +%{_mandir}/man1/sprof.1* %lang(ja) %{_mandir}/ja/man1/mtrace.1* +%lang(ja) %{_mandir}/ja/man1/sprof.1* +%lang(ru) %{_mandir}/ru/man1/sprof.1* %files devel-doc %defattr(644,root,root,755) %doc documentation/* %{_infodir}/libc.info* -%{_mandir}/man1/sprof.1* -# just a link to getcwd.3 %{_mandir}/man2/getcwd.2* -# just a link to killpg.3 -%{_mandir}/man2/killpg.2* %{_mandir}/man3/* %{_mandir}/man7/aio.7* %{_mandir}/man7/attributes.7* @@ -1958,17 +1940,15 @@ fi %{_mandir}/man7/nptl.7* %{_mandir}/man7/posixoptions.7* %{_mandir}/man7/pthreads.7* +%{_mandir}/man7/queue.7* %{_mandir}/man7/rtld-audit.7* %{_mandir}/man7/sem_overview.7* %{_mandir}/man7/shm_overview.7* +%{_mandir}/man7/system_data_types.7* %lang(cs) %{_mandir}/cs/man3/* -%lang(de) %{_mandir}/de/man2/killpg.2* %lang(de) %{_mandir}/de/man3/* -%lang(es) %{_mandir}/es/man2/killpg.2* %lang(es) %{_mandir}/es/man3/* %lang(es) %{_mandir}/es/man7/glob.7* -%lang(fr) %{_mandir}/fr/man2/getcwd.2* -%lang(fr) %{_mandir}/fr/man2/killpg.2* %lang(fr) %{_mandir}/fr/man3/* %lang(fr) %{_mandir}/fr/man7/aio.7* %lang(fr) %{_mandir}/fr/man7/complex.7* @@ -1985,9 +1965,7 @@ fi %lang(hu) %{_mandir}/hu/man3/* %lang(it) %{_mandir}/it/man3/* %lang(it) %{_mandir}/it/man7/glob.7* -%lang(ja) %{_mandir}/ja/man1/sprof.1* %lang(ja) %{_mandir}/ja/man2/getcwd.2* -%lang(ja) %{_mandir}/ja/man2/killpg.2* %lang(ja) %{_mandir}/ja/man3/* %lang(ja) %{_mandir}/ja/man7/aio.7* %lang(ja) %{_mandir}/ja/man7/complex.7* @@ -2000,16 +1978,11 @@ fi %lang(ja) %{_mandir}/ja/man7/pthreads.7* %lang(ja) %{_mandir}/ja/man7/sem_overview.7* %lang(ja) %{_mandir}/ja/man7/shm_overview.7* -%lang(ko) %{_mandir}/ko/man2/killpg.2* %lang(ko) %{_mandir}/ko/man3/* %lang(nl) %{_mandir}/nl/man3/* -%lang(pl) %{_mandir}/pl/man2/killpg.2* %lang(pl) %{_mandir}/pl/man3/* -%lang(pt) %{_mandir}/pt/man2/killpg.2* %lang(pt) %{_mandir}/pt/man3/* %lang(pt) %{_mandir}/pt/man7/glob.7* -%lang(ru) %{_mandir}/ru/man1/sprof.1* -%lang(ru) %{_mandir}/ru/man2/killpg.2* %lang(ru) %{_mandir}/ru/man3/* %lang(ru) %{_mandir}/ru/man7/glob.7* %lang(tr) %{_mandir}/tr/man3/* @@ -2021,32 +1994,37 @@ fi %files static %defattr(644,root,root,755) -%{_libdir}/libanl.a %{_libdir}/libBrokenLocale.a %{_libdir}/libc.a -%{_libdir}/libcrypt.a -%{_libdir}/libdl.a +%{?with_crypt:%{_libdir}/libcrypt.a} %{_libdir}/libm.a %{_libdir}/libmcheck.a %ifarch %{x8664} x32 %{_libdir}/libm-%{core_version}.a %{_libdir}/libmvec.a %endif -%{_libdir}/libnsl.a -%{_libdir}/libpthread.a %{_libdir}/libresolv.a -%{_libdir}/librt.a -%{_libdir}/libutil.a %files profile %defattr(644,root,root,755) -%{_libdir}/lib*_p.a +%{_libdir}/libBrokenLocale_p.a +%{_libdir}/libanl_p.a +%{_libdir}/libc_p.a +%{_libdir}/libcrypt_p.a +%{_libdir}/libdl_p.a +%{_libdir}/libm_p.a +%{_libdir}/libpthread_p.a +%{_libdir}/libresolv_p.a +%{_libdir}/librt_p.a +%{_libdir}/libutil_p.a %files pic %defattr(644,root,root,755) -%{_libdir}/lib*_pic.a -%{_libdir}/lib*.map -%{_libdir}/soinit.o +%{_libdir}/libc_pic.a +%{_libdir}/libm_pic.a +%{_libdir}/libresolv_pic.a +%{_libdir}/libc.map +%{_libdir}/libm.map %{_libdir}/sofini.o %files -n nscd @@ -2098,6 +2076,8 @@ fi %attr(755,root,root) %{_sbindir}/iconvconfig %dir %{_libdir}/gconv %{_libdir}/gconv/gconv-modules +%dir %{_libdir}/gconv/gconv-modules.d +%{_libdir}/gconv/gconv-modules.d/gconv-modules-extra.conf %verify(not md5 mtime size) %{_libdir}/gconv/gconv-modules.cache %attr(755,root,root) %{_libdir}/gconv/*.so %{_mandir}/man8/iconvconfig.8*