[Build-common-hackers] Bug#719489: more efficient builds and support for staged builds for cdbs based packages

Matthias Klose doko at debian.org
Mon Aug 12 12:22:21 UTC 2013


Package: cdbs

originally filed here at
https://bugs.launchpad.net/ubuntu/+source/gtk+3.0/+bug/1207029

Building gtk+3.0, I see a few things which do matter for a bootstrap of the
package on a new (slowish, because it's simulated) architecture.

Support for staged builds (DEB_STAGE=stage1 dpkg-buildpackage ...):

 - The package b-d's on colord and cups, creating a cyclic dependency. The
   staged build should configure without these b-d's and succeed.

   cdbs task: provide infrastructure to disable building packages which
   are not built for a staged build..

 - The package builds udebs, doubling the build time. It would be nice
   if the package could be built without udebs (not sure if special cdbs
   support is needed, I only did remove the packages in the control file
   and references in the rules file.

   cdbs task: provide infrastructure not to build some binary packages
   when a flavour is not built (association between a flavour and binary
   packages is probably needed).

Besides that

 - Please check if the package can be built in parallel, and support
   DEB_BUILD_OPTIONS="parallel=<N>"

   cdbs task: warn immediately when the cdbs files are sourced that
   the build is not done in parallel, unless there is a macro which
   does explain why the build it not done in parallel, e.g.
   CDBS_BO_PARALLEL_BUILD_REASON = upstream build system doesn't work with
parallel build

- Please check if a binary-arch only build needs to build the documentation.

  cdbs task: allow a package to specify BUILD_INDEP_CONFIGURE_OPTIONS
  and BUILD_ARCH_CONFIGURE_OPTIONS e.g.
    BUILD_INDEP_CONFIGURE_OPTIONS = --enable-text-docs --enable-html-docs
    BUILD_ARCH_CONFIGURE_OPTIONS = --disable-text-docs --disable-html-docs

- Please check if the tests need to be built when building with
  DEB_BUILD_OPTIONS="nocheck". I see that a considerable amout
  of time is spent building the tests.

  cdbs task: probably none

- Please document which b-d's are only needed to run the testsuite.

  cdbs task: probably none

- Please check how to cross build the package.

  cdbs task: probably none, however in general it would be good to
  specify that a package can be cross built.

It would be nice to address all of these, and then try to propose that package
as an example how to build other packages in the gtk stack.

Thanks, Matthias



More information about the Build-common-hackers mailing list