[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: upstream advise page about circular dependencies (bootstrapping)


On Tue, Feb 12, 2013 at 07:55:42PM +0800, Paul Wise wrote:
> Which software is this and why does it need itself to build? Is it a compiler?

There are many examples of source packages that build depend on binary
packages they build. This includes languages like python, vala, sml,
freepascal and haskell.

But besides those simple cycles there are other cycles of length 2 when
taking whole installation sets into account. For example src:pkg-config
indirectly build depends on pkg-config because src:pkg-config build
depends on libglib2.0-dev which depends on pkg-config.

As the subject mentions bootstrapping, this extended type of self-cycle
is of just as much importance as the first type mentioned initially.

Here are all cycles of length two (both types) in Debian Sid as of
January 2013. Each cycle contains one source package and one of its
build dependencies. Sometimes those build dependencies are directly
built by the source package itself (first type) and sometimes those
build dependencies need binary packages the source package builds to be

texlive-latex-base -> src:libtasn1-3
gtk-doc-tools -> src:libtasn1-3
libldap2-dev -> src:cyrus-sasl2
libpq-dev -> src:cyrus-sasl2
heimdal-multidev -> src:cyrus-sasl2
heimdal-dev -> src:openldap
gtk-doc-tools -> src:gnutls26
texlive-latex-base -> src:libgcrypt11
texlive-generic-recommended -> src:libgcrypt11
libdbus-glib-1-dev -> src:dbus
python-dbus -> src:dbus
libgtk2.0-dev -> src:avahi
libgtk-3-dev -> src:avahi
python-gtk2 -> src:avahi
xfonts-utils -> src:libfontenc
ghostscript -> src:cups
default-jdk -> src:java-atk-wrapper
src:python2.7 -> python
lsb-release -> src:python2.7
gdb -> src:python2.7
openjade1.3 -> src:opensp
docbook-dsssl -> src:opensp
ghostscript -> src:ijs
docbook-utils -> src:ijs
src:colord -> libgtk-3-dev
kdelibs5-dev -> src:libproxy
libwebkitgtk-dev -> src:libproxy
libphonon-dev -> src:phonon-backend-gstreamer
libavformat-dev -> src:x264
libffms2-dev -> src:x264
libopencv-dev -> src:libav
libcv-dev -> src:libav
libgtk-3-dev -> src:d-conf
valac -> src:vala-0.16
gcj-jdk -> src:ecj
gcj-4.7-jdk -> src:ecj
python-matplotlib -> src:python-numpy
fp-utils-2.6.0 -> src:fpc
fp-compiler-2.6.0 -> src:fpc
fp-units-base-2.6.0 -> src:fpc
fp-units-fcl-2.6.0 -> src:fpc
mlton -> src:mlton
src:sbcl -> sbcl
src:alex -> alex
gnat -> src:gnat-4.6
gforth -> src:gforth
src:happy -> happy
src:hscolour -> haskell-devscripts
ghc -> src:ghc
libglib2.0-dev -> src:pkg-config

cheers, josch

Reply to: