]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- merged dl-execstack changes from AC-branch
[packages/glibc.git] / glibc.spec
index 1d1e1d59d718aea037e0fd75f555afe6e19c2079..404545007bc68190649791a974c757826d9be9d3 100644 (file)
@@ -16,6 +16,7 @@
 %bcond_with    tests_nptl      # perform NPTL tests on dual build (requires 2.6.x kernel)
 %bcond_without localedb        # don't build localedb-all (is time consuming)
 %bcond_with    cross           # build using crossgcc (without libgcc_eh)
+%bcond_with    pax             # apply PaX hack
 #
 # TODO:
 # - look at locale fixes/updates in bugzilla
@@ -102,6 +103,7 @@ Patch3:             %{name}-crypt-blowfish.patch
 Patch4:                %{name}-linuxthreads-lock.patch
 Patch5:                %{name}-pthread_create-manpage.patch
 Patch6:                %{name}-paths.patch
+Patch7:                %{name}-dl-execstack.patch
 Patch8:                %{name}-missing-nls.patch
 Patch9:                %{name}-java-libc-wait.patch
 Patch10:       %{name}-lthrds_noomit.patch
@@ -124,11 +126,11 @@ Patch26:  %{name}-iconvconfig-nxstack.patch
 Patch27:       %{name}-execvp.patch
 Patch28:       %{name}-sys-kd.patch
 Patch29:       %{name}-cross-gcc_eh.patch
-Patch30:       %{name}-gcc4.patch
-Patch31:       %{name}-no_uint128_t.patch
-# PaX hack (dropped)
-#PatchX:       %{name}-pax_dl-execstack.patch
+Patch30:       %{name}-pax_dl-execstack.patch
+Patch31:       %{name}-gcc4.patch
+Patch32:       %{name}-no_uint128_t.patch
 URL:           http://www.gnu.org/software/libc/
+BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: binutils >= 2:2.15.90.0.3
 BuildRequires: gcc >= 5:3.2
@@ -163,9 +165,9 @@ Obsoletes:  ldconfig
 Conflicts:     kernel < %{min_kernel}
 Conflicts:     ld.so < 1.9.9-10
 Conflicts:     man-pages < 1.43
+Conflicts:     poldek < 0.18.8-5
 Conflicts:     rc-scripts < 0.3.1-13
 Conflicts:     rpm < 4.1
-Conflicts:     poldek < 0.18.8-4
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                debugcflags     -O1 -g
@@ -323,9 +325,11 @@ Summary(tr):       Geli
 Summary(uk):   äÏÄÁÔËÏצ Â¦Â̦ÏÔÅËÉ, ÐÏÔÒ¦ÂΦ ÄÌÑ ËÏÍЦÌÑæ§
 Group:         Development/Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-%{!?with_kernelheaders:Requires:       linux-libc-headers >= %{llh_version}}
+Requires:      %{name}-headers = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel-utils = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel-doc = %{epoch}:%{version}-%{release}
+Provides:      %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
 Obsoletes:     libiconv-devel
