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

Bug#728200: debian-policy: force build tools to ensure source trees are build-ready



Package: debian-policy
Severity: important

I was recently hit by this bug [1] which stems from inconsistent assumptions
that various build tools have about the state of the build tree. I filed [2]
to devscripts to suggest a fix.

However, policy wording could be better in this area, and it is especially not
helpful for Section 4.14 [3] to effectively give free reign to the maintainer
to make arbitrary instructions on how to take the source tree from an unpacked
state to a build-ready state. (How does this even work with buildd??? Did you
guys solve NLP???)

I would suggest policy make explicit definitions for the terms "unpacked" state
vs "build-ready" state, and force build tools to detect and reject performing
`debian/rules` actions on source trees that are not "build-ready". It just
doesn't make sense for this to happen, no good result can come out of it.

Or probably better, the build-tool can simply make the source tree build-ready
by running `dpkg-source --before-build` or `debian/rules patch` before running
other debian/rules actions. (This also requires "patch" to be idempotent.)

To keep consistency with how "clean" interacts with 3.0 (quilt) patches and
`dpkg-source --before-build`, we would also need to specify that "clean" does
not undo "patch".

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728097
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=728198
[3] http://www.debian.org/doc/debian-policy/ch-source.html#s-readmesource

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.10-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: