]> git.ipfire.org Git - people/ms/ipfire-3.x.git/blobdiff - glibc/glibc.nm
tmux: New package.
[people/ms/ipfire-3.x.git] / glibc / glibc.nm
index aa405471379df08f87963b8accdff8017f84bab4..90a55bc05bf0c890845dfd8162d70b1c7979442b 100644 (file)
@@ -4,7 +4,7 @@
 ###############################################################################
 
 name       = glibc
-version    = 2.14.1
+version    = 2.19
 release    = 1
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
@@ -23,11 +23,8 @@ description
        Linux system will not function.
 end
 
-# The version of the ports addon.
-ports_version = %{version}
-
 source_dl  = http://ftp.gnu.org/gnu/glibc/
-sources    = %{thisapp}.tar.xz glibc-ports-%{ports_version}.tar.xz
+sources    = %{thisapp}.tar.xz
 
 build
        # Optimize glibc for kernel
@@ -38,10 +35,9 @@ build
                autoconf
                automake
                gettext
-               kernel-headers>=%{OPTIMIZED_KERNEL}
+               kernel-headers >= %{OPTIMIZED_KERNEL}
                libcap-devel
                libselinux-devel
-               nss-devel
                texinfo
        end
 
@@ -61,16 +57,7 @@ build
 
        export QUALITY_AGENT_RPATH_ALLOW_ORIGIN=yes
 
-       prepare
-               # Extract source tarballs.
-               %{MACRO_EXTRACT_TARBALL}
-
-               # Create link for ports addon.
-               ln -svf ../glibc-ports-%{ports_version} ports
-
-               # Apply the patches.
-               %{MACRO_PATCHES}
-
+       prepare_cmds
                # In the vi_VN.TCVN locale, bash enters an infinite loop at startup. It is
                # unknown whether this is a bash bug or a Glibc problem. Disable
                # installation of this locale in order to avoid the problem.
@@ -87,62 +74,12 @@ build
                # Build nscd with -fstack-protector-all, instead of -fstack-protector:
                sed -e "s/fstack-protector/&-all/" -i nscd/Makefile
 
-               cat %{DIR_SOURCE}/glibc-stack_chk_fail.c > debug/stack_chk_fail.c
-
                # Use gnu hash style
                sed -i Makeconfig \
                        -e "s/-Wl,--hash-style=both/-Wl,--hash-style=gnu -Wl,-O1/"
 
-               # stdlib/tst-putenvmod is not linked against libc.
-               sed -i stdlib/Makefile \
-                       -e "s/^CFLAGS-tst-putenvmod.c.*/& -fno-stack-protector/g"
-
-               # stdio-common/bug22 hits timeout.
-               sed -i stdio-common/bug22.c \
-                       -e "s/#define TIMEOUT.*/#define TIMEOUT 300/"
-
-               # These tests don't work or need more investigation:
-               sed -i dlfcn/Makefile -e "s/default //g"
-
-               sed -i nptl/Makefile \
-                       -e "s/tst-mutex5 //g" \
-                       -e "s/tst-mutex5a //g" \
-                       -e "s/tst-cond11 //g" \
-                       -e "s/tst-rwlock6 //g" \
-                       -e "s/tst-rwlock7 //g" \
-                       -e "s/tst-sem5 //g" \
-                       -e "s/tst-cancelx4 //g" \
-                       -e "s/tst-cancelx5 //g" \
-                       -e "s/tst-cancelx10 //g" \
-                       -e "s/tst-cancelx18 //g" \
-                       -e "s/tst-signal1 //g"
-
-               # These are known to fail on x86:
-               sed -i rt/Makefile \
-                       -e "s/tst-cpuclock1 //g" \
-                       -e "s/tst-cpuclock2 //g"
-
-               sed -i elf/Makefile \
-                       -e "s/tst-tls1 //g" \
-                       -e "s/tst-tls1-static //g" \
-                       -e "s/tst-tls2 //g" \
-                       -e "s/tst-tls2-static //g" \
-                       -e "s/tst-tls3 //g" \
-                       -e "s/resolvfail //g" \
-                       -e "s/constload1 //g" \
-                       -e "s/order //g" \
-                       -e "s/lateglobal //g" \
-                       -e "s/dblload //g" \
-                       -e "s/dblunload //g" \
-                       -e "s/reldep6 //g" \
-                       -e "s/circleload1 //g" \
-                       -e "s/tst-global1 //g" \
-                       -e "s/tst-audit2 //g" \
-                       -e "s/check-localplt //g" \
-                       -e "s/check-localplt.out$$//g"
-
-               sed -i signal/Makefile \
-                       -e "s/tst-sigset2//g"
+               # http://sourceware.org/ml/libc-ports/2011-09/msg00018.html
+               sed -e "s/PIC/SHARED/g" -i ports/sysdeps/arm/{set,__long}jmp.S
        end
 
        configure_options = \
