Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Aug 2007 03:35:15 -0500
From:      "Matthew D. Fuller" <fullermd@over-yonder.net>
To:        freebsd-ports@freebsd.org
Subject:   Re: How did upgrading applications happen before portupgrade etc?
Message-ID:  <20070812083515.GE94464@over-yonder.net>
In-Reply-To: <20070811210716.GB78245@eos.sc1.parodius.com>
References:  <20070811115642.L34115@obelix.home.rakhesh.com> <20070811083357.GA34007@eos.sc1.parodius.com> <20070811104229.GD94464@over-yonder.net> <20070811210716.GB78245@eos.sc1.parodius.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Aug 11, 2007 at 02:07:17PM -0700 I heard the voice of
Jeremy Chadwick, and lo! it spake thus:
> 
> I'm aware it manages all of the "regular" /var/db/pkg files just
> like the pkg_* tools do.  It has to for it to play nice.  But it
> also maintains a separate database for (I think) versioning and
> dependency matching.  I've been told the reason it does this is "due
> to shortcomings in /var/db/pkg or the pkg_* tools".

As far as I can tell, there's nothing in the DB files that isn't in
the /var/db/pkg files (or at least derivable from them), as I've never
seen anything unusual happen when I blow away the .db files.  About
the only times I've ever seen them go wonky is around a
bdb/ruby/portupgrade upgrade.  Sure, it'd be nice if that didn't
happen, but if that's the biggest flaw I have to contend with, I'm
buying a lottery ticket in the morning.


> Also, if you use portupgrade, you pretty much HAVE to use it
> exclusively for everything, e.g. you can't go mix-and-matching use
> of portupgrade and the base pkg_* tools without there being some
> inconsistency induced and thus "breaking" portupgrade.  Am I
> correct?

I sure hope not, or all these years of installing ports manually is
has been biting me without me knowing it.  I almost never use
portinstall (xref "slow").  I use pkg_delete to remove stuff.  And I
upgrade stuff manually with some regularity (like portupgrade, just
for my own sanity, and ruby upgrade usually involve me doing a mass
pkg_delete and reinstall.  AFAIK, those would work just fine with
portupgrade, but I like the net).  All that happens is that
portupgrade notices its db is out of date, and updates it.


> Where the only solution is to rm the pkgdb.db file and then run
> pkgdb -u, correct?

That class of things, yes.  It's happened to me in ways I couldn't
attribute to upgrades, but I could count the number of times on one
hand and have fingers left over.


> But if someone asks me "Why don't you use portupgrade" I'm going to
> tell them why.

Well, that's why I asked   8-}  I don't develop portupgrade, and I
don't get paid for people using it (I do accept certified checks,
however), and I certainly wish that many of its long-time shortcomings
would get cleaned up.  But this thing you hold up as constant
dealbreakers, my experience slots as minor, trivially deal-with-able,
and extremely rare hiccups.


> I see claims like the above ("you just nuke the db and move on.
> What's the problem?") and I think "What the f***?".  Removing a file
> and ignoring the problem because the problem then goes away (until
> the next time it happens...) makes me think of a Windows-like
> solution.

I can run a 10 line shell script and lock a filesystem up so it's
dirty and can't be unmounted.  I can upgrade a system and make it lose
the ability to see its hard drives.  I think "What the f***?".  Who
would use this FreeBSD crap?  That sort of thing makes me think of
Windows.  "Don't upgrade your system, and treat your filesystems with
kid gloves, and the problem goes away".

Both of these have been reported, multiple times over time, and
they're still there.  In fact, neither of them has that I recall even
elicited a single response from anybody.  *THAT* sure as hell makes me
uncomfortable.

I managed systems manually for years before portupgrade came along
(and for that matter, for years after, because I don't like changing
methods that works, however badly).  It was miserable, and everything
was always out of date.  Portupgrade turned that into very minor
effort to keep everything always up to date (or firmly out of date, if
that's my intention for something).  A peripheral and totally optional
tool that very occasionally ends up with a broken cache that takes a
minute to rebuild, and otherwise turns that part of my admin life from
a living hell to a blissful joy, is a looooong way down my list of
things to worry about.


-- 
Matthew Fuller     (MF4839)   |  fullermd@over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070812083515.GE94464>