Subject: Re: When DEPENDS can be upgraded in place
To: Hubert Feyrer <firstname.lastname@example.org>
From: Frederick Bruckman <email@example.com>
Date: 09/04/2000 21:46:03
On Tue, 5 Sep 2000, Hubert Feyrer wrote:
> On Mon, 4 Sep 2000, Frederick Bruckman wrote:
> > > > For most of bsd.pkg.mk, DEPENDS -> BUILD_DEPENDS, so that you don't
> > > > ever need to install the RUN_DEPENDS to build a package. For the
> > >
> > > This is exactly the reason RUN_DEPENDS went away: in order to run the
> > > package after "make install" (which is needed for a "make package", as you
> > > know), you have to install the RUN_DEPENDS next to be able to use it.
> > In the binary package, the RUN_DEPENDS becomes equivalent to DEPENDS.
> > So if you did a "make package && make deinstall" and then "pkg_add foo",
> > it would pull in the right dependencies to run the package.
> So one *must* pkg_add the just-installed pkg then only to pull in all the
> pkgs it requires? Even although all the files are already installed
> (because that's what the binary pkg was generated for)? And maybe just
> nuke all the files first, because pkg_add would fail else?
I see your point. This actually won't help at all without changes to
the pkg_* tools, and the way dependencies are recorded. Once that's
done, I think you should be able to install all the RUN_DEPENDS at
install time as an option, as it won't then affect the binary package
in any way.
> I must be missing something obvious here - which problem did you want to
> solve again?
The problem I'm trying to solve, is that binary package users are
presently forced to upgrade in the same order as the binary package
builders. It's clearly a flaw in the system that, for instance, to
upgrade from png-1.07 to 1.08 you must deinstall half a dozen
packages, even though you may then reinstall the _exact_ _same_ binary
packages, which have the _exact_ _same_ binaries.
I'm comfortable with the fact that, in the general case, the package
builder has to build the dependencies in order, but I think we can do
better for binary package users.