pkgsrc-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: pkg/38272
The following reply was made to PR pkg/38272; it has been noted by GNATS.
From: Gavan Fantom <gavan%coolfactor.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: pkg/38272
Date: Mon, 24 Mar 2008 12:29:37 +0000
Joerg suggested that we could second-guess where PKG_TOOLS_BIN was going
to end up. I had a play with that, and I can't come up with a way of
doing that which still leaves pkgsrc able to actually get as far as
building pkg_install.
I have two possible approaches which I think could work.
* A framework to re-invoke make with the current make target.
This could be something generic, and used for bootstrap dependencies
which change something in the environment that requires reevaluation by
make. This would depend on make being aware of whether it was the
initial invocation of make in pkgsrc, and on being able to arbitrarily
exit, passing a message up to its parent that this reinvocation has been
requested. There's a lot of scary stuff surrounding the issue of running
two makes on the same source tree.
* Declare that PKG_TOOLS_BIN shall never change.
Decide on a One True Place for the tools to live on each platform. (This
is already done, save for NetBSD). On NetBSD, decide that the package
tools will *always* live in ${LOCALBASE}/sbin. Then, (very) early on,
make sure they exist. If they do not exist, look for
PKG_TOOLS_BIN_BOOTSTRAP and if present, make symlinks.
This way, the pkg tools are always present, and always in the same
location. If the tools are sufficiently recent, they are merely accessed
via the symlinks. If they need upgrading, pkg_install will overwrite the
symlinks (make sure they are not followed in this step!) and pkgsrc will
immediately use the new tools.
I am strongly leaning to the second option.
Home |
Main Index |
Thread Index |
Old Index