#!/bin/sh -e chrooted_slib=lib # Source functions library . /etc/chroot.d/functions cd /var/lib/ldap force= if [ "$1" = "force" ]; then force=-f shift fi # copy libgcc_s CopyLibs $verbose $force \ -l/${chrooted_slib}/libgcc_s.so.1 \ -d lib # copy SASL2 plugins CopyLibs $verbose $force \ -l/usr/${chrooted_slib}/sasl2/lib*.so \ -d usr/lib/sasl2 # copy OpenLDAP plugins CopyLibs $verbose $force \ -l/usr/lib/openldap/* \ -d usr/lib/openldap ldd /usr/${chrooted_slib}/sasl2/lib*.so /usr/lib/openldap/* 2>/dev/null | sed -ne 's/^[[:space:]]\+\([^[:space:]]\+ => \)\?\([^[:space:]]\+\) (0x\([0-9a-f]\+\))$/\2/p' | sort -u >.libs ldd /usr/sbin/slapd 2>/dev/null | sed -ne 's/^[[:space:]]\+\([^[:space:]]\+ => \)\?\([^[:space:]]\+\) (0x\([0-9a-f]\+\))$/\2/p' | sort -u | comm -13 - .libs | while read f; do src=$(readlink -ne "$f") && [ -n "$src" -a -e "$src" ] || continue # Skip missing files. Copy $verbose $force "$src" ./usr/${chrooted_slib}/"${f##*/}" done rm .libs if [ ! -c dev/urandom ]; then ln $verbose $force /dev/urandom dev/urandom 2>/dev/null || cp -a $verbose $force /dev/urandom dev/urandom fi copy_resolv_lib