#!/bin/sh
# $AFresh1: fill_chroot,v 1.19 2011/08/16 01:10:46 andrew Exp $
CHROOT=${CHROOT:=/home/andrew/www}
CHROOT=`echo $CHROOT | sed -e 's,/*$,,'`
export CHROOT
_find="-type f -a ("
_find="${_find} -name *.so.* -o -name *.so"
_find="${_find} -o -path '*/usr/bin' -o -path '*/usr/sbin'"
echo Installing Directory Structure
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 Making devices
cd ${CHROOT}/dev
/dev/MAKEDEV std
cd ${OLDPWD}
echo Installing perl into ${CHROOT}
for _f in /usr/bin/perl \
/usr/libdata/perl5 \
/usr/local/libdata/perl5 \
; do
echo pax -r -w -L -p e $_f ${CHROOT}
pax -r -w -L -p e $_f ${CHROOT}
done
_find="${_find} -o -name perl"
if [ -e /usr/local/sbin/femail ]; then
echo Installing femail into ${CHROOT}
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}/usr/local/sbin/femail ]; then
echo Installing sendmail symlink to femail
cd ${CHROOT}/usr/sbin/
ln -sf ../local/sbin/femail sendmail
cd ${OLDPWD}
fi
if [ -e /usr/local/bin/aspell ]; then
echo Installing aspell into ${CHROOT}
for _f in \
/usr/local/bin/aspell \
/usr/local/lib/aspell \
/usr/local/share/aspell \
; do
echo pax -r -w -L -p e $_f ${CHROOT}
pax -r -w -L -p e $_f ${CHROOT}
done
_find="${_find} -o -name aspell"
fi
if [ -e /usr/local/bin/speedy ]; then
echo Installing speedycgi into ${CHROOT}
for _f in \
/usr/local/bin/speedy \
/usr/local/bin/speedy_backend \
; do
echo pax -r -w -L -p e $_f ${CHROOT}
pax -r -w -L -p e $_f ${CHROOT}
done
_find="${_find} -o -name speedy*"
fi
if [ -e ${CHROOT}/cgi-bin/cvsweb ]; then
echo Installing cvsweb depends
for _f in \
/usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} \
; do
echo pax -r -w -L -p e $_f ${CHROOT}
pax -r -w -L -p e $_f ${CHROOT}
done
elif [ -e ${CHROOT}/usr/bin/cvs ]; then
_f=/usr/bin/cvs
echo Installing cvs
echo pax -r -w -L -p e $_f ${CHROOT}
pax -r -w -L -p e $_f ${CHROOT}
fi
_find="${_find} )"
echo Installing dependencies into ${CHROOT}
find ${CHROOT}/usr ${_find} |
xargs find_depends | \
sort -u | \
{
local _f
while read _f; do
echo pax -r -w -L -p e ${_f##${CHROOT}} ${CHROOT}
pax -r -w -L -p e ${_f##${CHROOT}} ${CHROOT}
done
}
echo Fixing ldconfig \(/var/run/ld.so.hints\)
fix_ldconfig