Differences between revisions 33 and 34
Revision 33 as of 2014-08-23 16:41:42
Size: 6238
Editor: GuillemJover
Comment: Update dates
Revision 34 as of 2014-08-31 07:09:57
Size: 6380
Editor: wookey
Deletions are marked like this. Additions are marked like this.
Line 98: Line 98:
Report currently in preparation: [[Sprints/2014/BootstrapSprint/Results]] The sprint was very effective:

Sent to Debian-devel-announce:
Line 102: Line 106:
the sprint has been possible thanks to: The sprint has been possible thanks to:
Line 105: Line 109:
 * Irill, Paris for the Venue, and Roberto Di Cosmo for arranging it.  * Irill, Paris for the Venue, Roberto Di Cosmo for arranging it, and Sylvestre Ledru for help with access.

Bootstrap Sprint

Location, Date

  • when: August 16-19. (Sat-Tue)
  • where: Irill, Paris

  • The full sprint will run for 4 days from 10am Sat 16th to 6pm Tue 19th. But if you prefer to arrive during Sat or leave Tue afternoon, due tue time or travel constraints, that's fine. Saturday is kind of optional :-)


  • Helmut Grohne (rebootstrap) (Arrive Sat lunchtime, leave Wed morn)
  • Wookey (cross toolchains/bootstrapping) (Arrive friday night, leave Tuesday night)
  • Johannes Schauer (botch and bootstrap.d.o maintainer) (Arrive friday night, leave Wed morn)
  • Aron Xu (mips64el porter) (Arrive Friday night, leave Tuesday Morning)
  • Guillem Jover (dpkg maintainer) (Arrive Sun night, leave Wed morning)
  • Mathias Klose (gcc maintainer) (Arrive Sat lunchtimeish, leave Tuesday afternoon)


In general work out how bootstraping should operate, particularly in terms of toolchains/cross toolchains

  • Make glibc stages work. With multilib
  • Decide on how apt-get-able cross toolchains *should* look like:
  • Discuss toolchain dependency translation (e.g. gcc-${host})
  • How to ensure that build profiles work in Jessie? See 744246

    • Push into archive? (trying atm)
    • Set up copy of archive for testing? (painful)
  • Discuss how we add missing metadata about early bootstrap into package lists. One aspect is dependency translation. Another is that dependencies on build-essential are not spelled out. In bootstrap, We need an order to cross build build-essential though, so we need to know these dependencies.
  • Other cross-build pieces
    • What should be in cross-build-essential (or finer-grained mechanism?)
    • autofoo cache data, cmake toolchain files etc. Move out of dpkg-cross?
  • hard blockers for rebootstrap
    • perl doesn't cross build in any sane way. it may work with perl-cross-debian, but this needs to upstream
    • gnutls28 (transitively) needs guile-2.0-libs for host (via guile-2.0-dev) and build (via autogen). gnutls28 blocks curl, apt and more
    • libgpg-error got broken upstream. it doesn't cross build and it cannot be used to compile against. it blocks libgcrypt11, openldap and more.
    • help2man is used during build by coreutils, bison, flex. all of them therefore fail to build
    • glibc multilib builds still don't work. even after severe tweaking (partially submitted), gcc stage2 doesn't find crti.o.
    • missing multiarch in general. for instance B-Ds on python which should be python:any or missing M-A:foreign on netpbm-nonfree, docbook-utils and others.
  • discuss need for Cross-Builds: yes/no field (or how to otherwise store that information)

    • at the very least it would be useful to know about package that can never be cross compiled because there does not exist a cross compiler (for example for gobject-introspection) or because of cases like 753047

  • discuss the extend to which initial bootstraps can be automated (because initially no binary package dependencies are known), also known as chicken and egg problem of automated bootstrapping
  • discuss whether arch:all should imply m-a:foreign for build dependencies 666772 but vorlon is not present so probably no need to raise this point

  • discuss the requirement that binary packages built with a build profile must be equal in functionality to those normally built (or be split or renamed) and how to enforce this (reproducible builds?)
  • discuss how intersecting build profiles should be applied. Either doc-generator <!profile.nodoc>, testsuite-runner <!profile.notest> or doc-generator <!profile.nodoc !profile.stage1>, testsuite-runner <!profile.notest !profile.stage1>

  • discuss whether more build profiles should be introduced, how about mapping some DEB_BUILD_OPTIONS to build profiles? (nodoc, nocheck, ...)
  • discuss status of ReleaseGoals/CrossBuildableBase what is missing? Where are blockers? How to identify the set that must be cross-able for a minimal base system?

  • discuss substitution variables in Build-Depends 751437

  • bootstrap info at qa.debian.org
  • discuss handling of mixed positive and negative restrictions
    • make similar to gentoo use flags?
    • what should happen when an unknown namespace is encountered?
    • the current way is complicated and it is hard to see how this makes future extensions possible
  • Document the outcome of the discussions for future reference!


The sprint was very effective: Sprints/2014/BootstrapSprint/Results

Sent to Debian-devel-announce: https://lists.debian.org/debian-devel-announce/2014/08/msg00013.html


The sprint has been possible thanks to:

  • donations to the Debian project

  • Irill, Paris for the Venue, Roberto Di Cosmo for arranging it, and Sylvestre Ledru for help with access.