diff options
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/process.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/server/process.py | 3 | ||||
-rw-r--r-- | bitbake/lib/bb/server/xmlrpcserver.py | 1 | ||||
-rw-r--r-- | bitbake/lib/bb/tests/fetch.py | 5 | ||||
-rw-r--r-- | bitbake/lib/bb/utils.py | 13 |
5 files changed, 16 insertions, 8 deletions
diff --git a/bitbake/lib/bb/process.py b/bitbake/lib/bb/process.py index d5a1775fce..af5d804a1d 100644 --- a/bitbake/lib/bb/process.py +++ b/bitbake/lib/bb/process.py | |||
@@ -60,7 +60,7 @@ class Popen(subprocess.Popen): | |||
60 | "close_fds": True, | 60 | "close_fds": True, |
61 | "preexec_fn": subprocess_setup, | 61 | "preexec_fn": subprocess_setup, |
62 | "stdout": subprocess.PIPE, | 62 | "stdout": subprocess.PIPE, |
63 | "stderr": subprocess.STDOUT, | 63 | "stderr": subprocess.PIPE, |
64 | "stdin": subprocess.PIPE, | 64 | "stdin": subprocess.PIPE, |
65 | "shell": False, | 65 | "shell": False, |
66 | } | 66 | } |
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py index fcdce19717..b11c903e08 100644 --- a/bitbake/lib/bb/server/process.py +++ b/bitbake/lib/bb/server/process.py | |||
@@ -26,6 +26,7 @@ import errno | |||
26 | import re | 26 | import re |
27 | import datetime | 27 | import datetime |
28 | import pickle | 28 | import pickle |
29 | import gc | ||
29 | import bb.server.xmlrpcserver | 30 | import bb.server.xmlrpcserver |
30 | from bb import daemonize | 31 | from bb import daemonize |
31 | from multiprocessing import queues | 32 | from multiprocessing import queues |
@@ -737,8 +738,10 @@ class ConnectionWriter(object): | |||
737 | 738 | ||
738 | def send(self, obj): | 739 | def send(self, obj): |
739 | obj = multiprocessing.reduction.ForkingPickler.dumps(obj) | 740 | obj = multiprocessing.reduction.ForkingPickler.dumps(obj) |
741 | gc.disable() | ||
740 | with self.wlock: | 742 | with self.wlock: |
741 | self.writer.send_bytes(obj) | 743 | self.writer.send_bytes(obj) |
744 | gc.enable() | ||
742 | 745 | ||
743 | def fileno(self): | 746 | def fileno(self): |
744 | return self.writer.fileno() | 747 | return self.writer.fileno() |
diff --git a/bitbake/lib/bb/server/xmlrpcserver.py b/bitbake/lib/bb/server/xmlrpcserver.py index 2fa71be667..01f55538ae 100644 --- a/bitbake/lib/bb/server/xmlrpcserver.py +++ b/bitbake/lib/bb/server/xmlrpcserver.py | |||
@@ -11,6 +11,7 @@ import hashlib | |||
11 | import time | 11 | import time |
12 | import inspect | 12 | import inspect |
13 | from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler | 13 | from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler |
14 | import bb.server.xmlrpcclient | ||
14 | 15 | ||
15 | import bb | 16 | import bb |
16 | 17 | ||
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index 86eccf7de2..19ea725ac6 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -1059,7 +1059,7 @@ class FetcherNetworkTest(FetcherTest): | |||
1059 | """ Prevent regression on deeply nested submodules not being checked out properly, even though they were fetched. """ | 1059 | """ Prevent regression on deeply nested submodules not being checked out properly, even though they were fetched. """ |
1060 | 1060 | ||
1061 | # This repository also has submodules where the module (name), path and url do not align | 1061 | # This repository also has submodules where the module (name), path and url do not align |
1062 | url = "gitsm://github.com/azure/iotedge.git;protocol=https;rev=d76e0316c6f324345d77c48a83ce836d09392699" | 1062 | url = "gitsm://github.com/azure/iotedge.git;protocol=https;rev=d76e0316c6f324345d77c48a83ce836d09392699;branch=main" |
1063 | fetcher = bb.fetch.Fetch([url], self.d) | 1063 | fetcher = bb.fetch.Fetch([url], self.d) |
1064 | fetcher.download() | 1064 | fetcher.download() |
1065 | # Previous cwd has been deleted | 1065 | # Previous cwd has been deleted |
@@ -1358,9 +1358,6 @@ class FetchCheckStatusTest(FetcherTest): | |||
1358 | "http://downloads.yoctoproject.org/releases/opkg/opkg-0.1.7.tar.gz", | 1358 | "http://downloads.yoctoproject.org/releases/opkg/opkg-0.1.7.tar.gz", |
1359 | "http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.0.tar.gz", | 1359 | "http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.0.tar.gz", |
1360 | "ftp://sourceware.org/pub/libffi/libffi-1.20.tar.gz", | 1360 | "ftp://sourceware.org/pub/libffi/libffi-1.20.tar.gz", |
1361 | "http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz", | ||
1362 | "https://ftp.gnu.org/gnu/chess/gnuchess-5.08.tar.gz", | ||
1363 | "https://ftp.gnu.org/gnu/gmp/gmp-4.0.tar.gz", | ||
1364 | # GitHub releases are hosted on Amazon S3, which doesn't support HEAD | 1361 | # GitHub releases are hosted on Amazon S3, which doesn't support HEAD |
1365 | "https://github.com/kergoth/tslib/releases/download/1.1/tslib-1.1.tar.xz" | 1362 | "https://github.com/kergoth/tslib/releases/download/1.1/tslib-1.1.tar.xz" |
1366 | ] | 1363 | ] |
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 | ||