Bug#845715: debian-policy: Please document that packages are not allowed to write outside their source directories
Hi josch,
The sentiment is entirely sensible. Builds shouldn't be scribbling all over
the filesystem and build systems most definitely shouldn't be storing state
between builds.
I assume we're not worried that if the local admin installs ccache, then the
build will store files outside the build directory violating the prohibition
that a 'required target must not attempt to write outside of the source
package directory tree'.
> The required targets must not attempt to write outside of the source
> package package directory tree. An exception to this rule is the use of
> <file>/tmp</file> which is permitted as long as temporary files are
> deleted and not re-used by subsequent execution of the target.
I'd rather see TMPDIR described (rather than /tmp) as the location that can
be used; /tmp should only be used if TMPDIR is not set.
> Most notably, the required targets must not attempt
> to write into <file>$HOME</file>.
As a very pedantic point, Policy elsewhere refers to environment variables
as <tt>HOME</tt> -- that is, without the $. The $ is shell-specific syntax
for parameter expansion, while the environment variable itself exists in
other languages and the name does not include the $. Documentation of the
environment such as environ(7) or the Open Group standards normally omits
the $ as a result. (I can find only one use of $ in Policy outside
shell/make snippets.)
cheers
Stuart
--
Stuart Prescott http://www.nanonanonano.net/ stuart@nanonanonano.net
Debian Developer http://www.debian.org/ stuart@debian.org
GPG fingerprint 90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7
Reply to: