r/harness: Add missing import of spawn

Signed-off-by: Niels Thykier <niels@thykier.net>
r/t/maintainer.tmpl: Use $version instead of $data->{'version'}

Signed-off-by: Niels Thykier <niels@thykier.net>
coll: Pass -m to tar to save a few utimenat calls in tar

Signed-off-by: Niels Thykier <niels@thykier.net>
coll: Explicitly tell tar to ignore user+perms on extraction

This is the default for tar (except for extracting as root), but it
never hurt to be explicit.

Signed-off-by: Niels Thykier <niels@thykier.net>
clean_env: Stop perserving LOCPATH and INTLTOOL_EXTRACT

We no longer rely on these environment variables (or when we do, we
set them directly in the child needing them).

Note that LOCPATH was added in commit 9b7c089 back when we needed a
"private" en_US.UTF-8 locale.  Since Debian/Wheezy, we no longer need
this, since libc provides us with C.UTF-8.

Signed-off-by: Niels Thykier <niels@thykier.net>
lintian: Reset %ENV to a well-defined state at start up

This is mostly to ensure that we do not inherit a random value in
e.g. "TAR_OPTIONS" or "GZIP" that affects our output.

Signed-off-by: Niels Thykier <niels@thykier.net>
L::C::Package: Remove use of "local $_"

Signed-off-by: Niels Thykier <niels@thykier.net>
L::Path::FSInfo: Cache the FS root path

Since all input is known to be normalised, L::P::FSInfo can also
dispense with a few "formalities" (read: checking) that the underlying
method in L::Collect would need to do.

Signed-off-by: Niels Thykier <niels@thykier.net>
L::Relation: Parse elements more defensively and forgivingly

Allow single character package names (we already allow uppercase
characters in package names) and silently ignore elements that cannot
be parsed.

Signed-off-by: Niels Thykier <niels@thykier.net>
L::Relation: Micro-optimise the code a bit

Remove (now) redundant undef guard and avoid recomputing some index
operations.

Signed-off-by: Niels Thykier <niels@thykier.net>
L::Path: Micro-optimise the L::Path constructor

The patch reduces the runtime of the method to that of the pre-2.5.28
version.  This also affects unpacking time, where subprocesses
(collections) also loads all entries in the index.

Signed-off-by: Niels Thykier <niels@thykier.net>
L::C::Package: Factor out a repeated fetch operation

Signed-off-by: Niels Thykier <niels@thykier.net>
c/binaries: Avoid some implicit _as_string calls

Signed-off-by: Niels Thykier <niels@thykier.net>
checks/dup-files: Avoid useless "index" calls

Replace $info->index($path)->X with $path->X, since
$info->index($path) is an identity function when $path is a L::Path
object.

Signed-off-by: Niels Thykier <niels@thykier.net>