diff --git a/glibc.spec b/glibc.spec index 80b4988..8fe474c 100644 --- a/glibc.spec +++ b/glibc.spec @@ -83,8 +83,8 @@ %endif Name: glibc -Version: 2.30 -Release: 6mamba +Version: 2.31 +Release: 1mamba Summary: The GNU libc libraries Group: System/Libraries Vendor: openmamba @@ -147,12 +147,6 @@ Requires: ldconfig = %{?epoch:%epoch:}%{version}-%{release} Requires: locales = %{?epoch:%epoch:}%{version}-%{release} Requires: glibc-utils = %{?epoch:%epoch:}%{version}-%{release} %systemd_requires -%ifarch x86_64 -Provides: glibc-multilib -Obsoletes: glibc-multilib -Obsoletes: glibc.i586 -%endif -Prefix: %{_prefix} BuildRoot: %{_tmppath}/%{name}-%{version}-root # FIXME : @@ -170,11 +164,7 @@ The glibc package also contains national language (locale) support. Summary: Header and object files for development using standard C libraries. Group: Development/Libraries Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} -Prereq: %{__install_info} -%ifarch x86_64 -Provides: glibc-multilib-devel -Obsoletes: glibc-multilib-devel -%endif +Requires(pre): %{__install_info} %description devel The glibc-devel package contains the header and object files necessary for developing programs which use the standard C libraries (which are used by nearly all programs). @@ -186,15 +176,38 @@ The header files are also needed for rebuilding the kernel. Install glibc-devel if you are going to develop programs which will use the standard C libraries. +%package multilib +Summary: GNU libc multilib (lib32) libraries +Group: System/Libraries +Provides: glibc-multilib-i18ndata +Obsoletes: glibc-multilib-i18ndata +Provides: glibc-multilib-utils +Obsoletes: glibc-multilib-utils + +%description multilib +The glibc package contains standard libraries which are used by multiple programs on the system. +In order to save disk space and memory, as well as to make upgrading easier, common system code is kept in one place and shared between programs. +This particular package contains the most important sets of shared libraries: the standard C library and the standard math library. Without these two libraries, a Linux system will not function. +The glibc-multilib package provides lib32 libraries for 32-bit build support on x86_64 arch. + +%package multilib-devel +Summary: GNU libc multilib (lib32) libraries and files for development +Group: Development/Libraries +Requires: glibc-multilib = %{?epoch:%epoch:}%{version}-%{release} +Provides: glibc-multilib-apidocs +Obsoletes: glibc-multilib-apidocs + +%description multilib-devel +The glibc package contains standard libraries which are used by multiple programs on the system. +In order to save disk space and memory, as well as to make upgrading easier, common system code is kept in one place and shared between programs. +This particular package contains the most important sets of shared libraries: the standard C library and the standard math library. Without these two libraries, a Linux system will not function. +The glibc-multilib-devel package provides lib32 libbraries and other files for development for 32-bit build support on x86_64 arch. + %if %{build_doc} %package apidocs Summary: GNU libc libraries API documentation Group: Documentation Requires: glibc-devel = %{?epoch:%epoch:}%{version}-%{release} -%ifarch x86_64 -Provides: glibc-multilib-apidocs -Obsoletes: glibc-multilib-apidocs -%endif %description apidocs GNU libc libraries API documentation. @@ -204,10 +217,6 @@ GNU libc libraries API documentation. Summary: Database sources for 'locale' Group: System/Libraries Requires(pre): %{name} = %{?epoch:%epoch:}%{version}-%{release} -%ifarch x86_64 -Provides: glibc-multilib-i18ndata -Obsoletes: glibc-multilib-i18ndata -%endif %description i18ndata This package contains the data needed to build the locale data files to use the internationalization features of the GNU libc. @@ -216,10 +225,6 @@ This package contains the data needed to build the locale data files to use the Summary: Development utilities from GNU C library Group: Development/Tools Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} -%ifarch x86_64 -Provides: glibc-multilib-utils -Obsoletes: glibc-multilib-utils -%endif %description utils The glibc-utils package contains memusage, a memory usage profiler, mtrace, a memory leak tracer and, a function call tracer which can be helpful during program debugging. @@ -312,7 +317,17 @@ ln -sf %{_includedir}/sys/capability.h include/sys/capability.h # create find-provides and find-requires script in order to ignore GLIBC_PRIVATE errors cat > find_provides.sh << _EOF #! /bin/sh +%if "%{_target_platform}" == "%{_host}" +%if "%{?stage1}" != "1" +# set again +x on libraries for which strip has been disabled in %install +#chmod -x %{buildroot}/%{slibdir}/ld-*.so +#chmod -x %{buildroot}/%{slibdir}/libc-*.so +chmod +x %{buildroot}/%{slibdir}/libpthread-*.so +chmod +x %{buildroot}/%{slibdir}/libthread_db-*.so +%endif +%endif %{_prefix}/lib/rpm/find-provides | grep -v GLIBC_PRIVATE +# work around to avoid stripping libthread_db-1.0.so for debugging exit 0 _EOF chmod +x find_provides.sh @@ -329,17 +344,17 @@ chmod +x find_requires.sh case %{target_cpu} in i*86|athlon*) platform_includes=asm-x86 - buildflags="-mtune=pentiumpro -g -O3" + buildflags="-mtune=pentiumpro -g -O2" CONFIG_OPTS="--enable-targets=i586-%{_target_vendor}-linux --enable-cet" ;; ppc|powerpc) platform_includes=asm-powerpc - buildflags="-g -O3" + buildflags="-g -O2" CONFIG_OPTS="--enable-targets=powerpc64-%{_target_vendor}-linux" ;; arm) platform_includes=asm-arm - buildflags="-g -O3" + buildflags="-g -O2" %if "%{?softfloat}" == "1" CONFIG_LIBDIR_ADD="/soft-float" CONFIG_ADD="--without-fp" @@ -354,7 +369,7 @@ case %{target_cpu} in ;; x86_64) platform_includes=asm-x86_64 - buildflags="-g -O3" + buildflags="-g -O2" CONFIG_OPTS="--enable-targets=x86_64-%{_target_vendor}-linux --enable-multi-arch --enable-static-pie --enable-cet" ;; *) @@ -426,13 +441,17 @@ rm -rf ../glibc-build mkdir ../glibc-build cd ../glibc-build -#CFLAGS="$buildflags -Wl,--build-id" +export CFLAGS="$buildflags" +export CXXFLAGS="$buildflags" ../%{name}-%{version}/configure \ ${_configure_flags[@]} %if "%{?stage1}" != "1" -make %{_smp_mflags} -r %PARALLELMFLAGS=-s slibdir=%{slibdir} \ +# build libraries with fortify disabled +echo "build-programs=no" >> configparms + +make %{_smp_mflags} -r %PARALLELMFLAGS=-s -j1 slibdir=%{slibdir} \ %if "%{_target_platform}" != "%{_host}" %if "%{?stage2}" != "1" LDLIBS-resolv.so+="-lssp" LDFLAGS-nscd+="-lssp" @@ -441,6 +460,12 @@ make %{_smp_mflags} -r %PARALLELMFLAGS=-s slibdir=%{slibdir} \ %endif %endif +# re-enable fortify for programs +sed -i "/build-programs=/s#no#yes#" configparms +echo "CC += -D_FORTIFY_SOURCE=2" >> configparms +echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms +make %{_smp_mflags} -r %PARALLELMFLAGS=-s slibdir=%{slibdir} + # build documentation (pdf and html formats) %if %{build_doc} make pdf html @@ -566,10 +591,15 @@ rm -f %{buildroot}%{_localstatedir}/db/Makefile rm -f %{buildroot}%{_prefix}/%{_target_platform}/%{_sysconfdir}/ld.so.cache %endif -## work around to avoid stripping libthread_db-1.0.so for debugging -#%if "%{?stage1}" != "1" -#chmod -x %{buildroot}/%{glibc_libdir}/libthread_db-1.0.so -#%endif +# work around to avoid stripping libthread_db-1.0.so for debugging +%if "%{_target_platform}" == "%{_host}" +%if "%{?stage1}" != "1" +#chmod -x %{buildroot}/%{slibdir}/ld-*.so +#chmod -x %{buildroot}/%{slibdir}/libc-*.so +chmod -x %{buildroot}/%{slibdir}/libpthread-*.so +chmod -x %{buildroot}/%{slibdir}/libthread_db-*.so +%endif +%endif rm -f %{buildroot}%{_libdir}/libnsl.* @@ -693,7 +723,7 @@ fi %files %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/rpc -/%{slibdir}/* +%attr(0755,-,-) /%{slibdir}/* %exclude %{slibdir}/libmemusage.so %exclude %{slibdir}/libpcprofile.so %dir %{glibc_libdir}/gconv @@ -711,17 +741,6 @@ fi %{glibc_libexecdir}/getconf/POSIX_V6_LP64_OFF64 %{glibc_libexecdir}/getconf/POSIX_V7_LP64_OFF64 %{glibc_libexecdir}/getconf/XBS5_LP64_OFF64 -# Multilib -%{_sysconfdir}/ld.so.conf.d/lib32-glibc.conf -%{_prefix}/lib32/lib*-%{version}.so -%{_prefix}/lib32/lib*.so.* -%dir %{_prefix}/lib32/audit -%{_prefix}/lib32/audit/sotruss-lib.so -%{_prefix}/lib32/ld-%{version}.so -%{_prefix}/lib32/ld-linux.so.* -%dir %{_prefix}/lib32/gconv -%{_prefix}/lib32/gconv/* -%{_prefix}/lib32/locale %endif %doc COPYING* LICENSES @@ -734,19 +753,32 @@ fi %if "%{build_profile}" == "1" %exclude %{glibc_libdir}/lib*_p.a %endif +%{_infodir}/* +%{_localstatedir}/db/Makefile +%doc NEWS README* + %ifarch x86_64 -# Multilib +%files multilib +%defattr(-,root,root) +%{_sysconfdir}/ld.so.conf.d/lib32-glibc.conf +%{_prefix}/lib32/lib*-%{version}.so +%{_prefix}/lib32/lib*.so.* +%dir %{_prefix}/lib32/audit +%{_prefix}/lib32/audit/sotruss-lib.so +%{_prefix}/lib32/ld-%{version}.so +%{_prefix}/lib32/ld-linux.so.* +%dir %{_prefix}/lib32/gconv +%{_prefix}/lib32/gconv/* +%{_prefix}/lib32/locale + +%files multilib-devel +%defattr(-,root,root) %{_prefix}/lib32/*.o %{_prefix}/lib32/lib*.a %{_prefix}/lib32/lib*.so %exclude %{_prefix}/lib32/lib*-%{version}.so %endif -%{_infodir}/* -%{_localstatedir}/db/Makefile -%doc ChangeLog -%doc NEWS README* - %if %{build_doc} %files apidocs %defattr(-,root,root) @@ -841,6 +873,13 @@ fi %endif %changelog +* Tue Mar 03 2020 Automatic Build System 2.31-1mamba +- automatic version update by autodist + +* Thu Dec 26 2019 Silvan Calarco 2.30-7mamba +- restore passing buildflags and don't strip libpthread-* and libthread_db-* for debugging +- x86_64: restore glibc-multilib and glibc-multilib-devel subpackages since conflicts with glibc.i586 are resolved by using /usr/lib32 + * Tue Dec 10 2019 Silvan Calarco 2.30-6mamba - install tmpfiles.d/nscd.conf