diff options
Diffstat (limited to 'bitbake/lib/bb/utils.py')
-rw-r--r-- | bitbake/lib/bb/utils.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index b282d09abf..2a150fe9c7 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py | |||
@@ -16,7 +16,8 @@ import bb.msg | |||
16 | import multiprocessing | 16 | import multiprocessing |
17 | import fcntl | 17 | import fcntl |
18 | import importlib | 18 | import importlib |
19 | from importlib import machinery | 19 | import importlib.machinery |
20 | import importlib.util | ||
20 | import itertools | 21 | import itertools |
21 | import subprocess | 22 | import subprocess |
22 | import glob | 23 | import glob |
@@ -451,6 +452,10 @@ def lockfile(name, shared=False, retry=True, block=False): | |||
451 | consider the possibility of sending a signal to the process to break | 452 | consider the possibility of sending a signal to the process to break |
452 | out - at which point you want block=True rather than retry=True. | 453 | out - at which point you want block=True rather than retry=True. |
453 | """ | 454 | """ |
455 | if len(name) > 255: | ||
456 | root, ext = os.path.splitext(name) | ||
457 | name = root[:255 - len(ext)] + ext | ||
458 | |||
454 | dirname = os.path.dirname(name) | 459 | dirname = os.path.dirname(name) |
455 | mkdirhier(dirname) | 460 | mkdirhier(dirname) |
456 | 461 | ||
@@ -487,7 +492,7 @@ def lockfile(name, shared=False, retry=True, block=False): | |||
487 | return lf | 492 | return lf |
488 | lf.close() | 493 | lf.close() |
489 | except OSError as e: | 494 | except OSError as e: |
490 | if e.errno == errno.EACCES: | 495 | if e.errno == errno.EACCES or e.errno == errno.ENAMETOOLONG: |
491 | logger.error("Unable to acquire lock '%s', %s", | 496 | logger.error("Unable to acquire lock '%s', %s", |
492 | e.strerror, name) | 497 | e.strerror, name) |
493 | sys.exit(1) | 498 | sys.exit(1) |
@@ -1616,7 +1621,9 @@ def load_plugins(logger, plugins, pluginpath): | |||
1616 | logger.debug('Loading plugin %s' % name) | 1621 | logger.debug('Loading plugin %s' % name) |
1617 | spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] ) | 1622 | spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] ) |
1618 | if spec: | 1623 | if spec: |
1619 | return spec.loader.load_module() | 1624 | mod = importlib.util.module_from_spec(spec) |
1625 | spec.loader.exec_module(mod) | ||
1626 | return mod | ||
1620 | 1627 | ||
1621 | logger.debug('Loading plugins from %s...' % pluginpath) | 1628 | logger.debug('Loading plugins from %s...' % pluginpath) |
1622 | 1629 | ||