1#!/bin/sh 2 3PKGNAME=$1 4[ ! -n ${PKG_PREFIX} ] && exit 1 5PREFIX=${PKG_PREFIX} 6 7DBDIR="%%DBDIR%%" 8ETCDIR="%%ETCDIR%%" 9RUNDIR="%%RUNDIR%%" 10TMPDIR="%%TMPDIR%%" 11NEWSBASE="%%NEWSBASE%%" 12NEWSSPOOL="%%NEWSSPOOL%%" 13DBZ_FILES="%%DBZ_FILES%%" 14 15EGDIR="%%EGDIR%%" 16 17case $2 in 18 PRE-INSTALL) 19 echo "===> Checking for old database files" 20 if [ ! -d ${DBDIR} ]; then 21 mkdir -p ${DBDIR} 22 mkdir -p ${EGDIR}/db 23 chown news:news ${DBDIR} 24 fi 25 ;; 26 CHECK-CONF) 27 ETCDIR=${3} 28 echo "Checking for configuration files" 29 for f in $(find ${EGDIR} -type f -mindepth 1 -maxdepth 1 -execdir echo "{}" \;) 30 do 31 REALFILE=${ETCDIR}/${f} 32 EGFILE=${EGDIR}/${f} 33 echo -n "Checking if ${REALFILE} exists: " 34 if [ -e ${REALFILE} ] 35 then 36 echo "[YES]" 37 else 38 echo "[NO] Installing ${EGFILE} to ${REALFILE}" 39 cp -p ${EGFILE} ${REALFILE} 40 fi 41 done 42 ;; 43 POST-INSTALL) 44 install -d -o news -g news -m 755 \ 45 ${RUNDIR} \ 46 ${NEWSSPOOL} \ 47 ${NEWSSPOOL}/archive \ 48 ${NEWSSPOOL}/articles \ 49 ${NEWSSPOOL}/incoming \ 50 ${NEWSSPOOL}/incoming/bad \ 51 ${NEWSSPOOL}/innfeed \ 52 ${NEWSSPOOL}/outgoing \ 53 ${NEWSSPOOL}/overview \ 54 ${TMPDIR} 55 56 if [ ${3:-""} = "PORTMODE" ]; then 57 fc=`ls ${EGDIR}/db/* 2>/dev/null | wc -l` 58 59 if [ -d ${EGDIR}/db -a $fc -eq 0 ]; then 60 for f in ${DBDIR}/*; do 61 cp -pR ${f} ${EGDIR}/db 62 done 63 else 64 mkdir -p ${EGDIR}/db 65 for f in ${DBDIR}/*; do 66 touch ${EGDIR}/db/${f##*/} 67 done 68 fi 69 70 # Fix permissions 71 72 for f in ${ETCDIR}/*.ctl ${ETCDIR}/readers.conf; do 73 chmod 640 ${f} 74 done 75 else 76 fc=`ls ${DBDIR}/* 2>/dev/null | wc -l` 77 78 if [ -d ${DBDIR} -a $fc -eq 0 ]; then 79 for f in ${EGDIR}/db/*; do 80 cp -pR ${f} ${DBDIR} 81 done 82 (if [ ! -f ${DBDIR}/history ] ; then 83 echo 'Creating empty history database...' 84 cd ${DBDIR} 85 touch history 86 chmod 644 history 87 chown news:news history 88 su -fm news -c "${NEWSBASE}/bin/makedbz -i" 89 for s in ${DBZ_FILES} ; do 90 mv history.n.${s} history.${s} 91 done 92 fi) 93 fi 94 fi 95 96 ;; 97 *) 98 echo "Unexpected Argument $2!!!" 99 exit 1 100 ;; 101esac 102exit 0 103