Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Feb 2001 18:40:09 -0800
From:      bmah@FreeBSD.ORG (Bruce A. Mah)
To:        Jeremy Lea <reg@FreeBSD.ORG>
Cc:        "Bruce A. Mah" <bmah@FreeBSD.ORG>, freebsd-ports@FreeBSD.ORG
Subject:   Re: [RFC] make upgrade target for bsd.port.mk 
Message-ID:  <200102090240.f192e9u13590@bmah-freebsd-0.cisco.com>
In-Reply-To: <20010208182123.I8780@shale.csir.co.za> 
References:  <200102082347.f18NlgO12046@bmah-freebsd-0.cisco.com> <20010208182123.I8780@shale.csir.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
--==_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




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