[arch-commits] Commit in glibc/trunk (PKGBUILD)

Frederik Schwan freswa at gemini.archlinux.org
Wed Feb 9 16:21:58 UTC 2022


    Date: Wednesday, February 9, 2022 @ 16:21:58
  Author: freswa
Revision: 436733

upgpkg: glibc 2.35-1

Modified:
  glibc/trunk/PKGBUILD

----------+
 PKGBUILD |  106 ++++++++++++++++++++++++++++---------------------------------
 1 file changed, 49 insertions(+), 57 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-02-09 16:21:48 UTC (rev 436732)
+++ PKGBUILD	2022-02-09 16:21:58 UTC (rev 436733)
@@ -1,19 +1,21 @@
-# Maintainer:  Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
+# Maintainer: Giancarlo Razzolini <grazzolini at archlinux.org>
+# Maintainer: Frederik Schwan <freswa at archlinux dot org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski at archlinux.org>
 # Contributor: Allan McRae <allan at archlinux.org>
 
-# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc
+# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc
 # NOTE: valgrind requires rebuilt with each major glibc version
 
 pkgbase=glibc
 pkgname=(glibc lib32-glibc)
-pkgver=2.33
-pkgrel=5
+pkgver=2.35
+pkgrel=1
 arch=(x86_64)
 url='https://www.gnu.org/software/libc'
 license=(GPL LGPL)
 makedepends=(git gd lib32-gcc-libs python)
 optdepends=('perl: for mtrace')
-options=(!strip staticlibs)
+options=(!strip staticlibs !lto)
 #_commit=3de512be7ea6053255afed6154db9ee31d4e557a
 #source=(git+https://sourceware.org/git/glibc.git#commit=$_commit
 source=(https://ftp.gnu.org/gnu/glibc/glibc-$pkgver.tar.xz{,.sig}
@@ -20,24 +22,16 @@
         locale.gen.txt
         locale-gen
         lib32-glibc.conf
-        sdt.h sdt-config.h
-        bz27343.patch
-        0001-nptl_db-Support-different-libpthread-ld.so-load-orde.patch
-        0002-nptl-Check-for-compatible-GDB-in-nptl-tst-pthread-gd.patch
-        0003-nptl-Do-not-build-nptl-tst-pthread-gdb-attach-as-PIE.patch)
+        sdt.h sdt-config.h)
 validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell
               BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar
