]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- updated new-charsets patch, release .8
[packages/glibc.git] / glibc.spec
index cd45c68515dc98d0cd30fab6bf989488d288b3a9..99235ede6ebd1f5bd9cdf244576b2e2558303630 100644 (file)
@@ -1,6 +1,6 @@
 #
 # You can define min_kernel macro by "rpm --define 'min_kernel version'"
-# default is 2.2.0 (no changes up to 2.3.25)
+# default is 2.4.6
 #
 # Conditional build:
 %bcond_without fp              # build without frame pointer (pass \--enable-omitfp)
@@ -8,8 +8,10 @@
 %bcond_with    kernelheaders   # use headers from kernel-headers instead of
                                # glibc-kernel-headers (evil, breakage etc., don't use)
 %bcond_without dist_kernel     # for above, allow non-distribution kernel
-%bcond_with    idn             # build with included libidn
-%bcond_without  tests          # do not perform "make test"
+%bcond_with    nptl            # use nptl instead of linuxthreads
+%bcond_with     tls            # use tls
+%bcond_with    tests           # do not perform "make test"
+
 #
 # TODO:
 # - localedb-gen man pages(?)
 #      posix zoneinfo dir removed, /etc/rc.d/init.d/timezone must be changed
 #      in order to use this version!
 #
-%{!?min_kernel:%global         min_kernel      2.4.6}
+
+%{!?min_kernel:%global          min_kernel      2.4.6}
+
+%if %{with nptl}
+# it seems that nptl uses cmpxchgl (available since i486) on x86
+%ifarch i486 i586 i686 athlon amd64 ia64 s390 s390x sparcv9 ppc ppc64
+%if "%{min_kernel}" < "2.6.0"
+%global                min_kernel      2.6.0
+%endif
+%else
+%undefine with_nptl
+%endif
+%endif
+
+%if %{with tls}
+%ifnarch %{ix86} amd64 ia64 s390 s390x sparc sparcv9 ppc ppc64
+%undefine with_tls
+%endif
+%endif
+
 %define        gkh_version     7:2.6.0.3
 Summary:       GNU libc
 Summary(de):   GNU libc
@@ -32,7 +53,7 @@ Summary(tr):  GNU libc
 Summary(uk):   GNU libc ×ÅÒÓ¦§ 2.3
 Name:          glibc
 Version:       2.3.3
-Release:       0.1
+Release:       0.20040101.8%{?with_nptl:+nptl}
 Epoch:         6
 License:       LGPL
 Group:         Libraries
@@ -54,26 +75,30 @@ Source6:    http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-ma
 Source7:       sln.8
 Source8:       %{name}-localedb-gen
 Patch0:                %{name}-info.patch
-Patch1:                %{name}-initgroups-overflow.patch
+Patch1:                %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
 Patch3:                %{name}-crypt-blowfish.patch
-Patch4:                %{name}-string2-pointer-arith.patch
-Patch5:                %{name}-linuxthreads-lock.patch
-Patch6:                %{name}-pthread_create-manpage.patch
-Patch9:                %{name}-paths.patch
-Patch10:       %{name}-vaargs.patch
-Patch11:       %{name}-getaddrinfo-workaround.patch
-Patch12:       %{name}-postshell.patch
-Patch14:       %{name}-missing-nls.patch
-Patch16:       %{name}-java-libc-wait.patch
-Patch18:       %{name}-lthrds_noomit.patch
-Patch19:       %{name}-no_opt_override.patch
-Patch23:       %{name}-kernel_includes.patch
-Patch24:       %{name}-includes.patch
-Patch26:       %{name}-alpha-fix-as-syntax.patch
-Patch27:       %{name}-soinit-EH_FRAME.patch
-Patch30:       %{name}-sparc-errno_fix.patch
-Patch31:       %{name}-make.patch
+Patch4:                %{name}-linuxthreads-lock.patch
+Patch5:                %{name}-pthread_create-manpage.patch
+Patch6:                %{name}-paths.patch
+Patch7:                %{name}-getaddrinfo-workaround.patch
+Patch8:                %{name}-postshell.patch
+Patch9:                %{name}-missing-nls.patch
+Patch10:       %{name}-java-libc-wait.patch
+Patch11:       %{name}-lthrds_noomit.patch
+Patch12:       %{name}-no_opt_override.patch
+# this is broken (hardcoded /usr/src/linux)
+Patch13:       %{name}-kernel_includes.patch
+Patch14:       %{name}-includes.patch
+Patch15:       %{name}-soinit-EH_FRAME.patch
+Patch16:       %{name}-fix-asserts.patch
+Patch17:       %{name}-sparc-errno_fix.patch
+Patch18:       %{name}-make.patch
+Patch19:       %{name}-tests-io-tmp.patch
+Patch20:       %{name}-tests-noproc.patch
+Patch21:       %{name}-linuxthreads-ppc-fix.patch
+Patch22:       %{name}-alpha-sigaction.patch
+Patch23:       %{name}-new-charsets.patch
 URL:           http://www.gnu.org/software/libc/
 BuildRequires: automake
 BuildRequires: binutils >= 2.13.90.0.2
