Subject: Re: make update == make broken
To: <>
From: Hisashi T Fujinaka <htodd@twofifty.com>
List: tech-pkg
Date: 06/24/2005 09:22:02
On Fri, 24 Jun 2005, Geert Hendrickx wrote:

> On Fri, Jun 24, 2005 at 10:27:55AM -0400, Sean Davis wrote:
>> Needing another machine just for package builds is silly. No other *NIX
>> OS requires that. That's just as silly as requiring a full NetBSD release
>> to build one package (ala pkg_comp). If FreeBSD can do this in a sane
>> manner, with portupgrade (however it works)... so can pkgsrc. If NetBSD
>> isn't going to provide up to date binary packages for every branch (which
>> would require quite a lot of build hardware)... then NetBSD needs to
>> provide a means for updating a package without removing everything first,
>> for people who want to keep their system usable until the package is
>> ready to install.
>
> With most Linux distributions, you also need a separate machine to get
> packages: their package repositories.
>
> And the FreeBSD way, portupgrade, is theoretically broken.  It replaces
> dependencies without rebuilding some/all of the dependant packages.  In
> practice, this may work out 90% of the time.  And FreeBSD has manpower to
> fix the other 10%.  How do they do this?  If e.g. libpng is updated to a
> version _known to cause binary incompatibilities_ (needs manpower to check
> this!!), they bump the version of all packages depending on it.  So a
> portupgrade -r will upgrade them too.  You (with your reasoning) wouldn't
> mind: you say, oh, KDE has a bumped package version, ok to upgrade it too,
> whereas the KDE package itself really didn't change.  We (pkgsrc people),
> don't bump the version of any depending packages, we just assume you to
> rebuild them anyway, to play safe.

I work on packages for fink (Mac OS X package manager) and they're
broken in the FreeBSD way.

OK, if I understand correctly, what you're saying is there are two ways
to do upgrades:

1) the NetBSD way where everything that could possibly be broken due to
dependencies is deleted for safety, or

2) the other way where bad packages are left lurking and may or may not
be bad.

In the NetBSD way, we might have too many things deleted when the ABI
didn't change enough to matter, etc. In the other way we have files that
possibly could core dump.

And the question is, which is worse? I'd say I like the non-NetBSD way
better. I was without minicom for a long time because it wouldn't build.

And as far as manpower goes, fink has a lot fewer developers than
pkgsrc, I bet. All the KDE packages is one guy, for example, and fink is
doing OK.

-- 
Hisashi T Fujinaka - htodd@twofifty.com
BSEE(6/86) + BSChem(3/95) + BAEnglish(8/95) + MSCS(8/03) + $2.50 = latte