-md5sums=('390bbd889c7e8e8a7041564cb6b27cca'
-         'SKIP'
-         '07ac979b6ab5eeb778d55f041529d623'
-         '476e9113489f93b348b21e144b6a8fcf'
-         '6e052f1cb693d5d3203f50f9d4e8c33b'
-         '91fec3b7e75510ae2ac42533aa2e695e'
-         '680df504c683640b02ed4a805797c0b2'
-         'cfe57018d06bf748b8ca1779980fef33'
-         '78f041fc66fee4ee372f13b00a99ff72'
-         '9e418efa189c20053e887398df2253cf'
-         '7a09f1693613897add1791e7aead19c9')
+b2sums=('623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063'
+        'SKIP'
+        '46d533d25c7a2ce4ae75d452eee7ebb8e3ce4d191af9be3daa43718b78cb81d33cfd8046a117a15d87de9f5e940448c66005b0490515bf731c9e4691c53908d6'
+        '1f6d927b4972220b1c00abee5329c5d6bc01ed5bee57b20db0c7d7433292f7d666b02baf9968267f8e378b1f3bb273e8eef0ccbf22d21400ac36949d7615a474'
+        '7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a'
+        'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e'
+        '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678')
 
 prepare() {
   mkdir -p glibc-build lib32-glibc-build
@@ -44,18 +38,6 @@
 
   [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc 
   cd glibc
-
-  # commit c3479fb7939898ec22c655c383454d6e8b982a67
-  patch -p1 -i "$srcdir"/bz27343.patch
-
-  # nptl_db: Support different libpthread/ld.so load orders (bug 27744)
-  patch -p1 -i "$srcdir"/0001-nptl_db-Support-different-libpthread-ld.so-load-orde.patch
-
-  # nptl: Check for compatible GDB in nptl/tst-pthread-gdb-attach
-  patch -p1 -i "$srcdir"/0002-nptl-Check-for-compatible-GDB-in-nptl-tst-pthread-gd.patch
-
-  # nptl: Do not build nptl/tst-pthread-gdb-attach as PIE
-  patch -p1 -i "$srcdir"/0003-nptl-Do-not-build-nptl-tst-pthread-gdb-attach-as-PIE.patch
 }
 
 build() {
@@ -84,14 +66,11 @@
   echo "sbindir=/usr/bin" >> configparms
   echo "rootsbindir=/usr/bin" >> configparms
 
+  # Credits @allanmcrae
+  # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
   # remove fortify for building libraries
-  CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
+  CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/}
 
-  #
-  CFLAGS=${CFLAGS/-fno-plt/}
-  CXXFLAGS=${CXXFLAGS/-fno-plt/}
-  LDFLAGS=${LDFLAGS/,-z,now/}
-
   "$srcdir/glibc/configure" \
       --libdir=/usr/lib \
       --libexecdir=/usr/lib \
@@ -99,15 +78,13 @@
 
   # build libraries with fortify disabled
   echo "build-programs=no" >> configparms
-  make
+  make -O
 
   # re-enable fortify for programs
   sed -i "/build-programs=/s#no#yes#" configparms
+  echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=2" >> configparms
+  make -O
 
-  echo "CC += -D_FORTIFY_SOURCE=2" >> configparms
-  echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
-  make
-
   # build info pages manually for reprducibility
   make info
 
@@ -120,11 +97,6 @@
   echo "sbindir=/usr/bin" >> configparms
   echo "rootsbindir=/usr/bin" >> configparms
 
-  # remove fortify for building libraries
-  CPPFLAGS=${CPPFLAGS/-D_FORTIFY_SOURCE=2/}
-  CFLAGS=${CFLAGS/-fno-plt/}
-  CXXFLAGS=${CXXFLAGS/-fno-plt/}
-
   "$srcdir/glibc/configure" \
       --host=i686-pc-linux-gnu \
       --libdir=/usr/lib32 \
@@ -133,25 +105,45 @@
 
   # build libraries with fortify disabled
   echo "build-programs=no" >> configparms
-  make
+  make -O
 
   # re-enable fortify for programs
   sed -i "/build-programs=/s#no#yes#" configparms
+  echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=2" >> configparms
+  make -O
 
-  echo "CC += -D_FORTIFY_SOURCE=2" >> configparms
-  echo "CXX += -D_FORTIFY_SOURCE=2" >> configparms
-  make
+}
 
+# Credits for skip_test() and check() @allanmcrae
+# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
+skip_test() {
+  test=$1
+  file=$2
+  sed -i "s/\b$test\b//" $srcdir/glibc/$file
 }
 
 check() {
   cd glibc-build
 
-  # remove fortify in preparation to run test-suite
-  sed -i '/FORTIFY/d' configparms
+  # adjust/remove buildflags that cause false-positive testsuite failures
+  sed -i '/FORTIFY/d' configparms                                     # failure to build testsuite
+  sed -i 's/-Werror=format-security/-Wformat-security/' config.make   # failure to build testsuite
+  sed -i '/CFLAGS/s/-fno-plt//' config.make                           # 16 failures
+  sed -i '/CFLAGS/s/-fexceptions//' config.make                       # 1 failure
+  LDFLAGS=${LDFLAGS/,-z,now/}                                         # 10 failures
 
-  # some failures are "expected"
-  make check || true
+  # The following tests fail due to restrictions in the Arch build system
+  # The correct fix is to add the following to the systemd-nspawn call:
+  # --capability=CAP_IPC_LOCK --system-call-filter="@clock @pkey"
+  skip_test test-errno-linux sysdeps/unix/sysv/linux/Makefile
+  skip_test tst-ntp_gettime  sysdeps/unix/sysv/linux/Makefile
+  skip_test tst-ntp_gettimex sysdeps/unix/sysv/linux/Makefile
+  skip_test tst-mlock2       sysdeps/unix/sysv/linux/Makefile
+  skip_test tst-pkey         sysdeps/unix/sysv/linux/Makefile
+  skip_test tst-adjtime      time/Makefile
+  skip_test tst-clock2       time/Makefile
+
+  make -O check
 }
 
 package_glibc() {



More information about the arch-commits mailing list