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



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