Fix copying libraries

This commit is contained in:
Daniel Winzen
2022-07-17 11:20:11 +02:00
parent e0bbda7182
commit cdc6feab4c

View File

@ -20,24 +20,12 @@ function CHROOT_BINARY() {
LDD_FILES="$(ldd $BINARY 2>&1 | grep -v 'not a dynamic executable' | grep 'ld-linux' | awk '{ print $1; }' || echo)"
if [ "$LIB_FILES" != "" ]; then
for LIB_FILE in $LIB_FILES; do
LIB_DIRECTORY="$(dirname $LIB_FILE)"
if [[ ! "${ALL_LIB_DIRECTORIES[@]}" =~ "$LIB_DIRECTORY" ]]; then
ALL_LIB_DIRECTORIES=(${ALL_LIB_DIRECTORIES[@]} "$LIB_DIRECTORY")
fi
if [[ ! "${ALL_LIB_FILES[@]}" =~ "$LIB_FILE" ]]; then
ALL_LIB_FILES=(${ALL_LIB_FILES[@]} "$LIB_FILE")
fi
ADD_LIB $LIB_FILE
done
fi
if [ "$LDD_FILES" != "" ]; then
for LDD_FILE in $LDD_FILES; do
LDD_DIRECTORY="$(dirname $LDD_FILE)"
if [[ ! "${ALL_LIB_DIRECTORIES[@]}" =~ "$LDD_DIRECTORY" ]]; then
ALL_LIB_DIRECTORIES=(${ALL_LIB_DIRECTORIES[@]} "$LDD_DIRECTORY")
fi
if [[ ! "${ALL_LIB_FILES[@]}" =~ "$LDD_DIRECTORY" ]]; then
ALL_LIB_FILES=(${ALL_LIB_FILES[@]} "$LDD_FILE")
fi
ADD_LIB $LDD_FILE
done
fi
BINARY_DIRECTORY="$(dirname $BINARY)"
@ -46,6 +34,16 @@ function CHROOT_BINARY() {
chmod 0555 $CHROOT_DIRECTORY$BINARY
}
function ADD_LIB() {
LIB_DIRECTORY="$(dirname $1)"
if [[ ! "${ALL_LIB_DIRECTORIES[@]}" =~ "$LIB_DIRECTORY" ]]; then
ALL_LIB_DIRECTORIES=(${ALL_LIB_DIRECTORIES[@]} "$LIB_DIRECTORY")
fi
if [[ ! "${ALL_LIB_FILES[@]}" =~ "$1" ]]; then
ALL_LIB_FILES=(${ALL_LIB_FILES[@]} "$1")
fi
}
function CHROOT_LIBRARIES() {
for DIRECTORY in ${ALL_LIB_DIRECTORIES[@]}; do
mkdir -pm 0555 $CHROOT_DIRECTORY$DIRECTORY
@ -324,12 +322,12 @@ for BINARY in `find /usr/lib/git-core -type f`; do
CHROOT_BINARY $BINARY
done
# networking
for BINARY in /lib/*/libnss_*; do
CHROOT_BINARY $BINARY
for LIB in /lib/*/libnss_*; do
ADD_LIB $LIB
done
# php
for BINARY in /usr/lib/php/*/*.so; do
CHROOT_BINARY $BINARY
for LIB in /usr/lib/php/*/*.so; do
ADD_LIB $LIB
done
CHROOT_LIBRARIES
ldconfig -r $CHROOT_DIRECTORY