mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-11-12 23:43:44 +08:00
24 lines
1.7 KiB
Bash
Executable File
24 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Regenerate this directory from Ubuntu 24.04 (noble) arm64 packages. Requires Docker.
|
|
# The comma's own libpulse0/libpulsecommon must be the same PulseAudio build (check SHA256SUMS of
|
|
# /usr/lib/aarch64-linux-gnu/pulseaudio/libpulsecommon-16.1.so on a device before bumping).
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")"
|
|
docker run --rm --platform linux/arm64 -v "$PWD:/out" ubuntu:24.04 bash -euc '
|
|
apt-get -qq update >/dev/null
|
|
DEBIAN_FRONTEND=noninteractive apt-get -qq install -y --no-install-recommends libpulse0 libasound2t64 libsndfile1 libwrap0 \
|
|
libx11-xcb1 libgomp1 libasyncns0 libsystemd0 libudev1 libdbus-1-3 >/dev/null
|
|
cd /tmp && apt-get download pulseaudio pulseaudio-utils libltdl7 liborc-0.4-0t64 libsoxr0 libspeexdsp1 libtdb1 >/dev/null
|
|
sha512sum *.deb > /out/PACKAGES.sha512
|
|
for deb in *.deb; do dpkg-deb -x "$deb" root; done
|
|
R=/tmp/root; M=$R/usr/lib/pulse-16.1+dfsg1/modules
|
|
rm -rf /out/bin /out/lib /out/modules /out/licenses && mkdir -p /out/bin /out/lib /out/modules /out/licenses
|
|
cp $R/usr/bin/pulseaudio $R/usr/bin/pactl /out/bin/
|
|
for m in module-native-protocol-unix module-alsa-sink module-null-sink module-pipe-sink; do cp $M/$m.so /out/modules/; done
|
|
export LD_LIBRARY_PATH=$R/usr/lib/aarch64-linux-gnu:$R/usr/lib/aarch64-linux-gnu/pulseaudio:$M
|
|
for f in /out/bin/* /out/modules/*.so; do ldd "$f"; done | awk "/=>/{print \$3}" | sort -u | grep "^$R" |
|
|
while read -r lib; do cp -L "$lib" /out/lib/; done
|
|
for p in pulseaudio pulseaudio-utils libltdl7 liborc-0.4-0t64 libsoxr0 libspeexdsp1 libtdb1; do cp -L $R/usr/share/doc/$p/copyright /out/licenses/$p.copyright; done
|
|
chmod 755 /out/bin/* && chmod 644 /out/lib/* /out/modules/* /out/licenses/*
|
|
cd /out && sha256sum bin/* lib/* modules/* > SHA256SUMS'
|