diff options
Diffstat (limited to 'news/inn/pkg-install')
-rw-r--r-- | news/inn/pkg-install | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/news/inn/pkg-install b/news/inn/pkg-install index d0de05fe1623..08896386832e 100644 --- a/news/inn/pkg-install +++ b/news/inn/pkg-install @@ -42,10 +42,27 @@ case $2 in ${NEWSBASE}/spool/overview \ ${NEWSBASE}/spool/tmp - if [ -d ${NEWSBASE}/db.dist -a ! -f ${NEWSBASE}/db.dist/* ]; then - for f in ${NEWSBASE}/db/*; do - cp -pR ${f} ${NEWSBASE}/db.dist - done + if [ ${3:-""} = "PORTMODE" ]; then + fc=`ls ${NEWSBASE}/db.dist/* 2>/dev/null | wc -l` + + if [ -d ${NEWSBASE}/db.dist -a $fc -eq 0 ]; then + for f in ${NEWSBASE}/db/*; do + cp -pR ${f} ${NEWSBASE}/db.dist + done + else + mkdir -p ${NEWSBASE}/db.dist + for f in ${NEWSBASE}/db/*; do + touch ${NEWSBASE}/db.dist/${f##*/} + done + fi + else + fc=`ls ${NEWSBASE}/db/* 2>/dev/null | wc -l` + + if [ -d ${NEWSBASE}/db -a $fc -eq 0 ]; then + for f in ${NEWSBASE}/db.dist/*; do + cp -pR ${f} ${NEWSBASE}/db + done + fi fi ;; |