Skip site navigation (1)Skip section navigation (2)
Date:      29 Apr 2000 02:55:41 -0700
From:      asami@FreeBSD.ORG (Satoshi - Ports Wraith - Asami)
To:        Will Andrews <andrews@technologist.com>
Cc:        Bhishan Hemrajani <bhishan@cytosine.dhs.org>, ports@FreeBSD.ORG, Gunnar Flygt <flygt@sr.se>, Alex Charalabidis <alex@wnm.net>, FreeBSD Questions <freebsd-questions@FreeBSD.ORG>
Subject:   Re: /var/db/pkg wiped by Netscape install
Message-ID:  <vqc7ldhqlia.fsf@silvia.hip.berkeley.edu>
In-Reply-To: Will Andrews's message of "Wed, 26 Apr 2000 08:18:09 -0400"
References:  <39069087.4F61F51B@gorean.org> <200004260727.e3Q7RXe62720@cytosine.dhs.org> <20000426081809.B389@argon.blackdawn.com>

next in thread | previous in thread | raw e-mail | index | archive | help
 * From: Will Andrews <andrews@technologist.com>

 * I was bitten by this too, recently.

Ok, looking at bsd.port.mk, it should be these lines that are causing it.

===
.if defined(FORCE_PKG_REGISTER)
	@if [ -e ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY ]; then \
		${CP} ${PKG_DBDIR}/${PKGNAME}/+REQUIRED_BY /tmp/${PKGNAME}-required-by; \
	fi
	@${RM} -rf ${PKG_DBDIR}/${PKGNAME}
.endif
===

If you have FORCE_PKG_REGISTER set and a port with an empty PKGNAME,
this could wipe away the entire /var/db/pkg.

However, since the new bsd.port.mk defines PKGNAME without any
conditionals, this can't happen with an up to date ports tree.  (The
worst case, even if you ignore all the ".BEGIN exit 1" type things,
would be PKGNAME=- (a single dash), which is not the same as it being
empty.)

Looking at what's special about netscape47-navigator, there was a
period of time when it was missing PORTNAME/PORTVERSION:

----------------------------
revision 1.47
date: 2000/04/14 13:29:03;  author: asami;  state: Exp;  lines: +4 -1
Make sure PORTNAME/PORTVERSION are defined before inclusion of pre.mk.
There might be some better solutions but this should at least make them
work for now.
----------------------------
revision 1.46
date: 2000/04/10 00:06:08;  author: cpiazza;  state: Exp;  lines: +1 -2
Update with the new PORTNAME/PORTVERSION variables
----------------------------

Between 4/10 and 4/14, you may have ended up with an empty /var/db/pkg
if you had FORCE_PKG_REGISTER set.

Does that make sense to everybody?  If that is the case, I apologize;
I should have taken out the REQUIRE_PORTNAME conditional as soon as
the conversion started to avoid these kind of problems.  I didn't do
that, as I did not want to break the entire ports tree, but on
retrospect, I should have done just that so that the conversion work
would be essentially fix up the tree piecemeal and thus would have
made clear which ports are now safe to use.

-PW


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?vqc7ldhqlia.fsf>