[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