@@ -90,21 +115,21 @@ BuildRequires:     rpm-build >= 4.3-0.20030610.28
 BuildRequires: rpm-perlprov
 BuildRequires: sed >= 4.0.5
 BuildRequires: texinfo
+AutoReq:       false
 PreReq:                basesystem
+Requires:      glibc-misc = %{epoch}:%{version}-%{release}
 Provides:      ld.so.2
 Provides:      ldconfig
 Provides:      /sbin/ldconfig
 Obsoletes:     %{name}-common
 Obsoletes:     %{name}-debug
 Obsoletes:     ldconfig
-AutoReq:       false
-Requires:      glibc-misc = %{epoch}:%{version}-%{release}
-BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Conflicts:     kernel < %{min_kernel}
 Conflicts:     ld.so < 1.9.9-10
 Conflicts:     man-pages < 1.43
 Conflicts:     rc-scripts < 0.3.1-13
 Conflicts:     rpm < 4.1
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                debugcflags     -O1 -g
 %ifarch sparc64
@@ -233,6 +258,7 @@ Can be used on: Linux kernel >= %{min_kernel}.
 Summary:       Utilities and data used by glibc
 Summary(pl):   Narzêdzia i dane u¿ywane przez glibc
 Group:         Development/Libraries
+AutoReq:       false
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description misc
@@ -385,14 +411,14 @@ Requires: %{name} = %{epoch}:%{version}-%{release}
 
 %description localedb-all
 This package contains locale database for all locales supported by
-glibc. In glibc 2.3.x it's one large file (about 19MB) - if you want
+glibc. In glibc 2.3.x it's one large file (about 27MB) - if you want
 something smaller with support for chosen locales only, consider
 installing localedb-src and regenerating database using localedb-gen
 script (when database is generated, localedb-src can be uninstalled).
 
 %description localedb-all -l es
 Este paquete contiene una base de datos de todos los locales soportados