-Obsoletes:     glibc-headers
 
 %description devel
 To develop programs which use the standard C libraries (which nearly
@@ -379,6 +383,115 @@ kitapl
 ÔÁ ÏÂ'¤ËÔΦ ÆÁÊÌÉ, ÝϠͦÓÔÑÔØÓÑ × ÃØÏÍÕ ÐÁËÅÔ¦, ÃÏ ÓÔ×ÏÒÀ×ÁÔÉ
 ×ÉËÏÎÕ×ÁΦ ÆÁÊÌÉ.
 
+%package headers
+Summary:       Header files for development using standard C libraries
+Summary(pl):   Pliki nag³ówkowe do tworzenia programów przy u¿yciu standardowych bibliotek C
+Group:         Development/Libraries
+Provides:      %{name}-headers(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{x8664}
+# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
+# have to be installed, not ix86 one.
+Obsoletes:     %{name}-headers(i386)
+Obsoletes:     %{name}-headers(i486)
+Obsoletes:     %{name}-headers(i586)
+Obsoletes:     %{name}-headers(i686)
+Obsoletes:     %{name}-headers(athlon)
+Obsoletes:     %{name}-headers(pentium3)
+Obsoletes:     %{name}-headers(pentium4)
+%endif
+%{!?with_kernelheaders:Requires:       linux-libc-headers >= %{llh_version}}
+
+%description headers
+The glibc-headers package contains the header files necessary for
+developing programs which use the standard C libraries (which are used
+by nearly all programs). If you are developing programs which will use
+the standard C libraries, your system needs to have these standard
+header files available in order to create the executables.
+
+Install glibc-headers if you are going to develop programs which will
+use the standard C libraries.
+
+%description headers -l pl
+Pakiet glibc-headers zawiera pliki nag³ówkowe niezbêdne do rozwijania
+programów u¿ywaj±cych standardowych bibliotek C (u¿ywanych przez
+prawie wszystkie programy). Je¶li tworzymy programy korzystaj±ce ze
+standardowych bibliotek C, system wymaga dostêpno¶ci tych
+standardowych plików nag³ówkowych do tworzenia programów
+wykonywalnych.
+
+Ten pakiet nale¿y zainstalowaæ je¶li zamierzamy tworzyæ programy
+korzystaj±ce ze standardowych bibliotek C.
+
+%package devel-utils
+Summary:       Utilities needed for development using standard C libraries
+Summary(pl):   Narzêdzia do tworzenia programów przy u¿yciu standardowych bibliotek C
+Group:         Development/Libraries
+Provides:      %{name}-devel-utils(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{x8664}
+# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
+# have to be installed, not ix86 one.
+Obsoletes:     %{name}-devel-utils(i386)
+Obsoletes:     %{name}-devel-utils(i486)
+Obsoletes:     %{name}-devel-utils(i586)
+Obsoletes:     %{name}-devel-utils(i686)
+Obsoletes:     %{name}-devel-utils(athlon)
+Obsoletes:     %{name}-devel-utils(pentium3)
+Obsoletes:     %{name}-devel-utils(pentium4)
+%endif
+
+%description devel-utils
+The glibc-devel-utils package contains utilities necessary for
+developing programs which use the standard C libraries (which are used
+by nearly all programs). If you are developing programs which will use
+the standard C libraries, your system needs to have these utilities
+available.
+
+Install glibc-devel-utils if you are going to develop programs which
+will use the standard C libraries.
+
+%description devel-utils -l pl
+Pakiet glibc-devel-utils zawiera narzêdzia niezbêdne do rozwijania
+programów u¿ywaj±cych standardowych bibliotek C (u¿ywanych przez
+prawie wszystkie programy). Je¶li tworzymy programy korzystaj±ce ze
+standardowych bibliotek C, system wymaga dostêpno¶ci tych
+narzêdzi do tworzenia programów wykonywalnych.
+
+Ten pakiet nale¿y zainstalowaæ je¶li zamierzamy tworzyæ programy
+korzystaj±ce ze standardowych bibliotek C.
+
+%package devel-doc
+Summary:       Documentation needed for development using standard C libraries
+Summary(pl):   Dokumentacja do tworzenia programów przy u¿yciu standardowych bibliotek C
+Group:         Documentation
+Provides:      %{name}-devel-doc(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{x8664}
+# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
+# have to be installed, not ix86 one.
+Obsoletes:     %{name}-devel-doc(i386)
+Obsoletes:     %{name}-devel-doc(i486)
+Obsoletes:     %{name}-devel-doc(i586)
+Obsoletes:     %{name}-devel-doc(i686)
+Obsoletes:     %{name}-devel-doc(athlon)
+Obsoletes:     %{name}-devel-doc(pentium3)
+Obsoletes:     %{name}-devel-doc(pentium4)
+%endif
+
+%description devel-doc
+The glibc-devel-doc package contains info and manual pages necessary
+for developing programs which use the standard C libraries (which are
+used by nearly all programs).
+
+Install glibc-devel-doc if you are going to develop programs which
+will use the standard C libraries.
+
+%description devel-doc -l pl
+Pakiet glibc-devel-doc zawiera strony info i manuala przydatne do
+rozwijania programów u¿ywaj±cych standardowych bibliotek C (u¿ywanych
+przez prawie wszystkie programy).
+
+Ten pakiet nale¿y zainstalowaæ je¶li zamierzamy tworzyæ programy
+korzystaj±ce ze standardowych bibliotek C.
+
 %package -n nscd
 Summary:       Name Service Caching Daemon
 Summary(es):   Demonio de caché del servicio de nombres
@@ -780,6 +893,7 @@ Biblioteki 64-bitowe GNU libc dla architektury 64bit.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
+%patch7 -p1
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
@@ -803,8 +917,9 @@ Biblioteki 64-bitowe GNU libc dla architektury 64bit.
 %patch27 -p1
 %patch28 -p1
 %{?with_cross:%patch29 -p1}
-#%patch30 -p1
+%{?with_pax:%patch30 -p1}
 #%patch31 -p1
+#%patch32 -p1
 
 chmod +x scripts/cpp
 
@@ -961,6 +1076,32 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/{localtime,posixtime,posixrules,posix
 #done
 #cd -
 
+# Where should s390 go?
+%ifarch %{ix86} ppc s390 sparc sparcv9
+mv $RPM_BUILD_ROOT%{_includedir}/gnu/stubs.h $RPM_BUILD_ROOT%{_includedir}/gnu/stubs-32.h
+%endif
+
+%ifarch %{x8664} ppc64 s390x sparc64
+mv $RPM_BUILD_ROOT%{_includedir}/gnu/stubs.h $RPM_BUILD_ROOT%{_includedir}/gnu/stubs-64.h
+%endif
+
+%ifarch %{ix86} %{x8664} ppc ppc64 s390 s390x sparc sparcv9 sparc64
+cat <<EOF >$RPM_BUILD_ROOT%{_includedir}/gnu/stubs.h
+/* This file selects the right generated file of '__stub_FUNCTION' macros
+   based on the architecture being compiled for.  */
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+# include <gnu/stubs-32.h>
+#elif __WORDSIZE == 64
+# include <gnu/stubs-64.h>
+#else
+# error "unexpected value for __WORDSIZE macro"
+#endif
+EOF
+%endif
+
 ln -sf %{_sysconfdir}/localtime        $RPM_BUILD_ROOT%{_datadir}/zoneinfo/localtime
 ln -sf localtime               $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixtime
 ln -sf localtime               $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixrules
@@ -1050,9 +1191,10 @@ done
 # 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 ang ar az bg bn br bs cy de_AT en en@boldquot en@quot en_AU \
-    en_CA en_US eo es_AR es_MX et eu fa fo ga gu he hi hsb ia id is it_CH ka kn ku \
-    leet lg li lo lt lv mi mk ml mn mr ms mt nds ne nn nso or pa pt ro ru rw \
-    se sl sq sr sr@Latn sr@ije ss ta tg th tl tlh uk uz ve vi wa xh yi zu ; do
+    en_CA en_US eo es_AR es_MX et eu fa fo ga gu he hi hsb ia id is it_CH ka \
+    kn ku leet lg li lo lt lv mi mk ml mn mr ms mt nds ne nn nso or pa pt ro \
+    ru rw se sl sq sr sr@Latn sr@ije ss ta tg th tl tlh uk uz ve 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/_.*//'`
@@ -1338,11 +1480,6 @@ fi
 
 %files devel
 %defattr(644,root,root,755)
-%doc documentation/* NOTES PROJECTS
-%attr(755,root,root) %{_bindir}/gencat
-%attr(755,root,root) %{_bindir}/*prof*
-%attr(755,root,root) %{_bindir}/*trace
-
 %attr(755,root,root) %{_libdir}/lib[!cmp]*.so
 %attr(755,root,root) %{_libdir}/libcrypt.so
 %attr(755,root,root) %{_libdir}/libm.so
@@ -1366,16 +1503,21 @@ fi
 %{_libdir}/nptl/libc.so
 %{_libdir}/nptl/libpthread.so
 %{_libdir}/nptl/libpthread_nonshared.a
-%{_includedir}/nptl
 %endif
 
+%{_includedir}/gnu/stubs-*.h
+
+%files headers
+%defattr(644,root,root,755)
 %{_includedir}/*.h
 %ifarch alpha
 %{_includedir}/alpha
 %endif
 %{_includedir}/arpa
 %{_includedir}/bits
-%{_includedir}/gnu
+%dir %{_includedir}/gnu
+%{_includedir}/gnu/lib*.h
+%{_includedir}/gnu/stubs.h
 %{_includedir}/net
 %{_includedir}/netash
 %{_includedir}/netatalk
@@ -1393,6 +1535,20 @@ fi
 %{_includedir}/scsi
 %{_includedir}/sys
 
+%if %{with dual}
+%{_includedir}/nptl
+%endif
+
+%files devel-utils
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gencat
+%attr(755,root,root) %{_bindir}/*prof*
+%attr(755,root,root) %{_bindir}/*trace
+
+%files devel-doc
+%defattr(644,root,root,755)
+%doc documentation/* NOTES PROJECTS
+
 %{_infodir}/libc.info*
 
 %{_mandir}/man1/sprof.1*
This page took 0.036791 seconds and 4 git commands to generate.