@@ -154,9 +91,10 @@ build
                --enable-kernel=%{OPTIMIZED_KERNEL} \
                --with-selinux \
                --disable-werror \
-               --enable-experimental-malloc \
                --enable-bind-now \
-               --enable-nss-crypt
+               --enable-obsolete-rpc \
+               --with-bugurl=http://bugtracker.ipfire.org \
+               --enable-lock-elision
 
        if "%{DISTRO_ARCH}" == "armv5tel"
                # Disable hardware FP for ARM.
@@ -192,13 +130,6 @@ build
                        CFLAGS="%{CFLAGS}" CXXFLAGS="%{CXXFLAGS}"
        end
 
-       #test
-       #       cd $(DIR_SRC)/glibc-build
-       #       make check TIMEOUTFACTOR=16 \
-       #               CFLAGS="%{CFLAGS} -fno-stack-protector -U_FORTIFY_SOURCE" \
-       #               CXXFLAGS="%{CXXFLAGS} -fno-stack-protector -U_FORTIFY_SOURCE"
-       #end
-
        install
                cd %{DIR_SRC}/glibc-build
                make install install_root=%{BUILDROOT}
@@ -208,16 +139,15 @@ build
                # This would install all locales that are supported
                make localedata/install-locales install_root=%{BUILDROOT}
 
-               # Timezone
-               cp -v --remove-destination %{BUILDROOT}/usr/share/zoneinfo/GMT \
-                       %{BUILDROOT}/etc/localtime
-               rm -rf %{BUILDROOT}/usr/share/zoneinfo
-
                # Configuration
                cp -vf %{DIR_SOURCE}/{ld.so.conf,nsswitch.conf} %{BUILDROOT}/etc
                mkdir -pv %{BUILDROOT}/etc/{default,ld.so.conf.d}
                install -p -m644 %{DIR_APP}/nis/nss %{BUILDROOT}/etc/default/nss
 
+               if [ "%{DISTRO_ARCH}" = "armv7hl" ]; then
+                       ln -svf ld-linux-armhf.so.3 %{BUILDROOT}/lib/ld-linux.so.3
+               fi
+
                # Remove unused binaries
                rm -vf %{BUILDROOT}/sbin/sln \
                        %{BUILDROOT}/usr/bin/rpcinfo
@@ -233,6 +163,12 @@ build
 
                # Move some libs to correct place
                mv -v %{BUILDROOT}/%{lib}/lib{memusage,pcprofile}.so %{BUILDROOT}%{libdir}
+
+               # Fix library permissions.
+               chmod 755 %{BUILDROOT}%{libdir}/lib*.so*
+
+               # rquota.x and rquota.h are now provided by quota
+               rm -vf %{BUILDROOT}%{includedir}/rpcsvc/rquota.[hx]
        end
 
        keep_libraries
@@ -243,18 +179,28 @@ end
 
 packages
        package glibc
-               requires = glibc-common=%{thisver}
+               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 = tzdata
+               requires
+                       glibc = %{thisver}
+                       tzdata
+               end
 
                files
                        /usr/bin
                        /usr/sbin
                        /usr/share
+                       /usr/lib/locale
                        !/usr/share/zoneinfo
                end
        end
@@ -274,9 +220,16 @@ packages
                end
                group = Development/Libraries
 
-               requires = glibc-headers=%{thisver}
+               requires
+                       glibc = %{thisver}
+                       glibc-headers = %{thisver}
+               end
 
-               files = %{libdir}/*.a %{libdir}/*.o
+               files
+                       %{includedir}
+                       %{libdir}/*.a
+                       %{libdir}/*.o
+               end
        end
 
        package glibc-headers
@@ -292,7 +245,10 @@ packages
                        use the standard C libraries.
                end
 
-               requires = kernel-headers
+               requires
+                       glibc = %{thisver}
+                       kernel-headers >= %{OPTIMIZED_KERNEL}
+               end
 
                files
                        /usr/include