#!/bin/sh echo "Installing configuration files:" # '8' for solaris 8; '9' for solaris 9 etc OSVER=`uname -r | sed 's/5\.//'` for FILE in filelist filelist-${SI_HOSTNAME} \ filelist-sol${OSVER} filelist-${SI_HOSTNAME}-sol${OSVER} do if [ -f ${SI_CONFIG_DIR}/files/${FILE} ] then FILELIST=${SI_CONFIG_DIR}/files/${FILE} fi done if [ "${FILELIST}" = "" ] then echo "No filelist found" exit fi echo "using ${FILELIST} as file list" # the sed expressions below (1) remove comments, (2) remove empty lines sed -e 's/#.*//' -e '/^ *$/ d' < ${FILELIST} | \ ( # need a subshell for read to work while read DST SRC USER GROUP MODE OVERWRITE do [ "$SRC" = "-" -o "$SRC" = "" ] && SRC=`basename $DST` [ "$USER" = "-" -o "$USER" = "" ] && USER="root" [ "$GROUP" = "-" -o "$GROUP" = "" ] && GROUP="root" [ "$MODE" = "-" -o "$MODE" = "" ] && MODE="0444" # only permit files to be overwritten if we say so explicitly [ "$OVERWRITE" != "OVERWRITE" ] && [ -f ${INSTALL_DST}$DST ] && continue DIR=`dirname $DST` [ ! -d ${INSTALL_DST}${DIR} ] && mkdir -p ${INSTALL_DST}${DIR} cp -p ${SI_CONFIG_DIR}/files/$SRC ${INSTALL_DST}$DST chown $USER:$GROUP ${INSTALL_DST}$DST chmod $MODE ${INSTALL_DST}$DST echo "\t${INSTALL_DST}$DST" unset DST SRC USER GROUP MODE OVERWRITE DIR done )