This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.
Date: Tue, 15 May 2001 23:19:28 -0700
To: svlug@svlug.org
Subject: Re: Compiling KDE (Was Re: [svlug] Karsten's browser reviews (updated))
From: Rick Moen <rick@linuxmafia.com>
begin David E. Fox quotation:
> Wayne Earl wrote:
>> (<FLAMEBAIT>A ports tree is what apt-get should become when it grows
>> up. (duck and grin.)</FLAMEBAIT>).
Wayne's right, of course. But, equally, users and admirers of Jordan
Hubbard's "ports" system (of whom I'm one) often envy the ease with
which apt-get (_when_ combined with an enforced policy such as
http://www.debian.org/doc/debian-policy/) lets people handle binary
packages. After all, when the "ports" build process breaks on *BSD --
which happens annoyingly often -- what is it you fall back on? the BSD
binary package system, of course.
> How does apt-get handle the source dependencies....
Debian is not, of course, yet equipped to do the BSD "make world" trick
from source packages, but it's getting there by degrees.
If you are running Debian-stable (2.2 "potato"), then you have apt v.
0.3.x, which cannot handle build-deps for source-code packages entirely
automatically: You have to read the description for the package you
want to build from source, jot down what packages are named on the
build-deps line, and apt-get those before doing
"apt-get source --build packagename" for the final package. (apt-get
then invokes dpkg-buildpackage and similar stuff.)
By contrast, the Debian-testing ("woody") and Debian-unstable ("sid")
branches now include the leading-edge version of apt (v. 0.5.3), fixing
that problem. Here's the relevant stuff from the apt-get(8) manpage:
build-dep
build-dep causes apt-get to install/remove packages
in an attempt to satisfy the build dependencies for
a source packages. Right now virtual package build
depends choose a package at random.
source source causes apt-get to fetch source packages. APT
will examine the available packages to decide which
source package to fetch. It will then find and
download into the current directory the newest
available version of that source package. Source
packages are tracked separately from binary pack