mwm-keyword-freebsdhackers2.e313df at mired.org
Wed May 14 21:33:09 UTC 2008
On Thu, 15 May 2008 05:45:29 +1000
Peter Jeremy <peterjeremy at optushome.com.au> wrote:
> On 2008-May-14 10:24:10 -0400, Mike Meyer <mwm at mired.org> wrote:
> >Just out of curiosity - there seems to be an unspoken assumption that
> >the ports system can only use tools that are part of the base
> There have been suggestions that the ports/package infrastructure
> (pkg_* tools, portsnap etc) be unbundled from the base OS. The
> difficulty comes when you want to upgrade those components. I know,
> from experience, that portugrading portupgrade or ruby usually fails
> as the running portupgrade unexpectedly trips over changed bits of
Having the ports system depend on packages that are maintained via the
ports system does make things fairly complex. On the other hand,
unbundling can be done. OS X has N (for some N > 1) ports systems that
run outside the base system. Notably, they don't treat the code for
manipulating the ports system as a port, and provide distinct commands
for updating an installed port, the ports, and the port system
However, I don't know that that's necessary for what I asked.
> > But this is clearly false - the ports system currently
> >includes a couple of directories full of software that's not in the
> >base system.
> There is a directory full of Makefile includes and another directory
> full of optional tools but pkg_* sits in the base system. What are
> you alluding to here.
I was thinking of those two directories. I wasn't thinking about the
pkg_* tools, because I pretty much never use them.
> >Adding compiled code to those tools would mean that installing the
> >ports system gets a bit more complex - you have to run "make install"
> >after extracting the tarball. Is that so bad it's not going to happen?
> The problem is not the initial install so much as managing packages
> and upgrades. I see no problem with having the ports/package
> infrastructure be part of the ports system as long as:
> a) A user can install/uninstall/audid (and preferably upgrade)
> packages without needing to compile anything
> b) The ports system knows how to upgrade itself without tripping over
> itself in the process.
You could do what I suggested by adding the desired db library to
/usr/src/usr.sbin/pkg_install, and linking it statically into the pkg*
tools? Yeah, it's not really pretty, but is it any worse than having a
BDB in the base system that we recommend be avoided?
Mike Meyer <mwm at mired.org> http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
More information about the freebsd-hackers