=================================================================== RCS file: /cvs/openbsd/fill_chroot/fill_chroot,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- openbsd/fill_chroot/fill_chroot 2008/09/13 00:07:59 1.9 +++ openbsd/fill_chroot/fill_chroot 2008/09/16 23:13:21 1.10 @@ -1,38 +1,70 @@ #!/bin/sh -# $RedRiver: fill_chroot,v 1.8 2008/09/03 21:37:21 andrew Exp $ +# $RedRiver: fill_chroot,v 1.9 2008/09/12 23:07:59 andrew Exp $ CHROOT=${CHROOT:=/home/andrew/www} export CHROOT +_find="-name '*.so.*' -o -name '*.so' -o ( -name perl -a -type f )" + +install -d -m 1750 -o www -g bin ${CHROOT}/tmp +for d in ${CHROOT}/{bin,sbin,usr,var,dev}/ \ + ${CHROOT}/var/run/ \ + ${CHROOT}/usr/{lib,bin,sbin,libexec,local}/ \ + ${CHROOT}/usr/local/{lib,bin,sbin,share}/\ +; do + install -d -m 0555 -o root -g wheel $d +done + +echo Installing ld.so +echo pax -r -w -L -p e /usr/libexec/ld.so ${CHROOT} +pax -r -w -L -p e /usr/libexec/ld.so ${CHROOT} + +echo Making devices +cd ${CHROOT}/dev +/dev/MAKEDEV std +cd ${OLDPWD} + +echo Installing perl perl_to_chroot -mkdir -p ${CHROOT}/usr/local/lib if [ -e /usr/local/sbin/femail ]; then - mkdir -p ${CHROOT}/sbin - cp /usr/local/sbin/femail ${CHROOT}/sbin/ + echo Installing femail + echo pax -r -w -L -p e /usr/local/sbin/femail ${CHROOT} + pax -r -w -L -p e /usr/local/sbin/femail ${CHROOT} +else + echo femail not installed! Please install it and link it to + echo " ${CHROOT}/usr/sbin/sendmail" fi -if [ -e ${CHROOT}/sbin/femail ]; then - mkdir -p ${CHROOT}/usr/sbin/ +if [ -e ${CHROOT}/usr/local/sbin/femail ]; then + echo Installing sendmail symlink to femail cd ${CHROOT}/usr/sbin/ - ln -sf ../../sbin/femail sendmail + ln -sf ../local/sbin/femail sendmail cd ${OLDPWD} -else - echo femail not installed! Please install it and link it to - echo " ${CHROOT}/usr/sbin/sendmail" fi if [ -e /usr/local/bin/aspell ]; then - mkdir -p ${CHROOT}/usr/local/bin/ - mkdir -p ${CHROOT}/usr/local/share/ - mkdir -p ${CHROOT}/usr/local/lib/ - cp /usr/local/bin/aspell ${CHROOT}/usr/local/bin/aspell - cp -r /usr/local/lib/aspell ${CHROOT}/usr/local/lib/ - cp -r /usr/local/share/aspell ${CHROOT}/usr/local/share/ - _find="${_find} -or ( -name aspell -a -type f )" + echo Installing aspell + for d in \ + /usr/local/bin/aspell \ + /usr/local/lib/aspell \ + /usr/local/share/aspell \ + ; do + echo pax -r -w -L -p e $d ${CHROOT} + pax -r -w -L -p e $d ${CHROOT} + done + + _find="${_find} -o ( -name aspell -a -type f )" fi -find ${CHROOT}/usr -name *.so.* -or -name *.so ${_find} | xargs find_depends | \ - sort -u | xargs -I {} pax -r -w -L -p e {} ${CHROOT} +echo Installing dependencies +for d in `find ${CHROOT}/usr ${_find} | \ + xargs find_depends | \ + sort -u `; do + echo pax -r -w -L -p e $d ${CHROOT} + pax -r -w -L -p e $d ${CHROOT} +done + +echo Fixing ldconfig (/var/run/ld.so.hints) fix_ldconfig