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

