[BACK]Return to fill_chroot CVS log [TXT][DIR] Up to [local] / openbsd / fill_chroot

File: [local] / openbsd / fill_chroot / fill_chroot (download)

Revision 1.21, Mon Nov 4 01:13:18 2019 UTC (4 years, 6 months ago) by afresh1
Branch: MAIN
CVS Tags: HEAD
Changes since 1.20: +4 -3 lines

Deal with removal of . from $PATH

Because I shouldn't have expected it to be there, so glad to have this
security improvement.

#!/bin/sh
# $AFresh1: fill_chroot,v 1.21 2019/11/04 01:13:18 afresh1 Exp $

CHROOT=${CHROOT:=/home/andrew/www}
CHROOT=`echo $CHROOT | sed -e 's,/*$,,'`
export CHROOT
BINDIR=$( dirname $( readlink -f $0 ) )

_find="-type f -a ("
_find="${_find} -name *.so.* -o -name *.so"
_find="${_find} -o -path */usr/bin/* -o -path */usr/sbin/*"
_find="${_find} -o -path */usr/local/bin/* -o -path */usr/local/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

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} -print0 | 
     xargs -0 "${BINDIR}"/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\)
"${BINDIR}"/fix_ldconfig