Hi Oliver, On Sun, Dec 31, 2017 at 07:46:54PM +0100, Oliver Heimlich wrote: > I have one particular question regarding octave-interval. The build produces > two binary packages: octave-interval and octave-interval-doc. The latter is > architecture "all" and multi-arch "foreign". However, it is build by all > architectures. > > Since version 3.1.0 building the documentation takes a lot of time and > timeouts on some build environments, e. g., armel. Of course this should be > optimized upstream. > > Would it make sense to build octave-interval-doc only on few architectures > where the build environment has more resources? The usual solution for this problem is to decouple the build of arch:any packages from that of arch:all ones. This is done by splitting the "build" and "binary" targets of debian/rules into build-arch/binary-arch on one side, and build-indep/binary-indep on the other side (see Debian Policy §4.9). The idea is that the only the build-arch/binary-arch targets will be invoked on buildds for armel (and actually for all the other achitectures). There is a separate set of buildds specifically dedicated to building arch:all packages, that run the build-indep/binary-indep targets, and those buildds are rather fast (they actually run on amd64). It is possible to further refine the setup by splitting build-dependencies into 3 fields: Build-Depends-Arch (only needed for building arch:any packages), Build-Depends-Indep (only needed for building arch:all packages), and Build-Depends (needed by both). This can save time on buildds if, for example, texlive is only needed for building arch:all packages. In your case, you want octave-interval to be built by the build-arch/binary-arch targets, and octave-interval-doc by the build-indep/binary-indep targets. Splitting the build-dependencies does not seem very interesting in your case. When using dh as we now do, the usual way for doing this is to add -arch and -indep suffixes to overrides, in order to specify that they apply to only one of the two situations (see the dh(1) manpage). In order to achieve this with our new setup, a modification of octave-pkg-dev is needed. It is not immediately obvious to me how this can be achieved. Rafael, what do you think? -- ⢀⣴⠾⠻⢶⣦⠀ Sébastien Villemot ⣾⠁⢠⠒⠀⣿⡁ Debian Developer ⢿⡄⠘⠷⠚⠋⠀ http://sebastien.villemot.name ⠈⠳⣄⠀⠀⠀⠀ http://www.debian.org
Attachment:
signature.asc
Description: PGP signature