BDB corrupt

Mike Meyer 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
> >system.
> 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
> itself.

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
software.

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
-- 
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 mailing list