Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 30 additions & 11 deletions glibc.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package:
name: glibc
version: 2.37
epoch: 7
epoch: 9
description: "the GNU C library"
copyright:
- license: GPL-3.0-or-later
Expand Down Expand Up @@ -69,15 +69,25 @@ pipeline:
- name: 'Configure glibc'
runs: |
cd build
echo "user-defined-trusted-dirs=/usr/local/lib:/usr/local/lib64:/usr/lib:/usr/lib64:/lib:/lib64" >> configparms.base
echo "rtlddir=/lib" >> configparms.base
echo "slibdir=/lib" >> configparms.base
echo "libdir=/usr/lib" >> configparms.base

echo "build-programs=no" > configparms
cat configparms.base >> configparms

# We remove fortify when building the libraries
export CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=3/}
export CPPFLAGS=${CPPFLAGS/-Wp,-D_FORTIFY_SOURCE=3/}

../configure \
--prefix=/usr \
--libdir=/usr/lib \
--datadir=/usr/share \
--includedir=/usr/include \
--host=${{host.triplet.gnu}} \
--build=$(../config.guess) \
--build=${{host.triplet.gnu}} \
--disable-werror \
--enable-kernel=4.9

Expand All @@ -87,8 +97,13 @@ pipeline:
make -C build -j$(nproc)

- runs: |
export CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=3/}
export CPPFLAGS=${CPPFLAGS/-Wp,-D_FORTIFY_SOURCE=3/}
# Build the programs with fortify
echo "build-programs=yes" > build/configparms
echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=3" >> build/configparms
cat build/configparms.base >> build/configparms
make -C build -j$(nproc)

- runs: |
make -C build -j$(nproc) install DESTDIR="${{targets.destdir}}"

- name: "Set up ldconfig"
Expand Down Expand Up @@ -320,10 +335,14 @@ subpackages:
runs: |
mkdir -p "${{targets.subpkgdir}}"/lib
mv "${{targets.destdir}}"/lib/ld-linux-aarch64.so.1 "${{targets.subpkgdir}}"/lib/
# Regrettably, the LSB *requires* the GLIBC ELF loader to be installed in `/lib64`.
- if: ${{build.arch}} == 'x86_64'
runs: |
mkdir -p "${{targets.subpkgdir}}"/lib64
mv "${{targets.destdir}}"/lib64/ld-linux-x86-64.so.2 "${{targets.subpkgdir}}"/lib64/
mv "${{targets.destdir}}"/lib/ld-linux-x86-64.so.2 "${{targets.subpkgdir}}"/lib64/
- runs: |
mkdir -p "${{targets.subpkgdir}}"/etc
mv "${{targets.destdir}}"/etc/ld.so.* "${{targets.subpkgdir}}"/etc/
dependencies:
runtime:
- wolfi-baselayout
Expand Down Expand Up @@ -415,26 +434,26 @@ subpackages:
pipeline:
- runs: |
mkdir -p "${{targets.subpkgdir}}"/usr/bin
mkdir -p "${{targets.subpkgdir}}"/lib64
mkdir -p "${{targets.subpkgdir}}"/lib
mkdir -p "${{targets.subpkgdir}}"/var

mv "${{targets.destdir}}"/usr/bin/makedb "${{targets.subpkgdir}}"/usr/bin
mv "${{targets.destdir}}"/lib64/libnss_db.so.2 "${{targets.subpkgdir}}"/lib64
mv "${{targets.destdir}}"/lib/libnss_db.so.2 "${{targets.subpkgdir}}"/lib
mv "${{targets.destdir}}"/var/db "${{targets.subpkgdir}}"/var

- name: "nss-hesiod"
description: "NSS module for hesiod lookups"
pipeline:
- runs: |
mkdir -p "${{targets.subpkgdir}}"/lib64
mv "${{targets.destdir}}"/lib64/libnss_hesiod.so.2 "${{targets.subpkgdir}}"/lib64
mkdir -p "${{targets.subpkgdir}}"/lib
mv "${{targets.destdir}}"/lib/libnss_hesiod.so.2 "${{targets.subpkgdir}}"/lib

- name: "pcprofiledump"
description: "PC profiling tool"
pipeline:
- runs: |
mkdir -p "${{targets.subpkgdir}}"/lib64
mv "${{targets.destdir}}"/lib64/libpcprofile.so "${{targets.subpkgdir}}"/lib64
mkdir -p "${{targets.subpkgdir}}"/lib
mv "${{targets.destdir}}"/lib/libpcprofile.so "${{targets.subpkgdir}}"/lib

mkdir -p "${{targets.subpkgdir}}"/usr/bin
mv "${{targets.destdir}}"/usr/bin/pcprofiledump "${{targets.subpkgdir}}"/usr/bin
Expand Down