Skip to content

Commit a68bd39

Browse files
committed
use bsdtar
1 parent f37416d commit a68bd39

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

.ci/scripts/wheel/pre_build_script.sh

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -57,22 +57,23 @@ mkdir -p "$PREFIX/lib"
5757

5858
echo ">>> 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
6161
RPM_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
7879
cp ./usr/lib64/libc.so.6 \

0 commit comments

Comments
 (0)