summaryrefslogtreecommitdiff
path: root/poky/bitbake
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2024-04-17 00:28:03 +0300
committerPatrick Williams <patrick@stwcx.xyz>2024-04-17 00:35:03 +0300
commit2f814a6d8285b35e9fb74e3ce9ce1c44b7e4f763 (patch)
treedd79e93858470af04df47c0953528bf612e8ffcb /poky/bitbake
parentf0053a50e6a423e12b68673c89b53938346a3af6 (diff)
downloadopenbmc-2f814a6d8285b35e9fb74e3ce9ce1c44b7e4f763.tar.xz
poky: reset subtree on master HEAD(a88251b3e7)
As part of the last subtree update, I used master-next as the subtree basis because there was a fix we needed in order to get QEMU to pass. I didn't realize that master-next deviated (because they use to just have short-term patches in it). Reset the content to the same fix but from the master branch. Change-Id: Ic7d2f0ac42e9da3eb263586b26ba56d8798d5bcf Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'poky/bitbake')
-rwxr-xr-xpoky/bitbake/bin/bitbake2
-rw-r--r--poky/bitbake/lib/bb/__init__.py2
-rw-r--r--poky/bitbake/lib/bb/siggen.py6
-rw-r--r--poky/bitbake/lib/hashserv/client.py39
4 files changed, 17 insertions, 32 deletions
diff --git a/poky/bitbake/bin/bitbake b/poky/bitbake/bin/bitbake
index f2d168c522..382983e087 100755
--- a/poky/bitbake/bin/bitbake
+++ b/poky/bitbake/bin/bitbake
@@ -27,7 +27,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
bb.utils.check_system_locale()
-__version__ = "2.7.3"
+__version__ = "2.9.0"
if __name__ == "__main__":
if __version__ != bb.__version__:
diff --git a/poky/bitbake/lib/bb/__init__.py b/poky/bitbake/lib/bb/__init__.py
index 768cce84e9..15013540c2 100644
--- a/poky/bitbake/lib/bb/__init__.py
+++ b/poky/bitbake/lib/bb/__init__.py
@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
-__version__ = "2.7.3"
+__version__ = "2.9.0"
import sys
if sys.version_info < (3, 8, 0):
diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py
index 0421885306..8ab08ec961 100644
--- a/poky/bitbake/lib/bb/siggen.py
+++ b/poky/bitbake/lib/bb/siggen.py
@@ -582,7 +582,11 @@ class SignatureGeneratorUniHashMixIn(object):
yield
finally:
- os.environ = orig_env
+ for k, v in self.env.items():
+ if k in orig_env:
+ os.environ[k] = orig_env[k]
+ else:
+ del os.environ[k]
@contextmanager
def client(self):
diff --git a/poky/bitbake/lib/hashserv/client.py b/poky/bitbake/lib/hashserv/client.py
index b269879ecf..0b254beddd 100644
--- a/poky/bitbake/lib/hashserv/client.py
+++ b/poky/bitbake/lib/hashserv/client.py
@@ -27,9 +27,7 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
async def setup_connection(self):
await super().setup_connection()
- cur_mode = self.mode
self.mode = self.MODE_NORMAL
- await self._set_mode(cur_mode)
if self.username:
# Save off become user temporarily because auth() resets it
become = self.saved_become_user
@@ -38,13 +36,20 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
if become:
await self.become_user(become)
- async def send_stream(self, msg):
+ async def send_stream(self, mode, msg):
async def proc():
+ await self._set_mode(mode)
await self.socket.send(msg)
return await self.socket.recv()
return await self._send_wrapper(proc)
+ async def invoke(self, *args, **kwargs):
+ # It's OK if connection errors cause a failure here, because the mode
+ # is also reset to normal on a new connection
+ await self._set_mode(self.MODE_NORMAL)
+ return await super().invoke(*args, **kwargs)
+
async def _set_mode(self, new_mode):
async def stream_to_normal():
await self.socket.send("END")
@@ -84,14 +89,12 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
self.mode = new_mode
async def get_unihash(self, method, taskhash):
- await self._set_mode(self.MODE_GET_STREAM)
- r = await self.send_stream("%s %s" % (method, taskhash))
+ r = await self.send_stream(self.MODE_GET_STREAM, "%s %s" % (method, taskhash))
if not r:
return None
return r
async def report_unihash(self, taskhash, method, outhash, unihash, extra={}):
- await self._set_mode(self.MODE_NORMAL)
m = extra.copy()
m["taskhash"] = taskhash
m["method"] = method
@@ -100,7 +103,6 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
return await self.invoke({"report": m})
async def report_unihash_equiv(self, taskhash, method, unihash, extra={}):
- await self._set_mode(self.MODE_NORMAL)
m = extra.copy()
m["taskhash"] = taskhash
m["method"] = method
@@ -108,18 +110,15 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
return await self.invoke({"report-equiv": m})
async def get_taskhash(self, method, taskhash, all_properties=False):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke(
{"get": {"taskhash": taskhash, "method": method, "all": all_properties}}
)
async def unihash_exists(self, unihash):
- await self._set_mode(self.MODE_EXIST_STREAM)
- r = await self.send_stream(unihash)
+ r = await self.send_stream(self.MODE_EXIST_STREAM, unihash)
return r == "true"
async def get_outhash(self, method, outhash, taskhash, with_unihash=True):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke(
{
"get-outhash": {
@@ -132,27 +131,21 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
)
async def get_stats(self):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"get-stats": None})
async def reset_stats(self):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"reset-stats": None})
async def backfill_wait(self):
- await self._set_mode(self.MODE_NORMAL)
return (await self.invoke({"backfill-wait": None}))["tasks"]
async def remove(self, where):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"remove": {"where": where}})
async def clean_unused(self, max_age):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"clean-unused": {"max_age_seconds": max_age}})
async def auth(self, username, token):
- await self._set_mode(self.MODE_NORMAL)
result = await self.invoke({"auth": {"username": username, "token": token}})
self.username = username
self.password = token
@@ -160,7 +153,6 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
return result
async def refresh_token(self, username=None):
- await self._set_mode(self.MODE_NORMAL)
m = {}
if username:
m["username"] = username
@@ -174,34 +166,28 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
return result
async def set_user_perms(self, username, permissions):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke(
{"set-user-perms": {"username": username, "permissions": permissions}}
)
async def get_user(self, username=None):
- await self._set_mode(self.MODE_NORMAL)
m = {}
if username:
m["username"] = username
return await self.invoke({"get-user": m})
async def get_all_users(self):
- await self._set_mode(self.MODE_NORMAL)
return (await self.invoke({"get-all-users": {}}))["users"]
async def new_user(self, username, permissions):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke(
{"new-user": {"username": username, "permissions": permissions}}
)
async def delete_user(self, username):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"delete-user": {"username": username}})
async def become_user(self, username):
- await self._set_mode(self.MODE_NORMAL)
result = await self.invoke({"become-user": {"username": username}})
if username == self.username:
self.saved_become_user = None
@@ -210,15 +196,12 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
return result
async def get_db_usage(self):
- await self._set_mode(self.MODE_NORMAL)
return (await self.invoke({"get-db-usage": {}}))["usage"]
async def get_db_query_columns(self):
- await self._set_mode(self.MODE_NORMAL)
return (await self.invoke({"get-db-query-columns": {}}))["columns"]
async def gc_status(self):
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"gc-status": {}})
async def gc_mark(self, mark, where):
@@ -231,7 +214,6 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
kept. In addition, any new entries added to the database after this
command will be automatically marked with "mark"
"""
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"gc-mark": {"mark": mark, "where": where}})
async def gc_sweep(self, mark):
@@ -242,7 +224,6 @@ class AsyncClient(bb.asyncrpc.AsyncClient):
It is recommended to clean unused outhash entries after running this to
cleanup any dangling outhashes
"""
- await self._set_mode(self.MODE_NORMAL)
return await self.invoke({"gc-sweep": {"mark": mark}})