summaryrefslogtreecommitdiffstats
path: root/pym/repoman/checks.py
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2011-01-30 21:52:50 +0100
committerFabian Groffen <grobian@gentoo.org>2011-01-30 21:52:50 +0100
commit8e1c57067c4556ee2c730f0722d344c52cf4888c (patch)
tree38abff2a89ab194ab96fd068751b000f19198878 /pym/repoman/checks.py
parentf3d72b4418d19cae39d3c327699d244bbfad6461 (diff)
downloadportage-8e1c57067c4556ee2c730f0722d344c52cf4888c.tar.gz
portage-8e1c57067c4556ee2c730f0722d344c52cf4888c.tar.bz2
portage-8e1c57067c4556ee2c730f0722d344c52cf4888c.zip
repoman: add check for using offset vars with helpers
New check: NoOffsetWithHelpers. Checks whether helper functions, such as dodir and insinto, are used with offset variables either referring to the installation image (D, ED), the alternate root location (ROOT, EROOT), or the offset prefix (EPREFIX).
Diffstat (limited to 'pym/repoman/checks.py')
-rw-r--r--pym/repoman/checks.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/pym/repoman/checks.py b/pym/repoman/checks.py
index baa7a3812..d00e6d59d 100644
--- a/pym/repoman/checks.py
+++ b/pym/repoman/checks.py
@@ -1,5 +1,5 @@
# repoman: Checks
-# Copyright 2007, 2010 Gentoo Foundation
+# Copyright 2007, 2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
"""This module contains functions used in Repoman to ascertain the quality
@@ -327,6 +327,15 @@ class EprefixifyDefined(LineCheck):
elif self._inherit_prefix_re.search(line) is not None:
self._prefix_inherited = True
+class NoOffsetWithHelpers(LineCheck):
+ """ Check that the image location, the alternate root offset, and the
+ offset prefix (D, ROOT, ED, EROOT and EPREFIX) are not used with
+ helpers """
+
+ repoman_check_name = 'variable.usedwithhelpers'
+ re = re.compile(r'.*\b(dodir|dohard|exeinto|insinto|into)\s+"?\$\{?(D|ROOT|ED|EROOT|EPREFIX)\}?.*')
+ error = errors.EPREFIX_WITH_HELPERS
+
class ImplicitRuntimeDeps(LineCheck):
"""
Detect the case where DEPEND is set and RDEPEND is unset in the ebuild,
@@ -622,7 +631,7 @@ _constant_checks = tuple((c() for c in (
ImplicitRuntimeDeps, InheritAutotools, InheritDeprecated, IUseUndefined,
EMakeParallelDisabled, EMakeParallelDisabledViaMAKEOPTS, NoAsNeeded,
DeprecatedBindnowFlags, SrcUnpackPatches, WantAutoDefaultValue,
- SrcCompileEconf, Eapi3DeprecatedFuncs,
+ SrcCompileEconf, Eapi3DeprecatedFuncs, NoOffsetWithHelpers,
Eapi4IncompatibleFuncs, Eapi4GoneVars, BuiltWithUse,
PreserveOldLib, SandboxAddpredict)))