ports/98038: [MAINTAINER] news/inn: stop port from removing database files when deinstalling/upgrading
Shaun Amott
shaun at inerd.com
Sat May 27 23:09:57 UTC 2006
>Number: 98038
>Category: ports
>Synopsis: [MAINTAINER] news/inn: stop port from removing database files when deinstalling/upgrading
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Sat May 27 23:00:36 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Shaun Amott
>Release: FreeBSD 6.1-STABLE i386
>Organization:
>Environment:
>Description:
news/inn currently removes database data files during an upgrade or deinstall.
The patch below fixes inn to only remove files that haven't been touched since a
fresh install.
Reported by: thierry@
>How-To-Repeat:
>Fix:
--- inn.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/news/inn/Makefile,v
retrieving revision 1.74
diff -u -r1.74 Makefile
--- Makefile 7 May 2006 21:16:15 -0000 1.74
+++ Makefile 27 May 2006 21:46:30 -0000
@@ -7,6 +7,7 @@
PORTNAME= inn
PORTVERSION= 2.4.3
+PORTREVISION= 1
CATEGORIES= news ipv6
MASTER_SITES= ${MASTER_SITE_ISC}
MASTER_SITE_SUBDIR= ${PORTNAME}
@@ -146,6 +147,9 @@
@${REINPLACE_CMD} -e 's!<tcl.h>!<tcl8.3/tcl.h>!' ${WRKSRC}/innd/innd.h
@${REINPLACE_CMD} -e 's!-ltcl!-ltcl83!' ${WRKSRC}/configure
.endif
+
+pre-install:
+ @${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
post-install:
.if !defined(WITHOUT_STRIP)
Index: pkg-install
===================================================================
RCS file: /home/ncvs/ports/news/inn/pkg-install,v
retrieving revision 1.6
diff -u -r1.6 pkg-install
--- pkg-install 30 Mar 2004 12:52:38 -0000 1.6
+++ pkg-install 27 May 2006 21:46:30 -0000
@@ -6,6 +6,10 @@
case $2 in
PRE-INSTALL)
+ echo "===> Checking for old database files"
+ if [ ! -d ${PKG_PREFIX}/news/db ]; then
+ mkdir -p ${PKG_PREFIX}/news/db.dist
+ fi
;;
CHECK-CONF)
ETC_DIR=${3}
@@ -37,6 +41,13 @@
${NEWSBASE}/spool/outgoing \
${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
+ fi
+
;;
*)
echo "Unexpected Argument $2!!!"
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/news/inn/pkg-plist,v
retrieving revision 1.22
diff -u -r1.22 pkg-plist
--- pkg-plist 7 May 2006 21:16:15 -0000 1.22
+++ pkg-plist 27 May 2006 21:46:31 -0000
@@ -100,14 +100,22 @@
news/bin/tally.control
news/bin/tdx-util
news/bin/writelog
-news/db/active
-news/db/active.times
-news/db/history
-news/db/history.dir
-%%SUB_WITHOUT_TAGGED_HASH%%news/db/history.hash
-%%SUB_WITHOUT_TAGGED_HASH%%news/db/history.index
-%%SUB_WITH_TAGGED_HASH%%news/db/history.pag
-news/db/newsgroups
+ at unexec f=active; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+ at unexec f=active.times; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+ at unexec f=history; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+ at unexec f=history.dir; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+ at unexec f=newsgroups; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+ at unexec rm -f %D/news/db.dist/active 2> /dev/null || true
+ at unexec rm -f %D/news/db.dist/active.times 2> /dev/null || true
+ at unexec rm -f %D/news/db.dist/history 2> /dev/null || true
+ at unexec rm -f %D/news/db.dist/history.dir 2> /dev/null || true
+ at unexec rm -f %D/news/db.dist/newsgroups 2> /dev/null || true
+%%SUB_WITHOUT_TAGGED_HASH%%@unexec f=history.hash; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+%%SUB_WITHOUT_TAGGED_HASH%%@unexec f=history.index; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+%%SUB_WITHOUT_TAGGED_HASH%%@unexec rm -f %D/news/db.dist/history.hash 2> /dev/null || true
+%%SUB_WITHOUT_TAGGED_HASH%%@unexec rm -f %D/news/db.dist/history.index 2> /dev/null || true
+%%SUB_WITH_TAGGED_HASH%%@unexec f=history.pag; if cmp -s %D/news/db/$f %D/news/db.dist/$f; then rm -f %D/news/db/$f; fi
+%%SUB_WITH_TAGGED_HASH%%@unexec rm -f %D/news/db.dist/history.pag 2> /dev/null || true
news/doc/CONTRIBUTORS
news/doc/GPL
news/doc/HACKING
@@ -265,6 +273,7 @@
@dirrmtry %%ETCDIR%%
@dirrm news/doc
@dirrmtry news/db
+ at dirrmtry news/db.dist
@dirrm news/bin/rnews.libexec
@dirrm news/bin/filter
@dirrm news/bin/control
Index: UPDATING
===================================================================
RCS file: /home/ncvs/ports/UPDATING,v
retrieving revision 1.335
diff -u -r1.335 UPDATING
--- UPDATING 26 May 2006 15:42:34 -0000 1.335
+++ UPDATING 27 May 2006 21:55:43 -0000
@@ -6,6 +6,16 @@
time you update your ports collection, before attempting any port
upgrades.
+20060527:
+ AFFECTS: users of news/inn
+ AUTHOR: shaun at inerd.com
+
+ The 2.4.3 port of inn has an unfortunate bug which causes inn's database files
+ to be erased during an uninstall or upgrade. Earlier versions are also
+ affected. The latest port revision fixes this, but before upgrading, users are
+ advised to move their ${PREFIX}/news/db directory out of the way, in order to
+ save the history, active and newsgroups databases from destruction.
+
20060526:
AFFECTS: users of security/amavisd-new
AUTHOR: gkovesdan at t-hosting.hu
--- inn.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list