From owner-freebsd-ports Thu Feb 8 18:40:31 2001 Delivered-To: freebsd-ports@freebsd.org Received: from sj-msg-core-2.cisco.com (sj-msg-core-2.cisco.com [171.69.43.88]) by hub.freebsd.org (Postfix) with ESMTP id 6F38337B401; Thu, 8 Feb 2001 18:40:09 -0800 (PST) Received: from bmah-freebsd-0.cisco.com (bmah-freebsd-0.cisco.com [171.70.84.42]) by sj-msg-core-2.cisco.com (8.9.3/8.9.1) with ESMTP id SAA19181; Thu, 8 Feb 2001 18:40:22 -0800 (PST) Received: (from bmah@localhost) by bmah-freebsd-0.cisco.com (8.11.1/8.11.1) id f192e9u13590; Thu, 8 Feb 2001 18:40:09 -0800 (PST) (envelope-from bmah) Message-Id: <200102090240.f192e9u13590@bmah-freebsd-0.cisco.com> X-Mailer: exmh version 2.3.1 01/19/2001 with nmh-1.0.4 To: Jeremy Lea Cc: "Bruce A. Mah" , freebsd-ports@FreeBSD.ORG Subject: Re: [RFC] make upgrade target for bsd.port.mk In-Reply-To: <20010208182123.I8780@shale.csir.co.za> References: <200102082347.f18NlgO12046@bmah-freebsd-0.cisco.com> <20010208182123.I8780@shale.csir.co.za> Comments: In-reply-to Jeremy Lea message dated "Thu, 08 Feb 2001 18:21:23 -0800." From: bmah@FreeBSD.ORG (Bruce A. Mah) Reply-To: bmah@FreeBSD.ORG X-Face: g~c`.{#4q0"(V*b#g[i~rXgm*w;:nMfz%_RZLma)UgGN&=j`5vXoU^@n5v4:OO)c["!w)nD/!!~e4Sj7LiT'6*wZ83454H""lb{CC%T37O!!'S$S&D}sem7I[A 2V%N&+ X-Image-Url: http://www.employees.org/~bmah/Images/bmah-cisco-small.gif X-Url: http://www.employees.org/~bmah/ Mime-Version: 1.0 Content-Type: multipart/signed; boundary="==_Exmh_-24536347P"; micalg=pgp-sha1; protocol="application/pgp-signature" Content-Transfer-Encoding: 7bit Date: Thu, 08 Feb 2001 18:40:09 -0800 Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org --==_Exmh_-24536347P Content-Type: text/plain; charset=us-ascii If memory serves me right, Jeremy Lea wrote: > On Thu, Feb 08, 2001 at 03:47:42PM -0800, Bruce A. Mah wrote: > > If someone finds this idea fatally flawed, that's fine too. > > This will fail if the new port includes a bump in a shared library > version. I had a nagging doubt about this but I wasn't sure. > The idea is implemented in the wrong place. This needs to be done by > pkg_add (which bsd.port.mk should be using). In pkg_add you can > determine if the port should upgrade an existing port automatically - > the easiest and most reliable mechanism being a conflict in installed > files: I disagree (with your first sentence). You can only do pkg_add if you have a package constructed. The only way to make a package (currently) from a port is to actually install all the files. (Whether or not it *should* work this way is another matter. You could make the argument that we should install the port in a scratch directory, create the pkg, and then install it. But then we have problems with non-PREFIX-clean ports.) > If the files we plan on installing overwrite files installed by > (an)other port(s), then we need to upgraded that port/those ports, Aside from the fact that a lot of users have fubar'd package databases because they install old packages on top of new ones, there's the problem that we don't know how to do this without a PLIST, which (as I wrote earlier) we can't do without actually installing something. > regardless of the origin. Even if we don't conflict, we need to upgrade > any port with the same origin as us. (We also need a flag to force X to > upgrade Y). If the port's base names not match, then most likely we > have a real problem, and we should only install with a force flag, and > only do manual upgrades. > > During the upgrade, we need to save any shared libraries installed by > the upgraded port(s). Hmmm, I wonder does this need to be generalized to include other kinds of files too? Cheers, Bruce. --==_Exmh_-24536347P Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (FreeBSD) Comment: Exmh version 2.2 06/23/2000 iD8DBQE6g1iJ2MoxcVugUsMRAoNoAJ99fX0aVeZh6U2YBCpmUpPxTMNcDwCgygmf S3VQm/rOlQt9juM9ZsQsor4= =p2fI -----END PGP SIGNATURE----- --==_Exmh_-24536347P-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message