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)