use flags? (was: Re: Introducing Build-Recommends / Build-Core-Depends?)
On 2011-08-13 13:28, Andreas Barth wrote: > Building with core Dependencies only > > If doing an build of the core functionality only, norecommends is > added to the environment DEB_BUILD_OPTIONS. This is the signal for > dpkg-buildpackage etc to only check for the minimal set of packages, > and for the debian/rules to accept if some functionality is missing > (i.e. might require changes to usage of ./configure). > > (Buildds should do it in a way that they first check if however all > recommends are available, and only failing that setting the header - > makes it more likely we get full packages early; but that's an > implementation sidenote). This proposal effectively means there will two ways of building the package: 'core' and 'full' one. If we accept the idea there's now more than one way to build the package, I would like us do not limit the number of ways to '2' but rather extend the prospoal to set up something similar to Gentoo's USE flags. The advantages of that idea: - porters/buildds/local administrators will have the greater flexibility to choose what the want to (re)build; - for the architecture bootstrap this could be used for packages that need to be rebuilt more than once with growing set of features build-by-build (don't know if such packages exist). The disadvantage is obvious: harder to implement. I imagine it to look something like: Source: fbreader Build-Depends-Core: debhelper (>= 7), libbz2-dev Build-Depends-Qt3: libqt3-mt-dev Build-Depends-Qt4: libqt4-dev Build-Depends-Gtk2: libgtk2.0-dev Like in the original proposal, sets of build-depends are to be chosen by DEB_BUILD_OPTIONS, for example DEB_BUILD_OPTIONS=use=gtk2,qt4. In absence of 'use' flag (i.e. by default), all 'optional' packages are built. And like in the original proposal, there's a header in the resulting .changes (and possibly in something else) which determines what was the value of the 'use' flag when building, like Built-With: gtk2,qt4. For the compatibility, dpkg-genchanges would combine all Build-Depends-* to a single Build-Depends. -- Eugene V. Lyubimkin aka JackYF, JID: jackyf.devel(maildog)gmail.com C++/Perl developer, Debian Developer -- 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/20110813125846.GA1656@r500-debian
Re: use flags? (was: Re: Introducing Build-Recommends / Build-Core-Depends?)
* Eugene V. Lyubimkin (jac...@debian.org) [110813 14:58]: > On 2011-08-13 13:28, Andreas Barth wrote: > > Building with core Dependencies only > > > > If doing an build of the core functionality only, norecommends is > > added to the environment DEB_BUILD_OPTIONS. This is the signal for > > dpkg-buildpackage etc to only check for the minimal set of packages, > > and for the debian/rules to accept if some functionality is missing > > (i.e. might require changes to usage of ./configure). > > > > (Buildds should do it in a way that they first check if however all > > recommends are available, and only failing that setting the header - > > makes it more likely we get full packages early; but that's an > > implementation sidenote). > > This proposal effectively means there will two ways of building the > package: 'core' and 'full' one. > > If we accept the idea there's now more than one way to build the > package, I would like us do not limit the number of ways to '2' but > rather extend the prospoal to set up something similar to Gentoo's USE > flags. Eh, sorry. This proposal doesn't say "there are exactly two ways", but "this is the minimal set of dependencies to get at least one working binary package out" and "with this, you get all working binary packages". You could build with anything inbetween as well. Also, more flags are already available via DEBBUILDOPTIONS like "nodocs". However, we should make sure that we consistently get what we want for the main archive. So (except during bootstrapping time) buildds should run with the default options. Andi -- 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/20110813141234.gt15...@mails.so.argh.org
Re: use flags? (was: Re: Introducing Build-Recommends / Build-Core-Depends?)
Eugene V. Lyubimkin wrote: > >If we accept the idea there's now more than one way to build the >package, I would like us do not limit the number of ways to '2' but >rather extend the prospoal to set up something similar to Gentoo's USE >flags. The advantages of that idea: > >- porters/buildds/local administrators will have the greater flexibility > to choose what the want to (re)build; >- for the architecture bootstrap this could be used for packages that > need to be rebuilt more than once with growing set of features > build-by-build (don't know if such packages exist). > >The disadvantage is obvious: harder to implement. > >I imagine it to look something like: > >Source: fbreader >Build-Depends-Core: debhelper (>= 7), libbz2-dev >Build-Depends-Qt3: libqt3-mt-dev >Build-Depends-Qt4: libqt4-dev >Build-Depends-Gtk2: libgtk2.0-dev > >Like in the original proposal, sets of build-depends are to be chosen by >DEB_BUILD_OPTIONS, for example DEB_BUILD_OPTIONS=use=gtk2,qt4. In >absence of 'use' flag (i.e. by default), all 'optional' packages are >built. And like in the original proposal, there's a header in the >resulting .changes (and possibly in something else) which determines what >was the value of the 'use' flag when building, like > >Built-With: gtk2,qt4. > >For the compatibility, dpkg-genchanges would combine all Build-Depends-* >to a single Build-Depends. I can see this turning into a large mess. What's the benefit for Debian for all the extra work here? If you want massively differing builds on every machine, Gentoo exists already... -- Steve McIntyre, Cambridge, UK.st...@einval.com "...In the UNIX world, people tend to interpret `non-technical user' as meaning someone who's only ever written one device driver." -- Daniel Pead -- 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/e1qsu6z-0001ot...@mail.einval.com
Re: use flags? (was: Re: Introducing Build-Recommends / Build-Core-Depends?)
* Steve McIntyre (st...@einval.com) [110815 12:27]: > Eugene V. Lyubimkin wrote: > >Source: fbreader > >Build-Depends-Core: debhelper (>= 7), libbz2-dev > >Build-Depends-Qt3: libqt3-mt-dev > >Build-Depends-Qt4: libqt4-dev > >Build-Depends-Gtk2: libgtk2.0-dev > I can see this turning into a large mess. What's the benefit for > Debian for all the extra work here? If you want massively differing > builds on every machine, Gentoo exists already... Ack. Andi -- 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/20110815113943.gx15...@mails.so.argh.org