Re: Help With Dependencies
On Mon, Oct 29, 2007 at 04:30:43PM -0700, Jeff Grossman <jeff@stikman.com> was heard to say:
> How come such a difference? I don't want to install all of that other
> stuff. I just want to install mercurial and what is required to run that
> program.
I guess that a lot of that is being pulled in by kdiff3.
Debian has three ways packages can require one another: Depends,
Recommends, and Suggests. Technically, here's what they mean:
a Depends b: a cannot function without b. If a is installed, b must
also be installed.
a Recommends b: a almost always requires b for major functionality.
In the words of Policy, this is a "strong, but not
absolute dependency", and b is a package that
"would be found together with [a] in all but unusual
installations".
In practice, this means that b should be automatically
installed whenever a is. However, package authors
sometimes make dubious choices about what to
recommend, so you might need to override their
decisions.
a Suggests b: b somehow enhances or provides extra functionality for a.
Frontends don't, in general, automatically do anything
with suggestions (in fact, I experimented with providing
this functionality in aptitude, but it tended to install
everything in the archive); they're meant as a hint for
the user.
So, you can work around this case by passing --without-recommends, or
by individually holding back the offending packages (e.g., by adding
"kdiff3:" to the end of the command-line or typing ": kdiff3" at the
aptitude prompt). I would advise against globally disabling the
installation of recommended packages, however; doing so risks ending up
with packages that are missing functionality that you expect.
In the specific case you're looking at, I've found kdiff3 to be a very
nice 3-way merge tool that works well with Mercurial. If you don't
already have a 3-way merger that you like, you might want to try it out.
Daniel
Reply to: