[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Consistent handling of the DEB_BUILD_OPTIONS



This is one of the changes sought by Emdebian to support using Debian
on embedded devices where storage space is far from cheap and involves
running counter to the current Debian default of "install everything
that works, every time, every package".

http://lists.debian.org/debian-devel/2007/11/msg00116.html

nodocs, nocheck/notest need to be formalised and implemented across
Debian in a standard, consistent manner that reproducibly supports the
same changes to each package no matter what build system is used.

There needs to be some agreement on what nocheck or notest means and
which one to use. For Emdebian needs, whichever name is used, the
imperative is that setting that DEB_BUILD_OPTION *must* completely
prevent the execution of any compiled program within any test suite
provided by upstream. The only checks or tests that can be implemented
outside nocheck|notest must only use system binaries from coreutils,
binutils-multiarch or one of the gcc binaries.

nocheck | notest should also be supported whether or not the package is
actually being cross-built. emdebuild currently passes 'nocheck' as
part of the DEB_BUILD_OPTIONS for all Emdebian builds.

As far as nodocs is concerned, it should be straightforward - no
package documentation either in the arch dependent binaries or the
-doc, -data or -common packages.

In this context, I believe "package documentation" should mean:
"All files in the package that are installed beneath /usr/share/doc
which are not mandated by Policy."

Therefore, copyright and changelogs are excluded as are manpage and
info pages but README, TODO, AUTHORS and all HTML/SGML/XML files
whether explicitly loaded via scrollkeeper/yelp etc or not are included.

A separate method will be developed later to deal with removing
manpages, infopages, lintian and linda files and other miscellaneous
files only from Emdebian packages so that the Debian package still
complies with Policy and lintian etc.

I propose to file bugs against packages that use inconsistent
DEB_BUILD_OPTIONS or which do not support DEB_BUILD_OPTIONS that would
actually benefit Emdebian.

As with the other mass bug filing from this set, I will tag the reports
'crossbuilt' and file as wishlist. However, I would like feedback on
whether DEB_BUILD_OPTION support should be handled in Policy so that
packages *must* support the use of all relevant options in a consistent
manner. Maybe lintian could also include a check along the lines of:
package-includes-docs-without-supporting-nodocs
and
package-runs-make-check-without-supporting-nocheck

If this seems like a good idea to others, I'll file the relevant
wishlist bugs against lintian and Policy.

-- 


Neil Williams
=============
http://www.data-freedom.org/
http://www.nosoftwarepatents.com/
http://www.linux.codehelp.co.uk/

Attachment: pgpQjCkINUJjS.pgp
Description: PGP signature


Reply to: