summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/process.py2
-rw-r--r--bitbake/lib/bb/server/process.py3
-rw-r--r--bitbake/lib/bb/server/xmlrpcserver.py1
-rw-r--r--bitbake/lib/bb/tests/fetch.py5
-rw-r--r--bitbake/lib/bb/utils.py13
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
26import re 26import re
27import datetime 27import datetime
28import pickle 28import pickle
29import gc
29import bb.server.xmlrpcserver 30import bb.server.xmlrpcserver
30from bb import daemonize 31from bb import daemonize
31from multiprocessing import queues 32from 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
11import time 11import time
12import inspect 12import inspect
13from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler 13from xmlrpc.server import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
14import bb.server.xmlrpcclient
14 15
15import bb 16import 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
16import multiprocessing 16import multiprocessing
17import fcntl 17import fcntl
18import importlib 18import importlib
19from importlib import machinery 19import importlib.machinery
20import importlib.util
20import itertools 21import itertools
21import subprocess 22import subprocess
22import glob 23import 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