Re: fink

[prev] [thread] [next] [lurker] [Date index for 2004/11/04]

From: Scott Walters
Subject: Re: fink
Date: 17:36 on 04 Nov 2004
All package systems suck. 

1. They foster a dependency on them by programs installed with them
2. They don't play nice with libraries, headers, or programs not installed
   with the package system
3. There's no machine intelligence in even the simplest form to cope
   things being slightly off, such as the source files having been replaced
   with a copy one patch level greater

Re #1: with every package system I've seen *except* CPAN, it won't recognize
user-installed copies of programs or libraries but insists on installing
its own copy. Also, they re-invent DLL hell in that library systems
only tolerate one version of a module being installed at a time. 
Attempting to install a program that requires a newer minor version
of a library requires the old version of the library to be installed which
requires all of the software dependent on the old version to be installed -
when none of this is necessary except installing the new module!

Re #1 and #2: I tried to upgrade a FreeBSD system recently. ports
has been made part of the *core* installation mechanism, making it
unavoidable. I manually upgraded core libraries on the previous install,
so pkgsrc was unable to uninstall the old core libraries while upgrading
because it didn't know where they came from, so it barfed, ruining the install 
entirely and failing to upgrade it. This is idiotic. 

Re #2: Every now and then, someone needs to customize software - god
forbid! Often it's because it won't build out of the box. But customize just
one program, and every time you try to install anything, pkgsrc/ports/etc
will try to either blow away your copy and likely fail to rebuild it
or else fail entirely to recognize it's been installed.

Re #2: things like gconf and these -config programs in PATH break
the package systems as its no longer possible to keep the ports
tree and the /usr/local trees distinct - if any version of any
library doesn't exactly match, making the multiple installations
tolerant of each other, ports will always find the version you
installed and try and fail to use it, or else when building things by
hand, it'll find the ports version.

After using NetBSD since 0.9 and building software by hand my whole
life, I've given up. Modern software doesn't build. It's too unportable -
the essence of portability is minimizing dependencies, not 
integrating them in droves. For the 30 or 40 libraries required
by anything, one of them is sure to be completely broken on
any platform except Linux. Despite weeks of my life invested
and every assurance it works, it's been since Mozilla 1.1 since
I've successfully built Mozilla on NetBSD - and for the missing
dependencies and broken object hierachies, I think the leaked
Windows source code would be more likely to build and run.
So I run Linux binary emulation and copy binaries and libs wholesale 
from Knoppix. It's tragic that this crud won't build apart from 
some elaborate but constricting package system that never seems
to work right. Don't these dorks realize that some day Linux
might go out of fashion and people will still want to run this software,
just like CPM, DOS, Ultrix, and Solaris all went out of style?

-scott

On  0, Jarkko Hietaniemi <jhi@xxx.xx> wrote:
> > 
> > What's wrong with the fucking mirrors? Why don't I just blow OS X away
> > and install Debian instead? At least it has a functional packaging system.
> 
> I just simply blow away Fink.  Finks sucks rotten eggs.  Through a very
> thin straw.  With big chunks in it.
> 
> So far I think I have repeated the following cycle three times.
> There won't be a fourth time.
> 
> (1) Install Fink to get software X installed.
> (2) Get X installed.
> (3) Install a few pieces of software (Y, Z) more.
> (4) Observer how Fink gets more and more unstable.
> (5) Try compiling something that hasn't been "finked" and notice
> that Fink has somehow fucked up the system outside of its tree.
> Yes, it should be impossible.
> (6) Realize you can live without X, Y, Z.
> (7) Uninstall Fink with rm -rf.
> (8) Reinstall X, Y, Z manually with configure --prefix=/opt or the moral
> equivalent and notice how Things Just Work.
> (9) Wonder why you ever though installing Fink was a good idea.
> 
> The only excuse Fink has is following dependencies.  And it doesn't
> get even them right.  I don't know whether its Fink to blame or
> the packagers to blame.  But I really don't have the time or
> interest to fix it.  So fuck it.
> 
> (The only  package management I have ever personally seen "just work"
> was the BSD ports/packages system.  It's like CPAN.pm, it just works.
> Pull down the source, configure, and compile it.  No fucking binary
> installations.  AFAICT Gentoo is similar for Linux.)
> 
> -- 
> Jarkko Hietaniemi <jhi@xxx.xx> http://www.iki.fi/jhi/ "There is this special
> biologist word we use for 'stable'.  It is 'dead'." -- Jack Cohen
There's stuff above here

Generated at 00:02 on 06 Nov 2004 by mariachi 0.52