portupgrade O(n^m)?

Mike Meyer mwm-keyword-freebsdhackers2.e313df at mired.org
Thu Feb 15 20:27:57 UTC 2007


On Thu, 15 Feb 2007, Michel Talon wrote:

A lot of things that I think are half right.

> I think that porting portupgrade to C++ would be time spent in vain. In
> my opinion, some of the basic ideas of portupgrade are deeply flawed,
> and as much as one polishes the algorithms it will not gain much. The
> idea of keeping state in databases is deeply flawed, it is constantly
> broken, and doesn't help in speed at all.

Agreed, in theory. In practice, the ports system doesn't include all
the data you need to do the job properly, so you have to store that
information somewhere.

> In my opinion, upgrading progressiveley, that is, port by port, is
> deeply flawed. There is 90% chance that something will go wrong in
> the middle and you will be stuck with an half upgraded system.

The notion that a "half upgraded system" is automatically broken is
itself broken. The ports DAG is not connected. So long as all the
components in each connected subgraph are either upgraded or not as a
set, you're going to be fine. Even if a connected subgraph isn't
completely ugpraded, you may not have problems, but that's harder to
work out.

> Second, download as much precompiled
> packages as possible, at full speed, that is with the same connection to
> the ftp server.

So long as you keep track of the different options that went into
building the package and don't consider it possible to download a
precompiled package unless it was built with the same options,
including what's in make.conf.

> Why packages?
> because packages don't break when compiling.

Why not packages?
Because some packages are broken as compiled.

One of my standard frustrations with portupgrade is having to record
the port configuration information. On the other hand, I'm not going
to use a tool that doesn't do *something* so that I get the ports
built the way I need them.

> Compare that to the situation for Debian apt-get.

Yeah, apt-get is great. If you're happy runnnig what they provide,
exactly as they provide it. Gods forbid you want something customized
just a little, or they they don't provide. And do(rest of rant
aborted).

The ports system is trying to make a much more demanding set of users
happy than apt-get. It does some thing right, but it also does some
things that simply aren't acceptable to some FreeBSD users.

	<mike
-- 
Mike Meyer <mwm at mired.org>		http://www.mired.org/consulting.html
Independent Network/Unix/Perforce consultant, email for more information.


More information about the freebsd-hackers mailing list