@@ -57,22 +57,23 @@ mkdir -p "$PREFIX/lib"
5757
5858echo " >>> Downloading prebuilt glibc-$GLIBC_VERSION (CentOS Stream 9)"
5959
60- # Choose a mirror (can switch if one dies)
60+ # Pick a mirror with real packages
6161RPM_URL=" http://mirror.stream.centos.org/9-stream/BaseOS/x86_64/os/Packages/glibc-${GLIBC_VERSION} -100.el9.x86_64.rpm"
6262
6363# Download RPM
64- curl -L " $RPM_URL " -o /tmp/glibc.rpm
65-
66- # Extract without root
67- command -v rpm2cpio > /dev/null 2>&1 || {
68- echo " >>> rpm2cpio not found, downloading static helper..."
69- curl -L https://raw.githubusercontent.com/rpm-software-management/rpm/main/scripts/rpm2cpio.sh -o /tmp/rpm2cpio.sh
64+ curl -fsSL " $RPM_URL " -o /tmp/glibc.rpm
65+
66+ echo " >>> Extracting RPM..."
67+ if command -v bsdtar > /dev/null 2>&1 ; then
68+ bsdtar -xf /tmp/glibc.rpm
69+ elif command -v rpm2cpio > /dev/null 2>&1 ; then
70+ rpm2cpio /tmp/glibc.rpm | cpio -idmv
71+ else
72+ echo " Neither bsdtar nor rpm2cpio found, trying to fetch rpm2cpio.sh..."
73+ curl -fsSL https://raw.githubusercontent.com/rpm-software-management/rpm/main/scripts/rpm2cpio.sh -o /tmp/rpm2cpio.sh
7074 chmod +x /tmp/rpm2cpio.sh
71- RPM2CPIO=/tmp/rpm2cpio.sh
72- }
73- RPM2CPIO=${RPM2CPIO:- rpm2cpio}
74-
75- $RPM2CPIO /tmp/glibc.rpm | cpio -idmv
75+ /tmp/rpm2cpio.sh /tmp/glibc.rpm | cpio -idmv
76+ fi
7677
7778# Copy only runtime loader + libc
7879cp ./usr/lib64/libc.so.6 \
0 commit comments