use flags? (was: Re: Introducing Build-Recommends / Build-Core-Depends?)

2011-08-13 Thread Eugene V. Lyubimkin
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?)

2011-08-13 Thread Andreas Barth
* 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?)

2011-08-15 Thread Steve McIntyre
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?)

2011-08-15 Thread Andreas Barth
* 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