Source: python3.5
Version: 3.5.4~rc1-1
Severity: wishlist

Currently, python3.5 has several build dependencies which lead to
cycles: the direct build dependency on python3, of course; the build
dependency on lsb-release; and blt-dev, tk-dev, xvfb, xauth which
introduce cycles because libxcb requires Python to build.  Then
there's libbluetooth-dev -> glib2.0 -> python.

In my experience, the tk-dev, blt-dev, libbluetooth-dev could probably
be dropped in a stage1 build, and I'm guessing xvfb and xauth could be
made dependent on <!nocheck>.  I usually get around the lsb-release
build-depends when bootstrapping by just creating a small shell script
with hard-coded responses to "lsb_release -is" and "lsb_release -cs".
I suppose that could be put in a package named something like
lsb-release-stub which could be an alternative build-depend to
lsb-release.

Which leaves the build dependencies on python3.  My guess is that
that's there because there's some patch which touches a source file,
which then needs Python to generate output files from that.  If that's
the case, I wonder if it would be possible to have the build process
first build a bootstrap version, then apply the patch and rebuild
(with the appropriate unpatching and resetting timestamps on clean).
Not very elegant, I know, but I can't really think of anything better.
And it does seem to work OK - in my manual bootstrapping, I first
unpack the orig.tar.xz, build that and install in the pbuilder login
chroot, and then unpack the full source package to build it - and I
haven't run into problems with the results from that process.

Anyway, I just wanted to start by sharing my thoughts on how it might
be possible to make this bootstrappable, and wondered if you had
anything to add.
-- 
Daniel Schepler

Reply via email to