public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: Henning Schild <henning.schild@siemens.com>
To: isar-users <isar-users@googlegroups.com>
Cc: Felix Moessbauer <felix.moessbauer@siemens.com>,
	Florian Bezdeka <florian.bezdeka@siemens.com>
Subject: Re: [PATCH] bitbake: Update to 1.50.5 release
Date: Wed, 20 Apr 2022 17:00:59 +0200	[thread overview]
Message-ID: <20220420170059.23464e65@md1za8fc.ad001.siemens.net> (raw)
In-Reply-To: <20220420143540.5159-1-henning.schild@siemens.com>

While that kind of works, the next trouble with python 3.10 will be in
wic.

I propose to merge my 3.9 patch quickly and deal with the wic and
bitbake bump later. bookworm is important and should not be allowed to
fail in CI.

Henning

Am Wed, 20 Apr 2022 16:35:40 +0200
schrieb Henning Schild <henning.schild@siemens.com>:

> Update bitbake to the latest release in 1.50 branch. This release is
> tagged to the commit ID aaa7f7af23d5f89fe4a5ed48c57ea3dfca07c79d
> in the bitbake upstream.
> 
> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> ---
>  bitbake/lib/bb/cache.py                       |  3 +-
>  bitbake/lib/bb/cooker.py                      | 30 ++++++++++++++--
>  bitbake/lib/bb/data_smart.py                  |  4 +--
>  bitbake/lib/bb/fetch2/__init__.py             |  4 +++
>  bitbake/lib/bb/fetch2/perforce.py             |  2 +-
>  bitbake/lib/bb/fetch2/wget.py                 |  2 +-
>  bitbake/lib/bb/persist_data.py                |  5 +--
>  bitbake/lib/bb/process.py                     |  2 +-
>  bitbake/lib/bb/runqueue.py                    | 34 +++++++++---------
>  bitbake/lib/bb/server/process.py              |  2 +-
>  bitbake/lib/bb/tests/fetch.py                 | 35
> ++++++++++--------- bitbake/lib/bb/utils.py                       |
> 13 +++++-- bitbake/lib/hashserv/server.py                |  4 +--
>  bitbake/lib/toaster/tests/builds/buildtest.py |  2 +-
>  14 files changed, 89 insertions(+), 53 deletions(-)
> 
> diff --git a/bitbake/lib/bb/cache.py b/bitbake/lib/bb/cache.py
> index 27eb271798e8..5f9c0a779d75 100644
> --- a/bitbake/lib/bb/cache.py
> +++ b/bitbake/lib/bb/cache.py
> @@ -19,7 +19,8 @@
>  import os
>  import logging
>  import pickle
> -from collections import defaultdict, Mapping
> +from collections import defaultdict
> +from collections.abc import Mapping
>  import bb.utils
>  from bb import PrefixLoggerAdapter
>  import re
> diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
> index 89f1fad08310..c946800a8c62 100644
> --- a/bitbake/lib/bb/cooker.py
> +++ b/bitbake/lib/bb/cooker.py
> @@ -388,12 +388,22 @@ class BBCooker:
>              # Create a new hash server bound to a unix domain socket
>              if not self.hashserv:
>                  dbfile = (self.data.getVar("PERSISTENT_DIR") or
> self.data.getVar("CACHE")) + "/hashserv.db"
> +                upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM")
> or None
> +                if upstream:
> +                    import socket
> +                    try:
> +                        sock =
> socket.create_connection(upstream.split(":"), 5)
> +                        sock.close()
> +                    except socket.error as e:
> +                        bb.warn("BB_HASHSERVE_UPSTREAM is not valid,
> unable to connect hash equivalence server at '%s': %s" 
> +                                 % (upstream, repr(e)))
> +
>                  self.hashservaddr = "unix://%s/hashserve.sock" %
> self.data.getVar("TOPDIR") self.hashserv = hashserv.create_server(
>                      self.hashservaddr,
>                      dbfile,
>                      sync=False,
> -
> upstream=self.data.getVar("BB_HASHSERVE_UPSTREAM") or None,
> +                    upstream=upstream,
>                  )
>                  self.hashserv.process =
> multiprocessing.Process(target=self.hashserv.serve_forever)
> self.hashserv.process.start() @@ -805,7 +815,9 @@ class BBCooker:
>              for dep in rq.rqdata.runtaskentries[tid].depends:
>                  (depmc, depfn, _, deptaskfn) =
> bb.runqueue.split_tid_mcfn(dep) deppn =
> self.recipecaches[depmc].pkg_fn[deptaskfn]
> -                depend_tree["tdepends"][dotname].append("%s.%s" %
> (deppn, bb.runqueue.taskname_from_tid(dep)))
> +                if depmc:
> +                    depmc = "mc:" + depmc + ":"
> +                depend_tree["tdepends"][dotname].append("%s%s.%s" %
> (depmc, deppn, bb.runqueue.taskname_from_tid(dep))) if taskfn not in
> seen_fns: seen_fns.append(taskfn)
>                  packages = []
> @@ -2204,21 +2216,33 @@ class CookerParser(object):
>              yield not cached, mc, infos
>  
>      def parse_generator(self):
> -        while True:
> +        empty = False
> +        while self.processes or not empty:
> +            for process in self.processes.copy():
> +                if not process.is_alive():
> +                    process.join()
> +                    self.processes.remove(process)
> +
>              if self.parsed >= self.toparse:
>                  break
>  
>              try:
>                  result = self.result_queue.get(timeout=0.25)
>              except queue.Empty:
> +                empty = True
>                  pass
>              else:
> +                empty = False
>                  value = result[1]
>                  if isinstance(value, BaseException):
>                      raise value
>                  else:
>                      yield result
>  
> +        if not (self.parsed >= self.toparse):
> +            raise bb.parse.ParseError("Not all recipes parsed,
> parser thread killed/died? Exiting.", None) +
> +
>      def parse_next(self):
>          result = []
>          parsed = None
> diff --git a/bitbake/lib/bb/data_smart.py
> b/bitbake/lib/bb/data_smart.py index 8291ca65e309..65857a9c7941 100644
> --- a/bitbake/lib/bb/data_smart.py
> +++ b/bitbake/lib/bb/data_smart.py
> @@ -17,7 +17,7 @@ BitBake build tools.
>  # Based on functions from the base bb module, Copyright 2003 Holger
> Schurig 
>  import copy, re, sys, traceback
> -from collections import MutableMapping
> +from collections.abc import MutableMapping
>  import logging
>  import hashlib
>  import bb, bb.codeparser
> @@ -403,7 +403,7 @@ class DataSmart(MutableMapping):
>                      s =
> __expand_python_regexp__.sub(varparse.python_sub, s) except
> SyntaxError as e: # Likely unmatched brackets, just don't expand the
> expression
> -                    if e.msg != "EOL while scanning string literal":
> +                    if e.msg != "EOL while scanning string literal"
> and not e.msg.startswith("unterminated string literal"): raise
>                  if s == olds:
>                      break
> diff --git a/bitbake/lib/bb/fetch2/__init__.py
> b/bitbake/lib/bb/fetch2/__init__.py index dbf8b50e68a7..1005ec10c639
> 100644 --- a/bitbake/lib/bb/fetch2/__init__.py
> +++ b/bitbake/lib/bb/fetch2/__init__.py
> @@ -430,6 +430,7 @@ def uri_replace(ud, uri_find, uri_replace,
> replacements, d, mirrortarball=None): uri_replace_decoded =
> list(decodeurl(uri_replace)) logger.debug2("For url %s comparing %s
> to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
> result_decoded = ['', '', '', '', '', {}]
> +    # 0 - type, 1 - host, 2 - path, 3 - user,  4- pswd, 5 - params
>      for loc, i in enumerate(uri_find_decoded):
>          result_decoded[loc] = uri_decoded[loc]
>          regexp = i
> @@ -449,6 +450,9 @@ def uri_replace(ud, uri_find, uri_replace,
> replacements, d, mirrortarball=None): for l in replacements:
>                      uri_replace_decoded[loc][k] =
> uri_replace_decoded[loc][k].replace(l, replacements[l])
> result_decoded[loc][k] = uri_replace_decoded[loc][k]
> +        elif (loc == 3 or loc == 4) and uri_replace_decoded[loc]:
> +            # User/password in the replacement is just a straight
> replacement
> +            result_decoded[loc] = uri_replace_decoded[loc]
>          elif (re.match(regexp, uri_decoded[loc])):
>              if not uri_replace_decoded[loc]:
>                  result_decoded[loc] = ""
> diff --git a/bitbake/lib/bb/fetch2/perforce.py
> b/bitbake/lib/bb/fetch2/perforce.py index e2a41a4a1287..3b6fa4b1ec9a
> 100644 --- a/bitbake/lib/bb/fetch2/perforce.py
> +++ b/bitbake/lib/bb/fetch2/perforce.py
> @@ -134,7 +134,7 @@ class Perforce(FetchMethod):
>  
>          ud.setup_revisions(d)
>  
> -        ud.localfile = d.expand('%s_%s_%s_%s.tar.gz' % (cleanedhost,
> cleanedpath, cleandedmodule, ud.revision))
> +        ud.localfile = d.expand('%s_%s_%s_%s.tar.gz' % (cleanedhost,
> cleanedpath, cleanedmodule, ud.revision)) 
>      def _buildp4command(self, ud, d, command, depot_filename=None):
>          """
> diff --git a/bitbake/lib/bb/fetch2/wget.py
> b/bitbake/lib/bb/fetch2/wget.py index 784df70c9f62..7fa2a87ffde5
> 100644 --- a/bitbake/lib/bb/fetch2/wget.py
> +++ b/bitbake/lib/bb/fetch2/wget.py
> @@ -322,7 +322,7 @@ class Wget(FetchMethod):
>              except (TypeError, ImportError, IOError,
> netrc.NetrcParseError): pass
>  
> -            with opener.open(r) as response:
> +            with opener.open(r, timeout=30) as response:
>                  pass
>          except urllib.error.URLError as e:
>              if try_again:
> diff --git a/bitbake/lib/bb/persist_data.py
> b/bitbake/lib/bb/persist_data.py index c6a209fb3fc1..6f32d81afe80
> 100644 --- a/bitbake/lib/bb/persist_data.py
> +++ b/bitbake/lib/bb/persist_data.py
> @@ -12,6 +12,7 @@ currently, providing a key/value store accessed by
> 'domain'. #
>  
>  import collections
> +import collections.abc
>  import contextlib
>  import functools
>  import logging
> @@ -19,7 +20,7 @@ import os.path
>  import sqlite3
>  import sys
>  import warnings
> -from collections import Mapping
> +from collections.abc import Mapping
>  
>  sqlversion = sqlite3.sqlite_version_info
>  if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
> @@ -29,7 +30,7 @@ if sqlversion[0] < 3 or (sqlversion[0] == 3 and
> sqlversion[1] < 3): logger = logging.getLogger("BitBake.PersistData")
>  
>  @functools.total_ordering
> -class SQLTable(collections.MutableMapping):
> +class SQLTable(collections.abc.MutableMapping):
>      class _Decorators(object):
>          @staticmethod
>          def retry(*, reconnect=True):
> diff --git a/bitbake/lib/bb/process.py b/bitbake/lib/bb/process.py
> index d5a1775fcec0..af5d804a1d59 100644
> --- a/bitbake/lib/bb/process.py
> +++ b/bitbake/lib/bb/process.py
> @@ -60,7 +60,7 @@ class Popen(subprocess.Popen):
>          "close_fds": True,
>          "preexec_fn": subprocess_setup,
>          "stdout": subprocess.PIPE,
> -        "stderr": subprocess.STDOUT,
> +        "stderr": subprocess.PIPE,
>          "stdin": subprocess.PIPE,
>          "shell": False,
>      }
> diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
> index 10511a09dc1c..cd10da8b3a6f 100644
> --- a/bitbake/lib/bb/runqueue.py
> +++ b/bitbake/lib/bb/runqueue.py
> @@ -926,38 +926,36 @@ class RunQueueData:
>          #
>          # Once all active tasks are marked, prune the ones we don't
> need. 
> -        delcount = {}
> -        for tid in list(self.runtaskentries.keys()):
> -            if tid not in runq_build:
> -                delcount[tid] = self.runtaskentries[tid]
> -                del self.runtaskentries[tid]
> -
>          # Handle --runall
>          if self.cooker.configuration.runall:
>              # re-run the mark_active and then drop unused tasks from
> new list
> +            reduced_tasklist = set(self.runtaskentries.keys())
> +            for tid in list(self.runtaskentries.keys()):
> +                if tid not in runq_build:
> +                   reduced_tasklist.remove(tid)
>              runq_build = {}
>  
>              for task in self.cooker.configuration.runall:
>                  if not task.startswith("do_"):
>                      task = "do_{0}".format(task)
>                  runall_tids = set()
> -                for tid in list(self.runtaskentries):
> +                for tid in reduced_tasklist:
>                      wanttid = "{0}:{1}".format(fn_from_tid(tid),
> task)
> -                    if wanttid in delcount:
> -                        self.runtaskentries[wanttid] =
> delcount[wanttid] if wanttid in self.runtaskentries:
>                          runall_tids.add(wanttid)
>  
>                  for tid in list(runall_tids):
> -                    mark_active(tid,1)
> +                    mark_active(tid, 1)
>                      if self.cooker.configuration.force:
>                          invalidate_task(tid, False)
>  
> -            for tid in list(self.runtaskentries.keys()):
> -                if tid not in runq_build:
> -                    delcount[tid] = self.runtaskentries[tid]
> -                    del self.runtaskentries[tid]
> +        delcount = set()
> +        for tid in list(self.runtaskentries.keys()):
> +            if tid not in runq_build:
> +                delcount.add(tid)
> +                del self.runtaskentries[tid]
>  
> +        if self.cooker.configuration.runall:
>              if len(self.runtaskentries) == 0:
>                  bb.msg.fatal("RunQueue", "Could not find any tasks
> with the tasknames %s to run within the recipes of the taskgraphs of
> the targets %s" % (str(self.cooker.configuration.runall),
> str(self.targets))) @@ -971,16 +969,16 @@ class RunQueueData: for
> task in self.cooker.configuration.runonly: if not
> task.startswith("do_"): task = "do_{0}".format(task)
> -                runonly_tids = { k: v for k, v in
> self.runtaskentries.items() if taskname_from_tid(k) == task }
> +                runonly_tids = [k for k in
> self.runtaskentries.keys() if taskname_from_tid(k) == task] 
> -                for tid in list(runonly_tids):
> -                    mark_active(tid,1)
> +                for tid in runonly_tids:
> +                    mark_active(tid, 1)
>                      if self.cooker.configuration.force:
>                          invalidate_task(tid, False)
>  
>              for tid in list(self.runtaskentries.keys()):
>                  if tid not in runq_build:
> -                    delcount[tid] = self.runtaskentries[tid]
> +                    delcount.add(tid)
>                      del self.runtaskentries[tid]
>  
>              if len(self.runtaskentries) == 0:
> diff --git a/bitbake/lib/bb/server/process.py
> b/bitbake/lib/bb/server/process.py index 07bb785a1822..fcdce19717d2
> 100644 --- a/bitbake/lib/bb/server/process.py
> +++ b/bitbake/lib/bb/server/process.py
> @@ -659,7 +659,7 @@ class BBUIEventQueue:
>          self.reader = ConnectionReader(readfd)
>  
>          self.t = threading.Thread()
> -        self.t.setDaemon(True)
> +        self.t.daemon = True
>          self.t.run = self.startCallbackHandler
>          self.t.start()
>  
> diff --git a/bitbake/lib/bb/tests/fetch.py
> b/bitbake/lib/bb/tests/fetch.py index f5d557e8c000..3b64584da0e9
> 100644 --- a/bitbake/lib/bb/tests/fetch.py
> +++ b/bitbake/lib/bb/tests/fetch.py
> @@ -431,6 +431,10 @@ class MirrorUriTest(FetcherTest):
>          ("git://someserver.org/bitbake;tag=1234567890123456789012345678901234567890;branch=master",
> "git://someserver.org/bitbake;branch=master",
> "git://git.openembedded.org/bitbake;protocol=http") :
> "git://git.openembedded.org/bitbake;tag=1234567890123456789012345678901234567890;branch=master;protocol=http", 
> +
> ("git://user1@someserver.org/bitbake;tag=1234567890123456789012345678901234567890;branch=master",
> "git://someserver.org/bitbake;branch=master",
> "git://user2@git.openembedded.org/bitbake;protocol=http")
> +            :
> "git://user2@git.openembedded.org/bitbake;tag=1234567890123456789012345678901234567890;branch=master;protocol=http",
> + +
>          #Renaming files doesn't work
>          #("http://somewhere.org/somedir1/somefile_1.2.3.tar.gz",
> "http://somewhere.org/somedir1/somefile_1.2.3.tar.gz",
> "http://somewhere2.org/somedir3/somefile_2.3.4.tar.gz") :
> "http://somewhere2.org/somedir3/somefile_2.3.4.tar.gz"
> #("file://sstate-xyz.tgz", "file://.*/.*",
> "file:///somewhere/1234/sstate-cache") :
> "file:///somewhere/1234/sstate-cache/sstate-xyz.tgz", @@ -491,7
> +495,7 @@ class GitDownloadDirectoryNamingTest(FetcherTest):
> super(GitDownloadDirectoryNamingTest, self).setUp() self.recipe_url =
> "git://git.openembedded.org/bitbake" self.recipe_dir =
> "git.openembedded.org.bitbake"
> -        self.mirror_url = "git://github.com/openembedded/bitbake.git"
> +        self.mirror_url =
> "git://github.com/openembedded/bitbake.git;protocol=https"
> self.mirror_dir = "github.com.openembedded.bitbake.git" 
>          self.d.setVar('SRCREV',
> '82ea737a0b42a8b53e11c9cde141e9e9c0bd8c40') @@ -539,7 +543,7 @@ class
> TarballNamingTest(FetcherTest): super(TarballNamingTest, self).setUp()
>          self.recipe_url = "git://git.openembedded.org/bitbake"
>          self.recipe_tarball =
> "git2_git.openembedded.org.bitbake.tar.gz"
> -        self.mirror_url = "git://github.com/openembedded/bitbake.git"
> +        self.mirror_url =
> "git://github.com/openembedded/bitbake.git;protocol=https"
> self.mirror_tarball =
> "git2_github.com.openembedded.bitbake.git.tar.gz"
> self.d.setVar('BB_GENERATE_MIRROR_TARBALLS', '1') @@ -573,7 +577,7 @@
> class GitShallowTarballNamingTest(FetcherTest):
> super(GitShallowTarballNamingTest, self).setUp() self.recipe_url =
> "git://git.openembedded.org/bitbake" self.recipe_tarball =
> "gitshallow_git.openembedded.org.bitbake_82ea737-1_master.tar.gz"
> -        self.mirror_url = "git://github.com/openembedded/bitbake.git"
> +        self.mirror_url =
> "git://github.com/openembedded/bitbake.git;protocol=https"
> self.mirror_tarball =
> "gitshallow_github.com.openembedded.bitbake.git_82ea737-1_master.tar.gz"
> self.d.setVar('BB_GIT_SHALLOW', '1') @@ -985,7 +989,7 @@ class
> FetcherNetworkTest(FetcherTest): def
> test_git_submodule_dbus_broker(self): # The following external
> repositories have show failures in fetch and unpack operations # We
> want to avoid regressions!
> -        url =
> "gitsm://github.com/bus1/dbus-broker;protocol=git;rev=fc874afa0992d0c75ec25acb43d344679f0ee7d2;branch=main"
> +        url =
> "gitsm://github.com/bus1/dbus-broker;protocol=https;rev=fc874afa0992d0c75ec25acb43d344679f0ee7d2;branch=main"
> fetcher = bb.fetch.Fetch([url], self.d) fetcher.download()
>          # Previous cwd has been deleted
> @@ -1001,7 +1005,7 @@ class FetcherNetworkTest(FetcherTest):
>  
>      @skipIfNoNetwork()
>      def test_git_submodule_CLI11(self):
> -        url =
> "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=bd4dc911847d0cde7a6b41dfa626a85aab213baf;branch=main"
> +        url =
> "gitsm://github.com/CLIUtils/CLI11;protocol=https;rev=bd4dc911847d0cde7a6b41dfa626a85aab213baf;branch=main"
> fetcher = bb.fetch.Fetch([url], self.d) fetcher.download()
>          # Previous cwd has been deleted
> @@ -1016,12 +1020,12 @@ class FetcherNetworkTest(FetcherTest):
>      @skipIfNoNetwork()
>      def test_git_submodule_update_CLI11(self):
>          """ Prevent regression on update detection not finding
> missing submodule, or modules without needed commits """
> -        url =
> "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=cf6a99fa69aaefe477cc52e3ef4a7d2d7fa40714;branch=main"
> +        url =
> "gitsm://github.com/CLIUtils/CLI11;protocol=https;rev=cf6a99fa69aaefe477cc52e3ef4a7d2d7fa40714;branch=main"
> fetcher = bb.fetch.Fetch([url], self.d) fetcher.download()
>  
>          # CLI11 that pulls in a newer nlohmann-json
> -        url =
> "gitsm://github.com/CLIUtils/CLI11;protocol=git;rev=49ac989a9527ee9bb496de9ded7b4872c2e0e5ca;branch=main"
> +        url =
> "gitsm://github.com/CLIUtils/CLI11;protocol=https;rev=49ac989a9527ee9bb496de9ded7b4872c2e0e5ca;branch=main"
> fetcher = bb.fetch.Fetch([url], self.d) fetcher.download()
>          # Previous cwd has been deleted
> @@ -1035,7 +1039,7 @@ class FetcherNetworkTest(FetcherTest):
>  
>      @skipIfNoNetwork()
>      def test_git_submodule_aktualizr(self):
> -        url =
> "gitsm://github.com/advancedtelematic/aktualizr;branch=master;protocol=git;rev=d00d1a04cc2366d1a5f143b84b9f507f8bd32c44"
> +        url =
> "gitsm://github.com/advancedtelematic/aktualizr;branch=master;protocol=https;rev=d00d1a04cc2366d1a5f143b84b9f507f8bd32c44"
> fetcher = bb.fetch.Fetch([url], self.d) fetcher.download()
>          # Previous cwd has been deleted
> @@ -1055,7 +1059,7 @@ class FetcherNetworkTest(FetcherTest):
>          """ Prevent regression on deeply nested submodules not being
> checked out properly, even though they were fetched. """ 
>          # This repository also has submodules where the module
> (name), path and url do not align
> -        url =
> "gitsm://github.com/azure/iotedge.git;protocol=git;rev=d76e0316c6f324345d77c48a83ce836d09392699"
> +        url =
> "gitsm://github.com/azure/iotedge.git;protocol=https;rev=d76e0316c6f324345d77c48a83ce836d09392699"
> fetcher = bb.fetch.Fetch([url], self.d) fetcher.download()
>          # Previous cwd has been deleted
> @@ -1113,7 +1117,7 @@ class SVNTest(FetcherTest):
>  
>          bb.process.run("svn co %s svnfetch_co" % self.repo_url,
> cwd=self.tempdir) # Github will emulate SVN.  Use this to check if
> we're downloding...
> -        bb.process.run("svn propset svn:externals 'bitbake
> svn://vcs.pcre.org/pcre2/code' .",
> +        bb.process.run("svn propset svn:externals 'bitbake
> https://github.com/PhilipHazel/pcre2.git' .",
> cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk'))
> bb.process.run("svn commit --non-interactive -m 'Add external'",
> cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk')) @@ -1231,7
> +1235,7 @@ class FetchLatestVersionTest(FetcherTest): 
>      test_git_uris = {
>          # version pattern "X.Y.Z"
> -        ("mx-1.0",
> "git://github.com/clutter-project/mx.git;branch=mx-1.4",
> "9b1db6b8060bd00b121a692f942404a24ae2960f", "")
> +        ("mx-1.0",
> "git://github.com/clutter-project/mx.git;branch=mx-1.4;protocol=https",
> "9b1db6b8060bd00b121a692f942404a24ae2960f", "") : "1.99.4", # version
> pattern "vX.Y" # mirror of git.infradead.org since network issues
> interfered with testing @@ -1258,9 +1262,9 @@ class
> FetchLatestVersionTest(FetcherTest): : "0.4.3",
>          ("build-appliance-image", "git://git.yoctoproject.org/poky",
> "b37dd451a52622d5b570183a81583cc34c2ff555",
> "(?P<pver>(([0-9][\.|_]?)+[0-9]))") : "11.0.0",
> -        ("chkconfig-alternatives-native",
> "git://github.com/kergoth/chkconfig;branch=sysroot",
> "cd437ecbd8986c894442f8fce1e0061e20f04dee",
> "chkconfig\-(?P<pver>((\d+[\.\-_]*)+))")
> +        ("chkconfig-alternatives-native",
> "git://github.com/kergoth/chkconfig;branch=sysroot;protocol=https",
> "cd437ecbd8986c894442f8fce1e0061e20f04dee",
> "chkconfig\-(?P<pver>((\d+[\.\-_]*)+))") : "1.3.59",
> -        ("remake", "git://github.com/rocky/remake.git",
> "f05508e521987c8494c92d9c2871aec46307d51d",
> "(?P<pver>(\d+\.(\d+\.)*\d*(\+dbg\d+(\.\d+)*)*))")
> +        ("remake",
> "git://github.com/rocky/remake.git;protocol=https",
> "f05508e521987c8494c92d9c2871aec46307d51d",
> "(?P<pver>(\d+\.(\d+\.)*\d*(\+dbg\d+(\.\d+)*)*))") : "3.82+dbg0.9", } 
> @@ -1354,9 +1358,6 @@ class FetchCheckStatusTest(FetcherTest):
>                        "http://downloads.yoctoproject.org/releases/opkg/opkg-0.1.7.tar.gz",
>                        "http://downloads.yoctoproject.org/releases/opkg/opkg-0.3.0.tar.gz",
>                        "ftp://sourceware.org/pub/libffi/libffi-1.20.tar.gz",
> -
> "http://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz",
> -
> "https://ftp.gnu.org/gnu/chess/gnuchess-5.08.tar.gz",
> -                      "https://ftp.gnu.org/gnu/gmp/gmp-4.0.tar.gz",
>                        # GitHub releases are hosted on Amazon S3,
> which doesn't support HEAD
> "https://github.com/kergoth/tslib/releases/download/1.1/tslib-1.1.tar.xz"
> ] @@ -2047,7 +2048,7 @@ class GitShallowTest(FetcherTest):
>  
>      @skipIfNoNetwork()
>      def test_bitbake(self):
> -        self.git('remote add --mirror=fetch origin
> git://github.com/openembedded/bitbake', cwd=self.srcdir)
> +        self.git('remote add --mirror=fetch origin
> https://github.com/openembedded/bitbake', cwd=self.srcdir)
> self.git('config core.bare true', cwd=self.srcdir) self.git('fetch',
> cwd=self.srcdir) 
> diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py
> index b282d09abfce..2a150fe9c73e 100644
> --- a/bitbake/lib/bb/utils.py
> +++ b/bitbake/lib/bb/utils.py
> @@ -16,7 +16,8 @@ import bb.msg
>  import multiprocessing
>  import fcntl
>  import importlib
> -from importlib import machinery
> +import importlib.machinery
> +import importlib.util
>  import itertools
>  import subprocess
>  import glob
> @@ -451,6 +452,10 @@ def lockfile(name, shared=False, retry=True,
> block=False): consider the possibility of sending a signal to the
> process to break out - at which point you want block=True rather than
> retry=True. """
> +    if len(name) > 255:
> +        root, ext = os.path.splitext(name)
> +        name = root[:255 - len(ext)] + ext
> +
>      dirname = os.path.dirname(name)
>      mkdirhier(dirname)
>  
> @@ -487,7 +492,7 @@ def lockfile(name, shared=False, retry=True,
> block=False): return lf
>              lf.close()
>          except OSError as e:
> -            if e.errno == errno.EACCES:
> +            if e.errno == errno.EACCES or e.errno ==
> errno.ENAMETOOLONG: logger.error("Unable to acquire lock '%s', %s",
>                               e.strerror, name)
>                  sys.exit(1)
> @@ -1616,7 +1621,9 @@ def load_plugins(logger, plugins, pluginpath):
>          logger.debug('Loading plugin %s' % name)
>          spec = importlib.machinery.PathFinder.find_spec(name,
> path=[pluginpath] ) if spec:
> -            return spec.loader.load_module()
> +            mod = importlib.util.module_from_spec(spec)
> +            spec.loader.exec_module(mod)
> +            return mod
>  
>      logger.debug('Loading plugins from %s...' % pluginpath)
>  
> diff --git a/bitbake/lib/hashserv/server.py
> b/bitbake/lib/hashserv/server.py index a0dc0c170f2b..df0fa0a07937
> 100644 --- a/bitbake/lib/hashserv/server.py
> +++ b/bitbake/lib/hashserv/server.py
> @@ -521,7 +521,7 @@ class Server(object):
>  
>      def start_tcp_server(self, host, port):
>          self.server = self.loop.run_until_complete(
> -            asyncio.start_server(self.handle_client, host, port,
> loop=self.loop)
> +            asyncio.start_server(self.handle_client, host, port)
>          )
>  
>          for s in self.server.sockets:
> @@ -546,7 +546,7 @@ class Server(object):
>              # Work around path length limits in AF_UNIX
>              os.chdir(os.path.dirname(path))
>              self.server = self.loop.run_until_complete(
> -                asyncio.start_unix_server(self.handle_client,
> os.path.basename(path), loop=self.loop)
> +                asyncio.start_unix_server(self.handle_client,
> os.path.basename(path)) )
>          finally:
>              os.chdir(cwd)
> diff --git a/bitbake/lib/toaster/tests/builds/buildtest.py
> b/bitbake/lib/toaster/tests/builds/buildtest.py index
> 872bbd377510..13b51fb0d8e4 100644 ---
> a/bitbake/lib/toaster/tests/builds/buildtest.py +++
> b/bitbake/lib/toaster/tests/builds/buildtest.py @@ -119,7 +119,7 @@
> class BuildTest(unittest.TestCase): if
> os.environ.get("TOASTER_TEST_USE_SSTATE_MIRROR"):
> ProjectVariable.objects.get_or_create( name="SSTATE_MIRRORS",
> -                value="file://.*
> http://autobuilder.yoctoproject.org/pub/sstate/PATH;downloadfilename=PATH",
> +                value="file://.*
> http://sstate.yoctoproject.org/PATH;downloadfilename=PATH",
> project=project) 
>          ProjectTarget.objects.create(project=project,


  reply	other threads:[~2022-04-20 15:01 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-20 14:35 Henning Schild
2022-04-20 15:00 ` Henning Schild [this message]
2022-04-20 15:52   ` Henning Schild
2022-04-20 16:24     ` Jan Kiszka
2022-04-21  8:02       ` Henning Schild
2022-04-21  8:40     ` Bezdeka, Florian
2022-04-21  8:55       ` Henning Schild

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220420170059.23464e65@md1za8fc.ad001.siemens.net \
    --to=henning.schild@siemens.com \
    --cc=felix.moessbauer@siemens.com \
    --cc=florian.bezdeka@siemens.com \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox