diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 9c58d95006..a02d143c34 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -1759,11 +1759,24 @@ class CookerCollectFiles(object): | |||
1759 | bbmask = config.getVar('BBMASK', True) | 1759 | bbmask = config.getVar('BBMASK', True) |
1760 | 1760 | ||
1761 | if bbmask: | 1761 | if bbmask: |
1762 | # First validate the individual regular expressions and ignore any | ||
1763 | # that do not compile | ||
1764 | bbmasks = [] | ||
1765 | for mask in bbmask.split(): | ||
1766 | try: | ||
1767 | re.compile(mask) | ||
1768 | bbmasks.append(mask) | ||
1769 | except sre_constants.error: | ||
1770 | collectlog.critical("BBMASK contains an invalid regular expression, ignoring: %s" % mask) | ||
1771 | |||
1772 | # Then validate the combined regular expressions. This should never | ||
1773 | # fail, but better safe than sorry... | ||
1774 | bbmask = "|".join(bbmasks) | ||
1762 | try: | 1775 | try: |
1763 | bbmask_compiled = re.compile(bbmask) | 1776 | bbmask_compiled = re.compile(bbmask) |
1764 | except sre_constants.error: | 1777 | except sre_constants.error: |
1765 | collectlog.critical("BBMASK is not a valid regular expression, ignoring.") | 1778 | collectlog.critical("BBMASK is not a valid regular expression, ignoring: %s" % bbmask) |
1766 | return list(newfiles), 0 | 1779 | bbmask = None |
1767 | 1780 | ||
1768 | bbfiles = [] | 1781 | bbfiles = [] |
1769 | bbappend = [] | 1782 | bbappend = [] |