+++ Simon McVittie [2013-02-12 16:58 +0000]: > Either GLib or pkg-config should document how you can avoid this cycle > by doing a "stage 1" build of one project or the other. pkg-config used > to have an embedded subset of GLib which it could use instead of the > system copy to break this cycle, but I think the recommended way these > days is GLib without pkg-config, which you can do by turning the > information that pkg-config would have given you into configure > arguments, something like this: > > ./configure \ > PKG_CONFIG=false \ > ZLIB_CFLAGS=-I/usr/include ZLIB_LIBS="-L/usr/lib -lz" \ > LIBFFI_CFLAGS=-I/usr/include LIBFFI_LIBS="-L/usr/lib -lffi" \ > --disable-libelf \ > --with-pcre=internal > > There is a tension here between the way we want to build high-quality > packages for the real distribution (no embedded code copies, no > duplication, full functionality, regression tests) and the ability to > build them without dependency cycles (which often implies reduced > functionality or testing, or an embedded code copy).
Exactly. Many of the things that make cross-building and cycle-removal difficult are good computer science/software practice. > There's a good reason why the /DebianBootstrap effort is based on doing > "stage 1" builds with just enough functionality to break the cycle, > rather than on eliminating cycles altogether. > > I think the advice to upstreams should be "keep it *possible* to build > your software without cycles (perhaps with degraded functionality), and > document how". > > > libdbus-glib-1-dev -> src:dbus > > python-dbus -> src:dbus > > Both are easily broken by building src:dbus with reduced test coverage > and reduced features, currently documented via comments in > debian/control. I plan to upload a version to experimental that supports > "stage1" builds, as soon as the current bootstrapping proposals solidify > far enough that that's possible. There is a patch for the necessary Build-profile foo here: http://people.debian.org/~wookey/bootstrap/patches/ I'm collecting the set needed there for a basic build-chroot bootstrap there until we are in a position to upstream this stuff in Debian or Ubuntu (I.e the spec and tools support is nailed down and Debian is unfrozen for such things) Wookey -- Principal hats: Linaro, Emdebian, Wookware, Balloonboard, ARM http://wookware.org/ -- To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20130212175509.gr5...@stoneboat.aleph1.co.uk