Hi, On Wed, Jan 16, 2013 at 01:50:17PM +0000, Ian Jackson wrote: > > 5. Cross-Builds field > > ===================== > > > > For even further automation and also for quality assurance, we propose > > another new field for source packages which indicates whether or not > > this source package is supposed to be cross compilable. > > Is it possible that packages might only cross build for certain > targets ? Or only for certain hosts ?
Yes. But for the intended purpose of this field, it does not make much sense to encode the information on which architecture and for which architecture a source package cross compiles. If a source package would not compile on some architectures or for some architectures, then it would be Cross-Builds:No. If the Cross-Builds field is being introduced, then only a few base source packages *must* carry this field. For all other source packages, this field would be optional. The tools we developed can always be used to calculate which source packages are necessary to cross compile a minimal build system. Therefor, this field would only be: - a more obvious way for the maintainer of a source package to know that his/her package is one of those that must be cross compilable for any upcoming architecture. - a more obvious way for a bootstrapper to see which native build dependency cycles could easily be solved by cross compiling some source packages The field is therefor rather low priority compared to the other ideas. > I haven't spotted anything hideously wrong. I have three suggestions > for changes: > > * Packages should explicitly declare which profiles they support. > This should be done with a Profile field in the source stanza > of debian/control. Good idea - this would make it even more analogous to the "Architecture" field and its meaning in source and binary stanzas in ./debian/control. > * It should be made explicit in the spec that building occurs with > zero or one profile, not several. As far as I understood (but I'm not the one who actually cross-compiles things in real life), different dependencies might be needed during cross compilation of some source packages. If that source package must be cross compiled for a minimal base system and if it also must be built with reduced build dependencies, then two build profiles at the same time are necessary. In this case a "cross" and "stage1" profile. > * The concrete syntax in build-depends should not use < > but rather > reuse the architecture qualification syntax. You basically propose to extend the architecture qualification syntax from a single disjunction into a conjunctive normal form expression. If any number of disjunctions is allowed, your proposal will also support more than one profile at the same time. What would an example of a different namespace than "profile:" be? >From the perspective of dependency analysis, your proposal seems to be able to carry all information that is needed for it. I leave it up to you guys to decide on which you like better. Thanks for your input! cheers, josch -- 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/20130116160543.GA30841@hoothoot