commit:     424f333b044a89f3a7a782ceef43480795696f3b
Author:     Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache <DOT> Org>
AuthorDate: Thu Nov  7 06:38:30 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Fri Nov  8 04:31:42 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=424f333b

repoman: ebuild.absdosym check: Detect absolute paths starting with ${D}, ${ED} 
etc.

Bug: https://bugs.gentoo.org/699514
Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever <AT> Apache.Org>
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 repoman/lib/repoman/modules/linechecks/do/dosym.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/repoman/lib/repoman/modules/linechecks/do/dosym.py 
b/repoman/lib/repoman/modules/linechecks/do/dosym.py
index bab4dad03..c342d3595 100644
--- a/repoman/lib/repoman/modules/linechecks/do/dosym.py
+++ b/repoman/lib/repoman/modules/linechecks/do/dosym.py
@@ -7,8 +7,10 @@ from repoman.modules.linechecks.base import LineCheck
 class EbuildNonRelativeDosym(LineCheck):
        """Check ebuild for dosym using absolute paths instead of relative."""
        repoman_check_name = 'ebuild.absdosym'
+       variables = ('D', 'ED', 'ROOT', 'EROOT', 'BROOT')
        regex = re.compile(
-               r'^\s*dosym\s+["\']?(/(bin|etc|lib|opt|sbin|srv|usr|var)\S*)')
+               
r'^\s*dosym\s+(["\']?((\$(%s)\W|\${(%s)(%%/)?})|/(bin|etc|lib|opt|sbin|srv|usr|var))\S*)'
 %
+               ('|'.join(variables), '|'.join(variables)), re.ASCII)
 
        def check(self, num, line):
                match = self.regex.match(line)

Reply via email to