peter.schuller at infidyne.com
Sun Feb 12 06:55:09 PST 2006
> > pkgmanager attempts to alleviate these problems by upgrading all
> > packages "in place" without needing to remove all packages that require
> > the package being upgraded.
> And this behaviour is exactly what I wouldn't want to use on a server,
> since it means a lot more russian roulete (e.g. are minimum requirements
> correctly specified? did the ABI of a package really stay consistent
> etc.). Enough developers don't fully understand ABI issues, that's why
> "(b)make replace" is and always will be marked as dangerous.
I gotta chime in here, even if late, and even if I am biased.
First off, please note that pkgmanager does not care about minimum version
requirements of similar. It upgrades *all* packages to their *latest* version
in the order demanded by the dependency graph. Any packages depending on
packages that have been upgraded or otherwise rebuilt, are also rebuilt. In
this fashion it is more comparable to 'portmanager' than 'portupgrade'.
In fact, part of the reason I wanted and wrote pkgmanager was exactly
*because* I got tired of dependency issues caused by incorrectly specified
version requirements (aside from the general upgrading issue). The whole idea
is to produce a system which is equivalent to what you would have gotten had
you de-installed all out-of-date packages and then re-installed them - but
hopefully (but not always) not have your workstation crippled for a couple of
days while doing it.
In addition, if you are comparing the use of pkgmanager to seriously maintaing
a separate jail, upgrading everything there and producting binary packages,
and then do a binary upgrade of the host system, then sure, I fully agree
that pkgmanager is obviously less safe. But noone has claimed otherwise.
(Though I hope to have pkgmanager do exactly that in the future,
But let me ask: How many people actually *DO* this? There is no simple
out-of-the-box and supported way to do it (even using pkg_chomp it get's more
compilcated than 5 minutes of manpage reading).
How many people even *WANT* to do this for their non-super-important servers
or their desktop system?
With FreeBSD ports (mentioning it since it was brought up in the comparison)
you at least have an out-of-the-box half-decent and supported method of
ugprading. Sure it breaks, and sure I have done my fair share of cussing at
broken dependency handling in ports etc... but at least it *works*, for some
definition of it.
With pkgsrc, you basically have no out-of-the-box option for easy upgrading. I
stopped using NetBSD alltogether for a period just because I got fed up with
the pkgsrc upgrading issue.
Hence, pkgmanager. And hence, the non-focus on being 100% correct in the
beginning - since that is already possible if you take the time to do it
right manually. The aim is to have a tool which *easily* allows you to
perform a global upgrade without a lot of hard work.
If you are a pkgsrc newbie wanting to "just upgrade", you are not appreciated
being told "well, set up your own jail, do a builk build of all packages and
then perform a binary upgrade". If you come from any Linux dist or from
FreeBSD, you expect *some* usable upgrade mechanism to exist out-of-the-box
(breaking your entire desktop for 48 hours after 'make update' removed
everything right of the back does not count as "usable").
/ Peter Schuller, InfiDyne Technologies HB
PGP userID: 0xE9758B7D or 'Peter Schuller <peter.schuller at xxxxxxxxxxxx>'
Key retrieval: Send an E-Mail to getpgpkey at xxxxxxxxx
E-Mail: peter.schuller at xxxxxxxxxxxx Web: http://www.scode.org
More information about the Users