My only real experience with BSD-style packages is with MacPorts.  I have no
idea what their relation really is, but BSD ports can't possibly be this bad
and have such a rabid following.

First off, it has to compile everything from fucking source.  This is great
until you want to install something like GnuCash and it has to compile the
entire universe.  Build deps, particularly with GUI software, are aways way
bigger than runtime deps.  Ugg.

This is particularly stupid for a single architecture package system.  Sure, I
can compile binaries with MacPorts, but that defeats the point.  Maybe there's
some hidden MacPorts binary archive somewhere I'm missing, but why is it hidden?

Can I have a command to uninstall a package and all its dependencies?

$ port uninstall p5-scalar-list-utils
--->  Unable to uninstall p5-scalar-list-utils 1.19_1, the following ports
depend on it:
--->    p5-io-compress-base
Error: port uninstall failed: Please uninstall the ports that depend on
p5-scalar-list-utils first.

$ port uninstall p5-io-compress-base
--->  Unable to uninstall p5-io-compress-base 2.015_0, the following ports
depend on it:
--->    p5-compress-zlib
--->    p5-io-compress-zlib
--->    p5-archive-tar
Error: port uninstall failed: Please uninstall the ports that depend on
p5-io-compress-base first.

$ port uninstall p5-archive-tar
--->  Unable to uninstall p5-archive-tar 1.40_0, the following ports depend on 
it:
--->    p5-module-build
Error: port uninstall failed: Please uninstall the ports that depend on
p5-archive-tar first.

etc..

No, I don't want to walk down the dependency tree manually deleting each leaf,
just figure it out and let me know what's going to be uninstalled.  Oh,
there's --follow-dependents but this is basically package management Russian
Roulette.

$ sudo port uninstall --follow-dependents p5-scalar-list-utils
--->  Deactivating git-core @1.6.0.5_0+bash_completion+doc+gitweb+svn

Wait, what?!  NO, I NEED THAT!

Speaking of letting me know, when I go to install a package and it has
dependencies, give me a heads up before you just start installing shit!  Does
this package have six dependencies or six million?  I don't know!

$ sudo port install xmms
--->  Fetching audiofile

I asked for xmms, why are you installing audiofile?  What else are you going
to install?  How long is this going to take?  ARGH!!

AFAIK there's no way to get the full dependency tree of a package.  You only
get a single level.

$ port dependents p5-scalar-list-utils
p5-io-compress-base depends on p5-scalar-list-utils

Well that's just peachy.

God forbid I wanted to fix any of this because it's a 3250 line program
written in TEE CEE ELLLLLLLLL!!!!

Reply via email to