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