]> git.ipfire.org Git - ipfire-3.x.git/blobdiff - glibc/glibc.nm
kernel: Update to 5.3.8
[ipfire-3.x.git] / glibc / glibc.nm
index 813b988414c674bcde84cd6c3f4ef731d81a5ceb..eb3f7e2ccd1d33b8cefbb013f4fadb68d92494c1 100644 (file)
@@ -4,12 +4,12 @@
 ###############################################################################
 
 name       = glibc
-version    = 2.20
+version    = 2.29
 release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = System/Base
-url        = http://sources.redhat.com/glibc/
+url        = http://www.gnu.org/software/libc/libc.html
 license    = GPLv2+ LGPLv2+
 summary    = The GNU libc libraries.
 
@@ -23,26 +23,30 @@ description
        Linux system will not function.
 end
 
-source_dl  = http://ftp.gnu.org/gnu/glibc/
+source_dl  = https://ftp.gnu.org/gnu/glibc/
 sources    = %{thisapp}.tar.xz
 
 build
        # Optimize glibc for kernel
-       OPTIMIZED_KERNEL = 2.6.32
+       OPTIMIZED_KERNEL = 3.2
 
        requires
-               audit-devel
                autoconf
                automake
+               binutils >= 2.29
+               bison
+               gcc >= 8
                gettext
                kernel-headers >= %{OPTIMIZED_KERNEL}
                libcap-devel
-               libselinux-devel
+               libstdc++-static
+               make >= 4.0
+               python3 >= 3.4
                texinfo
        end
 
        # Build glibc with custom cflags
-       GLIBC_FLAGS = -O3 -g -fasynchronous-unwind-tables -DNDEBUG -fPIC -DPIC
+       GLIBC_FLAGS = -O2 -g -DNDEBUG -pipe
 
        if "%{DISTRO_ARCH}" == "i686"
                GLIBC_FLAGS += -march=i686 -mtune=generic
@@ -67,12 +71,11 @@ build
                # program interpreter to /bin/bash in case another /bin/sh is installed.
                sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in
 
-               # We don't install pt_chown(1) on the final system, so why install it to
-               # $(TOOLS_DIR):
+               # We don't install pt_chown(1) on the final system
                sed -e "/^install.*pt_chown/d" -i login/Makefile
 
                # Build nscd with -fstack-protector-all, instead of -fstack-protector:
-               sed -e "s/fstack-protector/&-all/" -i nscd/Makefile
+               sed -e "s/fstack-protector/&-strong/" -i nscd/Makefile
 
                # Use gnu hash style
                sed -i Makeconfig \
@@ -89,12 +92,13 @@ build
                --disable-profile \
                --enable-add-ons \
                --enable-kernel=%{OPTIMIZED_KERNEL} \
-               --with-selinux \
                --disable-werror \
+               --enable-stack-protector=strong \
                --enable-bind-now \
                --enable-obsolete-rpc \
                --with-bugurl=http://bugtracker.ipfire.org \
-               --enable-lock-elision
+               --enable-lock-elision \
+               --enable-cet
 
        if "%{DISTRO_ARCH}" == "armv5tel"
                # Disable hardware FP for ARM.
@@ -110,22 +114,6 @@ build
                ../%{thisapp}/configure \
                        %{configure_options}
 
-               sed -i config.make \
-                       -e "s/^build-pic-default=.*/build-pic-default=yes/"
-
-               # Our GCC is already passing -fPIC, and that's all we want for the libraries.
-               # LDFLAGS.so is appended to so we don't build shared libraries with
-               # DT_TEXTREL (and to tell us if something goes wrong). For now we only build
-               # the libraries, not the programs:
-               echo "build-programs=no" >> configparms
-
-               make PARALLELMFLAGS=%{PARALLELISMFLAGS} \
-                       CFLAGS="%{CFLAGS} -fno-stack-protector -U_FORTIFY_SOURCE" \
-                       CXXFLAGS="%{CXXFLAGS} -fno-stack-protector -U_FORTIFY_SOURCE"
-
-               # Then build the programs with hardening, so everything possible in
-               # is hardened:
-               echo "# Nothing in here :D" > configparms
                make PARALLELMFLAGS=%{PARALLELISMFLAGS} \
                        CFLAGS="%{CFLAGS}" CXXFLAGS="%{CXXFLAGS}"
        end
@@ -173,88 +161,50 @@ build
 
        keep_libraries
                %{libdir}/libc_nonshared.a
+               %{libdir}/libmvec_nonshared.a
                %{libdir}/libpthread_nonshared.a
        end
 end
 
 packages
        package glibc
-               requires = glibc-common = %{thisver}
-
                if "%{DISTRO_ARCH}" == "armv7hl"
                        provides += ld-linux.so.3
                        provides += ld-linux.so.3(GLIBC_2.4)
                        provides += ld-linux.so.3(GLIBC_PRIVATE)
                end
-       end
-
-       package glibc-common
-               # XXX description and summary are missing
 
                requires
-                       glibc = %{thisver}
                        tzdata
                end
 
-               files
-                       /usr/bin
-                       /usr/sbin
-                       /usr/share
-                       /usr/lib/locale
-                       !/usr/share/zoneinfo
+               conflicts
+                       kernel < %{OPTIMIZED_KERNEL}
+               end
+
+               obsoletes
+                       glibc-common < %{thisver}
                end
        end
 
        package glibc-devel
-               summary = Object files for development using standard C libraries.
-               description
-                       The glibc-devel package contains the object 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 object files available in order to create the
-                       executables.
-
-                       Install glibc-devel if you are going to develop programs which will
-                       use the standard C libraries.
-               end
-               group = Development/Libraries
+               template DEVEL
 
                requires
                        glibc = %{thisver}
                        glibc-headers = %{thisver}
+                       kernel-headers >= %{OPTIMIZED_KERNEL}
                end
 
-               files
-                       %{includedir}
-                       %{libdir}/*.a
-                       %{libdir}/*.o
-               end
-       end
-
-       package glibc-headers
-               description
-                       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.
+               provides
+                       glibc-headers = %{thisver}
                end
 
-               requires
-                       glibc = %{thisver}
-                       kernel-headers >= %{OPTIMIZED_KERNEL}
+               obsoletes
+                       glibc-headers < %{thisver}
                end
 
-               files
-                       /usr/include
-                       !/usr/include/linuxthreads
-                       !/usr/include/gnu/stubs-[32164]*.h
-               end
+               files += %{libdir}/*.[ao]
        end
 
        package nscd