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

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: