]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- macros 1.412
[packages/glibc.git] / glibc.spec
index 95612b2d952a48960b77a7b68068e9c03f036c4a..f8d5fa99c08eed70c88788ad38f7b30a7c3ab3a1 100644 (file)
@@ -36,7 +36,7 @@ Summary(tr.UTF-8):    GNU libc
 Summary(uk.UTF-8):     GNU libc версії
 Name:          glibc
 Version:       2.7
-Release:       7
+Release:       8.2
 Epoch:         6
 License:       LGPL v2.1+
 Group:         Libraries
@@ -90,35 +90,34 @@ BuildRequires:      binutils >= 2:2.17.50.0.7
 %else
 BuildRequires: binutils >= 2:2.15.90.0.3
 %endif
-BuildRequires: gcc >= 5:3.4
+AutoReq:       false
+%{!?with_cross:BuildRequires:  dietlibc-static}
 BuildRequires: gawk
+BuildRequires: gcc >= 5:3.4
 %{?with_memusage:BuildRequires:        gd-devel >= 2.0.1}
 BuildRequires: gettext-devel >= 0.10.36
-%{!?with_cross:BuildRequires:  dietlibc-static}
 %{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
 BuildRequires: linux-libc-headers >= %{llh_version}
 BuildRequires: perl-base
 BuildRequires: rpm-build >= 4.3-0.20030610.28
 BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.396
+BuildRequires: rpmbuild(macros) >= 1.412
 BuildRequires: sed >= 4.0.5
 BuildRequires: texinfo
-AutoReq:       false
+Requires(post):        ldconfig = %{epoch}:%{version}-%{release}
 Requires:      %{name}-misc = %{epoch}:%{version}-%{release}
 Requires:      basesystem
 Requires:      uname(release) >= %{min_kernel}
-Provides:      /sbin/ldconfig
 Provides:      glibc(nptl)
 Provides:      glibc(tls)
-Provides:      ldconfig
 Provides:      rtld(GNU_HASH)
 Obsoletes:     glibc-common
 Obsoletes:     glibc-debug
-Obsoletes:     ldconfig
 %ifarch %{x8664} sparc64 ppc64
 Provides:      glibc64
 Obsoletes:     glibc64
 %endif
+Conflicts:     SysVinit < 2.86-11
 Conflicts:     kernel < %{min_kernel}
 Conflicts:     kernel24
 Conflicts:     kernel24-smp
@@ -134,6 +133,11 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                filterout_ld            (-Wl,)?-[sS] (-Wl,)?--strip.*
 %define        specflags_sparc64       -mcpu=ultrasparc -mvis -fcall-used-g6
 
+# ld.so needs not to be stripped to work
+# gdb needs unstripped libpthread for some threading support
+# ...but we can strip at least debuginfo from them
+%define                _autostripdebug         .*/ld-[0-9.]*so\|.*/libpthread-[0-9.]*so
+
 # -m from CFLAGS or even LDFLAGS is not propagated to some *.o linking
 %ifarch sparc sparcv9
 %{expand:%%define      __cc    %{__cc} -m32}
@@ -267,7 +271,6 @@ Summary:    Utilities and data used by glibc
 Summary(pl.UTF-8):     Narzędzia i dane używane przez glibc
 Group:         Applications/System
 AutoReq:       false
-Requires(pre): %{name} = %{epoch}:%{version}-%{release}
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description misc
@@ -276,6 +279,48 @@ Utilities and data used by glibc.
 %description misc -l pl.UTF-8
 Narzędzia i dane używane przez glibc.
 
+%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
+# 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
+
+%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 uruchominy 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 devel
 Summary:       Additional libraries required to compile
 Summary(de.UTF-8):     Weitere Libraries zum Kompilieren
@@ -488,8 +533,8 @@ Summary(ja.UTF-8):  ネームサービスキャッシングデーモン (nacd)
 Summary(pl.UTF-8):     Demon zapamiętujący odpowiedzi serwisów nazw
 Summary(ru.UTF-8):     Кэширующий демон сервисов имен
 Summary(uk.UTF-8):     Кешуючий демон севісів імен
-Group:         Networking/Daemons
 License:       GPL v2
+Group:         Networking/Daemons
 Requires(post):        fileutils
 Requires(post,preun):  /sbin/chkconfig
 Requires(postun):      /usr/sbin/groupdel
@@ -922,8 +967,9 @@ cd ..
 done
 %endif
 
-%if !%{with cross}
-diet %{__cc} %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
+%if %{without cross}
+CC="%{__cc}"
+diet ${CC#*ccache } %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
 %endif
 
 %install
@@ -952,25 +998,29 @@ install elf/soinit.os                             $RPM_BUILD_ROOT%{_libdir}/soinit.o
 install elf/sofini.os                          $RPM_BUILD_ROOT%{_libdir}/sofini.o
 cd ..
 
-%if !%{with cross}
+%if %{without cross}
 install glibc-postinst                         $RPM_BUILD_ROOT/sbin
 %endif
 
 %{?with_memusage:mv -f $RPM_BUILD_ROOT/%{_lib}/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
 mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so  $RPM_BUILD_ROOT%{_libdir}
 
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
 # moved to tzdata package
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
 rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo
 
 ln -sf libbsd-compat.a         $RPM_BUILD_ROOT%{_libdir}/libbsd.a
 
 # make symlinks across top-level directories absolute
 for l in anl BrokenLocale crypt dl m nsl resolv rt thread_db util ; do
+       test -L $RPM_BUILD_ROOT%{_libdir}/lib${l}.so || exit 1
        rm -f $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
-       ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo lib${l}.so.*` $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
 done
 
+# linking nss modules directly is not supported
+rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
+
 install %{SOURCE2}             $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
 install %{SOURCE3}             $RPM_BUILD_ROOT/etc/sysconfig/nscd
 install %{SOURCE4}             $RPM_BUILD_ROOT/etc/logrotate.d/nscd
@@ -997,33 +1047,13 @@ for f in ANNOUNCE ChangeLog DESIGN-{barrier,condvar,rwlock,sem}.txt TODO{,-kerne
 done
 cp -f crypt/README.ufc-crypt ChangeLog* documentation
 
-rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
-
-# strip ld.so with --strip-debug only (other ELFs are stripped by rpm):
-%{!?debug:strip -g -R .comment -R .note $RPM_BUILD_ROOT/%{_lib}/ld-*.so}
-
 # Collect locale files and mark them with %%lang()
 rm -f glibc.lang
 echo '%defattr(644,root,root,755)' > glibc.lang
-for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}/locale/* ; do
+for i in $RPM_BUILD_ROOT%{_datadir}/locale/* ; do
        if [ -d $i ]; then
-               lang=`echo $i | sed -e 's/.*locale\///' -e 's/\/.*//'`
-               twochar=1
-               # list of long %%lang values we do support
-               for j in de_AT de_BE de_CH de_LU es_AR es_MX pt_BR \
-                        zh_CN zh_CN.gbk zh_HK zh_TW ; do
-                       if [ $j = "$lang" ]; then
-                               twochar=
-                       fi
-               done
-               if [ -n "$twochar" ]; then
-                       if [ `echo $lang | sed "s,_.*,,"` = "zh" ]; then
-                               lang=`echo $lang | sed "s,\..*,,"`
-                       else
-                               lang=`echo $lang | sed "s,_.*,,"`
-                       fi
-               fi
-               dir=`echo $i | sed "s#$RPM_BUILD_ROOT##"`
+               lang=$(basename $i)
+               dir="${i#$RPM_BUILD_ROOT}"
                echo "%lang($lang) $dir" >> glibc.lang
        fi
 done
@@ -1059,9 +1089,19 @@ for i in aa aa@saaho af am an ang ar as ast az be@alternative be@latin bg bn \
     wo xh yi yo zh_HK zu ; do
        if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES ]; then
                install -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES
-               lang=`echo $i | sed -e 's/_.*//'`
+               # use lang() tags with ll_CC@variant (stripping charset and @quot|@boldquot)
+               lang=`echo $i | sed -e 's/@quot\>\|@boldquot\>//'`
+               echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
+       fi
+done
+
+# LC_TIME category, used for localized date formats (at least by coreutils)
+for i in af be bg ca cs da de el es et eu fi fr ga gl hu it ja ko ms nb nl pl \
+    pt pt_BR ru rw sk sl sv tr zh_CN zh_TW ; do
+       if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i ]; then
                echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
        fi
+       install -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_TIME
 done
 
 # localedb-gen infrastructure
@@ -1086,15 +1126,13 @@ rm -rf $RPM_BUILD_ROOT
 # don't run iconvconfig in %%postun -n iconv because iconvconfig doesn't exist
 # when %%postun is run
 
-%if !%{with cross}
+%if %{without cross}
 %post  -p /sbin/postshell
 /sbin/glibc-postinst /%{_lib}/%{_host_cpu} /%{_lib}/tls
 /sbin/ldconfig
--/sbin/telinit u
 
 %postun        -p /sbin/postshell
 /sbin/ldconfig
--/sbin/telinit u
 
 %triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6
 -/bin/cp -f /etc/ld.so.conf /etc/ld.so.conf.rpmsave
@@ -1142,25 +1180,19 @@ fi
 %if !%{with cross}
 %attr(755,root,root) /sbin/glibc-postinst
 %endif
-%attr(755,root,root) /sbin/ldconfig
-# ld* and libc.so.6 SONAME symlinks must be in package because of
-# chicken-egg problem (postshell is dynamically linked with libc);
-# NOTE: postshell is now linked statically with diet
-# ld-*.so SONAME is:
+# ld*.so SONAME is:
 #   ld.so.1 on ppc
 #   ld64.so.1 on ppc64,s390x
 #   ld-linux-ia64.so.2 on ia64
 #   ld-linux-x86-64.so.2 on x86_64
 #   ld-linux.so.2 on other archs
+# TODO: package ldconfig symlinks as %ghost
 %attr(755,root,root) /%{_lib}/ld*
 %attr(755,root,root) /%{_lib}/libanl*
 %attr(755,root,root) /%{_lib}/libdl*
 %attr(755,root,root) /%{_lib}/libnsl*
 %attr(755,root,root) /%{_lib}/lib[BScmprtu]*
 %{?with_localedb:%dir %{_libdir}/locale}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf
-%dir %{_sysconfdir}/ld.so.conf.d
-%ghost %{_sysconfdir}/ld.so.cache
 
 #%files -n nss_dns
 %defattr(644,root,root,755)
@@ -1170,6 +1202,21 @@ fi
 %defattr(644,root,root,755)
 %attr(755,root,root) /%{_lib}/libnss_files*.so*
 
+%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
+%attr(755,root,root) /sbin/ldconfig
+%{_mandir}/man8/ldconfig.8*
+%lang(es) %{_mandir}/es/man8/ldconfig.8*
+%lang(fr) %{_mandir}/fr/man8/ldconfig.8*
+%lang(hu) %{_mandir}/hu/man8/ldconfig.8*
+%lang(ja) %{_mandir}/ja/man8/ldconfig.8*
+%lang(pl) %{_mandir}/pl/man8/ldconfig.8*
+%lang(pt) %{_mandir}/pt/man8/ldconfig.8*
+%lang(ru) %{_mandir}/ru/man8/ldconfig.8*
+
 %files misc -f %{name}.lang
 %defattr(644,root,root,755)
 
@@ -1211,7 +1258,9 @@ fi
 %{_mandir}/man5/nsswitch.conf.5*
 %{_mandir}/man5/tzfile.5*
 %{_mandir}/man7/*
-%{_mandir}/man8/ld*.8*
+%{_mandir}/man8/ld-linux.8*
+%{_mandir}/man8/ld-linux.so.8*
+%{_mandir}/man8/ld.so.8*
 %{_mandir}/man8/sln.8*
 %{_mandir}/man8/tzselect.8*
 %{_mandir}/man8/zdump.8*
@@ -1224,7 +1273,9 @@ fi
 %lang(es) %{_mandir}/es/man5/nsswitch.conf.5*
 %lang(es) %{_mandir}/es/man5/tzfile.5*
 %lang(es) %{_mandir}/es/man7/*
-%lang(es) %{_mandir}/es/man8/ld*.8*
+%lang(es) %{_mandir}/es/man8/ld-linux.8*
+%lang(es) %{_mandir}/es/man8/ld-linux.so.8*
+%lang(es) %{_mandir}/es/man8/ld.do.8*
 %lang(es) %{_mandir}/es/man8/tzselect.8*
 %lang(es) %{_mandir}/es/man8/zdump.8*
 %lang(es) %{_mandir}/es/man8/zic.8*
@@ -1234,13 +1285,17 @@ fi
 %lang(fr) %{_mandir}/fr/man5/nsswitch.conf.5*
 %lang(fr) %{_mandir}/fr/man5/tzfile.5*
 %lang(fr) %{_mandir}/fr/man7/*
-%lang(fr) %{_mandir}/fr/man8/ld*.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/tzselect.8*
 %lang(fr) %{_mandir}/fr/man8/zdump.8*
 %lang(fr) %{_mandir}/fr/man8/zic.8*
 %lang(hu) %{_mandir}/hu/man1/ldd.1*
 %lang(hu) %{_mandir}/hu/man7/*
-%lang(hu) %{_mandir}/hu/man8/ld*.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/zdump.8*
 %lang(it) %{_mandir}/it/man5/locale.5*
 %lang(it) %{_mandir}/it/man7/*
@@ -1252,7 +1307,9 @@ fi
 %lang(ja) %{_mandir}/ja/man5/nsswitch.conf.5*
 %lang(ja) %{_mandir}/ja/man5/tzfile.5*
 %lang(ja) %{_mandir}/ja/man7/*
-%lang(ja) %{_mandir}/ja/man8/ld*.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/sln.8*
 %lang(ja) %{_mandir}/ja/man8/tzselect.8*
 %lang(ja) %{_mandir}/ja/man8/zdump.8*
@@ -1266,12 +1323,13 @@ fi
 %lang(pl) %{_mandir}/pl/man1/ldd.1*
 %lang(pl) %{_mandir}/pl/man5/locale.5*
 %lang(pl) %{_mandir}/pl/man7/*
-%lang(pl) %{_mandir}/pl/man8/ld*.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(pt) %{_mandir}/pt/man5/locale.5*
 %lang(pt) %{_mandir}/pt/man5/nsswitch.conf.5*
 %lang(pt) %{_mandir}/pt/man5/tzfile.5*
 %lang(pt) %{_mandir}/pt/man7/*
-%lang(pt) %{_mandir}/pt/man8/ld*.8*
 %lang(pt) %{_mandir}/pt/man8/tzselect.8*
 %lang(pt) %{_mandir}/pt/man8/zdump.8*
 %lang(pt) %{_mandir}/pt/man8/zic.8*
@@ -1284,7 +1342,8 @@ fi
 %lang(ru) %{_mandir}/ru/man5/nsswitch.conf.5*
 %lang(ru) %{_mandir}/ru/man5/tzfile.5*
 %lang(ru) %{_mandir}/ru/man7/*
-%lang(ru) %{_mandir}/ru/man8/ld*.8*
+%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8*
+%lang(ru) %{_mandir}/ru/man8/ld.so.8*
 %lang(ru) %{_mandir}/ru/man8/tzselect.8*
 %lang(ru) %{_mandir}/ru/man8/zdump.8*
 %lang(ru) %{_mandir}/ru/man8/zic.8*
This page took 0.081016 seconds and 4 git commands to generate.