-por glibc. En glibc 2.3.x ése es un fichero grande (aprox. 19 MB) -- si
+por glibc. En glibc 2.3.x ése es un fichero grande (aprox. 27 MB) -- si
 prefiere algo más pequeño, sólo con soporte de unos locales elegidos,
 considérese instalar localedb-src y regenerar la base de datos usando
 el escript localedb-gen (una vez que la base de datos esté creada,
@@ -401,7 +427,7 @@ localedb-src se podr
 %description localedb-all -l pl
 Ten pakiet zawiera bazê danych locale dla wszystkich lokalizacji
 obs³ugiwanych przez glibc. W glibc 2.3.x jest to jeden du¿y plik
-(oko³o 19MB); aby mieæ co¶ mniejszego, z obs³ug± tylko wybranych
+(oko³o 27MB); aby mieæ co¶ mniejszego, z obs³ug± tylko wybranych
 lokalizacji, nale¿y zainstalowaæ pakiet localedb-src i przegenerowaæ
 bazê danych przy u¿yciu skryptu localedb-gen (po wygenerowaniu bazy
 pakiet localedb-src mo¿na odinstalowaæ).
@@ -673,18 +699,19 @@ Summary(pl):      GNU libc - biblioteki 64-bitowe
 Group:         Libraries
 %ifarch amd64
 Provides:      glibc = %{epoch}:%{version}-%{release}
+Requires:      glibc-misc = %{epoch}:%{version}-%{release}
 %else
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 %endif
 
 %description -n %{name}64
-64-bit GNU libc libraries for sparc64 architecture.
+64-bit GNU libc libraries for 64bit architecture.
 
 %description -n %{name}64 -l es
-Bibliotecas GNU libc de 64 bits para la arquitectura sparc64.
+Bibliotecas GNU libc de 64 bits para la arquitectura 64bit.
 
 %description -n %{name}64 -l pl
-Biblioteki 64-bitowe GNU libc dla architektury sparc64.
+Biblioteki 64-bitowe GNU libc dla architektury 64bit.
 
 %package -n %{name}64-devel
 Summary:       Development files for 64-bit GNU libc libraries
@@ -694,16 +721,16 @@ Group:            Development/Libraries
 Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
 
 %description -n %{name}64-devel
-Development files for 64-bit GNU libc libraries for sparc64
+Development files for 64-bit GNU libc libraries for 64bit
 architecture.
 
 %description -n %{name}64-devel -l es
 Ficheros de desarrollo para las bibliotecas GNU libc de 64 bits para la
-arquitectura sparc64.
+arquitectura 64bit.
 
 %description -n %{name}64-devel -l pl
 Pliki do programowania z u¿yciem 64-bitowych bibliotek GNU libc dla
-architektury sparc64.
+architektury 64bit.
 
 %package -n %{name}64-static
 Summary:       Static 64-bit GNU libc libraries
@@ -724,26 +751,30 @@ Statyczne 64-bitowe biblioteki GNU libc.
 %prep
 %setup -q -a 1
 %patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+#%%patch7 -p1
+%patch8 -p1
 %patch9 -p1
 %patch10 -p1
-#%%patch11 -p1
-%patch12 -p1
-%patch14 -p1
+%patch11 -p1
+# don't know, if it is good idea, for brave ones
+#%patch12 -p1
+%{?with_kernelheaders:%patch13}
+%{?!with_kernelheaders:%patch14 -p1}
+%patch15 -p1
 %patch16 -p1
+%patch17
 %patch18 -p1
-# don't know, if it is good idea, for brave ones
-#%patch19 -p1
-%{?with_kernelheaders:%patch23}
-%{?!with_kernelheaders:%patch24 -p1}
-%patch26 -p1
-%patch27 -p1
-%patch30
-%patch31 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p1
 
 chmod +x scripts/cpp
 
@@ -756,23 +787,43 @@ cd builddir
 # avoid stripping ld.so by -s in rpmldflags
 LDFLAGS=" " ; export LDFLAGS
 ../%configure \
-       --enable-add-ons=linuxthreads \
        --enable-kernel="%{min_kernel}" \
-       --enable-profile \
        --%{!?with_fp:en}%{?with_fp:dis}able-omitfp \
+%if %{with nptl}
+        --enable-add-ons=nptl \
+       --with-tls \
+       --disable-profile \
+%else
+       %{?with_tls:--with-tls} \
+        --enable-add-ons=linuxthreads \
+       --enable-profile \
+%endif
 %if %{with kernelheaders}
        CPPFLAGS="-I%{_kernelsrcdir}/include" \
-       --with-headers=%{_kernelsrcdir}/include
+       --with-headers=%{_kernelsrcdir}/include 
 %else
        CPPFLAGS="-I%{_includedir}" \
-       --with-headers=%{_includedir}
+       --with-headers=%{_includedir} 
 %endif
 
 # problem compiling with --enable-bounded (must be reported to libc-alpha)
 
 %{__make} %{?parallelmkflags}
 
-%{?with_tests:%{__make} tests}
+%if %{with tests}
+env LANGUAGE=C LC_ALL=C \
+%{__make} tests 2>&1 | awk '
+BEGIN { file = "" }
+{
+       if (($0 ~ /\*\*\* \[.*\.out\] Error/) && (file == "")) {
+               file=$0;
+               gsub(/.*\[/, NIL, file);
+               gsub(/\].*/, NIL, file);
+       }
+       print $0;
+}
+END { if (file != "") { print "ERROR OUTPUT FROM " file; system("cat " file); exit(1); } }'
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -809,8 +860,10 @@ ln -s /%{_lib}/ldconfig                    $RPM_BUILD_ROOT/sbin
 mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so  $RPM_BUILD_ROOT%{_libdir}
 %endif
 
+%if %{without nptl}
 %{__make} -C ../linuxthreads/man
 install ../linuxthreads/man/*.3thr                     $RPM_BUILD_ROOT%{_mandir}/man3
+%endif
 
 rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/{localtime,posixtime,posixrules,posix/*}
 
@@ -850,9 +903,11 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/hu/man7/man.7
 rm -rf ../documentation
 install -d ../documentation
 
+%if %{without nptl}
 cp -f ../linuxthreads/ChangeLog ../documentation/ChangeLog.threads
 cp -f ../linuxthreads/Changes ../documentation/Changes.threads
 cp -f ../linuxthreads/README ../documentation/README.threads
+%endif
 cp -f ../crypt/README.ufc-crypt ../documentation/
 
 cp -f ../ChangeLog* ../documentation
@@ -866,6 +921,8 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
 
 # Collect locale files and mark them with %%lang()
 rm -f ../glibc.lang
+# bokmaal has been renamed (no_NO -> nb_NO) in 2.3.3, but not in po
+mv -f $RPM_BUILD_ROOT%{_datadir}/locale/{no,nb}
 echo '%defattr(644,root,root,755)' > ../glibc.lang
 for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}/locale/* ; do
        if [ -d $i ]; then
@@ -890,13 +947,16 @@ for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}/locale/*
        fi
 done
 # XXX: to be added when become supported by glibc
-# am,bn,ml (present in sources, but incomplete and disabled) (used by GNOME)
-# ia,kn,li,mn,sr@Latn (used by GNOME)
-#      note: GNOME2 uses sr as cyrillic!
-# nso,ss,ven,xh,zu (used by KDE)
-for i in af ar az be bg br bs cy de_AT el en en_AU eo es_AR es_MX et eu fa fi \
-        ga gr he hi hr hu id is ja_JP.SJIS ka lg lt lv mk ms mt nn pt ro ru \
-        se sl sq sr sr@cyrillic ta tg th uk uz vi wa yi zh_CN ; do
+# ia,li,sr@Latn (used by GNOME)
+#      note: GNOME2 uses sr (and probably uz) as cyrillic!
+# nso,ss,ven (used by KDE)
+# NOTES:
+# bn is used for bn_BD or bn_IN?
+# omitted here - already existing (with libc.mo):
+#   be,ca,cs,da,de,el,en_GB,es,fi,fr,gl,hr,hu,it,ja,ko,nb,nl,pl,pt_BR,sk,sv,tr,zh_CN,zh_TW
+for i in af am ar az bg bn br bs cy de_AT en en_AU eo es_AR es_MX et eu fa ga \
+        gr he hi id is ja_JP.SJIS ka kn lg lt lv mk ml mn ms mt nn pt ro ru \
+        se sl sq sr sr@cyrillic ta tg th uk uz vi wa xh yi 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/_.*//'`
@@ -1204,9 +1264,11 @@ fi
 %{_libdir}/librt.a
 %{_libdir}/libutil.a
 
+%if %{without nptl}
 %files profile
 %defattr(644,root,root,755)
 %{_libdir}/lib*_p.a
+%endif
 
 %files pic
 %defattr(644,root,root,755)
This page took 0.060209 seconds and 4 git commands to generate.