diff --git a/var/www/setup_chroot.sh b/var/www/setup_chroot.sh index 63697ad..97e72b1 100755 --- a/var/www/setup_chroot.sh +++ b/var/www/setup_chroot.sh @@ -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