Annotation of openbsd/fill_chroot/fill_chroot, Revision 1.21
1.1 andrew 1: #!/bin/sh
1.21 ! afresh1 2: # $AFresh1: fill_chroot,v 1.20 2012/06/10 03:29:42 andrew Exp $
1.1 andrew 3:
4: CHROOT=${CHROOT:=/home/andrew/www}
1.15 andrew 5: CHROOT=`echo $CHROOT | sed -e 's,/*$,,'`
1.1 andrew 6: export CHROOT
1.21 ! afresh1 7: BINDIR=$( dirname $( readlink -f $0 ) )
1.1 andrew 8:
1.15 andrew 9: _find="-type f -a ("
10: _find="${_find} -name *.so.* -o -name *.so"
1.20 andrew 11: _find="${_find} -o -path */usr/bin/* -o -path */usr/sbin/*"
12: _find="${_find} -o -path */usr/local/bin/* -o -path */usr/local/sbin/*"
1.10 andrew 13:
1.15 andrew 14: echo Installing Directory Structure
1.10 andrew 15: install -d -m 1750 -o www -g bin ${CHROOT}/tmp
1.15 andrew 16: for _d in ${CHROOT}/{bin,sbin,usr,var,dev}/ \
1.10 andrew 17: ${CHROOT}/var/run/ \
18: ${CHROOT}/usr/{lib,bin,sbin,libexec,local}/ \
19: ${CHROOT}/usr/local/{lib,bin,sbin,share}/\
20: ; do
1.15 andrew 21: install -d -m 0555 -o root -g wheel $_d
1.10 andrew 22: done
23:
24: echo Making devices
25: cd ${CHROOT}/dev
26: /dev/MAKEDEV std
27: cd ${OLDPWD}
28:
1.13 andrew 29: echo Installing perl into ${CHROOT}
1.15 andrew 30: for _f in /usr/bin/perl \
31: /usr/libdata/perl5 \
32: /usr/local/libdata/perl5 \
33: ; do
34:
35: echo pax -r -w -L -p e $_f ${CHROOT}
36: pax -r -w -L -p e $_f ${CHROOT}
37:
38: done
1.5 andrew 39:
1.9 andrew 40: if [ -e /usr/local/sbin/femail ]; then
1.13 andrew 41: echo Installing femail into ${CHROOT}
1.10 andrew 42: echo pax -r -w -L -p e /usr/local/sbin/femail ${CHROOT}
43: pax -r -w -L -p e /usr/local/sbin/femail ${CHROOT}
44: else
45: echo femail not installed! Please install it and link it to
46: echo " ${CHROOT}/usr/sbin/sendmail"
1.9 andrew 47: fi
48:
1.10 andrew 49: if [ -e ${CHROOT}/usr/local/sbin/femail ]; then
50: echo Installing sendmail symlink to femail
1.9 andrew 51: cd ${CHROOT}/usr/sbin/
1.10 andrew 52: ln -sf ../local/sbin/femail sendmail
1.6 andrew 53: cd ${OLDPWD}
1.5 andrew 54: fi
1.1 andrew 55:
1.7 andrew 56: if [ -e /usr/local/bin/aspell ]; then
1.13 andrew 57: echo Installing aspell into ${CHROOT}
1.15 andrew 58: for _f in \
1.10 andrew 59: /usr/local/bin/aspell \
60: /usr/local/lib/aspell \
61: /usr/local/share/aspell \
62: ; do
1.15 andrew 63: echo pax -r -w -L -p e $_f ${CHROOT}
64: pax -r -w -L -p e $_f ${CHROOT}
65: done
66:
67: _find="${_find} -o -name aspell"
68: fi
69:
70: if [ -e /usr/local/bin/speedy ]; then
71: echo Installing speedycgi into ${CHROOT}
72: for _f in \
73: /usr/local/bin/speedy \
74: /usr/local/bin/speedy_backend \
75: ; do
76: echo pax -r -w -L -p e $_f ${CHROOT}
77: pax -r -w -L -p e $_f ${CHROOT}
1.10 andrew 78: done
79:
1.15 andrew 80: _find="${_find} -o -name speedy*"
1.16 andrew 81: fi
82:
1.19 andrew 83: if [ -e ${CHROOT}/cgi-bin/cvsweb ]; then
84: echo Installing cvsweb depends
85: for _f in \
86: /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} \
87: ; do
88: echo pax -r -w -L -p e $_f ${CHROOT}
89: pax -r -w -L -p e $_f ${CHROOT}
90: done
91:
92: elif [ -e ${CHROOT}/usr/bin/cvs ]; then
1.16 andrew 93: _f=/usr/bin/cvs
94: echo Installing cvs
95: echo pax -r -w -L -p e $_f ${CHROOT}
96: pax -r -w -L -p e $_f ${CHROOT}
1.7 andrew 97: fi
98:
1.15 andrew 99: _find="${_find} )"
1.13 andrew 100: echo Installing dependencies into ${CHROOT}
1.20 andrew 101: find ${CHROOT}/usr ${_find} -print0 |
1.21 ! afresh1 102: xargs -0 "${BINDIR}"/find_depends | \
1.14 andrew 103: sort -u | \
104: {
1.15 andrew 105: local _f
106: while read _f; do
107: echo pax -r -w -L -p e ${_f##${CHROOT}} ${CHROOT}
108: pax -r -w -L -p e ${_f##${CHROOT}} ${CHROOT}
1.14 andrew 109: done
110: }
1.1 andrew 111:
1.11 andrew 112: echo Fixing ldconfig \(/var/run/ld.so.hints\)
1.21 ! afresh1 113: "${BINDIR}"/fix_ldconfig
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>