diff options
599 files changed, 7658 insertions, 9827 deletions
diff --git a/bitbake/bin/bitbake b/bitbake/bin/bitbake index 382983e087..8622a7bf94 100755 --- a/bitbake/bin/bitbake +++ b/bitbake/bin/bitbake | |||
@@ -27,7 +27,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException | |||
27 | 27 | ||
28 | bb.utils.check_system_locale() | 28 | bb.utils.check_system_locale() |
29 | 29 | ||
30 | __version__ = "2.9.0" | 30 | __version__ = "2.9.1" |
31 | 31 | ||
32 | if __name__ == "__main__": | 32 | if __name__ == "__main__": |
33 | if __version__ != bb.__version__: | 33 | if __version__ != bb.__version__: |
diff --git a/bitbake/bin/bitbake-layers b/bitbake/bin/bitbake-layers index d4b1d1aaf2..aebb5100c2 100755 --- a/bitbake/bin/bitbake-layers +++ b/bitbake/bin/bitbake-layers | |||
@@ -33,7 +33,7 @@ def main(): | |||
33 | add_help=False) | 33 | add_help=False) |
34 | parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true') | 34 | parser.add_argument('-d', '--debug', help='Enable debug output', action='store_true') |
35 | parser.add_argument('-q', '--quiet', help='Print only errors', action='store_true') | 35 | parser.add_argument('-q', '--quiet', help='Print only errors', action='store_true') |
36 | parser.add_argument('-F', '--force', help='Force add without recipe parse verification', action='store_true') | 36 | parser.add_argument('-F', '--force', help='Forced execution: can be specified multiple times. -F will force add without recipe parse verification and -FF will additionally force the run withput layer parsing.', action='count', default=0) |
37 | parser.add_argument('--color', choices=['auto', 'always', 'never'], default='auto', help='Colorize output (where %(metavar)s is %(choices)s)', metavar='COLOR') | 37 | parser.add_argument('--color', choices=['auto', 'always', 'never'], default='auto', help='Colorize output (where %(metavar)s is %(choices)s)', metavar='COLOR') |
38 | 38 | ||
39 | global_args, unparsed_args = parser.parse_known_args() | 39 | global_args, unparsed_args = parser.parse_known_args() |
@@ -59,16 +59,20 @@ def main(): | |||
59 | plugins = [] | 59 | plugins = [] |
60 | tinfoil = bb.tinfoil.Tinfoil(tracking=True) | 60 | tinfoil = bb.tinfoil.Tinfoil(tracking=True) |
61 | tinfoil.logger.setLevel(logger.getEffectiveLevel()) | 61 | tinfoil.logger.setLevel(logger.getEffectiveLevel()) |
62 | try: | 62 | if global_args.force > 1: |
63 | bbpaths = [] | ||
64 | else: | ||
63 | tinfoil.prepare(True) | 65 | tinfoil.prepare(True) |
64 | for path in ([topdir] + | 66 | bbpaths = tinfoil.config_data.getVar('BBPATH').split(':') |
65 | tinfoil.config_data.getVar('BBPATH').split(':')): | 67 | |
68 | try: | ||
69 | for path in ([topdir] + bbpaths): | ||
66 | pluginpath = os.path.join(path, 'lib', 'bblayers') | 70 | pluginpath = os.path.join(path, 'lib', 'bblayers') |
67 | bb.utils.load_plugins(logger, plugins, pluginpath) | 71 | bb.utils.load_plugins(logger, plugins, pluginpath) |
68 | 72 | ||
69 | registered = False | 73 | registered = False |
70 | for plugin in plugins: | 74 | for plugin in plugins: |
71 | if hasattr(plugin, 'tinfoil_init'): | 75 | if hasattr(plugin, 'tinfoil_init') and global_args.force <= 1: |
72 | plugin.tinfoil_init(tinfoil) | 76 | plugin.tinfoil_init(tinfoil) |
73 | if hasattr(plugin, 'register_commands'): | 77 | if hasattr(plugin, 'register_commands'): |
74 | registered = True | 78 | registered = True |
diff --git a/bitbake/bin/bitbake-prserv b/bitbake/bin/bitbake-prserv index ad0a069401..580e021fda 100755 --- a/bitbake/bin/bitbake-prserv +++ b/bitbake/bin/bitbake-prserv | |||
@@ -16,11 +16,18 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), "lib | |||
16 | import prserv | 16 | import prserv |
17 | import prserv.serv | 17 | import prserv.serv |
18 | 18 | ||
19 | VERSION = "1.1.0" | 19 | VERSION = "2.0.0" |
20 | 20 | ||
21 | PRHOST_DEFAULT="0.0.0.0" | 21 | PRHOST_DEFAULT="0.0.0.0" |
22 | PRPORT_DEFAULT=8585 | 22 | PRPORT_DEFAULT=8585 |
23 | 23 | ||
24 | def init_logger(logfile, loglevel): | ||
25 | numeric_level = getattr(logging, loglevel.upper(), None) | ||
26 | if not isinstance(numeric_level, int): | ||
27 | raise ValueError("Invalid log level: %s" % loglevel) | ||
28 | FORMAT = "%(asctime)-15s %(message)s" | ||
29 | logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT) | ||
30 | |||
24 | def main(): | 31 | def main(): |
25 | parser = argparse.ArgumentParser( | 32 | parser = argparse.ArgumentParser( |
26 | description="BitBake PR Server. Version=%s" % VERSION, | 33 | description="BitBake PR Server. Version=%s" % VERSION, |
@@ -70,12 +77,25 @@ def main(): | |||
70 | action="store_true", | 77 | action="store_true", |
71 | help="open database in read-only mode", | 78 | help="open database in read-only mode", |
72 | ) | 79 | ) |
80 | parser.add_argument( | ||
81 | "-u", | ||
82 | "--upstream", | ||
83 | default=os.environ.get("PRSERVER_UPSTREAM", None), | ||
84 | help="Upstream PR service (host:port)", | ||
85 | ) | ||
73 | 86 | ||
74 | args = parser.parse_args() | 87 | args = parser.parse_args() |
75 | prserv.init_logger(os.path.abspath(args.log), args.loglevel) | 88 | init_logger(os.path.abspath(args.log), args.loglevel) |
76 | 89 | ||
77 | if args.start: | 90 | if args.start: |
78 | ret=prserv.serv.start_daemon(args.file, args.host, args.port, os.path.abspath(args.log), args.read_only) | 91 | ret=prserv.serv.start_daemon( |
92 | args.file, | ||
93 | args.host, | ||
94 | args.port, | ||
95 | os.path.abspath(args.log), | ||
96 | args.read_only, | ||
97 | args.upstream | ||
98 | ) | ||
79 | elif args.stop: | 99 | elif args.stop: |
80 | ret=prserv.serv.stop_daemon(args.host, args.port) | 100 | ret=prserv.serv.stop_daemon(args.host, args.port) |
81 | else: | 101 | else: |
diff --git a/bitbake/bin/bitbake-selftest b/bitbake/bin/bitbake-selftest index f25f23b1ae..ce901232fe 100755 --- a/bitbake/bin/bitbake-selftest +++ b/bitbake/bin/bitbake-selftest | |||
@@ -15,6 +15,7 @@ import unittest | |||
15 | try: | 15 | try: |
16 | import bb | 16 | import bb |
17 | import hashserv | 17 | import hashserv |
18 | import prserv | ||
18 | import layerindexlib | 19 | import layerindexlib |
19 | except RuntimeError as exc: | 20 | except RuntimeError as exc: |
20 | sys.exit(str(exc)) | 21 | sys.exit(str(exc)) |
@@ -33,6 +34,7 @@ tests = ["bb.tests.codeparser", | |||
33 | "bb.tests.utils", | 34 | "bb.tests.utils", |
34 | "bb.tests.compression", | 35 | "bb.tests.compression", |
35 | "hashserv.tests", | 36 | "hashserv.tests", |
37 | "prserv.tests", | ||
36 | "layerindexlib.tests.layerindexobj", | 38 | "layerindexlib.tests.layerindexobj", |
37 | "layerindexlib.tests.restapi", | 39 | "layerindexlib.tests.restapi", |
38 | "layerindexlib.tests.cooker"] | 40 | "layerindexlib.tests.cooker"] |
diff --git a/bitbake/lib/bb/__init__.py b/bitbake/lib/bb/__init__.py index 15013540c2..8b6ea2d8ed 100644 --- a/bitbake/lib/bb/__init__.py +++ b/bitbake/lib/bb/__init__.py | |||
@@ -9,7 +9,7 @@ | |||
9 | # SPDX-License-Identifier: GPL-2.0-only | 9 | # SPDX-License-Identifier: GPL-2.0-only |
10 | # | 10 | # |
11 | 11 | ||
12 | __version__ = "2.9.0" | 12 | __version__ = "2.9.1" |
13 | 13 | ||
14 | import sys | 14 | import sys |
15 | if sys.version_info < (3, 8, 0): | 15 | if sys.version_info < (3, 8, 0): |
diff --git a/bitbake/lib/bb/asyncrpc/client.py b/bitbake/lib/bb/asyncrpc/client.py index a350b4fb12..b49de99313 100644 --- a/bitbake/lib/bb/asyncrpc/client.py +++ b/bitbake/lib/bb/asyncrpc/client.py | |||
@@ -24,6 +24,11 @@ ADDR_TYPE_UNIX = 0 | |||
24 | ADDR_TYPE_TCP = 1 | 24 | ADDR_TYPE_TCP = 1 |
25 | ADDR_TYPE_WS = 2 | 25 | ADDR_TYPE_WS = 2 |
26 | 26 | ||
27 | WEBSOCKETS_MIN_VERSION = (9, 1) | ||
28 | # Need websockets 10 with python 3.10+ | ||
29 | if sys.version_info >= (3, 10, 0): | ||
30 | WEBSOCKETS_MIN_VERSION = (10, 0) | ||
31 | |||
27 | def parse_address(addr): | 32 | def parse_address(addr): |
28 | if addr.startswith(UNIX_PREFIX): | 33 | if addr.startswith(UNIX_PREFIX): |
29 | return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],)) | 34 | return (ADDR_TYPE_UNIX, (addr[len(UNIX_PREFIX) :],)) |
@@ -39,6 +44,7 @@ def parse_address(addr): | |||
39 | 44 | ||
40 | return (ADDR_TYPE_TCP, (host, int(port))) | 45 | return (ADDR_TYPE_TCP, (host, int(port))) |
41 | 46 | ||
47 | |||
42 | class AsyncClient(object): | 48 | class AsyncClient(object): |
43 | def __init__( | 49 | def __init__( |
44 | self, | 50 | self, |
@@ -86,6 +92,24 @@ class AsyncClient(object): | |||
86 | async def connect_websocket(self, uri): | 92 | async def connect_websocket(self, uri): |
87 | import websockets | 93 | import websockets |
88 | 94 | ||
95 | try: | ||
96 | version = tuple( | ||
97 | int(v) | ||
98 | for v in websockets.__version__.split(".")[ | ||
99 | 0 : len(WEBSOCKETS_MIN_VERSION) | ||
100 | ] | ||
101 | ) | ||
102 | except ValueError: | ||
103 | raise ImportError( | ||
104 | f"Unable to parse websockets version '{websockets.__version__}'" | ||
105 | ) | ||
106 | |||
107 | if version < WEBSOCKETS_MIN_VERSION: | ||
108 | min_ver_str = ".".join(str(v) for v in WEBSOCKETS_MIN_VERSION) | ||
109 | raise ImportError( | ||
110 | f"Websockets version {websockets.__version__} is less than minimum required version {min_ver_str}" | ||
111 | ) | ||
112 | |||
89 | async def connect_sock(): | 113 | async def connect_sock(): |
90 | websocket = await websockets.connect(uri, ping_interval=None) | 114 | websocket = await websockets.connect(uri, ping_interval=None) |
91 | return WebsocketConnection(websocket, self.timeout) | 115 | return WebsocketConnection(websocket, self.timeout) |
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 44d08f5c55..ab8bce3d57 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py | |||
@@ -197,6 +197,8 @@ def exec_func(func, d, dirs = None): | |||
197 | for cdir in d.expand(cleandirs).split(): | 197 | for cdir in d.expand(cleandirs).split(): |
198 | bb.utils.remove(cdir, True) | 198 | bb.utils.remove(cdir, True) |
199 | bb.utils.mkdirhier(cdir) | 199 | bb.utils.mkdirhier(cdir) |
200 | if cdir == oldcwd: | ||
201 | os.chdir(cdir) | ||
200 | 202 | ||
201 | if flags and dirs is None: | 203 | if flags and dirs is None: |
202 | dirs = flags.get('dirs') | 204 | dirs = flags.get('dirs') |
diff --git a/bitbake/lib/bb/codeparser.py b/bitbake/lib/bb/codeparser.py index 2e8b7ced3c..691bdff75e 100644 --- a/bitbake/lib/bb/codeparser.py +++ b/bitbake/lib/bb/codeparser.py | |||
@@ -484,19 +484,34 @@ class ShellParser(): | |||
484 | """ | 484 | """ |
485 | 485 | ||
486 | words = list(words) | 486 | words = list(words) |
487 | for word in list(words): | 487 | for word in words: |
488 | wtree = pyshlex.make_wordtree(word[1]) | 488 | wtree = pyshlex.make_wordtree(word[1]) |
489 | for part in wtree: | 489 | for part in wtree: |
490 | if not isinstance(part, list): | 490 | if not isinstance(part, list): |
491 | continue | 491 | continue |
492 | 492 | ||
493 | if part[0] in ('`', '$('): | 493 | candidates = [part] |
494 | command = pyshlex.wordtree_as_string(part[1:-1]) | 494 | |
495 | self._parse_shell(command) | 495 | # If command is of type: |
496 | 496 | # | |
497 | if word[0] in ("cmd_name", "cmd_word"): | 497 | # var="... $(cmd [...]) ..." |
498 | if word in words: | 498 | # |
499 | words.remove(word) | 499 | # Then iterate on what's between the quotes and if we find a |
500 | # list, make that what we check for below. | ||
501 | if len(part) >= 3 and part[0] == '"': | ||
502 | for p in part[1:-1]: | ||
503 | if isinstance(p, list): | ||
504 | candidates.append(p) | ||
505 | |||
506 | for candidate in candidates: | ||
507 | if len(candidate) >= 2: | ||
508 | if candidate[0] in ('`', '$('): | ||
509 | command = pyshlex.wordtree_as_string(candidate[1:-1]) | ||
510 | self._parse_shell(command) | ||
511 | |||
512 | if word[0] in ("cmd_name", "cmd_word"): | ||
513 | if word in words: | ||
514 | words.remove(word) | ||
500 | 515 | ||
501 | usetoken = False | 516 | usetoken = False |
502 | for word in words: | 517 | for word in words: |
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index c5bfef55d6..076ddaa58d 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -315,13 +315,13 @@ class BBCooker: | |||
315 | dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" | 315 | dbfile = (self.data.getVar("PERSISTENT_DIR") or self.data.getVar("CACHE")) + "/hashserv.db" |
316 | upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM") or None | 316 | upstream = self.data.getVar("BB_HASHSERVE_UPSTREAM") or None |
317 | if upstream: | 317 | if upstream: |
318 | import socket | ||
319 | try: | 318 | try: |
320 | sock = socket.create_connection(upstream.split(":"), 5) | 319 | with hashserv.create_client(upstream) as client: |
321 | sock.close() | 320 | client.ping() |
322 | except socket.error as e: | 321 | except (ConnectionError, ImportError) as e: |
323 | bb.warn("BB_HASHSERVE_UPSTREAM is not valid, unable to connect hash equivalence server at '%s': %s" | 322 | bb.warn("BB_HASHSERVE_UPSTREAM is not valid, unable to connect hash equivalence server at '%s': %s" |
324 | % (upstream, repr(e))) | 323 | % (upstream, repr(e))) |
324 | upstream = None | ||
325 | 325 | ||
326 | self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR") | 326 | self.hashservaddr = "unix://%s/hashserve.sock" % self.data.getVar("TOPDIR") |
327 | self.hashserv = hashserv.create_server( | 327 | self.hashserv = hashserv.create_server( |
@@ -680,14 +680,14 @@ class BBCooker: | |||
680 | bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data) | 680 | bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data) |
681 | return taskdata, runlist | 681 | return taskdata, runlist |
682 | 682 | ||
683 | def prepareTreeData(self, pkgs_to_build, task): | 683 | def prepareTreeData(self, pkgs_to_build, task, halt=False): |
684 | """ | 684 | """ |
685 | Prepare a runqueue and taskdata object for iteration over pkgs_to_build | 685 | Prepare a runqueue and taskdata object for iteration over pkgs_to_build |
686 | """ | 686 | """ |
687 | 687 | ||
688 | # We set halt to False here to prevent unbuildable targets raising | 688 | # We set halt to False here to prevent unbuildable targets raising |
689 | # an exception when we're just generating data | 689 | # an exception when we're just generating data |
690 | taskdata, runlist = self.buildTaskData(pkgs_to_build, task, False, allowincomplete=True) | 690 | taskdata, runlist = self.buildTaskData(pkgs_to_build, task, halt, allowincomplete=True) |
691 | 691 | ||
692 | return runlist, taskdata | 692 | return runlist, taskdata |
693 | 693 | ||
@@ -701,7 +701,7 @@ class BBCooker: | |||
701 | if not task.startswith("do_"): | 701 | if not task.startswith("do_"): |
702 | task = "do_%s" % task | 702 | task = "do_%s" % task |
703 | 703 | ||
704 | runlist, taskdata = self.prepareTreeData(pkgs_to_build, task) | 704 | runlist, taskdata = self.prepareTreeData(pkgs_to_build, task, halt=True) |
705 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist) | 705 | rq = bb.runqueue.RunQueue(self, self.data, self.recipecaches, taskdata, runlist) |
706 | rq.rqdata.prepare() | 706 | rq.rqdata.prepare() |
707 | return self.buildDependTree(rq, taskdata) | 707 | return self.buildDependTree(rq, taskdata) |
diff --git a/bitbake/lib/bb/fetch2/crate.py b/bitbake/lib/bb/fetch2/crate.py index 01d49435c3..e611736f06 100644 --- a/bitbake/lib/bb/fetch2/crate.py +++ b/bitbake/lib/bb/fetch2/crate.py | |||
@@ -70,6 +70,7 @@ class Crate(Wget): | |||
70 | host = 'crates.io/api/v1/crates' | 70 | host = 'crates.io/api/v1/crates' |
71 | 71 | ||
72 | ud.url = "https://%s/%s/%s/download" % (host, name, version) | 72 | ud.url = "https://%s/%s/%s/download" % (host, name, version) |
73 | ud.versionsurl = "https://%s/%s/versions" % (host, name) | ||
73 | ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version) | 74 | ud.parm['downloadfilename'] = "%s-%s.crate" % (name, version) |
74 | if 'name' not in ud.parm: | 75 | if 'name' not in ud.parm: |
75 | ud.parm['name'] = '%s-%s' % (name, version) | 76 | ud.parm['name'] = '%s-%s' % (name, version) |
@@ -139,3 +140,11 @@ class Crate(Wget): | |||
139 | mdpath = os.path.join(bbpath, cratepath, mdfile) | 140 | mdpath = os.path.join(bbpath, cratepath, mdfile) |
140 | with open(mdpath, "w") as f: | 141 | with open(mdpath, "w") as f: |
141 | json.dump(metadata, f) | 142 | json.dump(metadata, f) |
143 | |||
144 | def latest_versionstring(self, ud, d): | ||
145 | from functools import cmp_to_key | ||
146 | json_data = json.loads(self._fetch_index(ud.versionsurl, ud, d)) | ||
147 | versions = [(0, i["num"], "") for i in json_data["versions"]] | ||
148 | versions = sorted(versions, key=cmp_to_key(bb.utils.vercmp)) | ||
149 | |||
150 | return (versions[-1][1], "") | ||
diff --git a/bitbake/lib/bb/fetch2/gcp.py b/bitbake/lib/bb/fetch2/gcp.py index f40ce2eaa5..eb3e0c6a6b 100644 --- a/bitbake/lib/bb/fetch2/gcp.py +++ b/bitbake/lib/bb/fetch2/gcp.py | |||
@@ -23,6 +23,7 @@ import urllib.parse, urllib.error | |||
23 | from bb.fetch2 import FetchMethod | 23 | from bb.fetch2 import FetchMethod |
24 | from bb.fetch2 import FetchError | 24 | from bb.fetch2 import FetchError |
25 | from bb.fetch2 import logger | 25 | from bb.fetch2 import logger |
26 | from bb.fetch2 import runfetchcmd | ||
26 | 27 | ||
27 | class GCP(FetchMethod): | 28 | class GCP(FetchMethod): |
28 | """ | 29 | """ |
diff --git a/bitbake/lib/bb/fetch2/svn.py b/bitbake/lib/bb/fetch2/svn.py index d40e4d2909..0852108e7d 100644 --- a/bitbake/lib/bb/fetch2/svn.py +++ b/bitbake/lib/bb/fetch2/svn.py | |||
@@ -210,3 +210,6 @@ class Svn(FetchMethod): | |||
210 | 210 | ||
211 | def _build_revision(self, ud, d): | 211 | def _build_revision(self, ud, d): |
212 | return ud.revision | 212 | return ud.revision |
213 | |||
214 | def supports_checksum(self, urldata): | ||
215 | return False | ||
diff --git a/bitbake/lib/bb/parse/__init__.py b/bitbake/lib/bb/parse/__init__.py index a4358f1374..7ffdaa6fd7 100644 --- a/bitbake/lib/bb/parse/__init__.py +++ b/bitbake/lib/bb/parse/__init__.py | |||
@@ -49,20 +49,23 @@ class SkipPackage(SkipRecipe): | |||
49 | __mtime_cache = {} | 49 | __mtime_cache = {} |
50 | def cached_mtime(f): | 50 | def cached_mtime(f): |
51 | if f not in __mtime_cache: | 51 | if f not in __mtime_cache: |
52 | __mtime_cache[f] = os.stat(f)[stat.ST_MTIME] | 52 | res = os.stat(f) |
53 | __mtime_cache[f] = (res.st_mtime_ns, res.st_size, res.st_ino) | ||
53 | return __mtime_cache[f] | 54 | return __mtime_cache[f] |
54 | 55 | ||
55 | def cached_mtime_noerror(f): | 56 | def cached_mtime_noerror(f): |
56 | if f not in __mtime_cache: | 57 | if f not in __mtime_cache: |
57 | try: | 58 | try: |
58 | __mtime_cache[f] = os.stat(f)[stat.ST_MTIME] | 59 | res = os.stat(f) |
60 | __mtime_cache[f] = (res.st_mtime_ns, res.st_size, res.st_ino) | ||
59 | except OSError: | 61 | except OSError: |
60 | return 0 | 62 | return 0 |
61 | return __mtime_cache[f] | 63 | return __mtime_cache[f] |
62 | 64 | ||
63 | def check_mtime(f, mtime): | 65 | def check_mtime(f, mtime): |
64 | try: | 66 | try: |
65 | current_mtime = os.stat(f)[stat.ST_MTIME] | 67 | res = os.stat(f) |
68 | current_mtime = (res.st_mtime_ns, res.st_size, res.st_ino) | ||
66 | __mtime_cache[f] = current_mtime | 69 | __mtime_cache[f] = current_mtime |
67 | except OSError: | 70 | except OSError: |
68 | current_mtime = 0 | 71 | current_mtime = 0 |
@@ -70,7 +73,8 @@ def check_mtime(f, mtime): | |||
70 | 73 | ||
71 | def update_mtime(f): | 74 | def update_mtime(f): |
72 | try: | 75 | try: |
73 | __mtime_cache[f] = os.stat(f)[stat.ST_MTIME] | 76 | res = os.stat(f) |
77 | __mtime_cache[f] = (res.st_mtime_ns, res.st_size, res.st_ino) | ||
74 | except OSError: | 78 | except OSError: |
75 | if f in __mtime_cache: | 79 | if f in __mtime_cache: |
76 | del __mtime_cache[f] | 80 | del __mtime_cache[f] |
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index bc7e18175d..6b43f303d5 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -1290,7 +1290,7 @@ class RunQueueData: | |||
1290 | return len(self.runtaskentries) | 1290 | return len(self.runtaskentries) |
1291 | 1291 | ||
1292 | def prepare_task_hash(self, tid): | 1292 | def prepare_task_hash(self, tid): |
1293 | bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | 1293 | self.runtaskentries[tid].taskhash_deps = bb.parse.siggen.prep_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
1294 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) | 1294 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, self.runtaskentries[tid].depends, self.dataCaches) |
1295 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) | 1295 | self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) |
1296 | 1296 | ||
@@ -2445,7 +2445,8 @@ class RunQueueExecute: | |||
2445 | unihash = self.rqdata.runtaskentries[task].unihash | 2445 | unihash = self.rqdata.runtaskentries[task].unihash |
2446 | deps = self.filtermcdeps(task, mc, deps) | 2446 | deps = self.filtermcdeps(task, mc, deps) |
2447 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] | 2447 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] |
2448 | taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn] | 2448 | taskhash_deps = self.rqdata.runtaskentries[task].taskhash_deps |
2449 | taskdepdata_cache[task] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn, taskhash_deps] | ||
2449 | 2450 | ||
2450 | self.taskdepdata_cache = taskdepdata_cache | 2451 | self.taskdepdata_cache = taskdepdata_cache |
2451 | 2452 | ||
@@ -2812,7 +2813,8 @@ class RunQueueExecute: | |||
2812 | taskhash = self.rqdata.runtaskentries[revdep].hash | 2813 | taskhash = self.rqdata.runtaskentries[revdep].hash |
2813 | unihash = self.rqdata.runtaskentries[revdep].unihash | 2814 | unihash = self.rqdata.runtaskentries[revdep].unihash |
2814 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] | 2815 | hashfn = self.rqdata.dataCaches[mc].hashfn[taskfn] |
2815 | taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn] | 2816 | taskhash_deps = self.rqdata.runtaskentries[revdep].taskhash_deps |
2817 | taskdepdata[revdep] = [pn, taskname, fn, deps, provides, taskhash, unihash, hashfn, taskhash_deps] | ||
2816 | for revdep2 in deps: | 2818 | for revdep2 in deps: |
2817 | if revdep2 not in taskdepdata: | 2819 | if revdep2 not in taskdepdata: |
2818 | additional.append(revdep2) | 2820 | additional.append(revdep2) |
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 8ab08ec961..03dfda6f3c 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -381,7 +381,7 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
381 | self.taints[tid] = taint | 381 | self.taints[tid] = taint |
382 | logger.warning("%s is tainted from a forced run" % tid) | 382 | logger.warning("%s is tainted from a forced run" % tid) |
383 | 383 | ||
384 | return | 384 | return set(dep for _, dep in self.runtaskdeps[tid]) |
385 | 385 | ||
386 | def get_taskhash(self, tid, deps, dataCaches): | 386 | def get_taskhash(self, tid, deps, dataCaches): |
387 | 387 | ||
diff --git a/bitbake/lib/bb/tests/codeparser.py b/bitbake/lib/bb/tests/codeparser.py index f6585fb3aa..c0d1362a0c 100644 --- a/bitbake/lib/bb/tests/codeparser.py +++ b/bitbake/lib/bb/tests/codeparser.py | |||
@@ -106,6 +106,46 @@ ${D}${libdir}/pkgconfig/*.pc | |||
106 | self.parseExpression("foo=$(echo bar)") | 106 | self.parseExpression("foo=$(echo bar)") |
107 | self.assertExecs(set(["echo"])) | 107 | self.assertExecs(set(["echo"])) |
108 | 108 | ||
109 | def test_assign_subshell_expansion_quotes(self): | ||
110 | self.parseExpression('foo="$(echo bar)"') | ||
111 | self.assertExecs(set(["echo"])) | ||
112 | |||
113 | def test_assign_subshell_expansion_nested(self): | ||
114 | self.parseExpression('foo="$(func1 "$(func2 bar$(func3))")"') | ||
115 | self.assertExecs(set(["func1", "func2", "func3"])) | ||
116 | |||
117 | def test_assign_subshell_expansion_multiple(self): | ||
118 | self.parseExpression('foo="$(func1 "$(func2)") $(func3)"') | ||
119 | self.assertExecs(set(["func1", "func2", "func3"])) | ||
120 | |||
121 | def test_assign_subshell_expansion_escaped_quotes(self): | ||
122 | self.parseExpression('foo="\\"fo\\"o$(func1)"') | ||
123 | self.assertExecs(set(["func1"])) | ||
124 | |||
125 | def test_assign_subshell_expansion_empty(self): | ||
126 | self.parseExpression('foo="bar$()foo"') | ||
127 | self.assertExecs(set()) | ||
128 | |||
129 | def test_assign_subshell_backticks(self): | ||
130 | self.parseExpression("foo=`echo bar`") | ||
131 | self.assertExecs(set(["echo"])) | ||
132 | |||
133 | def test_assign_subshell_backticks_quotes(self): | ||
134 | self.parseExpression('foo="`echo bar`"') | ||
135 | self.assertExecs(set(["echo"])) | ||
136 | |||
137 | def test_assign_subshell_backticks_multiple(self): | ||
138 | self.parseExpression('foo="`func1 bar` `func2`"') | ||
139 | self.assertExecs(set(["func1", "func2"])) | ||
140 | |||
141 | def test_assign_subshell_backticks_escaped_quotes(self): | ||
142 | self.parseExpression('foo="\\"fo\\"o`func1`"') | ||
143 | self.assertExecs(set(["func1"])) | ||
144 | |||
145 | def test_assign_subshell_backticks_empty(self): | ||
146 | self.parseExpression('foo="bar``foo"') | ||
147 | self.assertExecs(set()) | ||
148 | |||
109 | def test_shell_unexpanded(self): | 149 | def test_shell_unexpanded(self): |
110 | self.setEmptyVars(["QT_BASE_NAME"]) | 150 | self.setEmptyVars(["QT_BASE_NAME"]) |
111 | self.parseExpression('echo "${QT_BASE_NAME}"') | 151 | self.parseExpression('echo "${QT_BASE_NAME}"') |
diff --git a/bitbake/lib/bb/tests/fetch.py b/bitbake/lib/bb/tests/fetch.py index 85c1f79ff3..ed7a39a723 100644 --- a/bitbake/lib/bb/tests/fetch.py +++ b/bitbake/lib/bb/tests/fetch.py | |||
@@ -511,7 +511,8 @@ class MirrorUriTest(FetcherTest): | |||
511 | mirrorvar = "http://.*/.* file:///somepath/downloads/ " \ | 511 | mirrorvar = "http://.*/.* file:///somepath/downloads/ " \ |
512 | "git://someserver.org/bitbake git://git.openembedded.org/bitbake " \ | 512 | "git://someserver.org/bitbake git://git.openembedded.org/bitbake " \ |
513 | "https://.*/.* file:///someotherpath/downloads/ " \ | 513 | "https://.*/.* file:///someotherpath/downloads/ " \ |
514 | "http://.*/.* file:///someotherpath/downloads/" | 514 | "http://.*/.* file:///someotherpath/downloads/ " \ |
515 | "svn://svn.server1.com/ svn://svn.server2.com/" | ||
515 | 516 | ||
516 | def test_urireplace(self): | 517 | def test_urireplace(self): |
517 | self.d.setVar("FILESPATH", ".") | 518 | self.d.setVar("FILESPATH", ".") |
@@ -535,6 +536,13 @@ class MirrorUriTest(FetcherTest): | |||
535 | uris, uds = bb.fetch2.build_mirroruris(fetcher, mirrors, self.d) | 536 | uris, uds = bb.fetch2.build_mirroruris(fetcher, mirrors, self.d) |
536 | self.assertEqual(uris, ['file:///someotherpath/downloads/bitbake-1.0.tar.gz']) | 537 | self.assertEqual(uris, ['file:///someotherpath/downloads/bitbake-1.0.tar.gz']) |
537 | 538 | ||
539 | def test_urilistsvn(self): | ||
540 | # Catch svn:// -> svn:// bug | ||
541 | fetcher = bb.fetch.FetchData("svn://svn.server1.com/isource/svnroot/reponame/tags/tagname;module=path_in_tagnamefolder;protocol=https;rev=2", self.d) | ||
542 | mirrors = bb.fetch2.mirror_from_string(self.mirrorvar) | ||
543 | uris, uds = bb.fetch2.build_mirroruris(fetcher, mirrors, self.d) | ||
544 | self.assertEqual(uris, ['svn://svn.server2.com/isource/svnroot/reponame/tags/tagname;module=path_in_tagnamefolder;protocol=https;rev=2']) | ||
545 | |||
538 | def test_mirror_of_mirror(self): | 546 | def test_mirror_of_mirror(self): |
539 | # Test if mirror of a mirror works | 547 | # Test if mirror of a mirror works |
540 | mirrorvar = self.mirrorvar + " http://.*/.* http://otherdownloads.yoctoproject.org/downloads/" | 548 | mirrorvar = self.mirrorvar + " http://.*/.* http://otherdownloads.yoctoproject.org/downloads/" |
@@ -1493,6 +1501,12 @@ class FetchLatestVersionTest(FetcherTest): | |||
1493 | : "2.8", | 1501 | : "2.8", |
1494 | } | 1502 | } |
1495 | 1503 | ||
1504 | test_crate_uris = { | ||
1505 | # basic example; version pattern "A.B.C+cargo-D.E.F" | ||
1506 | ("cargo-c", "crate://crates.io/cargo-c/0.9.18+cargo-0.69") | ||
1507 | : "0.9.29" | ||
1508 | } | ||
1509 | |||
1496 | @skipIfNoNetwork() | 1510 | @skipIfNoNetwork() |
1497 | def test_git_latest_versionstring(self): | 1511 | def test_git_latest_versionstring(self): |
1498 | for k, v in self.test_git_uris.items(): | 1512 | for k, v in self.test_git_uris.items(): |
@@ -1532,6 +1546,16 @@ class FetchLatestVersionTest(FetcherTest): | |||
1532 | finally: | 1546 | finally: |
1533 | server.stop() | 1547 | server.stop() |
1534 | 1548 | ||
1549 | @skipIfNoNetwork() | ||
1550 | def test_crate_latest_versionstring(self): | ||
1551 | for k, v in self.test_crate_uris.items(): | ||
1552 | self.d.setVar("PN", k[0]) | ||
1553 | ud = bb.fetch2.FetchData(k[1], self.d) | ||
1554 | pupver = ud.method.latest_versionstring(ud, self.d) | ||
1555 | verstring = pupver[0] | ||
1556 | self.assertTrue(verstring, msg="Could not find upstream version for %s" % k[0]) | ||
1557 | r = bb.utils.vercmp_string(v, verstring) | ||
1558 | self.assertTrue(r == -1 or r == 0, msg="Package %s, version: %s <= %s" % (k[0], v, verstring)) | ||
1535 | 1559 | ||
1536 | class FetchCheckStatusTest(FetcherTest): | 1560 | class FetchCheckStatusTest(FetcherTest): |
1537 | test_wget_uris = ["https://downloads.yoctoproject.org/releases/sato/sato-engine-0.1.tar.gz", | 1561 | test_wget_uris = ["https://downloads.yoctoproject.org/releases/sato/sato-engine-0.1.tar.gz", |
diff --git a/bitbake/lib/bblayers/action.py b/bitbake/lib/bblayers/action.py index a8f2699335..a14f19948e 100644 --- a/bitbake/lib/bblayers/action.py +++ b/bitbake/lib/bblayers/action.py | |||
@@ -50,8 +50,8 @@ class ActionPlugin(LayerPlugin): | |||
50 | 50 | ||
51 | try: | 51 | try: |
52 | notadded, _ = bb.utils.edit_bblayers_conf(bblayers_conf, layerdirs, None) | 52 | notadded, _ = bb.utils.edit_bblayers_conf(bblayers_conf, layerdirs, None) |
53 | self.tinfoil.modified_files() | ||
54 | if not (args.force or notadded): | 53 | if not (args.force or notadded): |
54 | self.tinfoil.modified_files() | ||
55 | try: | 55 | try: |
56 | self.tinfoil.run_command('parseConfiguration') | 56 | self.tinfoil.run_command('parseConfiguration') |
57 | except (bb.tinfoil.TinfoilUIException, bb.BBHandledException): | 57 | except (bb.tinfoil.TinfoilUIException, bb.BBHandledException): |
@@ -83,6 +83,8 @@ class ActionPlugin(LayerPlugin): | |||
83 | layerdir = os.path.abspath(item) | 83 | layerdir = os.path.abspath(item) |
84 | layerdirs.append(layerdir) | 84 | layerdirs.append(layerdir) |
85 | (_, notremoved) = bb.utils.edit_bblayers_conf(bblayers_conf, None, layerdirs) | 85 | (_, notremoved) = bb.utils.edit_bblayers_conf(bblayers_conf, None, layerdirs) |
86 | if args.force > 1: | ||
87 | return 0 | ||
86 | self.tinfoil.modified_files() | 88 | self.tinfoil.modified_files() |
87 | if notremoved: | 89 | if notremoved: |
88 | for item in notremoved: | 90 | for item in notremoved: |
diff --git a/bitbake/lib/prserv/__init__.py b/bitbake/lib/prserv/__init__.py index 0e0aa34d0e..a817b03c1e 100644 --- a/bitbake/lib/prserv/__init__.py +++ b/bitbake/lib/prserv/__init__.py | |||
@@ -4,17 +4,92 @@ | |||
4 | # SPDX-License-Identifier: GPL-2.0-only | 4 | # SPDX-License-Identifier: GPL-2.0-only |
5 | # | 5 | # |
6 | 6 | ||
7 | __version__ = "1.0.0" | ||
8 | 7 | ||
9 | import os, time | 8 | __version__ = "2.0.0" |
10 | import sys, logging | ||
11 | 9 | ||
12 | def init_logger(logfile, loglevel): | 10 | import logging |
13 | numeric_level = getattr(logging, loglevel.upper(), None) | 11 | logger = logging.getLogger("BitBake.PRserv") |
14 | if not isinstance(numeric_level, int): | ||
15 | raise ValueError("Invalid log level: %s" % loglevel) | ||
16 | FORMAT = "%(asctime)-15s %(message)s" | ||
17 | logging.basicConfig(level=numeric_level, filename=logfile, format=FORMAT) | ||
18 | 12 | ||
19 | class NotFoundError(Exception): | 13 | from bb.asyncrpc.client import parse_address, ADDR_TYPE_UNIX, ADDR_TYPE_WS |
20 | pass | 14 | |
15 | def create_server(addr, dbpath, upstream=None, read_only=False): | ||
16 | from . import serv | ||
17 | |||
18 | s = serv.PRServer(dbpath, upstream=upstream, read_only=read_only) | ||
19 | host, port = addr.split(":") | ||
20 | s.start_tcp_server(host, int(port)) | ||
21 | |||
22 | return s | ||
23 | |||
24 | def increase_revision(ver): | ||
25 | """Take a revision string such as "1" or "1.2.3" or even a number and increase its last number | ||
26 | This fails if the last number is not an integer""" | ||
27 | |||
28 | fields=str(ver).split('.') | ||
29 | last = fields[-1] | ||
30 | |||
31 | try: | ||
32 | val = int(last) | ||
33 | except Exception as e: | ||
34 | logger.critical("Unable to increase revision value %s: %s" % (ver, e)) | ||
35 | raise e | ||
36 | |||
37 | return ".".join(fields[0:-1] + list(str(val + 1))) | ||
38 | |||
39 | def _revision_greater_or_equal(rev1, rev2): | ||
40 | """Compares x.y.z revision numbers, using integer comparison | ||
41 | Returns True if rev1 is greater or equal to rev2""" | ||
42 | |||
43 | fields1 = rev1.split(".") | ||
44 | fields2 = rev2.split(".") | ||
45 | l1 = len(fields1) | ||
46 | l2 = len(fields2) | ||
47 | |||
48 | for i in range(l1): | ||
49 | val1 = int(fields1[i]) | ||
50 | if i < l2: | ||
51 | val2 = int(fields2[i]) | ||
52 | if val2 < val1: | ||
53 | return True | ||
54 | elif val2 > val1: | ||
55 | return False | ||
56 | else: | ||
57 | return True | ||
58 | return True | ||
59 | |||
60 | def revision_smaller(rev1, rev2): | ||
61 | """Compares x.y.z revision numbers, using integer comparison | ||
62 | Returns True if rev1 is strictly smaller than rev2""" | ||
63 | return not(_revision_greater_or_equal(rev1, rev2)) | ||
64 | |||
65 | def revision_greater(rev1, rev2): | ||
66 | """Compares x.y.z revision numbers, using integer comparison | ||
67 | Returns True if rev1 is strictly greater than rev2""" | ||
68 | return _revision_greater_or_equal(rev1, rev2) and (rev1 != rev2) | ||
69 | |||
70 | def create_client(addr): | ||
71 | from . import client | ||
72 | |||
73 | c = client.PRClient() | ||
74 | |||
75 | try: | ||
76 | (typ, a) = parse_address(addr) | ||
77 | c.connect_tcp(*a) | ||
78 | return c | ||
79 | except Exception as e: | ||
80 | c.close() | ||
81 | raise e | ||
82 | |||
83 | async def create_async_client(addr): | ||
84 | from . import client | ||
85 | |||
86 | c = client.PRAsyncClient() | ||
87 | |||
88 | try: | ||
89 | (typ, a) = parse_address(addr) | ||
90 | await c.connect_tcp(*a) | ||
91 | return c | ||
92 | |||
93 | except Exception as e: | ||
94 | await c.close() | ||
95 | raise e | ||
diff --git a/bitbake/lib/prserv/client.py b/bitbake/lib/prserv/client.py index 8471ee3046..9f5794c433 100644 --- a/bitbake/lib/prserv/client.py +++ b/bitbake/lib/prserv/client.py | |||
@@ -6,6 +6,7 @@ | |||
6 | 6 | ||
7 | import logging | 7 | import logging |
8 | import bb.asyncrpc | 8 | import bb.asyncrpc |
9 | from . import create_async_client | ||
9 | 10 | ||
10 | logger = logging.getLogger("BitBake.PRserv") | 11 | logger = logging.getLogger("BitBake.PRserv") |
11 | 12 | ||
@@ -13,16 +14,16 @@ class PRAsyncClient(bb.asyncrpc.AsyncClient): | |||
13 | def __init__(self): | 14 | def __init__(self): |
14 | super().__init__("PRSERVICE", "1.0", logger) | 15 | super().__init__("PRSERVICE", "1.0", logger) |
15 | 16 | ||
16 | async def getPR(self, version, pkgarch, checksum): | 17 | async def getPR(self, version, pkgarch, checksum, history=False): |
17 | response = await self.invoke( | 18 | response = await self.invoke( |
18 | {"get-pr": {"version": version, "pkgarch": pkgarch, "checksum": checksum}} | 19 | {"get-pr": {"version": version, "pkgarch": pkgarch, "checksum": checksum, "history": history}} |
19 | ) | 20 | ) |
20 | if response: | 21 | if response: |
21 | return response["value"] | 22 | return response["value"] |
22 | 23 | ||
23 | async def test_pr(self, version, pkgarch, checksum): | 24 | async def test_pr(self, version, pkgarch, checksum, history=False): |
24 | response = await self.invoke( | 25 | response = await self.invoke( |
25 | {"test-pr": {"version": version, "pkgarch": pkgarch, "checksum": checksum}} | 26 | {"test-pr": {"version": version, "pkgarch": pkgarch, "checksum": checksum, "history": history}} |
26 | ) | 27 | ) |
27 | if response: | 28 | if response: |
28 | return response["value"] | 29 | return response["value"] |
@@ -48,9 +49,9 @@ class PRAsyncClient(bb.asyncrpc.AsyncClient): | |||
48 | if response: | 49 | if response: |
49 | return response["value"] | 50 | return response["value"] |
50 | 51 | ||
51 | async def export(self, version, pkgarch, checksum, colinfo): | 52 | async def export(self, version, pkgarch, checksum, colinfo, history=False): |
52 | response = await self.invoke( | 53 | response = await self.invoke( |
53 | {"export": {"version": version, "pkgarch": pkgarch, "checksum": checksum, "colinfo": colinfo}} | 54 | {"export": {"version": version, "pkgarch": pkgarch, "checksum": checksum, "colinfo": colinfo, "history": history}} |
54 | ) | 55 | ) |
55 | if response: | 56 | if response: |
56 | return (response["metainfo"], response["datainfo"]) | 57 | return (response["metainfo"], response["datainfo"]) |
@@ -65,7 +66,7 @@ class PRAsyncClient(bb.asyncrpc.AsyncClient): | |||
65 | class PRClient(bb.asyncrpc.Client): | 66 | class PRClient(bb.asyncrpc.Client): |
66 | def __init__(self): | 67 | def __init__(self): |
67 | super().__init__() | 68 | super().__init__() |
68 | self._add_methods("getPR", "test_pr", "test_package", "importone", "export", "is_readonly") | 69 | self._add_methods("getPR", "test_pr", "test_package", "max_package_pr", "importone", "export", "is_readonly") |
69 | 70 | ||
70 | def _get_async_client(self): | 71 | def _get_async_client(self): |
71 | return PRAsyncClient() | 72 | return PRAsyncClient() |
diff --git a/bitbake/lib/prserv/db.py b/bitbake/lib/prserv/db.py index eb41508198..2da493ddf5 100644 --- a/bitbake/lib/prserv/db.py +++ b/bitbake/lib/prserv/db.py | |||
@@ -8,19 +8,13 @@ import logging | |||
8 | import os.path | 8 | import os.path |
9 | import errno | 9 | import errno |
10 | import prserv | 10 | import prserv |
11 | import time | 11 | import sqlite3 |
12 | 12 | ||
13 | try: | 13 | from contextlib import closing |
14 | import sqlite3 | 14 | from . import increase_revision, revision_greater, revision_smaller |
15 | except ImportError: | ||
16 | from pysqlite2 import dbapi2 as sqlite3 | ||
17 | 15 | ||
18 | logger = logging.getLogger("BitBake.PRserv") | 16 | logger = logging.getLogger("BitBake.PRserv") |
19 | 17 | ||
20 | sqlversion = sqlite3.sqlite_version_info | ||
21 | if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3): | ||
22 | raise Exception("sqlite3 version 3.3.0 or later is required.") | ||
23 | |||
24 | # | 18 | # |
25 | # "No History" mode - for a given query tuple (version, pkgarch, checksum), | 19 | # "No History" mode - for a given query tuple (version, pkgarch, checksum), |
26 | # the returned value will be the largest among all the values of the same | 20 | # the returned value will be the largest among all the values of the same |
@@ -29,287 +23,232 @@ if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3): | |||
29 | # "History" mode - Return a new higher value for previously unseen query | 23 | # "History" mode - Return a new higher value for previously unseen query |
30 | # tuple (version, pkgarch, checksum), otherwise return historical value. | 24 | # tuple (version, pkgarch, checksum), otherwise return historical value. |
31 | # Value can decrement if returning to a previous build. | 25 | # Value can decrement if returning to a previous build. |
32 | # | ||
33 | 26 | ||
34 | class PRTable(object): | 27 | class PRTable(object): |
35 | def __init__(self, conn, table, nohist, read_only): | 28 | def __init__(self, conn, table, read_only): |
36 | self.conn = conn | 29 | self.conn = conn |
37 | self.nohist = nohist | ||
38 | self.read_only = read_only | 30 | self.read_only = read_only |
39 | self.dirty = False | 31 | self.table = table |
40 | if nohist: | 32 | |
41 | self.table = "%s_nohist" % table | 33 | # Creating the table even if the server is read-only. |
42 | else: | 34 | # This avoids a race condition if a shared database |
43 | self.table = "%s_hist" % table | 35 | # is accessed by a read-only server first. |
44 | 36 | ||
45 | if self.read_only: | 37 | with closing(self.conn.cursor()) as cursor: |
46 | table_exists = self._execute( | 38 | cursor.execute("CREATE TABLE IF NOT EXISTS %s \ |
47 | "SELECT count(*) FROM sqlite_master \ | ||
48 | WHERE type='table' AND name='%s'" % (self.table)) | ||
49 | if not table_exists: | ||
50 | raise prserv.NotFoundError | ||
51 | else: | ||
52 | self._execute("CREATE TABLE IF NOT EXISTS %s \ | ||
53 | (version TEXT NOT NULL, \ | 39 | (version TEXT NOT NULL, \ |
54 | pkgarch TEXT NOT NULL, \ | 40 | pkgarch TEXT NOT NULL, \ |
55 | checksum TEXT NOT NULL, \ | 41 | checksum TEXT NOT NULL, \ |
56 | value INTEGER, \ | 42 | value TEXT, \ |
57 | PRIMARY KEY (version, pkgarch, checksum));" % self.table) | 43 | PRIMARY KEY (version, pkgarch, checksum, value));" % self.table) |
58 | |||
59 | def _execute(self, *query): | ||
60 | """Execute a query, waiting to acquire a lock if necessary""" | ||
61 | start = time.time() | ||
62 | end = start + 20 | ||
63 | while True: | ||
64 | try: | ||
65 | return self.conn.execute(*query) | ||
66 | except sqlite3.OperationalError as exc: | ||
67 | if "is locked" in str(exc) and end > time.time(): | ||
68 | continue | ||
69 | raise exc | ||
70 | |||
71 | def sync(self): | ||
72 | if not self.read_only: | ||
73 | self.conn.commit() | 44 | self.conn.commit() |
74 | self._execute("BEGIN EXCLUSIVE TRANSACTION") | ||
75 | 45 | ||
76 | def sync_if_dirty(self): | 46 | def _extremum_value(self, rows, is_max): |
77 | if self.dirty: | 47 | value = None |
78 | self.sync() | 48 | |
79 | self.dirty = False | 49 | for row in rows: |
50 | current_value = row[0] | ||
51 | if value is None: | ||
52 | value = current_value | ||
53 | else: | ||
54 | if is_max: | ||
55 | is_new_extremum = revision_greater(current_value, value) | ||
56 | else: | ||
57 | is_new_extremum = revision_smaller(current_value, value) | ||
58 | if is_new_extremum: | ||
59 | value = current_value | ||
60 | return value | ||
61 | |||
62 | def _max_value(self, rows): | ||
63 | return self._extremum_value(rows, True) | ||
64 | |||
65 | def _min_value(self, rows): | ||
66 | return self._extremum_value(rows, False) | ||
80 | 67 | ||
81 | def test_package(self, version, pkgarch): | 68 | def test_package(self, version, pkgarch): |
82 | """Returns whether the specified package version is found in the database for the specified architecture""" | 69 | """Returns whether the specified package version is found in the database for the specified architecture""" |
83 | 70 | ||
84 | # Just returns the value if found or None otherwise | 71 | # Just returns the value if found or None otherwise |
85 | data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=?;" % self.table, | 72 | with closing(self.conn.cursor()) as cursor: |
86 | (version, pkgarch)) | 73 | data=cursor.execute("SELECT value FROM %s WHERE version=? AND pkgarch=?;" % self.table, |
87 | row=data.fetchone() | 74 | (version, pkgarch)) |
88 | if row is not None: | 75 | row=data.fetchone() |
89 | return True | 76 | if row is not None: |
90 | else: | 77 | return True |
91 | return False | 78 | else: |
79 | return False | ||
80 | |||
81 | def test_checksum_value(self, version, pkgarch, checksum, value): | ||
82 | """Returns whether the specified value is found in the database for the specified package, architecture and checksum""" | ||
83 | |||
84 | with closing(self.conn.cursor()) as cursor: | ||
85 | data=cursor.execute("SELECT value FROM %s WHERE version=? AND pkgarch=? and checksum=? and value=?;" % self.table, | ||
86 | (version, pkgarch, checksum, value)) | ||
87 | row=data.fetchone() | ||
88 | if row is not None: | ||
89 | return True | ||
90 | else: | ||
91 | return False | ||
92 | 92 | ||
93 | def test_value(self, version, pkgarch, value): | 93 | def test_value(self, version, pkgarch, value): |
94 | """Returns whether the specified value is found in the database for the specified package and architecture""" | 94 | """Returns whether the specified value is found in the database for the specified package and architecture""" |
95 | 95 | ||
96 | # Just returns the value if found or None otherwise | 96 | # Just returns the value if found or None otherwise |
97 | data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? and value=?;" % self.table, | 97 | with closing(self.conn.cursor()) as cursor: |
98 | (version, pkgarch, value)) | 98 | data=cursor.execute("SELECT value FROM %s WHERE version=? AND pkgarch=? and value=?;" % self.table, |
99 | row=data.fetchone() | 99 | (version, pkgarch, value)) |
100 | if row is not None: | 100 | row=data.fetchone() |
101 | return True | 101 | if row is not None: |
102 | else: | 102 | return True |
103 | return False | 103 | else: |
104 | return False | ||
104 | 105 | ||
105 | def find_value(self, version, pkgarch, checksum): | 106 | |
107 | def find_package_max_value(self, version, pkgarch): | ||
108 | """Returns the greatest value for (version, pkgarch), or None if not found. Doesn't create a new value""" | ||
109 | |||
110 | with closing(self.conn.cursor()) as cursor: | ||
111 | data = cursor.execute("SELECT value FROM %s where version=? AND pkgarch=?;" % (self.table), | ||
112 | (version, pkgarch)) | ||
113 | rows = data.fetchall() | ||
114 | value = self._max_value(rows) | ||
115 | return value | ||
116 | |||
117 | def find_value(self, version, pkgarch, checksum, history=False): | ||
106 | """Returns the value for the specified checksum if found or None otherwise.""" | 118 | """Returns the value for the specified checksum if found or None otherwise.""" |
107 | 119 | ||
108 | data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, | 120 | if history: |
109 | (version, pkgarch, checksum)) | 121 | return self.find_min_value(version, pkgarch, checksum) |
110 | row=data.fetchone() | ||
111 | if row is not None: | ||
112 | return row[0] | ||
113 | else: | 122 | else: |
114 | return None | 123 | return self.find_max_value(version, pkgarch, checksum) |
115 | 124 | ||
116 | def find_max_value(self, version, pkgarch): | ||
117 | """Returns the greatest value for (version, pkgarch), or None if not found. Doesn't create a new value""" | ||
118 | 125 | ||
119 | data = self._execute("SELECT max(value) FROM %s where version=? AND pkgarch=?;" % (self.table), | 126 | def _find_extremum_value(self, version, pkgarch, checksum, is_max): |
120 | (version, pkgarch)) | 127 | """Returns the maximum (if is_max is True) or minimum (if is_max is False) value |
121 | row = data.fetchone() | 128 | for (version, pkgarch, checksum), or None if not found. Doesn't create a new value""" |
122 | if row is not None: | ||
123 | return row[0] | ||
124 | else: | ||
125 | return None | ||
126 | |||
127 | def _get_value_hist(self, version, pkgarch, checksum): | ||
128 | data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, | ||
129 | (version, pkgarch, checksum)) | ||
130 | row=data.fetchone() | ||
131 | if row is not None: | ||
132 | return row[0] | ||
133 | else: | ||
134 | #no value found, try to insert | ||
135 | if self.read_only: | ||
136 | data = self._execute("SELECT ifnull(max(value)+1, 0) FROM %s where version=? AND pkgarch=?;" % (self.table), | ||
137 | (version, pkgarch)) | ||
138 | row = data.fetchone() | ||
139 | if row is not None: | ||
140 | return row[0] | ||
141 | else: | ||
142 | return 0 | ||
143 | 129 | ||
144 | try: | 130 | with closing(self.conn.cursor()) as cursor: |
145 | self._execute("INSERT INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1, 0) from %s where version=? AND pkgarch=?));" | 131 | data = cursor.execute("SELECT value FROM %s where version=? AND pkgarch=? AND checksum=?;" % (self.table), |
146 | % (self.table, self.table), | 132 | (version, pkgarch, checksum)) |
147 | (version, pkgarch, checksum, version, pkgarch)) | 133 | rows = data.fetchall() |
148 | except sqlite3.IntegrityError as exc: | 134 | return self._extremum_value(rows, is_max) |
149 | logger.error(str(exc)) | ||
150 | 135 | ||
151 | self.dirty = True | 136 | def find_max_value(self, version, pkgarch, checksum): |
137 | return self._find_extremum_value(version, pkgarch, checksum, True) | ||
152 | 138 | ||
153 | data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, | 139 | def find_min_value(self, version, pkgarch, checksum): |
154 | (version, pkgarch, checksum)) | 140 | return self._find_extremum_value(version, pkgarch, checksum, False) |
155 | row=data.fetchone() | 141 | |
156 | if row is not None: | 142 | def find_new_subvalue(self, version, pkgarch, base): |
157 | return row[0] | 143 | """Take and increase the greatest "<base>.y" value for (version, pkgarch), or return "<base>.0" if not found. |
158 | else: | 144 | This doesn't store a new value.""" |
159 | raise prserv.NotFoundError | 145 | |
160 | 146 | with closing(self.conn.cursor()) as cursor: | |
161 | def _get_value_no_hist(self, version, pkgarch, checksum): | 147 | data = cursor.execute("SELECT value FROM %s where version=? AND pkgarch=? AND value LIKE '%s.%%';" % (self.table, base), |
162 | data=self._execute("SELECT value FROM %s \ | 148 | (version, pkgarch)) |
163 | WHERE version=? AND pkgarch=? AND checksum=? AND \ | 149 | rows = data.fetchall() |
164 | value >= (select max(value) from %s where version=? AND pkgarch=?);" | 150 | value = self._max_value(rows) |
165 | % (self.table, self.table), | 151 | |
166 | (version, pkgarch, checksum, version, pkgarch)) | 152 | if value is not None: |
167 | row=data.fetchone() | 153 | return increase_revision(value) |
168 | if row is not None: | ||
169 | return row[0] | ||
170 | else: | ||
171 | #no value found, try to insert | ||
172 | if self.read_only: | ||
173 | data = self._execute("SELECT ifnull(max(value)+1, 0) FROM %s where version=? AND pkgarch=?;" % (self.table), | ||
174 | (version, pkgarch)) | ||
175 | return data.fetchone()[0] | ||
176 | |||
177 | try: | ||
178 | self._execute("INSERT OR REPLACE INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1, 0) from %s where version=? AND pkgarch=?));" | ||
179 | % (self.table, self.table), | ||
180 | (version, pkgarch, checksum, version, pkgarch)) | ||
181 | except sqlite3.IntegrityError as exc: | ||
182 | logger.error(str(exc)) | ||
183 | self.conn.rollback() | ||
184 | |||
185 | self.dirty = True | ||
186 | |||
187 | data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, | ||
188 | (version, pkgarch, checksum)) | ||
189 | row=data.fetchone() | ||
190 | if row is not None: | ||
191 | return row[0] | ||
192 | else: | 154 | else: |
193 | raise prserv.NotFoundError | 155 | return base + ".0" |
194 | 156 | ||
195 | def get_value(self, version, pkgarch, checksum): | 157 | def store_value(self, version, pkgarch, checksum, value): |
196 | if self.nohist: | 158 | """Store value in the database""" |
197 | return self._get_value_no_hist(version, pkgarch, checksum) | 159 | |
198 | else: | 160 | if not self.read_only and not self.test_checksum_value(version, pkgarch, checksum, value): |
199 | return self._get_value_hist(version, pkgarch, checksum) | 161 | with closing(self.conn.cursor()) as cursor: |
200 | 162 | cursor.execute("INSERT INTO %s VALUES (?, ?, ?, ?);" % (self.table), | |
201 | def _import_hist(self, version, pkgarch, checksum, value): | ||
202 | if self.read_only: | ||
203 | return None | ||
204 | |||
205 | val = None | ||
206 | data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, | ||
207 | (version, pkgarch, checksum)) | ||
208 | row = data.fetchone() | ||
209 | if row is not None: | ||
210 | val=row[0] | ||
211 | else: | ||
212 | #no value found, try to insert | ||
213 | try: | ||
214 | self._execute("INSERT INTO %s VALUES (?, ?, ?, ?);" % (self.table), | ||
215 | (version, pkgarch, checksum, value)) | 163 | (version, pkgarch, checksum, value)) |
216 | except sqlite3.IntegrityError as exc: | 164 | self.conn.commit() |
217 | logger.error(str(exc)) | ||
218 | 165 | ||
219 | self.dirty = True | 166 | def _get_value(self, version, pkgarch, checksum, history): |
220 | 167 | ||
221 | data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table, | 168 | max_value = self.find_package_max_value(version, pkgarch) |
222 | (version, pkgarch, checksum)) | ||
223 | row = data.fetchone() | ||
224 | if row is not None: | ||
225 | val = row[0] | ||
226 | return val | ||
227 | 169 | ||
228 | def _import_no_hist(self, version, pkgarch, checksum, value): | 170 | if max_value is None: |
229 | if self.read_only: | 171 | # version, pkgarch completely unknown. Return initial value. |
230 | return None | 172 | return "0" |
231 | 173 | ||
232 | try: | 174 | value = self.find_value(version, pkgarch, checksum, history) |
233 | #try to insert | 175 | |
234 | self._execute("INSERT INTO %s VALUES (?, ?, ?, ?);" % (self.table), | 176 | if value is None: |
235 | (version, pkgarch, checksum, value)) | 177 | # version, pkgarch found but not checksum. Create a new value from the maximum one |
236 | except sqlite3.IntegrityError as exc: | 178 | return increase_revision(max_value) |
237 | #already have the record, try to update | 179 | |
238 | try: | 180 | if history: |
239 | self._execute("UPDATE %s SET value=? WHERE version=? AND pkgarch=? AND checksum=? AND value<?" | 181 | return value |
240 | % (self.table), | 182 | |
241 | (value, version, pkgarch, checksum, value)) | 183 | # "no history" mode - If the value is not the maximum value for the package, need to increase it. |
242 | except sqlite3.IntegrityError as exc: | 184 | if max_value > value: |
243 | logger.error(str(exc)) | 185 | return increase_revision(max_value) |
244 | |||
245 | self.dirty = True | ||
246 | |||
247 | data = self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=? AND value>=?;" % self.table, | ||
248 | (version, pkgarch, checksum, value)) | ||
249 | row=data.fetchone() | ||
250 | if row is not None: | ||
251 | return row[0] | ||
252 | else: | 186 | else: |
253 | return None | 187 | return value |
188 | |||
189 | def get_value(self, version, pkgarch, checksum, history): | ||
190 | value = self._get_value(version, pkgarch, checksum, history) | ||
191 | if not self.read_only: | ||
192 | self.store_value(version, pkgarch, checksum, value) | ||
193 | return value | ||
254 | 194 | ||
255 | def importone(self, version, pkgarch, checksum, value): | 195 | def importone(self, version, pkgarch, checksum, value): |
256 | if self.nohist: | 196 | self.store_value(version, pkgarch, checksum, value) |
257 | return self._import_no_hist(version, pkgarch, checksum, value) | 197 | return value |
258 | else: | ||
259 | return self._import_hist(version, pkgarch, checksum, value) | ||
260 | 198 | ||
261 | def export(self, version, pkgarch, checksum, colinfo): | 199 | def export(self, version, pkgarch, checksum, colinfo, history=False): |
262 | metainfo = {} | 200 | metainfo = {} |
263 | #column info | 201 | with closing(self.conn.cursor()) as cursor: |
264 | if colinfo: | 202 | #column info |
265 | metainfo["tbl_name"] = self.table | 203 | if colinfo: |
266 | metainfo["core_ver"] = prserv.__version__ | 204 | metainfo["tbl_name"] = self.table |
267 | metainfo["col_info"] = [] | 205 | metainfo["core_ver"] = prserv.__version__ |
268 | data = self._execute("PRAGMA table_info(%s);" % self.table) | 206 | metainfo["col_info"] = [] |
207 | data = cursor.execute("PRAGMA table_info(%s);" % self.table) | ||
208 | for row in data: | ||
209 | col = {} | ||
210 | col["name"] = row["name"] | ||
211 | col["type"] = row["type"] | ||
212 | col["notnull"] = row["notnull"] | ||
213 | col["dflt_value"] = row["dflt_value"] | ||
214 | col["pk"] = row["pk"] | ||
215 | metainfo["col_info"].append(col) | ||
216 | |||
217 | #data info | ||
218 | datainfo = [] | ||
219 | |||
220 | if history: | ||
221 | sqlstmt = "SELECT * FROM %s as T1 WHERE 1=1 " % self.table | ||
222 | else: | ||
223 | sqlstmt = "SELECT T1.version, T1.pkgarch, T1.checksum, T1.value FROM %s as T1, \ | ||
224 | (SELECT version, pkgarch, max(value) as maxvalue FROM %s GROUP BY version, pkgarch) as T2 \ | ||
225 | WHERE T1.version=T2.version AND T1.pkgarch=T2.pkgarch AND T1.value=T2.maxvalue " % (self.table, self.table) | ||
226 | sqlarg = [] | ||
227 | where = "" | ||
228 | if version: | ||
229 | where += "AND T1.version=? " | ||
230 | sqlarg.append(str(version)) | ||
231 | if pkgarch: | ||
232 | where += "AND T1.pkgarch=? " | ||
233 | sqlarg.append(str(pkgarch)) | ||
234 | if checksum: | ||
235 | where += "AND T1.checksum=? " | ||
236 | sqlarg.append(str(checksum)) | ||
237 | |||
238 | sqlstmt += where + ";" | ||
239 | |||
240 | if len(sqlarg): | ||
241 | data = cursor.execute(sqlstmt, tuple(sqlarg)) | ||
242 | else: | ||
243 | data = cursor.execute(sqlstmt) | ||
269 | for row in data: | 244 | for row in data: |
270 | col = {} | 245 | if row["version"]: |
271 | col["name"] = row["name"] | 246 | col = {} |
272 | col["type"] = row["type"] | 247 | col["version"] = row["version"] |
273 | col["notnull"] = row["notnull"] | 248 | col["pkgarch"] = row["pkgarch"] |
274 | col["dflt_value"] = row["dflt_value"] | 249 | col["checksum"] = row["checksum"] |
275 | col["pk"] = row["pk"] | 250 | col["value"] = row["value"] |
276 | metainfo["col_info"].append(col) | 251 | datainfo.append(col) |
277 | |||
278 | #data info | ||
279 | datainfo = [] | ||
280 | |||
281 | if self.nohist: | ||
282 | sqlstmt = "SELECT T1.version, T1.pkgarch, T1.checksum, T1.value FROM %s as T1, \ | ||
283 | (SELECT version, pkgarch, max(value) as maxvalue FROM %s GROUP BY version, pkgarch) as T2 \ | ||
284 | WHERE T1.version=T2.version AND T1.pkgarch=T2.pkgarch AND T1.value=T2.maxvalue " % (self.table, self.table) | ||
285 | else: | ||
286 | sqlstmt = "SELECT * FROM %s as T1 WHERE 1=1 " % self.table | ||
287 | sqlarg = [] | ||
288 | where = "" | ||
289 | if version: | ||
290 | where += "AND T1.version=? " | ||
291 | sqlarg.append(str(version)) | ||
292 | if pkgarch: | ||
293 | where += "AND T1.pkgarch=? " | ||
294 | sqlarg.append(str(pkgarch)) | ||
295 | if checksum: | ||
296 | where += "AND T1.checksum=? " | ||
297 | sqlarg.append(str(checksum)) | ||
298 | |||
299 | sqlstmt += where + ";" | ||
300 | |||
301 | if len(sqlarg): | ||
302 | data = self._execute(sqlstmt, tuple(sqlarg)) | ||
303 | else: | ||
304 | data = self._execute(sqlstmt) | ||
305 | for row in data: | ||
306 | if row["version"]: | ||
307 | col = {} | ||
308 | col["version"] = row["version"] | ||
309 | col["pkgarch"] = row["pkgarch"] | ||
310 | col["checksum"] = row["checksum"] | ||
311 | col["value"] = row["value"] | ||
312 | datainfo.append(col) | ||
313 | return (metainfo, datainfo) | 252 | return (metainfo, datainfo) |
314 | 253 | ||
315 | def dump_db(self, fd): | 254 | def dump_db(self, fd): |
@@ -322,9 +261,8 @@ class PRTable(object): | |||
322 | 261 | ||
323 | class PRData(object): | 262 | class PRData(object): |
324 | """Object representing the PR database""" | 263 | """Object representing the PR database""" |
325 | def __init__(self, filename, nohist=True, read_only=False): | 264 | def __init__(self, filename, read_only=False): |
326 | self.filename=os.path.abspath(filename) | 265 | self.filename=os.path.abspath(filename) |
327 | self.nohist=nohist | ||
328 | self.read_only = read_only | 266 | self.read_only = read_only |
329 | #build directory hierarchy | 267 | #build directory hierarchy |
330 | try: | 268 | try: |
@@ -334,14 +272,15 @@ class PRData(object): | |||
334 | raise e | 272 | raise e |
335 | uri = "file:%s%s" % (self.filename, "?mode=ro" if self.read_only else "") | 273 | uri = "file:%s%s" % (self.filename, "?mode=ro" if self.read_only else "") |
336 | logger.debug("Opening PRServ database '%s'" % (uri)) | 274 | logger.debug("Opening PRServ database '%s'" % (uri)) |
337 | self.connection=sqlite3.connect(uri, uri=True, isolation_level="EXCLUSIVE", check_same_thread = False) | 275 | self.connection=sqlite3.connect(uri, uri=True) |
338 | self.connection.row_factory=sqlite3.Row | 276 | self.connection.row_factory=sqlite3.Row |
339 | if not self.read_only: | 277 | self.connection.execute("PRAGMA synchronous = OFF;") |
340 | self.connection.execute("pragma synchronous = off;") | 278 | self.connection.execute("PRAGMA journal_mode = WAL;") |
341 | self.connection.execute("PRAGMA journal_mode = MEMORY;") | 279 | self.connection.commit() |
342 | self._tables={} | 280 | self._tables={} |
343 | 281 | ||
344 | def disconnect(self): | 282 | def disconnect(self): |
283 | self.connection.commit() | ||
345 | self.connection.close() | 284 | self.connection.close() |
346 | 285 | ||
347 | def __getitem__(self, tblname): | 286 | def __getitem__(self, tblname): |
@@ -351,7 +290,7 @@ class PRData(object): | |||
351 | if tblname in self._tables: | 290 | if tblname in self._tables: |
352 | return self._tables[tblname] | 291 | return self._tables[tblname] |
353 | else: | 292 | else: |
354 | tableobj = self._tables[tblname] = PRTable(self.connection, tblname, self.nohist, self.read_only) | 293 | tableobj = self._tables[tblname] = PRTable(self.connection, tblname, self.read_only) |
355 | return tableobj | 294 | return tableobj |
356 | 295 | ||
357 | def __delitem__(self, tblname): | 296 | def __delitem__(self, tblname): |
@@ -359,3 +298,4 @@ class PRData(object): | |||
359 | del self._tables[tblname] | 298 | del self._tables[tblname] |
360 | logger.info("drop table %s" % (tblname)) | 299 | logger.info("drop table %s" % (tblname)) |
361 | self.connection.execute("DROP TABLE IF EXISTS %s;" % tblname) | 300 | self.connection.execute("DROP TABLE IF EXISTS %s;" % tblname) |
301 | self.connection.commit() | ||
diff --git a/bitbake/lib/prserv/serv.py b/bitbake/lib/prserv/serv.py index dc4be5b620..e175886308 100644 --- a/bitbake/lib/prserv/serv.py +++ b/bitbake/lib/prserv/serv.py | |||
@@ -12,6 +12,7 @@ import sqlite3 | |||
12 | import prserv | 12 | import prserv |
13 | import prserv.db | 13 | import prserv.db |
14 | import errno | 14 | import errno |
15 | from . import create_async_client, revision_smaller, increase_revision | ||
15 | import bb.asyncrpc | 16 | import bb.asyncrpc |
16 | 17 | ||
17 | logger = logging.getLogger("BitBake.PRserv") | 18 | logger = logging.getLogger("BitBake.PRserv") |
@@ -41,18 +42,16 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
41 | try: | 42 | try: |
42 | return await super().dispatch_message(msg) | 43 | return await super().dispatch_message(msg) |
43 | except: | 44 | except: |
44 | self.server.table.sync() | ||
45 | raise | 45 | raise |
46 | else: | ||
47 | self.server.table.sync_if_dirty() | ||
48 | 46 | ||
49 | async def handle_test_pr(self, request): | 47 | async def handle_test_pr(self, request): |
50 | '''Finds the PR value corresponding to the request. If not found, returns None and doesn't insert a new value''' | 48 | '''Finds the PR value corresponding to the request. If not found, returns None and doesn't insert a new value''' |
51 | version = request["version"] | 49 | version = request["version"] |
52 | pkgarch = request["pkgarch"] | 50 | pkgarch = request["pkgarch"] |
53 | checksum = request["checksum"] | 51 | checksum = request["checksum"] |
52 | history = request["history"] | ||
54 | 53 | ||
55 | value = self.server.table.find_value(version, pkgarch, checksum) | 54 | value = self.server.table.find_value(version, pkgarch, checksum, history) |
56 | return {"value": value} | 55 | return {"value": value} |
57 | 56 | ||
58 | async def handle_test_package(self, request): | 57 | async def handle_test_package(self, request): |
@@ -68,22 +67,110 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
68 | version = request["version"] | 67 | version = request["version"] |
69 | pkgarch = request["pkgarch"] | 68 | pkgarch = request["pkgarch"] |
70 | 69 | ||
71 | value = self.server.table.find_max_value(version, pkgarch) | 70 | value = self.server.table.find_package_max_value(version, pkgarch) |
72 | return {"value": value} | 71 | return {"value": value} |
73 | 72 | ||
74 | async def handle_get_pr(self, request): | 73 | async def handle_get_pr(self, request): |
75 | version = request["version"] | 74 | version = request["version"] |
76 | pkgarch = request["pkgarch"] | 75 | pkgarch = request["pkgarch"] |
77 | checksum = request["checksum"] | 76 | checksum = request["checksum"] |
77 | history = request["history"] | ||
78 | 78 | ||
79 | response = None | 79 | if self.upstream_client is None: |
80 | try: | 80 | value = self.server.table.get_value(version, pkgarch, checksum, history) |
81 | value = self.server.table.get_value(version, pkgarch, checksum) | 81 | return {"value": value} |
82 | response = {"value": value} | ||
83 | except prserv.NotFoundError: | ||
84 | self.logger.error("failure storing value in database for (%s, %s)",version, checksum) | ||
85 | 82 | ||
86 | return response | 83 | # We have an upstream server. |
84 | # Check whether the local server already knows the requested configuration. | ||
85 | # If the configuration is a new one, the generated value we will add will | ||
86 | # depend on what's on the upstream server. That's why we're calling find_value() | ||
87 | # instead of get_value() directly. | ||
88 | |||
89 | value = self.server.table.find_value(version, pkgarch, checksum, history) | ||
90 | upstream_max = await self.upstream_client.max_package_pr(version, pkgarch) | ||
91 | |||
92 | if value is not None: | ||
93 | |||
94 | # The configuration is already known locally. | ||
95 | |||
96 | if history: | ||
97 | value = self.server.table.get_value(version, pkgarch, checksum, history) | ||
98 | else: | ||
99 | existing_value = value | ||
100 | # In "no history", we need to make sure the value doesn't decrease | ||
101 | # and is at least greater than the maximum upstream value | ||
102 | # and the maximum local value | ||
103 | |||
104 | local_max = self.server.table.find_package_max_value(version, pkgarch) | ||
105 | if revision_smaller(value, local_max): | ||
106 | value = increase_revision(local_max) | ||
107 | |||
108 | if revision_smaller(value, upstream_max): | ||
109 | # Ask upstream whether it knows the checksum | ||
110 | upstream_value = await self.upstream_client.test_pr(version, pkgarch, checksum) | ||
111 | if upstream_value is None: | ||
112 | # Upstream doesn't have our checksum, let create a new one | ||
113 | value = upstream_max + ".0" | ||
114 | else: | ||
115 | # Fine to take the same value as upstream | ||
116 | value = upstream_max | ||
117 | |||
118 | if not value == existing_value and not self.server.read_only: | ||
119 | self.server.table.store_value(version, pkgarch, checksum, value) | ||
120 | |||
121 | return {"value": value} | ||
122 | |||
123 | # The configuration is a new one for the local server | ||
124 | # Let's ask the upstream server whether it knows it | ||
125 | |||
126 | known_upstream = await self.upstream_client.test_package(version, pkgarch) | ||
127 | |||
128 | if not known_upstream: | ||
129 | |||
130 | # The package is not known upstream, must be a local-only package | ||
131 | # Let's compute the PR number using the local-only method | ||
132 | |||
133 | value = self.server.table.get_value(version, pkgarch, checksum, history) | ||
134 | return {"value": value} | ||
135 | |||
136 | # The package is known upstream, let's ask the upstream server | ||
137 | # whether it knows our new output hash | ||
138 | |||
139 | value = await self.upstream_client.test_pr(version, pkgarch, checksum) | ||
140 | |||
141 | if value is not None: | ||
142 | |||
143 | # Upstream knows this output hash, let's store it and use it too. | ||
144 | |||
145 | if not self.server.read_only: | ||
146 | self.server.table.store_value(version, pkgarch, checksum, value) | ||
147 | # If the local server is read only, won't be able to store the new | ||
148 | # value in the database and will have to keep asking the upstream server | ||
149 | return {"value": value} | ||
150 | |||
151 | # The output hash doesn't exist upstream, get the most recent number from upstream (x) | ||
152 | # Then, we want to have a new PR value for the local server: x.y | ||
153 | |||
154 | upstream_max = await self.upstream_client.max_package_pr(version, pkgarch) | ||
155 | # Here we know that the package is known upstream, so upstream_max can't be None | ||
156 | subvalue = self.server.table.find_new_subvalue(version, pkgarch, upstream_max) | ||
157 | |||
158 | if not self.server.read_only: | ||
159 | self.server.table.store_value(version, pkgarch, checksum, subvalue) | ||
160 | |||
161 | return {"value": subvalue} | ||
162 | |||
163 | async def process_requests(self): | ||
164 | if self.server.upstream is not None: | ||
165 | self.upstream_client = await create_async_client(self.server.upstream) | ||
166 | else: | ||
167 | self.upstream_client = None | ||
168 | |||
169 | try: | ||
170 | await super().process_requests() | ||
171 | finally: | ||
172 | if self.upstream_client is not None: | ||
173 | await self.upstream_client.close() | ||
87 | 174 | ||
88 | async def handle_import_one(self, request): | 175 | async def handle_import_one(self, request): |
89 | response = None | 176 | response = None |
@@ -104,9 +191,10 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
104 | pkgarch = request["pkgarch"] | 191 | pkgarch = request["pkgarch"] |
105 | checksum = request["checksum"] | 192 | checksum = request["checksum"] |
106 | colinfo = request["colinfo"] | 193 | colinfo = request["colinfo"] |
194 | history = request["history"] | ||
107 | 195 | ||
108 | try: | 196 | try: |
109 | (metainfo, datainfo) = self.server.table.export(version, pkgarch, checksum, colinfo) | 197 | (metainfo, datainfo) = self.server.table.export(version, pkgarch, checksum, colinfo, history) |
110 | except sqlite3.Error as exc: | 198 | except sqlite3.Error as exc: |
111 | self.logger.error(str(exc)) | 199 | self.logger.error(str(exc)) |
112 | metainfo = datainfo = None | 200 | metainfo = datainfo = None |
@@ -117,11 +205,12 @@ class PRServerClient(bb.asyncrpc.AsyncServerConnection): | |||
117 | return {"readonly": self.server.read_only} | 205 | return {"readonly": self.server.read_only} |
118 | 206 | ||
119 | class PRServer(bb.asyncrpc.AsyncServer): | 207 | class PRServer(bb.asyncrpc.AsyncServer): |
120 | def __init__(self, dbfile, read_only=False): | 208 | def __init__(self, dbfile, read_only=False, upstream=None): |
121 | super().__init__(logger) | 209 | super().__init__(logger) |
122 | self.dbfile = dbfile | 210 | self.dbfile = dbfile |
123 | self.table = None | 211 | self.table = None |
124 | self.read_only = read_only | 212 | self.read_only = read_only |
213 | self.upstream = upstream | ||
125 | 214 | ||
126 | def accept_client(self, socket): | 215 | def accept_client(self, socket): |
127 | return PRServerClient(socket, self) | 216 | return PRServerClient(socket, self) |
@@ -134,27 +223,25 @@ class PRServer(bb.asyncrpc.AsyncServer): | |||
134 | self.logger.info("Started PRServer with DBfile: %s, Address: %s, PID: %s" % | 223 | self.logger.info("Started PRServer with DBfile: %s, Address: %s, PID: %s" % |
135 | (self.dbfile, self.address, str(os.getpid()))) | 224 | (self.dbfile, self.address, str(os.getpid()))) |
136 | 225 | ||
226 | if self.upstream is not None: | ||
227 | self.logger.info("And upstream PRServer: %s " % (self.upstream)) | ||
228 | |||
137 | return tasks | 229 | return tasks |
138 | 230 | ||
139 | async def stop(self): | 231 | async def stop(self): |
140 | self.table.sync_if_dirty() | ||
141 | self.db.disconnect() | 232 | self.db.disconnect() |
142 | await super().stop() | 233 | await super().stop() |
143 | 234 | ||
144 | def signal_handler(self): | ||
145 | super().signal_handler() | ||
146 | if self.table: | ||
147 | self.table.sync() | ||
148 | |||
149 | class PRServSingleton(object): | 235 | class PRServSingleton(object): |
150 | def __init__(self, dbfile, logfile, host, port): | 236 | def __init__(self, dbfile, logfile, host, port, upstream): |
151 | self.dbfile = dbfile | 237 | self.dbfile = dbfile |
152 | self.logfile = logfile | 238 | self.logfile = logfile |
153 | self.host = host | 239 | self.host = host |
154 | self.port = port | 240 | self.port = port |
241 | self.upstream = upstream | ||
155 | 242 | ||
156 | def start(self): | 243 | def start(self): |
157 | self.prserv = PRServer(self.dbfile) | 244 | self.prserv = PRServer(self.dbfile, upstream=self.upstream) |
158 | self.prserv.start_tcp_server(socket.gethostbyname(self.host), self.port) | 245 | self.prserv.start_tcp_server(socket.gethostbyname(self.host), self.port) |
159 | self.process = self.prserv.serve_as_process(log_level=logging.WARNING) | 246 | self.process = self.prserv.serve_as_process(log_level=logging.WARNING) |
160 | 247 | ||
@@ -233,7 +320,7 @@ def run_as_daemon(func, pidfile, logfile): | |||
233 | os.remove(pidfile) | 320 | os.remove(pidfile) |
234 | os._exit(0) | 321 | os._exit(0) |
235 | 322 | ||
236 | def start_daemon(dbfile, host, port, logfile, read_only=False): | 323 | def start_daemon(dbfile, host, port, logfile, read_only=False, upstream=None): |
237 | ip = socket.gethostbyname(host) | 324 | ip = socket.gethostbyname(host) |
238 | pidfile = PIDPREFIX % (ip, port) | 325 | pidfile = PIDPREFIX % (ip, port) |
239 | try: | 326 | try: |
@@ -249,7 +336,7 @@ def start_daemon(dbfile, host, port, logfile, read_only=False): | |||
249 | 336 | ||
250 | dbfile = os.path.abspath(dbfile) | 337 | dbfile = os.path.abspath(dbfile) |
251 | def daemon_main(): | 338 | def daemon_main(): |
252 | server = PRServer(dbfile, read_only=read_only) | 339 | server = PRServer(dbfile, read_only=read_only, upstream=upstream) |
253 | server.start_tcp_server(ip, port) | 340 | server.start_tcp_server(ip, port) |
254 | server.serve_forever() | 341 | server.serve_forever() |
255 | 342 | ||
@@ -336,6 +423,9 @@ def auto_start(d): | |||
336 | 423 | ||
337 | host = host_params[0].strip().lower() | 424 | host = host_params[0].strip().lower() |
338 | port = int(host_params[1]) | 425 | port = int(host_params[1]) |
426 | |||
427 | upstream = d.getVar("PRSERV_UPSTREAM") or None | ||
428 | |||
339 | if is_local_special(host, port): | 429 | if is_local_special(host, port): |
340 | import bb.utils | 430 | import bb.utils |
341 | cachedir = (d.getVar("PERSISTENT_DIR") or d.getVar("CACHE")) | 431 | cachedir = (d.getVar("PERSISTENT_DIR") or d.getVar("CACHE")) |
@@ -350,7 +440,7 @@ def auto_start(d): | |||
350 | auto_shutdown() | 440 | auto_shutdown() |
351 | if not singleton: | 441 | if not singleton: |
352 | bb.utils.mkdirhier(cachedir) | 442 | bb.utils.mkdirhier(cachedir) |
353 | singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), host, port) | 443 | singleton = PRServSingleton(os.path.abspath(dbfile), os.path.abspath(logfile), host, port, upstream) |
354 | singleton.start() | 444 | singleton.start() |
355 | if singleton: | 445 | if singleton: |
356 | host = singleton.host | 446 | host = singleton.host |
diff --git a/bitbake/lib/prserv/tests.py b/bitbake/lib/prserv/tests.py new file mode 100644 index 0000000000..8765b129f2 --- /dev/null +++ b/bitbake/lib/prserv/tests.py | |||
@@ -0,0 +1,386 @@ | |||
1 | #! /usr/bin/env python3 | ||
2 | # | ||
3 | # Copyright (C) 2024 BitBake Contributors | ||
4 | # | ||
5 | # SPDX-License-Identifier: GPL-2.0-only | ||
6 | # | ||
7 | |||
8 | from . import create_server, create_client, increase_revision, revision_greater, revision_smaller, _revision_greater_or_equal | ||
9 | import prserv.db as db | ||
10 | from bb.asyncrpc import InvokeError | ||
11 | import logging | ||
12 | import os | ||
13 | import sys | ||
14 | import tempfile | ||
15 | import unittest | ||
16 | import socket | ||
17 | import subprocess | ||
18 | from pathlib import Path | ||
19 | |||
20 | THIS_DIR = Path(__file__).parent | ||
21 | BIN_DIR = THIS_DIR.parent.parent / "bin" | ||
22 | |||
23 | version = "dummy-1.0-r0" | ||
24 | pkgarch = "core2-64" | ||
25 | other_arch = "aarch64" | ||
26 | |||
27 | checksumX = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4f0" | ||
28 | checksum0 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a0" | ||
29 | checksum1 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a1" | ||
30 | checksum2 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a2" | ||
31 | checksum3 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a3" | ||
32 | checksum4 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a4" | ||
33 | checksum5 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a5" | ||
34 | checksum6 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a6" | ||
35 | checksum7 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a7" | ||
36 | checksum8 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a8" | ||
37 | checksum9 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4a9" | ||
38 | checksum10 = "51bf8189dbe9ea81fa6dd89608bf19380c437a9cf12f6c6239887801ba4ab4aa" | ||
39 | |||
40 | def server_prefunc(server, name): | ||
41 | logging.basicConfig(level=logging.DEBUG, filename='prserv-%s.log' % name, filemode='w', | ||
42 | format='%(levelname)s %(filename)s:%(lineno)d %(message)s') | ||
43 | server.logger.debug("Running server %s" % name) | ||
44 | sys.stdout = open('prserv-stdout-%s.log' % name, 'w') | ||
45 | sys.stderr = sys.stdout | ||
46 | |||
47 | class PRTestSetup(object): | ||
48 | |||
49 | def start_server(self, name, dbfile, upstream=None, read_only=False, prefunc=server_prefunc): | ||
50 | |||
51 | def cleanup_server(server): | ||
52 | if server.process.exitcode is not None: | ||
53 | return | ||
54 | server.process.terminate() | ||
55 | server.process.join() | ||
56 | |||
57 | server = create_server(socket.gethostbyname("localhost") + ":0", | ||
58 | dbfile, | ||
59 | upstream=upstream, | ||
60 | read_only=read_only) | ||
61 | |||
62 | server.serve_as_process(prefunc=prefunc, args=(name,)) | ||
63 | self.addCleanup(cleanup_server, server) | ||
64 | |||
65 | return server | ||
66 | |||
67 | def start_client(self, server_address): | ||
68 | def cleanup_client(client): | ||
69 | client.close() | ||
70 | |||
71 | client = create_client(server_address) | ||
72 | self.addCleanup(cleanup_client, client) | ||
73 | |||
74 | return client | ||
75 | |||
76 | class FunctionTests(unittest.TestCase): | ||
77 | |||
78 | def setUp(self): | ||
79 | self.temp_dir = tempfile.TemporaryDirectory(prefix='bb-prserv') | ||
80 | self.addCleanup(self.temp_dir.cleanup) | ||
81 | |||
82 | def test_increase_revision(self): | ||
83 | self.assertEqual(increase_revision("1"), "2") | ||
84 | self.assertEqual(increase_revision("1.0"), "1.1") | ||
85 | self.assertEqual(increase_revision("1.1.1"), "1.1.2") | ||
86 | self.assertEqual(increase_revision("1.1.1.3"), "1.1.1.4") | ||
87 | self.assertRaises(ValueError, increase_revision, "1.a") | ||
88 | self.assertRaises(ValueError, increase_revision, "1.") | ||
89 | self.assertRaises(ValueError, increase_revision, "") | ||
90 | |||
91 | def test_revision_greater_or_equal(self): | ||
92 | self.assertTrue(_revision_greater_or_equal("2", "2")) | ||
93 | self.assertTrue(_revision_greater_or_equal("2", "1")) | ||
94 | self.assertTrue(_revision_greater_or_equal("10", "2")) | ||
95 | self.assertTrue(_revision_greater_or_equal("1.10", "1.2")) | ||
96 | self.assertFalse(_revision_greater_or_equal("1.2", "1.10")) | ||
97 | self.assertTrue(_revision_greater_or_equal("1.10", "1")) | ||
98 | self.assertTrue(_revision_greater_or_equal("1.10.1", "1.10")) | ||
99 | self.assertFalse(_revision_greater_or_equal("1.10.1", "1.10.2")) | ||
100 | self.assertTrue(_revision_greater_or_equal("1.10.1", "1.10.1")) | ||
101 | self.assertTrue(_revision_greater_or_equal("1.10.1", "1")) | ||
102 | self.assertTrue(revision_greater("1.20", "1.3")) | ||
103 | self.assertTrue(revision_smaller("1.3", "1.20")) | ||
104 | |||
105 | # DB tests | ||
106 | |||
107 | def test_db(self): | ||
108 | dbfile = os.path.join(self.temp_dir.name, "testtable.sqlite3") | ||
109 | |||
110 | self.db = db.PRData(dbfile) | ||
111 | self.table = self.db["PRMAIN"] | ||
112 | |||
113 | self.table.store_value(version, pkgarch, checksum0, "0") | ||
114 | self.table.store_value(version, pkgarch, checksum1, "1") | ||
115 | # "No history" mode supports multiple PRs for the same checksum | ||
116 | self.table.store_value(version, pkgarch, checksum0, "2") | ||
117 | self.table.store_value(version, pkgarch, checksum2, "1.0") | ||
118 | |||
119 | self.assertTrue(self.table.test_package(version, pkgarch)) | ||
120 | self.assertFalse(self.table.test_package(version, other_arch)) | ||
121 | |||
122 | self.assertTrue(self.table.test_value(version, pkgarch, "0")) | ||
123 | self.assertTrue(self.table.test_value(version, pkgarch, "1")) | ||
124 | self.assertTrue(self.table.test_value(version, pkgarch, "2")) | ||
125 | |||
126 | self.assertEqual(self.table.find_package_max_value(version, pkgarch), "2") | ||
127 | |||
128 | self.assertEqual(self.table.find_min_value(version, pkgarch, checksum0), "0") | ||
129 | self.assertEqual(self.table.find_max_value(version, pkgarch, checksum0), "2") | ||
130 | |||
131 | # Test history modes | ||
132 | self.assertEqual(self.table.find_value(version, pkgarch, checksum0, True), "0") | ||
133 | self.assertEqual(self.table.find_value(version, pkgarch, checksum0, False), "2") | ||
134 | |||
135 | self.assertEqual(self.table.find_new_subvalue(version, pkgarch, "3"), "3.0") | ||
136 | self.assertEqual(self.table.find_new_subvalue(version, pkgarch, "1"), "1.1") | ||
137 | |||
138 | # Revision comparison tests | ||
139 | self.table.store_value(version, pkgarch, checksum1, "1.3") | ||
140 | self.table.store_value(version, pkgarch, checksum1, "1.20") | ||
141 | self.assertEqual(self.table.find_min_value(version, pkgarch, checksum1), "1") | ||
142 | self.assertEqual(self.table.find_max_value(version, pkgarch, checksum1), "1.20") | ||
143 | |||
144 | class PRBasicTests(PRTestSetup, unittest.TestCase): | ||
145 | |||
146 | def setUp(self): | ||
147 | self.temp_dir = tempfile.TemporaryDirectory(prefix='bb-prserv') | ||
148 | self.addCleanup(self.temp_dir.cleanup) | ||
149 | |||
150 | dbfile = os.path.join(self.temp_dir.name, "prtest-basic.sqlite3") | ||
151 | |||
152 | self.server1 = self.start_server("basic", dbfile) | ||
153 | self.client1 = self.start_client(self.server1.address) | ||
154 | |||
155 | def test_basic(self): | ||
156 | |||
157 | # Checks on non existing configuration | ||
158 | |||
159 | result = self.client1.test_pr(version, pkgarch, checksum0) | ||
160 | self.assertIsNone(result, "test_pr should return 'None' for a non existing PR") | ||
161 | |||
162 | result = self.client1.test_package(version, pkgarch) | ||
163 | self.assertFalse(result, "test_package should return 'False' for a non existing PR") | ||
164 | |||
165 | result = self.client1.max_package_pr(version, pkgarch) | ||
166 | self.assertIsNone(result, "max_package_pr should return 'None' for a non existing PR") | ||
167 | |||
168 | # Add a first configuration | ||
169 | |||
170 | result = self.client1.getPR(version, pkgarch, checksum0) | ||
171 | self.assertEqual(result, "0", "getPR: initial PR of a package should be '0'") | ||
172 | |||
173 | result = self.client1.test_pr(version, pkgarch, checksum0) | ||
174 | self.assertEqual(result, "0", "test_pr should return '0' here, matching the result of getPR") | ||
175 | |||
176 | result = self.client1.test_package(version, pkgarch) | ||
177 | self.assertTrue(result, "test_package should return 'True' for an existing PR") | ||
178 | |||
179 | result = self.client1.max_package_pr(version, pkgarch) | ||
180 | self.assertEqual(result, "0", "max_package_pr should return '0' in the current test series") | ||
181 | |||
182 | # Check that the same request gets the same value | ||
183 | |||
184 | result = self.client1.getPR(version, pkgarch, checksum0) | ||
185 | self.assertEqual(result, "0", "getPR: asking for the same PR a second time in a row should return the same value.") | ||
186 | |||
187 | # Add new configurations | ||
188 | |||
189 | result = self.client1.getPR(version, pkgarch, checksum1) | ||
190 | self.assertEqual(result, "1", "getPR: second PR of a package should be '1'") | ||
191 | |||
192 | result = self.client1.test_pr(version, pkgarch, checksum1) | ||
193 | self.assertEqual(result, "1", "test_pr should return '1' here, matching the result of getPR") | ||
194 | |||
195 | result = self.client1.max_package_pr(version, pkgarch) | ||
196 | self.assertEqual(result, "1", "max_package_pr should return '1' in the current test series") | ||
197 | |||
198 | result = self.client1.getPR(version, pkgarch, checksum2) | ||
199 | self.assertEqual(result, "2", "getPR: second PR of a package should be '2'") | ||
200 | |||
201 | result = self.client1.test_pr(version, pkgarch, checksum2) | ||
202 | self.assertEqual(result, "2", "test_pr should return '2' here, matching the result of getPR") | ||
203 | |||
204 | result = self.client1.max_package_pr(version, pkgarch) | ||
205 | self.assertEqual(result, "2", "max_package_pr should return '2' in the current test series") | ||
206 | |||
207 | result = self.client1.getPR(version, pkgarch, checksum3) | ||
208 | self.assertEqual(result, "3", "getPR: second PR of a package should be '3'") | ||
209 | |||
210 | result = self.client1.test_pr(version, pkgarch, checksum3) | ||
211 | self.assertEqual(result, "3", "test_pr should return '3' here, matching the result of getPR") | ||
212 | |||
213 | result = self.client1.max_package_pr(version, pkgarch) | ||
214 | self.assertEqual(result, "3", "max_package_pr should return '3' in the current test series") | ||
215 | |||
216 | # Ask again for the first configuration | ||
217 | |||
218 | result = self.client1.getPR(version, pkgarch, checksum0) | ||
219 | self.assertEqual(result, "4", "getPR: should return '4' in this configuration") | ||
220 | |||
221 | # Ask again with explicit "no history" mode | ||
222 | |||
223 | result = self.client1.getPR(version, pkgarch, checksum0, False) | ||
224 | self.assertEqual(result, "4", "getPR: should return '4' in this configuration") | ||
225 | |||
226 | # Ask again with explicit "history" mode. This should return the first recorded PR for checksum0 | ||
227 | |||
228 | result = self.client1.getPR(version, pkgarch, checksum0, True) | ||
229 | self.assertEqual(result, "0", "getPR: should return '0' in this configuration") | ||
230 | |||
231 | # Check again that another pkgarg resets the counters | ||
232 | |||
233 | result = self.client1.test_pr(version, other_arch, checksum0) | ||
234 | self.assertIsNone(result, "test_pr should return 'None' for a non existing PR") | ||
235 | |||
236 | result = self.client1.test_package(version, other_arch) | ||
237 | self.assertFalse(result, "test_package should return 'False' for a non existing PR") | ||
238 | |||
239 | result = self.client1.max_package_pr(version, other_arch) | ||
240 | self.assertIsNone(result, "max_package_pr should return 'None' for a non existing PR") | ||
241 | |||
242 | # Now add the configuration | ||
243 | |||
244 | result = self.client1.getPR(version, other_arch, checksum0) | ||
245 | self.assertEqual(result, "0", "getPR: initial PR of a package should be '0'") | ||
246 | |||
247 | result = self.client1.test_pr(version, other_arch, checksum0) | ||
248 | self.assertEqual(result, "0", "test_pr should return '0' here, matching the result of getPR") | ||
249 | |||
250 | result = self.client1.test_package(version, other_arch) | ||
251 | self.assertTrue(result, "test_package should return 'True' for an existing PR") | ||
252 | |||
253 | result = self.client1.max_package_pr(version, other_arch) | ||
254 | self.assertEqual(result, "0", "max_package_pr should return '0' in the current test series") | ||
255 | |||
256 | result = self.client1.is_readonly() | ||
257 | self.assertFalse(result, "Server should not be described as 'read-only'") | ||
258 | |||
259 | class PRUpstreamTests(PRTestSetup, unittest.TestCase): | ||
260 | |||
261 | def setUp(self): | ||
262 | |||
263 | self.temp_dir = tempfile.TemporaryDirectory(prefix='bb-prserv') | ||
264 | self.addCleanup(self.temp_dir.cleanup) | ||
265 | |||
266 | dbfile2 = os.path.join(self.temp_dir.name, "prtest-upstream2.sqlite3") | ||
267 | self.server2 = self.start_server("upstream2", dbfile2) | ||
268 | self.client2 = self.start_client(self.server2.address) | ||
269 | |||
270 | dbfile1 = os.path.join(self.temp_dir.name, "prtest-upstream1.sqlite3") | ||
271 | self.server1 = self.start_server("upstream1", dbfile1, upstream=self.server2.address) | ||
272 | self.client1 = self.start_client(self.server1.address) | ||
273 | |||
274 | dbfile0 = os.path.join(self.temp_dir.name, "prtest-local.sqlite3") | ||
275 | self.server0 = self.start_server("local", dbfile0, upstream=self.server1.address) | ||
276 | self.client0 = self.start_client(self.server0.address) | ||
277 | self.shared_db = dbfile0 | ||
278 | |||
279 | def test_upstream_and_readonly(self): | ||
280 | |||
281 | # For identical checksums, all servers should return the same PR | ||
282 | |||
283 | result = self.client2.getPR(version, pkgarch, checksum0) | ||
284 | self.assertEqual(result, "0", "getPR: initial PR of a package should be '0'") | ||
285 | |||
286 | result = self.client1.getPR(version, pkgarch, checksum0) | ||
287 | self.assertEqual(result, "0", "getPR: initial PR of a package should be '0' (same as upstream)") | ||
288 | |||
289 | result = self.client0.getPR(version, pkgarch, checksum0) | ||
290 | self.assertEqual(result, "0", "getPR: initial PR of a package should be '0' (same as upstream)") | ||
291 | |||
292 | # Now introduce new checksums on server1 for, same version | ||
293 | |||
294 | result = self.client1.getPR(version, pkgarch, checksum1) | ||
295 | self.assertEqual(result, "0.0", "getPR: first PR of a package which has a different checksum upstream should be '0.0'") | ||
296 | |||
297 | result = self.client1.getPR(version, pkgarch, checksum2) | ||
298 | self.assertEqual(result, "0.1", "getPR: second PR of a package that has a different checksum upstream should be '0.1'") | ||
299 | |||
300 | # Now introduce checksums on server0 for, same version | ||
301 | |||
302 | result = self.client1.getPR(version, pkgarch, checksum1) | ||
303 | self.assertEqual(result, "0.2", "getPR: can't decrease for known PR") | ||
304 | |||
305 | result = self.client1.getPR(version, pkgarch, checksum2) | ||
306 | self.assertEqual(result, "0.3") | ||
307 | |||
308 | result = self.client1.max_package_pr(version, pkgarch) | ||
309 | self.assertEqual(result, "0.3") | ||
310 | |||
311 | result = self.client0.getPR(version, pkgarch, checksum3) | ||
312 | self.assertEqual(result, "0.3.0", "getPR: first PR of a package that doesn't exist upstream should be '0.3.0'") | ||
313 | |||
314 | result = self.client0.getPR(version, pkgarch, checksum4) | ||
315 | self.assertEqual(result, "0.3.1", "getPR: second PR of a package that doesn't exist upstream should be '0.3.1'") | ||
316 | |||
317 | result = self.client0.getPR(version, pkgarch, checksum3) | ||
318 | self.assertEqual(result, "0.3.2") | ||
319 | |||
320 | # More upstream updates | ||
321 | # Here, we assume no communication between server2 and server0. server2 only impacts server0 | ||
322 | # after impacting server1 | ||
323 | |||
324 | self.assertEqual(self.client2.getPR(version, pkgarch, checksum5), "1") | ||
325 | self.assertEqual(self.client1.getPR(version, pkgarch, checksum6), "1.0") | ||
326 | self.assertEqual(self.client1.getPR(version, pkgarch, checksum7), "1.1") | ||
327 | self.assertEqual(self.client0.getPR(version, pkgarch, checksum8), "1.1.0") | ||
328 | self.assertEqual(self.client0.getPR(version, pkgarch, checksum9), "1.1.1") | ||
329 | |||
330 | # "history" mode tests | ||
331 | |||
332 | self.assertEqual(self.client2.getPR(version, pkgarch, checksum0, True), "0") | ||
333 | self.assertEqual(self.client1.getPR(version, pkgarch, checksum2, True), "0.1") | ||
334 | self.assertEqual(self.client0.getPR(version, pkgarch, checksum3, True), "0.3.0") | ||
335 | |||
336 | # More "no history" mode tests | ||
337 | |||
338 | self.assertEqual(self.client2.getPR(version, pkgarch, checksum0), "2") | ||
339 | self.assertEqual(self.client1.getPR(version, pkgarch, checksum0), "2") # Same as upstream | ||
340 | self.assertEqual(self.client0.getPR(version, pkgarch, checksum0), "2") # Same as upstream | ||
341 | self.assertEqual(self.client1.getPR(version, pkgarch, checksum7), "3") # This could be surprising, but since the previous revision was "2", increasing it yields "3". | ||
342 | # We don't know how many upstream servers we have | ||
343 | # Start read-only server with server1 as upstream | ||
344 | self.server_ro = self.start_server("local-ro", self.shared_db, upstream=self.server1.address, read_only=True) | ||
345 | self.client_ro = self.start_client(self.server_ro.address) | ||
346 | |||
347 | self.assertTrue(self.client_ro.is_readonly(), "Database should be described as 'read-only'") | ||
348 | |||
349 | # Checks on non existing configurations | ||
350 | self.assertIsNone(self.client_ro.test_pr(version, pkgarch, checksumX)) | ||
351 | self.assertFalse(self.client_ro.test_package("unknown", pkgarch)) | ||
352 | |||
353 | # Look up existing configurations | ||
354 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum0), "3") # "no history" mode | ||
355 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum0, True), "0") # "history" mode | ||
356 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum3), "3") | ||
357 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum3, True), "0.3.0") | ||
358 | self.assertEqual(self.client_ro.max_package_pr(version, pkgarch), "2") # normal as "3" was never saved | ||
359 | |||
360 | # Try to insert a new value. Here this one is know upstream. | ||
361 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum7), "3") | ||
362 | # Try to insert a completely new value. As the max upstream value is already "3", it should be "3.0" | ||
363 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum10), "3.0") | ||
364 | # Same with another value which only exists in the upstream upstream server | ||
365 | # This time, as the upstream server doesn't know it, it will ask its upstream server. So that's a known one. | ||
366 | self.assertEqual(self.client_ro.getPR(version, pkgarch, checksum9), "3") | ||
367 | |||
368 | class ScriptTests(unittest.TestCase): | ||
369 | |||
370 | def setUp(self): | ||
371 | |||
372 | self.temp_dir = tempfile.TemporaryDirectory(prefix='bb-prserv') | ||
373 | self.addCleanup(self.temp_dir.cleanup) | ||
374 | self.dbfile = os.path.join(self.temp_dir.name, "prtest.sqlite3") | ||
375 | |||
376 | def test_1_start_bitbake_prserv(self): | ||
377 | try: | ||
378 | subprocess.check_call([BIN_DIR / "bitbake-prserv", "--start", "-f", self.dbfile]) | ||
379 | except subprocess.CalledProcessError as e: | ||
380 | self.fail("Failed to start bitbake-prserv: %s" % e.returncode) | ||
381 | |||
382 | def test_2_stop_bitbake_prserv(self): | ||
383 | try: | ||
384 | subprocess.check_call([BIN_DIR / "bitbake-prserv", "--stop"]) | ||
385 | except subprocess.CalledProcessError as e: | ||
386 | self.fail("Failed to stop bitbake-prserv: %s" % e.returncode) | ||
diff --git a/documentation/brief-yoctoprojectqs/index.rst b/documentation/brief-yoctoprojectqs/index.rst index 61c5cbec36..c5400e4ac8 100644 --- a/documentation/brief-yoctoprojectqs/index.rst +++ b/documentation/brief-yoctoprojectqs/index.rst | |||
@@ -251,11 +251,17 @@ an entire Linux distribution, including the toolchain, from source. | |||
251 | To use such mirrors, uncomment the below lines in your ``conf/local.conf`` | 251 | To use such mirrors, uncomment the below lines in your ``conf/local.conf`` |
252 | file in the :term:`Build Directory`:: | 252 | file in the :term:`Build Directory`:: |
253 | 253 | ||
254 | BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687" | 254 | BB_HASHSERVE_UPSTREAM = "wss://hashserv.yoctoproject.org/ws" |
255 | SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH" | 255 | SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH" |
256 | BB_HASHSERVE = "auto" | 256 | BB_HASHSERVE = "auto" |
257 | BB_SIGNATURE_HANDLER = "OEEquivHash" | 257 | BB_SIGNATURE_HANDLER = "OEEquivHash" |
258 | 258 | ||
259 | The hash equivalence server needs the websockets python module version 9.1 | ||
260 | or later. Debian GNU/Linux 12 (Bookworm) and later, Fedora, CentOS Stream | ||
261 | 9 and later, and Ubuntu 22.04 (LTS) and later, all have a recent enough | ||
262 | package. Other supported distributions need to get the module some other | ||
263 | place than their package feed, e.g. via ``pip``. | ||
264 | |||
259 | #. **Start the Build:** Continue with the following command to build an OS | 265 | #. **Start the Build:** Continue with the following command to build an OS |
260 | image for the target, which is ``core-image-sato`` in this example: | 266 | image for the target, which is ``core-image-sato`` in this example: |
261 | 267 | ||
diff --git a/documentation/migration-guides/release-4.0.rst b/documentation/migration-guides/release-4.0.rst index 685799e268..d848b3ef64 100644 --- a/documentation/migration-guides/release-4.0.rst +++ b/documentation/migration-guides/release-4.0.rst | |||
@@ -24,3 +24,4 @@ Release 4.0 (kirkstone) | |||
24 | release-notes-4.0.15 | 24 | release-notes-4.0.15 |
25 | release-notes-4.0.16 | 25 | release-notes-4.0.16 |
26 | release-notes-4.0.17 | 26 | release-notes-4.0.17 |
27 | release-notes-4.0.18 | ||
diff --git a/documentation/migration-guides/release-notes-4.0.18.rst b/documentation/migration-guides/release-notes-4.0.18.rst new file mode 100644 index 0000000000..fc8cd83c02 --- /dev/null +++ b/documentation/migration-guides/release-notes-4.0.18.rst | |||
@@ -0,0 +1,191 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-SA-2.0-UK | ||
2 | |||
3 | Release notes for Yocto-4.0.18 (Kirkstone) | ||
4 | ------------------------------------------ | ||
5 | |||
6 | Security Fixes in Yocto-4.0.18 | ||
7 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
8 | |||
9 | - curl: Fix :cve:`2024-2398` | ||
10 | - expat: fix :cve:`2023-52426` and :cve:`2024-28757` | ||
11 | - libssh2: fix :cve:`2023-48795` | ||
12 | - ncurses: Fix :cve:`2023-50495` | ||
13 | - nghttp2: Fix :cve:`2024-28182` and :cve:`2023-44487` | ||
14 | - openssh: Ignore :cve:`2023-51767` | ||
15 | - openssl: Fix :cve:`2024-2511` | ||
16 | - perl: Ignore :cve:`2023-47100` | ||
17 | - python3-cryptography: Fix :cve:`2024-26130` | ||
18 | - python3-urllib3: Fix :cve:`2023-45803` | ||
19 | - qemu: Fix :cve:`2023-6683` | ||
20 | - ruby: fix :cve_mitre:`2024-27281` | ||
21 | - rust: Ignore :cve:`2024-24576` | ||
22 | - tiff: Fix :cve:`2023-52356` and :cve:`2023-6277` | ||
23 | - xserver-xorg: Fix :cve:`2024-31080` and :cve:`2024-31081` | ||
24 | - xwayland: Fix :cve:`2023-6816`, :cve:`2024-0408` and :cve:`2024-0409` | ||
25 | |||
26 | |||
27 | Fixes in Yocto-4.0.18 | ||
28 | ~~~~~~~~~~~~~~~~~~~~~ | ||
29 | |||
30 | - build-appliance-image: Update to kirkstone head revision | ||
31 | - common-licenses: Backport missing license | ||
32 | - contributor-guide: add notes for tests | ||
33 | - contributor-guide: be more specific about meta-* trees | ||
34 | - cups: fix typo in :cve:`2023-32360` backport patch | ||
35 | - cve-update-nvd2-native: Add an age threshold for incremental update | ||
36 | - cve-update-nvd2-native: Fix CVE configuration update | ||
37 | - cve-update-nvd2-native: Fix typo in comment | ||
38 | - cve-update-nvd2-native: Remove duplicated CVE_CHECK_DB_FILE definition | ||
39 | - cve-update-nvd2-native: Remove rejected CVE from database | ||
40 | - cve-update-nvd2-native: nvd_request_next: Improve comment | ||
41 | - dev-manual: improve descriptions of 'bitbake -S printdiff' | ||
42 | - dev-manual: packages: fix capitalization | ||
43 | - docs: conf.py: properly escape backslashes for latex_elements | ||
44 | - gcc: Backport sanitizer fix for 32-bit ALSR | ||
45 | - glibc: Fix subscript typos for get_nscd_addresses | ||
46 | - kernel-dev: join mkdir commands with -p | ||
47 | - linux-firmware: Upgrade to 20240220 | ||
48 | - manuals: add initial sphinx-lint support | ||
49 | - manuals: add initial stylechecks with Vale | ||
50 | - manuals: document VIRTUAL-RUNTIME variables | ||
51 | - manuals: fix duplicate "stylecheck" target | ||
52 | - manuals: fix incorrect double backticks | ||
53 | - manuals: fix trailing spaces | ||
54 | - manuals: refer to new yocto-patches mailing list wherever appropriate | ||
55 | - manuals: remove tab characters | ||
56 | - manuals: replace hyphens with em dashes | ||
57 | - manuals: use "manual page(s)" | ||
58 | - migration-guides: add release notes for 4.0.17 | ||
59 | - poky.conf: bump version for 4.0.18 | ||
60 | - profile-manual: usage.rst: fix reference to bug report | ||
61 | - profile-manual: usage.rst: formatting fixes | ||
62 | - profile-manual: usage.rst: further style improvements | ||
63 | - python3-urllib3: Upgrade to v1.26.18 | ||
64 | - ref-manual: add documentation of the variable :term:`SPDX_NAMESPACE_PREFIX` | ||
65 | - ref-manual: tasks: do_cleanall: recommend using '-f' instead | ||
66 | - ref-manual: tasks: do_cleansstate: recommend using '-f' instead for a shared sstate | ||
67 | - ref-manual: variables: adding multiple groups in :term:`GROUPADD_PARAM` | ||
68 | - ref-manual: variables: correct sdk installation default path | ||
69 | - stress-ng: avoid calling sync during do_compile | ||
70 | - systemd: Fix vlan qos mapping | ||
71 | - tcl: Add a way to skip ptests | ||
72 | - tcl: skip async and event tests in run-ptest | ||
73 | - tcl: skip timing-dependent tests in run-ptest | ||
74 | - valgrind: skip intermittently failing ptest | ||
75 | - wireless-regdb: Upgrade to 2024.01.23 | ||
76 | - yocto-uninative: Update to 4.4 for glibc 2.39 | ||
77 | |||
78 | |||
79 | Known Issues in Yocto-4.0.18 | ||
80 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
81 | |||
82 | - N/A | ||
83 | |||
84 | |||
85 | Contributors to Yocto-4.0.18 | ||
86 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
87 | |||
88 | - Alex Kiernan | ||
89 | - Alex Stewart | ||
90 | - Alexander Kanavin | ||
91 | - BELOUARGA Mohamed | ||
92 | - Claus Stovgaard | ||
93 | - Colin McAllister | ||
94 | - Geoff Parker | ||
95 | - Haitao Liu | ||
96 | - Harish Sadineni | ||
97 | - Johan Bezem | ||
98 | - Jonathan GUILLOT | ||
99 | - Jörg Sommer | ||
100 | - Khem Raj | ||
101 | - Lee Chee Yang | ||
102 | - Luca Ceresoli | ||
103 | - Martin Jansa | ||
104 | - Meenali Gupta | ||
105 | - Michael Halstead | ||
106 | - Michael Opdenacker | ||
107 | - Peter Marko | ||
108 | - Quentin Schulz | ||
109 | - Ross Burton | ||
110 | - Sana Kazi | ||
111 | - Simone Weiß | ||
112 | - Soumya Sambu | ||
113 | - Steve Sakoman | ||
114 | - Tan Wen Yan | ||
115 | - Vijay Anusuri | ||
116 | - Wang Mingyu | ||
117 | - Yoann Congal | ||
118 | - Yogita Urade | ||
119 | - Zahir Hussain | ||
120 | |||
121 | |||
122 | Repositories / Downloads for Yocto-4.0.18 | ||
123 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
124 | |||
125 | poky | ||
126 | |||
127 | - Repository Location: :yocto_git:`/poky` | ||
128 | - Branch: :yocto_git:`kirkstone </poky/log/?h=kirkstone>` | ||
129 | - Tag: :yocto_git:`yocto-4.0.18 </poky/log/?h=yocto-4.0.18>` | ||
130 | - Git Revision: :yocto_git:`31751bba1c789f15f574773a659b8017d7bcf440 </poky/commit/?id=31751bba1c789f15f574773a659b8017d7bcf440>` | ||
131 | - Release Artefact: poky-31751bba1c789f15f574773a659b8017d7bcf440 | ||
132 | - sha: 72d5aa65c3c37766ebc24b212740272c1d52342468548f9c070241d3522ad2ca | ||
133 | - Download Locations: | ||
134 | http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.18/poky-31751bba1c789f15f574773a659b8017d7bcf440.tar.bz2 | ||
135 | http://mirrors.kernel.org/yocto/yocto/yocto-4.0.18/poky-31751bba1c789f15f574773a659b8017d7bcf440.tar.bz2 | ||
136 | |||
137 | openembedded-core | ||
138 | |||
139 | - Repository Location: :oe_git:`/openembedded-core` | ||
140 | - Branch: :oe_git:`kirkstone </openembedded-core/log/?h=kirkstone>` | ||
141 | - Tag: :oe_git:`yocto-4.0.18 </openembedded-core/log/?h=yocto-4.0.18>` | ||
142 | - Git Revision: :oe_git:`b7182571242dc4e23e5250a449d90348e62a6abc </openembedded-core/commit/?id=b7182571242dc4e23e5250a449d90348e62a6abc>` | ||
143 | - Release Artefact: oecore-b7182571242dc4e23e5250a449d90348e62a6abc | ||
144 | - sha: 6f257e50c10ebae673dcf61a833b3270db6d22781f02f6794a370aac839f1020 | ||
145 | - Download Locations: | ||
146 | http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.18/oecore-b7182571242dc4e23e5250a449d90348e62a6abc.tar.bz2 | ||
147 | http://mirrors.kernel.org/yocto/yocto/yocto-4.0.18/oecore-b7182571242dc4e23e5250a449d90348e62a6abc.tar.bz2 | ||
148 | |||
149 | meta-mingw | ||
150 | |||
151 | - Repository Location: :yocto_git:`/meta-mingw` | ||
152 | - Branch: :yocto_git:`kirkstone </meta-mingw/log/?h=kirkstone>` | ||
153 | - Tag: :yocto_git:`yocto-4.0.18 </meta-mingw/log/?h=yocto-4.0.18>` | ||
154 | - Git Revision: :yocto_git:`f6b38ce3c90e1600d41c2ebb41e152936a0357d7 </meta-mingw/commit/?id=f6b38ce3c90e1600d41c2ebb41e152936a0357d7>` | ||
155 | - Release Artefact: meta-mingw-f6b38ce3c90e1600d41c2ebb41e152936a0357d7 | ||
156 | - sha: 7d57167c19077f4ab95623d55a24c2267a3a3fb5ed83688659b4c03586373b25 | ||
157 | - Download Locations: | ||
158 | http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.18/meta-mingw-f6b38ce3c90e1600d41c2ebb41e152936a0357d7.tar.bz2 | ||
159 | http://mirrors.kernel.org/yocto/yocto/yocto-4.0.18/meta-mingw-f6b38ce3c90e1600d41c2ebb41e152936a0357d7.tar.bz2 | ||
160 | |||
161 | meta-gplv2 | ||
162 | |||
163 | - Repository Location: :yocto_git:`/meta-gplv2` | ||
164 | - Branch: :yocto_git:`kirkstone </meta-gplv2/log/?h=kirkstone>` | ||
165 | - Tag: :yocto_git:`yocto-4.0.18 </meta-gplv2/log/?h=yocto-4.0.18>` | ||
166 | - Git Revision: :yocto_git:`d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a </meta-gplv2/commit/?id=d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a>` | ||
167 | - Release Artefact: meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a | ||
168 | - sha: c386f59f8a672747dc3d0be1d4234b6039273d0e57933eb87caa20f56b9cca6d | ||
169 | - Download Locations: | ||
170 | http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.18/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2 | ||
171 | http://mirrors.kernel.org/yocto/yocto/yocto-4.0.18/meta-gplv2-d2f8b5cdb285b72a4ed93450f6703ca27aa42e8a.tar.bz2 | ||
172 | |||
173 | bitbake | ||
174 | |||
175 | - Repository Location: :oe_git:`/bitbake` | ||
176 | - Branch: :oe_git:`2.0 </bitbake/log/?h=2.0>` | ||
177 | - Tag: :oe_git:`yocto-4.0.18 </bitbake/log/?h=yocto-4.0.18>` | ||
178 | - Git Revision: :oe_git:`40fd5f4eef7460ca67f32cfce8e229e67e1ff607 </bitbake/commit/?id=40fd5f4eef7460ca67f32cfce8e229e67e1ff607>` | ||
179 | - Release Artefact: bitbake-40fd5f4eef7460ca67f32cfce8e229e67e1ff607 | ||
180 | - sha: 5d20a0e4c5d0fce44bd84778168714a261a30a4b83f67c88df3b8a7e7115e444 | ||
181 | - Download Locations: | ||
182 | http://downloads.yoctoproject.org/releases/yocto/yocto-4.0.18/bitbake-40fd5f4eef7460ca67f32cfce8e229e67e1ff607.tar.bz2 | ||
183 | http://mirrors.kernel.org/yocto/yocto/yocto-4.0.18/bitbake-40fd5f4eef7460ca67f32cfce8e229e67e1ff607.tar.bz2 | ||
184 | |||
185 | yocto-docs | ||
186 | |||
187 | - Repository Location: :yocto_git:`/yocto-docs` | ||
188 | - Branch: :yocto_git:`kirkstone </yocto-docs/log/?h=kirkstone>` | ||
189 | - Tag: :yocto_git:`yocto-4.0.18 </yocto-docs/log/?h=yocto-4.0.18>` | ||
190 | - Git Revision: :yocto_git:`fd1423141e7458ba557db465c171b0b4e9063987 </yocto-docs/commit/?id=fd1423141e7458ba557db465c171b0b4e9063987>` | ||
191 | |||
diff --git a/documentation/migration-guides/release-notes-5.0.rst b/documentation/migration-guides/release-notes-5.0.rst index 4bd9125d17..800ba20a27 100644 --- a/documentation/migration-guides/release-notes-5.0.rst +++ b/documentation/migration-guides/release-notes-5.0.rst | |||
@@ -25,6 +25,10 @@ New Features / Enhancements in 5.0 | |||
25 | 25 | ||
26 | - :term:`TARGET_DBGSRC_DIR`: specifies the target path to debug source files | 26 | - :term:`TARGET_DBGSRC_DIR`: specifies the target path to debug source files |
27 | 27 | ||
28 | - :term:`USERADD_DEPENDS`: provides a way to declare dependencies on the users | ||
29 | and/or groups created by other recipes, resolving a long-standing build | ||
30 | ordering issue | ||
31 | |||
28 | - Architecture-specific enhancements: | 32 | - Architecture-specific enhancements: |
29 | 33 | ||
30 | - ``genericarm64``: a new :term:`MACHINE` to represent a 64-bit General Arm | 34 | - ``genericarm64``: a new :term:`MACHINE` to represent a 64-bit General Arm |
@@ -84,6 +88,9 @@ New Features / Enhancements in 5.0 | |||
84 | a Sphinx extension to include jQuery on newer Sphinx releases. Recent | 88 | a Sphinx extension to include jQuery on newer Sphinx releases. Recent |
85 | versions of ``python3-sphinx-rtd-theme`` depend on it. | 89 | versions of ``python3-sphinx-rtd-theme`` depend on it. |
86 | 90 | ||
91 | - `python3-websockets <https://pypi.org/project/websockets/>`__: a | ||
92 | library for building WebSocket servers and clients in Python. | ||
93 | |||
87 | - `python3-yamllint <https://github.com/adrienverge/yamllint>`__: a linter | 94 | - `python3-yamllint <https://github.com/adrienverge/yamllint>`__: a linter |
88 | for YAML files. In U-Boot, the ``binman`` tool uses this linter to verify the | 95 | for YAML files. In U-Boot, the ``binman`` tool uses this linter to verify the |
89 | configurations at compile time. | 96 | configurations at compile time. |
@@ -155,6 +162,12 @@ New Features / Enhancements in 5.0 | |||
155 | 162 | ||
156 | - Testing: | 163 | - Testing: |
157 | 164 | ||
165 | - Move `patchtest` to the core (as ``scripts/patchtest``, test cases under | ||
166 | ``meta/lib/patchtest/tests``) and make a number of improvements to enable | ||
167 | it to validate patches submitted on the mailing list again. Additionally, | ||
168 | make it work with the original upstream version of | ||
169 | `Patchwork <http://jk.ozlabs.org/projects/patchwork/>`__. | ||
170 | |||
158 | - Add an optional ``unimplemented-ptest`` QA warning to detect upstream | 171 | - Add an optional ``unimplemented-ptest`` QA warning to detect upstream |
159 | packages with tests, that do not use ptest. | 172 | packages with tests, that do not use ptest. |
160 | 173 | ||
@@ -163,6 +176,9 @@ New Features / Enhancements in 5.0 | |||
163 | 176 | ||
164 | - ``oeqa``, ``oe-selftest``: add test cases for Maturin (SDK and runtime). | 177 | - ``oeqa``, ``oe-selftest``: add test cases for Maturin (SDK and runtime). |
165 | 178 | ||
179 | - Proof-of-concept of screenshot-based runtime UI test | ||
180 | (``meta/lib/oeqa/runtime/cases/login.py``) | ||
181 | |||
166 | - Enable ptests for ``python3-attrs``, ``python3-pyyaml``, ``xz`` | 182 | - Enable ptests for ``python3-attrs``, ``python3-pyyaml``, ``xz`` |
167 | 183 | ||
168 | - Utility script changes: | 184 | - Utility script changes: |
@@ -191,8 +207,6 @@ New Features / Enhancements in 5.0 | |||
191 | extra tasks if the system load is too high, especially in distributions | 207 | extra tasks if the system load is too high, especially in distributions |
192 | where ``/proc/pressure`` is disabled. | 208 | where ``/proc/pressure`` is disabled. |
193 | 209 | ||
194 | - Add garbage collection to remove unused unihashes from the database. | ||
195 | |||
196 | - ``taskexp_ncurses``: add ncurses version of ``taskexp``, the dependency | 210 | - ``taskexp_ncurses``: add ncurses version of ``taskexp``, the dependency |
197 | explorer originally implemented with GTK. | 211 | explorer originally implemented with GTK. |
198 | 212 | ||
@@ -208,6 +222,17 @@ New Features / Enhancements in 5.0 | |||
208 | - ``git-make-shallow`` script: add support for Git's ``safe.bareRepository=explicit`` | 222 | - ``git-make-shallow`` script: add support for Git's ``safe.bareRepository=explicit`` |
209 | configuration setting. | 223 | configuration setting. |
210 | 224 | ||
225 | - Hash equivalence gained a number of scalability improvements including: | ||
226 | |||
227 | - Support for a wide range of database backends through `SQLAlchemy` | ||
228 | |||
229 | - Support for hash equivalence server and client to communicate over websockets | ||
230 | |||
231 | - Support for per-user permissions in the hashserver, and on the client side | ||
232 | specifying credentials via the environment or ``.netrc`` | ||
233 | |||
234 | - Add garbage collection to remove unused unihashes from the database. | ||
235 | |||
211 | - devtool improvements: | 236 | - devtool improvements: |
212 | 237 | ||
213 | - Introduce a new ``ide-sdk`` plugin to generate a configuration to use | 238 | - Introduce a new ``ide-sdk`` plugin to generate a configuration to use |
@@ -255,6 +280,12 @@ New Features / Enhancements in 5.0 | |||
255 | incremental update can be configured with :term:`CVE_DB_INCR_UPDATE_AGE_THRES` | 280 | incremental update can be configured with :term:`CVE_DB_INCR_UPDATE_AGE_THRES` |
256 | variable. | 281 | variable. |
257 | 282 | ||
283 | - Toaster Web UI improvements: | ||
284 | |||
285 | - Numerous bugfixes, and additional input validation | ||
286 | |||
287 | - Add `pytest` support and add/update test cases | ||
288 | |||
258 | - Prominent documentation updates: | 289 | - Prominent documentation updates: |
259 | 290 | ||
260 | - Documentation for using the new ``devtool ide-sdk`` command and features. | 291 | - Documentation for using the new ``devtool ide-sdk`` command and features. |
@@ -318,6 +349,7 @@ The following corrections have been made to the :term:`LICENSE` values set by re | |||
318 | 349 | ||
319 | - ``elfutils``: split license for libraries & backend and utilities. | 350 | - ``elfutils``: split license for libraries & backend and utilities. |
320 | - ``ghostscript``: correct :term:`LICENSE` to ``AGPL-3.0-or-later``. | 351 | - ``ghostscript``: correct :term:`LICENSE` to ``AGPL-3.0-or-later``. |
352 | - ``kbd``: update license for consolefont and keymaps. | ||
321 | - ``libsystemd``: set its own :term:`LICENSE` value (``LGPL-2.1-or-later``) to add more granularity. | 353 | - ``libsystemd``: set its own :term:`LICENSE` value (``LGPL-2.1-or-later``) to add more granularity. |
322 | - ``libtest-warnings-perl``: update :term:`LICENSE` ``Artistic-1.0`` to ``Artistic-1.0-Perl``. | 354 | - ``libtest-warnings-perl``: update :term:`LICENSE` ``Artistic-1.0`` to ``Artistic-1.0-Perl``. |
323 | - ``linux-firmware``: set package :term:`LICENSE` appropriately for ``carl9170``, ``rockchip`` and ``powerpr``. | 355 | - ``linux-firmware``: set package :term:`LICENSE` appropriately for ``carl9170``, ``rockchip`` and ``powerpr``. |
@@ -350,7 +382,7 @@ Security Fixes in 5.0 | |||
350 | - libxml2: :cve:`2023-45322` (ignored) | 382 | - libxml2: :cve:`2023-45322` (ignored) |
351 | - linux-yocto/6.6: :cve:`2020-16119` | 383 | - linux-yocto/6.6: :cve:`2020-16119` |
352 | - openssh: :cve:`2023-48795`, :cve:`2023-51384`, :cve:`2023-51385` | 384 | - openssh: :cve:`2023-48795`, :cve:`2023-51384`, :cve:`2023-51385` |
353 | - openssl: :cve:`2023-5363`, :cve:`2023-5678`, :cve:`2023-6129`, :cve_mitre:`2023-6237`, :cve:`2024-0727` | 385 | - openssl: :cve:`2023-5363`, :cve:`2023-5678`, :cve:`2023-6129`, :cve_mitre:`2023-6237`, :cve:`2024-0727`, :cve:`2024-2511` |
354 | - perl: :cve:`2023-47100` | 386 | - perl: :cve:`2023-47100` |
355 | - pixman: :cve:`2023-37769` (ignored) | 387 | - pixman: :cve:`2023-37769` (ignored) |
356 | - python3-cryptography{-vectors}: :cve:`2023-49083`, :cve:`2024-26130` | 388 | - python3-cryptography{-vectors}: :cve:`2023-49083`, :cve:`2024-26130` |
@@ -526,7 +558,7 @@ Recipe Upgrades in 5.0 | |||
526 | - linux-yocto-dev 6.6+git -> 6.9+git | 558 | - linux-yocto-dev 6.6+git -> 6.9+git |
527 | - linux-yocto-rt 6.1.78+git, 6.5.13+git -> 6.6.23+git | 559 | - linux-yocto-rt 6.1.78+git, 6.5.13+git -> 6.6.23+git |
528 | - linux-yocto-tiny 6.1.78+git, 6.5.13+git -> 6.6.23+git | 560 | - linux-yocto-tiny 6.1.78+git, 6.5.13+git -> 6.6.23+git |
529 | - llvm 17.0.3 -> 18.1.2 | 561 | - llvm 17.0.3 -> 18.1.3 |
530 | - lsof 4.98.0 -> 4.99.3 | 562 | - lsof 4.98.0 -> 4.99.3 |
531 | - ltp 20230516 -> 20240129 | 563 | - ltp 20230516 -> 20240129 |
532 | - lttng-modules 2.13.10 -> 2.13.12 | 564 | - lttng-modules 2.13.10 -> 2.13.12 |
@@ -562,7 +594,7 @@ Recipe Upgrades in 5.0 | |||
562 | - ptest-runner 2.4.2+git -> 2.4.3+git | 594 | - ptest-runner 2.4.2+git -> 2.4.3+git |
563 | - pulseaudio 16.1 -> 17.0 | 595 | - pulseaudio 16.1 -> 17.0 |
564 | - puzzles 0.0+git (2d9e414ee316…) -> 0.0+git (80aac3104096…) | 596 | - puzzles 0.0+git (2d9e414ee316…) -> 0.0+git (80aac3104096…) |
565 | - python3 3.11.5 -> 3.12.2 | 597 | - python3 3.11.5 -> 3.12.3 |
566 | - python3-alabaster 0.7.13 -> 0.7.16 | 598 | - python3-alabaster 0.7.13 -> 0.7.16 |
567 | - python3-attrs 23.1.0 -> 23.2.0 | 599 | - python3-attrs 23.1.0 -> 23.2.0 |
568 | - python3-babel 2.12.1 -> 2.14.0 | 600 | - python3-babel 2.12.1 -> 2.14.0 |
@@ -904,3 +936,58 @@ Thanks to the following people who contributed to this release: | |||
904 | Repositories / Downloads for Yocto-5.0 | 936 | Repositories / Downloads for Yocto-5.0 |
905 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 937 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
906 | 938 | ||
939 | poky | ||
940 | |||
941 | - Repository Location: :yocto_git:`/poky` | ||
942 | - Branch: :yocto_git:`scarthgap </poky/log/?h=scarthgap>` | ||
943 | - Tag: :yocto_git:`yocto-5.0 </poky/log/?h=yocto-5.0>` | ||
944 | - Git Revision: :yocto_git:`fb91a49387cfb0c8d48303bb3354325ba2a05587 </poky/commit/?id=fb91a49387cfb0c8d48303bb3354325ba2a05587>` | ||
945 | - Release Artefact: poky-fb91a49387cfb0c8d48303bb3354325ba2a05587 | ||
946 | - sha: 8a0dff4b677b9414ab814ed35d1880196123732ea16ab2fafa388bcc509b32ab | ||
947 | - Download Locations: | ||
948 | http://downloads.yoctoproject.org/releases/yocto/yocto-5.0/poky-fb91a49387cfb0c8d48303bb3354325ba2a05587.tar.bz2 | ||
949 | http://mirrors.kernel.org/yocto/yocto/yocto-5.0/poky-fb91a49387cfb0c8d48303bb3354325ba2a05587.tar.bz2 | ||
950 | |||
951 | openembedded-core | ||
952 | |||
953 | - Repository Location: :oe_git:`/openembedded-core` | ||
954 | - Branch: :oe_git:`scarthgap </openembedded-core/log/?h=scarthgap>` | ||
955 | - Tag: :oe_git:`yocto-5.0 </openembedded-core/log/?h=yocto-5.0>` | ||
956 | - Git Revision: :oe_git:`b65b4e5a8e4473d8ca43835ba17bc8bd4bdca277 </openembedded-core/commit/?id=b65b4e5a8e4473d8ca43835ba17bc8bd4bdca277>` | ||
957 | - Release Artefact: oecore-b65b4e5a8e4473d8ca43835ba17bc8bd4bdca277 | ||
958 | - sha: c7fd05d1a00c70acba2540e60dce01a1bdc4701ebff9a808784960240c69261d | ||
959 | - Download Locations: | ||
960 | http://downloads.yoctoproject.org/releases/yocto/yocto-5.0/oecore-b65b4e5a8e4473d8ca43835ba17bc8bd4bdca277.tar.bz2 | ||
961 | http://mirrors.kernel.org/yocto/yocto/yocto-5.0/oecore-b65b4e5a8e4473d8ca43835ba17bc8bd4bdca277.tar.bz2 | ||
962 | |||
963 | meta-mingw | ||
964 | |||
965 | - Repository Location: :yocto_git:`/meta-mingw` | ||
966 | - Branch: :yocto_git:`scarthgap </meta-mingw/log/?h=scarthgap>` | ||
967 | - Tag: :yocto_git:`yocto-5.0 </meta-mingw/log/?h=yocto-5.0>` | ||
968 | - Git Revision: :yocto_git:`acbba477893ef87388effc4679b7f40ee49fc852 </meta-mingw/commit/?id=acbba477893ef87388effc4679b7f40ee49fc852>` | ||
969 | - Release Artefact: meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852 | ||
970 | - sha: 3b7c2f475dad5130bace652b150367f587d44b391218b1364a8bbc430b48c54c | ||
971 | - Download Locations: | ||
972 | http://downloads.yoctoproject.org/releases/yocto/yocto-5.0/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2 | ||
973 | http://mirrors.kernel.org/yocto/yocto/yocto-5.0/meta-mingw-acbba477893ef87388effc4679b7f40ee49fc852.tar.bz2 | ||
974 | |||
975 | bitbake | ||
976 | |||
977 | - Repository Location: :oe_git:`/bitbake` | ||
978 | - Branch: :oe_git:`2.8 </bitbake/log/?h=2.8>` | ||
979 | - Tag: :oe_git:`yocto-5.0 </bitbake/log/?h=yocto-5.0>` | ||
980 | - Git Revision: :oe_git:`c86466d51e8ff14e57a734c1eec5bb651fdc73ef </bitbake/commit/?id=c86466d51e8ff14e57a734c1eec5bb651fdc73ef>` | ||
981 | - Release Artefact: bitbake-c86466d51e8ff14e57a734c1eec5bb651fdc73ef | ||
982 | - sha: 45c91294c1fa5a0044f1bb72a9bb69456bb458747114115af85c7664bf672d48 | ||
983 | - Download Locations: | ||
984 | http://downloads.yoctoproject.org/releases/yocto/yocto-5.0/bitbake-c86466d51e8ff14e57a734c1eec5bb651fdc73ef.tar.bz2 | ||
985 | http://mirrors.kernel.org/yocto/yocto/yocto-5.0/bitbake-c86466d51e8ff14e57a734c1eec5bb651fdc73ef.tar.bz2 | ||
986 | |||
987 | yocto-docs | ||
988 | |||
989 | - Repository Location: :yocto_git:`/yocto-docs` | ||
990 | - Branch: :yocto_git:`scarthgap </yocto-docs/log/?h=scarthgap>` | ||
991 | - Tag: :yocto_git:`yocto-5.0 </yocto-docs/log/?h=yocto-5.0>` | ||
992 | - Git Revision: :yocto_git:`0cdc0afd3332459d30cfc8f4c2e62bdcc23f5ed5 </yocto-docs/commit/?id=0cdc0afd3332459d30cfc8f4c2e62bdcc23f5ed5>` | ||
993 | |||
diff --git a/documentation/poky.yaml.in b/documentation/poky.yaml.in index 7a686ac4e1..0c04b615ea 100644 --- a/documentation/poky.yaml.in +++ b/documentation/poky.yaml.in | |||
@@ -1,10 +1,10 @@ | |||
1 | DISTRO : "4.3" | 1 | DISTRO : "5.0" |
2 | DISTRO_NAME_NO_CAP : "nanbield" | 2 | DISTRO_NAME_NO_CAP : "scarthgap" |
3 | DISTRO_NAME : "Nanbield" | 3 | DISTRO_NAME : "Scarthgap" |
4 | DISTRO_NAME_NO_CAP_MINUS_ONE : "mickledore" | 4 | DISTRO_NAME_NO_CAP_MINUS_ONE : "nanbield" |
5 | DISTRO_NAME_NO_CAP_LTS : "kirkstone" | 5 | DISTRO_NAME_NO_CAP_LTS : "scarthgap" |
6 | YOCTO_DOC_VERSION : "4.3" | 6 | YOCTO_DOC_VERSION : "5.0" |
7 | DISTRO_REL_TAG : "yocto-4.3" | 7 | DISTRO_REL_TAG : "yocto-5.0" |
8 | DOCCONF_VERSION : "dev" | 8 | DOCCONF_VERSION : "dev" |
9 | BITBAKE_SERIES : "" | 9 | BITBAKE_SERIES : "" |
10 | YOCTO_DL_URL : "https://downloads.yoctoproject.org" | 10 | YOCTO_DL_URL : "https://downloads.yoctoproject.org" |
@@ -12,18 +12,18 @@ YOCTO_AB_URL : "https://autobuilder.yoctoproject.org" | |||
12 | YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;" | 12 | YOCTO_RELEASE_DL_URL : "&YOCTO_DL_URL;/releases/yocto/yocto-&DISTRO;" |
13 | UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \ | 13 | UBUNTU_HOST_PACKAGES_ESSENTIAL : "gawk wget git diffstat unzip texinfo gcc \ |
14 | build-essential chrpath socat cpio python3 python3-pip python3-pexpect \ | 14 | build-essential chrpath socat cpio python3 python3-pip python3-pexpect \ |
15 | xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \ | 15 | xz-utils debianutils iputils-ping python3-git python3-jinja2 \ |
16 | python3-subunit mesa-common-dev zstd liblz4-tool file locales libacl1 | 16 | python3-subunit zstd liblz4-tool file locales libacl1 |
17 | \n\ $ sudo locale-gen en_US.UTF-8" | 17 | \n\ $ sudo locale-gen en_US.UTF-8" |
18 | FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \ | 18 | FEDORA_HOST_PACKAGES_ESSENTIAL : "gawk make wget tar bzip2 gzip python3 unzip perl patch \ |
19 | diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \ | 19 | diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \ |
20 | ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \ | 20 | ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \ |
21 | python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \ | 21 | python3-pexpect findutils which file cpio python python3-pip xz python3-GitPython \ |
22 | python3-jinja2 SDL-devel rpcgen mesa-libGL-devel perl-FindBin perl-File-Compare \ | 22 | python3-jinja2 rpcgen perl-FindBin perl-File-Compare \ |
23 | perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl" | 23 | perl-File-Copy perl-locale zstd lz4 hostname glibc-langpack-en libacl" |
24 | OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \ | 24 | OPENSUSE_HOST_PACKAGES_ESSENTIAL : "python gcc gcc-c++ git chrpath make wget python-xml \ |
25 | diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \ | 25 | diffstat makeinfo python-curses patch socat python3 python3-curses tar python3-pip \ |
26 | python3-pexpect xz which python3-Jinja2 Mesa-libEGL1 libSDL-devel rpcgen Mesa-dri-devel \ | 26 | python3-pexpect xz which python3-Jinja2 rpcgen \ |
27 | zstd lz4 bzip2 gzip hostname libacl1 | 27 | zstd lz4 bzip2 gzip hostname libacl1 |
28 | \n\ $ sudo pip3 install GitPython" | 28 | \n\ $ sudo pip3 install GitPython" |
29 | ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release | 29 | ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release |
@@ -33,8 +33,8 @@ ALMALINUX_HOST_PACKAGES_ESSENTIAL : "-y epel-release | |||
33 | \n\ $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \ | 33 | \n\ $ sudo dnf install gawk make wget tar bzip2 gzip python3 unzip perl patch \ |
34 | diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \ | 34 | diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache \ |
35 | socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \ | 35 | socat perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue python3-pip \ |
36 | python3-GitPython python3-jinja2 python3-pexpect xz which SDL-devel \ | 36 | python3-GitPython python3-jinja2 python3-pexpect xz which \ |
37 | rpcgen mesa-libGL-devel zstd lz4 cpio glibc-langpack-en libacl" | 37 | rpcgen zstd lz4 cpio glibc-langpack-en libacl" |
38 | PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml" | 38 | PIP3_HOST_PACKAGES_DOC : "$ sudo pip3 install sphinx sphinx_rtd_theme pyyaml" |
39 | MIN_PYTHON_VERSION : "3.8.0" | 39 | MIN_PYTHON_VERSION : "3.8.0" |
40 | MIN_TAR_VERSION : "1.28" | 40 | MIN_TAR_VERSION : "1.28" |
diff --git a/documentation/ref-manual/svg/releases.svg b/documentation/ref-manual/svg/releases.svg index 198d4632b1..036aa467cc 100644 --- a/documentation/ref-manual/svg/releases.svg +++ b/documentation/ref-manual/svg/releases.svg | |||
@@ -3,8 +3,8 @@ | |||
3 | version="1.1" | 3 | version="1.1" |
4 | id="svg2" | 4 | id="svg2" |
5 | width="2040.0006" | 5 | width="2040.0006" |
6 | height="624.30518" | 6 | height="669.30511" |
7 | viewBox="0 0 2040.0006 624.30515" | 7 | viewBox="0 0 2040.0006 669.30509" |
8 | sodipodi:docname="releases.svg" | 8 | sodipodi:docname="releases.svg" |
9 | inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" | 9 | inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" |
10 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | 10 | xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" |
@@ -409,8 +409,8 @@ | |||
409 | id="namedview4" | 409 | id="namedview4" |
410 | showgrid="true" | 410 | showgrid="true" |
411 | inkscape:zoom="1.4472045" | 411 | inkscape:zoom="1.4472045" |
412 | inkscape:cx="736.24703" | 412 | inkscape:cx="987.76641" |
413 | inkscape:cy="312.32629" | 413 | inkscape:cy="357.93145" |
414 | inkscape:window-x="1728" | 414 | inkscape:window-x="1728" |
415 | inkscape:window-y="0" | 415 | inkscape:window-y="0" |
416 | inkscape:window-maximized="1" | 416 | inkscape:window-maximized="1" |
@@ -427,13 +427,13 @@ | |||
427 | type="xygrid" | 427 | type="xygrid" |
428 | id="grid1257" | 428 | id="grid1257" |
429 | originx="-289.99936" | 429 | originx="-289.99936" |
430 | originy="325" /> | 430 | originy="369.99998" /> |
431 | </sodipodi:namedview> | 431 | </sodipodi:namedview> |
432 | <g | 432 | <g |
433 | inkscape:groupmode="layer" | 433 | inkscape:groupmode="layer" |
434 | inkscape:label="Image" | 434 | inkscape:label="Image" |
435 | id="g10" | 435 | id="g10" |
436 | transform="translate(-289.99936,325.00004)"> | 436 | transform="translate(-289.99936,370.00003)"> |
437 | <path | 437 | <path |
438 | style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | 438 | style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" |
439 | d="m 1080,220.00003 v -515.00007 0 0" | 439 | d="m 1080,220.00003 v -515.00007 0 0" |
@@ -669,11 +669,11 @@ | |||
669 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | 669 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" |
670 | id="tspan10317-2-9-1-4">4.2</tspan></text> | 670 | id="tspan10317-2-9-1-4">4.2</tspan></text> |
671 | <g | 671 | <g |
672 | id="g1379"> | 672 | id="g1258"> |
673 | <rect | 673 | <rect |
674 | style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" | 674 | style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" |
675 | id="rect917-0-0-4-4-9-4-5-38" | 675 | id="rect917-0-0-4-4-9-4-5-38" |
676 | width="140.00003" | 676 | width="120.00002" |
677 | height="45.000004" | 677 | height="45.000004" |
678 | x="1220" | 678 | x="1220" |
679 | y="-230.00005" | 679 | y="-230.00005" |
@@ -696,53 +696,76 @@ | |||
696 | id="tspan10317-2-9-1-4-6">4.3</tspan></text> | 696 | id="tspan10317-2-9-1-4-6">4.3</tspan></text> |
697 | </g> | 697 | </g> |
698 | <rect | 698 | <rect |
699 | style="opacity:0.75;fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" | 699 | style="opacity:0.75;fill:#241f31;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" |
700 | id="rect917-0-0-4-4-9-4-5-3-9" | 700 | id="rect917-0-0-4-4-9-4-5-3-9-2" |
701 | width="979.99994" | 701 | width="140" |
702 | height="45.000004" | 702 | height="45.000004" |
703 | x="1320" | 703 | x="1440" |
704 | y="-285.00003" | 704 | y="-340.00003" |
705 | ry="2.2558987" /> | 705 | ry="2.2558987" /> |
706 | <text | 706 | <text |
707 | xml:space="preserve" | 707 | xml:space="preserve" |
708 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | 708 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
709 | x="1373.233" | 709 | x="1487.233" |
710 | y="-265.32928" | 710 | y="-320.32928" |
711 | id="text1185-3-55-4-0-0-0-1-1-6"><tspan | 711 | id="text1185-3-55-4-0-0-0-1-1-6-4"><tspan |
712 | sodipodi:role="line" | 712 | sodipodi:role="line" |
713 | x="1373.233" | 713 | x="1487.233" |
714 | y="-265.32928" | 714 | y="-320.32928" |
715 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | 715 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" |
716 | id="tspan957-2-8-6-3-9-7-4-2">Scarthgap</tspan><tspan | 716 | id="tspan957-2-8-6-3-9-7-4-2-0">Styhead</tspan><tspan |
717 | sodipodi:role="line" | 717 | sodipodi:role="line" |
718 | x="1373.233" | 718 | x="1487.233" |
719 | y="-247.33261" | 719 | y="-302.33261" |
720 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | 720 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" |
721 | id="tspan10317-2-9-1-4-6-5">5.0</tspan></text> | 721 | id="tspan10317-2-9-1-4-6-5-6">5.1</tspan></text> |
722 | <rect | 722 | <g |
723 | id="g1591"> | ||
724 | <rect | ||
725 | style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" | ||
726 | id="rect917-0-0-4-4-9-9" | ||
727 | width="960.00012" | ||
728 | height="45.000004" | ||
729 | x="859.99994" | ||
730 | y="-64.999992" | ||
731 | ry="2.2558987" /> | ||
732 | <text | ||
733 | xml:space="preserve" | ||
734 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | ||
735 | x="928.49872" | ||
736 | y="-45.648258" | ||
737 | id="text1185-3-55-4-0-0-9"><tspan | ||
738 | sodipodi:role="line" | ||
739 | x="928.49872" | ||
740 | y="-45.648258" | ||
741 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | ||
742 | id="tspan957-2-8-6-3-6">Kirkstone (LTS)</tspan><tspan | ||
743 | sodipodi:role="line" | ||
744 | x="928.49872" | ||
745 | y="-27.651579" | ||
746 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | ||
747 | id="tspan10317-2-9-0">4.0</tspan></text> | ||
748 | </g> | ||
749 | <path | ||
750 | id="rect917-0-0-4-4-9-9-9" | ||
723 | style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" | 751 | style="fill:#333333;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-opacity:1" |
724 | id="rect917-0-0-4-4-9-9" | 752 | d="m 1322.3015,-285.00003 c -1.2753,0 -2.302,1.00609 -2.302,2.25586 v 40.48828 c 0,1.24977 1.0267,2.25586 2.302,2.25586 h 975.0412 c 1.2754,0 2.302,-1.00609 2.302,-2.25586 v -40.48828 c 0,-1.24977 -1.0266,-2.25586 -2.302,-2.25586 z" /> |
725 | width="960.00012" | ||
726 | height="45.000004" | ||
727 | x="859.99994" | ||
728 | y="-64.999992" | ||
729 | ry="2.2558987" /> | ||
730 | <text | 753 | <text |
731 | xml:space="preserve" | 754 | xml:space="preserve" |
732 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | 755 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
733 | x="928.49872" | 756 | x="1390.4988" |
734 | y="-45.648258" | 757 | y="-265.64832" |
735 | id="text1185-3-55-4-0-0-9"><tspan | 758 | id="text1185-3-55-4-0-0-9-0"><tspan |
736 | sodipodi:role="line" | 759 | sodipodi:role="line" |
737 | x="928.49872" | 760 | x="1390.4988" |
738 | y="-45.648258" | 761 | y="-265.64832" |
739 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | 762 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" |
740 | id="tspan957-2-8-6-3-6">Kirkstone (LTS)</tspan><tspan | 763 | id="tspan957-2-8-6-3-6-8">Scarthgap (LTS)</tspan><tspan |
741 | sodipodi:role="line" | 764 | sodipodi:role="line" |
742 | x="928.49872" | 765 | x="1390.4988" |
743 | y="-27.651579" | 766 | y="-247.65164" |
744 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" | 767 | style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:13.3333px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans Bold';text-align:center;text-anchor:middle;fill:#fffefe;fill-opacity:1;stroke:none" |
745 | id="tspan10317-2-9-0">4.0</tspan></text> | 768 | id="tspan10317-2-9-0-1">5.0</tspan></text> |
746 | <text | 769 | <text |
747 | xml:space="preserve" | 770 | xml:space="preserve" |
748 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | 771 | style="font-weight:bold;font-size:13.3333px;line-height:125%;font-family:'Nimbus Roman';-inkscape-font-specification:'Nimbus Roman, Bold';letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;fill:#fffefe;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" |
diff --git a/documentation/ref-manual/variables.rst b/documentation/ref-manual/variables.rst index 9cdcc1b61b..3f37f42f21 100644 --- a/documentation/ref-manual/variables.rst +++ b/documentation/ref-manual/variables.rst | |||
@@ -9771,6 +9771,12 @@ system and gives an overview of their function and contents. | |||
9771 | ``meta-poky/conf/templates/default/local.conf.sample`` in the | 9771 | ``meta-poky/conf/templates/default/local.conf.sample`` in the |
9772 | :term:`Source Directory`. | 9772 | :term:`Source Directory`. |
9773 | 9773 | ||
9774 | :term:`USERADD_DEPENDS` | ||
9775 | Specifies a list of recipes that create users / groups (via | ||
9776 | :term:`USERADD_PARAM` / :term:`GROUPADD_PARAM`) which a recipe | ||
9777 | depends upon. This ensures that those users / groups are available | ||
9778 | when building a recipe. | ||
9779 | |||
9774 | :term:`USERADD_ERROR_DYNAMIC` | 9780 | :term:`USERADD_ERROR_DYNAMIC` |
9775 | If set to ``error``, forces the OpenEmbedded build system to produce | 9781 | If set to ``error``, forces the OpenEmbedded build system to produce |
9776 | an error if the user identification (``uid``) and group | 9782 | an error if the user identification (``uid``) and group |
diff --git a/documentation/set_versions.py b/documentation/set_versions.py index 90e08fc5e0..dec0780834 100755 --- a/documentation/set_versions.py +++ b/documentation/set_versions.py | |||
@@ -26,9 +26,9 @@ ourversion = None | |||
26 | if len(sys.argv) == 2: | 26 | if len(sys.argv) == 2: |
27 | ourversion = sys.argv[1] | 27 | ourversion = sys.argv[1] |
28 | 28 | ||
29 | activereleases = ["nanbield", "kirkstone", "dunfell"] | 29 | activereleases = ["scarthgap", "nanbield", "kirkstone", "dunfell"] |
30 | devbranch = "scarthgap" | 30 | devbranch = "styhead" |
31 | ltsseries = ["kirkstone", "dunfell"] | 31 | ltsseries = ["scarthgap", "kirkstone", "dunfell"] |
32 | 32 | ||
33 | # used by run-docs-builds to get the default page | 33 | # used by run-docs-builds to get the default page |
34 | if ourversion == "getlatest": | 34 | if ourversion == "getlatest": |
@@ -36,6 +36,7 @@ if ourversion == "getlatest": | |||
36 | sys.exit(0) | 36 | sys.exit(0) |
37 | 37 | ||
38 | release_series = collections.OrderedDict() | 38 | release_series = collections.OrderedDict() |
39 | release_series["styhead"] = "5.1" | ||
39 | release_series["scarthgap"] = "5.0" | 40 | release_series["scarthgap"] = "5.0" |
40 | release_series["nanbield"] = "4.3" | 41 | release_series["nanbield"] = "4.3" |
41 | release_series["mickledore"] = "4.2" | 42 | release_series["mickledore"] = "4.2" |
@@ -68,6 +69,7 @@ release_series["laverne"] = "0.9" | |||
68 | 69 | ||
69 | 70 | ||
70 | bitbake_mapping = { | 71 | bitbake_mapping = { |
72 | "styhead" : "2.10", | ||
71 | "scarthgap" : "2.8", | 73 | "scarthgap" : "2.8", |
72 | "nanbield" : "2.6", | 74 | "nanbield" : "2.6", |
73 | "mickledore" : "2.4", | 75 | "mickledore" : "2.4", |
diff --git a/documentation/standards.md b/documentation/standards.md index e0c0cba83c..bc403e393e 100644 --- a/documentation/standards.md +++ b/documentation/standards.md | |||
@@ -70,27 +70,30 @@ cannot be split without infringing syntactic rules | |||
70 | or reducing readability, as well as for command output | 70 | or reducing readability, as well as for command output |
71 | which should be kept unmodified. | 71 | which should be kept unmodified. |
72 | 72 | ||
73 | ### Project names | 73 | ### File, tool and command names |
74 | 74 | ||
75 | Project names should be capitalized in the same | 75 | File, tool, command and package names should be double tick-quoted. |
76 | way they are on Wikipedia, in particular: | 76 | For example, ``` ``conf/local.conf`` ``` is preferred over |
77 | `"conf/local.conf"`. | ||
77 | 78 | ||
78 | * BitBake | 79 | ### Project names |
79 | * OpenEmbedded | ||
80 | 80 | ||
81 | There are exceptions in which such names can be used | 81 | Project names should be introduced with single quotes, to have them rendered |
82 | in lower case: | 82 | with an italic font and make them easier to distinguish from command names |
83 | (double tick-quoted) and from regular English words. | ||
83 | 84 | ||
84 | * When referring to a package name | 85 | An exception is when project names appear in hyperlinks, as nested markup |
85 | * When referring to the corresponding command name | 86 | is not supported by Sphinx yet. |
86 | * When used in a cross-reference title. Such | ||
87 | titles are usually in lower case. | ||
88 | 87 | ||
89 | ### File, tool and command names | 88 | Project names should also be capitalized (or not) in the same way they are on |
89 | Wikipedia, or on their own project pages if they are not described on | ||
90 | Wikipedia. If a project name isn't capitalized, it should remain so even | ||
91 | at the beginning of a sentence. | ||
90 | 92 | ||
91 | File, tool and command names should be double tick-quoted. | 93 | For example: |
92 | For example, ``` ``conf/local.conf`` ``` is preferred over | 94 | |
93 | `"conf/local.conf"`. | 95 | * ``` `BitBake` ``` |
96 | * ``` `ftrace` ``` | ||
94 | 97 | ||
95 | ### Variables | 98 | ### Variables |
96 | 99 | ||
diff --git a/meta-poky/conf/templates/default/local.conf.sample b/meta-poky/conf/templates/default/local.conf.sample index 1a93c9bdcf..72d3566294 100644 --- a/meta-poky/conf/templates/default/local.conf.sample +++ b/meta-poky/conf/templates/default/local.conf.sample | |||
@@ -238,7 +238,7 @@ BB_DISKMON_DIRS ??= "\ | |||
238 | # (CDN) kindly provided by JSDelivr, uncomment one of the SSTATE_MIRRORS lines, not both. | 238 | # (CDN) kindly provided by JSDelivr, uncomment one of the SSTATE_MIRRORS lines, not both. |
239 | # Using the CDN rather than the yoctoproject.org address is suggested/preferred. | 239 | # Using the CDN rather than the yoctoproject.org address is suggested/preferred. |
240 | # | 240 | # |
241 | #BB_HASHSERVE_UPSTREAM = "hashserv.yocto.io:8687" | 241 | #BB_HASHSERVE_UPSTREAM = 'wss://hashserv.yoctoproject.org/ws' |
242 | #SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH" | 242 | #SSTATE_MIRRORS ?= "file://.* http://cdn.jsdelivr.net/yocto/sstate/all/PATH;downloadfilename=PATH" |
243 | # | 243 | # |
244 | ###SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH" | 244 | ###SSTATE_MIRRORS ?= "file://.* http://sstate.yoctoproject.org/all/PATH;downloadfilename=PATH" |
diff --git a/meta-poky/recipes-core/tiny-init/tiny-init.bb b/meta-poky/recipes-core/tiny-init/tiny-init.bb index 1de4f5e715..586596259b 100644 --- a/meta-poky/recipes-core/tiny-init/tiny-init.bb +++ b/meta-poky/recipes-core/tiny-init/tiny-init.bb | |||
@@ -11,7 +11,8 @@ SRC_URI = "file://init \ | |||
11 | file://rc.local.sample \ | 11 | file://rc.local.sample \ |
12 | " | 12 | " |
13 | 13 | ||
14 | S = "${WORKDIR}" | 14 | S = "${WORKDIR}/sources" |
15 | UNPACKDIR = "${S}" | ||
15 | 16 | ||
16 | do_configure() { | 17 | do_configure() { |
17 | : | 18 | : |
@@ -23,8 +24,8 @@ do_compile() { | |||
23 | 24 | ||
24 | do_install() { | 25 | do_install() { |
25 | install -d ${D}${sysconfdir} | 26 | install -d ${D}${sysconfdir} |
26 | install -m 0755 ${WORKDIR}/init ${D} | 27 | install -m 0755 ${S}/init ${D} |
27 | install -m 0755 ${WORKDIR}/rc.local.sample ${D}${sysconfdir} | 28 | install -m 0755 ${S}/rc.local.sample ${D}${sysconfdir} |
28 | } | 29 | } |
29 | 30 | ||
30 | FILES:${PN} = "/init ${sysconfdir}/rc.local.sample" | 31 | FILES:${PN} = "/init ${sysconfdir}/rc.local.sample" |
diff --git a/meta-selftest/classes/localpkgfeed.bbclass b/meta-selftest/classes/localpkgfeed.bbclass new file mode 100644 index 0000000000..b796375e55 --- /dev/null +++ b/meta-selftest/classes/localpkgfeed.bbclass | |||
@@ -0,0 +1,27 @@ | |||
1 | # Create a subset of the package feed that just contain the | ||
2 | # packages depended on by this recipe. | ||
3 | |||
4 | LOCALPKGFEED_DIR = "${WORKDIR}/localpkgfeed" | ||
5 | |||
6 | addtask localpkgfeed after do_build | ||
7 | do_localpkgfeed[cleandirs] = "${LOCALPKGFEED_DIR}" | ||
8 | do_localpkgfeed[nostamp] = "1" | ||
9 | |||
10 | def get_packaging_class(d): | ||
11 | package_class = d.getVar("PACKAGE_CLASSES").split()[0] | ||
12 | return package_class.replace("package_", "") | ||
13 | |||
14 | python () { | ||
15 | packaging = get_packaging_class(d) | ||
16 | d.setVarFlag("do_localpkgfeed", "rdeptask", "do_package_write_" + packaging) | ||
17 | } | ||
18 | |||
19 | python do_localpkgfeed() { | ||
20 | import oe.package_manager | ||
21 | |||
22 | packaging = get_packaging_class(d) | ||
23 | deploydir = d.getVar("DEPLOY_DIR_" + packaging.upper()) | ||
24 | task = "package_write_" + packaging | ||
25 | |||
26 | oe.package_manager.create_packages_dir(d, d.getVar("LOCALPKGFEED_DIR"), deploydir, task, True, True) | ||
27 | } | ||
diff --git a/meta-selftest/recipes-test/cpp/cpp-example.inc b/meta-selftest/recipes-test/cpp/cpp-example.inc index ad374be9d0..41aaa7219a 100644 --- a/meta-selftest/recipes-test/cpp/cpp-example.inc +++ b/meta-selftest/recipes-test/cpp/cpp-example.inc | |||
@@ -19,6 +19,7 @@ SRC_URI = "\ | |||
19 | file://run-ptest \ | 19 | file://run-ptest \ |
20 | " | 20 | " |
21 | 21 | ||
22 | S = "${WORKDIR}" | 22 | S = "${WORKDIR}/sources" |
23 | UNPACKDIR = "${S}" | ||
23 | 24 | ||
24 | inherit ptest | 25 | inherit ptest |
diff --git a/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb b/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb index e767619879..446c51f09b 100644 --- a/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb +++ b/meta-selftest/recipes-test/devtool/devtool-test-localonly.bb | |||
@@ -6,5 +6,8 @@ SRC_URI = "file://file1 \ | |||
6 | 6 | ||
7 | SRC_URI:append:class-native = " file://file3" | 7 | SRC_URI:append:class-native = " file://file3" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | ||
10 | UNPACKDIR = "${S}" | ||
11 | |||
9 | EXCLUDE_FROM_WORLD = "1" | 12 | EXCLUDE_FROM_WORLD = "1" |
10 | BBCLASSEXTEND = "native" | 13 | BBCLASSEXTEND = "native" |
diff --git a/meta-selftest/recipes-test/fortran/fortran-helloworld.bb b/meta-selftest/recipes-test/fortran/fortran-helloworld.bb index 3a46404477..a897966608 100644 --- a/meta-selftest/recipes-test/fortran/fortran-helloworld.bb +++ b/meta-selftest/recipes-test/fortran/fortran-helloworld.bb | |||
@@ -11,7 +11,7 @@ SECURITY_CFLAGS = "" | |||
11 | SECURITY_LDFLAGS = "" | 11 | SECURITY_LDFLAGS = "" |
12 | 12 | ||
13 | do_compile() { | 13 | do_compile() { |
14 | ${FC} ${LDFLAGS} ${WORKDIR}/hello.f95 -o ${B}/fortran-hello | 14 | ${FC} ${LDFLAGS} ${UNPACKDIR}/hello.f95 -o ${B}/fortran-hello |
15 | } | 15 | } |
16 | 16 | ||
17 | do_install() { | 17 | do_install() { |
diff --git a/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb b/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb index e127b48b15..7698413d4d 100644 --- a/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb +++ b/meta-selftest/recipes-test/recipetool/selftest-recipetool-appendfile.bb | |||
@@ -17,20 +17,20 @@ SRC_URI = "file://installscript.sh \ | |||
17 | EXCLUDE_FROM_WORLD = "1" | 17 | EXCLUDE_FROM_WORLD = "1" |
18 | 18 | ||
19 | install_extrafunc() { | 19 | install_extrafunc() { |
20 | install -m 0644 ${WORKDIR}/selftest-replaceme-inst-func ${D}${datadir}/selftest-replaceme-inst-func | 20 | install -m 0644 ${UNPACKDIR}/selftest-replaceme-inst-func ${D}${datadir}/selftest-replaceme-inst-func |
21 | } | 21 | } |
22 | 22 | ||
23 | do_install() { | 23 | do_install() { |
24 | install -d ${D}${datadir}/ | 24 | install -d ${D}${datadir}/ |
25 | install -m 0644 ${WORKDIR}/selftest-replaceme-orig ${D}${datadir}/selftest-replaceme-orig | 25 | install -m 0644 ${UNPACKDIR}/selftest-replaceme-orig ${D}${datadir}/selftest-replaceme-orig |
26 | install -m 0644 ${WORKDIR}/selftest-replaceme-todir ${D}${datadir} | 26 | install -m 0644 ${UNPACKDIR}/selftest-replaceme-todir ${D}${datadir} |
27 | install -m 0644 ${WORKDIR}/file1 ${D}${datadir}/selftest-replaceme-renamed | 27 | install -m 0644 ${UNPACKDIR}/file1 ${D}${datadir}/selftest-replaceme-renamed |
28 | install -m 0644 ${WORKDIR}/subdir/fileinsubdir ${D}${datadir}/selftest-replaceme-subdir | 28 | install -m 0644 ${UNPACKDIR}/subdir/fileinsubdir ${D}${datadir}/selftest-replaceme-subdir |
29 | cp ${WORKDIR}/selftest-replaceme-inst-glob* ${D}${datadir}/selftest-replaceme-inst-globfile | 29 | cp ${UNPACKDIR}/selftest-replaceme-inst-glob* ${D}${datadir}/selftest-replaceme-inst-globfile |
30 | cp ${WORKDIR}/selftest-replaceme-inst-todir-glob* ${D}${datadir} | 30 | cp ${UNPACKDIR}/selftest-replaceme-inst-todir-glob* ${D}${datadir} |
31 | install -d ${D}${sysconfdir} | 31 | install -d ${D}${sysconfdir} |
32 | install -m 0644 ${S}/file2 ${D}${sysconfdir}/selftest-replaceme-patched | 32 | install -m 0644 ${S}/file2 ${D}${sysconfdir}/selftest-replaceme-patched |
33 | sh ${WORKDIR}/installscript.sh ${D}${datadir} | 33 | sh ${UNPACKDIR}/installscript.sh ${D}${datadir} |
34 | install_extrafunc | 34 | install_extrafunc |
35 | } | 35 | } |
36 | 36 | ||
diff --git a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb index ad9f475d15..8b314d396e 100644 --- a/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb +++ b/meta-selftest/recipes-test/recipeutils/recipeutils-test_1.2.bb | |||
@@ -3,9 +3,12 @@ SUMMARY = "Test recipe for recipeutils.patch_recipe()" | |||
3 | require recipeutils-test.inc | 3 | require recipeutils-test.inc |
4 | 4 | ||
5 | LICENSE = "HPND" | 5 | LICENSE = "HPND" |
6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/somefile;md5=d41d8cd98f00b204e9800998ecf8427e" | 6 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/somefile;md5=d41d8cd98f00b204e9800998ecf8427e" |
7 | DEPENDS += "zlib" | 7 | DEPENDS += "zlib" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | ||
10 | UNPACKDIR = "${S}" | ||
11 | |||
9 | BBCLASSEXTEND = "native nativesdk" | 12 | BBCLASSEXTEND = "native nativesdk" |
10 | 13 | ||
11 | SRC_URI += "file://somefile" | 14 | SRC_URI += "file://somefile" |
diff --git a/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb b/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb index aa6ce0c2a0..a0eeb4f223 100644 --- a/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb +++ b/meta-selftest/recipes-test/selftest-chown/selftest-chown.bb | |||
@@ -5,7 +5,8 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | DEPENDS += "coreutils-native" | 6 | DEPENDS += "coreutils-native" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | inherit useradd allarch | 11 | inherit useradd allarch |
11 | 12 | ||
diff --git a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb index be346b8a0e..5632bdac7a 100644 --- a/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb +++ b/meta-selftest/recipes-test/selftest-hardlink/selftest-hardlink.bb | |||
@@ -6,7 +6,8 @@ SRC_URI = "file://hello.c \ | |||
6 | file://gdb.sh \ | 6 | file://gdb.sh \ |
7 | " | 7 | " |
8 | 8 | ||
9 | S = "${WORKDIR}" | 9 | S = "${WORKDIR}/sources" |
10 | UNPACKDIR = "${S}" | ||
10 | 11 | ||
11 | do_compile () { | 12 | do_compile () { |
12 | ${CC} hello.c -o hello1 ${CFLAGS} ${LDFLAGS} | 13 | ${CC} hello.c -o hello1 ${CFLAGS} ${LDFLAGS} |
@@ -14,7 +15,7 @@ do_compile () { | |||
14 | 15 | ||
15 | do_install () { | 16 | do_install () { |
16 | install -d ${D}${bindir} | 17 | install -d ${D}${bindir} |
17 | install -m 755 ${WORKDIR}/gdb.sh ${D}${bindir}/ | 18 | install -m 755 ${S}/gdb.sh ${D}${bindir}/ |
18 | install -m 755 hello1 ${D}${bindir}/hello1 | 19 | install -m 755 hello1 ${D}${bindir}/hello1 |
19 | ln ${D}${bindir}/hello1 ${D}${bindir}/hello2 | 20 | ln ${D}${bindir}/hello1 ${D}${bindir}/hello2 |
20 | 21 | ||
diff --git a/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb b/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb index 547587bef4..2dc352d479 100644 --- a/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb +++ b/meta-selftest/recipes-test/selftest-hello/selftest-hello_1.0.bb | |||
@@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
5 | 5 | ||
6 | SRC_URI = "file://helloworld.c" | 6 | SRC_URI = "file://helloworld.c" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | do_compile() { | 11 | do_compile() { |
11 | ${CC} ${CFLAGS} ${LDFLAGS} helloworld.c -o helloworld | 12 | ${CC} ${CFLAGS} ${LDFLAGS} helloworld.c -o helloworld |
@@ -16,4 +17,4 @@ do_install() { | |||
16 | install -m 0755 helloworld ${D}${bindir} | 17 | install -m 0755 helloworld ${D}${bindir} |
17 | } | 18 | } |
18 | 19 | ||
19 | BBCLASSEXTEND = "native nativesdk" \ No newline at end of file | 20 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta-selftest/recipes-test/selftest-users/acreategroup.bb b/meta-selftest/recipes-test/selftest-users/acreategroup.bb index 66ed5695a2..7805182d48 100644 --- a/meta-selftest/recipes-test/selftest-users/acreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/acreategroup.bb | |||
@@ -3,7 +3,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
3 | 3 | ||
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | 5 | ||
6 | S = "${WORKDIR}" | 6 | S = "${WORKDIR}/sources" |
7 | UNPACKDIR = "${S}" | ||
7 | 8 | ||
8 | EXCLUDE_FROM_WORLD="1" | 9 | EXCLUDE_FROM_WORLD="1" |
9 | 10 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/bcreategroup.bb b/meta-selftest/recipes-test/selftest-users/bcreategroup.bb index c4844dd0da..b15c07d7b2 100644 --- a/meta-selftest/recipes-test/selftest-users/bcreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/bcreategroup.bb | |||
@@ -7,7 +7,8 @@ LICENSE = "MIT" | |||
7 | 7 | ||
8 | USERADD_DEPENDS = "acreategroup ccreategroup" | 8 | USERADD_DEPENDS = "acreategroup ccreategroup" |
9 | 9 | ||
10 | S = "${WORKDIR}" | 10 | S = "${WORKDIR}/sources" |
11 | UNPACKDIR = "${S}" | ||
11 | 12 | ||
12 | EXCLUDE_FROM_WORLD="1" | 13 | EXCLUDE_FROM_WORLD="1" |
13 | 14 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/ccreategroup.bb b/meta-selftest/recipes-test/selftest-users/ccreategroup.bb index 021b1ebbf7..ff2da1c039 100644 --- a/meta-selftest/recipes-test/selftest-users/ccreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/ccreategroup.bb | |||
@@ -5,7 +5,8 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | USERADD_DEPENDS = "acreategroup" | 6 | USERADD_DEPENDS = "acreategroup" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | EXCLUDE_FROM_WORLD="1" | 11 | EXCLUDE_FROM_WORLD="1" |
11 | 12 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup1.bb b/meta-selftest/recipes-test/selftest-users/creategroup1.bb index afd23ed1ee..4ab278f589 100644 --- a/meta-selftest/recipes-test/selftest-users/creategroup1.bb +++ b/meta-selftest/recipes-test/selftest-users/creategroup1.bb | |||
@@ -3,7 +3,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
3 | 3 | ||
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | 5 | ||
6 | S = "${WORKDIR}" | 6 | S = "${WORKDIR}/sources" |
7 | UNPACKDIR = "${S}" | ||
7 | 8 | ||
8 | inherit useradd allarch | 9 | inherit useradd allarch |
9 | 10 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/creategroup2.bb b/meta-selftest/recipes-test/selftest-users/creategroup2.bb index f776f43aed..179aba9bfc 100644 --- a/meta-selftest/recipes-test/selftest-users/creategroup2.bb +++ b/meta-selftest/recipes-test/selftest-users/creategroup2.bb | |||
@@ -5,7 +5,8 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | USERADD_DEPENDS = "creategroup1" | 6 | USERADD_DEPENDS = "creategroup1" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | inherit useradd allarch | 11 | inherit useradd allarch |
11 | 12 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/dcreategroup.bb b/meta-selftest/recipes-test/selftest-users/dcreategroup.bb index b96ca92a16..ab0a529669 100644 --- a/meta-selftest/recipes-test/selftest-users/dcreategroup.bb +++ b/meta-selftest/recipes-test/selftest-users/dcreategroup.bb | |||
@@ -5,7 +5,8 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | USERADD_DEPENDS = "bcreategroup" | 6 | USERADD_DEPENDS = "bcreategroup" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | EXCLUDE_FROM_WORLD="1" | 11 | EXCLUDE_FROM_WORLD="1" |
11 | 12 | ||
diff --git a/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb b/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb index 99e04a80b3..2863541010 100644 --- a/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb +++ b/meta-selftest/recipes-test/selftest-users/useraddbadtask.bb | |||
@@ -5,7 +5,8 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | DEPENDS:append = "coreutils-native" | 6 | DEPENDS:append = "coreutils-native" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | inherit useradd allarch | 11 | inherit useradd allarch |
11 | 12 | ||
diff --git a/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb b/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb index 5e8761ab55..db674d0efc 100644 --- a/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb +++ b/meta-selftest/recipes-test/testrpm/testrpm_0.0.1.bb | |||
@@ -6,6 +6,9 @@ LICENSE = "MIT" | |||
6 | SRC_URI = "file://testfile.txt" | 6 | SRC_URI = "file://testfile.txt" |
7 | INHIBIT_DEFAULT_DEPS = "1" | 7 | INHIBIT_DEFAULT_DEPS = "1" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | ||
10 | UNPACKDIR = "${S}" | ||
11 | |||
9 | do_compile(){ | 12 | do_compile(){ |
10 | echo "testdata" > ${B}/"file with [brackets].txt" | 13 | echo "testdata" > ${B}/"file with [brackets].txt" |
11 | echo "testdata" > ${B}/"file with (parentheses).txt" | 14 | echo "testdata" > ${B}/"file with (parentheses).txt" |
diff --git a/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb b/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb index c3d3548d4a..c91d00c8d9 100644 --- a/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb +++ b/meta-selftest/recipes-test/wrapper/cmdline-shebang-wrapper-test.bb | |||
@@ -9,7 +9,7 @@ EXCLUDE_FROM_WORLD = "1" | |||
9 | do_install() { | 9 | do_install() { |
10 | install -d ${D}${bindir} | 10 | install -d ${D}${bindir} |
11 | # was not able to make ownership preservation check | 11 | # was not able to make ownership preservation check |
12 | install -m 0400 ${WORKDIR}/test.awk ${D}${bindir}/test | 12 | install -m 0400 ${UNPACKDIR}/test.awk ${D}${bindir}/test |
13 | 13 | ||
14 | perm_old="$(stat --format='%a' ${D}${bindir}/test)" | 14 | perm_old="$(stat --format='%a' ${D}${bindir}/test)" |
15 | sed -i -e 's|@AWK_BIN@|${bindir}/awk|g' ${D}${bindir}/test | 15 | sed -i -e 's|@AWK_BIN@|${bindir}/awk|g' ${D}${bindir}/test |
diff --git a/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb b/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb index a2fb212a68..79f2e8a092 100644 --- a/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb +++ b/meta-skeleton/recipes-kernel/hello-mod/hello-mod_0.1.bb | |||
@@ -10,7 +10,8 @@ SRC_URI = "file://Makefile \ | |||
10 | file://COPYING \ | 10 | file://COPYING \ |
11 | " | 11 | " |
12 | 12 | ||
13 | S = "${WORKDIR}" | 13 | S = "${WORKDIR}/sources" |
14 | UNPACKDIR = "${S}" | ||
14 | 15 | ||
15 | # The inherit of module.bbclass will automatically name module packages with | 16 | # The inherit of module.bbclass will automatically name module packages with |
16 | # "kernel-module-" prefix as required by the oe-core build environment. | 17 | # "kernel-module-" prefix as required by the oe-core build environment. |
diff --git a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb index 9437240fcf..0879bb17b9 100644 --- a/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb +++ b/meta-skeleton/recipes-kernel/linux/linux-yocto-custom.bb | |||
@@ -7,7 +7,7 @@ SUMMARY = "An example kernel recipe that uses the linux-yocto and oe-core" | |||
7 | # To use linux-yocto-custom in your layer, copy this recipe (optionally | 7 | # To use linux-yocto-custom in your layer, copy this recipe (optionally |
8 | # rename it as well) and modify it appropriately for your machine. i.e.: | 8 | # rename it as well) and modify it appropriately for your machine. i.e.: |
9 | # | 9 | # |
10 | # COMPATIBLE_MACHINE_yourmachine = "yourmachine" | 10 | # COMPATIBLE_MACHINE:yourmachine = "yourmachine" |
11 | # | 11 | # |
12 | # You must also provide a Linux kernel configuration. The most direct | 12 | # You must also provide a Linux kernel configuration. The most direct |
13 | # method is to copy your .config to files/defconfig in your layer, | 13 | # method is to copy your .config to files/defconfig in your layer, |
diff --git a/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb b/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb index 90d3aefd86..8be7980919 100644 --- a/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb +++ b/meta-skeleton/recipes-skeleton/hello-single/hello_1.0.bb | |||
@@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda | |||
5 | 5 | ||
6 | SRC_URI = "file://helloworld.c" | 6 | SRC_URI = "file://helloworld.c" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | do_compile() { | 11 | do_compile() { |
11 | ${CC} ${LDFLAGS} helloworld.c -o helloworld | 12 | ${CC} ${LDFLAGS} helloworld.c -o helloworld |
diff --git a/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/meta-skeleton/recipes-skeleton/service/service_0.1.bb index 912f6b0f61..54b834d45f 100644 --- a/meta-skeleton/recipes-skeleton/service/service_0.1.bb +++ b/meta-skeleton/recipes-skeleton/service/service_0.1.bb | |||
@@ -2,22 +2,23 @@ SUMMARY = "The canonical example of init scripts" | |||
2 | SECTION = "base" | 2 | SECTION = "base" |
3 | DESCRIPTION = "This recipe is a canonical example of init scripts" | 3 | DESCRIPTION = "This recipe is a canonical example of init scripts" |
4 | LICENSE = "GPL-2.0-only" | 4 | LICENSE = "GPL-2.0-only" |
5 | LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYRIGHT;md5=349c872e0066155e1818b786938876a4" | 5 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=349c872e0066155e1818b786938876a4" |
6 | 6 | ||
7 | SRC_URI = "file://skeleton \ | 7 | SRC_URI = "file://skeleton \ |
8 | file://skeleton_test.c \ | 8 | file://skeleton_test.c \ |
9 | file://COPYRIGHT \ | 9 | file://COPYRIGHT \ |
10 | " | 10 | " |
11 | 11 | ||
12 | S = "${WORKDIR}" | 12 | S = "${WORKDIR}/sources" |
13 | UNPACKDIR = "${S}" | ||
13 | 14 | ||
14 | do_compile () { | 15 | do_compile () { |
15 | ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/skeleton_test.c -o ${WORKDIR}/skeleton-test | 16 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/skeleton_test.c -o ${B}/skeleton-test |
16 | } | 17 | } |
17 | 18 | ||
18 | do_install () { | 19 | do_install () { |
19 | install -d ${D}${sysconfdir}/init.d | 20 | install -d ${D}${sysconfdir}/init.d |
20 | cat ${WORKDIR}/skeleton | \ | 21 | cat ${S}/skeleton | \ |
21 | sed -e 's,/etc,${sysconfdir},g' \ | 22 | sed -e 's,/etc,${sysconfdir},g' \ |
22 | -e 's,/usr/sbin,${sbindir},g' \ | 23 | -e 's,/usr/sbin,${sbindir},g' \ |
23 | -e 's,/var,${localstatedir},g' \ | 24 | -e 's,/var,${localstatedir},g' \ |
@@ -26,7 +27,7 @@ do_install () { | |||
26 | chmod a+x ${D}${sysconfdir}/init.d/skeleton | 27 | chmod a+x ${D}${sysconfdir}/init.d/skeleton |
27 | 28 | ||
28 | install -d ${D}${sbindir} | 29 | install -d ${D}${sbindir} |
29 | install -m 0755 ${WORKDIR}/skeleton-test ${D}${sbindir}/ | 30 | install -m 0755 ${S}/skeleton-test ${D}${sbindir}/ |
30 | } | 31 | } |
31 | 32 | ||
32 | RDEPENDS:${PN} = "initscripts" | 33 | RDEPENDS:${PN} = "initscripts" |
diff --git a/meta-yocto-bsp/conf/machine/genericarm64.conf b/meta-yocto-bsp/conf/machine/genericarm64.conf index 4fa9395b31..1cb5e46dcf 100644 --- a/meta-yocto-bsp/conf/machine/genericarm64.conf +++ b/meta-yocto-bsp/conf/machine/genericarm64.conf | |||
@@ -58,3 +58,6 @@ QB_SERIAL_OPT = "-device virtio-serial-pci -chardev null,id=virtcon -device virt | |||
58 | QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon" | 58 | QB_TCPSERIAL_OPT = "-device virtio-serial-pci -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1,nodelay=on -device virtconsole,chardev=virtcon" |
59 | # Virtio networking | 59 | # Virtio networking |
60 | QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" | 60 | QB_TAP_OPT = "-netdev tap,id=net0,ifname=@TAP@,script=no,downscript=no" |
61 | |||
62 | # If we're running testimage then we're in a qemu, so ensure u-boot is build | ||
63 | TESTIMAGEDEPENDS:append = " u-boot:do_deploy" | ||
diff --git a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py index 6ce9a3b3f8..6fc6925f69 100644 --- a/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py +++ b/meta-yocto-bsp/lib/oeqa/selftest/cases/systemd_boot.py | |||
@@ -18,7 +18,8 @@ class Systemdboot(OESelftestTestCase): | |||
18 | 18 | ||
19 | # Set EFI_PROVIDER = "systemdboot" and MACHINE = "genericx86-64" in conf/local.conf | 19 | # Set EFI_PROVIDER = "systemdboot" and MACHINE = "genericx86-64" in conf/local.conf |
20 | features = 'EFI_PROVIDER = "systemd-boot"\n' | 20 | features = 'EFI_PROVIDER = "systemd-boot"\n' |
21 | features += 'MACHINE = "genericx86-64"' | 21 | features += 'MACHINE = "genericx86-64"\n' |
22 | features += 'COMPATIBLE_MACHINE:pn-ssh-pregen-hostkeys:genericx86-64 = "genericx86-64"\n' | ||
22 | self.append_config(features) | 23 | self.append_config(features) |
23 | 24 | ||
24 | image = 'core-image-minimal' | 25 | image = 'core-image-minimal' |
diff --git a/meta/classes-global/base.bbclass b/meta/classes-global/base.bbclass index 0999b42daa..066f3848f7 100644 --- a/meta/classes-global/base.bbclass +++ b/meta/classes-global/base.bbclass | |||
@@ -153,7 +153,7 @@ python base_do_fetch() { | |||
153 | } | 153 | } |
154 | 154 | ||
155 | addtask unpack after do_fetch | 155 | addtask unpack after do_fetch |
156 | do_unpack[dirs] = "${WORKDIR}" | 156 | do_unpack[dirs] = "${UNPACKDIR}" |
157 | 157 | ||
158 | do_unpack[cleandirs] = "${@d.getVar('S') if os.path.normpath(d.getVar('S')) != os.path.normpath(d.getVar('WORKDIR')) else os.path.join('${S}', 'patches')}" | 158 | do_unpack[cleandirs] = "${@d.getVar('S') if os.path.normpath(d.getVar('S')) != os.path.normpath(d.getVar('WORKDIR')) else os.path.join('${S}', 'patches')}" |
159 | 159 | ||
@@ -164,7 +164,7 @@ python base_do_unpack() { | |||
164 | 164 | ||
165 | try: | 165 | try: |
166 | fetcher = bb.fetch2.Fetch(src_uri, d) | 166 | fetcher = bb.fetch2.Fetch(src_uri, d) |
167 | fetcher.unpack(d.getVar('WORKDIR')) | 167 | fetcher.unpack(d.getVar('UNPACKDIR')) |
168 | except bb.fetch2.BBFetchException as e: | 168 | except bb.fetch2.BBFetchException as e: |
169 | bb.fatal("Bitbake Fetcher Error: " + repr(e)) | 169 | bb.fatal("Bitbake Fetcher Error: " + repr(e)) |
170 | } | 170 | } |
diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index e963001d09..03ac06b102 100644 --- a/meta/classes-global/insane.bbclass +++ b/meta/classes-global/insane.bbclass | |||
@@ -298,7 +298,7 @@ def package_qa_check_libdir(d): | |||
298 | try: | 298 | try: |
299 | elf.open() | 299 | elf.open() |
300 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) | 300 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) |
301 | except (oe.qa.NotELFFileError): | 301 | except (oe.qa.NotELFFileError, FileNotFoundError): |
302 | pass | 302 | pass |
303 | if exec_re.match(rel_path): | 303 | if exec_re.match(rel_path): |
304 | if libdir not in rel_path and libexecdir not in rel_path: | 304 | if libdir not in rel_path and libexecdir not in rel_path: |
@@ -307,7 +307,7 @@ def package_qa_check_libdir(d): | |||
307 | try: | 307 | try: |
308 | elf.open() | 308 | elf.open() |
309 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) | 309 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) |
310 | except (oe.qa.NotELFFileError): | 310 | except (oe.qa.NotELFFileError, FileNotFoundError): |
311 | pass | 311 | pass |
312 | 312 | ||
313 | if messages: | 313 | if messages: |
@@ -1399,7 +1399,7 @@ python do_qa_patch() { | |||
1399 | oe.qa.handle_error("unimplemented-ptest", "%s: autotools-based tests detected" % d.getVar('PN'), d) | 1399 | oe.qa.handle_error("unimplemented-ptest", "%s: autotools-based tests detected" % d.getVar('PN'), d) |
1400 | 1400 | ||
1401 | # Last resort, detect a test directory in sources | 1401 | # Last resort, detect a test directory in sources |
1402 | elif any(filename.lower() in ["test", "tests"] for filename in os.listdir(srcdir)): | 1402 | elif os.path.exists(srcdir) and any(filename.lower() in ["test", "tests"] for filename in os.listdir(srcdir)): |
1403 | oe.qa.handle_error("unimplemented-ptest", "%s: test subdirectory detected" % d.getVar('PN'), d) | 1403 | oe.qa.handle_error("unimplemented-ptest", "%s: test subdirectory detected" % d.getVar('PN'), d) |
1404 | 1404 | ||
1405 | oe.qa.exit_if_errors(d) | 1405 | oe.qa.exit_if_errors(d) |
diff --git a/meta/classes-global/package_rpm.bbclass b/meta/classes-global/package_rpm.bbclass index 2e3e4e8c79..790ccbfaf0 100644 --- a/meta/classes-global/package_rpm.bbclass +++ b/meta/classes-global/package_rpm.bbclass | |||
@@ -191,7 +191,7 @@ python write_specfile () { | |||
191 | if not len(depends_dict[dep]): | 191 | if not len(depends_dict[dep]): |
192 | array.append("%s: %s" % (tag, dep)) | 192 | array.append("%s: %s" % (tag, dep)) |
193 | 193 | ||
194 | def walk_files(walkpath, target, conffiles, dirfiles): | 194 | def walk_files(walkpath, target, conffiles): |
195 | # We can race against the ipk/deb backends which create CONTROL or DEBIAN directories | 195 | # We can race against the ipk/deb backends which create CONTROL or DEBIAN directories |
196 | # when packaging. We just ignore these files which are created in | 196 | # when packaging. We just ignore these files which are created in |
197 | # packages-split/ and not package/ | 197 | # packages-split/ and not package/ |
@@ -233,22 +233,12 @@ python write_specfile () { | |||
233 | return False | 233 | return False |
234 | dirs[:] = [dir for dir in dirs if not move_to_files(dir)] | 234 | dirs[:] = [dir for dir in dirs if not move_to_files(dir)] |
235 | 235 | ||
236 | # Directory handling can happen in two ways, either DIRFILES is not set at all | 236 | for dir in dirs: |
237 | # in which case we fall back to the older behaviour of packages owning all their | 237 | if dir == "CONTROL" or dir == "DEBIAN": |
238 | # directories | 238 | continue |
239 | if dirfiles is None: | 239 | p = path + '/' + dir |
240 | for dir in dirs: | 240 | # All packages own the directories their files are in... |
241 | if dir == "CONTROL" or dir == "DEBIAN": | 241 | target.append(get_attr(dir) + '%dir "' + escape_chars(p) + '"') |
242 | continue | ||
243 | p = path + '/' + dir | ||
244 | # All packages own the directories their files are in... | ||
245 | target.append(get_attr(dir) + '%dir "' + escape_chars(p) + '"') | ||
246 | elif path: | ||
247 | # packages own only empty directories or explict directory. | ||
248 | # This will prevent the overlapping of security permission. | ||
249 | attr = get_attr(path) | ||
250 | if (not files and not dirs) or path in dirfiles: | ||
251 | target.append(attr + '%dir "' + escape_chars(path) + '"') | ||
252 | 242 | ||
253 | for file in files: | 243 | for file in files: |
254 | if file == "CONTROL" or file == "DEBIAN": | 244 | if file == "CONTROL" or file == "DEBIAN": |
@@ -363,9 +353,6 @@ python write_specfile () { | |||
363 | localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + pkg) | 353 | localdata.setVar('OVERRIDES', d.getVar("OVERRIDES", False) + ":" + pkg) |
364 | 354 | ||
365 | conffiles = oe.package.get_conffiles(pkg, d) | 355 | conffiles = oe.package.get_conffiles(pkg, d) |
366 | dirfiles = localdata.getVar('DIRFILES') | ||
367 | if dirfiles is not None: | ||
368 | dirfiles = dirfiles.split() | ||
369 | 356 | ||
370 | splitname = pkgname | 357 | splitname = pkgname |
371 | 358 | ||
@@ -430,7 +417,7 @@ python write_specfile () { | |||
430 | srcrpostrm = splitrpostrm | 417 | srcrpostrm = splitrpostrm |
431 | 418 | ||
432 | file_list = [] | 419 | file_list = [] |
433 | walk_files(root, file_list, conffiles, dirfiles) | 420 | walk_files(root, file_list, conffiles) |
434 | if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1": | 421 | if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1": |
435 | bb.note("Not creating empty RPM package for %s" % splitname) | 422 | bb.note("Not creating empty RPM package for %s" % splitname) |
436 | else: | 423 | else: |
@@ -522,7 +509,7 @@ python write_specfile () { | |||
522 | 509 | ||
523 | # Now process files | 510 | # Now process files |
524 | file_list = [] | 511 | file_list = [] |
525 | walk_files(root, file_list, conffiles, dirfiles) | 512 | walk_files(root, file_list, conffiles) |
526 | if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1": | 513 | if not file_list and localdata.getVar('ALLOW_EMPTY', False) != "1": |
527 | bb.note("Not creating empty RPM package for %s" % splitname) | 514 | bb.note("Not creating empty RPM package for %s" % splitname) |
528 | else: | 515 | else: |
diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 04539bbb99..76a7b59636 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass | |||
@@ -1115,7 +1115,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True, | |||
1115 | bb.parse.siggen.checkhashes(sq_data, missed, found, d) | 1115 | bb.parse.siggen.checkhashes(sq_data, missed, found, d) |
1116 | 1116 | ||
1117 | return found | 1117 | return found |
1118 | setscene_depvalid[vardepsexclude] = "SSTATE_EXCLUDEDEPS_SYSROOT" | 1118 | setscene_depvalid[vardepsexclude] = "SSTATE_EXCLUDEDEPS_SYSROOT _SSTATE_EXCLUDEDEPS_SYSROOT" |
1119 | 1119 | ||
1120 | BB_SETSCENE_DEPVALID = "setscene_depvalid" | 1120 | BB_SETSCENE_DEPVALID = "setscene_depvalid" |
1121 | 1121 | ||
diff --git a/meta/classes-recipe/cargo_common.bbclass b/meta/classes-recipe/cargo_common.bbclass index 0fb443edbd..78440c810b 100644 --- a/meta/classes-recipe/cargo_common.bbclass +++ b/meta/classes-recipe/cargo_common.bbclass | |||
@@ -18,7 +18,7 @@ | |||
18 | inherit rust-common | 18 | inherit rust-common |
19 | 19 | ||
20 | # Where we download our registry and dependencies to | 20 | # Where we download our registry and dependencies to |
21 | export CARGO_HOME = "${WORKDIR}/cargo_home" | 21 | export CARGO_HOME = "${UNPACKDIR}/cargo_home" |
22 | 22 | ||
23 | # The pkg-config-rs library used by cargo build scripts disables itself when | 23 | # The pkg-config-rs library used by cargo build scripts disables itself when |
24 | # cross compiling unless this is defined. We set up pkg-config appropriately | 24 | # cross compiling unless this is defined. We set up pkg-config appropriately |
@@ -138,7 +138,7 @@ python cargo_common_do_patch_paths() { | |||
138 | return | 138 | return |
139 | 139 | ||
140 | patches = dict() | 140 | patches = dict() |
141 | workdir = d.getVar('WORKDIR') | 141 | workdir = d.getVar('UNPACKDIR') |
142 | fetcher = bb.fetch2.Fetch(src_uri, d) | 142 | fetcher = bb.fetch2.Fetch(src_uri, d) |
143 | for url in fetcher.urls: | 143 | for url in fetcher.urls: |
144 | ud = fetcher.ud[url] | 144 | ud = fetcher.ud[url] |
diff --git a/meta/classes-recipe/cmake.bbclass b/meta/classes-recipe/cmake.bbclass index 3d3781ef33..e1c3d7ddb5 100644 --- a/meta/classes-recipe/cmake.bbclass +++ b/meta/classes-recipe/cmake.bbclass | |||
@@ -124,7 +124,7 @@ set( CMAKE_CXX_LINK_FLAGS "${OECMAKE_CXX_LINK_FLAGS}" CACHE STRING "LDFLAGS" ) | |||
124 | 124 | ||
125 | # only search in the paths provided so cmake doesnt pick | 125 | # only search in the paths provided so cmake doesnt pick |
126 | # up libraries and tools from the native build machine | 126 | # up libraries and tools from the native build machine |
127 | set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} ${EXTERNAL_TOOLCHAIN} ${HOSTTOOLS_DIR}) | 127 | set( CMAKE_FIND_ROOT_PATH ${STAGING_DIR_HOST} ${STAGING_DIR_NATIVE} ${CROSS_DIR} ${OECMAKE_PERLNATIVE_DIR} ${OECMAKE_EXTRA_ROOT_PATH} ${EXTERNAL_TOOLCHAIN} ${COREBASE}/scripts ${HOSTTOOLS_DIR} ) |
128 | set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) | 128 | set( CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY ) |
129 | set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM} ) | 129 | set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ${OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM} ) |
130 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) | 130 | set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) |
diff --git a/meta/classes-recipe/go.bbclass b/meta/classes-recipe/go.bbclass index cc3564c36a..9146dd611e 100644 --- a/meta/classes-recipe/go.bbclass +++ b/meta/classes-recipe/go.bbclass | |||
@@ -48,8 +48,6 @@ GO_RPATH:class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE | |||
48 | GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" | 48 | GO_RPATH_LINK:class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}" |
49 | GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}" | 49 | GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}" |
50 | GO_LINKMODE ?= "" | 50 | GO_LINKMODE ?= "" |
51 | GO_LINKMODE:class-nativesdk = "--linkmode=external" | ||
52 | GO_LINKMODE:class-native = "--linkmode=external" | ||
53 | GO_EXTRA_LDFLAGS ?= "" | 51 | GO_EXTRA_LDFLAGS ?= "" |
54 | GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" | 52 | GO_LINUXLOADER ?= "-I ${@get_linuxloader(d)}" |
55 | # Use system loader. If uninative is used, the uninative loader will be patched automatically | 53 | # Use system loader. If uninative is used, the uninative loader will be patched automatically |
@@ -82,19 +80,7 @@ export GOPROXY ??= "https://proxy.golang.org,direct" | |||
82 | export GOTMPDIR ?= "${WORKDIR}/build-tmp" | 80 | export GOTMPDIR ?= "${WORKDIR}/build-tmp" |
83 | GOTMPDIR[vardepvalue] = "" | 81 | GOTMPDIR[vardepvalue] = "" |
84 | 82 | ||
85 | python go_do_unpack() { | 83 | GO_SRCURI_DESTSUFFIX = "${@os.path.join(os.path.basename(d.getVar('S')), 'src', d.getVar('GO_IMPORT')) + '/'}" |
86 | src_uri = (d.getVar('SRC_URI') or "").split() | ||
87 | if len(src_uri) == 0: | ||
88 | return | ||
89 | |||
90 | fetcher = bb.fetch2.Fetch(src_uri, d) | ||
91 | for url in fetcher.urls: | ||
92 | if fetcher.ud[url].type == 'git': | ||
93 | if fetcher.ud[url].parm.get('destsuffix') is None: | ||
94 | s_dirname = os.path.basename(d.getVar('S')) | ||
95 | fetcher.ud[url].parm['destsuffix'] = os.path.join(s_dirname, 'src', d.getVar('GO_IMPORT')) + '/' | ||
96 | fetcher.unpack(d.getVar('WORKDIR')) | ||
97 | } | ||
98 | 84 | ||
99 | go_list_packages() { | 85 | go_list_packages() { |
100 | ${GO} list -f '{{.ImportPath}}' ${GOBUILDFLAGS} ${GO_INSTALL} | \ | 86 | ${GO} list -f '{{.ImportPath}}' ${GOBUILDFLAGS} ${GO_INSTALL} | \ |
@@ -153,7 +139,7 @@ go_stage_testdata() { | |||
153 | cd "$oldwd" | 139 | cd "$oldwd" |
154 | } | 140 | } |
155 | 141 | ||
156 | EXPORT_FUNCTIONS do_unpack do_configure do_compile do_install | 142 | EXPORT_FUNCTIONS do_configure do_compile do_install |
157 | 143 | ||
158 | FILES:${PN}-dev = "${libdir}/go/src" | 144 | FILES:${PN}-dev = "${libdir}/go/src" |
159 | FILES:${PN}-staticdev = "${libdir}/go/pkg" | 145 | FILES:${PN}-staticdev = "${libdir}/go/pkg" |
diff --git a/meta/classes-recipe/goarch.bbclass b/meta/classes-recipe/goarch.bbclass index 6899ec28e4..1ebe03864f 100644 --- a/meta/classes-recipe/goarch.bbclass +++ b/meta/classes-recipe/goarch.bbclass | |||
@@ -38,13 +38,13 @@ BASE_GOARM:armv5 = '5' | |||
38 | # Go supports dynamic linking on a limited set of architectures. | 38 | # Go supports dynamic linking on a limited set of architectures. |
39 | # See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go | 39 | # See the supportsDynlink function in go/src/cmd/compile/internal/gc/main.go |
40 | GO_DYNLINK = "" | 40 | GO_DYNLINK = "" |
41 | GO_DYNLINK:arm = "" | 41 | GO_DYNLINK:arm ?= "1" |
42 | GO_DYNLINK:aarch64 = "" | 42 | GO_DYNLINK:aarch64 ?= "1" |
43 | GO_DYNLINK:x86 = "" | 43 | GO_DYNLINK:x86 ?= "1" |
44 | GO_DYNLINK:x86-64 = "" | 44 | GO_DYNLINK:x86-64 ?= "1" |
45 | GO_DYNLINK:powerpc64 = "" | 45 | GO_DYNLINK:powerpc64 ?= "1" |
46 | GO_DYNLINK:powerpc64le = "" | 46 | GO_DYNLINK:powerpc64le ?= "1" |
47 | GO_DYNLINK:class-native = "" | 47 | GO_DYNLINK:class-native ?= "" |
48 | GO_DYNLINK:class-nativesdk = "" | 48 | GO_DYNLINK:class-nativesdk = "" |
49 | 49 | ||
50 | # define here because everybody inherits this class | 50 | # define here because everybody inherits this class |
diff --git a/meta/classes-recipe/image_types.bbclass b/meta/classes-recipe/image_types.bbclass index 913cb8788c..b4a83ae284 100644 --- a/meta/classes-recipe/image_types.bbclass +++ b/meta/classes-recipe/image_types.bbclass | |||
@@ -112,18 +112,22 @@ IMAGE_CMD:btrfs () { | |||
112 | } | 112 | } |
113 | 113 | ||
114 | oe_mksquashfs () { | 114 | oe_mksquashfs () { |
115 | local comp=$1 | 115 | local comp=$1; shift |
116 | local suffix=$2 | 116 | local extra_imagecmd=$@ |
117 | |||
118 | if [ "$comp" = "zstd" ]; then | ||
119 | suffix="zst" | ||
120 | fi | ||
117 | 121 | ||
118 | # Use the bitbake reproducible timestamp instead of the hardcoded squashfs one | 122 | # Use the bitbake reproducible timestamp instead of the hardcoded squashfs one |
119 | export SOURCE_DATE_EPOCH=$(stat -c '%Y' ${IMAGE_ROOTFS}) | 123 | export SOURCE_DATE_EPOCH=$(stat -c '%Y' ${IMAGE_ROOTFS}) |
120 | mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}.squashfs${comp:+-}${suffix:-$comp} ${EXTRA_IMAGECMD} -noappend ${comp:+-comp }$comp | 124 | mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAME}.squashfs${comp:+-}${suffix:-$comp} -noappend ${comp:+-comp }$comp $extra_imagecmd |
121 | } | 125 | } |
122 | IMAGE_CMD:squashfs = "oe_mksquashfs" | 126 | IMAGE_CMD:squashfs = "oe_mksquashfs '' ${EXTRA_IMAGECMD}" |
123 | IMAGE_CMD:squashfs-xz = "oe_mksquashfs xz" | 127 | IMAGE_CMD:squashfs-xz = "oe_mksquashfs xz ${EXTRA_IMAGECMD}" |
124 | IMAGE_CMD:squashfs-lzo = "oe_mksquashfs lzo" | 128 | IMAGE_CMD:squashfs-lzo = "oe_mksquashfs lzo ${EXTRA_IMAGECMD}" |
125 | IMAGE_CMD:squashfs-lz4 = "oe_mksquashfs lz4" | 129 | IMAGE_CMD:squashfs-lz4 = "oe_mksquashfs lz4 ${EXTRA_IMAGECMD}" |
126 | IMAGE_CMD:squashfs-zst = "oe_mksquashfs zstd zst" | 130 | IMAGE_CMD:squashfs-zst = "oe_mksquashfs zstd ${EXTRA_IMAGECMD}" |
127 | 131 | ||
128 | IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}.erofs ${IMAGE_ROOTFS}" | 132 | IMAGE_CMD:erofs = "mkfs.erofs ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}.erofs ${IMAGE_ROOTFS}" |
129 | IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}.erofs-lz4 ${IMAGE_ROOTFS}" | 133 | IMAGE_CMD:erofs-lz4 = "mkfs.erofs -zlz4 ${EXTRA_IMAGECMD} ${IMGDEPLOYDIR}/${IMAGE_NAME}.erofs-lz4 ${IMAGE_ROOTFS}" |
diff --git a/meta/classes-recipe/kernel-yocto.bbclass b/meta/classes-recipe/kernel-yocto.bbclass index 9a86616dad..f741a342d4 100644 --- a/meta/classes-recipe/kernel-yocto.bbclass +++ b/meta/classes-recipe/kernel-yocto.bbclass | |||
@@ -63,7 +63,7 @@ def find_sccs(d): | |||
63 | return sources_list | 63 | return sources_list |
64 | 64 | ||
65 | # check the SRC_URI for "kmeta" type'd git repositories. Return the name of | 65 | # check the SRC_URI for "kmeta" type'd git repositories. Return the name of |
66 | # the repository as it will be found in WORKDIR | 66 | # the repository as it will be found in UNPACKDIR |
67 | def find_kernel_feature_dirs(d): | 67 | def find_kernel_feature_dirs(d): |
68 | feature_dirs=[] | 68 | feature_dirs=[] |
69 | fetch = bb.fetch2.Fetch([], d) | 69 | fetch = bb.fetch2.Fetch([], d) |
@@ -147,24 +147,24 @@ do_kernel_metadata() { | |||
147 | # from the source tree, into a common location and normalized "defconfig" name, | 147 | # from the source tree, into a common location and normalized "defconfig" name, |
148 | # where the rest of the process will include and incoroporate it into the build | 148 | # where the rest of the process will include and incoroporate it into the build |
149 | # | 149 | # |
150 | # If the fetcher has already placed a defconfig in WORKDIR (from the SRC_URI), | 150 | # If the fetcher has already placed a defconfig in UNPACKDIR (from the SRC_URI), |
151 | # we don't overwrite it, but instead warn the user that SRC_URI defconfigs take | 151 | # we don't overwrite it, but instead warn the user that SRC_URI defconfigs take |
152 | # precendence. | 152 | # precendence. |
153 | # | 153 | # |
154 | if [ -n "${KBUILD_DEFCONFIG}" ]; then | 154 | if [ -n "${KBUILD_DEFCONFIG}" ]; then |
155 | if [ -f "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" ]; then | 155 | if [ -f "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" ]; then |
156 | if [ -f "${WORKDIR}/defconfig" ]; then | 156 | if [ -f "${UNPACKDIR}/defconfig" ]; then |
157 | # If the two defconfig's are different, warn that we overwrote the | 157 | # If the two defconfig's are different, warn that we overwrote the |
158 | # one already placed in WORKDIR | 158 | # one already placed in UNPACKDIR |
159 | cmp "${WORKDIR}/defconfig" "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" | 159 | cmp "${UNPACKDIR}/defconfig" "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" |
160 | if [ $? -ne 0 ]; then | 160 | if [ $? -ne 0 ]; then |
161 | bbdebug 1 "detected SRC_URI or unpatched defconfig in WORKDIR. ${KBUILD_DEFCONFIG} copied over it" | 161 | bbdebug 1 "detected SRC_URI or unpatched defconfig in UNPACKDIR. ${KBUILD_DEFCONFIG} copied over it" |
162 | fi | 162 | fi |
163 | cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig | 163 | cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${UNPACKDIR}/defconfig |
164 | else | 164 | else |
165 | cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig | 165 | cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${UNPACKDIR}/defconfig |
166 | fi | 166 | fi |
167 | in_tree_defconfig="${WORKDIR}/defconfig" | 167 | in_tree_defconfig="${UNPACKDIR}/defconfig" |
168 | else | 168 | else |
169 | bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree (${S}/arch/${ARCH}/configs/)" | 169 | bbfatal "A KBUILD_DEFCONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree (${S}/arch/${ARCH}/configs/)" |
170 | fi | 170 | fi |
@@ -178,7 +178,7 @@ do_kernel_metadata() { | |||
178 | patches="${@" ".join(find_patches(d,'kernel-meta'))}" | 178 | patches="${@" ".join(find_patches(d,'kernel-meta'))}" |
179 | if [ -n "$patches" ]; then | 179 | if [ -n "$patches" ]; then |
180 | ( | 180 | ( |
181 | cd ${WORKDIR}/kernel-meta | 181 | cd ${UNPACKDIR}/kernel-meta |
182 | 182 | ||
183 | # take the SRC_URI patches, and create a series file | 183 | # take the SRC_URI patches, and create a series file |
184 | # this is required to support some better processing | 184 | # this is required to support some better processing |
@@ -193,11 +193,11 @@ do_kernel_metadata() { | |||
193 | # handling the rest of the kernel. This allows us | 193 | # handling the rest of the kernel. This allows us |
194 | # more flexibility for handling failures or advanced | 194 | # more flexibility for handling failures or advanced |
195 | # mergeing functinoality | 195 | # mergeing functinoality |
196 | message=$(kgit-s2q --gen -v --patches ${WORKDIR}/kernel-meta 2>&1) | 196 | message=$(kgit-s2q --gen -v --patches ${UNPACKDIR}/kernel-meta 2>&1) |
197 | if [ $? -ne 0 ]; then | 197 | if [ $? -ne 0 ]; then |
198 | # setup to try the patch again | 198 | # setup to try the patch again |
199 | kgit-s2q --prev | 199 | kgit-s2q --prev |
200 | bberror "Problem applying patches to: ${WORKDIR}/kernel-meta" | 200 | bberror "Problem applying patches to: ${UNPACKDIR}/kernel-meta" |
201 | bbfatal_log "\n($message)" | 201 | bbfatal_log "\n($message)" |
202 | fi | 202 | fi |
203 | ) | 203 | ) |
@@ -232,12 +232,10 @@ do_kernel_metadata() { | |||
232 | # SRC_URI. If they were supplied, we convert them into include directives | 232 | # SRC_URI. If they were supplied, we convert them into include directives |
233 | # for the update part of the process | 233 | # for the update part of the process |
234 | for f in ${feat_dirs}; do | 234 | for f in ${feat_dirs}; do |
235 | if [ -d "${WORKDIR}/$f/kernel-meta" ]; then | 235 | if [ -d "${UNPACKDIR}/$f/kernel-meta" ]; then |
236 | includes="$includes -I${WORKDIR}/$f/kernel-meta" | 236 | includes="$includes -I${UNPACKDIR}/$f/kernel-meta" |
237 | elif [ -d "${WORKDIR}/../oe-local-files/$f" ]; then | 237 | elif [ -d "${UNPACKDIR}/$f" ]; then |
238 | includes="$includes -I${WORKDIR}/../oe-local-files/$f" | 238 | includes="$includes -I${UNPACKDIR}/$f" |
239 | elif [ -d "${WORKDIR}/$f" ]; then | ||
240 | includes="$includes -I${WORKDIR}/$f" | ||
241 | fi | 239 | fi |
242 | done | 240 | done |
243 | for s in ${sccs} ${patches}; do | 241 | for s in ${sccs} ${patches}; do |
@@ -379,19 +377,19 @@ do_kernel_checkout() { | |||
379 | set +e | 377 | set +e |
380 | 378 | ||
381 | source_dir=`echo ${S} | sed 's%/$%%'` | 379 | source_dir=`echo ${S} | sed 's%/$%%'` |
382 | source_workdir="${WORKDIR}/git" | 380 | source_workdir="${UNPACKDIR}/git" |
383 | if [ -d "${WORKDIR}/git/" ]; then | 381 | if [ -d "${UNPACKDIR}/git/" ]; then |
384 | # case: git repository | 382 | # case: git repository |
385 | # if S is WORKDIR/git, then we shouldn't be moving or deleting the tree. | 383 | # if S is WORKDIR/git, then we shouldn't be moving or deleting the tree. |
386 | if [ "${source_dir}" != "${source_workdir}" ]; then | 384 | if [ "${source_dir}" != "${source_workdir}" ]; then |
387 | if [ -d "${source_workdir}/.git" ]; then | 385 | if [ -d "${source_workdir}/.git" ]; then |
388 | # regular git repository with .git | 386 | # regular git repository with .git |
389 | rm -rf ${S} | 387 | rm -rf ${S} |
390 | mv ${WORKDIR}/git ${S} | 388 | mv ${UNPACKDIR}/git ${S} |
391 | else | 389 | else |
392 | # create source for bare cloned git repository | 390 | # create source for bare cloned git repository |
393 | git clone ${WORKDIR}/git ${S} | 391 | git clone ${WORKDIR}/git ${S} |
394 | rm -rf ${WORKDIR}/git | 392 | rm -rf ${UNPACKDIR}/git |
395 | fi | 393 | fi |
396 | fi | 394 | fi |
397 | cd ${S} | 395 | cd ${S} |
@@ -434,7 +432,7 @@ do_kernel_checkout() { | |||
434 | 432 | ||
435 | set -e | 433 | set -e |
436 | } | 434 | } |
437 | do_kernel_checkout[dirs] = "${S} ${WORKDIR}" | 435 | do_kernel_checkout[dirs] = "${S} ${UNPACKDIR}" |
438 | 436 | ||
439 | addtask kernel_checkout before do_kernel_metadata after do_symlink_kernsrc | 437 | addtask kernel_checkout before do_kernel_metadata after do_symlink_kernsrc |
440 | addtask kernel_metadata after do_validate_branches do_unpack before do_patch | 438 | addtask kernel_metadata after do_validate_branches do_unpack before do_patch |
@@ -442,6 +440,11 @@ do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot" | |||
442 | do_kernel_metadata[file-checksums] = " ${@get_dirs_with_fragments(d)}" | 440 | do_kernel_metadata[file-checksums] = " ${@get_dirs_with_fragments(d)}" |
443 | do_validate_branches[depends] = "kern-tools-native:do_populate_sysroot" | 441 | do_validate_branches[depends] = "kern-tools-native:do_populate_sysroot" |
444 | 442 | ||
443 | # ${S} doesn't exist for us at unpack | ||
444 | do_qa_unpack() { | ||
445 | return | ||
446 | } | ||
447 | |||
445 | do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot" | 448 | do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot" |
446 | do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot" | 449 | do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot" |
447 | do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot" | 450 | do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot" |
@@ -460,7 +463,7 @@ do_kernel_configme() { | |||
460 | config_flags="" | 463 | config_flags="" |
461 | ;; | 464 | ;; |
462 | *) | 465 | *) |
463 | if [ -f ${WORKDIR}/defconfig ]; then | 466 | if [ -f ${UNPACKDIR}/defconfig ]; then |
464 | config_flags="-n" | 467 | config_flags="-n" |
465 | fi | 468 | fi |
466 | ;; | 469 | ;; |
diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass index b084d6d69d..d6eedf942c 100644 --- a/meta/classes-recipe/kernel.bbclass +++ b/meta/classes-recipe/kernel.bbclass | |||
@@ -463,7 +463,7 @@ kernel_do_install() { | |||
463 | rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" | 463 | rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" |
464 | rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source" | 464 | rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source" |
465 | # Remove empty module directories to prevent QA issues | 465 | # Remove empty module directories to prevent QA issues |
466 | find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete | 466 | [ -d "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" ] && find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete |
467 | else | 467 | else |
468 | bbnote "no modules to install" | 468 | bbnote "no modules to install" |
469 | fi | 469 | fi |
@@ -679,8 +679,8 @@ kernel_do_configure() { | |||
679 | 679 | ||
680 | # Copy defconfig to .config if .config does not exist. This allows | 680 | # Copy defconfig to .config if .config does not exist. This allows |
681 | # recipes to manage the .config themselves in do_configure:prepend(). | 681 | # recipes to manage the .config themselves in do_configure:prepend(). |
682 | if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then | 682 | if [ -f "${UNPACKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then |
683 | cp "${WORKDIR}/defconfig" "${B}/.config" | 683 | cp "${UNPACKDIR}/defconfig" "${B}/.config" |
684 | fi | 684 | fi |
685 | 685 | ||
686 | ${KERNEL_CONFIG_COMMAND} | 686 | ${KERNEL_CONFIG_COMMAND} |
diff --git a/meta/classes-recipe/populate_sdk_ext.bbclass b/meta/classes-recipe/populate_sdk_ext.bbclass index f5687e5899..09d5e2aeb6 100644 --- a/meta/classes-recipe/populate_sdk_ext.bbclass +++ b/meta/classes-recipe/populate_sdk_ext.bbclass | |||
@@ -276,6 +276,8 @@ def write_bblayers_conf(d, baseoutpath, sdkbblayers): | |||
276 | def copy_uninative(d, baseoutpath): | 276 | def copy_uninative(d, baseoutpath): |
277 | import shutil | 277 | import shutil |
278 | 278 | ||
279 | uninative_checksum = None | ||
280 | |||
279 | # Copy uninative tarball | 281 | # Copy uninative tarball |
280 | # For now this is where uninative.bbclass expects the tarball | 282 | # For now this is where uninative.bbclass expects the tarball |
281 | if bb.data.inherits_class('uninative', d): | 283 | if bb.data.inherits_class('uninative', d): |
diff --git a/meta/classes-recipe/ptest-perl.bbclass b/meta/classes-recipe/ptest-perl.bbclass index c283fdd1fc..a4a9d40d52 100644 --- a/meta/classes-recipe/ptest-perl.bbclass +++ b/meta/classes-recipe/ptest-perl.bbclass | |||
@@ -13,7 +13,7 @@ SRC_URI += "file://ptest-perl/run-ptest" | |||
13 | do_install_ptest_perl() { | 13 | do_install_ptest_perl() { |
14 | install -d ${D}${PTEST_PATH} | 14 | install -d ${D}${PTEST_PATH} |
15 | if [ ! -f ${D}${PTEST_PATH}/run-ptest ]; then | 15 | if [ ! -f ${D}${PTEST_PATH}/run-ptest ]; then |
16 | install -m 0755 ${WORKDIR}/ptest-perl/run-ptest ${D}${PTEST_PATH} | 16 | install -m 0755 ${UNPACKDIR}/ptest-perl/run-ptest ${D}${PTEST_PATH} |
17 | fi | 17 | fi |
18 | cp -r ${B}/t ${D}${PTEST_PATH} | 18 | cp -r ${B}/t ${D}${PTEST_PATH} |
19 | chown -R root:root ${D}${PTEST_PATH} | 19 | chown -R root:root ${D}${PTEST_PATH} |
diff --git a/meta/classes-recipe/ptest.bbclass b/meta/classes-recipe/ptest.bbclass index 348d729aef..0941572f8f 100644 --- a/meta/classes-recipe/ptest.bbclass +++ b/meta/classes-recipe/ptest.bbclass | |||
@@ -53,8 +53,8 @@ do_install_ptest() { | |||
53 | } | 53 | } |
54 | 54 | ||
55 | do_install_ptest_base() { | 55 | do_install_ptest_base() { |
56 | if [ -f ${WORKDIR}/run-ptest ]; then | 56 | if [ -f ${UNPACKDIR}/run-ptest ]; then |
57 | install -D ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest | 57 | install -D ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/run-ptest |
58 | fi | 58 | fi |
59 | 59 | ||
60 | grep -q install-ptest: Makefile 2>/dev/null && oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest | 60 | grep -q install-ptest: Makefile 2>/dev/null && oe_runmake DESTDIR=${D}${PTEST_PATH} install-ptest |
diff --git a/meta/classes-recipe/rootfs-postcommands.bbclass b/meta/classes-recipe/rootfs-postcommands.bbclass index e81b69a239..920da94ba2 100644 --- a/meta/classes-recipe/rootfs-postcommands.bbclass +++ b/meta/classes-recipe/rootfs-postcommands.bbclass | |||
@@ -206,7 +206,9 @@ read_only_rootfs_hook () { | |||
206 | # Also tweak the key location for dropbear in the same way. | 206 | # Also tweak the key location for dropbear in the same way. |
207 | if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then | 207 | if [ -d ${IMAGE_ROOTFS}/etc/dropbear ]; then |
208 | if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then | 208 | if [ ! -e ${IMAGE_ROOTFS}/etc/dropbear/dropbear_rsa_host_key ]; then |
209 | echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear | 209 | if ! grep -q "^DROPBEAR_RSAKEY_DIR=" ${IMAGE_ROOTFS}/etc/default/dropbear ; then |
210 | echo "DROPBEAR_RSAKEY_DIR=/var/lib/dropbear" >> ${IMAGE_ROOTFS}/etc/default/dropbear | ||
211 | fi | ||
210 | fi | 212 | fi |
211 | fi | 213 | fi |
212 | fi | 214 | fi |
diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass index 926b0630b1..330ad8a3f5 100644 --- a/meta/classes-recipe/rust-target-config.bbclass +++ b/meta/classes-recipe/rust-target-config.bbclass | |||
@@ -21,6 +21,9 @@ def llvm_features_from_tune(d): | |||
21 | 21 | ||
22 | if 'vfpv4' in feat: | 22 | if 'vfpv4' in feat: |
23 | f.append("+vfp4") | 23 | f.append("+vfp4") |
24 | elif 'vfpv4d16' in feat: | ||
25 | f.append("+vfp4") | ||
26 | f.append("-d32") | ||
24 | elif 'vfpv3' in feat: | 27 | elif 'vfpv3' in feat: |
25 | f.append("+vfp3") | 28 | f.append("+vfp3") |
26 | elif 'vfpv3d16' in feat: | 29 | elif 'vfpv3d16' in feat: |
diff --git a/meta/classes-recipe/toolchain-scripts.bbclass b/meta/classes-recipe/toolchain-scripts.bbclass index 6bfe0b6de0..cbef412e79 100644 --- a/meta/classes-recipe/toolchain-scripts.bbclass +++ b/meta/classes-recipe/toolchain-scripts.bbclass | |||
@@ -16,6 +16,13 @@ DEBUG_PREFIX_MAP = "" | |||
16 | 16 | ||
17 | EXPORT_SDK_PS1 = "${@ 'export PS1=\\"%s\\"' % d.getVar('SDK_PS1') if d.getVar('SDK_PS1') else ''}" | 17 | EXPORT_SDK_PS1 = "${@ 'export PS1=\\"%s\\"' % d.getVar('SDK_PS1') if d.getVar('SDK_PS1') else ''}" |
18 | 18 | ||
19 | def siteinfo_with_prefix(d, prefix): | ||
20 | # Return a prefixed value from siteinfo | ||
21 | for item in siteinfo_data_for_machine(d.getVar("TARGET_ARCH"), d.getVar("TARGET_OS"), d): | ||
22 | if item.startswith(prefix): | ||
23 | return item.replace(prefix, "") | ||
24 | raise KeyError | ||
25 | |||
19 | # This function creates an environment-setup-script for use in a deployable SDK | 26 | # This function creates an environment-setup-script for use in a deployable SDK |
20 | toolchain_create_sdk_env_script () { | 27 | toolchain_create_sdk_env_script () { |
21 | # Create environment setup script. Remember that $SDKTARGETSYSROOT should | 28 | # Create environment setup script. Remember that $SDKTARGETSYSROOT should |
@@ -63,6 +70,8 @@ toolchain_create_sdk_env_script () { | |||
63 | echo 'export OECORE_BASELIB="${baselib}"' >> $script | 70 | echo 'export OECORE_BASELIB="${baselib}"' >> $script |
64 | echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script | 71 | echo 'export OECORE_TARGET_ARCH="${TARGET_ARCH}"' >>$script |
65 | echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script | 72 | echo 'export OECORE_TARGET_OS="${TARGET_OS}"' >>$script |
73 | echo 'export OECORE_TARGET_BITS="${@siteinfo_with_prefix(d, 'bit-')}"' >>$script | ||
74 | echo 'export OECORE_TARGET_ENDIAN="${@siteinfo_with_prefix(d, 'endian-')}"' >>$script | ||
66 | 75 | ||
67 | echo 'unset command_not_found_handle' >> $script | 76 | echo 'unset command_not_found_handle' >> $script |
68 | 77 | ||
diff --git a/meta/classes-recipe/uboot-sign.bbclass b/meta/classes-recipe/uboot-sign.bbclass index 7a0b8047e4..c8e097f2f2 100644 --- a/meta/classes-recipe/uboot-sign.bbclass +++ b/meta/classes-recipe/uboot-sign.bbclass | |||
@@ -367,7 +367,7 @@ do_uboot_assemble_fitimage() { | |||
367 | done | 367 | done |
368 | 368 | ||
369 | for binary in ${UBOOT_BINARIES}; do | 369 | for binary in ${UBOOT_BINARIES}; do |
370 | k=$(expr $j + 1); | 370 | k=$(expr $k + 1); |
371 | if [ $k -eq $i ]; then | 371 | if [ $k -eq $i ]; then |
372 | break; | 372 | break; |
373 | fi | 373 | fi |
diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass index 486efadba9..7c8a0b8b0f 100644 --- a/meta/classes/create-spdx-2.2.bbclass +++ b/meta/classes/create-spdx-2.2.bbclass | |||
@@ -28,7 +28,7 @@ SPDX_ARCHIVE_SOURCES ??= "0" | |||
28 | SPDX_ARCHIVE_PACKAGED ??= "0" | 28 | SPDX_ARCHIVE_PACKAGED ??= "0" |
29 | 29 | ||
30 | SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org" | 30 | SPDX_UUID_NAMESPACE ??= "sbom.openembedded.org" |
31 | SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdoc" | 31 | SPDX_NAMESPACE_PREFIX ??= "http://spdx.org/spdxdocs" |
32 | SPDX_PRETTY ??= "0" | 32 | SPDX_PRETTY ??= "0" |
33 | 33 | ||
34 | SPDX_LICENSES ??= "${COREBASE}/meta/files/spdx-licenses.json" | 34 | SPDX_LICENSES ??= "${COREBASE}/meta/files/spdx-licenses.json" |
@@ -357,7 +357,13 @@ def collect_dep_recipes(d, doc, spdx_recipe): | |||
357 | with spdx_deps_file.open("r") as f: | 357 | with spdx_deps_file.open("r") as f: |
358 | deps = json.load(f) | 358 | deps = json.load(f) |
359 | 359 | ||
360 | for dep_pn, dep_hashfn in deps: | 360 | for dep_pn, dep_hashfn, in_taskhash in deps: |
361 | # If this dependency is not calculated in the taskhash skip it. | ||
362 | # Otherwise, it can result in broken links since this task won't | ||
363 | # rebuild and see the new SPDX ID if the dependency changes | ||
364 | if not in_taskhash: | ||
365 | continue | ||
366 | |||
361 | dep_recipe_path = oe.sbom.doc_find_by_hashfn(deploy_dir_spdx, package_archs, "recipe-" + dep_pn, dep_hashfn) | 367 | dep_recipe_path = oe.sbom.doc_find_by_hashfn(deploy_dir_spdx, package_archs, "recipe-" + dep_pn, dep_hashfn) |
362 | if not dep_recipe_path: | 368 | if not dep_recipe_path: |
363 | bb.fatal("Cannot find any SPDX file for recipe %s, %s" % (dep_pn, dep_hashfn)) | 369 | bb.fatal("Cannot find any SPDX file for recipe %s, %s" % (dep_pn, dep_hashfn)) |
@@ -478,7 +484,7 @@ def collect_direct_deps(d, dep_task): | |||
478 | for dep_name in this_dep[3]: | 484 | for dep_name in this_dep[3]: |
479 | dep_data = taskdepdata[dep_name] | 485 | dep_data = taskdepdata[dep_name] |
480 | if dep_data[1] == dep_task and dep_data[0] != pn: | 486 | if dep_data[1] == dep_task and dep_data[0] != pn: |
481 | deps.add((dep_data[0], dep_data[7])) | 487 | deps.add((dep_data[0], dep_data[7], dep_name in this_dep[8])) |
482 | 488 | ||
483 | return sorted(deps) | 489 | return sorted(deps) |
484 | 490 | ||
@@ -721,9 +727,9 @@ def collect_package_providers(d): | |||
721 | providers = {} | 727 | providers = {} |
722 | 728 | ||
723 | deps = collect_direct_deps(d, "do_create_spdx") | 729 | deps = collect_direct_deps(d, "do_create_spdx") |
724 | deps.append((d.getVar("PN"), d.getVar("BB_HASHFILENAME"))) | 730 | deps.append((d.getVar("PN"), d.getVar("BB_HASHFILENAME"), True)) |
725 | 731 | ||
726 | for dep_pn, dep_hashfn in deps: | 732 | for dep_pn, dep_hashfn, _ in deps: |
727 | localdata = d | 733 | localdata = d |
728 | recipe_data = oe.packagedata.read_pkgdata(dep_pn, localdata) | 734 | recipe_data = oe.packagedata.read_pkgdata(dep_pn, localdata) |
729 | if not recipe_data: | 735 | if not recipe_data: |
diff --git a/meta/classes/devtool-source.bbclass b/meta/classes/devtool-source.bbclass index 4158c20c7e..3e24800dcb 100644 --- a/meta/classes/devtool-source.bbclass +++ b/meta/classes/devtool-source.bbclass | |||
@@ -26,8 +26,6 @@ | |||
26 | 26 | ||
27 | 27 | ||
28 | DEVTOOL_TEMPDIR ?= "" | 28 | DEVTOOL_TEMPDIR ?= "" |
29 | DEVTOOL_PATCH_SRCDIR = "${DEVTOOL_TEMPDIR}/patchworkdir" | ||
30 | |||
31 | 29 | ||
32 | python() { | 30 | python() { |
33 | tempdir = d.getVar('DEVTOOL_TEMPDIR') | 31 | tempdir = d.getVar('DEVTOOL_TEMPDIR') |
@@ -60,7 +58,6 @@ python() { | |||
60 | else: | 58 | else: |
61 | unpacktask = 'do_unpack' | 59 | unpacktask = 'do_unpack' |
62 | d.appendVarFlag(unpacktask, 'postfuncs', ' devtool_post_unpack') | 60 | d.appendVarFlag(unpacktask, 'postfuncs', ' devtool_post_unpack') |
63 | d.prependVarFlag('do_patch', 'prefuncs', ' devtool_pre_patch') | ||
64 | d.appendVarFlag('do_patch', 'postfuncs', ' devtool_post_patch') | 61 | d.appendVarFlag('do_patch', 'postfuncs', ' devtool_post_patch') |
65 | 62 | ||
66 | # NOTE: in order for the patch stuff to be fully functional, | 63 | # NOTE: in order for the patch stuff to be fully functional, |
@@ -79,67 +76,23 @@ python devtool_post_unpack() { | |||
79 | 76 | ||
80 | tempdir = d.getVar('DEVTOOL_TEMPDIR') | 77 | tempdir = d.getVar('DEVTOOL_TEMPDIR') |
81 | workdir = d.getVar('WORKDIR') | 78 | workdir = d.getVar('WORKDIR') |
79 | unpackdir = d.getVar('UNPACKDIR') | ||
82 | srcsubdir = d.getVar('S') | 80 | srcsubdir = d.getVar('S') |
83 | 81 | ||
84 | def _move_file(src, dst): | 82 | # Add locally copied files to gitignore as we add back to the metadata directly |
85 | """Move a file. Creates all the directory components of destination path.""" | ||
86 | dst_d = os.path.dirname(dst) | ||
87 | if dst_d: | ||
88 | bb.utils.mkdirhier(dst_d) | ||
89 | shutil.move(src, dst) | ||
90 | |||
91 | def _ls_tree(directory): | ||
92 | """Recursive listing of files in a directory""" | ||
93 | ret = [] | ||
94 | for root, dirs, files in os.walk(directory): | ||
95 | ret.extend([os.path.relpath(os.path.join(root, fname), directory) for | ||
96 | fname in files]) | ||
97 | return ret | ||
98 | |||
99 | is_kernel_yocto = bb.data.inherits_class('kernel-yocto', d) | ||
100 | # Move local source files into separate subdir | ||
101 | recipe_patches = [os.path.basename(patch) for patch in | ||
102 | oe.recipeutils.get_recipe_patches(d)] | ||
103 | local_files = oe.recipeutils.get_recipe_local_files(d) | 83 | local_files = oe.recipeutils.get_recipe_local_files(d) |
104 | |||
105 | if is_kernel_yocto: | ||
106 | for key in [f for f in local_files if f.endswith('scc')]: | ||
107 | with open(local_files[key], 'r') as sccfile: | ||
108 | for l in sccfile: | ||
109 | line = l.split() | ||
110 | if line and line[0] in ('kconf', 'patch'): | ||
111 | cfg = os.path.join(os.path.dirname(local_files[key]), line[-1]) | ||
112 | if cfg not in local_files.values(): | ||
113 | local_files[line[-1]] = cfg | ||
114 | shutil.copy2(cfg, workdir) | ||
115 | |||
116 | # Ignore local files with subdir={BP} | ||
117 | srcabspath = os.path.abspath(srcsubdir) | 84 | srcabspath = os.path.abspath(srcsubdir) |
118 | local_files = [fname for fname in local_files if | 85 | local_files = [fname for fname in local_files if |
119 | os.path.exists(os.path.join(workdir, fname)) and | 86 | os.path.exists(os.path.join(unpackdir, fname)) and |
120 | (srcabspath == workdir or not | 87 | srcabspath == unpackdir] |
121 | os.path.join(workdir, fname).startswith(srcabspath + | ||
122 | os.sep))] | ||
123 | if local_files: | 88 | if local_files: |
124 | for fname in local_files: | 89 | with open(os.path.join(tempdir, '.gitignore'), 'a+') as f: |
125 | _move_file(os.path.join(workdir, fname), | 90 | f.write('# Ignore local files, by default. Remove following lines' |
126 | os.path.join(tempdir, 'oe-local-files', fname)) | 91 | 'if you want to commit the directory to Git\n') |
127 | with open(os.path.join(tempdir, 'oe-local-files', '.gitignore'), | 92 | for fname in local_files: |
128 | 'w') as f: | 93 | f.write('%s\n' % fname) |
129 | f.write('# Ignore local files, by default. Remove this file ' | 94 | |
130 | 'if you want to commit the directory to Git\n*\n') | 95 | if os.path.dirname(srcsubdir) != workdir: |
131 | |||
132 | if srcsubdir == workdir: | ||
133 | # Find non-patch non-local sources that were "unpacked" to srctree | ||
134 | # directory | ||
135 | src_files = [fname for fname in _ls_tree(workdir) if | ||
136 | os.path.basename(fname) not in recipe_patches] | ||
137 | srcsubdir = d.getVar('DEVTOOL_PATCH_SRCDIR') | ||
138 | # Move source files to S | ||
139 | for path in src_files: | ||
140 | _move_file(os.path.join(workdir, path), | ||
141 | os.path.join(srcsubdir, path)) | ||
142 | elif os.path.dirname(srcsubdir) != workdir: | ||
143 | # Handle if S is set to a subdirectory of the source | 96 | # Handle if S is set to a subdirectory of the source |
144 | srcsubdir = os.path.join(workdir, os.path.relpath(srcsubdir, workdir).split(os.sep)[0]) | 97 | srcsubdir = os.path.join(workdir, os.path.relpath(srcsubdir, workdir).split(os.sep)[0]) |
145 | 98 | ||
@@ -164,11 +117,6 @@ python devtool_post_unpack() { | |||
164 | f.write(srcsubdir) | 117 | f.write(srcsubdir) |
165 | } | 118 | } |
166 | 119 | ||
167 | python devtool_pre_patch() { | ||
168 | if d.getVar('S') == d.getVar('WORKDIR'): | ||
169 | d.setVar('S', '${DEVTOOL_PATCH_SRCDIR}') | ||
170 | } | ||
171 | |||
172 | python devtool_post_patch() { | 120 | python devtool_post_patch() { |
173 | import shutil | 121 | import shutil |
174 | tempdir = d.getVar('DEVTOOL_TEMPDIR') | 122 | tempdir = d.getVar('DEVTOOL_TEMPDIR') |
diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index ba8bd5f975..b2c500d873 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf | |||
@@ -405,6 +405,7 @@ STAMP = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}" | |||
405 | STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*" | 405 | STAMPCLEAN = "${STAMPS_DIR}/${MULTIMACH_TARGET_SYS}/${PN}/*-*" |
406 | BASE_WORKDIR ?= "${TMPDIR}/work" | 406 | BASE_WORKDIR ?= "${TMPDIR}/work" |
407 | WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}" | 407 | WORKDIR = "${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}/${PN}/${PV}" |
408 | UNPACKDIR ??= "${WORKDIR}" | ||
408 | T = "${WORKDIR}/temp" | 409 | T = "${WORKDIR}/temp" |
409 | D = "${WORKDIR}/image" | 410 | D = "${WORKDIR}/image" |
410 | S = "${WORKDIR}/${BP}" | 411 | S = "${WORKDIR}/${BP}" |
diff --git a/meta/conf/distro/include/distro_alias.inc b/meta/conf/distro/include/distro_alias.inc index e6131c815a..2b579339b2 100644 --- a/meta/conf/distro/include/distro_alias.inc +++ b/meta/conf/distro/include/distro_alias.inc | |||
@@ -123,7 +123,6 @@ DISTRO_PN_ALIAS:pn-keymaps = "OE-Core" | |||
123 | DISTRO_PN_ALIAS:pn-kf = "OSPDT" | 123 | DISTRO_PN_ALIAS:pn-kf = "OSPDT" |
124 | DISTRO_PN_ALIAS:pn-lame = "Debian=lame Ubuntu=lame" | 124 | DISTRO_PN_ALIAS:pn-lame = "Debian=lame Ubuntu=lame" |
125 | DISTRO_PN_ALIAS:pn-ldconfig-native = "Ubuntu=libc-bin Fedora=glibc" | 125 | DISTRO_PN_ALIAS:pn-ldconfig-native = "Ubuntu=libc-bin Fedora=glibc" |
126 | DISTRO_PN_ALIAS:pn-liba52 = "Mandriva=a52dec Debian=a52dec" | ||
127 | DISTRO_PN_ALIAS:pn-libacpi = "Ubuntu=libacpi Mandriva=libacpi" | 126 | DISTRO_PN_ALIAS:pn-libacpi = "Ubuntu=libacpi Mandriva=libacpi" |
128 | DISTRO_PN_ALIAS:pn-libatomics-ops = "Meego=libatomic-ops Debian=libatomic-ops Ubuntu=libatomic-ops OpenSuSE=libatomic-ops Mandriva=libatomic-ops" | 127 | DISTRO_PN_ALIAS:pn-libatomics-ops = "Meego=libatomic-ops Debian=libatomic-ops Ubuntu=libatomic-ops OpenSuSE=libatomic-ops Mandriva=libatomic-ops" |
129 | DISTRO_PN_ALIAS:pn-libcgroup = "Ubuntu=libcgroup1 Debian=libcgroup1" | 128 | DISTRO_PN_ALIAS:pn-libcgroup = "Ubuntu=libcgroup1 Debian=libcgroup1" |
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 20eb3a0446..aab53c22eb 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
@@ -190,7 +190,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r | |||
190 | RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>" | 190 | RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>" |
191 | RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>" | 191 | RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>" |
192 | RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>" | 192 | RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>" |
193 | RECIPE_MAINTAINER:pn-gcc-source-13.2.0 = "Khem Raj <raj.khem@gmail.com>" | 193 | RECIPE_MAINTAINER:pn-gcc-source-14.1.0 = "Khem Raj <raj.khem@gmail.com>" |
194 | RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>" | 194 | RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>" |
195 | RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>" | 195 | RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>" |
196 | RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>" | 196 | RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>" |
@@ -205,6 +205,7 @@ RECIPE_MAINTAINER:pn-gi-docgen = "Alexander Kanavin <alex.kanavin@gmail.com>" | |||
205 | RECIPE_MAINTAINER:pn-git = "Robert Yang <liezhi.yang@windriver.com>" | 205 | RECIPE_MAINTAINER:pn-git = "Robert Yang <liezhi.yang@windriver.com>" |
206 | RECIPE_MAINTAINER:pn-glew = "Anuj Mittal <anuj.mittal@intel.com>" | 206 | RECIPE_MAINTAINER:pn-glew = "Anuj Mittal <anuj.mittal@intel.com>" |
207 | RECIPE_MAINTAINER:pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>" | 207 | RECIPE_MAINTAINER:pn-glib-2.0 = "Anuj Mittal <anuj.mittal@intel.com>" |
208 | RECIPE_MAINTAINER:pn-glib-2.0-initial = "Anuj Mittal <anuj.mittal@intel.com>" | ||
208 | RECIPE_MAINTAINER:pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>" | 209 | RECIPE_MAINTAINER:pn-glib-networking = "Anuj Mittal <anuj.mittal@intel.com>" |
209 | RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>" | 210 | RECIPE_MAINTAINER:pn-glibc = "Khem Raj <raj.khem@gmail.com>" |
210 | RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>" | 211 | RECIPE_MAINTAINER:pn-glibc-locale = "Khem Raj <raj.khem@gmail.com>" |
@@ -305,7 +306,6 @@ RECIPE_MAINTAINER:pn-l3afpad = "Anuj Mittal <anuj.mittal@intel.com>" | |||
305 | RECIPE_MAINTAINER:pn-lame = "Michael Opdenacker <michael.opdenacker@bootlin.com>" | 306 | RECIPE_MAINTAINER:pn-lame = "Michael Opdenacker <michael.opdenacker@bootlin.com>" |
306 | RECIPE_MAINTAINER:pn-ldconfig-native = "Khem Raj <raj.khem@gmail.com>" | 307 | RECIPE_MAINTAINER:pn-ldconfig-native = "Khem Raj <raj.khem@gmail.com>" |
307 | RECIPE_MAINTAINER:pn-less = "Yi Zhao <yi.zhao@windriver.com>" | 308 | RECIPE_MAINTAINER:pn-less = "Yi Zhao <yi.zhao@windriver.com>" |
308 | RECIPE_MAINTAINER:pn-liba52 = "Unassigned <unassigned@yoctoproject.org>" | ||
309 | RECIPE_MAINTAINER:pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>" | 309 | RECIPE_MAINTAINER:pn-libacpi = "Anuj Mittal <anuj.mittal@intel.com>" |
310 | RECIPE_MAINTAINER:pn-libadwaita = "Alexander Kanavin <alex.kanavin@gmail.com>" | 310 | RECIPE_MAINTAINER:pn-libadwaita = "Alexander Kanavin <alex.kanavin@gmail.com>" |
311 | RECIPE_MAINTAINER:pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>" | 311 | RECIPE_MAINTAINER:pn-libaio = "Alexander Kanavin <alex.kanavin@gmail.com>" |
@@ -524,7 +524,6 @@ RECIPE_MAINTAINER:pn-mkfontscale = "Unassigned <unassigned@yoctoproject.org>" | |||
524 | RECIPE_MAINTAINER:pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>" | 524 | RECIPE_MAINTAINER:pn-mmc-utils = "Anuj Mittal <anuj.mittal@intel.com>" |
525 | RECIPE_MAINTAINER:pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>" | 525 | RECIPE_MAINTAINER:pn-mobile-broadband-provider-info = "Alexander Kanavin <alex.kanavin@gmail.com>" |
526 | RECIPE_MAINTAINER:pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>" | 526 | RECIPE_MAINTAINER:pn-modutils-initscripts = "Yi Zhao <yi.zhao@windriver.com>" |
527 | RECIPE_MAINTAINER:pn-mpeg2dec = "Alexander Kanavin <alex.kanavin@gmail.com>" | ||
528 | RECIPE_MAINTAINER:pn-mpfr = "Khem Raj <raj.khem@gmail.com>" | 527 | RECIPE_MAINTAINER:pn-mpfr = "Khem Raj <raj.khem@gmail.com>" |
529 | RECIPE_MAINTAINER:pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>" | 528 | RECIPE_MAINTAINER:pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>" |
530 | RECIPE_MAINTAINER:pn-msmtp = "Wang Mingyu <wangmy@fujitsu.com>" | 529 | RECIPE_MAINTAINER:pn-msmtp = "Wang Mingyu <wangmy@fujitsu.com>" |
diff --git a/meta/conf/distro/include/tclibc-newlib.inc b/meta/conf/distro/include/tclibc-newlib.inc index 238b430e49..34318b2454 100644 --- a/meta/conf/distro/include/tclibc-newlib.inc +++ b/meta/conf/distro/include/tclibc-newlib.inc | |||
@@ -42,6 +42,6 @@ TOOLCHAIN_HOST_TASK ?= "packagegroup-cross-canadian-${MACHINE} nativesdk-qemu na | |||
42 | TOOLCHAIN_TARGET_TASK ?= "${LIBC_DEPENDENCIES}" | 42 | TOOLCHAIN_TARGET_TASK ?= "${LIBC_DEPENDENCIES}" |
43 | TOOLCHAIN_NEED_CONFIGSITE_CACHE:remove = "zlib ncurses" | 43 | TOOLCHAIN_NEED_CONFIGSITE_CACHE:remove = "zlib ncurses" |
44 | 44 | ||
45 | # disable pie security flags by default | 45 | # disable pie security flags by default since RISCV linker doesnt support them |
46 | SECURITY_CFLAGS:libc-newlib = "${SECURITY_NOPIE_CFLAGS}" | 46 | SECURITY_CFLAGS:libc-newlib:qemuriscv32 = "${SECURITY_NOPIE_CFLAGS}" |
47 | SECURITY_LDFLAGS:libc-newlib = "" | 47 | SECURITY_CFLAGS:libc-newlib:qemuriscv64 = "${SECURITY_NOPIE_CFLAGS}" |
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index 643394f3eb..23d5aa6de8 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc | |||
@@ -16,7 +16,7 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = "nativesdk-gcc-runtime" | |||
16 | # Default libc config | 16 | # Default libc config |
17 | PREFERRED_PROVIDER_virtual/gettext ??= "gettext" | 17 | PREFERRED_PROVIDER_virtual/gettext ??= "gettext" |
18 | 18 | ||
19 | GCCVERSION ?= "13.%" | 19 | GCCVERSION ?= "14.%" |
20 | SDKGCCVERSION ?= "${GCCVERSION}" | 20 | SDKGCCVERSION ?= "${GCCVERSION}" |
21 | BINUVERSION ?= "2.42%" | 21 | BINUVERSION ?= "2.42%" |
22 | GDBVERSION ?= "14.%" | 22 | GDBVERSION ?= "14.%" |
diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc index 4ac66fd506..657c1032f9 100644 --- a/meta/conf/distro/include/yocto-uninative.inc +++ b/meta/conf/distro/include/yocto-uninative.inc | |||
@@ -7,9 +7,9 @@ | |||
7 | # | 7 | # |
8 | 8 | ||
9 | UNINATIVE_MAXGLIBCVERSION = "2.39" | 9 | UNINATIVE_MAXGLIBCVERSION = "2.39" |
10 | UNINATIVE_VERSION = "4.4" | 10 | UNINATIVE_VERSION = "4.5" |
11 | 11 | ||
12 | UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" | 12 | UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/" |
13 | UNINATIVE_CHECKSUM[aarch64] ?= "b61876130f494f75092f21086b4a64ea5fb064045769bf1d32e9cb6af17ea8ec" | 13 | UNINATIVE_CHECKSUM[aarch64] ?= "df2e29e2e6feb187a3499abf3b1322a3b251da819c77a7b19d4fe952351365ab" |
14 | UNINATIVE_CHECKSUM[i686] ?= "9f28627828f0082cc0344eede4d9a861a9a064bfa8f36e072e46212f0fe45fcc" | 14 | UNINATIVE_CHECKSUM[i686] ?= "8ef3eda53428b484c20157f6ec3c130b03080b3d4b3889067e0e184e05102d35" |
15 | UNINATIVE_CHECKSUM[x86_64] ?= "d81c54284be2bb886931fc87281d58177a2cd381cf99d1981f8923039a72a302" | 15 | UNINATIVE_CHECKSUM[x86_64] ?= "43ee6a25bcf5fce16ea87076d6a96e79ead6ced90690a058d07432f902773473" |
diff --git a/meta/conf/sanity.conf b/meta/conf/sanity.conf index d2f56a3fb0..02775970ae 100644 --- a/meta/conf/sanity.conf +++ b/meta/conf/sanity.conf | |||
@@ -3,7 +3,7 @@ | |||
3 | # See sanity.bbclass | 3 | # See sanity.bbclass |
4 | # | 4 | # |
5 | # Expert users can confirm their sanity with "touch conf/sanity.conf" | 5 | # Expert users can confirm their sanity with "touch conf/sanity.conf" |
6 | BB_MIN_VERSION = "2.7.3" | 6 | BB_MIN_VERSION = "2.9.1" |
7 | 7 | ||
8 | SANITY_ABIFILE = "${TMPDIR}/abi_version" | 8 | SANITY_ABIFILE = "${TMPDIR}/abi_version" |
9 | 9 | ||
diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index 4386b985bb..89d30005fd 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh | |||
@@ -164,7 +164,9 @@ else | |||
164 | fi | 164 | fi |
165 | 165 | ||
166 | # limit the length for target_sdk_dir, ensure the relocation behaviour in relocate_sdk.py has right result. | 166 | # limit the length for target_sdk_dir, ensure the relocation behaviour in relocate_sdk.py has right result. |
167 | if [ ${#target_sdk_dir} -gt 2048 ]; then | 167 | # This is due to ELF interpreter being set to 'a'*1024 in |
168 | # meta/recipes-core/meta/uninative-tarball.bb | ||
169 | if [ ${#target_sdk_dir} -gt 1024 ]; then | ||
168 | echo "Error: The target directory path is too long!!!" | 170 | echo "Error: The target directory path is too long!!!" |
169 | exit 1 | 171 | exit 1 |
170 | fi | 172 | fi |
diff --git a/meta/lib/oe/package_manager/__init__.py b/meta/lib/oe/package_manager/__init__.py index 6774cdb794..d3b2317894 100644 --- a/meta/lib/oe/package_manager/__init__.py +++ b/meta/lib/oe/package_manager/__init__.py | |||
@@ -449,7 +449,7 @@ class PackageManager(object, metaclass=ABCMeta): | |||
449 | return res | 449 | return res |
450 | return _append(uris, base_paths) | 450 | return _append(uris, base_paths) |
451 | 451 | ||
452 | def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencies): | 452 | def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencies, include_self=False): |
453 | """ | 453 | """ |
454 | Go through our do_package_write_X dependencies and hardlink the packages we depend | 454 | Go through our do_package_write_X dependencies and hardlink the packages we depend |
455 | upon into the repo directory. This prevents us seeing other packages that may | 455 | upon into the repo directory. This prevents us seeing other packages that may |
@@ -486,14 +486,17 @@ def create_packages_dir(d, subrepo_dir, deploydir, taskname, filterbydependencie | |||
486 | bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?") | 486 | bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?") |
487 | pkgdeps = set() | 487 | pkgdeps = set() |
488 | start = [start] | 488 | start = [start] |
489 | seen = set(start) | 489 | if include_self: |
490 | seen = set() | ||
491 | else: | ||
492 | seen = set(start) | ||
490 | # Support direct dependencies (do_rootfs -> do_package_write_X) | 493 | # Support direct dependencies (do_rootfs -> do_package_write_X) |
491 | # or indirect dependencies within PN (do_populate_sdk_ext -> do_rootfs -> do_package_write_X) | 494 | # or indirect dependencies within PN (do_populate_sdk_ext -> do_rootfs -> do_package_write_X) |
492 | while start: | 495 | while start: |
493 | next = [] | 496 | next = [] |
494 | for dep2 in start: | 497 | for dep2 in start: |
495 | for dep in taskdepdata[dep2][3]: | 498 | for dep in taskdepdata[dep2][3]: |
496 | if taskdepdata[dep][0] != pn: | 499 | if include_self or taskdepdata[dep][0] != pn: |
497 | if "do_" + taskname in dep: | 500 | if "do_" + taskname in dep: |
498 | pkgdeps.add(dep) | 501 | pkgdeps.add(dep) |
499 | elif dep not in seen: | 502 | elif dep not in seen: |
diff --git a/meta/lib/oe/package_manager/ipk/__init__.py b/meta/lib/oe/package_manager/ipk/__init__.py index 8cc9953a02..0f0038d00d 100644 --- a/meta/lib/oe/package_manager/ipk/__init__.py +++ b/meta/lib/oe/package_manager/ipk/__init__.py | |||
@@ -4,6 +4,7 @@ | |||
4 | # SPDX-License-Identifier: GPL-2.0-only | 4 | # SPDX-License-Identifier: GPL-2.0-only |
5 | # | 5 | # |
6 | 6 | ||
7 | import glob | ||
7 | import re | 8 | import re |
8 | import shutil | 9 | import shutil |
9 | import subprocess | 10 | import subprocess |
@@ -134,11 +135,16 @@ class OpkgDpkgPM(PackageManager): | |||
134 | tmp_dir = tempfile.mkdtemp() | 135 | tmp_dir = tempfile.mkdtemp() |
135 | current_dir = os.getcwd() | 136 | current_dir = os.getcwd() |
136 | os.chdir(tmp_dir) | 137 | os.chdir(tmp_dir) |
137 | data_tar = 'data.tar.zst' | ||
138 | 138 | ||
139 | try: | 139 | try: |
140 | cmd = [ar_cmd, 'x', pkg_path] | 140 | cmd = [ar_cmd, 'x', pkg_path] |
141 | output = subprocess.check_output(cmd, stderr=subprocess.STDOUT) | 141 | output = subprocess.check_output(cmd, stderr=subprocess.STDOUT) |
142 | data_tar = glob.glob("data.tar.*") | ||
143 | if len(data_tar) != 1: | ||
144 | bb.fatal("Unable to extract %s package. Failed to identify " | ||
145 | "data tarball (found tarballs '%s').", | ||
146 | pkg_path, data_tar) | ||
147 | data_tar = data_tar[0] | ||
142 | cmd = [tar_cmd, 'xf', data_tar] | 148 | cmd = [tar_cmd, 'xf', data_tar] |
143 | output = subprocess.check_output(cmd, stderr=subprocess.STDOUT) | 149 | output = subprocess.check_output(cmd, stderr=subprocess.STDOUT) |
144 | except subprocess.CalledProcessError as e: | 150 | except subprocess.CalledProcessError as e: |
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py index 60a0cc8291..58c6e34fe8 100644 --- a/meta/lib/oe/patch.py +++ b/meta/lib/oe/patch.py | |||
@@ -882,7 +882,7 @@ class UserResolver(Resolver): | |||
882 | os.chdir(olddir) | 882 | os.chdir(olddir) |
883 | 883 | ||
884 | 884 | ||
885 | def patch_path(url, fetch, workdir, expand=True): | 885 | def patch_path(url, fetch, unpackdir, expand=True): |
886 | """Return the local path of a patch, or return nothing if this isn't a patch""" | 886 | """Return the local path of a patch, or return nothing if this isn't a patch""" |
887 | 887 | ||
888 | local = fetch.localpath(url) | 888 | local = fetch.localpath(url) |
@@ -891,7 +891,7 @@ def patch_path(url, fetch, workdir, expand=True): | |||
891 | base, ext = os.path.splitext(os.path.basename(local)) | 891 | base, ext = os.path.splitext(os.path.basename(local)) |
892 | if ext in ('.gz', '.bz2', '.xz', '.Z'): | 892 | if ext in ('.gz', '.bz2', '.xz', '.Z'): |
893 | if expand: | 893 | if expand: |
894 | local = os.path.join(workdir, base) | 894 | local = os.path.join(unpackdir, base) |
895 | ext = os.path.splitext(base)[1] | 895 | ext = os.path.splitext(base)[1] |
896 | 896 | ||
897 | urldata = fetch.ud[url] | 897 | urldata = fetch.ud[url] |
@@ -905,12 +905,12 @@ def patch_path(url, fetch, workdir, expand=True): | |||
905 | return local | 905 | return local |
906 | 906 | ||
907 | def src_patches(d, all=False, expand=True): | 907 | def src_patches(d, all=False, expand=True): |
908 | workdir = d.getVar('WORKDIR') | 908 | unpackdir = d.getVar('UNPACKDIR') |
909 | fetch = bb.fetch2.Fetch([], d) | 909 | fetch = bb.fetch2.Fetch([], d) |
910 | patches = [] | 910 | patches = [] |
911 | sources = [] | 911 | sources = [] |
912 | for url in fetch.urls: | 912 | for url in fetch.urls: |
913 | local = patch_path(url, fetch, workdir, expand) | 913 | local = patch_path(url, fetch, unpackdir, expand) |
914 | if not local: | 914 | if not local: |
915 | if all: | 915 | if all: |
916 | local = fetch.localpath(url) | 916 | local = fetch.localpath(url) |
diff --git a/meta/lib/oe/recipeutils.py b/meta/lib/oe/recipeutils.py index de1fbdd3a8..2d69a33113 100644 --- a/meta/lib/oe/recipeutils.py +++ b/meta/lib/oe/recipeutils.py | |||
@@ -818,7 +818,7 @@ def bbappend_recipe(rd, destlayerdir, srcfiles, install=None, wildcardver=False, | |||
818 | instdirline = 'install -d ${D}%s' % os.path.dirname(instdestpath) | 818 | instdirline = 'install -d ${D}%s' % os.path.dirname(instdestpath) |
819 | if not instdirline in instfunclines: | 819 | if not instdirline in instfunclines: |
820 | instfunclines.append(instdirline) | 820 | instfunclines.append(instdirline) |
821 | instfunclines.append('install -m %s ${WORKDIR}/%s ${D}%s' % (perms, os.path.basename(srcfile), instdestpath)) | 821 | instfunclines.append('install -m %s ${UNPACKDIR}/%s ${D}%s' % (perms, os.path.basename(srcfile), instdestpath)) |
822 | if instfunclines: | 822 | if instfunclines: |
823 | bbappendlines.append(('do_install:append%s()' % appendoverride, '', instfunclines)) | 823 | bbappendlines.append(('do_install:append%s()' % appendoverride, '', instfunclines)) |
824 | 824 | ||
diff --git a/meta/lib/oe/reproducible.py b/meta/lib/oe/reproducible.py index 448befce33..a9f717159e 100644 --- a/meta/lib/oe/reproducible.py +++ b/meta/lib/oe/reproducible.py | |||
@@ -120,7 +120,7 @@ def get_source_date_epoch_from_git(d, sourcedir): | |||
120 | return int(p.stdout.decode('utf-8')) | 120 | return int(p.stdout.decode('utf-8')) |
121 | 121 | ||
122 | def get_source_date_epoch_from_youngest_file(d, sourcedir): | 122 | def get_source_date_epoch_from_youngest_file(d, sourcedir): |
123 | if sourcedir == d.getVar('WORKDIR'): | 123 | if sourcedir == d.getVar('UNPACKDIR'): |
124 | # These sources are almost certainly not from a tarball | 124 | # These sources are almost certainly not from a tarball |
125 | return None | 125 | return None |
126 | 126 | ||
diff --git a/meta/lib/oeqa/sdk/cases/buildcpio.py b/meta/lib/oeqa/sdk/cases/autotools.py index 51003b19cd..848e9392ec 100644 --- a/meta/lib/oeqa/sdk/cases/buildcpio.py +++ b/meta/lib/oeqa/sdk/cases/autotools.py | |||
@@ -7,13 +7,12 @@ | |||
7 | import os | 7 | import os |
8 | import tempfile | 8 | import tempfile |
9 | import subprocess | 9 | import subprocess |
10 | import unittest | ||
11 | 10 | ||
12 | from oeqa.sdk.case import OESDKTestCase | 11 | from oeqa.sdk.case import OESDKTestCase |
13 | from oeqa.utils.subprocesstweak import errors_have_output | 12 | from oeqa.utils.subprocesstweak import errors_have_output |
14 | errors_have_output() | 13 | errors_have_output() |
15 | 14 | ||
16 | class BuildCpioTest(OESDKTestCase): | 15 | class AutotoolsTest(OESDKTestCase): |
17 | """ | 16 | """ |
18 | Check that autotools will cross-compile correctly. | 17 | Check that autotools will cross-compile correctly. |
19 | """ | 18 | """ |
diff --git a/meta/lib/oeqa/sdk/cases/assimp.py b/meta/lib/oeqa/sdk/cases/cmake.py index e986838aea..db7d826a38 100644 --- a/meta/lib/oeqa/sdk/cases/assimp.py +++ b/meta/lib/oeqa/sdk/cases/cmake.py | |||
@@ -13,7 +13,7 @@ from oeqa.sdk.case import OESDKTestCase | |||
13 | from oeqa.utils.subprocesstweak import errors_have_output | 13 | from oeqa.utils.subprocesstweak import errors_have_output |
14 | errors_have_output() | 14 | errors_have_output() |
15 | 15 | ||
16 | class BuildAssimp(OESDKTestCase): | 16 | class CMakeTest(OESDKTestCase): |
17 | """ | 17 | """ |
18 | Test case to build a project using cmake. | 18 | Test case to build a project using cmake. |
19 | """ | 19 | """ |
@@ -21,14 +21,14 @@ class BuildAssimp(OESDKTestCase): | |||
21 | def setUp(self): | 21 | def setUp(self): |
22 | if not (self.tc.hasHostPackage("nativesdk-cmake") or | 22 | if not (self.tc.hasHostPackage("nativesdk-cmake") or |
23 | self.tc.hasHostPackage("cmake-native")): | 23 | self.tc.hasHostPackage("cmake-native")): |
24 | raise unittest.SkipTest("Needs cmake") | 24 | raise unittest.SkipTest("CMakeTest: needs cmake") |
25 | 25 | ||
26 | def test_assimp(self): | 26 | def test_assimp(self): |
27 | with tempfile.TemporaryDirectory(prefix="assimp", dir=self.tc.sdk_dir) as testdir: | 27 | with tempfile.TemporaryDirectory(prefix="assimp", dir=self.tc.sdk_dir) as testdir: |
28 | tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/assimp/assimp/archive/v5.3.1.tar.gz") | 28 | tarball = self.fetch(testdir, self.td["DL_DIR"], "https://github.com/assimp/assimp/archive/v5.4.1.tar.gz") |
29 | 29 | ||
30 | dirs = {} | 30 | dirs = {} |
31 | dirs["source"] = os.path.join(testdir, "assimp-5.3.1") | 31 | dirs["source"] = os.path.join(testdir, "assimp-5.4.1") |
32 | dirs["build"] = os.path.join(testdir, "build") | 32 | dirs["build"] = os.path.join(testdir, "build") |
33 | dirs["install"] = os.path.join(testdir, "install") | 33 | dirs["install"] = os.path.join(testdir, "install") |
34 | 34 | ||
@@ -39,7 +39,7 @@ class BuildAssimp(OESDKTestCase): | |||
39 | self._run("sed -i '/# ifdef _FILE_OFFSET_BITS/I,+2 d' {source}/contrib/zlib/gzguts.h".format(**dirs)) | 39 | self._run("sed -i '/# ifdef _FILE_OFFSET_BITS/I,+2 d' {source}/contrib/zlib/gzguts.h".format(**dirs)) |
40 | os.makedirs(dirs["build"]) | 40 | os.makedirs(dirs["build"]) |
41 | 41 | ||
42 | self._run("cd {build} && cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DASSIMP_BUILD_ZLIB=ON {source}".format(**dirs)) | 42 | self._run("cd {build} && cmake -DASSIMP_WARNINGS_AS_ERRORS=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DASSIMP_BUILD_ZLIB=ON {source}".format(**dirs)) |
43 | self._run("cmake --build {build} -- -j".format(**dirs)) | 43 | self._run("cmake --build {build} -- -j".format(**dirs)) |
44 | self._run("cmake --build {build} --target install -- DESTDIR={install}".format(**dirs)) | 44 | self._run("cmake --build {build} --target install -- DESTDIR={install}".format(**dirs)) |
45 | self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libassimp.so.5.3.0")) | 45 | self.check_elf(os.path.join(dirs["install"], "usr", "local", "lib", "libassimp.so.5.4.1")) |
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/gtk3.py index 178f07472d..c329c4bb86 100644 --- a/meta/lib/oeqa/sdk/cases/buildgalculator.py +++ b/meta/lib/oeqa/sdk/cases/gtk3.py | |||
@@ -13,7 +13,7 @@ from oeqa.sdk.case import OESDKTestCase | |||
13 | from oeqa.utils.subprocesstweak import errors_have_output | 13 | from oeqa.utils.subprocesstweak import errors_have_output |
14 | errors_have_output() | 14 | errors_have_output() |
15 | 15 | ||
16 | class GalculatorTest(OESDKTestCase): | 16 | class GTK3Test(OESDKTestCase): |
17 | """ | 17 | """ |
18 | Test that autotools and GTK+ 3 compiles correctly. | 18 | Test that autotools and GTK+ 3 compiles correctly. |
19 | """ | 19 | """ |
diff --git a/meta/lib/oeqa/sdk/cases/buildlzip.py b/meta/lib/oeqa/sdk/cases/makefile.py index b4b7d85b88..2ff54ce25f 100644 --- a/meta/lib/oeqa/sdk/cases/buildlzip.py +++ b/meta/lib/oeqa/sdk/cases/makefile.py | |||
@@ -4,12 +4,12 @@ | |||
4 | # SPDX-License-Identifier: MIT | 4 | # SPDX-License-Identifier: MIT |
5 | # | 5 | # |
6 | 6 | ||
7 | import os, tempfile, subprocess, unittest | 7 | import os, tempfile, subprocess |
8 | from oeqa.sdk.case import OESDKTestCase | 8 | from oeqa.sdk.case import OESDKTestCase |
9 | from oeqa.utils.subprocesstweak import errors_have_output | 9 | from oeqa.utils.subprocesstweak import errors_have_output |
10 | errors_have_output() | 10 | errors_have_output() |
11 | 11 | ||
12 | class BuildLzipTest(OESDKTestCase): | 12 | class MakefileTest(OESDKTestCase): |
13 | """ | 13 | """ |
14 | Test that "plain" compilation works, using just $CC $CFLAGS etc. | 14 | Test that "plain" compilation works, using just $CC $CFLAGS etc. |
15 | """ | 15 | """ |
diff --git a/meta/lib/oeqa/sdk/cases/maturin.py b/meta/lib/oeqa/sdk/cases/maturin.py index ea10f568b2..20f6b553d0 100644 --- a/meta/lib/oeqa/sdk/cases/maturin.py +++ b/meta/lib/oeqa/sdk/cases/maturin.py | |||
@@ -8,7 +8,6 @@ import os | |||
8 | import shutil | 8 | import shutil |
9 | import unittest | 9 | import unittest |
10 | 10 | ||
11 | from oeqa.core.utils.path import remove_safe | ||
12 | from oeqa.sdk.case import OESDKTestCase | 11 | from oeqa.sdk.case import OESDKTestCase |
13 | from oeqa.utils.subprocesstweak import errors_have_output | 12 | from oeqa.utils.subprocesstweak import errors_have_output |
14 | 13 | ||
diff --git a/meta/lib/oeqa/sdk/cases/buildepoxy.py b/meta/lib/oeqa/sdk/cases/meson.py index 147ee3e0ee..be53df204a 100644 --- a/meta/lib/oeqa/sdk/cases/buildepoxy.py +++ b/meta/lib/oeqa/sdk/cases/meson.py | |||
@@ -13,14 +13,14 @@ from oeqa.sdk.case import OESDKTestCase | |||
13 | from oeqa.utils.subprocesstweak import errors_have_output | 13 | from oeqa.utils.subprocesstweak import errors_have_output |
14 | errors_have_output() | 14 | errors_have_output() |
15 | 15 | ||
16 | class EpoxyTest(OESDKTestCase): | 16 | class MesonTest(OESDKTestCase): |
17 | """ | 17 | """ |
18 | Test that Meson builds correctly. | 18 | Test that Meson builds correctly. |
19 | """ | 19 | """ |
20 | def setUp(self): | 20 | def setUp(self): |
21 | if not (self.tc.hasHostPackage("nativesdk-meson") or | 21 | if not (self.tc.hasHostPackage("nativesdk-meson") or |
22 | self.tc.hasHostPackage("meson-native")): | 22 | self.tc.hasHostPackage("meson-native")): |
23 | raise unittest.SkipTest("EpoxyTest class: SDK doesn't contain Meson") | 23 | raise unittest.SkipTest("MesonTest: needs meson") |
24 | 24 | ||
25 | def test_epoxy(self): | 25 | def test_epoxy(self): |
26 | with tempfile.TemporaryDirectory(prefix="epoxy", dir=self.tc.sdk_dir) as testdir: | 26 | with tempfile.TemporaryDirectory(prefix="epoxy", dir=self.tc.sdk_dir) as testdir: |
diff --git a/meta/lib/oeqa/sdk/cases/python.py b/meta/lib/oeqa/sdk/cases/python.py index 5ea992b9f3..51284949f5 100644 --- a/meta/lib/oeqa/sdk/cases/python.py +++ b/meta/lib/oeqa/sdk/cases/python.py | |||
@@ -4,7 +4,7 @@ | |||
4 | # SPDX-License-Identifier: MIT | 4 | # SPDX-License-Identifier: MIT |
5 | # | 5 | # |
6 | 6 | ||
7 | import subprocess, unittest | 7 | import unittest |
8 | from oeqa.sdk.case import OESDKTestCase | 8 | from oeqa.sdk.case import OESDKTestCase |
9 | 9 | ||
10 | from oeqa.utils.subprocesstweak import errors_have_output | 10 | from oeqa.utils.subprocesstweak import errors_have_output |
diff --git a/meta/lib/oeqa/sdk/cases/rust.py b/meta/lib/oeqa/sdk/cases/rust.py index f5d437bb19..a54245851b 100644 --- a/meta/lib/oeqa/sdk/cases/rust.py +++ b/meta/lib/oeqa/sdk/cases/rust.py | |||
@@ -8,7 +8,6 @@ import os | |||
8 | import shutil | 8 | import shutil |
9 | import unittest | 9 | import unittest |
10 | 10 | ||
11 | from oeqa.core.utils.path import remove_safe | ||
12 | from oeqa.sdk.case import OESDKTestCase | 11 | from oeqa.sdk.case import OESDKTestCase |
13 | 12 | ||
14 | from oeqa.utils.subprocesstweak import errors_have_output | 13 | from oeqa.utils.subprocesstweak import errors_have_output |
diff --git a/meta/lib/oeqa/sdkext/cases/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py index 5ffb732556..d0746e68eb 100644 --- a/meta/lib/oeqa/sdkext/cases/devtool.py +++ b/meta/lib/oeqa/sdkext/cases/devtool.py | |||
@@ -69,10 +69,9 @@ class DevtoolTest(OESDKExtTestCase): | |||
69 | self._test_devtool_build(self.myapp_cmake_dst) | 69 | self._test_devtool_build(self.myapp_cmake_dst) |
70 | 70 | ||
71 | def test_extend_autotools_recipe_creation(self): | 71 | def test_extend_autotools_recipe_creation(self): |
72 | req = 'https://github.com/rdfa/librdfa' | 72 | recipe = "test-dbus-wait" |
73 | recipe = "librdfa" | 73 | self._run('devtool sdk-install dbus') |
74 | self._run('devtool sdk-install libxml2') | 74 | self._run('devtool add %s https://git.yoctoproject.org/git/dbus-wait' % (recipe) ) |
75 | self._run('devtool add %s %s' % (recipe, req) ) | ||
76 | try: | 75 | try: |
77 | self._run('devtool build %s' % recipe) | 76 | self._run('devtool build %s' % recipe) |
78 | finally: | 77 | finally: |
diff --git a/meta/lib/oeqa/selftest/cases/debuginfod.py b/meta/lib/oeqa/selftest/cases/debuginfod.py index 505b4be837..46c0cd87bb 100644 --- a/meta/lib/oeqa/selftest/cases/debuginfod.py +++ b/meta/lib/oeqa/selftest/cases/debuginfod.py | |||
@@ -62,7 +62,7 @@ class Debuginfod(OESelftestTestCase): | |||
62 | 62 | ||
63 | raise TimeoutError("Cannot connect debuginfod, still %d scan jobs running" % latest) | 63 | raise TimeoutError("Cannot connect debuginfod, still %d scan jobs running" % latest) |
64 | 64 | ||
65 | def start_debuginfod(self): | 65 | def start_debuginfod(self, feed_dir): |
66 | # We assume that the caller has already bitbake'd elfutils-native:do_addto_recipe_sysroot | 66 | # We assume that the caller has already bitbake'd elfutils-native:do_addto_recipe_sysroot |
67 | 67 | ||
68 | # Save some useful paths for later | 68 | # Save some useful paths for later |
@@ -82,7 +82,7 @@ class Debuginfod(OESelftestTestCase): | |||
82 | # Disable rescanning, this is a one-shot test | 82 | # Disable rescanning, this is a one-shot test |
83 | "--rescan-time=0", | 83 | "--rescan-time=0", |
84 | "--groom-time=0", | 84 | "--groom-time=0", |
85 | get_bb_var("DEPLOY_DIR"), | 85 | feed_dir, |
86 | ] | 86 | ] |
87 | 87 | ||
88 | format = get_bb_var("PACKAGE_CLASSES").split()[0] | 88 | format = get_bb_var("PACKAGE_CLASSES").split()[0] |
@@ -114,11 +114,12 @@ class Debuginfod(OESelftestTestCase): | |||
114 | self.write_config(""" | 114 | self.write_config(""" |
115 | TMPDIR = "${TOPDIR}/tmp-debuginfod" | 115 | TMPDIR = "${TOPDIR}/tmp-debuginfod" |
116 | DISTRO_FEATURES:append = " debuginfod" | 116 | DISTRO_FEATURES:append = " debuginfod" |
117 | INHERIT += "localpkgfeed" | ||
117 | """) | 118 | """) |
118 | bitbake("elfutils-native:do_addto_recipe_sysroot xz xz:do_package") | 119 | bitbake("elfutils-native:do_addto_recipe_sysroot xz xz:do_package xz:do_localpkgfeed") |
119 | 120 | ||
120 | try: | 121 | try: |
121 | self.start_debuginfod() | 122 | self.start_debuginfod(get_bb_var("LOCALPKGFEED_DIR", "xz")) |
122 | 123 | ||
123 | env = os.environ.copy() | 124 | env = os.environ.copy() |
124 | env["DEBUGINFOD_URLS"] = "http://localhost:%d/" % self.port | 125 | env["DEBUGINFOD_URLS"] = "http://localhost:%d/" % self.port |
@@ -141,12 +142,13 @@ DISTRO_FEATURES:append = " debuginfod" | |||
141 | self.write_config(""" | 142 | self.write_config(""" |
142 | TMPDIR = "${TOPDIR}/tmp-debuginfod" | 143 | TMPDIR = "${TOPDIR}/tmp-debuginfod" |
143 | DISTRO_FEATURES:append = " debuginfod" | 144 | DISTRO_FEATURES:append = " debuginfod" |
145 | INHERIT += "localpkgfeed" | ||
144 | CORE_IMAGE_EXTRA_INSTALL += "elfutils xz" | 146 | CORE_IMAGE_EXTRA_INSTALL += "elfutils xz" |
145 | """) | 147 | """) |
146 | bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot") | 148 | bitbake("core-image-minimal elfutils-native:do_addto_recipe_sysroot xz:do_localpkgfeed") |
147 | 149 | ||
148 | try: | 150 | try: |
149 | self.start_debuginfod() | 151 | self.start_debuginfod(get_bb_var("LOCALPKGFEED_DIR", "xz")) |
150 | 152 | ||
151 | with runqemu("core-image-minimal", runqemuparams="nographic") as qemu: | 153 | with runqemu("core-image-minimal", runqemuparams="nographic") as qemu: |
152 | cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/xz" % (qemu.server_ip, self.port) | 154 | cmd = "DEBUGINFOD_URLS=http://%s:%d/ debuginfod-find debuginfo /usr/bin/xz" % (qemu.server_ip, self.port) |
diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index bc1e40ef83..c8bf7d9e44 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py | |||
@@ -286,10 +286,13 @@ class DevtoolTestCase(OESelftestTestCase): | |||
286 | else: | 286 | else: |
287 | self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') | 287 | self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') |
288 | 288 | ||
289 | def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri): | 289 | def _test_devtool_add_git_url(self, git_url, version, pn, resulting_src_uri, srcrev=None): |
290 | self.track_for_cleanup(self.workspacedir) | 290 | self.track_for_cleanup(self.workspacedir) |
291 | self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') | 291 | self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') |
292 | result = runCmd('devtool add --version %s %s %s' % (version, pn, git_url)) | 292 | command = 'devtool add --version %s %s %s' % (version, pn, git_url) |
293 | if srcrev : | ||
294 | command += ' --srcrev %s' %srcrev | ||
295 | result = runCmd(command) | ||
293 | self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') | 296 | self.assertExists(os.path.join(self.workspacedir, 'conf', 'layer.conf'), 'Workspace directory not created') |
294 | # Check the recipe name is correct | 297 | # Check the recipe name is correct |
295 | recipefile = get_bb_var('FILE', pn) | 298 | recipefile = get_bb_var('FILE', pn) |
@@ -479,11 +482,12 @@ class DevtoolAddTests(DevtoolBase): | |||
479 | 482 | ||
480 | def test_devtool_add_git_style2(self): | 483 | def test_devtool_add_git_style2(self): |
481 | version = 'v3.1.0' | 484 | version = 'v3.1.0' |
485 | srcrev = 'v3.1.0' | ||
482 | pn = 'mbedtls' | 486 | pn = 'mbedtls' |
483 | # this will trigger reformat_git_uri with branch parameter in url | 487 | # this will trigger reformat_git_uri with branch parameter in url |
484 | git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'" | 488 | git_url = "'git://git@github.com/ARMmbed/mbedtls.git;protocol=https'" |
485 | resulting_src_uri = "gitsm://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master" | 489 | resulting_src_uri = "git://git@github.com/ARMmbed/mbedtls.git;protocol=https;branch=master" |
486 | self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri) | 490 | self._test_devtool_add_git_url(git_url, version, pn, resulting_src_uri, srcrev) |
487 | 491 | ||
488 | def test_devtool_add_library(self): | 492 | def test_devtool_add_library(self): |
489 | # Fetch source | 493 | # Fetch source |
@@ -875,13 +879,8 @@ class DevtoolModifyTests(DevtoolBase): | |||
875 | self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) | 879 | self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe) |
876 | self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') | 880 | self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') |
877 | result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) | 881 | result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) |
878 | srcfile = os.path.join(tempdir, 'oe-local-files/share/dot.bashrc') | 882 | srcfile = os.path.join(tempdir, 'share/dot.bashrc') |
879 | srclink = os.path.join(tempdir, 'share/dot.bashrc') | ||
880 | self.assertExists(srcfile, 'Extracted source could not be found') | 883 | self.assertExists(srcfile, 'Extracted source could not be found') |
881 | if os.path.islink(srclink) and os.path.exists(srclink) and os.path.samefile(srcfile, srclink): | ||
882 | correct_symlink = True | ||
883 | self.assertTrue(correct_symlink, 'Source symlink to oe-local-files is broken') | ||
884 | |||
885 | matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % testrecipe)) | 884 | matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % testrecipe)) |
886 | self.assertTrue(matches, 'bbappend not created') | 885 | self.assertTrue(matches, 'bbappend not created') |
887 | # Test devtool status | 886 | # Test devtool status |
@@ -952,9 +951,9 @@ class DevtoolModifyTests(DevtoolBase): | |||
952 | # others git:// in SRC_URI | 951 | # others git:// in SRC_URI |
953 | # cointains a patch | 952 | # cointains a patch |
954 | testrecipe = 'hello-rs' | 953 | testrecipe = 'hello-rs' |
955 | bb_vars = get_bb_vars(['SRC_URI', 'FILE', 'WORKDIR', 'CARGO_HOME'], testrecipe) | 954 | bb_vars = get_bb_vars(['SRC_URI', 'FILE', 'UNPACKDIR', 'CARGO_HOME'], testrecipe) |
956 | recipefile = bb_vars['FILE'] | 955 | recipefile = bb_vars['FILE'] |
957 | workdir = bb_vars['WORKDIR'] | 956 | unpackdir = bb_vars['UNPACKDIR'] |
958 | cargo_home = bb_vars['CARGO_HOME'] | 957 | cargo_home = bb_vars['CARGO_HOME'] |
959 | src_uri = bb_vars['SRC_URI'].split() | 958 | src_uri = bb_vars['SRC_URI'].split() |
960 | self.assertTrue(src_uri[0].startswith('git://'), | 959 | self.assertTrue(src_uri[0].startswith('git://'), |
@@ -1025,7 +1024,7 @@ class DevtoolModifyTests(DevtoolBase): | |||
1025 | self.assertEqual(parms['type'], 'git-dependency', 'git dependencies uri should have "type=git-dependency"') | 1024 | self.assertEqual(parms['type'], 'git-dependency', 'git dependencies uri should have "type=git-dependency"') |
1026 | raw_url = raw_url.replace("git://", '%s://' % parms['protocol']) | 1025 | raw_url = raw_url.replace("git://", '%s://' % parms['protocol']) |
1027 | patch_line = '[patch."%s"]' % raw_url | 1026 | patch_line = '[patch."%s"]' % raw_url |
1028 | path_patched = os.path.join(workdir, parms['destsuffix']) | 1027 | path_patched = os.path.join(unpackdir, parms['destsuffix']) |
1029 | path_override_line = '%s = { path = "%s" }' % (parms['name'], path_patched) | 1028 | path_override_line = '%s = { path = "%s" }' % (parms['name'], path_patched) |
1030 | # Would have been better to use tomllib to read this file :/ | 1029 | # Would have been better to use tomllib to read this file :/ |
1031 | self.assertIn(patch_line, cargo_config_contents) | 1030 | self.assertIn(patch_line, cargo_config_contents) |
@@ -1274,7 +1273,7 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1274 | with open(bbappendfile, 'r') as f: | 1273 | with open(bbappendfile, 'r') as f: |
1275 | self.assertEqual(expectedlines, f.readlines()) | 1274 | self.assertEqual(expectedlines, f.readlines()) |
1276 | # Drop new commit and check patch gets deleted | 1275 | # Drop new commit and check patch gets deleted |
1277 | result = runCmd('git reset HEAD^', cwd=tempsrcdir) | 1276 | result = runCmd('git reset HEAD^ --hard', cwd=tempsrcdir) |
1278 | result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) | 1277 | result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) |
1279 | self.assertNotExists(patchfile, 'Patch file not deleted') | 1278 | self.assertNotExists(patchfile, 'Patch file not deleted') |
1280 | expectedlines2 = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n', | 1279 | expectedlines2 = ['FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"\n', |
@@ -1283,6 +1282,7 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1283 | self.assertEqual(expectedlines2, f.readlines()) | 1282 | self.assertEqual(expectedlines2, f.readlines()) |
1284 | # Put commit back and check we can run it if layer isn't in bblayers.conf | 1283 | # Put commit back and check we can run it if layer isn't in bblayers.conf |
1285 | os.remove(bbappendfile) | 1284 | os.remove(bbappendfile) |
1285 | result = runCmd("sed 's!\\(#define VERSION\\W*\"[^\"]*\\)\"!\\1-custom\"!' -i ReadMe.c", cwd=tempsrcdir) | ||
1286 | result = runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) | 1286 | result = runCmd('git commit -a -m "Add our custom version"', cwd=tempsrcdir) |
1287 | result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) | 1287 | result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) |
1288 | result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) | 1288 | result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) |
@@ -1357,7 +1357,7 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1357 | with open(bbappendfile, 'r') as f: | 1357 | with open(bbappendfile, 'r') as f: |
1358 | self.assertEqual(expectedlines, set(f.readlines())) | 1358 | self.assertEqual(expectedlines, set(f.readlines())) |
1359 | # Drop new commit and check SRCREV changes | 1359 | # Drop new commit and check SRCREV changes |
1360 | result = runCmd('git reset HEAD^', cwd=tempsrcdir) | 1360 | result = runCmd('git reset HEAD^ --hard', cwd=tempsrcdir) |
1361 | result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) | 1361 | result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) |
1362 | self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') | 1362 | self.assertNotExists(os.path.join(appenddir, testrecipe), 'Patch directory should not be created') |
1363 | result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) | 1363 | result = runCmd('git rev-parse HEAD', cwd=tempsrcdir) |
@@ -1369,6 +1369,7 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1369 | self.assertEqual(expectedlines, set(f.readlines())) | 1369 | self.assertEqual(expectedlines, set(f.readlines())) |
1370 | # Put commit back and check we can run it if layer isn't in bblayers.conf | 1370 | # Put commit back and check we can run it if layer isn't in bblayers.conf |
1371 | os.remove(bbappendfile) | 1371 | os.remove(bbappendfile) |
1372 | result = runCmd('echo "# Additional line" >> Makefile.am', cwd=tempsrcdir) | ||
1372 | result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) | 1373 | result = runCmd('git commit -a -m "Change the Makefile"', cwd=tempsrcdir) |
1373 | result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) | 1374 | result = runCmd('bitbake-layers remove-layer %s' % templayerdir, cwd=self.builddir) |
1374 | result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) | 1375 | result = runCmd('devtool update-recipe -m srcrev %s -a %s' % (testrecipe, templayerdir)) |
@@ -1400,22 +1401,39 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1400 | # Try building just to ensure we haven't broken that | 1401 | # Try building just to ensure we haven't broken that |
1401 | bitbake("%s" % testrecipe) | 1402 | bitbake("%s" % testrecipe) |
1402 | # Edit / commit local source | 1403 | # Edit / commit local source |
1403 | runCmd('echo "/* Foobar */" >> oe-local-files/makedevs.c', cwd=tempdir) | 1404 | runCmd('echo "/* Foobar */" >> makedevs.c', cwd=tempdir) |
1404 | runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) | 1405 | runCmd('echo "Foo" > new-local', cwd=tempdir) |
1405 | runCmd('echo "Bar" > new-file', cwd=tempdir) | 1406 | runCmd('echo "Bar" > new-file', cwd=tempdir) |
1406 | runCmd('git add new-file', cwd=tempdir) | 1407 | runCmd('git add new-file', cwd=tempdir) |
1407 | runCmd('git commit -m "Add new file"', cwd=tempdir) | 1408 | runCmd('git commit -m "Add new file"', cwd=tempdir) |
1408 | self.add_command_to_tearDown('cd %s; git clean -fd .; git checkout .' % | 1409 | runCmd('git add new-local', cwd=tempdir) |
1409 | os.path.dirname(recipefile)) | ||
1410 | runCmd('devtool update-recipe %s' % testrecipe) | 1410 | runCmd('devtool update-recipe %s' % testrecipe) |
1411 | expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), | 1411 | expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), |
1412 | (' M', '.*/makedevs/makedevs.c$'), | 1412 | (' M', '.*/makedevs/makedevs.c$'), |
1413 | ('??', '.*/makedevs/new-local$'), | 1413 | ('??', '.*/makedevs/new-local$'), |
1414 | ('??', '.*/makedevs/0001-Add-new-file.patch$')] | 1414 | ('??', '.*/makedevs/0001-Add-new-file.patch$')] |
1415 | self._check_repo_status(os.path.dirname(recipefile), expected_status) | 1415 | self._check_repo_status(os.path.dirname(recipefile), expected_status) |
1416 | 1416 | # Now try to update recipe in another layer, so first, clean it | |
1417 | def test_devtool_update_recipe_local_files_2(self): | 1417 | runCmd('cd %s; git clean -fd .; git checkout .' % os.path.dirname(recipefile)) |
1418 | """Check local source files support when oe-local-files is in Git""" | 1418 | # Create a temporary layer and add it to bblayers.conf |
1419 | self._create_temp_layer(templayerdir, True, 'templayer') | ||
1420 | # Update recipe in templayer | ||
1421 | result = runCmd('devtool update-recipe %s -a %s' % (testrecipe, templayerdir)) | ||
1422 | self.assertNotIn('WARNING:', result.output) | ||
1423 | # Check recipe is still clean | ||
1424 | self._check_repo_status(os.path.dirname(recipefile), []) | ||
1425 | splitpath = os.path.dirname(recipefile).split(os.sep) | ||
1426 | appenddir = os.path.join(templayerdir, splitpath[-2], splitpath[-1]) | ||
1427 | bbappendfile = self._check_bbappend(testrecipe, recipefile, appenddir) | ||
1428 | patchfile = os.path.join(appenddir, testrecipe, '0001-Add-new-file.patch') | ||
1429 | new_local_file = os.path.join(appenddir, testrecipe, 'new_local') | ||
1430 | local_file = os.path.join(appenddir, testrecipe, 'makedevs.c') | ||
1431 | self.assertExists(patchfile, 'Patch file 0001-Add-new-file.patch not created') | ||
1432 | self.assertExists(local_file, 'File makedevs.c not created') | ||
1433 | self.assertExists(patchfile, 'File new_local not created') | ||
1434 | |||
1435 | def _test_devtool_update_recipe_local_files_2(self): | ||
1436 | """Check local source files support when editing local files in Git""" | ||
1419 | testrecipe = 'devtool-test-local' | 1437 | testrecipe = 'devtool-test-local' |
1420 | recipefile = get_bb_var('FILE', testrecipe) | 1438 | recipefile = get_bb_var('FILE', testrecipe) |
1421 | recipedir = os.path.dirname(recipefile) | 1439 | recipedir = os.path.dirname(recipefile) |
@@ -1430,17 +1448,13 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1430 | result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) | 1448 | result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir)) |
1431 | # Check git repo | 1449 | # Check git repo |
1432 | self._check_src_repo(tempdir) | 1450 | self._check_src_repo(tempdir) |
1433 | # Add oe-local-files to Git | ||
1434 | runCmd('rm oe-local-files/.gitignore', cwd=tempdir) | ||
1435 | runCmd('git add oe-local-files', cwd=tempdir) | ||
1436 | runCmd('git commit -m "Add local sources"', cwd=tempdir) | ||
1437 | # Edit / commit local sources | 1451 | # Edit / commit local sources |
1438 | runCmd('echo "# Foobar" >> oe-local-files/file1', cwd=tempdir) | 1452 | runCmd('echo "# Foobar" >> file1', cwd=tempdir) |
1439 | runCmd('git commit -am "Edit existing file"', cwd=tempdir) | 1453 | runCmd('git commit -am "Edit existing file"', cwd=tempdir) |
1440 | runCmd('git rm oe-local-files/file2', cwd=tempdir) | 1454 | runCmd('git rm file2', cwd=tempdir) |
1441 | runCmd('git commit -m"Remove file"', cwd=tempdir) | 1455 | runCmd('git commit -m"Remove file"', cwd=tempdir) |
1442 | runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) | 1456 | runCmd('echo "Foo" > new-local', cwd=tempdir) |
1443 | runCmd('git add oe-local-files/new-local', cwd=tempdir) | 1457 | runCmd('git add new-local', cwd=tempdir) |
1444 | runCmd('git commit -m "Add new local file"', cwd=tempdir) | 1458 | runCmd('git commit -m "Add new local file"', cwd=tempdir) |
1445 | runCmd('echo "Gar" > new-file', cwd=tempdir) | 1459 | runCmd('echo "Gar" > new-file', cwd=tempdir) |
1446 | runCmd('git add new-file', cwd=tempdir) | 1460 | runCmd('git add new-file', cwd=tempdir) |
@@ -1449,7 +1463,7 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1449 | os.path.dirname(recipefile)) | 1463 | os.path.dirname(recipefile)) |
1450 | # Checkout unmodified file to working copy -> devtool should still pick | 1464 | # Checkout unmodified file to working copy -> devtool should still pick |
1451 | # the modified version from HEAD | 1465 | # the modified version from HEAD |
1452 | runCmd('git checkout HEAD^ -- oe-local-files/file1', cwd=tempdir) | 1466 | runCmd('git checkout HEAD^ -- file1', cwd=tempdir) |
1453 | runCmd('devtool update-recipe %s' % testrecipe) | 1467 | runCmd('devtool update-recipe %s' % testrecipe) |
1454 | expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), | 1468 | expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), |
1455 | (' M', '.*/file1$'), | 1469 | (' M', '.*/file1$'), |
@@ -1524,7 +1538,7 @@ class DevtoolUpdateTests(DevtoolBase): | |||
1524 | # (don't bother with cleaning the recipe on teardown, we won't be building it) | 1538 | # (don't bother with cleaning the recipe on teardown, we won't be building it) |
1525 | result = runCmd('devtool modify %s' % testrecipe) | 1539 | result = runCmd('devtool modify %s' % testrecipe) |
1526 | # Modify one file | 1540 | # Modify one file |
1527 | runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe, 'oe-local-files')) | 1541 | runCmd('echo "Another line" >> file2', cwd=os.path.join(self.workspacedir, 'sources', testrecipe)) |
1528 | self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) | 1542 | self.add_command_to_tearDown('cd %s; rm %s/*; git checkout %s %s' % (os.path.dirname(recipefile), testrecipe, testrecipe, os.path.basename(recipefile))) |
1529 | result = runCmd('devtool update-recipe %s' % testrecipe) | 1543 | result = runCmd('devtool update-recipe %s' % testrecipe) |
1530 | expected_status = [(' M', '.*/%s/file2$' % testrecipe)] | 1544 | expected_status = [(' M', '.*/%s/file2$' % testrecipe)] |
@@ -1753,6 +1767,8 @@ class DevtoolExtractTests(DevtoolBase): | |||
1753 | # Definitions | 1767 | # Definitions |
1754 | testrecipe = 'mdadm' | 1768 | testrecipe = 'mdadm' |
1755 | testfile = '/sbin/mdadm' | 1769 | testfile = '/sbin/mdadm' |
1770 | if "usrmerge" in get_bb_var('DISTRO_FEATURES'): | ||
1771 | testfile = '/usr/sbin/mdadm' | ||
1756 | testimage = 'oe-selftest-image' | 1772 | testimage = 'oe-selftest-image' |
1757 | testcommand = '/sbin/mdadm --help' | 1773 | testcommand = '/sbin/mdadm --help' |
1758 | # Build an image to run | 1774 | # Build an image to run |
diff --git a/meta/lib/oeqa/selftest/cases/layerappend.py b/meta/lib/oeqa/selftest/cases/layerappend.py index 379ed589ad..64b17117cc 100644 --- a/meta/lib/oeqa/selftest/cases/layerappend.py +++ b/meta/lib/oeqa/selftest/cases/layerappend.py | |||
@@ -37,7 +37,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" | |||
37 | SRC_URI:append = " file://appendtest.txt" | 37 | SRC_URI:append = " file://appendtest.txt" |
38 | 38 | ||
39 | sysroot_stage_all:append() { | 39 | sysroot_stage_all:append() { |
40 | install -m 644 ${WORKDIR}/appendtest.txt ${SYSROOT_DESTDIR}/ | 40 | install -m 644 ${UNPACKDIR}/appendtest.txt ${SYSROOT_DESTDIR}/ |
41 | } | 41 | } |
42 | 42 | ||
43 | """ | 43 | """ |
diff --git a/meta/lib/oeqa/selftest/cases/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index aebea42502..42202b7831 100644 --- a/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py | |||
@@ -120,9 +120,15 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
120 | self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool']) | 120 | self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool']) |
121 | 121 | ||
122 | def test_recipetool_appendfile_alternatives(self): | 122 | def test_recipetool_appendfile_alternatives(self): |
123 | lspath = '/bin/ls' | ||
124 | dirname = "base_bindir" | ||
125 | if "usrmerge" in get_bb_var('DISTRO_FEATURES'): | ||
126 | lspath = '/usr/bin/ls' | ||
127 | dirname = "bindir" | ||
128 | |||
123 | # Now try with a file we know should be an alternative | 129 | # Now try with a file we know should be an alternative |
124 | # (this is very much a fake example, but one we know is reliably an alternative) | 130 | # (this is very much a fake example, but one we know is reliably an alternative) |
125 | self._try_recipetool_appendfile_fail('/bin/ls', self.testfile, ['ERROR: File /bin/ls is an alternative possibly provided by the following recipes:', 'coreutils', 'busybox']) | 131 | self._try_recipetool_appendfile_fail(lspath, self.testfile, ['ERROR: File %s is an alternative possibly provided by the following recipes:' % lspath, 'coreutils', 'busybox']) |
126 | # Need a test file - should be executable | 132 | # Need a test file - should be executable |
127 | testfile2 = os.path.join(self.corebase, 'oe-init-build-env') | 133 | testfile2 = os.path.join(self.corebase, 'oe-init-build-env') |
128 | testfile2name = os.path.basename(testfile2) | 134 | testfile2name = os.path.basename(testfile2) |
@@ -131,12 +137,12 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
131 | 'SRC_URI += "file://%s"\n' % testfile2name, | 137 | 'SRC_URI += "file://%s"\n' % testfile2name, |
132 | '\n', | 138 | '\n', |
133 | 'do_install:append() {\n', | 139 | 'do_install:append() {\n', |
134 | ' install -d ${D}${base_bindir}\n', | 140 | ' install -d ${D}${%s}\n' % dirname, |
135 | ' install -m 0755 ${WORKDIR}/%s ${D}${base_bindir}/ls\n' % testfile2name, | 141 | ' install -m 0755 ${UNPACKDIR}/%s ${D}${%s}/ls\n' % (testfile2name, dirname), |
136 | '}\n'] | 142 | '}\n'] |
137 | self._try_recipetool_appendfile('coreutils', '/bin/ls', testfile2, '-r coreutils', expectedlines, [testfile2name]) | 143 | self._try_recipetool_appendfile('coreutils', lspath, testfile2, '-r coreutils', expectedlines, [testfile2name]) |
138 | # Now try bbappending the same file again, contents should not change | 144 | # Now try bbappending the same file again, contents should not change |
139 | bbappendfile, _ = self._try_recipetool_appendfile('coreutils', '/bin/ls', self.testfile, '-r coreutils', expectedlines, [testfile2name]) | 145 | bbappendfile, _ = self._try_recipetool_appendfile('coreutils', lspath, self.testfile, '-r coreutils', expectedlines, [testfile2name]) |
140 | # But file should have | 146 | # But file should have |
141 | copiedfile = os.path.join(os.path.dirname(bbappendfile), 'coreutils', testfile2name) | 147 | copiedfile = os.path.join(os.path.dirname(bbappendfile), 'coreutils', testfile2name) |
142 | result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) | 148 | result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) |
@@ -158,7 +164,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
158 | '\n', | 164 | '\n', |
159 | 'do_install:append() {\n', | 165 | 'do_install:append() {\n', |
160 | ' install -d ${D}${datadir}\n', | 166 | ' install -d ${D}${datadir}\n', |
161 | ' install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n', | 167 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${datadir}/something\n', |
162 | '}\n'] | 168 | '}\n'] |
163 | self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase', expectedlines, ['testfile']) | 169 | self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase', expectedlines, ['testfile']) |
164 | # Try adding another file, this time where the source file is executable | 170 | # Try adding another file, this time where the source file is executable |
@@ -173,8 +179,8 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
173 | '\n', | 179 | '\n', |
174 | 'do_install:append() {\n', | 180 | 'do_install:append() {\n', |
175 | ' install -d ${D}${datadir}\n', | 181 | ' install -d ${D}${datadir}\n', |
176 | ' install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n', | 182 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${datadir}/something\n', |
177 | ' install -m 0755 ${WORKDIR}/%s ${D}${datadir}/scriptname\n' % testfile2name, | 183 | ' install -m 0755 ${UNPACKDIR}/%s ${D}${datadir}/scriptname\n' % testfile2name, |
178 | '}\n'] | 184 | '}\n'] |
179 | self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name]) | 185 | self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name]) |
180 | 186 | ||
@@ -186,7 +192,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
186 | '\n', | 192 | '\n', |
187 | 'do_install:append() {\n', | 193 | 'do_install:append() {\n', |
188 | ' install -d ${D}${bindir}\n', | 194 | ' install -d ${D}${bindir}\n', |
189 | ' install -m 0755 ${WORKDIR}/testfile ${D}${bindir}/selftest-recipetool-testbin\n', | 195 | ' install -m 0755 ${UNPACKDIR}/testfile ${D}${bindir}/selftest-recipetool-testbin\n', |
190 | '}\n'] | 196 | '}\n'] |
191 | _, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile']) | 197 | _, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile']) |
192 | self.assertNotIn('WARNING: ', output) | 198 | self.assertNotIn('WARNING: ', output) |
@@ -201,7 +207,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
201 | '\n', | 207 | '\n', |
202 | 'do_install:append:mymachine() {\n', | 208 | 'do_install:append:mymachine() {\n', |
203 | ' install -d ${D}${datadir}\n', | 209 | ' install -d ${D}${datadir}\n', |
204 | ' install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/something\n', | 210 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${datadir}/something\n', |
205 | '}\n'] | 211 | '}\n'] |
206 | _, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile']) | 212 | _, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile']) |
207 | self.assertNotIn('WARNING: ', output) | 213 | self.assertNotIn('WARNING: ', output) |
@@ -235,7 +241,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
235 | '\n', | 241 | '\n', |
236 | 'do_install:append() {\n', | 242 | 'do_install:append() {\n', |
237 | ' install -d ${D}${datadir}\n', | 243 | ' install -d ${D}${datadir}\n', |
238 | ' install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/selftest-replaceme-subdir\n', | 244 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${datadir}/selftest-replaceme-subdir\n', |
239 | '}\n'] | 245 | '}\n'] |
240 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile']) | 246 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile']) |
241 | self.assertNotIn('WARNING: ', output) | 247 | self.assertNotIn('WARNING: ', output) |
@@ -262,7 +268,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
262 | '\n', | 268 | '\n', |
263 | 'do_install:append() {\n', | 269 | 'do_install:append() {\n', |
264 | ' install -d ${D}${sysconfdir}\n', | 270 | ' install -d ${D}${sysconfdir}\n', |
265 | ' install -m 0644 ${WORKDIR}/testfile ${D}${sysconfdir}/selftest-replaceme-patched\n', | 271 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${sysconfdir}/selftest-replaceme-patched\n', |
266 | '}\n'] | 272 | '}\n'] |
267 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/etc/selftest-replaceme-patched', self.testfile, '', expectedlines, ['testfile']) | 273 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/etc/selftest-replaceme-patched', self.testfile, '', expectedlines, ['testfile']) |
268 | for line in output.splitlines(): | 274 | for line in output.splitlines(): |
@@ -280,7 +286,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
280 | '\n', | 286 | '\n', |
281 | 'do_install:append() {\n', | 287 | 'do_install:append() {\n', |
282 | ' install -d ${D}${datadir}\n', | 288 | ' install -d ${D}${datadir}\n', |
283 | ' install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/selftest-replaceme-scripted\n', | 289 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${datadir}/selftest-replaceme-scripted\n', |
284 | '}\n'] | 290 | '}\n'] |
285 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile']) | 291 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile']) |
286 | self.assertNotIn('WARNING: ', output) | 292 | self.assertNotIn('WARNING: ', output) |
@@ -303,7 +309,7 @@ class RecipetoolAppendTests(RecipetoolBase): | |||
303 | '\n', | 309 | '\n', |
304 | 'do_install:append() {\n', | 310 | 'do_install:append() {\n', |
305 | ' install -d ${D}${datadir}\n', | 311 | ' install -d ${D}${datadir}\n', |
306 | ' install -m 0644 ${WORKDIR}/testfile ${D}${datadir}/selftest-replaceme-postinst\n', | 312 | ' install -m 0644 ${UNPACKDIR}/testfile ${D}${datadir}/selftest-replaceme-postinst\n', |
307 | '}\n'] | 313 | '}\n'] |
308 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile']) | 314 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile']) |
309 | 315 | ||
diff --git a/meta/lib/oeqa/selftest/cases/recipeutils.py b/meta/lib/oeqa/selftest/cases/recipeutils.py index 2cb4445f81..9949737172 100644 --- a/meta/lib/oeqa/selftest/cases/recipeutils.py +++ b/meta/lib/oeqa/selftest/cases/recipeutils.py | |||
@@ -72,7 +72,7 @@ class RecipeUtilsTests(OESelftestTestCase): | |||
72 | expected_patch = """ | 72 | expected_patch = """ |
73 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb | 73 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb |
74 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb | 74 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb |
75 | @@ -8,6 +8,4 @@ | 75 | @@ -11,6 +11,4 @@ |
76 | 76 | ||
77 | BBCLASSEXTEND = "native nativesdk" | 77 | BBCLASSEXTEND = "native nativesdk" |
78 | 78 | ||
@@ -97,7 +97,7 @@ class RecipeUtilsTests(OESelftestTestCase): | |||
97 | expected_patch = """ | 97 | expected_patch = """ |
98 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb | 98 | --- a/recipes-test/recipeutils/recipeutils-test_1.2.bb |
99 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb | 99 | +++ b/recipes-test/recipeutils/recipeutils-test_1.2.bb |
100 | @@ -8,6 +8,3 @@ | 100 | @@ -11,6 +11,3 @@ |
101 | 101 | ||
102 | BBCLASSEXTEND = "native nativesdk" | 102 | BBCLASSEXTEND = "native nativesdk" |
103 | 103 | ||
diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 12000aac16..13aa5f16c9 100644 --- a/meta/lib/oeqa/selftest/cases/runtime_test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py | |||
@@ -273,7 +273,7 @@ TEST_RUNQEMUPARAMS += " slirp" | |||
273 | import subprocess, os | 273 | import subprocess, os |
274 | 274 | ||
275 | distro = oe.lsb.distro_identifier() | 275 | distro = oe.lsb.distro_identifier() |
276 | if distro and (distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'ubuntu-16.04', 'ubuntu-18.04'] or | 276 | if distro and (distro in ['debian-9', 'debian-10', 'centos-7', 'centos-8', 'centos-9', 'ubuntu-16.04', 'ubuntu-18.04'] or |
277 | distro.startswith('almalinux') or distro.startswith('rocky')): | 277 | distro.startswith('almalinux') or distro.startswith('rocky')): |
278 | self.skipTest('virgl headless cannot be tested with %s' %(distro)) | 278 | self.skipTest('virgl headless cannot be tested with %s' %(distro)) |
279 | 279 | ||
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index 57844b289a..99186175e5 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py | |||
@@ -194,8 +194,23 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
194 | parser.add_argument('-R', '--skip-tests', required=False, action='store', | 194 | parser.add_argument('-R', '--skip-tests', required=False, action='store', |
195 | nargs='+', dest="skips", default=None, | 195 | nargs='+', dest="skips", default=None, |
196 | help='Skip the tests specified. Format should be <module>[.<class>[.<test_method>]]') | 196 | help='Skip the tests specified. Format should be <module>[.<class>[.<test_method>]]') |
197 | |||
198 | def check_parallel_support(parameter): | ||
199 | if not parameter.isdigit(): | ||
200 | import argparse | ||
201 | raise argparse.ArgumentTypeError("argument -j/--num-processes: invalid int value: '%s' " % str(parameter)) | ||
202 | |||
203 | processes = int(parameter) | ||
204 | if processes: | ||
205 | try: | ||
206 | import testtools, subunit | ||
207 | except ImportError: | ||
208 | print("Failed to import testtools or subunit, the testcases will run serially") | ||
209 | processes = None | ||
210 | return processes | ||
211 | |||
197 | parser.add_argument('-j', '--num-processes', dest='processes', action='store', | 212 | parser.add_argument('-j', '--num-processes', dest='processes', action='store', |
198 | type=int, help="number of processes to execute in parallel with") | 213 | type=check_parallel_support, help="number of processes to execute in parallel with") |
199 | 214 | ||
200 | parser.add_argument('-t', '--select-tag', dest="select_tags", | 215 | parser.add_argument('-t', '--select-tag', dest="select_tags", |
201 | action='append', default=None, | 216 | action='append', default=None, |
diff --git a/meta/lib/oeqa/utils/postactions.py b/meta/lib/oeqa/utils/postactions.py index 8104400ac2..ecdddd2d40 100644 --- a/meta/lib/oeqa/utils/postactions.py +++ b/meta/lib/oeqa/utils/postactions.py | |||
@@ -25,7 +25,7 @@ def create_artifacts_directory(d, tc): | |||
25 | def get_target_disk_usage(d, tc): | 25 | def get_target_disk_usage(d, tc): |
26 | output_file = os.path.join(get_json_result_dir(d), "artifacts", "target_disk_usage.txt") | 26 | output_file = os.path.join(get_json_result_dir(d), "artifacts", "target_disk_usage.txt") |
27 | try: | 27 | try: |
28 | (status, output) = tc.target.run('df -hl') | 28 | (status, output) = tc.target.run('df -h') |
29 | with open(output_file, 'w') as f: | 29 | with open(output_file, 'w') as f: |
30 | f.write(output) | 30 | f.write(output) |
31 | f.write("\n") | 31 | f.write("\n") |
diff --git a/meta/lib/patchtest/repo.py b/meta/lib/patchtest/repo.py index d3788f466d..5f361ac500 100644 --- a/meta/lib/patchtest/repo.py +++ b/meta/lib/patchtest/repo.py | |||
@@ -11,6 +11,7 @@ | |||
11 | import os | 11 | import os |
12 | import utils | 12 | import utils |
13 | import logging | 13 | import logging |
14 | import git | ||
14 | from patch import PatchTestPatch | 15 | from patch import PatchTestPatch |
15 | 16 | ||
16 | logger = logging.getLogger('patchtest') | 17 | logger = logging.getLogger('patchtest') |
@@ -21,15 +22,17 @@ class PatchTestRepo(object): | |||
21 | # prefixes used for temporal branches/stashes | 22 | # prefixes used for temporal branches/stashes |
22 | prefix = 'patchtest' | 23 | prefix = 'patchtest' |
23 | 24 | ||
25 | |||
24 | def __init__(self, patch, repodir, commit=None, branch=None): | 26 | def __init__(self, patch, repodir, commit=None, branch=None): |
25 | self._repodir = repodir | 27 | self._repodir = repodir |
28 | self._repo = git.Repo.init(repodir) | ||
26 | self._patch = PatchTestPatch(patch) | 29 | self._patch = PatchTestPatch(patch) |
27 | self._current_branch = self._get_current_branch() | 30 | self._current_branch = self._repo.active_branch.name |
28 | 31 | ||
29 | # targeted branch defined on the patch may be invalid, so make sure there | 32 | # targeted branch defined on the patch may be invalid, so make sure there |
30 | # is a corresponding remote branch | 33 | # is a corresponding remote branch |
31 | valid_patch_branch = None | 34 | valid_patch_branch = None |
32 | if self._patch.branch in self.upstream_branches(): | 35 | if self._patch.branch in self._repo.branches: |
33 | valid_patch_branch = self._patch.branch | 36 | valid_patch_branch = self._patch.branch |
34 | 37 | ||
35 | # Target Branch | 38 | # Target Branch |
@@ -52,22 +55,19 @@ class PatchTestRepo(object): | |||
52 | 55 | ||
53 | self._workingbranch = "%s_%s" % (PatchTestRepo.prefix, os.getpid()) | 56 | self._workingbranch = "%s_%s" % (PatchTestRepo.prefix, os.getpid()) |
54 | 57 | ||
55 | # create working branch | 58 | # create working branch. Use the '-B' flag so that we just |
56 | self._exec({'cmd': ['git', 'checkout', '-b', self._workingbranch, self._commit]}) | 59 | # check out the existing one if it's there |
60 | self._repo.git.execute(['git', 'checkout', '-B', self._workingbranch, self._commit]) | ||
57 | 61 | ||
58 | self._patchmerged = False | 62 | self._patchmerged = False |
59 | 63 | ||
60 | # Check if patch can be merged using git-am | 64 | # Check if patch can be merged using git-am |
61 | self._patchcanbemerged = True | 65 | self._patchcanbemerged = True |
62 | try: | 66 | try: |
63 | self._exec({'cmd': ['git', 'am', '--keep-cr'], 'input': self._patch.contents}) | 67 | # Make sure to get the absolute path of the file |
64 | except utils.CmdException as ce: | 68 | self._repo.git.execute(['git', 'apply', '--check', os.path.abspath(self._patch.path)], with_exceptions=True) |
65 | self._exec({'cmd': ['git', 'am', '--abort']}) | 69 | except git.exc.GitCommandError as ce: |
66 | self._patchcanbemerged = False | 70 | self._patchcanbemerged = False |
67 | finally: | ||
68 | # if patch was applied, remove it | ||
69 | if self._patchcanbemerged: | ||
70 | self._exec({'cmd':['git', 'reset', '--hard', self._commit]}) | ||
71 | 71 | ||
72 | # for debugging purposes, print all repo parameters | 72 | # for debugging purposes, print all repo parameters |
73 | logger.debug("Parameters") | 73 | logger.debug("Parameters") |
@@ -97,78 +97,24 @@ class PatchTestRepo(object): | |||
97 | def canbemerged(self): | 97 | def canbemerged(self): |
98 | return self._patchcanbemerged | 98 | return self._patchcanbemerged |
99 | 99 | ||
100 | def _exec(self, cmds): | ||
101 | _cmds = [] | ||
102 | if isinstance(cmds, dict): | ||
103 | _cmds.append(cmds) | ||
104 | elif isinstance(cmds, list): | ||
105 | _cmds = cmds | ||
106 | else: | ||
107 | raise utils.CmdException({'cmd':str(cmds)}) | ||
108 | |||
109 | results = [] | ||
110 | cmdfailure = False | ||
111 | try: | ||
112 | results = utils.exec_cmds(_cmds, self._repodir) | ||
113 | except utils.CmdException as ce: | ||
114 | cmdfailure = True | ||
115 | raise ce | ||
116 | finally: | ||
117 | if cmdfailure: | ||
118 | for cmd in _cmds: | ||
119 | logger.debug("CMD: %s" % ' '.join(cmd['cmd'])) | ||
120 | else: | ||
121 | for result in results: | ||
122 | cmd, rc, stdout, stderr = ' '.join(result['cmd']), result['returncode'], result['stdout'], result['stderr'] | ||
123 | logger.debug("CMD: %s RCODE: %s STDOUT: %s STDERR: %s" % (cmd, rc, stdout, stderr)) | ||
124 | |||
125 | return results | ||
126 | |||
127 | def _get_current_branch(self, commit='HEAD'): | ||
128 | cmd = {'cmd':['git', 'rev-parse', '--abbrev-ref', commit]} | ||
129 | cb = self._exec(cmd)[0]['stdout'] | ||
130 | if cb == commit: | ||
131 | logger.warning('You may be detached so patchtest will checkout to master after execution') | ||
132 | cb = 'master' | ||
133 | return cb | ||
134 | |||
135 | def _get_commitid(self, commit): | 100 | def _get_commitid(self, commit): |
136 | 101 | ||
137 | if not commit: | 102 | if not commit: |
138 | return None | 103 | return None |
139 | 104 | ||
140 | try: | 105 | try: |
141 | cmd = {'cmd':['git', 'rev-parse', '--short', commit]} | 106 | return self._repo.rev_parse(commit).hexsha |
142 | return self._exec(cmd)[0]['stdout'] | 107 | except Exception as e: |
143 | except utils.CmdException as ce: | 108 | print(f"Couldn't find commit {commit} in repo") |
144 | # try getting the commit under any remotes | ||
145 | cmd = {'cmd':['git', 'remote']} | ||
146 | remotes = self._exec(cmd)[0]['stdout'] | ||
147 | for remote in remotes.splitlines(): | ||
148 | cmd = {'cmd':['git', 'rev-parse', '--short', '%s/%s' % (remote, commit)]} | ||
149 | try: | ||
150 | return self._exec(cmd)[0]['stdout'] | ||
151 | except utils.CmdException: | ||
152 | pass | ||
153 | 109 | ||
154 | return None | 110 | return None |
155 | 111 | ||
156 | def upstream_branches(self): | ||
157 | cmd = {'cmd':['git', 'branch', '--remotes']} | ||
158 | remote_branches = self._exec(cmd)[0]['stdout'] | ||
159 | |||
160 | # just get the names, without the remote name | ||
161 | branches = set(branch.split('/')[-1] for branch in remote_branches.splitlines()) | ||
162 | return branches | ||
163 | |||
164 | def merge(self): | 112 | def merge(self): |
165 | if self._patchcanbemerged: | 113 | if self._patchcanbemerged: |
166 | self._exec({'cmd': ['git', 'am', '--keep-cr'], | 114 | self._repo.git.execute(['git', 'am', '--keep-cr', os.path.abspath(self._patch.path)]) |
167 | 'input': self._patch.contents, | ||
168 | 'updateenv': {'PTRESOURCE':self._patch.path}}) | ||
169 | self._patchmerged = True | 115 | self._patchmerged = True |
170 | 116 | ||
171 | def clean(self): | 117 | def clean(self): |
172 | self._exec({'cmd':['git', 'checkout', '%s' % self._current_branch]}) | 118 | self._repo.git.execute(['git', 'checkout', self._current_branch]) |
173 | self._exec({'cmd':['git', 'branch', '-D', self._workingbranch]}) | 119 | self._repo.git.execute(['git', 'branch', '-D', self._workingbranch]) |
174 | self._patchmerged = False | 120 | self._patchmerged = False |
diff --git a/meta/lib/patchtest/requirements.txt b/meta/lib/patchtest/requirements.txt index ba55ff905e..4247b91f09 100644 --- a/meta/lib/patchtest/requirements.txt +++ b/meta/lib/patchtest/requirements.txt | |||
@@ -1,5 +1,6 @@ | |||
1 | boto3 | 1 | boto3 |
2 | git-pw>=2.5.0 | 2 | git-pw>=2.5.0 |
3 | GitPython | ||
3 | jinja2 | 4 | jinja2 |
4 | pylint | 5 | pylint |
5 | pyparsing>=3.0.9 | 6 | pyparsing>=3.0.9 |
diff --git a/meta/lib/patchtest/selftest/files/TestMbox.test_bugzilla_entry_format.fail b/meta/lib/patchtest/selftest/files/TestMbox.test_bugzilla_entry_format.fail index 80f409e952..854d7eb8c7 100644 --- a/meta/lib/patchtest/selftest/files/TestMbox.test_bugzilla_entry_format.fail +++ b/meta/lib/patchtest/selftest/files/TestMbox.test_bugzilla_entry_format.fail | |||
@@ -1,25 +1,26 @@ | |||
1 | From fdfd605e565d874502522c4b70b786c8c5aa0bad Mon Sep 17 00:00:00 2001 | 1 | From f06e14633723c1e78bc7a4b0fd0d3b79d09f0c68 Mon Sep 17 00:00:00 2001 |
2 | From: name@somedomain.com <email@address.com> | 2 | From: name@somedomain.com <email@address.com> |
3 | Date: Fri, 17 Feb 2017 16:29:21 -0600 | 3 | Date: Thu, 2 May 2024 10:21:45 -0400 |
4 | Subject: [PATCH] README: adds 'foo' to the header | 4 | Subject: [PATCH] README.OE-Core.md: Add foo to header |
5 | 5 | ||
6 | This test patch adds 'foo' to the header | 6 | This test patch adds 'foo' to the header of README.OE-Core.md |
7 | 7 | ||
8 | [YOCTO 1234] | 8 | [YOCTO 1234] |
9 | 9 | ||
10 | Signed-off-by: Daniela Plascencia <daniela.plascencia@linux.intel.com> | 10 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> |
11 | --- | 11 | --- |
12 | README | 1 + | 12 | README.OE-Core.md | 1 + |
13 | 1 file changed, 1 insertion(+) | 13 | 1 file changed, 1 insertion(+) |
14 | 14 | ||
15 | diff --git a/README b/README | 15 | diff --git a/README.OE-Core.md b/README.OE-Core.md |
16 | index 521916cd4f..cdf29dcea3 100644 | 16 | index 687c58e410c..9d863891134 100644 |
17 | --- a/README | 17 | --- a/README.OE-Core.md |
18 | +++ b/README | 18 | +++ b/README.OE-Core.md |
19 | @@ -1,3 +1,4 @@ | 19 | @@ -1,3 +1,4 @@ |
20 | +**** FOO **** | 20 | +**** FOO **** |
21 | OpenEmbedded-Core | 21 | OpenEmbedded-Core |
22 | ================= | 22 | ================= |
23 | |||
24 | -- | ||
25 | 2.44.0 | ||
23 | 26 | ||
24 | -- | ||
25 | 2.11.0 | ||
diff --git a/meta/lib/patchtest/tests/test_metadata.py b/meta/lib/patchtest/tests/test_metadata.py index be609dbd04..f5dbcf01ed 100644 --- a/meta/lib/patchtest/tests/test_metadata.py +++ b/meta/lib/patchtest/tests/test_metadata.py | |||
@@ -18,12 +18,12 @@ class TestMetadata(base.Metadata): | |||
18 | lictag_re = pyparsing.AtLineStart("License-Update:") | 18 | lictag_re = pyparsing.AtLineStart("License-Update:") |
19 | lic_chksum_added = pyparsing.AtLineStart("+" + metadata_chksum) | 19 | lic_chksum_added = pyparsing.AtLineStart("+" + metadata_chksum) |
20 | lic_chksum_removed = pyparsing.AtLineStart("-" + metadata_chksum) | 20 | lic_chksum_removed = pyparsing.AtLineStart("-" + metadata_chksum) |
21 | add_mark = pyparsing.Regex('\+ ') | 21 | add_mark = pyparsing.Regex('\\+ ') |
22 | max_length = 200 | 22 | max_length = 200 |
23 | metadata_src_uri = 'SRC_URI' | 23 | metadata_src_uri = 'SRC_URI' |
24 | md5sum = 'md5sum' | 24 | md5sum = 'md5sum' |
25 | sha256sum = 'sha256sum' | 25 | sha256sum = 'sha256sum' |
26 | git_regex = pyparsing.Regex('^git\:\/\/.*') | 26 | git_regex = pyparsing.Regex('^git\\:\\/\\/.*') |
27 | metadata_summary = 'SUMMARY' | 27 | metadata_summary = 'SUMMARY' |
28 | cve_check_ignore_var = 'CVE_CHECK_IGNORE' | 28 | cve_check_ignore_var = 'CVE_CHECK_IGNORE' |
29 | cve_status_var = 'CVE_STATUS' | 29 | cve_status_var = 'CVE_STATUS' |
diff --git a/meta/lib/patchtest/utils.py b/meta/lib/patchtest/utils.py index dd0abc22d9..8eddf3e85f 100644 --- a/meta/lib/patchtest/utils.py +++ b/meta/lib/patchtest/utils.py | |||
@@ -14,109 +14,6 @@ import logging | |||
14 | import re | 14 | import re |
15 | import mailbox | 15 | import mailbox |
16 | 16 | ||
17 | class CmdException(Exception): | ||
18 | """ Simple exception class where its attributes are the ones passed when instantiated """ | ||
19 | def __init__(self, cmd): | ||
20 | self._cmd = cmd | ||
21 | def __getattr__(self, name): | ||
22 | value = None | ||
23 | if self._cmd.has_key(name): | ||
24 | value = self._cmd[name] | ||
25 | return value | ||
26 | |||
27 | def exec_cmd(cmd, cwd, ignore_error=False, input=None, strip=True, updateenv={}): | ||
28 | """ | ||
29 | Input: | ||
30 | |||
31 | cmd: dict containing the following keys: | ||
32 | |||
33 | cmd : the command itself as an array of strings | ||
34 | ignore_error: if False, no exception is raised | ||
35 | strip: indicates if strip is done on the output (stdout and stderr) | ||
36 | input: input data to the command (stdin) | ||
37 | updateenv: environment variables to be appended to the current | ||
38 | process environment variables | ||
39 | |||
40 | NOTE: keys 'ignore_error' and 'input' are optional; if not included, | ||
41 | the defaults are the ones specify in the arguments | ||
42 | cwd: directory where commands are executed | ||
43 | ignore_error: raise CmdException if command fails to execute and | ||
44 | this value is False | ||
45 | input: input data (stdin) for the command | ||
46 | |||
47 | Output: dict containing the following keys: | ||
48 | |||
49 | cmd: the same as input | ||
50 | ignore_error: the same as input | ||
51 | strip: the same as input | ||
52 | input: the same as input | ||
53 | stdout: Standard output after command's execution | ||
54 | stderr: Standard error after command's execution | ||
55 | returncode: Return code after command's execution | ||
56 | |||
57 | """ | ||
58 | cmddefaults = { | ||
59 | 'cmd':'', | ||
60 | 'ignore_error':ignore_error, | ||
61 | 'strip':strip, | ||
62 | 'input':input, | ||
63 | 'updateenv':updateenv, | ||
64 | } | ||
65 | |||
66 | # update input values if necessary | ||
67 | cmddefaults.update(cmd) | ||
68 | |||
69 | _cmd = cmddefaults | ||
70 | |||
71 | if not _cmd['cmd']: | ||
72 | raise CmdException({'cmd':None, 'stderr':'no command given'}) | ||
73 | |||
74 | # update the environment | ||
75 | env = os.environ | ||
76 | env.update(_cmd['updateenv']) | ||
77 | |||
78 | _command = [e for e in _cmd['cmd']] | ||
79 | p = subprocess.Popen(_command, | ||
80 | stdin=subprocess.PIPE, | ||
81 | stdout=subprocess.PIPE, | ||
82 | stderr=subprocess.PIPE, | ||
83 | universal_newlines=True, | ||
84 | cwd=cwd, | ||
85 | env=env) | ||
86 | |||
87 | # execute the command and strip output | ||
88 | (_stdout, _stderr) = p.communicate(_cmd['input']) | ||
89 | if _cmd['strip']: | ||
90 | _stdout, _stderr = map(str.strip, [_stdout, _stderr]) | ||
91 | |||
92 | # generate the result | ||
93 | result = _cmd | ||
94 | result.update({'cmd':_command,'stdout':_stdout,'stderr':_stderr,'returncode':p.returncode}) | ||
95 | |||
96 | # launch exception if necessary | ||
97 | if not _cmd['ignore_error'] and p.returncode: | ||
98 | raise CmdException(result) | ||
99 | |||
100 | return result | ||
101 | |||
102 | def exec_cmds(cmds, cwd): | ||
103 | """ Executes commands | ||
104 | |||
105 | Input: | ||
106 | cmds: Array of commands | ||
107 | cwd: directory where commands are executed | ||
108 | |||
109 | Output: Array of output commands | ||
110 | """ | ||
111 | results = [] | ||
112 | _cmds = cmds | ||
113 | |||
114 | for cmd in _cmds: | ||
115 | result = exec_cmd(cmd, cwd) | ||
116 | results.append(result) | ||
117 | |||
118 | return results | ||
119 | |||
120 | def logger_create(name): | 17 | def logger_create(name): |
121 | logger = logging.getLogger(name) | 18 | logger = logging.getLogger(name) |
122 | loggerhandler = logging.StreamHandler() | 19 | loggerhandler = logging.StreamHandler() |
@@ -125,20 +22,6 @@ def logger_create(name): | |||
125 | logger.setLevel(logging.INFO) | 22 | logger.setLevel(logging.INFO) |
126 | return logger | 23 | return logger |
127 | 24 | ||
128 | def get_subject_prefix(path): | ||
129 | prefix = "" | ||
130 | mbox = mailbox.mbox(path) | ||
131 | |||
132 | if len(mbox): | ||
133 | subject = mbox[0]['subject'] | ||
134 | if subject: | ||
135 | pattern = re.compile(r"(\[.*\])", re.DOTALL) | ||
136 | match = pattern.search(subject) | ||
137 | if match: | ||
138 | prefix = match.group(1) | ||
139 | |||
140 | return prefix | ||
141 | |||
142 | def valid_branch(branch): | 25 | def valid_branch(branch): |
143 | """ Check if branch is valid name """ | 26 | """ Check if branch is valid name """ |
144 | lbranch = branch.lower() | 27 | lbranch = branch.lower() |
@@ -153,7 +36,17 @@ def valid_branch(branch): | |||
153 | 36 | ||
154 | def get_branch(path): | 37 | def get_branch(path): |
155 | """ Get the branch name from mbox """ | 38 | """ Get the branch name from mbox """ |
156 | fullprefix = get_subject_prefix(path) | 39 | fullprefix = "" |
40 | mbox = mailbox.mbox(path) | ||
41 | |||
42 | if len(mbox): | ||
43 | subject = mbox[0]['subject'] | ||
44 | if subject: | ||
45 | pattern = re.compile(r"(\[.*\])", re.DOTALL) | ||
46 | match = pattern.search(subject) | ||
47 | if match: | ||
48 | fullprefix = match.group(1) | ||
49 | |||
157 | branch, branches, valid_branches = None, [], [] | 50 | branch, branches, valid_branches = None, [], [] |
158 | 51 | ||
159 | if fullprefix: | 52 | if fullprefix: |
diff --git a/meta/recipes-bsp/acpid/acpid.inc b/meta/recipes-bsp/acpid/acpid.inc index 7b2f1c71c5..3d6f75f90f 100644 --- a/meta/recipes-bsp/acpid/acpid.inc +++ b/meta/recipes-bsp/acpid/acpid.inc | |||
@@ -27,13 +27,13 @@ SYSTEMD_SERVICE:${PN} = "acpid.service" | |||
27 | 27 | ||
28 | do_install:append () { | 28 | do_install:append () { |
29 | install -d ${D}${sysconfdir}/init.d | 29 | install -d ${D}${sysconfdir}/init.d |
30 | sed -e 's,/usr/sbin,${sbindir},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/acpid | 30 | sed -e 's,/usr/sbin,${sbindir},g' ${UNPACKDIR}/init > ${D}${sysconfdir}/init.d/acpid |
31 | chmod 755 ${D}${sysconfdir}/init.d/acpid | 31 | chmod 755 ${D}${sysconfdir}/init.d/acpid |
32 | 32 | ||
33 | install -d ${D}${sysconfdir}/acpi | 33 | install -d ${D}${sysconfdir}/acpi |
34 | install -d ${D}${sysconfdir}/acpi/events | 34 | install -d ${D}${sysconfdir}/acpi/events |
35 | 35 | ||
36 | install -d ${D}${systemd_system_unitdir} | 36 | install -d ${D}${systemd_system_unitdir} |
37 | install -m 0644 ${WORKDIR}/acpid.service ${D}${systemd_system_unitdir} | 37 | install -m 0644 ${UNPACKDIR}/acpid.service ${D}${systemd_system_unitdir} |
38 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/acpid.service | 38 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/acpid.service |
39 | } | 39 | } |
diff --git a/meta/recipes-bsp/alsa-state/alsa-state.bb b/meta/recipes-bsp/alsa-state/alsa-state.bb index bd7f610f46..099fbd3b9d 100644 --- a/meta/recipes-bsp/alsa-state/alsa-state.bb +++ b/meta/recipes-bsp/alsa-state/alsa-state.bb | |||
@@ -21,7 +21,8 @@ SRC_URI = "\ | |||
21 | file://alsa-state-init \ | 21 | file://alsa-state-init \ |
22 | " | 22 | " |
23 | 23 | ||
24 | S = "${WORKDIR}" | 24 | S = "${WORKDIR}/sources" |
25 | UNPACKDIR = "${S}" | ||
25 | 26 | ||
26 | # As the recipe doesn't inherit systemd.bbclass, we need to set this variable | 27 | # As the recipe doesn't inherit systemd.bbclass, we need to set this variable |
27 | # manually to avoid unnecessary postinst/preinst generated. | 28 | # manually to avoid unnecessary postinst/preinst generated. |
@@ -38,15 +39,15 @@ INITSCRIPT_PARAMS = "start 39 S . stop 31 0 6 ." | |||
38 | do_install() { | 39 | do_install() { |
39 | # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. | 40 | # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. |
40 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then | 41 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then |
41 | sed -i -e "s:#STATEDIR#:${localstatedir}/lib/alsa:g" ${WORKDIR}/alsa-state-init | 42 | sed -i -e "s:#STATEDIR#:${localstatedir}/lib/alsa:g" ${S}/alsa-state-init |
42 | install -d ${D}${sysconfdir}/init.d | 43 | install -d ${D}${sysconfdir}/init.d |
43 | install -m 0755 ${WORKDIR}/alsa-state-init ${D}${sysconfdir}/init.d/alsa-state | 44 | install -m 0755 ${S}/alsa-state-init ${D}${sysconfdir}/init.d/alsa-state |
44 | fi | 45 | fi |
45 | 46 | ||
46 | install -d ${D}/${localstatedir}/lib/alsa | 47 | install -d ${D}/${localstatedir}/lib/alsa |
47 | install -d ${D}${sysconfdir} | 48 | install -d ${D}${sysconfdir} |
48 | install -m 0644 ${WORKDIR}/asound.conf ${D}${sysconfdir} | 49 | install -m 0644 ${S}/asound.conf ${D}${sysconfdir} |
49 | install -m 0644 ${WORKDIR}/*.state ${D}${localstatedir}/lib/alsa | 50 | install -m 0644 ${S}/*.state ${D}${localstatedir}/lib/alsa |
50 | } | 51 | } |
51 | 52 | ||
52 | PACKAGES += "alsa-states" | 53 | PACKAGES += "alsa-states" |
diff --git a/meta/recipes-bsp/formfactor/formfactor_0.0.bb b/meta/recipes-bsp/formfactor/formfactor_0.0.bb index 1eaf30746b..4714bb2e5e 100644 --- a/meta/recipes-bsp/formfactor/formfactor_0.0.bb +++ b/meta/recipes-bsp/formfactor/formfactor_0.0.bb | |||
@@ -7,7 +7,9 @@ LICENSE = "MIT" | |||
7 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 7 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
8 | 8 | ||
9 | SRC_URI = "file://config file://machconfig" | 9 | SRC_URI = "file://config file://machconfig" |
10 | S = "${WORKDIR}" | 10 | |
11 | S = "${WORKDIR}/sources" | ||
12 | UNPACKDIR = "${S}" | ||
11 | 13 | ||
12 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 14 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
13 | INHIBIT_DEFAULT_DEPS = "1" | 15 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb index 783e30bf38..fed3c7e9a3 100644 --- a/meta/recipes-bsp/grub/grub-bootconf_1.00.bb +++ b/meta/recipes-bsp/grub/grub-bootconf_1.00.bb | |||
@@ -11,7 +11,8 @@ inherit grub-efi-cfg | |||
11 | 11 | ||
12 | require conf/image-uefi.conf | 12 | require conf/image-uefi.conf |
13 | 13 | ||
14 | S = "${WORKDIR}" | 14 | S = "${WORKDIR}/sources" |
15 | UNPACKDIR = "${S}" | ||
15 | 16 | ||
16 | GRUB_CFG = "${S}/grub-bootconf" | 17 | GRUB_CFG = "${S}/grub-bootconf" |
17 | LABELS = "boot" | 18 | LABELS = "boot" |
diff --git a/meta/recipes-bsp/grub/grub-efi_2.12.bb b/meta/recipes-bsp/grub/grub-efi_2.12.bb index 9857e8e036..7df77deca3 100644 --- a/meta/recipes-bsp/grub/grub-efi_2.12.bb +++ b/meta/recipes-bsp/grub/grub-efi_2.12.bb | |||
@@ -58,7 +58,7 @@ do_mkimage() { | |||
58 | 58 | ||
59 | # Search for the grub.cfg on the local boot media by using the | 59 | # Search for the grub.cfg on the local boot media by using the |
60 | # built in cfg file provided via this recipe | 60 | # built in cfg file provided via this recipe |
61 | grub-mkimage -v -c ../cfg -p ${EFIDIR} -d ./grub-core/ \ | 61 | grub-mkimage -v -c ${UNPACKDIR}/cfg -p ${EFIDIR} -d ./grub-core/ \ |
62 | -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \ | 62 | -O ${GRUB_TARGET}-efi -o ./${GRUB_IMAGE_PREFIX}${GRUB_IMAGE} \ |
63 | ${GRUB_MKIMAGE_MODULES} | 63 | ${GRUB_MKIMAGE_MODULES} |
64 | } | 64 | } |
diff --git a/meta/recipes-bsp/keymaps/keymaps_1.0.bb b/meta/recipes-bsp/keymaps/keymaps_1.0.bb index 3d5d127820..0425197c98 100644 --- a/meta/recipes-bsp/keymaps/keymaps_1.0.bb +++ b/meta/recipes-bsp/keymaps/keymaps_1.0.bb | |||
@@ -24,14 +24,15 @@ SRC_URI = "file://keymap.sh" | |||
24 | INITSCRIPT_NAME = "keymap.sh" | 24 | INITSCRIPT_NAME = "keymap.sh" |
25 | INITSCRIPT_PARAMS = "start 01 S ." | 25 | INITSCRIPT_PARAMS = "start 01 S ." |
26 | 26 | ||
27 | S = "${WORKDIR}" | 27 | S = "${WORKDIR}/sources" |
28 | UNPACKDIR = "${S}" | ||
28 | 29 | ||
29 | do_install () { | 30 | do_install () { |
30 | # Only install the script if 'sysvinit' is in DISTRO_FEATURES | 31 | # Only install the script if 'sysvinit' is in DISTRO_FEATURES |
31 | # THe ulitity this script provides could be achieved by systemd-vconsole-setup.service | 32 | # THe ulitity this script provides could be achieved by systemd-vconsole-setup.service |
32 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then | 33 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then |
33 | install -d ${D}${sysconfdir}/init.d/ | 34 | install -d ${D}${sysconfdir}/init.d/ |
34 | install -m 0755 ${WORKDIR}/keymap.sh ${D}${sysconfdir}/init.d/ | 35 | install -m 0755 ${S}/keymap.sh ${D}${sysconfdir}/init.d/ |
35 | fi | 36 | fi |
36 | } | 37 | } |
37 | 38 | ||
diff --git a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb index 63edcbd864..3024ddcaf0 100644 --- a/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb +++ b/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb | |||
@@ -46,3 +46,9 @@ ALTERNATIVE_TARGET[rb] = "${bindir}/lrz" | |||
46 | ALTERNATIVE_TARGET[sz] = "${bindir}/lsz" | 46 | ALTERNATIVE_TARGET[sz] = "${bindir}/lsz" |
47 | ALTERNATIVE_TARGET[sx] = "${bindir}/lsz" | 47 | ALTERNATIVE_TARGET[sx] = "${bindir}/lsz" |
48 | ALTERNATIVE_TARGET[sb] = "${bindir}/lsz" | 48 | ALTERNATIVE_TARGET[sb] = "${bindir}/lsz" |
49 | |||
50 | # http://errors.yoctoproject.org/Errors/Details/766929/ | ||
51 | # lrzsz-0.12.20/src/tcp.c:75:56: error: passing argument 3 of 'getsockname' from incompatible pointer type [-Wincompatible-pointer-types] | ||
52 | # lrzsz-0.12.20/src/tcp.c:83:52: error: passing argument 3 of 'getsockname' from incompatible pointer type [-Wincompatible-pointer-types] | ||
53 | # lrzsz-0.12.20/src/tcp.c:103:51: error: passing argument 3 of 'accept' from incompatible pointer type [-Wincompatible-pointer-types] | ||
54 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-bsp/pciutils/pciutils/configure.patch b/meta/recipes-bsp/pciutils/pciutils/configure.patch index 5015cf4884..0ff151b8cf 100644 --- a/meta/recipes-bsp/pciutils/pciutils/configure.patch +++ b/meta/recipes-bsp/pciutils/pciutils/configure.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 561216c8cbc280aaa9aecf30cb11835a4a0a78ed Mon Sep 17 00:00:00 2001 | 1 | From 6af07e1f812b2444d33ce199308c87e04b2f5dc7 Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <rpurdie@linux.intel.com> | 2 | From: Richard Purdie <rpurdie@linux.intel.com> |
3 | Date: Wed, 31 Dec 2008 17:20:38 +0000 | 3 | Date: Wed, 31 Dec 2008 17:20:38 +0000 |
4 | Subject: [PATCH] pciutils: Upgarde 2.2.4 -> 3.0.3 | 4 | Subject: [PATCH] pciutils: Upgarde 2.2.4 -> 3.0.3 |
@@ -23,20 +23,20 @@ Upstream-Status: Inappropriate [embedded specific] | |||
23 | 2 files changed, 11 insertions(+), 5 deletions(-) | 23 | 2 files changed, 11 insertions(+), 5 deletions(-) |
24 | 24 | ||
25 | diff --git a/Makefile b/Makefile | 25 | diff --git a/Makefile b/Makefile |
26 | index aaec04e..9c1dab0 100644 | 26 | index be23593..aa13be5 100644 |
27 | --- a/Makefile | 27 | --- a/Makefile |
28 | +++ b/Makefile | 28 | +++ b/Makefile |
29 | @@ -123,7 +123,7 @@ pcilmr$(EXEEXT): pcilmr.o $(LMROBJS) $(COMMON) lib/$(PCIIMPLIB) | 29 | @@ -123,7 +123,7 @@ pcilmr$(EXEEXT): pcilmr.o $(LMROBJS) $(COMMON) lib/$(PCIIMPLIB) |
30 | pcilmr.o: pcilmr.c $(LMRINC) | 30 | pcilmr.o: pcilmr.c $(LMRINC) |
31 | 31 | ||
32 | %$(EXEEXT): %.o | 32 | %$(EXEEXT): %.o |
33 | - $(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@ | 33 | - $(CC) $(CFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LDLIBS) -o $@ |
34 | + $(CC) $(LDFLAGS) $(TARGET_ARCH) $^ $(LIB_LDLIBS) $(LDLIBS) -o $@ | 34 | + $(CC) $(CFLAGS) $(LDFLAGS) $(TARGET_ARCH) $^ $(LIB_LDLIBS) $(LDLIBS) -o $@ |
35 | 35 | ||
36 | ifdef PCI_OS_WINDOWS | 36 | ifdef PCI_OS_WINDOWS |
37 | comma := , | 37 | comma := , |
38 | diff --git a/lib/configure b/lib/configure | 38 | diff --git a/lib/configure b/lib/configure |
39 | index 3df057a..c87e71c 100755 | 39 | index d02160b..52c1eee 100755 |
40 | --- a/lib/configure | 40 | --- a/lib/configure |
41 | +++ b/lib/configure | 41 | +++ b/lib/configure |
42 | @@ -9,6 +9,10 @@ echo_n() { | 42 | @@ -9,6 +9,10 @@ echo_n() { |
@@ -88,3 +88,6 @@ index 3df057a..c87e71c 100755 | |||
88 | c=config.h | 88 | c=config.h |
89 | m=config.mk | 89 | m=config.mk |
90 | echo >$c '#define PCI_CONFIG_H' | 90 | echo >$c '#define PCI_CONFIG_H' |
91 | -- | ||
92 | 2.42.0 | ||
93 | |||
diff --git a/meta/recipes-bsp/pciutils/pciutils_3.11.1.bb b/meta/recipes-bsp/pciutils/pciutils_3.12.0.bb index 044074ccc3..480a338696 100644 --- a/meta/recipes-bsp/pciutils/pciutils_3.11.1.bb +++ b/meta/recipes-bsp/pciutils/pciutils_3.12.0.bb | |||
@@ -14,7 +14,7 @@ DEPENDS = "zlib kmod make-native" | |||
14 | SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \ | 14 | SRC_URI = "${KERNELORG_MIRROR}/software/utils/pciutils/pciutils-${PV}.tar.xz \ |
15 | file://configure.patch" | 15 | file://configure.patch" |
16 | 16 | ||
17 | SRC_URI[sha256sum] = "3f472ad864473de5ba17f765cc96ef5f33e1b730918d3adda6f945a2a9290df4" | 17 | SRC_URI[sha256sum] = "f185d116d5ff99b797497efce8f19f1ee8ccc5a668b97a159e3d13472f674154" |
18 | 18 | ||
19 | inherit multilib_header pkgconfig update-alternatives | 19 | inherit multilib_header pkgconfig update-alternatives |
20 | 20 | ||
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc index f5b43f6e36..45d700fbdd 100644 --- a/meta/recipes-bsp/u-boot/u-boot.inc +++ b/meta/recipes-bsp/u-boot/u-boot.inc | |||
@@ -157,9 +157,9 @@ do_install () { | |||
157 | fi | 157 | fi |
158 | fi | 158 | fi |
159 | 159 | ||
160 | if [ -e ${WORKDIR}/fw_env.config ] ; then | 160 | if [ -e ${UNPACKDIR}/fw_env.config ] ; then |
161 | install -d ${D}${sysconfdir} | 161 | install -d ${D}${sysconfdir} |
162 | install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config | 162 | install -m 644 ${UNPACKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config |
163 | fi | 163 | fi |
164 | 164 | ||
165 | if [ -n "${SPL_BINARY}" ] | 165 | if [ -n "${SPL_BINARY}" ] |
@@ -259,8 +259,8 @@ do_deploy () { | |||
259 | fi | 259 | fi |
260 | fi | 260 | fi |
261 | 261 | ||
262 | if [ -e ${WORKDIR}/fw_env.config ] ; then | 262 | if [ -e ${UNPACKDIR}/fw_env.config ] ; then |
263 | install -D -m 644 ${WORKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR} | 263 | install -D -m 644 ${UNPACKDIR}/fw_env.config ${DEPLOYDIR}/fw_env.config-${MACHINE}-${PV}-${PR} |
264 | cd ${DEPLOYDIR} | 264 | cd ${DEPLOYDIR} |
265 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE} | 265 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config-${MACHINE} |
266 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config | 266 | ln -sf fw_env.config-${MACHINE}-${PV}-${PR} fw_env.config |
diff --git a/meta/recipes-bsp/usbinit/usbinit.bb b/meta/recipes-bsp/usbinit/usbinit.bb index 3a50b835c2..091aa73bb5 100644 --- a/meta/recipes-bsp/usbinit/usbinit.bb +++ b/meta/recipes-bsp/usbinit/usbinit.bb | |||
@@ -5,12 +5,14 @@ same wire, at higher speeds than most Wifi connections." | |||
5 | HOMEPAGE = "http://linux-sunxi.org/USB_Gadget/Ethernet" | 5 | HOMEPAGE = "http://linux-sunxi.org/USB_Gadget/Ethernet" |
6 | 6 | ||
7 | LICENSE = "GPL-2.0-only" | 7 | LICENSE = "GPL-2.0-only" |
8 | LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" | 8 | LIC_FILES_CHKSUM = "file://${S}/COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe" |
9 | 9 | ||
10 | 10 | ||
11 | SRC_URI = "file://usb-gether \ | 11 | SRC_URI = "file://usb-gether \ |
12 | file://COPYING.GPL" | 12 | file://COPYING.GPL" |
13 | S = "${WORKDIR}" | 13 | |
14 | S = "${WORKDIR}/sources" | ||
15 | UNPACKDIR = "${S}" | ||
14 | 16 | ||
15 | do_install() { | 17 | do_install() { |
16 | install -d ${D}${sysconfdir} | 18 | install -d ${D}${sysconfdir} |
diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb index 1f18d4491d..a78e776a18 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb | |||
@@ -184,8 +184,8 @@ SYSTEMD_SERVICE:${PN}-dnsconfd = "avahi-dnsconfd.service" | |||
184 | 184 | ||
185 | do_install:append() { | 185 | do_install:append() { |
186 | install -d ${D}${sysconfdir}/udhcpc.d | 186 | install -d ${D}${sysconfdir}/udhcpc.d |
187 | install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d | 187 | install ${UNPACKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d |
188 | install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d | 188 | install ${UNPACKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d |
189 | } | 189 | } |
190 | 190 | ||
191 | # At the time the postinst runs, dbus might not be setup so only restart if running | 191 | # At the time the postinst runs, dbus might not be setup so only restart if running |
diff --git a/meta/recipes-connectivity/bind/bind_9.18.25.bb b/meta/recipes-connectivity/bind/bind_9.18.26.bb index cc35604aba..b99f92537c 100644 --- a/meta/recipes-connectivity/bind/bind_9.18.25.bb +++ b/meta/recipes-connectivity/bind/bind_9.18.26.bb | |||
@@ -20,7 +20,7 @@ SRC_URI = "https://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.xz \ | |||
20 | file://0001-avoid-start-failure-with-bind-user.patch \ | 20 | file://0001-avoid-start-failure-with-bind-user.patch \ |
21 | " | 21 | " |
22 | 22 | ||
23 | SRC_URI[sha256sum] = "5a4a70432a33d009f0e6e9dbb328aae7a5e27507e98e28bf3c0c6b250ccb2ab3" | 23 | SRC_URI[sha256sum] = "75ffee52731e9604c849b658df29e927f1c4f01d5a71ea3ebcbeb63702cb6651" |
24 | 24 | ||
25 | UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" | 25 | UPSTREAM_CHECK_URI = "https://ftp.isc.org/isc/bind9/" |
26 | # follow the ESV versions divisible by 2 | 26 | # follow the ESV versions divisible by 2 |
@@ -68,15 +68,15 @@ do_install:append() { | |||
68 | 68 | ||
69 | # Install systemd related files | 69 | # Install systemd related files |
70 | install -d ${D}${sbindir} | 70 | install -d ${D}${sbindir} |
71 | install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir} | 71 | install -m 755 ${UNPACKDIR}/generate-rndc-key.sh ${D}${sbindir} |
72 | install -d ${D}${systemd_system_unitdir} | 72 | install -d ${D}${systemd_system_unitdir} |
73 | install -m 0644 ${WORKDIR}/named.service ${D}${systemd_system_unitdir} | 73 | install -m 0644 ${UNPACKDIR}/named.service ${D}${systemd_system_unitdir} |
74 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 74 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
75 | -e 's,@SBINDIR@,${sbindir},g' \ | 75 | -e 's,@SBINDIR@,${sbindir},g' \ |
76 | ${D}${systemd_system_unitdir}/named.service | 76 | ${D}${systemd_system_unitdir}/named.service |
77 | 77 | ||
78 | install -d ${D}${sysconfdir}/default | 78 | install -d ${D}${sysconfdir}/default |
79 | install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default | 79 | install -m 0644 ${UNPACKDIR}/bind9 ${D}${sysconfdir}/default |
80 | 80 | ||
81 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 81 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
82 | install -d ${D}${sysconfdir}/tmpfiles.d | 82 | install -d ${D}${sysconfdir}/tmpfiles.d |
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc index a31d7076ba..a1ffdeef8c 100644 --- a/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/meta/recipes-connectivity/bluez5/bluez5.inc | |||
@@ -85,7 +85,7 @@ NOINST_TOOLS = " \ | |||
85 | 85 | ||
86 | do_install:append() { | 86 | do_install:append() { |
87 | install -d ${D}${INIT_D_DIR} | 87 | install -d ${D}${INIT_D_DIR} |
88 | install -m 0755 ${WORKDIR}/init ${D}${INIT_D_DIR}/bluetooth | 88 | install -m 0755 ${UNPACKDIR}/init ${D}${INIT_D_DIR}/bluetooth |
89 | 89 | ||
90 | if [ -f ${D}/${sysconfdir}/init.d/bluetooth ]; then | 90 | if [ -f ${D}/${sysconfdir}/init.d/bluetooth ]; then |
91 | sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}/${sysconfdir}/init.d/bluetooth | 91 | sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}/${sysconfdir}/init.d/bluetooth |
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb index a1a0e08faa..73c54cddae 100644 --- a/meta/recipes-connectivity/connman/connman-conf.bb +++ b/meta/recipes-connectivity/connman/connman-conf.bb | |||
@@ -8,7 +8,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m | |||
8 | SRC_URI = "file://main.conf \ | 8 | SRC_URI = "file://main.conf \ |
9 | " | 9 | " |
10 | 10 | ||
11 | S = "${WORKDIR}" | 11 | S = "${WORKDIR}/sources" |
12 | UNPACKDIR = "${S}" | ||
12 | 13 | ||
13 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 14 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
14 | 15 | ||
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb index fcd154b4b0..46b3f854c5 100644 --- a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb +++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb | |||
@@ -26,5 +26,9 @@ ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | |||
26 | RDEPENDS:${PN} = "connman" | 26 | RDEPENDS:${PN} = "connman" |
27 | 27 | ||
28 | do_install:append() { | 28 | do_install:append() { |
29 | install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/ | 29 | install -m 0644 ${UNPACKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/ |
30 | } | 30 | } |
31 | |||
32 | # http://errors.yoctoproject.org/Errors/Details/766926/ | ||
33 | # connman-client.c:200:15: error: assignment to 'GtkTreeModel *' {aka 'struct _GtkTreeModel *'} from incompatible pointer type 'GtkTreeStore *' {aka 'struct _GtkTreeStore *'} [-Wincompatible-pointer-types] | ||
34 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc index 7487ca0d0c..073061eeda 100644 --- a/meta/recipes-connectivity/connman/connman.inc +++ b/meta/recipes-connectivity/connman/connman.inc | |||
@@ -86,7 +86,7 @@ ALTERNATIVE_LINK_NAME[resolv-conf] = "${@bb.utils.contains('DISTRO_FEATURES','sy | |||
86 | do_install:append() { | 86 | do_install:append() { |
87 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then | 87 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then |
88 | install -d ${D}${sysconfdir}/init.d | 88 | install -d ${D}${sysconfdir}/init.d |
89 | install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman | 89 | install -m 0755 ${UNPACKDIR}/connman ${D}${sysconfdir}/init.d/connman |
90 | sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman | 90 | sed -i s%@DATADIR@%${datadir}% ${D}${sysconfdir}/init.d/connman |
91 | fi | 91 | fi |
92 | 92 | ||
diff --git a/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch b/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch index aefdd3aa06..9e2cc34995 100644 --- a/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch +++ b/meta/recipes-connectivity/connman/connman/0002-resolve-musl-does-not-implement-res_ninit.patch | |||
@@ -1,75 +1,88 @@ | |||
1 | From 01974865e4d331eeaf25248bee1bb96539c450d9 Mon Sep 17 00:00:00 2001 | 1 | From 60783f0d885c9a0db8b6f1d528786321e53f1512 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 6 Apr 2015 23:02:21 -0700 | 3 | Date: Mon, 6 Apr 2015 23:02:21 -0700 |
4 | Subject: [PATCH] resolve: musl does not implement res_ninit | 4 | Subject: [PATCH] gweb/gresolv.c: make use of res_ninit optional and subject to |
5 | __RES | ||
5 | 6 | ||
6 | ported from | 7 | Not all libc implementation have those functions, and the way to determine |
8 | if they do is to check __RES which is explained in resolv.h thusly: | ||
9 | |||
10 | /* | ||
11 | * Revision information. This is the release date in YYYYMMDD format. | ||
12 | * It can change every day so the right thing to do with it is use it | ||
13 | * in preprocessor commands such as "#if (__RES > 19931104)". Do not | ||
14 | * compare for equality; rather, use it to determine whether your resolver | ||
15 | * is new enough to contain a certain feature. | ||
16 | */ | ||
17 | |||
18 | Indeed, it needs to be at least 19991006. | ||
19 | |||
20 | The portion of the patch that implements a fallback is ported from | ||
21 | Alpine Linux: | ||
7 | http://git.alpinelinux.org/cgit/aports/plain/testing/connman/libresolv.patch | 22 | http://git.alpinelinux.org/cgit/aports/plain/testing/connman/libresolv.patch |
8 | 23 | ||
9 | Upstream-Status: Pending | 24 | Upstream-Status: Submitted [to connman@lists.linux.dev,marcel@holtmann.org] |
10 | 25 | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 26 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
12 | |||
13 | --- | 27 | --- |
14 | gweb/gresolv.c | 34 +++++++++++++--------------------- | 28 | gweb/gresolv.c | 21 +++++++++++++++++++++ |
15 | 1 file changed, 13 insertions(+), 21 deletions(-) | 29 | 1 file changed, 21 insertions(+) |
16 | 30 | ||
17 | diff --git a/gweb/gresolv.c b/gweb/gresolv.c | 31 | diff --git a/gweb/gresolv.c b/gweb/gresolv.c |
18 | index 954e7cf..2a9bc51 100644 | 32 | index 8101d71..9f1477c 100644 |
19 | --- a/gweb/gresolv.c | 33 | --- a/gweb/gresolv.c |
20 | +++ b/gweb/gresolv.c | 34 | +++ b/gweb/gresolv.c |
21 | @@ -878,8 +879,6 @@ GResolv *g_resolv_new(int index) | 35 | @@ -879,7 +879,9 @@ GResolv *g_resolv_new(int index) |
22 | resolv->index = index; | 36 | resolv->index = index; |
23 | resolv->nameserver_list = NULL; | 37 | resolv->nameserver_list = NULL; |
24 | 38 | ||
25 | - res_ninit(&resolv->res); | 39 | +#if (__RES >= 19991006) |
26 | - | 40 | res_ninit(&resolv->res); |
41 | +#endif | ||
42 | |||
27 | return resolv; | 43 | return resolv; |
28 | } | 44 | } |
29 | 45 | @@ -920,7 +922,9 @@ void g_resolv_unref(GResolv *resolv) | |
30 | @@ -919,8 +918,6 @@ void g_resolv_unref(GResolv *resolv) | ||
31 | 46 | ||
32 | flush_nameservers(resolv); | 47 | flush_nameservers(resolv); |
33 | 48 | ||
34 | - res_nclose(&resolv->res); | 49 | +#if (__RES >= 19991006) |
35 | - | 50 | res_nclose(&resolv->res); |
51 | +#endif | ||
52 | |||
36 | g_free(resolv); | 53 | g_free(resolv); |
37 | } | 54 | } |
38 | 55 | @@ -1024,6 +1028,7 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname, | |
39 | @@ -1023,24 +1020,19 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname, | ||
40 | debug(resolv, "hostname %s", hostname); | 56 | debug(resolv, "hostname %s", hostname); |
41 | 57 | ||
42 | if (!resolv->nameserver_list) { | 58 | if (!resolv->nameserver_list) { |
43 | - int i; | 59 | +#if (__RES >= 19991006) |
44 | - | 60 | int i; |
45 | - for (i = 0; i < resolv->res.nscount; i++) { | 61 | |
46 | - char buf[100]; | 62 | for (i = 0; i < resolv->res.nscount; i++) { |
47 | - int family = resolv->res.nsaddr_list[i].sin_family; | 63 | @@ -1043,6 +1048,22 @@ guint g_resolv_lookup_hostname(GResolv *resolv, const char *hostname, |
48 | - void *sa_addr = &resolv->res.nsaddr_list[i].sin_addr; | 64 | if (inet_ntop(family, sa_addr, buf, sizeof(buf))) |
49 | - | 65 | g_resolv_add_nameserver(resolv, buf, 53, 0); |
50 | - if (family != AF_INET && | ||
51 | - resolv->res._u._ext.nsaddrs[i]) { | ||
52 | - family = AF_INET6; | ||
53 | - sa_addr = &resolv->res._u._ext.nsaddrs[i]->sin6_addr; | ||
54 | + FILE *f = fopen("/etc/resolv.conf", "r"); | ||
55 | + if (f) { | ||
56 | + char line[256], *s; | ||
57 | + int i; | ||
58 | + while (fgets(line, sizeof(line), f)) { | ||
59 | + if (strncmp(line, "nameserver", 10) || !isspace(line[10])) | ||
60 | + continue; | ||
61 | + for (s = &line[11]; isspace(s[0]); s++); | ||
62 | + for (i = 0; s[i] && !isspace(s[i]); i++); | ||
63 | + s[i] = 0; | ||
64 | + g_resolv_add_nameserver(resolv, s, 53, 0); | ||
65 | } | ||
66 | - | ||
67 | - if (family != AF_INET && family != AF_INET6) | ||
68 | - continue; | ||
69 | - | ||
70 | - if (inet_ntop(family, sa_addr, buf, sizeof(buf))) | ||
71 | - g_resolv_add_nameserver(resolv, buf, 53, 0); | ||
72 | + fclose(f); | ||
73 | } | 66 | } |
67 | +#else | ||
68 | + FILE *f = fopen("/etc/resolv.conf", "r"); | ||
69 | + if (f) { | ||
70 | + char line[256], *s; | ||
71 | + int i; | ||
72 | + while (fgets(line, sizeof(line), f)) { | ||
73 | + if (strncmp(line, "nameserver", 10) || !isspace(line[10])) | ||
74 | + continue; | ||
75 | + for (s = &line[11]; isspace(s[0]); s++); | ||
76 | + for (i = 0; s[i] && !isspace(s[i]); i++); | ||
77 | + s[i] = 0; | ||
78 | + g_resolv_add_nameserver(resolv, s, 53, 0); | ||
79 | + } | ||
80 | + fclose(f); | ||
81 | + } | ||
82 | +#endif | ||
74 | 83 | ||
75 | if (!resolv->nameserver_list) | 84 | if (!resolv->nameserver_list) |
85 | g_resolv_add_nameserver(resolv, "127.0.0.1", 53, 0); | ||
86 | -- | ||
87 | 2.39.2 | ||
88 | |||
diff --git a/meta/recipes-connectivity/connman/connman_1.42.bb b/meta/recipes-connectivity/connman/connman_1.42.bb index 91ab9895ac..5c60b9cb83 100644 --- a/meta/recipes-connectivity/connman/connman_1.42.bb +++ b/meta/recipes-connectivity/connman/connman_1.42.bb | |||
@@ -7,9 +7,9 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ | |||
7 | file://no-version-scripts.patch \ | 7 | file://no-version-scripts.patch \ |
8 | file://0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch \ | 8 | file://0001-vpn-Adding-support-for-latest-pppd-2.5.0-release.patch \ |
9 | file://0001-src-log.c-Include-libgen.h-for-basename-API.patch \ | 9 | file://0001-src-log.c-Include-libgen.h-for-basename-API.patch \ |
10 | file://0002-resolve-musl-does-not-implement-res_ninit.patch \ | ||
10 | " | 11 | " |
11 | 12 | ||
12 | SRC_URI:append:libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch" | ||
13 | 13 | ||
14 | SRC_URI[sha256sum] = "a3e6bae46fc081ef2e9dae3caa4f7649de892c3de622c20283ac0ca81423c2aa" | 14 | SRC_URI[sha256sum] = "a3e6bae46fc081ef2e9dae3caa4f7649de892c3de622c20283ac0ca81423c2aa" |
15 | 15 | ||
diff --git a/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb b/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb index 6bde9b1f51..fd193b2cff 100644 --- a/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb +++ b/meta/recipes-connectivity/dhcpcd/dhcpcd_10.0.6.bb | |||
@@ -52,7 +52,7 @@ USERADD_PARAM:${PN} = "--system -d ${DBDIR} -M -s /bin/false -U dhcpcd" | |||
52 | do_install:append () { | 52 | do_install:append () { |
53 | # install systemd unit files | 53 | # install systemd unit files |
54 | install -d ${D}${systemd_system_unitdir} | 54 | install -d ${D}${systemd_system_unitdir} |
55 | install -m 0644 ${WORKDIR}/dhcpcd*.service ${D}${systemd_system_unitdir} | 55 | install -m 0644 ${UNPACKDIR}/dhcpcd*.service ${D}${systemd_system_unitdir} |
56 | 56 | ||
57 | chmod 700 ${D}${DBDIR} | 57 | chmod 700 ${D}${DBDIR} |
58 | chown dhcpcd:dhcpcd ${D}${DBDIR} | 58 | chown dhcpcd:dhcpcd ${D}${DBDIR} |
diff --git a/meta/recipes-connectivity/inetutils/inetutils_2.5.bb b/meta/recipes-connectivity/inetutils/inetutils_2.5.bb index 0f1a0736bd..afb0462c61 100644 --- a/meta/recipes-connectivity/inetutils/inetutils_2.5.bb +++ b/meta/recipes-connectivity/inetutils/inetutils_2.5.bb | |||
@@ -80,23 +80,23 @@ do_install:append () { | |||
80 | mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd | 80 | mv ${D}${libexecdir}/telnetd ${D}${sbindir}/in.telnetd |
81 | if [ -e ${D}${libexecdir}/rexecd ]; then | 81 | if [ -e ${D}${libexecdir}/rexecd ]; then |
82 | mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd | 82 | mv ${D}${libexecdir}/rexecd ${D}${sbindir}/in.rexecd |
83 | cp ${WORKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec | 83 | cp ${UNPACKDIR}/rexec.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rexec |
84 | fi | 84 | fi |
85 | if [ -e ${D}${libexecdir}/rlogind ]; then | 85 | if [ -e ${D}${libexecdir}/rlogind ]; then |
86 | mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind | 86 | mv ${D}${libexecdir}/rlogind ${D}${sbindir}/in.rlogind |
87 | cp ${WORKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin | 87 | cp ${UNPACKDIR}/rlogin.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rlogin |
88 | fi | 88 | fi |
89 | if [ -e ${D}${libexecdir}/rshd ]; then | 89 | if [ -e ${D}${libexecdir}/rshd ]; then |
90 | mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd | 90 | mv ${D}${libexecdir}/rshd ${D}${sbindir}/in.rshd |
91 | cp ${WORKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh | 91 | cp ${UNPACKDIR}/rsh.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/rsh |
92 | fi | 92 | fi |
93 | if [ -e ${D}${libexecdir}/talkd ]; then | 93 | if [ -e ${D}${libexecdir}/talkd ]; then |
94 | mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd | 94 | mv ${D}${libexecdir}/talkd ${D}${sbindir}/in.talkd |
95 | fi | 95 | fi |
96 | mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd | 96 | mv ${D}${libexecdir}/uucpd ${D}${sbindir}/in.uucpd |
97 | mv ${D}${libexecdir}/* ${D}${bindir}/ | 97 | mv ${D}${libexecdir}/* ${D}${bindir}/ |
98 | cp ${WORKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet | 98 | cp ${UNPACKDIR}/telnet.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/telnet |
99 | cp ${WORKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd | 99 | cp ${UNPACKDIR}/tftpd.xinetd.inetutils ${D}/${sysconfdir}/xinetd.d/tftpd |
100 | 100 | ||
101 | sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/* | 101 | sed -e 's,@SBINDIR@,${sbindir},g' -i ${D}/${sysconfdir}/xinetd.d/* |
102 | if [ -e ${D}${libdir}/charset.alias ]; then | 102 | if [ -e ${D}${libdir}/charset.alias ]; then |
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch deleted file mode 100644 index 74e3de1ce9..0000000000 --- a/meta/recipes-connectivity/iproute2/iproute2/0001-libc-compat.h-add-musl-workaround.patch +++ /dev/null | |||
@@ -1,39 +0,0 @@ | |||
1 | From c25f8d1f7a6203dfeb10b39f80ffd314bb84a58d Mon Sep 17 00:00:00 2001 | ||
2 | From: Baruch Siach <baruch@tkos.co.il> | ||
3 | Date: Thu, 22 Dec 2016 15:26:30 +0200 | ||
4 | Subject: [PATCH] libc-compat.h: add musl workaround | ||
5 | |||
6 | The libc-compat.h kernel header uses glibc specific macros (__GLIBC__ and | ||
7 | __USE_MISC) to solve conflicts with libc provided headers. This patch makes | ||
8 | libc-compat.h work for musl libc as well. | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Taken From: | ||
13 | https://git.buildroot.net/buildroot/tree/package/iproute2/0001-Add-the-musl-workaround-to-the-libc-compat.h-copy.patch | ||
14 | |||
15 | Signed-off-by: Baruch Siach <baruch@tkos.co.il> | ||
16 | Signed-off-by: Maxin B. John <maxin.john@intel.com> | ||
17 | |||
18 | --- | ||
19 | include/uapi/linux/libc-compat.h | 4 +++- | ||
20 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h | ||
23 | index a159991..22198fa 100644 | ||
24 | --- a/include/uapi/linux/libc-compat.h | ||
25 | +++ b/include/uapi/linux/libc-compat.h | ||
26 | @@ -50,10 +50,12 @@ | ||
27 | #define _LIBC_COMPAT_H | ||
28 | |||
29 | /* We have included glibc headers... */ | ||
30 | -#if defined(__GLIBC__) | ||
31 | +#if 1 | ||
32 | +#define __USE_MISC | ||
33 | |||
34 | /* Coordinate with glibc net/if.h header. */ | ||
35 | #if defined(_NET_IF_H) && defined(__USE_MISC) | ||
36 | +#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0 | ||
37 | |||
38 | /* GLIBC headers included first so don't define anything | ||
39 | * that would already be defined. */ | ||
diff --git a/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb b/meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb index 8c460adf73..24539e3d99 100644 --- a/meta/recipes-connectivity/iproute2/iproute2_6.7.0.bb +++ b/meta/recipes-connectivity/iproute2/iproute2_6.8.0.bb | |||
@@ -11,11 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ | |||
11 | 11 | ||
12 | DEPENDS = "flex-native bison-native iptables libcap" | 12 | DEPENDS = "flex-native bison-native iptables libcap" |
13 | 13 | ||
14 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ | 14 | SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz" |
15 | file://0001-libc-compat.h-add-musl-workaround.patch \ | ||
16 | " | ||
17 | 15 | ||
18 | SRC_URI[sha256sum] = "ff942dd9828d7d1f867f61fe72ce433078c31e5d8e4a78e20f02cb5892e8841d" | 16 | SRC_URI[sha256sum] = "03a6cca3d71a908d1f15f7b495be2b8fe851f941458dc4664900d7f45fcf68ce" |
19 | 17 | ||
20 | inherit update-alternatives bash-completion pkgconfig | 18 | inherit update-alternatives bash-completion pkgconfig |
21 | 19 | ||
@@ -28,6 +26,8 @@ PACKAGECONFIG[selinux] = ",,libselinux" | |||
28 | 26 | ||
29 | IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" | 27 | IPROUTE2_MAKE_SUBDIRS = "lib tc ip bridge misc genl ${@bb.utils.filter('PACKAGECONFIG', 'devlink tipc rdma', d)}" |
30 | 28 | ||
29 | # This is needed with GCC-14 and musl | ||
30 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
31 | # CFLAGS are computed in Makefile and reference CCOPTS | 31 | # CFLAGS are computed in Makefile and reference CCOPTS |
32 | # | 32 | # |
33 | EXTRA_OEMAKE = "\ | 33 | EXTRA_OEMAKE = "\ |
@@ -53,6 +53,9 @@ do_install () { | |||
53 | install -d ${D}${datadir} | 53 | install -d ${D}${datadir} |
54 | mv ${D}/share/* ${D}${datadir}/ || true | 54 | mv ${D}/share/* ${D}${datadir}/ || true |
55 | rm ${D}/share -rf || true | 55 | rm ${D}/share -rf || true |
56 | |||
57 | # Remove support fot ipt and xt in tc. So tc library directory is not needed. | ||
58 | rm ${D}${libdir}/tc -rf | ||
56 | } | 59 | } |
57 | 60 | ||
58 | # The .so files in iproute2-tc are modules, not traditional libraries | 61 | # The .so files in iproute2-tc are modules, not traditional libraries |
diff --git a/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch b/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch deleted file mode 100644 index 8a5bd00302..0000000000 --- a/meta/recipes-connectivity/kea/files/0001-kea-fix-reproducible-build-failure.patch +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | From f9bcfed5a1d44d9211c5f6eba403a9898c8c9057 Mon Sep 17 00:00:00 2001 | ||
2 | From: Sudip Mukherjee <sudipm.mukherjee@gmail.com> | ||
3 | Date: Tue, 8 Aug 2023 19:03:13 +0100 | ||
4 | Subject: [PATCH] kea: fix reproducible build failure | ||
5 | |||
6 | New version of Kea has started using path of build-dir instead of | ||
7 | src-dir which results in reproducible builds failure. | ||
8 | Use src-dir as is used in v2.2.0 | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | https://gitlab.isc.org/isc-projects/kea/-/issues/3007 | ||
12 | |||
13 | Upstream has confirmed the patch will not be accepted but discussions | ||
14 | with upstream is still going on, we might have a proper solution later. | ||
15 | |||
16 | Signed-off-by: Sudip Mukherjee <sudipm.mukherjee@gmail.com> | ||
17 | --- | ||
18 | src/bin/admin/kea-admin.in | 8 ++++---- | ||
19 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
20 | |||
21 | diff --git a/src/bin/admin/kea-admin.in b/src/bin/admin/kea-admin.in | ||
22 | index 034a0ee..8ab11ab 100644 | ||
23 | --- a/src/bin/admin/kea-admin.in | ||
24 | +++ b/src/bin/admin/kea-admin.in | ||
25 | @@ -51,14 +51,14 @@ dump_qry="" | ||
26 | if test -f "@datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh"; then | ||
27 | . "@datarootdir@/@PACKAGE_NAME@/scripts/admin-utils.sh" | ||
28 | else | ||
29 | - . "@abs_top_builddir@/src/bin/admin/admin-utils.sh" | ||
30 | + . "@abs_top_srcdir@/src/bin/admin/admin-utils.sh" | ||
31 | fi | ||
32 | |||
33 | # Find the installed kea-lfc if available. Fallback to sources otherwise. | ||
34 | if test -x "@sbindir@/kea-lfc"; then | ||
35 | kea_lfc="@sbindir@/kea-lfc" | ||
36 | else | ||
37 | - kea_lfc="@abs_top_builddir@/src/bin/lfc/kea-lfc" | ||
38 | + kea_lfc="@abs_top_srcdir@/src/bin/lfc/kea-lfc" | ||
39 | fi | ||
40 | |||
41 | # Prints out usage version. | ||
42 | @@ -355,7 +355,7 @@ mysql_upgrade() { | ||
43 | # Check if there are any files in it | ||
44 | num_files=$(find "${upgrade_scripts_dir}" -name 'upgrade*.sh' -type f | wc -l) | ||
45 | if [ "$num_files" -eq 0 ]; then | ||
46 | - upgrade_scripts_dir=@abs_top_builddir@/src/share/database/scripts/mysql | ||
47 | + upgrade_scripts_dir=@abs_top_srcdir@/src/share/database/scripts/mysql | ||
48 | |||
49 | # Check if the scripts directory exists at all. | ||
50 | if [ ! -d ${upgrade_scripts_dir} ]; then | ||
51 | @@ -405,7 +405,7 @@ pgsql_upgrade() { | ||
52 | # Check if there are any files in it | ||
53 | num_files=$(find "${upgrade_scripts_dir}" -name 'upgrade*.sh' -type f | wc -l) | ||
54 | if [ "$num_files" -eq 0 ]; then | ||
55 | - upgrade_scripts_dir=@abs_top_builddir@/src/share/database/scripts/pgsql | ||
56 | + upgrade_scripts_dir=@abs_top_srcdir@/src/share/database/scripts/pgsql | ||
57 | |||
58 | # Check if the scripts directory exists at all. | ||
59 | if [ ! -d ${upgrade_scripts_dir} ]; then | ||
60 | -- | ||
61 | 2.39.2 | ||
62 | |||
diff --git a/meta/recipes-connectivity/kea/kea_2.4.1.bb b/meta/recipes-connectivity/kea/kea_2.4.1.bb index c3aa4dc8f0..19309ce314 100644 --- a/meta/recipes-connectivity/kea/kea_2.4.1.bb +++ b/meta/recipes-connectivity/kea/kea_2.4.1.bb | |||
@@ -17,7 +17,6 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \ | |||
17 | file://fix-multilib-conflict.patch \ | 17 | file://fix-multilib-conflict.patch \ |
18 | file://fix_pid_keactrl.patch \ | 18 | file://fix_pid_keactrl.patch \ |
19 | file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \ | 19 | file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \ |
20 | file://0001-kea-fix-reproducible-build-failure.patch \ | ||
21 | " | 20 | " |
22 | SRC_URI[sha256sum] = "815c61f5c271caa4a1db31dd656eb50a7f6ea973da3690f7c8581408e180131a" | 21 | SRC_URI[sha256sum] = "815c61f5c271caa4a1db31dd656eb50a7f6ea973da3690f7c8581408e180131a" |
23 | 22 | ||
@@ -39,6 +38,7 @@ DEBUG_OPTIMIZATION:append:mipsel = " -O" | |||
39 | BUILD_OPTIMIZATION:remove:mipsel = " -Og" | 38 | BUILD_OPTIMIZATION:remove:mipsel = " -Og" |
40 | BUILD_OPTIMIZATION:append:mipsel = " -O" | 39 | BUILD_OPTIMIZATION:append:mipsel = " -O" |
41 | 40 | ||
41 | CXXFLAGS:remove = "-fvisibility-inlines-hidden" | ||
42 | EXTRA_OECONF = "--with-boost-libs=-lboost_system \ | 42 | EXTRA_OECONF = "--with-boost-libs=-lboost_system \ |
43 | --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \ | 43 | --with-log4cplus=${STAGING_DIR_TARGET}${prefix} \ |
44 | --with-openssl=${STAGING_DIR_TARGET}${prefix}" | 44 | --with-openssl=${STAGING_DIR_TARGET}${prefix}" |
@@ -47,7 +47,7 @@ do_configure:prepend() { | |||
47 | # replace abs_top_builddir to avoid introducing the build path | 47 | # replace abs_top_builddir to avoid introducing the build path |
48 | # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target | 48 | # don't expand the abs_top_builddir on the target as the abs_top_builddir is meanlingless on the target |
49 | find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" | 49 | find ${S} -type f -name *.sh.in | xargs sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" |
50 | sed -i "s:@abs_top_srcdir@:@abs_top_srcdir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in | 50 | sed -i "s:@abs_top_builddir@:@abs_top_builddir_placeholder@:g" ${S}/src/bin/admin/kea-admin.in |
51 | } | 51 | } |
52 | 52 | ||
53 | # patch out build host paths for reproducibility | 53 | # patch out build host paths for reproducibility |
@@ -59,8 +59,8 @@ do_install:append() { | |||
59 | install -d ${D}${sysconfdir}/init.d | 59 | install -d ${D}${sysconfdir}/init.d |
60 | install -d ${D}${systemd_system_unitdir} | 60 | install -d ${D}${systemd_system_unitdir} |
61 | 61 | ||
62 | install -m 0644 ${WORKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} | 62 | install -m 0644 ${UNPACKDIR}/kea-dhcp*service ${D}${systemd_system_unitdir} |
63 | install -m 0755 ${WORKDIR}/kea-*-server ${D}${sysconfdir}/init.d | 63 | install -m 0755 ${UNPACKDIR}/kea-*-server ${D}${sysconfdir}/init.d |
64 | sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 64 | sed -i -e 's,@SBINDIR@,${sbindir},g' -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
65 | -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ | 65 | -e 's,@LOCALSTATEDIR@,${localstatedir},g' -e 's,@SYSCONFDIR@,${sysconfdir},g' \ |
66 | ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl | 66 | ${D}${systemd_system_unitdir}/kea-dhcp*service ${D}${sbindir}/keactrl |
diff --git a/meta/recipes-connectivity/neard/neard_0.19.bb b/meta/recipes-connectivity/neard/neard_0.19.bb index a98f436b98..94df1ac3d6 100644 --- a/meta/recipes-connectivity/neard/neard_0.19.bb +++ b/meta/recipes-connectivity/neard/neard_0.19.bb | |||
@@ -31,7 +31,7 @@ EXTRA_OECONF += "--enable-tools" | |||
31 | do_install:append() { | 31 | do_install:append() { |
32 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 32 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
33 | install -d ${D}${sysconfdir}/init.d/ | 33 | install -d ${D}${sysconfdir}/init.d/ |
34 | sed "s:@installpath@:${libexecdir}/nfc:" ${WORKDIR}/neard.in \ | 34 | sed "s:@installpath@:${libexecdir}/nfc:" ${UNPACKDIR}/neard.in \ |
35 | > ${D}${sysconfdir}/init.d/neard | 35 | > ${D}${sysconfdir}/init.d/neard |
36 | chmod 0755 ${D}${sysconfdir}/init.d/neard | 36 | chmod 0755 ${D}${sysconfdir}/init.d/neard |
37 | fi | 37 | fi |
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb index 2f2644f9a8..af7a74a5fb 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb | |||
@@ -122,22 +122,22 @@ HIGH_RLIMIT_NOFILE ??= "4096" | |||
122 | 122 | ||
123 | do_install:append () { | 123 | do_install:append () { |
124 | install -d ${D}${sysconfdir}/init.d | 124 | install -d ${D}${sysconfdir}/init.d |
125 | install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver | 125 | install -m 0755 ${UNPACKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver |
126 | install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon | 126 | install -m 0755 ${UNPACKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon |
127 | 127 | ||
128 | install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir} | 128 | install -m 0755 ${UNPACKDIR}/nfs-utils.conf ${D}${sysconfdir} |
129 | install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} | 129 | install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir} |
130 | 130 | ||
131 | install -d ${D}${systemd_system_unitdir} | 131 | install -d ${D}${systemd_system_unitdir} |
132 | install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_system_unitdir}/ | 132 | install -m 0644 ${UNPACKDIR}/nfs-server.service ${D}${systemd_system_unitdir}/ |
133 | install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_system_unitdir}/ | 133 | install -m 0644 ${UNPACKDIR}/nfs-mountd.service ${D}${systemd_system_unitdir}/ |
134 | install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_system_unitdir}/ | 134 | install -m 0644 ${UNPACKDIR}/nfs-statd.service ${D}${systemd_system_unitdir}/ |
135 | sed -i -e 's,@SBINDIR@,${sbindir},g' \ | 135 | sed -i -e 's,@SBINDIR@,${sbindir},g' \ |
136 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ | 136 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ |
137 | -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ | 137 | -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \ |
138 | ${D}${systemd_system_unitdir}/*.service | 138 | ${D}${systemd_system_unitdir}/*.service |
139 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 139 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
140 | install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/ | 140 | install -m 0644 ${UNPACKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/ |
141 | install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/ | 141 | install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/ |
142 | ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount | 142 | ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount |
143 | fi | 143 | fi |
diff --git a/meta/recipes-connectivity/ofono/ofono_2.4.bb b/meta/recipes-connectivity/ofono/ofono_2.4.bb index dae5cc3c25..5e1e5f3b6a 100644 --- a/meta/recipes-connectivity/ofono/ofono_2.4.bb +++ b/meta/recipes-connectivity/ofono/ofono_2.4.bb | |||
@@ -37,7 +37,7 @@ do_configure:prepend() { | |||
37 | 37 | ||
38 | do_install:append() { | 38 | do_install:append() { |
39 | install -d ${D}${sysconfdir}/init.d/ | 39 | install -d ${D}${sysconfdir}/init.d/ |
40 | install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono | 40 | install -m 0755 ${UNPACKDIR}/ofono ${D}${sysconfdir}/init.d/ofono |
41 | } | 41 | } |
42 | 42 | ||
43 | PACKAGES =+ "${PN}-tests" | 43 | PACKAGES =+ "${PN}-tests" |
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd.service b/meta/recipes-connectivity/openssh/openssh/sshd.service index 2a997b656a..3e570ab1e5 100644 --- a/meta/recipes-connectivity/openssh/openssh/sshd.service +++ b/meta/recipes-connectivity/openssh/openssh/sshd.service | |||
@@ -2,6 +2,7 @@ | |||
2 | Description=OpenSSH server daemon | 2 | Description=OpenSSH server daemon |
3 | Wants=sshdgenkeys.service | 3 | Wants=sshdgenkeys.service |
4 | After=sshdgenkeys.service | 4 | After=sshdgenkeys.service |
5 | After=nss-user-lookup.target | ||
5 | 6 | ||
6 | [Service] | 7 | [Service] |
7 | Environment="SSHD_OPTS=" | 8 | Environment="SSHD_OPTS=" |
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd.socket b/meta/recipes-connectivity/openssh/openssh/sshd.socket index 8d76d62309..7dd2ed0626 100644 --- a/meta/recipes-connectivity/openssh/openssh/sshd.socket +++ b/meta/recipes-connectivity/openssh/openssh/sshd.socket | |||
@@ -1,6 +1,7 @@ | |||
1 | [Unit] | 1 | [Unit] |
2 | Conflicts=sshd.service | 2 | Conflicts=sshd.service |
3 | Wants=sshdgenkeys.service | 3 | Wants=sshdgenkeys.service |
4 | After=nss-user-lookup.target | ||
4 | 5 | ||
5 | [Socket] | 6 | [Socket] |
6 | ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd | 7 | ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd |
diff --git a/meta/recipes-connectivity/openssh/openssh_9.7p1.bb b/meta/recipes-connectivity/openssh/openssh_9.7p1.bb index d1468c59fc..82da92f63f 100644 --- a/meta/recipes-connectivity/openssh/openssh_9.7p1.bb +++ b/meta/recipes-connectivity/openssh/openssh_9.7p1.bb | |||
@@ -102,8 +102,8 @@ CACHED_CONFIGUREVARS += "ac_cv_header_maillock_h=no" | |||
102 | 102 | ||
103 | do_configure:prepend () { | 103 | do_configure:prepend () { |
104 | export LD="${CC}" | 104 | export LD="${CC}" |
105 | install -m 0644 ${WORKDIR}/sshd_config ${B}/ | 105 | install -m 0644 ${UNPACKDIR}/sshd_config ${B}/ |
106 | install -m 0644 ${WORKDIR}/ssh_config ${B}/ | 106 | install -m 0644 ${UNPACKDIR}/ssh_config ${B}/ |
107 | } | 107 | } |
108 | 108 | ||
109 | do_compile_ptest() { | 109 | do_compile_ptest() { |
@@ -112,7 +112,7 @@ do_compile_ptest() { | |||
112 | 112 | ||
113 | do_install:append () { | 113 | do_install:append () { |
114 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 114 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
115 | install -D -m 0644 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd | 115 | install -D -m 0644 ${UNPACKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd |
116 | sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config | 116 | sed -i -e 's:#UsePAM no:UsePAM yes:' ${D}${sysconfdir}/ssh/sshd_config |
117 | fi | 117 | fi |
118 | 118 | ||
@@ -121,11 +121,11 @@ do_install:append () { | |||
121 | fi | 121 | fi |
122 | 122 | ||
123 | install -d ${D}${sysconfdir}/init.d | 123 | install -d ${D}${sysconfdir}/init.d |
124 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd | 124 | install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/sshd |
125 | rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin | 125 | rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin |
126 | rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} | 126 | rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir} |
127 | install -d ${D}/${sysconfdir}/default/volatiles | 127 | install -d ${D}/${sysconfdir}/default/volatiles |
128 | install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd | 128 | install -m 644 ${UNPACKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd |
129 | install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} | 129 | install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir} |
130 | 130 | ||
131 | # Create config files for read-only rootfs | 131 | # Create config files for read-only rootfs |
@@ -138,8 +138,8 @@ do_install:append () { | |||
138 | 138 | ||
139 | install -d ${D}${systemd_system_unitdir} | 139 | install -d ${D}${systemd_system_unitdir} |
140 | if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)}; then | 140 | if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-socket-mode','true','false',d)}; then |
141 | install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_system_unitdir} | 141 | install -c -m 0644 ${UNPACKDIR}/sshd.socket ${D}${systemd_system_unitdir} |
142 | install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_system_unitdir} | 142 | install -c -m 0644 ${UNPACKDIR}/sshd@.service ${D}${systemd_system_unitdir} |
143 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 143 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
144 | -e 's,@SBINDIR@,${sbindir},g' \ | 144 | -e 's,@SBINDIR@,${sbindir},g' \ |
145 | -e 's,@BINDIR@,${bindir},g' \ | 145 | -e 's,@BINDIR@,${bindir},g' \ |
@@ -147,9 +147,9 @@ do_install:append () { | |||
147 | ${D}${systemd_system_unitdir}/sshd.socket | 147 | ${D}${systemd_system_unitdir}/sshd.socket |
148 | fi | 148 | fi |
149 | if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','true','false',d)}; then | 149 | if ${@bb.utils.contains('PACKAGECONFIG','systemd-sshd-service-mode','true','false',d)}; then |
150 | install -c -m 0644 ${WORKDIR}/sshd.service ${D}${systemd_system_unitdir} | 150 | install -c -m 0644 ${UNPACKDIR}/sshd.service ${D}${systemd_system_unitdir} |
151 | fi | 151 | fi |
152 | install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir} | 152 | install -c -m 0644 ${UNPACKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir} |
153 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 153 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
154 | -e 's,@SBINDIR@,${sbindir},g' \ | 154 | -e 's,@SBINDIR@,${sbindir},g' \ |
155 | -e 's,@BINDIR@,${bindir},g' \ | 155 | -e 's,@BINDIR@,${bindir},g' \ |
@@ -159,7 +159,7 @@ do_install:append () { | |||
159 | sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ | 159 | sed -i -e 's,@LIBEXECDIR@,${libexecdir}/${BPN},g' \ |
160 | ${D}${sysconfdir}/init.d/sshd | 160 | ${D}${sysconfdir}/init.d/sshd |
161 | 161 | ||
162 | install -D -m 0755 ${WORKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys | 162 | install -D -m 0755 ${UNPACKDIR}/sshd_check_keys ${D}${libexecdir}/${BPN}/sshd_check_keys |
163 | } | 163 | } |
164 | 164 | ||
165 | do_install_ptest () { | 165 | do_install_ptest () { |
diff --git a/meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch b/meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch deleted file mode 100644 index 8772f716d5..0000000000 --- a/meta/recipes-connectivity/openssl/openssl/CVE-2024-2511.patch +++ /dev/null | |||
@@ -1,120 +0,0 @@ | |||
1 | From e9d7083e241670332e0443da0f0d4ffb52829f08 Mon Sep 17 00:00:00 2001 | ||
2 | From: Matt Caswell <matt@openssl.org> | ||
3 | Date: Tue, 5 Mar 2024 15:43:53 +0000 | ||
4 | Subject: [PATCH] Fix unconstrained session cache growth in TLSv1.3 | ||
5 | |||
6 | In TLSv1.3 we create a new session object for each ticket that we send. | ||
7 | We do this by duplicating the original session. If SSL_OP_NO_TICKET is in | ||
8 | use then the new session will be added to the session cache. However, if | ||
9 | early data is not in use (and therefore anti-replay protection is being | ||
10 | used), then multiple threads could be resuming from the same session | ||
11 | simultaneously. If this happens and a problem occurs on one of the threads, | ||
12 | then the original session object could be marked as not_resumable. When we | ||
13 | duplicate the session object this not_resumable status gets copied into the | ||
14 | new session object. The new session object is then added to the session | ||
15 | cache even though it is not_resumable. | ||
16 | |||
17 | Subsequently, another bug means that the session_id_length is set to 0 for | ||
18 | sessions that are marked as not_resumable - even though that session is | ||
19 | still in the cache. Once this happens the session can never be removed from | ||
20 | the cache. When that object gets to be the session cache tail object the | ||
21 | cache never shrinks again and grows indefinitely. | ||
22 | |||
23 | CVE-2024-2511 | ||
24 | |||
25 | Reviewed-by: Neil Horman <nhorman@openssl.org> | ||
26 | Reviewed-by: Tomas Mraz <tomas@openssl.org> | ||
27 | (Merged from https://github.com/openssl/openssl/pull/24043) | ||
28 | |||
29 | CVE: CVE-2024-2511 | ||
30 | Upstream-Status: Backport [https://github.com/openssl/openssl/commit/e9d7083e241670332e0443da0f0d4ffb52829f08] | ||
31 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
32 | --- | ||
33 | ssl/ssl_lib.c | 5 +++-- | ||
34 | ssl/ssl_sess.c | 28 ++++++++++++++++++++++------ | ||
35 | ssl/statem/statem_srvr.c | 5 ++--- | ||
36 | 3 files changed, 27 insertions(+), 11 deletions(-) | ||
37 | |||
38 | diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c | ||
39 | index 4afb43bc86e54..c51529ddab5bb 100644 | ||
40 | --- a/ssl/ssl_lib.c | ||
41 | +++ b/ssl/ssl_lib.c | ||
42 | @@ -4457,9 +4457,10 @@ void ssl_update_cache(SSL_CONNECTION *s, int mode) | ||
43 | |||
44 | /* | ||
45 | * If the session_id_length is 0, we are not supposed to cache it, and it | ||
46 | - * would be rather hard to do anyway :-) | ||
47 | + * would be rather hard to do anyway :-). Also if the session has already | ||
48 | + * been marked as not_resumable we should not cache it for later reuse. | ||
49 | */ | ||
50 | - if (s->session->session_id_length == 0) | ||
51 | + if (s->session->session_id_length == 0 || s->session->not_resumable) | ||
52 | return; | ||
53 | |||
54 | /* | ||
55 | diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c | ||
56 | index 3dcc4d81e5bc6..1fa6d17c46863 100644 | ||
57 | --- a/ssl/ssl_sess.c | ||
58 | +++ b/ssl/ssl_sess.c | ||
59 | @@ -127,16 +127,11 @@ SSL_SESSION *SSL_SESSION_new(void) | ||
60 | return ss; | ||
61 | } | ||
62 | |||
63 | -SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src) | ||
64 | -{ | ||
65 | - return ssl_session_dup(src, 1); | ||
66 | -} | ||
67 | - | ||
68 | /* | ||
69 | * Create a new SSL_SESSION and duplicate the contents of |src| into it. If | ||
70 | * ticket == 0 then no ticket information is duplicated, otherwise it is. | ||
71 | */ | ||
72 | -SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) | ||
73 | +static SSL_SESSION *ssl_session_dup_intern(const SSL_SESSION *src, int ticket) | ||
74 | { | ||
75 | SSL_SESSION *dest; | ||
76 | |||
77 | @@ -265,6 +260,27 @@ SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) | ||
78 | return NULL; | ||
79 | } | ||
80 | |||
81 | +SSL_SESSION *SSL_SESSION_dup(const SSL_SESSION *src) | ||
82 | +{ | ||
83 | + return ssl_session_dup_intern(src, 1); | ||
84 | +} | ||
85 | + | ||
86 | +/* | ||
87 | + * Used internally when duplicating a session which might be already shared. | ||
88 | + * We will have resumed the original session. Subsequently we might have marked | ||
89 | + * it as non-resumable (e.g. in another thread) - but this copy should be ok to | ||
90 | + * resume from. | ||
91 | + */ | ||
92 | +SSL_SESSION *ssl_session_dup(const SSL_SESSION *src, int ticket) | ||
93 | +{ | ||
94 | + SSL_SESSION *sess = ssl_session_dup_intern(src, ticket); | ||
95 | + | ||
96 | + if (sess != NULL) | ||
97 | + sess->not_resumable = 0; | ||
98 | + | ||
99 | + return sess; | ||
100 | +} | ||
101 | + | ||
102 | const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len) | ||
103 | { | ||
104 | if (len) | ||
105 | diff --git a/ssl/statem/statem_srvr.c b/ssl/statem/statem_srvr.c | ||
106 | index 853af8c0aa9f9..d5f0ab091dacc 100644 | ||
107 | --- a/ssl/statem/statem_srvr.c | ||
108 | +++ b/ssl/statem/statem_srvr.c | ||
109 | @@ -2445,9 +2445,8 @@ CON_FUNC_RETURN tls_construct_server_hello(SSL_CONNECTION *s, WPACKET *pkt) | ||
110 | * so the following won't overwrite an ID that we're supposed | ||
111 | * to send back. | ||
112 | */ | ||
113 | - if (s->session->not_resumable || | ||
114 | - (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER) | ||
115 | - && !s->hit)) | ||
116 | + if (!(SSL_CONNECTION_GET_CTX(s)->session_cache_mode & SSL_SESS_CACHE_SERVER) | ||
117 | + && !s->hit) | ||
118 | s->session->session_id_length = 0; | ||
119 | |||
120 | if (usetls13) { | ||
diff --git a/meta/recipes-connectivity/openssl/openssl/CVE-2024-4603.patch b/meta/recipes-connectivity/openssl/openssl/CVE-2024-4603.patch new file mode 100644 index 0000000000..cdc3d0d503 --- /dev/null +++ b/meta/recipes-connectivity/openssl/openssl/CVE-2024-4603.patch | |||
@@ -0,0 +1,179 @@ | |||
1 | From 53ea06486d296b890d565fb971b2764fcd826e7e Mon Sep 17 00:00:00 2001 | ||
2 | From: Tomas Mraz <tomas@openssl.org> | ||
3 | Date: Wed, 8 May 2024 15:23:45 +0200 | ||
4 | Subject: [PATCH] Check DSA parameters for excessive sizes before validating | ||
5 | |||
6 | This avoids overly long computation of various validation | ||
7 | checks. | ||
8 | |||
9 | Fixes CVE-2024-4603 | ||
10 | |||
11 | Reviewed-by: Paul Dale <ppzgs1@gmail.com> | ||
12 | Reviewed-by: Matt Caswell <matt@openssl.org> | ||
13 | Reviewed-by: Neil Horman <nhorman@openssl.org> | ||
14 | Reviewed-by: Shane Lontis <shane.lontis@oracle.com> | ||
15 | (Merged from https://github.com/openssl/openssl/pull/24346) | ||
16 | |||
17 | (cherry picked from commit 85ccbab216da245cf9a6503dd327072f21950d9b) | ||
18 | |||
19 | <dropped CHANGES.md modifications as it would need backport of all previous changes> | ||
20 | |||
21 | CVE: CVE-2024-4603 | ||
22 | Upstream-Status: Backport [https://github.com/openssl/openssl/commit/53ea06486d296b890d565fb971b2764fcd826e7e] | ||
23 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
24 | --- | ||
25 | crypto/dsa/dsa_check.c | 44 ++++++++++++-- | ||
26 | .../invalid/p10240_q256_too_big.pem | 57 +++++++++++++++++++ | ||
27 | 2 files changed, 97 insertions(+), 4 deletions(-) | ||
28 | |||
29 | diff --git a/crypto/dsa/dsa_check.c b/crypto/dsa/dsa_check.c | ||
30 | index 7b6d7df88f..e1375dfad9 100644 | ||
31 | --- a/crypto/dsa/dsa_check.c | ||
32 | +++ b/crypto/dsa/dsa_check.c | ||
33 | @@ -19,8 +19,34 @@ | ||
34 | #include "dsa_local.h" | ||
35 | #include "crypto/dsa.h" | ||
36 | |||
37 | +static int dsa_precheck_params(const DSA *dsa, int *ret) | ||
38 | +{ | ||
39 | + if (dsa->params.p == NULL || dsa->params.q == NULL) { | ||
40 | + ERR_raise(ERR_LIB_DSA, DSA_R_BAD_FFC_PARAMETERS); | ||
41 | + *ret = FFC_CHECK_INVALID_PQ; | ||
42 | + return 0; | ||
43 | + } | ||
44 | + | ||
45 | + if (BN_num_bits(dsa->params.p) > OPENSSL_DSA_MAX_MODULUS_BITS) { | ||
46 | + ERR_raise(ERR_LIB_DSA, DSA_R_MODULUS_TOO_LARGE); | ||
47 | + *ret = FFC_CHECK_INVALID_PQ; | ||
48 | + return 0; | ||
49 | + } | ||
50 | + | ||
51 | + if (BN_num_bits(dsa->params.q) >= BN_num_bits(dsa->params.p)) { | ||
52 | + ERR_raise(ERR_LIB_DSA, DSA_R_BAD_Q_VALUE); | ||
53 | + *ret = FFC_CHECK_INVALID_PQ; | ||
54 | + return 0; | ||
55 | + } | ||
56 | + | ||
57 | + return 1; | ||
58 | +} | ||
59 | + | ||
60 | int ossl_dsa_check_params(const DSA *dsa, int checktype, int *ret) | ||
61 | { | ||
62 | + if (!dsa_precheck_params(dsa, ret)) | ||
63 | + return 0; | ||
64 | + | ||
65 | if (checktype == OSSL_KEYMGMT_VALIDATE_QUICK_CHECK) | ||
66 | return ossl_ffc_params_simple_validate(dsa->libctx, &dsa->params, | ||
67 | FFC_PARAM_TYPE_DSA, ret); | ||
68 | @@ -39,6 +65,9 @@ int ossl_dsa_check_params(const DSA *dsa, int checktype, int *ret) | ||
69 | */ | ||
70 | int ossl_dsa_check_pub_key(const DSA *dsa, const BIGNUM *pub_key, int *ret) | ||
71 | { | ||
72 | + if (!dsa_precheck_params(dsa, ret)) | ||
73 | + return 0; | ||
74 | + | ||
75 | return ossl_ffc_validate_public_key(&dsa->params, pub_key, ret) | ||
76 | && *ret == 0; | ||
77 | } | ||
78 | @@ -50,6 +79,9 @@ int ossl_dsa_check_pub_key(const DSA *dsa, const BIGNUM *pub_key, int *ret) | ||
79 | */ | ||
80 | int ossl_dsa_check_pub_key_partial(const DSA *dsa, const BIGNUM *pub_key, int *ret) | ||
81 | { | ||
82 | + if (!dsa_precheck_params(dsa, ret)) | ||
83 | + return 0; | ||
84 | + | ||
85 | return ossl_ffc_validate_public_key_partial(&dsa->params, pub_key, ret) | ||
86 | && *ret == 0; | ||
87 | } | ||
88 | @@ -58,8 +90,10 @@ int ossl_dsa_check_priv_key(const DSA *dsa, const BIGNUM *priv_key, int *ret) | ||
89 | { | ||
90 | *ret = 0; | ||
91 | |||
92 | - return (dsa->params.q != NULL | ||
93 | - && ossl_ffc_validate_private_key(dsa->params.q, priv_key, ret)); | ||
94 | + if (!dsa_precheck_params(dsa, ret)) | ||
95 | + return 0; | ||
96 | + | ||
97 | + return ossl_ffc_validate_private_key(dsa->params.q, priv_key, ret); | ||
98 | } | ||
99 | |||
100 | /* | ||
101 | @@ -72,8 +106,10 @@ int ossl_dsa_check_pairwise(const DSA *dsa) | ||
102 | BN_CTX *ctx = NULL; | ||
103 | BIGNUM *pub_key = NULL; | ||
104 | |||
105 | - if (dsa->params.p == NULL | ||
106 | - || dsa->params.g == NULL | ||
107 | + if (!dsa_precheck_params(dsa, &ret)) | ||
108 | + return 0; | ||
109 | + | ||
110 | + if (dsa->params.g == NULL | ||
111 | || dsa->priv_key == NULL | ||
112 | || dsa->pub_key == NULL) | ||
113 | return 0; | ||
114 | diff --git a/test/recipes/15-test_dsaparam_data/invalid/p10240_q256_too_big.pem b/test/recipes/15-test_dsaparam_data/invalid/p10240_q256_too_big.pem | ||
115 | new file mode 100644 | ||
116 | index 0000000000..e85e2953b7 | ||
117 | --- /dev/null | ||
118 | +++ b/test/recipes/15-test_dsaparam_data/invalid/p10240_q256_too_big.pem | ||
119 | @@ -0,0 +1,57 @@ | ||
120 | +-----BEGIN DSA PARAMETERS----- | ||
121 | +MIIKLAKCBQEAym47LzPFZdbz16WvjczLKuzLtsP8yRk/exxL4bBthJhP1qOwctja | ||
122 | +p1586SF7gDxCMn7yWVEYdfRbFefGoq0gj1XOE917XqlbnkmZhMgxut2KbNJo/xil | ||
123 | +XNFUjGvKs3F413U9rAodC8f07cWHP1iTcWL+vPe6u2yilKWYYfnLWHQH+Z6aPrrF | ||
124 | +x/R08LI6DZ6nEsIo+hxaQnEtx+iqNTJC6Q1RIjWDqxQkFVTkJ0Y7miRDXmRdneWk | ||
125 | +oLrMZRpaXr5l5tSjEghh1pBgJcdyOv0lh4dlDy/alAiqE2Qlb667yHl6A9dDPlpW | ||
126 | +dAntpffy4LwOxfbuEhISvKjjQoBwIvYE4TBPqL0Q6bC6HgQ4+tqd9b44pQjdIQjb | ||
127 | +Xcjc6azheITSnPEex3OdKtKoQeRq01qCeLBpMXu1c+CTf4ApKArZvT3vZSg0hM1O | ||
128 | +pR71bRZrEEegDj0LH2HCgI5W6H3blOS9A0kUTddCoQXr2lsVdiPtRbPKH1gcd9FQ | ||
129 | +P8cGrvbakpTiC0dCczOMDaCteM1QNILlkM7ZoV6VghsKvDnFPxFsiIr5GgjasXP5 | ||
130 | +hhbn3g7sDoq1LiTEo+IKQY28pBWx7etSOSRuXW/spnvCkivZla7lSEGljoy9QlQ2 | ||
131 | +UZmsEQI9G3YyzgpxHvKZBK1CiZVTywdYKTZ4TYCxvqzhYhjv2bqbpjI12HRFLojB | ||
132 | +koyEmMSp53lldCzp158PrIanqSp2rksMR8SmmCL3FwfAp2OjqFMEglG9DT8x0WaN | ||
133 | +TLSkjGC6t2csMte7WyU1ekNoFDKfMjDSAz0+xIx21DEmZtYqFOg1DNPK1xYLS0pl | ||
134 | +RSMRRkJVN2mk/G7/1oxlB8Wb9wgi3GKUqqCYT11SnBjzq0NdoJ3E4GMedp5Lx3AZ | ||
135 | +4mFuRPUd4iV86tE0XDSHSFE7Y3ZkrOjD7Q/26/L53L/UH5z4HW6CHP5os7QERJjg | ||
136 | +c1S3x87wXWo9QXbB9b2xmf+c+aWwAAr1cviw38tru58jF3/IGyduj9H8claKQqBG | ||
137 | +cIOUF4aNe1hK2K3ArAOApUxr4KE+tCvrltRfiTmVFip0g9Jt1CPY3Zu7Bd4Z2ZkE | ||
138 | +DtSztpwa49HrWF5E9xpquvBL2U8jQ68E7Xd8Wp4orI/TIChriamBmdkgRz3H2LvN | ||
139 | +Ozb6+hsnEGrz3sp2RVAToSqA9ysa6nHZdfufPNtMEbQdO/k1ehmGRb0ljBRsO6b2 | ||
140 | +rsG2eYuC8tg8eCrIkua0TGRI7g6a4K32AJdzaX6NsISaaIW+OYJuoDSscvD3oOg8 | ||
141 | +PPEhU+zM7xJskTA+jxvPlikKx8V7MNHOCQECldJlUBwzJvqp40JvwfnDsF+8VYwd | ||
142 | +UaiieR3pzMzyTjpReXRmZbnRPusRcsVzxb2OhB79wmuy4UPjjQBX+7eD0rs8xxvW | ||
143 | +5a5q1Cjq4AvbwmmcA/wDrHDOjcbD/zodad2O1QtBWa/R4xyWea4zKsflgACE1zY9 | ||
144 | +wW2br7+YQFekcrXkkkEzgxd6zxv8KVEDpXRZjmAM1cI5LvkoN64To4GedN8Qe/G7 | ||
145 | +R9SZh9gnS17PTP64hK+aYqhFafMdu87q/+qLfxaSux727qE5hiW01u4nnWhACf9s | ||
146 | +xuOozowKqxZxkolMIyZv6Lddwy1Zv5qjCyd0DvM/1skpXWkb9kfabYC+OhjsjVhs | ||
147 | +0Ktfs6a5B3eixiw5x94hhIcTEcS4hmvhGUL72FiTca6ZeSERTKmNBy8CIQC9/ZUN | ||
148 | +uU/V5JTcnYyUGHzm7+XcZBjyGBagBj9rCmW3SQKCBQAJ/k9rb39f1cO+/3XDEMjy | ||
149 | +9bIEXSuS48g5RAc1UGd5nrrBQwuDxGWFyz0yvAY7LgyidZuJS21+MAp9EY7AOMmx | ||
150 | +TDttifNaBJYt4GZ8of166PcqTKkHQwq5uBpxeSDv/ZE8YbYfaCtLTcUC8KlO+l36 | ||
151 | +gjJHSkdkflSsGy1yObSNDQDfVAAwQs//TjDMnuEtvlNXZllsTvFFBceXVETn10K2 | ||
152 | +ZMmdSIJNfLnjReUKEN6PfeGqv7F4xoyGwUybEfRE4u5RmXrqCODaIjY3SNMrOq8B | ||
153 | +R3Ata/cCozsM1jIdIW2z+OybDJH+BYsYm2nkSZQjZS6javTYClLrntEKG/hAQwL8 | ||
154 | +F16YLOQXpHhgiAaWnTZzANtLppB2+5qCVy5ElzKongOwT8JTjTFXOaRnqe/ngm9W | ||
155 | +SSbrxfDaoWUOyK9XD8Cydzpv3n4Y8nWNGayi7/yAFCU36Ri040ufgv/TZLuKacnl | ||
156 | ++3ga3ZUpRlSigzx0kb1+KjTSWeQ8vE/psdWjvBukVEbzdUauMLyRLo/6znSVvvPX | ||
157 | +UGhviThE5uhrsUg+wEPFINriSHfF7JDKVhDcJnLBdaXvfN52pkF/naLBF5Rt3Gvq | ||
158 | +fjCxjx0Sy9Lag1hDN4dor7dzuO7wmwOS01DJW1PtNLuuH0Bbqh1kYSaQkmyXBZWX | ||
159 | +qo8K3nkoDM0niOtJJubOhTNrGmSaZpNXkK3Mcy9rBbdvEs5O0Jmqaax/eOdU0Yot | ||
160 | +B3lX+3ddOseT2ZEFjzObqTtkWuFBeBxuYNcRTsu3qMdIBsEb8URQdsTtjoIja2fK | ||
161 | +hreVgjK36GW70KXEl8V/vq5qjQulmqkBEjmilcDuiREKqQuyeagUOnhQaBplqVco | ||
162 | +4xznh5DMBMRbpGb5lHxKv4cPNi+uNAJ5i98zWUM1JRt6aXnRCuWcll1z8fRZ+5kD | ||
163 | +vK9FaZU3VRMK/eknEG49cGr8OuJ6ZRSaC+tKwV1y+amkSZpKPWnk2bUnQI3ApJv3 | ||
164 | +k1e1EToeECpMUkLMDgNbpKBoz4nqMEvAAlYgw9xKNbLlQlahqTVEAmaJHh4yDMDy | ||
165 | +i7IZ9Wrn47IGoR7s3cvhDHUpRPeW4nsmgzj+tf5EAxemI61STZJTTWo0iaPGJxct | ||
166 | +9nhOOhw1I38Mvm4vkAbFH7YJ0B6QrjjYL2MbOTp5JiIh4vdOeWwNo9/y4ffyaN5+ | ||
167 | +ADpxuuIAmcbdr6GPOhkOFFixRJa0B2eP1i032HESlLs8RB9oYtdTXdXQotnIgJGd | ||
168 | +Y8tSKOa1zjzeLHn3AVpRZTUW++/BxmApV3GKIeG8fsUjg/df0QRrBcdC/1uccdaG | ||
169 | +KKlAOwlywVn5jUlwHkTmDiTM9w5AqVVGHZ2b+4ZgQW8jnPKN0SrKf6U555D+zp7E | ||
170 | +x4uXoE8ojN9y8m8UKf0cTLnujH2XgZorjPfuMOt5VZEhQFMS2QaljSeni5CJJ8gk | ||
171 | +XtztNqfBlAtWR4V5iAHeQOfIB2YaOy8GESda89tyKraKeaez41VblpTVHTeq9IIF | ||
172 | +YB4cQA2PfuNaGVRGLMAgT3Dvl+mxxxeJyxnGAiUcETU/jJJt9QombiuszBlYGQ5d | ||
173 | +ELOSm/eQSRARV9zNSt5jaQlMSjMBqenIEM09BzYqa7jDwqoztFxNdO8bcuQPuKwa | ||
174 | +4z3bBZ1yYm63WFdNbQqqGEwc0OYmqg1raJ0zltgHyjFyw8IGu4g/wETs+nVQcH7D | ||
175 | +vKuje86bePD6kD/LH3wmkA== | ||
176 | +-----END DSA PARAMETERS----- | ||
177 | -- | ||
178 | 2.30.2 | ||
179 | |||
diff --git a/meta/recipes-connectivity/openssl/openssl_3.2.1.bb b/meta/recipes-connectivity/openssl/openssl_3.3.0.bb index d37b68abbb..fccf6988b1 100644 --- a/meta/recipes-connectivity/openssl/openssl_3.2.1.bb +++ b/meta/recipes-connectivity/openssl/openssl_3.3.0.bb | |||
@@ -13,14 +13,14 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ | |||
13 | file://0001-Configure-do-not-tweak-mips-cflags.patch \ | 13 | file://0001-Configure-do-not-tweak-mips-cflags.patch \ |
14 | file://0001-Added-handshake-history-reporting-when-test-fails.patch \ | 14 | file://0001-Added-handshake-history-reporting-when-test-fails.patch \ |
15 | file://bti.patch \ | 15 | file://bti.patch \ |
16 | file://CVE-2024-2511.patch \ | 16 | file://CVE-2024-4603.patch \ |
17 | " | 17 | " |
18 | 18 | ||
19 | SRC_URI:append:class-nativesdk = " \ | 19 | SRC_URI:append:class-nativesdk = " \ |
20 | file://environment.d-openssl.sh \ | 20 | file://environment.d-openssl.sh \ |
21 | " | 21 | " |
22 | 22 | ||
23 | SRC_URI[sha256sum] = "83c7329fe52c850677d75e5d0b0ca245309b97e8ecbcfdc1dfdc4ab9fac35b39" | 23 | SRC_URI[sha256sum] = "53e66b043322a606abf0087e7699a0e033a37fa13feb9742df35c3a33b18fb02" |
24 | 24 | ||
25 | inherit lib_package multilib_header multilib_script ptest perlnative manpages | 25 | inherit lib_package multilib_header multilib_script ptest perlnative manpages |
26 | MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash" | 26 | MULTILIB_SCRIPTS = "${PN}-bin:${bindir}/c_rehash" |
@@ -137,16 +137,12 @@ do_configure () { | |||
137 | ;; | 137 | ;; |
138 | esac | 138 | esac |
139 | 139 | ||
140 | useprefix=${prefix} | ||
141 | if [ "x$useprefix" = "x" ]; then | ||
142 | useprefix=/ | ||
143 | fi | ||
144 | # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the | 140 | # WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the |
145 | # environment variables set by bitbake. Adjust the environment variables instead. | 141 | # environment variables set by bitbake. Adjust the environment variables instead. |
146 | PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)" | 142 | PERLEXTERNAL="$(realpath ${S}/external/perl/Text-Template-*/lib)" |
147 | test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!" | 143 | test -d "$PERLEXTERNAL" || bberror "PERLEXTERNAL '$PERLEXTERNAL' not found!" |
148 | HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \ | 144 | HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="$PERLEXTERNAL" \ |
149 | perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=$useprefix --openssldir=${libdir}/ssl-3 --libdir=${libdir} $target | 145 | perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} ${DEPRECATED_CRYPTO_FLAGS} --prefix=${prefix} --openssldir=${libdir}/ssl-3 --libdir=${baselib} $target |
150 | perl ${B}/configdata.pm --dump | 146 | perl ${B}/configdata.pm --dump |
151 | } | 147 | } |
152 | 148 | ||
@@ -182,7 +178,7 @@ do_install:append:class-native () { | |||
182 | 178 | ||
183 | do_install:append:class-nativesdk () { | 179 | do_install:append:class-nativesdk () { |
184 | mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d | 180 | mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d |
185 | install -m 644 ${WORKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh | 181 | install -m 644 ${UNPACKDIR}/environment.d-openssl.sh ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh |
186 | sed 's|/usr/lib/ssl/|/usr/lib/ssl-3/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh | 182 | sed 's|/usr/lib/ssl/|/usr/lib/ssl-3/|g' -i ${D}${SDKPATHNATIVE}/environment-setup.d/openssl.sh |
187 | } | 183 | } |
188 | 184 | ||
diff --git a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb index 099c58bfc7..0ee47d47c2 100644 --- a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb +++ b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb | |||
@@ -11,14 +11,15 @@ SRC_URI = "file://host-peer \ | |||
11 | 11 | ||
12 | inherit allarch useradd | 12 | inherit allarch useradd |
13 | 13 | ||
14 | S = "${WORKDIR}" | 14 | S = "${WORKDIR}/sources" |
15 | UNPACKDIR = "${S}" | ||
15 | 16 | ||
16 | do_install() { | 17 | do_install() { |
17 | install -d ${D}${sysconfdir}/ppp/peers | 18 | install -d ${D}${sysconfdir}/ppp/peers |
18 | install -m 0644 ${WORKDIR}/host-peer ${D}${sysconfdir}/ppp/peers/host | 19 | install -m 0644 ${S}/host-peer ${D}${sysconfdir}/ppp/peers/host |
19 | 20 | ||
20 | install -d ${D}${sbindir} | 21 | install -d ${D}${sbindir} |
21 | install -m 0755 ${WORKDIR}/ppp-dialin ${D}${sbindir} | 22 | install -m 0755 ${S}/ppp-dialin ${D}${sbindir} |
22 | } | 23 | } |
23 | 24 | ||
24 | USERADD_PACKAGES = "${PN}" | 25 | USERADD_PACKAGES = "${PN}" |
diff --git a/meta/recipes-connectivity/ppp/ppp_2.5.0.bb b/meta/recipes-connectivity/ppp/ppp_2.5.0.bb index 4b052f8ed9..36e2585de4 100644 --- a/meta/recipes-connectivity/ppp/ppp_2.5.0.bb +++ b/meta/recipes-connectivity/ppp/ppp_2.5.0.bb | |||
@@ -5,7 +5,7 @@ SECTION = "console/network" | |||
5 | HOMEPAGE = "http://samba.org/ppp/" | 5 | HOMEPAGE = "http://samba.org/ppp/" |
6 | BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs" | 6 | BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs" |
7 | DEPENDS = "libpcap openssl virtual/crypt" | 7 | DEPENDS = "libpcap openssl virtual/crypt" |
8 | LICENSE = "BSD-3-Clause & BSD-3-Clause-Attribution & GPL-2.0-or-later & LGPL-2.0-or-later & PD" | 8 | LICENSE = "BSD-3-Clause & BSD-3-Clause-Attribution & GPL-2.0-or-later & LGPL-2.0-or-later & PD & RSA-MD" |
9 | LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \ | 9 | LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \ |
10 | file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \ | 10 | file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \ |
11 | file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \ | 11 | file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \ |
@@ -35,20 +35,20 @@ do_install:append () { | |||
35 | mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d | 35 | mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d |
36 | mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/ | 36 | mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/ |
37 | mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/ | 37 | mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/ |
38 | install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon | 38 | install -m 0755 ${UNPACKDIR}/pon ${D}${bindir}/pon |
39 | install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff | 39 | install -m 0755 ${UNPACKDIR}/poff ${D}${bindir}/poff |
40 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp | 40 | install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/ppp |
41 | install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/ | 41 | install -m 0755 ${UNPACKDIR}/ip-up ${D}${sysconfdir}/ppp/ |
42 | install -m 0755 ${WORKDIR}/ip-down ${D}${sysconfdir}/ppp/ | 42 | install -m 0755 ${UNPACKDIR}/ip-down ${D}${sysconfdir}/ppp/ |
43 | install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/ | 43 | install -m 0755 ${UNPACKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/ |
44 | install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/ | 44 | install -m 0755 ${UNPACKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/ |
45 | mkdir -p ${D}${sysconfdir}/chatscripts | 45 | mkdir -p ${D}${sysconfdir}/chatscripts |
46 | mkdir -p ${D}${sysconfdir}/ppp/peers | 46 | mkdir -p ${D}${sysconfdir}/ppp/peers |
47 | install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts | 47 | install -m 0755 ${UNPACKDIR}/pap ${D}${sysconfdir}/chatscripts |
48 | install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot | 48 | install -m 0755 ${UNPACKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot |
49 | install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider | 49 | install -m 0755 ${UNPACKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider |
50 | install -d ${D}${systemd_system_unitdir} | 50 | install -d ${D}${systemd_system_unitdir} |
51 | install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_system_unitdir} | 51 | install -m 0644 ${UNPACKDIR}/ppp@.service ${D}${systemd_system_unitdir} |
52 | sed -i -e 's,@SBINDIR@,${sbindir},g' \ | 52 | sed -i -e 's,@SBINDIR@,${sbindir},g' \ |
53 | ${D}${systemd_system_unitdir}/ppp@.service | 53 | ${D}${systemd_system_unitdir}/ppp@.service |
54 | } | 54 | } |
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb index 226cb7ee77..c3ce5bc22e 100644 --- a/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb +++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.92.bb | |||
@@ -29,7 +29,7 @@ do_compile () { | |||
29 | 29 | ||
30 | do_install () { | 30 | do_install () { |
31 | install -d ${D}${sysconfdir}/default/volatiles | 31 | install -d ${D}${sysconfdir}/default/volatiles |
32 | install -m 0644 ${WORKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles | 32 | install -m 0644 ${UNPACKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles |
33 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 33 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
34 | install -d ${D}${sysconfdir}/tmpfiles.d | 34 | install -d ${D}${sysconfdir}/tmpfiles.d |
35 | echo "d /run/${BPN}/interface - - - -" \ | 35 | echo "d /run/${BPN}/interface - - - -" \ |
diff --git a/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb b/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb index ddd10e6eeb..db5a0eb8ce 100644 --- a/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb +++ b/meta/recipes-connectivity/ssh-pregen-hostkeys/ssh-pregen-hostkeys_1.0.bb | |||
@@ -6,14 +6,19 @@ SRC_URI = "file://dropbear_rsa_host_key \ | |||
6 | LICENSE = "MIT" | 6 | LICENSE = "MIT" |
7 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | 7 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | ||
10 | UNPACKDIR = "${S}" | ||
11 | |||
9 | INHIBIT_DEFAULT_DEPS = "1" | 12 | INHIBIT_DEFAULT_DEPS = "1" |
10 | 13 | ||
14 | COMPATIBLE_MACHINE = "^qemu.*$" | ||
15 | |||
11 | do_install () { | 16 | do_install () { |
12 | install -d ${D}${sysconfdir}/dropbear | 17 | install -d ${D}${sysconfdir}/dropbear |
13 | install ${WORKDIR}/dropbear_rsa_host_key -m 0600 ${D}${sysconfdir}/dropbear/ | 18 | install ${UNPACKDIR}/dropbear_rsa_host_key -m 0600 ${D}${sysconfdir}/dropbear/ |
14 | 19 | ||
15 | install -d ${D}${sysconfdir}/ssh | 20 | install -d ${D}${sysconfdir}/ssh |
16 | install ${WORKDIR}/openssh/* ${D}${sysconfdir}/ssh/ | 21 | install ${UNPACKDIR}/openssh/* ${D}${sysconfdir}/ssh/ |
17 | chmod 0600 ${D}${sysconfdir}/ssh/* | 22 | chmod 0600 ${D}${sysconfdir}/ssh/* |
18 | chmod 0644 ${D}${sysconfdir}/ssh/*.pub | 23 | chmod 0644 ${D}${sysconfdir}/ssh/*.pub |
19 | } \ No newline at end of file | 24 | } |
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb index 22028ce957..8113bcab09 100644 --- a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb +++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.10.bb | |||
@@ -62,15 +62,15 @@ do_install () { | |||
62 | oe_runmake -C wpa_supplicant DESTDIR="${D}" install | 62 | oe_runmake -C wpa_supplicant DESTDIR="${D}" install |
63 | 63 | ||
64 | install -d ${D}${docdir}/wpa_supplicant | 64 | install -d ${D}${docdir}/wpa_supplicant |
65 | install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant | 65 | install -m 644 wpa_supplicant/README ${UNPACKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant |
66 | 66 | ||
67 | install -d ${D}${sysconfdir} | 67 | install -d ${D}${sysconfdir} |
68 | install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf | 68 | install -m 600 ${UNPACKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf |
69 | 69 | ||
70 | install -d ${D}${sysconfdir}/network/if-pre-up.d/ | 70 | install -d ${D}${sysconfdir}/network/if-pre-up.d/ |
71 | install -d ${D}${sysconfdir}/network/if-post-down.d/ | 71 | install -d ${D}${sysconfdir}/network/if-post-down.d/ |
72 | install -d ${D}${sysconfdir}/network/if-down.d/ | 72 | install -d ${D}${sysconfdir}/network/if-down.d/ |
73 | install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant | 73 | install -m 755 ${UNPACKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant |
74 | ln -sf ../if-pre-up.d/wpa-supplicant ${D}${sysconfdir}/network/if-post-down.d/wpa-supplicant | 74 | ln -sf ../if-pre-up.d/wpa-supplicant ${D}${sysconfdir}/network/if-post-down.d/wpa-supplicant |
75 | 75 | ||
76 | install -d ${D}/${sysconfdir}/dbus-1/system.d | 76 | install -d ${D}/${sysconfdir}/dbus-1/system.d |
@@ -84,7 +84,7 @@ do_install () { | |||
84 | fi | 84 | fi |
85 | 85 | ||
86 | install -d ${D}/etc/default/volatiles | 86 | install -d ${D}/etc/default/volatiles |
87 | install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles | 87 | install -m 0644 ${UNPACKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles |
88 | 88 | ||
89 | install -d ${D}${includedir} | 89 | install -d ${D}${includedir} |
90 | install -m 0644 ${S}/src/common/wpa_ctrl.h ${D}${includedir} | 90 | install -m 0644 ${S}/src/common/wpa_ctrl.h ${D}${includedir} |
diff --git a/meta/recipes-core/base-files/base-files/profile b/meta/recipes-core/base-files/base-files/profile index bded3757cc..5e8393c91c 100644 --- a/meta/recipes-core/base-files/base-files/profile +++ b/meta/recipes-core/base-files/base-files/profile | |||
@@ -58,7 +58,7 @@ resize() { | |||
58 | fi | 58 | fi |
59 | # only do this for /dev/tty[A-z] which are typically | 59 | # only do this for /dev/tty[A-z] which are typically |
60 | # serial ports | 60 | # serial ports |
61 | if [ $FIRSTTIMESETUP -eq 1 -a $SHLVL -eq 1 ] ; then | 61 | if [ $FIRSTTIMESETUP -eq 1 -a ${SHLVL:-1} -eq 1 ] ; then |
62 | case $(tty 2>/dev/null) in | 62 | case $(tty 2>/dev/null) in |
63 | /dev/tty[A-z]*) resize >/dev/null;; | 63 | /dev/tty[A-z]*) resize >/dev/null;; |
64 | esac | 64 | esac |
diff --git a/meta/recipes-core/base-files/base-files_3.0.14.bb b/meta/recipes-core/base-files/base-files_3.0.14.bb index 9fab53ce63..1b6e9671e4 100644 --- a/meta/recipes-core/base-files/base-files_3.0.14.bb +++ b/meta/recipes-core/base-files/base-files_3.0.14.bb | |||
@@ -25,7 +25,8 @@ SRC_URI = "file://rotation \ | |||
25 | " | 25 | " |
26 | SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}" | 26 | SRC_URI:append:libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd systemd-resolved', ' file://0001-add-nss-resolve-to-nsswitch.patch', '', d)}" |
27 | 27 | ||
28 | S = "${WORKDIR}" | 28 | S = "${WORKDIR}/sources" |
29 | UNPACKDIR = "${S}" | ||
29 | 30 | ||
30 | INHIBIT_DEFAULT_DEPS = "1" | 31 | INHIBIT_DEFAULT_DEPS = "1" |
31 | 32 | ||
@@ -113,23 +114,23 @@ do_install () { | |||
113 | ln -snf ../run ${D}${localstatedir}/run | 114 | ln -snf ../run ${D}${localstatedir}/run |
114 | ln -snf ../run/lock ${D}${localstatedir}/lock | 115 | ln -snf ../run/lock ${D}${localstatedir}/lock |
115 | 116 | ||
116 | install -m 0644 ${WORKDIR}/hosts ${D}${sysconfdir}/hosts | 117 | install -m 0644 ${S}/hosts ${D}${sysconfdir}/hosts |
117 | ${BASEFILESISSUEINSTALL} | 118 | ${BASEFILESISSUEINSTALL} |
118 | 119 | ||
119 | rotation=`cat ${WORKDIR}/rotation` | 120 | rotation=`cat ${S}/rotation` |
120 | if [ "$rotation" != "0" ]; then | 121 | if [ "$rotation" != "0" ]; then |
121 | install -m 0644 ${WORKDIR}/rotation ${D}${sysconfdir}/rotation | 122 | install -m 0644 ${S}/rotation ${D}${sysconfdir}/rotation |
122 | fi | 123 | fi |
123 | 124 | ||
124 | install -m 0644 ${WORKDIR}/fstab ${D}${sysconfdir}/fstab | 125 | install -m 0644 ${S}/fstab ${D}${sysconfdir}/fstab |
125 | install -m 0644 ${WORKDIR}/profile ${D}${sysconfdir}/profile | 126 | install -m 0644 ${S}/profile ${D}${sysconfdir}/profile |
126 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile | 127 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}${sysconfdir}/profile |
127 | sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile | 128 | sed -i 's#@BINDIR@#${bindir}#g' ${D}${sysconfdir}/profile |
128 | install -m 0644 ${WORKDIR}/shells ${D}${sysconfdir}/shells | 129 | install -m 0644 ${S}/shells ${D}${sysconfdir}/shells |
129 | install -m 0755 ${WORKDIR}/share/dot.profile ${D}${sysconfdir}/skel/.profile | 130 | install -m 0755 ${S}/share/dot.profile ${D}${sysconfdir}/skel/.profile |
130 | install -m 0755 ${WORKDIR}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc | 131 | install -m 0755 ${S}/share/dot.bashrc ${D}${sysconfdir}/skel/.bashrc |
131 | install -m 0644 ${WORKDIR}/host.conf ${D}${sysconfdir}/host.conf | 132 | install -m 0644 ${S}/host.conf ${D}${sysconfdir}/host.conf |
132 | install -m 0644 ${WORKDIR}/motd ${D}${sysconfdir}/motd | 133 | install -m 0644 ${S}/motd ${D}${sysconfdir}/motd |
133 | 134 | ||
134 | ln -sf /proc/mounts ${D}${sysconfdir}/mtab | 135 | ln -sf /proc/mounts ${D}${sysconfdir}/mtab |
135 | 136 | ||
@@ -145,12 +146,12 @@ do_install () { | |||
145 | } | 146 | } |
146 | 147 | ||
147 | do_install:append:libc-glibc () { | 148 | do_install:append:libc-glibc () { |
148 | install -m 0644 ${WORKDIR}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf | 149 | install -m 0644 ${S}/nsswitch.conf ${D}${sysconfdir}/nsswitch.conf |
149 | } | 150 | } |
150 | 151 | ||
151 | DISTRO_VERSION[vardepsexclude] += "DATE" | 152 | DISTRO_VERSION[vardepsexclude] += "DATE" |
152 | do_install_basefilesissue () { | 153 | do_install_basefilesissue () { |
153 | install -m 644 ${WORKDIR}/issue* ${D}${sysconfdir} | 154 | install -m 644 ${S}/issue* ${D}${sysconfdir} |
154 | if [ -n "${DISTRO_NAME}" ]; then | 155 | if [ -n "${DISTRO_NAME}" ]; then |
155 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue | 156 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue |
156 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net | 157 | printf "${DISTRO_NAME} " >> ${D}${sysconfdir}/issue.net |
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb b/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb index 6904a91930..4ffc44c808 100644 --- a/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb +++ b/meta/recipes-core/busybox/busybox-inittab_1.36.1.bb | |||
@@ -4,7 +4,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m | |||
4 | 4 | ||
5 | SRC_URI = "file://inittab" | 5 | SRC_URI = "file://inittab" |
6 | 6 | ||
7 | S = "${WORKDIR}" | 7 | S = "${WORKDIR}/sources" |
8 | UNPACKDIR = "${S}" | ||
8 | 9 | ||
9 | INHIBIT_DEFAULT_DEPS = "1" | 10 | INHIBIT_DEFAULT_DEPS = "1" |
10 | 11 | ||
@@ -14,7 +15,7 @@ do_compile() { | |||
14 | 15 | ||
15 | do_install() { | 16 | do_install() { |
16 | install -d ${D}${sysconfdir} | 17 | install -d ${D}${sysconfdir} |
17 | install -D -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab | 18 | install -D -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab |
18 | 19 | ||
19 | CONSOLES="${SERIAL_CONSOLES}" | 20 | CONSOLES="${SERIAL_CONSOLES}" |
20 | for s in $CONSOLES | 21 | for s in $CONSOLES |
diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc index f5d7c3f9c8..67a9111e5b 100644 --- a/meta/recipes-core/busybox/busybox.inc +++ b/meta/recipes-core/busybox/busybox.inc | |||
@@ -114,7 +114,7 @@ do_prepare_config () { | |||
114 | export KCONFIG_NOTIMESTAMP=1 | 114 | export KCONFIG_NOTIMESTAMP=1 |
115 | 115 | ||
116 | sed -e '/CONFIG_STATIC/d' \ | 116 | sed -e '/CONFIG_STATIC/d' \ |
117 | < ${WORKDIR}/defconfig > ${S}/.config | 117 | < ${UNPACKDIR}/defconfig > ${S}/.config |
118 | echo "# CONFIG_STATIC is not set" >> .config | 118 | echo "# CONFIG_STATIC is not set" >> .config |
119 | for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \ | 119 | for i in 'CROSS' 'DISTRO FEATURES'; do echo "### $i"; done >> \ |
120 | ${S}/.config | 120 | ${S}/.config |
@@ -280,67 +280,67 @@ do_install () { | |||
280 | fi | 280 | fi |
281 | 281 | ||
282 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then | 282 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then |
283 | install -m 0755 ${WORKDIR}/syslog ${D}${sysconfdir}/init.d/syslog | 283 | install -m 0755 ${UNPACKDIR}/syslog ${D}${sysconfdir}/init.d/syslog |
284 | install -m 644 ${WORKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf | 284 | install -m 644 ${UNPACKDIR}/syslog-startup.conf ${D}${sysconfdir}/syslog-startup.conf |
285 | install -m 644 ${WORKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf | 285 | install -m 644 ${UNPACKDIR}/syslog.conf ${D}${sysconfdir}/syslog.conf |
286 | fi | 286 | fi |
287 | if grep -q "CONFIG_CROND=y" ${B}/.config; then | 287 | if grep -q "CONFIG_CROND=y" ${B}/.config; then |
288 | install -m 0755 ${WORKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ | 288 | install -m 0755 ${UNPACKDIR}/busybox-cron ${D}${sysconfdir}/init.d/ |
289 | fi | 289 | fi |
290 | if grep -q "CONFIG_HTTPD=y" ${B}/.config; then | 290 | if grep -q "CONFIG_HTTPD=y" ${B}/.config; then |
291 | install -m 0755 ${WORKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ | 291 | install -m 0755 ${UNPACKDIR}/busybox-httpd ${D}${sysconfdir}/init.d/ |
292 | install -d ${D}/srv/www | 292 | install -d ${D}/srv/www |
293 | fi | 293 | fi |
294 | if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then | 294 | if grep -q "CONFIG_UDHCPD=y" ${B}/.config; then |
295 | install -m 0755 ${WORKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ | 295 | install -m 0755 ${UNPACKDIR}/busybox-udhcpd ${D}${sysconfdir}/init.d/ |
296 | fi | 296 | fi |
297 | if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then | 297 | if grep -q "CONFIG_HWCLOCK=y" ${B}/.config; then |
298 | install -m 0755 ${WORKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ | 298 | install -m 0755 ${UNPACKDIR}/hwclock.sh ${D}${sysconfdir}/init.d/ |
299 | fi | 299 | fi |
300 | if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then | 300 | if grep -q "CONFIG_UDHCPC=y" ${B}/.config; then |
301 | install -d ${D}${sysconfdir}/udhcpc.d | 301 | install -d ${D}${sysconfdir}/udhcpc.d |
302 | install -d ${D}${datadir}/udhcpc | 302 | install -d ${D}${datadir}/udhcpc |
303 | install -m 0755 ${WORKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default | 303 | install -m 0755 ${UNPACKDIR}/simple.script ${D}${sysconfdir}/udhcpc.d/50default |
304 | sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default | 304 | sed -i "s:/SBIN_DIR/:${base_sbindir}/:" ${D}${sysconfdir}/udhcpc.d/50default |
305 | install -m 0755 ${WORKDIR}/default.script ${D}${datadir}/udhcpc/default.script | 305 | install -m 0755 ${UNPACKDIR}/default.script ${D}${datadir}/udhcpc/default.script |
306 | fi | 306 | fi |
307 | if grep -q "CONFIG_INETD=y" ${B}/.config; then | 307 | if grep -q "CONFIG_INETD=y" ${B}/.config; then |
308 | install -m 0755 ${WORKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN} | 308 | install -m 0755 ${UNPACKDIR}/inetd ${D}${sysconfdir}/init.d/inetd.${BPN} |
309 | sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN} | 309 | sed -i "s:/usr/sbin/:${sbindir}/:" ${D}${sysconfdir}/init.d/inetd.${BPN} |
310 | install -m 0644 ${WORKDIR}/inetd.conf ${D}${sysconfdir}/ | 310 | install -m 0644 ${UNPACKDIR}/inetd.conf ${D}${sysconfdir}/ |
311 | fi | 311 | fi |
312 | if grep -q "CONFIG_MDEV=y" ${B}/.config; then | 312 | if grep -q "CONFIG_MDEV=y" ${B}/.config; then |
313 | install -m 0755 ${WORKDIR}/mdev ${D}${sysconfdir}/init.d/mdev | 313 | install -m 0755 ${UNPACKDIR}/mdev ${D}${sysconfdir}/init.d/mdev |
314 | if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then | 314 | if grep "CONFIG_FEATURE_MDEV_CONF=y" ${B}/.config; then |
315 | install -m 644 ${WORKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf | 315 | install -m 644 ${UNPACKDIR}/mdev.conf ${D}${sysconfdir}/mdev.conf |
316 | install -d ${D}${sysconfdir}/mdev | 316 | install -d ${D}${sysconfdir}/mdev |
317 | install -m 0755 ${WORKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev | 317 | install -m 0755 ${UNPACKDIR}/find-touchscreen.sh ${D}${sysconfdir}/mdev |
318 | install -m 0755 ${WORKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev | 318 | install -m 0755 ${UNPACKDIR}/mdev-mount.sh ${D}${sysconfdir}/mdev |
319 | fi | 319 | fi |
320 | fi | 320 | fi |
321 | if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then | 321 | if grep -q "CONFIG_INIT=y" ${B}/.config && ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','busybox','true','false',d)}; then |
322 | install -D -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d/rcS | 322 | install -D -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d/rcS |
323 | install -D -m 0755 ${WORKDIR}/rcK ${D}${sysconfdir}/init.d/rcK | 323 | install -D -m 0755 ${UNPACKDIR}/rcK ${D}${sysconfdir}/init.d/rcK |
324 | install -D -m 0755 ${WORKDIR}/rcS.default ${D}${sysconfdir}/default/rcS | 324 | install -D -m 0755 ${UNPACKDIR}/rcS.default ${D}${sysconfdir}/default/rcS |
325 | fi | 325 | fi |
326 | 326 | ||
327 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 327 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
328 | if grep -q "CONFIG_KLOGD=y" ${B}/.config; then | 328 | if grep -q "CONFIG_KLOGD=y" ${B}/.config; then |
329 | install -d ${D}${systemd_system_unitdir} | 329 | install -d ${D}${systemd_system_unitdir} |
330 | sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-klogd.service.in \ | 330 | sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-klogd.service.in \ |
331 | > ${D}${systemd_system_unitdir}/busybox-klogd.service | 331 | > ${D}${systemd_system_unitdir}/busybox-klogd.service |
332 | fi | 332 | fi |
333 | 333 | ||
334 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then | 334 | if grep -q "CONFIG_SYSLOGD=y" ${B}/.config; then |
335 | install -d ${D}${systemd_system_unitdir} | 335 | install -d ${D}${systemd_system_unitdir} |
336 | sed 's,@base_sbindir@,${base_sbindir},g' < ${WORKDIR}/busybox-syslog.service.in \ | 336 | sed 's,@base_sbindir@,${base_sbindir},g' < ${UNPACKDIR}/busybox-syslog.service.in \ |
337 | > ${D}${systemd_system_unitdir}/busybox-syslog.service | 337 | > ${D}${systemd_system_unitdir}/busybox-syslog.service |
338 | if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then | 338 | if [ ! -e ${D}${systemd_system_unitdir}/busybox-klogd.service ] ; then |
339 | sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service | 339 | sed -i '/klog/d' ${D}${systemd_system_unitdir}/busybox-syslog.service |
340 | fi | 340 | fi |
341 | if [ -f ${WORKDIR}/busybox-syslog.default ] ; then | 341 | if [ -f ${UNPACKDIR}/busybox-syslog.default ] ; then |
342 | install -d ${D}${sysconfdir}/default | 342 | install -d ${D}${sysconfdir}/default |
343 | install -m 0644 ${WORKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog | 343 | install -m 0644 ${UNPACKDIR}/busybox-syslog.default ${D}${sysconfdir}/default/busybox-syslog |
344 | fi | 344 | fi |
345 | fi | 345 | fi |
346 | fi | 346 | fi |
diff --git a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch index 4635250170..ceb3ad7250 100644 --- a/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch +++ b/meta/recipes-core/busybox/busybox/0001-libbb-sockaddr2str-ensure-only-printable-characters-.patch | |||
@@ -5,7 +5,7 @@ Subject: [PATCH 1/2] libbb: sockaddr2str: ensure only printable characters are | |||
5 | returned for the hostname part | 5 | returned for the hostname part |
6 | 6 | ||
7 | CVE: CVE-2022-28391 | 7 | CVE: CVE-2022-28391 |
8 | Upstream-Status: Pending | 8 | Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001] |
9 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | 9 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> |
10 | Signed-off-by: Steve Sakoman <steve@sakoman.com> | 10 | Signed-off-by: Steve Sakoman <steve@sakoman.com> |
11 | --- | 11 | --- |
diff --git a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch index 0d7409ddc3..1dbc3388a4 100644 --- a/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch +++ b/meta/recipes-core/busybox/busybox/0002-nslookup-sanitize-all-printed-strings-with-printable.patch | |||
@@ -8,7 +8,7 @@ Otherwise, terminal sequences can be injected, which enables various terminal in | |||
8 | attacks from DNS results. | 8 | attacks from DNS results. |
9 | 9 | ||
10 | CVE: CVE-2022-28391 | 10 | CVE: CVE-2022-28391 |
11 | Upstream-Status: Pending | 11 | Upstream-Status: Submitted [https://bugs.busybox.net/show_bug.cgi?id=15001] |
12 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> | 12 | Signed-off-by: Ariadne Conill <ariadne@dereferenced.org> |
13 | Signed-off-by: Steve Sakoman <steve@sakoman.com> | 13 | Signed-off-by: Steve Sakoman <steve@sakoman.com> |
14 | --- | 14 | --- |
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch deleted file mode 100644 index 948932a3e8..0000000000 --- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch +++ /dev/null | |||
@@ -1,87 +0,0 @@ | |||
1 | From 53626cd06a3ef05ed847daea802ef0aa9661caa7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Anders Darander <anders@chargestorm.se> | ||
3 | Date: Thu, 3 Nov 2011 08:51:31 +0100 | ||
4 | Subject: [PATCH] busybox-udhcpc-no_deconfig.patch | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Add a new option -D to the udhcpc client that allows for | ||
9 | dhcp renewal to occur without having to down the interface | ||
10 | in the process. | ||
11 | |||
12 | Signed-off-by: Greg Moffatt <greg.moffatt@windriver.com> | ||
13 | |||
14 | Updated to latest Busybox 1.17.3 | ||
15 | |||
16 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | ||
17 | |||
18 | Updated to Busybox 1.18.4 | ||
19 | option spec is changed | ||
20 | |||
21 | Signed-off-by: Qing He <qing.he@intel.com> | ||
22 | |||
23 | Updated to Busybox 1.19.3 | ||
24 | |||
25 | Signed-off-by: Anders Darander <anders@chargestorm.se> | ||
26 | |||
27 | Fixed options -b, -a and -P. | ||
28 | |||
29 | Signed-off-by: Andreas Oberritter <obi@opendreambox.org> | ||
30 | --- | ||
31 | networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ | ||
32 | 1 file changed, 21 insertions(+), 8 deletions(-) | ||
33 | |||
34 | Index: busybox-1.34.0/networking/udhcp/dhcpc.c | ||
35 | =================================================================== | ||
36 | --- busybox-1.34.0.orig/networking/udhcp/dhcpc.c | ||
37 | +++ busybox-1.34.0/networking/udhcp/dhcpc.c | ||
38 | @@ -48,6 +48,8 @@ | ||
39 | }; | ||
40 | #endif | ||
41 | |||
42 | +/* option whether to down the interface when reconfiguring */ | ||
43 | +static int allow_deconfig = 1; | ||
44 | |||
45 | /* "struct client_data_t client_data" is in bb_common_bufsiz1 */ | ||
46 | |||
47 | @@ -100,8 +102,10 @@ | ||
48 | OPT_x = 1 << 16, | ||
49 | OPT_f = 1 << 17, | ||
50 | OPT_B = 1 << 18, | ||
51 | + OPT_D = 1 << 19, | ||
52 | /* The rest has variable bit positions, need to be clever */ | ||
53 | OPTBIT_B = 18, | ||
54 | + OPTBIT_D = 19, | ||
55 | USE_FOR_MMU( OPTBIT_b,) | ||
56 | IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) | ||
57 | IF_FEATURE_UDHCP_PORT( OPTBIT_P,) | ||
58 | @@ -587,7 +591,8 @@ | ||
59 | |||
60 | static void d4_run_script_deconfig(void) | ||
61 | { | ||
62 | - d4_run_script(NULL, "deconfig"); | ||
63 | + if (allow_deconfig) | ||
64 | + d4_run_script(NULL, "deconfig"); | ||
65 | } | ||
66 | |||
67 | /*** Sending/receiving packets ***/ | ||
68 | @@ -1244,7 +1249,7 @@ | ||
69 | /* Parse command line */ | ||
70 | opt = getopt32long(argv, "^" | ||
71 | /* O,x: list; -T,-t,-A take numeric param */ | ||
72 | - "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fB" | ||
73 | + "CV:F:i:np:qRr:s:T:+t:+SA:+O:*ox:*fBD" | ||
74 | USE_FOR_MMU("b") | ||
75 | IF_FEATURE_UDHCPC_ARPING("a::") | ||
76 | IF_FEATURE_UDHCP_PORT("P:") | ||
77 | @@ -1361,6 +1366,10 @@ | ||
78 | logmode |= LOGMODE_SYSLOG; | ||
79 | } | ||
80 | |||
81 | + if (opt & OPT_D) { | ||
82 | + allow_deconfig = 0; | ||
83 | + } | ||
84 | + | ||
85 | /* Create pidfile */ | ||
86 | write_pidfile(client_data.pidfile); | ||
87 | /* Goes to stdout (unless NOMMU) and possibly syslog */ | ||
diff --git a/meta/recipes-core/busybox/busybox_1.36.1.bb b/meta/recipes-core/busybox/busybox_1.36.1.bb index 06eb9eb999..373a6b7781 100644 --- a/meta/recipes-core/busybox/busybox_1.36.1.bb +++ b/meta/recipes-core/busybox/busybox_1.36.1.bb | |||
@@ -2,7 +2,6 @@ require busybox.inc | |||
2 | 2 | ||
3 | SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | 3 | SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ |
4 | file://0001-depmod-Ignore-.debug-directories.patch \ | 4 | file://0001-depmod-Ignore-.debug-directories.patch \ |
5 | file://busybox-udhcpc-no_deconfig.patch \ | ||
6 | file://find-touchscreen.sh \ | 5 | file://find-touchscreen.sh \ |
7 | file://busybox-cron \ | 6 | file://busybox-cron \ |
8 | file://busybox-httpd \ | 7 | file://busybox-httpd \ |
diff --git a/meta/recipes-core/dbus/dbus_1.14.10.bb b/meta/recipes-core/dbus/dbus_1.14.10.bb index 4fe7af7512..6a08f6984e 100644 --- a/meta/recipes-core/dbus/dbus_1.14.10.bb +++ b/meta/recipes-core/dbus/dbus_1.14.10.bb | |||
@@ -129,8 +129,8 @@ do_install() { | |||
129 | 129 | ||
130 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 130 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
131 | install -d ${D}${sysconfdir}/init.d | 131 | install -d ${D}${sysconfdir}/init.d |
132 | sed 's:@bindir@:${bindir}:' < ${WORKDIR}/dbus-1.init >${WORKDIR}/dbus-1.init.sh | 132 | sed 's:@bindir@:${bindir}:' < ${UNPACKDIR}/dbus-1.init > ${S}/dbus-1.init.sh |
133 | install -m 0755 ${WORKDIR}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 | 133 | install -m 0755 ${S}/dbus-1.init.sh ${D}${sysconfdir}/init.d/dbus-1 |
134 | install -d ${D}${sysconfdir}/default/volatiles | 134 | install -d ${D}${sysconfdir}/default/volatiles |
135 | echo "d messagebus messagebus 0755 /run/dbus none" \ | 135 | echo "d messagebus messagebus 0755 /run/dbus none" \ |
136 | > ${D}${sysconfdir}/default/volatiles/99_dbus | 136 | > ${D}${sysconfdir}/default/volatiles/99_dbus |
diff --git a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch index 99adcfd770..c74f09e484 100644 --- a/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch +++ b/meta/recipes-core/dropbear/dropbear/0001-urandom-xauth-changes-to-options.h.patch | |||
@@ -2,14 +2,14 @@ Subject: [PATCH 1/6] urandom-xauth-changes-to-options.h | |||
2 | 2 | ||
3 | Upstream-Status: Inappropriate [configuration] | 3 | Upstream-Status: Inappropriate [configuration] |
4 | --- | 4 | --- |
5 | default_options.h | 2 +- | 5 | src/default_options.h | 2 +- |
6 | 1 file changed, 1 insertion(+), 1 deletion(-) | 6 | 1 file changed, 1 insertion(+), 1 deletion(-) |
7 | 7 | ||
8 | diff --git a/default_options.h b/default_options.h | 8 | diff --git a/src/default_options.h b/src/default_options.h |
9 | index 349338c..5ffac25 100644 | 9 | index 6e970bb..ccc8b47 100644 |
10 | --- a/default_options.h | 10 | --- a/src/default_options.h |
11 | +++ b/default_options.h | 11 | +++ b/src/default_options.h |
12 | @@ -289,7 +289,7 @@ group1 in Dropbear server too */ | 12 | @@ -311,7 +311,7 @@ group1 in Dropbear server too */ |
13 | 13 | ||
14 | /* The command to invoke for xauth when using X11 forwarding. | 14 | /* The command to invoke for xauth when using X11 forwarding. |
15 | * "-q" for quiet */ | 15 | * "-q" for quiet */ |
@@ -19,5 +19,5 @@ index 349338c..5ffac25 100644 | |||
19 | 19 | ||
20 | /* If you want to enable running an sftp server (such as the one included with | 20 | /* If you want to enable running an sftp server (such as the one included with |
21 | -- | 21 | -- |
22 | 2.25.1 | 22 | 2.34.1 |
23 | 23 | ||
diff --git a/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch b/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch index 32c3ea5f08..fe667ddc25 100644 --- a/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch +++ b/meta/recipes-core/dropbear/dropbear/0005-dropbear-enable-pam.patch | |||
@@ -11,13 +11,13 @@ Upstream-Status: Pending | |||
11 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> | 11 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> |
12 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | 12 | Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> |
13 | --- | 13 | --- |
14 | default_options.h | 4 ++-- | 14 | src/default_options.h | 4 ++-- |
15 | 1 file changed, 2 insertions(+), 2 deletions(-) | 15 | 1 file changed, 2 insertions(+), 2 deletions(-) |
16 | 16 | ||
17 | diff --git a/default_options.h b/default_options.h | 17 | diff --git a/src/default_options.h b/src/default_options.h |
18 | index 0e3d027..349338c 100644 | 18 | index 0e3d027..349338c 100644 |
19 | --- a/default_options.h | 19 | --- a/src/default_options.h |
20 | +++ b/default_options.h | 20 | +++ b/src/default_options.h |
21 | @@ -210,7 +210,7 @@ group1 in Dropbear server too */ | 21 | @@ -210,7 +210,7 @@ group1 in Dropbear server too */ |
22 | 22 | ||
23 | /* Authentication Types - at least one required. | 23 | /* Authentication Types - at least one required. |
diff --git a/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch b/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch index deed78ffb9..f54f634a4e 100644 --- a/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch +++ b/meta/recipes-core/dropbear/dropbear/0006-dropbear-configuration-file.patch | |||
@@ -12,13 +12,13 @@ Signed-off-by: Maxin B. John <maxin.john@enea.com> | |||
12 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> | 12 | Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> |
13 | Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> | 13 | Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> |
14 | --- | 14 | --- |
15 | svr-authpam.c | 2 +- | 15 | src/svr-authpam.c | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 16 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/svr-authpam.c b/svr-authpam.c | 18 | diff --git a/srec/svr-authpam.c b/src/svr-authpam.c |
19 | index d201bc9..165ec5c 100644 | 19 | index d201bc9..165ec5c 100644 |
20 | --- a/svr-authpam.c | 20 | --- a/src/svr-authpam.c |
21 | +++ b/svr-authpam.c | 21 | +++ b/src/svr-authpam.c |
22 | @@ -223,7 +223,7 @@ void svr_auth_pam(int valid_user) { | 22 | @@ -223,7 +223,7 @@ void svr_auth_pam(int valid_user) { |
23 | } | 23 | } |
24 | 24 | ||
diff --git a/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch b/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch deleted file mode 100644 index ec50d69816..0000000000 --- a/meta/recipes-core/dropbear/dropbear/CVE-2023-36328.patch +++ /dev/null | |||
@@ -1,144 +0,0 @@ | |||
1 | From beba892bc0d4e4ded4d667ab1d2a94f4d75109a9 Mon Sep 17 00:00:00 2001 | ||
2 | From: czurnieden <czurnieden@gmx.de> | ||
3 | Date: Fri, 8 Sep 2023 10:07:32 +0000 | ||
4 | Subject: [PATCH] Fix possible integer overflow | ||
5 | |||
6 | CVE: CVE-2023-36328 | ||
7 | |||
8 | Upstream-Status: Backport [https://github.com/libtom/libtommath/commit/beba892bc0d4e4ded4d667ab1d2a94f4d75109a9] | ||
9 | |||
10 | Signed-off-by: Yogita Urade <yogita.urade@windriver.com> | ||
11 | --- | ||
12 | libtommath/bn_mp_2expt.c | 4 ++++ | ||
13 | libtommath/bn_mp_grow.c | 4 ++++ | ||
14 | libtommath/bn_mp_init_size.c | 5 +++++ | ||
15 | libtommath/bn_mp_mul_2d.c | 4 ++++ | ||
16 | libtommath/bn_s_mp_mul_digs.c | 4 ++++ | ||
17 | libtommath/bn_s_mp_mul_digs_fast.c | 4 ++++ | ||
18 | libtommath/bn_s_mp_mul_high_digs.c | 4 ++++ | ||
19 | libtommath/bn_s_mp_mul_high_digs_fast.c | 4 ++++ | ||
20 | 8 files changed, 33 insertions(+) | ||
21 | |||
22 | diff --git a/libtommath/bn_mp_2expt.c b/libtommath/bn_mp_2expt.c | ||
23 | index 0ae3df1..ca6fbc3 100644 | ||
24 | --- a/libtommath/bn_mp_2expt.c | ||
25 | +++ b/libtommath/bn_mp_2expt.c | ||
26 | @@ -12,6 +12,10 @@ mp_err mp_2expt(mp_int *a, int b) | ||
27 | { | ||
28 | mp_err err; | ||
29 | |||
30 | + if (b < 0) { | ||
31 | + return MP_VAL; | ||
32 | + } | ||
33 | + | ||
34 | /* zero a as per default */ | ||
35 | mp_zero(a); | ||
36 | |||
37 | diff --git a/libtommath/bn_mp_grow.c b/libtommath/bn_mp_grow.c | ||
38 | index 9e904c5..2b16826 100644 | ||
39 | --- a/libtommath/bn_mp_grow.c | ||
40 | +++ b/libtommath/bn_mp_grow.c | ||
41 | @@ -9,6 +9,10 @@ mp_err mp_grow(mp_int *a, int size) | ||
42 | int i; | ||
43 | mp_digit *tmp; | ||
44 | |||
45 | + if (size < 0) { | ||
46 | + return MP_VAL; | ||
47 | + } | ||
48 | + | ||
49 | /* if the alloc size is smaller alloc more ram */ | ||
50 | if (a->alloc < size) { | ||
51 | /* reallocate the array a->dp | ||
52 | diff --git a/libtommath/bn_mp_init_size.c b/libtommath/bn_mp_init_size.c | ||
53 | index d622687..5fefa96 100644 | ||
54 | --- a/libtommath/bn_mp_init_size.c | ||
55 | +++ b/libtommath/bn_mp_init_size.c | ||
56 | @@ -6,6 +6,11 @@ | ||
57 | /* init an mp_init for a given size */ | ||
58 | mp_err mp_init_size(mp_int *a, int size) | ||
59 | { | ||
60 | + | ||
61 | + if (size < 0) { | ||
62 | + return MP_VAL; | ||
63 | + } | ||
64 | + | ||
65 | size = MP_MAX(MP_MIN_PREC, size); | ||
66 | |||
67 | /* alloc mem */ | ||
68 | diff --git a/libtommath/bn_mp_mul_2d.c b/libtommath/bn_mp_mul_2d.c | ||
69 | index 87354de..2744163 100644 | ||
70 | --- a/libtommath/bn_mp_mul_2d.c | ||
71 | +++ b/libtommath/bn_mp_mul_2d.c | ||
72 | @@ -9,6 +9,10 @@ mp_err mp_mul_2d(const mp_int *a, int b, mp_int *c) | ||
73 | mp_digit d; | ||
74 | mp_err err; | ||
75 | |||
76 | + if (b < 0) { | ||
77 | + return MP_VAL; | ||
78 | + } | ||
79 | + | ||
80 | /* copy */ | ||
81 | if (a != c) { | ||
82 | if ((err = mp_copy(a, c)) != MP_OKAY) { | ||
83 | diff --git a/libtommath/bn_s_mp_mul_digs.c b/libtommath/bn_s_mp_mul_digs.c | ||
84 | index 64509d4..2d2f5b0 100644 | ||
85 | --- a/libtommath/bn_s_mp_mul_digs.c | ||
86 | +++ b/libtommath/bn_s_mp_mul_digs.c | ||
87 | @@ -16,6 +16,10 @@ mp_err s_mp_mul_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs) | ||
88 | mp_word r; | ||
89 | mp_digit tmpx, *tmpt, *tmpy; | ||
90 | |||
91 | + if (digs < 0) { | ||
92 | + return MP_VAL; | ||
93 | + } | ||
94 | + | ||
95 | /* can we use the fast multiplier? */ | ||
96 | if ((digs < MP_WARRAY) && | ||
97 | (MP_MIN(a->used, b->used) < MP_MAXFAST)) { | ||
98 | diff --git a/libtommath/bn_s_mp_mul_digs_fast.c b/libtommath/bn_s_mp_mul_digs_fast.c | ||
99 | index b2a287b..d6dd3cc 100644 | ||
100 | --- a/libtommath/bn_s_mp_mul_digs_fast.c | ||
101 | +++ b/libtommath/bn_s_mp_mul_digs_fast.c | ||
102 | @@ -26,6 +26,10 @@ mp_err s_mp_mul_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int digs) | ||
103 | mp_digit W[MP_WARRAY]; | ||
104 | mp_word _W; | ||
105 | |||
106 | + if (digs < 0) { | ||
107 | + return MP_VAL; | ||
108 | + } | ||
109 | + | ||
110 | /* grow the destination as required */ | ||
111 | if (c->alloc < digs) { | ||
112 | if ((err = mp_grow(c, digs)) != MP_OKAY) { | ||
113 | diff --git a/libtommath/bn_s_mp_mul_high_digs.c b/libtommath/bn_s_mp_mul_high_digs.c | ||
114 | index 2bb2a50..c9dd355 100644 | ||
115 | --- a/libtommath/bn_s_mp_mul_high_digs.c | ||
116 | +++ b/libtommath/bn_s_mp_mul_high_digs.c | ||
117 | @@ -15,6 +15,10 @@ mp_err s_mp_mul_high_digs(const mp_int *a, const mp_int *b, mp_int *c, int digs) | ||
118 | mp_word r; | ||
119 | mp_digit tmpx, *tmpt, *tmpy; | ||
120 | |||
121 | + if (digs < 0) { | ||
122 | + return MP_VAL; | ||
123 | + } | ||
124 | + | ||
125 | /* can we use the fast multiplier? */ | ||
126 | if (MP_HAS(S_MP_MUL_HIGH_DIGS_FAST) | ||
127 | && ((a->used + b->used + 1) < MP_WARRAY) | ||
128 | diff --git a/libtommath/bn_s_mp_mul_high_digs_fast.c b/libtommath/bn_s_mp_mul_high_digs_fast.c | ||
129 | index a2c4fb6..afe3e4b 100644 | ||
130 | --- a/libtommath/bn_s_mp_mul_high_digs_fast.c | ||
131 | +++ b/libtommath/bn_s_mp_mul_high_digs_fast.c | ||
132 | @@ -19,6 +19,10 @@ mp_err s_mp_mul_high_digs_fast(const mp_int *a, const mp_int *b, mp_int *c, int | ||
133 | mp_digit W[MP_WARRAY]; | ||
134 | mp_word _W; | ||
135 | |||
136 | + if (digs < 0) { | ||
137 | + return MP_VAL; | ||
138 | + } | ||
139 | + | ||
140 | /* grow the destination as required */ | ||
141 | pa = a->used + b->used; | ||
142 | if (c->alloc < pa) { | ||
143 | -- | ||
144 | 2.35.5 | ||
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch index 5c60868ed8..f998caa255 100644 --- a/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch +++ b/meta/recipes-core/dropbear/dropbear/dropbear-disable-weak-ciphers.patch | |||
@@ -10,13 +10,13 @@ and we want to support the stong algorithms. | |||
10 | Upstream-Status: Inappropriate [configuration] | 10 | Upstream-Status: Inappropriate [configuration] |
11 | Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com> | 11 | Signed-off-by: Joseph Reynolds <joseph.reynolds1@ibm.com> |
12 | --- | 12 | --- |
13 | default_options.h | 2 +- | 13 | src/default_options.h | 2 +- |
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/default_options.h b/default_options.h | 16 | diff --git a/src/default_options.h b/src/default_options.h |
17 | index d417588..bc5200f 100644 | 17 | index d417588..bc5200f 100644 |
18 | --- a/default_options.h | 18 | --- a/src/default_options.h |
19 | +++ b/default_options.h | 19 | +++ b/src/default_options.h |
20 | @@ -180,7 +180,7 @@ IMPORTANT: Some options will require "make clean" after changes */ | 20 | @@ -180,7 +180,7 @@ IMPORTANT: Some options will require "make clean" after changes */ |
21 | * Small systems should generally include either curve25519 or ecdh for performance. | 21 | * Small systems should generally include either curve25519 or ecdh for performance. |
22 | * curve25519 is less widely supported but is faster | 22 | * curve25519 is less widely supported but is faster |
diff --git a/meta/recipes-core/dropbear/dropbear_2022.83.bb b/meta/recipes-core/dropbear/dropbear_2024.84.bb index 528eff1a10..3ea64b13d0 100644 --- a/meta/recipes-core/dropbear/dropbear_2022.83.bb +++ b/meta/recipes-core/dropbear/dropbear_2024.84.bb | |||
@@ -21,10 +21,9 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.bz2 \ | |||
21 | file://dropbear.default \ | 21 | file://dropbear.default \ |
22 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ | 22 | ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ |
23 | ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \ | 23 | ${@bb.utils.contains('PACKAGECONFIG', 'disable-weak-ciphers', 'file://dropbear-disable-weak-ciphers.patch', '', d)} \ |
24 | file://CVE-2023-36328.patch \ | ||
25 | " | 24 | " |
26 | 25 | ||
27 | SRC_URI[sha256sum] = "bc5a121ffbc94b5171ad5ebe01be42746d50aa797c9549a4639894a16749443b" | 26 | SRC_URI[sha256sum] = "16e22b66b333d6b7e504c43679d04ed6ca30f2838db40a21f935c850dfc01009" |
28 | 27 | ||
29 | PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ | 28 | PAM_SRC_URI = "file://0005-dropbear-enable-pam.patch \ |
30 | file://0006-dropbear-configuration-file.patch \ | 29 | file://0006-dropbear-configuration-file.patch \ |
@@ -77,7 +76,7 @@ do_install() { | |||
77 | ${D}${sbindir} \ | 76 | ${D}${sbindir} \ |
78 | ${D}${localstatedir} | 77 | ${D}${localstatedir} |
79 | 78 | ||
80 | install -m 0644 ${WORKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear | 79 | install -m 0644 ${UNPACKDIR}/dropbear.default ${D}${sysconfdir}/default/dropbear |
81 | 80 | ||
82 | install -m 0755 dropbearmulti ${D}${sbindir}/ | 81 | install -m 0755 dropbearmulti ${D}${sbindir}/ |
83 | 82 | ||
@@ -95,18 +94,18 @@ do_install() { | |||
95 | -e 's,/usr/sbin,${sbindir},g' \ | 94 | -e 's,/usr/sbin,${sbindir},g' \ |
96 | -e 's,/var,${localstatedir},g' \ | 95 | -e 's,/var,${localstatedir},g' \ |
97 | -e 's,/usr/bin,${bindir},g' \ | 96 | -e 's,/usr/bin,${bindir},g' \ |
98 | -e 's,/usr,${prefix},g' ${WORKDIR}/init > ${D}${sysconfdir}/init.d/dropbear | 97 | -e 's,/usr,${prefix},g' ${UNPACKDIR}/init > ${D}${sysconfdir}/init.d/dropbear |
99 | chmod 755 ${D}${sysconfdir}/init.d/dropbear | 98 | chmod 755 ${D}${sysconfdir}/init.d/dropbear |
100 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 99 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
101 | install -d ${D}${sysconfdir}/pam.d | 100 | install -d ${D}${sysconfdir}/pam.d |
102 | install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/ | 101 | install -m 0644 ${UNPACKDIR}/dropbear ${D}${sysconfdir}/pam.d/ |
103 | fi | 102 | fi |
104 | 103 | ||
105 | # deal with systemd unit files | 104 | # deal with systemd unit files |
106 | install -d ${D}${systemd_system_unitdir} | 105 | install -d ${D}${systemd_system_unitdir} |
107 | install -m 0644 ${WORKDIR}/dropbearkey.service ${D}${systemd_system_unitdir} | 106 | install -m 0644 ${UNPACKDIR}/dropbearkey.service ${D}${systemd_system_unitdir} |
108 | install -m 0644 ${WORKDIR}/dropbear@.service ${D}${systemd_system_unitdir} | 107 | install -m 0644 ${UNPACKDIR}/dropbear@.service ${D}${systemd_system_unitdir} |
109 | install -m 0644 ${WORKDIR}/dropbear.socket ${D}${systemd_system_unitdir} | 108 | install -m 0644 ${UNPACKDIR}/dropbear.socket ${D}${systemd_system_unitdir} |
110 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 109 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
111 | -e 's,@BINDIR@,${bindir},g' \ | 110 | -e 's,@BINDIR@,${bindir},g' \ |
112 | -e 's,@SBINDIR@,${sbindir},g' \ | 111 | -e 's,@SBINDIR@,${sbindir},g' \ |
diff --git a/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb b/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb index db1bbb7e68..96acf9bb9f 100644 --- a/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb +++ b/meta/recipes-core/gettext/gettext-minimal-native_0.22.5.bb | |||
@@ -13,7 +13,7 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
13 | INHIBIT_AUTOTOOLS_DEPS = "1" | 13 | INHIBIT_AUTOTOOLS_DEPS = "1" |
14 | 14 | ||
15 | LICENSE = "FSF-Unlimited" | 15 | LICENSE = "FSF-Unlimited" |
16 | LIC_FILES_CHKSUM = "file://../COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91" | 16 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/COPYING;md5=4bd090a20bfcd1a18f1f79837b5e3e91" |
17 | 17 | ||
18 | inherit native | 18 | inherit native |
19 | 19 | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch index 8e6598fbef..10568b7c9f 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Do-not-write-bindir-into-pkg-config-files.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Do-not-write-bindir-into-pkg-config-files.patch | |||
@@ -1,26 +1,30 @@ | |||
1 | From e7077aa23bfcd31a8e72e39dc93ce4f854678376 Mon Sep 17 00:00:00 2001 | 1 | From 10b08af6c7dcb03f954da29b6c4f9636b8796f30 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 15 Feb 2019 11:17:27 +0100 | 3 | Date: Fri, 15 Feb 2019 11:17:27 +0100 |
4 | Subject: [PATCH] Do not write $bindir into pkg-config files | 4 | Subject: [PATCH] Do not prefix executables with $bindir in pkg-config files |
5 | 5 | ||
6 | This would otherwise break when using the files to build other target | 6 | This would otherwise break when using the executables to build other target |
7 | components (we need to rely on PATH containing the paths to utilities, | 7 | components (we need to rely on PATH containing the paths to utilities, |
8 | rather than use target paths). | 8 | rather than use target paths). |
9 | 9 | ||
10 | Upstream-Status: Inappropriate [upstream wants the paths in .pc files] | 10 | Upstream-Status: Inappropriate [upstream wants the paths in .pc files] |
11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | 11 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
12 | --- | 12 | --- |
13 | gio/meson.build | 16 ++++++++-------- | 13 | gio/meson.build | 17 +++++++++-------- |
14 | glib/meson.build | 6 +++--- | 14 | glib/meson.build | 7 ++++--- |
15 | 2 files changed, 11 insertions(+), 11 deletions(-) | 15 | 2 files changed, 13 insertions(+), 11 deletions(-) |
16 | 16 | ||
17 | diff --git a/gio/meson.build b/gio/meson.build | 17 | diff --git a/gio/meson.build b/gio/meson.build |
18 | index 5f91586..1a95f4f 100644 | 18 | index 77cba7b..25d709e 100644 |
19 | --- a/gio/meson.build | 19 | --- a/gio/meson.build |
20 | +++ b/gio/meson.build | 20 | +++ b/gio/meson.build |
21 | @@ -884,14 +884,14 @@ pkg.generate(libgio, | 21 | @@ -883,17 +883,18 @@ libgio_dep = declare_dependency(link_with : libgio, |
22 | pkg.generate(libgio, | ||
23 | requires : ['glib-2.0', 'gobject-2.0'], | ||
24 | variables : [ | ||
25 | + 'bindir=' + '${prefix}' / get_option('bindir'), | ||
26 | 'schemasdir=' + '${datadir}' / schemas_subdir, | ||
22 | 'dtdsdir=' + '${datadir}' / dtds_subdir, | 27 | 'dtdsdir=' + '${datadir}' / dtds_subdir, |
23 | 'bindir=' + '${prefix}' / get_option('bindir'), | ||
24 | 'giomoduledir=' + pkgconfig_giomodulesdir, | 28 | 'giomoduledir=' + pkgconfig_giomodulesdir, |
25 | - 'gio=' + '${bindir}' / 'gio', | 29 | - 'gio=' + '${bindir}' / 'gio', |
26 | - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', | 30 | - 'gio_querymodules=' + pkgconfig_multiarch_bindir / 'gio-querymodules', |
@@ -42,16 +46,17 @@ index 5f91586..1a95f4f 100644 | |||
42 | version : glib_version, | 46 | version : glib_version, |
43 | install_dir : glib_pkgconfigreldir, | 47 | install_dir : glib_pkgconfigreldir, |
44 | diff --git a/glib/meson.build b/glib/meson.build | 48 | diff --git a/glib/meson.build b/glib/meson.build |
45 | index c26a35e..1d8ca6b 100644 | 49 | index d2efeba..5f5841d 100644 |
46 | --- a/glib/meson.build | 50 | --- a/glib/meson.build |
47 | +++ b/glib/meson.build | 51 | +++ b/glib/meson.build |
48 | @@ -447,9 +447,9 @@ pkg.generate(libglib, | 52 | @@ -447,9 +447,10 @@ pkg.generate(libglib, |
53 | subdirs : ['glib-2.0'], | ||
54 | extra_cflags : ['-I${libdir}/glib-2.0/include'] + win32_cflags, | ||
49 | variables : [ | 55 | variables : [ |
50 | 'bindir=' + '${prefix}' / get_option('bindir'), | ||
51 | 'datadir=' + '${prefix}' / get_option('datadir'), | ||
52 | - 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', | 56 | - 'glib_genmarshal=' + '${bindir}' / 'glib-genmarshal', |
53 | - 'gobject_query=' + '${bindir}' / 'gobject-query', | 57 | - 'gobject_query=' + '${bindir}' / 'gobject-query', |
54 | - 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', | 58 | - 'glib_mkenums=' + '${bindir}' / 'glib-mkenums', |
59 | + 'bindir=' + '${prefix}' / get_option('bindir'), | ||
55 | + 'glib_genmarshal=glib-genmarshal', | 60 | + 'glib_genmarshal=glib-genmarshal', |
56 | + 'gobject_query=gobject-query', | 61 | + 'gobject_query=gobject-query', |
57 | + 'glib_mkenums=glib-mkenums', | 62 | + 'glib_mkenums=glib-mkenums', |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch index eb9dfdbcf9..b9c9706fc4 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Fix-DATADIRNAME-on-uclibc-Linux.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9a5d4bf65b658d744d610ee27ecd2ae65b14b158 Mon Sep 17 00:00:00 2001 | 1 | From 55c49c51d8db5af15132653003d2b65a5215eebf Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 15 Mar 2014 22:42:29 -0700 | 3 | Date: Sat, 15 Mar 2014 22:42:29 -0700 |
4 | Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux | 4 | Subject: [PATCH] Fix DATADIRNAME on uclibc/Linux |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch index ad69f7ec65..bc539fe3e8 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 4933aef791857a5aac650b60af800778658b875b Mon Sep 17 00:00:00 2001 | 1 | From 53333cf3ec787cb7e60585237327390e2ca89f4c Mon Sep 17 00:00:00 2001 |
2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> | 2 | From: Jussi Kukkonen <jussi.kukkonen@intel.com> |
3 | Date: Tue, 22 Mar 2016 15:14:58 +0200 | 3 | Date: Tue, 22 Mar 2016 15:14:58 +0200 |
4 | Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM | 4 | Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM |
@@ -13,10 +13,10 @@ Upstream-Status: Inappropriate [OE specific] | |||
13 | 1 file changed, 1 insertion(+) | 13 | 1 file changed, 1 insertion(+) |
14 | 14 | ||
15 | diff --git a/gio/meson.build b/gio/meson.build | 15 | diff --git a/gio/meson.build b/gio/meson.build |
16 | index f9fdf6e..5f91586 100644 | 16 | index 59c2b0f..77cba7b 100644 |
17 | --- a/gio/meson.build | 17 | --- a/gio/meson.build |
18 | +++ b/gio/meson.build | 18 | +++ b/gio/meson.build |
19 | @@ -1005,6 +1005,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu | 19 | @@ -1007,6 +1007,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu |
20 | c_args : gio_c_args, | 20 | c_args : gio_c_args, |
21 | # intl.lib is not compatible with SAFESEH | 21 | # intl.lib is not compatible with SAFESEH |
22 | link_args : noseh_link_args, | 22 | link_args : noseh_link_args, |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch index 0e3a62af6a..5e543339d8 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8ae2e9c2a04e089306693a021149dc6b7d1bd679 Mon Sep 17 00:00:00 2001 | 1 | From 3db055ce8029372096be534c5cfc385f068bab17 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 12 Jun 2015 17:08:46 +0300 | 3 | Date: Fri, 12 Jun 2015 17:08:46 +0300 |
4 | Subject: [PATCH] Remove the warning about deprecated paths in schemas | 4 | Subject: [PATCH] Remove the warning about deprecated paths in schemas |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch index 32b4cea409..7ac03aa6ac 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch +++ b/meta/recipes-core/glib-2.0/files/0001-Set-host_machine-correctly-when-building-with-mingw3.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From c0733f7a91dfe13152abc60c5a3064456b3e9d63 Mon Sep 17 00:00:00 2001 | 1 | From 3f85d7dfb25666aef43dd6d58b4151e523f83693 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Wed, 13 Feb 2019 15:32:05 +0100 | 3 | Date: Wed, 13 Feb 2019 15:32:05 +0100 |
4 | Subject: [PATCH] Set host_machine correctly when building with mingw32 | 4 | Subject: [PATCH] Set host_machine correctly when building with mingw32 |
@@ -12,7 +12,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
12 | 3 files changed, 8 insertions(+), 5 deletions(-) | 12 | 3 files changed, 8 insertions(+), 5 deletions(-) |
13 | 13 | ||
14 | diff --git a/gio/tests/meson.build b/gio/tests/meson.build | 14 | diff --git a/gio/tests/meson.build b/gio/tests/meson.build |
15 | index 4ef3343..e498e7e 100644 | 15 | index 3bfb333..60e3d3d 100644 |
16 | --- a/gio/tests/meson.build | 16 | --- a/gio/tests/meson.build |
17 | +++ b/gio/tests/meson.build | 17 | +++ b/gio/tests/meson.build |
18 | @@ -29,7 +29,7 @@ endif | 18 | @@ -29,7 +29,7 @@ endif |
@@ -24,16 +24,16 @@ index 4ef3343..e498e7e 100644 | |||
24 | common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] | 24 | common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] |
25 | endif | 25 | endif |
26 | 26 | ||
27 | @@ -230,7 +230,7 @@ if have_dbus_daemon | 27 | @@ -244,7 +244,7 @@ if have_dbus_daemon |
28 | endif | 28 | endif |
29 | 29 | ||
30 | # Test programs buildable on UNIX only | 30 | # Test programs buildable on UNIX only |
31 | -if host_machine.system() != 'windows' | 31 | -if host_machine.system() != 'windows' |
32 | +if host_system != 'windows' | 32 | +if host_system != 'windows' |
33 | gio_tests += { | 33 | gio_tests += { |
34 | 'file' : {}, | 34 | 'file' : { |
35 | 'gdbus-peer-object-manager' : {}, | 35 | # FIXME: https://gitlab.gnome.org/GNOME/glib/-/issues/3148 |
36 | @@ -562,7 +562,7 @@ if host_machine.system() != 'windows' | 36 | @@ -599,7 +599,7 @@ if host_machine.system() != 'windows' |
37 | endif # unix | 37 | endif # unix |
38 | 38 | ||
39 | # Test programs buildable on Windows only | 39 | # Test programs buildable on Windows only |
@@ -42,7 +42,7 @@ index 4ef3343..e498e7e 100644 | |||
42 | gio_tests += {'win32-streams' : {}} | 42 | gio_tests += {'win32-streams' : {}} |
43 | endif | 43 | endif |
44 | 44 | ||
45 | @@ -632,7 +632,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' | 45 | @@ -669,7 +669,7 @@ if cc.get_id() != 'msvc' and cc.get_id() != 'clang-cl' |
46 | } | 46 | } |
47 | endif | 47 | endif |
48 | 48 | ||
@@ -52,10 +52,10 @@ index 4ef3343..e498e7e 100644 | |||
52 | 'gdbus-example-unix-fd-client' : { | 52 | 'gdbus-example-unix-fd-client' : { |
53 | 'install' : false, | 53 | 'install' : false, |
54 | diff --git a/glib/tests/meson.build b/glib/tests/meson.build | 54 | diff --git a/glib/tests/meson.build b/glib/tests/meson.build |
55 | index d80c86e..5329cda 100644 | 55 | index 85f40d2..39de732 100644 |
56 | --- a/glib/tests/meson.build | 56 | --- a/glib/tests/meson.build |
57 | +++ b/glib/tests/meson.build | 57 | +++ b/glib/tests/meson.build |
58 | @@ -216,7 +216,7 @@ if glib_conf.has('HAVE_EVENTFD') | 58 | @@ -230,7 +230,7 @@ if glib_conf.has('HAVE_EVENTFD') |
59 | } | 59 | } |
60 | endif | 60 | endif |
61 | 61 | ||
@@ -65,7 +65,7 @@ index d80c86e..5329cda 100644 | |||
65 | glib_tests += { | 65 | glib_tests += { |
66 | 'gpoll' : { | 66 | 'gpoll' : { |
67 | diff --git a/meson.build b/meson.build | 67 | diff --git a/meson.build b/meson.build |
68 | index 813c9b7..6ee775e 100644 | 68 | index b995ebc..257afb5 100644 |
69 | --- a/meson.build | 69 | --- a/meson.build |
70 | +++ b/meson.build | 70 | +++ b/meson.build |
71 | @@ -54,6 +54,9 @@ else | 71 | @@ -54,6 +54,9 @@ else |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch index aee2986033..aa7127b65b 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch +++ b/meta/recipes-core/glib-2.0/files/0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 878e51f82100c698236fda0e069e14ea9249350c Mon Sep 17 00:00:00 2001 | 1 | From 97b4f18c65c52c9e6412ecf8affc22f6f42d3465 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Wed, 8 Jan 2020 18:22:46 +0100 | 3 | Date: Wed, 8 Jan 2020 18:22:46 +0100 |
4 | Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test | 4 | Subject: [PATCH] gio/tests/resources.c: comment out a build host-only test |
@@ -13,7 +13,7 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
13 | 1 file changed, 1 insertion(+), 1 deletion(-) | 13 | 1 file changed, 1 insertion(+), 1 deletion(-) |
14 | 14 | ||
15 | diff --git a/gio/tests/resources.c b/gio/tests/resources.c | 15 | diff --git a/gio/tests/resources.c b/gio/tests/resources.c |
16 | index f567914..b21b616 100644 | 16 | index f7dc039..f708876 100644 |
17 | --- a/gio/tests/resources.c | 17 | --- a/gio/tests/resources.c |
18 | +++ b/gio/tests/resources.c | 18 | +++ b/gio/tests/resources.c |
19 | @@ -1068,7 +1068,7 @@ main (int argc, | 19 | @@ -1068,7 +1068,7 @@ main (int argc, |
diff --git a/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch b/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch new file mode 100644 index 0000000000..7be9cd8b84 --- /dev/null +++ b/meta/recipes-core/glib-2.0/files/0001-girepository-introspection-correctly-install-.gir-fi.patch | |||
@@ -0,0 +1,88 @@ | |||
1 | From f1beef5c2d09fae3a5e5a314f984cb3f20abe732 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexander Kanavin <alex@linutronix.de> | ||
3 | Date: Tue, 23 Apr 2024 11:24:34 +0200 | ||
4 | Subject: [PATCH] girepository/introspection: correctly install .gir files into | ||
5 | custom locations provided via meson option | ||
6 | |||
7 | Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4020] | ||
8 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
9 | --- | ||
10 | girepository/introspection/meson.build | 9 +++++++++ | ||
11 | 1 file changed, 9 insertions(+) | ||
12 | |||
13 | diff --git a/girepository/introspection/meson.build b/girepository/introspection/meson.build | ||
14 | index 9405686..862ca61 100644 | ||
15 | --- a/girepository/introspection/meson.build | ||
16 | +++ b/girepository/introspection/meson.build | ||
17 | @@ -49,6 +49,7 @@ glib_gir = gnome.generate_gir(libglib, | ||
18 | export_packages: 'glib-2.0', | ||
19 | header: 'glib.h', | ||
20 | install: true, | ||
21 | + install_dir_gir: glib_girdir, | ||
22 | dependencies: [ | ||
23 | libgobject_dep, | ||
24 | ], | ||
25 | @@ -76,6 +77,7 @@ if host_system == 'windows' | ||
26 | header: 'glib.h', | ||
27 | includes: [ glib_gir[0] ], | ||
28 | install: true, | ||
29 | + install_dir_gir: glib_girdir, | ||
30 | dependencies: [ | ||
31 | libgobject_dep, | ||
32 | ], | ||
33 | @@ -104,6 +106,7 @@ else | ||
34 | header: 'glib.h', | ||
35 | includes: [ glib_gir[0] ], | ||
36 | install: true, | ||
37 | + install_dir_gir: glib_girdir, | ||
38 | dependencies: [ | ||
39 | libgobject_dep, | ||
40 | ], | ||
41 | @@ -137,6 +140,7 @@ gobject_gir = gnome.generate_gir(libgobject, | ||
42 | header: 'glib-object.h', | ||
43 | includes: [ glib_gir[0] ], | ||
44 | install: true, | ||
45 | + install_dir_gir: glib_girdir, | ||
46 | env: gi_gen_env_variables, | ||
47 | extra_args: gir_args + [ | ||
48 | '-DGOBJECT_COMPILATION', | ||
49 | @@ -162,6 +166,7 @@ gmodule_gir = gnome.generate_gir(libgmodule, | ||
50 | header: 'gmodule.h', | ||
51 | includes: [ glib_gir[0] ], | ||
52 | install: true, | ||
53 | + install_dir_gir: glib_girdir, | ||
54 | dependencies: [ | ||
55 | libglib_dep, | ||
56 | ], | ||
57 | @@ -224,6 +229,7 @@ gio_gir = gnome.generate_gir(libgio, | ||
58 | header: 'gio/gio.h', | ||
59 | includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0] ], | ||
60 | install: true, | ||
61 | + install_dir_gir: glib_girdir, | ||
62 | dependencies: [ | ||
63 | libglib_dep, | ||
64 | libgobject_dep, | ||
65 | @@ -249,6 +255,7 @@ if host_system == 'windows' | ||
66 | header: 'gio/gio.h', | ||
67 | includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], | ||
68 | install: true, | ||
69 | + install_dir_gir: glib_girdir, | ||
70 | dependencies: [ | ||
71 | libglib_dep, | ||
72 | libgobject_dep, | ||
73 | @@ -277,6 +284,7 @@ else | ||
74 | header: 'gio/gio.h', | ||
75 | includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], | ||
76 | install: true, | ||
77 | + install_dir_gir: glib_girdir, | ||
78 | dependencies: [ | ||
79 | libglib_dep, | ||
80 | libgobject_dep, | ||
81 | @@ -314,6 +322,7 @@ girepository_gir = gnome.generate_gir(libgirepository, | ||
82 | header: 'girepository/girepository.h', | ||
83 | includes: [ glib_gir[0], gmodule_gir[0], gobject_gir[0], gio_gir[0] ], | ||
84 | install: true, | ||
85 | + install_dir_gir: glib_girdir, | ||
86 | dependencies: [ libglib_dep, libgobject_dep, libgmodule_dep, libgio_dep ], | ||
87 | extra_args: gir_args + libgirepository_gir_args, | ||
88 | ) | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch index 0b10269114..3a8d3596b0 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson-Run-atomics-test-on-clang-as-well.patch +++ b/meta/recipes-core/glib-2.0/files/0001-meson-Run-atomics-test-on-clang-as-well.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b4b523160ef550a53705fcc45ac6e10d086ce491 Mon Sep 17 00:00:00 2001 | 1 | From f04ea29f9f96892ada81bd0acfcef70183138229 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 12 Oct 2019 17:46:26 -0700 | 3 | Date: Sat, 12 Oct 2019 17:46:26 -0700 |
4 | Subject: [PATCH] meson: Run atomics test on clang as well | 4 | Subject: [PATCH] meson: Run atomics test on clang as well |
@@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | 14 | 1 file changed, 1 insertion(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/meson.build b/meson.build | 16 | diff --git a/meson.build b/meson.build |
17 | index 6ee775e..8bc5fa7 100644 | 17 | index 257afb5..5caa6e6 100644 |
18 | --- a/meson.build | 18 | --- a/meson.build |
19 | +++ b/meson.build | 19 | +++ b/meson.build |
20 | @@ -1938,7 +1938,7 @@ atomicdefine = ''' | 20 | @@ -2024,7 +2024,7 @@ atomicdefine = ''' |
21 | # We know that we can always use real ("lock free") atomic operations with MSVC | 21 | # We know that we can always use real ("lock free") atomic operations with MSVC |
22 | if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops') | 22 | if cc.get_id() == 'msvc' or cc.get_id() == 'clang-cl' or cc.links(atomictest, name : 'atomic ops') |
23 | have_atomic_lock_free = true | 23 | have_atomic_lock_free = true |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch index 14dcb278e0..9be04960aa 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch +++ b/meta/recipes-core/glib-2.0/files/0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 294f3e6e9a0a9f4733e85ed6810d1b743055370b Mon Sep 17 00:00:00 2001 | 1 | From a63c865aa9a24f3230e8e2bcb5bce88f179c7e2b Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex@linutronix.de> | 2 | From: Alexander Kanavin <alex@linutronix.de> |
3 | Date: Sat, 16 Sep 2023 22:28:27 +0200 | 3 | Date: Sat, 16 Sep 2023 22:28:27 +0200 |
4 | Subject: [PATCH] meson.build: do not enable pidfd features on native glib | 4 | Subject: [PATCH] meson.build: do not enable pidfd features on native glib |
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> | |||
14 | 1 file changed, 2 insertions(+), 1 deletion(-) | 14 | 1 file changed, 2 insertions(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/meson.build b/meson.build | 16 | diff --git a/meson.build b/meson.build |
17 | index 8bc5fa7..df1fa60 100644 | 17 | index 5caa6e6..688f214 100644 |
18 | --- a/meson.build | 18 | --- a/meson.build |
19 | +++ b/meson.build | 19 | +++ b/meson.build |
20 | @@ -981,7 +981,8 @@ if cc.links('''#include <sys/syscall.h> | 20 | @@ -1022,7 +1022,8 @@ if cc.links('''#include <sys/syscall.h> |
21 | waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG); | 21 | waitid (P_PIDFD, 0, &child_info, WEXITED | WNOHANG); |
22 | return 0; | 22 | return 0; |
23 | }''', name : 'pidfd_open(2) system call') | 23 | }''', name : 'pidfd_open(2) system call') |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch index 6dff5179c7..4dec252c1f 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/0010-Do-not-hardcode-python-path-into-various-tools.patch +++ b/meta/recipes-core/glib-2.0/files/0010-Do-not-hardcode-python-path-into-various-tools.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 50636758c73e5e61212a8f801c6c602b8aab5ba7 Mon Sep 17 00:00:00 2001 | 1 | From dc7f09c4f52638a70768c528d186da6f83dedc97 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Tue, 3 Oct 2017 10:45:55 +0300 | 3 | Date: Tue, 3 Oct 2017 10:45:55 +0300 |
4 | Subject: [PATCH] Do not hardcode python path into various tools | 4 | Subject: [PATCH] Do not hardcode python path into various tools |
@@ -32,7 +32,7 @@ index aa5af43..56e8e2e 100755 | |||
32 | # pylint: disable=too-many-lines, missing-docstring, invalid-name | 32 | # pylint: disable=too-many-lines, missing-docstring, invalid-name |
33 | 33 | ||
34 | diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in | 34 | diff --git a/gobject/glib-mkenums.in b/gobject/glib-mkenums.in |
35 | index 353e53a..8ed6c39 100755 | 35 | index e10b910..4b619f8 100755 |
36 | --- a/gobject/glib-mkenums.in | 36 | --- a/gobject/glib-mkenums.in |
37 | +++ b/gobject/glib-mkenums.in | 37 | +++ b/gobject/glib-mkenums.in |
38 | @@ -1,4 +1,4 @@ | 38 | @@ -1,4 +1,4 @@ |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common b/meta/recipes-core/glib-2.0/files/meson.cross.d/common index 0d7c5fa3f8..0d7c5fa3f8 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc index 3049e5116e..3049e5116e 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-glibc +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-glibc | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux index adad7e62ee..adad7e62ee 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-linux +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-linux | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw index 75f911ba1e..75f911ba1e 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-mingw +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-mingw | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl index 3049e5116e..3049e5116e 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/meson.cross.d/common-musl +++ b/meta/recipes-core/glib-2.0/files/meson.cross.d/common-musl | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/meta/recipes-core/glib-2.0/files/relocate-modules.patch index 3e79bbf679..a1ff198aa6 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/meta/recipes-core/glib-2.0/files/relocate-modules.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f40e89b3852df37959606ee13b1a14ade81fa886 Mon Sep 17 00:00:00 2001 | 1 | From 0133aeabd37a9137722abd86039d7d0797b5896f Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@intel.com> | 2 | From: Ross Burton <ross.burton@intel.com> |
3 | Date: Fri, 11 Mar 2016 15:35:55 +0000 | 3 | Date: Fri, 11 Mar 2016 15:35:55 +0000 |
4 | Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds | 4 | Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds |
@@ -18,10 +18,10 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> | |||
18 | 1 file changed, 7 deletions(-) | 18 | 1 file changed, 7 deletions(-) |
19 | 19 | ||
20 | diff --git a/gio/giomodule.c b/gio/giomodule.c | 20 | diff --git a/gio/giomodule.c b/gio/giomodule.c |
21 | index 17fabe6..8021208 100644 | 21 | index 1e14955..3c09bb5 100644 |
22 | --- a/gio/giomodule.c | 22 | --- a/gio/giomodule.c |
23 | +++ b/gio/giomodule.c | 23 | +++ b/gio/giomodule.c |
24 | @@ -1271,11 +1271,6 @@ get_gio_module_dir (void) | 24 | @@ -1259,11 +1259,6 @@ get_gio_module_dir (void) |
25 | g_free (install_dir); | 25 | g_free (install_dir); |
26 | #else | 26 | #else |
27 | module_dir = g_strdup (GIO_MODULE_DIR); | 27 | module_dir = g_strdup (GIO_MODULE_DIR); |
@@ -33,7 +33,7 @@ index 17fabe6..8021208 100644 | |||
33 | #include <dlfcn.h> | 33 | #include <dlfcn.h> |
34 | { | 34 | { |
35 | g_autofree gchar *path = NULL; | 35 | g_autofree gchar *path = NULL; |
36 | @@ -1294,8 +1289,6 @@ get_gio_module_dir (void) | 36 | @@ -1282,8 +1277,6 @@ get_gio_module_dir (void) |
37 | } | 37 | } |
38 | } | 38 | } |
39 | } | 39 | } |
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/meta/recipes-core/glib-2.0/files/run-ptest index 831bc3b91f..831bc3b91f 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/run-ptest +++ b/meta/recipes-core/glib-2.0/files/run-ptest | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch b/meta/recipes-core/glib-2.0/files/skip-timeout.patch index cd5ac287c3..0f8b51294b 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0/skip-timeout.patch +++ b/meta/recipes-core/glib-2.0/files/skip-timeout.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From bb11d1a4ae77d93ec0743e54077cf0f990243fa6 Mon Sep 17 00:00:00 2001 | 1 | From ac75f5d9206e52eec64fef0db4cd91b58a764c99 Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@arm.com> | 2 | From: Ross Burton <ross.burton@arm.com> |
3 | Date: Thu, 28 Mar 2024 16:27:09 +0000 | 3 | Date: Thu, 28 Mar 2024 16:27:09 +0000 |
4 | Subject: [PATCH] Skip /timeout/rounding test | 4 | Subject: [PATCH] Skip /timeout/rounding test |
@@ -16,7 +16,7 @@ Signed-off-by: Ross Burton <ross.burton@arm.com> | |||
16 | 1 file changed, 1 deletion(-) | 16 | 1 file changed, 1 deletion(-) |
17 | 17 | ||
18 | diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c | 18 | diff --git a/glib/tests/timeout.c b/glib/tests/timeout.c |
19 | index 1ae3f3a34..85a715b0f 100644 | 19 | index 1ae3f3a..85a715b 100644 |
20 | --- a/glib/tests/timeout.c | 20 | --- a/glib/tests/timeout.c |
21 | +++ b/glib/tests/timeout.c | 21 | +++ b/glib/tests/timeout.c |
22 | @@ -214,7 +214,6 @@ main (int argc, char *argv[]) | 22 | @@ -214,7 +214,6 @@ main (int argc, char *argv[]) |
@@ -27,6 +27,3 @@ index 1ae3f3a34..85a715b0f 100644 | |||
27 | 27 | ||
28 | return g_test_run (); | 28 | return g_test_run (); |
29 | } | 29 | } |
30 | -- | ||
31 | 2.34.1 | ||
32 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.2.bb b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.2.bb new file mode 100644 index 0000000000..7da2838265 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0-initial_2.80.2.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | require glib.inc | ||
2 | PACKAGES = "" | ||
3 | PACKAGECONFIG = "" | ||
4 | |||
5 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch deleted file mode 100644 index b11c283e6d..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | From a8eb944a10353403241608a084787f6efcbb2eb7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jordan Williams <jordan@jwillikers.com> | ||
3 | Date: Fri, 1 Dec 2023 09:53:50 -0600 | ||
4 | Subject: [PATCH] Switch from the deprecated distutils module to the packaging | ||
5 | module | ||
6 | |||
7 | The distutils module was removed in Python 3.12. | ||
8 | |||
9 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] | ||
10 | |||
11 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
12 | --- | ||
13 | gio/gdbus-2.0/codegen/utils.py | 4 ++-- | ||
14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py | ||
17 | index 0204610..08f1ba9 100644 | ||
18 | --- a/gio/gdbus-2.0/codegen/utils.py | ||
19 | +++ b/gio/gdbus-2.0/codegen/utils.py | ||
20 | @@ -19,7 +19,7 @@ | ||
21 | # | ||
22 | # Author: David Zeuthen <davidz@redhat.com> | ||
23 | |||
24 | -import distutils.version | ||
25 | +import packaging.version | ||
26 | import os | ||
27 | import sys | ||
28 | |||
29 | @@ -166,4 +166,4 @@ def version_cmp_key(key): | ||
30 | v = str(key[0]) | ||
31 | else: | ||
32 | v = "0" | ||
33 | - return (distutils.version.LooseVersion(v), key[1]) | ||
34 | + return (packaging.version.Version(v), key[1]) | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch b/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch deleted file mode 100644 index bdfbd55899..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/fix-regex.patch +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | From cce3ae98a2c1966719daabff5a4ec6cf94a846f6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Philip Withnall <pwithnall@gnome.org> | ||
3 | Date: Mon, 26 Feb 2024 16:55:44 +0000 | ||
4 | Subject: [PATCH] tests: Remove variable-length lookbehind tests for GRegex | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | PCRE2 10.43 has now introduced support for variable-length lookbehind, | ||
10 | so these tests now fail if GLib is built against PCRE2 10.43 or higher. | ||
11 | |||
12 | See | ||
13 | https://github.com/PCRE2Project/pcre2/blob/e8db6fa7137f4c6f66cb87e0a3c9467252ec1ef7/ChangeLog#L94. | ||
14 | |||
15 | Rather than making the tests conditional on the version of PCRE2 in use, | ||
16 | just remove them. They are mostly testing the PCRE2 code rather than | ||
17 | any code in GLib, so don’t have much value. | ||
18 | |||
19 | This should fix CI runs on msys2-mingw32, which updated to PCRE2 10.43 2 | ||
20 | days ago. | ||
21 | |||
22 | Signed-off-by: Philip Withnall <pwithnall@gnome.org> | ||
23 | |||
24 | Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/cce3ae98a2c1966719daabff5a4ec6cf94a846f6] | ||
25 | Signed-off-by: Alexander Kanavin <alex@linutronix.de> | ||
26 | --- | ||
27 | glib/tests/regex.c | 10 ---------- | ||
28 | 1 file changed, 10 deletions(-) | ||
29 | |||
30 | diff --git a/glib/tests/regex.c b/glib/tests/regex.c | ||
31 | index 1082526292..d7a698ec67 100644 | ||
32 | --- a/glib/tests/regex.c | ||
33 | +++ b/glib/tests/regex.c | ||
34 | @@ -1885,16 +1885,6 @@ test_lookbehind (void) | ||
35 | g_match_info_free (match); | ||
36 | g_regex_unref (regex); | ||
37 | |||
38 | - regex = g_regex_new ("(?<!dogs?|cats?) x", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); | ||
39 | - g_assert (regex == NULL); | ||
40 | - g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); | ||
41 | - g_clear_error (&error); | ||
42 | - | ||
43 | - regex = g_regex_new ("(?<=ab(c|de)) foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); | ||
44 | - g_assert (regex == NULL); | ||
45 | - g_assert_error (error, G_REGEX_ERROR, G_REGEX_ERROR_VARIABLE_LENGTH_LOOKBEHIND); | ||
46 | - g_clear_error (&error); | ||
47 | - | ||
48 | regex = g_regex_new ("(?<=abc|abde)foo", G_REGEX_OPTIMIZE, G_REGEX_MATCH_DEFAULT, &error); | ||
49 | g_assert (regex); | ||
50 | g_assert_no_error (error); | ||
51 | -- | ||
52 | GitLab | ||
53 | |||
54 | |||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch b/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch deleted file mode 100644 index 4f38509da6..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0/memory-monitor.patch +++ /dev/null | |||
@@ -1,361 +0,0 @@ | |||
1 | From ce840b6b111e1e109e511f6833d6aa419e2b723a Mon Sep 17 00:00:00 2001 | ||
2 | From: Philip Withnall <philip@tecnocode.co.uk> | ||
3 | Date: Tue, 23 Jan 2024 11:16:52 +0000 | ||
4 | Subject: [PATCH] Merge branch '2887-memory-monitor-tests' into 'main' | ||
5 | |||
6 | tests: Fix race condition in memory-monitor-dbus.test | ||
7 | |||
8 | Closes #2887 | ||
9 | |||
10 | See merge request GNOME/glib!3844 | ||
11 | |||
12 | Hopefully these commits fix the occasional failures we've been seeing: | ||
13 | https://bugzilla.yoctoproject.org/show_bug.cgi?id=15362 | ||
14 | |||
15 | Upstream-Status: Backport | ||
16 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
17 | --- | ||
18 | gio/tests/memory-monitor-dbus.py.in | 64 +++++++++++++------- | ||
19 | gio/tests/memory-monitor-portal.py.in | 54 ++++++++++------- | ||
20 | gio/tests/power-profile-monitor-dbus.py.in | 35 ++++++----- | ||
21 | gio/tests/power-profile-monitor-portal.py.in | 34 ++++++----- | ||
22 | 4 files changed, 113 insertions(+), 74 deletions(-) | ||
23 | |||
24 | diff --git a/gio/tests/memory-monitor-dbus.py.in b/gio/tests/memory-monitor-dbus.py.in | ||
25 | index bf32918..7aae01e 100755 | ||
26 | --- a/gio/tests/memory-monitor-dbus.py.in | ||
27 | +++ b/gio/tests/memory-monitor-dbus.py.in | ||
28 | @@ -16,7 +16,6 @@ import sys | ||
29 | import subprocess | ||
30 | import fcntl | ||
31 | import os | ||
32 | -import time | ||
33 | |||
34 | import taptestrunner | ||
35 | |||
36 | @@ -57,53 +56,74 @@ try: | ||
37 | fcntl.fcntl(self.p_mock.stdout, fcntl.F_SETFL, flags | os.O_NONBLOCK) | ||
38 | self.last_warning = -1 | ||
39 | self.dbusmock = dbus.Interface(self.obj_lmm, dbusmock.MOCK_IFACE) | ||
40 | + | ||
41 | + try: | ||
42 | + self.wait_for_bus_object('org.freedesktop.LowMemoryMonitor', | ||
43 | + '/org/freedesktop/LowMemoryMonitor', | ||
44 | + system_bus=True) | ||
45 | + except: | ||
46 | + raise | ||
47 | + | ||
48 | self.memory_monitor = Gio.MemoryMonitor.dup_default() | ||
49 | + assert("GMemoryMonitorDBus" in str(self.memory_monitor)) | ||
50 | self.memory_monitor.connect("low-memory-warning", self.memory_warning_cb) | ||
51 | self.mainloop = GLib.MainLoop() | ||
52 | self.main_context = self.mainloop.get_context() | ||
53 | |||
54 | + # The LowMemoryMonitor API is stateless: it doesn’t expose any | ||
55 | + # properties, just a warning signal. Emit the signal in a loop until | ||
56 | + # the GMemoryMonitor instance has initialised and synchronised to | ||
57 | + # the right state. | ||
58 | + def emit_warning(level): | ||
59 | + self.dbusmock.EmitWarning(level) | ||
60 | + return GLib.SOURCE_CONTINUE | ||
61 | + | ||
62 | + idle_id = GLib.idle_add(emit_warning, 0) | ||
63 | + while self.last_warning != 0: | ||
64 | + self.main_context.iteration(True) | ||
65 | + GLib.source_remove(idle_id) | ||
66 | + | ||
67 | def tearDown(self): | ||
68 | self.p_mock.terminate() | ||
69 | self.p_mock.wait() | ||
70 | |||
71 | - def assertEventually(self, condition, message=None, timeout=50): | ||
72 | + def assertEventually(self, condition, message=None, timeout=5): | ||
73 | '''Assert that condition function eventually returns True. | ||
74 | |||
75 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
76 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
77 | printed on failure. | ||
78 | ''' | ||
79 | - while timeout >= 0: | ||
80 | - context = GLib.MainContext.default() | ||
81 | - while context.iteration(False): | ||
82 | - pass | ||
83 | - if condition(): | ||
84 | - break | ||
85 | - timeout -= 1 | ||
86 | - time.sleep(0.1) | ||
87 | - else: | ||
88 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
89 | + if not message: | ||
90 | + message = 'timed out waiting for ' + str(condition) | ||
91 | + | ||
92 | + def timed_out_cb(message): | ||
93 | + self.fail(message) | ||
94 | + return GLib.SOURCE_REMOVE | ||
95 | + | ||
96 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
97 | + timeout_source.set_callback(timed_out_cb, message) | ||
98 | + timeout_source.attach(self.main_context) | ||
99 | + | ||
100 | + while not condition(): | ||
101 | + self.main_context.iteration(True) | ||
102 | + | ||
103 | + timeout_source.destroy() | ||
104 | |||
105 | def memory_warning_cb(self, monitor, level): | ||
106 | + print("Received memory warning signal, level", level) | ||
107 | self.last_warning = level | ||
108 | self.main_context.wakeup() | ||
109 | |||
110 | def test_low_memory_warning_signal(self): | ||
111 | '''LowMemoryWarning signal''' | ||
112 | |||
113 | - # Wait 2 seconds | ||
114 | - timeout = 2 | ||
115 | - while timeout > 0: | ||
116 | - time.sleep(0.5) | ||
117 | - timeout -= 0.5 | ||
118 | - self.main_context.iteration(False) | ||
119 | - | ||
120 | self.dbusmock.EmitWarning(100) | ||
121 | # Wait 2 seconds or until warning | ||
122 | - self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) | ||
123 | + self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) | ||
124 | |||
125 | self.dbusmock.EmitWarning(255) | ||
126 | # Wait 2 seconds or until warning | ||
127 | - self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) | ||
128 | + self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) | ||
129 | |||
130 | except ImportError as e: | ||
131 | @unittest.skip("Cannot import %s" % e.name) | ||
132 | diff --git a/gio/tests/memory-monitor-portal.py.in b/gio/tests/memory-monitor-portal.py.in | ||
133 | index 748cee8..f570508 100755 | ||
134 | --- a/gio/tests/memory-monitor-portal.py.in | ||
135 | +++ b/gio/tests/memory-monitor-portal.py.in | ||
136 | @@ -16,7 +16,6 @@ import sys | ||
137 | import subprocess | ||
138 | import fcntl | ||
139 | import os | ||
140 | -import time | ||
141 | |||
142 | import taptestrunner | ||
143 | |||
144 | @@ -80,26 +79,44 @@ try: | ||
145 | self.mainloop = GLib.MainLoop() | ||
146 | self.main_context = self.mainloop.get_context() | ||
147 | |||
148 | + # The LowMemoryMonitor API is stateless: it doesn’t expose any | ||
149 | + # properties, just a warning signal. Emit the signal in a loop until | ||
150 | + # the GMemoryMonitor instance has initialised and synchronised to | ||
151 | + # the right state. | ||
152 | + def emit_warning(level): | ||
153 | + self.dbusmock.EmitWarning(level) | ||
154 | + return GLib.SOURCE_CONTINUE | ||
155 | + | ||
156 | + idle_id = GLib.idle_add(self.emit_warning, 0) | ||
157 | + while self.last_warning != 0: | ||
158 | + self.main_context.iteration(True) | ||
159 | + GLib.source_remove(idle_id) | ||
160 | + | ||
161 | def tearDown(self): | ||
162 | self.p_mock.terminate() | ||
163 | self.p_mock.wait() | ||
164 | |||
165 | - def assertEventually(self, condition, message=None, timeout=50): | ||
166 | + def assertEventually(self, condition, message=None, timeout=5): | ||
167 | '''Assert that condition function eventually returns True. | ||
168 | |||
169 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
170 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
171 | printed on failure. | ||
172 | ''' | ||
173 | - while timeout >= 0: | ||
174 | - context = GLib.MainContext.default() | ||
175 | - while context.iteration(False): | ||
176 | - pass | ||
177 | - if condition(): | ||
178 | - break | ||
179 | - timeout -= 1 | ||
180 | - time.sleep(0.1) | ||
181 | - else: | ||
182 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
183 | + if not message: | ||
184 | + message = 'timed out waiting for ' + str(condition) | ||
185 | + | ||
186 | + def timed_out_cb(message): | ||
187 | + self.fail(message) | ||
188 | + return GLib.SOURCE_REMOVE | ||
189 | + | ||
190 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
191 | + timeout_source.set_callback(timed_out_cb, message) | ||
192 | + timeout_source.attach(self.main_context) | ||
193 | + | ||
194 | + while not condition(): | ||
195 | + self.main_context.iteration(True) | ||
196 | + | ||
197 | + timeout_source.destroy() | ||
198 | |||
199 | def portal_memory_warning_cb(self, monitor, level): | ||
200 | self.last_warning = level | ||
201 | @@ -108,20 +125,13 @@ try: | ||
202 | def test_low_memory_warning_portal_signal(self): | ||
203 | '''LowMemoryWarning signal''' | ||
204 | |||
205 | - # Wait 2 seconds | ||
206 | - timeout = 2 | ||
207 | - while timeout > 0: | ||
208 | - time.sleep(0.5) | ||
209 | - timeout -= 0.5 | ||
210 | - self.main_context.iteration(False) | ||
211 | - | ||
212 | self.dbusmock.EmitWarning(100) | ||
213 | # Wait 2 seconds or until warning | ||
214 | - self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 20) | ||
215 | + self.assertEventually(lambda: self.last_warning == 100, "'100' low-memory warning not received", 2) | ||
216 | |||
217 | self.dbusmock.EmitWarning(255) | ||
218 | # Wait 2 seconds or until warning | ||
219 | - self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 20) | ||
220 | + self.assertEventually(lambda: self.last_warning == 255, "'255' low-memory warning not received", 2) | ||
221 | |||
222 | except ImportError as e: | ||
223 | @unittest.skip("Cannot import %s" % e.name) | ||
224 | diff --git a/gio/tests/power-profile-monitor-dbus.py.in b/gio/tests/power-profile-monitor-dbus.py.in | ||
225 | index 06e594f..f955afc 100755 | ||
226 | --- a/gio/tests/power-profile-monitor-dbus.py.in | ||
227 | +++ b/gio/tests/power-profile-monitor-dbus.py.in | ||
228 | @@ -16,7 +16,6 @@ import sys | ||
229 | import subprocess | ||
230 | import fcntl | ||
231 | import os | ||
232 | -import time | ||
233 | |||
234 | import taptestrunner | ||
235 | |||
236 | @@ -58,6 +57,7 @@ try: | ||
237 | self.power_saver_enabled = False | ||
238 | self.dbus_props = dbus.Interface(self.obj_ppd, dbus.PROPERTIES_IFACE) | ||
239 | self.power_profile_monitor = Gio.PowerProfileMonitor.dup_default() | ||
240 | + assert("GPowerProfileMonitorDBus" in str(self.power_profile_monitor)) | ||
241 | self.power_profile_monitor.connect("notify::power-saver-enabled", self.power_saver_enabled_cb) | ||
242 | self.mainloop = GLib.MainLoop() | ||
243 | self.main_context = self.mainloop.get_context() | ||
244 | @@ -66,22 +66,27 @@ try: | ||
245 | self.p_mock.terminate() | ||
246 | self.p_mock.wait() | ||
247 | |||
248 | - def assertEventually(self, condition, message=None, timeout=50): | ||
249 | + def assertEventually(self, condition, message=None, timeout=5): | ||
250 | '''Assert that condition function eventually returns True. | ||
251 | |||
252 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
253 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
254 | printed on failure. | ||
255 | ''' | ||
256 | - while timeout >= 0: | ||
257 | - context = GLib.MainContext.default() | ||
258 | - while context.iteration(False): | ||
259 | - pass | ||
260 | - if condition(): | ||
261 | - break | ||
262 | - timeout -= 1 | ||
263 | - time.sleep(0.1) | ||
264 | - else: | ||
265 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
266 | + if not message: | ||
267 | + message = 'timed out waiting for ' + str(condition) | ||
268 | + | ||
269 | + def timed_out_cb(message): | ||
270 | + self.fail(message) | ||
271 | + return GLib.SOURCE_REMOVE | ||
272 | + | ||
273 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
274 | + timeout_source.set_callback(timed_out_cb, message) | ||
275 | + timeout_source.attach(self.main_context) | ||
276 | + | ||
277 | + while not condition(): | ||
278 | + self.main_context.iteration(True) | ||
279 | + | ||
280 | + timeout_source.destroy() | ||
281 | |||
282 | def power_saver_enabled_cb(self, spec, data): | ||
283 | self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() | ||
284 | @@ -92,10 +97,10 @@ try: | ||
285 | |||
286 | self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) | ||
287 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) | ||
288 | - self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) | ||
289 | + self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) | ||
290 | |||
291 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) | ||
292 | - self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) | ||
293 | + self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) | ||
294 | |||
295 | except ImportError as e: | ||
296 | @unittest.skip("Cannot import %s" % e.name) | ||
297 | diff --git a/gio/tests/power-profile-monitor-portal.py.in b/gio/tests/power-profile-monitor-portal.py.in | ||
298 | index 09e9a45..ad2abf6 100755 | ||
299 | --- a/gio/tests/power-profile-monitor-portal.py.in | ||
300 | +++ b/gio/tests/power-profile-monitor-portal.py.in | ||
301 | @@ -16,7 +16,6 @@ import sys | ||
302 | import subprocess | ||
303 | import fcntl | ||
304 | import os | ||
305 | -import time | ||
306 | |||
307 | import taptestrunner | ||
308 | |||
309 | @@ -90,22 +89,27 @@ try: | ||
310 | self.p_mock.terminate() | ||
311 | self.p_mock.wait() | ||
312 | |||
313 | - def assertEventually(self, condition, message=None, timeout=50): | ||
314 | + def assertEventually(self, condition, message=None, timeout=5): | ||
315 | '''Assert that condition function eventually returns True. | ||
316 | |||
317 | - Timeout is in deciseconds, defaulting to 50 (5 seconds). message is | ||
318 | + Timeout is in seconds, defaulting to 5 seconds. message is | ||
319 | printed on failure. | ||
320 | ''' | ||
321 | - while timeout >= 0: | ||
322 | - context = GLib.MainContext.default() | ||
323 | - while context.iteration(False): | ||
324 | - pass | ||
325 | - if condition(): | ||
326 | - break | ||
327 | - timeout -= 1 | ||
328 | - time.sleep(0.1) | ||
329 | - else: | ||
330 | - self.fail(message or 'timed out waiting for ' + str(condition)) | ||
331 | + if not message: | ||
332 | + message = 'timed out waiting for ' + str(condition) | ||
333 | + | ||
334 | + def timed_out_cb(message): | ||
335 | + self.fail(message) | ||
336 | + return GLib.SOURCE_REMOVE | ||
337 | + | ||
338 | + timeout_source = GLib.timeout_source_new_seconds(timeout) | ||
339 | + timeout_source.set_callback(timed_out_cb, message) | ||
340 | + timeout_source.attach(self.main_context) | ||
341 | + | ||
342 | + while not condition(): | ||
343 | + self.main_context.iteration(True) | ||
344 | + | ||
345 | + timeout_source.destroy() | ||
346 | |||
347 | def power_saver_enabled_cb(self, spec, data): | ||
348 | self.power_saver_enabled = self.power_profile_monitor.get_power_saver_enabled() | ||
349 | @@ -116,10 +120,10 @@ try: | ||
350 | |||
351 | self.assertEqual(self.power_profile_monitor.get_power_saver_enabled(), False) | ||
352 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('power-saver', variant_level=1)) | ||
353 | - self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 10) | ||
354 | + self.assertEventually(lambda: self.power_saver_enabled == True, "power-saver didn't become enabled", 1) | ||
355 | |||
356 | self.dbus_props.Set('net.hadess.PowerProfiles', 'ActiveProfile', dbus.String('balanced', variant_level=1)) | ||
357 | - self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 10) | ||
358 | + self.assertEventually(lambda: self.power_saver_enabled == False, "power-saver didn't become disabled", 1) | ||
359 | |||
360 | def test_power_profile_power_saver_enabled_portal_default(self): | ||
361 | '''power-saver-enabled property default value''' | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb deleted file mode 100644 index b1669ead75..0000000000 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.4.bb +++ /dev/null | |||
@@ -1,57 +0,0 @@ | |||
1 | require glib.inc | ||
2 | |||
3 | PE = "1" | ||
4 | |||
5 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | ||
6 | |||
7 | SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ | ||
8 | file://run-ptest \ | ||
9 | file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ | ||
10 | file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ | ||
11 | file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ | ||
12 | file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ | ||
13 | file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ | ||
14 | file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ | ||
15 | file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ | ||
16 | file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ | ||
17 | file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ | ||
18 | file://memory-monitor.patch \ | ||
19 | file://fix-regex.patch \ | ||
20 | file://skip-timeout.patch \ | ||
21 | " | ||
22 | SRC_URI:append:class-native = " file://relocate-modules.patch \ | ||
23 | file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ | ||
24 | " | ||
25 | |||
26 | SRC_URI[sha256sum] = "24b8e0672dca120cc32d394bccb85844e732e04fe75d18bb0573b2dbc7548f63" | ||
27 | |||
28 | # Find any meson cross files in FILESPATH that are relevant for the current | ||
29 | # build (using siteinfo) and add them to EXTRA_OEMESON. | ||
30 | inherit siteinfo | ||
31 | def find_meson_cross_files(d): | ||
32 | if bb.data.inherits_class('native', d): | ||
33 | return "" | ||
34 | |||
35 | thisdir = os.path.normpath(d.getVar("THISDIR")) | ||
36 | import collections | ||
37 | sitedata = siteinfo_data(d) | ||
38 | # filename -> found | ||
39 | files = collections.OrderedDict() | ||
40 | for path in d.getVar("FILESPATH").split(":"): | ||
41 | for element in sitedata: | ||
42 | filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) | ||
43 | sanitized_path = filename.replace(thisdir, "${THISDIR}") | ||
44 | if sanitized_path == filename: | ||
45 | if os.path.exists(filename): | ||
46 | bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) | ||
47 | continue | ||
48 | files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) | ||
49 | |||
50 | items = ["--cross-file=" + k for k,v in files.items() if v] | ||
51 | d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) | ||
52 | items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] | ||
53 | d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) | ||
54 | |||
55 | python () { | ||
56 | find_meson_cross_files(d) | ||
57 | } | ||
diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.80.2.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.80.2.bb new file mode 100644 index 0000000000..ef80cc47cf --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.80.2.bb | |||
@@ -0,0 +1,2 @@ | |||
1 | require glib.inc | ||
2 | |||
diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index fac8875d84..fbd2b18684 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc | |||
@@ -28,21 +28,26 @@ PACKAGES += "${PN}-codegen ${PN}-utils" | |||
28 | 28 | ||
29 | LEAD_SONAME = "libglib-2.0.*" | 29 | LEAD_SONAME = "libglib-2.0.*" |
30 | 30 | ||
31 | inherit meson gettext gtk-doc pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data | 31 | inherit meson gettext gi-docgen pkgconfig ptest-gnome upstream-version-is-even bash-completion gio-module-cache manpages gobject-introspection-data |
32 | |||
33 | GTKDOC_MESON_OPTION = "gtk_doc" | ||
34 | 32 | ||
35 | S = "${WORKDIR}/glib-${PV}" | 33 | S = "${WORKDIR}/glib-${PV}" |
36 | 34 | ||
35 | GIDOCGEN_MESON_OPTION = "documentation" | ||
36 | |||
37 | PACKAGECONFIG ??= "libmount \ | 37 | PACKAGECONFIG ??= "libmount \ |
38 | ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'introspection', '', d)} \ | ||
38 | ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | 39 | ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" |
40 | PACKAGECONFIG:class-native = "" | ||
41 | |||
39 | PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" | 42 | PACKAGECONFIG[libmount] = "-Dlibmount=enabled,-Dlibmount=disabled,util-linux" |
40 | PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" | 43 | PACKAGECONFIG[manpages] = "-Dman-pages=enabled, -Dman-pages=disabled, python3-docutils-native" |
41 | PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils" | 44 | PACKAGECONFIG[libelf] = "-Dlibelf=enabled,-Dlibelf=disabled,elfutils" |
42 | PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false," | 45 | PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false," |
43 | PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" | 46 | PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux" |
47 | PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled,gobject-introspection-native gobject-introspection glib-2.0-initial" | ||
44 | 48 | ||
45 | EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" | 49 | EXTRA_OEMESON = "-Ddtrace=false -Dsystemtap=false" |
50 | EXTRA_OEMESON:append:class-target = " ${@'-Dgir_dir_prefix=${libdir}' if d.getVar('MULTILIBS') else ''}" | ||
46 | 51 | ||
47 | do_configure:prepend() { | 52 | do_configure:prepend() { |
48 | sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in | 53 | sed -i -e '1s,#!.*,#!${USRBINPATH}/env python3,' ${S}/gio/gdbus-2.0/codegen/gdbus-codegen.in |
@@ -53,14 +58,16 @@ FILES:${PN} = "${libdir}/lib*${SOLIBS} \ | |||
53 | ${libexecdir}/*gio-querymodules \ | 58 | ${libexecdir}/*gio-querymodules \ |
54 | ${libexecdir}/*gio-launch-desktop \ | 59 | ${libexecdir}/*gio-launch-desktop \ |
55 | ${datadir}/glib-2.0/dtds \ | 60 | ${datadir}/glib-2.0/dtds \ |
56 | ${datadir}/glib-2.0/schemas" | 61 | ${datadir}/glib-2.0/schemas \ |
57 | 62 | ${libdir}/girepository-*/*.typelib \ | |
63 | " | ||
58 | FILES:${PN}-dev += "${libdir}/glib-2.0/include \ | 64 | FILES:${PN}-dev += "${libdir}/glib-2.0/include \ |
59 | ${libdir}/gio/modules/lib*${SOLIBSDEV} \ | 65 | ${libdir}/gio/modules/lib*${SOLIBSDEV} \ |
60 | ${libdir}/gio/modules/*.la \ | 66 | ${libdir}/gio/modules/*.la \ |
61 | ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ | 67 | ${datadir}/glib-2.0/gettext/po/Makefile.in.in \ |
62 | ${datadir}/glib-2.0/schemas/gschema.dtd \ | 68 | ${datadir}/glib-2.0/schemas/gschema.dtd \ |
63 | ${datadir}/glib-2.0/valgrind/glib.supp \ | 69 | ${datadir}/glib-2.0/valgrind/glib.supp \ |
70 | ${datadir}/gir-*/*.gir ${libdir}/gir-*/*.gir \ | ||
64 | ${datadir}/gettext/its" | 71 | ${datadir}/gettext/its" |
65 | FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" | 72 | FILES:${PN}-dbg += "${datadir}/glib-2.0/gdb ${datadir}/gdb" |
66 | FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ | 73 | FILES:${PN}-codegen = "${datadir}/glib-2.0/codegen/*.py \ |
@@ -204,3 +211,57 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ | |||
204 | locale-base-pl-pl.iso-8859-2 \ | 211 | locale-base-pl-pl.iso-8859-2 \ |
205 | locale-base-tr-tr \ | 212 | locale-base-tr-tr \ |
206 | " | 213 | " |
214 | |||
215 | PE = "1" | ||
216 | |||
217 | SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" | ||
218 | |||
219 | SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ | ||
220 | file://run-ptest \ | ||
221 | file://0001-Fix-DATADIRNAME-on-uclibc-Linux.patch \ | ||
222 | file://0001-Remove-the-warning-about-deprecated-paths-in-schemas.patch \ | ||
223 | file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ | ||
224 | file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ | ||
225 | file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ | ||
226 | file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ | ||
227 | file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ | ||
228 | file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ | ||
229 | file://skip-timeout.patch \ | ||
230 | file://0001-girepository-introspection-correctly-install-.gir-fi.patch \ | ||
231 | " | ||
232 | SRC_URI:append:class-native = " file://relocate-modules.patch \ | ||
233 | file://0001-meson.build-do-not-enable-pidfd-features-on-native-g.patch \ | ||
234 | " | ||
235 | |||
236 | SRC_URI[sha256sum] = "b9cfb6f7a5bd5b31238fd5d56df226b2dda5ea37611475bf89f6a0f9400fe8bd" | ||
237 | |||
238 | # Find any meson cross files in FILESPATH that are relevant for the current | ||
239 | # build (using siteinfo) and add them to EXTRA_OEMESON. | ||
240 | inherit siteinfo | ||
241 | def find_meson_cross_files(d): | ||
242 | if bb.data.inherits_class('native', d): | ||
243 | return "" | ||
244 | |||
245 | thisdir = os.path.normpath(d.getVar("THISDIR")) | ||
246 | import collections | ||
247 | sitedata = siteinfo_data(d) | ||
248 | # filename -> found | ||
249 | files = collections.OrderedDict() | ||
250 | for path in d.getVar("FILESPATH").split(":"): | ||
251 | for element in sitedata: | ||
252 | filename = os.path.normpath(os.path.join(path, "meson.cross.d", element)) | ||
253 | sanitized_path = filename.replace(thisdir, "${THISDIR}") | ||
254 | if sanitized_path == filename: | ||
255 | if os.path.exists(filename): | ||
256 | bb.error("Cannot add '%s' to --cross-file, because it's not relative to THISDIR '%s' and sstate signature would contain this full path" % (filename, thisdir)) | ||
257 | continue | ||
258 | files[filename.replace(thisdir, "${THISDIR}")] = os.path.exists(filename) | ||
259 | |||
260 | items = ["--cross-file=" + k for k,v in files.items() if v] | ||
261 | d.appendVar("EXTRA_OEMESON", " " + " ".join(items)) | ||
262 | items = ["%s:%s" % (k, "True" if v else "False") for k,v in files.items()] | ||
263 | d.appendVarFlag("do_configure", "file-checksums", " " + " ".join(items)) | ||
264 | |||
265 | python () { | ||
266 | find_meson_cross_files(d) | ||
267 | } | ||
diff --git a/meta/recipes-core/glibc/glibc-common.inc b/meta/recipes-core/glibc/glibc-common.inc index b9516e77f0..91a3f5bcd5 100644 --- a/meta/recipes-core/glibc/glibc-common.inc +++ b/meta/recipes-core/glibc/glibc-common.inc | |||
@@ -2,7 +2,7 @@ SUMMARY = "GLIBC (GNU C Library)" | |||
2 | DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel." | 2 | DESCRIPTION = "The GNU C Library is used as the system C library in most systems with the Linux kernel." |
3 | HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" | 3 | HOMEPAGE = "http://www.gnu.org/software/libc/libc.html" |
4 | SECTION = "libs" | 4 | SECTION = "libs" |
5 | LICENSE = "GPL-2.0-only & LGPL-2.1-only" | 5 | LICENSE = "GPL-2.0-only & LGPL-2.1-or-later" |
6 | 6 | ||
7 | LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ | 7 | LIC_FILES_CHKSUM ?= "file://LICENSES;md5=f77e878d320e99e94ae9a4aea7f491d1 \ |
8 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 8 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc index 1ef987be0a..0c5e3b4c3d 100644 --- a/meta/recipes-core/glibc/glibc-package.inc +++ b/meta/recipes-core/glibc/glibc-package.inc | |||
@@ -69,9 +69,9 @@ inherit multilib_header | |||
69 | 69 | ||
70 | do_install() { | 70 | do_install() { |
71 | oe_runmake install_root=${D} install | 71 | oe_runmake install_root=${D} install |
72 | install -Dm 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf | 72 | install -Dm 0644 ${UNPACKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/ld.so.conf |
73 | install -d ${D}${localedir} | 73 | install -d ${D}${localedir} |
74 | make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" | 74 | make -f ${UNPACKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED" |
75 | # get rid of some broken files... | 75 | # get rid of some broken files... |
76 | for i in ${GLIBC_BROKEN_LOCALES}; do | 76 | for i in ${GLIBC_BROKEN_LOCALES}; do |
77 | sed -i "/$i/d" ${WORKDIR}/SUPPORTED | 77 | sed -i "/$i/d" ${WORKDIR}/SUPPORTED |
@@ -101,7 +101,7 @@ do_install() { | |||
101 | install -d ${D}${localstatedir}/db/nscd | 101 | install -d ${D}${localstatedir}/db/nscd |
102 | install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd | 102 | install -m 0755 ${S}/nscd/nscd.init ${D}${sysconfdir}/init.d/nscd |
103 | install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf | 103 | install -m 0755 ${S}/nscd/nscd.conf ${D}${sysconfdir}/nscd.conf |
104 | install -m 0755 ${WORKDIR}/makedbs.sh ${D}${localstatedir}/db | 104 | install -m 0755 ${UNPACKDIR}/makedbs.sh ${D}${localstatedir}/db |
105 | sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd | 105 | sed -i "s%daemon%start-stop-daemon --start --exec%g" ${D}${sysconfdir}/init.d/nscd |
106 | sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf | 106 | sed -i "s|\(enable-cache\t\+netgroup\t\+\)yes|\1no|" ${D}${sysconfdir}/nscd.conf |
107 | 107 | ||
diff --git a/meta/recipes-core/glibc/glibc-testsuite_2.39.bb b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb index 2e076f4b0f..3a2764e40b 100644 --- a/meta/recipes-core/glibc/glibc-testsuite_2.39.bb +++ b/meta/recipes-core/glibc/glibc-testsuite_2.39.bb | |||
@@ -18,7 +18,7 @@ TOOLCHAIN_TEST_HOST_PORT ??= "2222" | |||
18 | do_check[nostamp] = "1" | 18 | do_check[nostamp] = "1" |
19 | do_check[network] = "1" | 19 | do_check[network] = "1" |
20 | do_check:append () { | 20 | do_check:append () { |
21 | chmod 0755 ${WORKDIR}/check-test-wrapper | 21 | chmod 0755 ${UNPACKDIR}/check-test-wrapper |
22 | 22 | ||
23 | oe_runmake -i \ | 23 | oe_runmake -i \ |
24 | QEMU_SYSROOT="${RECIPE_SYSROOT}" \ | 24 | QEMU_SYSROOT="${RECIPE_SYSROOT}" \ |
@@ -26,7 +26,7 @@ do_check:append () { | |||
26 | SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ | 26 | SSH_HOST="${TOOLCHAIN_TEST_HOST}" \ |
27 | SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ | 27 | SSH_HOST_USER="${TOOLCHAIN_TEST_HOST_USER}" \ |
28 | SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ | 28 | SSH_HOST_PORT="${TOOLCHAIN_TEST_HOST_PORT}" \ |
29 | test-wrapper="${WORKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ | 29 | test-wrapper="${UNPACKDIR}/check-test-wrapper ${TOOLCHAIN_TEST_TARGET}" \ |
30 | check | 30 | check |
31 | } | 31 | } |
32 | 32 | ||
diff --git a/meta/recipes-core/glibc/glibc-version.inc b/meta/recipes-core/glibc/glibc-version.inc index 618a574566..1e4a323d64 100644 --- a/meta/recipes-core/glibc/glibc-version.inc +++ b/meta/recipes-core/glibc/glibc-version.inc | |||
@@ -1,6 +1,6 @@ | |||
1 | SRCBRANCH ?= "release/2.39/master" | 1 | SRCBRANCH ?= "release/2.39/master" |
2 | PV = "2.39+git" | 2 | PV = "2.39+git" |
3 | SRCREV_glibc ?= "1b9c1a0047fb26a65a9b2a7b8cd977243f7d353c" | 3 | SRCREV_glibc ?= "273a835fe7c685cc54266bb8b502787bad5e9bae" |
4 | SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" | 4 | SRCREV_localedef ?= "fab74f31b3811df543e24b6de47efdf45b538abc" |
5 | 5 | ||
6 | GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" | 6 | GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git;protocol=https" |
diff --git a/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb index be49ca4cb7..b760230aec 100644 --- a/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb +++ b/meta/recipes-core/glibc/glibc-y2038-tests_2.39.bb | |||
@@ -76,7 +76,7 @@ do_install_ptest_base () { | |||
76 | done | 76 | done |
77 | 77 | ||
78 | install -d ${D}${PTEST_PATH} | 78 | install -d ${D}${PTEST_PATH} |
79 | cp ${WORKDIR}/run-ptest ${D}${PTEST_PATH}/ | 79 | cp ${UNPACKDIR}/run-ptest ${D}${PTEST_PATH}/ |
80 | 80 | ||
81 | } | 81 | } |
82 | 82 | ||
diff --git a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch index 066c3b1ea2..9bdfa76318 100644 --- a/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch +++ b/meta/recipes-core/glibc/glibc/0016-wordsize.h-Unify-the-header-between-arm-and-aarch64.patch | |||
@@ -11,16 +11,15 @@ Upstream-Status: Inappropriate [ OE-Specific ] | |||
11 | 11 | ||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
13 | --- | 13 | --- |
14 | sysdeps/aarch64/bits/wordsize.h | 8 ++++++-- | 14 | sysdeps/aarch64/bits/wordsize.h | 11 +++++++++-- |
15 | sysdeps/arm/bits/wordsize.h | 1 + | 15 | sysdeps/arm/bits/wordsize.h | 22 +--------------------- |
16 | 2 files changed, 7 insertions(+), 2 deletions(-) | 16 | 2 files changed, 10 insertions(+), 23 deletions(-) |
17 | create mode 120000 sysdeps/arm/bits/wordsize.h | ||
18 | 17 | ||
19 | diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h | 18 | diff --git a/sysdeps/aarch64/bits/wordsize.h b/sysdeps/aarch64/bits/wordsize.h |
20 | index 118e59172d..b4b0692eb5 100644 | 19 | index 118e59172d..ff86359fe8 100644 |
21 | --- a/sysdeps/aarch64/bits/wordsize.h | 20 | --- a/sysdeps/aarch64/bits/wordsize.h |
22 | +++ b/sysdeps/aarch64/bits/wordsize.h | 21 | +++ b/sysdeps/aarch64/bits/wordsize.h |
23 | @@ -17,12 +17,16 @@ | 22 | @@ -17,12 +17,19 @@ |
24 | License along with the GNU C Library; if not, see | 23 | License along with the GNU C Library; if not, see |
25 | <https://www.gnu.org/licenses/>. */ | 24 | <https://www.gnu.org/licenses/>. */ |
26 | 25 | ||
@@ -33,12 +32,42 @@ index 118e59172d..b4b0692eb5 100644 | |||
33 | # define __WORDSIZE32_SIZE_ULONG 1 | 32 | # define __WORDSIZE32_SIZE_ULONG 1 |
34 | # define __WORDSIZE32_PTRDIFF_LONG 1 | 33 | # define __WORDSIZE32_PTRDIFF_LONG 1 |
35 | +#else | 34 | +#else |
36 | +# define __WORDSIZE 32 | 35 | +#define __WORDSIZE 32 |
37 | +# define __WORDSIZE32_SIZE_ULONG 0 | 36 | +#define __WORDSIZE_TIME64_COMPAT32 1 |
38 | +# define __WORDSIZE32_PTRDIFF_LONG 0 | 37 | +#define __WORDSIZE32_SIZE_ULONG 0 |
38 | +#define __WORDSIZE32_PTRDIFF_LONG 0 | ||
39 | #endif | 39 | #endif |
40 | 40 | ||
41 | +#ifdef __aarch64__ | ||
41 | #define __WORDSIZE_TIME64_COMPAT32 0 | 42 | #define __WORDSIZE_TIME64_COMPAT32 0 |
43 | +#endif | ||
44 | diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h | ||
45 | deleted file mode 100644 | ||
46 | index 6ecbfe7c86..0000000000 | ||
47 | --- a/sysdeps/arm/bits/wordsize.h | ||
48 | +++ /dev/null | ||
49 | @@ -1,21 +0,0 @@ | ||
50 | -/* Copyright (C) 1999-2024 Free Software Foundation, Inc. | ||
51 | - This file is part of the GNU C Library. | ||
52 | - | ||
53 | - The GNU C Library is free software; you can redistribute it and/or | ||
54 | - modify it under the terms of the GNU Lesser General Public | ||
55 | - License as published by the Free Software Foundation; either | ||
56 | - version 2.1 of the License, or (at your option) any later version. | ||
57 | - | ||
58 | - The GNU C Library is distributed in the hope that it will be useful, | ||
59 | - but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
60 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
61 | - Lesser General Public License for more details. | ||
62 | - | ||
63 | - You should have received a copy of the GNU Lesser General Public | ||
64 | - License along with the GNU C Library; if not, see | ||
65 | - <https://www.gnu.org/licenses/>. */ | ||
66 | - | ||
67 | -#define __WORDSIZE 32 | ||
68 | -#define __WORDSIZE_TIME64_COMPAT32 1 | ||
69 | -#define __WORDSIZE32_SIZE_ULONG 0 | ||
70 | -#define __WORDSIZE32_PTRDIFF_LONG 0 | ||
42 | diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h | 71 | diff --git a/sysdeps/arm/bits/wordsize.h b/sysdeps/arm/bits/wordsize.h |
43 | new file mode 120000 | 72 | new file mode 120000 |
44 | index 0000000000..4c4a788ec2 | 73 | index 0000000000..4c4a788ec2 |
diff --git a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch deleted file mode 100644 index f6523c5498..0000000000 --- a/meta/recipes-core/glibc/glibc/0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | From 73c26018ed0ecd9c807bb363cc2c2ab4aca66a82 Mon Sep 17 00:00:00 2001 | ||
2 | From: Szabolcs Nagy <szabolcs.nagy@arm.com> | ||
3 | Date: Wed, 13 Mar 2024 14:34:14 +0000 | ||
4 | Subject: [PATCH] aarch64: fix check for SVE support in assembler | ||
5 | |||
6 | Due to GCC bug 110901 -mcpu can override -march setting when compiling | ||
7 | asm code and thus a compiler targetting a specific cpu can fail the | ||
8 | configure check even when binutils gas supports SVE. | ||
9 | |||
10 | The workaround is that explicit .arch directive overrides both -mcpu | ||
11 | and -march, and since that's what the actual SVE memcpy uses the | ||
12 | configure check should use that too even if the GCC issue is fixed | ||
13 | independently. | ||
14 | |||
15 | Upstream-Status: Backport [https://sourceware.org/git/?p=glibc.git;a=commit;h=73c26018ed0ecd9c807bb363cc2c2ab4aca66a82] | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | Reviewed-by: Florian Weimer <fweimer@redhat.com> | ||
18 | --- | ||
19 | sysdeps/aarch64/configure | 5 +++-- | ||
20 | sysdeps/aarch64/configure.ac | 5 +++-- | ||
21 | 2 files changed, 6 insertions(+), 4 deletions(-) | ||
22 | mode change 100644 => 100755 sysdeps/aarch64/configure | ||
23 | |||
24 | diff --git a/sysdeps/aarch64/configure b/sysdeps/aarch64/configure | ||
25 | old mode 100644 | ||
26 | new mode 100755 | ||
27 | index ca57edce47..9606137e8d | ||
28 | --- a/sysdeps/aarch64/configure | ||
29 | +++ b/sysdeps/aarch64/configure | ||
30 | @@ -325,9 +325,10 @@ then : | ||
31 | printf %s "(cached) " >&6 | ||
32 | else $as_nop | ||
33 | cat > conftest.s <<\EOF | ||
34 | - ptrue p0.b | ||
35 | + .arch armv8.2-a+sve | ||
36 | + ptrue p0.b | ||
37 | EOF | ||
38 | -if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5' | ||
39 | +if { ac_try='${CC-cc} -c conftest.s 1>&5' | ||
40 | { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 | ||
41 | (eval $ac_try) 2>&5 | ||
42 | ac_status=$? | ||
43 | diff --git a/sysdeps/aarch64/configure.ac b/sysdeps/aarch64/configure.ac | ||
44 | index 27874eceb4..56d12d661d 100644 | ||
45 | --- a/sysdeps/aarch64/configure.ac | ||
46 | +++ b/sysdeps/aarch64/configure.ac | ||
47 | @@ -90,9 +90,10 @@ LIBC_CONFIG_VAR([aarch64-variant-pcs], [$libc_cv_aarch64_variant_pcs]) | ||
48 | # Check if asm support armv8.2-a+sve | ||
49 | AC_CACHE_CHECK([for SVE support in assembler], [libc_cv_aarch64_sve_asm], [dnl | ||
50 | cat > conftest.s <<\EOF | ||
51 | - ptrue p0.b | ||
52 | + .arch armv8.2-a+sve | ||
53 | + ptrue p0.b | ||
54 | EOF | ||
55 | -if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then | ||
56 | +if AC_TRY_COMMAND(${CC-cc} -c conftest.s 1>&AS_MESSAGE_LOG_FD); then | ||
57 | libc_cv_aarch64_sve_asm=yes | ||
58 | else | ||
59 | libc_cv_aarch64_sve_asm=no | ||
60 | -- | ||
61 | 2.44.0 | ||
62 | |||
diff --git a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch b/meta/recipes-core/glibc/glibc/0023-qemu-stale-process.patch index c0a467fcec..c0a467fcec 100644 --- a/meta/recipes-core/glibc/glibc/0024-qemu-stale-process.patch +++ b/meta/recipes-core/glibc/glibc/0023-qemu-stale-process.patch | |||
diff --git a/meta/recipes-core/glibc/glibc_2.39.bb b/meta/recipes-core/glibc/glibc_2.39.bb index 9122472689..2484ae1cd9 100644 --- a/meta/recipes-core/glibc/glibc_2.39.bb +++ b/meta/recipes-core/glibc/glibc_2.39.bb | |||
@@ -16,6 +16,10 @@ CVE_STATUS[CVE-2019-1010025] = "disputed: \ | |||
16 | Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ | 16 | Allows for ASLR bypass so can bypass some hardening, not an exploit in itself, may allow \ |
17 | easier access for another. 'ASLR bypass itself is not a vulnerability.'" | 17 | easier access for another. 'ASLR bypass itself is not a vulnerability.'" |
18 | 18 | ||
19 | CVE_STATUS_GROUPS += "CVE_STATUS_STABLE_BACKPORTS" | ||
20 | CVE_STATUS_STABLE_BACKPORTS = "CVE-2024-2961 CVE-2024-33599 CVE-2024-33600 CVE-2024-33601 CVE-2024-33602" | ||
21 | CVE_STATUS_STABLE_BACKPORTS[status] = "cpe-stable-backport: fix available in used git hash" | ||
22 | |||
19 | DEPENDS += "gperf-native bison-native" | 23 | DEPENDS += "gperf-native bison-native" |
20 | 24 | ||
21 | NATIVESDKFIXES ?= "" | 25 | NATIVESDKFIXES ?= "" |
@@ -48,8 +52,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ | |||
48 | file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ | 52 | file://0020-tzselect.ksh-Use-bin-sh-default-shell-interpreter.patch \ |
49 | file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ | 53 | file://0021-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \ |
50 | file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ | 54 | file://0022-Avoid-hardcoded-build-time-paths-in-the-output-binar.patch \ |
51 | file://0023-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch \ | 55 | file://0023-qemu-stale-process.patch \ |
52 | file://0024-qemu-stale-process.patch \ | ||
53 | " | 56 | " |
54 | S = "${WORKDIR}/git" | 57 | S = "${WORKDIR}/git" |
55 | B = "${WORKDIR}/build-${TARGET_SYS}" | 58 | B = "${WORKDIR}/build-${TARGET_SYS}" |
diff --git a/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb b/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb index 16425ea9e4..c7004ab41d 100644 --- a/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb +++ b/meta/recipes-core/ifupdown/ifupdown_0.8.41.bb | |||
@@ -35,7 +35,7 @@ do_install () { | |||
35 | 35 | ||
36 | # If volatiles are used, then we'll also need /run/network there too. | 36 | # If volatiles are used, then we'll also need /run/network there too. |
37 | install -d ${D}/etc/default/volatiles | 37 | install -d ${D}/etc/default/volatiles |
38 | install -m 0644 ${WORKDIR}/99_network ${D}/etc/default/volatiles | 38 | install -m 0644 ${UNPACKDIR}/99_network ${D}/etc/default/volatiles |
39 | 39 | ||
40 | install -m 0755 ifup ${D}${base_sbindir}/ | 40 | install -m 0755 ifup ${D}${base_sbindir}/ |
41 | ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown | 41 | ln ${D}${base_sbindir}/ifup ${D}${base_sbindir}/ifdown |
diff --git a/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 4cf55519cc..e406968df2 100644 --- a/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/meta/recipes-core/images/build-appliance-image_15.0.0.bb | |||
@@ -44,10 +44,10 @@ IMAGE_CMD:ext4:append () { | |||
44 | fakeroot do_populate_poky_src () { | 44 | fakeroot do_populate_poky_src () { |
45 | # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo | 45 | # Because fetch2's git's unpack uses -s cloneflag, the unpacked git repo |
46 | # will become invalid in the target. | 46 | # will become invalid in the target. |
47 | rm -rf ${WORKDIR}/git/.git | 47 | rm -rf ${UNPACKDIR}/git/.git |
48 | rm -f ${WORKDIR}/git/.gitignore | 48 | rm -f ${UNPACKDIR}/git/.gitignore |
49 | 49 | ||
50 | cp -R ${WORKDIR}/git ${IMAGE_ROOTFS}/home/builder/poky | 50 | cp -R ${UNPACKDIR}/git ${IMAGE_ROOTFS}/home/builder/poky |
51 | 51 | ||
52 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf | 52 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/conf |
53 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads | 53 | mkdir -p ${IMAGE_ROOTFS}/home/builder/poky/build/downloads |
@@ -58,10 +58,10 @@ fakeroot do_populate_poky_src () { | |||
58 | fi | 58 | fi |
59 | 59 | ||
60 | # Place the README_VirtualBox_Guest_Additions file in builders home folder. | 60 | # Place the README_VirtualBox_Guest_Additions file in builders home folder. |
61 | cp ${WORKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/ | 61 | cp ${UNPACKDIR}/README_VirtualBox_Guest_Additions.txt ${IMAGE_ROOTFS}/home/builder/ |
62 | 62 | ||
63 | # Place the README_VirtualBox_Toaster file in builders home folder. | 63 | # Place the README_VirtualBox_Toaster file in builders home folder. |
64 | cp ${WORKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/ | 64 | cp ${UNPACKDIR}/README_VirtualBox_Toaster.txt ${IMAGE_ROOTFS}/home/builder/ |
65 | 65 | ||
66 | echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf | 66 | echo "INHERIT += \"rm_work\"" >> ${IMAGE_ROOTFS}/home/builder/poky/build/conf/auto.conf |
67 | echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc | 67 | echo "export LC_ALL=en_US.utf8" >> ${IMAGE_ROOTFS}/home/builder/.bashrc |
@@ -129,10 +129,15 @@ python () { | |||
129 | d.delVarFlag("do_unpack", "noexec") | 129 | d.delVarFlag("do_unpack", "noexec") |
130 | } | 130 | } |
131 | 131 | ||
132 | # ${S} doesn't exist for us | ||
133 | do_qa_unpack() { | ||
134 | return | ||
135 | } | ||
136 | |||
132 | create_bundle_files () { | 137 | create_bundle_files () { |
133 | cd ${WORKDIR} | 138 | cd ${WORKDIR} |
134 | mkdir -p Yocto_Build_Appliance | 139 | mkdir -p Yocto_Build_Appliance |
135 | cp *.vmx* Yocto_Build_Appliance | 140 | cp ${UNPACKDIR}/*.vmx* Yocto_Build_Appliance |
136 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk | 141 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vmdk Yocto_Build_Appliance/Yocto_Build_Appliance.vmdk |
137 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx | 142 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhdx Yocto_Build_Appliance/Yocto_Build_Appliance.vhdx |
138 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd | 143 | ln -sf ${IMGDEPLOYDIR}/${IMAGE_NAME}.wic.vhd Yocto_Build_Appliance/Yocto_Build_Appliance.vhd |
diff --git a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb index 409b1c0403..ddf9d1b311 100644 --- a/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb +++ b/meta/recipes-core/init-ifupdown/init-ifupdown_1.0.bb | |||
@@ -3,7 +3,7 @@ DESCRIPTION = "This package provides high level tools to configure network inter | |||
3 | HOMEPAGE = "http://packages.debian.org/ifupdown" | 3 | HOMEPAGE = "http://packages.debian.org/ifupdown" |
4 | SECTION = "base" | 4 | SECTION = "base" |
5 | LICENSE = "GPL-2.0-only" | 5 | LICENSE = "GPL-2.0-only" |
6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/copyright;md5=3dd6192d306f582dee7687da3d8748ab" | 6 | LIC_FILES_CHKSUM = "file://${S}/copyright;md5=3dd6192d306f582dee7687da3d8748ab" |
7 | 7 | ||
8 | inherit update-rc.d | 8 | inherit update-rc.d |
9 | 9 | ||
@@ -15,7 +15,8 @@ SRC_URI = "file://copyright \ | |||
15 | file://interfaces \ | 15 | file://interfaces \ |
16 | file://nfsroot" | 16 | file://nfsroot" |
17 | 17 | ||
18 | S = "${WORKDIR}" | 18 | S = "${WORKDIR}/sources" |
19 | UNPACKDIR = "${S}" | ||
19 | 20 | ||
20 | do_install () { | 21 | do_install () { |
21 | install -d ${D}${sysconfdir}/init.d \ | 22 | install -d ${D}${sysconfdir}/init.d \ |
@@ -23,9 +24,9 @@ do_install () { | |||
23 | ${D}${sysconfdir}/network/if-up.d \ | 24 | ${D}${sysconfdir}/network/if-up.d \ |
24 | ${D}${sysconfdir}/network/if-down.d \ | 25 | ${D}${sysconfdir}/network/if-down.d \ |
25 | ${D}${sysconfdir}/network/if-post-down.d | 26 | ${D}${sysconfdir}/network/if-post-down.d |
26 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/networking | 27 | install -m 0755 ${S}/init ${D}${sysconfdir}/init.d/networking |
27 | install -m 0644 ${WORKDIR}/interfaces ${D}${sysconfdir}/network/interfaces | 28 | install -m 0644 ${S}/interfaces ${D}${sysconfdir}/network/interfaces |
28 | install -m 0755 ${WORKDIR}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d | 29 | install -m 0755 ${S}/nfsroot ${D}${sysconfdir}/network/if-pre-up.d |
29 | } | 30 | } |
30 | 31 | ||
31 | do_install:append:qemuall () { | 32 | do_install:append:qemuall () { |
diff --git a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb index 198459f2b2..ec3544c67a 100644 --- a/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-boot_1.0.bb | |||
@@ -3,11 +3,11 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-boot.sh" | 4 | SRC_URI = "file://init-boot.sh" |
5 | 5 | ||
6 | 6 | S = "${WORKDIR}/sources" | |
7 | S = "${WORKDIR}" | 7 | UNPACKDIR = "${S}" |
8 | 8 | ||
9 | do_install() { | 9 | do_install() { |
10 | install -m 0755 ${WORKDIR}/init-boot.sh ${D}/init | 10 | install -m 0755 ${S}/init-boot.sh ${D}/init |
11 | 11 | ||
12 | # Create device nodes expected by some kernels in initramfs | 12 | # Create device nodes expected by some kernels in initramfs |
13 | # before even executing /init. | 13 | # before even executing /init. |
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb index 39ea51ccbd..bb4984366d 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-framework_1.0.bb | |||
@@ -20,37 +20,38 @@ SRC_URI = "file://init \ | |||
20 | file://overlayroot \ | 20 | file://overlayroot \ |
21 | " | 21 | " |
22 | 22 | ||
23 | S = "${WORKDIR}" | 23 | S = "${WORKDIR}/sources" |
24 | UNPACKDIR = "${S}" | ||
24 | 25 | ||
25 | do_install() { | 26 | do_install() { |
26 | install -d ${D}/init.d | 27 | install -d ${D}/init.d |
27 | 28 | ||
28 | # base | 29 | # base |
29 | install -m 0755 ${WORKDIR}/init ${D}/init | 30 | install -m 0755 ${S}/init ${D}/init |
30 | install -m 0755 ${WORKDIR}/nfsrootfs ${D}/init.d/85-nfsrootfs | 31 | install -m 0755 ${S}/nfsrootfs ${D}/init.d/85-nfsrootfs |
31 | install -m 0755 ${WORKDIR}/rootfs ${D}/init.d/90-rootfs | 32 | install -m 0755 ${S}/rootfs ${D}/init.d/90-rootfs |
32 | install -m 0755 ${WORKDIR}/finish ${D}/init.d/99-finish | 33 | install -m 0755 ${S}/finish ${D}/init.d/99-finish |
33 | 34 | ||
34 | # exec | 35 | # exec |
35 | install -m 0755 ${WORKDIR}/exec ${D}/init.d/89-exec | 36 | install -m 0755 ${S}/exec ${D}/init.d/89-exec |
36 | 37 | ||
37 | # mdev | 38 | # mdev |
38 | install -m 0755 ${WORKDIR}/mdev ${D}/init.d/01-mdev | 39 | install -m 0755 ${S}/mdev ${D}/init.d/01-mdev |
39 | 40 | ||
40 | # udev | 41 | # udev |
41 | install -m 0755 ${WORKDIR}/udev ${D}/init.d/01-udev | 42 | install -m 0755 ${S}/udev ${D}/init.d/01-udev |
42 | 43 | ||
43 | # e2fs | 44 | # e2fs |
44 | install -m 0755 ${WORKDIR}/e2fs ${D}/init.d/10-e2fs | 45 | install -m 0755 ${S}/e2fs ${D}/init.d/10-e2fs |
45 | 46 | ||
46 | # debug | 47 | # debug |
47 | install -m 0755 ${WORKDIR}/debug ${D}/init.d/00-debug | 48 | install -m 0755 ${S}/debug ${D}/init.d/00-debug |
48 | 49 | ||
49 | # lvm | 50 | # lvm |
50 | install -m 0755 ${WORKDIR}/lvm ${D}/init.d/09-lvm | 51 | install -m 0755 ${S}/lvm ${D}/init.d/09-lvm |
51 | 52 | ||
52 | # overlayroot needs to run after rootfs module but before finish | 53 | # overlayroot needs to run after rootfs module but before finish |
53 | install -m 0755 ${WORKDIR}/overlayroot ${D}/init.d/91-overlayroot | 54 | install -m 0755 ${S}/overlayroot ${D}/init.d/91-overlayroot |
54 | 55 | ||
55 | # Create device nodes expected by some kernels in initramfs | 56 | # Create device nodes expected by some kernels in initramfs |
56 | # before even executing /init. | 57 | # before even executing /init. |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb index 847dbc0472..40046f30a7 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot-tiny_1.0.bb | |||
@@ -5,11 +5,11 @@ DEPENDS = "virtual/kernel" | |||
5 | RDEPENDS:${PN} = "busybox-mdev" | 5 | RDEPENDS:${PN} = "busybox-mdev" |
6 | SRC_URI = "file://init-live.sh" | 6 | SRC_URI = "file://init-live.sh" |
7 | 7 | ||
8 | 8 | S = "${WORKDIR}/sources" | |
9 | S = "${WORKDIR}" | 9 | UNPACKDIR = "${S}" |
10 | 10 | ||
11 | do_install() { | 11 | do_install() { |
12 | install -m 0755 ${WORKDIR}/init-live.sh ${D}/init | 12 | install -m 0755 ${S}/init-live.sh ${D}/init |
13 | install -d ${D}/dev | 13 | install -d ${D}/dev |
14 | mknod -m 622 ${D}/dev/console c 5 1 | 14 | mknod -m 622 ${D}/dev/console c 5 1 |
15 | } | 15 | } |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb index b3b991b8fd..7851cc9605 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-boot_1.0.bb | |||
@@ -5,11 +5,11 @@ DEPENDS = "virtual/kernel" | |||
5 | RDEPENDS:${PN} = "udev udev-extraconf" | 5 | RDEPENDS:${PN} = "udev udev-extraconf" |
6 | SRC_URI = "file://init-live.sh" | 6 | SRC_URI = "file://init-live.sh" |
7 | 7 | ||
8 | 8 | S = "${WORKDIR}/sources" | |
9 | S = "${WORKDIR}" | 9 | UNPACKDIR = "${S}" |
10 | 10 | ||
11 | do_install() { | 11 | do_install() { |
12 | install -m 0755 ${WORKDIR}/init-live.sh ${D}/init | 12 | install -m 0755 ${S}/init-live.sh ${D}/init |
13 | install -d ${D}/dev | 13 | install -d ${D}/dev |
14 | mknod -m 622 ${D}/dev/console c 5 1 | 14 | mknod -m 622 ${D}/dev/console c 5 1 |
15 | } | 15 | } |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb index 495eccbeda..31291bcdf2 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi-testfs_1.0.bb | |||
@@ -5,10 +5,11 @@ SRC_URI = "file://init-install-efi-testfs.sh" | |||
5 | 5 | ||
6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" | 6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | do_install() { | 11 | do_install() { |
11 | install -m 0755 ${WORKDIR}/init-install-efi-testfs.sh ${D}/install-efi.sh | 12 | install -m 0755 ${S}/init-install-efi-testfs.sh ${D}/install-efi.sh |
12 | } | 13 | } |
13 | 14 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 15 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb index e10faadfbe..ff3b5622db 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bb | |||
@@ -3,14 +3,14 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-install-efi.sh" | 4 | SRC_URI = "file://init-install-efi.sh" |
5 | 5 | ||
6 | |||
7 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 6 | RDEPENDS:${PN} = "parted e2fsprogs-mke2fs dosfstools util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
8 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 7 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
9 | 8 | ||
10 | S = "${WORKDIR}" | 9 | S = "${WORKDIR}/sources" |
10 | UNPACKDIR = "${S}" | ||
11 | 11 | ||
12 | do_install() { | 12 | do_install() { |
13 | install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/install-efi.sh | 13 | install -m 0755 ${S}/init-install-efi.sh ${D}/install-efi.sh |
14 | } | 14 | } |
15 | 15 | ||
16 | # While this package maybe an allarch due to it being a | 16 | # While this package maybe an allarch due to it being a |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb index d347e323b3..19f05f9fec 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install-testfs_1.0.bb | |||
@@ -5,10 +5,11 @@ SRC_URI = "file://init-install-testfs.sh" | |||
5 | 5 | ||
6 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" | 6 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | do_install() { | 11 | do_install() { |
11 | install -m 0755 ${WORKDIR}/init-install-testfs.sh ${D}/install.sh | 12 | install -m 0755 ${S}/init-install-testfs.sh ${D}/install.sh |
12 | } | 13 | } |
13 | 14 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 15 | INHIBIT_DEFAULT_DEPS = "1" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb index 9046d06c02..1d489e2b64 100644 --- a/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-live-install_1.0.bb | |||
@@ -3,14 +3,14 @@ LICENSE = "MIT" | |||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
4 | SRC_URI = "file://init-install.sh" | 4 | SRC_URI = "file://init-install.sh" |
5 | 5 | ||
6 | 6 | S = "${WORKDIR}/sources" | |
7 | S = "${WORKDIR}" | 7 | UNPACKDIR = "${S}" |
8 | 8 | ||
9 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" | 9 | RDEPENDS:${PN} = "grub parted e2fsprogs-mke2fs util-linux-blkid ${VIRTUAL-RUNTIME_base-utils}" |
10 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | 10 | RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" |
11 | 11 | ||
12 | do_install() { | 12 | do_install() { |
13 | install -m 0755 ${WORKDIR}/init-install.sh ${D}/install.sh | 13 | install -m 0755 ${S}/init-install.sh ${D}/install.sh |
14 | } | 14 | } |
15 | 15 | ||
16 | # While this package maybe an allarch due to it being a | 16 | # While this package maybe an allarch due to it being a |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb index b7499644f0..bb3f275f26 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb | |||
@@ -7,11 +7,12 @@ RRECOMMENDS:${PN} = "${VIRTUAL-RUNTIME_base-utils-syslog}" | |||
7 | 7 | ||
8 | SRC_URI = "file://init-install-efi.sh" | 8 | SRC_URI = "file://init-install-efi.sh" |
9 | 9 | ||
10 | S = "${WORKDIR}" | 10 | S = "${WORKDIR}/sources" |
11 | UNPACKDIR = "${S}" | ||
11 | 12 | ||
12 | do_install() { | 13 | do_install() { |
13 | install -d ${D}/init.d | 14 | install -d ${D}/init.d |
14 | install -m 0755 ${WORKDIR}/init-install-efi.sh ${D}/init.d/install-efi.sh | 15 | install -m 0755 ${S}/init-install-efi.sh ${D}/init.d/install-efi.sh |
15 | } | 16 | } |
16 | 17 | ||
17 | FILES:${PN} = "/init.d/install-efi.sh" | 18 | FILES:${PN} = "/init.d/install-efi.sh" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb index 11db7124af..b87e59f347 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb | |||
@@ -12,11 +12,12 @@ COMPATIBLE_HOST:armv7ve = 'null' | |||
12 | 12 | ||
13 | SRC_URI = "file://init-install.sh" | 13 | SRC_URI = "file://init-install.sh" |
14 | 14 | ||
15 | S = "${WORKDIR}" | 15 | S = "${WORKDIR}/sources" |
16 | UNPACKDIR = "${S}" | ||
16 | 17 | ||
17 | do_install() { | 18 | do_install() { |
18 | install -d ${D}/init.d | 19 | install -d ${D}/init.d |
19 | install -m 0755 ${WORKDIR}/init-install.sh ${D}/init.d/install.sh | 20 | install -m 0755 ${S}/init-install.sh ${D}/init.d/install.sh |
20 | } | 21 | } |
21 | 22 | ||
22 | FILES:${PN} = "/init.d/install.sh" | 23 | FILES:${PN} = "/init.d/install.sh" |
diff --git a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb index 48a779e9aa..4d9ef79a63 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-setup-live_1.0.bb | |||
@@ -9,11 +9,12 @@ inherit allarch | |||
9 | FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" | 9 | FILESEXTRAPATHS:prepend := "${THISDIR}/initramfs-framework:" |
10 | SRC_URI = "file://setup-live" | 10 | SRC_URI = "file://setup-live" |
11 | 11 | ||
12 | S = "${WORKDIR}" | 12 | S = "${WORKDIR}/sources" |
13 | UNPACKDIR = "${S}" | ||
13 | 14 | ||
14 | do_install() { | 15 | do_install() { |
15 | install -d ${D}/init.d | 16 | install -d ${D}/init.d |
16 | install -m 0755 ${WORKDIR}/setup-live ${D}/init.d/80-setup-live | 17 | install -m 0755 ${S}/setup-live ${D}/init.d/80-setup-live |
17 | } | 18 | } |
18 | 19 | ||
19 | FILES:${PN} = "/init.d/80-setup-live" | 20 | FILES:${PN} = "/init.d/80-setup-live" |
diff --git a/meta/recipes-core/initscripts/initscripts_1.0.bb b/meta/recipes-core/initscripts/initscripts_1.0.bb index e61ac554f3..65f97a0af2 100644 --- a/meta/recipes-core/initscripts/initscripts_1.0.bb +++ b/meta/recipes-core/initscripts/initscripts_1.0.bb | |||
@@ -35,7 +35,8 @@ SRC_URI = "file://functions \ | |||
35 | ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ | 35 | ${@bb.utils.contains('DISTRO_FEATURES','selinux','file://sushell','',d)} \ |
36 | " | 36 | " |
37 | 37 | ||
38 | S = "${WORKDIR}" | 38 | S = "${WORKDIR}/sources" |
39 | UNPACKDIR = "${S}" | ||
39 | 40 | ||
40 | SRC_URI:append:arm = " file://alignment.sh" | 41 | SRC_URI:append:arm = " file://alignment.sh" |
41 | SRC_URI:append:armeb = " file://alignment.sh" | 42 | SRC_URI:append:armeb = " file://alignment.sh" |
@@ -61,9 +62,9 @@ HALTARGS ?= "-d -f" | |||
61 | VARLIBMOUNTARGS ?= "" | 62 | VARLIBMOUNTARGS ?= "" |
62 | 63 | ||
63 | do_configure() { | 64 | do_configure() { |
64 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/halt | 65 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${S}/halt |
65 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${WORKDIR}/reboot | 66 | sed -i -e "s:SED_HALTARGS:${HALTARGS}:g" ${S}/reboot |
66 | sed -i -e "s:SED_VARLIBMOUNTARGS:${VARLIBMOUNTARGS}:g" ${WORKDIR}/read-only-rootfs-hook.sh | 67 | sed -i -e "s:SED_VARLIBMOUNTARGS:${VARLIBMOUNTARGS}:g" ${S}/read-only-rootfs-hook.sh |
67 | } | 68 | } |
68 | 69 | ||
69 | do_install () { | 70 | do_install () { |
@@ -84,27 +85,27 @@ do_install () { | |||
84 | # Holds state information pertaining to urandom | 85 | # Holds state information pertaining to urandom |
85 | install -d ${D}${localstatedir}/lib/urandom | 86 | install -d ${D}${localstatedir}/lib/urandom |
86 | 87 | ||
87 | install -m 0644 ${WORKDIR}/functions ${D}${sysconfdir}/init.d | 88 | install -m 0644 ${S}/functions ${D}${sysconfdir}/init.d |
88 | install -m 0755 ${WORKDIR}/bootmisc.sh ${D}${sysconfdir}/init.d | 89 | install -m 0755 ${S}/bootmisc.sh ${D}${sysconfdir}/init.d |
89 | install -m 0755 ${WORKDIR}/checkroot.sh ${D}${sysconfdir}/init.d | 90 | install -m 0755 ${S}/checkroot.sh ${D}${sysconfdir}/init.d |
90 | install -m 0755 ${WORKDIR}/halt ${D}${sysconfdir}/init.d | 91 | install -m 0755 ${S}/halt ${D}${sysconfdir}/init.d |
91 | install -m 0755 ${WORKDIR}/hostname.sh ${D}${sysconfdir}/init.d | 92 | install -m 0755 ${S}/hostname.sh ${D}${sysconfdir}/init.d |
92 | install -m 0755 ${WORKDIR}/mountall.sh ${D}${sysconfdir}/init.d | 93 | install -m 0755 ${S}/mountall.sh ${D}${sysconfdir}/init.d |
93 | install -m 0755 ${WORKDIR}/mountnfs.sh ${D}${sysconfdir}/init.d | 94 | install -m 0755 ${S}/mountnfs.sh ${D}${sysconfdir}/init.d |
94 | install -m 0755 ${WORKDIR}/reboot ${D}${sysconfdir}/init.d | 95 | install -m 0755 ${S}/reboot ${D}${sysconfdir}/init.d |
95 | install -m 0755 ${WORKDIR}/rmnologin.sh ${D}${sysconfdir}/init.d | 96 | install -m 0755 ${S}/rmnologin.sh ${D}${sysconfdir}/init.d |
96 | install -m 0755 ${WORKDIR}/sendsigs ${D}${sysconfdir}/init.d | 97 | install -m 0755 ${S}/sendsigs ${D}${sysconfdir}/init.d |
97 | install -m 0755 ${WORKDIR}/single ${D}${sysconfdir}/init.d | 98 | install -m 0755 ${S}/single ${D}${sysconfdir}/init.d |
98 | install -m 0755 ${WORKDIR}/umountnfs.sh ${D}${sysconfdir}/init.d | 99 | install -m 0755 ${S}/umountnfs.sh ${D}${sysconfdir}/init.d |
99 | install -m 0755 ${WORKDIR}/urandom ${D}${sysconfdir}/init.d | 100 | install -m 0755 ${S}/urandom ${D}${sysconfdir}/init.d |
100 | sed -i ${D}${sysconfdir}/init.d/urandom -e 's,/var/,${localstatedir}/,g;s,/etc/,${sysconfdir}/,g' | 101 | sed -i ${D}${sysconfdir}/init.d/urandom -e 's,/var/,${localstatedir}/,g;s,/etc/,${sysconfdir}/,g' |
101 | install -m 0755 ${WORKDIR}/devpts.sh ${D}${sysconfdir}/init.d | 102 | install -m 0755 ${S}/devpts.sh ${D}${sysconfdir}/init.d |
102 | install -m 0755 ${WORKDIR}/devpts ${D}${sysconfdir}/default | 103 | install -m 0755 ${S}/devpts ${D}${sysconfdir}/default |
103 | install -m 0755 ${WORKDIR}/sysfs.sh ${D}${sysconfdir}/init.d | 104 | install -m 0755 ${S}/sysfs.sh ${D}${sysconfdir}/init.d |
104 | install -m 0755 ${WORKDIR}/populate-volatile.sh ${D}${sysconfdir}/init.d | 105 | install -m 0755 ${S}/populate-volatile.sh ${D}${sysconfdir}/init.d |
105 | install -m 0755 ${WORKDIR}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d | 106 | install -m 0755 ${S}/read-only-rootfs-hook.sh ${D}${sysconfdir}/init.d |
106 | install -m 0755 ${WORKDIR}/save-rtc.sh ${D}${sysconfdir}/init.d | 107 | install -m 0755 ${S}/save-rtc.sh ${D}${sysconfdir}/init.d |
107 | install -m 0644 ${WORKDIR}/volatiles ${D}${sysconfdir}/default/volatiles/00_core | 108 | install -m 0644 ${S}/volatiles ${D}${sysconfdir}/default/volatiles/00_core |
108 | if [ ${@ oe.types.boolean('${VOLATILE_LOG_DIR}') } = True ]; then | 109 | if [ ${@ oe.types.boolean('${VOLATILE_LOG_DIR}') } = True ]; then |
109 | sed -i -e '\@^d root root 0755 /var/volatile/log none$@ a\l root root 0755 /var/log /var/volatile/log' \ | 110 | sed -i -e '\@^d root root 0755 /var/volatile/log none$@ a\l root root 0755 /var/log /var/volatile/log' \ |
110 | ${D}${sysconfdir}/default/volatiles/00_core | 111 | ${D}${sysconfdir}/default/volatiles/00_core |
@@ -112,22 +113,22 @@ do_install () { | |||
112 | if [ "${VOLATILE_TMP_DIR}" != "yes" ]; then | 113 | if [ "${VOLATILE_TMP_DIR}" != "yes" ]; then |
113 | sed -i -e "/\<tmp\>/d" ${D}${sysconfdir}/default/volatiles/00_core | 114 | sed -i -e "/\<tmp\>/d" ${D}${sysconfdir}/default/volatiles/00_core |
114 | fi | 115 | fi |
115 | install -m 0755 ${WORKDIR}/dmesg.sh ${D}${sysconfdir}/init.d | 116 | install -m 0755 ${S}/dmesg.sh ${D}${sysconfdir}/init.d |
116 | install -m 0644 ${WORKDIR}/logrotate-dmesg.conf ${D}${sysconfdir}/ | 117 | install -m 0644 ${S}/logrotate-dmesg.conf ${D}${sysconfdir}/ |
117 | 118 | ||
118 | if [ "${TARGET_ARCH}" = "arm" ]; then | 119 | if [ "${TARGET_ARCH}" = "arm" ]; then |
119 | install -m 0755 ${WORKDIR}/alignment.sh ${D}${sysconfdir}/init.d | 120 | install -m 0755 ${S}/alignment.sh ${D}${sysconfdir}/init.d |
120 | fi | 121 | fi |
121 | 122 | ||
122 | if ${@bb.utils.contains('DISTRO_FEATURES','selinux','true','false',d)}; then | 123 | if ${@bb.utils.contains('DISTRO_FEATURES','selinux','true','false',d)}; then |
123 | install -d ${D}/${base_sbindir} | 124 | install -d ${D}/${base_sbindir} |
124 | install -m 0755 ${WORKDIR}/sushell ${D}/${base_sbindir} | 125 | install -m 0755 ${S}/sushell ${D}/${base_sbindir} |
125 | fi | 126 | fi |
126 | # | 127 | # |
127 | # Install device dependent scripts | 128 | # Install device dependent scripts |
128 | # | 129 | # |
129 | install -m 0755 ${WORKDIR}/banner.sh ${D}${sysconfdir}/init.d/banner.sh | 130 | install -m 0755 ${S}/banner.sh ${D}${sysconfdir}/init.d/banner.sh |
130 | install -m 0755 ${WORKDIR}/umountfs ${D}${sysconfdir}/init.d/umountfs | 131 | install -m 0755 ${S}/umountfs ${D}${sysconfdir}/init.d/umountfs |
131 | # | 132 | # |
132 | # Create runlevel links | 133 | # Create runlevel links |
133 | # | 134 | # |
diff --git a/meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch b/meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch new file mode 100644 index 0000000000..4b743f9b33 --- /dev/null +++ b/meta/recipes-core/libcgroup/libcgroup/0001-include-Makefile-install-systemd.h-by-default.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | From 592dcdcf243576bd2517d3da9bc18990de08e37e Mon Sep 17 00:00:00 2001 | ||
2 | From: Kamalesh Babulal <kamalesh.babulal@oracle.com> | ||
3 | Date: Mon, 27 Nov 2023 20:07:33 +0530 | ||
4 | Subject: [PATCH 1/1] include/Makefile: install systemd.h by default | ||
5 | |||
6 | Install systemd.h header file by default, as we have stub and defined | ||
7 | versions of the systemd functions for both non-systemd and systemd | ||
8 | enabled configurations. This will help packagers to ship package | ||
9 | without systemd support (--enable-systemd=no). | ||
10 | |||
11 | Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com> | ||
12 | Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com> | ||
13 | |||
14 | Upstream-Status: Backport [https://github.com/libcgroup/libcgroup/commit/592dcdcf243576bd2517d3da9bc18990de08e37e] | ||
15 | |||
16 | Signed-off-by: Adriaan Schmidt <adriaan.schmidt@siemens.com> | ||
17 | --- | ||
18 | include/Makefile.am | 6 +----- | ||
19 | 1 file changed, 1 insertion(+), 5 deletions(-) | ||
20 | |||
21 | diff --git a/include/Makefile.am b/include/Makefile.am | ||
22 | index 23cebaac..4cb05529 100644 | ||
23 | --- a/include/Makefile.am | ||
24 | +++ b/include/Makefile.am | ||
25 | @@ -2,8 +2,4 @@ | ||
26 | nobase_include_HEADERS = libcgroup.h libcgroup/error.h libcgroup/init.h \ | ||
27 | libcgroup/groups.h libcgroup/tasks.h \ | ||
28 | libcgroup/iterators.h libcgroup/config.h \ | ||
29 | - libcgroup/log.h libcgroup/tools.h | ||
30 | - | ||
31 | -if WITH_SYSTEMD | ||
32 | -nobase_include_HEADERS += libcgroup/systemd.h | ||
33 | -endif | ||
34 | + libcgroup/log.h libcgroup/tools.h libcgroup/systemd.h | ||
35 | -- | ||
36 | 2.39.2 | ||
37 | |||
diff --git a/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb b/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb index 4b4f19e36f..a1d27c7e7f 100644 --- a/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb +++ b/meta/recipes-core/libcgroup/libcgroup_3.1.0.bb | |||
@@ -13,6 +13,7 @@ DEPENDS = "bison-native flex-native" | |||
13 | DEPENDS:append:libc-musl = " fts" | 13 | DEPENDS:append:libc-musl = " fts" |
14 | 14 | ||
15 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ | 15 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/${BP}.tar.gz \ |
16 | file://0001-include-Makefile-install-systemd.h-by-default.patch \ | ||
16 | " | 17 | " |
17 | UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags" | 18 | UPSTREAM_CHECK_URI = "https://github.com/libcgroup/libcgroup/tags" |
18 | 19 | ||
diff --git a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb index d5546ce9ba..30ec6a4674 100644 --- a/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb +++ b/meta/recipes-core/libxcrypt/libxcrypt-compat_4.4.36.bb | |||
@@ -1,5 +1,5 @@ | |||
1 | # | 1 | # |
2 | # This provides libcrypto.so.1 which contains obsolete APIs, needed for uninative in particular | 2 | # This provides libcrypt.so.1 which contains obsolete APIs, needed for uninative in particular |
3 | # | 3 | # |
4 | 4 | ||
5 | require libxcrypt.inc | 5 | require libxcrypt.inc |
diff --git a/meta/recipes-core/meta/uninative-tarball.bb b/meta/recipes-core/meta/uninative-tarball.bb index 7eebcaf11a..0fd01fdb64 100644 --- a/meta/recipes-core/meta/uninative-tarball.bb +++ b/meta/recipes-core/meta/uninative-tarball.bb | |||
@@ -58,6 +58,8 @@ fakeroot archive_sdk() { | |||
58 | DEST="./${SDK_ARCH}-${SDK_OS}" | 58 | DEST="./${SDK_ARCH}-${SDK_OS}" |
59 | mv sysroots/${SDK_SYS} $DEST | 59 | mv sysroots/${SDK_SYS} $DEST |
60 | rm sysroots -rf | 60 | rm sysroots -rf |
61 | # There is a check in meta/files/toolchain-shar-extract.sh -- make sure to | ||
62 | # keep that check up to date if changing the `1024` | ||
61 | patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf | 63 | patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf |
62 | mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative | 64 | mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative |
63 | ${SDK_ARCHIVE_CMD} | 65 | ${SDK_ARCHIVE_CMD} |
diff --git a/meta/recipes-core/musl/bsd-headers.bb b/meta/recipes-core/musl/bsd-headers.bb index 887a816031..7d0bdee870 100644 --- a/meta/recipes-core/musl/bsd-headers.bb +++ b/meta/recipes-core/musl/bsd-headers.bb | |||
@@ -15,7 +15,8 @@ do_compile[noexec] = "1" | |||
15 | 15 | ||
16 | INHIBIT_DEFAULT_DEPS = "1" | 16 | INHIBIT_DEFAULT_DEPS = "1" |
17 | 17 | ||
18 | S = "${WORKDIR}" | 18 | S = "${WORKDIR}/sources" |
19 | UNPACKDIR = "${S}" | ||
19 | 20 | ||
20 | do_install() { | 21 | do_install() { |
21 | install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h | 22 | install -Dm 0644 ${S}/sys-queue.h ${D}${includedir}/sys/queue.h |
diff --git a/meta/recipes-core/musl/libc-test_git.bb b/meta/recipes-core/musl/libc-test_git.bb index 619a959fd2..f55a125a89 100644 --- a/meta/recipes-core/musl/libc-test_git.bb +++ b/meta/recipes-core/musl/libc-test_git.bb | |||
@@ -50,7 +50,7 @@ do_install () { | |||
50 | } | 50 | } |
51 | 51 | ||
52 | do_install_ptest_base:append() { | 52 | do_install_ptest_base:append() { |
53 | install -Dm 0755 ${WORKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests | 53 | install -Dm 0755 ${UNPACKDIR}/run-libc-ptests ${D}${PTEST_PATH}/run-libc-ptests |
54 | } | 54 | } |
55 | 55 | ||
56 | COMPATIBLE_HOST = "null" | 56 | COMPATIBLE_HOST = "null" |
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb index 3faf8f00c3..e9f652fc3e 100644 --- a/meta/recipes-core/musl/libssp-nonshared.bb +++ b/meta/recipes-core/musl/libssp-nonshared.bb | |||
@@ -17,7 +17,8 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \ | |||
17 | 17 | ||
18 | do_configure[noexec] = "1" | 18 | do_configure[noexec] = "1" |
19 | 19 | ||
20 | S = "${WORKDIR}" | 20 | S = "${WORKDIR}/sources" |
21 | UNPACKDIR = "${S}" | ||
21 | 22 | ||
22 | do_compile() { | 23 | do_compile() { |
23 | ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o | 24 | ${CC} ${CPPFLAGS} ${CFLAGS} -fPIE -c stack_chk.c -o stack_chk.o |
diff --git a/meta/recipes-core/musl/musl-legacy-error.bb b/meta/recipes-core/musl/musl-legacy-error.bb index 5ce5a233ab..11a838a6e8 100644 --- a/meta/recipes-core/musl/musl-legacy-error.bb +++ b/meta/recipes-core/musl/musl-legacy-error.bb | |||
@@ -13,7 +13,8 @@ do_compile[noexec] = "1" | |||
13 | 13 | ||
14 | INHIBIT_DEFAULT_DEPS = "1" | 14 | INHIBIT_DEFAULT_DEPS = "1" |
15 | 15 | ||
16 | S = "${WORKDIR}" | 16 | S = "${WORKDIR}/sources" |
17 | UNPACKDIR = "${S}" | ||
17 | 18 | ||
18 | do_install() { | 19 | do_install() { |
19 | install -Dm 0644 ${S}/error.h -t ${D}${includedir} | 20 | install -Dm 0644 ${S}/error.h -t ${D}${includedir} |
diff --git a/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch b/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch deleted file mode 100644 index 1232c8c2a8..0000000000 --- a/meta/recipes-core/ncurses/files/0001-Fix-CVE-2023-29491.patch +++ /dev/null | |||
@@ -1,462 +0,0 @@ | |||
1 | From 3d54a41f12e9aa059f06e66e72d872f2283395b6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Chen Qi <Qi.Chen@windriver.com> | ||
3 | Date: Sun, 30 Jul 2023 21:14:00 -0700 | ||
4 | Subject: [PATCH] Fix CVE-2023-29491 | ||
5 | |||
6 | CVE: CVE-2023-29491 | ||
7 | |||
8 | Upstream-Status: Backport [http://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=eb51b1ea1f75a0ec17c9c5937cb28df1e8eeec56] | ||
9 | |||
10 | Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | ||
11 | --- | ||
12 | ncurses/tinfo/lib_tgoto.c | 10 +++- | ||
13 | ncurses/tinfo/lib_tparm.c | 116 ++++++++++++++++++++++++++++++++----- | ||
14 | ncurses/tinfo/read_entry.c | 3 + | ||
15 | progs/tic.c | 6 ++ | ||
16 | progs/tparm_type.c | 9 +++ | ||
17 | progs/tparm_type.h | 2 + | ||
18 | progs/tput.c | 61 ++++++++++++++++--- | ||
19 | 7 files changed, 185 insertions(+), 22 deletions(-) | ||
20 | |||
21 | diff --git a/ncurses/tinfo/lib_tgoto.c b/ncurses/tinfo/lib_tgoto.c | ||
22 | index 9cf5e100..c50ed4df 100644 | ||
23 | --- a/ncurses/tinfo/lib_tgoto.c | ||
24 | +++ b/ncurses/tinfo/lib_tgoto.c | ||
25 | @@ -207,6 +207,14 @@ tgoto(const char *string, int x, int y) | ||
26 | result = tgoto_internal(string, x, y); | ||
27 | else | ||
28 | #endif | ||
29 | - result = TIPARM_2(string, y, x); | ||
30 | + if ((result = TIPARM_2(string, y, x)) == NULL) { | ||
31 | + /* | ||
32 | + * Because termcap did not provide a more general solution such as | ||
33 | + * tparm(), it was necessary to handle single-parameter capabilities | ||
34 | + * using tgoto(). The internal _nc_tiparm() function returns a NULL | ||
35 | + * for that case; retry for the single-parameter case. | ||
36 | + */ | ||
37 | + result = TIPARM_1(string, y); | ||
38 | + } | ||
39 | returnPtr(result); | ||
40 | } | ||
41 | diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c | ||
42 | index d9bdfd8f..a10a3877 100644 | ||
43 | --- a/ncurses/tinfo/lib_tparm.c | ||
44 | +++ b/ncurses/tinfo/lib_tparm.c | ||
45 | @@ -1086,6 +1086,64 @@ tparam_internal(TPARM_STATE *tps, const char *string, TPARM_DATA *data) | ||
46 | return (TPS(out_buff)); | ||
47 | } | ||
48 | |||
49 | +#ifdef CUR | ||
50 | +/* | ||
51 | + * Only a few standard capabilities accept string parameters. The others that | ||
52 | + * are parameterized accept only numeric parameters. | ||
53 | + */ | ||
54 | +static bool | ||
55 | +check_string_caps(TPARM_DATA *data, const char *string) | ||
56 | +{ | ||
57 | + bool result = FALSE; | ||
58 | + | ||
59 | +#define CHECK_CAP(name) (VALID_STRING(name) && !strcmp(name, string)) | ||
60 | + | ||
61 | + /* | ||
62 | + * Disallow string parameters unless we can check them against a terminal | ||
63 | + * description. | ||
64 | + */ | ||
65 | + if (cur_term != NULL) { | ||
66 | + int want_type = 0; | ||
67 | + | ||
68 | + if (CHECK_CAP(pkey_key)) | ||
69 | + want_type = 2; /* function key #1, type string #2 */ | ||
70 | + else if (CHECK_CAP(pkey_local)) | ||
71 | + want_type = 2; /* function key #1, execute string #2 */ | ||
72 | + else if (CHECK_CAP(pkey_xmit)) | ||
73 | + want_type = 2; /* function key #1, transmit string #2 */ | ||
74 | + else if (CHECK_CAP(plab_norm)) | ||
75 | + want_type = 2; /* label #1, show string #2 */ | ||
76 | + else if (CHECK_CAP(pkey_plab)) | ||
77 | + want_type = 6; /* function key #1, type string #2, show string #3 */ | ||
78 | +#if NCURSES_XNAMES | ||
79 | + else { | ||
80 | + char *check; | ||
81 | + | ||
82 | + check = tigetstr("Cs"); | ||
83 | + if (CHECK_CAP(check)) | ||
84 | + want_type = 1; /* style #1 */ | ||
85 | + | ||
86 | + check = tigetstr("Ms"); | ||
87 | + if (CHECK_CAP(check)) | ||
88 | + want_type = 3; /* storage unit #1, content #2 */ | ||
89 | + } | ||
90 | +#endif | ||
91 | + | ||
92 | + if (want_type == data->tparm_type) { | ||
93 | + result = TRUE; | ||
94 | + } else { | ||
95 | + T(("unexpected string-parameter")); | ||
96 | + } | ||
97 | + } | ||
98 | + return result; | ||
99 | +} | ||
100 | + | ||
101 | +#define ValidCap() (myData.tparm_type == 0 || \ | ||
102 | + check_string_caps(&myData, string)) | ||
103 | +#else | ||
104 | +#define ValidCap() 1 | ||
105 | +#endif | ||
106 | + | ||
107 | #if NCURSES_TPARM_VARARGS | ||
108 | |||
109 | NCURSES_EXPORT(char *) | ||
110 | @@ -1100,7 +1158,7 @@ tparm(const char *string, ...) | ||
111 | tps->tname = "tparm"; | ||
112 | #endif /* TRACE */ | ||
113 | |||
114 | - if (tparm_setup(cur_term, string, &myData) == OK) { | ||
115 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
116 | va_list ap; | ||
117 | |||
118 | va_start(ap, string); | ||
119 | @@ -1135,7 +1193,7 @@ tparm(const char *string, | ||
120 | tps->tname = "tparm"; | ||
121 | #endif /* TRACE */ | ||
122 | |||
123 | - if (tparm_setup(cur_term, string, &myData) == OK) { | ||
124 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
125 | |||
126 | myData.param[0] = a1; | ||
127 | myData.param[1] = a2; | ||
128 | @@ -1166,7 +1224,7 @@ tiparm(const char *string, ...) | ||
129 | tps->tname = "tiparm"; | ||
130 | #endif /* TRACE */ | ||
131 | |||
132 | - if (tparm_setup(cur_term, string, &myData) == OK) { | ||
133 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
134 | va_list ap; | ||
135 | |||
136 | va_start(ap, string); | ||
137 | @@ -1179,7 +1237,25 @@ tiparm(const char *string, ...) | ||
138 | } | ||
139 | |||
140 | /* | ||
141 | - * The internal-use flavor ensures that the parameters are numbers, not strings | ||
142 | + * The internal-use flavor ensures that parameters are numbers, not strings. | ||
143 | + * In addition to ensuring that they are numbers, it ensures that the parameter | ||
144 | + * count is consistent with intended usage. | ||
145 | + * | ||
146 | + * Unlike the general-purpose tparm/tiparm, these internal calls are fairly | ||
147 | + * well defined: | ||
148 | + * | ||
149 | + * expected == 0 - not applicable | ||
150 | + * expected == 1 - set color, or vertical/horizontal addressing | ||
151 | + * expected == 2 - cursor addressing | ||
152 | + * expected == 4 - initialize color or color pair | ||
153 | + * expected == 9 - set attributes | ||
154 | + * | ||
155 | + * Only for the last case (set attributes) should a parameter be optional. | ||
156 | + * Also, a capability which calls for more parameters than expected should be | ||
157 | + * ignored. | ||
158 | + * | ||
159 | + * Return a null if the parameter-checks fail. Otherwise, return a pointer to | ||
160 | + * the formatted capability string. | ||
161 | */ | ||
162 | NCURSES_EXPORT(char *) | ||
163 | _nc_tiparm(int expected, const char *string, ...) | ||
164 | @@ -1189,22 +1265,36 @@ _nc_tiparm(int expected, const char *string, ...) | ||
165 | char *result = NULL; | ||
166 | |||
167 | _nc_tparm_err = 0; | ||
168 | + T((T_CALLED("_nc_tiparm(%d, %s, ...)"), expected, _nc_visbuf(string))); | ||
169 | #ifdef TRACE | ||
170 | tps->tname = "_nc_tiparm"; | ||
171 | #endif /* TRACE */ | ||
172 | |||
173 | - if (tparm_setup(cur_term, string, &myData) == OK | ||
174 | - && myData.num_actual <= expected | ||
175 | - && myData.tparm_type == 0) { | ||
176 | - va_list ap; | ||
177 | + if (tparm_setup(cur_term, string, &myData) == OK && ValidCap()) { | ||
178 | + if (myData.num_actual == 0) { | ||
179 | + T(("missing parameter%s, expected %s%d", | ||
180 | + expected > 1 ? "s" : "", | ||
181 | + expected == 9 ? "up to " : "", | ||
182 | + expected)); | ||
183 | + } else if (myData.num_actual > expected) { | ||
184 | + T(("too many parameters, have %d, expected %d", | ||
185 | + myData.num_actual, | ||
186 | + expected)); | ||
187 | + } else if (expected != 9 && myData.num_actual != expected) { | ||
188 | + T(("expected %d parameters, have %d", | ||
189 | + myData.num_actual, | ||
190 | + expected)); | ||
191 | + } else { | ||
192 | + va_list ap; | ||
193 | |||
194 | - va_start(ap, string); | ||
195 | - tparm_copy_valist(&myData, FALSE, ap); | ||
196 | - va_end(ap); | ||
197 | + va_start(ap, string); | ||
198 | + tparm_copy_valist(&myData, FALSE, ap); | ||
199 | + va_end(ap); | ||
200 | |||
201 | - result = tparam_internal(tps, string, &myData); | ||
202 | + result = tparam_internal(tps, string, &myData); | ||
203 | + } | ||
204 | } | ||
205 | - return result; | ||
206 | + returnPtr(result); | ||
207 | } | ||
208 | |||
209 | /* | ||
210 | diff --git a/ncurses/tinfo/read_entry.c b/ncurses/tinfo/read_entry.c | ||
211 | index 2b1875ed..341337d2 100644 | ||
212 | --- a/ncurses/tinfo/read_entry.c | ||
213 | +++ b/ncurses/tinfo/read_entry.c | ||
214 | @@ -323,6 +323,9 @@ _nc_read_termtype(TERMTYPE2 *ptr, char *buffer, int limit) | ||
215 | || bool_count < 0 | ||
216 | || num_count < 0 | ||
217 | || str_count < 0 | ||
218 | + || bool_count > BOOLCOUNT | ||
219 | + || num_count > NUMCOUNT | ||
220 | + || str_count > STRCOUNT | ||
221 | || str_size < 0) { | ||
222 | returnDB(TGETENT_NO); | ||
223 | } | ||
224 | diff --git a/progs/tic.c b/progs/tic.c | ||
225 | index 93a0b491..888927e2 100644 | ||
226 | --- a/progs/tic.c | ||
227 | +++ b/progs/tic.c | ||
228 | @@ -2270,9 +2270,15 @@ check_1_infotocap(const char *name, NCURSES_CONST char *value, int count) | ||
229 | |||
230 | _nc_reset_tparm(NULL); | ||
231 | switch (actual) { | ||
232 | + case Str: | ||
233 | + result = TPARM_1(value, strings[1]); | ||
234 | + break; | ||
235 | case Num_Str: | ||
236 | result = TPARM_2(value, numbers[1], strings[2]); | ||
237 | break; | ||
238 | + case Str_Str: | ||
239 | + result = TPARM_2(value, strings[1], strings[2]); | ||
240 | + break; | ||
241 | case Num_Str_Str: | ||
242 | result = TPARM_3(value, numbers[1], strings[2], strings[3]); | ||
243 | break; | ||
244 | diff --git a/progs/tparm_type.c b/progs/tparm_type.c | ||
245 | index 3da4a077..644aa62a 100644 | ||
246 | --- a/progs/tparm_type.c | ||
247 | +++ b/progs/tparm_type.c | ||
248 | @@ -47,6 +47,7 @@ tparm_type(const char *name) | ||
249 | {code, {longname} }, \ | ||
250 | {code, {ti} }, \ | ||
251 | {code, {tc} } | ||
252 | +#define XD(code, onlyname) TD(code, onlyname, onlyname, onlyname) | ||
253 | TParams result = Numbers; | ||
254 | /* *INDENT-OFF* */ | ||
255 | static const struct { | ||
256 | @@ -58,6 +59,10 @@ tparm_type(const char *name) | ||
257 | TD(Num_Str, "pkey_xmit", "pfx", "px"), | ||
258 | TD(Num_Str, "plab_norm", "pln", "pn"), | ||
259 | TD(Num_Str_Str, "pkey_plab", "pfxl", "xl"), | ||
260 | +#if NCURSES_XNAMES | ||
261 | + XD(Str, "Cs"), | ||
262 | + XD(Str_Str, "Ms"), | ||
263 | +#endif | ||
264 | }; | ||
265 | /* *INDENT-ON* */ | ||
266 | |||
267 | @@ -80,12 +85,16 @@ guess_tparm_type(int nparam, char **p_is_s) | ||
268 | case 1: | ||
269 | if (!p_is_s[0]) | ||
270 | result = Numbers; | ||
271 | + if (p_is_s[0]) | ||
272 | + result = Str; | ||
273 | break; | ||
274 | case 2: | ||
275 | if (!p_is_s[0] && !p_is_s[1]) | ||
276 | result = Numbers; | ||
277 | if (!p_is_s[0] && p_is_s[1]) | ||
278 | result = Num_Str; | ||
279 | + if (p_is_s[0] && p_is_s[1]) | ||
280 | + result = Str_Str; | ||
281 | break; | ||
282 | case 3: | ||
283 | if (!p_is_s[0] && !p_is_s[1] && !p_is_s[2]) | ||
284 | diff --git a/progs/tparm_type.h b/progs/tparm_type.h | ||
285 | index 7c102a30..af5bcf0f 100644 | ||
286 | --- a/progs/tparm_type.h | ||
287 | +++ b/progs/tparm_type.h | ||
288 | @@ -45,8 +45,10 @@ | ||
289 | typedef enum { | ||
290 | Other = -1 | ||
291 | ,Numbers = 0 | ||
292 | + ,Str | ||
293 | ,Num_Str | ||
294 | ,Num_Str_Str | ||
295 | + ,Str_Str | ||
296 | } TParams; | ||
297 | |||
298 | extern TParams tparm_type(const char *name); | ||
299 | diff --git a/progs/tput.c b/progs/tput.c | ||
300 | index 4cd0c5ba..41508b72 100644 | ||
301 | --- a/progs/tput.c | ||
302 | +++ b/progs/tput.c | ||
303 | @@ -1,5 +1,5 @@ | ||
304 | /**************************************************************************** | ||
305 | - * Copyright 2018-2021,2022 Thomas E. Dickey * | ||
306 | + * Copyright 2018-2022,2023 Thomas E. Dickey * | ||
307 | * Copyright 1998-2016,2017 Free Software Foundation, Inc. * | ||
308 | * * | ||
309 | * Permission is hereby granted, free of charge, to any person obtaining a * | ||
310 | @@ -47,12 +47,15 @@ | ||
311 | #include <transform.h> | ||
312 | #include <tty_settings.h> | ||
313 | |||
314 | -MODULE_ID("$Id: tput.c,v 1.99 2022/02/26 23:19:31 tom Exp $") | ||
315 | +MODULE_ID("$Id: tput.c,v 1.102 2023/04/08 16:26:36 tom Exp $") | ||
316 | |||
317 | #define PUTS(s) fputs(s, stdout) | ||
318 | |||
319 | const char *_nc_progname = "tput"; | ||
320 | |||
321 | +static bool opt_v = FALSE; /* quiet, do not show warnings */ | ||
322 | +static bool opt_x = FALSE; /* clear scrollback if possible */ | ||
323 | + | ||
324 | static bool is_init = FALSE; | ||
325 | static bool is_reset = FALSE; | ||
326 | static bool is_clear = FALSE; | ||
327 | @@ -81,6 +84,7 @@ usage(const char *optstring) | ||
328 | KEEP(" -S << read commands from standard input") | ||
329 | KEEP(" -T TERM use this instead of $TERM") | ||
330 | KEEP(" -V print curses-version") | ||
331 | + KEEP(" -v verbose, show warnings") | ||
332 | KEEP(" -x do not try to clear scrollback") | ||
333 | KEEP("") | ||
334 | KEEP("Commands:") | ||
335 | @@ -148,7 +152,7 @@ exit_code(int token, int value) | ||
336 | * Returns nonzero on error. | ||
337 | */ | ||
338 | static int | ||
339 | -tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
340 | +tput_cmd(int fd, TTY * settings, int argc, char **argv, int *used) | ||
341 | { | ||
342 | NCURSES_CONST char *name; | ||
343 | char *s; | ||
344 | @@ -231,7 +235,9 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
345 | } else if (VALID_STRING(s)) { | ||
346 | if (argc > 1) { | ||
347 | int k; | ||
348 | + int narg; | ||
349 | int analyzed; | ||
350 | + int provided; | ||
351 | int popcount; | ||
352 | long numbers[1 + NUM_PARM]; | ||
353 | char *strings[1 + NUM_PARM]; | ||
354 | @@ -271,14 +277,45 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
355 | |||
356 | popcount = 0; | ||
357 | _nc_reset_tparm(NULL); | ||
358 | + /* | ||
359 | + * Count the number of numeric parameters which are provided. | ||
360 | + */ | ||
361 | + provided = 0; | ||
362 | + for (narg = 1; narg < argc; ++narg) { | ||
363 | + char *ending = NULL; | ||
364 | + long check = strtol(argv[narg], &ending, 10); | ||
365 | + if (check < 0 || ending == argv[narg] || *ending != '\0') | ||
366 | + break; | ||
367 | + provided = narg; | ||
368 | + } | ||
369 | switch (paramType) { | ||
370 | + case Str: | ||
371 | + s = TPARM_1(s, strings[1]); | ||
372 | + analyzed = 1; | ||
373 | + if (provided == 0 && argc >= 1) | ||
374 | + provided++; | ||
375 | + break; | ||
376 | + case Str_Str: | ||
377 | + s = TPARM_2(s, strings[1], strings[2]); | ||
378 | + analyzed = 2; | ||
379 | + if (provided == 0 && argc >= 1) | ||
380 | + provided++; | ||
381 | + if (provided == 1 && argc >= 2) | ||
382 | + provided++; | ||
383 | + break; | ||
384 | case Num_Str: | ||
385 | s = TPARM_2(s, numbers[1], strings[2]); | ||
386 | analyzed = 2; | ||
387 | + if (provided == 1 && argc >= 2) | ||
388 | + provided++; | ||
389 | break; | ||
390 | case Num_Str_Str: | ||
391 | s = TPARM_3(s, numbers[1], strings[2], strings[3]); | ||
392 | analyzed = 3; | ||
393 | + if (provided == 1 && argc >= 2) | ||
394 | + provided++; | ||
395 | + if (provided == 2 && argc >= 3) | ||
396 | + provided++; | ||
397 | break; | ||
398 | case Numbers: | ||
399 | analyzed = _nc_tparm_analyze(NULL, s, p_is_s, &popcount); | ||
400 | @@ -316,7 +353,13 @@ tput_cmd(int fd, TTY * settings, bool opt_x, int argc, char **argv, int *used) | ||
401 | if (analyzed < popcount) { | ||
402 | analyzed = popcount; | ||
403 | } | ||
404 | - *used += analyzed; | ||
405 | + if (opt_v && (analyzed != provided)) { | ||
406 | + fprintf(stderr, "%s: %s parameters for \"%s\"\n", | ||
407 | + _nc_progname, | ||
408 | + (analyzed < provided ? "extra" : "missing"), | ||
409 | + argv[0]); | ||
410 | + } | ||
411 | + *used += provided; | ||
412 | } | ||
413 | |||
414 | /* use putp() in order to perform padding */ | ||
415 | @@ -339,7 +382,6 @@ main(int argc, char **argv) | ||
416 | int used; | ||
417 | TTY old_settings; | ||
418 | TTY tty_settings; | ||
419 | - bool opt_x = FALSE; /* clear scrollback if possible */ | ||
420 | bool is_alias; | ||
421 | bool need_tty; | ||
422 | |||
423 | @@ -348,7 +390,7 @@ main(int argc, char **argv) | ||
424 | |||
425 | term = getenv("TERM"); | ||
426 | |||
427 | - while ((c = getopt(argc, argv, is_alias ? "T:Vx" : "ST:Vx")) != -1) { | ||
428 | + while ((c = getopt(argc, argv, is_alias ? "T:Vvx" : "ST:Vvx")) != -1) { | ||
429 | switch (c) { | ||
430 | case 'S': | ||
431 | cmdline = FALSE; | ||
432 | @@ -361,6 +403,9 @@ main(int argc, char **argv) | ||
433 | case 'V': | ||
434 | puts(curses_version()); | ||
435 | ExitProgram(EXIT_SUCCESS); | ||
436 | + case 'v': /* verbose */ | ||
437 | + opt_v = TRUE; | ||
438 | + break; | ||
439 | case 'x': /* do not try to clear scrollback */ | ||
440 | opt_x = TRUE; | ||
441 | break; | ||
442 | @@ -404,7 +449,7 @@ main(int argc, char **argv) | ||
443 | usage(NULL); | ||
444 | while (argc > 0) { | ||
445 | tty_settings = old_settings; | ||
446 | - code = tput_cmd(fd, &tty_settings, opt_x, argc, argv, &used); | ||
447 | + code = tput_cmd(fd, &tty_settings, argc, argv, &used); | ||
448 | if (code != 0) | ||
449 | break; | ||
450 | argc -= used; | ||
451 | @@ -439,7 +484,7 @@ main(int argc, char **argv) | ||
452 | while (argnum > 0) { | ||
453 | int code; | ||
454 | tty_settings = old_settings; | ||
455 | - code = tput_cmd(fd, &tty_settings, opt_x, argnum, argnow, &used); | ||
456 | + code = tput_cmd(fd, &tty_settings, argnum, argnow, &used); | ||
457 | if (code != 0) { | ||
458 | if (result == 0) | ||
459 | result = ErrSystem(0); /* will return value >4 */ | ||
460 | -- | ||
461 | 2.40.0 | ||
462 | |||
diff --git a/meta/recipes-core/ncurses/files/0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch b/meta/recipes-core/ncurses/files/0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch deleted file mode 100644 index 121db6bffe..0000000000 --- a/meta/recipes-core/ncurses/files/0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch +++ /dev/null | |||
@@ -1,499 +0,0 @@ | |||
1 | From 135d37072755704b8d018e5de74e62ff3f28c930 Mon Sep 17 00:00:00 2001 | ||
2 | From: Thomas E. Dickey <dickey@invisible-island.net> | ||
3 | Date: Sun, 5 Nov 2023 05:54:54 +0530 | ||
4 | Subject: [PATCH] Updating reset code - ncurses 6.4 - patch 20231104 | ||
5 | |||
6 | + modify reset command to avoid altering clocal if the terminal uses a | ||
7 | modem (prompted by discussion with Werner Fink, Michal Suchanek, | ||
8 | OpenSUSE #1201384, Debian #60377). | ||
9 | + build-fixes for --with-caps variations. | ||
10 | + correct a couple of section-references in INSTALL. | ||
11 | |||
12 | Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net> | ||
13 | |||
14 | Upstream-Status: Backport [https://ncurses.scripts.mit.edu/?p=ncurses.git;a=commitdiff;h=135d37072755704b8d018e5de74e62ff3f28c930] | ||
15 | |||
16 | Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com> | ||
17 | --- | ||
18 | INSTALL | 8 +- | ||
19 | include/curses.events | 2 +- | ||
20 | ncurses/tinfo/lib_tparm.c | 2 + | ||
21 | progs/reset_cmd.c | 281 +++++++++++++++++++++----------------- | ||
22 | progs/tabs.c | 10 +- | ||
23 | progs/tic.c | 4 + | ||
24 | 6 files changed, 176 insertions(+), 131 deletions(-) | ||
25 | |||
26 | diff --git a/INSTALL b/INSTALL | ||
27 | index d9c1dd12..d0a39af0 100644 | ||
28 | --- a/INSTALL | ||
29 | +++ b/INSTALL | ||
30 | @@ -47,7 +47,7 @@ If you are converting from BSD curses and do not have root access, be sure | ||
31 | to read the BSD CONVERSION NOTES section below. | ||
32 | |||
33 | If you are trying to build applications using gpm with ncurses, | ||
34 | -read the USING NCURSES WITH GPM section below. | ||
35 | +read the USING GPM section below. | ||
36 | |||
37 | If you are cross-compiling, see the note below on BUILDING WITH A CROSS-COMPILER. | ||
38 | |||
39 | @@ -79,7 +79,7 @@ INSTALLATION PROCEDURE: | ||
40 | The --prefix option to configure changes the root directory for installing | ||
41 | ncurses. The default is normally in subdirectories of /usr/local, except | ||
42 | for systems where ncurses is normally installed as a system library (see | ||
43 | - "IF YOU ARE A SYSTEM INTEGRATOR"). Use --prefix=/usr to replace your | ||
44 | + "FOR SYSTEM INTEGRATORS"). Use --prefix=/usr to replace your | ||
45 | default curses distribution. | ||
46 | |||
47 | The package gets installed beneath the --prefix directory as follows: | ||
48 | @@ -176,7 +176,7 @@ INSTALLATION PROCEDURE: | ||
49 | You can make curses and terminfo fall back to an existing file of termcap | ||
50 | definitions by configuring with --enable-termcap. If you do this, the | ||
51 | library will search /etc/termcap before the terminfo database, and will | ||
52 | - also interpret the contents of the TERM environment variable. See the | ||
53 | + also interpret the contents of the $TERM environment variable. See the | ||
54 | section BSD CONVERSION NOTES below. | ||
55 | |||
56 | 3. Type `make'. Ignore any warnings, no error messages should be produced. | ||
57 | @@ -1231,7 +1231,7 @@ CONFIGURE OPTIONS: | ||
58 | Specify a search-list of terminfo directories which will be compiled | ||
59 | into the ncurses library (default: DATADIR/terminfo) | ||
60 | |||
61 | - This is a colon-separated list, like the TERMINFO_DIRS environment | ||
62 | + This is a colon-separated list, like the $TERMINFO_DIRS environment | ||
63 | variable. | ||
64 | |||
65 | --with-termlib[=XXX] | ||
66 | diff --git a/include/curses.events b/include/curses.events | ||
67 | index 25a2583f..468bde18 100644 | ||
68 | --- a/include/curses.events | ||
69 | +++ b/include/curses.events | ||
70 | @@ -50,6 +50,6 @@ typedef struct | ||
71 | extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *) GCC_DEPRECATED(experimental option); /* experimental */ | ||
72 | extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *) GCC_DEPRECATED(experimental option); /* experimental */ | ||
73 | |||
74 | -#define KEY_EVENT 0633 /* We were interrupted by an event */ | ||
75 | +#define KEY_EVENT 0634 /* We were interrupted by an event */ | ||
76 | |||
77 | #endif /* NCURSES_WGETCH_EVENTS */ | ||
78 | diff --git a/ncurses/tinfo/lib_tparm.c b/ncurses/tinfo/lib_tparm.c | ||
79 | index a10a3877..cd972c0f 100644 | ||
80 | --- a/ncurses/tinfo/lib_tparm.c | ||
81 | +++ b/ncurses/tinfo/lib_tparm.c | ||
82 | @@ -1113,8 +1113,10 @@ check_string_caps(TPARM_DATA *data, const char *string) | ||
83 | want_type = 2; /* function key #1, transmit string #2 */ | ||
84 | else if (CHECK_CAP(plab_norm)) | ||
85 | want_type = 2; /* label #1, show string #2 */ | ||
86 | +#ifdef pkey_plab | ||
87 | else if (CHECK_CAP(pkey_plab)) | ||
88 | want_type = 6; /* function key #1, type string #2, show string #3 */ | ||
89 | +#endif | ||
90 | #if NCURSES_XNAMES | ||
91 | else { | ||
92 | char *check; | ||
93 | diff --git a/progs/reset_cmd.c b/progs/reset_cmd.c | ||
94 | index eff3af72..aec4b077 100644 | ||
95 | --- a/progs/reset_cmd.c | ||
96 | +++ b/progs/reset_cmd.c | ||
97 | @@ -75,6 +75,9 @@ MODULE_ID("$Id: reset_cmd.c,v 1.28 2021/10/02 18:08:44 tom Exp $") | ||
98 | # endif | ||
99 | #endif | ||
100 | |||
101 | +#define set_flags(target, mask) target |= mask | ||
102 | +#define clear_flags(target, mask) target &= ~((unsigned)(mask)) | ||
103 | + | ||
104 | static FILE *my_file; | ||
105 | |||
106 | static bool use_reset = FALSE; /* invoked as reset */ | ||
107 | @@ -188,6 +191,79 @@ out_char(int c) | ||
108 | #define reset_char(item, value) \ | ||
109 | tty_settings->c_cc[item] = CHK(tty_settings->c_cc[item], value) | ||
110 | |||
111 | +/* | ||
112 | + * Simplify ifdefs | ||
113 | + */ | ||
114 | +#ifndef BSDLY | ||
115 | +#define BSDLY 0 | ||
116 | +#endif | ||
117 | +#ifndef CRDLY | ||
118 | +#define CRDLY 0 | ||
119 | +#endif | ||
120 | +#ifndef ECHOCTL | ||
121 | +#define ECHOCTL 0 | ||
122 | +#endif | ||
123 | +#ifndef ECHOKE | ||
124 | +#define ECHOKE 0 | ||
125 | +#endif | ||
126 | +#ifndef ECHOPRT | ||
127 | +#define ECHOPRT 0 | ||
128 | +#endif | ||
129 | +#ifndef FFDLY | ||
130 | +#define FFDLY 0 | ||
131 | +#endif | ||
132 | +#ifndef IMAXBEL | ||
133 | +#define IMAXBEL 0 | ||
134 | +#endif | ||
135 | +#ifndef IUCLC | ||
136 | +#define IUCLC 0 | ||
137 | +#endif | ||
138 | +#ifndef IXANY | ||
139 | +#define IXANY 0 | ||
140 | +#endif | ||
141 | +#ifndef NLDLY | ||
142 | +#define NLDLY 0 | ||
143 | +#endif | ||
144 | +#ifndef OCRNL | ||
145 | +#define OCRNL 0 | ||
146 | +#endif | ||
147 | +#ifndef OFDEL | ||
148 | +#define OFDEL 0 | ||
149 | +#endif | ||
150 | +#ifndef OFILL | ||
151 | +#define OFILL 0 | ||
152 | +#endif | ||
153 | +#ifndef OLCUC | ||
154 | +#define OLCUC 0 | ||
155 | +#endif | ||
156 | +#ifndef ONLCR | ||
157 | +#define ONLCR 0 | ||
158 | +#endif | ||
159 | +#ifndef ONLRET | ||
160 | +#define ONLRET 0 | ||
161 | +#endif | ||
162 | +#ifndef ONOCR | ||
163 | +#define ONOCR 0 | ||
164 | +#endif | ||
165 | +#ifndef OXTABS | ||
166 | +#define OXTABS 0 | ||
167 | +#endif | ||
168 | +#ifndef TAB3 | ||
169 | +#define TAB3 0 | ||
170 | +#endif | ||
171 | +#ifndef TABDLY | ||
172 | +#define TABDLY 0 | ||
173 | +#endif | ||
174 | +#ifndef TOSTOP | ||
175 | +#define TOSTOP 0 | ||
176 | +#endif | ||
177 | +#ifndef VTDLY | ||
178 | +#define VTDLY 0 | ||
179 | +#endif | ||
180 | +#ifndef XCASE | ||
181 | +#define XCASE 0 | ||
182 | +#endif | ||
183 | + | ||
184 | /* | ||
185 | * Reset the terminal mode bits to a sensible state. Very useful after | ||
186 | * a child program dies in raw mode. | ||
187 | @@ -195,6 +271,10 @@ out_char(int c) | ||
188 | void | ||
189 | reset_tty_settings(int fd, TTY * tty_settings, int noset) | ||
190 | { | ||
191 | + unsigned mask; | ||
192 | +#ifdef TIOCMGET | ||
193 | + int modem_bits; | ||
194 | +#endif | ||
195 | GET_TTY(fd, tty_settings); | ||
196 | |||
197 | #ifdef TERMIOS | ||
198 | @@ -228,106 +308,65 @@ reset_tty_settings(int fd, TTY * tty_settings, int noset) | ||
199 | reset_char(VWERASE, CWERASE); | ||
200 | #endif | ||
201 | |||
202 | - tty_settings->c_iflag &= ~((unsigned) (IGNBRK | ||
203 | - | PARMRK | ||
204 | - | INPCK | ||
205 | - | ISTRIP | ||
206 | - | INLCR | ||
207 | - | IGNCR | ||
208 | -#ifdef IUCLC | ||
209 | - | IUCLC | ||
210 | -#endif | ||
211 | -#ifdef IXANY | ||
212 | - | IXANY | ||
213 | -#endif | ||
214 | - | IXOFF)); | ||
215 | - | ||
216 | - tty_settings->c_iflag |= (BRKINT | ||
217 | - | IGNPAR | ||
218 | - | ICRNL | ||
219 | - | IXON | ||
220 | -#ifdef IMAXBEL | ||
221 | - | IMAXBEL | ||
222 | -#endif | ||
223 | - ); | ||
224 | - | ||
225 | - tty_settings->c_oflag &= ~((unsigned) (0 | ||
226 | -#ifdef OLCUC | ||
227 | - | OLCUC | ||
228 | -#endif | ||
229 | -#ifdef OCRNL | ||
230 | - | OCRNL | ||
231 | -#endif | ||
232 | -#ifdef ONOCR | ||
233 | - | ONOCR | ||
234 | -#endif | ||
235 | -#ifdef ONLRET | ||
236 | - | ONLRET | ||
237 | -#endif | ||
238 | -#ifdef OFILL | ||
239 | - | OFILL | ||
240 | -#endif | ||
241 | -#ifdef OFDEL | ||
242 | - | OFDEL | ||
243 | -#endif | ||
244 | -#ifdef NLDLY | ||
245 | - | NLDLY | ||
246 | -#endif | ||
247 | -#ifdef CRDLY | ||
248 | - | CRDLY | ||
249 | -#endif | ||
250 | -#ifdef TABDLY | ||
251 | - | TABDLY | ||
252 | -#endif | ||
253 | -#ifdef BSDLY | ||
254 | - | BSDLY | ||
255 | -#endif | ||
256 | -#ifdef VTDLY | ||
257 | - | VTDLY | ||
258 | -#endif | ||
259 | -#ifdef FFDLY | ||
260 | - | FFDLY | ||
261 | -#endif | ||
262 | - )); | ||
263 | - | ||
264 | - tty_settings->c_oflag |= (OPOST | ||
265 | -#ifdef ONLCR | ||
266 | - | ONLCR | ||
267 | -#endif | ||
268 | - ); | ||
269 | - | ||
270 | - tty_settings->c_cflag &= ~((unsigned) (CSIZE | ||
271 | - | CSTOPB | ||
272 | - | PARENB | ||
273 | - | PARODD | ||
274 | - | CLOCAL)); | ||
275 | - tty_settings->c_cflag |= (CS8 | CREAD); | ||
276 | - tty_settings->c_lflag &= ~((unsigned) (ECHONL | ||
277 | - | NOFLSH | ||
278 | -#ifdef TOSTOP | ||
279 | - | TOSTOP | ||
280 | -#endif | ||
281 | -#ifdef ECHOPTR | ||
282 | - | ECHOPRT | ||
283 | -#endif | ||
284 | -#ifdef XCASE | ||
285 | - | XCASE | ||
286 | -#endif | ||
287 | - )); | ||
288 | - | ||
289 | - tty_settings->c_lflag |= (ISIG | ||
290 | - | ICANON | ||
291 | - | ECHO | ||
292 | - | ECHOE | ||
293 | - | ECHOK | ||
294 | -#ifdef ECHOCTL | ||
295 | - | ECHOCTL | ||
296 | -#endif | ||
297 | -#ifdef ECHOKE | ||
298 | - | ECHOKE | ||
299 | -#endif | ||
300 | - ); | ||
301 | -#endif | ||
302 | + clear_flags(tty_settings->c_iflag, (IGNBRK | ||
303 | + | PARMRK | ||
304 | + | INPCK | ||
305 | + | ISTRIP | ||
306 | + | INLCR | ||
307 | + | IGNCR | ||
308 | + | IUCLC | ||
309 | + | IXANY | ||
310 | + | IXOFF)); | ||
311 | + | ||
312 | + set_flags(tty_settings->c_iflag, (BRKINT | ||
313 | + | IGNPAR | ||
314 | + | ICRNL | ||
315 | + | IXON | ||
316 | + | IMAXBEL)); | ||
317 | + | ||
318 | + clear_flags(tty_settings->c_oflag, (0 | ||
319 | + | OLCUC | ||
320 | + | OCRNL | ||
321 | + | ONOCR | ||
322 | + | ONLRET | ||
323 | + | OFILL | ||
324 | + | OFDEL | ||
325 | + | NLDLY | ||
326 | + | CRDLY | ||
327 | + | TABDLY | ||
328 | + | BSDLY | ||
329 | + | VTDLY | ||
330 | + | FFDLY)); | ||
331 | + | ||
332 | + set_flags(tty_settings->c_oflag, (OPOST | ||
333 | + | ONLCR)); | ||
334 | + | ||
335 | + mask = (CSIZE | CSTOPB | PARENB | PARODD); | ||
336 | +#ifdef TIOCMGET | ||
337 | + /* leave clocal alone if this appears to use a modem */ | ||
338 | + if (ioctl(fd, TIOCMGET, &modem_bits) == -1) | ||
339 | + mask |= CLOCAL; | ||
340 | +#else | ||
341 | + /* cannot check - use the behavior from tset */ | ||
342 | + mask |= CLOCAL; | ||
343 | +#endif | ||
344 | + clear_flags(tty_settings->c_cflag, mask); | ||
345 | + | ||
346 | + set_flags(tty_settings->c_cflag, (CS8 | CREAD)); | ||
347 | + clear_flags(tty_settings->c_lflag, (ECHONL | ||
348 | + | NOFLSH | ||
349 | + | TOSTOP | ||
350 | + | ECHOPRT | ||
351 | + | XCASE)); | ||
352 | + | ||
353 | + set_flags(tty_settings->c_lflag, (ISIG | ||
354 | + | ICANON | ||
355 | + | ECHO | ||
356 | + | ECHOE | ||
357 | + | ECHOK | ||
358 | + | ECHOCTL | ||
359 | + | ECHOKE)); | ||
360 | +#endif /* TERMIOS */ | ||
361 | |||
362 | if (!noset) { | ||
363 | SET_TTY(fd, tty_settings); | ||
364 | @@ -402,29 +441,23 @@ set_conversions(TTY * tty_settings) | ||
365 | #if defined(EXP_WIN32_DRIVER) | ||
366 | /* FIXME */ | ||
367 | #else | ||
368 | -#ifdef ONLCR | ||
369 | - tty_settings->c_oflag |= ONLCR; | ||
370 | -#endif | ||
371 | - tty_settings->c_iflag |= ICRNL; | ||
372 | - tty_settings->c_lflag |= ECHO; | ||
373 | -#ifdef OXTABS | ||
374 | - tty_settings->c_oflag |= OXTABS; | ||
375 | -#endif /* OXTABS */ | ||
376 | + set_flags(tty_settings->c_oflag, ONLCR); | ||
377 | + set_flags(tty_settings->c_iflag, ICRNL); | ||
378 | + set_flags(tty_settings->c_lflag, ECHO); | ||
379 | + set_flags(tty_settings->c_oflag, OXTABS); | ||
380 | |||
381 | /* test used to be tgetflag("NL") */ | ||
382 | if (VALID_STRING(newline) && newline[0] == '\n' && !newline[1]) { | ||
383 | /* Newline, not linefeed. */ | ||
384 | -#ifdef ONLCR | ||
385 | - tty_settings->c_oflag &= ~((unsigned) ONLCR); | ||
386 | -#endif | ||
387 | - tty_settings->c_iflag &= ~((unsigned) ICRNL); | ||
388 | + clear_flags(tty_settings->c_oflag, ONLCR); | ||
389 | + clear_flags(tty_settings->c_iflag, ICRNL); | ||
390 | } | ||
391 | -#ifdef OXTABS | ||
392 | +#if OXTABS | ||
393 | /* test used to be tgetflag("pt") */ | ||
394 | if (VALID_STRING(set_tab) && VALID_STRING(clear_all_tabs)) | ||
395 | - tty_settings->c_oflag &= ~OXTABS; | ||
396 | + clear_flags(tty_settings->c_oflag, OXTABS); | ||
397 | #endif /* OXTABS */ | ||
398 | - tty_settings->c_lflag |= (ECHOE | ECHOK); | ||
399 | + set_flags(tty_settings->c_lflag, (ECHOE | ECHOK)); | ||
400 | #endif | ||
401 | } | ||
402 | |||
403 | @@ -490,7 +523,7 @@ send_init_strings(int fd GCC_UNUSED, TTY * old_settings) | ||
404 | bool need_flush = FALSE; | ||
405 | |||
406 | (void) old_settings; | ||
407 | -#ifdef TAB3 | ||
408 | +#if TAB3 | ||
409 | if (old_settings != 0 && | ||
410 | old_settings->c_oflag & (TAB3 | ONLCR | OCRNL | ONLRET)) { | ||
411 | old_settings->c_oflag &= (TAB3 | ONLCR | OCRNL | ONLRET); | ||
412 | @@ -512,22 +545,22 @@ send_init_strings(int fd GCC_UNUSED, TTY * old_settings) | ||
413 | |||
414 | if (VALID_STRING(clear_margins)) { | ||
415 | need_flush |= sent_string(clear_margins); | ||
416 | - } else | ||
417 | + } | ||
418 | #if defined(set_lr_margin) | ||
419 | - if (VALID_STRING(set_lr_margin)) { | ||
420 | + else if (VALID_STRING(set_lr_margin)) { | ||
421 | need_flush |= sent_string(TIPARM_2(set_lr_margin, 0, columns - 1)); | ||
422 | - } else | ||
423 | + } | ||
424 | #endif | ||
425 | #if defined(set_left_margin_parm) && defined(set_right_margin_parm) | ||
426 | - if (VALID_STRING(set_left_margin_parm) | ||
427 | - && VALID_STRING(set_right_margin_parm)) { | ||
428 | + else if (VALID_STRING(set_left_margin_parm) | ||
429 | + && VALID_STRING(set_right_margin_parm)) { | ||
430 | need_flush |= sent_string(TIPARM_1(set_left_margin_parm, 0)); | ||
431 | need_flush |= sent_string(TIPARM_1(set_right_margin_parm, | ||
432 | columns - 1)); | ||
433 | - } else | ||
434 | + } | ||
435 | #endif | ||
436 | - if (VALID_STRING(set_left_margin) | ||
437 | - && VALID_STRING(set_right_margin)) { | ||
438 | + else if (VALID_STRING(set_left_margin) | ||
439 | + && VALID_STRING(set_right_margin)) { | ||
440 | need_flush |= to_left_margin(); | ||
441 | need_flush |= sent_string(set_left_margin); | ||
442 | if (VALID_STRING(parm_right_cursor)) { | ||
443 | diff --git a/progs/tabs.c b/progs/tabs.c | ||
444 | index 7378d116..d904330b 100644 | ||
445 | --- a/progs/tabs.c | ||
446 | +++ b/progs/tabs.c | ||
447 | @@ -370,7 +370,9 @@ do_set_margin(int margin, bool no_op) | ||
448 | } | ||
449 | tputs(set_left_margin, 1, putch); | ||
450 | } | ||
451 | - } else if (VALID_STRING(set_left_margin_parm)) { | ||
452 | + } | ||
453 | +#if defined(set_left_margin_parm) && defined(set_right_margin_parm) | ||
454 | + else if (VALID_STRING(set_left_margin_parm)) { | ||
455 | result = TRUE; | ||
456 | if (!no_op) { | ||
457 | if (VALID_STRING(set_right_margin_parm)) { | ||
458 | @@ -379,12 +381,16 @@ do_set_margin(int margin, bool no_op) | ||
459 | tputs(TIPARM_2(set_left_margin_parm, margin, max_cols), 1, putch); | ||
460 | } | ||
461 | } | ||
462 | - } else if (VALID_STRING(set_lr_margin)) { | ||
463 | + } | ||
464 | +#endif | ||
465 | +#if defined(set_lr_margin) | ||
466 | + else if (VALID_STRING(set_lr_margin)) { | ||
467 | result = TRUE; | ||
468 | if (!no_op) { | ||
469 | tputs(TIPARM_2(set_lr_margin, margin, max_cols), 1, putch); | ||
470 | } | ||
471 | } | ||
472 | +#endif | ||
473 | return result; | ||
474 | } | ||
475 | |||
476 | diff --git a/progs/tic.c b/progs/tic.c | ||
477 | index 888927e2..78b568fa 100644 | ||
478 | --- a/progs/tic.c | ||
479 | +++ b/progs/tic.c | ||
480 | @@ -3142,6 +3142,7 @@ guess_ANSI_VTxx(TERMTYPE2 *tp) | ||
481 | * In particular, any ECMA-48 terminal should support these, though the details | ||
482 | * for u9 are implementation dependent. | ||
483 | */ | ||
484 | +#if defined(user6) && defined(user7) && defined(user8) && defined(user9) | ||
485 | static void | ||
486 | check_user_6789(TERMTYPE2 *tp) | ||
487 | { | ||
488 | @@ -3177,6 +3178,9 @@ check_user_6789(TERMTYPE2 *tp) | ||
489 | break; | ||
490 | } | ||
491 | } | ||
492 | +#else | ||
493 | +#define check_user_6789(tp) /* nothing */ | ||
494 | +#endif | ||
495 | |||
496 | /* other sanity-checks (things that we don't want in the normal | ||
497 | * logic that reads a terminfo entry) | ||
498 | -- | ||
499 | 2.40.0 | ||
diff --git a/meta/recipes-core/ncurses/files/0001-tic-hang.patch b/meta/recipes-core/ncurses/files/0001-tic-hang.patch index f98a943e5c..8cb92a3939 100644 --- a/meta/recipes-core/ncurses/files/0001-tic-hang.patch +++ b/meta/recipes-core/ncurses/files/0001-tic-hang.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 168ba7a681be73ac024438e33e14fde1d5aea97d Mon Sep 17 00:00:00 2001 | 1 | From a51a53f0eecfd4d083aba8dfcd47c65e93978ff1 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Fri, 30 Mar 2018 10:02:24 +0800 | 3 | Date: Fri, 30 Mar 2018 10:02:24 +0800 |
4 | Subject: [PATCH 1/2] tic hang | 4 | Subject: [PATCH] tic hang |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [configuration] | 6 | Upstream-Status: Inappropriate [configuration] |
7 | 7 | ||
@@ -17,10 +17,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | |||
17 | 1 file changed, 5 insertions(+), 6 deletions(-) | 17 | 1 file changed, 5 insertions(+), 6 deletions(-) |
18 | 18 | ||
19 | diff --git a/misc/terminfo.src b/misc/terminfo.src | 19 | diff --git a/misc/terminfo.src b/misc/terminfo.src |
20 | index 84f4810..6b385ec 100644 | 20 | index 5d575b8e..f9cc6880 100644 |
21 | --- a/misc/terminfo.src | 21 | --- a/misc/terminfo.src |
22 | +++ b/misc/terminfo.src | 22 | +++ b/misc/terminfo.src |
23 | @@ -5562,12 +5562,11 @@ konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm, | 23 | @@ -6518,12 +6518,11 @@ konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm, |
24 | # The value for kbs (see konsole-vt100) reflects local customization rather | 24 | # The value for kbs (see konsole-vt100) reflects local customization rather |
25 | # than the settings used for XFree86 xterm. | 25 | # than the settings used for XFree86 xterm. |
26 | konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm, | 26 | konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm, |
@@ -38,6 +38,3 @@ index 84f4810..6b385ec 100644 | |||
38 | 38 | ||
39 | # Obsolete: vt100.keymap | 39 | # Obsolete: vt100.keymap |
40 | # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but | 40 | # KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but |
41 | -- | ||
42 | 1.8.3.1 | ||
43 | |||
diff --git a/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch b/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch index 66f26c06ab..11ca66c8e8 100644 --- a/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch +++ b/meta/recipes-core/ncurses/files/0002-configure-reproducible.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ec87e53066a9942e9aaba817d71268342f5e83b9 Mon Sep 17 00:00:00 2001 | 1 | From 63cf58044f4ab3297c5a2d0e132e87ebfa80c753 Mon Sep 17 00:00:00 2001 |
2 | From: Hongxu Jia <hongxu.jia@windriver.com> | 2 | From: Hongxu Jia <hongxu.jia@windriver.com> |
3 | Date: Wed, 16 Aug 2017 14:45:27 +0800 | 3 | Date: Wed, 16 Aug 2017 14:45:27 +0800 |
4 | Subject: [PATCH] configure: reproducible | 4 | Subject: [PATCH] configure: reproducible |
@@ -13,16 +13,15 @@ Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> | |||
13 | Rebase to 6.1 | 13 | Rebase to 6.1 |
14 | 14 | ||
15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | 15 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> |
16 | |||
17 | --- | 16 | --- |
18 | configure | 2 +- | 17 | configure | 2 +- |
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | 18 | 1 file changed, 1 insertion(+), 1 deletion(-) |
20 | 19 | ||
21 | diff --git a/configure b/configure | 20 | diff --git a/configure b/configure |
22 | index 421cf859..a1b7840d 100755 | 21 | index 488d93fc..005d44e2 100755 |
23 | --- a/configure | 22 | --- a/configure |
24 | +++ b/configure | 23 | +++ b/configure |
25 | @@ -5072,7 +5072,7 @@ else | 24 | @@ -5129,7 +5129,7 @@ else |
26 | ;; | 25 | ;; |
27 | (*) | 26 | (*) |
28 | cf_cv_ar_flags=unknown | 27 | cf_cv_ar_flags=unknown |
diff --git a/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch b/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch index a15694d4d4..d89399bbe5 100644 --- a/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch +++ b/meta/recipes-core/ncurses/files/0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 10cd0c12a6e14fb4f0498c299c1dd32720b710da Mon Sep 17 00:00:00 2001 | 1 | From 5962a5ee2885f67a396f7e8955ac1bbd7f15d4aa Mon Sep 17 00:00:00 2001 |
2 | From: Nathan Rossi <nathan@nathanrossi.com> | 2 | From: Nathan Rossi <nathan@nathanrossi.com> |
3 | Date: Mon, 14 Dec 2020 13:39:02 +1000 | 3 | Date: Mon, 14 Dec 2020 13:39:02 +1000 |
4 | Subject: [PATCH] gen-pkgconfig.in: Do not include LDFLAGS in generated pc | 4 | Subject: [PATCH] gen-pkgconfig.in: Do not include LDFLAGS in generated pc |
@@ -10,13 +10,12 @@ includes build host specific paths and options (e.g. uninative and | |||
10 | 10 | ||
11 | Upstream-Status: Inappropriate [OE Specific] | 11 | Upstream-Status: Inappropriate [OE Specific] |
12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> | 12 | Signed-off-by: Nathan Rossi <nathan@nathanrossi.com> |
13 | |||
14 | --- | 13 | --- |
15 | misc/gen-pkgconfig.in | 2 +- | 14 | misc/gen-pkgconfig.in | 2 +- |
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | 15 | 1 file changed, 1 insertion(+), 1 deletion(-) |
17 | 16 | ||
18 | diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in | 17 | diff --git a/misc/gen-pkgconfig.in b/misc/gen-pkgconfig.in |
19 | index a45dd54f..85273054 100644 | 18 | index 89a5cd4a..07d94d17 100644 |
20 | --- a/misc/gen-pkgconfig.in | 19 | --- a/misc/gen-pkgconfig.in |
21 | +++ b/misc/gen-pkgconfig.in | 20 | +++ b/misc/gen-pkgconfig.in |
22 | @@ -83,7 +83,7 @@ if [ "$includedir" != "/usr/include" ]; then | 21 | @@ -83,7 +83,7 @@ if [ "$includedir" != "/usr/include" ]; then |
diff --git a/meta/recipes-core/ncurses/files/exit_prototype.patch b/meta/recipes-core/ncurses/files/exit_prototype.patch index fd961512e0..299852d2c0 100644 --- a/meta/recipes-core/ncurses/files/exit_prototype.patch +++ b/meta/recipes-core/ncurses/files/exit_prototype.patch | |||
@@ -1,28 +1,27 @@ | |||
1 | From 4a769a441d7e57a23017c3037cde3e53fb9f35fe Mon Sep 17 00:00:00 2001 | 1 | From af798dceafec8a9ea3f83fc250d784511ca0a29c Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 30 Aug 2022 15:58:32 -0700 | 3 | Date: Tue, 30 Aug 2022 15:58:32 -0700 |
4 | Subject: [PATCH] Add needed headers for including mbstate_t and exit() | 4 | Subject: [PATCH] Add needed headers for including mbstate_t and exit() |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [Reconfigure will solve it] | 6 | Upstream-Status: Inappropriate [Reconfigure will solve it] |
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
8 | |||
9 | --- | 8 | --- |
10 | configure | 2 ++ | 9 | configure | 2 ++ |
11 | 1 file changed, 2 insertions(+) | 10 | 1 file changed, 2 insertions(+) |
12 | 11 | ||
13 | diff --git a/configure b/configure | 12 | diff --git a/configure b/configure |
14 | index f377f551..163f8899 100755 | 13 | index 005d44e2..72fa6c23 100755 |
15 | --- a/configure | 14 | --- a/configure |
16 | +++ b/configure | 15 | +++ b/configure |
17 | @@ -3423,6 +3423,7 @@ rm -f "conftest.$ac_objext" "conftest.$ac_ext" | 16 | @@ -3462,6 +3462,7 @@ rm -f "conftest.$ac_objext" "conftest.$ac_ext" |
18 | cat >"conftest.$ac_ext" <<_ACEOF | 17 | cat >"conftest.$ac_ext" <<_ACEOF |
19 | #line 3424 "configure" | 18 | #line 3463 "configure" |
20 | #include "confdefs.h" | 19 | #include "confdefs.h" |
21 | +#include <stdlib.h> | 20 | +#include <stdlib.h> |
22 | $ac_declaration | 21 | $ac_declaration |
23 | int | 22 | int |
24 | main (void) | 23 | main (void) |
25 | @@ -13111,6 +13112,7 @@ cat >"conftest.$ac_ext" <<_ACEOF | 24 | @@ -13533,6 +13534,7 @@ cat >"conftest.$ac_ext" <<_ACEOF |
26 | #include <stdlib.h> | 25 | #include <stdlib.h> |
27 | #include <stdarg.h> | 26 | #include <stdarg.h> |
28 | #include <stdio.h> | 27 | #include <stdio.h> |
diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index 761b6a3d31..2a3fd4f2c5 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc | |||
@@ -2,7 +2,7 @@ SUMMARY = "The New Curses library" | |||
2 | DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library." | 2 | DESCRIPTION = "SVr4 and XSI-Curses compatible curses library and terminfo tools including tic, infocmp, captoinfo. Supports color, multiple highlights, forms-drawing characters, and automatic recognition of keypad and function-key sequences. Extensions include resizable windows and mouse support on both xterm and Linux console using the gpm library." |
3 | HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html" | 3 | HOMEPAGE = "http://www.gnu.org/software/ncurses/ncurses.html" |
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c5a4600fdef86384c41ca33ecc70a4b8;endline=27" | 5 | LIC_FILES_CHKSUM = "file://COPYING;md5=6f291ee54551d9d8d992ecd623fe4bc7;endline=27" |
6 | SECTION = "libs" | 6 | SECTION = "libs" |
7 | DEPENDS = "ncurses-native" | 7 | DEPENDS = "ncurses-native" |
8 | DEPENDS:class-native = "" | 8 | DEPENDS:class-native = "" |
@@ -13,7 +13,7 @@ BINCONFIG = "${bindir}/ncurses5-config ${bindir}/ncursesw5-config \ | |||
13 | inherit autotools binconfig-disabled multilib_header pkgconfig | 13 | inherit autotools binconfig-disabled multilib_header pkgconfig |
14 | 14 | ||
15 | # Upstream has useful patches at times at ftp://invisible-island.net/ncurses/ | 15 | # Upstream has useful patches at times at ftp://invisible-island.net/ncurses/ |
16 | SRC_URI = "git://github.com/mirror/ncurses.git;protocol=https;branch=master" | 16 | SRC_URI = "git://github.com/ThomasDickey/ncurses-snapshots.git;protocol=https;branch=master" |
17 | 17 | ||
18 | EXTRA_AUTORECONF = "-I m4" | 18 | EXTRA_AUTORECONF = "-I m4" |
19 | 19 | ||
diff --git a/meta/recipes-core/ncurses/ncurses_6.4.bb b/meta/recipes-core/ncurses/ncurses_6.5.bb index 2c621525f9..2e3ee337ea 100644 --- a/meta/recipes-core/ncurses/ncurses_6.4.bb +++ b/meta/recipes-core/ncurses/ncurses_6.5.bb | |||
@@ -4,14 +4,12 @@ SRC_URI += "file://0001-tic-hang.patch \ | |||
4 | file://0002-configure-reproducible.patch \ | 4 | file://0002-configure-reproducible.patch \ |
5 | file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \ | 5 | file://0003-gen-pkgconfig.in-Do-not-include-LDFLAGS-in-generated.patch \ |
6 | file://exit_prototype.patch \ | 6 | file://exit_prototype.patch \ |
7 | file://0001-Fix-CVE-2023-29491.patch \ | ||
8 | file://0001-Updating-reset-code-ncurses-6.4-patch-20231104.patch \ | ||
9 | " | 7 | " |
10 | # commit id corresponds to the revision in package version | 8 | # commit id corresponds to the revision in package version |
11 | SRCREV = "79b9071f2be20a24c7be031655a5638f6032f29f" | 9 | SRCREV = "1c55d64d9d3e00399a21f04e9cac1e472ab5f70a" |
12 | S = "${WORKDIR}/git" | 10 | S = "${WORKDIR}/git" |
13 | EXTRA_OECONF += "--with-abi-version=5" | 11 | EXTRA_OECONF += "--with-abi-version=5" |
14 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)$" | 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+_\d+)$" |
15 | 13 | ||
16 | # This is needed when using patchlevel versions like 6.1+20181013 | 14 | # This is needed when using patchlevel versions like 6.1+20181013 |
17 | #CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}" | 15 | #CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}" |
diff --git a/meta/recipes-core/psplash/psplash_git.bb b/meta/recipes-core/psplash/psplash_git.bb index 40937098e6..30cf61a2cb 100644 --- a/meta/recipes-core/psplash/psplash_git.bb +++ b/meta/recipes-core/psplash/psplash_git.bb | |||
@@ -80,7 +80,7 @@ python do_compile () { | |||
80 | import subprocess | 80 | import subprocess |
81 | 81 | ||
82 | # Build a separate executable for each splash image | 82 | # Build a separate executable for each splash image |
83 | workdir = d.getVar('WORKDIR') | 83 | workdir = d.getVar('UNPACKDIR') |
84 | convertscript = "%s/make-image-header.sh" % d.getVar('S') | 84 | convertscript = "%s/make-image-header.sh" % d.getVar('S') |
85 | destfile = "%s/psplash-poky-img.h" % d.getVar('B') | 85 | destfile = "%s/psplash-poky-img.h" % d.getVar('B') |
86 | localfiles = d.getVar('SPLASH_LOCALPATHS').split() | 86 | localfiles = d.getVar('SPLASH_LOCALPATHS').split() |
@@ -103,7 +103,7 @@ python do_compile () { | |||
103 | do_install:append() { | 103 | do_install:append() { |
104 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 104 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
105 | install -d ${D}${sysconfdir}/init.d/ | 105 | install -d ${D}${sysconfdir}/init.d/ |
106 | install -m 0755 ${WORKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh | 106 | install -m 0755 ${UNPACKDIR}/psplash-init ${D}${sysconfdir}/init.d/psplash.sh |
107 | 107 | ||
108 | # make fifo for psplash | 108 | # make fifo for psplash |
109 | install -d ${D}/mnt | 109 | install -d ${D}/mnt |
@@ -112,8 +112,8 @@ do_install:append() { | |||
112 | 112 | ||
113 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 113 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
114 | install -d ${D}${systemd_system_unitdir} | 114 | install -d ${D}${systemd_system_unitdir} |
115 | install -m 644 ${WORKDIR}/psplash-start.service ${D}/${systemd_system_unitdir} | 115 | install -m 644 ${UNPACKDIR}/psplash-start.service ${D}/${systemd_system_unitdir} |
116 | install -m 644 ${WORKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir} | 116 | install -m 644 ${UNPACKDIR}/psplash-systemd.service ${D}/${systemd_system_unitdir} |
117 | fi | 117 | fi |
118 | 118 | ||
119 | install -d ${D}${bindir} | 119 | install -d ${D}${bindir} |
diff --git a/meta/recipes-core/readline/readline.inc b/meta/recipes-core/readline/readline.inc index 4aefc5636d..555bd0876f 100644 --- a/meta/recipes-core/readline/readline.inc +++ b/meta/recipes-core/readline/readline.inc | |||
@@ -38,7 +38,7 @@ do_install:append () { | |||
38 | rmdir ${D}${datadir}/${BPN} || true | 38 | rmdir ${D}${datadir}/${BPN} || true |
39 | 39 | ||
40 | install -m 0755 -d ${D}${sysconfdir} | 40 | install -m 0755 -d ${D}${sysconfdir} |
41 | install -m 0644 ${WORKDIR}/inputrc ${D}${sysconfdir}/inputrc | 41 | install -m 0644 ${UNPACKDIR}/inputrc ${D}${sysconfdir}/inputrc |
42 | } | 42 | } |
43 | 43 | ||
44 | BBCLASSEXTEND = "native nativesdk" | 44 | BBCLASSEXTEND = "native nativesdk" |
@@ -54,4 +54,4 @@ ALTERNATIVE_LINK_NAME[history.3] = "${mandir}/man3/history.3" | |||
54 | # OpenSuse injects versions into libreadline leading to conficits between our native one and theirs | 54 | # OpenSuse injects versions into libreadline leading to conficits between our native one and theirs |
55 | # see their spec file for where this is injected. Extra versioning is harmless so we just do the same. | 55 | # see their spec file for where this is injected. Extra versioning is harmless so we just do the same. |
56 | SRC_URI:append:class-native = " file://rl-native.map" | 56 | SRC_URI:append:class-native = " file://rl-native.map" |
57 | LDFLAGS:append:class-native = " -Wl,--version-script=${WORKDIR}/rl-native.map" | 57 | LDFLAGS:append:class-native = " -Wl,--version-script=${UNPACKDIR}/rl-native.map" |
diff --git a/meta/recipes-core/seatd/seatd_0.8.0.bb b/meta/recipes-core/seatd/seatd_0.8.0.bb index 14c5b1b7ae..df5fe35f98 100644 --- a/meta/recipes-core/seatd/seatd_0.8.0.bb +++ b/meta/recipes-core/seatd/seatd_0.8.0.bb | |||
@@ -26,7 +26,7 @@ PACKAGECONFIG[systemd] = ",,systemd" | |||
26 | 26 | ||
27 | do_install:append() { | 27 | do_install:append() { |
28 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then | 28 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then |
29 | install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/seatd | 29 | install -Dm755 ${UNPACKDIR}/init ${D}/${sysconfdir}/init.d/seatd |
30 | fi | 30 | fi |
31 | } | 31 | } |
32 | 32 | ||
diff --git a/meta/recipes-core/systemd/systemd-boot-native_255.4.bb b/meta/recipes-core/systemd/systemd-boot-native_255.6.bb index 73db59b14e..73db59b14e 100644 --- a/meta/recipes-core/systemd/systemd-boot-native_255.4.bb +++ b/meta/recipes-core/systemd/systemd-boot-native_255.6.bb | |||
diff --git a/meta/recipes-core/systemd/systemd-boot_255.4.bb b/meta/recipes-core/systemd/systemd-boot_255.6.bb index 4ee25ee72f..4ee25ee72f 100644 --- a/meta/recipes-core/systemd/systemd-boot_255.4.bb +++ b/meta/recipes-core/systemd/systemd-boot_255.6.bb | |||
diff --git a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb index 19637546a9..0ec49365d0 100644 --- a/meta/recipes-core/systemd/systemd-bootconf_1.00.bb +++ b/meta/recipes-core/systemd/systemd-bootconf_1.00.bb | |||
@@ -7,7 +7,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
7 | 7 | ||
8 | inherit systemd-boot-cfg | 8 | inherit systemd-boot-cfg |
9 | 9 | ||
10 | S = "${WORKDIR}" | 10 | S = "${WORKDIR}/sources" |
11 | UNPACKDIR = "${S}" | ||
11 | 12 | ||
12 | LABELS = "boot" | 13 | LABELS = "boot" |
13 | 14 | ||
diff --git a/meta/recipes-core/systemd/systemd-compat-units.bb b/meta/recipes-core/systemd/systemd-compat-units.bb index c03d97f9c9..b929545823 100644 --- a/meta/recipes-core/systemd/systemd-compat-units.bb +++ b/meta/recipes-core/systemd/systemd-compat-units.bb | |||
@@ -5,7 +5,8 @@ LICENSE = "MIT" | |||
5 | 5 | ||
6 | PACKAGE_WRITE_DEPS += "systemd-systemctl-native" | 6 | PACKAGE_WRITE_DEPS += "systemd-systemctl-native" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | inherit features_check | 11 | inherit features_check |
11 | 12 | ||
diff --git a/meta/recipes-core/systemd/systemd-conf_1.0.bb b/meta/recipes-core/systemd/systemd-conf_1.0.bb index 2355936631..b8bea0c25b 100644 --- a/meta/recipes-core/systemd/systemd-conf_1.0.bb +++ b/meta/recipes-core/systemd/systemd-conf_1.0.bb | |||
@@ -21,19 +21,22 @@ SRC_URI = "\ | |||
21 | file://wired.network \ | 21 | file://wired.network \ |
22 | " | 22 | " |
23 | 23 | ||
24 | S = "${WORKDIR}/sources" | ||
25 | UNPACKDIR = "${S}" | ||
26 | |||
24 | do_install() { | 27 | do_install() { |
25 | install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf | 28 | install -D -m0644 ${S}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf |
26 | install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf | 29 | install -D -m0644 ${S}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf |
27 | install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf | 30 | install -D -m0644 ${S}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf |
28 | 31 | ||
29 | if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then | 32 | if ${@bb.utils.contains('PACKAGECONFIG', 'dhcp-ethernet', 'true', 'false', d)}; then |
30 | install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network | 33 | install -D -m0644 ${S}/wired.network ${D}${systemd_unitdir}/network/80-wired.network |
31 | fi | 34 | fi |
32 | } | 35 | } |
33 | 36 | ||
34 | # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 | 37 | # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 |
35 | do_install:append:qemuall() { | 38 | do_install:append:qemuall() { |
36 | install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf | 39 | install -D -m0644 ${S}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf |
37 | } | 40 | } |
38 | 41 | ||
39 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 42 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb b/meta/recipes-core/systemd/systemd-serialgetty.bb index 44a93ac684..9035b8c335 100644 --- a/meta/recipes-core/systemd/systemd-serialgetty.bb +++ b/meta/recipes-core/systemd/systemd-serialgetty.bb | |||
@@ -9,7 +9,8 @@ SERIAL_TERM ?= "linux" | |||
9 | 9 | ||
10 | SRC_URI = "file://serial-getty@.service" | 10 | SRC_URI = "file://serial-getty@.service" |
11 | 11 | ||
12 | S = "${WORKDIR}" | 12 | S = "${WORKDIR}/sources" |
13 | UNPACKDIR = "${S}" | ||
13 | 14 | ||
14 | # As this package is tied to systemd, only build it when we're also building systemd. | 15 | # As this package is tied to systemd, only build it when we're also building systemd. |
15 | inherit features_check | 16 | inherit features_check |
@@ -21,7 +22,7 @@ do_install() { | |||
21 | default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'` | 22 | default_baudrate=`echo "${SERIAL_CONSOLES}" | sed 's/\;.*//'` |
22 | install -d ${D}${systemd_system_unitdir}/ | 23 | install -d ${D}${systemd_system_unitdir}/ |
23 | install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ | 24 | install -d ${D}${sysconfdir}/systemd/system/getty.target.wants/ |
24 | install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/ | 25 | install -m 0644 ${S}/serial-getty@.service ${D}${systemd_system_unitdir}/ |
25 | sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service | 26 | sed -i -e "s/\@BAUDRATE\@/$default_baudrate/g" ${D}${systemd_system_unitdir}/serial-getty@.service |
26 | sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service | 27 | sed -i -e "s/\@TERM\@/${SERIAL_TERM}/g" ${D}${systemd_system_unitdir}/serial-getty@.service |
27 | 28 | ||
@@ -35,7 +36,7 @@ do_install() { | |||
35 | ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service | 36 | ${D}${sysconfdir}/systemd/system/getty.target.wants/serial-getty@$ttydev.service |
36 | else | 37 | else |
37 | # install custom service file for the non-default baudrate | 38 | # install custom service file for the non-default baudrate |
38 | install -m 0644 ${WORKDIR}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service | 39 | install -m 0644 ${S}/serial-getty@.service ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service |
39 | sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service | 40 | sed -i -e "s/\@BAUDRATE\@/$baudrate/g" ${D}${systemd_system_unitdir}/serial-getty$baudrate@.service |
40 | # enable the service | 41 | # enable the service |
41 | ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \ | 42 | ln -sf ${systemd_system_unitdir}/serial-getty$baudrate@.service \ |
diff --git a/meta/recipes-core/systemd/systemd-systemctl-native.bb b/meta/recipes-core/systemd/systemd-systemctl-native.bb index 54283bcba1..ffa024caef 100644 --- a/meta/recipes-core/systemd/systemd-systemctl-native.bb +++ b/meta/recipes-core/systemd/systemd-systemctl-native.bb | |||
@@ -8,9 +8,10 @@ inherit native | |||
8 | 8 | ||
9 | SRC_URI = "file://systemctl" | 9 | SRC_URI = "file://systemctl" |
10 | 10 | ||
11 | S = "${WORKDIR}" | 11 | S = "${WORKDIR}/sources" |
12 | UNPACKDIR = "${S}" | ||
12 | 13 | ||
13 | do_install() { | 14 | do_install() { |
14 | install -d ${D}${bindir} | 15 | install -d ${D}${bindir} |
15 | install -m 0755 ${WORKDIR}/systemctl ${D}${bindir} | 16 | install -m 0755 ${S}/systemctl ${D}${bindir} |
16 | } | 17 | } |
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc index a35db5091e..8bda47dd38 100644 --- a/meta/recipes-core/systemd/systemd.inc +++ b/meta/recipes-core/systemd/systemd.inc | |||
@@ -15,7 +15,7 @@ LICENSE:libsystemd = "LGPL-2.1-or-later" | |||
15 | LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ | 15 | LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \ |
16 | file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" | 16 | file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c" |
17 | 17 | ||
18 | SRCREV = "387a14a7b67b8b76adaed4175e14bb7e39b2f738" | 18 | SRCREV = "5810c25792d4268282dd3892af1a253b690423c9" |
19 | SRCBRANCH = "v255-stable" | 19 | SRCBRANCH = "v255-stable" |
20 | SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH}" | 20 | SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH}" |
21 | 21 | ||
diff --git a/meta/recipes-core/systemd/systemd/0001-missing_type.h-add-comparison_fn_t.patch b/meta/recipes-core/systemd/systemd/0001-missing_type.h-add-comparison_fn_t.patch index 2aa5dee6b5..49871d16a8 100644 --- a/meta/recipes-core/systemd/systemd/0001-missing_type.h-add-comparison_fn_t.patch +++ b/meta/recipes-core/systemd/systemd/0001-missing_type.h-add-comparison_fn_t.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001 | 1 | From d4b0bb9c7651017985fdd75469f37c34ce2f2c50 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 13:55:12 +0800 | 3 | Date: Mon, 25 Feb 2019 13:55:12 +0800 |
4 | Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t | 4 | Subject: [PATCH] missing_type.h: add comparison_fn_t |
5 | 5 | ||
6 | Make it work with musl where comparison_fn_t and is not provided. | 6 | Make it work with musl where comparison_fn_t and is not provided. |
7 | 7 | ||
@@ -56,6 +56,3 @@ index ae91534198..7f67eea38b 100644 | |||
56 | 56 | ||
57 | const char * const catalog_file_dirs[] = { | 57 | const char * const catalog_file_dirs[] = { |
58 | "/usr/local/lib/systemd/catalog/", | 58 | "/usr/local/lib/systemd/catalog/", |
59 | -- | ||
60 | 2.34.1 | ||
61 | |||
diff --git a/meta/recipes-core/systemd/systemd/0002-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0002-add-fallback-parse_printf_format-implementation.patch index 900a931632..593d6261e1 100644 --- a/meta/recipes-core/systemd/systemd/0002-add-fallback-parse_printf_format-implementation.patch +++ b/meta/recipes-core/systemd/systemd/0002-add-fallback-parse_printf_format-implementation.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001 | 1 | From 776913624aaf696a3b2920b8d7506b3aae042bf1 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Sat, 22 May 2021 20:26:24 +0200 | 3 | Date: Sat, 22 May 2021 20:26:24 +0200 |
4 | Subject: [PATCH 02/22] add fallback parse_printf_format implementation | 4 | Subject: [PATCH] add fallback parse_printf_format implementation |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [musl specific] | 6 | Upstream-Status: Inappropriate [musl specific] |
7 | 7 | ||
@@ -22,10 +22,10 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
22 | create mode 100644 src/basic/parse-printf-format.h | 22 | create mode 100644 src/basic/parse-printf-format.h |
23 | 23 | ||
24 | diff --git a/meson.build b/meson.build | 24 | diff --git a/meson.build b/meson.build |
25 | index 7419e2b0b0..01fd3ffc19 100644 | 25 | index 187e7b216d..c4694a9ddc 100644 |
26 | --- a/meson.build | 26 | --- a/meson.build |
27 | +++ b/meson.build | 27 | +++ b/meson.build |
28 | @@ -725,6 +725,7 @@ endif | 28 | @@ -727,6 +727,7 @@ endif |
29 | foreach header : ['crypt.h', | 29 | foreach header : ['crypt.h', |
30 | 'linux/memfd.h', | 30 | 'linux/memfd.h', |
31 | 'linux/vm_sockets.h', | 31 | 'linux/vm_sockets.h', |
@@ -34,7 +34,7 @@ index 7419e2b0b0..01fd3ffc19 100644 | |||
34 | 'threads.h', | 34 | 'threads.h', |
35 | 'valgrind/memcheck.h', | 35 | 'valgrind/memcheck.h', |
36 | diff --git a/src/basic/meson.build b/src/basic/meson.build | 36 | diff --git a/src/basic/meson.build b/src/basic/meson.build |
37 | index d7450d8b44..c3e3daf4bd 100644 | 37 | index 111253e3a5..bdaa2fc5e4 100644 |
38 | --- a/src/basic/meson.build | 38 | --- a/src/basic/meson.build |
39 | +++ b/src/basic/meson.build | 39 | +++ b/src/basic/meson.build |
40 | @@ -183,6 +183,11 @@ endforeach | 40 | @@ -183,6 +183,11 @@ endforeach |
@@ -429,6 +429,3 @@ index be23b2fe75..69a2eb6404 100644 | |||
429 | 429 | ||
430 | #define SNDBUF_SIZE (8*1024*1024) | 430 | #define SNDBUF_SIZE (8*1024*1024) |
431 | 431 | ||
432 | -- | ||
433 | 2.34.1 | ||
434 | |||
diff --git a/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch b/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch index be231cf6b2..4c73c924ef 100644 --- a/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch +++ b/meta/recipes-core/systemd/systemd/0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch | |||
@@ -1,8 +1,8 @@ | |||
1 | From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001 | 1 | From 661a34c3de30d4ff4a2a62c9a0573c6ce55424e4 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Thu, 21 Feb 2019 16:23:24 +0800 | 3 | Date: Thu, 21 Feb 2019 16:23:24 +0800 |
4 | Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time | 4 | Subject: [PATCH] binfmt: Don't install dependency links at install time for |
5 | for the binfmt services | 5 | the binfmt services |
6 | 6 | ||
7 | use [Install] blocks so that they get created when the service is enabled | 7 | use [Install] blocks so that they get created when the service is enabled |
8 | like a traditional service. | 8 | like a traditional service. |
@@ -74,6 +74,3 @@ index 6861c76674..531e9fbd90 100644 | |||
74 | + | 74 | + |
75 | +[Install] | 75 | +[Install] |
76 | +WantedBy=sysinit.target | 76 | +WantedBy=sysinit.target |
77 | -- | ||
78 | 2.34.1 | ||
79 | |||
diff --git a/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch b/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch index 5595b5bc23..f09f2114d3 100644 --- a/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch +++ b/meta/recipes-core/systemd/systemd/0003-src-basic-missing.h-check-for-missing-strndupa.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001 | 1 | From 843c6c94bf6a29eaceeefafa420cd86a32e844d2 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 14:18:21 +0800 | 3 | Date: Mon, 25 Feb 2019 14:18:21 +0800 |
4 | Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa | 4 | Subject: [PATCH] src/basic/missing.h: check for missing strndupa |
5 | 5 | ||
6 | include missing.h for definition of strndupa | 6 | include missing.h for definition of strndupa |
7 | 7 | ||
@@ -75,10 +75,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
75 | 51 files changed, 62 insertions(+) | 75 | 51 files changed, 62 insertions(+) |
76 | 76 | ||
77 | diff --git a/meson.build b/meson.build | 77 | diff --git a/meson.build b/meson.build |
78 | index 01fd3ffc19..61a872b753 100644 | 78 | index c4694a9ddc..d376b76afa 100644 |
79 | --- a/meson.build | 79 | --- a/meson.build |
80 | +++ b/meson.build | 80 | +++ b/meson.build |
81 | @@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] | 81 | @@ -569,6 +569,7 @@ foreach ident : ['secure_getenv', '__secure_getenv'] |
82 | endforeach | 82 | endforeach |
83 | 83 | ||
84 | foreach ident : [ | 84 | foreach ident : [ |
@@ -87,7 +87,7 @@ index 01fd3ffc19..61a872b753 100644 | |||
87 | ['gettid', '''#include <sys/types.h> | 87 | ['gettid', '''#include <sys/types.h> |
88 | #include <unistd.h>'''], | 88 | #include <unistd.h>'''], |
89 | diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c | 89 | diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c |
90 | index 5ac9f904a9..99d5122dd7 100644 | 90 | index b2032adaa5..ee9201826d 100644 |
91 | --- a/src/backlight/backlight.c | 91 | --- a/src/backlight/backlight.c |
92 | +++ b/src/backlight/backlight.c | 92 | +++ b/src/backlight/backlight.c |
93 | @@ -20,6 +20,7 @@ | 93 | @@ -20,6 +20,7 @@ |
@@ -111,7 +111,7 @@ index 18b16ecc0e..d2be79622f 100644 | |||
111 | static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { | 111 | static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) { |
112 | _cleanup_free_ char *fs = NULL; | 112 | _cleanup_free_ char *fs = NULL; |
113 | diff --git a/src/basic/env-util.c b/src/basic/env-util.c | 113 | diff --git a/src/basic/env-util.c b/src/basic/env-util.c |
114 | index d3bf73385f..16b17358ca 100644 | 114 | index a97651d7af..09fa601250 100644 |
115 | --- a/src/basic/env-util.c | 115 | --- a/src/basic/env-util.c |
116 | +++ b/src/basic/env-util.c | 116 | +++ b/src/basic/env-util.c |
117 | @@ -19,6 +19,7 @@ | 117 | @@ -19,6 +19,7 @@ |
@@ -123,7 +123,7 @@ index d3bf73385f..16b17358ca 100644 | |||
123 | /* We follow bash for the character set. Different shells have different rules. */ | 123 | /* We follow bash for the character set. Different shells have different rules. */ |
124 | #define VALID_BASH_ENV_NAME_CHARS \ | 124 | #define VALID_BASH_ENV_NAME_CHARS \ |
125 | diff --git a/src/basic/log.c b/src/basic/log.c | 125 | diff --git a/src/basic/log.c b/src/basic/log.c |
126 | index 1470611a75..9924ec2b9a 100644 | 126 | index 7a443005f6..eed69a48ee 100644 |
127 | --- a/src/basic/log.c | 127 | --- a/src/basic/log.c |
128 | +++ b/src/basic/log.c | 128 | +++ b/src/basic/log.c |
129 | @@ -40,6 +40,7 @@ | 129 | @@ -40,6 +40,7 @@ |
@@ -251,7 +251,7 @@ index f9014dc560..1d7840a5b5 100644 | |||
251 | static clockid_t map_clock_id(clockid_t c) { | 251 | static clockid_t map_clock_id(clockid_t c) { |
252 | 252 | ||
253 | diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c | 253 | diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c |
254 | index 0c0b4f23c7..68fe5ca509 100644 | 254 | index 12dfdf76fa..e66332519a 100644 |
255 | --- a/src/boot/bless-boot.c | 255 | --- a/src/boot/bless-boot.c |
256 | +++ b/src/boot/bless-boot.c | 256 | +++ b/src/boot/bless-boot.c |
257 | @@ -22,6 +22,7 @@ | 257 | @@ -22,6 +22,7 @@ |
@@ -263,7 +263,7 @@ index 0c0b4f23c7..68fe5ca509 100644 | |||
263 | static char **arg_path = NULL; | 263 | static char **arg_path = NULL; |
264 | 264 | ||
265 | diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c | 265 | diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c |
266 | index 4237e694c0..05f9d9d9a9 100644 | 266 | index 8a9570fd21..ac4202e5ce 100644 |
267 | --- a/src/core/dbus-cgroup.c | 267 | --- a/src/core/dbus-cgroup.c |
268 | +++ b/src/core/dbus-cgroup.c | 268 | +++ b/src/core/dbus-cgroup.c |
269 | @@ -25,6 +25,7 @@ | 269 | @@ -25,6 +25,7 @@ |
@@ -275,7 +275,7 @@ index 4237e694c0..05f9d9d9a9 100644 | |||
275 | 275 | ||
276 | BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); | 276 | BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve); |
277 | diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c | 277 | diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c |
278 | index 4daa1cefd3..2c77901471 100644 | 278 | index 2d05ba7e1d..61a7de0037 100644 |
279 | --- a/src/core/dbus-execute.c | 279 | --- a/src/core/dbus-execute.c |
280 | +++ b/src/core/dbus-execute.c | 280 | +++ b/src/core/dbus-execute.c |
281 | @@ -42,6 +42,7 @@ | 281 | @@ -42,6 +42,7 @@ |
@@ -287,10 +287,10 @@ index 4daa1cefd3..2c77901471 100644 | |||
287 | BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); | 287 | BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput); |
288 | static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); | 288 | static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput); |
289 | diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c | 289 | diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c |
290 | index d680a64268..e59f48103e 100644 | 290 | index 7bb026af48..a86128e40c 100644 |
291 | --- a/src/core/dbus-util.c | 291 | --- a/src/core/dbus-util.c |
292 | +++ b/src/core/dbus-util.c | 292 | +++ b/src/core/dbus-util.c |
293 | @@ -9,6 +9,7 @@ | 293 | @@ -10,6 +10,7 @@ |
294 | #include "unit-printf.h" | 294 | #include "unit-printf.h" |
295 | #include "user-util.h" | 295 | #include "user-util.h" |
296 | #include "unit.h" | 296 | #include "unit.h" |
@@ -299,7 +299,7 @@ index d680a64268..e59f48103e 100644 | |||
299 | int bus_property_get_triggered_unit( | 299 | int bus_property_get_triggered_unit( |
300 | sd_bus *bus, | 300 | sd_bus *bus, |
301 | diff --git a/src/core/execute.c b/src/core/execute.c | 301 | diff --git a/src/core/execute.c b/src/core/execute.c |
302 | index ef0bf88687..bd3da0c401 100644 | 302 | index 8dbdfcf369..531bec4c92 100644 |
303 | --- a/src/core/execute.c | 303 | --- a/src/core/execute.c |
304 | +++ b/src/core/execute.c | 304 | +++ b/src/core/execute.c |
305 | @@ -72,6 +72,7 @@ | 305 | @@ -72,6 +72,7 @@ |
@@ -323,7 +323,7 @@ index b8e3f7aadd..8ce8ca68d8 100644 | |||
323 | #if HAVE_KMOD | 323 | #if HAVE_KMOD |
324 | #include "module-util.h" | 324 | #include "module-util.h" |
325 | diff --git a/src/core/service.c b/src/core/service.c | 325 | diff --git a/src/core/service.c b/src/core/service.c |
326 | index b9eb40c555..268fe7573b 100644 | 326 | index 42fffbbd67..80a8d05a19 100644 |
327 | --- a/src/core/service.c | 327 | --- a/src/core/service.c |
328 | +++ b/src/core/service.c | 328 | +++ b/src/core/service.c |
329 | @@ -45,6 +45,7 @@ | 329 | @@ -45,6 +45,7 @@ |
@@ -359,7 +359,7 @@ index 016f3baa7f..b1def81313 100644 | |||
359 | typedef enum MountPointFlags { | 359 | typedef enum MountPointFlags { |
360 | MOUNT_NOAUTO = 1 << 0, | 360 | MOUNT_NOAUTO = 1 << 0, |
361 | diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c | 361 | diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c |
362 | index da0f20d3ce..f22ce41908 100644 | 362 | index 2d380bc7a7..d3f5612728 100644 |
363 | --- a/src/journal-remote/journal-remote-main.c | 363 | --- a/src/journal-remote/journal-remote-main.c |
364 | +++ b/src/journal-remote/journal-remote-main.c | 364 | +++ b/src/journal-remote/journal-remote-main.c |
365 | @@ -27,6 +27,7 @@ | 365 | @@ -27,6 +27,7 @@ |
@@ -371,7 +371,7 @@ index da0f20d3ce..f22ce41908 100644 | |||
371 | #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" | 371 | #define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem" |
372 | #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" | 372 | #define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem" |
373 | diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c | 373 | diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c |
374 | index 7f3dcd56a4..41b7cbaaf1 100644 | 374 | index 87e2f28841..58275f41f1 100644 |
375 | --- a/src/journal/journalctl.c | 375 | --- a/src/journal/journalctl.c |
376 | +++ b/src/journal/journalctl.c | 376 | +++ b/src/journal/journalctl.c |
377 | @@ -77,6 +77,7 @@ | 377 | @@ -77,6 +77,7 @@ |
@@ -383,7 +383,7 @@ index 7f3dcd56a4..41b7cbaaf1 100644 | |||
383 | #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) | 383 | #define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE) |
384 | #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ | 384 | #define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */ |
385 | diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c | 385 | diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c |
386 | index ff0228081f..9066fcb133 100644 | 386 | index ab8b06896d..43f9131205 100644 |
387 | --- a/src/libsystemd/sd-bus/bus-message.c | 387 | --- a/src/libsystemd/sd-bus/bus-message.c |
388 | +++ b/src/libsystemd/sd-bus/bus-message.c | 388 | +++ b/src/libsystemd/sd-bus/bus-message.c |
389 | @@ -19,6 +19,7 @@ | 389 | @@ -19,6 +19,7 @@ |
@@ -407,7 +407,7 @@ index c25c40ff37..57a5da704f 100644 | |||
407 | static int node_vtable_get_userdata( | 407 | static int node_vtable_get_userdata( |
408 | sd_bus *bus, | 408 | sd_bus *bus, |
409 | diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c | 409 | diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c |
410 | index 3c59d0d615..746922d46f 100644 | 410 | index 5ade8e99aa..7553cf319d 100644 |
411 | --- a/src/libsystemd/sd-bus/bus-socket.c | 411 | --- a/src/libsystemd/sd-bus/bus-socket.c |
412 | +++ b/src/libsystemd/sd-bus/bus-socket.c | 412 | +++ b/src/libsystemd/sd-bus/bus-socket.c |
413 | @@ -29,6 +29,7 @@ | 413 | @@ -29,6 +29,7 @@ |
@@ -419,7 +419,7 @@ index 3c59d0d615..746922d46f 100644 | |||
419 | #define SNDBUF_SIZE (8*1024*1024) | 419 | #define SNDBUF_SIZE (8*1024*1024) |
420 | 420 | ||
421 | diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c | 421 | diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c |
422 | index 4a0259f8bb..aaa90d2223 100644 | 422 | index 8befc97460..6ee4d4f595 100644 |
423 | --- a/src/libsystemd/sd-bus/sd-bus.c | 423 | --- a/src/libsystemd/sd-bus/sd-bus.c |
424 | +++ b/src/libsystemd/sd-bus/sd-bus.c | 424 | +++ b/src/libsystemd/sd-bus/sd-bus.c |
425 | @@ -46,6 +46,7 @@ | 425 | @@ -46,6 +46,7 @@ |
@@ -443,7 +443,7 @@ index d988588de0..458df8df9a 100644 | |||
443 | #define MAX_SIZE (2*1024*1024) | 443 | #define MAX_SIZE (2*1024*1024) |
444 | 444 | ||
445 | diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c | 445 | diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c |
446 | index 6b9ff0a4ed..4a5027ad0f 100644 | 446 | index 7a1dd2569f..d187baad47 100644 |
447 | --- a/src/libsystemd/sd-journal/sd-journal.c | 447 | --- a/src/libsystemd/sd-journal/sd-journal.c |
448 | +++ b/src/libsystemd/sd-journal/sd-journal.c | 448 | +++ b/src/libsystemd/sd-journal/sd-journal.c |
449 | @@ -44,6 +44,7 @@ | 449 | @@ -44,6 +44,7 @@ |
@@ -455,7 +455,7 @@ index 6b9ff0a4ed..4a5027ad0f 100644 | |||
455 | #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) | 455 | #define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC) |
456 | 456 | ||
457 | diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c | 457 | diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c |
458 | index b8da266e27..4bb8dd9496 100644 | 458 | index bf45974ca5..2cb7e930c0 100644 |
459 | --- a/src/login/pam_systemd.c | 459 | --- a/src/login/pam_systemd.c |
460 | +++ b/src/login/pam_systemd.c | 460 | +++ b/src/login/pam_systemd.c |
461 | @@ -35,6 +35,7 @@ | 461 | @@ -35,6 +35,7 @@ |
@@ -503,10 +503,10 @@ index c64e79bdff..eda26b0b9a 100644 | |||
503 | static void setup_logging_once(void) { | 503 | static void setup_logging_once(void) { |
504 | static pthread_once_t once = PTHREAD_ONCE_INIT; | 504 | static pthread_once_t once = PTHREAD_ONCE_INIT; |
505 | diff --git a/src/portable/portable.c b/src/portable/portable.c | 505 | diff --git a/src/portable/portable.c b/src/portable/portable.c |
506 | index d4b448a627..bb26623565 100644 | 506 | index 3b2a37912f..835a3fdeaa 100644 |
507 | --- a/src/portable/portable.c | 507 | --- a/src/portable/portable.c |
508 | +++ b/src/portable/portable.c | 508 | +++ b/src/portable/portable.c |
509 | @@ -40,6 +40,7 @@ | 509 | @@ -42,6 +42,7 @@ |
510 | #include "strv.h" | 510 | #include "strv.h" |
511 | #include "tmpfile-util.h" | 511 | #include "tmpfile-util.h" |
512 | #include "user-util.h" | 512 | #include "user-util.h" |
@@ -551,7 +551,7 @@ index 8b462b5627..183ce1c18e 100644 | |||
551 | struct CGroupInfo { | 551 | struct CGroupInfo { |
552 | char *cgroup_path; | 552 | char *cgroup_path; |
553 | diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c | 553 | diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c |
554 | index 4ee9706847..30c8084847 100644 | 554 | index 50de98941f..d47beccb0b 100644 |
555 | --- a/src/shared/bus-unit-util.c | 555 | --- a/src/shared/bus-unit-util.c |
556 | +++ b/src/shared/bus-unit-util.c | 556 | +++ b/src/shared/bus-unit-util.c |
557 | @@ -50,6 +50,7 @@ | 557 | @@ -50,6 +50,7 @@ |
@@ -599,7 +599,7 @@ index 83e9834bbf..74eaae6f5e 100644 | |||
599 | enum { | 599 | enum { |
600 | IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ | 600 | IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */ |
601 | diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c | 601 | diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c |
602 | index a5d04003bd..10392c132d 100644 | 602 | index 0a31be382f..92d629e7e0 100644 |
603 | --- a/src/shared/logs-show.c | 603 | --- a/src/shared/logs-show.c |
604 | +++ b/src/shared/logs-show.c | 604 | +++ b/src/shared/logs-show.c |
605 | @@ -41,6 +41,7 @@ | 605 | @@ -41,6 +41,7 @@ |
@@ -683,7 +683,7 @@ index ed22c8b679..19ebe20237 100644 | |||
683 | UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) { | 683 | UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) { |
684 | UdevEvent *event; | 684 | UdevEvent *event; |
685 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c | 685 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c |
686 | index 5f12002394..febe345b4c 100644 | 686 | index c242549654..e5b8df5c2d 100644 |
687 | --- a/src/udev/udev-rules.c | 687 | --- a/src/udev/udev-rules.c |
688 | +++ b/src/udev/udev-rules.c | 688 | +++ b/src/udev/udev-rules.c |
689 | @@ -41,6 +41,7 @@ | 689 | @@ -41,6 +41,7 @@ |
@@ -694,6 +694,3 @@ index 5f12002394..febe345b4c 100644 | |||
694 | 694 | ||
695 | #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d")) | 695 | #define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d")) |
696 | 696 | ||
697 | -- | ||
698 | 2.34.1 | ||
699 | |||
diff --git a/meta/recipes-core/systemd/systemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch b/meta/recipes-core/systemd/systemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch index 15877bea88..15d25e9f19 100644 --- a/meta/recipes-core/systemd/systemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch +++ b/meta/recipes-core/systemd/systemd/0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch | |||
@@ -1,8 +1,7 @@ | |||
1 | From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001 | 1 | From 2903e42c7cd727a2374d21b78950308de792ebe8 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 14:56:21 +0800 | 3 | Date: Mon, 25 Feb 2019 14:56:21 +0800 |
4 | Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not | 4 | Subject: [PATCH] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not defined |
5 | defined | ||
6 | 5 | ||
7 | If the standard library doesn't provide brace | 6 | If the standard library doesn't provide brace |
8 | expansion users just won't get it. | 7 | expansion users just won't get it. |
@@ -115,7 +114,7 @@ index 9b3e73cce0..3790ba3be5 100644 | |||
115 | 114 | ||
116 | (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); | 115 | (void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL); |
117 | diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c | 116 | diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c |
118 | index 230ec09b97..2cc5f391d7 100644 | 117 | index 6a1c7725a1..138b3ac561 100644 |
119 | --- a/src/tmpfiles/tmpfiles.c | 118 | --- a/src/tmpfiles/tmpfiles.c |
120 | +++ b/src/tmpfiles/tmpfiles.c | 119 | +++ b/src/tmpfiles/tmpfiles.c |
121 | @@ -73,6 +73,12 @@ | 120 | @@ -73,6 +73,12 @@ |
@@ -131,7 +130,7 @@ index 230ec09b97..2cc5f391d7 100644 | |||
131 | /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates | 130 | /* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates |
132 | * them in the file system. This is intended to be used to create | 131 | * them in the file system. This is intended to be used to create |
133 | * properly owned directories beneath /tmp, /var/tmp, /run, which are | 132 | * properly owned directories beneath /tmp, /var/tmp, /run, which are |
134 | @@ -2434,7 +2440,9 @@ finish: | 133 | @@ -2426,7 +2432,9 @@ finish: |
135 | 134 | ||
136 | static int glob_item(Context *c, Item *i, action_t action) { | 135 | static int glob_item(Context *c, Item *i, action_t action) { |
137 | _cleanup_globfree_ glob_t g = { | 136 | _cleanup_globfree_ glob_t g = { |
@@ -141,7 +140,7 @@ index 230ec09b97..2cc5f391d7 100644 | |||
141 | }; | 140 | }; |
142 | int r = 0, k; | 141 | int r = 0, k; |
143 | 142 | ||
144 | @@ -2461,7 +2469,9 @@ static int glob_item_recursively( | 143 | @@ -2453,7 +2461,9 @@ static int glob_item_recursively( |
145 | fdaction_t action) { | 144 | fdaction_t action) { |
146 | 145 | ||
147 | _cleanup_globfree_ glob_t g = { | 146 | _cleanup_globfree_ glob_t g = { |
@@ -151,6 +150,3 @@ index 230ec09b97..2cc5f391d7 100644 | |||
151 | }; | 150 | }; |
152 | int r = 0, k; | 151 | int r = 0, k; |
153 | 152 | ||
154 | -- | ||
155 | 2.34.1 | ||
156 | |||
diff --git a/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch b/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch index a1dfca22cd..deb0e83b6d 100644 --- a/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0005-add-missing-FTW_-macros-for-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001 | 1 | From dcd9639657e4122b7665b01a067219f990ee3ace Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 15:00:06 +0800 | 3 | Date: Mon, 25 Feb 2019 15:00:06 +0800 |
4 | Subject: [PATCH 05/22] add missing FTW_ macros for musl | 4 | Subject: [PATCH] add missing FTW_ macros for musl |
5 | 5 | ||
6 | This is to avoid build failures like below for musl. | 6 | This is to avoid build failures like below for musl. |
7 | 7 | ||
@@ -39,6 +39,3 @@ index 8684d064ec..70fc2b5376 100644 | |||
39 | 39 | ||
40 | static char **list_nftw = NULL; | 40 | static char **list_nftw = NULL; |
41 | 41 | ||
42 | -- | ||
43 | 2.34.1 | ||
44 | |||
diff --git a/meta/recipes-core/systemd/systemd/0006-Use-uintmax_t-for-handling-rlim_t.patch b/meta/recipes-core/systemd/systemd/0006-Use-uintmax_t-for-handling-rlim_t.patch index 4be14b72ec..f02675604d 100644 --- a/meta/recipes-core/systemd/systemd/0006-Use-uintmax_t-for-handling-rlim_t.patch +++ b/meta/recipes-core/systemd/systemd/0006-Use-uintmax_t-for-handling-rlim_t.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001 | 1 | From c58933386caa8e45b5e814ec4ff210b18ab401da Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 15:12:41 +0800 | 3 | Date: Mon, 25 Feb 2019 15:12:41 +0800 |
4 | Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t | 4 | Subject: [PATCH] Use uintmax_t for handling rlim_t |
5 | 5 | ||
6 | PRIu{32,64} is not right format to represent rlim_t type | 6 | PRIu{32,64} is not right format to represent rlim_t type |
7 | therefore use %ju and typecast the rlim_t variables to | 7 | therefore use %ju and typecast the rlim_t variables to |
@@ -86,10 +86,10 @@ index c1f0b2b974..61c5412582 100644 | |||
86 | return 1; | 86 | return 1; |
87 | } | 87 | } |
88 | diff --git a/src/core/execute.c b/src/core/execute.c | 88 | diff --git a/src/core/execute.c b/src/core/execute.c |
89 | index bd3da0c401..df1870fd2f 100644 | 89 | index 531bec4c92..602a95f674 100644 |
90 | --- a/src/core/execute.c | 90 | --- a/src/core/execute.c |
91 | +++ b/src/core/execute.c | 91 | +++ b/src/core/execute.c |
92 | @@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { | 92 | @@ -1041,9 +1041,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) { |
93 | for (unsigned i = 0; i < RLIM_NLIMITS; i++) | 93 | for (unsigned i = 0; i < RLIM_NLIMITS; i++) |
94 | if (c->rlimit[i]) { | 94 | if (c->rlimit[i]) { |
95 | fprintf(f, "%sLimit%s: " RLIM_FMT "\n", | 95 | fprintf(f, "%sLimit%s: " RLIM_FMT "\n", |
@@ -101,6 +101,3 @@ index bd3da0c401..df1870fd2f 100644 | |||
101 | } | 101 | } |
102 | 102 | ||
103 | if (c->ioprio_set) { | 103 | if (c->ioprio_set) { |
104 | -- | ||
105 | 2.34.1 | ||
106 | |||
diff --git a/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch b/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch index 8d6084239e..1d4ce33712 100644 --- a/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch +++ b/meta/recipes-core/systemd/systemd/0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001 | 1 | From 5bf8235bc5c802908aa5d95740350927d87e953a Mon Sep 17 00:00:00 2001 |
2 | From: Andre McCurdy <armccurdy@gmail.com> | 2 | From: Andre McCurdy <armccurdy@gmail.com> |
3 | Date: Tue, 10 Oct 2017 14:33:30 -0700 | 3 | Date: Tue, 10 Oct 2017 14:33:30 -0700 |
4 | Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() | 4 | Subject: [PATCH] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat() |
5 | 5 | ||
6 | Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right | 6 | Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right |
7 | thing to do and it's not portable (not supported by musl). See: | 7 | thing to do and it's not portable (not supported by musl). See: |
@@ -31,7 +31,7 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | |||
31 | 2 files changed, 23 insertions(+), 4 deletions(-) | 31 | 2 files changed, 23 insertions(+), 4 deletions(-) |
32 | 32 | ||
33 | diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h | 33 | diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h |
34 | index 1023ab73ca..c78ff6f27f 100644 | 34 | index 6a1e2e76d1..c3f7235e09 100644 |
35 | --- a/src/basic/fs-util.h | 35 | --- a/src/basic/fs-util.h |
36 | +++ b/src/basic/fs-util.h | 36 | +++ b/src/basic/fs-util.h |
37 | @@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); | 37 | @@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]); |
@@ -64,7 +64,7 @@ index 1023ab73ca..c78ff6f27f 100644 | |||
64 | int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); | 64 | int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode); |
65 | 65 | ||
66 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | 66 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c |
67 | index 569ef466c3..7ae921a113 100644 | 67 | index a4e2dae245..67aa8ea1f2 100644 |
68 | --- a/src/shared/base-filesystem.c | 68 | --- a/src/shared/base-filesystem.c |
69 | +++ b/src/shared/base-filesystem.c | 69 | +++ b/src/shared/base-filesystem.c |
70 | @@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { | 70 | @@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) { |
@@ -94,6 +94,3 @@ index 569ef466c3..7ae921a113 100644 | |||
94 | continue; | 94 | continue; |
95 | } | 95 | } |
96 | 96 | ||
97 | -- | ||
98 | 2.34.1 | ||
99 | |||
diff --git a/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch b/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch index c1a8bb19fe..1ab23553f9 100644 --- a/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch +++ b/meta/recipes-core/systemd/systemd/0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch | |||
@@ -1,8 +1,7 @@ | |||
1 | From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001 | 1 | From d98f6bd4d8acdc4c1a5bff4c699f5004a6ebccce Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sun, 27 May 2018 08:36:44 -0700 | 3 | Date: Sun, 27 May 2018 08:36:44 -0700 |
4 | Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc | 4 | Subject: [PATCH] Define glibc compatible basename() for non-glibc systems |
5 | systems | ||
6 | 5 | ||
7 | Fixes builds with musl, even though systemd is adamant about | 6 | Fixes builds with musl, even though systemd is adamant about |
8 | using non-posix basename implementation, we have a way out | 7 | using non-posix basename implementation, we have a way out |
@@ -29,6 +28,3 @@ index b6d8be3083..0a29036c4c 100644 | |||
29 | static inline char* strstr_ptr(const char *haystack, const char *needle) { | 28 | static inline char* strstr_ptr(const char *haystack, const char *needle) { |
30 | if (!haystack || !needle) | 29 | if (!haystack || !needle) |
31 | return NULL; | 30 | return NULL; |
32 | -- | ||
33 | 2.34.1 | ||
34 | |||
diff --git a/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch b/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch index acff18dc43..8b833ce073 100644 --- a/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch +++ b/meta/recipes-core/systemd/systemd/0008-implment-systemd-sysv-install-for-OE.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001 | 1 | From 5f89867f2b15f9bd411564d04e660cdeedd370ca Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Sat, 5 Sep 2015 06:31:47 +0000 | 3 | Date: Sat, 5 Sep 2015 06:31:47 +0000 |
4 | Subject: [PATCH] implment systemd-sysv-install for OE | 4 | Subject: [PATCH] implment systemd-sysv-install for OE |
@@ -38,6 +38,3 @@ index cb58d8243b..000bdf6165 100755 | |||
38 | ;; | 38 | ;; |
39 | *) | 39 | *) |
40 | usage ;; | 40 | usage ;; |
41 | -- | ||
42 | 2.39.2 | ||
43 | |||
diff --git a/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch b/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch index 3ff0177ae3..98ab397eff 100644 --- a/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch +++ b/meta/recipes-core/systemd/systemd/0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001 | 1 | From f3943f58f3c8a9d20dcada56eb5ca5f673a49b3d Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Wed, 4 Jul 2018 15:00:44 +0800 | 3 | Date: Wed, 4 Jul 2018 15:00:44 +0800 |
4 | Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj | 4 | Subject: [PATCH] Do not disable buffering when writing to oom_score_adj |
5 | 5 | ||
6 | On musl, disabling buffering when writing to oom_score_adj will | 6 | On musl, disabling buffering when writing to oom_score_adj will |
7 | cause the following error. | 7 | cause the following error. |
@@ -24,7 +24,7 @@ Signed-off-by: Scott Murray <scott.murray@konsulko.com> | |||
24 | 1 file changed, 1 insertion(+), 1 deletion(-) | 24 | 1 file changed, 1 insertion(+), 1 deletion(-) |
25 | 25 | ||
26 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c | 26 | diff --git a/src/basic/process-util.c b/src/basic/process-util.c |
27 | index 201c5596ae..ea51595b6c 100644 | 27 | index 4492e7ded2..b61a2aba74 100644 |
28 | --- a/src/basic/process-util.c | 28 | --- a/src/basic/process-util.c |
29 | +++ b/src/basic/process-util.c | 29 | +++ b/src/basic/process-util.c |
30 | @@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) { | 30 | @@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) { |
@@ -36,6 +36,3 @@ index 201c5596ae..ea51595b6c 100644 | |||
36 | } | 36 | } |
37 | 37 | ||
38 | int get_oom_score_adjust(int *ret) { | 38 | int get_oom_score_adjust(int *ret) { |
39 | -- | ||
40 | 2.34.1 | ||
41 | |||
diff --git a/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch b/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch index cf59ac7d06..e1ffe4ddb5 100644 --- a/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch +++ b/meta/recipes-core/systemd/systemd/0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001 | 1 | From 5305c5f18236a9d7f2e633ea6ad317e09e8f29d5 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 | 3 | Date: Tue, 10 Jul 2018 15:40:17 +0800 |
4 | Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi | 4 | Subject: [PATCH] distinguish XSI-compliant strerror_r from GNU-specifi |
5 | strerror_r | 5 | strerror_r |
6 | 6 | ||
7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. | 7 | XSI-compliant strerror_r and GNU-specifi strerror_r are different. |
@@ -24,10 +24,10 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
24 | 2 files changed, 15 insertions(+), 1 deletion(-) | 24 | 2 files changed, 15 insertions(+), 1 deletion(-) |
25 | 25 | ||
26 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c | 26 | diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c |
27 | index 77b2e1a0fd..fdba0e0142 100644 | 27 | index f415797700..a5c6e9a3bd 100644 |
28 | --- a/src/libsystemd/sd-bus/bus-error.c | 28 | --- a/src/libsystemd/sd-bus/bus-error.c |
29 | +++ b/src/libsystemd/sd-bus/bus-error.c | 29 | +++ b/src/libsystemd/sd-bus/bus-error.c |
30 | @@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { | 30 | @@ -410,7 +410,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) { |
31 | return; | 31 | return; |
32 | 32 | ||
33 | errno = 0; | 33 | errno = 0; |
@@ -40,7 +40,7 @@ index 77b2e1a0fd..fdba0e0142 100644 | |||
40 | if (errno == ERANGE || strlen(x) >= k - 1) { | 40 | if (errno == ERANGE || strlen(x) >= k - 1) { |
41 | free(m); | 41 | free(m); |
42 | k *= 2; | 42 | k *= 2; |
43 | @@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static | 43 | @@ -595,8 +600,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static |
44 | 44 | ||
45 | if (e && e->message) | 45 | if (e && e->message) |
46 | return e->message; | 46 | return e->message; |
@@ -71,6 +71,3 @@ index 69a2eb6404..1561859650 100644 | |||
71 | if (errno == 0) { | 71 | if (errno == 0) { |
72 | char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; | 72 | char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1]; |
73 | 73 | ||
74 | -- | ||
75 | 2.34.1 | ||
76 | |||
diff --git a/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch b/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch index e481b2e2e4..3075f9d003 100644 --- a/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch +++ b/meta/recipes-core/systemd/systemd/0011-avoid-redefinition-of-prctl_mm_map-structure.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001 | 1 | From c866c8652f06af4cd0b9bd7eedc606449f432b95 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Mon, 25 Feb 2019 15:44:54 +0800 | 3 | Date: Mon, 25 Feb 2019 15:44:54 +0800 |
4 | Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure | 4 | Subject: [PATCH] avoid redefinition of prctl_mm_map structure |
5 | 5 | ||
6 | Fix the following compile failure: | 6 | Fix the following compile failure: |
7 | error: redefinition of 'struct prctl_mm_map' | 7 | error: redefinition of 'struct prctl_mm_map' |
@@ -27,6 +27,3 @@ index 7d9e395c92..88c2d7dfac 100644 | |||
27 | 27 | ||
28 | /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ | 28 | /* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */ |
29 | #ifndef PR_CAP_AMBIENT | 29 | #ifndef PR_CAP_AMBIENT |
30 | -- | ||
31 | 2.34.1 | ||
32 | |||
diff --git a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch index 66be79077e..0fec84724d 100644 --- a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch +++ b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001 | 1 | From 8464b845e6df1be303e09274c13e653072701671 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Fri, 1 Mar 2019 15:22:15 +0800 | 3 | Date: Fri, 1 Mar 2019 15:22:15 +0800 |
4 | Subject: [PATCH 12/22] do not disable buffer in writing files | 4 | Subject: [PATCH] do not disable buffer in writing files |
5 | 5 | ||
6 | Do not disable buffer in writing files, otherwise we get | 6 | Do not disable buffer in writing files, otherwise we get |
7 | failure at boot for musl like below. | 7 | failure at boot for musl like below. |
@@ -201,7 +201,7 @@ index 61ac4df1a6..ea18970196 100644 | |||
201 | return r; | 201 | return r; |
202 | 202 | ||
203 | diff --git a/src/core/main.c b/src/core/main.c | 203 | diff --git a/src/core/main.c b/src/core/main.c |
204 | index 3f71cc0947..0e5aec3e9e 100644 | 204 | index 1c0030a75f..7108a87d46 100644 |
205 | --- a/src/core/main.c | 205 | --- a/src/core/main.c |
206 | +++ b/src/core/main.c | 206 | +++ b/src/core/main.c |
207 | @@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) { | 207 | @@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) { |
@@ -253,7 +253,7 @@ index 066483e342..5f92dd7064 100644 | |||
253 | log_warning_errno(r, "Failed to drop caches, ignoring: %m"); | 253 | log_warning_errno(r, "Failed to drop caches, ignoring: %m"); |
254 | else | 254 | else |
255 | diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c | 255 | diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c |
256 | index 2fbc619a34..09d9591e37 100644 | 256 | index 01e66b4658..f3ea82ca1b 100644 |
257 | --- a/src/libsystemd/sd-device/sd-device.c | 257 | --- a/src/libsystemd/sd-device/sd-device.c |
258 | +++ b/src/libsystemd/sd-device/sd-device.c | 258 | +++ b/src/libsystemd/sd-device/sd-device.c |
259 | @@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, | 259 | @@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr, |
@@ -279,10 +279,10 @@ index a5002437c6..b12e6cd9c9 100644 | |||
279 | log_error_errno(r, "Failed to move process: %m"); | 279 | log_error_errno(r, "Failed to move process: %m"); |
280 | goto finish; | 280 | goto finish; |
281 | diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c | 281 | diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c |
282 | index 6ab604d3dc..bbec6b686c 100644 | 282 | index 0600f3e014..ea369c32b2 100644 |
283 | --- a/src/nspawn/nspawn.c | 283 | --- a/src/nspawn/nspawn.c |
284 | +++ b/src/nspawn/nspawn.c | 284 | +++ b/src/nspawn/nspawn.c |
285 | @@ -2688,7 +2688,7 @@ static int reset_audit_loginuid(void) { | 285 | @@ -2690,7 +2690,7 @@ static int reset_audit_loginuid(void) { |
286 | if (streq(p, "4294967295")) | 286 | if (streq(p, "4294967295")) |
287 | return 0; | 287 | return 0; |
288 | 288 | ||
@@ -291,7 +291,7 @@ index 6ab604d3dc..bbec6b686c 100644 | |||
291 | if (r < 0) { | 291 | if (r < 0) { |
292 | log_error_errno(r, | 292 | log_error_errno(r, |
293 | "Failed to reset audit login UID. This probably means that your kernel is too\n" | 293 | "Failed to reset audit login UID. This probably means that your kernel is too\n" |
294 | @@ -4141,7 +4141,7 @@ static int setup_uid_map( | 294 | @@ -4143,7 +4143,7 @@ static int setup_uid_map( |
295 | return log_oom(); | 295 | return log_oom(); |
296 | 296 | ||
297 | xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); | 297 | xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid); |
@@ -300,7 +300,7 @@ index 6ab604d3dc..bbec6b686c 100644 | |||
300 | if (r < 0) | 300 | if (r < 0) |
301 | return log_error_errno(r, "Failed to write UID map: %m"); | 301 | return log_error_errno(r, "Failed to write UID map: %m"); |
302 | 302 | ||
303 | @@ -4151,7 +4151,7 @@ static int setup_uid_map( | 303 | @@ -4153,7 +4153,7 @@ static int setup_uid_map( |
304 | return log_oom(); | 304 | return log_oom(); |
305 | 305 | ||
306 | xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); | 306 | xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid); |
@@ -367,10 +367,10 @@ index 805503f366..01a7ccb291 100644 | |||
367 | log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); | 367 | log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); |
368 | } | 368 | } |
369 | diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c | 369 | diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c |
370 | index 3eb13d48f6..d09b901be1 100644 | 370 | index c3991cfa4c..7d522d8d1f 100644 |
371 | --- a/src/shared/hibernate-util.c | 371 | --- a/src/shared/hibernate-util.c |
372 | +++ b/src/shared/hibernate-util.c | 372 | +++ b/src/shared/hibernate-util.c |
373 | @@ -481,7 +481,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { | 373 | @@ -501,7 +501,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { |
374 | 374 | ||
375 | /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so | 375 | /* We write the offset first since it's safer. Note that this file is only available in 4.17+, so |
376 | * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ | 376 | * fail gracefully if it doesn't exist and we're only overwriting it with 0. */ |
@@ -379,7 +379,7 @@ index 3eb13d48f6..d09b901be1 100644 | |||
379 | if (r == -ENOENT) { | 379 | if (r == -ENOENT) { |
380 | if (offset != 0) | 380 | if (offset != 0) |
381 | return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), | 381 | return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP), |
382 | @@ -497,7 +497,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { | 382 | @@ -517,7 +517,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) { |
383 | log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", | 383 | log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.", |
384 | offset_str, device); | 384 | offset_str, device); |
385 | 385 | ||
@@ -402,7 +402,7 @@ index 1f88e724d0..feb18b320a 100644 | |||
402 | return r; | 402 | return r; |
403 | 403 | ||
404 | diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c | 404 | diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c |
405 | index 4c1a968718..6faf6806a5 100644 | 405 | index 99ccefb227..e4975018ab 100644 |
406 | --- a/src/shared/watchdog.c | 406 | --- a/src/shared/watchdog.c |
407 | +++ b/src/shared/watchdog.c | 407 | +++ b/src/shared/watchdog.c |
408 | @@ -93,7 +93,7 @@ static int set_pretimeout_governor(const char *governor) { | 408 | @@ -93,7 +93,7 @@ static int set_pretimeout_governor(const char *governor) { |
@@ -412,10 +412,10 @@ index 4c1a968718..6faf6806a5 100644 | |||
412 | - WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | 412 | - WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); |
413 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); | 413 | + WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE); |
414 | if (r < 0) | 414 | if (r < 0) |
415 | return log_error_errno(r, "Failed to set pretimeout_governor to '%s': %m", governor); | 415 | return log_error_errno(r, "Failed to set watchdog pretimeout_governor to '%s': %m", governor); |
416 | 416 | ||
417 | diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c | 417 | diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c |
418 | index 21af3e9e52..6d4b84b5d5 100644 | 418 | index 21062b24e0..262dd71d72 100644 |
419 | --- a/src/sleep/sleep.c | 419 | --- a/src/sleep/sleep.c |
420 | +++ b/src/sleep/sleep.c | 420 | +++ b/src/sleep/sleep.c |
421 | @@ -137,7 +137,7 @@ static int write_state(int fd, char * const *states) { | 421 | @@ -137,7 +137,7 @@ static int write_state(int fd, char * const *states) { |
@@ -437,7 +437,7 @@ index 21af3e9e52..6d4b84b5d5 100644 | |||
437 | log_debug("Using sleep disk mode '%s'.", *mode); | 437 | log_debug("Using sleep disk mode '%s'.", *mode); |
438 | return 0; | 438 | return 0; |
439 | diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c | 439 | diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c |
440 | index ae63baaf79..82eeca479a 100644 | 440 | index 16d4fb07d4..aca7506463 100644 |
441 | --- a/src/storagetm/storagetm.c | 441 | --- a/src/storagetm/storagetm.c |
442 | +++ b/src/storagetm/storagetm.c | 442 | +++ b/src/storagetm/storagetm.c |
443 | @@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) { | 443 | @@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) { |
@@ -533,7 +533,7 @@ index ae63baaf79..82eeca479a 100644 | |||
533 | return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); | 533 | return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr); |
534 | 534 | ||
535 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c | 535 | diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c |
536 | index febe345b4c..a90b610ba1 100644 | 536 | index e5b8df5c2d..63ca15628c 100644 |
537 | --- a/src/udev/udev-rules.c | 537 | --- a/src/udev/udev-rules.c |
538 | +++ b/src/udev/udev-rules.c | 538 | +++ b/src/udev/udev-rules.c |
539 | @@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_event( | 539 | @@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_event( |
@@ -557,6 +557,3 @@ index 4d82c65f0a..3a3d861b83 100644 | |||
557 | if (r < 0) | 557 | if (r < 0) |
558 | return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); | 558 | return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8)); |
559 | 559 | ||
560 | -- | ||
561 | 2.34.1 | ||
562 | |||
diff --git a/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch b/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch index 43f75373a6..6d7e002d61 100644 --- a/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch +++ b/meta/recipes-core/systemd/systemd/0013-Handle-__cpu_mask-usage.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001 | 1 | From f6b69f28657c09b1181552d85e52ced0e01182e3 Mon Sep 17 00:00:00 2001 |
2 | From: Scott Murray <scott.murray@konsulko.com> | 2 | From: Scott Murray <scott.murray@konsulko.com> |
3 | Date: Fri, 13 Sep 2019 19:26:27 -0400 | 3 | Date: Fri, 13 Sep 2019 19:26:27 -0400 |
4 | Subject: [PATCH 13/22] Handle __cpu_mask usage | 4 | Subject: [PATCH] Handle __cpu_mask usage |
5 | 5 | ||
6 | Fixes errors: | 6 | Fixes errors: |
7 | 7 | ||
@@ -55,6 +55,3 @@ index ea0c58770e..b65c0bd370 100644 | |||
55 | 55 | ||
56 | /* Print information about various types. Useful when diagnosing | 56 | /* Print information about various types. Useful when diagnosing |
57 | * gcc diagnostics on an unfamiliar architecture. */ | 57 | * gcc diagnostics on an unfamiliar architecture. */ |
58 | -- | ||
59 | 2.34.1 | ||
60 | |||
diff --git a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch index a751e1ba6f..40b60399aa 100644 --- a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch +++ b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001 | 1 | From 5442d8ddb285d33b459aefc76962640afd131280 Mon Sep 17 00:00:00 2001 |
2 | From: Alex Kiernan <alex.kiernan@gmail.com> | 2 | From: Alex Kiernan <alex.kiernan@gmail.com> |
3 | Date: Tue, 10 Mar 2020 11:05:20 +0000 | 3 | Date: Tue, 10 Mar 2020 11:05:20 +0000 |
4 | Subject: [PATCH 14/22] Handle missing gshadow | 4 | Subject: [PATCH] Handle missing gshadow |
5 | 5 | ||
6 | gshadow usage is now present in the userdb code. Mask all uses of it to | 6 | gshadow usage is now present in the userdb code. Mask all uses of it to |
7 | allow compilation on musl | 7 | allow compilation on musl |
@@ -168,6 +168,3 @@ index f60d48ace4..e878199a28 100644 | |||
168 | if (r < 0) | 168 | if (r < 0) |
169 | return r; | 169 | return r; |
170 | 170 | ||
171 | -- | ||
172 | 2.34.1 | ||
173 | |||
diff --git a/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch b/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch index e112766a9b..51f0b048fa 100644 --- a/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001 | 1 | From 863dd6f502d53a4a2644e031eee2e8dfa3fd05aa Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 12 Apr 2021 23:44:53 -0700 | 3 | Date: Mon, 12 Apr 2021 23:44:53 -0700 |
4 | Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl | 4 | Subject: [PATCH] missing_syscall.h: Define MIPS ABI defines for musl |
5 | 5 | ||
6 | musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 | 6 | musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64 |
7 | unlike glibc where these are provided by libc headers, therefore define | 7 | unlike glibc where these are provided by libc headers, therefore define |
@@ -16,7 +16,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
16 | 2 files changed, 7 insertions(+) | 16 | 2 files changed, 7 insertions(+) |
17 | 17 | ||
18 | diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h | 18 | diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h |
19 | index d795efd8f2..d6729d3c1d 100644 | 19 | index 86280771c4..20d05db506 100644 |
20 | --- a/src/basic/missing_syscall.h | 20 | --- a/src/basic/missing_syscall.h |
21 | +++ b/src/basic/missing_syscall.h | 21 | +++ b/src/basic/missing_syscall.h |
22 | @@ -20,6 +20,12 @@ | 22 | @@ -20,6 +20,12 @@ |
@@ -33,7 +33,7 @@ index d795efd8f2..d6729d3c1d 100644 | |||
33 | #include "missing_keyctl.h" | 33 | #include "missing_keyctl.h" |
34 | #include "missing_stat.h" | 34 | #include "missing_stat.h" |
35 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c | 35 | diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c |
36 | index 7ae921a113..0ef9d1fd39 100644 | 36 | index 67aa8ea1f2..8d9824495e 100644 |
37 | --- a/src/shared/base-filesystem.c | 37 | --- a/src/shared/base-filesystem.c |
38 | +++ b/src/shared/base-filesystem.c | 38 | +++ b/src/shared/base-filesystem.c |
39 | @@ -20,6 +20,7 @@ | 39 | @@ -20,6 +20,7 @@ |
@@ -44,6 +44,3 @@ index 7ae921a113..0ef9d1fd39 100644 | |||
44 | 44 | ||
45 | typedef struct BaseFilesystem { | 45 | typedef struct BaseFilesystem { |
46 | const char *dir; /* directory or symlink to create */ | 46 | const char *dir; /* directory or symlink to create */ |
47 | -- | ||
48 | 2.34.1 | ||
49 | |||
diff --git a/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch b/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch index 0be817e62d..66b8f66806 100644 --- a/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch +++ b/meta/recipes-core/systemd/systemd/0016-pass-correct-parameters-to-getdents64.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001 | 1 | From 01de9e5a6e4ad2f361d3eb4d9839c7afd91cc677 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 21 Jan 2022 15:15:11 -0800 | 3 | Date: Fri, 21 Jan 2022 15:15:11 -0800 |
4 | Subject: [PATCH 16/22] pass correct parameters to getdents64 | 4 | Subject: [PATCH] pass correct parameters to getdents64 |
5 | 5 | ||
6 | Fixes | 6 | Fixes |
7 | ../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types] | 7 | ../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types] |
@@ -32,6 +32,3 @@ index 5e98b7a5d8..aef065047b 100644 | |||
32 | if (n < 0) | 32 | if (n < 0) |
33 | return -errno; | 33 | return -errno; |
34 | if (n == 0) | 34 | if (n == 0) |
35 | -- | ||
36 | 2.34.1 | ||
37 | |||
diff --git a/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch b/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch index 4176522a1c..f86b8c889c 100644 --- a/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch +++ b/meta/recipes-core/systemd/systemd/0017-Adjust-for-musl-headers.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001 | 1 | From a45cf93772ac5055665cc55454509747b9c68ad2 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 21 Jan 2022 22:19:37 -0800 | 3 | Date: Fri, 21 Jan 2022 22:19:37 -0800 |
4 | Subject: [PATCH 17/22] Adjust for musl headers | 4 | Subject: [PATCH] Adjust for musl headers |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [musl specific] | 6 | Upstream-Status: Inappropriate [musl specific] |
7 | 7 | ||
@@ -425,7 +425,7 @@ index 607fe0053c..9ce4005874 100644 | |||
425 | 425 | ||
426 | #include "sd-dhcp-server.h" | 426 | #include "sd-dhcp-server.h" |
427 | diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c | 427 | diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c |
428 | index efbae6d868..1ea2151d50 100644 | 428 | index 49c452da7c..98aad1f3cd 100644 |
429 | --- a/src/network/networkd-dhcp4.c | 429 | --- a/src/network/networkd-dhcp4.c |
430 | +++ b/src/network/networkd-dhcp4.c | 430 | +++ b/src/network/networkd-dhcp4.c |
431 | @@ -3,7 +3,7 @@ | 431 | @@ -3,7 +3,7 @@ |
@@ -451,7 +451,7 @@ index 32229a3fc7..662a345d6e 100644 | |||
451 | #include "in-addr-util.h" | 451 | #include "in-addr-util.h" |
452 | #include "networkd-address.h" | 452 | #include "networkd-address.h" |
453 | diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c | 453 | diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c |
454 | index ee5f0f2c0a..ea5269a2de 100644 | 454 | index 4ef1be4bad..e5aa53604d 100644 |
455 | --- a/src/network/networkd-link.c | 455 | --- a/src/network/networkd-link.c |
456 | +++ b/src/network/networkd-link.c | 456 | +++ b/src/network/networkd-link.c |
457 | @@ -3,7 +3,7 @@ | 457 | @@ -3,7 +3,7 @@ |
@@ -464,7 +464,7 @@ index ee5f0f2c0a..ea5269a2de 100644 | |||
464 | #include <linux/netdevice.h> | 464 | #include <linux/netdevice.h> |
465 | #include <sys/socket.h> | 465 | #include <sys/socket.h> |
466 | diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c | 466 | diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c |
467 | index ab9eeb13a5..dd96fe7483 100644 | 467 | index 840ccb158d..9f2e85e32f 100644 |
468 | --- a/src/network/networkd-ndisc.c | 468 | --- a/src/network/networkd-ndisc.c |
469 | +++ b/src/network/networkd-ndisc.c | 469 | +++ b/src/network/networkd-ndisc.c |
470 | @@ -6,7 +6,7 @@ | 470 | @@ -6,7 +6,7 @@ |
@@ -477,7 +477,7 @@ index ab9eeb13a5..dd96fe7483 100644 | |||
477 | #include "sd-ndisc.h" | 477 | #include "sd-ndisc.h" |
478 | 478 | ||
479 | diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c | 479 | diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c |
480 | index 7218d799fc..30d5574eae 100644 | 480 | index eb502ae2cf..5b25ee4523 100644 |
481 | --- a/src/network/networkd-route.c | 481 | --- a/src/network/networkd-route.c |
482 | +++ b/src/network/networkd-route.c | 482 | +++ b/src/network/networkd-route.c |
483 | @@ -1,9 +1,5 @@ | 483 | @@ -1,9 +1,5 @@ |
@@ -502,7 +502,7 @@ index 7218d799fc..30d5574eae 100644 | |||
502 | _cleanup_(route_freep) Route *route = NULL; | 502 | _cleanup_(route_freep) Route *route = NULL; |
503 | 503 | ||
504 | diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c | 504 | diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c |
505 | index 2298f9ea3a..7d5f87de53 100644 | 505 | index 011ea1fe6e..59dfe733eb 100644 |
506 | --- a/src/network/networkd-setlink.c | 506 | --- a/src/network/networkd-setlink.c |
507 | +++ b/src/network/networkd-setlink.c | 507 | +++ b/src/network/networkd-setlink.c |
508 | @@ -2,7 +2,7 @@ | 508 | @@ -2,7 +2,7 @@ |
@@ -567,6 +567,3 @@ index f528a46b8e..830318cda5 100644 | |||
567 | #include <linux/netdevice.h> | 567 | #include <linux/netdevice.h> |
568 | #include <linux/pci_regs.h> | 568 | #include <linux/pci_regs.h> |
569 | 569 | ||
570 | -- | ||
571 | 2.34.1 | ||
572 | |||
diff --git a/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch b/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch index 75f6b9094a..67388e6807 100644 --- a/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch +++ b/meta/recipes-core/systemd/systemd/0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch | |||
@@ -1,8 +1,8 @@ | |||
1 | From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001 | 1 | From 20dfb0b5e7113c2e7f82c01488b419dffe8714ab Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 8 Nov 2022 13:31:34 -0800 | 3 | Date: Tue, 8 Nov 2022 13:31:34 -0800 |
4 | Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU | 4 | Subject: [PATCH] test-bus-error: strerror() is assumed to be GNU specific |
5 | specific version mark it so | 5 | version mark it so |
6 | 6 | ||
7 | Upstream-Status: Inappropriate [Upstream systemd only supports glibc] | 7 | Upstream-Status: Inappropriate [Upstream systemd only supports glibc] |
8 | 8 | ||
@@ -47,6 +47,3 @@ index 376d532281..967cfd4d67 100644 | |||
47 | 47 | ||
48 | TEST(PROTECT_ERRNO) { | 48 | TEST(PROTECT_ERRNO) { |
49 | errno = 12; | 49 | errno = 12; |
50 | -- | ||
51 | 2.34.1 | ||
52 | |||
diff --git a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch index e038b73678..36d468959a 100644 --- a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch +++ b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001 | 1 | From 32371040c2aa649e23c3b0f2c5ee27995a16526a Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 23 Jan 2023 23:39:46 -0800 | 3 | Date: Mon, 23 Jan 2023 23:39:46 -0800 |
4 | Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl | 4 | Subject: [PATCH] errno-util: Make STRERROR portable for musl |
5 | 5 | ||
6 | Sadly, systemd has decided to use yet another GNU extention in a macro | 6 | Sadly, systemd has decided to use yet another GNU extention in a macro |
7 | lets make this such that we can use XSI compliant strerror_r() for | 7 | lets make this such that we can use XSI compliant strerror_r() for |
@@ -37,6 +37,3 @@ index 27804e6382..274c1c6ef1 100644 | |||
37 | /* A helper to print an error message or message for functions that return 0 on EOF. | 37 | /* A helper to print an error message or message for functions that return 0 on EOF. |
38 | * Note that we can't use ({ … }) to define a temporary variable, so errnum is | 38 | * Note that we can't use ({ … }) to define a temporary variable, so errnum is |
39 | * evaluated twice. */ | 39 | * evaluated twice. */ |
40 | -- | ||
41 | 2.34.1 | ||
42 | |||
diff --git a/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch b/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch index b83fffe793..f860b5f542 100644 --- a/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch +++ b/meta/recipes-core/systemd/systemd/0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001 | 1 | From 751fb8c9a05115f5329cfa25e69afe7657124c20 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 2 Aug 2023 12:06:27 -0700 | 3 | Date: Wed, 2 Aug 2023 12:06:27 -0700 |
4 | Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc | 4 | Subject: [PATCH] sd-event: Make malloc_trim() conditional on glibc |
5 | 5 | ||
6 | musl does not have this API | 6 | musl does not have this API |
7 | 7 | ||
@@ -12,7 +12,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
12 | 1 file changed, 3 insertions(+), 1 deletion(-) | 12 | 1 file changed, 3 insertions(+), 1 deletion(-) |
13 | 13 | ||
14 | diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c | 14 | diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c |
15 | index 288798a0dc..6419a7f216 100644 | 15 | index b6899df192..0c03287004 100644 |
16 | --- a/src/libsystemd/sd-event/sd-event.c | 16 | --- a/src/libsystemd/sd-event/sd-event.c |
17 | +++ b/src/libsystemd/sd-event/sd-event.c | 17 | +++ b/src/libsystemd/sd-event/sd-event.c |
18 | @@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit( | 18 | @@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit( |
@@ -34,6 +34,3 @@ index 288798a0dc..6419a7f216 100644 | |||
34 | usec_t after_timestamp = now(CLOCK_MONOTONIC); | 34 | usec_t after_timestamp = now(CLOCK_MONOTONIC); |
35 | 35 | ||
36 | if (r > 0) | 36 | if (r > 0) |
37 | -- | ||
38 | 2.34.1 | ||
39 | |||
diff --git a/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch b/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch index 7eff069bb7..ece9873bbc 100644 --- a/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch +++ b/meta/recipes-core/systemd/systemd/0021-shared-Do-not-use-malloc_info-on-musl.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001 | 1 | From 4fe2a8b1aab7297beac50f6ce46f3df4169de218 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 2 Aug 2023 12:20:40 -0700 | 3 | Date: Wed, 2 Aug 2023 12:20:40 -0700 |
4 | Subject: [PATCH 21/22] shared: Do not use malloc_info on musl | 4 | Subject: [PATCH] shared: Do not use malloc_info on musl |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [musl-specific] | 6 | Upstream-Status: Inappropriate [musl-specific] |
7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 7 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
@@ -52,6 +52,3 @@ index 8e70e365dd..9e782caec9 100644 | |||
52 | (void) memstream_dump(LOG_INFO, &m); | 52 | (void) memstream_dump(LOG_INFO, &m); |
53 | break; | 53 | break; |
54 | } | 54 | } |
55 | -- | ||
56 | 2.34.1 | ||
57 | |||
diff --git a/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch b/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch index 24f3bf74a0..f517392e58 100644 --- a/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch +++ b/meta/recipes-core/systemd/systemd/0022-avoid-missing-LOCK_EX-declaration.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | From fd52f1764647e03a35e8f0ed0ef952049073ccbd Mon Sep 17 00:00:00 2001 | 1 | From 97d3ed7834bd86615ba4acdbef984c677b7e7791 Mon Sep 17 00:00:00 2001 |
2 | From: Chen Qi <Qi.Chen@windriver.com> | 2 | From: Chen Qi <Qi.Chen@windriver.com> |
3 | Date: Tue, 2 Jan 2024 11:03:27 +0800 | 3 | Date: Tue, 2 Jan 2024 11:03:27 +0800 |
4 | Subject: [PATCH 22/22] avoid missing LOCK_EX declaration | 4 | Subject: [PATCH] avoid missing LOCK_EX declaration |
5 | 5 | ||
6 | This only happens on MUSL. Include sys/file.h to avoid compilation | 6 | This only happens on MUSL. Include sys/file.h to avoid compilation |
7 | error about missing LOCK_EX declaration. | 7 | error about missing LOCK_EX declaration. |
@@ -15,7 +15,7 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> | |||
15 | 2 files changed, 2 insertions(+) | 15 | 2 files changed, 2 insertions(+) |
16 | 16 | ||
17 | diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c | 17 | diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c |
18 | index 70d963e269..7084811439 100644 | 18 | index fe14ceeb31..521e7b87ff 100644 |
19 | --- a/src/core/exec-invoke.c | 19 | --- a/src/core/exec-invoke.c |
20 | +++ b/src/core/exec-invoke.c | 20 | +++ b/src/core/exec-invoke.c |
21 | @@ -4,6 +4,7 @@ | 21 | @@ -4,6 +4,7 @@ |
@@ -38,6 +38,3 @@ index 5339bc4e5e..0697495f23 100644 | |||
38 | 38 | ||
39 | int lock_dev_console(void); | 39 | int lock_dev_console(void); |
40 | 40 | ||
41 | -- | ||
42 | 2.34.1 | ||
43 | |||
diff --git a/meta/recipes-core/systemd/systemd_255.4.bb b/meta/recipes-core/systemd/systemd_255.6.bb index e7498c802d..62842d43c8 100644 --- a/meta/recipes-core/systemd/systemd_255.4.bb +++ b/meta/recipes-core/systemd/systemd_255.6.bb | |||
@@ -271,14 +271,16 @@ WATCHDOG_TIMEOUT ??= "60" | |||
271 | 271 | ||
272 | do_install() { | 272 | do_install() { |
273 | meson_do_install | 273 | meson_do_install |
274 | # Change the root user's home directory in /lib/sysusers.d/basic.conf. | 274 | if ${@bb.utils.contains('PACKAGECONFIG', 'sysusers', 'true', 'false', d)}; then |
275 | # This is done merely for backward compatibility with previous systemd recipes. | 275 | # Change the root user's home directory in /lib/sysusers.d/basic.conf. |
276 | # systemd hardcodes root user's HOME to be "/root". Changing to use other values | 276 | # This is done merely for backward compatibility with previous systemd recipes. |
277 | # may have unexpected runtime behaviors. | 277 | # systemd hardcodes root user's HOME to be "/root". Changing to use other values |
278 | if [ "${ROOT_HOME}" != "/root" ]; then | 278 | # may have unexpected runtime behaviors. |
279 | bbwarn "Using ${ROOT_HOME} as root user's home directory is not fully supported by systemd" | 279 | if [ "${ROOT_HOME}" != "/root" ]; then |
280 | sed -i -e 's#/root#${ROOT_HOME}#g' ${D}${exec_prefix}/lib/sysusers.d/basic.conf | 280 | bbwarn "Using ${ROOT_HOME} as root user's home directory is not fully supported by systemd" |
281 | fi | 281 | sed -i -e 's#/root#${ROOT_HOME}#g' ${D}${exec_prefix}/lib/sysusers.d/basic.conf |
282 | fi | ||
283 | fi | ||
282 | install -d ${D}/${base_sbindir} | 284 | install -d ${D}/${base_sbindir} |
283 | if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then | 285 | if ${@bb.utils.contains('PACKAGECONFIG', 'serial-getty-generator', 'false', 'true', d)}; then |
284 | # Provided by a separate recipe | 286 | # Provided by a separate recipe |
@@ -291,15 +293,15 @@ do_install() { | |||
291 | 293 | ||
292 | install -d ${D}${sysconfdir}/udev/rules.d/ | 294 | install -d ${D}${sysconfdir}/udev/rules.d/ |
293 | install -d ${D}${nonarch_libdir}/tmpfiles.d | 295 | install -d ${D}${nonarch_libdir}/tmpfiles.d |
294 | for rule in $(find ${WORKDIR} -maxdepth 1 -type f -name "*.rules"); do | 296 | for rule in $(find ${UNPACKDIR} -maxdepth 1 -type f -name "*.rules"); do |
295 | install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ | 297 | install -m 0644 $rule ${D}${sysconfdir}/udev/rules.d/ |
296 | done | 298 | done |
297 | 299 | ||
298 | install -m 0644 ${WORKDIR}/00-create-volatile.conf ${D}${nonarch_libdir}/tmpfiles.d/ | 300 | install -m 0644 ${UNPACKDIR}/00-create-volatile.conf ${D}${nonarch_libdir}/tmpfiles.d/ |
299 | 301 | ||
300 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then | 302 | if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then |
301 | install -d ${D}${sysconfdir}/init.d | 303 | install -d ${D}${sysconfdir}/init.d |
302 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd | 304 | install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/systemd-udevd |
303 | sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd | 305 | sed -i s%@UDEVD@%${rootlibexecdir}/systemd/systemd-udevd% ${D}${sysconfdir}/init.d/systemd-udevd |
304 | install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install | 306 | install -Dm 0755 ${S}/src/systemctl/systemd-sysv-install.SKELETON ${D}${systemd_unitdir}/systemd-sysv-install |
305 | fi | 307 | fi |
@@ -370,9 +372,9 @@ do_install() { | |||
370 | # request hostname changes via DBUS without elevating its privileges | 372 | # request hostname changes via DBUS without elevating its privileges |
371 | if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then | 373 | if ${@bb.utils.contains('PACKAGECONFIG', 'polkit_hostnamed_fallback', 'true', 'false', d)}; then |
372 | install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ | 374 | install -d ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ |
373 | install -m 0644 ${WORKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ | 375 | install -m 0644 ${UNPACKDIR}/00-hostnamed-network-user.conf ${D}${systemd_system_unitdir}/systemd-hostnamed.service.d/ |
374 | install -d ${D}${datadir}/dbus-1/system.d/ | 376 | install -d ${D}${datadir}/dbus-1/system.d/ |
375 | install -m 0644 ${WORKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ | 377 | install -m 0644 ${UNPACKDIR}/org.freedesktop.hostname1_no_polkit.conf ${D}${datadir}/dbus-1/system.d/ |
376 | fi | 378 | fi |
377 | 379 | ||
378 | # create link for existing udev rules | 380 | # create link for existing udev rules |
@@ -380,10 +382,10 @@ do_install() { | |||
380 | 382 | ||
381 | # install default policy for presets | 383 | # install default policy for presets |
382 | # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto | 384 | # https://www.freedesktop.org/wiki/Software/systemd/Preset/#howto |
383 | install -Dm 0644 ${WORKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset | 385 | install -Dm 0644 ${UNPACKDIR}/99-default.preset ${D}${systemd_unitdir}/system-preset/99-default.preset |
384 | 386 | ||
385 | # add a profile fragment to disable systemd pager with busybox less | 387 | # add a profile fragment to disable systemd pager with busybox less |
386 | install -Dm 0644 ${WORKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh | 388 | install -Dm 0644 ${UNPACKDIR}/systemd-pager.sh ${D}${sysconfdir}/profile.d/systemd-pager.sh |
387 | 389 | ||
388 | if [ -n "${WATCHDOG_TIMEOUT}" ]; then | 390 | if [ -n "${WATCHDOG_TIMEOUT}" ]; then |
389 | sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \ | 391 | sed -i -e 's/#RebootWatchdogSec=10min/RebootWatchdogSec=${WATCHDOG_TIMEOUT}/' \ |
diff --git a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index 6bbe517df1..6ff2ca1bf4 100644 --- a/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb | |||
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;m | |||
6 | SRC_URI = "file://inittab \ | 6 | SRC_URI = "file://inittab \ |
7 | file://start_getty" | 7 | file://start_getty" |
8 | 8 | ||
9 | S = "${WORKDIR}" | 9 | S = "${WORKDIR}/sources" |
10 | UNPACKDIR = "${S}" | ||
10 | 11 | ||
11 | INHIBIT_DEFAULT_DEPS = "1" | 12 | INHIBIT_DEFAULT_DEPS = "1" |
12 | 13 | ||
@@ -16,9 +17,9 @@ do_compile() { | |||
16 | 17 | ||
17 | do_install() { | 18 | do_install() { |
18 | install -d ${D}${sysconfdir} | 19 | install -d ${D}${sysconfdir} |
19 | install -m 0644 ${WORKDIR}/inittab ${D}${sysconfdir}/inittab | 20 | install -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab |
20 | install -d ${D}${base_bindir} | 21 | install -d ${D}${base_bindir} |
21 | install -m 0755 ${WORKDIR}/start_getty ${D}${base_bindir}/start_getty | 22 | install -m 0755 ${S}/start_getty ${D}${base_bindir}/start_getty |
22 | sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty | 23 | sed -e 's,/usr/bin,${bindir},g' -i ${D}${base_bindir}/start_getty |
23 | 24 | ||
24 | CONSOLES="${SERIAL_CONSOLES}" | 25 | CONSOLES="${SERIAL_CONSOLES}" |
diff --git a/meta/recipes-core/sysvinit/sysvinit_3.04.bb b/meta/recipes-core/sysvinit/sysvinit_3.04.bb index 6a612468f3..fb9d00891c 100644 --- a/meta/recipes-core/sysvinit/sysvinit_3.04.bb +++ b/meta/recipes-core/sysvinit/sysvinit_3.04.bb | |||
@@ -97,18 +97,18 @@ do_install () { | |||
97 | 97 | ||
98 | sed -e \ | 98 | sed -e \ |
99 | 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ | 99 | 's:#PSPLASH_TEXT#:${@bb.utils.contains("PACKAGECONFIG","psplash-text-updates","yes","no", d)}:g' \ |
100 | ${WORKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS | 100 | ${UNPACKDIR}/rcS-default > ${D}${sysconfdir}/default/rcS |
101 | chmod 0644 ${D}${sysconfdir}/default/rcS | 101 | chmod 0644 ${D}${sysconfdir}/default/rcS |
102 | install -m 0755 ${WORKDIR}/rc ${D}${sysconfdir}/init.d | 102 | install -m 0755 ${UNPACKDIR}/rc ${D}${sysconfdir}/init.d |
103 | install -m 0755 ${WORKDIR}/rcS ${D}${sysconfdir}/init.d | 103 | install -m 0755 ${UNPACKDIR}/rcS ${D}${sysconfdir}/init.d |
104 | install -m 0755 ${WORKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd | 104 | install -m 0755 ${UNPACKDIR}/bootlogd.init ${D}${sysconfdir}/init.d/bootlogd |
105 | ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd | 105 | ln -sf bootlogd ${D}${sysconfdir}/init.d/stop-bootlogd |
106 | 106 | ||
107 | update-rc.d -r ${D} bootlogd start 07 S . | 107 | update-rc.d -r ${D} bootlogd start 07 S . |
108 | update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . | 108 | update-rc.d -r ${D} stop-bootlogd start 99 2 3 4 5 . |
109 | 109 | ||
110 | install -d ${D}${sysconfdir}/default/volatiles | 110 | install -d ${D}${sysconfdir}/default/volatiles |
111 | install -m 0644 ${WORKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles | 111 | install -m 0644 ${UNPACKDIR}/01_bootlogd ${D}${sysconfdir}/default/volatiles |
112 | 112 | ||
113 | chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown | 113 | chown root:shutdown ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown |
114 | chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown | 114 | chmod o-x,u+s ${D}${base_sbindir}/halt ${D}${base_sbindir}/shutdown |
diff --git a/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb b/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb index 9a8be15dab..815f625a67 100644 --- a/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb +++ b/meta/recipes-core/ttyrun/ttyrun_2.32.0.bb | |||
@@ -9,6 +9,8 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=f5118f167b055bfd7c3450803f1847af" | |||
9 | SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master" | 9 | SRC_URI = "git://github.com/ibm-s390-linux/s390-tools;protocol=https;branch=master" |
10 | SRCREV = "9eea78b3ad8ab3710fb3b2d80b9cd058d7c8aba7" | 10 | SRCREV = "9eea78b3ad8ab3710fb3b2d80b9cd058d7c8aba7" |
11 | 11 | ||
12 | CVE_PRODUCT = "s390-tools" | ||
13 | |||
12 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
13 | 15 | ||
14 | EXTRA_OEMAKE = "\ | 16 | EXTRA_OEMAKE = "\ |
diff --git a/meta/recipes-core/udev/eudev_3.2.14.bb b/meta/recipes-core/udev/eudev_3.2.14.bb index 18696679c8..0e5610f77c 100644 --- a/meta/recipes-core/udev/eudev_3.2.14.bb +++ b/meta/recipes-core/udev/eudev_3.2.14.bb | |||
@@ -42,12 +42,12 @@ PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" | |||
42 | 42 | ||
43 | do_install:append() { | 43 | do_install:append() { |
44 | install -d ${D}${sysconfdir}/init.d | 44 | install -d ${D}${sysconfdir}/init.d |
45 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/udev | 45 | install -m 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/udev |
46 | sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev | 46 | sed -i s%@UDEVD@%${base_sbindir}/udevd% ${D}${sysconfdir}/init.d/udev |
47 | sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev | 47 | sed -i s%@KMOD@%${base_bindir}/kmod% ${D}${sysconfdir}/init.d/udev |
48 | 48 | ||
49 | install -d ${D}${sysconfdir}/udev/rules.d | 49 | install -d ${D}${sysconfdir}/udev/rules.d |
50 | install -m 0644 ${WORKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules | 50 | install -m 0644 ${UNPACKDIR}/local.rules ${D}${sysconfdir}/udev/rules.d/local.rules |
51 | 51 | ||
52 | # Use classic network interface naming scheme if no 'pni-names' distro feature | 52 | # Use classic network interface naming scheme if no 'pni-names' distro feature |
53 | if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then | 53 | if ${@bb.utils.contains('DISTRO_FEATURES', 'pni-names', 'false', 'true', d)}; then |
diff --git a/meta/recipes-core/udev/udev-extraconf_1.1.bb b/meta/recipes-core/udev/udev-extraconf_1.1.bb index 30f1fe76d0..0e2abcd424 100644 --- a/meta/recipes-core/udev/udev-extraconf_1.1.bb +++ b/meta/recipes-core/udev/udev-extraconf_1.1.bb | |||
@@ -13,28 +13,29 @@ SRC_URI = " \ | |||
13 | file://localextra.rules \ | 13 | file://localextra.rules \ |
14 | " | 14 | " |
15 | 15 | ||
16 | S = "${WORKDIR}" | 16 | S = "${WORKDIR}/sources" |
17 | UNPACKDIR = "${S}" | ||
17 | 18 | ||
18 | MOUNT_BASE = "/run/media" | 19 | MOUNT_BASE = "/run/media" |
19 | 20 | ||
20 | do_install() { | 21 | do_install() { |
21 | install -d ${D}${sysconfdir}/udev/rules.d | 22 | install -d ${D}${sysconfdir}/udev/rules.d |
22 | 23 | ||
23 | install -m 0644 ${WORKDIR}/automount.rules ${D}${sysconfdir}/udev/rules.d/automount.rules | 24 | install -m 0644 ${S}/automount.rules ${D}${sysconfdir}/udev/rules.d/automount.rules |
24 | install -m 0644 ${WORKDIR}/autonet.rules ${D}${sysconfdir}/udev/rules.d/autonet.rules | 25 | install -m 0644 ${S}/autonet.rules ${D}${sysconfdir}/udev/rules.d/autonet.rules |
25 | install -m 0644 ${WORKDIR}/localextra.rules ${D}${sysconfdir}/udev/rules.d/localextra.rules | 26 | install -m 0644 ${S}/localextra.rules ${D}${sysconfdir}/udev/rules.d/localextra.rules |
26 | 27 | ||
27 | install -d ${D}${sysconfdir}/udev/mount.ignorelist.d | 28 | install -d ${D}${sysconfdir}/udev/mount.ignorelist.d |
28 | install -m 0644 ${WORKDIR}/mount.ignorelist ${D}${sysconfdir}/udev/ | 29 | install -m 0644 ${S}/mount.ignorelist ${D}${sysconfdir}/udev/ |
29 | 30 | ||
30 | install -d ${D}${sysconfdir}/udev/scripts/ | 31 | install -d ${D}${sysconfdir}/udev/scripts/ |
31 | 32 | ||
32 | install -m 0755 ${WORKDIR}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh | 33 | install -m 0755 ${S}/mount.sh ${D}${sysconfdir}/udev/scripts/mount.sh |
33 | sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh | 34 | sed -i 's|@systemd_unitdir@|${systemd_unitdir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh |
34 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh | 35 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${sysconfdir}/udev/scripts/mount.sh |
35 | sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh | 36 | sed -i 's|@MOUNT_BASE@|${MOUNT_BASE}|g' ${D}${sysconfdir}/udev/scripts/mount.sh |
36 | 37 | ||
37 | install -m 0755 ${WORKDIR}/network.sh ${D}${sysconfdir}/udev/scripts | 38 | install -m 0755 ${S}/network.sh ${D}${sysconfdir}/udev/scripts |
38 | } | 39 | } |
39 | 40 | ||
40 | pkg_postinst:${PN} () { | 41 | pkg_postinst:${PN} () { |
diff --git a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb index ba622fe716..27723c88ef 100644 --- a/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb +++ b/meta/recipes-core/update-rc.d/update-rc.d_0.8.bb | |||
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://update-rc.d;beginline=5;endline=15;md5=d40a07c27f5354 | |||
8 | 8 | ||
9 | SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https" | 9 | SRC_URI = "git://git.yoctoproject.org/update-rc.d;branch=master;protocol=https" |
10 | SRCREV = "b8f950105010270a768aa12245d6abf166346015" | 10 | SRCREV = "b8f950105010270a768aa12245d6abf166346015" |
11 | PV .= "+git" | ||
11 | 12 | ||
12 | UPSTREAM_CHECK_COMMITS = "1" | 13 | UPSTREAM_CHECK_COMMITS = "1" |
13 | 14 | ||
diff --git a/meta/recipes-core/util-linux/util-linux_2.39.3.bb b/meta/recipes-core/util-linux/util-linux_2.39.3.bb index 83b3f4e05b..2cd7750afc 100644 --- a/meta/recipes-core/util-linux/util-linux_2.39.3.bb +++ b/meta/recipes-core/util-linux/util-linux_2.39.3.bb | |||
@@ -148,7 +148,7 @@ SYSTEMD_SERVICE:${PN}-fstrim = "fstrim.timer fstrim.service" | |||
148 | SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable" | 148 | SYSTEMD_AUTO_ENABLE:${PN}-fstrim = "disable" |
149 | 149 | ||
150 | do_compile:append () { | 150 | do_compile:append () { |
151 | cp ${WORKDIR}/fcntl-lock.c ${S}/fcntl-lock.c | 151 | cp ${UNPACKDIR}/fcntl-lock.c ${S}/fcntl-lock.c |
152 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock | 152 | ${CC} ${CFLAGS} ${LDFLAGS} ${S}/fcntl-lock.c -o ${B}/fcntl-lock |
153 | } | 153 | } |
154 | 154 | ||
@@ -194,8 +194,8 @@ do_install () { | |||
194 | do_install:append:class-target () { | 194 | do_install:append:class-target () { |
195 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then | 195 | if [ "${@bb.utils.filter('PACKAGECONFIG', 'pam', d)}" ]; then |
196 | install -d ${D}${sysconfdir}/pam.d | 196 | install -d ${D}${sysconfdir}/pam.d |
197 | install -m 0644 ${WORKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser | 197 | install -m 0644 ${UNPACKDIR}/runuser.pamd ${D}${sysconfdir}/pam.d/runuser |
198 | install -m 0644 ${WORKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l | 198 | install -m 0644 ${UNPACKDIR}/runuser-l.pamd ${D}${sysconfdir}/pam.d/runuser-l |
199 | # Required for "su -" aka "su --login" because | 199 | # Required for "su -" aka "su --login" because |
200 | # otherwise it uses "other", which has "auth pam_deny.so" | 200 | # otherwise it uses "other", which has "auth pam_deny.so" |
201 | # and thus prevents the operation. | 201 | # and thus prevents the operation. |
@@ -282,8 +282,11 @@ blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 | |||
282 | mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ | 282 | mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ |
283 | " | 283 | " |
284 | ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" | 284 | ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" |
285 | ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'chfn-chsh', 'chfn.1 chsh.1', '', d)}" | ||
285 | 286 | ||
286 | ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" | 287 | ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" |
288 | ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1" | ||
289 | ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1" | ||
287 | ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" | 290 | ALTERNATIVE_LINK_NAME[eject.1] = "${mandir}/man1/eject.1" |
288 | ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" | 291 | ALTERNATIVE_LINK_NAME[findfs.8] = "${mandir}/man8/findfs.8" |
289 | ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" | 292 | ALTERNATIVE_LINK_NAME[fsck.8] = "${mandir}/man8/fsck.8" |
@@ -319,7 +322,7 @@ do_install_ptest() { | |||
319 | cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ | 322 | cp ${S}/tests/*.sh ${D}${PTEST_PATH}/tests/ |
320 | cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected | 323 | cp -pR ${S}/tests/expected ${D}${PTEST_PATH}/tests/expected |
321 | cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ | 324 | cp -pR ${S}/tests/ts ${D}${PTEST_PATH}/tests/ |
322 | cp ${WORKDIR}/build/config.h ${D}${PTEST_PATH} | 325 | cp ${B}/config.h ${D}${PTEST_PATH} |
323 | 326 | ||
324 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest | 327 | sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest |
325 | 328 | ||
diff --git a/meta/recipes-core/volatile-binds/volatile-binds.bb b/meta/recipes-core/volatile-binds/volatile-binds.bb index cca8a65fb4..3597ec7356 100644 --- a/meta/recipes-core/volatile-binds/volatile-binds.bb +++ b/meta/recipes-core/volatile-binds/volatile-binds.bb | |||
@@ -9,7 +9,8 @@ SRC_URI = "\ | |||
9 | file://volatile-binds.service.in \ | 9 | file://volatile-binds.service.in \ |
10 | " | 10 | " |
11 | 11 | ||
12 | S = "${WORKDIR}" | 12 | S = "${WORKDIR}/sources" |
13 | UNPACKDIR = "${S}" | ||
13 | 14 | ||
14 | inherit allarch systemd features_check | 15 | inherit allarch systemd features_check |
15 | 16 | ||
@@ -64,7 +65,6 @@ END | |||
64 | "$var_lib_servicefile" | 65 | "$var_lib_servicefile" |
65 | fi | 66 | fi |
66 | } | 67 | } |
67 | do_compile[dirs] = "${WORKDIR}" | ||
68 | 68 | ||
69 | do_install () { | 69 | do_install () { |
70 | install -d ${D}${base_sbindir} | 70 | install -d ${D}${base_sbindir} |
@@ -82,4 +82,3 @@ do_install () { | |||
82 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/etc.conf | 82 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/etc.conf |
83 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/home.conf | 83 | ln -s /dev/null ${D}${sysconfdir}/tmpfiles.d/home.conf |
84 | } | 84 | } |
85 | do_install[dirs] = "${WORKDIR}" | ||
diff --git a/meta/recipes-devtools/apt/apt_2.6.1.bb b/meta/recipes-devtools/apt/apt_2.6.1.bb index fb4ff899d2..68bd7c5407 100644 --- a/meta/recipes-devtools/apt/apt_2.6.1.bb +++ b/meta/recipes-devtools/apt/apt_2.6.1.bb | |||
@@ -49,7 +49,7 @@ DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash" | |||
49 | 49 | ||
50 | EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ | 50 | EXTRA_OECMAKE:append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ |
51 | -DDPKG_DATADIR=${datadir}/dpkg \ | 51 | -DDPKG_DATADIR=${datadir}/dpkg \ |
52 | -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ | 52 | -DTRIEHASH_EXECUTABLE=${UNPACKDIR}/triehash \ |
53 | -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ | 53 | -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ |
54 | -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ | 54 | -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ |
55 | -DWITH_TESTS=False \ | 55 | -DWITH_TESTS=False \ |
diff --git a/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch b/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch index 8f74c639d5..05f1ed0dc5 100644 --- a/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch +++ b/meta/recipes-devtools/binutils/binutils/0008-Use-libtool-2.4.patch | |||
@@ -19543,18 +19543,6 @@ index 3701bd8e796..9e36ae7c51c 100755 | |||
19543 | # FIXME: first we should search . and the directory the executable is in | 19543 | # FIXME: first we should search . and the directory the executable is in |
19544 | shlibpath_var=PATH | 19544 | shlibpath_var=PATH |
19545 | ;; | 19545 | ;; |
19546 | @@ -13596,7 +14245,11 @@ else | ||
19547 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
19548 | lt_status=$lt_dlunknown | ||
19549 | cat > conftest.$ac_ext <<_LT_EOF | ||
19550 | +<<<<<<< HEAD | ||
19551 | #line 13599 "configure" | ||
19552 | +======= | ||
19553 | +#line $LINENO "configure" | ||
19554 | +>>>>>>> b932158cf4c (Use libtool 2.4) | ||
19555 | #include "confdefs.h" | ||
19556 | |||
19557 | #if HAVE_DLFCN_H | ||
19558 | @@ -13640,10 +14293,10 @@ else | 19546 | @@ -13640,10 +14293,10 @@ else |
19559 | /* When -fvisbility=hidden is used, assume the code has been annotated | 19547 | /* When -fvisbility=hidden is used, assume the code has been annotated |
19560 | correspondingly for the symbols needed. */ | 19548 | correspondingly for the symbols needed. */ |
@@ -19568,18 +19556,6 @@ index 3701bd8e796..9e36ae7c51c 100755 | |||
19568 | int main () | 19556 | int main () |
19569 | { | 19557 | { |
19570 | void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | 19558 | void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); |
19571 | @@ -13702,7 +14355,11 @@ else | ||
19572 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
19573 | lt_status=$lt_dlunknown | ||
19574 | cat > conftest.$ac_ext <<_LT_EOF | ||
19575 | +<<<<<<< HEAD | ||
19576 | #line 13705 "configure" | ||
19577 | +======= | ||
19578 | +#line $LINENO "configure" | ||
19579 | +>>>>>>> b932158cf4c (Use libtool 2.4) | ||
19580 | #include "confdefs.h" | ||
19581 | |||
19582 | #if HAVE_DLFCN_H | ||
19583 | @@ -13746,10 +14403,10 @@ else | 19559 | @@ -13746,10 +14403,10 @@ else |
19584 | /* When -fvisbility=hidden is used, assume the code has been annotated | 19560 | /* When -fvisbility=hidden is used, assume the code has been annotated |
19585 | correspondingly for the symbols needed. */ | 19561 | correspondingly for the symbols needed. */ |
diff --git a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb index 4d8ce4c741..8a211366bf 100644 --- a/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb +++ b/meta/recipes-devtools/bootchart2/bootchart2_0.14.9.bb | |||
@@ -132,7 +132,7 @@ do_install () { | |||
132 | 132 | ||
133 | oe_runmake install NO_PYTHON_COMPILE=1 | 133 | oe_runmake install NO_PYTHON_COMPILE=1 |
134 | install -d ${D}${sysconfdir}/init.d | 134 | install -d ${D}${sysconfdir}/init.d |
135 | install -m 0755 ${WORKDIR}/bootchartd_stop.sh ${D}${sysconfdir}/init.d | 135 | install -m 0755 ${UNPACKDIR}/bootchartd_stop.sh ${D}${sysconfdir}/init.d |
136 | 136 | ||
137 | echo 'EXIT_PROC="$EXIT_PROC matchbox-window-manager"' >> ${D}${sysconfdir}/bootchartd.conf | 137 | echo 'EXIT_PROC="$EXIT_PROC matchbox-window-manager"' >> ${D}${sysconfdir}/bootchartd.conf |
138 | 138 | ||
diff --git a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb index bf8be1ad0c..4f70ac01db 100644 --- a/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb +++ b/meta/recipes-devtools/cdrtools/cdrtools-native_3.01.bb | |||
@@ -19,17 +19,21 @@ SRC_URI = " \ | |||
19 | SRC_URI[md5sum] = "7d45c5b7e1f78d85d1583b361aee6e8b" | 19 | SRC_URI[md5sum] = "7d45c5b7e1f78d85d1583b361aee6e8b" |
20 | SRC_URI[sha256sum] = "ed282eb6276c4154ce6a0b5dee0bdb81940d0cbbfc7d03f769c4735ef5f5860f" | 20 | SRC_URI[sha256sum] = "ed282eb6276c4154ce6a0b5dee0bdb81940d0cbbfc7d03f769c4735ef5f5860f" |
21 | 21 | ||
22 | EXTRA_OEMAKE = "-e MAKEFLAGS=" | 22 | EXTRA_OEMAKE = "-e MAKEFLAGS= CPPOPTX='${CPPFLAGS}' COPTX='${CFLAGS}' C++OPTX='${CXXFLAGS}' LDOPTX='${LDFLAGS}' GMAKE_NOWARN='true'" |
23 | 23 | ||
24 | # Stop failures when 'cc' can't be found | 24 | # Stop failures when 'cc' can't be found |
25 | export ac_cv_prog_CC = "${CC}" | 25 | export ac_cv_prog_CC = "${CC}" |
26 | 26 | ||
27 | inherit native | 27 | inherit native |
28 | 28 | ||
29 | # Use -std=gnu89 to build with gcc-14 (https://bugs.gentoo.org/903876) | ||
30 | # this needs to be after native inherit (which sets CFLAGS to BUILD_CFLAGS) | ||
31 | CFLAGS += "-std=gnu89" | ||
32 | |||
29 | do_configure() { | 33 | do_configure() { |
30 | install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/autoconf | 34 | install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}/autoconf |
31 | install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/autoconf | 35 | install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}/autoconf |
32 | install -m 0644 ${WORKDIR}/riscv64-linux-gcc.rul ${S}/RULES/ | 36 | install -m 0644 ${UNPACKDIR}/riscv64-linux-gcc.rul ${S}/RULES/ |
33 | } | 37 | } |
34 | 38 | ||
35 | do_install() { | 39 | do_install() { |
diff --git a/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb b/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb index 546d117156..7f89441fb4 100644 --- a/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb +++ b/meta/recipes-devtools/cmake/cmake-native_3.28.3.bb | |||
@@ -54,9 +54,9 @@ do_install() { | |||
54 | # The following codes are here because eSDK needs to provide compatibilty | 54 | # The following codes are here because eSDK needs to provide compatibilty |
55 | # for SDK. That is, eSDK could also be used like traditional SDK. | 55 | # for SDK. That is, eSDK could also be used like traditional SDK. |
56 | mkdir -p ${D}${datadir}/cmake | 56 | mkdir -p ${D}${datadir}/cmake |
57 | install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ | 57 | install -m 644 ${UNPACKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ |
58 | mkdir -p ${D}${base_prefix}/environment-setup.d | 58 | mkdir -p ${D}${base_prefix}/environment-setup.d |
59 | install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh | 59 | install -m 644 ${UNPACKDIR}/environment.d-cmake.sh ${D}${base_prefix}/environment-setup.d/cmake.sh |
60 | 60 | ||
61 | # Help docs create tons of files in the native sysroot and aren't needed there | 61 | # Help docs create tons of files in the native sysroot and aren't needed there |
62 | rm -rf ${D}${datadir}/cmake-*/Help | 62 | rm -rf ${D}${datadir}/cmake-*/Help |
diff --git a/meta/recipes-devtools/cmake/cmake_3.28.3.bb b/meta/recipes-devtools/cmake/cmake_3.28.3.bb index 6a9a3266df..9146fa8c0f 100644 --- a/meta/recipes-devtools/cmake/cmake_3.28.3.bb +++ b/meta/recipes-devtools/cmake/cmake_3.28.3.bb | |||
@@ -48,15 +48,15 @@ EXTRA_OECMAKE=" \ | |||
48 | 48 | ||
49 | do_install:append:class-nativesdk() { | 49 | do_install:append:class-nativesdk() { |
50 | mkdir -p ${D}${datadir}/cmake | 50 | mkdir -p ${D}${datadir}/cmake |
51 | install -m 644 ${WORKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ | 51 | install -m 644 ${UNPACKDIR}/OEToolchainConfig.cmake ${D}${datadir}/cmake/ |
52 | 52 | ||
53 | mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d | 53 | mkdir -p ${D}${SDKPATHNATIVE}/environment-setup.d |
54 | install -m 644 ${WORKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh | 54 | install -m 644 ${UNPACKDIR}/environment.d-cmake.sh ${D}${SDKPATHNATIVE}/environment-setup.d/cmake.sh |
55 | 55 | ||
56 | # install cmake-setup.py to create arch-specific toolchain cmake file from template | 56 | # install cmake-setup.py to create arch-specific toolchain cmake file from template |
57 | install -m 0644 ${WORKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/ | 57 | install -m 0644 ${UNPACKDIR}/SDKToolchainConfig.cmake.template ${D}${datadir}/cmake/ |
58 | install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d | 58 | install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d |
59 | install -m 0755 ${WORKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ | 59 | install -m 0755 ${UNPACKDIR}/cmake-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ |
60 | } | 60 | } |
61 | 61 | ||
62 | FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}" | 62 | FILES:${PN}:append:class-nativesdk = " ${SDKPATHNATIVE}" |
diff --git a/meta/recipes-devtools/devel-config/distcc-config.bb b/meta/recipes-devtools/devel-config/distcc-config.bb index 698fd3585a..2c30488b82 100644 --- a/meta/recipes-devtools/devel-config/distcc-config.bb +++ b/meta/recipes-devtools/devel-config/distcc-config.bb | |||
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
6 | 6 | ||
7 | SRC_URI = "file://distcc.sh" | 7 | SRC_URI = "file://distcc.sh" |
8 | 8 | ||
9 | S = "${WORKDIR}" | 9 | S = "${WORKDIR}/sources" |
10 | UNPACKDIR = "${S}" | ||
10 | 11 | ||
11 | # Default to the host machine for a running qemu session | 12 | # Default to the host machine for a running qemu session |
12 | DISTCC_HOSTS ?= "192.168.7.1" | 13 | DISTCC_HOSTS ?= "192.168.7.1" |
diff --git a/meta/recipes-devtools/devel-config/nfs-export-root.bb b/meta/recipes-devtools/devel-config/nfs-export-root.bb index 5e69962d7c..ad5486aa87 100644 --- a/meta/recipes-devtools/devel-config/nfs-export-root.bb +++ b/meta/recipes-devtools/devel-config/nfs-export-root.bb | |||
@@ -3,10 +3,10 @@ DESCRIPTION = "Enables NFS access from any host to the entire filesystem (for de | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
5 | 5 | ||
6 | |||
7 | SRC_URI = "file://exports" | 6 | SRC_URI = "file://exports" |
8 | 7 | ||
9 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
10 | 10 | ||
11 | do_install() { | 11 | do_install() { |
12 | install -d ${D}${sysconfdir} | 12 | install -d ${D}${sysconfdir} |
diff --git a/meta/recipes-devtools/distcc/distcc_3.4.bb b/meta/recipes-devtools/distcc/distcc_3.4.bb index 45fc7cde53..ab138b3ab6 100644 --- a/meta/recipes-devtools/distcc/distcc_3.4.bb +++ b/meta/recipes-devtools/distcc/distcc_3.4.bb | |||
@@ -50,10 +50,10 @@ do_install() { | |||
50 | oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install | 50 | oe_runmake 'DESTDIR=${D}' "GZIP_BIN=gzip -n" install |
51 | install -d ${D}${sysconfdir}/init.d/ | 51 | install -d ${D}${sysconfdir}/init.d/ |
52 | install -d ${D}${sysconfdir}/default | 52 | install -d ${D}${sysconfdir}/default |
53 | install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/ | 53 | install -m 0755 ${UNPACKDIR}/distcc ${D}${sysconfdir}/init.d/ |
54 | install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc | 54 | install -m 0755 ${UNPACKDIR}/default ${D}${sysconfdir}/default/distcc |
55 | install -d ${D}${systemd_system_unitdir}/ | 55 | install -d ${D}${systemd_system_unitdir}/ |
56 | install -m 0644 ${WORKDIR}/distcc.service ${D}${systemd_system_unitdir} | 56 | install -m 0644 ${UNPACKDIR}/distcc.service ${D}${systemd_system_unitdir} |
57 | sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/distcc.service | 57 | sed -i -e 's,@BINDIR@,${bindir},g' ${D}${systemd_system_unitdir}/distcc.service |
58 | } | 58 | } |
59 | 59 | ||
diff --git a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb index e4b4201b1f..5229a0366c 100644 --- a/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb +++ b/meta/recipes-devtools/docbook-xml/docbook-xml-dtd4_4.5.bb | |||
@@ -8,7 +8,7 @@ HOMEPAGE = "https://docbook.org" | |||
8 | # upgrading this recipe, please verify whether this is still needed. | 8 | # upgrading this recipe, please verify whether this is still needed. |
9 | 9 | ||
10 | LICENSE = "OASIS" | 10 | LICENSE = "OASIS" |
11 | LIC_FILES_CHKSUM = "file://${WORKDIR}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e" | 11 | LIC_FILES_CHKSUM = "file://${S}/LICENSE-OASIS;md5=c608985dd5f7f215e669e7639a0b1d2e" |
12 | 12 | ||
13 | # To support apps with xml schema backward compatibility, we must | 13 | # To support apps with xml schema backward compatibility, we must |
14 | # install a set of schemas. Install the latest based on PV and then | 14 | # install a set of schemas. Install the latest based on PV and then |
@@ -41,7 +41,8 @@ SRC_URI[payloadPV.sha256sum] = "4e4e037a2b83c98c6c94818390d4bdd3f6e10f6ec62dd791 | |||
41 | 41 | ||
42 | UPSTREAM_CHECK_REGEX = "docbook-xml-(?P<pver>4(\.\d+)).zip" | 42 | UPSTREAM_CHECK_REGEX = "docbook-xml-(?P<pver>4(\.\d+)).zip" |
43 | 43 | ||
44 | S = "${WORKDIR}" | 44 | S = "${WORKDIR}/sources" |
45 | UNPACKDIR = "${S}" | ||
45 | 46 | ||
46 | do_configure (){ | 47 | do_configure (){ |
47 | : | 48 | : |
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.22.5.bb b/meta/recipes-devtools/dpkg/dpkg_1.22.6.bb index 9f1d00e208..3f5f7395e0 100644 --- a/meta/recipes-devtools/dpkg/dpkg_1.22.5.bb +++ b/meta/recipes-devtools/dpkg/dpkg_1.22.6.bb | |||
@@ -17,6 +17,6 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https;branch=main | |||
17 | 17 | ||
18 | SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" | 18 | SRC_URI:append:class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch" |
19 | 19 | ||
20 | SRCREV = "1c92a4a8bfbeea30ceb0109b096c4ec845e3c6ce" | 20 | SRCREV = "b2f9600ead232a2dd3c27f8b52807a9ca5854d17" |
21 | 21 | ||
22 | S = "${WORKDIR}/git" | 22 | S = "${WORKDIR}/git" |
diff --git a/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb b/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb index c596497b8e..8e42b12b77 100644 --- a/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb +++ b/meta/recipes-devtools/dwarfsrcfiles/dwarfsrcfiles.bb | |||
@@ -1,19 +1,22 @@ | |||
1 | SUMMARY = "A small utility for printing debug source file locations embedded in binaries" | 1 | SUMMARY = "A small utility for printing debug source file locations embedded in binaries" |
2 | DESCRIPTION = "${SUMMARY}" | 2 | DESCRIPTION = "${SUMMARY}" |
3 | LICENSE = "GPL-2.0-or-later" | 3 | LICENSE = "GPL-2.0-or-later" |
4 | LIC_FILES_CHKSUM = "file://../dwarfsrcfiles.c;md5=31483894e453a77acbb67847565f1b5c;beginline=1;endline=8" | 4 | LIC_FILES_CHKSUM = "file://dwarfsrcfiles.c;md5=31483894e453a77acbb67847565f1b5c;beginline=1;endline=8" |
5 | 5 | ||
6 | SRC_URI = "file://dwarfsrcfiles.c" | 6 | SRC_URI = "file://dwarfsrcfiles.c" |
7 | BBCLASSEXTEND = "native" | 7 | BBCLASSEXTEND = "native" |
8 | DEPENDS = "elfutils" | 8 | DEPENDS = "elfutils" |
9 | DEPENDS:append:libc-musl = " argp-standalone" | 9 | DEPENDS:append:libc-musl = " argp-standalone" |
10 | 10 | ||
11 | S = "${WORKDIR}/sources" | ||
12 | UNPACKDIR = "${S}" | ||
13 | |||
11 | do_compile () { | 14 | do_compile () { |
12 | ${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ../dwarfsrcfiles.c -lelf -ldw | 15 | ${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ${S}/dwarfsrcfiles.c -lelf -ldw |
13 | } | 16 | } |
14 | 17 | ||
15 | do_compile:libc-musl () { | 18 | do_compile:libc-musl () { |
16 | ${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ../dwarfsrcfiles.c -lelf -ldw -largp | 19 | ${CC} ${CFLAGS} ${LDFLAGS} -o dwarfsrcfiles ${S}/dwarfsrcfiles.c -lelf -ldw -largp |
17 | } | 20 | } |
18 | 21 | ||
19 | do_install () { | 22 | do_install () { |
diff --git a/meta/recipes-devtools/expect/expect/0001-Resolve-string-formatting-issues.patch b/meta/recipes-devtools/expect/expect/0001-Resolve-string-formatting-issues.patch index af1d8c626c..bfb6dcd89a 100644 --- a/meta/recipes-devtools/expect/expect/0001-Resolve-string-formatting-issues.patch +++ b/meta/recipes-devtools/expect/expect/0001-Resolve-string-formatting-issues.patch | |||
@@ -3,7 +3,7 @@ From: Alexander Kanavin <alex.kanavin@gmail.com> | |||
3 | Date: Thu, 23 Mar 2017 13:44:41 +0200 | 3 | Date: Thu, 23 Mar 2017 13:44:41 +0200 |
4 | Subject: [PATCH] Resolve string formatting issues. | 4 | Subject: [PATCH] Resolve string formatting issues. |
5 | 5 | ||
6 | Upstream-Status: Inappropriate [upstream seems dead] | 6 | Upstream-Status: Inactive-Upstream [no activity since 2018; cvs server went read-only] |
7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | 7 | Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> |
8 | --- | 8 | --- |
9 | exp_clib.c | 4 ++-- | 9 | exp_clib.c | 4 ++-- |
diff --git a/meta/recipes-devtools/expect/expect/0001-configure.in.patch b/meta/recipes-devtools/expect/expect/0001-configure.in.patch index 7595a254a8..618c4bee8e 100644 --- a/meta/recipes-devtools/expect/expect/0001-configure.in.patch +++ b/meta/recipes-devtools/expect/expect/0001-configure.in.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | Allow cross compiling. | 1 | Allow cross compiling. |
2 | 2 | ||
3 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> | 3 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> |
4 | Upstream-Status: Pending | 4 | Upstream-Status: Inactive-Upstream [no activity since 2018; cvs server went read-only] |
5 | --- | 5 | --- |
6 | diff -uNr a/configure.in b/configure.in | 6 | diff -uNr a/configure.in b/configure.in |
7 | --- a/configure.in 2012-12-14 15:31:32.623180450 +0100 | 7 | --- a/configure.in 2012-12-14 15:31:32.623180450 +0100 |
diff --git a/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch b/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch index 37512fb9bc..d73f4c3421 100644 --- a/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch +++ b/meta/recipes-devtools/expect/expect/0001-exp_main_sub.c-Use-PATH_MAX-for-path.patch | |||
@@ -10,7 +10,7 @@ Aborted (core dumped) | |||
10 | 10 | ||
11 | Use PATH_MAX to fix the problem. | 11 | Use PATH_MAX to fix the problem. |
12 | 12 | ||
13 | Upstream-Status: Pending [Upstream seems dead] | 13 | Upstream-Status: Inactive-Upstream [no activity since 2018; cvs server went read-only] |
14 | 14 | ||
15 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | 15 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> |
16 | --- | 16 | --- |
diff --git a/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch b/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch index b1d322d5c9..40f7f3bd85 100644 --- a/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch +++ b/meta/recipes-devtools/expect/expect/0001-expect-Fix-segfaults-if-Tcl-is-built-with-stubs-and-.patch | |||
@@ -42,7 +42,7 @@ Example: | |||
42 | } | 42 | } |
43 | Author: Sergei Golovan <sgolovan@debian.org> | 43 | Author: Sergei Golovan <sgolovan@debian.org> |
44 | 44 | ||
45 | Upstream-Status: Pending | 45 | Upstream-Status: Inactive-Upstream [no activity since 2018; cvs server went read-only] |
46 | This patch is backported from fedora changes for expect: | 46 | This patch is backported from fedora changes for expect: |
47 | http://pkgs.fedoraproject.org/cgit/rpms/expect.git/commit/ | 47 | http://pkgs.fedoraproject.org/cgit/rpms/expect.git/commit/ |
48 | ?h=master&id=b6737eed550be93182f2ed194e836a6cbbcf4fa3 | 48 | ?h=master&id=b6737eed550be93182f2ed194e836a6cbbcf4fa3 |
diff --git a/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch b/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch index dc4c6ba406..eb178f462a 100644 --- a/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch +++ b/meta/recipes-devtools/expect/expect/0002-tcl.m4.patch | |||
@@ -1,7 +1,7 @@ | |||
1 | Use proper -L path when cross compiling. | 1 | Use proper -L path when cross compiling. |
2 | 2 | ||
3 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> | 3 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> |
4 | Upstream-Status: Pending | 4 | Upstream-Status: Inactive-Upstream [no activity since 2018; cvs server went read-only] |
5 | --- | 5 | --- |
6 | diff -uNr a/tclconfig/tcl.m4 b/tclconfig/tcl.m4 | 6 | diff -uNr a/tclconfig/tcl.m4 b/tclconfig/tcl.m4 |
7 | --- a/tclconfig/tcl.m4 2012-12-14 09:16:58.789861281 +0100 | 7 | --- a/tclconfig/tcl.m4 2012-12-14 09:16:58.789861281 +0100 |
diff --git a/meta/recipes-devtools/expect/expect_5.45.4.bb b/meta/recipes-devtools/expect/expect_5.45.4.bb index 7b610b1ff2..18904ebc10 100644 --- a/meta/recipes-devtools/expect/expect_5.45.4.bb +++ b/meta/recipes-devtools/expect/expect_5.45.4.bb | |||
@@ -81,3 +81,7 @@ FILES:${PN} += "${libdir}/libexpect${PV}.so \ | |||
81 | " | 81 | " |
82 | 82 | ||
83 | BBCLASSEXTEND = "native nativesdk" | 83 | BBCLASSEXTEND = "native nativesdk" |
84 | |||
85 | # http://errors.yoctoproject.org/Errors/Details/766950/ | ||
86 | # expect5.45.4/exp_chan.c:62:5: error: initialization of 'struct Tcl_ChannelTypeVersion_ *' from incompatible pointer type 'int (*)(void *, int)' [-Wincompatible-pointer-types] | ||
87 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-devtools/gcc/gcc-13.2.inc b/meta/recipes-devtools/gcc/gcc-14.1.inc index 603377a49a..c639cb51f4 100644 --- a/meta/recipes-devtools/gcc/gcc-13.2.inc +++ b/meta/recipes-devtools/gcc/gcc-14.1.inc | |||
@@ -2,11 +2,11 @@ require gcc-common.inc | |||
2 | 2 | ||
3 | # Third digit in PV should be incremented after a minor release | 3 | # Third digit in PV should be incremented after a minor release |
4 | 4 | ||
5 | PV = "13.2.0" | 5 | PV = "14.1.0" |
6 | 6 | ||
7 | # BINV should be incremented to a revision after a minor gcc release | 7 | # BINV should be incremented to a revision after a minor gcc release |
8 | 8 | ||
9 | BINV = "13.2.0" | 9 | BINV = "14.1.0" |
10 | 10 | ||
11 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" | 11 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" |
12 | 12 | ||
@@ -28,16 +28,19 @@ LIC_FILES_CHKSUM = "\ | |||
28 | #SOURCEDIR = "gcc-${RELEASE}" | 28 | #SOURCEDIR = "gcc-${RELEASE}" |
29 | #BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${PV}-${RELEASE}.tar.gz" | 29 | #BASEURI ?= "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${PV}-${RELEASE}.tar.gz" |
30 | #SOURCEDIR ?= "official-gcc-${@'${RELEASE}'[0:7]}" | 30 | #SOURCEDIR ?= "official-gcc-${@'${RELEASE}'[0:7]}" |
31 | #SRC_URI[sha256sum] = "41bf7be5dc029112a9df625266e7de030ffc36ff3638f270b180ae8c91fe6449" | ||
31 | 32 | ||
32 | # from snapshot | 33 | # from snapshot |
33 | #RELEASE ?= "13-20230520" | 34 | #RELEASE ?= "14-20240504" |
34 | #SOURCEDIR ?= "gcc-${RELEASE}" | ||
35 | #BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz" | 35 | #BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz" |
36 | #SOURCEDIR ?= "gcc-${RELEASE}" | ||
37 | #SRC_URI[sha256sum] = "34ac232bbf31e0cd5752fd344c2cf55719aaaad2ca0096593e01c97a3d5e274e" | ||
36 | 38 | ||
37 | # official release | 39 | # official release |
38 | RELEASE ?= "${PV}" | 40 | RELEASE ?= "${PV}" |
39 | BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" | 41 | BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" |
40 | SOURCEDIR ?= "gcc-${PV}" | 42 | SOURCEDIR ?= "gcc-${PV}" |
43 | SRC_URI[sha256sum] = "e283c654987afe3de9d8080bc0bd79534b5ca0d681a73a11ff2b5d3767426840" | ||
41 | 44 | ||
42 | SRC_URI = "${BASEURI} \ | 45 | SRC_URI = "${BASEURI} \ |
43 | file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ | 46 | file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ |
@@ -65,11 +68,7 @@ SRC_URI = "${BASEURI} \ | |||
65 | file://0023-Fix-install-path-of-linux64.h.patch \ | 68 | file://0023-Fix-install-path-of-linux64.h.patch \ |
66 | file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \ | 69 | file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \ |
67 | file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ | 70 | file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ |
68 | file://CVE-2023-4039.patch \ | ||
69 | file://0026-aarch64-Fix-loose-ldpstp-check-PR111411.patch \ | ||
70 | file://0027-Fix-gcc-vect-module-testcases.patch \ | ||
71 | " | 71 | " |
72 | SRC_URI[sha256sum] = "e275e76442a6067341a27f04c5c6b83d8613144004c0413528863dc6b5c743da" | ||
73 | 72 | ||
74 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" | 73 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" |
75 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" | 74 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" |
@@ -116,4 +115,3 @@ EXTRA_OECONF_PATHS = "\ | |||
116 | " | 115 | " |
117 | 116 | ||
118 | CVE_STATUS[CVE-2021-37322] = "cpe-incorrect: Is a binutils 2.26 issue, not gcc" | 117 | CVE_STATUS[CVE-2021-37322] = "cpe-incorrect: Is a binutils 2.26 issue, not gcc" |
119 | CVE_STATUS[CVE-2023-4039] = "fixed-version: Fixed via CVE-2023-4039.patch included here. Set the status explictly to deal with all recipes that share the gcc-source" | ||
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_13.2.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_14.1.bb index bf53c5cd78..bf53c5cd78 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-cross_13.2.bb b/meta/recipes-devtools/gcc/gcc-cross_14.1.bb index b43cca0c52..b43cca0c52 100644 --- a/meta/recipes-devtools/gcc/gcc-cross_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc-cross_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_13.2.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_14.1.bb index 40a6c4feff..40a6c4feff 100644 --- a/meta/recipes-devtools/gcc/gcc-crosssdk_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc-crosssdk_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc index dbc9141000..89b0bebcfb 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime.inc +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc | |||
@@ -92,7 +92,7 @@ do_install () { | |||
92 | mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include | 92 | mv ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/* ${D}${libdir}/${TARGET_SYS}/${BINV}/include |
93 | rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include | 93 | rmdir --ignore-fail-on-non-empty -p ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include |
94 | fi | 94 | fi |
95 | rm -rf ${D}${infodir}/libgomp.info ${D}${infodir}/dir | 95 | rm -rf ${D}${infodir}/libgomp.info* ${D}${infodir}/dir |
96 | rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir | 96 | rm -rf ${D}${infodir}/libitm.info ${D}${infodir}/dir |
97 | rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir | 97 | rm -rf ${D}${infodir}/libquadmath.info ${D}${infodir}/dir |
98 | if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then | 98 | if [ -d ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/finclude ]; then |
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_13.2.bb b/meta/recipes-devtools/gcc/gcc-runtime_14.1.bb index dd430b57eb..dd430b57eb 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_13.2.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_14.1.bb index 8bda2ccad6..8bda2ccad6 100644 --- a/meta/recipes-devtools/gcc/gcc-sanitizers_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc-sanitizers_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-source_13.2.bb b/meta/recipes-devtools/gcc/gcc-source_14.1.bb index b890fa33ea..b890fa33ea 100644 --- a/meta/recipes-devtools/gcc/gcc-source_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc-source_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch index 5c75698eda..0b7c0af86f 100644 --- a/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch +++ b/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 553564bdcabdcc5d4cc4de73c7eb94c505ef51f5 Mon Sep 17 00:00:00 2001 | 1 | From 76ef337260aadeb475fd380ff9aca31ea1731345 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 08:37:11 +0400 | 3 | Date: Fri, 29 Mar 2013 08:37:11 +0400 |
4 | Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET | 4 | Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET |
@@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific] | |||
12 | 2 files changed, 2 insertions(+), 2 deletions(-) | 12 | 2 files changed, 2 insertions(+), 2 deletions(-) |
13 | 13 | ||
14 | diff --git a/configure b/configure | 14 | diff --git a/configure b/configure |
15 | index 117a7ef23f2..535265253fd 100755 | 15 | index 02b435c1163..85a82fad302 100755 |
16 | --- a/configure | 16 | --- a/configure |
17 | +++ b/configure | 17 | +++ b/configure |
18 | @@ -10195,7 +10195,7 @@ fi | 18 | @@ -10387,7 +10387,7 @@ fi |
19 | # for target_alias and gcc doesn't manage it consistently. | 19 | # for target_alias and gcc doesn't manage it consistently. |
20 | target_configargs="--cache-file=./config.cache ${target_configargs}" | 20 | target_configargs="--cache-file=./config.cache ${target_configargs}" |
21 | 21 | ||
@@ -25,10 +25,10 @@ index 117a7ef23f2..535265253fd 100755 | |||
25 | *" newlib "*) | 25 | *" newlib "*) |
26 | case " $target_configargs " in | 26 | case " $target_configargs " in |
27 | diff --git a/configure.ac b/configure.ac | 27 | diff --git a/configure.ac b/configure.ac |
28 | index b3e9bbd2aa5..5ac8d6490f6 100644 | 28 | index 1a19c07a27b..bc8e1b8c4ef 100644 |
29 | --- a/configure.ac | 29 | --- a/configure.ac |
30 | +++ b/configure.ac | 30 | +++ b/configure.ac |
31 | @@ -3351,7 +3351,7 @@ fi | 31 | @@ -3509,7 +3509,7 @@ fi |
32 | # for target_alias and gcc doesn't manage it consistently. | 32 | # for target_alias and gcc doesn't manage it consistently. |
33 | target_configargs="--cache-file=./config.cache ${target_configargs}" | 33 | target_configargs="--cache-file=./config.cache ${target_configargs}" |
34 | 34 | ||
diff --git a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch index 492300047d..76aa69c26e 100644 --- a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch +++ b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 52676b5934ba127c3af39fc484c8236c8fa60b96 Mon Sep 17 00:00:00 2001 | 1 | From 05be69910c99d739ce9246a3bb9426fa6d9f19d4 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 8 Mar 2021 16:04:20 -0800 | 3 | Date: Mon, 8 Mar 2021 16:04:20 -0800 |
4 | Subject: [PATCH] gcc: poison-system-directories | 4 | Subject: [PATCH] gcc: poison-system-directories |
@@ -25,10 +25,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
25 | 7 files changed, 86 insertions(+), 2 deletions(-) | 25 | 7 files changed, 86 insertions(+), 2 deletions(-) |
26 | 26 | ||
27 | diff --git a/gcc/common.opt b/gcc/common.opt | 27 | diff --git a/gcc/common.opt b/gcc/common.opt |
28 | index 862c474d3c8..64c4277c991 100644 | 28 | index ad348844775..df3992b420d 100644 |
29 | --- a/gcc/common.opt | 29 | --- a/gcc/common.opt |
30 | +++ b/gcc/common.opt | 30 | +++ b/gcc/common.opt |
31 | @@ -711,6 +711,10 @@ Wreturn-local-addr | 31 | @@ -715,6 +715,10 @@ Wreturn-local-addr |
32 | Common Var(warn_return_local_addr) Init(1) Warning | 32 | Common Var(warn_return_local_addr) Init(1) Warning |
33 | Warn about returning a pointer/reference to a local or temporary variable. | 33 | Warn about returning a pointer/reference to a local or temporary variable. |
34 | 34 | ||
@@ -40,10 +40,10 @@ index 862c474d3c8..64c4277c991 100644 | |||
40 | Common Var(warn_shadow) Warning | 40 | Common Var(warn_shadow) Warning |
41 | Warn when one variable shadows another. Same as -Wshadow=global. | 41 | Warn when one variable shadows another. Same as -Wshadow=global. |
42 | diff --git a/gcc/config.in b/gcc/config.in | 42 | diff --git a/gcc/config.in b/gcc/config.in |
43 | index 4cad077bfbe..80e832fdb84 100644 | 43 | index f3de4ba6776..3ce3113510b 100644 |
44 | --- a/gcc/config.in | 44 | --- a/gcc/config.in |
45 | +++ b/gcc/config.in | 45 | +++ b/gcc/config.in |
46 | @@ -236,6 +236,16 @@ | 46 | @@ -249,6 +249,16 @@ |
47 | #endif | 47 | #endif |
48 | 48 | ||
49 | 49 | ||
@@ -61,18 +61,18 @@ index 4cad077bfbe..80e832fdb84 100644 | |||
61 | optimizer and back end) to be checked for dynamic type safety at runtime. | 61 | optimizer and back end) to be checked for dynamic type safety at runtime. |
62 | This is quite expensive. */ | 62 | This is quite expensive. */ |
63 | diff --git a/gcc/configure b/gcc/configure | 63 | diff --git a/gcc/configure b/gcc/configure |
64 | index c7b26d1927d..3508be7b439 100755 | 64 | index 266ab8f84b2..3c346acbce0 100755 |
65 | --- a/gcc/configure | 65 | --- a/gcc/configure |
66 | +++ b/gcc/configure | 66 | +++ b/gcc/configure |
67 | @@ -1026,6 +1026,7 @@ enable_maintainer_mode | 67 | @@ -1050,6 +1050,7 @@ enable_maintainer_mode |
68 | enable_link_mutex | 68 | enable_link_mutex |
69 | enable_link_serialization | 69 | enable_link_serialization |
70 | enable_version_specific_runtime_libs | 70 | enable_version_specific_runtime_libs |
71 | +enable_poison_system_directories | 71 | +enable_poison_system_directories |
72 | enable_plugin | 72 | enable_plugin |
73 | enable_host_shared | 73 | enable_host_shared |
74 | enable_libquadmath_support | 74 | enable_host_pie |
75 | @@ -1788,6 +1789,8 @@ Optional Features: | 75 | @@ -1823,6 +1824,8 @@ Optional Features: |
76 | --enable-version-specific-runtime-libs | 76 | --enable-version-specific-runtime-libs |
77 | specify that runtime libraries should be installed | 77 | specify that runtime libraries should be installed |
78 | in a compiler-specific directory | 78 | in a compiler-specific directory |
@@ -80,8 +80,8 @@ index c7b26d1927d..3508be7b439 100755 | |||
80 | + warn for use of native system header directories | 80 | + warn for use of native system header directories |
81 | --enable-plugin enable plugin support | 81 | --enable-plugin enable plugin support |
82 | --enable-host-shared build host code as shared libraries | 82 | --enable-host-shared build host code as shared libraries |
83 | --disable-libquadmath-support | 83 | --enable-host-pie build host code as PIE |
84 | @@ -31753,6 +31756,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : | 84 | @@ -34020,6 +34023,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : |
85 | fi | 85 | fi |
86 | 86 | ||
87 | 87 | ||
@@ -105,10 +105,10 @@ index c7b26d1927d..3508be7b439 100755 | |||
105 | 105 | ||
106 | 106 | ||
107 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 107 | diff --git a/gcc/configure.ac b/gcc/configure.ac |
108 | index 09082e8ccae..6cd01a8966b 100644 | 108 | index a5aec1bc967..4d8123085b8 100644 |
109 | --- a/gcc/configure.ac | 109 | --- a/gcc/configure.ac |
110 | +++ b/gcc/configure.ac | 110 | +++ b/gcc/configure.ac |
111 | @@ -7292,6 +7292,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, | 111 | @@ -7518,6 +7518,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, |
112 | [specify that runtime libraries should be | 112 | [specify that runtime libraries should be |
113 | installed in a compiler-specific directory])]) | 113 | installed in a compiler-specific directory])]) |
114 | 114 | ||
@@ -132,10 +132,10 @@ index 09082e8ccae..6cd01a8966b 100644 | |||
132 | AC_SUBST(subdirs) | 132 | AC_SUBST(subdirs) |
133 | AC_SUBST(srcdir) | 133 | AC_SUBST(srcdir) |
134 | diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi | 134 | diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi |
135 | index de40f62e219..d6f203c8b71 100644 | 135 | index 1006510fc6a..389155f8ed5 100644 |
136 | --- a/gcc/doc/invoke.texi | 136 | --- a/gcc/doc/invoke.texi |
137 | +++ b/gcc/doc/invoke.texi | 137 | +++ b/gcc/doc/invoke.texi |
138 | @@ -384,6 +384,7 @@ Objective-C and Objective-C++ Dialects}. | 138 | @@ -391,6 +391,7 @@ Objective-C and Objective-C++ Dialects}. |
139 | -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded | 139 | -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded |
140 | -Wparentheses -Wno-pedantic-ms-format | 140 | -Wparentheses -Wno-pedantic-ms-format |
141 | -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast | 141 | -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast |
@@ -143,7 +143,7 @@ index de40f62e219..d6f203c8b71 100644 | |||
143 | -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls | 143 | -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls |
144 | -Wrestrict -Wno-return-local-addr -Wreturn-type | 144 | -Wrestrict -Wno-return-local-addr -Wreturn-type |
145 | -Wno-scalar-storage-order -Wsequence-point | 145 | -Wno-scalar-storage-order -Wsequence-point |
146 | @@ -8426,6 +8427,14 @@ made up of data only and thus requires no special treatment. But, for | 146 | @@ -8860,6 +8861,14 @@ made up of data only and thus requires no special treatment. But, for |
147 | most targets, it is made up of code and thus requires the stack to be | 147 | most targets, it is made up of code and thus requires the stack to be |
148 | made executable in order for the program to work properly. | 148 | made executable in order for the program to work properly. |
149 | 149 | ||
@@ -159,19 +159,19 @@ index de40f62e219..d6f203c8b71 100644 | |||
159 | @opindex Wno-float-equal | 159 | @opindex Wno-float-equal |
160 | @item -Wfloat-equal | 160 | @item -Wfloat-equal |
161 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 161 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
162 | index 16bb07f2cdc..5feae021545 100644 | 162 | index 728332b8153..343e4915097 100644 |
163 | --- a/gcc/gcc.cc | 163 | --- a/gcc/gcc.cc |
164 | +++ b/gcc/gcc.cc | 164 | +++ b/gcc/gcc.cc |
165 | @@ -1146,6 +1146,8 @@ proper position among the other output files. */ | 165 | @@ -1159,6 +1159,8 @@ proper position among the other output files. */ |
166 | "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ | 166 | "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ |
167 | "%X %{o*} %{e*} %{N} %{n} %{r}\ | 167 | "%X %{o*} %{e*} %{N} %{n} %{r}\ |
168 | %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ | 168 | %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ |
169 | + %{Wno-poison-system-directories:--no-poison-system-directories} \ | 169 | + %{Wno-poison-system-directories:--no-poison-system-directories} \ |
170 | + %{Werror=poison-system-directories:--error-poison-system-directories} \ | 170 | + %{Werror=poison-system-directories:--error-poison-system-directories} \ |
171 | %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \ | 171 | %{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \ |
172 | VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ | 172 | VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ |
173 | %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ | 173 | %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ |
174 | @@ -1241,8 +1243,11 @@ static const char *cpp_unique_options = | 174 | @@ -1260,8 +1262,11 @@ static const char *cpp_unique_options = |
175 | static const char *cpp_options = | 175 | static const char *cpp_options = |
176 | "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ | 176 | "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ |
177 | %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\ | 177 | %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\ |
@@ -186,7 +186,7 @@ index 16bb07f2cdc..5feae021545 100644 | |||
186 | /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. | 186 | /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. |
187 | 187 | ||
188 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc | 188 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc |
189 | index 4d44321183f..46c0d543205 100644 | 189 | index 64cdd2f4a1b..e572d98ab17 100644 |
190 | --- a/gcc/incpath.cc | 190 | --- a/gcc/incpath.cc |
191 | +++ b/gcc/incpath.cc | 191 | +++ b/gcc/incpath.cc |
192 | @@ -26,6 +26,7 @@ | 192 | @@ -26,6 +26,7 @@ |
diff --git a/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch b/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch index 69e7fa0ba9..dfd370aba9 100644 --- a/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch +++ b/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From febfac59d0e8a864370d0b4018b4e497ceec156d Mon Sep 17 00:00:00 2001 | 1 | From 25bc008191c9b518f30e3ed87e204e25bdafb854 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:10:06 +0400 | 3 | Date: Fri, 29 Mar 2013 09:10:06 +0400 |
4 | Subject: [PATCH] 64-bit multilib hack | 4 | Subject: [PATCH] 64-bit multilib hack |
@@ -28,19 +28,17 @@ Upstream-Status: Inappropriate [OE-Specific] | |||
28 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 28 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
29 | Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> | 29 | Signed-off-by: Elvis Dowson <elvis.dowson@gmail.com> |
30 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | 30 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
31 | Signed-off-by: Zang Ruochen <zangruochen@loongson.cn> | ||
32 | --- | 31 | --- |
33 | gcc/config/aarch64/t-aarch64-linux | 8 ++++---- | 32 | gcc/config/aarch64/t-aarch64-linux | 8 ++++---- |
34 | gcc/config/arc/t-multilib-linux | 4 ++-- | 33 | gcc/config/arc/t-multilib-linux | 4 ++-- |
35 | gcc/config/i386/t-linux64 | 6 ++---- | 34 | gcc/config/i386/t-linux64 | 6 ++---- |
36 | gcc/config/mips/t-linux64 | 28 ++-------------------------- | 35 | gcc/config/mips/t-linux64 | 28 ++-------------------------- |
37 | gcc/config/riscv/t-linux | 4 ++-- | 36 | gcc/config/riscv/t-linux | 6 +++--- |
38 | gcc/config/rs6000/t-linux64 | 5 ++--- | 37 | gcc/config/rs6000/t-linux64 | 5 ++--- |
39 | gcc/config/loongarch/t-linux | 34 ++++++++++++++++++---------------- | 38 | 6 files changed, 15 insertions(+), 42 deletions(-) |
40 | 7 files changed, 32 insertions(+), 57 deletions(-) | ||
41 | 39 | ||
42 | diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux | 40 | diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux |
43 | index 57bf4100fcd..aaef5da8059 100644 | 41 | index 3f7b786ecbb..a6c1c92fc7f 100644 |
44 | --- a/gcc/config/aarch64/t-aarch64-linux | 42 | --- a/gcc/config/aarch64/t-aarch64-linux |
45 | +++ b/gcc/config/aarch64/t-aarch64-linux | 43 | +++ b/gcc/config/aarch64/t-aarch64-linux |
46 | @@ -21,8 +21,8 @@ | 44 | @@ -21,8 +21,8 @@ |
@@ -57,7 +55,7 @@ index 57bf4100fcd..aaef5da8059 100644 | |||
57 | -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) | 55 | -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) |
58 | +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) | 56 | +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) |
59 | diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux | 57 | diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux |
60 | index a839e4ea67c..f92664573a9 100644 | 58 | index 07bc77ba34a..f7e2e3919cf 100644 |
61 | --- a/gcc/config/arc/t-multilib-linux | 59 | --- a/gcc/config/arc/t-multilib-linux |
62 | +++ b/gcc/config/arc/t-multilib-linux | 60 | +++ b/gcc/config/arc/t-multilib-linux |
63 | @@ -16,9 +16,9 @@ | 61 | @@ -16,9 +16,9 @@ |
@@ -73,7 +71,7 @@ index a839e4ea67c..f92664573a9 100644 | |||
73 | # Aliases: | 71 | # Aliases: |
74 | MULTILIB_MATCHES += mcpu?arc700=mA7 | 72 | MULTILIB_MATCHES += mcpu?arc700=mA7 |
75 | diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 | 73 | diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 |
76 | index 138956b0962..d6e0cdc4342 100644 | 74 | index f9edc289e57..047d8e4aff9 100644 |
77 | --- a/gcc/config/i386/t-linux64 | 75 | --- a/gcc/config/i386/t-linux64 |
78 | +++ b/gcc/config/i386/t-linux64 | 76 | +++ b/gcc/config/i386/t-linux64 |
79 | @@ -32,7 +32,5 @@ | 77 | @@ -32,7 +32,5 @@ |
@@ -87,7 +85,7 @@ index 138956b0962..d6e0cdc4342 100644 | |||
87 | +MULTILIB_DIRNAMES = . . | 85 | +MULTILIB_DIRNAMES = . . |
88 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) | 86 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) |
89 | diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 | 87 | diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 |
90 | index 176091cabb6..8258ef40559 100644 | 88 | index e4e2f5eaedb..c503974de37 100644 |
91 | --- a/gcc/config/mips/t-linux64 | 89 | --- a/gcc/config/mips/t-linux64 |
92 | +++ b/gcc/config/mips/t-linux64 | 90 | +++ b/gcc/config/mips/t-linux64 |
93 | @@ -17,29 +17,5 @@ | 91 | @@ -17,29 +17,5 @@ |
@@ -123,17 +121,20 @@ index 176091cabb6..8258ef40559 100644 | |||
123 | +MULTILIB_DIRNAMES = . . . | 121 | +MULTILIB_DIRNAMES = . . . |
124 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) | 122 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) |
125 | diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux | 123 | diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux |
126 | index 216d2776a18..e3c520f4bf6 100644 | 124 | index a6f64f88d25..0e21db58f7d 100644 |
127 | --- a/gcc/config/riscv/t-linux | 125 | --- a/gcc/config/riscv/t-linux |
128 | +++ b/gcc/config/riscv/t-linux | 126 | +++ b/gcc/config/riscv/t-linux |
129 | @@ -1,3 +1,3 @@ | 127 | @@ -1,5 +1,5 @@ |
130 | # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ | 128 | # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/ |
131 | -MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) | 129 | -MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) |
132 | -MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) | 130 | -MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) |
133 | +#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) | 131 | +#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst rv64%,lib64,$(MULTILIB_DIRNAMES))) |
134 | +#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) | 132 | +#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES)) |
133 | |||
134 | -MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) | ||
135 | +#MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) | ||
135 | diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 | 136 | diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 |
136 | index 01a94242308..1429eceaebf 100644 | 137 | index 248b5891e36..379689561a7 100644 |
137 | --- a/gcc/config/rs6000/t-linux64 | 138 | --- a/gcc/config/rs6000/t-linux64 |
138 | +++ b/gcc/config/rs6000/t-linux64 | 139 | +++ b/gcc/config/rs6000/t-linux64 |
139 | @@ -26,10 +26,9 @@ | 140 | @@ -26,10 +26,9 @@ |
@@ -149,53 +150,3 @@ index 01a94242308..1429eceaebf 100644 | |||
149 | 150 | ||
150 | rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc | 151 | rs6000-linux.o: $(srcdir)/config/rs6000/rs6000-linux.cc |
151 | $(COMPILE) $< | 152 | $(COMPILE) $< |
152 | diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux | ||
153 | index e40da1792..0c7ec9f8a 100644 | ||
154 | --- a/gcc/config/loongarch/t-linux | ||
155 | +++ b/gcc/config/loongarch/t-linux | ||
156 | @@ -18,7 +18,9 @@ | ||
157 | |||
158 | # Multilib | ||
159 | MULTILIB_OPTIONS = mabi=lp64d/mabi=lp64f/mabi=lp64s | ||
160 | -MULTILIB_DIRNAMES = base/lp64d base/lp64f base/lp64s | ||
161 | +#MULTILIB_DIRNAMES = base/lp64d base/lp64f base/lp64s | ||
162 | +MULTILIB_DIRNAMES = . . . | ||
163 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) | ||
164 | |||
165 | # The GCC driver always gets all abi-related options on the command line. | ||
166 | # (see loongarch-driver.c:driver_get_normalized_m_opts) | ||
167 | @@ -36,18 +38,18 @@ else | ||
168 | endif | ||
169 | |||
170 | # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. | ||
171 | -ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) | ||
172 | - | ||
173 | - MULTILIB_OSDIRNAMES = \ | ||
174 | - mabi.lp64d=../lib64$\ | ||
175 | - $(call if_multiarch,:loongarch64-linux-gnu) | ||
176 | - | ||
177 | - MULTILIB_OSDIRNAMES += \ | ||
178 | - mabi.lp64f=../lib64/f32$\ | ||
179 | - $(call if_multiarch,:loongarch64-linux-gnuf32) | ||
180 | - | ||
181 | - MULTILIB_OSDIRNAMES += \ | ||
182 | - mabi.lp64s=../lib64/sf$\ | ||
183 | - $(call if_multiarch,:loongarch64-linux-gnusf) | ||
184 | - | ||
185 | -endif | ||
186 | +#ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) | ||
187 | +# | ||
188 | +# MULTILIB_OSDIRNAMES = \ | ||
189 | +# mabi.lp64d=../lib64$\ | ||
190 | +# $(call if_multiarch,:loongarch64-linux-gnu) | ||
191 | +# | ||
192 | +# MULTILIB_OSDIRNAMES += \ | ||
193 | +# mabi.lp64f=../lib64/f32$\ | ||
194 | +# $(call if_multiarch,:loongarch64-linux-gnuf32) | ||
195 | +# | ||
196 | +# MULTILIB_OSDIRNAMES += \ | ||
197 | +# mabi.lp64s=../lib64/sf$\ | ||
198 | +# $(call if_multiarch,:loongarch64-linux-gnusf) | ||
199 | +# | ||
200 | +#endif | ||
201 | |||
diff --git a/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch b/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch index 7e33bf17b0..35e92a6a9e 100644 --- a/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch +++ b/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 6fbf920ccde6efc2d0caafde996d9e5738a1ba37 Mon Sep 17 00:00:00 2001 | 1 | From 5bef09b829ab8042acc045474cf10f4c4fb15dd5 Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
3 | Date: Thu, 28 Oct 2021 11:33:40 +0100 | 3 | Date: Thu, 28 Oct 2021 11:33:40 +0100 |
4 | Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these | 4 | Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these |
@@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
23 | 2 files changed, 4 insertions(+) | 23 | 2 files changed, 4 insertions(+) |
24 | 24 | ||
25 | diff --git a/Makefile.in b/Makefile.in | 25 | diff --git a/Makefile.in b/Makefile.in |
26 | index 06a9398e172..4b0069b257c 100644 | 26 | index db4fa6c6260..dee862be8a5 100644 |
27 | --- a/Makefile.in | 27 | --- a/Makefile.in |
28 | +++ b/Makefile.in | 28 | +++ b/Makefile.in |
29 | @@ -178,6 +178,7 @@ BUILD_EXPORTS = \ | 29 | @@ -179,6 +179,7 @@ BUILD_EXPORTS = \ |
30 | # built for the build system to override those in BASE_FLAGS_TO_PASS. | 30 | # built for the build system to override those in BASE_FLAGS_TO_PASS. |
31 | EXTRA_BUILD_FLAGS = \ | 31 | EXTRA_BUILD_FLAGS = \ |
32 | CFLAGS="$(CFLAGS_FOR_BUILD)" \ | 32 | CFLAGS="$(CFLAGS_FOR_BUILD)" \ |
@@ -34,7 +34,7 @@ index 06a9398e172..4b0069b257c 100644 | |||
34 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" | 34 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" |
35 | 35 | ||
36 | # This is the list of directories to built for the host system. | 36 | # This is the list of directories to built for the host system. |
37 | @@ -210,6 +211,7 @@ HOST_EXPORTS = \ | 37 | @@ -211,6 +212,7 @@ HOST_EXPORTS = \ |
38 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ | 38 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ |
39 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ | 39 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ |
40 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ | 40 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ |
@@ -43,10 +43,10 @@ index 06a9398e172..4b0069b257c 100644 | |||
43 | DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ | 43 | DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ |
44 | LD="$(LD)"; export LD; \ | 44 | LD="$(LD)"; export LD; \ |
45 | diff --git a/Makefile.tpl b/Makefile.tpl | 45 | diff --git a/Makefile.tpl b/Makefile.tpl |
46 | index dfbd74b68f8..419b332953b 100644 | 46 | index 1d5813cd569..ff0fae53b0c 100644 |
47 | --- a/Makefile.tpl | 47 | --- a/Makefile.tpl |
48 | +++ b/Makefile.tpl | 48 | +++ b/Makefile.tpl |
49 | @@ -181,6 +181,7 @@ BUILD_EXPORTS = \ | 49 | @@ -182,6 +182,7 @@ BUILD_EXPORTS = \ |
50 | # built for the build system to override those in BASE_FLAGS_TO_PASS. | 50 | # built for the build system to override those in BASE_FLAGS_TO_PASS. |
51 | EXTRA_BUILD_FLAGS = \ | 51 | EXTRA_BUILD_FLAGS = \ |
52 | CFLAGS="$(CFLAGS_FOR_BUILD)" \ | 52 | CFLAGS="$(CFLAGS_FOR_BUILD)" \ |
@@ -54,7 +54,7 @@ index dfbd74b68f8..419b332953b 100644 | |||
54 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" | 54 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" |
55 | 55 | ||
56 | # This is the list of directories to built for the host system. | 56 | # This is the list of directories to built for the host system. |
57 | @@ -213,6 +214,7 @@ HOST_EXPORTS = \ | 57 | @@ -214,6 +215,7 @@ HOST_EXPORTS = \ |
58 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ | 58 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ |
59 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ | 59 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ |
60 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ | 60 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ |
diff --git a/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch b/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch index db2fea3d16..8c6ae38e95 100644 --- a/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch +++ b/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 2cedf13819c0cc929660072d8a972f5e422f9701 Mon Sep 17 00:00:00 2001 | 1 | From fd3f513fa7e4f63a2b28b31ed5a4ddf8f5c543c0 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:17:25 +0400 | 3 | Date: Fri, 29 Mar 2013 09:17:25 +0400 |
4 | Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B} | 4 | Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B} |
@@ -26,10 +26,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | |||
26 | 4 files changed, 7 insertions(+), 7 deletions(-) | 26 | 4 files changed, 7 insertions(+), 7 deletions(-) |
27 | 27 | ||
28 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | 28 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
29 | index 775aaa1b3c4..04f28984b34 100644 | 29 | index a74761b7ab3..956437df95b 100644 |
30 | --- a/gcc/Makefile.in | 30 | --- a/gcc/Makefile.in |
31 | +++ b/gcc/Makefile.in | 31 | +++ b/gcc/Makefile.in |
32 | @@ -561,7 +561,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ | 32 | @@ -590,7 +590,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ |
33 | TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ | 33 | TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ |
34 | 34 | ||
35 | xmake_file=@xmake_file@ | 35 | xmake_file=@xmake_file@ |
@@ -39,10 +39,10 @@ index 775aaa1b3c4..04f28984b34 100644 | |||
39 | TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ | 39 | TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ |
40 | TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ | 40 | TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ |
41 | diff --git a/gcc/configure b/gcc/configure | 41 | diff --git a/gcc/configure b/gcc/configure |
42 | index 3508be7b439..cf773a8b854 100755 | 42 | index 3c346acbce0..3870d6e9b6d 100755 |
43 | --- a/gcc/configure | 43 | --- a/gcc/configure |
44 | +++ b/gcc/configure | 44 | +++ b/gcc/configure |
45 | @@ -13507,8 +13507,8 @@ for f in $tm_file; do | 45 | @@ -15155,8 +15155,8 @@ for f in $tm_file; do |
46 | tm_include_list="${tm_include_list} $f" | 46 | tm_include_list="${tm_include_list} $f" |
47 | ;; | 47 | ;; |
48 | defaults.h ) | 48 | defaults.h ) |
@@ -54,10 +54,10 @@ index 3508be7b439..cf773a8b854 100755 | |||
54 | * ) | 54 | * ) |
55 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" | 55 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" |
56 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 56 | diff --git a/gcc/configure.ac b/gcc/configure.ac |
57 | index 6cd01a8966b..22591478b72 100644 | 57 | index 4d8123085b8..15670de1706 100644 |
58 | --- a/gcc/configure.ac | 58 | --- a/gcc/configure.ac |
59 | +++ b/gcc/configure.ac | 59 | +++ b/gcc/configure.ac |
60 | @@ -2357,8 +2357,8 @@ for f in $tm_file; do | 60 | @@ -2383,8 +2383,8 @@ for f in $tm_file; do |
61 | tm_include_list="${tm_include_list} $f" | 61 | tm_include_list="${tm_include_list} $f" |
62 | ;; | 62 | ;; |
63 | defaults.h ) | 63 | defaults.h ) |
@@ -69,7 +69,7 @@ index 6cd01a8966b..22591478b72 100644 | |||
69 | * ) | 69 | * ) |
70 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" | 70 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" |
71 | diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh | 71 | diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh |
72 | index 054ede89647..3b2c2b9df37 100644 | 72 | index 1b015b70b38..145af56745e 100644 |
73 | --- a/gcc/mkconfig.sh | 73 | --- a/gcc/mkconfig.sh |
74 | +++ b/gcc/mkconfig.sh | 74 | +++ b/gcc/mkconfig.sh |
75 | @@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then | 75 | @@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then |
diff --git a/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch b/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch index 704c44cb72..e0d6aea46b 100644 --- a/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch +++ b/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f0b4d02a3a3dca1d67fd7add15ed63c2cd572bb9 Mon Sep 17 00:00:00 2001 | 1 | From 970960876045c99011658836f385c6f4d6d78fa6 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:22:00 +0400 | 3 | Date: Fri, 29 Mar 2013 09:22:00 +0400 |
4 | Subject: [PATCH] cpp: honor sysroot. | 4 | Subject: [PATCH] cpp: honor sysroot. |
@@ -26,7 +26,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
26 | 2 files changed, 2 insertions(+), 2 deletions(-) | 26 | 2 files changed, 2 insertions(+), 2 deletions(-) |
27 | 27 | ||
28 | diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h | 28 | diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h |
29 | index c591d155cc1..61927869fe1 100644 | 29 | index 7a7f5ff0ab5..fb3d88cdb11 100644 |
30 | --- a/gcc/cp/lang-specs.h | 30 | --- a/gcc/cp/lang-specs.h |
31 | +++ b/gcc/cp/lang-specs.h | 31 | +++ b/gcc/cp/lang-specs.h |
32 | @@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see | 32 | @@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see |
@@ -39,11 +39,11 @@ index c591d155cc1..61927869fe1 100644 | |||
39 | " %{fmodule-only:%{!S:-o %g.s%V}}" | 39 | " %{fmodule-only:%{!S:-o %g.s%V}}" |
40 | " %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" | 40 | " %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" |
41 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 41 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
42 | index 5feae021545..8af0c814c33 100644 | 42 | index 343e4915097..e3e9374d1cc 100644 |
43 | --- a/gcc/gcc.cc | 43 | --- a/gcc/gcc.cc |
44 | +++ b/gcc/gcc.cc | 44 | +++ b/gcc/gcc.cc |
45 | @@ -1468,7 +1468,7 @@ static const struct compiler default_compilers[] = | 45 | @@ -1487,7 +1487,7 @@ static const struct compiler default_compilers[] = |
46 | %W{o*:--output-pch %*}}%V}}}}}}}", 0, 0, 0}, | 46 | %W{o*:--output-pch %w%*}}%{!S:%V}}}}}}}}", 0, 0, 0}, |
47 | {".i", "@cpp-output", 0, 0, 0}, | 47 | {".i", "@cpp-output", 0, 0, 0}, |
48 | {"@cpp-output", | 48 | {"@cpp-output", |
49 | - "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, | 49 | - "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, |
diff --git a/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch b/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch index 079142c540..eacdbd1dbe 100644 --- a/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch +++ b/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From aacfd6e14dd583b1fdc65691def61c5e1bc89708 Mon Sep 17 00:00:00 2001 | 1 | From bce0b7e2e130a069a93c839b856aa19b64d5ca54 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:24:50 +0400 | 3 | Date: Fri, 29 Mar 2013 09:24:50 +0400 |
4 | Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER | 4 | Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER |
@@ -36,7 +36,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
36 | 18 files changed, 53 insertions(+), 58 deletions(-) | 36 | 18 files changed, 53 insertions(+), 58 deletions(-) |
37 | 37 | ||
38 | diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h | 38 | diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h |
39 | index 4277f03da2a..e4c92c03291 100644 | 39 | index 8e51c8202cc..732e4f4a477 100644 |
40 | --- a/gcc/config/aarch64/aarch64-linux.h | 40 | --- a/gcc/config/aarch64/aarch64-linux.h |
41 | +++ b/gcc/config/aarch64/aarch64-linux.h | 41 | +++ b/gcc/config/aarch64/aarch64-linux.h |
42 | @@ -21,10 +21,10 @@ | 42 | @@ -21,10 +21,10 @@ |
@@ -53,7 +53,7 @@ index 4277f03da2a..e4c92c03291 100644 | |||
53 | #undef ASAN_CC1_SPEC | 53 | #undef ASAN_CC1_SPEC |
54 | #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" | 54 | #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" |
55 | diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h | 55 | diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h |
56 | index 03f783f2ad1..4fa02668aa7 100644 | 56 | index 40ccf0bd9b4..ab5c59655fc 100644 |
57 | --- a/gcc/config/alpha/linux-elf.h | 57 | --- a/gcc/config/alpha/linux-elf.h |
58 | +++ b/gcc/config/alpha/linux-elf.h | 58 | +++ b/gcc/config/alpha/linux-elf.h |
59 | @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see | 59 | @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see |
@@ -68,7 +68,7 @@ index 03f783f2ad1..4fa02668aa7 100644 | |||
68 | #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" | 68 | #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" |
69 | #elif DEFAULT_LIBC == LIBC_GLIBC | 69 | #elif DEFAULT_LIBC == LIBC_GLIBC |
70 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h | 70 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h |
71 | index a119875599d..dce7f59eeea 100644 | 71 | index eef791f6a02..335cb4c3607 100644 |
72 | --- a/gcc/config/arm/linux-eabi.h | 72 | --- a/gcc/config/arm/linux-eabi.h |
73 | +++ b/gcc/config/arm/linux-eabi.h | 73 | +++ b/gcc/config/arm/linux-eabi.h |
74 | @@ -62,8 +62,8 @@ | 74 | @@ -62,8 +62,8 @@ |
@@ -92,7 +92,7 @@ index a119875599d..dce7f59eeea 100644 | |||
92 | /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to | 92 | /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to |
93 | use the GNU/Linux version, not the generic BPABI version. */ | 93 | use the GNU/Linux version, not the generic BPABI version. */ |
94 | diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h | 94 | diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h |
95 | index 7b7b7cbbe14..98ef2267117 100644 | 95 | index ccae8abf6f6..ea421d03891 100644 |
96 | --- a/gcc/config/arm/linux-elf.h | 96 | --- a/gcc/config/arm/linux-elf.h |
97 | +++ b/gcc/config/arm/linux-elf.h | 97 | +++ b/gcc/config/arm/linux-elf.h |
98 | @@ -60,7 +60,7 @@ | 98 | @@ -60,7 +60,7 @@ |
@@ -105,7 +105,7 @@ index 7b7b7cbbe14..98ef2267117 100644 | |||
105 | #define LINUX_TARGET_LINK_SPEC "%{h*} \ | 105 | #define LINUX_TARGET_LINK_SPEC "%{h*} \ |
106 | %{static:-Bstatic} \ | 106 | %{static:-Bstatic} \ |
107 | diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h | 107 | diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h |
108 | index bbb7cc7115e..7d9272040ee 100644 | 108 | index 20a96d56e65..7a7a4f873e4 100644 |
109 | --- a/gcc/config/i386/linux.h | 109 | --- a/gcc/config/i386/linux.h |
110 | +++ b/gcc/config/i386/linux.h | 110 | +++ b/gcc/config/i386/linux.h |
111 | @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see | 111 | @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see |
@@ -119,7 +119,7 @@ index bbb7cc7115e..7d9272040ee 100644 | |||
119 | -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" | 119 | -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" |
120 | +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1" | 120 | +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1" |
121 | diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h | 121 | diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h |
122 | index 2bd9f48e271..dbbe7ca5440 100644 | 122 | index 3dd23eef5e5..960cd7c0450 100644 |
123 | --- a/gcc/config/i386/linux64.h | 123 | --- a/gcc/config/i386/linux64.h |
124 | +++ b/gcc/config/i386/linux64.h | 124 | +++ b/gcc/config/i386/linux64.h |
125 | @@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 125 | @@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
@@ -143,7 +143,7 @@ index 2bd9f48e271..dbbe7ca5440 100644 | |||
143 | -#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" | 143 | -#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" |
144 | +#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1" | 144 | +#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1" |
145 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 145 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
146 | index e3aca79cccc..6491c6b84f5 100644 | 146 | index a7248ac90d0..e36f32bf59e 100644 |
147 | --- a/gcc/config/linux.h | 147 | --- a/gcc/config/linux.h |
148 | +++ b/gcc/config/linux.h | 148 | +++ b/gcc/config/linux.h |
149 | @@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 149 | @@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
@@ -162,25 +162,29 @@ index e3aca79cccc..6491c6b84f5 100644 | |||
162 | #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" | 162 | #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" |
163 | #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" | 163 | #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" |
164 | diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h | 164 | diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h |
165 | index aecaa02a199..62f88f7f9a2 100644 | 165 | index e5d84e180e3..98cb49c189f 100644 |
166 | --- a/gcc/config/loongarch/gnu-user.h | 166 | --- a/gcc/config/loongarch/gnu-user.h |
167 | +++ b/gcc/config/loongarch/gnu-user.h | 167 | +++ b/gcc/config/loongarch/gnu-user.h |
168 | @@ -31,11 +31,11 @@ along with GCC; see the file COPYING3. If not see | 168 | @@ -31,7 +31,7 @@ along with GCC; see the file COPYING3. If not see |
169 | 169 | ||
170 | #undef GLIBC_DYNAMIC_LINKER | 170 | #undef GLIBC_DYNAMIC_LINKER |
171 | #define GLIBC_DYNAMIC_LINKER \ | 171 | #define GLIBC_DYNAMIC_LINKER \ |
172 | - "/lib" ABI_GRLEN_SPEC "/ld-linux-loongarch-" ABI_SPEC ".so.1" | 172 | - "/lib" ABI_GRLEN_SPEC "/ld-linux-loongarch-" ABI_SPEC ".so.1" |
173 | + SYSTEMLIBS_DIR "ld-linux-loongarch-" ABI_SPEC ".so.1" | 173 | + SYSTEMLIBS_DIR "ld-linux-loongarch-" ABI_SPEC ".so.1" |
174 | 174 | ||
175 | #define MUSL_ABI_SPEC \ | ||
176 | "%{mabi=lp64d:}" \ | ||
177 | @@ -40,7 +40,7 @@ along with GCC; see the file COPYING3. If not see | ||
178 | |||
175 | #undef MUSL_DYNAMIC_LINKER | 179 | #undef MUSL_DYNAMIC_LINKER |
176 | #define MUSL_DYNAMIC_LINKER \ | 180 | #define MUSL_DYNAMIC_LINKER \ |
177 | - "/lib" ABI_GRLEN_SPEC "/ld-musl-loongarch-" ABI_SPEC ".so.1" | 181 | - "/lib/ld-musl-loongarch" ABI_GRLEN_SPEC MUSL_ABI_SPEC ".so.1" |
178 | + SYSTEMLIBS_DIR "ld-musl-loongarch-" ABI_SPEC ".so.1" | 182 | + SYSTEMLIBS_DIR "ld-musl-loongarch" ABI_GRLEN_SPEC MUSL_ABI_SPEC ".so.1" |
179 | 183 | ||
180 | #undef GNU_USER_TARGET_LINK_SPEC | 184 | #undef GNU_USER_TARGET_LINK_SPEC |
181 | #define GNU_USER_TARGET_LINK_SPEC \ | 185 | #define GNU_USER_TARGET_LINK_SPEC \ |
182 | diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h | 186 | diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h |
183 | index e2e2c421c52..6f26480e3b5 100644 | 187 | index 5ed8ee518be..5553e7cac21 100644 |
184 | --- a/gcc/config/microblaze/linux.h | 188 | --- a/gcc/config/microblaze/linux.h |
185 | +++ b/gcc/config/microblaze/linux.h | 189 | +++ b/gcc/config/microblaze/linux.h |
186 | @@ -28,7 +28,7 @@ | 190 | @@ -28,7 +28,7 @@ |
@@ -202,7 +206,7 @@ index e2e2c421c52..6f26480e3b5 100644 | |||
202 | #undef SUBTARGET_EXTRA_SPECS | 206 | #undef SUBTARGET_EXTRA_SPECS |
203 | #define SUBTARGET_EXTRA_SPECS \ | 207 | #define SUBTARGET_EXTRA_SPECS \ |
204 | diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h | 208 | diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h |
205 | index 5add34ea134..34692b433b8 100644 | 209 | index 8d098dd2f44..1c5ebbd26d5 100644 |
206 | --- a/gcc/config/mips/linux.h | 210 | --- a/gcc/config/mips/linux.h |
207 | +++ b/gcc/config/mips/linux.h | 211 | +++ b/gcc/config/mips/linux.h |
208 | @@ -22,29 +22,29 @@ along with GCC; see the file COPYING3. If not see | 212 | @@ -22,29 +22,29 @@ along with GCC; see the file COPYING3. If not see |
@@ -245,7 +249,7 @@ index 5add34ea134..34692b433b8 100644 | |||
245 | #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" | 249 | #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" |
246 | #define GNU_USER_DYNAMIC_LINKERN32 \ | 250 | #define GNU_USER_DYNAMIC_LINKERN32 \ |
247 | diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h | 251 | diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h |
248 | index 2ce097ebbce..1d45d7b4962 100644 | 252 | index 06c442e85f4..b21a3c076c9 100644 |
249 | --- a/gcc/config/nios2/linux.h | 253 | --- a/gcc/config/nios2/linux.h |
250 | +++ b/gcc/config/nios2/linux.h | 254 | +++ b/gcc/config/nios2/linux.h |
251 | @@ -29,10 +29,10 @@ | 255 | @@ -29,10 +29,10 @@ |
@@ -262,7 +266,7 @@ index 2ce097ebbce..1d45d7b4962 100644 | |||
262 | #undef LINK_SPEC | 266 | #undef LINK_SPEC |
263 | #define LINK_SPEC LINK_SPEC_ENDIAN \ | 267 | #define LINK_SPEC LINK_SPEC_ENDIAN \ |
264 | diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h | 268 | diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h |
265 | index 3e625e0f867..dc3afc97e27 100644 | 269 | index 15851f653bc..d8aaab9631f 100644 |
266 | --- a/gcc/config/riscv/linux.h | 270 | --- a/gcc/config/riscv/linux.h |
267 | +++ b/gcc/config/riscv/linux.h | 271 | +++ b/gcc/config/riscv/linux.h |
268 | @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see | 272 | @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see |
@@ -284,10 +288,10 @@ index 3e625e0f867..dc3afc97e27 100644 | |||
284 | #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" | 288 | #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" |
285 | 289 | ||
286 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h | 290 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h |
287 | index 9e457033d11..2ddab7c99c1 100644 | 291 | index 655d1054d76..a11ae7643b7 100644 |
288 | --- a/gcc/config/rs6000/linux64.h | 292 | --- a/gcc/config/rs6000/linux64.h |
289 | +++ b/gcc/config/rs6000/linux64.h | 293 | +++ b/gcc/config/rs6000/linux64.h |
290 | @@ -339,24 +339,19 @@ extern int dot_symbols; | 294 | @@ -340,24 +340,19 @@ extern int dot_symbols; |
291 | #undef LINK_OS_DEFAULT_SPEC | 295 | #undef LINK_OS_DEFAULT_SPEC |
292 | #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" | 296 | #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)" |
293 | 297 | ||
@@ -318,7 +322,7 @@ index 9e457033d11..2ddab7c99c1 100644 | |||
318 | #undef DEFAULT_ASM_ENDIAN | 322 | #undef DEFAULT_ASM_ENDIAN |
319 | #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) | 323 | #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) |
320 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h | 324 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h |
321 | index ae932fc22f0..26db003cb3a 100644 | 325 | index bcafa9d0cf4..8fda952e69c 100644 |
322 | --- a/gcc/config/rs6000/sysv4.h | 326 | --- a/gcc/config/rs6000/sysv4.h |
323 | +++ b/gcc/config/rs6000/sysv4.h | 327 | +++ b/gcc/config/rs6000/sysv4.h |
324 | @@ -771,10 +771,10 @@ GNU_USER_TARGET_CC1_SPEC | 328 | @@ -771,10 +771,10 @@ GNU_USER_TARGET_CC1_SPEC |
@@ -335,7 +339,7 @@ index ae932fc22f0..26db003cb3a 100644 | |||
335 | #ifndef GNU_USER_DYNAMIC_LINKER | 339 | #ifndef GNU_USER_DYNAMIC_LINKER |
336 | #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER | 340 | #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER |
337 | diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h | 341 | diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h |
338 | index 02aa1edaff8..fab268d61f4 100644 | 342 | index 83ea2f669a0..bc7cffbad3f 100644 |
339 | --- a/gcc/config/s390/linux.h | 343 | --- a/gcc/config/s390/linux.h |
340 | +++ b/gcc/config/s390/linux.h | 344 | +++ b/gcc/config/s390/linux.h |
341 | @@ -72,13 +72,13 @@ along with GCC; see the file COPYING3. If not see | 345 | @@ -72,13 +72,13 @@ along with GCC; see the file COPYING3. If not see |
@@ -357,7 +361,7 @@ index 02aa1edaff8..fab268d61f4 100644 | |||
357 | #undef LINK_SPEC | 361 | #undef LINK_SPEC |
358 | #define LINK_SPEC \ | 362 | #define LINK_SPEC \ |
359 | diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h | 363 | diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h |
360 | index 29f5902b98b..83d1e53e6e2 100644 | 364 | index 34cbbed633f..14000d3394c 100644 |
361 | --- a/gcc/config/sh/linux.h | 365 | --- a/gcc/config/sh/linux.h |
362 | +++ b/gcc/config/sh/linux.h | 366 | +++ b/gcc/config/sh/linux.h |
363 | @@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see | 367 | @@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see |
@@ -374,7 +378,7 @@ index 29f5902b98b..83d1e53e6e2 100644 | |||
374 | #undef SUBTARGET_LINK_EMUL_SUFFIX | 378 | #undef SUBTARGET_LINK_EMUL_SUFFIX |
375 | #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" | 379 | #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" |
376 | diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h | 380 | diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h |
377 | index 0e33b3cac2c..84f29adbb35 100644 | 381 | index 9646fa9c41e..396fb047fac 100644 |
378 | --- a/gcc/config/sparc/linux.h | 382 | --- a/gcc/config/sparc/linux.h |
379 | +++ b/gcc/config/sparc/linux.h | 383 | +++ b/gcc/config/sparc/linux.h |
380 | @@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); | 384 | @@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); |
@@ -387,7 +391,7 @@ index 0e33b3cac2c..84f29adbb35 100644 | |||
387 | #undef LINK_SPEC | 391 | #undef LINK_SPEC |
388 | #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ | 392 | #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ |
389 | diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h | 393 | diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h |
390 | index f1cc0a19e49..94bc2032803 100644 | 394 | index 1e2e4aef2ad..25fcc37eca2 100644 |
391 | --- a/gcc/config/sparc/linux64.h | 395 | --- a/gcc/config/sparc/linux64.h |
392 | +++ b/gcc/config/sparc/linux64.h | 396 | +++ b/gcc/config/sparc/linux64.h |
393 | @@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see | 397 | @@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see |
diff --git a/meta/recipes-devtools/gcc/gcc/0008-libtool.patch b/meta/recipes-devtools/gcc/gcc/0008-libtool.patch index 5b44dc809e..9b78377493 100644 --- a/meta/recipes-devtools/gcc/gcc/0008-libtool.patch +++ b/meta/recipes-devtools/gcc/gcc/0008-libtool.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7608e93ab97e8c33e3b14323d0cabc651926e403 Mon Sep 17 00:00:00 2001 | 1 | From 869295f6f1095b6334c1ea34f8d11a676c67e256 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:29:11 +0400 | 3 | Date: Fri, 29 Mar 2013 09:29:11 +0400 |
4 | Subject: [PATCH] libtool | 4 | Subject: [PATCH] libtool |
diff --git a/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch b/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch index 86542bd146..3e24e53d7b 100644 --- a/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch +++ b/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 4b0efc18e0d91967a3db11d9ef0595a5a76ad67a Mon Sep 17 00:00:00 2001 | 1 | From 19279e08417124b4567fafdf9300b779ce1a1e1c Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:30:32 +0400 | 3 | Date: Fri, 29 Mar 2013 09:30:32 +0400 |
4 | Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI. | 4 | Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI. |
@@ -18,7 +18,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
18 | 1 file changed, 5 insertions(+), 1 deletion(-) | 18 | 1 file changed, 5 insertions(+), 1 deletion(-) |
19 | 19 | ||
20 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h | 20 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h |
21 | index dce7f59eeea..27402c629c6 100644 | 21 | index 335cb4c3607..1d5235075cb 100644 |
22 | --- a/gcc/config/arm/linux-eabi.h | 22 | --- a/gcc/config/arm/linux-eabi.h |
23 | +++ b/gcc/config/arm/linux-eabi.h | 23 | +++ b/gcc/config/arm/linux-eabi.h |
24 | @@ -88,10 +88,14 @@ | 24 | @@ -88,10 +88,14 @@ |
diff --git a/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch b/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch index bc3943087c..c3484360ee 100644 --- a/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch +++ b/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b015460586e2ea8a35a11d1a607728707bdf6509 Mon Sep 17 00:00:00 2001 | 1 | From 7e5706e74643d8bf78b117620849e546a31295c5 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 29 Mar 2013 09:33:04 +0400 | 3 | Date: Fri, 29 Mar 2013 09:33:04 +0400 |
4 | Subject: [PATCH] Use the multilib config files from ${B} instead of using the | 4 | Subject: [PATCH] Use the multilib config files from ${B} instead of using the |
@@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration] | |||
18 | 2 files changed, 36 insertions(+), 8 deletions(-) | 18 | 2 files changed, 36 insertions(+), 8 deletions(-) |
19 | 19 | ||
20 | diff --git a/gcc/configure b/gcc/configure | 20 | diff --git a/gcc/configure b/gcc/configure |
21 | index cf773a8b854..448a1ec093e 100755 | 21 | index 3870d6e9b6d..07a0b8571d2 100755 |
22 | --- a/gcc/configure | 22 | --- a/gcc/configure |
23 | +++ b/gcc/configure | 23 | +++ b/gcc/configure |
24 | @@ -13487,10 +13487,20 @@ done | 24 | @@ -15135,10 +15135,20 @@ done |
25 | tmake_file_= | 25 | tmake_file_= |
26 | for f in ${tmake_file} | 26 | for f in ${tmake_file} |
27 | do | 27 | do |
@@ -46,7 +46,7 @@ index cf773a8b854..448a1ec093e 100755 | |||
46 | done | 46 | done |
47 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" | 47 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" |
48 | 48 | ||
49 | @@ -13501,6 +13511,10 @@ tm_file_list="options.h" | 49 | @@ -15149,6 +15159,10 @@ tm_file_list="options.h" |
50 | tm_include_list="options.h insn-constants.h" | 50 | tm_include_list="options.h insn-constants.h" |
51 | for f in $tm_file; do | 51 | for f in $tm_file; do |
52 | case $f in | 52 | case $f in |
@@ -58,10 +58,10 @@ index cf773a8b854..448a1ec093e 100755 | |||
58 | f=`echo $f | sed 's/^..//'` | 58 | f=`echo $f | sed 's/^..//'` |
59 | tm_file_list="${tm_file_list} $f" | 59 | tm_file_list="${tm_file_list} $f" |
60 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 60 | diff --git a/gcc/configure.ac b/gcc/configure.ac |
61 | index 22591478b72..b6e7f5149a7 100644 | 61 | index 15670de1706..fd96dd7ba49 100644 |
62 | --- a/gcc/configure.ac | 62 | --- a/gcc/configure.ac |
63 | +++ b/gcc/configure.ac | 63 | +++ b/gcc/configure.ac |
64 | @@ -2337,10 +2337,20 @@ done | 64 | @@ -2363,10 +2363,20 @@ done |
65 | tmake_file_= | 65 | tmake_file_= |
66 | for f in ${tmake_file} | 66 | for f in ${tmake_file} |
67 | do | 67 | do |
@@ -86,7 +86,7 @@ index 22591478b72..b6e7f5149a7 100644 | |||
86 | done | 86 | done |
87 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" | 87 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" |
88 | 88 | ||
89 | @@ -2351,6 +2361,10 @@ tm_file_list="options.h" | 89 | @@ -2377,6 +2387,10 @@ tm_file_list="options.h" |
90 | tm_include_list="options.h insn-constants.h" | 90 | tm_include_list="options.h insn-constants.h" |
91 | for f in $tm_file; do | 91 | for f in $tm_file; do |
92 | case $f in | 92 | case $f in |
diff --git a/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch b/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch index 974aca5ee4..8633f7c436 100644 --- a/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch +++ b/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b7ce05b2d969b311c6061bda32c3117c76bf7e0c Mon Sep 17 00:00:00 2001 | 1 | From 0671715ae6d411b5d2d4c53fee42a6e9fe2562c2 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 31 Jan 2023 22:03:38 -0800 | 3 | Date: Tue, 31 Jan 2023 22:03:38 -0800 |
4 | Subject: [PATCH] aarch64: Fix include paths when S != B | 4 | Subject: [PATCH] aarch64: Fix include paths when S != B |
@@ -24,32 +24,44 @@ Upstream-Status: Pending | |||
24 | 24 | ||
25 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 25 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
26 | --- | 26 | --- |
27 | gcc/config/aarch64/aarch64.h | 8 ++++---- | 27 | gcc/config/aarch64/aarch64.h | 14 +++++++------- |
28 | 1 file changed, 4 insertions(+), 4 deletions(-) | 28 | 1 file changed, 7 insertions(+), 7 deletions(-) |
29 | 29 | ||
30 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | 30 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h |
31 | index 73b09e20508..10ea3672f20 100644 | 31 | index 45e901cda64..591062d4b39 100644 |
32 | --- a/gcc/config/aarch64/aarch64.h | 32 | --- a/gcc/config/aarch64/aarch64.h |
33 | +++ b/gcc/config/aarch64/aarch64.h | 33 | +++ b/gcc/config/aarch64/aarch64.h |
34 | @@ -161,8 +161,8 @@ | 34 | @@ -170,9 +170,9 @@ enum class aarch64_feature : unsigned char { |
35 | enum class aarch64_feature : unsigned char { | 35 | #define DEF_AARCH64_ISA_MODE(IDENT) IDENT, |
36 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) IDENT, | 36 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) IDENT, |
37 | #define AARCH64_ARCH(A, B, IDENT, D, E) IDENT, | 37 | #define AARCH64_ARCH(A, B, IDENT, D, E) IDENT, |
38 | -#include "aarch64-isa-modes.def" | ||
38 | -#include "aarch64-option-extensions.def" | 39 | -#include "aarch64-option-extensions.def" |
39 | -#include "aarch64-arches.def" | 40 | -#include "aarch64-arches.def" |
41 | +#include "config/aarch64/aarch64-isa-modes.def" | ||
40 | +#include "config/aarch64/aarch64-option-extensions.def" | 42 | +#include "config/aarch64/aarch64-option-extensions.def" |
41 | +#include "config/aarch64/aarch64-arches.def" | 43 | +#include "config/aarch64/aarch64-arches.def" |
42 | }; | 44 | }; |
43 | 45 | ||
44 | /* Define unique flags for each of the above. */ | 46 | /* Define unique flags for each of the above. */ |
45 | @@ -171,8 +171,8 @@ enum class aarch64_feature : unsigned char { | 47 | @@ -182,16 +182,16 @@ enum class aarch64_feature : unsigned char { |
46 | = aarch64_feature_flags (1) << int (aarch64_feature::IDENT); | 48 | #define DEF_AARCH64_ISA_MODE(IDENT) HANDLE (IDENT) |
47 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT) | 49 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT) |
48 | #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT) | 50 | #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT) |
51 | -#include "aarch64-isa-modes.def" | ||
49 | -#include "aarch64-option-extensions.def" | 52 | -#include "aarch64-option-extensions.def" |
50 | -#include "aarch64-arches.def" | 53 | -#include "aarch64-arches.def" |
54 | +#include "config/aarch64/aarch64-isa-modes.def" | ||
51 | +#include "config/aarch64/aarch64-option-extensions.def" | 55 | +#include "config/aarch64/aarch64-option-extensions.def" |
52 | +#include "config/aarch64/aarch64-arches.def" | 56 | +#include "config/aarch64/aarch64-arches.def" |
53 | #undef HANDLE | 57 | #undef HANDLE |
54 | 58 | ||
55 | #endif | 59 | constexpr auto AARCH64_FL_SM_STATE = AARCH64_FL_SM_ON | AARCH64_FL_SM_OFF; |
60 | |||
61 | constexpr unsigned int AARCH64_NUM_ISA_MODES = (0 | ||
62 | #define DEF_AARCH64_ISA_MODE(IDENT) + 1 | ||
63 | -#include "aarch64-isa-modes.def" | ||
64 | +#include "config/aarch64/aarch64-isa-modes.def" | ||
65 | ); | ||
66 | |||
67 | /* The mask of all ISA modes. */ | ||
diff --git a/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch b/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch index cf5efcd32d..2f6ecd53bb 100644 --- a/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch +++ b/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 39ab6fe76f2788b2c989d29c9016f1fe53cb736e Mon Sep 17 00:00:00 2001 | 1 | From a40108180f552788bb321a853ed4d5f034866a48 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 20 Feb 2015 09:39:38 +0000 | 3 | Date: Fri, 20 Feb 2015 09:39:38 +0000 |
4 | Subject: [PATCH] Avoid using libdir from .la which usually points to a host | 4 | Subject: [PATCH] Avoid using libdir from .la which usually points to a host |
diff --git a/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch b/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch index e2343a3c17..eb4f0b3045 100644 --- a/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch +++ b/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 531b9df680c4380797e8e7705a8e7f8ed17ebe68 Mon Sep 17 00:00:00 2001 | 1 | From 6ad8db533c7d53a85e6280da1ad88ed4077258fb Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Fri, 20 Feb 2015 10:25:11 +0000 | 3 | Date: Fri, 20 Feb 2015 10:25:11 +0000 |
4 | Subject: [PATCH] Ensure target gcc headers can be included | 4 | Subject: [PATCH] Ensure target gcc headers can be included |
@@ -25,10 +25,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
25 | 4 files changed, 22 insertions(+) | 25 | 4 files changed, 22 insertions(+) |
26 | 26 | ||
27 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | 27 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
28 | index 04f28984b34..8ef996c0f4d 100644 | 28 | index 956437df95b..6a009c696e9 100644 |
29 | --- a/gcc/Makefile.in | 29 | --- a/gcc/Makefile.in |
30 | +++ b/gcc/Makefile.in | 30 | +++ b/gcc/Makefile.in |
31 | @@ -640,6 +640,7 @@ libexecdir = @libexecdir@ | 31 | @@ -671,6 +671,7 @@ libexecdir = @libexecdir@ |
32 | 32 | ||
33 | # Directory in which the compiler finds libraries etc. | 33 | # Directory in which the compiler finds libraries etc. |
34 | libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) | 34 | libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) |
@@ -36,7 +36,7 @@ index 04f28984b34..8ef996c0f4d 100644 | |||
36 | # Directory in which the compiler finds executables | 36 | # Directory in which the compiler finds executables |
37 | libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) | 37 | libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) |
38 | # Directory in which all plugin resources are installed | 38 | # Directory in which all plugin resources are installed |
39 | @@ -3059,6 +3060,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" | 39 | @@ -3199,6 +3200,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" |
40 | 40 | ||
41 | PREPROCESSOR_DEFINES = \ | 41 | PREPROCESSOR_DEFINES = \ |
42 | -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ | 42 | -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ |
@@ -45,7 +45,7 @@ index 04f28984b34..8ef996c0f4d 100644 | |||
45 | -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ | 45 | -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ |
46 | -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ | 46 | -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ |
47 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 47 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
48 | index 6491c6b84f5..57496ff1f2f 100644 | 48 | index e36f32bf59e..c6aada42eb7 100644 |
49 | --- a/gcc/config/linux.h | 49 | --- a/gcc/config/linux.h |
50 | +++ b/gcc/config/linux.h | 50 | +++ b/gcc/config/linux.h |
51 | @@ -157,6 +157,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 51 | @@ -157,6 +157,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
@@ -71,7 +71,7 @@ index 6491c6b84f5..57496ff1f2f 100644 | |||
71 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ | 71 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ |
72 | { 0, 0, 0, 0, 0, 0 } \ | 72 | { 0, 0, 0, 0, 0, 0 } \ |
73 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h | 73 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h |
74 | index 26db003cb3a..3a443abcf6b 100644 | 74 | index 8fda952e69c..247acec9d8e 100644 |
75 | --- a/gcc/config/rs6000/sysv4.h | 75 | --- a/gcc/config/rs6000/sysv4.h |
76 | +++ b/gcc/config/rs6000/sysv4.h | 76 | +++ b/gcc/config/rs6000/sysv4.h |
77 | @@ -986,6 +986,13 @@ ncrtn.o%s" | 77 | @@ -986,6 +986,13 @@ ncrtn.o%s" |
@@ -97,7 +97,7 @@ index 26db003cb3a..3a443abcf6b 100644 | |||
97 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ | 97 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ |
98 | { 0, 0, 0, 0, 0, 0 } \ | 98 | { 0, 0, 0, 0, 0, 0 } \ |
99 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc | 99 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc |
100 | index 141bb4d25f6..734590a7059 100644 | 100 | index f82b4badad7..98bd66f95c6 100644 |
101 | --- a/gcc/cppdefault.cc | 101 | --- a/gcc/cppdefault.cc |
102 | +++ b/gcc/cppdefault.cc | 102 | +++ b/gcc/cppdefault.cc |
103 | @@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[] | 103 | @@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[] |
diff --git a/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch b/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch index 30224d7485..a9cbc08f1a 100644 --- a/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch +++ b/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 793201cebfeb129f6f263e64310b30a0ffa48895 Mon Sep 17 00:00:00 2001 | 1 | From e0d53bf9d59438a1dce0774163fa8c41cf32f306 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 3 Mar 2015 08:21:19 +0000 | 3 | Date: Tue, 3 Mar 2015 08:21:19 +0000 |
4 | Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix | 4 | Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix |
diff --git a/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch b/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch index 33c601ac97..8eb00287fc 100644 --- a/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch +++ b/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 5de63874335c1c673dd132f6aca00dc13f1eac51 Mon Sep 17 00:00:00 2001 | 1 | From c2ea8aaa7b00c519c9c269c23ff840138ae491ac Mon Sep 17 00:00:00 2001 |
2 | From: Robert Yang <liezhi.yang@windriver.com> | 2 | From: Robert Yang <liezhi.yang@windriver.com> |
3 | Date: Sun, 5 Jul 2015 20:25:18 -0700 | 3 | Date: Sun, 5 Jul 2015 20:25:18 -0700 |
4 | Subject: [PATCH] libcc1: fix libcc1's install path and rpath | 4 | Subject: [PATCH] libcc1: fix libcc1's install path and rpath |
@@ -20,7 +20,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | |||
20 | 2 files changed, 4 insertions(+), 4 deletions(-) | 20 | 2 files changed, 4 insertions(+), 4 deletions(-) |
21 | 21 | ||
22 | diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am | 22 | diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am |
23 | index 921a33fe236..938e6f964cd 100644 | 23 | index b592bc8645f..97e2b615fb7 100644 |
24 | --- a/libcc1/Makefile.am | 24 | --- a/libcc1/Makefile.am |
25 | +++ b/libcc1/Makefile.am | 25 | +++ b/libcc1/Makefile.am |
26 | @@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ | 26 | @@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ |
diff --git a/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch b/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch index bdffcae7dc..82342b0532 100644 --- a/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch +++ b/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From bbc75b93bff66891fa7ffb3af5c6ad53df1fff68 Mon Sep 17 00:00:00 2001 | 1 | From 82da570396a6835e7208c8bb508220524b3a07c7 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 7 Dec 2015 23:39:54 +0000 | 3 | Date: Mon, 7 Dec 2015 23:39:54 +0000 |
4 | Subject: [PATCH] handle sysroot support for nativesdk-gcc | 4 | Subject: [PATCH] handle sysroot support for nativesdk-gcc |
@@ -46,10 +46,10 @@ Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> | |||
46 | 8 files changed, 95 insertions(+), 73 deletions(-) | 46 | 8 files changed, 95 insertions(+), 73 deletions(-) |
47 | 47 | ||
48 | diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc | 48 | diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc |
49 | index c68a2a27469..77e9b5eceaa 100644 | 49 | index be3058dca63..0be85374760 100644 |
50 | --- a/gcc/c-family/c-opts.cc | 50 | --- a/gcc/c-family/c-opts.cc |
51 | +++ b/gcc/c-family/c-opts.cc | 51 | +++ b/gcc/c-family/c-opts.cc |
52 | @@ -1458,8 +1458,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) | 52 | @@ -1542,8 +1542,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) |
53 | size_t prefix_len, suffix_len; | 53 | size_t prefix_len, suffix_len; |
54 | 54 | ||
55 | suffix_len = strlen (suffix); | 55 | suffix_len = strlen (suffix); |
@@ -61,7 +61,7 @@ index c68a2a27469..77e9b5eceaa 100644 | |||
61 | path = (char *) xmalloc (prefix_len + suffix_len + 1); | 61 | path = (char *) xmalloc (prefix_len + suffix_len + 1); |
62 | memcpy (path, prefix, prefix_len); | 62 | memcpy (path, prefix, prefix_len); |
63 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 63 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
64 | index 57496ff1f2f..c921cf6ef63 100644 | 64 | index c6aada42eb7..79ff13184d3 100644 |
65 | --- a/gcc/config/linux.h | 65 | --- a/gcc/config/linux.h |
66 | +++ b/gcc/config/linux.h | 66 | +++ b/gcc/config/linux.h |
67 | @@ -121,53 +121,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 67 | @@ -121,53 +121,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
@@ -139,7 +139,7 @@ index 57496ff1f2f..c921cf6ef63 100644 | |||
139 | } | 139 | } |
140 | #endif | 140 | #endif |
141 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h | 141 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h |
142 | index 3a443abcf6b..ef83a5a432e 100644 | 142 | index 247acec9d8e..5526bf050b8 100644 |
143 | --- a/gcc/config/rs6000/sysv4.h | 143 | --- a/gcc/config/rs6000/sysv4.h |
144 | +++ b/gcc/config/rs6000/sysv4.h | 144 | +++ b/gcc/config/rs6000/sysv4.h |
145 | @@ -950,53 +950,53 @@ ncrtn.o%s" | 145 | @@ -950,53 +950,53 @@ ncrtn.o%s" |
@@ -217,7 +217,7 @@ index 3a443abcf6b..ef83a5a432e 100644 | |||
217 | } | 217 | } |
218 | #endif | 218 | #endif |
219 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc | 219 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc |
220 | index 734590a7059..b4a8fc29e4a 100644 | 220 | index 98bd66f95c6..742a4e56d5b 100644 |
221 | --- a/gcc/cppdefault.cc | 221 | --- a/gcc/cppdefault.cc |
222 | +++ b/gcc/cppdefault.cc | 222 | +++ b/gcc/cppdefault.cc |
223 | @@ -35,6 +35,30 @@ | 223 | @@ -35,6 +35,30 @@ |
@@ -347,7 +347,7 @@ index 734590a7059..b4a8fc29e4a 100644 | |||
347 | /* This value is set by cpp_relocated at runtime */ | 347 | /* This value is set by cpp_relocated at runtime */ |
348 | const char *gcc_exec_prefix; | 348 | const char *gcc_exec_prefix; |
349 | diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h | 349 | diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h |
350 | index e26b424e99c..c9abb090dcd 100644 | 350 | index e9b9264caff..168144b84b8 100644 |
351 | --- a/gcc/cppdefault.h | 351 | --- a/gcc/cppdefault.h |
352 | +++ b/gcc/cppdefault.h | 352 | +++ b/gcc/cppdefault.h |
353 | @@ -33,7 +33,8 @@ | 353 | @@ -33,7 +33,8 @@ |
@@ -382,10 +382,10 @@ index e26b424e99c..c9abb090dcd 100644 | |||
382 | subdirectory of the actual installation. */ | 382 | subdirectory of the actual installation. */ |
383 | extern const char *gcc_exec_prefix; | 383 | extern const char *gcc_exec_prefix; |
384 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 384 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
385 | index 8af0c814c33..605fe3b8c0d 100644 | 385 | index e3e9374d1cc..b080609341b 100644 |
386 | --- a/gcc/gcc.cc | 386 | --- a/gcc/gcc.cc |
387 | +++ b/gcc/gcc.cc | 387 | +++ b/gcc/gcc.cc |
388 | @@ -255,6 +255,8 @@ FILE *report_times_to_file = NULL; | 388 | @@ -259,6 +259,8 @@ FILE *report_times_to_file = NULL; |
389 | #endif | 389 | #endif |
390 | static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; | 390 | static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; |
391 | 391 | ||
@@ -394,7 +394,7 @@ index 8af0c814c33..605fe3b8c0d 100644 | |||
394 | /* Nonzero means pass the updated target_system_root to the compiler. */ | 394 | /* Nonzero means pass the updated target_system_root to the compiler. */ |
395 | 395 | ||
396 | static int target_system_root_changed; | 396 | static int target_system_root_changed; |
397 | @@ -578,6 +580,7 @@ or with constant text in a single argument. | 397 | @@ -591,6 +593,7 @@ or with constant text in a single argument. |
398 | %G process LIBGCC_SPEC as a spec. | 398 | %G process LIBGCC_SPEC as a spec. |
399 | %R Output the concatenation of target_system_root and | 399 | %R Output the concatenation of target_system_root and |
400 | target_sysroot_suffix. | 400 | target_sysroot_suffix. |
@@ -402,7 +402,7 @@ index 8af0c814c33..605fe3b8c0d 100644 | |||
402 | %S process STARTFILE_SPEC as a spec. A capital S is actually used here. | 402 | %S process STARTFILE_SPEC as a spec. A capital S is actually used here. |
403 | %E process ENDFILE_SPEC as a spec. A capital E is actually used here. | 403 | %E process ENDFILE_SPEC as a spec. A capital E is actually used here. |
404 | %C process CPP_SPEC as a spec. | 404 | %C process CPP_SPEC as a spec. |
405 | @@ -1619,10 +1622,10 @@ static const char *gcc_libexec_prefix; | 405 | @@ -1638,10 +1641,10 @@ static const char *gcc_libexec_prefix; |
406 | gcc_exec_prefix is set because, in that case, we know where the | 406 | gcc_exec_prefix is set because, in that case, we know where the |
407 | compiler has been installed, and use paths relative to that | 407 | compiler has been installed, and use paths relative to that |
408 | location instead. */ | 408 | location instead. */ |
@@ -417,7 +417,7 @@ index 8af0c814c33..605fe3b8c0d 100644 | |||
417 | 417 | ||
418 | /* For native compilers, these are well-known paths containing | 418 | /* For native compilers, these are well-known paths containing |
419 | components that may be provided by the system. For cross | 419 | components that may be provided by the system. For cross |
420 | @@ -1630,9 +1633,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; | 420 | @@ -1649,9 +1652,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; |
421 | static const char *md_exec_prefix = MD_EXEC_PREFIX; | 421 | static const char *md_exec_prefix = MD_EXEC_PREFIX; |
422 | static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; | 422 | static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; |
423 | static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; | 423 | static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; |
@@ -429,7 +429,7 @@ index 8af0c814c33..605fe3b8c0d 100644 | |||
429 | = STANDARD_STARTFILE_PREFIX_2; | 429 | = STANDARD_STARTFILE_PREFIX_2; |
430 | 430 | ||
431 | /* A relative path to be used in finding the location of tools | 431 | /* A relative path to be used in finding the location of tools |
432 | @@ -6652,6 +6655,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) | 432 | @@ -6796,6 +6799,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) |
433 | } | 433 | } |
434 | break; | 434 | break; |
435 | 435 | ||
@@ -442,7 +442,7 @@ index 8af0c814c33..605fe3b8c0d 100644 | |||
442 | value = do_spec_1 (startfile_spec, 0, NULL); | 442 | value = do_spec_1 (startfile_spec, 0, NULL); |
443 | if (value != 0) | 443 | if (value != 0) |
444 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc | 444 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc |
445 | index 46c0d543205..d088dae7b04 100644 | 445 | index e572d98ab17..2cb2b586e4a 100644 |
446 | --- a/gcc/incpath.cc | 446 | --- a/gcc/incpath.cc |
447 | +++ b/gcc/incpath.cc | 447 | +++ b/gcc/incpath.cc |
448 | @@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, | 448 | @@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, |
@@ -489,7 +489,7 @@ index 46c0d543205..d088dae7b04 100644 | |||
489 | str = update_path (ostr, p->component); | 489 | str = update_path (ostr, p->component); |
490 | free (ostr); | 490 | free (ostr); |
491 | diff --git a/gcc/prefix.cc b/gcc/prefix.cc | 491 | diff --git a/gcc/prefix.cc b/gcc/prefix.cc |
492 | index c2a37bde5ea..33944701ced 100644 | 492 | index 6a98e856855..c403b2da7a3 100644 |
493 | --- a/gcc/prefix.cc | 493 | --- a/gcc/prefix.cc |
494 | +++ b/gcc/prefix.cc | 494 | +++ b/gcc/prefix.cc |
495 | @@ -73,7 +73,9 @@ License along with GCC; see the file COPYING3. If not see | 495 | @@ -73,7 +73,9 @@ License along with GCC; see the file COPYING3. If not see |
diff --git a/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch b/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch index 8a11049ca3..f87461bcaf 100644 --- a/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch +++ b/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 7e095089452b6e895ec40981752e9f902f0ad889 Mon Sep 17 00:00:00 2001 | 1 | From cafcdfea0526dda5377a999dd9b1b8c805eafe0a Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Mon, 7 Dec 2015 23:41:45 +0000 | 3 | Date: Mon, 7 Dec 2015 23:41:45 +0000 |
4 | Subject: [PATCH] Search target sysroot gcc version specific dirs with | 4 | Subject: [PATCH] Search target sysroot gcc version specific dirs with |
@@ -52,10 +52,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
52 | 1 file changed, 28 insertions(+), 1 deletion(-) | 52 | 1 file changed, 28 insertions(+), 1 deletion(-) |
53 | 53 | ||
54 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 54 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
55 | index 605fe3b8c0d..c3a1dab38c4 100644 | 55 | index b080609341b..1a1ca05064e 100644 |
56 | --- a/gcc/gcc.cc | 56 | --- a/gcc/gcc.cc |
57 | +++ b/gcc/gcc.cc | 57 | +++ b/gcc/gcc.cc |
58 | @@ -2809,7 +2809,7 @@ for_each_path (const struct path_prefix *paths, | 58 | @@ -2823,7 +2823,7 @@ for_each_path (const struct path_prefix *paths, |
59 | if (path == NULL) | 59 | if (path == NULL) |
60 | { | 60 | { |
61 | len = paths->max_len + extra_space + 1; | 61 | len = paths->max_len + extra_space + 1; |
@@ -64,7 +64,7 @@ index 605fe3b8c0d..c3a1dab38c4 100644 | |||
64 | path = XNEWVEC (char, len); | 64 | path = XNEWVEC (char, len); |
65 | } | 65 | } |
66 | 66 | ||
67 | @@ -2821,6 +2821,33 @@ for_each_path (const struct path_prefix *paths, | 67 | @@ -2835,6 +2835,33 @@ for_each_path (const struct path_prefix *paths, |
68 | /* Look first in MACHINE/VERSION subdirectory. */ | 68 | /* Look first in MACHINE/VERSION subdirectory. */ |
69 | if (!skip_multi_dir) | 69 | if (!skip_multi_dir) |
70 | { | 70 | { |
diff --git a/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch b/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch index 9bc77b485f..71e43e556d 100644 --- a/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch +++ b/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From bf92b290556b7050df0a001cc7ae43cf79990456 Mon Sep 17 00:00:00 2001 | 1 | From f2ad66276fd197cc088d7316662b1d792357ef6c Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Tue, 27 Jun 2017 18:10:54 -0700 | 3 | Date: Tue, 27 Jun 2017 18:10:54 -0700 |
4 | Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets | 4 | Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets |
@@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
23 | 3 files changed, 27 insertions(+) | 23 | 3 files changed, 27 insertions(+) |
24 | 24 | ||
25 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 25 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
26 | index c921cf6ef63..32e1bc1ae2d 100644 | 26 | index 79ff13184d3..19f552e8c7d 100644 |
27 | --- a/gcc/config/linux.h | 27 | --- a/gcc/config/linux.h |
28 | +++ b/gcc/config/linux.h | 28 | +++ b/gcc/config/linux.h |
29 | @@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 29 | @@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
@@ -41,10 +41,10 @@ index c921cf6ef63..32e1bc1ae2d 100644 | |||
41 | 41 | ||
42 | #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ | 42 | #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ |
43 | diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h | 43 | diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h |
44 | index 5d21befe8e4..1248a68e4ca 100644 | 44 | index 5f6cede558a..900993b6da4 100644 |
45 | --- a/gcc/config/rs6000/linux.h | 45 | --- a/gcc/config/rs6000/linux.h |
46 | +++ b/gcc/config/rs6000/linux.h | 46 | +++ b/gcc/config/rs6000/linux.h |
47 | @@ -99,6 +99,16 @@ | 47 | @@ -102,6 +102,16 @@ |
48 | " -m elf32ppclinux") | 48 | " -m elf32ppclinux") |
49 | #endif | 49 | #endif |
50 | 50 | ||
@@ -62,10 +62,10 @@ index 5d21befe8e4..1248a68e4ca 100644 | |||
62 | #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ | 62 | #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ |
63 | %{!static-pie: \ | 63 | %{!static-pie: \ |
64 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h | 64 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h |
65 | index 2ddab7c99c1..9641580fc83 100644 | 65 | index a11ae7643b7..2abde270813 100644 |
66 | --- a/gcc/config/rs6000/linux64.h | 66 | --- a/gcc/config/rs6000/linux64.h |
67 | +++ b/gcc/config/rs6000/linux64.h | 67 | +++ b/gcc/config/rs6000/linux64.h |
68 | @@ -372,6 +372,16 @@ extern int dot_symbols; | 68 | @@ -373,6 +373,16 @@ extern int dot_symbols; |
69 | " -m elf64ppc") | 69 | " -m elf64ppc") |
70 | #endif | 70 | #endif |
71 | 71 | ||
diff --git a/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch b/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch index f785688661..7f92dea0c6 100644 --- a/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch +++ b/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 587ac4a59ea56da18a9989c31a75124e974cb37c Mon Sep 17 00:00:00 2001 | 1 | From 65baa3804819fbcd540be48f4c4611be5cba43c4 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 6 Jun 2018 12:10:22 -0700 | 3 | Date: Wed, 6 Jun 2018 12:10:22 -0700 |
4 | Subject: [PATCH] Re-introduce spe commandline options | 4 | Subject: [PATCH] Re-introduce spe commandline options |
@@ -14,7 +14,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
14 | 1 file changed, 13 insertions(+) | 14 | 1 file changed, 13 insertions(+) |
15 | 15 | ||
16 | diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt | 16 | diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt |
17 | index bde6d3ff664..5af9640825c 100644 | 17 | index 83197681b66..04bea50b894 100644 |
18 | --- a/gcc/config/rs6000/rs6000.opt | 18 | --- a/gcc/config/rs6000/rs6000.opt |
19 | +++ b/gcc/config/rs6000/rs6000.opt | 19 | +++ b/gcc/config/rs6000/rs6000.opt |
20 | @@ -344,6 +344,19 @@ mdebug= | 20 | @@ -344,6 +344,19 @@ mdebug= |
diff --git a/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch b/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch index b86edab5d5..c5f43f5ba4 100644 --- a/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch +++ b/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 8c4c59521720f8c1b1e38e38896b47fcb1bf00ac Mon Sep 17 00:00:00 2001 | 1 | From 18b0057e4e2c5cf6fc6541670418f43f0381db3e Mon Sep 17 00:00:00 2001 |
2 | From: Szabolcs Nagy <nsz@port70.net> | 2 | From: Szabolcs Nagy <nsz@port70.net> |
3 | Date: Sat, 24 Oct 2015 20:09:53 +0000 | 3 | Date: Sat, 24 Oct 2015 20:09:53 +0000 |
4 | Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of | 4 | Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of |
@@ -39,10 +39,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
39 | 3 files changed, 6 insertions(+), 6 deletions(-) | 39 | 3 files changed, 6 insertions(+), 6 deletions(-) |
40 | 40 | ||
41 | diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc | 41 | diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc |
42 | index 0d817fc3f3b..8d34d19d3f9 100644 | 42 | index 8bb8f21e686..bcf976aa1b9 100644 |
43 | --- a/gcc/config/i386/i386-expand.cc | 43 | --- a/gcc/config/i386/i386-expand.cc |
44 | +++ b/gcc/config/i386/i386-expand.cc | 44 | +++ b/gcc/config/i386/i386-expand.cc |
45 | @@ -12691,10 +12691,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, | 45 | @@ -13087,10 +13087,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, |
46 | { | 46 | { |
47 | case IX86_BUILTIN_CPU_INIT: | 47 | case IX86_BUILTIN_CPU_INIT: |
48 | { | 48 | { |
@@ -56,7 +56,7 @@ index 0d817fc3f3b..8d34d19d3f9 100644 | |||
56 | return expand_expr (call_expr, target, mode, EXPAND_NORMAL); | 56 | return expand_expr (call_expr, target, mode, EXPAND_NORMAL); |
57 | } | 57 | } |
58 | diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c | 58 | diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c |
59 | index 50b6d8248a2..724ced402a1 100644 | 59 | index 0bd6dffe17e..ef4acb175a4 100644 |
60 | --- a/libgcc/config/i386/cpuinfo.c | 60 | --- a/libgcc/config/i386/cpuinfo.c |
61 | +++ b/libgcc/config/i386/cpuinfo.c | 61 | +++ b/libgcc/config/i386/cpuinfo.c |
62 | @@ -63,7 +63,7 @@ __cpu_indicator_init (void) | 62 | @@ -63,7 +63,7 @@ __cpu_indicator_init (void) |
diff --git a/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch b/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch index b6707592dc..dce2c047d0 100644 --- a/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch +++ b/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From f15b19d8e058c983c49c4566c1879fdaf5b1ab54 Mon Sep 17 00:00:00 2001 | 1 | From a9bb04b7cf02b2f2d16f68733488f9e48fc7e7a9 Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
3 | Date: Tue, 10 Mar 2020 08:26:53 -0700 | 3 | Date: Tue, 10 Mar 2020 08:26:53 -0700 |
4 | Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining | 4 | Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining |
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | 2 files changed, 19 insertions(+), 19 deletions(-) | 17 | 2 files changed, 19 insertions(+), 19 deletions(-) |
18 | 18 | ||
19 | diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc | 19 | diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc |
20 | index 7763f40e9ab..4f0c1eb1508 100644 | 20 | index c0ecbe8558b..9f8ab7146c0 100644 |
21 | --- a/gcc/gengtype.cc | 21 | --- a/gcc/gengtype.cc |
22 | +++ b/gcc/gengtype.cc | 22 | +++ b/gcc/gengtype.cc |
23 | @@ -1005,7 +1005,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt, | 23 | @@ -1005,7 +1005,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt, |
@@ -38,7 +38,7 @@ index 7763f40e9ab..4f0c1eb1508 100644 | |||
38 | 38 | ||
39 | /* Reverse a linked list of 'struct pair's in place. */ | 39 | /* Reverse a linked list of 'struct pair's in place. */ |
40 | pair_p | 40 | pair_p |
41 | @@ -5223,7 +5223,7 @@ main (int argc, char **argv) | 41 | @@ -5232,7 +5232,7 @@ main (int argc, char **argv) |
42 | /* These types are set up with #define or else outside of where | 42 | /* These types are set up with #define or else outside of where |
43 | we can see them. We should initialize them before calling | 43 | we can see them. We should initialize them before calling |
44 | read_input_list. */ | 44 | read_input_list. */ |
@@ -48,7 +48,7 @@ index 7763f40e9ab..4f0c1eb1508 100644 | |||
48 | POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); | 48 | POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); |
49 | POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); | 49 | POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); |
50 | diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc | 50 | diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc |
51 | index 715787b8f48..302adff28d5 100644 | 51 | index eb3f9e2f0c1..5425635cb22 100644 |
52 | --- a/gcc/genmodes.cc | 52 | --- a/gcc/genmodes.cc |
53 | +++ b/gcc/genmodes.cc | 53 | +++ b/gcc/genmodes.cc |
54 | @@ -441,7 +441,7 @@ complete_all_modes (void) | 54 | @@ -441,7 +441,7 @@ complete_all_modes (void) |
diff --git a/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch b/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch index 0ea8aac543..d710b50594 100644 --- a/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch +++ b/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 939a899b862f7a25e52b74d1587fc75fc65779c0 Mon Sep 17 00:00:00 2001 | 1 | From db4380eac3cd9baa2f31bcd2fb936ed51f27b415 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Wed, 13 May 2020 15:10:38 -0700 | 3 | Date: Wed, 13 May 2020 15:10:38 -0700 |
4 | Subject: [PATCH] libatomic: Do not enforce march on aarch64 | 4 | Subject: [PATCH] libatomic: Do not enforce march on aarch64 |
@@ -17,25 +17,25 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | 2 files changed, 2 deletions(-) | 17 | 2 files changed, 2 deletions(-) |
18 | 18 | ||
19 | diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am | 19 | diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am |
20 | index c6c8d81c56a..d959a5d040e 100644 | 20 | index 980677f3533..26188917946 100644 |
21 | --- a/libatomic/Makefile.am | 21 | --- a/libatomic/Makefile.am |
22 | +++ b/libatomic/Makefile.am | 22 | +++ b/libatomic/Makefile.am |
23 | @@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) | 23 | @@ -130,7 +130,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) |
24 | ## On a target-specific basis, include alternates to be selected by IFUNC. | 24 | ## On a target-specific basis, include alternates to be selected by IFUNC. |
25 | if HAVE_IFUNC | 25 | if HAVE_IFUNC |
26 | if ARCH_AARCH64_LINUX | 26 | if ARCH_AARCH64_LINUX |
27 | -IFUNC_OPTIONS = -march=armv8-a+lse | 27 | -IFUNC_OPTIONS = -march=armv8-a+lse |
28 | libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) | 28 | libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS))) |
29 | libatomic_la_SOURCES += atomic_16.S | ||
30 | 29 | ||
30 | endif | ||
31 | diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in | 31 | diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in |
32 | index a0fa3dfc8cc..e70d389874a 100644 | 32 | index d9d529bc502..47dacef9e01 100644 |
33 | --- a/libatomic/Makefile.in | 33 | --- a/libatomic/Makefile.in |
34 | +++ b/libatomic/Makefile.in | 34 | +++ b/libatomic/Makefile.in |
35 | @@ -447,7 +447,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) | 35 | @@ -452,7 +452,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) |
36 | libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ | 36 | libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \ |
37 | _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_3) \ | 37 | _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \ |
38 | $(am__append_4) $(am__append_5) | 38 | $(am__append_3) $(am__append_4) |
39 | -@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse | 39 | -@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse |
40 | @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 | 40 | @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64 |
41 | @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586 | 41 | @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586 |
diff --git a/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch b/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch index cd962d82bd..7f1cd0b3d8 100644 --- a/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch +++ b/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 696d696381dd99ec2bddb1170f96f98da36eb418 Mon Sep 17 00:00:00 2001 | 1 | From 92a77026cc64f5eab4cb6b35e4a7c59e6ab8aa20 Mon Sep 17 00:00:00 2001 |
2 | From: Andrei Gherzan <andrei.gherzan@huawei.com> | 2 | From: Andrei Gherzan <andrei.gherzan@huawei.com> |
3 | Date: Wed, 22 Dec 2021 12:49:25 +0100 | 3 | Date: Wed, 22 Dec 2021 12:49:25 +0100 |
4 | Subject: [PATCH] Fix install path of linux64.h | 4 | Subject: [PATCH] Fix install path of linux64.h |
@@ -17,11 +17,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | 1 file changed, 2 insertions(+) | 17 | 1 file changed, 2 insertions(+) |
18 | 18 | ||
19 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | 19 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
20 | index 8ef996c0f4d..21daf380e34 100644 | 20 | index 6a009c696e9..da54dd42adf 100644 |
21 | --- a/gcc/Makefile.in | 21 | --- a/gcc/Makefile.in |
22 | +++ b/gcc/Makefile.in | 22 | +++ b/gcc/Makefile.in |
23 | @@ -3731,6 +3731,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype | 23 | @@ -3900,6 +3900,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype |
24 | "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ | 24 | | "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ |
25 | | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ | 25 | | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ |
26 | base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ | 26 | base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ |
27 | + */linux64.h ) \ | 27 | + */linux64.h ) \ |
diff --git a/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch b/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch index 04d940ae0b..a34e6afdb4 100644 --- a/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch +++ b/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9487b1d6136ea09cce4792d59d0170c712575550 Mon Sep 17 00:00:00 2001 | 1 | From c6fc577e9e89dc16d3e971aa165602746232de4c Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
3 | Date: Sat, 20 Aug 2022 09:04:14 -0700 | 3 | Date: Sat, 20 Aug 2022 09:04:14 -0700 |
4 | Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc | 4 | Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc |
diff --git a/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch b/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch index e4d57c27ef..454d05d473 100644 --- a/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch +++ b/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch | |||
@@ -1,6 +1,6 @@ | |||
1 | From f12acc6a383546d48da3bdfb2f25ca2adb7976d7 Mon Sep 17 00:00:00 2001 | 1 | From 8845248c81c0695ccc65311017deef824fa538fa Mon Sep 17 00:00:00 2001 |
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
3 | Date: Sun, 13 Aug 2023 10:24:05 +0100 | 3 | Date: Thu, 17 Aug 2023 09:01:40 -0700 |
4 | Subject: [PATCH] gcc testsuite tweaks for mips/OE | 4 | Subject: [PATCH] gcc testsuite tweaks for mips/OE |
5 | 5 | ||
6 | Disable loongson-mmi runtine, qemu doesn't appear to fully support them even if some | 6 | Disable loongson-mmi runtine, qemu doesn't appear to fully support them even if some |
@@ -26,10 +26,12 @@ Also, for gcc.target tests, add checks on wheter loongson or msa code can | |||
26 | be run before trying that, allowing downgrading of tests there to work too. | 26 | be run before trying that, allowing downgrading of tests there to work too. |
27 | 27 | ||
28 | Upstream-Status: Pending | 28 | Upstream-Status: Pending |
29 | |||
29 | [Parts of the patch may be able to be split off and acceptable to upstream with | 30 | [Parts of the patch may be able to be split off and acceptable to upstream with |
30 | discussion. Need to investigate why qemu-user passes the 'bad' instructions'] | 31 | discussion. Need to investigate why qemu-user passes the 'bad' instructions'] |
31 | 32 | ||
32 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | 33 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
34 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
33 | --- | 35 | --- |
34 | gcc/testsuite/gcc.target/mips/mips.exp | 16 +++++++++ | 36 | gcc/testsuite/gcc.target/mips/mips.exp | 16 +++++++++ |
35 | gcc/testsuite/lib/gcc-dg.exp | 11 +++++++ | 37 | gcc/testsuite/lib/gcc-dg.exp | 11 +++++++ |
@@ -37,10 +39,10 @@ Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | |||
37 | 3 files changed, 41 insertions(+), 31 deletions(-) | 39 | 3 files changed, 41 insertions(+), 31 deletions(-) |
38 | 40 | ||
39 | diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp | 41 | diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp |
40 | index 15d574202d3..2cef9709774 100644 | 42 | index e028bc93b40..b54a40d6509 100644 |
41 | --- a/gcc/testsuite/gcc.target/mips/mips.exp | 43 | --- a/gcc/testsuite/gcc.target/mips/mips.exp |
42 | +++ b/gcc/testsuite/gcc.target/mips/mips.exp | 44 | +++ b/gcc/testsuite/gcc.target/mips/mips.exp |
43 | @@ -709,7 +709,23 @@ proc mips_first_unsupported_option { upstatus } { | 45 | @@ -711,7 +711,23 @@ proc mips_first_unsupported_option { upstatus } { |
44 | global mips_option_tests | 46 | global mips_option_tests |
45 | upvar $upstatus status | 47 | upvar $upstatus status |
46 | 48 | ||
@@ -65,10 +67,10 @@ index 15d574202d3..2cef9709774 100644 | |||
65 | regsub -all "\n" $code "\\n\\\n" asm | 67 | regsub -all "\n" $code "\\n\\\n" asm |
66 | # Use check_runtime from target-supports.exp, which caches | 68 | # Use check_runtime from target-supports.exp, which caches |
67 | diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp | 69 | diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp |
68 | index 9d79b9402e9..e0e5cbb1af8 100644 | 70 | index 228c21d1207..d3b88e0419e 100644 |
69 | --- a/gcc/testsuite/lib/gcc-dg.exp | 71 | --- a/gcc/testsuite/lib/gcc-dg.exp |
70 | +++ b/gcc/testsuite/lib/gcc-dg.exp | 72 | +++ b/gcc/testsuite/lib/gcc-dg.exp |
71 | @@ -240,9 +240,20 @@ proc schedule-cleanups { opts } { | 73 | @@ -232,9 +232,20 @@ proc schedule-cleanups { opts } { |
72 | 74 | ||
73 | proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } { | 75 | proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } { |
74 | # Set up the compiler flags, based on what we're going to do. | 76 | # Set up the compiler flags, based on what we're going to do. |
@@ -77,23 +79,23 @@ index 9d79b9402e9..e0e5cbb1af8 100644 | |||
77 | set options [list] | 79 | set options [list] |
78 | 80 | ||
79 | + if [info exists do-what-limit] then { | 81 | + if [info exists do-what-limit] then { |
80 | + # Demote run tests to $do-what-limit if set | 82 | + # Demote run tests to $do-what-limit if set |
81 | + switch $do_what { | 83 | + switch $do_what { |
82 | + run { | 84 | + run { |
83 | + set do_what ${do-what-limit} | 85 | + set do_what ${do-what-limit} |
84 | + set dg-do-what ${do-what-limit} | 86 | + set dg-do-what ${do-what-limit} |
85 | + } | 87 | + } |
86 | + } | 88 | + } |
87 | + } | 89 | + } |
88 | + | 90 | + |
89 | switch $do_what { | 91 | switch $do_what { |
90 | "preprocess" { | 92 | "preprocess" { |
91 | set compile_type "preprocess" | 93 | set compile_type "preprocess" |
92 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp | 94 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp |
93 | index 40f71e9ed8b..10e267fa16d 100644 | 95 | index 45435586de2..04942540d8b 100644 |
94 | --- a/gcc/testsuite/lib/target-supports.exp | 96 | --- a/gcc/testsuite/lib/target-supports.exp |
95 | +++ b/gcc/testsuite/lib/target-supports.exp | 97 | +++ b/gcc/testsuite/lib/target-supports.exp |
96 | @@ -2155,14 +2155,7 @@ proc check_mips_loongson_mmi_hw_available { } { | 98 | @@ -2483,14 +2483,7 @@ proc check_mips_loongson_mmi_hw_available { } { |
97 | if { !([istarget mips*-*-*]) } { | 99 | if { !([istarget mips*-*-*]) } { |
98 | expr 0 | 100 | expr 0 |
99 | } else { | 101 | } else { |
@@ -109,7 +111,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
109 | } | 111 | } |
110 | }] | 112 | }] |
111 | } | 113 | } |
112 | @@ -2176,29 +2169,7 @@ proc check_mips_msa_hw_available { } { | 114 | @@ -2504,29 +2497,7 @@ proc check_mips_msa_hw_available { } { |
113 | if { !([istarget mips*-*-*]) } { | 115 | if { !([istarget mips*-*-*]) } { |
114 | expr 0 | 116 | expr 0 |
115 | } else { | 117 | } else { |
@@ -140,7 +142,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
140 | } | 142 | } |
141 | }] | 143 | }] |
142 | } | 144 | } |
143 | @@ -9187,6 +9158,7 @@ proc is-effective-target-keyword { arg } { | 145 | @@ -9897,6 +9868,7 @@ proc is-effective-target-keyword { arg } { |
144 | 146 | ||
145 | proc et-dg-runtest { runtest testcases flags default-extra-flags } { | 147 | proc et-dg-runtest { runtest testcases flags default-extra-flags } { |
146 | global dg-do-what-default | 148 | global dg-do-what-default |
@@ -148,7 +150,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
148 | global EFFECTIVE_TARGETS | 150 | global EFFECTIVE_TARGETS |
149 | global et_index | 151 | global et_index |
150 | 152 | ||
151 | @@ -9194,6 +9166,7 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { | 153 | @@ -9904,6 +9876,7 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { |
152 | foreach target $EFFECTIVE_TARGETS { | 154 | foreach target $EFFECTIVE_TARGETS { |
153 | set target_flags $flags | 155 | set target_flags $flags |
154 | set dg-do-what-default compile | 156 | set dg-do-what-default compile |
@@ -156,7 +158,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
156 | set et_index [lsearch -exact $EFFECTIVE_TARGETS $target] | 158 | set et_index [lsearch -exact $EFFECTIVE_TARGETS $target] |
157 | if { [info procs add_options_for_${target}] != [list] } { | 159 | if { [info procs add_options_for_${target}] != [list] } { |
158 | set target_flags [add_options_for_${target} "$flags"] | 160 | set target_flags [add_options_for_${target} "$flags"] |
159 | @@ -9201,8 +9174,10 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { | 161 | @@ -9911,8 +9884,10 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { |
160 | if { [info procs check_effective_target_${target}_runtime] | 162 | if { [info procs check_effective_target_${target}_runtime] |
161 | != [list] && [check_effective_target_${target}_runtime] } { | 163 | != [list] && [check_effective_target_${target}_runtime] } { |
162 | set dg-do-what-default run | 164 | set dg-do-what-default run |
@@ -167,7 +169,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
167 | } | 169 | } |
168 | } else { | 170 | } else { |
169 | set et_index 0 | 171 | set et_index 0 |
170 | @@ -10789,6 +10764,7 @@ proc check_effective_target_sigsetjmp {} { | 172 | @@ -11606,6 +11581,7 @@ proc check_effective_target_sigsetjmp {} { |
171 | proc check_vect_support_and_set_flags { } { | 173 | proc check_vect_support_and_set_flags { } { |
172 | global DEFAULT_VECTCFLAGS | 174 | global DEFAULT_VECTCFLAGS |
173 | global dg-do-what-default | 175 | global dg-do-what-default |
@@ -175,7 +177,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
175 | global EFFECTIVE_TARGETS | 177 | global EFFECTIVE_TARGETS |
176 | 178 | ||
177 | if [istarget powerpc-*paired*] { | 179 | if [istarget powerpc-*paired*] { |
178 | @@ -10797,6 +10773,7 @@ proc check_vect_support_and_set_flags { } { | 180 | @@ -11614,6 +11590,7 @@ proc check_vect_support_and_set_flags { } { |
179 | set dg-do-what-default run | 181 | set dg-do-what-default run |
180 | } else { | 182 | } else { |
181 | set dg-do-what-default compile | 183 | set dg-do-what-default compile |
@@ -183,15 +185,15 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
183 | } | 185 | } |
184 | } elseif [istarget powerpc*-*-*] { | 186 | } elseif [istarget powerpc*-*-*] { |
185 | # Skip targets not supporting -maltivec. | 187 | # Skip targets not supporting -maltivec. |
186 | @@ -10821,6 +10798,7 @@ proc check_vect_support_and_set_flags { } { | 188 | @@ -11644,6 +11621,7 @@ proc check_vect_support_and_set_flags { } { |
187 | lappend DEFAULT_VECTCFLAGS "-mcpu=970" | 189 | set DEFAULT_VECTCFLAGS [linsert $DEFAULT_VECTCFLAGS 0 "-mcpu=970"] |
188 | } | 190 | } |
189 | set dg-do-what-default compile | 191 | set dg-do-what-default compile |
190 | + set do-what-limit link | 192 | + set do-what-limit link |
191 | } | 193 | } |
192 | } elseif { [istarget i?86-*-*] || [istarget x86_64-*-*] } { | 194 | } elseif { [istarget i?86-*-*] || [istarget x86_64-*-*] } { |
193 | lappend DEFAULT_VECTCFLAGS "-msse2" | 195 | lappend DEFAULT_VECTCFLAGS "-msse2" |
194 | @@ -10828,6 +10806,7 @@ proc check_vect_support_and_set_flags { } { | 196 | @@ -11651,6 +11629,7 @@ proc check_vect_support_and_set_flags { } { |
195 | set dg-do-what-default run | 197 | set dg-do-what-default run |
196 | } else { | 198 | } else { |
197 | set dg-do-what-default compile | 199 | set dg-do-what-default compile |
@@ -199,7 +201,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
199 | } | 201 | } |
200 | } elseif { [istarget mips*-*-*] | 202 | } elseif { [istarget mips*-*-*] |
201 | && [check_effective_target_nomips16] } { | 203 | && [check_effective_target_nomips16] } { |
202 | @@ -10847,6 +10826,7 @@ proc check_vect_support_and_set_flags { } { | 204 | @@ -11670,6 +11649,7 @@ proc check_vect_support_and_set_flags { } { |
203 | set dg-do-what-default run | 205 | set dg-do-what-default run |
204 | } else { | 206 | } else { |
205 | set dg-do-what-default compile | 207 | set dg-do-what-default compile |
@@ -207,7 +209,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
207 | } | 209 | } |
208 | } elseif [istarget alpha*-*-*] { | 210 | } elseif [istarget alpha*-*-*] { |
209 | # Alpha's vectorization capabilities are extremely limited. | 211 | # Alpha's vectorization capabilities are extremely limited. |
210 | @@ -10860,6 +10840,7 @@ proc check_vect_support_and_set_flags { } { | 212 | @@ -11683,6 +11663,7 @@ proc check_vect_support_and_set_flags { } { |
211 | set dg-do-what-default run | 213 | set dg-do-what-default run |
212 | } else { | 214 | } else { |
213 | set dg-do-what-default compile | 215 | set dg-do-what-default compile |
@@ -215,7 +217,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
215 | } | 217 | } |
216 | } elseif [istarget ia64-*-*] { | 218 | } elseif [istarget ia64-*-*] { |
217 | set dg-do-what-default run | 219 | set dg-do-what-default run |
218 | @@ -10873,6 +10854,7 @@ proc check_vect_support_and_set_flags { } { | 220 | @@ -11696,6 +11677,7 @@ proc check_vect_support_and_set_flags { } { |
219 | set dg-do-what-default run | 221 | set dg-do-what-default run |
220 | } else { | 222 | } else { |
221 | set dg-do-what-default compile | 223 | set dg-do-what-default compile |
@@ -223,7 +225,7 @@ index 40f71e9ed8b..10e267fa16d 100644 | |||
223 | } | 225 | } |
224 | } elseif [istarget aarch64*-*-*] { | 226 | } elseif [istarget aarch64*-*-*] { |
225 | set dg-do-what-default run | 227 | set dg-do-what-default run |
226 | @@ -10897,6 +10879,7 @@ proc check_vect_support_and_set_flags { } { | 228 | @@ -11720,6 +11702,7 @@ proc check_vect_support_and_set_flags { } { |
227 | } else { | 229 | } else { |
228 | lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch" | 230 | lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch" |
229 | set dg-do-what-default compile | 231 | set dg-do-what-default compile |
diff --git a/meta/recipes-devtools/gcc/gcc/0026-aarch64-Fix-loose-ldpstp-check-PR111411.patch b/meta/recipes-devtools/gcc/gcc/0026-aarch64-Fix-loose-ldpstp-check-PR111411.patch deleted file mode 100644 index a408a98698..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0026-aarch64-Fix-loose-ldpstp-check-PR111411.patch +++ /dev/null | |||
@@ -1,117 +0,0 @@ | |||
1 | From adb60dc78e0da4877747f32347cee339364775be Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
3 | Date: Fri, 15 Sep 2023 09:19:14 +0100 | ||
4 | Subject: [PATCH] aarch64: Fix loose ldpstp check [PR111411] | ||
5 | |||
6 | aarch64_operands_ok_for_ldpstp contained the code: | ||
7 | |||
8 | /* One of the memory accesses must be a mempair operand. | ||
9 | If it is not the first one, they need to be swapped by the | ||
10 | peephole. */ | ||
11 | if (!aarch64_mem_pair_operand (mem_1, GET_MODE (mem_1)) | ||
12 | && !aarch64_mem_pair_operand (mem_2, GET_MODE (mem_2))) | ||
13 | return false; | ||
14 | |||
15 | But the requirement isn't just that one of the accesses must be a | ||
16 | valid mempair operand. It's that the lower access must be, since | ||
17 | that's the access that will be used for the instruction operand. | ||
18 | |||
19 | gcc/ | ||
20 | PR target/111411 | ||
21 | * config/aarch64/aarch64.cc (aarch64_operands_ok_for_ldpstp): Require | ||
22 | the lower memory access to a mem-pair operand. | ||
23 | |||
24 | gcc/testsuite/ | ||
25 | PR target/111411 | ||
26 | * gcc.dg/rtl/aarch64/pr111411.c: New test. | ||
27 | |||
28 | Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=2d38f45bcca62ca0c7afef4b579f82c5c2a01610] | ||
29 | Signed-off-by: Martin Jansa <martin.jansa@gmail.com> | ||
30 | --- | ||
31 | gcc/config/aarch64/aarch64.cc | 8 ++- | ||
32 | gcc/testsuite/gcc.dg/rtl/aarch64/pr111411.c | 57 +++++++++++++++++++++ | ||
33 | 2 files changed, 60 insertions(+), 5 deletions(-) | ||
34 | create mode 100644 gcc/testsuite/gcc.dg/rtl/aarch64/pr111411.c | ||
35 | |||
36 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
37 | index 6118a3354ac..9b1f791ca8b 100644 | ||
38 | --- a/gcc/config/aarch64/aarch64.cc | ||
39 | +++ b/gcc/config/aarch64/aarch64.cc | ||
40 | @@ -26154,11 +26154,9 @@ aarch64_operands_ok_for_ldpstp (rtx *operands, bool load, | ||
41 | gcc_assert (known_eq (GET_MODE_SIZE (GET_MODE (mem_1)), | ||
42 | GET_MODE_SIZE (GET_MODE (mem_2)))); | ||
43 | |||
44 | - /* One of the memory accesses must be a mempair operand. | ||
45 | - If it is not the first one, they need to be swapped by the | ||
46 | - peephole. */ | ||
47 | - if (!aarch64_mem_pair_operand (mem_1, GET_MODE (mem_1)) | ||
48 | - && !aarch64_mem_pair_operand (mem_2, GET_MODE (mem_2))) | ||
49 | + /* The lower memory access must be a mem-pair operand. */ | ||
50 | + rtx lower_mem = reversed ? mem_2 : mem_1; | ||
51 | + if (!aarch64_mem_pair_operand (lower_mem, GET_MODE (lower_mem))) | ||
52 | return false; | ||
53 | |||
54 | if (REG_P (reg_1) && FP_REGNUM_P (REGNO (reg_1))) | ||
55 | diff --git a/gcc/testsuite/gcc.dg/rtl/aarch64/pr111411.c b/gcc/testsuite/gcc.dg/rtl/aarch64/pr111411.c | ||
56 | new file mode 100644 | ||
57 | index 00000000000..ad07e9c6c89 | ||
58 | --- /dev/null | ||
59 | +++ b/gcc/testsuite/gcc.dg/rtl/aarch64/pr111411.c | ||
60 | @@ -0,0 +1,57 @@ | ||
61 | +/* { dg-do compile { target aarch64*-*-* } } */ | ||
62 | +/* { dg-require-effective-target lp64 } */ | ||
63 | +/* { dg-options "-O -fdisable-rtl-postreload -fpeephole2 -fno-schedule-fusion" } */ | ||
64 | + | ||
65 | +extern int data[]; | ||
66 | + | ||
67 | +void __RTL (startwith ("ira")) foo (void *ptr) | ||
68 | +{ | ||
69 | + (function "foo" | ||
70 | + (param "ptr" | ||
71 | + (DECL_RTL (reg/v:DI <0> [ ptr ])) | ||
72 | + (DECL_RTL_INCOMING (reg/v:DI x0 [ ptr ])) | ||
73 | + ) ;; param "ptr" | ||
74 | + (insn-chain | ||
75 | + (block 2 | ||
76 | + (edge-from entry (flags "FALLTHRU")) | ||
77 | + (cnote 3 [bb 2] NOTE_INSN_BASIC_BLOCK) | ||
78 | + (insn 4 (set (reg:DI <0>) (reg:DI x0))) | ||
79 | + (insn 5 (set (reg:DI <1>) | ||
80 | + (plus:DI (reg:DI <0>) (const_int 768)))) | ||
81 | + (insn 6 (set (mem:SI (plus:DI (reg:DI <0>) | ||
82 | + (const_int 508)) [1 &data+508 S4 A4]) | ||
83 | + (const_int 0))) | ||
84 | + (insn 7 (set (mem:SI (plus:DI (reg:DI <1>) | ||
85 | + (const_int -256)) [1 &data+512 S4 A4]) | ||
86 | + (const_int 0))) | ||
87 | + (edge-to exit (flags "FALLTHRU")) | ||
88 | + ) ;; block 2 | ||
89 | + ) ;; insn-chain | ||
90 | + ) ;; function | ||
91 | +} | ||
92 | + | ||
93 | +void __RTL (startwith ("ira")) bar (void *ptr) | ||
94 | +{ | ||
95 | + (function "bar" | ||
96 | + (param "ptr" | ||
97 | + (DECL_RTL (reg/v:DI <0> [ ptr ])) | ||
98 | + (DECL_RTL_INCOMING (reg/v:DI x0 [ ptr ])) | ||
99 | + ) ;; param "ptr" | ||
100 | + (insn-chain | ||
101 | + (block 2 | ||
102 | + (edge-from entry (flags "FALLTHRU")) | ||
103 | + (cnote 3 [bb 2] NOTE_INSN_BASIC_BLOCK) | ||
104 | + (insn 4 (set (reg:DI <0>) (reg:DI x0))) | ||
105 | + (insn 5 (set (reg:DI <1>) | ||
106 | + (plus:DI (reg:DI <0>) (const_int 768)))) | ||
107 | + (insn 6 (set (mem:SI (plus:DI (reg:DI <1>) | ||
108 | + (const_int -256)) [1 &data+512 S4 A4]) | ||
109 | + (const_int 0))) | ||
110 | + (insn 7 (set (mem:SI (plus:DI (reg:DI <0>) | ||
111 | + (const_int 508)) [1 &data+508 S4 A4]) | ||
112 | + (const_int 0))) | ||
113 | + (edge-to exit (flags "FALLTHRU")) | ||
114 | + ) ;; block 2 | ||
115 | + ) ;; insn-chain | ||
116 | + ) ;; function | ||
117 | +} | ||
diff --git a/meta/recipes-devtools/gcc/gcc/0027-Fix-gcc-vect-module-testcases.patch b/meta/recipes-devtools/gcc/gcc/0027-Fix-gcc-vect-module-testcases.patch deleted file mode 100644 index 4b89036814..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0027-Fix-gcc-vect-module-testcases.patch +++ /dev/null | |||
@@ -1,26 +0,0 @@ | |||
1 | Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=948dbc5ee45f9ffd5f41fd6782704081cc7c8c27] | ||
2 | |||
3 | Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com> | ||
4 | |||
5 | diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c | ||
6 | index ed63ff59cc0..009c849b7e7 100644 | ||
7 | --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c | ||
8 | +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-10.c | ||
9 | @@ -1,3 +1,5 @@ | ||
10 | +/* Since this uses dg-additional-sources, need to specify `dg-do run` instead of the default. */ | ||
11 | +/* { dg-do run } */ | ||
12 | /* { dg-require-effective-target vect_simd_clones } */ | ||
13 | /* { dg-additional-options "-fopenmp-simd" } */ | ||
14 | /* { dg-additional-options "-mavx" { target avx_runtime } } */ | ||
15 | diff --git a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c | ||
16 | index c44471e35bc..4699a3f3c80 100644 | ||
17 | --- a/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c | ||
18 | +++ b/gcc/testsuite/gcc.dg/vect/vect-simd-clone-12.c | ||
19 | @@ -1,3 +1,5 @@ | ||
20 | +/* Since this uses dg-additional-sources, need to specify `dg-do run` instead of the default. */ | ||
21 | +/* { dg-do run } */ | ||
22 | /* { dg-require-effective-target vect_simd_clones } */ | ||
23 | /* { dg-additional-options "-fopenmp-simd" } */ | ||
24 | /* { dg-additional-options "-mavx" { target avx_runtime } } */ | ||
25 | -- | ||
26 | 2.43.0 | ||
diff --git a/meta/recipes-devtools/gcc/gcc/CVE-2023-4039.patch b/meta/recipes-devtools/gcc/gcc/CVE-2023-4039.patch deleted file mode 100644 index 81b5067c33..0000000000 --- a/meta/recipes-devtools/gcc/gcc/CVE-2023-4039.patch +++ /dev/null | |||
@@ -1,3093 +0,0 @@ | |||
1 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
2 | Subject: [PATCH 00/19] aarch64: Fix -fstack-protector issue | ||
3 | Date: Tue, 12 Sep 2023 16:25:10 +0100 | ||
4 | |||
5 | This series of patches fixes deficiencies in GCC's -fstack-protector | ||
6 | implementation for AArch64 when using dynamically allocated stack space. | ||
7 | This is CVE-2023-4039. See: | ||
8 | |||
9 | https://developer.arm.com/Arm%20Security%20Center/GCC%20Stack%20Protector%20Vulnerability%20AArch64 | ||
10 | https://github.com/metaredteam/external-disclosures/security/advisories/GHSA-x7ch-h5rf-w2mf | ||
11 | |||
12 | for more details. | ||
13 | |||
14 | The fix is to put the saved registers above the locals area when | ||
15 | -fstack-protector is used. | ||
16 | |||
17 | The series also fixes a stack-clash problem that I found while working | ||
18 | on the CVE. In unpatched sources, the stack-clash problem would only | ||
19 | trigger for unrealistic numbers of arguments (8K 64-bit arguments, or an | ||
20 | equivalent). But it would be a more significant issue with the new | ||
21 | -fstack-protector frame layout. It's therefore important that both | ||
22 | problems are fixed together. | ||
23 | |||
24 | Some reorganisation of the code seemed necessary to fix the problems in a | ||
25 | cleanish way. The series is therefore quite long, but only a handful of | ||
26 | patches should have any effect on code generation. | ||
27 | |||
28 | See the individual patches for a detailed description. | ||
29 | |||
30 | Tested on aarch64-linux-gnu. Pushed to trunk and to all active branches. | ||
31 | I've also pushed backports to GCC 7+ to vendors/ARM/heads/CVE-2023-4039. | ||
32 | |||
33 | CVE: CVE-2023-4039 | ||
34 | Upstream-Status: Backport | ||
35 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
36 | |||
37 | |||
38 | From 71a2aa2127283f450c623d3604dbcabe0e14a8d4 Mon Sep 17 00:00:00 2001 | ||
39 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
40 | Date: Tue, 12 Sep 2023 16:07:12 +0100 | ||
41 | Subject: [PATCH 01/19] aarch64: Use local frame vars in shrink-wrapping code | ||
42 | |||
43 | aarch64_layout_frame uses a shorthand for referring to | ||
44 | cfun->machine->frame: | ||
45 | |||
46 | aarch64_frame &frame = cfun->machine->frame; | ||
47 | |||
48 | This patch does the same for some other heavy users of the structure. | ||
49 | No functional change intended. | ||
50 | |||
51 | gcc/ | ||
52 | * config/aarch64/aarch64.cc (aarch64_save_callee_saves): Use | ||
53 | a local shorthand for cfun->machine->frame. | ||
54 | (aarch64_restore_callee_saves, aarch64_get_separate_components): | ||
55 | (aarch64_process_components): Likewise. | ||
56 | (aarch64_allocate_and_probe_stack_space): Likewise. | ||
57 | (aarch64_expand_prologue, aarch64_expand_epilogue): Likewise. | ||
58 | (aarch64_layout_frame): Use existing shorthand for one more case. | ||
59 | --- | ||
60 | gcc/config/aarch64/aarch64.cc | 123 ++++++++++++++++++---------------- | ||
61 | 1 file changed, 64 insertions(+), 59 deletions(-) | ||
62 | |||
63 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
64 | index 822a2b49a46..5d473d161d9 100644 | ||
65 | --- a/gcc/config/aarch64/aarch64.cc | ||
66 | +++ b/gcc/config/aarch64/aarch64.cc | ||
67 | @@ -8612,7 +8612,7 @@ aarch64_layout_frame (void) | ||
68 | frame.is_scs_enabled | ||
69 | = (!crtl->calls_eh_return | ||
70 | && sanitize_flags_p (SANITIZE_SHADOW_CALL_STACK) | ||
71 | - && known_ge (cfun->machine->frame.reg_offset[LR_REGNUM], 0)); | ||
72 | + && known_ge (frame.reg_offset[LR_REGNUM], 0)); | ||
73 | |||
74 | /* When shadow call stack is enabled, the scs_pop in the epilogue will | ||
75 | restore x30, and we don't need to pop x30 again in the traditional | ||
76 | @@ -9078,6 +9078,7 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
77 | unsigned start, unsigned limit, bool skip_wb, | ||
78 | bool hard_fp_valid_p) | ||
79 | { | ||
80 | + aarch64_frame &frame = cfun->machine->frame; | ||
81 | rtx_insn *insn; | ||
82 | unsigned regno; | ||
83 | unsigned regno2; | ||
84 | @@ -9092,8 +9093,8 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
85 | bool frame_related_p = aarch64_emit_cfi_for_reg_p (regno); | ||
86 | |||
87 | if (skip_wb | ||
88 | - && (regno == cfun->machine->frame.wb_push_candidate1 | ||
89 | - || regno == cfun->machine->frame.wb_push_candidate2)) | ||
90 | + && (regno == frame.wb_push_candidate1 | ||
91 | + || regno == frame.wb_push_candidate2)) | ||
92 | continue; | ||
93 | |||
94 | if (cfun->machine->reg_is_wrapped_separately[regno]) | ||
95 | @@ -9101,7 +9102,7 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
96 | |||
97 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
98 | reg = gen_rtx_REG (mode, regno); | ||
99 | - offset = start_offset + cfun->machine->frame.reg_offset[regno]; | ||
100 | + offset = start_offset + frame.reg_offset[regno]; | ||
101 | rtx base_rtx = stack_pointer_rtx; | ||
102 | poly_int64 sp_offset = offset; | ||
103 | |||
104 | @@ -9114,7 +9115,7 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
105 | { | ||
106 | gcc_assert (known_eq (start_offset, 0)); | ||
107 | poly_int64 fp_offset | ||
108 | - = cfun->machine->frame.below_hard_fp_saved_regs_size; | ||
109 | + = frame.below_hard_fp_saved_regs_size; | ||
110 | if (hard_fp_valid_p) | ||
111 | base_rtx = hard_frame_pointer_rtx; | ||
112 | else | ||
113 | @@ -9136,8 +9137,7 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
114 | && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit | ||
115 | && !cfun->machine->reg_is_wrapped_separately[regno2] | ||
116 | && known_eq (GET_MODE_SIZE (mode), | ||
117 | - cfun->machine->frame.reg_offset[regno2] | ||
118 | - - cfun->machine->frame.reg_offset[regno])) | ||
119 | + frame.reg_offset[regno2] - frame.reg_offset[regno])) | ||
120 | { | ||
121 | rtx reg2 = gen_rtx_REG (mode, regno2); | ||
122 | rtx mem2; | ||
123 | @@ -9187,6 +9187,7 @@ static void | ||
124 | aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start, | ||
125 | unsigned limit, bool skip_wb, rtx *cfi_ops) | ||
126 | { | ||
127 | + aarch64_frame &frame = cfun->machine->frame; | ||
128 | unsigned regno; | ||
129 | unsigned regno2; | ||
130 | poly_int64 offset; | ||
131 | @@ -9203,13 +9204,13 @@ aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start, | ||
132 | rtx reg, mem; | ||
133 | |||
134 | if (skip_wb | ||
135 | - && (regno == cfun->machine->frame.wb_pop_candidate1 | ||
136 | - || regno == cfun->machine->frame.wb_pop_candidate2)) | ||
137 | + && (regno == frame.wb_pop_candidate1 | ||
138 | + || regno == frame.wb_pop_candidate2)) | ||
139 | continue; | ||
140 | |||
141 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
142 | reg = gen_rtx_REG (mode, regno); | ||
143 | - offset = start_offset + cfun->machine->frame.reg_offset[regno]; | ||
144 | + offset = start_offset + frame.reg_offset[regno]; | ||
145 | rtx base_rtx = stack_pointer_rtx; | ||
146 | if (mode == VNx2DImode && BYTES_BIG_ENDIAN) | ||
147 | aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg, | ||
148 | @@ -9220,8 +9221,7 @@ aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start, | ||
149 | && (regno2 = aarch64_next_callee_save (regno + 1, limit)) <= limit | ||
150 | && !cfun->machine->reg_is_wrapped_separately[regno2] | ||
151 | && known_eq (GET_MODE_SIZE (mode), | ||
152 | - cfun->machine->frame.reg_offset[regno2] | ||
153 | - - cfun->machine->frame.reg_offset[regno])) | ||
154 | + frame.reg_offset[regno2] - frame.reg_offset[regno])) | ||
155 | { | ||
156 | rtx reg2 = gen_rtx_REG (mode, regno2); | ||
157 | rtx mem2; | ||
158 | @@ -9326,6 +9326,7 @@ offset_12bit_unsigned_scaled_p (machine_mode mode, poly_int64 offset) | ||
159 | static sbitmap | ||
160 | aarch64_get_separate_components (void) | ||
161 | { | ||
162 | + aarch64_frame &frame = cfun->machine->frame; | ||
163 | sbitmap components = sbitmap_alloc (LAST_SAVED_REGNUM + 1); | ||
164 | bitmap_clear (components); | ||
165 | |||
166 | @@ -9342,18 +9343,18 @@ aarch64_get_separate_components (void) | ||
167 | if (mode == VNx2DImode && BYTES_BIG_ENDIAN) | ||
168 | continue; | ||
169 | |||
170 | - poly_int64 offset = cfun->machine->frame.reg_offset[regno]; | ||
171 | + poly_int64 offset = frame.reg_offset[regno]; | ||
172 | |||
173 | /* If the register is saved in the first SVE save slot, we use | ||
174 | it as a stack probe for -fstack-clash-protection. */ | ||
175 | if (flag_stack_clash_protection | ||
176 | - && maybe_ne (cfun->machine->frame.below_hard_fp_saved_regs_size, 0) | ||
177 | + && maybe_ne (frame.below_hard_fp_saved_regs_size, 0) | ||
178 | && known_eq (offset, 0)) | ||
179 | continue; | ||
180 | |||
181 | /* Get the offset relative to the register we'll use. */ | ||
182 | if (frame_pointer_needed) | ||
183 | - offset -= cfun->machine->frame.below_hard_fp_saved_regs_size; | ||
184 | + offset -= frame.below_hard_fp_saved_regs_size; | ||
185 | else | ||
186 | offset += crtl->outgoing_args_size; | ||
187 | |||
188 | @@ -9372,11 +9373,11 @@ aarch64_get_separate_components (void) | ||
189 | /* If the spare predicate register used by big-endian SVE code | ||
190 | is call-preserved, it must be saved in the main prologue | ||
191 | before any saves that use it. */ | ||
192 | - if (cfun->machine->frame.spare_pred_reg != INVALID_REGNUM) | ||
193 | - bitmap_clear_bit (components, cfun->machine->frame.spare_pred_reg); | ||
194 | + if (frame.spare_pred_reg != INVALID_REGNUM) | ||
195 | + bitmap_clear_bit (components, frame.spare_pred_reg); | ||
196 | |||
197 | - unsigned reg1 = cfun->machine->frame.wb_push_candidate1; | ||
198 | - unsigned reg2 = cfun->machine->frame.wb_push_candidate2; | ||
199 | + unsigned reg1 = frame.wb_push_candidate1; | ||
200 | + unsigned reg2 = frame.wb_push_candidate2; | ||
201 | /* If registers have been chosen to be stored/restored with | ||
202 | writeback don't interfere with them to avoid having to output explicit | ||
203 | stack adjustment instructions. */ | ||
204 | @@ -9485,6 +9486,7 @@ aarch64_get_next_set_bit (sbitmap bmp, unsigned int start) | ||
205 | static void | ||
206 | aarch64_process_components (sbitmap components, bool prologue_p) | ||
207 | { | ||
208 | + aarch64_frame &frame = cfun->machine->frame; | ||
209 | rtx ptr_reg = gen_rtx_REG (Pmode, frame_pointer_needed | ||
210 | ? HARD_FRAME_POINTER_REGNUM | ||
211 | : STACK_POINTER_REGNUM); | ||
212 | @@ -9499,9 +9501,9 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
213 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
214 | |||
215 | rtx reg = gen_rtx_REG (mode, regno); | ||
216 | - poly_int64 offset = cfun->machine->frame.reg_offset[regno]; | ||
217 | + poly_int64 offset = frame.reg_offset[regno]; | ||
218 | if (frame_pointer_needed) | ||
219 | - offset -= cfun->machine->frame.below_hard_fp_saved_regs_size; | ||
220 | + offset -= frame.below_hard_fp_saved_regs_size; | ||
221 | else | ||
222 | offset += crtl->outgoing_args_size; | ||
223 | |||
224 | @@ -9526,14 +9528,14 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
225 | break; | ||
226 | } | ||
227 | |||
228 | - poly_int64 offset2 = cfun->machine->frame.reg_offset[regno2]; | ||
229 | + poly_int64 offset2 = frame.reg_offset[regno2]; | ||
230 | /* The next register is not of the same class or its offset is not | ||
231 | mergeable with the current one into a pair. */ | ||
232 | if (aarch64_sve_mode_p (mode) | ||
233 | || !satisfies_constraint_Ump (mem) | ||
234 | || GP_REGNUM_P (regno) != GP_REGNUM_P (regno2) | ||
235 | || (crtl->abi->id () == ARM_PCS_SIMD && FP_REGNUM_P (regno)) | ||
236 | - || maybe_ne ((offset2 - cfun->machine->frame.reg_offset[regno]), | ||
237 | + || maybe_ne ((offset2 - frame.reg_offset[regno]), | ||
238 | GET_MODE_SIZE (mode))) | ||
239 | { | ||
240 | insn = emit_insn (set); | ||
241 | @@ -9555,7 +9557,7 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
242 | /* REGNO2 can be saved/restored in a pair with REGNO. */ | ||
243 | rtx reg2 = gen_rtx_REG (mode, regno2); | ||
244 | if (frame_pointer_needed) | ||
245 | - offset2 -= cfun->machine->frame.below_hard_fp_saved_regs_size; | ||
246 | + offset2 -= frame.below_hard_fp_saved_regs_size; | ||
247 | else | ||
248 | offset2 += crtl->outgoing_args_size; | ||
249 | rtx addr2 = plus_constant (Pmode, ptr_reg, offset2); | ||
250 | @@ -9650,6 +9652,7 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
251 | bool frame_related_p, | ||
252 | bool final_adjustment_p) | ||
253 | { | ||
254 | + aarch64_frame &frame = cfun->machine->frame; | ||
255 | HOST_WIDE_INT guard_size | ||
256 | = 1 << param_stack_clash_protection_guard_size; | ||
257 | HOST_WIDE_INT guard_used_by_caller = STACK_CLASH_CALLER_GUARD; | ||
258 | @@ -9670,25 +9673,25 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
259 | register as a probe. We can't assume that LR was saved at position 0 | ||
260 | though, so treat any space below it as unprobed. */ | ||
261 | if (final_adjustment_p | ||
262 | - && known_eq (cfun->machine->frame.below_hard_fp_saved_regs_size, 0)) | ||
263 | + && known_eq (frame.below_hard_fp_saved_regs_size, 0)) | ||
264 | { | ||
265 | - poly_int64 lr_offset = cfun->machine->frame.reg_offset[LR_REGNUM]; | ||
266 | + poly_int64 lr_offset = frame.reg_offset[LR_REGNUM]; | ||
267 | if (known_ge (lr_offset, 0)) | ||
268 | min_probe_threshold -= lr_offset.to_constant (); | ||
269 | else | ||
270 | gcc_assert (!flag_stack_clash_protection || known_eq (poly_size, 0)); | ||
271 | } | ||
272 | |||
273 | - poly_int64 frame_size = cfun->machine->frame.frame_size; | ||
274 | + poly_int64 frame_size = frame.frame_size; | ||
275 | |||
276 | /* We should always have a positive probe threshold. */ | ||
277 | gcc_assert (min_probe_threshold > 0); | ||
278 | |||
279 | if (flag_stack_clash_protection && !final_adjustment_p) | ||
280 | { | ||
281 | - poly_int64 initial_adjust = cfun->machine->frame.initial_adjust; | ||
282 | - poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust; | ||
283 | - poly_int64 final_adjust = cfun->machine->frame.final_adjust; | ||
284 | + poly_int64 initial_adjust = frame.initial_adjust; | ||
285 | + poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
286 | + poly_int64 final_adjust = frame.final_adjust; | ||
287 | |||
288 | if (known_eq (frame_size, 0)) | ||
289 | { | ||
290 | @@ -9977,17 +9980,18 @@ aarch64_epilogue_uses (int regno) | ||
291 | void | ||
292 | aarch64_expand_prologue (void) | ||
293 | { | ||
294 | - poly_int64 frame_size = cfun->machine->frame.frame_size; | ||
295 | - poly_int64 initial_adjust = cfun->machine->frame.initial_adjust; | ||
296 | - HOST_WIDE_INT callee_adjust = cfun->machine->frame.callee_adjust; | ||
297 | - poly_int64 final_adjust = cfun->machine->frame.final_adjust; | ||
298 | - poly_int64 callee_offset = cfun->machine->frame.callee_offset; | ||
299 | - poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust; | ||
300 | + aarch64_frame &frame = cfun->machine->frame; | ||
301 | + poly_int64 frame_size = frame.frame_size; | ||
302 | + poly_int64 initial_adjust = frame.initial_adjust; | ||
303 | + HOST_WIDE_INT callee_adjust = frame.callee_adjust; | ||
304 | + poly_int64 final_adjust = frame.final_adjust; | ||
305 | + poly_int64 callee_offset = frame.callee_offset; | ||
306 | + poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
307 | poly_int64 below_hard_fp_saved_regs_size | ||
308 | - = cfun->machine->frame.below_hard_fp_saved_regs_size; | ||
309 | - unsigned reg1 = cfun->machine->frame.wb_push_candidate1; | ||
310 | - unsigned reg2 = cfun->machine->frame.wb_push_candidate2; | ||
311 | - bool emit_frame_chain = cfun->machine->frame.emit_frame_chain; | ||
312 | + = frame.below_hard_fp_saved_regs_size; | ||
313 | + unsigned reg1 = frame.wb_push_candidate1; | ||
314 | + unsigned reg2 = frame.wb_push_candidate2; | ||
315 | + bool emit_frame_chain = frame.emit_frame_chain; | ||
316 | rtx_insn *insn; | ||
317 | |||
318 | if (flag_stack_clash_protection && known_eq (callee_adjust, 0)) | ||
319 | @@ -10018,7 +10022,7 @@ aarch64_expand_prologue (void) | ||
320 | } | ||
321 | |||
322 | /* Push return address to shadow call stack. */ | ||
323 | - if (cfun->machine->frame.is_scs_enabled) | ||
324 | + if (frame.is_scs_enabled) | ||
325 | emit_insn (gen_scs_push ()); | ||
326 | |||
327 | if (flag_stack_usage_info) | ||
328 | @@ -10057,7 +10061,7 @@ aarch64_expand_prologue (void) | ||
329 | |||
330 | /* The offset of the frame chain record (if any) from the current SP. */ | ||
331 | poly_int64 chain_offset = (initial_adjust + callee_adjust | ||
332 | - - cfun->machine->frame.hard_fp_offset); | ||
333 | + - frame.hard_fp_offset); | ||
334 | gcc_assert (known_ge (chain_offset, 0)); | ||
335 | |||
336 | /* The offset of the bottom of the save area from the current SP. */ | ||
337 | @@ -10160,16 +10164,17 @@ aarch64_use_return_insn_p (void) | ||
338 | void | ||
339 | aarch64_expand_epilogue (bool for_sibcall) | ||
340 | { | ||
341 | - poly_int64 initial_adjust = cfun->machine->frame.initial_adjust; | ||
342 | - HOST_WIDE_INT callee_adjust = cfun->machine->frame.callee_adjust; | ||
343 | - poly_int64 final_adjust = cfun->machine->frame.final_adjust; | ||
344 | - poly_int64 callee_offset = cfun->machine->frame.callee_offset; | ||
345 | - poly_int64 sve_callee_adjust = cfun->machine->frame.sve_callee_adjust; | ||
346 | + aarch64_frame &frame = cfun->machine->frame; | ||
347 | + poly_int64 initial_adjust = frame.initial_adjust; | ||
348 | + HOST_WIDE_INT callee_adjust = frame.callee_adjust; | ||
349 | + poly_int64 final_adjust = frame.final_adjust; | ||
350 | + poly_int64 callee_offset = frame.callee_offset; | ||
351 | + poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
352 | poly_int64 below_hard_fp_saved_regs_size | ||
353 | - = cfun->machine->frame.below_hard_fp_saved_regs_size; | ||
354 | - unsigned reg1 = cfun->machine->frame.wb_pop_candidate1; | ||
355 | - unsigned reg2 = cfun->machine->frame.wb_pop_candidate2; | ||
356 | - unsigned int last_gpr = (cfun->machine->frame.is_scs_enabled | ||
357 | + = frame.below_hard_fp_saved_regs_size; | ||
358 | + unsigned reg1 = frame.wb_pop_candidate1; | ||
359 | + unsigned reg2 = frame.wb_pop_candidate2; | ||
360 | + unsigned int last_gpr = (frame.is_scs_enabled | ||
361 | ? R29_REGNUM : R30_REGNUM); | ||
362 | rtx cfi_ops = NULL; | ||
363 | rtx_insn *insn; | ||
364 | @@ -10203,7 +10208,7 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
365 | /* We need to add memory barrier to prevent read from deallocated stack. */ | ||
366 | bool need_barrier_p | ||
367 | = maybe_ne (get_frame_size () | ||
368 | - + cfun->machine->frame.saved_varargs_size, 0); | ||
369 | + + frame.saved_varargs_size, 0); | ||
370 | |||
371 | /* Emit a barrier to prevent loads from a deallocated stack. */ | ||
372 | if (maybe_gt (final_adjust, crtl->outgoing_args_size) | ||
373 | @@ -10284,7 +10289,7 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
374 | } | ||
375 | |||
376 | /* Pop return address from shadow call stack. */ | ||
377 | - if (cfun->machine->frame.is_scs_enabled) | ||
378 | + if (frame.is_scs_enabled) | ||
379 | { | ||
380 | machine_mode mode = aarch64_reg_save_mode (R30_REGNUM); | ||
381 | rtx reg = gen_rtx_REG (mode, R30_REGNUM); | ||
382 | @@ -12740,24 +12745,24 @@ aarch64_can_eliminate (const int from ATTRIBUTE_UNUSED, const int to) | ||
383 | poly_int64 | ||
384 | aarch64_initial_elimination_offset (unsigned from, unsigned to) | ||
385 | { | ||
386 | + aarch64_frame &frame = cfun->machine->frame; | ||
387 | + | ||
388 | if (to == HARD_FRAME_POINTER_REGNUM) | ||
389 | { | ||
390 | if (from == ARG_POINTER_REGNUM) | ||
391 | - return cfun->machine->frame.hard_fp_offset; | ||
392 | + return frame.hard_fp_offset; | ||
393 | |||
394 | if (from == FRAME_POINTER_REGNUM) | ||
395 | - return cfun->machine->frame.hard_fp_offset | ||
396 | - - cfun->machine->frame.locals_offset; | ||
397 | + return frame.hard_fp_offset - frame.locals_offset; | ||
398 | } | ||
399 | |||
400 | if (to == STACK_POINTER_REGNUM) | ||
401 | { | ||
402 | if (from == FRAME_POINTER_REGNUM) | ||
403 | - return cfun->machine->frame.frame_size | ||
404 | - - cfun->machine->frame.locals_offset; | ||
405 | + return frame.frame_size - frame.locals_offset; | ||
406 | } | ||
407 | |||
408 | - return cfun->machine->frame.frame_size; | ||
409 | + return frame.frame_size; | ||
410 | } | ||
411 | |||
412 | |||
413 | -- | ||
414 | 2.34.1 | ||
415 | |||
416 | |||
417 | From 89a9fa287706c5011f61926eaf65e7b996b963a3 Mon Sep 17 00:00:00 2001 | ||
418 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
419 | Date: Tue, 12 Sep 2023 16:07:12 +0100 | ||
420 | Subject: [PATCH 02/19] aarch64: Avoid a use of callee_offset | ||
421 | |||
422 | When we emit the frame chain, i.e. when we reach Here in this statement | ||
423 | of aarch64_expand_prologue: | ||
424 | |||
425 | if (emit_frame_chain) | ||
426 | { | ||
427 | // Here | ||
428 | ... | ||
429 | } | ||
430 | |||
431 | the stack is in one of two states: | ||
432 | |||
433 | - We've allocated up to the frame chain, but no more. | ||
434 | |||
435 | - We've allocated the whole frame, and the frame chain is within easy | ||
436 | reach of the new SP. | ||
437 | |||
438 | The offset of the frame chain from the current SP is available | ||
439 | in aarch64_frame as callee_offset. It is also available as the | ||
440 | chain_offset local variable, where the latter is calculated from other | ||
441 | data. (However, chain_offset is not always equal to callee_offset when | ||
442 | !emit_frame_chain, so chain_offset isn't redundant.) | ||
443 | |||
444 | In c600df9a4060da3c6121ff4d0b93f179eafd69d1 I switched to using | ||
445 | chain_offset for the initialisation of the hard frame pointer: | ||
446 | |||
447 | aarch64_add_offset (Pmode, hard_frame_pointer_rtx, | ||
448 | - stack_pointer_rtx, callee_offset, | ||
449 | + stack_pointer_rtx, chain_offset, | ||
450 | tmp1_rtx, tmp0_rtx, frame_pointer_needed); | ||
451 | |||
452 | But the later REG_CFA_ADJUST_CFA handling still used callee_offset. | ||
453 | |||
454 | I think the difference is harmless, but it's more logical for the | ||
455 | CFA note to be in sync, and it's more convenient for later patches | ||
456 | if it uses chain_offset. | ||
457 | |||
458 | gcc/ | ||
459 | * config/aarch64/aarch64.cc (aarch64_expand_prologue): Use | ||
460 | chain_offset rather than callee_offset. | ||
461 | --- | ||
462 | gcc/config/aarch64/aarch64.cc | 4 +--- | ||
463 | 1 file changed, 1 insertion(+), 3 deletions(-) | ||
464 | |||
465 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
466 | index 5d473d161d9..4f233c95140 100644 | ||
467 | --- a/gcc/config/aarch64/aarch64.cc | ||
468 | +++ b/gcc/config/aarch64/aarch64.cc | ||
469 | @@ -9985,7 +9985,6 @@ aarch64_expand_prologue (void) | ||
470 | poly_int64 initial_adjust = frame.initial_adjust; | ||
471 | HOST_WIDE_INT callee_adjust = frame.callee_adjust; | ||
472 | poly_int64 final_adjust = frame.final_adjust; | ||
473 | - poly_int64 callee_offset = frame.callee_offset; | ||
474 | poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
475 | poly_int64 below_hard_fp_saved_regs_size | ||
476 | = frame.below_hard_fp_saved_regs_size; | ||
477 | @@ -10098,8 +10097,7 @@ aarch64_expand_prologue (void) | ||
478 | implicit. */ | ||
479 | if (!find_reg_note (insn, REG_CFA_ADJUST_CFA, NULL_RTX)) | ||
480 | { | ||
481 | - rtx src = plus_constant (Pmode, stack_pointer_rtx, | ||
482 | - callee_offset); | ||
483 | + rtx src = plus_constant (Pmode, stack_pointer_rtx, chain_offset); | ||
484 | add_reg_note (insn, REG_CFA_ADJUST_CFA, | ||
485 | gen_rtx_SET (hard_frame_pointer_rtx, src)); | ||
486 | } | ||
487 | -- | ||
488 | 2.34.1 | ||
489 | |||
490 | |||
491 | From b36a2a78040722dab6124366c5d6baf8eaf80aef Mon Sep 17 00:00:00 2001 | ||
492 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
493 | Date: Tue, 12 Sep 2023 16:07:13 +0100 | ||
494 | Subject: [PATCH 03/19] aarch64: Explicitly handle frames with no saved | ||
495 | registers | ||
496 | |||
497 | If a frame has no saved registers, it can be allocated in one go. | ||
498 | There is no need to treat the areas below and above the saved | ||
499 | registers as separate. | ||
500 | |||
501 | And if we allocate the frame in one go, it should be allocated | ||
502 | as the initial_adjust rather than the final_adjust. This allows the | ||
503 | frame size to grow to guard_size - guard_used_by_caller before a stack | ||
504 | probe is needed. (A frame with no register saves is necessarily a | ||
505 | leaf frame.) | ||
506 | |||
507 | This is a no-op as thing stand, since a leaf function will have | ||
508 | no outgoing arguments, and so all the frame will be above where | ||
509 | the saved registers normally go. | ||
510 | |||
511 | gcc/ | ||
512 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Explicitly | ||
513 | allocate the frame in one go if there are no saved registers. | ||
514 | --- | ||
515 | gcc/config/aarch64/aarch64.cc | 8 +++++--- | ||
516 | 1 file changed, 5 insertions(+), 3 deletions(-) | ||
517 | |||
518 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
519 | index 4f233c95140..37643041ffb 100644 | ||
520 | --- a/gcc/config/aarch64/aarch64.cc | ||
521 | +++ b/gcc/config/aarch64/aarch64.cc | ||
522 | @@ -8639,9 +8639,11 @@ aarch64_layout_frame (void) | ||
523 | |||
524 | HOST_WIDE_INT const_size, const_outgoing_args_size, const_fp_offset; | ||
525 | HOST_WIDE_INT const_saved_regs_size; | ||
526 | - if (frame.frame_size.is_constant (&const_size) | ||
527 | - && const_size < max_push_offset | ||
528 | - && known_eq (frame.hard_fp_offset, const_size)) | ||
529 | + if (known_eq (frame.saved_regs_size, 0)) | ||
530 | + frame.initial_adjust = frame.frame_size; | ||
531 | + else if (frame.frame_size.is_constant (&const_size) | ||
532 | + && const_size < max_push_offset | ||
533 | + && known_eq (frame.hard_fp_offset, const_size)) | ||
534 | { | ||
535 | /* Simple, small frame with no outgoing arguments: | ||
536 | |||
537 | -- | ||
538 | 2.34.1 | ||
539 | |||
540 | |||
541 | From ada2ab0093596be707f23a3466ac82cff59fcffe Mon Sep 17 00:00:00 2001 | ||
542 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
543 | Date: Tue, 12 Sep 2023 16:07:13 +0100 | ||
544 | Subject: [PATCH 04/19] aarch64: Add bytes_below_saved_regs to frame info | ||
545 | |||
546 | The frame layout code currently hard-codes the assumption that | ||
547 | the number of bytes below the saved registers is equal to the | ||
548 | size of the outgoing arguments. This patch abstracts that | ||
549 | value into a new field of aarch64_frame. | ||
550 | |||
551 | gcc/ | ||
552 | * config/aarch64/aarch64.h (aarch64_frame::bytes_below_saved_regs): New | ||
553 | field. | ||
554 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it, | ||
555 | and use it instead of crtl->outgoing_args_size. | ||
556 | (aarch64_get_separate_components): Use bytes_below_saved_regs instead | ||
557 | of outgoing_args_size. | ||
558 | (aarch64_process_components): Likewise. | ||
559 | --- | ||
560 | gcc/config/aarch64/aarch64.cc | 71 ++++++++++++++++++----------------- | ||
561 | gcc/config/aarch64/aarch64.h | 5 +++ | ||
562 | 2 files changed, 41 insertions(+), 35 deletions(-) | ||
563 | |||
564 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
565 | index 37643041ffb..dacc2b0e4dd 100644 | ||
566 | --- a/gcc/config/aarch64/aarch64.cc | ||
567 | +++ b/gcc/config/aarch64/aarch64.cc | ||
568 | @@ -8478,6 +8478,8 @@ aarch64_layout_frame (void) | ||
569 | gcc_assert (crtl->is_leaf | ||
570 | || maybe_ne (frame.reg_offset[R30_REGNUM], SLOT_NOT_REQUIRED)); | ||
571 | |||
572 | + frame.bytes_below_saved_regs = crtl->outgoing_args_size; | ||
573 | + | ||
574 | /* Now assign stack slots for the registers. Start with the predicate | ||
575 | registers, since predicate LDR and STR have a relatively small | ||
576 | offset range. These saves happen below the hard frame pointer. */ | ||
577 | @@ -8582,18 +8584,18 @@ aarch64_layout_frame (void) | ||
578 | |||
579 | poly_int64 varargs_and_saved_regs_size = offset + frame.saved_varargs_size; | ||
580 | |||
581 | - poly_int64 above_outgoing_args | ||
582 | + poly_int64 saved_regs_and_above | ||
583 | = aligned_upper_bound (varargs_and_saved_regs_size | ||
584 | + get_frame_size (), | ||
585 | STACK_BOUNDARY / BITS_PER_UNIT); | ||
586 | |||
587 | frame.hard_fp_offset | ||
588 | - = above_outgoing_args - frame.below_hard_fp_saved_regs_size; | ||
589 | + = saved_regs_and_above - frame.below_hard_fp_saved_regs_size; | ||
590 | |||
591 | /* Both these values are already aligned. */ | ||
592 | - gcc_assert (multiple_p (crtl->outgoing_args_size, | ||
593 | + gcc_assert (multiple_p (frame.bytes_below_saved_regs, | ||
594 | STACK_BOUNDARY / BITS_PER_UNIT)); | ||
595 | - frame.frame_size = above_outgoing_args + crtl->outgoing_args_size; | ||
596 | + frame.frame_size = saved_regs_and_above + frame.bytes_below_saved_regs; | ||
597 | |||
598 | frame.locals_offset = frame.saved_varargs_size; | ||
599 | |||
600 | @@ -8637,7 +8639,7 @@ aarch64_layout_frame (void) | ||
601 | else if (frame.wb_pop_candidate1 != INVALID_REGNUM) | ||
602 | max_push_offset = 256; | ||
603 | |||
604 | - HOST_WIDE_INT const_size, const_outgoing_args_size, const_fp_offset; | ||
605 | + HOST_WIDE_INT const_size, const_below_saved_regs, const_fp_offset; | ||
606 | HOST_WIDE_INT const_saved_regs_size; | ||
607 | if (known_eq (frame.saved_regs_size, 0)) | ||
608 | frame.initial_adjust = frame.frame_size; | ||
609 | @@ -8645,31 +8647,31 @@ aarch64_layout_frame (void) | ||
610 | && const_size < max_push_offset | ||
611 | && known_eq (frame.hard_fp_offset, const_size)) | ||
612 | { | ||
613 | - /* Simple, small frame with no outgoing arguments: | ||
614 | + /* Simple, small frame with no data below the saved registers. | ||
615 | |||
616 | stp reg1, reg2, [sp, -frame_size]! | ||
617 | stp reg3, reg4, [sp, 16] */ | ||
618 | frame.callee_adjust = const_size; | ||
619 | } | ||
620 | - else if (crtl->outgoing_args_size.is_constant (&const_outgoing_args_size) | ||
621 | + else if (frame.bytes_below_saved_regs.is_constant (&const_below_saved_regs) | ||
622 | && frame.saved_regs_size.is_constant (&const_saved_regs_size) | ||
623 | - && const_outgoing_args_size + const_saved_regs_size < 512 | ||
624 | - /* We could handle this case even with outgoing args, provided | ||
625 | - that the number of args left us with valid offsets for all | ||
626 | - predicate and vector save slots. It's such a rare case that | ||
627 | - it hardly seems worth the effort though. */ | ||
628 | - && (!saves_below_hard_fp_p || const_outgoing_args_size == 0) | ||
629 | + && const_below_saved_regs + const_saved_regs_size < 512 | ||
630 | + /* We could handle this case even with data below the saved | ||
631 | + registers, provided that that data left us with valid offsets | ||
632 | + for all predicate and vector save slots. It's such a rare | ||
633 | + case that it hardly seems worth the effort though. */ | ||
634 | + && (!saves_below_hard_fp_p || const_below_saved_regs == 0) | ||
635 | && !(cfun->calls_alloca | ||
636 | && frame.hard_fp_offset.is_constant (&const_fp_offset) | ||
637 | && const_fp_offset < max_push_offset)) | ||
638 | { | ||
639 | - /* Frame with small outgoing arguments: | ||
640 | + /* Frame with small area below the saved registers: | ||
641 | |||
642 | sub sp, sp, frame_size | ||
643 | - stp reg1, reg2, [sp, outgoing_args_size] | ||
644 | - stp reg3, reg4, [sp, outgoing_args_size + 16] */ | ||
645 | + stp reg1, reg2, [sp, bytes_below_saved_regs] | ||
646 | + stp reg3, reg4, [sp, bytes_below_saved_regs + 16] */ | ||
647 | frame.initial_adjust = frame.frame_size; | ||
648 | - frame.callee_offset = const_outgoing_args_size; | ||
649 | + frame.callee_offset = const_below_saved_regs; | ||
650 | } | ||
651 | else if (saves_below_hard_fp_p | ||
652 | && known_eq (frame.saved_regs_size, | ||
653 | @@ -8679,30 +8681,29 @@ aarch64_layout_frame (void) | ||
654 | |||
655 | sub sp, sp, hard_fp_offset + below_hard_fp_saved_regs_size | ||
656 | save SVE registers relative to SP | ||
657 | - sub sp, sp, outgoing_args_size */ | ||
658 | + sub sp, sp, bytes_below_saved_regs */ | ||
659 | frame.initial_adjust = (frame.hard_fp_offset | ||
660 | + frame.below_hard_fp_saved_regs_size); | ||
661 | - frame.final_adjust = crtl->outgoing_args_size; | ||
662 | + frame.final_adjust = frame.bytes_below_saved_regs; | ||
663 | } | ||
664 | else if (frame.hard_fp_offset.is_constant (&const_fp_offset) | ||
665 | && const_fp_offset < max_push_offset) | ||
666 | { | ||
667 | - /* Frame with large outgoing arguments or SVE saves, but with | ||
668 | - a small local area: | ||
669 | + /* Frame with large area below the saved registers, or with SVE saves, | ||
670 | + but with a small area above: | ||
671 | |||
672 | stp reg1, reg2, [sp, -hard_fp_offset]! | ||
673 | stp reg3, reg4, [sp, 16] | ||
674 | [sub sp, sp, below_hard_fp_saved_regs_size] | ||
675 | [save SVE registers relative to SP] | ||
676 | - sub sp, sp, outgoing_args_size */ | ||
677 | + sub sp, sp, bytes_below_saved_regs */ | ||
678 | frame.callee_adjust = const_fp_offset; | ||
679 | frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; | ||
680 | - frame.final_adjust = crtl->outgoing_args_size; | ||
681 | + frame.final_adjust = frame.bytes_below_saved_regs; | ||
682 | } | ||
683 | else | ||
684 | { | ||
685 | - /* Frame with large local area and outgoing arguments or SVE saves, | ||
686 | - using frame pointer: | ||
687 | + /* General case: | ||
688 | |||
689 | sub sp, sp, hard_fp_offset | ||
690 | stp x29, x30, [sp, 0] | ||
691 | @@ -8710,10 +8711,10 @@ aarch64_layout_frame (void) | ||
692 | stp reg3, reg4, [sp, 16] | ||
693 | [sub sp, sp, below_hard_fp_saved_regs_size] | ||
694 | [save SVE registers relative to SP] | ||
695 | - sub sp, sp, outgoing_args_size */ | ||
696 | + sub sp, sp, bytes_below_saved_regs */ | ||
697 | frame.initial_adjust = frame.hard_fp_offset; | ||
698 | frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; | ||
699 | - frame.final_adjust = crtl->outgoing_args_size; | ||
700 | + frame.final_adjust = frame.bytes_below_saved_regs; | ||
701 | } | ||
702 | |||
703 | /* Make sure the individual adjustments add up to the full frame size. */ | ||
704 | @@ -9358,7 +9359,7 @@ aarch64_get_separate_components (void) | ||
705 | if (frame_pointer_needed) | ||
706 | offset -= frame.below_hard_fp_saved_regs_size; | ||
707 | else | ||
708 | - offset += crtl->outgoing_args_size; | ||
709 | + offset += frame.bytes_below_saved_regs; | ||
710 | |||
711 | /* Check that we can access the stack slot of the register with one | ||
712 | direct load with no adjustments needed. */ | ||
713 | @@ -9507,7 +9508,7 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
714 | if (frame_pointer_needed) | ||
715 | offset -= frame.below_hard_fp_saved_regs_size; | ||
716 | else | ||
717 | - offset += crtl->outgoing_args_size; | ||
718 | + offset += frame.bytes_below_saved_regs; | ||
719 | |||
720 | rtx addr = plus_constant (Pmode, ptr_reg, offset); | ||
721 | rtx mem = gen_frame_mem (mode, addr); | ||
722 | @@ -9561,7 +9562,7 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
723 | if (frame_pointer_needed) | ||
724 | offset2 -= frame.below_hard_fp_saved_regs_size; | ||
725 | else | ||
726 | - offset2 += crtl->outgoing_args_size; | ||
727 | + offset2 += frame.bytes_below_saved_regs; | ||
728 | rtx addr2 = plus_constant (Pmode, ptr_reg, offset2); | ||
729 | rtx mem2 = gen_frame_mem (mode, addr2); | ||
730 | rtx set2 = prologue_p ? gen_rtx_SET (mem2, reg2) | ||
731 | @@ -9635,10 +9636,10 @@ aarch64_stack_clash_protection_alloca_probe_range (void) | ||
732 | registers. If POLY_SIZE is not large enough to require a probe this function | ||
733 | will only adjust the stack. When allocating the stack space | ||
734 | FRAME_RELATED_P is then used to indicate if the allocation is frame related. | ||
735 | - FINAL_ADJUSTMENT_P indicates whether we are allocating the outgoing | ||
736 | - arguments. If we are then we ensure that any allocation larger than the ABI | ||
737 | - defined buffer needs a probe so that the invariant of having a 1KB buffer is | ||
738 | - maintained. | ||
739 | + FINAL_ADJUSTMENT_P indicates whether we are allocating the area below | ||
740 | + the saved registers. If we are then we ensure that any allocation | ||
741 | + larger than the ABI defined buffer needs a probe so that the | ||
742 | + invariant of having a 1KB buffer is maintained. | ||
743 | |||
744 | We emit barriers after each stack adjustment to prevent optimizations from | ||
745 | breaking the invariant that we never drop the stack more than a page. This | ||
746 | @@ -9847,7 +9848,7 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
747 | /* Handle any residuals. Residuals of at least MIN_PROBE_THRESHOLD have to | ||
748 | be probed. This maintains the requirement that each page is probed at | ||
749 | least once. For initial probing we probe only if the allocation is | ||
750 | - more than GUARD_SIZE - buffer, and for the outgoing arguments we probe | ||
751 | + more than GUARD_SIZE - buffer, and below the saved registers we probe | ||
752 | if the amount is larger than buffer. GUARD_SIZE - buffer + buffer == | ||
753 | GUARD_SIZE. This works that for any allocation that is large enough to | ||
754 | trigger a probe here, we'll have at least one, and if they're not large | ||
755 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
756 | index 73b09e20508..0b6faa3ddf1 100644 | ||
757 | --- a/gcc/config/aarch64/aarch64.h | ||
758 | +++ b/gcc/config/aarch64/aarch64.h | ||
759 | @@ -777,6 +777,11 @@ struct GTY (()) aarch64_frame | ||
760 | /* The size of the callee-save registers with a slot in REG_OFFSET. */ | ||
761 | poly_int64 saved_regs_size; | ||
762 | |||
763 | + /* The number of bytes between the bottom of the static frame (the bottom | ||
764 | + of the outgoing arguments) and the bottom of the register save area. | ||
765 | + This value is always a multiple of STACK_BOUNDARY. */ | ||
766 | + poly_int64 bytes_below_saved_regs; | ||
767 | + | ||
768 | /* The size of the callee-save registers with a slot in REG_OFFSET that | ||
769 | are saved below the hard frame pointer. */ | ||
770 | poly_int64 below_hard_fp_saved_regs_size; | ||
771 | -- | ||
772 | 2.34.1 | ||
773 | |||
774 | |||
775 | From 82f6b3e1b596ef0f4e3ac3bb9c6e88fb4458f402 Mon Sep 17 00:00:00 2001 | ||
776 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
777 | Date: Tue, 12 Sep 2023 16:07:14 +0100 | ||
778 | Subject: [PATCH 05/19] aarch64: Add bytes_below_hard_fp to frame info | ||
779 | |||
780 | Following on from the previous bytes_below_saved_regs patch, this one | ||
781 | records the number of bytes that are below the hard frame pointer. | ||
782 | This eventually replaces below_hard_fp_saved_regs_size. | ||
783 | |||
784 | If a frame pointer is not needed, the epilogue adds final_adjust | ||
785 | to the stack pointer before restoring registers: | ||
786 | |||
787 | aarch64_add_sp (tmp1_rtx, tmp0_rtx, final_adjust, true); | ||
788 | |||
789 | Therefore, if the epilogue needs to restore the stack pointer from | ||
790 | the hard frame pointer, the directly corresponding offset is: | ||
791 | |||
792 | -bytes_below_hard_fp + final_adjust | ||
793 | |||
794 | i.e. go from the hard frame pointer to the bottom of the frame, | ||
795 | then add the same amount as if we were using the stack pointer | ||
796 | from the outset. | ||
797 | |||
798 | gcc/ | ||
799 | * config/aarch64/aarch64.h (aarch64_frame::bytes_below_hard_fp): New | ||
800 | field. | ||
801 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize it. | ||
802 | (aarch64_expand_epilogue): Use it instead of | ||
803 | below_hard_fp_saved_regs_size. | ||
804 | --- | ||
805 | gcc/config/aarch64/aarch64.cc | 6 +++--- | ||
806 | gcc/config/aarch64/aarch64.h | 5 +++++ | ||
807 | 2 files changed, 8 insertions(+), 3 deletions(-) | ||
808 | |||
809 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
810 | index dacc2b0e4dd..a3f7aabcc59 100644 | ||
811 | --- a/gcc/config/aarch64/aarch64.cc | ||
812 | +++ b/gcc/config/aarch64/aarch64.cc | ||
813 | @@ -8530,6 +8530,7 @@ aarch64_layout_frame (void) | ||
814 | of the callee save area. */ | ||
815 | bool saves_below_hard_fp_p = maybe_ne (offset, 0); | ||
816 | frame.below_hard_fp_saved_regs_size = offset; | ||
817 | + frame.bytes_below_hard_fp = offset + frame.bytes_below_saved_regs; | ||
818 | if (frame.emit_frame_chain) | ||
819 | { | ||
820 | /* FP and LR are placed in the linkage record. */ | ||
821 | @@ -10171,8 +10172,7 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
822 | poly_int64 final_adjust = frame.final_adjust; | ||
823 | poly_int64 callee_offset = frame.callee_offset; | ||
824 | poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
825 | - poly_int64 below_hard_fp_saved_regs_size | ||
826 | - = frame.below_hard_fp_saved_regs_size; | ||
827 | + poly_int64 bytes_below_hard_fp = frame.bytes_below_hard_fp; | ||
828 | unsigned reg1 = frame.wb_pop_candidate1; | ||
829 | unsigned reg2 = frame.wb_pop_candidate2; | ||
830 | unsigned int last_gpr = (frame.is_scs_enabled | ||
831 | @@ -10230,7 +10230,7 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
832 | is restored on the instruction doing the writeback. */ | ||
833 | aarch64_add_offset (Pmode, stack_pointer_rtx, | ||
834 | hard_frame_pointer_rtx, | ||
835 | - -callee_offset - below_hard_fp_saved_regs_size, | ||
836 | + -bytes_below_hard_fp + final_adjust, | ||
837 | tmp1_rtx, tmp0_rtx, callee_adjust == 0); | ||
838 | else | ||
839 | /* The case where we need to re-use the register here is very rare, so | ||
840 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
841 | index 0b6faa3ddf1..4263d29d29d 100644 | ||
842 | --- a/gcc/config/aarch64/aarch64.h | ||
843 | +++ b/gcc/config/aarch64/aarch64.h | ||
844 | @@ -786,6 +786,11 @@ struct GTY (()) aarch64_frame | ||
845 | are saved below the hard frame pointer. */ | ||
846 | poly_int64 below_hard_fp_saved_regs_size; | ||
847 | |||
848 | + /* The number of bytes between the bottom of the static frame (the bottom | ||
849 | + of the outgoing arguments) and the hard frame pointer. This value is | ||
850 | + always a multiple of STACK_BOUNDARY. */ | ||
851 | + poly_int64 bytes_below_hard_fp; | ||
852 | + | ||
853 | /* Offset from the base of the frame (incomming SP) to the | ||
854 | top of the locals area. This value is always a multiple of | ||
855 | STACK_BOUNDARY. */ | ||
856 | -- | ||
857 | 2.34.1 | ||
858 | |||
859 | |||
860 | From 86fa43e9fe4a8bf954f2919f07cbe3646d1d1df3 Mon Sep 17 00:00:00 2001 | ||
861 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
862 | Date: Tue, 12 Sep 2023 16:07:14 +0100 | ||
863 | Subject: [PATCH 06/19] aarch64: Tweak aarch64_save/restore_callee_saves | ||
864 | |||
865 | aarch64_save_callee_saves and aarch64_restore_callee_saves took | ||
866 | a parameter called start_offset that gives the offset of the | ||
867 | bottom of the saved register area from the current stack pointer. | ||
868 | However, it's more convenient for later patches if we use the | ||
869 | bottom of the entire frame as the reference point, rather than | ||
870 | the bottom of the saved registers. | ||
871 | |||
872 | Doing that removes the need for the callee_offset field. | ||
873 | Other than that, this is not a win on its own. It only really | ||
874 | makes sense in combination with the follow-on patches. | ||
875 | |||
876 | gcc/ | ||
877 | * config/aarch64/aarch64.h (aarch64_frame::callee_offset): Delete. | ||
878 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Remove | ||
879 | callee_offset handling. | ||
880 | (aarch64_save_callee_saves): Replace the start_offset parameter | ||
881 | with a bytes_below_sp parameter. | ||
882 | (aarch64_restore_callee_saves): Likewise. | ||
883 | (aarch64_expand_prologue): Update accordingly. | ||
884 | (aarch64_expand_epilogue): Likewise. | ||
885 | --- | ||
886 | gcc/config/aarch64/aarch64.cc | 56 +++++++++++++++++------------------ | ||
887 | gcc/config/aarch64/aarch64.h | 4 --- | ||
888 | 2 files changed, 28 insertions(+), 32 deletions(-) | ||
889 | |||
890 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
891 | index a3f7aabcc59..46ae5cf7673 100644 | ||
892 | --- a/gcc/config/aarch64/aarch64.cc | ||
893 | +++ b/gcc/config/aarch64/aarch64.cc | ||
894 | @@ -8604,7 +8604,6 @@ aarch64_layout_frame (void) | ||
895 | frame.final_adjust = 0; | ||
896 | frame.callee_adjust = 0; | ||
897 | frame.sve_callee_adjust = 0; | ||
898 | - frame.callee_offset = 0; | ||
899 | |||
900 | frame.wb_pop_candidate1 = frame.wb_push_candidate1; | ||
901 | frame.wb_pop_candidate2 = frame.wb_push_candidate2; | ||
902 | @@ -8672,7 +8671,6 @@ aarch64_layout_frame (void) | ||
903 | stp reg1, reg2, [sp, bytes_below_saved_regs] | ||
904 | stp reg3, reg4, [sp, bytes_below_saved_regs + 16] */ | ||
905 | frame.initial_adjust = frame.frame_size; | ||
906 | - frame.callee_offset = const_below_saved_regs; | ||
907 | } | ||
908 | else if (saves_below_hard_fp_p | ||
909 | && known_eq (frame.saved_regs_size, | ||
910 | @@ -9073,12 +9071,13 @@ aarch64_add_cfa_expression (rtx_insn *insn, rtx reg, | ||
911 | } | ||
912 | |||
913 | /* Emit code to save the callee-saved registers from register number START | ||
914 | - to LIMIT to the stack at the location starting at offset START_OFFSET, | ||
915 | - skipping any write-back candidates if SKIP_WB is true. HARD_FP_VALID_P | ||
916 | - is true if the hard frame pointer has been set up. */ | ||
917 | + to LIMIT to the stack. The stack pointer is currently BYTES_BELOW_SP | ||
918 | + bytes above the bottom of the static frame. Skip any write-back | ||
919 | + candidates if SKIP_WB is true. HARD_FP_VALID_P is true if the hard | ||
920 | + frame pointer has been set up. */ | ||
921 | |||
922 | static void | ||
923 | -aarch64_save_callee_saves (poly_int64 start_offset, | ||
924 | +aarch64_save_callee_saves (poly_int64 bytes_below_sp, | ||
925 | unsigned start, unsigned limit, bool skip_wb, | ||
926 | bool hard_fp_valid_p) | ||
927 | { | ||
928 | @@ -9106,7 +9105,9 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
929 | |||
930 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
931 | reg = gen_rtx_REG (mode, regno); | ||
932 | - offset = start_offset + frame.reg_offset[regno]; | ||
933 | + offset = (frame.reg_offset[regno] | ||
934 | + + frame.bytes_below_saved_regs | ||
935 | + - bytes_below_sp); | ||
936 | rtx base_rtx = stack_pointer_rtx; | ||
937 | poly_int64 sp_offset = offset; | ||
938 | |||
939 | @@ -9117,9 +9118,7 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
940 | else if (GP_REGNUM_P (regno) | ||
941 | && (!offset.is_constant (&const_offset) || const_offset >= 512)) | ||
942 | { | ||
943 | - gcc_assert (known_eq (start_offset, 0)); | ||
944 | - poly_int64 fp_offset | ||
945 | - = frame.below_hard_fp_saved_regs_size; | ||
946 | + poly_int64 fp_offset = frame.bytes_below_hard_fp - bytes_below_sp; | ||
947 | if (hard_fp_valid_p) | ||
948 | base_rtx = hard_frame_pointer_rtx; | ||
949 | else | ||
950 | @@ -9183,12 +9182,13 @@ aarch64_save_callee_saves (poly_int64 start_offset, | ||
951 | } | ||
952 | |||
953 | /* Emit code to restore the callee registers from register number START | ||
954 | - up to and including LIMIT. Restore from the stack offset START_OFFSET, | ||
955 | - skipping any write-back candidates if SKIP_WB is true. Write the | ||
956 | - appropriate REG_CFA_RESTORE notes into CFI_OPS. */ | ||
957 | + up to and including LIMIT. The stack pointer is currently BYTES_BELOW_SP | ||
958 | + bytes above the bottom of the static frame. Skip any write-back | ||
959 | + candidates if SKIP_WB is true. Write the appropriate REG_CFA_RESTORE | ||
960 | + notes into CFI_OPS. */ | ||
961 | |||
962 | static void | ||
963 | -aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start, | ||
964 | +aarch64_restore_callee_saves (poly_int64 bytes_below_sp, unsigned start, | ||
965 | unsigned limit, bool skip_wb, rtx *cfi_ops) | ||
966 | { | ||
967 | aarch64_frame &frame = cfun->machine->frame; | ||
968 | @@ -9214,7 +9214,9 @@ aarch64_restore_callee_saves (poly_int64 start_offset, unsigned start, | ||
969 | |||
970 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
971 | reg = gen_rtx_REG (mode, regno); | ||
972 | - offset = start_offset + frame.reg_offset[regno]; | ||
973 | + offset = (frame.reg_offset[regno] | ||
974 | + + frame.bytes_below_saved_regs | ||
975 | + - bytes_below_sp); | ||
976 | rtx base_rtx = stack_pointer_rtx; | ||
977 | if (mode == VNx2DImode && BYTES_BIG_ENDIAN) | ||
978 | aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg, | ||
979 | @@ -9990,8 +9992,6 @@ aarch64_expand_prologue (void) | ||
980 | HOST_WIDE_INT callee_adjust = frame.callee_adjust; | ||
981 | poly_int64 final_adjust = frame.final_adjust; | ||
982 | poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
983 | - poly_int64 below_hard_fp_saved_regs_size | ||
984 | - = frame.below_hard_fp_saved_regs_size; | ||
985 | unsigned reg1 = frame.wb_push_candidate1; | ||
986 | unsigned reg2 = frame.wb_push_candidate2; | ||
987 | bool emit_frame_chain = frame.emit_frame_chain; | ||
988 | @@ -10067,8 +10067,8 @@ aarch64_expand_prologue (void) | ||
989 | - frame.hard_fp_offset); | ||
990 | gcc_assert (known_ge (chain_offset, 0)); | ||
991 | |||
992 | - /* The offset of the bottom of the save area from the current SP. */ | ||
993 | - poly_int64 saved_regs_offset = chain_offset - below_hard_fp_saved_regs_size; | ||
994 | + /* The offset of the current SP from the bottom of the static frame. */ | ||
995 | + poly_int64 bytes_below_sp = frame_size - initial_adjust - callee_adjust; | ||
996 | |||
997 | if (emit_frame_chain) | ||
998 | { | ||
999 | @@ -10076,7 +10076,7 @@ aarch64_expand_prologue (void) | ||
1000 | { | ||
1001 | reg1 = R29_REGNUM; | ||
1002 | reg2 = R30_REGNUM; | ||
1003 | - aarch64_save_callee_saves (saved_regs_offset, reg1, reg2, | ||
1004 | + aarch64_save_callee_saves (bytes_below_sp, reg1, reg2, | ||
1005 | false, false); | ||
1006 | } | ||
1007 | else | ||
1008 | @@ -10116,7 +10116,7 @@ aarch64_expand_prologue (void) | ||
1009 | emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx)); | ||
1010 | } | ||
1011 | |||
1012 | - aarch64_save_callee_saves (saved_regs_offset, R0_REGNUM, R30_REGNUM, | ||
1013 | + aarch64_save_callee_saves (bytes_below_sp, R0_REGNUM, R30_REGNUM, | ||
1014 | callee_adjust != 0 || emit_frame_chain, | ||
1015 | emit_frame_chain); | ||
1016 | if (maybe_ne (sve_callee_adjust, 0)) | ||
1017 | @@ -10126,16 +10126,17 @@ aarch64_expand_prologue (void) | ||
1018 | aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, | ||
1019 | sve_callee_adjust, | ||
1020 | !frame_pointer_needed, false); | ||
1021 | - saved_regs_offset += sve_callee_adjust; | ||
1022 | + bytes_below_sp -= sve_callee_adjust; | ||
1023 | } | ||
1024 | - aarch64_save_callee_saves (saved_regs_offset, P0_REGNUM, P15_REGNUM, | ||
1025 | + aarch64_save_callee_saves (bytes_below_sp, P0_REGNUM, P15_REGNUM, | ||
1026 | false, emit_frame_chain); | ||
1027 | - aarch64_save_callee_saves (saved_regs_offset, V0_REGNUM, V31_REGNUM, | ||
1028 | + aarch64_save_callee_saves (bytes_below_sp, V0_REGNUM, V31_REGNUM, | ||
1029 | callee_adjust != 0 || emit_frame_chain, | ||
1030 | emit_frame_chain); | ||
1031 | |||
1032 | /* We may need to probe the final adjustment if it is larger than the guard | ||
1033 | that is assumed by the called. */ | ||
1034 | + gcc_assert (known_eq (bytes_below_sp, final_adjust)); | ||
1035 | aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust, | ||
1036 | !frame_pointer_needed, true); | ||
1037 | } | ||
1038 | @@ -10170,7 +10171,6 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
1039 | poly_int64 initial_adjust = frame.initial_adjust; | ||
1040 | HOST_WIDE_INT callee_adjust = frame.callee_adjust; | ||
1041 | poly_int64 final_adjust = frame.final_adjust; | ||
1042 | - poly_int64 callee_offset = frame.callee_offset; | ||
1043 | poly_int64 sve_callee_adjust = frame.sve_callee_adjust; | ||
1044 | poly_int64 bytes_below_hard_fp = frame.bytes_below_hard_fp; | ||
1045 | unsigned reg1 = frame.wb_pop_candidate1; | ||
1046 | @@ -10240,9 +10240,9 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
1047 | |||
1048 | /* Restore the vector registers before the predicate registers, | ||
1049 | so that we can use P4 as a temporary for big-endian SVE frames. */ | ||
1050 | - aarch64_restore_callee_saves (callee_offset, V0_REGNUM, V31_REGNUM, | ||
1051 | + aarch64_restore_callee_saves (final_adjust, V0_REGNUM, V31_REGNUM, | ||
1052 | callee_adjust != 0, &cfi_ops); | ||
1053 | - aarch64_restore_callee_saves (callee_offset, P0_REGNUM, P15_REGNUM, | ||
1054 | + aarch64_restore_callee_saves (final_adjust, P0_REGNUM, P15_REGNUM, | ||
1055 | false, &cfi_ops); | ||
1056 | if (maybe_ne (sve_callee_adjust, 0)) | ||
1057 | aarch64_add_sp (NULL_RTX, NULL_RTX, sve_callee_adjust, true); | ||
1058 | @@ -10250,7 +10250,7 @@ aarch64_expand_epilogue (bool for_sibcall) | ||
1059 | /* When shadow call stack is enabled, the scs_pop in the epilogue will | ||
1060 | restore x30, we don't need to restore x30 again in the traditional | ||
1061 | way. */ | ||
1062 | - aarch64_restore_callee_saves (callee_offset - sve_callee_adjust, | ||
1063 | + aarch64_restore_callee_saves (final_adjust + sve_callee_adjust, | ||
1064 | R0_REGNUM, last_gpr, | ||
1065 | callee_adjust != 0, &cfi_ops); | ||
1066 | |||
1067 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
1068 | index 4263d29d29d..fd820b1be4e 100644 | ||
1069 | --- a/gcc/config/aarch64/aarch64.h | ||
1070 | +++ b/gcc/config/aarch64/aarch64.h | ||
1071 | @@ -813,10 +813,6 @@ struct GTY (()) aarch64_frame | ||
1072 | It is zero when no push is used. */ | ||
1073 | HOST_WIDE_INT callee_adjust; | ||
1074 | |||
1075 | - /* The offset from SP to the callee-save registers after initial_adjust. | ||
1076 | - It may be non-zero if no push is used (ie. callee_adjust == 0). */ | ||
1077 | - poly_int64 callee_offset; | ||
1078 | - | ||
1079 | /* The size of the stack adjustment before saving or after restoring | ||
1080 | SVE registers. */ | ||
1081 | poly_int64 sve_callee_adjust; | ||
1082 | -- | ||
1083 | 2.34.1 | ||
1084 | |||
1085 | |||
1086 | From 8ae9181426f2700c2e5a2909487fa630e6fa406b Mon Sep 17 00:00:00 2001 | ||
1087 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1088 | Date: Tue, 12 Sep 2023 16:07:15 +0100 | ||
1089 | Subject: [PATCH 07/19] aarch64: Only calculate chain_offset if there is a | ||
1090 | chain | ||
1091 | |||
1092 | After previous patches, it is no longer necessary to calculate | ||
1093 | a chain_offset in cases where there is no chain record. | ||
1094 | |||
1095 | gcc/ | ||
1096 | * config/aarch64/aarch64.cc (aarch64_expand_prologue): Move the | ||
1097 | calculation of chain_offset into the emit_frame_chain block. | ||
1098 | --- | ||
1099 | gcc/config/aarch64/aarch64.cc | 10 +++++----- | ||
1100 | 1 file changed, 5 insertions(+), 5 deletions(-) | ||
1101 | |||
1102 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1103 | index 46ae5cf7673..0e9b9717c08 100644 | ||
1104 | --- a/gcc/config/aarch64/aarch64.cc | ||
1105 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1106 | @@ -10062,16 +10062,16 @@ aarch64_expand_prologue (void) | ||
1107 | if (callee_adjust != 0) | ||
1108 | aarch64_push_regs (reg1, reg2, callee_adjust); | ||
1109 | |||
1110 | - /* The offset of the frame chain record (if any) from the current SP. */ | ||
1111 | - poly_int64 chain_offset = (initial_adjust + callee_adjust | ||
1112 | - - frame.hard_fp_offset); | ||
1113 | - gcc_assert (known_ge (chain_offset, 0)); | ||
1114 | - | ||
1115 | /* The offset of the current SP from the bottom of the static frame. */ | ||
1116 | poly_int64 bytes_below_sp = frame_size - initial_adjust - callee_adjust; | ||
1117 | |||
1118 | if (emit_frame_chain) | ||
1119 | { | ||
1120 | + /* The offset of the frame chain record (if any) from the current SP. */ | ||
1121 | + poly_int64 chain_offset = (initial_adjust + callee_adjust | ||
1122 | + - frame.hard_fp_offset); | ||
1123 | + gcc_assert (known_ge (chain_offset, 0)); | ||
1124 | + | ||
1125 | if (callee_adjust == 0) | ||
1126 | { | ||
1127 | reg1 = R29_REGNUM; | ||
1128 | -- | ||
1129 | 2.34.1 | ||
1130 | |||
1131 | |||
1132 | From 375794feb614cee1f41b710b9cc1b6f25da6c1cb Mon Sep 17 00:00:00 2001 | ||
1133 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1134 | Date: Tue, 12 Sep 2023 16:07:15 +0100 | ||
1135 | Subject: [PATCH 08/19] aarch64: Rename locals_offset to bytes_above_locals | ||
1136 | MIME-Version: 1.0 | ||
1137 | Content-Type: text/plain; charset=UTF-8 | ||
1138 | Content-Transfer-Encoding: 8bit | ||
1139 | |||
1140 | locals_offset was described as: | ||
1141 | |||
1142 | /* Offset from the base of the frame (incomming SP) to the | ||
1143 | top of the locals area. This value is always a multiple of | ||
1144 | STACK_BOUNDARY. */ | ||
1145 | |||
1146 | This is implicitly an “upside down” view of the frame: the incoming | ||
1147 | SP is at offset 0, and anything N bytes below the incoming SP is at | ||
1148 | offset N (rather than -N). | ||
1149 | |||
1150 | However, reg_offset instead uses a “right way up” view; that is, | ||
1151 | it views offsets in address terms. Something above X is at a | ||
1152 | positive offset from X and something below X is at a negative | ||
1153 | offset from X. | ||
1154 | |||
1155 | Also, even on FRAME_GROWS_DOWNWARD targets like AArch64, | ||
1156 | target-independent code views offsets in address terms too: | ||
1157 | locals are allocated at negative offsets to virtual_stack_vars. | ||
1158 | |||
1159 | It seems confusing to have *_offset fields of the same structure | ||
1160 | using different polarities like this. This patch tries to avoid | ||
1161 | that by renaming locals_offset to bytes_above_locals. | ||
1162 | |||
1163 | gcc/ | ||
1164 | * config/aarch64/aarch64.h (aarch64_frame::locals_offset): Rename to... | ||
1165 | (aarch64_frame::bytes_above_locals): ...this. | ||
1166 | * config/aarch64/aarch64.cc (aarch64_layout_frame) | ||
1167 | (aarch64_initial_elimination_offset): Update accordingly. | ||
1168 | --- | ||
1169 | gcc/config/aarch64/aarch64.cc | 6 +++--- | ||
1170 | gcc/config/aarch64/aarch64.h | 6 +++--- | ||
1171 | 2 files changed, 6 insertions(+), 6 deletions(-) | ||
1172 | |||
1173 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1174 | index 0e9b9717c08..0a22f91520e 100644 | ||
1175 | --- a/gcc/config/aarch64/aarch64.cc | ||
1176 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1177 | @@ -8598,7 +8598,7 @@ aarch64_layout_frame (void) | ||
1178 | STACK_BOUNDARY / BITS_PER_UNIT)); | ||
1179 | frame.frame_size = saved_regs_and_above + frame.bytes_below_saved_regs; | ||
1180 | |||
1181 | - frame.locals_offset = frame.saved_varargs_size; | ||
1182 | + frame.bytes_above_locals = frame.saved_varargs_size; | ||
1183 | |||
1184 | frame.initial_adjust = 0; | ||
1185 | frame.final_adjust = 0; | ||
1186 | @@ -12754,13 +12754,13 @@ aarch64_initial_elimination_offset (unsigned from, unsigned to) | ||
1187 | return frame.hard_fp_offset; | ||
1188 | |||
1189 | if (from == FRAME_POINTER_REGNUM) | ||
1190 | - return frame.hard_fp_offset - frame.locals_offset; | ||
1191 | + return frame.hard_fp_offset - frame.bytes_above_locals; | ||
1192 | } | ||
1193 | |||
1194 | if (to == STACK_POINTER_REGNUM) | ||
1195 | { | ||
1196 | if (from == FRAME_POINTER_REGNUM) | ||
1197 | - return frame.frame_size - frame.locals_offset; | ||
1198 | + return frame.frame_size - frame.bytes_above_locals; | ||
1199 | } | ||
1200 | |||
1201 | return frame.frame_size; | ||
1202 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
1203 | index fd820b1be4e..7ae12d13e2b 100644 | ||
1204 | --- a/gcc/config/aarch64/aarch64.h | ||
1205 | +++ b/gcc/config/aarch64/aarch64.h | ||
1206 | @@ -791,10 +791,10 @@ struct GTY (()) aarch64_frame | ||
1207 | always a multiple of STACK_BOUNDARY. */ | ||
1208 | poly_int64 bytes_below_hard_fp; | ||
1209 | |||
1210 | - /* Offset from the base of the frame (incomming SP) to the | ||
1211 | - top of the locals area. This value is always a multiple of | ||
1212 | + /* The number of bytes between the top of the locals area and the top | ||
1213 | + of the frame (the incomming SP). This value is always a multiple of | ||
1214 | STACK_BOUNDARY. */ | ||
1215 | - poly_int64 locals_offset; | ||
1216 | + poly_int64 bytes_above_locals; | ||
1217 | |||
1218 | /* Offset from the base of the frame (incomming SP) to the | ||
1219 | hard_frame_pointer. This value is always a multiple of | ||
1220 | -- | ||
1221 | 2.34.1 | ||
1222 | |||
1223 | |||
1224 | From 1a9ea1c45c75615ffbfabe652b3598a1d7be2168 Mon Sep 17 00:00:00 2001 | ||
1225 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1226 | Date: Tue, 12 Sep 2023 16:07:16 +0100 | ||
1227 | Subject: [PATCH 09/19] aarch64: Rename hard_fp_offset to bytes_above_hard_fp | ||
1228 | MIME-Version: 1.0 | ||
1229 | Content-Type: text/plain; charset=UTF-8 | ||
1230 | Content-Transfer-Encoding: 8bit | ||
1231 | |||
1232 | Similarly to the previous locals_offset patch, hard_fp_offset | ||
1233 | was described as: | ||
1234 | |||
1235 | /* Offset from the base of the frame (incomming SP) to the | ||
1236 | hard_frame_pointer. This value is always a multiple of | ||
1237 | STACK_BOUNDARY. */ | ||
1238 | poly_int64 hard_fp_offset; | ||
1239 | |||
1240 | which again took an “upside-down” view: higher offsets meant lower | ||
1241 | addresses. This patch renames the field to bytes_above_hard_fp instead. | ||
1242 | |||
1243 | gcc/ | ||
1244 | * config/aarch64/aarch64.h (aarch64_frame::hard_fp_offset): Rename | ||
1245 | to... | ||
1246 | (aarch64_frame::bytes_above_hard_fp): ...this. | ||
1247 | * config/aarch64/aarch64.cc (aarch64_layout_frame) | ||
1248 | (aarch64_expand_prologue): Update accordingly. | ||
1249 | (aarch64_initial_elimination_offset): Likewise. | ||
1250 | --- | ||
1251 | gcc/config/aarch64/aarch64.cc | 26 +++++++++++++------------- | ||
1252 | gcc/config/aarch64/aarch64.h | 6 +++--- | ||
1253 | 2 files changed, 16 insertions(+), 16 deletions(-) | ||
1254 | |||
1255 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1256 | index 0a22f91520e..95499ae49ba 100644 | ||
1257 | --- a/gcc/config/aarch64/aarch64.cc | ||
1258 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1259 | @@ -8590,7 +8590,7 @@ aarch64_layout_frame (void) | ||
1260 | + get_frame_size (), | ||
1261 | STACK_BOUNDARY / BITS_PER_UNIT); | ||
1262 | |||
1263 | - frame.hard_fp_offset | ||
1264 | + frame.bytes_above_hard_fp | ||
1265 | = saved_regs_and_above - frame.below_hard_fp_saved_regs_size; | ||
1266 | |||
1267 | /* Both these values are already aligned. */ | ||
1268 | @@ -8639,13 +8639,13 @@ aarch64_layout_frame (void) | ||
1269 | else if (frame.wb_pop_candidate1 != INVALID_REGNUM) | ||
1270 | max_push_offset = 256; | ||
1271 | |||
1272 | - HOST_WIDE_INT const_size, const_below_saved_regs, const_fp_offset; | ||
1273 | + HOST_WIDE_INT const_size, const_below_saved_regs, const_above_fp; | ||
1274 | HOST_WIDE_INT const_saved_regs_size; | ||
1275 | if (known_eq (frame.saved_regs_size, 0)) | ||
1276 | frame.initial_adjust = frame.frame_size; | ||
1277 | else if (frame.frame_size.is_constant (&const_size) | ||
1278 | && const_size < max_push_offset | ||
1279 | - && known_eq (frame.hard_fp_offset, const_size)) | ||
1280 | + && known_eq (frame.bytes_above_hard_fp, const_size)) | ||
1281 | { | ||
1282 | /* Simple, small frame with no data below the saved registers. | ||
1283 | |||
1284 | @@ -8662,8 +8662,8 @@ aarch64_layout_frame (void) | ||
1285 | case that it hardly seems worth the effort though. */ | ||
1286 | && (!saves_below_hard_fp_p || const_below_saved_regs == 0) | ||
1287 | && !(cfun->calls_alloca | ||
1288 | - && frame.hard_fp_offset.is_constant (&const_fp_offset) | ||
1289 | - && const_fp_offset < max_push_offset)) | ||
1290 | + && frame.bytes_above_hard_fp.is_constant (&const_above_fp) | ||
1291 | + && const_above_fp < max_push_offset)) | ||
1292 | { | ||
1293 | /* Frame with small area below the saved registers: | ||
1294 | |||
1295 | @@ -8681,12 +8681,12 @@ aarch64_layout_frame (void) | ||
1296 | sub sp, sp, hard_fp_offset + below_hard_fp_saved_regs_size | ||
1297 | save SVE registers relative to SP | ||
1298 | sub sp, sp, bytes_below_saved_regs */ | ||
1299 | - frame.initial_adjust = (frame.hard_fp_offset | ||
1300 | + frame.initial_adjust = (frame.bytes_above_hard_fp | ||
1301 | + frame.below_hard_fp_saved_regs_size); | ||
1302 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
1303 | } | ||
1304 | - else if (frame.hard_fp_offset.is_constant (&const_fp_offset) | ||
1305 | - && const_fp_offset < max_push_offset) | ||
1306 | + else if (frame.bytes_above_hard_fp.is_constant (&const_above_fp) | ||
1307 | + && const_above_fp < max_push_offset) | ||
1308 | { | ||
1309 | /* Frame with large area below the saved registers, or with SVE saves, | ||
1310 | but with a small area above: | ||
1311 | @@ -8696,7 +8696,7 @@ aarch64_layout_frame (void) | ||
1312 | [sub sp, sp, below_hard_fp_saved_regs_size] | ||
1313 | [save SVE registers relative to SP] | ||
1314 | sub sp, sp, bytes_below_saved_regs */ | ||
1315 | - frame.callee_adjust = const_fp_offset; | ||
1316 | + frame.callee_adjust = const_above_fp; | ||
1317 | frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; | ||
1318 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
1319 | } | ||
1320 | @@ -8711,7 +8711,7 @@ aarch64_layout_frame (void) | ||
1321 | [sub sp, sp, below_hard_fp_saved_regs_size] | ||
1322 | [save SVE registers relative to SP] | ||
1323 | sub sp, sp, bytes_below_saved_regs */ | ||
1324 | - frame.initial_adjust = frame.hard_fp_offset; | ||
1325 | + frame.initial_adjust = frame.bytes_above_hard_fp; | ||
1326 | frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; | ||
1327 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
1328 | } | ||
1329 | @@ -10069,7 +10069,7 @@ aarch64_expand_prologue (void) | ||
1330 | { | ||
1331 | /* The offset of the frame chain record (if any) from the current SP. */ | ||
1332 | poly_int64 chain_offset = (initial_adjust + callee_adjust | ||
1333 | - - frame.hard_fp_offset); | ||
1334 | + - frame.bytes_above_hard_fp); | ||
1335 | gcc_assert (known_ge (chain_offset, 0)); | ||
1336 | |||
1337 | if (callee_adjust == 0) | ||
1338 | @@ -12751,10 +12751,10 @@ aarch64_initial_elimination_offset (unsigned from, unsigned to) | ||
1339 | if (to == HARD_FRAME_POINTER_REGNUM) | ||
1340 | { | ||
1341 | if (from == ARG_POINTER_REGNUM) | ||
1342 | - return frame.hard_fp_offset; | ||
1343 | + return frame.bytes_above_hard_fp; | ||
1344 | |||
1345 | if (from == FRAME_POINTER_REGNUM) | ||
1346 | - return frame.hard_fp_offset - frame.bytes_above_locals; | ||
1347 | + return frame.bytes_above_hard_fp - frame.bytes_above_locals; | ||
1348 | } | ||
1349 | |||
1350 | if (to == STACK_POINTER_REGNUM) | ||
1351 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
1352 | index 7ae12d13e2b..3808f49e9ca 100644 | ||
1353 | --- a/gcc/config/aarch64/aarch64.h | ||
1354 | +++ b/gcc/config/aarch64/aarch64.h | ||
1355 | @@ -796,10 +796,10 @@ struct GTY (()) aarch64_frame | ||
1356 | STACK_BOUNDARY. */ | ||
1357 | poly_int64 bytes_above_locals; | ||
1358 | |||
1359 | - /* Offset from the base of the frame (incomming SP) to the | ||
1360 | - hard_frame_pointer. This value is always a multiple of | ||
1361 | + /* The number of bytes between the hard_frame_pointer and the top of | ||
1362 | + the frame (the incomming SP). This value is always a multiple of | ||
1363 | STACK_BOUNDARY. */ | ||
1364 | - poly_int64 hard_fp_offset; | ||
1365 | + poly_int64 bytes_above_hard_fp; | ||
1366 | |||
1367 | /* The size of the frame. This value is the offset from base of the | ||
1368 | frame (incomming SP) to the stack_pointer. This value is always | ||
1369 | -- | ||
1370 | 2.34.1 | ||
1371 | |||
1372 | |||
1373 | From d202ce1ecf60a36a3e1009917dd76109248ce9be Mon Sep 17 00:00:00 2001 | ||
1374 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1375 | Date: Tue, 12 Sep 2023 16:07:16 +0100 | ||
1376 | Subject: [PATCH 10/19] aarch64: Tweak frame_size comment | ||
1377 | MIME-Version: 1.0 | ||
1378 | Content-Type: text/plain; charset=UTF-8 | ||
1379 | Content-Transfer-Encoding: 8bit | ||
1380 | |||
1381 | This patch fixes another case in which a value was described with | ||
1382 | an “upside-down” view. | ||
1383 | |||
1384 | gcc/ | ||
1385 | * config/aarch64/aarch64.h (aarch64_frame::frame_size): Tweak comment. | ||
1386 | --- | ||
1387 | gcc/config/aarch64/aarch64.h | 4 ++-- | ||
1388 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
1389 | |||
1390 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
1391 | index 3808f49e9ca..108a5731b0d 100644 | ||
1392 | --- a/gcc/config/aarch64/aarch64.h | ||
1393 | +++ b/gcc/config/aarch64/aarch64.h | ||
1394 | @@ -801,8 +801,8 @@ struct GTY (()) aarch64_frame | ||
1395 | STACK_BOUNDARY. */ | ||
1396 | poly_int64 bytes_above_hard_fp; | ||
1397 | |||
1398 | - /* The size of the frame. This value is the offset from base of the | ||
1399 | - frame (incomming SP) to the stack_pointer. This value is always | ||
1400 | + /* The size of the frame, i.e. the number of bytes between the bottom | ||
1401 | + of the outgoing arguments and the incoming SP. This value is always | ||
1402 | a multiple of STACK_BOUNDARY. */ | ||
1403 | poly_int64 frame_size; | ||
1404 | |||
1405 | -- | ||
1406 | 2.34.1 | ||
1407 | |||
1408 | |||
1409 | From f2b585375205b0a1802d79c682ba33766ecd1f0f Mon Sep 17 00:00:00 2001 | ||
1410 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1411 | Date: Tue, 12 Sep 2023 16:07:17 +0100 | ||
1412 | Subject: [PATCH 11/19] aarch64: Measure reg_offset from the bottom of the | ||
1413 | frame | ||
1414 | |||
1415 | reg_offset was measured from the bottom of the saved register area. | ||
1416 | This made perfect sense with the original layout, since the bottom | ||
1417 | of the saved register area was also the hard frame pointer address. | ||
1418 | It became slightly less obvious with SVE, since we save SVE | ||
1419 | registers below the hard frame pointer, but it still made sense. | ||
1420 | |||
1421 | However, if we want to allow different frame layouts, it's more | ||
1422 | convenient and obvious to measure reg_offset from the bottom of | ||
1423 | the frame. After previous patches, it's also a slight simplification | ||
1424 | in its own right. | ||
1425 | |||
1426 | gcc/ | ||
1427 | * config/aarch64/aarch64.h (aarch64_frame): Add comment above | ||
1428 | reg_offset. | ||
1429 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Walk offsets | ||
1430 | from the bottom of the frame, rather than the bottom of the saved | ||
1431 | register area. Measure reg_offset from the bottom of the frame | ||
1432 | rather than the bottom of the saved register area. | ||
1433 | (aarch64_save_callee_saves): Update accordingly. | ||
1434 | (aarch64_restore_callee_saves): Likewise. | ||
1435 | (aarch64_get_separate_components): Likewise. | ||
1436 | (aarch64_process_components): Likewise. | ||
1437 | --- | ||
1438 | gcc/config/aarch64/aarch64.cc | 53 ++++++++++++++++------------------- | ||
1439 | gcc/config/aarch64/aarch64.h | 3 ++ | ||
1440 | 2 files changed, 27 insertions(+), 29 deletions(-) | ||
1441 | |||
1442 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1443 | index 95499ae49ba..af99807ef8a 100644 | ||
1444 | --- a/gcc/config/aarch64/aarch64.cc | ||
1445 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1446 | @@ -8400,7 +8400,6 @@ aarch64_needs_frame_chain (void) | ||
1447 | static void | ||
1448 | aarch64_layout_frame (void) | ||
1449 | { | ||
1450 | - poly_int64 offset = 0; | ||
1451 | int regno, last_fp_reg = INVALID_REGNUM; | ||
1452 | machine_mode vector_save_mode = aarch64_reg_save_mode (V8_REGNUM); | ||
1453 | poly_int64 vector_save_size = GET_MODE_SIZE (vector_save_mode); | ||
1454 | @@ -8478,7 +8477,9 @@ aarch64_layout_frame (void) | ||
1455 | gcc_assert (crtl->is_leaf | ||
1456 | || maybe_ne (frame.reg_offset[R30_REGNUM], SLOT_NOT_REQUIRED)); | ||
1457 | |||
1458 | - frame.bytes_below_saved_regs = crtl->outgoing_args_size; | ||
1459 | + poly_int64 offset = crtl->outgoing_args_size; | ||
1460 | + gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); | ||
1461 | + frame.bytes_below_saved_regs = offset; | ||
1462 | |||
1463 | /* Now assign stack slots for the registers. Start with the predicate | ||
1464 | registers, since predicate LDR and STR have a relatively small | ||
1465 | @@ -8490,7 +8491,8 @@ aarch64_layout_frame (void) | ||
1466 | offset += BYTES_PER_SVE_PRED; | ||
1467 | } | ||
1468 | |||
1469 | - if (maybe_ne (offset, 0)) | ||
1470 | + poly_int64 saved_prs_size = offset - frame.bytes_below_saved_regs; | ||
1471 | + if (maybe_ne (saved_prs_size, 0)) | ||
1472 | { | ||
1473 | /* If we have any vector registers to save above the predicate registers, | ||
1474 | the offset of the vector register save slots need to be a multiple | ||
1475 | @@ -8508,10 +8510,10 @@ aarch64_layout_frame (void) | ||
1476 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
1477 | else | ||
1478 | { | ||
1479 | - if (known_le (offset, vector_save_size)) | ||
1480 | - offset = vector_save_size; | ||
1481 | - else if (known_le (offset, vector_save_size * 2)) | ||
1482 | - offset = vector_save_size * 2; | ||
1483 | + if (known_le (saved_prs_size, vector_save_size)) | ||
1484 | + offset = frame.bytes_below_saved_regs + vector_save_size; | ||
1485 | + else if (known_le (saved_prs_size, vector_save_size * 2)) | ||
1486 | + offset = frame.bytes_below_saved_regs + vector_save_size * 2; | ||
1487 | else | ||
1488 | gcc_unreachable (); | ||
1489 | } | ||
1490 | @@ -8528,9 +8530,10 @@ aarch64_layout_frame (void) | ||
1491 | |||
1492 | /* OFFSET is now the offset of the hard frame pointer from the bottom | ||
1493 | of the callee save area. */ | ||
1494 | - bool saves_below_hard_fp_p = maybe_ne (offset, 0); | ||
1495 | - frame.below_hard_fp_saved_regs_size = offset; | ||
1496 | - frame.bytes_below_hard_fp = offset + frame.bytes_below_saved_regs; | ||
1497 | + frame.below_hard_fp_saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
1498 | + bool saves_below_hard_fp_p | ||
1499 | + = maybe_ne (frame.below_hard_fp_saved_regs_size, 0); | ||
1500 | + frame.bytes_below_hard_fp = offset; | ||
1501 | if (frame.emit_frame_chain) | ||
1502 | { | ||
1503 | /* FP and LR are placed in the linkage record. */ | ||
1504 | @@ -8581,9 +8584,10 @@ aarch64_layout_frame (void) | ||
1505 | |||
1506 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
1507 | |||
1508 | - frame.saved_regs_size = offset; | ||
1509 | + frame.saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
1510 | |||
1511 | - poly_int64 varargs_and_saved_regs_size = offset + frame.saved_varargs_size; | ||
1512 | + poly_int64 varargs_and_saved_regs_size | ||
1513 | + = frame.saved_regs_size + frame.saved_varargs_size; | ||
1514 | |||
1515 | poly_int64 saved_regs_and_above | ||
1516 | = aligned_upper_bound (varargs_and_saved_regs_size | ||
1517 | @@ -9105,9 +9109,7 @@ aarch64_save_callee_saves (poly_int64 bytes_below_sp, | ||
1518 | |||
1519 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
1520 | reg = gen_rtx_REG (mode, regno); | ||
1521 | - offset = (frame.reg_offset[regno] | ||
1522 | - + frame.bytes_below_saved_regs | ||
1523 | - - bytes_below_sp); | ||
1524 | + offset = frame.reg_offset[regno] - bytes_below_sp; | ||
1525 | rtx base_rtx = stack_pointer_rtx; | ||
1526 | poly_int64 sp_offset = offset; | ||
1527 | |||
1528 | @@ -9214,9 +9216,7 @@ aarch64_restore_callee_saves (poly_int64 bytes_below_sp, unsigned start, | ||
1529 | |||
1530 | machine_mode mode = aarch64_reg_save_mode (regno); | ||
1531 | reg = gen_rtx_REG (mode, regno); | ||
1532 | - offset = (frame.reg_offset[regno] | ||
1533 | - + frame.bytes_below_saved_regs | ||
1534 | - - bytes_below_sp); | ||
1535 | + offset = frame.reg_offset[regno] - bytes_below_sp; | ||
1536 | rtx base_rtx = stack_pointer_rtx; | ||
1537 | if (mode == VNx2DImode && BYTES_BIG_ENDIAN) | ||
1538 | aarch64_adjust_sve_callee_save_base (mode, base_rtx, anchor_reg, | ||
1539 | @@ -9355,14 +9355,12 @@ aarch64_get_separate_components (void) | ||
1540 | it as a stack probe for -fstack-clash-protection. */ | ||
1541 | if (flag_stack_clash_protection | ||
1542 | && maybe_ne (frame.below_hard_fp_saved_regs_size, 0) | ||
1543 | - && known_eq (offset, 0)) | ||
1544 | + && known_eq (offset, frame.bytes_below_saved_regs)) | ||
1545 | continue; | ||
1546 | |||
1547 | /* Get the offset relative to the register we'll use. */ | ||
1548 | if (frame_pointer_needed) | ||
1549 | - offset -= frame.below_hard_fp_saved_regs_size; | ||
1550 | - else | ||
1551 | - offset += frame.bytes_below_saved_regs; | ||
1552 | + offset -= frame.bytes_below_hard_fp; | ||
1553 | |||
1554 | /* Check that we can access the stack slot of the register with one | ||
1555 | direct load with no adjustments needed. */ | ||
1556 | @@ -9509,9 +9507,7 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
1557 | rtx reg = gen_rtx_REG (mode, regno); | ||
1558 | poly_int64 offset = frame.reg_offset[regno]; | ||
1559 | if (frame_pointer_needed) | ||
1560 | - offset -= frame.below_hard_fp_saved_regs_size; | ||
1561 | - else | ||
1562 | - offset += frame.bytes_below_saved_regs; | ||
1563 | + offset -= frame.bytes_below_hard_fp; | ||
1564 | |||
1565 | rtx addr = plus_constant (Pmode, ptr_reg, offset); | ||
1566 | rtx mem = gen_frame_mem (mode, addr); | ||
1567 | @@ -9563,9 +9559,7 @@ aarch64_process_components (sbitmap components, bool prologue_p) | ||
1568 | /* REGNO2 can be saved/restored in a pair with REGNO. */ | ||
1569 | rtx reg2 = gen_rtx_REG (mode, regno2); | ||
1570 | if (frame_pointer_needed) | ||
1571 | - offset2 -= frame.below_hard_fp_saved_regs_size; | ||
1572 | - else | ||
1573 | - offset2 += frame.bytes_below_saved_regs; | ||
1574 | + offset2 -= frame.bytes_below_hard_fp; | ||
1575 | rtx addr2 = plus_constant (Pmode, ptr_reg, offset2); | ||
1576 | rtx mem2 = gen_frame_mem (mode, addr2); | ||
1577 | rtx set2 = prologue_p ? gen_rtx_SET (mem2, reg2) | ||
1578 | @@ -9681,7 +9675,8 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
1579 | if (final_adjustment_p | ||
1580 | && known_eq (frame.below_hard_fp_saved_regs_size, 0)) | ||
1581 | { | ||
1582 | - poly_int64 lr_offset = frame.reg_offset[LR_REGNUM]; | ||
1583 | + poly_int64 lr_offset = (frame.reg_offset[LR_REGNUM] | ||
1584 | + - frame.bytes_below_saved_regs); | ||
1585 | if (known_ge (lr_offset, 0)) | ||
1586 | min_probe_threshold -= lr_offset.to_constant (); | ||
1587 | else | ||
1588 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
1589 | index 108a5731b0d..c8becb098c8 100644 | ||
1590 | --- a/gcc/config/aarch64/aarch64.h | ||
1591 | +++ b/gcc/config/aarch64/aarch64.h | ||
1592 | @@ -766,6 +766,9 @@ extern enum aarch64_processor aarch64_tune; | ||
1593 | #ifdef HAVE_POLY_INT_H | ||
1594 | struct GTY (()) aarch64_frame | ||
1595 | { | ||
1596 | + /* The offset from the bottom of the static frame (the bottom of the | ||
1597 | + outgoing arguments) of each register save slot, or -2 if no save is | ||
1598 | + needed. */ | ||
1599 | poly_int64 reg_offset[LAST_SAVED_REGNUM + 1]; | ||
1600 | |||
1601 | /* The number of extra stack bytes taken up by register varargs. | ||
1602 | -- | ||
1603 | 2.34.1 | ||
1604 | |||
1605 | |||
1606 | From 79faabda181d0d9fd29a3cf5726ba65bdee945b5 Mon Sep 17 00:00:00 2001 | ||
1607 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1608 | Date: Tue, 12 Sep 2023 16:07:17 +0100 | ||
1609 | Subject: [PATCH 12/19] aarch64: Simplify top of frame allocation | ||
1610 | |||
1611 | After previous patches, it no longer really makes sense to allocate | ||
1612 | the top of the frame in terms of varargs_and_saved_regs_size and | ||
1613 | saved_regs_and_above. | ||
1614 | |||
1615 | gcc/ | ||
1616 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Simplify | ||
1617 | the allocation of the top of the frame. | ||
1618 | --- | ||
1619 | gcc/config/aarch64/aarch64.cc | 23 ++++++++--------------- | ||
1620 | 1 file changed, 8 insertions(+), 15 deletions(-) | ||
1621 | |||
1622 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1623 | index af99807ef8a..31b00094c2a 100644 | ||
1624 | --- a/gcc/config/aarch64/aarch64.cc | ||
1625 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1626 | @@ -8586,23 +8586,16 @@ aarch64_layout_frame (void) | ||
1627 | |||
1628 | frame.saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
1629 | |||
1630 | - poly_int64 varargs_and_saved_regs_size | ||
1631 | - = frame.saved_regs_size + frame.saved_varargs_size; | ||
1632 | - | ||
1633 | - poly_int64 saved_regs_and_above | ||
1634 | - = aligned_upper_bound (varargs_and_saved_regs_size | ||
1635 | - + get_frame_size (), | ||
1636 | - STACK_BOUNDARY / BITS_PER_UNIT); | ||
1637 | - | ||
1638 | - frame.bytes_above_hard_fp | ||
1639 | - = saved_regs_and_above - frame.below_hard_fp_saved_regs_size; | ||
1640 | + offset += get_frame_size (); | ||
1641 | + offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
1642 | + auto top_of_locals = offset; | ||
1643 | |||
1644 | - /* Both these values are already aligned. */ | ||
1645 | - gcc_assert (multiple_p (frame.bytes_below_saved_regs, | ||
1646 | - STACK_BOUNDARY / BITS_PER_UNIT)); | ||
1647 | - frame.frame_size = saved_regs_and_above + frame.bytes_below_saved_regs; | ||
1648 | + offset += frame.saved_varargs_size; | ||
1649 | + gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); | ||
1650 | + frame.frame_size = offset; | ||
1651 | |||
1652 | - frame.bytes_above_locals = frame.saved_varargs_size; | ||
1653 | + frame.bytes_above_hard_fp = frame.frame_size - frame.bytes_below_hard_fp; | ||
1654 | + frame.bytes_above_locals = frame.frame_size - top_of_locals; | ||
1655 | |||
1656 | frame.initial_adjust = 0; | ||
1657 | frame.final_adjust = 0; | ||
1658 | -- | ||
1659 | 2.34.1 | ||
1660 | |||
1661 | |||
1662 | From 4e62049e403b141e6f916176160dac8cbd65fe47 Mon Sep 17 00:00:00 2001 | ||
1663 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1664 | Date: Tue, 12 Sep 2023 16:07:18 +0100 | ||
1665 | Subject: [PATCH 13/19] aarch64: Minor initial adjustment tweak | ||
1666 | |||
1667 | This patch just changes a calculation of initial_adjust | ||
1668 | to one that makes it slightly more obvious that the total | ||
1669 | adjustment is frame.frame_size. | ||
1670 | |||
1671 | gcc/ | ||
1672 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Tweak | ||
1673 | calculation of initial_adjust for frames in which all saves | ||
1674 | are SVE saves. | ||
1675 | --- | ||
1676 | gcc/config/aarch64/aarch64.cc | 5 ++--- | ||
1677 | 1 file changed, 2 insertions(+), 3 deletions(-) | ||
1678 | |||
1679 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1680 | index 31b00094c2a..1aa79da0673 100644 | ||
1681 | --- a/gcc/config/aarch64/aarch64.cc | ||
1682 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1683 | @@ -8675,11 +8675,10 @@ aarch64_layout_frame (void) | ||
1684 | { | ||
1685 | /* Frame in which all saves are SVE saves: | ||
1686 | |||
1687 | - sub sp, sp, hard_fp_offset + below_hard_fp_saved_regs_size | ||
1688 | + sub sp, sp, frame_size - bytes_below_saved_regs | ||
1689 | save SVE registers relative to SP | ||
1690 | sub sp, sp, bytes_below_saved_regs */ | ||
1691 | - frame.initial_adjust = (frame.bytes_above_hard_fp | ||
1692 | - + frame.below_hard_fp_saved_regs_size); | ||
1693 | + frame.initial_adjust = frame.frame_size - frame.bytes_below_saved_regs; | ||
1694 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
1695 | } | ||
1696 | else if (frame.bytes_above_hard_fp.is_constant (&const_above_fp) | ||
1697 | -- | ||
1698 | 2.34.1 | ||
1699 | |||
1700 | |||
1701 | From aaa1a0a5912d9e5d571e5f1c6f09ceac99544ab5 Mon Sep 17 00:00:00 2001 | ||
1702 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1703 | Date: Tue, 12 Sep 2023 16:07:18 +0100 | ||
1704 | Subject: [PATCH 14/19] aarch64: Tweak stack clash boundary condition | ||
1705 | |||
1706 | The AArch64 ABI says that, when stack clash protection is used, | ||
1707 | there can be a maximum of 1KiB of unprobed space at sp on entry | ||
1708 | to a function. Therefore, we need to probe when allocating | ||
1709 | >= guard_size - 1KiB of data (>= rather than >). This is what | ||
1710 | GCC does. | ||
1711 | |||
1712 | If an allocation is exactly guard_size bytes, it is enough to allocate | ||
1713 | those bytes and probe once at offset 1024. It isn't possible to use a | ||
1714 | single probe at any other offset: higher would conmplicate later code, | ||
1715 | by leaving more unprobed space than usual, while lower would risk | ||
1716 | leaving an entire page unprobed. For simplicity, the code probes all | ||
1717 | allocations at offset 1024. | ||
1718 | |||
1719 | Some register saves also act as probes. If we need to allocate | ||
1720 | more space below the last such register save probe, we need to | ||
1721 | probe the allocation if it is > 1KiB. Again, this allocation is | ||
1722 | then sometimes (but not always) probed at offset 1024. This sort of | ||
1723 | allocation is currently only used for outgoing arguments, which are | ||
1724 | rarely this big. | ||
1725 | |||
1726 | However, the code also probed if this final outgoing-arguments | ||
1727 | allocation was == 1KiB, rather than just > 1KiB. This isn't | ||
1728 | necessary, since the register save then probes at offset 1024 | ||
1729 | as required. Continuing to probe allocations of exactly 1KiB | ||
1730 | would complicate later patches. | ||
1731 | |||
1732 | gcc/ | ||
1733 | * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): | ||
1734 | Don't probe final allocations that are exactly 1KiB in size (after | ||
1735 | unprobed space above the final allocation has been deducted). | ||
1736 | |||
1737 | gcc/testsuite/ | ||
1738 | * gcc.target/aarch64/stack-check-prologue-17.c: New test. | ||
1739 | --- | ||
1740 | gcc/config/aarch64/aarch64.cc | 4 +- | ||
1741 | .../aarch64/stack-check-prologue-17.c | 55 +++++++++++++++++++ | ||
1742 | 2 files changed, 58 insertions(+), 1 deletion(-) | ||
1743 | create mode 100644 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | ||
1744 | |||
1745 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1746 | index 1aa79da0673..5cad847977a 100644 | ||
1747 | --- a/gcc/config/aarch64/aarch64.cc | ||
1748 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1749 | @@ -9648,9 +9648,11 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
1750 | HOST_WIDE_INT guard_size | ||
1751 | = 1 << param_stack_clash_protection_guard_size; | ||
1752 | HOST_WIDE_INT guard_used_by_caller = STACK_CLASH_CALLER_GUARD; | ||
1753 | + HOST_WIDE_INT byte_sp_alignment = STACK_BOUNDARY / BITS_PER_UNIT; | ||
1754 | + gcc_assert (multiple_p (poly_size, byte_sp_alignment)); | ||
1755 | HOST_WIDE_INT min_probe_threshold | ||
1756 | = (final_adjustment_p | ||
1757 | - ? guard_used_by_caller | ||
1758 | + ? guard_used_by_caller + byte_sp_alignment | ||
1759 | : guard_size - guard_used_by_caller); | ||
1760 | /* When doing the final adjustment for the outgoing arguments, take into | ||
1761 | account any unprobed space there is above the current SP. There are | ||
1762 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | ||
1763 | new file mode 100644 | ||
1764 | index 00000000000..0d8a25d73a2 | ||
1765 | --- /dev/null | ||
1766 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | ||
1767 | @@ -0,0 +1,55 @@ | ||
1768 | +/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */ | ||
1769 | +/* { dg-final { check-function-bodies "**" "" } } */ | ||
1770 | + | ||
1771 | +void f(int, ...); | ||
1772 | +void g(); | ||
1773 | + | ||
1774 | +/* | ||
1775 | +** test1: | ||
1776 | +** ... | ||
1777 | +** str x30, \[sp\] | ||
1778 | +** sub sp, sp, #1024 | ||
1779 | +** cbnz w0, .* | ||
1780 | +** bl g | ||
1781 | +** ... | ||
1782 | +*/ | ||
1783 | +int test1(int z) { | ||
1784 | + __uint128_t x = 0; | ||
1785 | + int y[0x400]; | ||
1786 | + if (z) | ||
1787 | + { | ||
1788 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
1789 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1790 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1791 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1792 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x); | ||
1793 | + } | ||
1794 | + g(); | ||
1795 | + return 1; | ||
1796 | +} | ||
1797 | + | ||
1798 | +/* | ||
1799 | +** test2: | ||
1800 | +** ... | ||
1801 | +** str x30, \[sp\] | ||
1802 | +** sub sp, sp, #1040 | ||
1803 | +** str xzr, \[sp\] | ||
1804 | +** cbnz w0, .* | ||
1805 | +** bl g | ||
1806 | +** ... | ||
1807 | +*/ | ||
1808 | +int test2(int z) { | ||
1809 | + __uint128_t x = 0; | ||
1810 | + int y[0x400]; | ||
1811 | + if (z) | ||
1812 | + { | ||
1813 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
1814 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1815 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1816 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1817 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
1818 | + x); | ||
1819 | + } | ||
1820 | + g(); | ||
1821 | + return 1; | ||
1822 | +} | ||
1823 | -- | ||
1824 | 2.34.1 | ||
1825 | |||
1826 | |||
1827 | From 8433953434a7b58c0923140d39eb3c5988c1d097 Mon Sep 17 00:00:00 2001 | ||
1828 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
1829 | Date: Tue, 12 Sep 2023 16:07:19 +0100 | ||
1830 | Subject: [PATCH 15/19] aarch64: Put LR save probe in first 16 bytes | ||
1831 | |||
1832 | -fstack-clash-protection uses the save of LR as a probe for the next | ||
1833 | allocation. The next allocation could be: | ||
1834 | |||
1835 | * another part of the static frame, e.g. when allocating SVE save slots | ||
1836 | or outgoing arguments | ||
1837 | |||
1838 | * an alloca in the same function | ||
1839 | |||
1840 | * an allocation made by a callee function | ||
1841 | |||
1842 | However, when -fomit-frame-pointer is used, the LR save slot is placed | ||
1843 | above the other GPR save slots. It could therefore be up to 80 bytes | ||
1844 | above the base of the GPR save area (which is also the hard fp address). | ||
1845 | |||
1846 | aarch64_allocate_and_probe_stack_space took this into account when | ||
1847 | deciding how much subsequent space could be allocated without needing | ||
1848 | a probe. However, it interacted badly with: | ||
1849 | |||
1850 | /* If doing a small final adjustment, we always probe at offset 0. | ||
1851 | This is done to avoid issues when LR is not at position 0 or when | ||
1852 | the final adjustment is smaller than the probing offset. */ | ||
1853 | else if (final_adjustment_p && rounded_size == 0) | ||
1854 | residual_probe_offset = 0; | ||
1855 | |||
1856 | which forces any allocation that is smaller than the guard page size | ||
1857 | to be probed at offset 0 rather than the usual offset 1024. It was | ||
1858 | therefore possible to construct cases in which we had: | ||
1859 | |||
1860 | * a probe using LR at SP + 80 bytes (or some other value >= 16) | ||
1861 | * an allocation of the guard page size - 16 bytes | ||
1862 | * a probe at SP + 0 | ||
1863 | |||
1864 | which allocates guard page size + 64 consecutive unprobed bytes. | ||
1865 | |||
1866 | This patch requires the LR probe to be in the first 16 bytes of the | ||
1867 | save area when stack clash protection is active. Doing it | ||
1868 | unconditionally would cause code-quality regressions. | ||
1869 | |||
1870 | Putting LR before other registers prevents push/pop allocation | ||
1871 | when shadow call stacks are enabled, since LR is restored | ||
1872 | separately from the other callee-saved registers. | ||
1873 | |||
1874 | The new comment doesn't say that the probe register is required | ||
1875 | to be LR, since a later patch removes that restriction. | ||
1876 | |||
1877 | gcc/ | ||
1878 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Ensure that | ||
1879 | the LR save slot is in the first 16 bytes of the register save area. | ||
1880 | Only form STP/LDP push/pop candidates if both registers are valid. | ||
1881 | (aarch64_allocate_and_probe_stack_space): Remove workaround for | ||
1882 | when LR was not in the first 16 bytes. | ||
1883 | |||
1884 | gcc/testsuite/ | ||
1885 | * gcc.target/aarch64/stack-check-prologue-18.c: New test. | ||
1886 | * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. | ||
1887 | * gcc.target/aarch64/stack-check-prologue-20.c: Likewise. | ||
1888 | --- | ||
1889 | gcc/config/aarch64/aarch64.cc | 72 ++++++------- | ||
1890 | .../aarch64/stack-check-prologue-18.c | 100 ++++++++++++++++++ | ||
1891 | .../aarch64/stack-check-prologue-19.c | 100 ++++++++++++++++++ | ||
1892 | .../aarch64/stack-check-prologue-20.c | 3 + | ||
1893 | 4 files changed, 233 insertions(+), 42 deletions(-) | ||
1894 | create mode 100644 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | ||
1895 | create mode 100644 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | ||
1896 | create mode 100644 gcc/testsuite/gcc.target/aarch64/stack-check-prologue-20.c | ||
1897 | |||
1898 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
1899 | index 5cad847977a..a765f92329d 100644 | ||
1900 | --- a/gcc/config/aarch64/aarch64.cc | ||
1901 | +++ b/gcc/config/aarch64/aarch64.cc | ||
1902 | @@ -8534,26 +8534,34 @@ aarch64_layout_frame (void) | ||
1903 | bool saves_below_hard_fp_p | ||
1904 | = maybe_ne (frame.below_hard_fp_saved_regs_size, 0); | ||
1905 | frame.bytes_below_hard_fp = offset; | ||
1906 | + | ||
1907 | + auto allocate_gpr_slot = [&](unsigned int regno) | ||
1908 | + { | ||
1909 | + frame.reg_offset[regno] = offset; | ||
1910 | + if (frame.wb_push_candidate1 == INVALID_REGNUM) | ||
1911 | + frame.wb_push_candidate1 = regno; | ||
1912 | + else if (frame.wb_push_candidate2 == INVALID_REGNUM) | ||
1913 | + frame.wb_push_candidate2 = regno; | ||
1914 | + offset += UNITS_PER_WORD; | ||
1915 | + }; | ||
1916 | + | ||
1917 | if (frame.emit_frame_chain) | ||
1918 | { | ||
1919 | /* FP and LR are placed in the linkage record. */ | ||
1920 | - frame.reg_offset[R29_REGNUM] = offset; | ||
1921 | - frame.wb_push_candidate1 = R29_REGNUM; | ||
1922 | - frame.reg_offset[R30_REGNUM] = offset + UNITS_PER_WORD; | ||
1923 | - frame.wb_push_candidate2 = R30_REGNUM; | ||
1924 | - offset += 2 * UNITS_PER_WORD; | ||
1925 | + allocate_gpr_slot (R29_REGNUM); | ||
1926 | + allocate_gpr_slot (R30_REGNUM); | ||
1927 | } | ||
1928 | + else if (flag_stack_clash_protection | ||
1929 | + && known_eq (frame.reg_offset[R30_REGNUM], SLOT_REQUIRED)) | ||
1930 | + /* Put the LR save slot first, since it makes a good choice of probe | ||
1931 | + for stack clash purposes. The idea is that the link register usually | ||
1932 | + has to be saved before a call anyway, and so we lose little by | ||
1933 | + stopping it from being individually shrink-wrapped. */ | ||
1934 | + allocate_gpr_slot (R30_REGNUM); | ||
1935 | |||
1936 | for (regno = R0_REGNUM; regno <= R30_REGNUM; regno++) | ||
1937 | if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) | ||
1938 | - { | ||
1939 | - frame.reg_offset[regno] = offset; | ||
1940 | - if (frame.wb_push_candidate1 == INVALID_REGNUM) | ||
1941 | - frame.wb_push_candidate1 = regno; | ||
1942 | - else if (frame.wb_push_candidate2 == INVALID_REGNUM) | ||
1943 | - frame.wb_push_candidate2 = regno; | ||
1944 | - offset += UNITS_PER_WORD; | ||
1945 | - } | ||
1946 | + allocate_gpr_slot (regno); | ||
1947 | |||
1948 | poly_int64 max_int_offset = offset; | ||
1949 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
1950 | @@ -8631,10 +8639,13 @@ aarch64_layout_frame (void) | ||
1951 | max_push_offset to 0, because no registers are popped at this time, | ||
1952 | so callee_adjust cannot be adjusted. */ | ||
1953 | HOST_WIDE_INT max_push_offset = 0; | ||
1954 | - if (frame.wb_pop_candidate2 != INVALID_REGNUM) | ||
1955 | - max_push_offset = 512; | ||
1956 | - else if (frame.wb_pop_candidate1 != INVALID_REGNUM) | ||
1957 | - max_push_offset = 256; | ||
1958 | + if (frame.wb_pop_candidate1 != INVALID_REGNUM) | ||
1959 | + { | ||
1960 | + if (frame.wb_pop_candidate2 != INVALID_REGNUM) | ||
1961 | + max_push_offset = 512; | ||
1962 | + else | ||
1963 | + max_push_offset = 256; | ||
1964 | + } | ||
1965 | |||
1966 | HOST_WIDE_INT const_size, const_below_saved_regs, const_above_fp; | ||
1967 | HOST_WIDE_INT const_saved_regs_size; | ||
1968 | @@ -9654,29 +9665,6 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
1969 | = (final_adjustment_p | ||
1970 | ? guard_used_by_caller + byte_sp_alignment | ||
1971 | : guard_size - guard_used_by_caller); | ||
1972 | - /* When doing the final adjustment for the outgoing arguments, take into | ||
1973 | - account any unprobed space there is above the current SP. There are | ||
1974 | - two cases: | ||
1975 | - | ||
1976 | - - When saving SVE registers below the hard frame pointer, we force | ||
1977 | - the lowest save to take place in the prologue before doing the final | ||
1978 | - adjustment (i.e. we don't allow the save to be shrink-wrapped). | ||
1979 | - This acts as a probe at SP, so there is no unprobed space. | ||
1980 | - | ||
1981 | - - When there are no SVE register saves, we use the store of the link | ||
1982 | - register as a probe. We can't assume that LR was saved at position 0 | ||
1983 | - though, so treat any space below it as unprobed. */ | ||
1984 | - if (final_adjustment_p | ||
1985 | - && known_eq (frame.below_hard_fp_saved_regs_size, 0)) | ||
1986 | - { | ||
1987 | - poly_int64 lr_offset = (frame.reg_offset[LR_REGNUM] | ||
1988 | - - frame.bytes_below_saved_regs); | ||
1989 | - if (known_ge (lr_offset, 0)) | ||
1990 | - min_probe_threshold -= lr_offset.to_constant (); | ||
1991 | - else | ||
1992 | - gcc_assert (!flag_stack_clash_protection || known_eq (poly_size, 0)); | ||
1993 | - } | ||
1994 | - | ||
1995 | poly_int64 frame_size = frame.frame_size; | ||
1996 | |||
1997 | /* We should always have a positive probe threshold. */ | ||
1998 | @@ -9856,8 +9844,8 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
1999 | if (final_adjustment_p && rounded_size != 0) | ||
2000 | min_probe_threshold = 0; | ||
2001 | /* If doing a small final adjustment, we always probe at offset 0. | ||
2002 | - This is done to avoid issues when LR is not at position 0 or when | ||
2003 | - the final adjustment is smaller than the probing offset. */ | ||
2004 | + This is done to avoid issues when the final adjustment is smaller | ||
2005 | + than the probing offset. */ | ||
2006 | else if (final_adjustment_p && rounded_size == 0) | ||
2007 | residual_probe_offset = 0; | ||
2008 | |||
2009 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | ||
2010 | new file mode 100644 | ||
2011 | index 00000000000..82447d20fff | ||
2012 | --- /dev/null | ||
2013 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | ||
2014 | @@ -0,0 +1,100 @@ | ||
2015 | +/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12" } */ | ||
2016 | +/* { dg-final { check-function-bodies "**" "" } } */ | ||
2017 | + | ||
2018 | +void f(int, ...); | ||
2019 | +void g(); | ||
2020 | + | ||
2021 | +/* | ||
2022 | +** test1: | ||
2023 | +** ... | ||
2024 | +** str x30, \[sp\] | ||
2025 | +** sub sp, sp, #4064 | ||
2026 | +** str xzr, \[sp\] | ||
2027 | +** cbnz w0, .* | ||
2028 | +** bl g | ||
2029 | +** ... | ||
2030 | +** str x26, \[sp, #?4128\] | ||
2031 | +** ... | ||
2032 | +*/ | ||
2033 | +int test1(int z) { | ||
2034 | + __uint128_t x = 0; | ||
2035 | + int y[0x400]; | ||
2036 | + if (z) | ||
2037 | + { | ||
2038 | + asm volatile ("" ::: | ||
2039 | + "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"); | ||
2040 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
2041 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2042 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2043 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2044 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2045 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2046 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2047 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2048 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2049 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2050 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2051 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2052 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2053 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2054 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2055 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2056 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x); | ||
2057 | + } | ||
2058 | + g(); | ||
2059 | + return 1; | ||
2060 | +} | ||
2061 | + | ||
2062 | +/* | ||
2063 | +** test2: | ||
2064 | +** ... | ||
2065 | +** str x30, \[sp\] | ||
2066 | +** sub sp, sp, #1040 | ||
2067 | +** str xzr, \[sp\] | ||
2068 | +** cbnz w0, .* | ||
2069 | +** bl g | ||
2070 | +** ... | ||
2071 | +*/ | ||
2072 | +int test2(int z) { | ||
2073 | + __uint128_t x = 0; | ||
2074 | + int y[0x400]; | ||
2075 | + if (z) | ||
2076 | + { | ||
2077 | + asm volatile ("" ::: | ||
2078 | + "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"); | ||
2079 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
2080 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2081 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2082 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2083 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2084 | + x); | ||
2085 | + } | ||
2086 | + g(); | ||
2087 | + return 1; | ||
2088 | +} | ||
2089 | + | ||
2090 | +/* | ||
2091 | +** test3: | ||
2092 | +** ... | ||
2093 | +** str x30, \[sp\] | ||
2094 | +** sub sp, sp, #1024 | ||
2095 | +** cbnz w0, .* | ||
2096 | +** bl g | ||
2097 | +** ... | ||
2098 | +*/ | ||
2099 | +int test3(int z) { | ||
2100 | + __uint128_t x = 0; | ||
2101 | + int y[0x400]; | ||
2102 | + if (z) | ||
2103 | + { | ||
2104 | + asm volatile ("" ::: | ||
2105 | + "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"); | ||
2106 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
2107 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2108 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2109 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2110 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x); | ||
2111 | + } | ||
2112 | + g(); | ||
2113 | + return 1; | ||
2114 | +} | ||
2115 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | ||
2116 | new file mode 100644 | ||
2117 | index 00000000000..73ac3e4e4eb | ||
2118 | --- /dev/null | ||
2119 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | ||
2120 | @@ -0,0 +1,100 @@ | ||
2121 | +/* { dg-options "-O2 -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18" } */ | ||
2122 | +/* { dg-final { check-function-bodies "**" "" } } */ | ||
2123 | + | ||
2124 | +void f(int, ...); | ||
2125 | +void g(); | ||
2126 | + | ||
2127 | +/* | ||
2128 | +** test1: | ||
2129 | +** ... | ||
2130 | +** str x30, \[sp\] | ||
2131 | +** sub sp, sp, #4064 | ||
2132 | +** str xzr, \[sp\] | ||
2133 | +** cbnz w0, .* | ||
2134 | +** bl g | ||
2135 | +** ... | ||
2136 | +** str x26, \[sp, #?4128\] | ||
2137 | +** ... | ||
2138 | +*/ | ||
2139 | +int test1(int z) { | ||
2140 | + __uint128_t x = 0; | ||
2141 | + int y[0x400]; | ||
2142 | + if (z) | ||
2143 | + { | ||
2144 | + asm volatile ("" ::: | ||
2145 | + "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"); | ||
2146 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
2147 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2148 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2149 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2150 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2151 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2152 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2153 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2154 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2155 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2156 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2157 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2158 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2159 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2160 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2161 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2162 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x); | ||
2163 | + } | ||
2164 | + g(); | ||
2165 | + return 1; | ||
2166 | +} | ||
2167 | + | ||
2168 | +/* | ||
2169 | +** test2: | ||
2170 | +** ... | ||
2171 | +** str x30, \[sp\] | ||
2172 | +** sub sp, sp, #1040 | ||
2173 | +** str xzr, \[sp\] | ||
2174 | +** cbnz w0, .* | ||
2175 | +** bl g | ||
2176 | +** ... | ||
2177 | +*/ | ||
2178 | +int test2(int z) { | ||
2179 | + __uint128_t x = 0; | ||
2180 | + int y[0x400]; | ||
2181 | + if (z) | ||
2182 | + { | ||
2183 | + asm volatile ("" ::: | ||
2184 | + "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"); | ||
2185 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
2186 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2187 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2188 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2189 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2190 | + x); | ||
2191 | + } | ||
2192 | + g(); | ||
2193 | + return 1; | ||
2194 | +} | ||
2195 | + | ||
2196 | +/* | ||
2197 | +** test3: | ||
2198 | +** ... | ||
2199 | +** str x30, \[sp\] | ||
2200 | +** sub sp, sp, #1024 | ||
2201 | +** cbnz w0, .* | ||
2202 | +** bl g | ||
2203 | +** ... | ||
2204 | +*/ | ||
2205 | +int test3(int z) { | ||
2206 | + __uint128_t x = 0; | ||
2207 | + int y[0x400]; | ||
2208 | + if (z) | ||
2209 | + { | ||
2210 | + asm volatile ("" ::: | ||
2211 | + "x19", "x20", "x21", "x22", "x23", "x24", "x25", "x26"); | ||
2212 | + f(0, 0, 0, 0, 0, 0, 0, &y, | ||
2213 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2214 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2215 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, | ||
2216 | + x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x); | ||
2217 | + } | ||
2218 | + g(); | ||
2219 | + return 1; | ||
2220 | +} | ||
2221 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-20.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-20.c | ||
2222 | new file mode 100644 | ||
2223 | index 00000000000..690aae8dfd5 | ||
2224 | --- /dev/null | ||
2225 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-20.c | ||
2226 | @@ -0,0 +1,3 @@ | ||
2227 | +/* { dg-options "-O2 -fstack-protector-all -fstack-clash-protection -fomit-frame-pointer --param stack-clash-protection-guard-size=12 -fsanitize=shadow-call-stack -ffixed-x18" } */ | ||
2228 | + | ||
2229 | +#include "stack-check-prologue-19.c" | ||
2230 | -- | ||
2231 | 2.34.1 | ||
2232 | |||
2233 | |||
2234 | From eea1759073e09dd1aefbc9a881601ab1eebfdd18 Mon Sep 17 00:00:00 2001 | ||
2235 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
2236 | Date: Tue, 12 Sep 2023 16:07:19 +0100 | ||
2237 | Subject: [PATCH 16/19] aarch64: Simplify probe of final frame allocation | ||
2238 | |||
2239 | Previous patches ensured that the final frame allocation only needs | ||
2240 | a probe when the size is strictly greater than 1KiB. It's therefore | ||
2241 | safe to use the normal 1024 probe offset in all cases. | ||
2242 | |||
2243 | The main motivation for doing this is to simplify the code and | ||
2244 | remove the number of special cases. | ||
2245 | |||
2246 | gcc/ | ||
2247 | * config/aarch64/aarch64.cc (aarch64_allocate_and_probe_stack_space): | ||
2248 | Always probe the residual allocation at offset 1024, asserting | ||
2249 | that that is in range. | ||
2250 | |||
2251 | gcc/testsuite/ | ||
2252 | * gcc.target/aarch64/stack-check-prologue-17.c: Expect the probe | ||
2253 | to be at offset 1024 rather than offset 0. | ||
2254 | * gcc.target/aarch64/stack-check-prologue-18.c: Likewise. | ||
2255 | * gcc.target/aarch64/stack-check-prologue-19.c: Likewise. | ||
2256 | --- | ||
2257 | gcc/config/aarch64/aarch64.cc | 12 ++++-------- | ||
2258 | .../gcc.target/aarch64/stack-check-prologue-17.c | 2 +- | ||
2259 | .../gcc.target/aarch64/stack-check-prologue-18.c | 4 ++-- | ||
2260 | .../gcc.target/aarch64/stack-check-prologue-19.c | 4 ++-- | ||
2261 | 4 files changed, 9 insertions(+), 13 deletions(-) | ||
2262 | |||
2263 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
2264 | index a765f92329d..37809a306f7 100644 | ||
2265 | --- a/gcc/config/aarch64/aarch64.cc | ||
2266 | +++ b/gcc/config/aarch64/aarch64.cc | ||
2267 | @@ -9838,16 +9838,12 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
2268 | are still safe. */ | ||
2269 | if (residual) | ||
2270 | { | ||
2271 | - HOST_WIDE_INT residual_probe_offset = guard_used_by_caller; | ||
2272 | + gcc_assert (guard_used_by_caller + byte_sp_alignment <= size); | ||
2273 | + | ||
2274 | /* If we're doing final adjustments, and we've done any full page | ||
2275 | allocations then any residual needs to be probed. */ | ||
2276 | if (final_adjustment_p && rounded_size != 0) | ||
2277 | min_probe_threshold = 0; | ||
2278 | - /* If doing a small final adjustment, we always probe at offset 0. | ||
2279 | - This is done to avoid issues when the final adjustment is smaller | ||
2280 | - than the probing offset. */ | ||
2281 | - else if (final_adjustment_p && rounded_size == 0) | ||
2282 | - residual_probe_offset = 0; | ||
2283 | |||
2284 | aarch64_sub_sp (temp1, temp2, residual, frame_related_p); | ||
2285 | if (residual >= min_probe_threshold) | ||
2286 | @@ -9858,8 +9854,8 @@ aarch64_allocate_and_probe_stack_space (rtx temp1, rtx temp2, | ||
2287 | HOST_WIDE_INT_PRINT_DEC " bytes, probing will be required." | ||
2288 | "\n", residual); | ||
2289 | |||
2290 | - emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx, | ||
2291 | - residual_probe_offset)); | ||
2292 | + emit_stack_probe (plus_constant (Pmode, stack_pointer_rtx, | ||
2293 | + guard_used_by_caller)); | ||
2294 | emit_insn (gen_blockage ()); | ||
2295 | } | ||
2296 | } | ||
2297 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | ||
2298 | index 0d8a25d73a2..f0ec1389771 100644 | ||
2299 | --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | ||
2300 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-17.c | ||
2301 | @@ -33,7 +33,7 @@ int test1(int z) { | ||
2302 | ** ... | ||
2303 | ** str x30, \[sp\] | ||
2304 | ** sub sp, sp, #1040 | ||
2305 | -** str xzr, \[sp\] | ||
2306 | +** str xzr, \[sp, #?1024\] | ||
2307 | ** cbnz w0, .* | ||
2308 | ** bl g | ||
2309 | ** ... | ||
2310 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | ||
2311 | index 82447d20fff..6383bec5ebc 100644 | ||
2312 | --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | ||
2313 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-18.c | ||
2314 | @@ -9,7 +9,7 @@ void g(); | ||
2315 | ** ... | ||
2316 | ** str x30, \[sp\] | ||
2317 | ** sub sp, sp, #4064 | ||
2318 | -** str xzr, \[sp\] | ||
2319 | +** str xzr, \[sp, #?1024\] | ||
2320 | ** cbnz w0, .* | ||
2321 | ** bl g | ||
2322 | ** ... | ||
2323 | @@ -50,7 +50,7 @@ int test1(int z) { | ||
2324 | ** ... | ||
2325 | ** str x30, \[sp\] | ||
2326 | ** sub sp, sp, #1040 | ||
2327 | -** str xzr, \[sp\] | ||
2328 | +** str xzr, \[sp, #?1024\] | ||
2329 | ** cbnz w0, .* | ||
2330 | ** bl g | ||
2331 | ** ... | ||
2332 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | ||
2333 | index 73ac3e4e4eb..562039b5e9b 100644 | ||
2334 | --- a/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | ||
2335 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-check-prologue-19.c | ||
2336 | @@ -9,7 +9,7 @@ void g(); | ||
2337 | ** ... | ||
2338 | ** str x30, \[sp\] | ||
2339 | ** sub sp, sp, #4064 | ||
2340 | -** str xzr, \[sp\] | ||
2341 | +** str xzr, \[sp, #?1024\] | ||
2342 | ** cbnz w0, .* | ||
2343 | ** bl g | ||
2344 | ** ... | ||
2345 | @@ -50,7 +50,7 @@ int test1(int z) { | ||
2346 | ** ... | ||
2347 | ** str x30, \[sp\] | ||
2348 | ** sub sp, sp, #1040 | ||
2349 | -** str xzr, \[sp\] | ||
2350 | +** str xzr, \[sp, #?1024\] | ||
2351 | ** cbnz w0, .* | ||
2352 | ** bl g | ||
2353 | ** ... | ||
2354 | -- | ||
2355 | 2.34.1 | ||
2356 | |||
2357 | |||
2358 | From 96d85187c3b9c9a7efc2fd698c3d452e80d8aa47 Mon Sep 17 00:00:00 2001 | ||
2359 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
2360 | Date: Tue, 12 Sep 2023 16:07:20 +0100 | ||
2361 | Subject: [PATCH 17/19] aarch64: Explicitly record probe registers in frame | ||
2362 | info | ||
2363 | |||
2364 | The stack frame is currently divided into three areas: | ||
2365 | |||
2366 | A: the area above the hard frame pointer | ||
2367 | B: the SVE saves below the hard frame pointer | ||
2368 | C: the outgoing arguments | ||
2369 | |||
2370 | If the stack frame is allocated in one chunk, the allocation needs a | ||
2371 | probe if the frame size is >= guard_size - 1KiB. In addition, if the | ||
2372 | function is not a leaf function, it must probe an address no more than | ||
2373 | 1KiB above the outgoing SP. We ensured the second condition by | ||
2374 | |||
2375 | (1) using single-chunk allocations for non-leaf functions only if | ||
2376 | the link register save slot is within 512 bytes of the bottom | ||
2377 | of the frame; and | ||
2378 | |||
2379 | (2) using the link register save as a probe (meaning, for instance, | ||
2380 | that it can't be individually shrink wrapped) | ||
2381 | |||
2382 | If instead the stack is allocated in multiple chunks, then: | ||
2383 | |||
2384 | * an allocation involving only the outgoing arguments (C above) requires | ||
2385 | a probe if the allocation size is > 1KiB | ||
2386 | |||
2387 | * any other allocation requires a probe if the allocation size | ||
2388 | is >= guard_size - 1KiB | ||
2389 | |||
2390 | * second and subsequent allocations require the previous allocation | ||
2391 | to probe at the bottom of the allocated area, regardless of the size | ||
2392 | of that previous allocation | ||
2393 | |||
2394 | The final point means that, unlike for single allocations, | ||
2395 | it can be necessary to have both a non-SVE register probe and | ||
2396 | an SVE register probe. For example: | ||
2397 | |||
2398 | * allocate A, probe using a non-SVE register save | ||
2399 | * allocate B, probe using an SVE register save | ||
2400 | * allocate C | ||
2401 | |||
2402 | The non-SVE register used in this case was again the link register. | ||
2403 | It was previously used even if the link register save slot was some | ||
2404 | bytes above the bottom of the non-SVE register saves, but an earlier | ||
2405 | patch avoided that by putting the link register save slot first. | ||
2406 | |||
2407 | As a belt-and-braces fix, this patch explicitly records which | ||
2408 | probe registers we're using and allows the non-SVE probe to be | ||
2409 | whichever register comes first (as for SVE). | ||
2410 | |||
2411 | The patch also avoids unnecessary probes in sve/pcs/stack_clash_3.c. | ||
2412 | |||
2413 | gcc/ | ||
2414 | * config/aarch64/aarch64.h (aarch64_frame::sve_save_and_probe) | ||
2415 | (aarch64_frame::hard_fp_save_and_probe): New fields. | ||
2416 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Initialize them. | ||
2417 | Rather than asserting that a leaf function saves LR, instead assert | ||
2418 | that a leaf function saves something. | ||
2419 | (aarch64_get_separate_components): Prevent the chosen probe | ||
2420 | registers from being individually shrink-wrapped. | ||
2421 | (aarch64_allocate_and_probe_stack_space): Remove workaround for | ||
2422 | probe registers that aren't at the bottom of the previous allocation. | ||
2423 | |||
2424 | gcc/testsuite/ | ||
2425 | * gcc.target/aarch64/sve/pcs/stack_clash_3.c: Avoid redundant probes. | ||
2426 | --- | ||
2427 | gcc/config/aarch64/aarch64.cc | 68 +++++++++++++++---- | ||
2428 | gcc/config/aarch64/aarch64.h | 8 +++ | ||
2429 | .../aarch64/sve/pcs/stack_clash_3.c | 6 +- | ||
2430 | 3 files changed, 64 insertions(+), 18 deletions(-) | ||
2431 | |||
2432 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
2433 | index 37809a306f7..6c59c39a639 100644 | ||
2434 | --- a/gcc/config/aarch64/aarch64.cc | ||
2435 | +++ b/gcc/config/aarch64/aarch64.cc | ||
2436 | @@ -8471,15 +8471,11 @@ aarch64_layout_frame (void) | ||
2437 | && !crtl->abi->clobbers_full_reg_p (regno)) | ||
2438 | frame.reg_offset[regno] = SLOT_REQUIRED; | ||
2439 | |||
2440 | - /* With stack-clash, LR must be saved in non-leaf functions. The saving of | ||
2441 | - LR counts as an implicit probe which allows us to maintain the invariant | ||
2442 | - described in the comment at expand_prologue. */ | ||
2443 | - gcc_assert (crtl->is_leaf | ||
2444 | - || maybe_ne (frame.reg_offset[R30_REGNUM], SLOT_NOT_REQUIRED)); | ||
2445 | |||
2446 | poly_int64 offset = crtl->outgoing_args_size; | ||
2447 | gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); | ||
2448 | frame.bytes_below_saved_regs = offset; | ||
2449 | + frame.sve_save_and_probe = INVALID_REGNUM; | ||
2450 | |||
2451 | /* Now assign stack slots for the registers. Start with the predicate | ||
2452 | registers, since predicate LDR and STR have a relatively small | ||
2453 | @@ -8487,6 +8483,8 @@ aarch64_layout_frame (void) | ||
2454 | for (regno = P0_REGNUM; regno <= P15_REGNUM; regno++) | ||
2455 | if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) | ||
2456 | { | ||
2457 | + if (frame.sve_save_and_probe == INVALID_REGNUM) | ||
2458 | + frame.sve_save_and_probe = regno; | ||
2459 | frame.reg_offset[regno] = offset; | ||
2460 | offset += BYTES_PER_SVE_PRED; | ||
2461 | } | ||
2462 | @@ -8524,6 +8522,8 @@ aarch64_layout_frame (void) | ||
2463 | for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++) | ||
2464 | if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) | ||
2465 | { | ||
2466 | + if (frame.sve_save_and_probe == INVALID_REGNUM) | ||
2467 | + frame.sve_save_and_probe = regno; | ||
2468 | frame.reg_offset[regno] = offset; | ||
2469 | offset += vector_save_size; | ||
2470 | } | ||
2471 | @@ -8533,10 +8533,18 @@ aarch64_layout_frame (void) | ||
2472 | frame.below_hard_fp_saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
2473 | bool saves_below_hard_fp_p | ||
2474 | = maybe_ne (frame.below_hard_fp_saved_regs_size, 0); | ||
2475 | + gcc_assert (!saves_below_hard_fp_p | ||
2476 | + || (frame.sve_save_and_probe != INVALID_REGNUM | ||
2477 | + && known_eq (frame.reg_offset[frame.sve_save_and_probe], | ||
2478 | + frame.bytes_below_saved_regs))); | ||
2479 | + | ||
2480 | frame.bytes_below_hard_fp = offset; | ||
2481 | + frame.hard_fp_save_and_probe = INVALID_REGNUM; | ||
2482 | |||
2483 | auto allocate_gpr_slot = [&](unsigned int regno) | ||
2484 | { | ||
2485 | + if (frame.hard_fp_save_and_probe == INVALID_REGNUM) | ||
2486 | + frame.hard_fp_save_and_probe = regno; | ||
2487 | frame.reg_offset[regno] = offset; | ||
2488 | if (frame.wb_push_candidate1 == INVALID_REGNUM) | ||
2489 | frame.wb_push_candidate1 = regno; | ||
2490 | @@ -8570,6 +8578,8 @@ aarch64_layout_frame (void) | ||
2491 | for (regno = V0_REGNUM; regno <= V31_REGNUM; regno++) | ||
2492 | if (known_eq (frame.reg_offset[regno], SLOT_REQUIRED)) | ||
2493 | { | ||
2494 | + if (frame.hard_fp_save_and_probe == INVALID_REGNUM) | ||
2495 | + frame.hard_fp_save_and_probe = regno; | ||
2496 | /* If there is an alignment gap between integer and fp callee-saves, | ||
2497 | allocate the last fp register to it if possible. */ | ||
2498 | if (regno == last_fp_reg | ||
2499 | @@ -8593,6 +8603,17 @@ aarch64_layout_frame (void) | ||
2500 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2501 | |||
2502 | frame.saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
2503 | + gcc_assert (known_eq (frame.saved_regs_size, | ||
2504 | + frame.below_hard_fp_saved_regs_size) | ||
2505 | + || (frame.hard_fp_save_and_probe != INVALID_REGNUM | ||
2506 | + && known_eq (frame.reg_offset[frame.hard_fp_save_and_probe], | ||
2507 | + frame.bytes_below_hard_fp))); | ||
2508 | + | ||
2509 | + /* With stack-clash, a register must be saved in non-leaf functions. | ||
2510 | + The saving of the bottommost register counts as an implicit probe, | ||
2511 | + which allows us to maintain the invariant described in the comment | ||
2512 | + at expand_prologue. */ | ||
2513 | + gcc_assert (crtl->is_leaf || maybe_ne (frame.saved_regs_size, 0)); | ||
2514 | |||
2515 | offset += get_frame_size (); | ||
2516 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2517 | @@ -8723,6 +8744,25 @@ aarch64_layout_frame (void) | ||
2518 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
2519 | } | ||
2520 | |||
2521 | + /* The frame is allocated in pieces, with each non-final piece | ||
2522 | + including a register save at offset 0 that acts as a probe for | ||
2523 | + the following piece. In addition, the save of the bottommost register | ||
2524 | + acts as a probe for callees and allocas. Roll back any probes that | ||
2525 | + aren't needed. | ||
2526 | + | ||
2527 | + A probe isn't needed if it is associated with the final allocation | ||
2528 | + (including callees and allocas) that happens before the epilogue is | ||
2529 | + executed. */ | ||
2530 | + if (crtl->is_leaf | ||
2531 | + && !cfun->calls_alloca | ||
2532 | + && known_eq (frame.final_adjust, 0)) | ||
2533 | + { | ||
2534 | + if (maybe_ne (frame.sve_callee_adjust, 0)) | ||
2535 | + frame.sve_save_and_probe = INVALID_REGNUM; | ||
2536 | + else | ||
2537 | + frame.hard_fp_save_and_probe = INVALID_REGNUM; | ||
2538 | + } | ||
2539 | + | ||
2540 | /* Make sure the individual adjustments add up to the full frame size. */ | ||
2541 | gcc_assert (known_eq (frame.initial_adjust | ||
2542 | + frame.callee_adjust | ||
2543 | @@ -9354,13 +9394,6 @@ aarch64_get_separate_components (void) | ||
2544 | |||
2545 | poly_int64 offset = frame.reg_offset[regno]; | ||
2546 | |||
2547 | - /* If the register is saved in the first SVE save slot, we use | ||
2548 | - it as a stack probe for -fstack-clash-protection. */ | ||
2549 | - if (flag_stack_clash_protection | ||
2550 | - && maybe_ne (frame.below_hard_fp_saved_regs_size, 0) | ||
2551 | - && known_eq (offset, frame.bytes_below_saved_regs)) | ||
2552 | - continue; | ||
2553 | - | ||
2554 | /* Get the offset relative to the register we'll use. */ | ||
2555 | if (frame_pointer_needed) | ||
2556 | offset -= frame.bytes_below_hard_fp; | ||
2557 | @@ -9395,6 +9428,13 @@ aarch64_get_separate_components (void) | ||
2558 | |||
2559 | bitmap_clear_bit (components, LR_REGNUM); | ||
2560 | bitmap_clear_bit (components, SP_REGNUM); | ||
2561 | + if (flag_stack_clash_protection) | ||
2562 | + { | ||
2563 | + if (frame.sve_save_and_probe != INVALID_REGNUM) | ||
2564 | + bitmap_clear_bit (components, frame.sve_save_and_probe); | ||
2565 | + if (frame.hard_fp_save_and_probe != INVALID_REGNUM) | ||
2566 | + bitmap_clear_bit (components, frame.hard_fp_save_and_probe); | ||
2567 | + } | ||
2568 | |||
2569 | return components; | ||
2570 | } | ||
2571 | @@ -9931,8 +9971,8 @@ aarch64_epilogue_uses (int regno) | ||
2572 | When probing is needed, we emit a probe at the start of the prologue | ||
2573 | and every PARAM_STACK_CLASH_PROTECTION_GUARD_SIZE bytes thereafter. | ||
2574 | |||
2575 | - We have to track how much space has been allocated and the only stores | ||
2576 | - to the stack we track as implicit probes are the FP/LR stores. | ||
2577 | + We can also use register saves as probes. These are stored in | ||
2578 | + sve_save_and_probe and hard_fp_save_and_probe. | ||
2579 | |||
2580 | For outgoing arguments we probe if the size is larger than 1KB, such that | ||
2581 | the ABI specified buffer is maintained for the next callee. | ||
2582 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
2583 | index c8becb098c8..fbfb73545ba 100644 | ||
2584 | --- a/gcc/config/aarch64/aarch64.h | ||
2585 | +++ b/gcc/config/aarch64/aarch64.h | ||
2586 | @@ -863,6 +863,14 @@ struct GTY (()) aarch64_frame | ||
2587 | This is the register they should use. */ | ||
2588 | unsigned spare_pred_reg; | ||
2589 | |||
2590 | + /* An SVE register that is saved below the hard frame pointer and that acts | ||
2591 | + as a probe for later allocations, or INVALID_REGNUM if none. */ | ||
2592 | + unsigned sve_save_and_probe; | ||
2593 | + | ||
2594 | + /* A register that is saved at the hard frame pointer and that acts | ||
2595 | + as a probe for later allocations, or INVALID_REGNUM if none. */ | ||
2596 | + unsigned hard_fp_save_and_probe; | ||
2597 | + | ||
2598 | bool laid_out; | ||
2599 | |||
2600 | /* True if shadow call stack should be enabled for the current function. */ | ||
2601 | diff --git a/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c b/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c | ||
2602 | index 3e01ec36c3a..3530a0d504b 100644 | ||
2603 | --- a/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c | ||
2604 | +++ b/gcc/testsuite/gcc.target/aarch64/sve/pcs/stack_clash_3.c | ||
2605 | @@ -11,11 +11,10 @@ | ||
2606 | ** mov x11, sp | ||
2607 | ** ... | ||
2608 | ** sub sp, sp, x13 | ||
2609 | -** str p4, \[sp\] | ||
2610 | ** cbz w0, [^\n]* | ||
2611 | +** str p4, \[sp\] | ||
2612 | ** ... | ||
2613 | ** ptrue p0\.b, all | ||
2614 | -** ldr p4, \[sp\] | ||
2615 | ** addvl sp, sp, #1 | ||
2616 | ** ldr x24, \[sp\], 32 | ||
2617 | ** ret | ||
2618 | @@ -39,13 +38,12 @@ test_1 (int n) | ||
2619 | ** mov x11, sp | ||
2620 | ** ... | ||
2621 | ** sub sp, sp, x13 | ||
2622 | -** str p4, \[sp\] | ||
2623 | ** cbz w0, [^\n]* | ||
2624 | +** str p4, \[sp\] | ||
2625 | ** str p5, \[sp, #1, mul vl\] | ||
2626 | ** str p6, \[sp, #2, mul vl\] | ||
2627 | ** ... | ||
2628 | ** ptrue p0\.b, all | ||
2629 | -** ldr p4, \[sp\] | ||
2630 | ** addvl sp, sp, #1 | ||
2631 | ** ldr x24, \[sp\], 32 | ||
2632 | ** ret | ||
2633 | -- | ||
2634 | 2.34.1 | ||
2635 | |||
2636 | |||
2637 | From 56df065080950bb30dda9c260f71be54269bdda5 Mon Sep 17 00:00:00 2001 | ||
2638 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
2639 | Date: Tue, 12 Sep 2023 16:07:20 +0100 | ||
2640 | Subject: [PATCH 18/19] aarch64: Remove below_hard_fp_saved_regs_size | ||
2641 | |||
2642 | After previous patches, it's no longer necessary to store | ||
2643 | saved_regs_size and below_hard_fp_saved_regs_size in the frame info. | ||
2644 | All measurements instead use the top or bottom of the frame as | ||
2645 | reference points. | ||
2646 | |||
2647 | gcc/ | ||
2648 | * config/aarch64/aarch64.h (aarch64_frame::saved_regs_size) | ||
2649 | (aarch64_frame::below_hard_fp_saved_regs_size): Delete. | ||
2650 | * config/aarch64/aarch64.cc (aarch64_layout_frame): Update accordingly. | ||
2651 | --- | ||
2652 | gcc/config/aarch64/aarch64.cc | 45 ++++++++++++++++------------------- | ||
2653 | gcc/config/aarch64/aarch64.h | 7 ------ | ||
2654 | 2 files changed, 21 insertions(+), 31 deletions(-) | ||
2655 | |||
2656 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
2657 | index 6c59c39a639..b95e805a8cc 100644 | ||
2658 | --- a/gcc/config/aarch64/aarch64.cc | ||
2659 | +++ b/gcc/config/aarch64/aarch64.cc | ||
2660 | @@ -8530,9 +8530,8 @@ aarch64_layout_frame (void) | ||
2661 | |||
2662 | /* OFFSET is now the offset of the hard frame pointer from the bottom | ||
2663 | of the callee save area. */ | ||
2664 | - frame.below_hard_fp_saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
2665 | - bool saves_below_hard_fp_p | ||
2666 | - = maybe_ne (frame.below_hard_fp_saved_regs_size, 0); | ||
2667 | + auto below_hard_fp_saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
2668 | + bool saves_below_hard_fp_p = maybe_ne (below_hard_fp_saved_regs_size, 0); | ||
2669 | gcc_assert (!saves_below_hard_fp_p | ||
2670 | || (frame.sve_save_and_probe != INVALID_REGNUM | ||
2671 | && known_eq (frame.reg_offset[frame.sve_save_and_probe], | ||
2672 | @@ -8602,9 +8601,8 @@ aarch64_layout_frame (void) | ||
2673 | |||
2674 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2675 | |||
2676 | - frame.saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
2677 | - gcc_assert (known_eq (frame.saved_regs_size, | ||
2678 | - frame.below_hard_fp_saved_regs_size) | ||
2679 | + auto saved_regs_size = offset - frame.bytes_below_saved_regs; | ||
2680 | + gcc_assert (known_eq (saved_regs_size, below_hard_fp_saved_regs_size) | ||
2681 | || (frame.hard_fp_save_and_probe != INVALID_REGNUM | ||
2682 | && known_eq (frame.reg_offset[frame.hard_fp_save_and_probe], | ||
2683 | frame.bytes_below_hard_fp))); | ||
2684 | @@ -8613,7 +8611,7 @@ aarch64_layout_frame (void) | ||
2685 | The saving of the bottommost register counts as an implicit probe, | ||
2686 | which allows us to maintain the invariant described in the comment | ||
2687 | at expand_prologue. */ | ||
2688 | - gcc_assert (crtl->is_leaf || maybe_ne (frame.saved_regs_size, 0)); | ||
2689 | + gcc_assert (crtl->is_leaf || maybe_ne (saved_regs_size, 0)); | ||
2690 | |||
2691 | offset += get_frame_size (); | ||
2692 | offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2693 | @@ -8670,7 +8668,7 @@ aarch64_layout_frame (void) | ||
2694 | |||
2695 | HOST_WIDE_INT const_size, const_below_saved_regs, const_above_fp; | ||
2696 | HOST_WIDE_INT const_saved_regs_size; | ||
2697 | - if (known_eq (frame.saved_regs_size, 0)) | ||
2698 | + if (known_eq (saved_regs_size, 0)) | ||
2699 | frame.initial_adjust = frame.frame_size; | ||
2700 | else if (frame.frame_size.is_constant (&const_size) | ||
2701 | && const_size < max_push_offset | ||
2702 | @@ -8683,7 +8681,7 @@ aarch64_layout_frame (void) | ||
2703 | frame.callee_adjust = const_size; | ||
2704 | } | ||
2705 | else if (frame.bytes_below_saved_regs.is_constant (&const_below_saved_regs) | ||
2706 | - && frame.saved_regs_size.is_constant (&const_saved_regs_size) | ||
2707 | + && saved_regs_size.is_constant (&const_saved_regs_size) | ||
2708 | && const_below_saved_regs + const_saved_regs_size < 512 | ||
2709 | /* We could handle this case even with data below the saved | ||
2710 | registers, provided that that data left us with valid offsets | ||
2711 | @@ -8702,8 +8700,7 @@ aarch64_layout_frame (void) | ||
2712 | frame.initial_adjust = frame.frame_size; | ||
2713 | } | ||
2714 | else if (saves_below_hard_fp_p | ||
2715 | - && known_eq (frame.saved_regs_size, | ||
2716 | - frame.below_hard_fp_saved_regs_size)) | ||
2717 | + && known_eq (saved_regs_size, below_hard_fp_saved_regs_size)) | ||
2718 | { | ||
2719 | /* Frame in which all saves are SVE saves: | ||
2720 | |||
2721 | @@ -8725,7 +8722,7 @@ aarch64_layout_frame (void) | ||
2722 | [save SVE registers relative to SP] | ||
2723 | sub sp, sp, bytes_below_saved_regs */ | ||
2724 | frame.callee_adjust = const_above_fp; | ||
2725 | - frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; | ||
2726 | + frame.sve_callee_adjust = below_hard_fp_saved_regs_size; | ||
2727 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
2728 | } | ||
2729 | else | ||
2730 | @@ -8740,7 +8737,7 @@ aarch64_layout_frame (void) | ||
2731 | [save SVE registers relative to SP] | ||
2732 | sub sp, sp, bytes_below_saved_regs */ | ||
2733 | frame.initial_adjust = frame.bytes_above_hard_fp; | ||
2734 | - frame.sve_callee_adjust = frame.below_hard_fp_saved_regs_size; | ||
2735 | + frame.sve_callee_adjust = below_hard_fp_saved_regs_size; | ||
2736 | frame.final_adjust = frame.bytes_below_saved_regs; | ||
2737 | } | ||
2738 | |||
2739 | @@ -9936,17 +9933,17 @@ aarch64_epilogue_uses (int regno) | ||
2740 | | local variables | <-- frame_pointer_rtx | ||
2741 | | | | ||
2742 | +-------------------------------+ | ||
2743 | - | padding | \ | ||
2744 | - +-------------------------------+ | | ||
2745 | - | callee-saved registers | | frame.saved_regs_size | ||
2746 | - +-------------------------------+ | | ||
2747 | - | LR' | | | ||
2748 | - +-------------------------------+ | | ||
2749 | - | FP' | | | ||
2750 | - +-------------------------------+ |<- hard_frame_pointer_rtx (aligned) | ||
2751 | - | SVE vector registers | | \ | ||
2752 | - +-------------------------------+ | | below_hard_fp_saved_regs_size | ||
2753 | - | SVE predicate registers | / / | ||
2754 | + | padding | | ||
2755 | + +-------------------------------+ | ||
2756 | + | callee-saved registers | | ||
2757 | + +-------------------------------+ | ||
2758 | + | LR' | | ||
2759 | + +-------------------------------+ | ||
2760 | + | FP' | | ||
2761 | + +-------------------------------+ <-- hard_frame_pointer_rtx (aligned) | ||
2762 | + | SVE vector registers | | ||
2763 | + +-------------------------------+ | ||
2764 | + | SVE predicate registers | | ||
2765 | +-------------------------------+ | ||
2766 | | dynamic allocation | | ||
2767 | +-------------------------------+ | ||
2768 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | ||
2769 | index fbfb73545ba..cfeaf4657ab 100644 | ||
2770 | --- a/gcc/config/aarch64/aarch64.h | ||
2771 | +++ b/gcc/config/aarch64/aarch64.h | ||
2772 | @@ -777,18 +777,11 @@ struct GTY (()) aarch64_frame | ||
2773 | STACK_BOUNDARY. */ | ||
2774 | HOST_WIDE_INT saved_varargs_size; | ||
2775 | |||
2776 | - /* The size of the callee-save registers with a slot in REG_OFFSET. */ | ||
2777 | - poly_int64 saved_regs_size; | ||
2778 | - | ||
2779 | /* The number of bytes between the bottom of the static frame (the bottom | ||
2780 | of the outgoing arguments) and the bottom of the register save area. | ||
2781 | This value is always a multiple of STACK_BOUNDARY. */ | ||
2782 | poly_int64 bytes_below_saved_regs; | ||
2783 | |||
2784 | - /* The size of the callee-save registers with a slot in REG_OFFSET that | ||
2785 | - are saved below the hard frame pointer. */ | ||
2786 | - poly_int64 below_hard_fp_saved_regs_size; | ||
2787 | - | ||
2788 | /* The number of bytes between the bottom of the static frame (the bottom | ||
2789 | of the outgoing arguments) and the hard frame pointer. This value is | ||
2790 | always a multiple of STACK_BOUNDARY. */ | ||
2791 | -- | ||
2792 | 2.34.1 | ||
2793 | |||
2794 | |||
2795 | From b96e66fd4ef3e36983969fb8cdd1956f551a074b Mon Sep 17 00:00:00 2001 | ||
2796 | From: Richard Sandiford <richard.sandiford@arm.com> | ||
2797 | Date: Tue, 12 Sep 2023 16:07:21 +0100 | ||
2798 | Subject: [PATCH 19/19] aarch64: Make stack smash canary protect saved | ||
2799 | registers | ||
2800 | |||
2801 | AArch64 normally puts the saved registers near the bottom of the frame, | ||
2802 | immediately above any dynamic allocations. But this means that a | ||
2803 | stack-smash attack on those dynamic allocations could overwrite the | ||
2804 | saved registers without needing to reach as far as the stack smash | ||
2805 | canary. | ||
2806 | |||
2807 | The same thing could also happen for variable-sized arguments that are | ||
2808 | passed by value, since those are allocated before a call and popped on | ||
2809 | return. | ||
2810 | |||
2811 | This patch avoids that by putting the locals (and thus the canary) below | ||
2812 | the saved registers when stack smash protection is active. | ||
2813 | |||
2814 | The patch fixes CVE-2023-4039. | ||
2815 | |||
2816 | gcc/ | ||
2817 | * config/aarch64/aarch64.cc (aarch64_save_regs_above_locals_p): | ||
2818 | New function. | ||
2819 | (aarch64_layout_frame): Use it to decide whether locals should | ||
2820 | go above or below the saved registers. | ||
2821 | (aarch64_expand_prologue): Update stack layout comment. | ||
2822 | Emit a stack tie after the final adjustment. | ||
2823 | |||
2824 | gcc/testsuite/ | ||
2825 | * gcc.target/aarch64/stack-protector-8.c: New test. | ||
2826 | * gcc.target/aarch64/stack-protector-9.c: Likewise. | ||
2827 | --- | ||
2828 | gcc/config/aarch64/aarch64.cc | 46 +++++++-- | ||
2829 | .../gcc.target/aarch64/stack-protector-8.c | 95 +++++++++++++++++++ | ||
2830 | .../gcc.target/aarch64/stack-protector-9.c | 33 +++++++ | ||
2831 | 3 files changed, 168 insertions(+), 6 deletions(-) | ||
2832 | create mode 100644 gcc/testsuite/gcc.target/aarch64/stack-protector-8.c | ||
2833 | create mode 100644 gcc/testsuite/gcc.target/aarch64/stack-protector-9.c | ||
2834 | |||
2835 | diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc | ||
2836 | index b95e805a8cc..389c0e29353 100644 | ||
2837 | --- a/gcc/config/aarch64/aarch64.cc | ||
2838 | +++ b/gcc/config/aarch64/aarch64.cc | ||
2839 | @@ -8394,6 +8394,20 @@ aarch64_needs_frame_chain (void) | ||
2840 | return aarch64_use_frame_pointer; | ||
2841 | } | ||
2842 | |||
2843 | +/* Return true if the current function should save registers above | ||
2844 | + the locals area, rather than below it. */ | ||
2845 | + | ||
2846 | +static bool | ||
2847 | +aarch64_save_regs_above_locals_p () | ||
2848 | +{ | ||
2849 | + /* When using stack smash protection, make sure that the canary slot | ||
2850 | + comes between the locals and the saved registers. Otherwise, | ||
2851 | + it would be possible for a carefully sized smash attack to change | ||
2852 | + the saved registers (particularly LR and FP) without reaching the | ||
2853 | + canary. */ | ||
2854 | + return crtl->stack_protect_guard; | ||
2855 | +} | ||
2856 | + | ||
2857 | /* Mark the registers that need to be saved by the callee and calculate | ||
2858 | the size of the callee-saved registers area and frame record (both FP | ||
2859 | and LR may be omitted). */ | ||
2860 | @@ -8405,6 +8419,7 @@ aarch64_layout_frame (void) | ||
2861 | poly_int64 vector_save_size = GET_MODE_SIZE (vector_save_mode); | ||
2862 | bool frame_related_fp_reg_p = false; | ||
2863 | aarch64_frame &frame = cfun->machine->frame; | ||
2864 | + poly_int64 top_of_locals = -1; | ||
2865 | |||
2866 | frame.emit_frame_chain = aarch64_needs_frame_chain (); | ||
2867 | |||
2868 | @@ -8471,9 +8486,16 @@ aarch64_layout_frame (void) | ||
2869 | && !crtl->abi->clobbers_full_reg_p (regno)) | ||
2870 | frame.reg_offset[regno] = SLOT_REQUIRED; | ||
2871 | |||
2872 | + bool regs_at_top_p = aarch64_save_regs_above_locals_p (); | ||
2873 | |||
2874 | poly_int64 offset = crtl->outgoing_args_size; | ||
2875 | gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); | ||
2876 | + if (regs_at_top_p) | ||
2877 | + { | ||
2878 | + offset += get_frame_size (); | ||
2879 | + offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2880 | + top_of_locals = offset; | ||
2881 | + } | ||
2882 | frame.bytes_below_saved_regs = offset; | ||
2883 | frame.sve_save_and_probe = INVALID_REGNUM; | ||
2884 | |||
2885 | @@ -8613,15 +8635,18 @@ aarch64_layout_frame (void) | ||
2886 | at expand_prologue. */ | ||
2887 | gcc_assert (crtl->is_leaf || maybe_ne (saved_regs_size, 0)); | ||
2888 | |||
2889 | - offset += get_frame_size (); | ||
2890 | - offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2891 | - auto top_of_locals = offset; | ||
2892 | - | ||
2893 | + if (!regs_at_top_p) | ||
2894 | + { | ||
2895 | + offset += get_frame_size (); | ||
2896 | + offset = aligned_upper_bound (offset, STACK_BOUNDARY / BITS_PER_UNIT); | ||
2897 | + top_of_locals = offset; | ||
2898 | + } | ||
2899 | offset += frame.saved_varargs_size; | ||
2900 | gcc_assert (multiple_p (offset, STACK_BOUNDARY / BITS_PER_UNIT)); | ||
2901 | frame.frame_size = offset; | ||
2902 | |||
2903 | frame.bytes_above_hard_fp = frame.frame_size - frame.bytes_below_hard_fp; | ||
2904 | + gcc_assert (known_ge (top_of_locals, 0)); | ||
2905 | frame.bytes_above_locals = frame.frame_size - top_of_locals; | ||
2906 | |||
2907 | frame.initial_adjust = 0; | ||
2908 | @@ -9930,10 +9955,10 @@ aarch64_epilogue_uses (int regno) | ||
2909 | | for register varargs | | ||
2910 | | | | ||
2911 | +-------------------------------+ | ||
2912 | - | local variables | <-- frame_pointer_rtx | ||
2913 | + | local variables (1) | <-- frame_pointer_rtx | ||
2914 | | | | ||
2915 | +-------------------------------+ | ||
2916 | - | padding | | ||
2917 | + | padding (1) | | ||
2918 | +-------------------------------+ | ||
2919 | | callee-saved registers | | ||
2920 | +-------------------------------+ | ||
2921 | @@ -9945,6 +9970,10 @@ aarch64_epilogue_uses (int regno) | ||
2922 | +-------------------------------+ | ||
2923 | | SVE predicate registers | | ||
2924 | +-------------------------------+ | ||
2925 | + | local variables (2) | | ||
2926 | + +-------------------------------+ | ||
2927 | + | padding (2) | | ||
2928 | + +-------------------------------+ | ||
2929 | | dynamic allocation | | ||
2930 | +-------------------------------+ | ||
2931 | | padding | | ||
2932 | @@ -9954,6 +9983,9 @@ aarch64_epilogue_uses (int regno) | ||
2933 | +-------------------------------+ | ||
2934 | | | <-- stack_pointer_rtx (aligned) | ||
2935 | |||
2936 | + The regions marked (1) and (2) are mutually exclusive. (2) is used | ||
2937 | + when aarch64_save_regs_above_locals_p is true. | ||
2938 | + | ||
2939 | Dynamic stack allocations via alloca() decrease stack_pointer_rtx | ||
2940 | but leave frame_pointer_rtx and hard_frame_pointer_rtx | ||
2941 | unchanged. | ||
2942 | @@ -10149,6 +10181,8 @@ aarch64_expand_prologue (void) | ||
2943 | gcc_assert (known_eq (bytes_below_sp, final_adjust)); | ||
2944 | aarch64_allocate_and_probe_stack_space (tmp1_rtx, tmp0_rtx, final_adjust, | ||
2945 | !frame_pointer_needed, true); | ||
2946 | + if (emit_frame_chain && maybe_ne (final_adjust, 0)) | ||
2947 | + emit_insn (gen_stack_tie (stack_pointer_rtx, hard_frame_pointer_rtx)); | ||
2948 | } | ||
2949 | |||
2950 | /* Return TRUE if we can use a simple_return insn. | ||
2951 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c b/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c | ||
2952 | new file mode 100644 | ||
2953 | index 00000000000..e71d820e365 | ||
2954 | --- /dev/null | ||
2955 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-protector-8.c | ||
2956 | @@ -0,0 +1,95 @@ | ||
2957 | +/* { dg-options " -O -fstack-protector-strong -mstack-protector-guard=sysreg -mstack-protector-guard-reg=tpidr2_el0 -mstack-protector-guard-offset=16" } */ | ||
2958 | +/* { dg-final { check-function-bodies "**" "" } } */ | ||
2959 | + | ||
2960 | +void g(void *); | ||
2961 | +__SVBool_t *h(void *); | ||
2962 | + | ||
2963 | +/* | ||
2964 | +** test1: | ||
2965 | +** sub sp, sp, #288 | ||
2966 | +** stp x29, x30, \[sp, #?272\] | ||
2967 | +** add x29, sp, #?272 | ||
2968 | +** mrs (x[0-9]+), tpidr2_el0 | ||
2969 | +** ldr (x[0-9]+), \[\1, #?16\] | ||
2970 | +** str \2, \[sp, #?264\] | ||
2971 | +** mov \2, #?0 | ||
2972 | +** add x0, sp, #?8 | ||
2973 | +** bl g | ||
2974 | +** ... | ||
2975 | +** mrs .* | ||
2976 | +** ... | ||
2977 | +** bne .* | ||
2978 | +** ... | ||
2979 | +** ldp x29, x30, \[sp, #?272\] | ||
2980 | +** add sp, sp, #?288 | ||
2981 | +** ret | ||
2982 | +** bl __stack_chk_fail | ||
2983 | +*/ | ||
2984 | +int test1() { | ||
2985 | + int y[0x40]; | ||
2986 | + g(y); | ||
2987 | + return 1; | ||
2988 | +} | ||
2989 | + | ||
2990 | +/* | ||
2991 | +** test2: | ||
2992 | +** stp x29, x30, \[sp, #?-16\]! | ||
2993 | +** mov x29, sp | ||
2994 | +** sub sp, sp, #1040 | ||
2995 | +** mrs (x[0-9]+), tpidr2_el0 | ||
2996 | +** ldr (x[0-9]+), \[\1, #?16\] | ||
2997 | +** str \2, \[sp, #?1032\] | ||
2998 | +** mov \2, #?0 | ||
2999 | +** add x0, sp, #?8 | ||
3000 | +** bl g | ||
3001 | +** ... | ||
3002 | +** mrs .* | ||
3003 | +** ... | ||
3004 | +** bne .* | ||
3005 | +** ... | ||
3006 | +** add sp, sp, #?1040 | ||
3007 | +** ldp x29, x30, \[sp\], #?16 | ||
3008 | +** ret | ||
3009 | +** bl __stack_chk_fail | ||
3010 | +*/ | ||
3011 | +int test2() { | ||
3012 | + int y[0x100]; | ||
3013 | + g(y); | ||
3014 | + return 1; | ||
3015 | +} | ||
3016 | + | ||
3017 | +#pragma GCC target "+sve" | ||
3018 | + | ||
3019 | +/* | ||
3020 | +** test3: | ||
3021 | +** stp x29, x30, \[sp, #?-16\]! | ||
3022 | +** mov x29, sp | ||
3023 | +** addvl sp, sp, #-18 | ||
3024 | +** ... | ||
3025 | +** str p4, \[sp\] | ||
3026 | +** ... | ||
3027 | +** sub sp, sp, #272 | ||
3028 | +** mrs (x[0-9]+), tpidr2_el0 | ||
3029 | +** ldr (x[0-9]+), \[\1, #?16\] | ||
3030 | +** str \2, \[sp, #?264\] | ||
3031 | +** mov \2, #?0 | ||
3032 | +** add x0, sp, #?8 | ||
3033 | +** bl h | ||
3034 | +** ... | ||
3035 | +** mrs .* | ||
3036 | +** ... | ||
3037 | +** bne .* | ||
3038 | +** ... | ||
3039 | +** add sp, sp, #?272 | ||
3040 | +** ... | ||
3041 | +** ldr p4, \[sp\] | ||
3042 | +** ... | ||
3043 | +** addvl sp, sp, #18 | ||
3044 | +** ldp x29, x30, \[sp\], #?16 | ||
3045 | +** ret | ||
3046 | +** bl __stack_chk_fail | ||
3047 | +*/ | ||
3048 | +__SVBool_t test3() { | ||
3049 | + int y[0x40]; | ||
3050 | + return *h(y); | ||
3051 | +} | ||
3052 | diff --git a/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c b/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c | ||
3053 | new file mode 100644 | ||
3054 | index 00000000000..58f322aa480 | ||
3055 | --- /dev/null | ||
3056 | +++ b/gcc/testsuite/gcc.target/aarch64/stack-protector-9.c | ||
3057 | @@ -0,0 +1,33 @@ | ||
3058 | +/* { dg-options "-O2 -mcpu=neoverse-v1 -fstack-protector-all" } */ | ||
3059 | +/* { dg-final { check-function-bodies "**" "" } } */ | ||
3060 | + | ||
3061 | +/* | ||
3062 | +** main: | ||
3063 | +** ... | ||
3064 | +** stp x29, x30, \[sp, #?-[0-9]+\]! | ||
3065 | +** ... | ||
3066 | +** sub sp, sp, #[0-9]+ | ||
3067 | +** ... | ||
3068 | +** str x[0-9]+, \[x29, #?-8\] | ||
3069 | +** ... | ||
3070 | +*/ | ||
3071 | +int f(const char *); | ||
3072 | +void g(void *); | ||
3073 | +int main(int argc, char* argv[]) | ||
3074 | +{ | ||
3075 | + int a; | ||
3076 | + int b; | ||
3077 | + char c[2+f(argv[1])]; | ||
3078 | + int d[0x100]; | ||
3079 | + char y; | ||
3080 | + | ||
3081 | + y=42; a=4; b=10; | ||
3082 | + c[0] = 'h'; c[1] = '\0'; | ||
3083 | + | ||
3084 | + c[f(argv[2])] = '\0'; | ||
3085 | + | ||
3086 | + __builtin_printf("%d %d\n%s\n", a, b, c); | ||
3087 | + g(d); | ||
3088 | + | ||
3089 | + return 0; | ||
3090 | +} | ||
3091 | -- | ||
3092 | 2.34.1 | ||
3093 | |||
diff --git a/meta/recipes-devtools/gcc/gcc_13.2.bb b/meta/recipes-devtools/gcc/gcc_14.1.bb index 255fe552bd..255fe552bd 100644 --- a/meta/recipes-devtools/gcc/gcc_13.2.bb +++ b/meta/recipes-devtools/gcc/gcc_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_13.2.bb b/meta/recipes-devtools/gcc/libgcc-initial_14.1.bb index a259082b47..a259082b47 100644 --- a/meta/recipes-devtools/gcc/libgcc-initial_13.2.bb +++ b/meta/recipes-devtools/gcc/libgcc-initial_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/libgcc_13.2.bb b/meta/recipes-devtools/gcc/libgcc_14.1.bb index fdcd6cc0da..fdcd6cc0da 100644 --- a/meta/recipes-devtools/gcc/libgcc_13.2.bb +++ b/meta/recipes-devtools/gcc/libgcc_14.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/libgfortran_13.2.bb b/meta/recipes-devtools/gcc/libgfortran_14.1.bb index 71dd8b4bdc..71dd8b4bdc 100644 --- a/meta/recipes-devtools/gcc/libgfortran_13.2.bb +++ b/meta/recipes-devtools/gcc/libgfortran_14.1.bb | |||
diff --git a/meta/recipes-devtools/git/git_2.44.0.bb b/meta/recipes-devtools/git/git_2.44.0.bb index 90e555eba7..78b00dd19f 100644 --- a/meta/recipes-devtools/git/git_2.44.0.bb +++ b/meta/recipes-devtools/git/git_2.44.0.bb | |||
@@ -40,6 +40,7 @@ EXTRA_OECONF = "--with-perl=${STAGING_BINDIR_NATIVE}/perl-native/perl \ | |||
40 | --without-iconv \ | 40 | --without-iconv \ |
41 | " | 41 | " |
42 | EXTRA_OECONF:append:class-nativesdk = " --with-gitconfig=/etc/gitconfig " | 42 | EXTRA_OECONF:append:class-nativesdk = " --with-gitconfig=/etc/gitconfig " |
43 | EXTRA_OECONF:append:class-native = " --with-gitconfig=/etc/gitconfig " | ||
43 | 44 | ||
44 | # Needs brokensep as this doesn't use automake | 45 | # Needs brokensep as this doesn't use automake |
45 | inherit autotools-brokensep perlnative bash-completion manpages | 46 | inherit autotools-brokensep perlnative bash-completion manpages |
diff --git a/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/meta/recipes-devtools/gnu-config/gnu-config_git.bb index f9d864b987..95a7d5485b 100644 --- a/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/meta/recipes-devtools/gnu-config/gnu-config_git.bb | |||
@@ -24,7 +24,7 @@ do_compile[noexec] = "1" | |||
24 | do_install () { | 24 | do_install () { |
25 | install -d ${D}${datadir}/gnu-config \ | 25 | install -d ${D}${datadir}/gnu-config \ |
26 | ${D}${bindir} | 26 | ${D}${bindir} |
27 | cat ${WORKDIR}/gnu-configize.in | \ | 27 | cat ${UNPACKDIR}/gnu-configize.in | \ |
28 | sed -e 's,@gnu-configdir@,${datadir}/gnu-config,g' \ | 28 | sed -e 's,@gnu-configdir@,${datadir}/gnu-config,g' \ |
29 | -e 's,@autom4te_perllibdir@,${datadir}/autoconf,g' > ${D}${bindir}/gnu-configize | 29 | -e 's,@autom4te_perllibdir@,${datadir}/autoconf,g' > ${D}${bindir}/gnu-configize |
30 | # In the native case we want the system perl as perl-native can't have built yet | 30 | # In the native case we want the system perl as perl-native can't have built yet |
diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc index 3f1e795dd9..413cf6d33f 100644 --- a/meta/recipes-devtools/go/go-runtime.inc +++ b/meta/recipes-devtools/go/go-runtime.inc | |||
@@ -15,7 +15,7 @@ export CGO_LDFLAGS = "${@ ' '.join(filter(lambda f: not f.startswith('-fdebug-pr | |||
15 | export GOCACHE = "${B}/.cache" | 15 | export GOCACHE = "${B}/.cache" |
16 | 16 | ||
17 | GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" | 17 | GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${LDFLAGS}" |
18 | GO_SHLIB_LDFLAGS ?= '-ldflags="--linkmode=external -extldflags '${GO_EXTLDFLAGS}'"' | 18 | GO_SHLIB_LDFLAGS ?= '-ldflags="-extldflags '${GO_EXTLDFLAGS}'"' |
19 | 19 | ||
20 | do_configure() { | 20 | do_configure() { |
21 | : | 21 | : |
diff --git a/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb b/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb index 1826c7a40e..dd1b257b10 100644 --- a/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb +++ b/meta/recipes-devtools/icecc-create-env/icecc-create-env_0.1.bb | |||
@@ -26,11 +26,12 @@ ICECC_DISABLED = "1" | |||
26 | PATCHTOOL = "patch" | 26 | PATCHTOOL = "patch" |
27 | SRC_URI = "file://icecc-create-env" | 27 | SRC_URI = "file://icecc-create-env" |
28 | 28 | ||
29 | S = "${WORKDIR}" | 29 | S = "${WORKDIR}/sources" |
30 | UNPACKDIR = "${S}" | ||
30 | 31 | ||
31 | do_install() { | 32 | do_install() { |
32 | install -d ${D}/${bindir} | 33 | install -d ${D}/${bindir} |
33 | install -m 0755 ${WORKDIR}/icecc-create-env ${D}/${bindir} | 34 | install -m 0755 ${S}/icecc-create-env ${D}/${bindir} |
34 | } | 35 | } |
35 | 36 | ||
36 | BBCLASSEXTEND = "native nativesdk" | 37 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb b/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb index 034a0047d7..d03d8adcb0 100644 --- a/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb +++ b/meta/recipes-devtools/icecc-toolchain/nativesdk-icecc-toolchain_0.1.bb | |||
@@ -3,7 +3,7 @@ | |||
3 | SUMMARY = "Generates Icecream toolchain for SDK" | 3 | SUMMARY = "Generates Icecream toolchain for SDK" |
4 | DESCRIPTION = "${SUMMARY}" | 4 | DESCRIPTION = "${SUMMARY}" |
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | LIC_FILES_CHKSUM = "file://${WORKDIR}/icecc-env.sh;beginline=2;endline=20;md5=dd6b68c1efed8a9fb04e409b3b287d47" | 6 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/icecc-env.sh;beginline=2;endline=20;md5=dd6b68c1efed8a9fb04e409b3b287d47" |
7 | 7 | ||
8 | INHIBIT_DEFAULT_DEPS = "1" | 8 | INHIBIT_DEFAULT_DEPS = "1" |
9 | 9 | ||
@@ -23,12 +23,12 @@ do_install() { | |||
23 | install -d ${D}${SDKPATHNATIVE}${datadir}/icecream/bin | 23 | install -d ${D}${SDKPATHNATIVE}${datadir}/icecream/bin |
24 | 24 | ||
25 | install -d ${D}${SDKPATHNATIVE}/environment-setup.d/ | 25 | install -d ${D}${SDKPATHNATIVE}/environment-setup.d/ |
26 | install -m 0644 ${WORKDIR}/icecc-env.sh ${D}${SDKPATHNATIVE}/environment-setup.d/ | 26 | install -m 0644 ${UNPACKDIR}/icecc-env.sh ${D}${SDKPATHNATIVE}/environment-setup.d/ |
27 | sed -i ${D}${SDKPATHNATIVE}/environment-setup.d/icecc-env.sh \ | 27 | sed -i ${D}${SDKPATHNATIVE}/environment-setup.d/icecc-env.sh \ |
28 | -e 's,@TOOLCHAIN_ENV@,${ENV_NAME},g' | 28 | -e 's,@TOOLCHAIN_ENV@,${ENV_NAME},g' |
29 | 29 | ||
30 | install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ | 30 | install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ |
31 | install -m 0755 ${WORKDIR}/icecc-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ | 31 | install -m 0755 ${UNPACKDIR}/icecc-setup.sh ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ |
32 | sed -i ${D}${SDKPATHNATIVE}/post-relocate-setup.d/icecc-setup.sh \ | 32 | sed -i ${D}${SDKPATHNATIVE}/post-relocate-setup.d/icecc-setup.sh \ |
33 | -e 's,@TOOLCHAIN_ENV@,${ENV_NAME},g' | 33 | -e 's,@TOOLCHAIN_ENV@,${ENV_NAME},g' |
34 | } | 34 | } |
diff --git a/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch b/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch index 48af6fc283..a5c53b6657 100644 --- a/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch +++ b/meta/recipes-devtools/llvm/llvm/0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 86940d87026432683fb6741cd8a34d3b9b18e40d Mon Sep 17 00:00:00 2001 | 1 | From 3b30a9bda88374e8f03bf96e972aee5bd214b98b Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex.kanavin@gmail.com> | 2 | From: Alexander Kanavin <alex.kanavin@gmail.com> |
3 | Date: Fri, 27 Nov 2020 10:11:08 +0000 | 3 | Date: Fri, 27 Nov 2020 10:11:08 +0000 |
4 | Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well | 4 | Subject: [PATCH] AsmMatcherEmitter: sort ClassInfo lists by name as well |
@@ -14,10 +14,10 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> | |||
14 | 1 file changed, 4 insertions(+), 1 deletion(-) | 14 | 1 file changed, 4 insertions(+), 1 deletion(-) |
15 | 15 | ||
16 | diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp | 16 | diff --git a/llvm/utils/TableGen/AsmMatcherEmitter.cpp b/llvm/utils/TableGen/AsmMatcherEmitter.cpp |
17 | index ccf0959389b..1f801e83b7d 100644 | 17 | index 73724e662f9e..1ca9c73415db 100644 |
18 | --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp | 18 | --- a/llvm/utils/TableGen/AsmMatcherEmitter.cpp |
19 | +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp | 19 | +++ b/llvm/utils/TableGen/AsmMatcherEmitter.cpp |
20 | @@ -359,7 +359,10 @@ public: | 20 | @@ -361,7 +361,10 @@ public: |
21 | // name of a class shouldn't be significant. However, some of the backends | 21 | // name of a class shouldn't be significant. However, some of the backends |
22 | // accidentally rely on this behaviour, so it will have to stay like this | 22 | // accidentally rely on this behaviour, so it will have to stay like this |
23 | // until they are fixed. | 23 | // until they are fixed. |
diff --git a/meta/recipes-devtools/llvm/llvm_git.bb b/meta/recipes-devtools/llvm/llvm_18.1.5.bb index c4fd73f2d7..9c80b46b60 100644 --- a/meta/recipes-devtools/llvm/llvm_git.bb +++ b/meta/recipes-devtools/llvm/llvm_18.1.5.bb | |||
@@ -13,27 +13,26 @@ DEPENDS = "libffi libxml2 zlib zstd libedit ninja-native llvm-native" | |||
13 | RDEPENDS:${PN}:append:class-target = " ncurses-terminfo" | 13 | RDEPENDS:${PN}:append:class-target = " ncurses-terminfo" |
14 | 14 | ||
15 | inherit cmake pkgconfig | 15 | inherit cmake pkgconfig |
16 | |||
17 | # could be 'rcX' or 'git' or empty ( for release ) | 16 | # could be 'rcX' or 'git' or empty ( for release ) |
18 | VER_SUFFIX = "" | 17 | VER_SUFFIX = "" |
19 | 18 | ||
20 | PV = "18.1.3${VER_SUFFIX}" | 19 | PV .= "${VER_SUFFIX}" |
21 | 20 | ||
22 | MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}" | 21 | MAJOR_VERSION = "${@oe.utils.trim_version("${PV}", 1)}" |
23 | 22 | ||
24 | LLVM_RELEASE = "${PV}" | 23 | LLVM_RELEASE = "${PV}" |
25 | 24 | ||
26 | BRANCH = "release/${MAJOR_VERSION}.x" | 25 | SRC_URI = "https://github.com/llvm/llvm-project/releases/download/llvmorg-${PV}/llvm-project-${PV}.src.tar.xz \ |
27 | SRCREV = "c13b7485b87909fcf739f62cfa382b55407433c0" | ||
28 | SRC_URI = "git://github.com/llvm/llvm-project.git;branch=${BRANCH};protocol=https \ | ||
29 | file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ | 26 | file://0007-llvm-allow-env-override-of-exe-path.patch;striplevel=2 \ |
30 | file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ | 27 | file://0001-AsmMatcherEmitter-sort-ClassInfo-lists-by-name-as-we.patch;striplevel=2 \ |
31 | file://llvm-config \ | 28 | file://llvm-config \ |
32 | " | 29 | " |
30 | SRC_URI[sha256sum] = "3591a52761a7d390ede51af01ea73abfecc4b1d16445f9d019b67a57edd7de56" | ||
33 | 31 | ||
34 | UPSTREAM_CHECK_GITTAGREGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)" | 32 | UPSTREAM_CHECK_URI = "https://github.com/llvm/llvm-project" |
33 | UPSTREAM_CHECK_REGEX = "llvmorg-(?P<pver>\d+(\.\d+)+)" | ||
35 | 34 | ||
36 | S = "${WORKDIR}/git/llvm" | 35 | S = "${WORKDIR}/llvm-project-${PV}.src/llvm" |
37 | 36 | ||
38 | LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" | 37 | LLVM_INSTALL_DIR = "${WORKDIR}/llvm-install" |
39 | 38 | ||
@@ -134,7 +133,7 @@ SYSROOT_PREPROCESS_FUNCS:append:class-target = " llvm_sysroot_preprocess" | |||
134 | 133 | ||
135 | llvm_sysroot_preprocess() { | 134 | llvm_sysroot_preprocess() { |
136 | install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ | 135 | install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}/ |
137 | install -m 0755 ${WORKDIR}/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ | 136 | install -m 0755 ${UNPACKDIR}/llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/ |
138 | ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} | 137 | ln -sf llvm-config ${SYSROOT_DESTDIR}${bindir_crossscripts}/llvm-config${PV} |
139 | } | 138 | } |
140 | 139 | ||
diff --git a/meta/recipes-devtools/lua/lua_5.4.6.bb b/meta/recipes-devtools/lua/lua_5.4.6.bb index eabfc89575..17dc8fb17d 100644 --- a/meta/recipes-devtools/lua/lua_5.4.6.bb +++ b/meta/recipes-devtools/lua/lua_5.4.6.bb | |||
@@ -44,14 +44,14 @@ do_install () { | |||
44 | install | 44 | install |
45 | install -d ${D}${libdir}/pkgconfig | 45 | install -d ${D}${libdir}/pkgconfig |
46 | 46 | ||
47 | sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${WORKDIR}/lua.pc.in > ${WORKDIR}/lua.pc | 47 | sed -e s/@VERSION@/${PV}/ -e s#@LIBDIR@#${libdir}# -e s#@INCLUDEDIR@#${includedir}# ${UNPACKDIR}/lua.pc.in > ${S}/lua.pc |
48 | install -m 0644 ${WORKDIR}/lua.pc ${D}${libdir}/pkgconfig/ | 48 | install -m 0644 ${S}/lua.pc ${D}${libdir}/pkgconfig/ |
49 | rmdir ${D}${datadir}/lua/5.4 | 49 | rmdir ${D}${datadir}/lua/5.4 |
50 | rmdir ${D}${datadir}/lua | 50 | rmdir ${D}${datadir}/lua |
51 | } | 51 | } |
52 | 52 | ||
53 | do_install_ptest () { | 53 | do_install_ptest () { |
54 | cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test | 54 | cp -R --no-dereference --preserve=mode,links -v ${UNPACKDIR}/lua-${PV_testsuites}-tests ${D}${PTEST_PATH}/test |
55 | } | 55 | } |
56 | 56 | ||
57 | do_install_ptest:append:libc-musl () { | 57 | do_install_ptest:append:libc-musl () { |
diff --git a/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb b/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb index 0d6c7a01eb..7b11093364 100644 --- a/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb +++ b/meta/recipes-devtools/makedevs/makedevs_1.0.1.bb | |||
@@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://makedevs.c;beginline=2;endline=2;md5=c3817b10013a3007 | |||
5 | SECTION = "base" | 5 | SECTION = "base" |
6 | SRC_URI = "file://makedevs.c" | 6 | SRC_URI = "file://makedevs.c" |
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | FILES:${PN}:append:class-nativesdk = " ${datadir}" | 11 | FILES:${PN}:append:class-nativesdk = " ${datadir}" |
11 | 12 | ||
diff --git a/meta/recipes-devtools/meson/meson_1.3.1.bb b/meta/recipes-devtools/meson/meson_1.3.1.bb index 9cc0cc31ab..5b0d82fe9f 100644 --- a/meta/recipes-devtools/meson/meson_1.3.1.bb +++ b/meta/recipes-devtools/meson/meson_1.3.1.bb | |||
@@ -86,7 +86,7 @@ ar = ${@meson_array('BUILD_AR', d)} | |||
86 | nm = ${@meson_array('BUILD_NM', d)} | 86 | nm = ${@meson_array('BUILD_NM', d)} |
87 | strip = ${@meson_array('BUILD_STRIP', d)} | 87 | strip = ${@meson_array('BUILD_STRIP', d)} |
88 | readelf = ${@meson_array('BUILD_READELF', d)} | 88 | readelf = ${@meson_array('BUILD_READELF', d)} |
89 | pkgconfig = 'pkg-config-native' | 89 | pkg-config = 'pkg-config-native' |
90 | 90 | ||
91 | [built-in options] | 91 | [built-in options] |
92 | c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}] | 92 | c_args = ['-isystem@{OECORE_NATIVE_SYSROOT}${includedir_native}' , ${@var_list2str('BUILD_OPTIMIZATION', d)}] |
@@ -104,7 +104,7 @@ cpp = @CXX | |||
104 | ar = @AR | 104 | ar = @AR |
105 | nm = @NM | 105 | nm = @NM |
106 | strip = @STRIP | 106 | strip = @STRIP |
107 | pkgconfig = 'pkg-config' | 107 | pkg-config = 'pkg-config' |
108 | 108 | ||
109 | [built-in options] | 109 | [built-in options] |
110 | c_args = @CFLAGS | 110 | c_args = @CFLAGS |
@@ -132,11 +132,11 @@ do_install:append:class-nativesdk() { | |||
132 | install_templates | 132 | install_templates |
133 | 133 | ||
134 | install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d | 134 | install -d ${D}${SDKPATHNATIVE}/post-relocate-setup.d |
135 | install -m 0755 ${WORKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ | 135 | install -m 0755 ${UNPACKDIR}/meson-setup.py ${D}${SDKPATHNATIVE}/post-relocate-setup.d/ |
136 | 136 | ||
137 | # We need to wrap the real meson with a thin env setup wrapper. | 137 | # We need to wrap the real meson with a thin env setup wrapper. |
138 | mv ${D}${bindir}/meson ${D}${bindir}/meson.real | 138 | mv ${D}${bindir}/meson ${D}${bindir}/meson.real |
139 | install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson | 139 | install -m 0755 ${UNPACKDIR}/meson-wrapper ${D}${bindir}/meson |
140 | } | 140 | } |
141 | 141 | ||
142 | FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}" | 142 | FILES:${PN}:append:class-nativesdk = "${datadir}/meson ${SDKPATHNATIVE}" |
@@ -149,10 +149,10 @@ do_install:append:class-native() { | |||
149 | install_templates | 149 | install_templates |
150 | 150 | ||
151 | install -d ${D}${datadir}/post-relocate-setup.d | 151 | install -d ${D}${datadir}/post-relocate-setup.d |
152 | install -m 0755 ${WORKDIR}/meson-setup.py ${D}${datadir}/post-relocate-setup.d/ | 152 | install -m 0755 ${UNPACKDIR}/meson-setup.py ${D}${datadir}/post-relocate-setup.d/ |
153 | 153 | ||
154 | # We need to wrap the real meson with a thin wrapper that substitues native/cross files | 154 | # We need to wrap the real meson with a thin wrapper that substitues native/cross files |
155 | # when running in a direct SDK environment. | 155 | # when running in a direct SDK environment. |
156 | mv ${D}${bindir}/meson ${D}${bindir}/meson.real | 156 | mv ${D}${bindir}/meson ${D}${bindir}/meson.real |
157 | install -m 0755 ${WORKDIR}/meson-wrapper ${D}${bindir}/meson | 157 | install -m 0755 ${UNPACKDIR}/meson-wrapper ${D}${bindir}/meson |
158 | } | 158 | } |
diff --git a/meta/recipes-devtools/mmc/mmc-utils_git.bb b/meta/recipes-devtools/mmc/mmc-utils_git.bb index a7e4d369ff..7c6be93a9c 100644 --- a/meta/recipes-devtools/mmc/mmc-utils_git.bb +++ b/meta/recipes-devtools/mmc/mmc-utils_git.bb | |||
@@ -5,7 +5,7 @@ LICENSE = "GPL-2.0-only" | |||
5 | LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d" | 5 | LIC_FILES_CHKSUM = "file://mmc.c;beginline=1;endline=20;md5=fae32792e20f4d27ade1c5a762d16b7d" |
6 | 6 | ||
7 | SRCBRANCH ?= "master" | 7 | SRCBRANCH ?= "master" |
8 | SRCREV = "b5ca140312d279ad2f22068fd72a6230eea13436" | 8 | SRCREV = "f757f413dea4a143ad7c3b48b8264176f0499a82" |
9 | 9 | ||
10 | PV = "0.1+git" | 10 | PV = "0.1+git" |
11 | 11 | ||
diff --git a/meta/recipes-devtools/ninja/ninja_1.11.1.bb b/meta/recipes-devtools/ninja/ninja_1.12.0.bb index 8e297ec4d4..ef7f80d0ae 100644 --- a/meta/recipes-devtools/ninja/ninja_1.11.1.bb +++ b/meta/recipes-devtools/ninja/ninja_1.12.0.bb | |||
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a81586a64ad4e476c791cda7e2f2c52e" | |||
6 | 6 | ||
7 | DEPENDS = "re2c-native ninja-native" | 7 | DEPENDS = "re2c-native ninja-native" |
8 | 8 | ||
9 | SRCREV = "a524bf3f6bacd1b4ad85d719eed2737d8562f27a" | 9 | SRCREV = "65d0dfcbbea6b8ca7d8a3a0f673ecb522379e43c" |
10 | 10 | ||
11 | SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" | 11 | SRC_URI = "git://github.com/ninja-build/ninja.git;branch=release;protocol=https" |
12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" | 12 | UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>.*)" |
diff --git a/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb b/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb index 726a259a8c..4db35c1092 100644 --- a/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb +++ b/meta/recipes-devtools/opkg/opkg-arch-config_1.0.bb | |||
@@ -3,7 +3,8 @@ HOMEPAGE = "https://git.yoctoproject.org/opkg/" | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 4 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
5 | 5 | ||
6 | S = "${WORKDIR}" | 6 | S = "${WORKDIR}/sources" |
7 | UNPACKDIR = "${S}" | ||
7 | 8 | ||
8 | do_compile() { | 9 | do_compile() { |
9 | mkdir -p ${S}/${sysconfdir}/opkg/ | 10 | mkdir -p ${S}/${sysconfdir}/opkg/ |
diff --git a/meta/recipes-devtools/opkg/opkg_0.6.3.bb b/meta/recipes-devtools/opkg/opkg_0.6.3.bb index 9592ffc5d6..ef7c4f3a72 100644 --- a/meta/recipes-devtools/opkg/opkg_0.6.3.bb +++ b/meta/recipes-devtools/opkg/opkg_0.6.3.bb | |||
@@ -47,7 +47,7 @@ EXTRA_OECONF:append:class-native = " --localstatedir=/${@os.path.relpath('${loca | |||
47 | 47 | ||
48 | do_install:append () { | 48 | do_install:append () { |
49 | install -d ${D}${sysconfdir}/opkg | 49 | install -d ${D}${sysconfdir}/opkg |
50 | install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf | 50 | install -m 0644 ${UNPACKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf |
51 | echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf | 51 | echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf |
52 | echo "option info_dir ${OPKGLIBDIR}/opkg/info" >>${D}${sysconfdir}/opkg/opkg.conf | 52 | echo "option info_dir ${OPKGLIBDIR}/opkg/info" >>${D}${sysconfdir}/opkg/opkg.conf |
53 | echo "option status_file ${OPKGLIBDIR}/opkg/status" >>${D}${sysconfdir}/opkg/opkg.conf | 53 | echo "option status_file ${OPKGLIBDIR}/opkg/status" >>${D}${sysconfdir}/opkg/opkg.conf |
diff --git a/meta/recipes-devtools/perl-cross/perlcross_1.5.2.bb b/meta/recipes-devtools/perl-cross/perlcross_1.5.2.bb index b41c182fad..48bda7e4b6 100644 --- a/meta/recipes-devtools/perl-cross/perlcross_1.5.2.bb +++ b/meta/recipes-devtools/perl-cross/perlcross_1.5.2.bb | |||
@@ -6,7 +6,7 @@ SECTION = "devel" | |||
6 | LICENSE = "Artistic-1.0 | GPL-1.0-or-later" | 6 | LICENSE = "Artistic-1.0 | GPL-1.0-or-later" |
7 | # README.md is taken from https://github.com/arsv/perl-cross/blob/master/README.md | 7 | # README.md is taken from https://github.com/arsv/perl-cross/blob/master/README.md |
8 | # but is not provided inside the release tarballs | 8 | # but is not provided inside the release tarballs |
9 | LIC_FILES_CHKSUM = "file://${WORKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b" | 9 | LIC_FILES_CHKSUM = "file://${UNPACKDIR}/README.md;md5=252fcce2026b765fee1ad74d2fb07a3b" |
10 | 10 | ||
11 | inherit allarch github-releases | 11 | inherit allarch github-releases |
12 | 12 | ||
diff --git a/meta/recipes-devtools/perl/perl_5.38.2.bb b/meta/recipes-devtools/perl/perl_5.38.2.bb index b6c9cda7ae..63909c242d 100644 --- a/meta/recipes-devtools/perl/perl_5.38.2.bb +++ b/meta/recipes-devtools/perl/perl_5.38.2.bb | |||
@@ -331,7 +331,7 @@ python split_perl_packages () { | |||
331 | d.setVar(d.expand("RDEPENDS:${PN}-modules"), ' '.join(packages)) | 331 | d.setVar(d.expand("RDEPENDS:${PN}-modules"), ' '.join(packages)) |
332 | 332 | ||
333 | # Read the pre-generated dependency file, and use it to set module dependecies | 333 | # Read the pre-generated dependency file, and use it to set module dependecies |
334 | for line in open(d.expand("${WORKDIR}") + '/perl-rdepends.txt').readlines(): | 334 | for line in open(d.getVar("UNPACKDIR") + '/perl-rdepends.txt').readlines(): |
335 | splitline = line.split() | 335 | splitline = line.split() |
336 | # Filter empty lines and comments | 336 | # Filter empty lines and comments |
337 | if len(splitline) == 0 or splitline[0].startswith("#"): | 337 | if len(splitline) == 0 or splitline[0].startswith("#"): |
diff --git a/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb b/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb index e98458ea55..5f4ef73d43 100644 --- a/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb +++ b/meta/recipes-devtools/pkgconf/pkgconf_2.2.0.bb | |||
@@ -29,18 +29,18 @@ EXTRA_OECONF += "--with-pkg-config-dir='${libdir}/pkgconfig:${datadir}/pkgconfig | |||
29 | do_install:append () { | 29 | do_install:append () { |
30 | # Install a wrapper which deals, as much as possible with pkgconf vs | 30 | # Install a wrapper which deals, as much as possible with pkgconf vs |
31 | # pkg-config compatibility issues. | 31 | # pkg-config compatibility issues. |
32 | install -m 0755 "${WORKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config" | 32 | install -m 0755 "${UNPACKDIR}/pkg-config-wrapper" "${D}${bindir}/pkg-config" |
33 | } | 33 | } |
34 | 34 | ||
35 | do_install:append:class-native () { | 35 | do_install:append:class-native () { |
36 | # Install a pkg-config-native wrapper that will use the native sysroot instead | 36 | # Install a pkg-config-native wrapper that will use the native sysroot instead |
37 | # of the MACHINE sysroot, for using pkg-config when building native tools. | 37 | # of the MACHINE sysroot, for using pkg-config when building native tools. |
38 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ | 38 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ |
39 | < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native | 39 | < ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native |
40 | install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native | 40 | install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native |
41 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ | 41 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ |
42 | -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ | 42 | -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ |
43 | < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk | 43 | < ${UNPACKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk |
44 | install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk | 44 | install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk |
45 | } | 45 | } |
46 | 46 | ||
diff --git a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb index 16e6c5b609..6f13d0177e 100644 --- a/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb +++ b/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb | |||
@@ -51,11 +51,11 @@ RPROVIDES:${PN} += "pkgconfig(pkg-config)" | |||
51 | do_install:append:class-native () { | 51 | do_install:append:class-native () { |
52 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ | 52 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ |
53 | -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ | 53 | -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ |
54 | < ${WORKDIR}/pkg-config-native.in > ${B}/pkg-config-native | 54 | < ${UNPACKDIR}/pkg-config-native.in > ${B}/pkg-config-native |
55 | install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native | 55 | install -m755 ${B}/pkg-config-native ${D}${bindir}/pkg-config-native |
56 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ | 56 | sed -e "s|@PATH_NATIVE@|${PKG_CONFIG_PATH}|" \ |
57 | -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ | 57 | -e "s|@LIBDIR_NATIVE@|${PKG_CONFIG_LIBDIR}|" \ |
58 | < ${WORKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk | 58 | < ${UNPACKDIR}/pkg-config-esdk.in > ${B}/pkg-config-esdk |
59 | install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk | 59 | install -m755 ${B}/pkg-config-esdk ${D}${bindir}/pkg-config-esdk |
60 | } | 60 | } |
61 | 61 | ||
diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 7e09b6d58c..36283ffa74 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc | |||
@@ -133,8 +133,8 @@ do_install:append:class-native () { | |||
133 | chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/` | 133 | chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/` |
134 | install -d ${D}${sysconfdir} | 134 | install -d ${D}${sysconfdir} |
135 | # The fallback files should never be modified | 135 | # The fallback files should never be modified |
136 | install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd | 136 | install -m 444 ${UNPACKDIR}/fallback-passwd ${D}${sysconfdir}/passwd |
137 | install -m 444 ${WORKDIR}/fallback-group ${D}${sysconfdir}/group | 137 | install -m 444 ${UNPACKDIR}/fallback-group ${D}${sysconfdir}/group |
138 | 138 | ||
139 | # Two native/nativesdk entries below are the same | 139 | # Two native/nativesdk entries below are the same |
140 | # If necessary install for the alternative machine arch. This is only | 140 | # If necessary install for the alternative machine arch. This is only |
diff --git a/meta/recipes-devtools/python/python-cython.inc b/meta/recipes-devtools/python/python-cython.inc index 2235aa9332..87a2e88a1a 100644 --- a/meta/recipes-devtools/python/python-cython.inc +++ b/meta/recipes-devtools/python/python-cython.inc | |||
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=61c3ee8961575861fa86c7e62bc9f69c" | |||
9 | PYPI_PACKAGE = "Cython" | 9 | PYPI_PACKAGE = "Cython" |
10 | BBCLASSEXTEND = "native nativesdk" | 10 | BBCLASSEXTEND = "native nativesdk" |
11 | 11 | ||
12 | SRC_URI[sha256sum] = "a2d354f059d1f055d34cfaa62c5b68bc78ac2ceab6407148d47fb508cf3ba4f3" | 12 | SRC_URI[sha256sum] = "dcc96739331fb854dcf503f94607576cfe8488066c61ca50dfd55836f132de99" |
13 | UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar" | 13 | UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar" |
14 | 14 | ||
15 | inherit pypi | 15 | inherit pypi |
diff --git a/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb b/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb index 93fa645f33..57b08b3700 100644 --- a/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb +++ b/meta/recipes-devtools/python/python3-bcrypt_4.1.2.bb | |||
@@ -33,5 +33,4 @@ RDEPENDS:${PN}:class-target += "\ | |||
33 | python3-cffi \ | 33 | python3-cffi \ |
34 | python3-ctypes \ | 34 | python3-ctypes \ |
35 | python3-shell \ | 35 | python3-shell \ |
36 | python3-six \ | ||
37 | " | 36 | " |
diff --git a/meta/recipes-devtools/python/python3-beartype_0.18.2.bb b/meta/recipes-devtools/python/python3-beartype_0.18.5.bb index 1b6ab6a42b..04fbd3139f 100644 --- a/meta/recipes-devtools/python/python3-beartype_0.18.2.bb +++ b/meta/recipes-devtools/python/python3-beartype_0.18.5.bb | |||
@@ -4,7 +4,7 @@ HOMEPAGE = "https://beartype.readthedocs.io" | |||
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e71f94261c1b39896cacacfeaf60560e" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e71f94261c1b39896cacacfeaf60560e" |
6 | 6 | ||
7 | SRC_URI[sha256sum] = "a6fbc0be9269889312388bfec6a9ddf41bf8fe31b68bcf9c8239db35cd38f411" | 7 | SRC_URI[sha256sum] = "264ddc2f1da9ec94ff639141fbe33d22e12a9f75aa863b83b7046ffff1381927" |
8 | 8 | ||
9 | inherit setuptools3 pypi | 9 | inherit setuptools3 pypi |
10 | 10 | ||
diff --git a/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb b/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb index 732f925d92..0300330c60 100644 --- a/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb +++ b/meta/recipes-devtools/python/python3-cryptography_42.0.5.bb | |||
@@ -49,7 +49,7 @@ RDEPENDS:${PN}-ptest += " \ | |||
49 | inherit ptest | 49 | inherit ptest |
50 | 50 | ||
51 | do_install_ptest() { | 51 | do_install_ptest() { |
52 | install -D ${WORKDIR}/check-memfree.py ${D}${PTEST_PATH}/ | 52 | install -D ${UNPACKDIR}/check-memfree.py ${D}${PTEST_PATH}/ |
53 | install -d ${D}${PTEST_PATH}/tests | 53 | install -d ${D}${PTEST_PATH}/tests |
54 | cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ | 54 | cp -rf ${S}/tests/* ${D}${PTEST_PATH}/tests/ |
55 | # remove test_x509.py as it needs benchmark and we don't | 55 | # remove test_x509.py as it needs benchmark and we don't |
diff --git a/meta/recipes-devtools/python/python3-cython_3.0.9.bb b/meta/recipes-devtools/python/python3-cython_3.0.10.bb index 07638d7ad7..07638d7ad7 100644 --- a/meta/recipes-devtools/python/python3-cython_3.0.9.bb +++ b/meta/recipes-devtools/python/python3-cython_3.0.10.bb | |||
diff --git a/meta/recipes-devtools/python/python3-dtschema_2024.2.bb b/meta/recipes-devtools/python/python3-dtschema_2024.4.bb index 0e911dfb3d..9583cd57b9 100644 --- a/meta/recipes-devtools/python/python3-dtschema_2024.2.bb +++ b/meta/recipes-devtools/python/python3-dtschema_2024.4.bb | |||
@@ -7,7 +7,7 @@ inherit pypi python_setuptools_build_meta | |||
7 | 7 | ||
8 | PYPI_PACKAGE = "dtschema" | 8 | PYPI_PACKAGE = "dtschema" |
9 | 9 | ||
10 | SRC_URI[sha256sum] = "df4e5afb35bda93894209d2465e87fb7103f1a95a05909ebcb594fc4cf4fdd1e" | 10 | SRC_URI[sha256sum] = "18dd1d34b4a5e451291e5444e9ceb4a6febc605871cdaef22673b6f80aa4a131" |
11 | 11 | ||
12 | DEPENDS += "python3-setuptools-scm-native" | 12 | DEPENDS += "python3-setuptools-scm-native" |
13 | RDEPENDS:${PN} += "\ | 13 | RDEPENDS:${PN} += "\ |
diff --git a/meta/recipes-devtools/python/python3-hatchling_1.22.4.bb b/meta/recipes-devtools/python/python3-hatchling_1.24.1.bb index d2f32d8b1a..fc8d953281 100644 --- a/meta/recipes-devtools/python/python3-hatchling_1.22.4.bb +++ b/meta/recipes-devtools/python/python3-hatchling_1.24.1.bb | |||
@@ -8,7 +8,7 @@ inherit pypi python_hatchling | |||
8 | DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native" | 8 | DEPENDS += "python3-pluggy-native python3-pathspec-native python3-packaging-native python3-editables-native python3-trove-classifiers-native" |
9 | DEPENDS:remove:class-native = "python3-hatchling-native" | 9 | DEPENDS:remove:class-native = "python3-hatchling-native" |
10 | 10 | ||
11 | SRC_URI[sha256sum] = "8a2dcec96d7fb848382ef5848e5ac43fdae641f35a08a3fab5116bd495f3416e" | 11 | SRC_URI[sha256sum] = "51f861891e98c4044eb455163a737e5d2328d7aa74890b182db2d80fee22a497" |
12 | 12 | ||
13 | do_compile:prepend() { | 13 | do_compile:prepend() { |
14 | export PYTHONPATH=src | 14 | export PYTHONPATH=src |
diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.99.4.bb b/meta/recipes-devtools/python/python3-hypothesis_6.100.1.bb index 64b8cf2c31..a689be9a1a 100644 --- a/meta/recipes-devtools/python/python3-hypothesis_6.99.4.bb +++ b/meta/recipes-devtools/python/python3-hypothesis_6.100.1.bb | |||
@@ -13,7 +13,7 @@ SRC_URI += " \ | |||
13 | file://test_rle.py \ | 13 | file://test_rle.py \ |
14 | " | 14 | " |
15 | 15 | ||
16 | SRC_URI[sha256sum] = "edc8f984dba5d1b69a6a4564246b7850fa7ec351d2b27c9e7a43c91deab8d45c" | 16 | SRC_URI[sha256sum] = "ebff09d7fa4f1fb6a855a812baf17e578b4481b7b70ec6d96496210d1a4c6c35" |
17 | 17 | ||
18 | RDEPENDS:${PN} += " \ | 18 | RDEPENDS:${PN} += " \ |
19 | python3-attrs \ | 19 | python3-attrs \ |
@@ -32,8 +32,8 @@ RDEPENDS:${PN}-ptest += " \ | |||
32 | 32 | ||
33 | do_install_ptest() { | 33 | do_install_ptest() { |
34 | install -d ${D}${PTEST_PATH}/examples | 34 | install -d ${D}${PTEST_PATH}/examples |
35 | install -m 0755 ${WORKDIR}/test_binary_search.py ${D}${PTEST_PATH}/examples/ | 35 | install -m 0755 ${UNPACKDIR}/test_binary_search.py ${D}${PTEST_PATH}/examples/ |
36 | install -m 0755 ${WORKDIR}/test_rle.py ${D}${PTEST_PATH}/examples/ | 36 | install -m 0755 ${UNPACKDIR}/test_rle.py ${D}${PTEST_PATH}/examples/ |
37 | } | 37 | } |
38 | 38 | ||
39 | BBCLASSEXTEND = "native nativesdk" | 39 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-devtools/python/python3-idna_3.6.bb b/meta/recipes-devtools/python/python3-idna_3.7.bb index 47c080cdf8..729aff1c46 100644 --- a/meta/recipes-devtools/python/python3-idna_3.6.bb +++ b/meta/recipes-devtools/python/python3-idna_3.7.bb | |||
@@ -1,9 +1,9 @@ | |||
1 | SUMMARY = "Internationalised Domain Names in Applications" | 1 | SUMMARY = "Internationalised Domain Names in Applications" |
2 | HOMEPAGE = "https://github.com/kjd/idna" | 2 | HOMEPAGE = "https://github.com/kjd/idna" |
3 | LICENSE = "BSD-3-Clause & Python-2.0 & Unicode-TOU" | 3 | LICENSE = "BSD-3-Clause & Python-2.0 & Unicode-TOU" |
4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dbec47b98e1469f6a104c82ff9698cee" | 4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=204c0612e40a4dd46012a78d02c80fb1" |
5 | 5 | ||
6 | SRC_URI[sha256sum] = "9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca" | 6 | SRC_URI[sha256sum] = "028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc" |
7 | 7 | ||
8 | inherit pypi python_flit_core | 8 | inherit pypi python_flit_core |
9 | 9 | ||
diff --git a/meta/recipes-devtools/python/python3-lxml_5.1.0.bb b/meta/recipes-devtools/python/python3-lxml_5.2.1.bb index 43719086f0..44a10505f3 100644 --- a/meta/recipes-devtools/python/python3-lxml_5.1.0.bb +++ b/meta/recipes-devtools/python/python3-lxml_5.2.1.bb | |||
@@ -18,7 +18,7 @@ LIC_FILES_CHKSUM = "file://LICENSES.txt;md5=e4c045ebad958ead4b48008f70838403 \ | |||
18 | 18 | ||
19 | DEPENDS += "libxml2 libxslt" | 19 | DEPENDS += "libxml2 libxslt" |
20 | 20 | ||
21 | SRC_URI[sha256sum] = "3eea6ed6e6c918e468e693c41ef07f3c3acc310b70ddd9cc72d9ef84bc9564ca" | 21 | SRC_URI[sha256sum] = "3f7765e69bbce0906a7c74d5fe46d2c7a7596147318dbc08e4a2431f3060e306" |
22 | 22 | ||
23 | SRC_URI += "${PYPI_SRC_URI}" | 23 | SRC_URI += "${PYPI_SRC_URI}" |
24 | inherit pkgconfig pypi setuptools3 | 24 | inherit pkgconfig pypi setuptools3 |
diff --git a/meta/recipes-devtools/python/python3-mako_1.3.2.bb b/meta/recipes-devtools/python/python3-mako_1.3.3.bb index 5b7df9192f..7545cbef99 100644 --- a/meta/recipes-devtools/python/python3-mako_1.3.2.bb +++ b/meta/recipes-devtools/python/python3-mako_1.3.3.bb | |||
@@ -8,7 +8,7 @@ PYPI_PACKAGE = "Mako" | |||
8 | 8 | ||
9 | inherit pypi python_setuptools_build_meta | 9 | inherit pypi python_setuptools_build_meta |
10 | 10 | ||
11 | SRC_URI[sha256sum] = "2a0c8ad7f6274271b3bb7467dd37cf9cc6dab4bc19cb69a4ef10669402de698e" | 11 | SRC_URI[sha256sum] = "e16c01d9ab9c11f7290eef1cfefc093fb5a45ee4a3da09e2fec2e4d1bae54e73" |
12 | 12 | ||
13 | RDEPENDS:${PN} = "python3-html \ | 13 | RDEPENDS:${PN} = "python3-html \ |
14 | python3-markupsafe \ | 14 | python3-markupsafe \ |
diff --git a/meta/recipes-devtools/python/python3-maturin-crates.inc b/meta/recipes-devtools/python/python3-maturin-crates.inc index 3cb614d52a..ba207458ef 100644 --- a/meta/recipes-devtools/python/python3-maturin-crates.inc +++ b/meta/recipes-devtools/python/python3-maturin-crates.inc | |||
@@ -3,24 +3,22 @@ | |||
3 | # from Cargo.lock | 3 | # from Cargo.lock |
4 | SRC_URI += " \ | 4 | SRC_URI += " \ |
5 | crate://crates.io/adler/1.0.2 \ | 5 | crate://crates.io/adler/1.0.2 \ |
6 | crate://crates.io/ahash/0.8.6 \ | 6 | crate://crates.io/ahash/0.8.7 \ |
7 | crate://crates.io/aho-corasick/1.1.2 \ | 7 | crate://crates.io/aho-corasick/1.1.2 \ |
8 | crate://crates.io/allocator-api2/0.2.16 \ | 8 | crate://crates.io/allocator-api2/0.2.16 \ |
9 | crate://crates.io/anstream/0.3.2 \ | 9 | crate://crates.io/anstream/0.6.11 \ |
10 | crate://crates.io/anstream/0.6.4 \ | 10 | crate://crates.io/anstyle/1.0.4 \ |
11 | crate://crates.io/anstyle/1.0.2 \ | 11 | crate://crates.io/anstyle-parse/0.2.3 \ |
12 | crate://crates.io/anstyle-parse/0.2.1 \ | 12 | crate://crates.io/anstyle-query/1.0.2 \ |
13 | crate://crates.io/anstyle-query/1.0.0 \ | 13 | crate://crates.io/anstyle-wincon/3.0.2 \ |
14 | crate://crates.io/anstyle-wincon/1.0.2 \ | 14 | crate://crates.io/anyhow/1.0.80 \ |
15 | crate://crates.io/anstyle-wincon/3.0.1 \ | ||
16 | crate://crates.io/anyhow/1.0.75 \ | ||
17 | crate://crates.io/autocfg/1.1.0 \ | 15 | crate://crates.io/autocfg/1.1.0 \ |
18 | crate://crates.io/base64/0.13.1 \ | 16 | crate://crates.io/base64/0.13.1 \ |
19 | crate://crates.io/base64/0.21.5 \ | 17 | crate://crates.io/base64/0.21.7 \ |
20 | crate://crates.io/bitflags/1.3.2 \ | 18 | crate://crates.io/bitflags/1.3.2 \ |
21 | crate://crates.io/bitflags/2.4.1 \ | 19 | crate://crates.io/bitflags/2.4.2 \ |
22 | crate://crates.io/block-buffer/0.10.4 \ | 20 | crate://crates.io/block-buffer/0.10.4 \ |
23 | crate://crates.io/bstr/1.8.0 \ | 21 | crate://crates.io/bstr/1.9.0 \ |
24 | crate://crates.io/byteorder/1.5.0 \ | 22 | crate://crates.io/byteorder/1.5.0 \ |
25 | crate://crates.io/bytes/1.5.0 \ | 23 | crate://crates.io/bytes/1.5.0 \ |
26 | crate://crates.io/bytesize/1.3.0 \ | 24 | crate://crates.io/bytesize/1.3.0 \ |
@@ -28,42 +26,42 @@ SRC_URI += " \ | |||
28 | crate://crates.io/bzip2-sys/0.1.11+1.0.8 \ | 26 | crate://crates.io/bzip2-sys/0.1.11+1.0.8 \ |
29 | crate://crates.io/cab/0.4.1 \ | 27 | crate://crates.io/cab/0.4.1 \ |
30 | crate://crates.io/camino/1.1.6 \ | 28 | crate://crates.io/camino/1.1.6 \ |
31 | crate://crates.io/cargo-config2/0.1.16 \ | 29 | crate://crates.io/cargo-config2/0.1.19 \ |
32 | crate://crates.io/cargo-options/0.7.2 \ | 30 | crate://crates.io/cargo-options/0.7.2 \ |
33 | crate://crates.io/cargo-platform/0.1.5 \ | 31 | crate://crates.io/cargo-platform/0.1.6 \ |
34 | crate://crates.io/cargo-xwin/0.16.2 \ | 32 | crate://crates.io/cargo-xwin/0.16.4 \ |
35 | crate://crates.io/cargo-zigbuild/0.18.0 \ | 33 | crate://crates.io/cargo-zigbuild/0.18.3 \ |
36 | crate://crates.io/cargo_metadata/0.18.1 \ | 34 | crate://crates.io/cargo_metadata/0.18.1 \ |
37 | crate://crates.io/cbindgen/0.26.0 \ | 35 | crate://crates.io/cbindgen/0.26.0 \ |
38 | crate://crates.io/cc/1.0.83 \ | 36 | crate://crates.io/cc/1.0.88 \ |
39 | crate://crates.io/cfb/0.9.0 \ | 37 | crate://crates.io/cfb/0.9.0 \ |
40 | crate://crates.io/cfg-if/1.0.0 \ | 38 | crate://crates.io/cfg-if/1.0.0 \ |
41 | crate://crates.io/charset/0.1.3 \ | 39 | crate://crates.io/charset/0.1.3 \ |
42 | crate://crates.io/chumsky/0.9.3 \ | 40 | crate://crates.io/chumsky/0.9.3 \ |
43 | crate://crates.io/clap/4.3.24 \ | 41 | crate://crates.io/clap/4.4.18 \ |
44 | crate://crates.io/clap_builder/4.3.24 \ | 42 | crate://crates.io/clap_builder/4.4.18 \ |
45 | crate://crates.io/clap_complete/4.3.2 \ | 43 | crate://crates.io/clap_complete/4.4.9 \ |
46 | crate://crates.io/clap_complete_command/0.5.1 \ | 44 | crate://crates.io/clap_complete_command/0.5.1 \ |
47 | crate://crates.io/clap_complete_fig/4.3.1 \ | ||
48 | crate://crates.io/clap_complete_nushell/0.1.11 \ | 45 | crate://crates.io/clap_complete_nushell/0.1.11 \ |
49 | crate://crates.io/clap_derive/4.3.12 \ | 46 | crate://crates.io/clap_derive/4.4.7 \ |
50 | crate://crates.io/clap_lex/0.5.0 \ | 47 | crate://crates.io/clap_lex/0.6.0 \ |
51 | crate://crates.io/cli-table/0.4.7 \ | 48 | crate://crates.io/cli-table/0.4.7 \ |
52 | crate://crates.io/colorchoice/1.0.0 \ | 49 | crate://crates.io/colorchoice/1.0.0 \ |
53 | crate://crates.io/configparser/3.0.3 \ | 50 | crate://crates.io/configparser/3.0.4 \ |
54 | crate://crates.io/console/0.15.7 \ | 51 | crate://crates.io/console/0.15.8 \ |
55 | crate://crates.io/content_inspector/0.2.4 \ | 52 | crate://crates.io/content_inspector/0.2.4 \ |
56 | crate://crates.io/core-foundation/0.9.3 \ | 53 | crate://crates.io/core-foundation/0.9.4 \ |
57 | crate://crates.io/core-foundation-sys/0.8.4 \ | 54 | crate://crates.io/core-foundation-sys/0.8.6 \ |
58 | crate://crates.io/cpufeatures/0.2.11 \ | 55 | crate://crates.io/cpufeatures/0.2.12 \ |
59 | crate://crates.io/crc32fast/1.3.2 \ | 56 | crate://crates.io/crc32fast/1.3.2 \ |
60 | crate://crates.io/crossbeam-channel/0.5.8 \ | 57 | crate://crates.io/crossbeam-channel/0.5.11 \ |
61 | crate://crates.io/crossbeam-deque/0.8.3 \ | 58 | crate://crates.io/crossbeam-deque/0.8.5 \ |
62 | crate://crates.io/crossbeam-epoch/0.9.15 \ | 59 | crate://crates.io/crossbeam-epoch/0.9.18 \ |
63 | crate://crates.io/crossbeam-utils/0.8.16 \ | 60 | crate://crates.io/crossbeam-utils/0.8.19 \ |
64 | crate://crates.io/crypto-common/0.1.6 \ | 61 | crate://crates.io/crypto-common/0.1.6 \ |
65 | crate://crates.io/data-encoding/2.5.0 \ | 62 | crate://crates.io/data-encoding/2.5.0 \ |
66 | crate://crates.io/deranged/0.3.9 \ | 63 | crate://crates.io/deranged/0.3.11 \ |
64 | crate://crates.io/derivative/2.2.0 \ | ||
67 | crate://crates.io/dialoguer/0.11.0 \ | 65 | crate://crates.io/dialoguer/0.11.0 \ |
68 | crate://crates.io/diff/0.1.13 \ | 66 | crate://crates.io/diff/0.1.13 \ |
69 | crate://crates.io/digest/0.10.7 \ | 67 | crate://crates.io/digest/0.10.7 \ |
@@ -78,8 +76,8 @@ SRC_URI += " \ | |||
78 | crate://crates.io/errno/0.3.8 \ | 76 | crate://crates.io/errno/0.3.8 \ |
79 | crate://crates.io/expect-test/1.4.1 \ | 77 | crate://crates.io/expect-test/1.4.1 \ |
80 | crate://crates.io/fastrand/2.0.1 \ | 78 | crate://crates.io/fastrand/2.0.1 \ |
81 | crate://crates.io/fat-macho/0.4.7 \ | 79 | crate://crates.io/fat-macho/0.4.8 \ |
82 | crate://crates.io/filetime/0.2.22 \ | 80 | crate://crates.io/filetime/0.2.23 \ |
83 | crate://crates.io/flate2/1.0.28 \ | 81 | crate://crates.io/flate2/1.0.28 \ |
84 | crate://crates.io/fnv/1.0.7 \ | 82 | crate://crates.io/fnv/1.0.7 \ |
85 | crate://crates.io/foreign-types/0.3.2 \ | 83 | crate://crates.io/foreign-types/0.3.2 \ |
@@ -87,47 +85,42 @@ SRC_URI += " \ | |||
87 | crate://crates.io/form_urlencoded/1.2.1 \ | 85 | crate://crates.io/form_urlencoded/1.2.1 \ |
88 | crate://crates.io/fs-err/2.11.0 \ | 86 | crate://crates.io/fs-err/2.11.0 \ |
89 | crate://crates.io/generic-array/0.14.7 \ | 87 | crate://crates.io/generic-array/0.14.7 \ |
90 | crate://crates.io/getrandom/0.2.11 \ | 88 | crate://crates.io/getrandom/0.2.12 \ |
91 | crate://crates.io/glob/0.3.1 \ | 89 | crate://crates.io/glob/0.3.1 \ |
92 | crate://crates.io/globset/0.4.14 \ | 90 | crate://crates.io/globset/0.4.14 \ |
93 | crate://crates.io/goblin/0.7.1 \ | 91 | crate://crates.io/goblin/0.8.0 \ |
94 | crate://crates.io/hashbrown/0.12.3 \ | 92 | crate://crates.io/hashbrown/0.12.3 \ |
95 | crate://crates.io/hashbrown/0.14.3 \ | 93 | crate://crates.io/hashbrown/0.14.3 \ |
96 | crate://crates.io/heck/0.4.1 \ | 94 | crate://crates.io/heck/0.4.1 \ |
97 | crate://crates.io/hermit-abi/0.3.3 \ | 95 | crate://crates.io/home/0.5.9 \ |
98 | crate://crates.io/home/0.5.5 \ | ||
99 | crate://crates.io/humantime/2.1.0 \ | 96 | crate://crates.io/humantime/2.1.0 \ |
100 | crate://crates.io/humantime-serde/1.1.1 \ | 97 | crate://crates.io/humantime-serde/1.1.1 \ |
101 | crate://crates.io/idna/0.5.0 \ | 98 | crate://crates.io/idna/0.5.0 \ |
102 | crate://crates.io/ignore/0.4.20 \ | 99 | crate://crates.io/ignore/0.4.22 \ |
103 | crate://crates.io/indexmap/1.9.3 \ | 100 | crate://crates.io/indexmap/1.9.3 \ |
104 | crate://crates.io/indexmap/2.1.0 \ | 101 | crate://crates.io/indexmap/2.2.3 \ |
105 | crate://crates.io/indicatif/0.17.7 \ | 102 | crate://crates.io/indicatif/0.17.7 \ |
106 | crate://crates.io/indoc/2.0.4 \ | 103 | crate://crates.io/indoc/2.0.4 \ |
107 | crate://crates.io/instant/0.1.12 \ | 104 | crate://crates.io/instant/0.1.12 \ |
108 | crate://crates.io/io-lifetimes/1.0.11 \ | ||
109 | crate://crates.io/is-terminal/0.4.9 \ | ||
110 | crate://crates.io/itertools/0.11.0 \ | 105 | crate://crates.io/itertools/0.11.0 \ |
111 | crate://crates.io/itertools/0.12.0 \ | 106 | crate://crates.io/itertools/0.12.1 \ |
112 | crate://crates.io/itoa/1.0.9 \ | 107 | crate://crates.io/itoa/1.0.10 \ |
113 | crate://crates.io/keyring/2.0.5 \ | 108 | crate://crates.io/keyring/2.3.2 \ |
114 | crate://crates.io/lazy_static/1.4.0 \ | 109 | crate://crates.io/lazy_static/1.4.0 \ |
115 | crate://crates.io/lddtree/0.3.3 \ | 110 | crate://crates.io/lddtree/0.3.4 \ |
116 | crate://crates.io/libc/0.2.150 \ | 111 | crate://crates.io/libc/0.2.153 \ |
117 | crate://crates.io/libredox/0.0.1 \ | 112 | crate://crates.io/libredox/0.0.1 \ |
118 | crate://crates.io/linux-keyutils/0.2.3 \ | 113 | crate://crates.io/linux-keyutils/0.2.4 \ |
119 | crate://crates.io/linux-raw-sys/0.3.8 \ | 114 | crate://crates.io/linux-raw-sys/0.4.13 \ |
120 | crate://crates.io/linux-raw-sys/0.4.11 \ | ||
121 | crate://crates.io/lock_api/0.4.11 \ | 115 | crate://crates.io/lock_api/0.4.11 \ |
122 | crate://crates.io/log/0.4.20 \ | 116 | crate://crates.io/log/0.4.20 \ |
123 | crate://crates.io/lzxd/0.1.4 \ | 117 | crate://crates.io/lzxd/0.1.4 \ |
124 | crate://crates.io/mailparse/0.14.0 \ | 118 | crate://crates.io/mailparse/0.14.1 \ |
125 | crate://crates.io/matchers/0.1.0 \ | 119 | crate://crates.io/matchers/0.1.0 \ |
126 | crate://crates.io/memchr/2.6.4 \ | 120 | crate://crates.io/memchr/2.7.1 \ |
127 | crate://crates.io/memoffset/0.9.0 \ | ||
128 | crate://crates.io/mime/0.3.17 \ | 121 | crate://crates.io/mime/0.3.17 \ |
129 | crate://crates.io/mime_guess/2.0.4 \ | 122 | crate://crates.io/mime_guess/2.0.4 \ |
130 | crate://crates.io/minijinja/1.0.10 \ | 123 | crate://crates.io/minijinja/1.0.12 \ |
131 | crate://crates.io/minimal-lexical/0.2.1 \ | 124 | crate://crates.io/minimal-lexical/0.2.1 \ |
132 | crate://crates.io/miniz_oxide/0.7.1 \ | 125 | crate://crates.io/miniz_oxide/0.7.1 \ |
133 | crate://crates.io/msi/0.7.0 \ | 126 | crate://crates.io/msi/0.7.0 \ |
@@ -137,128 +130,130 @@ SRC_URI += " \ | |||
137 | crate://crates.io/normalize-line-endings/0.3.0 \ | 130 | crate://crates.io/normalize-line-endings/0.3.0 \ |
138 | crate://crates.io/normpath/1.1.1 \ | 131 | crate://crates.io/normpath/1.1.1 \ |
139 | crate://crates.io/nu-ansi-term/0.46.0 \ | 132 | crate://crates.io/nu-ansi-term/0.46.0 \ |
133 | crate://crates.io/num-conv/0.1.0 \ | ||
140 | crate://crates.io/number_prefix/0.4.0 \ | 134 | crate://crates.io/number_prefix/0.4.0 \ |
141 | crate://crates.io/once_cell/1.18.0 \ | 135 | crate://crates.io/once_cell/1.19.0 \ |
142 | crate://crates.io/openssl/0.10.60 \ | 136 | crate://crates.io/openssl/0.10.63 \ |
143 | crate://crates.io/openssl-macros/0.1.1 \ | 137 | crate://crates.io/openssl-macros/0.1.1 \ |
144 | crate://crates.io/openssl-probe/0.1.5 \ | 138 | crate://crates.io/openssl-probe/0.1.5 \ |
145 | crate://crates.io/openssl-sys/0.9.96 \ | 139 | crate://crates.io/openssl-sys/0.9.99 \ |
146 | crate://crates.io/option-ext/0.2.0 \ | 140 | crate://crates.io/option-ext/0.2.0 \ |
147 | crate://crates.io/os_pipe/1.1.4 \ | 141 | crate://crates.io/os_pipe/1.1.5 \ |
148 | crate://crates.io/overload/0.1.1 \ | 142 | crate://crates.io/overload/0.1.1 \ |
149 | crate://crates.io/parking_lot/0.12.1 \ | 143 | crate://crates.io/parking_lot/0.12.1 \ |
150 | crate://crates.io/parking_lot_core/0.9.9 \ | 144 | crate://crates.io/parking_lot_core/0.9.9 \ |
151 | crate://crates.io/paste/1.0.14 \ | 145 | crate://crates.io/paste/1.0.14 \ |
152 | crate://crates.io/path-slash/0.2.1 \ | 146 | crate://crates.io/path-slash/0.2.1 \ |
153 | crate://crates.io/pep440_rs/0.3.12 \ | 147 | crate://crates.io/pep440_rs/0.5.0 \ |
154 | crate://crates.io/pep508_rs/0.2.3 \ | 148 | crate://crates.io/pep508_rs/0.4.2 \ |
155 | crate://crates.io/percent-encoding/2.3.1 \ | 149 | crate://crates.io/percent-encoding/2.3.1 \ |
156 | crate://crates.io/pin-project-lite/0.2.13 \ | 150 | crate://crates.io/pin-project-lite/0.2.13 \ |
157 | crate://crates.io/pkg-config/0.3.27 \ | 151 | crate://crates.io/pkg-config/0.3.29 \ |
158 | crate://crates.io/plain/0.2.3 \ | 152 | crate://crates.io/plain/0.2.3 \ |
159 | crate://crates.io/platform-info/2.0.2 \ | 153 | crate://crates.io/platform-info/2.0.2 \ |
160 | crate://crates.io/portable-atomic/1.5.1 \ | 154 | crate://crates.io/portable-atomic/1.6.0 \ |
161 | crate://crates.io/powerfmt/0.2.0 \ | 155 | crate://crates.io/powerfmt/0.2.0 \ |
162 | crate://crates.io/ppv-lite86/0.2.17 \ | 156 | crate://crates.io/ppv-lite86/0.2.17 \ |
163 | crate://crates.io/pretty_assertions/1.4.0 \ | 157 | crate://crates.io/pretty_assertions/1.4.0 \ |
164 | crate://crates.io/proc-macro2/1.0.70 \ | 158 | crate://crates.io/proc-macro2/1.0.78 \ |
165 | crate://crates.io/psm/0.1.21 \ | 159 | crate://crates.io/psm/0.1.21 \ |
166 | crate://crates.io/pyproject-toml/0.8.1 \ | 160 | crate://crates.io/pyproject-toml/0.10.0 \ |
167 | crate://crates.io/python-pkginfo/0.6.0 \ | 161 | crate://crates.io/python-pkginfo/0.6.0 \ |
168 | crate://crates.io/quote/1.0.33 \ | 162 | crate://crates.io/quote/1.0.35 \ |
169 | crate://crates.io/quoted_printable/0.4.8 \ | 163 | crate://crates.io/quoted_printable/0.4.8 \ |
164 | crate://crates.io/quoted_printable/0.5.0 \ | ||
170 | crate://crates.io/rand/0.8.5 \ | 165 | crate://crates.io/rand/0.8.5 \ |
171 | crate://crates.io/rand_chacha/0.3.1 \ | 166 | crate://crates.io/rand_chacha/0.3.1 \ |
172 | crate://crates.io/rand_core/0.6.4 \ | 167 | crate://crates.io/rand_core/0.6.4 \ |
173 | crate://crates.io/rayon/1.8.0 \ | 168 | crate://crates.io/rayon/1.8.1 \ |
174 | crate://crates.io/rayon-core/1.12.0 \ | 169 | crate://crates.io/rayon-core/1.12.1 \ |
175 | crate://crates.io/redox_syscall/0.3.5 \ | ||
176 | crate://crates.io/redox_syscall/0.4.1 \ | 170 | crate://crates.io/redox_syscall/0.4.1 \ |
177 | crate://crates.io/redox_users/0.4.4 \ | 171 | crate://crates.io/redox_users/0.4.4 \ |
178 | crate://crates.io/regex/1.10.2 \ | 172 | crate://crates.io/regex/1.10.3 \ |
179 | crate://crates.io/regex-automata/0.1.10 \ | 173 | crate://crates.io/regex-automata/0.1.10 \ |
180 | crate://crates.io/regex-automata/0.4.3 \ | 174 | crate://crates.io/regex-automata/0.4.5 \ |
181 | crate://crates.io/regex-syntax/0.6.29 \ | 175 | crate://crates.io/regex-syntax/0.6.29 \ |
182 | crate://crates.io/regex-syntax/0.8.2 \ | 176 | crate://crates.io/regex-syntax/0.8.2 \ |
183 | crate://crates.io/rfc2047-decoder/0.2.2 \ | 177 | crate://crates.io/rfc2047-decoder/0.2.2 \ |
184 | crate://crates.io/ring/0.17.6 \ | 178 | crate://crates.io/ring/0.17.7 \ |
185 | crate://crates.io/rustc_version/0.4.0 \ | 179 | crate://crates.io/rustc_version/0.4.0 \ |
186 | crate://crates.io/rustix/0.37.27 \ | 180 | crate://crates.io/rustix/0.38.32 \ |
187 | crate://crates.io/rustix/0.38.21 \ | 181 | crate://crates.io/rustls/0.22.2 \ |
188 | crate://crates.io/rustls/0.21.9 \ | 182 | crate://crates.io/rustls-pemfile/2.1.0 \ |
189 | crate://crates.io/rustls-pemfile/2.0.0 \ | 183 | crate://crates.io/rustls-pki-types/1.3.1 \ |
190 | crate://crates.io/rustls-pki-types/1.0.0 \ | 184 | crate://crates.io/rustls-webpki/0.102.1 \ |
191 | crate://crates.io/rustls-webpki/0.101.7 \ | ||
192 | crate://crates.io/rustversion/1.0.14 \ | 185 | crate://crates.io/rustversion/1.0.14 \ |
193 | crate://crates.io/ryu/1.0.15 \ | 186 | crate://crates.io/ryu/1.0.16 \ |
194 | crate://crates.io/same-file/1.0.6 \ | 187 | crate://crates.io/same-file/1.0.6 \ |
195 | crate://crates.io/schannel/0.1.22 \ | 188 | crate://crates.io/schannel/0.1.23 \ |
196 | crate://crates.io/scopeguard/1.2.0 \ | 189 | crate://crates.io/scopeguard/1.2.0 \ |
197 | crate://crates.io/scroll/0.11.0 \ | 190 | crate://crates.io/scroll/0.12.0 \ |
198 | crate://crates.io/scroll_derive/0.11.1 \ | 191 | crate://crates.io/scroll_derive/0.12.0 \ |
199 | crate://crates.io/sct/0.7.1 \ | ||
200 | crate://crates.io/security-framework/2.9.2 \ | 192 | crate://crates.io/security-framework/2.9.2 \ |
201 | crate://crates.io/security-framework-sys/2.9.1 \ | 193 | crate://crates.io/security-framework-sys/2.9.1 \ |
202 | crate://crates.io/semver/1.0.20 \ | 194 | crate://crates.io/semver/1.0.22 \ |
203 | crate://crates.io/serde/1.0.193 \ | 195 | crate://crates.io/serde/1.0.197 \ |
204 | crate://crates.io/serde_derive/1.0.193 \ | 196 | crate://crates.io/serde_derive/1.0.197 \ |
205 | crate://crates.io/serde_json/1.0.108 \ | 197 | crate://crates.io/serde_json/1.0.114 \ |
206 | crate://crates.io/serde_spanned/0.6.4 \ | 198 | crate://crates.io/serde_spanned/0.6.5 \ |
207 | crate://crates.io/sha2/0.10.8 \ | 199 | crate://crates.io/sha2/0.10.8 \ |
208 | crate://crates.io/sharded-slab/0.1.7 \ | 200 | crate://crates.io/sharded-slab/0.1.7 \ |
209 | crate://crates.io/shell-words/1.1.0 \ | 201 | crate://crates.io/shell-words/1.1.0 \ |
210 | crate://crates.io/shlex/1.2.0 \ | 202 | crate://crates.io/shlex/1.3.0 \ |
211 | crate://crates.io/similar/2.3.0 \ | 203 | crate://crates.io/similar/2.4.0 \ |
212 | crate://crates.io/smallvec/1.11.2 \ | 204 | crate://crates.io/smallvec/1.13.1 \ |
213 | crate://crates.io/smawk/0.3.2 \ | 205 | crate://crates.io/smawk/0.3.2 \ |
214 | crate://crates.io/snapbox/0.4.14 \ | 206 | crate://crates.io/snapbox/0.5.7 \ |
215 | crate://crates.io/snapbox-macros/0.3.6 \ | 207 | crate://crates.io/snapbox-macros/0.3.8 \ |
216 | crate://crates.io/socks/0.3.4 \ | 208 | crate://crates.io/socks/0.3.4 \ |
217 | crate://crates.io/spin/0.9.8 \ | 209 | crate://crates.io/spin/0.9.8 \ |
218 | crate://crates.io/stacker/0.1.15 \ | 210 | crate://crates.io/stacker/0.1.15 \ |
219 | crate://crates.io/static_assertions/1.1.0 \ | 211 | crate://crates.io/static_assertions/1.1.0 \ |
220 | crate://crates.io/strsim/0.10.0 \ | 212 | crate://crates.io/strsim/0.10.0 \ |
213 | crate://crates.io/subtle/2.5.0 \ | ||
221 | crate://crates.io/syn/1.0.109 \ | 214 | crate://crates.io/syn/1.0.109 \ |
222 | crate://crates.io/syn/2.0.39 \ | 215 | crate://crates.io/syn/2.0.48 \ |
223 | crate://crates.io/tar/0.4.40 \ | 216 | crate://crates.io/tar/0.4.40 \ |
224 | crate://crates.io/target-lexicon/0.12.12 \ | 217 | crate://crates.io/target-lexicon/0.12.14 \ |
225 | crate://crates.io/tempfile/3.8.1 \ | 218 | crate://crates.io/tempfile/3.9.0 \ |
226 | crate://crates.io/termcolor/1.4.0 \ | 219 | crate://crates.io/termcolor/1.4.1 \ |
227 | crate://crates.io/terminal_size/0.2.6 \ | 220 | crate://crates.io/terminal_size/0.3.0 \ |
228 | crate://crates.io/textwrap/0.16.0 \ | 221 | crate://crates.io/textwrap/0.16.1 \ |
229 | crate://crates.io/thiserror/1.0.50 \ | 222 | crate://crates.io/thiserror/1.0.57 \ |
230 | crate://crates.io/thiserror-impl/1.0.50 \ | 223 | crate://crates.io/thiserror-impl/1.0.57 \ |
231 | crate://crates.io/thread_local/1.1.7 \ | 224 | crate://crates.io/thread_local/1.1.7 \ |
232 | crate://crates.io/time/0.3.30 \ | 225 | crate://crates.io/time/0.3.34 \ |
233 | crate://crates.io/time-core/0.1.2 \ | 226 | crate://crates.io/time-core/0.1.2 \ |
234 | crate://crates.io/time-macros/0.2.15 \ | 227 | crate://crates.io/time-macros/0.2.17 \ |
235 | crate://crates.io/tinyvec/1.6.0 \ | 228 | crate://crates.io/tinyvec/1.6.0 \ |
236 | crate://crates.io/tinyvec_macros/0.1.1 \ | 229 | crate://crates.io/tinyvec_macros/0.1.1 \ |
237 | crate://crates.io/toml/0.5.11 \ | 230 | crate://crates.io/toml/0.5.11 \ |
238 | crate://crates.io/toml/0.8.8 \ | 231 | crate://crates.io/toml/0.8.10 \ |
239 | crate://crates.io/toml_datetime/0.6.5 \ | 232 | crate://crates.io/toml_datetime/0.6.5 \ |
240 | crate://crates.io/toml_edit/0.20.7 \ | 233 | crate://crates.io/toml_edit/0.22.6 \ |
241 | crate://crates.io/toml_edit/0.21.0 \ | ||
242 | crate://crates.io/tracing/0.1.40 \ | 234 | crate://crates.io/tracing/0.1.40 \ |
243 | crate://crates.io/tracing-attributes/0.1.27 \ | 235 | crate://crates.io/tracing-attributes/0.1.27 \ |
244 | crate://crates.io/tracing-core/0.1.32 \ | 236 | crate://crates.io/tracing-core/0.1.32 \ |
245 | crate://crates.io/tracing-log/0.2.0 \ | 237 | crate://crates.io/tracing-log/0.2.0 \ |
246 | crate://crates.io/tracing-serde/0.1.3 \ | 238 | crate://crates.io/tracing-serde/0.1.3 \ |
247 | crate://crates.io/tracing-subscriber/0.3.18 \ | 239 | crate://crates.io/tracing-subscriber/0.3.18 \ |
248 | crate://crates.io/trycmd/0.14.19 \ | 240 | crate://crates.io/trycmd/0.15.0 \ |
249 | crate://crates.io/twox-hash/1.6.3 \ | 241 | crate://crates.io/twox-hash/1.6.3 \ |
250 | crate://crates.io/typenum/1.17.0 \ | 242 | crate://crates.io/typenum/1.17.0 \ |
251 | crate://crates.io/unicase/2.7.0 \ | 243 | crate://crates.io/unicase/2.7.0 \ |
252 | crate://crates.io/unicode-bidi/0.3.13 \ | 244 | crate://crates.io/unicode-bidi/0.3.15 \ |
253 | crate://crates.io/unicode-ident/1.0.12 \ | 245 | crate://crates.io/unicode-ident/1.0.12 \ |
254 | crate://crates.io/unicode-linebreak/0.1.5 \ | 246 | crate://crates.io/unicode-linebreak/0.1.5 \ |
255 | crate://crates.io/unicode-normalization/0.1.22 \ | 247 | crate://crates.io/unicode-normalization/0.1.22 \ |
256 | crate://crates.io/unicode-width/0.1.11 \ | 248 | crate://crates.io/unicode-width/0.1.11 \ |
249 | crate://crates.io/unicode-xid/0.2.4 \ | ||
250 | crate://crates.io/unscanny/0.1.0 \ | ||
257 | crate://crates.io/untrusted/0.9.0 \ | 251 | crate://crates.io/untrusted/0.9.0 \ |
258 | crate://crates.io/ureq/2.9.1 \ | 252 | crate://crates.io/ureq/2.9.6 \ |
259 | crate://crates.io/url/2.5.0 \ | 253 | crate://crates.io/url/2.5.0 \ |
254 | crate://crates.io/urlencoding/2.1.3 \ | ||
260 | crate://crates.io/utf8parse/0.2.1 \ | 255 | crate://crates.io/utf8parse/0.2.1 \ |
261 | crate://crates.io/uuid/1.6.1 \ | 256 | crate://crates.io/uuid/1.7.0 \ |
262 | crate://crates.io/valuable/0.1.0 \ | 257 | crate://crates.io/valuable/0.1.0 \ |
263 | crate://crates.io/vcpkg/0.2.15 \ | 258 | crate://crates.io/vcpkg/0.2.15 \ |
264 | crate://crates.io/version_check/0.9.4 \ | 259 | crate://crates.io/version_check/0.9.4 \ |
@@ -266,69 +261,59 @@ SRC_URI += " \ | |||
266 | crate://crates.io/wait-timeout/0.2.0 \ | 261 | crate://crates.io/wait-timeout/0.2.0 \ |
267 | crate://crates.io/walkdir/2.4.0 \ | 262 | crate://crates.io/walkdir/2.4.0 \ |
268 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ | 263 | crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \ |
269 | crate://crates.io/webpki-roots/0.25.3 \ | 264 | crate://crates.io/webpki-roots/0.26.0 \ |
270 | crate://crates.io/which/5.0.0 \ | 265 | crate://crates.io/which/5.0.0 \ |
271 | crate://crates.io/wild/2.2.0 \ | 266 | crate://crates.io/which/6.0.0 \ |
267 | crate://crates.io/wild/2.2.1 \ | ||
272 | crate://crates.io/winapi/0.3.9 \ | 268 | crate://crates.io/winapi/0.3.9 \ |
273 | crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ | 269 | crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \ |
274 | crate://crates.io/winapi-util/0.1.6 \ | 270 | crate://crates.io/winapi-util/0.1.6 \ |
275 | crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ | 271 | crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \ |
276 | crate://crates.io/windows-sys/0.45.0 \ | ||
277 | crate://crates.io/windows-sys/0.48.0 \ | 272 | crate://crates.io/windows-sys/0.48.0 \ |
278 | crate://crates.io/windows-sys/0.52.0 \ | 273 | crate://crates.io/windows-sys/0.52.0 \ |
279 | crate://crates.io/windows-targets/0.42.2 \ | ||
280 | crate://crates.io/windows-targets/0.48.5 \ | 274 | crate://crates.io/windows-targets/0.48.5 \ |
281 | crate://crates.io/windows-targets/0.52.0 \ | 275 | crate://crates.io/windows-targets/0.52.0 \ |
282 | crate://crates.io/windows_aarch64_gnullvm/0.42.2 \ | ||
283 | crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ | 276 | crate://crates.io/windows_aarch64_gnullvm/0.48.5 \ |
284 | crate://crates.io/windows_aarch64_gnullvm/0.52.0 \ | 277 | crate://crates.io/windows_aarch64_gnullvm/0.52.0 \ |
285 | crate://crates.io/windows_aarch64_msvc/0.42.2 \ | ||
286 | crate://crates.io/windows_aarch64_msvc/0.48.5 \ | 278 | crate://crates.io/windows_aarch64_msvc/0.48.5 \ |
287 | crate://crates.io/windows_aarch64_msvc/0.52.0 \ | 279 | crate://crates.io/windows_aarch64_msvc/0.52.0 \ |
288 | crate://crates.io/windows_i686_gnu/0.42.2 \ | ||
289 | crate://crates.io/windows_i686_gnu/0.48.5 \ | 280 | crate://crates.io/windows_i686_gnu/0.48.5 \ |
290 | crate://crates.io/windows_i686_gnu/0.52.0 \ | 281 | crate://crates.io/windows_i686_gnu/0.52.0 \ |
291 | crate://crates.io/windows_i686_msvc/0.42.2 \ | ||
292 | crate://crates.io/windows_i686_msvc/0.48.5 \ | 282 | crate://crates.io/windows_i686_msvc/0.48.5 \ |
293 | crate://crates.io/windows_i686_msvc/0.52.0 \ | 283 | crate://crates.io/windows_i686_msvc/0.52.0 \ |
294 | crate://crates.io/windows_x86_64_gnu/0.42.2 \ | ||
295 | crate://crates.io/windows_x86_64_gnu/0.48.5 \ | 284 | crate://crates.io/windows_x86_64_gnu/0.48.5 \ |
296 | crate://crates.io/windows_x86_64_gnu/0.52.0 \ | 285 | crate://crates.io/windows_x86_64_gnu/0.52.0 \ |
297 | crate://crates.io/windows_x86_64_gnullvm/0.42.2 \ | ||
298 | crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ | 286 | crate://crates.io/windows_x86_64_gnullvm/0.48.5 \ |
299 | crate://crates.io/windows_x86_64_gnullvm/0.52.0 \ | 287 | crate://crates.io/windows_x86_64_gnullvm/0.52.0 \ |
300 | crate://crates.io/windows_x86_64_msvc/0.42.2 \ | ||
301 | crate://crates.io/windows_x86_64_msvc/0.48.5 \ | 288 | crate://crates.io/windows_x86_64_msvc/0.48.5 \ |
302 | crate://crates.io/windows_x86_64_msvc/0.52.0 \ | 289 | crate://crates.io/windows_x86_64_msvc/0.52.0 \ |
303 | crate://crates.io/winnow/0.5.19 \ | 290 | crate://crates.io/winnow/0.6.2 \ |
304 | crate://crates.io/xattr/1.0.1 \ | 291 | crate://crates.io/xattr/1.3.1 \ |
305 | crate://crates.io/xwin/0.5.0 \ | 292 | crate://crates.io/xwin/0.5.0 \ |
306 | crate://crates.io/yansi/0.5.1 \ | 293 | crate://crates.io/yansi/0.5.1 \ |
307 | crate://crates.io/zerocopy/0.7.28 \ | 294 | crate://crates.io/zerocopy/0.7.32 \ |
308 | crate://crates.io/zerocopy-derive/0.7.28 \ | 295 | crate://crates.io/zerocopy-derive/0.7.32 \ |
309 | crate://crates.io/zeroize/1.7.0 \ | 296 | crate://crates.io/zeroize/1.7.0 \ |
310 | crate://crates.io/zip/0.6.6 \ | 297 | crate://crates.io/zip/0.6.6 \ |
311 | " | 298 | " |
312 | 299 | ||
313 | SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" | 300 | SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" |
314 | SRC_URI[ahash-0.8.6.sha256sum] = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" | 301 | SRC_URI[ahash-0.8.7.sha256sum] = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" |
315 | SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" | 302 | SRC_URI[aho-corasick-1.1.2.sha256sum] = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" |
316 | SRC_URI[allocator-api2-0.2.16.sha256sum] = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" | 303 | SRC_URI[allocator-api2-0.2.16.sha256sum] = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" |
317 | SRC_URI[anstream-0.3.2.sha256sum] = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" | 304 | SRC_URI[anstream-0.6.11.sha256sum] = "6e2e1ebcb11de5c03c67de28a7df593d32191b44939c482e97702baaaa6ab6a5" |
318 | SRC_URI[anstream-0.6.4.sha256sum] = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" | 305 | SRC_URI[anstyle-1.0.4.sha256sum] = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" |
319 | SRC_URI[anstyle-1.0.2.sha256sum] = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" | 306 | SRC_URI[anstyle-parse-0.2.3.sha256sum] = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" |
320 | SRC_URI[anstyle-parse-0.2.1.sha256sum] = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" | 307 | SRC_URI[anstyle-query-1.0.2.sha256sum] = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" |
321 | SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" | 308 | SRC_URI[anstyle-wincon-3.0.2.sha256sum] = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" |
322 | SRC_URI[anstyle-wincon-1.0.2.sha256sum] = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" | 309 | SRC_URI[anyhow-1.0.80.sha256sum] = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" |
323 | SRC_URI[anstyle-wincon-3.0.1.sha256sum] = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" | ||
324 | SRC_URI[anyhow-1.0.75.sha256sum] = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" | ||
325 | SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" | 310 | SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" |
326 | SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" | 311 | SRC_URI[base64-0.13.1.sha256sum] = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" |
327 | SRC_URI[base64-0.21.5.sha256sum] = "35636a1494ede3b646cc98f74f8e62c773a38a659ebc777a2cf26b9b74171df9" | 312 | SRC_URI[base64-0.21.7.sha256sum] = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" |
328 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" | 313 | SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" |
329 | SRC_URI[bitflags-2.4.1.sha256sum] = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" | 314 | SRC_URI[bitflags-2.4.2.sha256sum] = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" |
330 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" | 315 | SRC_URI[block-buffer-0.10.4.sha256sum] = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" |
331 | SRC_URI[bstr-1.8.0.sha256sum] = "542f33a8835a0884b006a0c3df3dadd99c0c3f296ed26c2fdc8028e01ad6230c" | 316 | SRC_URI[bstr-1.9.0.sha256sum] = "c48f0051a4b4c5e0b6d365cd04af53aeaa209e3cc15ec2cdb69e73cc87fbd0dc" |
332 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" | 317 | SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" |
333 | SRC_URI[bytes-1.5.0.sha256sum] = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" | 318 | SRC_URI[bytes-1.5.0.sha256sum] = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" |
334 | SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" | 319 | SRC_URI[bytesize-1.3.0.sha256sum] = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" |
@@ -336,42 +321,42 @@ SRC_URI[bzip2-0.4.4.sha256sum] = "bdb116a6ef3f6c3698828873ad02c3014b3c85cadb8849 | |||
336 | SRC_URI[bzip2-sys-0.1.11+1.0.8.sha256sum] = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" | 321 | SRC_URI[bzip2-sys-0.1.11+1.0.8.sha256sum] = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" |
337 | SRC_URI[cab-0.4.1.sha256sum] = "ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551" | 322 | SRC_URI[cab-0.4.1.sha256sum] = "ae6b4de23c7d39c0631fd3cc952d87951c86c75a13812d7247cb7a896e7b3551" |
338 | SRC_URI[camino-1.1.6.sha256sum] = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" | 323 | SRC_URI[camino-1.1.6.sha256sum] = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" |
339 | SRC_URI[cargo-config2-0.1.16.sha256sum] = "7f387366785e82c7ec7ef5b845a7f61324fbf5d467d6a878469eac30c1c44b1b" | 324 | SRC_URI[cargo-config2-0.1.19.sha256sum] = "3a7fb69d74d76f8c254afd1c0e76aca40c305707b28aebe3c5a0fd2ee62aeeeb" |
340 | SRC_URI[cargo-options-0.7.2.sha256sum] = "cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea" | 325 | SRC_URI[cargo-options-0.7.2.sha256sum] = "cad71bf996c8e5b9d28ef3472d7ee41f277edf4e38cd597f51ad0438d05d76ea" |
341 | SRC_URI[cargo-platform-0.1.5.sha256sum] = "e34637b3140142bdf929fb439e8aa4ebad7651ebf7b1080b3930aa16ac1459ff" | 326 | SRC_URI[cargo-platform-0.1.6.sha256sum] = "ceed8ef69d8518a5dda55c07425450b58a4e1946f4951eab6d7191ee86c2443d" |
342 | SRC_URI[cargo-xwin-0.16.2.sha256sum] = "02bb6bf59526935e47445f959a19c2168f151284dbf7e57f5577934334e9a61d" | 327 | SRC_URI[cargo-xwin-0.16.4.sha256sum] = "5e6c3dd7f20fdd197397532ac882e918cfe1d56f262a97ded7460a50e031e06b" |
343 | SRC_URI[cargo-zigbuild-0.18.0.sha256sum] = "edc9c2fe646a29983b5f7263bd789175f2aaad7ea42525affa40e2172be93286" | 328 | SRC_URI[cargo-zigbuild-0.18.3.sha256sum] = "cb76e6ab558f9138291c7e1fa954ffd58e060712eab13f97a317da712218ca24" |
344 | SRC_URI[cargo_metadata-0.18.1.sha256sum] = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" | 329 | SRC_URI[cargo_metadata-0.18.1.sha256sum] = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037" |
345 | SRC_URI[cbindgen-0.26.0.sha256sum] = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49" | 330 | SRC_URI[cbindgen-0.26.0.sha256sum] = "da6bc11b07529f16944307272d5bd9b22530bc7d05751717c9d416586cedab49" |
346 | SRC_URI[cc-1.0.83.sha256sum] = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" | 331 | SRC_URI[cc-1.0.88.sha256sum] = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" |
347 | SRC_URI[cfb-0.9.0.sha256sum] = "b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f" | 332 | SRC_URI[cfb-0.9.0.sha256sum] = "b390793e912300f1aa713429f7fd0c391024e6c18b988962558bc4f96a349b1f" |
348 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" | 333 | SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" |
349 | SRC_URI[charset-0.1.3.sha256sum] = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" | 334 | SRC_URI[charset-0.1.3.sha256sum] = "18e9079d1a12a2cc2bffb5db039c43661836ead4082120d5844f02555aca2d46" |
350 | SRC_URI[chumsky-0.9.3.sha256sum] = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9" | 335 | SRC_URI[chumsky-0.9.3.sha256sum] = "8eebd66744a15ded14960ab4ccdbfb51ad3b81f51f3f04a80adac98c985396c9" |
351 | SRC_URI[clap-4.3.24.sha256sum] = "fb690e81c7840c0d7aade59f242ea3b41b9bc27bcd5997890e7702ae4b32e487" | 336 | SRC_URI[clap-4.4.18.sha256sum] = "1e578d6ec4194633722ccf9544794b71b1385c3c027efe0c55db226fc880865c" |
352 | SRC_URI[clap_builder-4.3.24.sha256sum] = "5ed2e96bc16d8d740f6f48d663eddf4b8a0983e79210fd55479b7bcd0a69860e" | 337 | SRC_URI[clap_builder-4.4.18.sha256sum] = "4df4df40ec50c46000231c914968278b1eb05098cf8f1b3a518a95030e71d1c7" |
353 | SRC_URI[clap_complete-4.3.2.sha256sum] = "5fc443334c81a804575546c5a8a79b4913b50e28d69232903604cada1de817ce" | 338 | SRC_URI[clap_complete-4.4.9.sha256sum] = "df631ae429f6613fcd3a7c1adbdb65f637271e561b03680adaa6573015dfb106" |
354 | SRC_URI[clap_complete_command-0.5.1.sha256sum] = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d" | 339 | SRC_URI[clap_complete_command-0.5.1.sha256sum] = "183495371ea78d4c9ff638bfc6497d46fed2396e4f9c50aebc1278a4a9919a3d" |
355 | SRC_URI[clap_complete_fig-4.3.1.sha256sum] = "99fee1d30a51305a6c2ed3fc5709be3c8af626c9c958e04dd9ae94e27bcbce9f" | ||
356 | SRC_URI[clap_complete_nushell-0.1.11.sha256sum] = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e" | 340 | SRC_URI[clap_complete_nushell-0.1.11.sha256sum] = "5d02bc8b1a18ee47c4d2eec3fb5ac034dc68ebea6125b1509e9ccdffcddce66e" |
357 | SRC_URI[clap_derive-4.3.12.sha256sum] = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" | 341 | SRC_URI[clap_derive-4.4.7.sha256sum] = "cf9804afaaf59a91e75b022a30fb7229a7901f60c755489cc61c9b423b836442" |
358 | SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" | 342 | SRC_URI[clap_lex-0.6.0.sha256sum] = "702fc72eb24e5a1e48ce58027a675bc24edd52096d5397d4aea7c6dd9eca0bd1" |
359 | SRC_URI[cli-table-0.4.7.sha256sum] = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" | 343 | SRC_URI[cli-table-0.4.7.sha256sum] = "adfbb116d9e2c4be7011360d0c0bee565712c11e969c9609b25b619366dc379d" |
360 | SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" | 344 | SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" |
361 | SRC_URI[configparser-3.0.3.sha256sum] = "e0e56e414a2a52ab2a104f85cd40933c2fbc278b83637facf646ecf451b49237" | 345 | SRC_URI[configparser-3.0.4.sha256sum] = "4ec6d3da8e550377a85339063af6e3735f4b1d9392108da4e083a1b3b9820288" |
362 | SRC_URI[console-0.15.7.sha256sum] = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" | 346 | SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" |
363 | SRC_URI[content_inspector-0.2.4.sha256sum] = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" | 347 | SRC_URI[content_inspector-0.2.4.sha256sum] = "b7bda66e858c683005a53a9a60c69a4aca7eeaa45d124526e389f7aec8e62f38" |
364 | SRC_URI[core-foundation-0.9.3.sha256sum] = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" | 348 | SRC_URI[core-foundation-0.9.4.sha256sum] = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f" |
365 | SRC_URI[core-foundation-sys-0.8.4.sha256sum] = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" | 349 | SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" |
366 | SRC_URI[cpufeatures-0.2.11.sha256sum] = "ce420fe07aecd3e67c5f910618fe65e94158f6dcc0adf44e00d69ce2bdfe0fd0" | 350 | SRC_URI[cpufeatures-0.2.12.sha256sum] = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" |
367 | SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" | 351 | SRC_URI[crc32fast-1.3.2.sha256sum] = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" |
368 | SRC_URI[crossbeam-channel-0.5.8.sha256sum] = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" | 352 | SRC_URI[crossbeam-channel-0.5.11.sha256sum] = "176dc175b78f56c0f321911d9c8eb2b77a78a4860b9c19db83835fea1a46649b" |
369 | SRC_URI[crossbeam-deque-0.8.3.sha256sum] = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" | 353 | SRC_URI[crossbeam-deque-0.8.5.sha256sum] = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" |
370 | SRC_URI[crossbeam-epoch-0.9.15.sha256sum] = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" | 354 | SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" |
371 | SRC_URI[crossbeam-utils-0.8.16.sha256sum] = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" | 355 | SRC_URI[crossbeam-utils-0.8.19.sha256sum] = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" |
372 | SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" | 356 | SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" |
373 | SRC_URI[data-encoding-2.5.0.sha256sum] = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" | 357 | SRC_URI[data-encoding-2.5.0.sha256sum] = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" |
374 | SRC_URI[deranged-0.3.9.sha256sum] = "0f32d04922c60427da6f9fef14d042d9edddef64cb9d4ce0d64d0685fbeb1fd3" | 358 | SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" |
359 | SRC_URI[derivative-2.2.0.sha256sum] = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" | ||
375 | SRC_URI[dialoguer-0.11.0.sha256sum] = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" | 360 | SRC_URI[dialoguer-0.11.0.sha256sum] = "658bce805d770f407bc62102fca7c2c64ceef2fbcb2b8bd19d2765ce093980de" |
376 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" | 361 | SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8" |
377 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" | 362 | SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" |
@@ -386,8 +371,8 @@ SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca62 | |||
386 | SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" | 371 | SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" |
387 | SRC_URI[expect-test-1.4.1.sha256sum] = "30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3" | 372 | SRC_URI[expect-test-1.4.1.sha256sum] = "30d9eafeadd538e68fb28016364c9732d78e420b9ff8853fa5e4058861e9f8d3" |
388 | SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" | 373 | SRC_URI[fastrand-2.0.1.sha256sum] = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" |
389 | SRC_URI[fat-macho-0.4.7.sha256sum] = "63fa117c7dcabeb8c83d5c229764cfa46518545d2dba5a9a08912014711f997b" | 374 | SRC_URI[fat-macho-0.4.8.sha256sum] = "0d4c93f393add03d72bc10dd3dea43a1610ecb29e0c0a6459c70b53b82931adf" |
390 | SRC_URI[filetime-0.2.22.sha256sum] = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" | 375 | SRC_URI[filetime-0.2.23.sha256sum] = "1ee447700ac8aa0b2f2bd7bc4462ad686ba06baa6727ac149a2d6277f0d240fd" |
391 | SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" | 376 | SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" |
392 | SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" | 377 | SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" |
393 | SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" | 378 | SRC_URI[foreign-types-0.3.2.sha256sum] = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" |
@@ -395,47 +380,42 @@ SRC_URI[foreign-types-shared-0.1.1.sha256sum] = "00b0228411908ca8685dba7fc2cdd70 | |||
395 | SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" | 380 | SRC_URI[form_urlencoded-1.2.1.sha256sum] = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" |
396 | SRC_URI[fs-err-2.11.0.sha256sum] = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" | 381 | SRC_URI[fs-err-2.11.0.sha256sum] = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" |
397 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" | 382 | SRC_URI[generic-array-0.14.7.sha256sum] = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" |
398 | SRC_URI[getrandom-0.2.11.sha256sum] = "fe9006bed769170c11f845cf00c7c1e9092aeb3f268e007c3e760ac68008070f" | 383 | SRC_URI[getrandom-0.2.12.sha256sum] = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" |
399 | SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" | 384 | SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" |
400 | SRC_URI[globset-0.4.14.sha256sum] = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" | 385 | SRC_URI[globset-0.4.14.sha256sum] = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" |
401 | SRC_URI[goblin-0.7.1.sha256sum] = "f27c1b4369c2cd341b5de549380158b105a04c331be5db9110eef7b6d2742134" | 386 | SRC_URI[goblin-0.8.0.sha256sum] = "bb07a4ffed2093b118a525b1d8f5204ae274faed5604537caf7135d0f18d9887" |
402 | SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" | 387 | SRC_URI[hashbrown-0.12.3.sha256sum] = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" |
403 | SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" | 388 | SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" |
404 | SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" | 389 | SRC_URI[heck-0.4.1.sha256sum] = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" |
405 | SRC_URI[hermit-abi-0.3.3.sha256sum] = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" | 390 | SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" |
406 | SRC_URI[home-0.5.5.sha256sum] = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" | ||
407 | SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" | 391 | SRC_URI[humantime-2.1.0.sha256sum] = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" |
408 | SRC_URI[humantime-serde-1.1.1.sha256sum] = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" | 392 | SRC_URI[humantime-serde-1.1.1.sha256sum] = "57a3db5ea5923d99402c94e9feb261dc5ee9b4efa158b0315f788cf549cc200c" |
409 | SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" | 393 | SRC_URI[idna-0.5.0.sha256sum] = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6" |
410 | SRC_URI[ignore-0.4.20.sha256sum] = "dbe7873dab538a9a44ad79ede1faf5f30d49f9a5c883ddbab48bce81b64b7492" | 394 | SRC_URI[ignore-0.4.22.sha256sum] = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" |
411 | SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" | 395 | SRC_URI[indexmap-1.9.3.sha256sum] = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" |
412 | SRC_URI[indexmap-2.1.0.sha256sum] = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" | 396 | SRC_URI[indexmap-2.2.3.sha256sum] = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" |
413 | SRC_URI[indicatif-0.17.7.sha256sum] = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" | 397 | SRC_URI[indicatif-0.17.7.sha256sum] = "fb28741c9db9a713d93deb3bb9515c20788cef5815265bee4980e87bde7e0f25" |
414 | SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" | 398 | SRC_URI[indoc-2.0.4.sha256sum] = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8" |
415 | SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" | 399 | SRC_URI[instant-0.1.12.sha256sum] = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" |
416 | SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" | ||
417 | SRC_URI[is-terminal-0.4.9.sha256sum] = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" | ||
418 | SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" | 400 | SRC_URI[itertools-0.11.0.sha256sum] = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" |
419 | SRC_URI[itertools-0.12.0.sha256sum] = "25db6b064527c5d482d0423354fcd07a89a2dfe07b67892e62411946db7f07b0" | 401 | SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" |
420 | SRC_URI[itoa-1.0.9.sha256sum] = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" | 402 | SRC_URI[itoa-1.0.10.sha256sum] = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" |
421 | SRC_URI[keyring-2.0.5.sha256sum] = "9549a129bd08149e0a71b2d1ce2729780d47127991bfd0a78cc1df697ec72492" | 403 | SRC_URI[keyring-2.3.2.sha256sum] = "1be8bc4c6b6e9d85ecdad090fcf342a9216f53d747a537cc05e3452fd650ca46" |
422 | SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" | 404 | SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" |
423 | SRC_URI[lddtree-0.3.3.sha256sum] = "2f5bfec46830ad3a95199ae6804dfe9f51fdad43d7a95fbb6c185efa9824c295" | 405 | SRC_URI[lddtree-0.3.4.sha256sum] = "f88a93876d2485ede9c97d698c164cf5c024491908483964a998faae9705dea6" |
424 | SRC_URI[libc-0.2.150.sha256sum] = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c" | 406 | SRC_URI[libc-0.2.153.sha256sum] = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" |
425 | SRC_URI[libredox-0.0.1.sha256sum] = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" | 407 | SRC_URI[libredox-0.0.1.sha256sum] = "85c833ca1e66078851dba29046874e38f08b2c883700aa29a03ddd3b23814ee8" |
426 | SRC_URI[linux-keyutils-0.2.3.sha256sum] = "3f27bb67f6dd1d0bb5ab582868e4f65052e58da6401188a08f0da09cf512b84b" | 408 | SRC_URI[linux-keyutils-0.2.4.sha256sum] = "761e49ec5fd8a5a463f9b84e877c373d888935b71c6be78f3767fe2ae6bed18e" |
427 | SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" | 409 | SRC_URI[linux-raw-sys-0.4.13.sha256sum] = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" |
428 | SRC_URI[linux-raw-sys-0.4.11.sha256sum] = "969488b55f8ac402214f3f5fd243ebb7206cf82de60d3172994707a4bcc2b829" | ||
429 | SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" | 410 | SRC_URI[lock_api-0.4.11.sha256sum] = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" |
430 | SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" | 411 | SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" |
431 | SRC_URI[lzxd-0.1.4.sha256sum] = "784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213" | 412 | SRC_URI[lzxd-0.1.4.sha256sum] = "784462f20dddd9dfdb45de963fa4ad4a288cb10a7889ac5d2c34fb6481c6b213" |
432 | SRC_URI[mailparse-0.14.0.sha256sum] = "6b56570f5f8c0047260d1c8b5b331f62eb9c660b9dd4071a8c46f8c7d3f280aa" | 413 | SRC_URI[mailparse-0.14.1.sha256sum] = "2d096594926cab442e054e047eb8c1402f7d5b2272573b97ba68aa40629f9757" |
433 | SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" | 414 | SRC_URI[matchers-0.1.0.sha256sum] = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" |
434 | SRC_URI[memchr-2.6.4.sha256sum] = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" | 415 | SRC_URI[memchr-2.7.1.sha256sum] = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" |
435 | SRC_URI[memoffset-0.9.0.sha256sum] = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" | ||
436 | SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" | 416 | SRC_URI[mime-0.3.17.sha256sum] = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" |
437 | SRC_URI[mime_guess-2.0.4.sha256sum] = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" | 417 | SRC_URI[mime_guess-2.0.4.sha256sum] = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef" |
438 | SRC_URI[minijinja-1.0.10.sha256sum] = "208758577ef2c86cf5dd3e85730d161413ec3284e2d73b2ef65d9a24d9971bcb" | 418 | SRC_URI[minijinja-1.0.12.sha256sum] = "6fe0ff215195a22884d867b547c70a0c4815cbbcc70991f281dca604b20d10ce" |
439 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" | 419 | SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" |
440 | SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" | 420 | SRC_URI[miniz_oxide-0.7.1.sha256sum] = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" |
441 | SRC_URI[msi-0.7.0.sha256sum] = "226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514" | 421 | SRC_URI[msi-0.7.0.sha256sum] = "226b2404f03d2cf47375b9715c8adfae4e388bb2377cff908e8a40f31e421514" |
@@ -445,128 +425,130 @@ SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b7382641 | |||
445 | SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" | 425 | SRC_URI[normalize-line-endings-0.3.0.sha256sum] = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" |
446 | SRC_URI[normpath-1.1.1.sha256sum] = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" | 426 | SRC_URI[normpath-1.1.1.sha256sum] = "ec60c60a693226186f5d6edf073232bfb6464ed97eb22cf3b01c1e8198fd97f5" |
447 | SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" | 427 | SRC_URI[nu-ansi-term-0.46.0.sha256sum] = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" |
428 | SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" | ||
448 | SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" | 429 | SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" |
449 | SRC_URI[once_cell-1.18.0.sha256sum] = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" | 430 | SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" |
450 | SRC_URI[openssl-0.10.60.sha256sum] = "79a4c6c3a2b158f7f8f2a2fc5a969fa3a068df6fc9dbb4a43845436e3af7c800" | 431 | SRC_URI[openssl-0.10.63.sha256sum] = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8" |
451 | SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" | 432 | SRC_URI[openssl-macros-0.1.1.sha256sum] = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" |
452 | SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" | 433 | SRC_URI[openssl-probe-0.1.5.sha256sum] = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" |
453 | SRC_URI[openssl-sys-0.9.96.sha256sum] = "3812c071ba60da8b5677cc12bcb1d42989a65553772897a7e0355545a819838f" | 434 | SRC_URI[openssl-sys-0.9.99.sha256sum] = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae" |
454 | SRC_URI[option-ext-0.2.0.sha256sum] = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" | 435 | SRC_URI[option-ext-0.2.0.sha256sum] = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" |
455 | SRC_URI[os_pipe-1.1.4.sha256sum] = "0ae859aa07428ca9a929b936690f8b12dc5f11dd8c6992a18ca93919f28bc177" | 436 | SRC_URI[os_pipe-1.1.5.sha256sum] = "57119c3b893986491ec9aa85056780d3a0f3cf4da7cc09dd3650dbd6c6738fb9" |
456 | SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" | 437 | SRC_URI[overload-0.1.1.sha256sum] = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" |
457 | SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" | 438 | SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" |
458 | SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" | 439 | SRC_URI[parking_lot_core-0.9.9.sha256sum] = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" |
459 | SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" | 440 | SRC_URI[paste-1.0.14.sha256sum] = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" |
460 | SRC_URI[path-slash-0.2.1.sha256sum] = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" | 441 | SRC_URI[path-slash-0.2.1.sha256sum] = "1e91099d4268b0e11973f036e885d652fb0b21fedcf69738c627f94db6a44f42" |
461 | SRC_URI[pep440_rs-0.3.12.sha256sum] = "887f66cc62717ea72caac4f1eb4e6f392224da3ffff3f40ec13ab427802746d6" | 442 | SRC_URI[pep440_rs-0.5.0.sha256sum] = "15efd4d885c29126cc93e12af3087896e2518bd5ca0fb328c19c4ef9cecfa8be" |
462 | SRC_URI[pep508_rs-0.2.3.sha256sum] = "e4516b53d9ea6112ebb38b4af08d5707d30b994fb7f98ff133c5dcf7ed8fa854" | 443 | SRC_URI[pep508_rs-0.4.2.sha256sum] = "1455babf8edd3eedcdfcb39700e455a4bb189e71b4f1fa0eacc9b244cc5a55e6" |
463 | SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" | 444 | SRC_URI[percent-encoding-2.3.1.sha256sum] = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" |
464 | SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" | 445 | SRC_URI[pin-project-lite-0.2.13.sha256sum] = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" |
465 | SRC_URI[pkg-config-0.3.27.sha256sum] = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" | 446 | SRC_URI[pkg-config-0.3.29.sha256sum] = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb" |
466 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" | 447 | SRC_URI[plain-0.2.3.sha256sum] = "b4596b6d070b27117e987119b4dac604f3c58cfb0b191112e24771b2faeac1a6" |
467 | SRC_URI[platform-info-2.0.2.sha256sum] = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f" | 448 | SRC_URI[platform-info-2.0.2.sha256sum] = "d6259c4860e53bf665016f1b2f46a8859cadfa717581dc9d597ae4069de6300f" |
468 | SRC_URI[portable-atomic-1.5.1.sha256sum] = "3bccab0e7fd7cc19f820a1c8c91720af652d0c88dc9664dd72aef2614f04af3b" | 449 | SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" |
469 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" | 450 | SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" |
470 | SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" | 451 | SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" |
471 | SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" | 452 | SRC_URI[pretty_assertions-1.4.0.sha256sum] = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66" |
472 | SRC_URI[proc-macro2-1.0.70.sha256sum] = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" | 453 | SRC_URI[proc-macro2-1.0.78.sha256sum] = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" |
473 | SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" | 454 | SRC_URI[psm-0.1.21.sha256sum] = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" |
474 | SRC_URI[pyproject-toml-0.8.1.sha256sum] = "46d4a5e69187f23a29f8aa0ea57491d104ba541bc55f76552c2a74962aa20e04" | 455 | SRC_URI[pyproject-toml-0.10.0.sha256sum] = "3b80f889b6d413c3f8963a2c7db03f95dd6e1d85e1074137cb2013ea2faa8898" |
475 | SRC_URI[python-pkginfo-0.6.0.sha256sum] = "037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa" | 456 | SRC_URI[python-pkginfo-0.6.0.sha256sum] = "037469c164f08c891bf6d69ca02f1d56210011451e229618669777df82124cfa" |
476 | SRC_URI[quote-1.0.33.sha256sum] = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" | 457 | SRC_URI[quote-1.0.35.sha256sum] = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" |
477 | SRC_URI[quoted_printable-0.4.8.sha256sum] = "5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49" | 458 | SRC_URI[quoted_printable-0.4.8.sha256sum] = "5a3866219251662ec3b26fc217e3e05bf9c4f84325234dfb96bf0bf840889e49" |
459 | SRC_URI[quoted_printable-0.5.0.sha256sum] = "79ec282e887b434b68c18fe5c121d38e72a5cf35119b59e54ec5b992ea9c8eb0" | ||
478 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" | 460 | SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" |
479 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" | 461 | SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" |
480 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" | 462 | SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" |
481 | SRC_URI[rayon-1.8.0.sha256sum] = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" | 463 | SRC_URI[rayon-1.8.1.sha256sum] = "fa7237101a77a10773db45d62004a272517633fbcc3df19d96455ede1122e051" |
482 | SRC_URI[rayon-core-1.12.0.sha256sum] = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" | 464 | SRC_URI[rayon-core-1.12.1.sha256sum] = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" |
483 | SRC_URI[redox_syscall-0.3.5.sha256sum] = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" | ||
484 | SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" | 465 | SRC_URI[redox_syscall-0.4.1.sha256sum] = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" |
485 | SRC_URI[redox_users-0.4.4.sha256sum] = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" | 466 | SRC_URI[redox_users-0.4.4.sha256sum] = "a18479200779601e498ada4e8c1e1f50e3ee19deb0259c25825a98b5603b2cb4" |
486 | SRC_URI[regex-1.10.2.sha256sum] = "380b951a9c5e80ddfd6136919eef32310721aa4aacd4889a8d39124b026ab343" | 467 | SRC_URI[regex-1.10.3.sha256sum] = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" |
487 | SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" | 468 | SRC_URI[regex-automata-0.1.10.sha256sum] = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" |
488 | SRC_URI[regex-automata-0.4.3.sha256sum] = "5f804c7828047e88b2d32e2d7fe5a105da8ee3264f01902f796c8e067dc2483f" | 469 | SRC_URI[regex-automata-0.4.5.sha256sum] = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" |
489 | SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" | 470 | SRC_URI[regex-syntax-0.6.29.sha256sum] = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" |
490 | SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" | 471 | SRC_URI[regex-syntax-0.8.2.sha256sum] = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" |
491 | SRC_URI[rfc2047-decoder-0.2.2.sha256sum] = "61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e" | 472 | SRC_URI[rfc2047-decoder-0.2.2.sha256sum] = "61fc4b4e52897c3e30b12b7e9b04461215b647fbe66f6def60dd8edbce14ec2e" |
492 | SRC_URI[ring-0.17.6.sha256sum] = "684d5e6e18f669ccebf64a92236bb7db9a34f07be010e3627368182027180866" | 473 | SRC_URI[ring-0.17.7.sha256sum] = "688c63d65483050968b2a8937f7995f443e27041a0f7700aa59b0822aedebb74" |
493 | SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" | 474 | SRC_URI[rustc_version-0.4.0.sha256sum] = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" |
494 | SRC_URI[rustix-0.37.27.sha256sum] = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" | 475 | SRC_URI[rustix-0.38.32.sha256sum] = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" |
495 | SRC_URI[rustix-0.38.21.sha256sum] = "2b426b0506e5d50a7d8dafcf2e81471400deb602392c7dd110815afb4eaf02a3" | 476 | SRC_URI[rustls-0.22.2.sha256sum] = "e87c9956bd9807afa1f77e0f7594af32566e830e088a5576d27c5b6f30f49d41" |
496 | SRC_URI[rustls-0.21.9.sha256sum] = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" | 477 | SRC_URI[rustls-pemfile-2.1.0.sha256sum] = "3c333bb734fcdedcea57de1602543590f545f127dc8b533324318fd492c5c70b" |
497 | SRC_URI[rustls-pemfile-2.0.0.sha256sum] = "35e4980fa29e4c4b212ffb3db068a564cbf560e51d3944b7c88bd8bf5bec64f4" | 478 | SRC_URI[rustls-pki-types-1.3.1.sha256sum] = "5ede67b28608b4c60685c7d54122d4400d90f62b40caee7700e700380a390fa8" |
498 | SRC_URI[rustls-pki-types-1.0.0.sha256sum] = "eb0a1f9b9efec70d32e6d6aa3e58ebd88c3754ec98dfe9145c63cf54cc829b83" | 479 | SRC_URI[rustls-webpki-0.102.1.sha256sum] = "ef4ca26037c909dedb327b48c3327d0ba91d3dd3c4e05dad328f210ffb68e95b" |
499 | SRC_URI[rustls-webpki-0.101.7.sha256sum] = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765" | ||
500 | SRC_URI[rustversion-1.0.14.sha256sum] = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" | 480 | SRC_URI[rustversion-1.0.14.sha256sum] = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" |
501 | SRC_URI[ryu-1.0.15.sha256sum] = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" | 481 | SRC_URI[ryu-1.0.16.sha256sum] = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" |
502 | SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" | 482 | SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" |
503 | SRC_URI[schannel-0.1.22.sha256sum] = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" | 483 | SRC_URI[schannel-0.1.23.sha256sum] = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" |
504 | SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" | 484 | SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" |
505 | SRC_URI[scroll-0.11.0.sha256sum] = "04c565b551bafbef4157586fa379538366e4385d42082f255bfd96e4fe8519da" | 485 | SRC_URI[scroll-0.12.0.sha256sum] = "6ab8598aa408498679922eff7fa985c25d58a90771bd6be794434c5277eab1a6" |
506 | SRC_URI[scroll_derive-0.11.1.sha256sum] = "1db149f81d46d2deba7cd3c50772474707729550221e69588478ebf9ada425ae" | 486 | SRC_URI[scroll_derive-0.12.0.sha256sum] = "7f81c2fde025af7e69b1d1420531c8a8811ca898919db177141a85313b1cb932" |
507 | SRC_URI[sct-0.7.1.sha256sum] = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414" | ||
508 | SRC_URI[security-framework-2.9.2.sha256sum] = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" | 487 | SRC_URI[security-framework-2.9.2.sha256sum] = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" |
509 | SRC_URI[security-framework-sys-2.9.1.sha256sum] = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" | 488 | SRC_URI[security-framework-sys-2.9.1.sha256sum] = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" |
510 | SRC_URI[semver-1.0.20.sha256sum] = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090" | 489 | SRC_URI[semver-1.0.22.sha256sum] = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" |
511 | SRC_URI[serde-1.0.193.sha256sum] = "25dd9975e68d0cb5aa1120c288333fc98731bd1dd12f561e468ea4728c042b89" | 490 | SRC_URI[serde-1.0.197.sha256sum] = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" |
512 | SRC_URI[serde_derive-1.0.193.sha256sum] = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" | 491 | SRC_URI[serde_derive-1.0.197.sha256sum] = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" |
513 | SRC_URI[serde_json-1.0.108.sha256sum] = "3d1c7e3eac408d115102c4c24ad393e0821bb3a5df4d506a80f85f7a742a526b" | 492 | SRC_URI[serde_json-1.0.114.sha256sum] = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" |
514 | SRC_URI[serde_spanned-0.6.4.sha256sum] = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" | 493 | SRC_URI[serde_spanned-0.6.5.sha256sum] = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" |
515 | SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" | 494 | SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" |
516 | SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" | 495 | SRC_URI[sharded-slab-0.1.7.sha256sum] = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" |
517 | SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" | 496 | SRC_URI[shell-words-1.1.0.sha256sum] = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde" |
518 | SRC_URI[shlex-1.2.0.sha256sum] = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380" | 497 | SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" |
519 | SRC_URI[similar-2.3.0.sha256sum] = "2aeaf503862c419d66959f5d7ca015337d864e9c49485d771b732e2a20453597" | 498 | SRC_URI[similar-2.4.0.sha256sum] = "32fea41aca09ee824cc9724996433064c89f7777e60762749a4170a14abbfa21" |
520 | SRC_URI[smallvec-1.11.2.sha256sum] = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970" | 499 | SRC_URI[smallvec-1.13.1.sha256sum] = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" |
521 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" | 500 | SRC_URI[smawk-0.3.2.sha256sum] = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" |
522 | SRC_URI[snapbox-0.4.14.sha256sum] = "4b377c0b6e4715c116473d8e40d51e3fa5b0a2297ca9b2a931ba800667b259ed" | 501 | SRC_URI[snapbox-0.5.7.sha256sum] = "4a99efa20de5053229642a477436cdb39828c7651c614622eb4888f9688523e6" |
523 | SRC_URI[snapbox-macros-0.3.6.sha256sum] = "ed1559baff8a696add3322b9be3e940d433e7bb4e38d79017205fd37ff28b28e" | 502 | SRC_URI[snapbox-macros-0.3.8.sha256sum] = "e1c4b838b05d15ab22754068cb73500b2f3b07bf09d310e15b27f88160f1de40" |
524 | SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" | 503 | SRC_URI[socks-0.3.4.sha256sum] = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" |
525 | SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" | 504 | SRC_URI[spin-0.9.8.sha256sum] = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" |
526 | SRC_URI[stacker-0.1.15.sha256sum] = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" | 505 | SRC_URI[stacker-0.1.15.sha256sum] = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" |
527 | SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" | 506 | SRC_URI[static_assertions-1.1.0.sha256sum] = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" |
528 | SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" | 507 | SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" |
508 | SRC_URI[subtle-2.5.0.sha256sum] = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" | ||
529 | SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" | 509 | SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" |
530 | SRC_URI[syn-2.0.39.sha256sum] = "23e78b90f2fcf45d3e842032ce32e3f2d1545ba6636271dcbf24fa306d87be7a" | 510 | SRC_URI[syn-2.0.48.sha256sum] = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" |
531 | SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" | 511 | SRC_URI[tar-0.4.40.sha256sum] = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb" |
532 | SRC_URI[target-lexicon-0.12.12.sha256sum] = "14c39fd04924ca3a864207c66fc2cd7d22d7c016007f9ce846cbb9326331930a" | 512 | SRC_URI[target-lexicon-0.12.14.sha256sum] = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" |
533 | SRC_URI[tempfile-3.8.1.sha256sum] = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5" | 513 | SRC_URI[tempfile-3.9.0.sha256sum] = "01ce4141aa927a6d1bd34a041795abd0db1cccba5d5f24b009f694bdf3a1f3fa" |
534 | SRC_URI[termcolor-1.4.0.sha256sum] = "ff1bc3d3f05aff0403e8ac0d92ced918ec05b666a43f83297ccef5bea8a3d449" | 514 | SRC_URI[termcolor-1.4.1.sha256sum] = "06794f8f6c5c898b3275aebefa6b8a1cb24cd2c6c79397ab15774837a0bc5755" |
535 | SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237" | 515 | SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7" |
536 | SRC_URI[textwrap-0.16.0.sha256sum] = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" | 516 | SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" |
537 | SRC_URI[thiserror-1.0.50.sha256sum] = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" | 517 | SRC_URI[thiserror-1.0.57.sha256sum] = "1e45bcbe8ed29775f228095caf2cd67af7a4ccf756ebff23a306bf3e8b47b24b" |
538 | SRC_URI[thiserror-impl-1.0.50.sha256sum] = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" | 518 | SRC_URI[thiserror-impl-1.0.57.sha256sum] = "a953cb265bef375dae3de6663da4d3804eee9682ea80d8e2542529b73c531c81" |
539 | SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" | 519 | SRC_URI[thread_local-1.1.7.sha256sum] = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" |
540 | SRC_URI[time-0.3.30.sha256sum] = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" | 520 | SRC_URI[time-0.3.34.sha256sum] = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" |
541 | SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" | 521 | SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" |
542 | SRC_URI[time-macros-0.2.15.sha256sum] = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" | 522 | SRC_URI[time-macros-0.2.17.sha256sum] = "7ba3a3ef41e6672a2f0f001392bb5dcd3ff0a9992d618ca761a11c3121547774" |
543 | SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" | 523 | SRC_URI[tinyvec-1.6.0.sha256sum] = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" |
544 | SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" | 524 | SRC_URI[tinyvec_macros-0.1.1.sha256sum] = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" |
545 | SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" | 525 | SRC_URI[toml-0.5.11.sha256sum] = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" |
546 | SRC_URI[toml-0.8.8.sha256sum] = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35" | 526 | SRC_URI[toml-0.8.10.sha256sum] = "9a9aad4a3066010876e8dcf5a8a06e70a558751117a145c6ce2b82c2e2054290" |
547 | SRC_URI[toml_datetime-0.6.5.sha256sum] = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" | 527 | SRC_URI[toml_datetime-0.6.5.sha256sum] = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" |
548 | SRC_URI[toml_edit-0.20.7.sha256sum] = "70f427fce4d84c72b5b732388bf4a9f4531b53f74e2887e3ecb2481f68f66d81" | 528 | SRC_URI[toml_edit-0.22.6.sha256sum] = "2c1b5fd4128cc8d3e0cb74d4ed9a9cc7c7284becd4df68f5f940e1ad123606f6" |
549 | SRC_URI[toml_edit-0.21.0.sha256sum] = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03" | ||
550 | SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" | 529 | SRC_URI[tracing-0.1.40.sha256sum] = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" |
551 | SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" | 530 | SRC_URI[tracing-attributes-0.1.27.sha256sum] = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" |
552 | SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" | 531 | SRC_URI[tracing-core-0.1.32.sha256sum] = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" |
553 | SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" | 532 | SRC_URI[tracing-log-0.2.0.sha256sum] = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" |
554 | SRC_URI[tracing-serde-0.1.3.sha256sum] = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" | 533 | SRC_URI[tracing-serde-0.1.3.sha256sum] = "bc6b213177105856957181934e4920de57730fc69bf42c37ee5bb664d406d9e1" |
555 | SRC_URI[tracing-subscriber-0.3.18.sha256sum] = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" | 534 | SRC_URI[tracing-subscriber-0.3.18.sha256sum] = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" |
556 | SRC_URI[trycmd-0.14.19.sha256sum] = "ed009372a42fb103e6f8767b9222925485e03cca032b700d203e2c5b67bee4fb" | 535 | SRC_URI[trycmd-0.15.0.sha256sum] = "464edb3603a81a50b4c8f47b11dfade69ef48ffdc0af2f8b194ad87cbda75317" |
557 | SRC_URI[twox-hash-1.6.3.sha256sum] = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" | 536 | SRC_URI[twox-hash-1.6.3.sha256sum] = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" |
558 | SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" | 537 | SRC_URI[typenum-1.17.0.sha256sum] = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" |
559 | SRC_URI[unicase-2.7.0.sha256sum] = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" | 538 | SRC_URI[unicase-2.7.0.sha256sum] = "f7d2d4dafb69621809a81864c9c1b864479e1235c0dd4e199924b9742439ed89" |
560 | SRC_URI[unicode-bidi-0.3.13.sha256sum] = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" | 539 | SRC_URI[unicode-bidi-0.3.15.sha256sum] = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" |
561 | SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" | 540 | SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" |
562 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" | 541 | SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f" |
563 | SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" | 542 | SRC_URI[unicode-normalization-0.1.22.sha256sum] = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" |
564 | SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" | 543 | SRC_URI[unicode-width-0.1.11.sha256sum] = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" |
544 | SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" | ||
545 | SRC_URI[unscanny-0.1.0.sha256sum] = "e9df2af067a7953e9c3831320f35c1cc0600c30d44d9f7a12b01db1cd88d6b47" | ||
565 | SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" | 546 | SRC_URI[untrusted-0.9.0.sha256sum] = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" |
566 | SRC_URI[ureq-2.9.1.sha256sum] = "f8cdd25c339e200129fe4de81451814e5228c9b771d57378817d6117cc2b3f97" | 547 | SRC_URI[ureq-2.9.6.sha256sum] = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35" |
567 | SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" | 548 | SRC_URI[url-2.5.0.sha256sum] = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" |
549 | SRC_URI[urlencoding-2.1.3.sha256sum] = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da" | ||
568 | SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" | 550 | SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" |
569 | SRC_URI[uuid-1.6.1.sha256sum] = "5e395fcf16a7a3d8127ec99782007af141946b4795001f876d54fb0d55978560" | 551 | SRC_URI[uuid-1.7.0.sha256sum] = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a" |
570 | SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" | 552 | SRC_URI[valuable-0.1.0.sha256sum] = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" |
571 | SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" | 553 | SRC_URI[vcpkg-0.2.15.sha256sum] = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" |
572 | SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" | 554 | SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" |
@@ -574,45 +556,37 @@ SRC_URI[versions-5.0.1.sha256sum] = "c73a36bc44e3039f51fbee93e39f41225f6b17b380e | |||
574 | SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" | 556 | SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6" |
575 | SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" | 557 | SRC_URI[walkdir-2.4.0.sha256sum] = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" |
576 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" | 558 | SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" |
577 | SRC_URI[webpki-roots-0.25.3.sha256sum] = "1778a42e8b3b90bff8d0f5032bf22250792889a5cdc752aa0020c84abe3aaf10" | 559 | SRC_URI[webpki-roots-0.26.0.sha256sum] = "0de2cfda980f21be5a7ed2eadb3e6fe074d56022bea2cdeb1a62eb220fc04188" |
578 | SRC_URI[which-5.0.0.sha256sum] = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" | 560 | SRC_URI[which-5.0.0.sha256sum] = "9bf3ea8596f3a0dd5980b46430f2058dfe2c36a27ccfbb1845d6fbfcd9ba6e14" |
579 | SRC_URI[wild-2.2.0.sha256sum] = "10d01931a94d5a115a53f95292f51d316856b68a035618eb831bbba593a30b67" | 561 | SRC_URI[which-6.0.0.sha256sum] = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c" |
562 | SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1" | ||
580 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" | 563 | SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
581 | SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" | 564 | SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
582 | SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" | 565 | SRC_URI[winapi-util-0.1.6.sha256sum] = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" |
583 | SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" | 566 | SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
584 | SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" | ||
585 | SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" | 567 | SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" |
586 | SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" | 568 | SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" |
587 | SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" | ||
588 | SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" | 569 | SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" |
589 | SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" | 570 | SRC_URI[windows-targets-0.52.0.sha256sum] = "8a18201040b24831fbb9e4eb208f8892e1f50a37feb53cc7ff887feb8f50e7cd" |
590 | SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" | ||
591 | SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" | 571 | SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" |
592 | SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" | 572 | SRC_URI[windows_aarch64_gnullvm-0.52.0.sha256sum] = "cb7764e35d4db8a7921e09562a0304bf2f93e0a51bfccee0bd0bb0b666b015ea" |
593 | SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" | ||
594 | SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" | 573 | SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" |
595 | SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" | 574 | SRC_URI[windows_aarch64_msvc-0.52.0.sha256sum] = "bbaa0368d4f1d2aaefc55b6fcfee13f41544ddf36801e793edbbfd7d7df075ef" |
596 | SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" | ||
597 | SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" | 575 | SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" |
598 | SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" | 576 | SRC_URI[windows_i686_gnu-0.52.0.sha256sum] = "a28637cb1fa3560a16915793afb20081aba2c92ee8af57b4d5f28e4b3e7df313" |
599 | SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" | ||
600 | SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" | 577 | SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" |
601 | SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" | 578 | SRC_URI[windows_i686_msvc-0.52.0.sha256sum] = "ffe5e8e31046ce6230cc7215707b816e339ff4d4d67c65dffa206fd0f7aa7b9a" |
602 | SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" | ||
603 | SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" | 579 | SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" |
604 | SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" | 580 | SRC_URI[windows_x86_64_gnu-0.52.0.sha256sum] = "3d6fa32db2bc4a2f5abeacf2b69f7992cd09dca97498da74a151a3132c26befd" |
605 | SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" | ||
606 | SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" | 581 | SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" |
607 | SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" | 582 | SRC_URI[windows_x86_64_gnullvm-0.52.0.sha256sum] = "1a657e1e9d3f514745a572a6846d3c7aa7dbe1658c056ed9c3344c4109a6949e" |
608 | SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" | ||
609 | SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" | 583 | SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" |
610 | SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" | 584 | SRC_URI[windows_x86_64_msvc-0.52.0.sha256sum] = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" |
611 | SRC_URI[winnow-0.5.19.sha256sum] = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" | 585 | SRC_URI[winnow-0.6.2.sha256sum] = "7a4191c47f15cc3ec71fcb4913cb83d58def65dd3787610213c649283b5ce178" |
612 | SRC_URI[xattr-1.0.1.sha256sum] = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985" | 586 | SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" |
613 | SRC_URI[xwin-0.5.0.sha256sum] = "c43e0202f5457b48558096cb7b36d0e473f267551a89c82ed72d73b01dfd4007" | 587 | SRC_URI[xwin-0.5.0.sha256sum] = "c43e0202f5457b48558096cb7b36d0e473f267551a89c82ed72d73b01dfd4007" |
614 | SRC_URI[yansi-0.5.1.sha256sum] = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" | 588 | SRC_URI[yansi-0.5.1.sha256sum] = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" |
615 | SRC_URI[zerocopy-0.7.28.sha256sum] = "7d6f15f7ade05d2a4935e34a457b936c23dc70a05cc1d97133dc99e7a3fe0f0e" | 589 | SRC_URI[zerocopy-0.7.32.sha256sum] = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" |
616 | SRC_URI[zerocopy-derive-0.7.28.sha256sum] = "dbbad221e3f78500350ecbd7dfa4e63ef945c05f4c61cb7f4d3f84cd0bba649b" | 590 | SRC_URI[zerocopy-derive-0.7.32.sha256sum] = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" |
617 | SRC_URI[zeroize-1.7.0.sha256sum] = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" | 591 | SRC_URI[zeroize-1.7.0.sha256sum] = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" |
618 | SRC_URI[zip-0.6.6.sha256sum] = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" | 592 | SRC_URI[zip-0.6.6.sha256sum] = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" |
diff --git a/meta/recipes-devtools/python/python3-maturin/0001-Add-32-bit-RISC-V-support.patch b/meta/recipes-devtools/python/python3-maturin/0001-Add-32-bit-RISC-V-support.patch deleted file mode 100644 index a0ef0c9e22..0000000000 --- a/meta/recipes-devtools/python/python3-maturin/0001-Add-32-bit-RISC-V-support.patch +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | From a945706bd610c5400fc85a248d5e0c96ebd2e953 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 27 Feb 2024 10:38:49 -0800 | ||
4 | Subject: [PATCH] Add 32-bit RISC-V support | ||
5 | |||
6 | Tested with qemuriscv32 and it builds fine with all tests passed on a | ||
7 | qemu machine. | ||
8 | |||
9 | Upstream-Status: Submitted [https://github.com/PyO3/maturin/pull/1969] | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | src/target.rs | 11 ++++++++++- | ||
13 | 1 file changed, 10 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/src/target.rs b/src/target.rs | ||
16 | index fbb93531..33fa9273 100644 | ||
17 | --- a/src/target.rs | ||
18 | +++ b/src/target.rs | ||
19 | @@ -69,6 +69,7 @@ pub enum Arch { | ||
20 | X86_64, | ||
21 | S390X, | ||
22 | Wasm32, | ||
23 | + Riscv32, | ||
24 | Riscv64, | ||
25 | Mips64el, | ||
26 | Mips64, | ||
27 | @@ -91,6 +92,7 @@ impl fmt::Display for Arch { | ||
28 | Arch::X86_64 => write!(f, "x86_64"), | ||
29 | Arch::S390X => write!(f, "s390x"), | ||
30 | Arch::Wasm32 => write!(f, "wasm32"), | ||
31 | + Arch::Riscv32 => write!(f, "riscv32"), | ||
32 | Arch::Riscv64 => write!(f, "riscv64"), | ||
33 | Arch::Mips64el => write!(f, "mips64el"), | ||
34 | Arch::Mips64 => write!(f, "mips64"), | ||
35 | @@ -115,7 +117,7 @@ impl Arch { | ||
36 | Arch::Powerpc | Arch::Powerpc64Le | Arch::Powerpc64 => "powerpc", | ||
37 | Arch::X86 => "i386", | ||
38 | Arch::X86_64 => "amd64", | ||
39 | - Arch::Riscv64 => "riscv", | ||
40 | + Arch::Riscv32 | Arch::Riscv64 => "riscv", | ||
41 | Arch::Mips64el | Arch::Mips64 | Arch::Mipsel | Arch::Mips => "mips", | ||
42 | // sparc64 is unsupported since FreeBSD 13.0 | ||
43 | Arch::Sparc64 => "sparc64", | ||
44 | @@ -139,6 +141,7 @@ fn get_supported_architectures(os: &Os) -> Vec<Arch> { | ||
45 | Arch::S390X, | ||
46 | Arch::X86, | ||
47 | Arch::X86_64, | ||
48 | + Arch::Riscv32, | ||
49 | Arch::Riscv64, | ||
50 | Arch::Mips64el, | ||
51 | Arch::Mips64, | ||
52 | @@ -158,6 +161,7 @@ fn get_supported_architectures(os: &Os) -> Vec<Arch> { | ||
53 | Arch::Powerpc64Le, | ||
54 | Arch::X86, | ||
55 | Arch::X86_64, | ||
56 | + Arch::Riscv32, | ||
57 | Arch::Riscv64, | ||
58 | Arch::Mips64el, | ||
59 | Arch::Mipsel, | ||
60 | @@ -171,6 +175,7 @@ fn get_supported_architectures(os: &Os) -> Vec<Arch> { | ||
61 | Arch::Powerpc, | ||
62 | Arch::Powerpc64, | ||
63 | Arch::Powerpc64Le, | ||
64 | + Arch::Riscv32, | ||
65 | Arch::Riscv64, | ||
66 | Arch::Sparc64, | ||
67 | ], | ||
68 | @@ -255,6 +260,7 @@ impl Target { | ||
69 | Architecture::Powerpc64le => Arch::Powerpc64Le, | ||
70 | Architecture::S390x => Arch::S390X, | ||
71 | Architecture::Wasm32 => Arch::Wasm32, | ||
72 | + Architecture::Riscv32(_) => Arch::Riscv32, | ||
73 | Architecture::Riscv64(_) => Arch::Riscv64, | ||
74 | Architecture::Mips64(mips64_arch) => match mips64_arch { | ||
75 | Mips64Architecture::Mips64el => Arch::Mips64el, | ||
76 | @@ -343,6 +349,7 @@ impl Target { | ||
77 | Arch::X86_64 => "x86_64", | ||
78 | Arch::S390X => "s390x", | ||
79 | Arch::Wasm32 => "wasm32", | ||
80 | + Arch::Riscv32 => "riscv32", | ||
81 | Arch::Riscv64 => "riscv64", | ||
82 | // It's kinda surprising that Python doesn't include the `el` suffix | ||
83 | Arch::Mips64el | Arch::Mips64 => "mips64", | ||
84 | @@ -388,6 +395,7 @@ impl Target { | ||
85 | } | ||
86 | Arch::Armv6L | ||
87 | | Arch::Wasm32 | ||
88 | + | Arch::Riscv32 | ||
89 | | Arch::Riscv64 | ||
90 | | Arch::Mips64el | ||
91 | | Arch::Mips64 | ||
92 | @@ -418,6 +426,7 @@ impl Target { | ||
93 | | Arch::Wasm32 | ||
94 | | Arch::Mipsel | ||
95 | | Arch::Mips | ||
96 | + | Arch::Riscv32 | ||
97 | | Arch::Powerpc => 32, | ||
98 | } | ||
99 | } | ||
100 | -- | ||
101 | 2.44.0 | ||
102 | |||
diff --git a/meta/recipes-devtools/python/python3-maturin_1.4.0.bb b/meta/recipes-devtools/python/python3-maturin_1.5.1.bb index ed19ee647a..96b046feba 100644 --- a/meta/recipes-devtools/python/python3-maturin_1.4.0.bb +++ b/meta/recipes-devtools/python/python3-maturin_1.5.1.bb | |||
@@ -5,8 +5,7 @@ LICENSE = "MIT | Apache-2.0" | |||
5 | LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ | 5 | LIC_FILES_CHKSUM = "file://license-apache;md5=1836efb2eb779966696f473ee8540542 \ |
6 | file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" | 6 | file://license-mit;md5=85fd3b67069cff784d98ebfc7d5c0797" |
7 | 7 | ||
8 | SRC_URI += "file://0001-Add-32-bit-RISC-V-support.patch" | 8 | SRC_URI[sha256sum] = "3dd834ece80edb866af18cbd4635e0ecac40139c726428d5f1849ae154b26dca" |
9 | SRC_URI[sha256sum] = "ed12e1768094a7adeafc3a74ebdb8dc2201fa64c4e7e31f14cfc70378bf93790" | ||
10 | 9 | ||
11 | S = "${WORKDIR}/maturin-${PV}" | 10 | S = "${WORKDIR}/maturin-${PV}" |
12 | 11 | ||
diff --git a/meta/recipes-devtools/python/python3-pluggy_1.4.0.bb b/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb index 76acc4ae27..9822cd59f3 100644 --- a/meta/recipes-devtools/python/python3-pluggy_1.4.0.bb +++ b/meta/recipes-devtools/python/python3-pluggy_1.5.0.bb | |||
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/pytest-dev/pluggy" | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1c8206d16fd5cc02fa9b0bb98955e5c2" |
5 | 5 | ||
6 | SRC_URI[sha256sum] = "8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be" | 6 | SRC_URI[sha256sum] = "2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1" |
7 | 7 | ||
8 | DEPENDS += "python3-setuptools-scm-native" | 8 | DEPENDS += "python3-setuptools-scm-native" |
9 | RDEPENDS:${PN} += "python3-importlib-metadata \ | 9 | RDEPENDS:${PN} += "python3-importlib-metadata \ |
diff --git a/meta/recipes-devtools/python/python3-pycparser_2.21.bb b/meta/recipes-devtools/python/python3-pycparser_2.22.bb index 00deceebf9..0be39ea383 100644 --- a/meta/recipes-devtools/python/python3-pycparser_2.21.bb +++ b/meta/recipes-devtools/python/python3-pycparser_2.22.bb | |||
@@ -1,9 +1,9 @@ | |||
1 | SUMMARY = "Parser of the C language, written in pure Python" | 1 | SUMMARY = "Parser of the C language, written in pure Python" |
2 | HOMEPAGE = "https://github.com/eliben/pycparser" | 2 | HOMEPAGE = "https://github.com/eliben/pycparser" |
3 | LICENSE = "BSD-3-Clause" | 3 | LICENSE = "BSD-3-Clause" |
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=2c28cdeabcb88f5843d934381b4b4fea" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=9761c3ffee7ba99c60dca0408fd3262b" |
5 | 5 | ||
6 | SRC_URI[sha256sum] = "e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" | 6 | SRC_URI[sha256sum] = "491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6" |
7 | 7 | ||
8 | inherit pypi setuptools3 | 8 | inherit pypi setuptools3 |
9 | 9 | ||
@@ -11,9 +11,7 @@ BBCLASSEXTEND = "native nativesdk" | |||
11 | 11 | ||
12 | RDEPENDS:${PN}:class-target += "\ | 12 | RDEPENDS:${PN}:class-target += "\ |
13 | python3-netclient \ | 13 | python3-netclient \ |
14 | python3-ply \ | 14 | " |
15 | python3-pprint \ | ||
16 | " | ||
17 | 15 | ||
18 | RSUGGESTS:${PN}:class-target += "\ | 16 | RSUGGESTS:${PN}:class-target += "\ |
19 | cpp \ | 17 | cpp \ |
diff --git a/meta/recipes-devtools/python/python3-pygobject_3.48.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.48.2.bb index 4754e41c04..3d83a8a1c2 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.48.1.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.48.2.bb | |||
@@ -19,7 +19,7 @@ DEPENDS += "python3 glib-2.0" | |||
19 | SRCNAME="pygobject" | 19 | SRCNAME="pygobject" |
20 | 20 | ||
21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz" | 21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${SRCNAME}/${@gnome_verdir("${PV}")}/${SRCNAME}-${PV}.tar.xz" |
22 | SRC_URI[sha256sum] = "3a0a2c0c0f25931b5840649c54834b9e58a63148d37fa9f6308887b7027e15c2" | 22 | SRC_URI[sha256sum] = "0794aeb4a9be31a092ac20621b5f54ec280f9185943d328b105cdae6298ad1a7" |
23 | 23 | ||
24 | S = "${WORKDIR}/${SRCNAME}-${PV}" | 24 | S = "${WORKDIR}/${SRCNAME}-${PV}" |
25 | 25 | ||
diff --git a/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb b/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb index e714ad838e..9ef3145bf8 100644 --- a/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb +++ b/meta/recipes-devtools/python/python3-pyopenssl_24.1.0.bb | |||
@@ -15,7 +15,6 @@ FILES:${PN}-tests = "${libdir}/${PYTHON_DIR}/site-packages/OpenSSL/test" | |||
15 | 15 | ||
16 | RDEPENDS:${PN}:class-target = " \ | 16 | RDEPENDS:${PN}:class-target = " \ |
17 | python3-cryptography \ | 17 | python3-cryptography \ |
18 | python3-six \ | ||
19 | python3-threading \ | 18 | python3-threading \ |
20 | " | 19 | " |
21 | RDEPENDS:${PN}-tests = "${PN}" | 20 | RDEPENDS:${PN}-tests = "${PN}" |
diff --git a/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb b/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb index 9d08e7acc4..c3f1fb75ed 100644 --- a/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb +++ b/meta/recipes-devtools/python/python3-pyproject-hooks_1.0.0.bb | |||
@@ -22,5 +22,3 @@ RDEPENDS:${PN} += " \ | |||
22 | do_compile:class-native () { | 22 | do_compile:class-native () { |
23 | python_flit_core_do_manual_build | 23 | python_flit_core_do_manual_build |
24 | } | 24 | } |
25 | |||
26 | UPSTREAM_CHECK_PYPI_PACKAGE = "${PYPI_PACKAGE}" | ||
diff --git a/meta/recipes-devtools/python/python3-pytest_8.1.1.bb b/meta/recipes-devtools/python/python3-pytest_8.2.0.bb index b1cf23fbc4..1e6674079f 100644 --- a/meta/recipes-devtools/python/python3-pytest_8.1.1.bb +++ b/meta/recipes-devtools/python/python3-pytest_8.2.0.bb | |||
@@ -5,7 +5,7 @@ DESCRIPTION = "The pytest framework makes it easy to write small tests, yet scal | |||
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" | 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=bd27e41b6550fe0fc45356d1d81ee37c" |
7 | 7 | ||
8 | SRC_URI[sha256sum] = "ac978141a75948948817d360297b7aae0fcb9d6ff6bc9ec6d514b85d5a65c044" | 8 | SRC_URI[sha256sum] = "d507d4482197eac0ba2bae2e9babf0672eb333017bcedaa5fb1a3d42c1174b3f" |
9 | 9 | ||
10 | DEPENDS += "python3-setuptools-scm-native" | 10 | DEPENDS += "python3-setuptools-scm-native" |
11 | 11 | ||
diff --git a/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb b/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb index 3388312557..6e2022719c 100644 --- a/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb +++ b/meta/recipes-devtools/python/python3-pyyaml_6.0.1.bb | |||
@@ -34,7 +34,7 @@ RDEPENDS:${PN}-ptest += " \ | |||
34 | 34 | ||
35 | do_install_ptest() { | 35 | do_install_ptest() { |
36 | install -d ${D}${PTEST_PATH}/tests | 36 | install -d ${D}${PTEST_PATH}/tests |
37 | cp -rf ${WORKDIR}/test_dump_load.py ${D}${PTEST_PATH}/tests/ | 37 | cp -rf ${UNPACKDIR}/test_dump_load.py ${D}${PTEST_PATH}/tests/ |
38 | } | 38 | } |
39 | 39 | ||
40 | BBCLASSEXTEND = "native nativesdk" | 40 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-devtools/python/python3-setuptools_69.2.0.bb b/meta/recipes-devtools/python/python3-setuptools_69.5.1.bb index 897398afc5..8261b09d16 100644 --- a/meta/recipes-devtools/python/python3-setuptools_69.2.0.bb +++ b/meta/recipes-devtools/python/python3-setuptools_69.5.1.bb | |||
@@ -11,7 +11,7 @@ SRC_URI:append:class-native = " file://0001-conditionally-do-not-fetch-code-by-e | |||
11 | SRC_URI += " \ | 11 | SRC_URI += " \ |
12 | file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" | 12 | file://0001-_distutils-sysconfig.py-make-it-possible-to-substite.patch" |
13 | 13 | ||
14 | SRC_URI[sha256sum] = "0ff4183f8f42cd8fa3acea16c45205521a4ef28f73c6391d8a25e92893134f2e" | 14 | SRC_URI[sha256sum] = "6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987" |
15 | 15 | ||
16 | DEPENDS += "python3" | 16 | DEPENDS += "python3" |
17 | 17 | ||
diff --git a/meta/recipes-devtools/python/python3-trove-classifiers_2024.3.3.bb b/meta/recipes-devtools/python/python3-trove-classifiers_2024.4.10.bb index b912efcf55..357b428983 100644 --- a/meta/recipes-devtools/python/python3-trove-classifiers_2024.3.3.bb +++ b/meta/recipes-devtools/python/python3-trove-classifiers_2024.4.10.bb | |||
@@ -3,7 +3,7 @@ HOMEPAGE = "https://github.com/pypa/trove-classifiers" | |||
3 | LICENSE = "Apache-2.0" | 3 | LICENSE = "Apache-2.0" |
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" |
5 | 5 | ||
6 | SRC_URI[sha256sum] = "df7edff9c67ff86b733628998330b180e81d125b1e096536d83ac0fd79673fdc" | 6 | SRC_URI[sha256sum] = "49f40bb6a746b72a1cba4f8d55ee8252169cda0f70802e3fd24f04b7fb25a492" |
7 | 7 | ||
8 | inherit pypi python_setuptools_build_meta ptest | 8 | inherit pypi python_setuptools_build_meta ptest |
9 | 9 | ||
diff --git a/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch b/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch new file mode 100644 index 0000000000..88b84c6024 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From 999d4e74d34afa233ad8ad0c70b989d77a21957f Mon Sep 17 00:00:00 2001 | ||
2 | From: Petr Viktorin <encukou@gmail.com> | ||
3 | Date: Wed, 23 Aug 2023 20:00:07 +0200 | ||
4 | Subject: [PATCH] gh-107811: tarfile: treat overflow in UID/GID as failure to | ||
5 | set it (#108369) | ||
6 | |||
7 | Upstream-Status: Backport [https://github.com/python/cpython/pull/108369] | ||
8 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
9 | --- | ||
10 | Lib/tarfile.py | 3 ++- | ||
11 | .../Library/2023-08-23-17-34-39.gh-issue-107811.3Fng72.rst | 3 +++ | ||
12 | 2 files changed, 5 insertions(+), 1 deletion(-) | ||
13 | create mode 100644 Misc/NEWS.d/next/Library/2023-08-23-17-34-39.gh-issue-107811.3Fng72.rst | ||
14 | |||
15 | diff --git a/Lib/tarfile.py b/Lib/tarfile.py | ||
16 | index 3bbbcaa..473167d 100755 | ||
17 | --- a/Lib/tarfile.py | ||
18 | +++ b/Lib/tarfile.py | ||
19 | @@ -2557,7 +2557,8 @@ class TarFile(object): | ||
20 | os.lchown(targetpath, u, g) | ||
21 | else: | ||
22 | os.chown(targetpath, u, g) | ||
23 | - except OSError as e: | ||
24 | + except (OSError, OverflowError) as e: | ||
25 | + # OverflowError can be raised if an ID doesn't fit in `id_t` | ||
26 | raise ExtractError("could not change owner") from e | ||
27 | |||
28 | def chmod(self, tarinfo, targetpath): | ||
29 | diff --git a/Misc/NEWS.d/next/Library/2023-08-23-17-34-39.gh-issue-107811.3Fng72.rst b/Misc/NEWS.d/next/Library/2023-08-23-17-34-39.gh-issue-107811.3Fng72.rst | ||
30 | new file mode 100644 | ||
31 | index 0000000..ffca413 | ||
32 | --- /dev/null | ||
33 | +++ b/Misc/NEWS.d/next/Library/2023-08-23-17-34-39.gh-issue-107811.3Fng72.rst | ||
34 | @@ -0,0 +1,3 @@ | ||
35 | +:mod:`tarfile`: extraction of members with overly large UID or GID (e.g. on | ||
36 | +an OS with 32-bit :c:type:`!id_t`) now fails in the same way as failing to | ||
37 | +set the ID. | ||
38 | -- | ||
39 | 2.45.0 | ||
40 | |||
diff --git a/meta/recipes-devtools/python/python3/0001-test_shutdown-skip-problematic-test.patch b/meta/recipes-devtools/python/python3/0001-test_shutdown-skip-problematic-test.patch new file mode 100644 index 0000000000..1d4cda18b1 --- /dev/null +++ b/meta/recipes-devtools/python/python3/0001-test_shutdown-skip-problematic-test.patch | |||
@@ -0,0 +1,46 @@ | |||
1 | From 9d4cdbde100798ba9fa1cf3f82dbaf18fd10a543 Mon Sep 17 00:00:00 2001 | ||
2 | From: Trevor Gamblin <tgamblin@baylibre.com> | ||
3 | Date: Wed, 8 May 2024 11:58:09 -0400 | ||
4 | Subject: [PATCH] test_shutdown: skip problematic test | ||
5 | |||
6 | This test hangs frequently when run on the Autobuilder. Disable it in | ||
7 | testing until the cause can be determined. | ||
8 | |||
9 | Upstream-Status: Inappropriate [OE-Specific] | ||
10 | |||
11 | Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com> | ||
12 | --- | ||
13 | Lib/test/test_concurrent_futures/test_shutdown.py | 3 +++ | ||
14 | 1 file changed, 3 insertions(+) | ||
15 | |||
16 | diff --git a/Lib/test/test_concurrent_futures/test_shutdown.py b/Lib/test/test_concurrent_futures/test_shutdown.py | ||
17 | index 7a4065afd4..6b878a48bf 100644 | ||
18 | --- a/Lib/test/test_concurrent_futures/test_shutdown.py | ||
19 | +++ b/Lib/test/test_concurrent_futures/test_shutdown.py | ||
20 | @@ -20,6 +20,7 @@ def sleep_and_print(t, msg): | ||
21 | sys.stdout.flush() | ||
22 | |||
23 | |||
24 | +@unittest.skip("skipping problematic test") | ||
25 | class ExecutorShutdownTest: | ||
26 | def test_run_after_shutdown(self): | ||
27 | self.executor.shutdown() | ||
28 | @@ -156,6 +157,7 @@ def timeout(_signum, _frame): | ||
29 | signal.signal(signal.SIGALRM, old_handler) | ||
30 | |||
31 | |||
32 | +@unittest.skip("skipping problematic test") | ||
33 | class ThreadPoolShutdownTest(ThreadPoolMixin, ExecutorShutdownTest, BaseTestCase): | ||
34 | def test_threads_terminate(self): | ||
35 | def acquire_lock(lock): | ||
36 | @@ -252,6 +254,7 @@ def test_cancel_futures_wait_false(self): | ||
37 | self.assertIn(out.strip(), [b"apple", b""]) | ||
38 | |||
39 | |||
40 | +@unittest.skip("skipping problematic test") | ||
41 | class ProcessPoolShutdownTest(ExecutorShutdownTest): | ||
42 | def test_processes_terminate(self): | ||
43 | def acquire_lock(lock): | ||
44 | -- | ||
45 | 2.45.0 | ||
46 | |||
diff --git a/meta/recipes-devtools/python/python3_3.12.3.bb b/meta/recipes-devtools/python/python3_3.12.3.bb index b49a58a101..37afa442fa 100644 --- a/meta/recipes-devtools/python/python3_3.12.3.bb +++ b/meta/recipes-devtools/python/python3_3.12.3.bb | |||
@@ -30,6 +30,8 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ | |||
30 | file://0001-skip-no_stdout_fileno-test-due-to-load-variability.patch \ | 30 | file://0001-skip-no_stdout_fileno-test-due-to-load-variability.patch \ |
31 | file://0001-test_storlines-skip-due-to-load-variability.patch \ | 31 | file://0001-test_storlines-skip-due-to-load-variability.patch \ |
32 | file://0001-gh-114492-Initialize-struct-termios-before-calling-t.patch \ | 32 | file://0001-gh-114492-Initialize-struct-termios-before-calling-t.patch \ |
33 | file://0001-test_shutdown-skip-problematic-test.patch \ | ||
34 | file://0001-gh-107811-tarfile-treat-overflow-in-UID-GID-as-failu.patch \ | ||
33 | " | 35 | " |
34 | 36 | ||
35 | SRC_URI:append:class-native = " \ | 37 | SRC_URI:append:class-native = " \ |
@@ -157,7 +159,7 @@ do_compile:prepend() { | |||
157 | } | 159 | } |
158 | 160 | ||
159 | do_install:prepend() { | 161 | do_install:prepend() { |
160 | ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile | 162 | ${UNPACKDIR}/check_build_completeness.py ${T}/log.do_compile |
161 | } | 163 | } |
162 | 164 | ||
163 | do_install:append:class-target() { | 165 | do_install:append:class-target() { |
@@ -197,7 +199,7 @@ do_install:append:class-native() { | |||
197 | 199 | ||
198 | do_install:append() { | 200 | do_install:append() { |
199 | for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do | 201 | for c in ${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do |
200 | python3 ${WORKDIR}/reformat_sysconfig.py $c | 202 | python3 ${UNPACKDIR}/reformat_sysconfig.py $c |
201 | done | 203 | done |
202 | rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython* | 204 | rm -f ${D}${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata*.cpython* |
203 | 205 | ||
@@ -284,7 +286,7 @@ py_package_preprocess () { | |||
284 | # Reformat _sysconfigdata after modifying it so that it remains | 286 | # Reformat _sysconfigdata after modifying it so that it remains |
285 | # reproducible | 287 | # reproducible |
286 | for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do | 288 | for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do |
287 | python3 ${WORKDIR}/reformat_sysconfig.py $c | 289 | python3 ${UNPACKDIR}/reformat_sysconfig.py $c |
288 | done | 290 | done |
289 | 291 | ||
290 | # Recompile _sysconfigdata after modifying it | 292 | # Recompile _sysconfigdata after modifying it |
@@ -397,6 +399,7 @@ do_create_manifest() { | |||
397 | # e.g. BerkeleyDB is an optional build dependency so it may or may not | 399 | # e.g. BerkeleyDB is an optional build dependency so it may or may not |
398 | # be present, we must ensure it is. | 400 | # be present, we must ensure it is. |
399 | 401 | ||
402 | cp ${UNPACKDIR}/create_manifest3.py ${WORKDIR} | ||
400 | cd ${WORKDIR} | 403 | cd ${WORKDIR} |
401 | # This needs to be executed by python-native and NOT by HOST's python | 404 | # This needs to be executed by python-native and NOT by HOST's python |
402 | nativepython3 create_manifest3.py ${PYTHON_MAJMIN} | 405 | nativepython3 create_manifest3.py ${PYTHON_MAJMIN} |
diff --git a/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb b/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb index 5d40784201..90bba84b03 100644 --- a/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb +++ b/meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb | |||
@@ -18,7 +18,8 @@ SRC_URI = "file://${COREBASE}/scripts/runqemu \ | |||
18 | file://${COREBASE}/scripts/runqemu-export-rootfs \ | 18 | file://${COREBASE}/scripts/runqemu-export-rootfs \ |
19 | " | 19 | " |
20 | 20 | ||
21 | S = "${WORKDIR}" | 21 | S = "${WORKDIR}/sources" |
22 | UNPACKDIR = "${S}" | ||
22 | 23 | ||
23 | inherit nativesdk | 24 | inherit nativesdk |
24 | 25 | ||
@@ -28,6 +29,6 @@ do_compile() { | |||
28 | 29 | ||
29 | do_install() { | 30 | do_install() { |
30 | install -d ${D}${bindir} | 31 | install -d ${D}${bindir} |
31 | install -m 0755 ${WORKDIR}${COREBASE}/scripts/oe-* ${D}${bindir}/ | 32 | install -m 0755 ${S}${COREBASE}/scripts/oe-* ${D}${bindir}/ |
32 | install -m 0755 ${WORKDIR}${COREBASE}/scripts/runqemu* ${D}${bindir}/ | 33 | install -m 0755 ${S}${COREBASE}/scripts/runqemu* ${D}${bindir}/ |
33 | } | 34 | } |
diff --git a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb index 1dfce0e4c7..28a3b95c4e 100644 --- a/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb +++ b/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb | |||
@@ -2,11 +2,12 @@ SUMMARY = "Helper utilities needed by the runqemu script" | |||
2 | LICENSE = "GPL-2.0-only" | 2 | LICENSE = "GPL-2.0-only" |
3 | RDEPENDS:${PN} = "qemu-system-native" | 3 | RDEPENDS:${PN} = "qemu-system-native" |
4 | 4 | ||
5 | LIC_FILES_CHKSUM = "file://${WORKDIR}/qemu-oe-bridge-helper.c;endline=4;md5=ae00a3bab86f2caaa8462eacda77f4d7" | 5 | LIC_FILES_CHKSUM = "file://${S}/qemu-oe-bridge-helper.c;endline=4;md5=ae00a3bab86f2caaa8462eacda77f4d7" |
6 | 6 | ||
7 | SRC_URI = "file://qemu-oe-bridge-helper.c" | 7 | SRC_URI = "file://qemu-oe-bridge-helper.c" |
8 | 8 | ||
9 | S = "${WORKDIR}" | 9 | S = "${WORKDIR}/sources" |
10 | UNPACKDIR = "${S}" | ||
10 | 11 | ||
11 | inherit native | 12 | inherit native |
12 | 13 | ||
diff --git a/meta/recipes-devtools/qemu/qemu-system-native_8.2.1.bb b/meta/recipes-devtools/qemu/qemu-system-native_8.2.1.bb index 0634b34242..5d2fbcbc02 100644 --- a/meta/recipes-devtools/qemu/qemu-system-native_8.2.1.bb +++ b/meta/recipes-devtools/qemu/qemu-system-native_8.2.1.bb | |||
@@ -17,7 +17,7 @@ PACKAGECONFIG ??= "fdt alsa kvm pie slirp png \ | |||
17 | PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" | 17 | PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" |
18 | 18 | ||
19 | do_install:append() { | 19 | do_install:append() { |
20 | install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu | 20 | install -Dm 0755 ${UNPACKDIR}/powerpc_rom.bin ${D}${datadir}/qemu |
21 | 21 | ||
22 | # The following is also installed by qemu-native | 22 | # The following is also installed by qemu-native |
23 | rm -f ${D}${datadir}/qemu/trace-events-all | 23 | rm -f ${D}${datadir}/qemu/trace-events-all |
diff --git a/meta/recipes-devtools/qemu/qemu.inc b/meta/recipes-devtools/qemu/qemu.inc index 4501f84c2b..f76cbbb5cb 100644 --- a/meta/recipes-devtools/qemu/qemu.inc +++ b/meta/recipes-devtools/qemu/qemu.inc | |||
@@ -168,11 +168,11 @@ do_install () { | |||
168 | # If we built the guest agent, also install startup/udev rules | 168 | # If we built the guest agent, also install startup/udev rules |
169 | if [ -e "${D}${bindir}/qemu-ga" ]; then | 169 | if [ -e "${D}${bindir}/qemu-ga" ]; then |
170 | install -d ${D}${sysconfdir}/init.d/ | 170 | install -d ${D}${sysconfdir}/init.d/ |
171 | install -m 0755 ${WORKDIR}/qemu-guest-agent.init ${D}${sysconfdir}/init.d/qemu-guest-agent | 171 | install -m 0755 ${UNPACKDIR}/qemu-guest-agent.init ${D}${sysconfdir}/init.d/qemu-guest-agent |
172 | sed -i 's:@bindir@:${bindir}:' ${D}${sysconfdir}/init.d/qemu-guest-agent | 172 | sed -i 's:@bindir@:${bindir}:' ${D}${sysconfdir}/init.d/qemu-guest-agent |
173 | 173 | ||
174 | install -d ${D}${sysconfdir}/udev/rules.d/ | 174 | install -d ${D}${sysconfdir}/udev/rules.d/ |
175 | install -m 0644 ${WORKDIR}/qemu-guest-agent.udev ${D}${sysconfdir}/udev/rules.d/60-qemu-guest-agent.rules | 175 | install -m 0644 ${UNPACKDIR}/qemu-guest-agent.udev ${D}${sysconfdir}/udev/rules.d/60-qemu-guest-agent.rules |
176 | 176 | ||
177 | install -d ${D}${systemd_unitdir}/system/ | 177 | install -d ${D}${systemd_unitdir}/system/ |
178 | install -m 0644 ${S}/contrib/systemd/qemu-guest-agent.service ${D}${systemd_unitdir}/system | 178 | install -m 0644 ${S}/contrib/systemd/qemu-guest-agent.service ${D}${systemd_unitdir}/system |
diff --git a/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb b/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb index 97b44ad2e5..6d0e7883ad 100644 --- a/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb +++ b/meta/recipes-devtools/qemu/qemuwrapper-cross_1.0.bb | |||
@@ -2,7 +2,8 @@ SUMMARY = "QEMU wrapper script" | |||
2 | HOMEPAGE = "http://qemu.org" | 2 | HOMEPAGE = "http://qemu.org" |
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | 4 | ||
5 | S = "${WORKDIR}" | 5 | S = "${WORKDIR}/sources" |
6 | UNPACKDIR = "${S}" | ||
6 | 7 | ||
7 | DEPENDS += "qemu-native" | 8 | DEPENDS += "qemu-native" |
8 | 9 | ||
diff --git a/meta/recipes-devtools/quilt/quilt.inc b/meta/recipes-devtools/quilt/quilt.inc index 3374f4dfbf..1d90d3d84d 100644 --- a/meta/recipes-devtools/quilt/quilt.inc +++ b/meta/recipes-devtools/quilt/quilt.inc | |||
@@ -67,7 +67,7 @@ DEPENDS:append:class-target = "${@bb.utils.contains('PTEST_ENABLED', '1', ' ptes | |||
67 | PACKAGE_WRITE_DEPS += "ptest-runner" | 67 | PACKAGE_WRITE_DEPS += "ptest-runner" |
68 | 68 | ||
69 | do_install_ptest() { | 69 | do_install_ptest() { |
70 | install ${WORKDIR}/test.sh ${D}${PTEST_PATH} | 70 | install ${UNPACKDIR}/test.sh ${D}${PTEST_PATH} |
71 | mkdir ${D}${PTEST_PATH}/test | 71 | mkdir ${D}${PTEST_PATH}/test |
72 | install ${S}/test/* ${D}${PTEST_PATH}/test | 72 | install ${S}/test/* ${D}${PTEST_PATH}/test |
73 | # mail needs a MTA, and the patch-wrapper is disabled | 73 | # mail needs a MTA, and the patch-wrapper is disabled |
diff --git a/meta/recipes-devtools/repo/repo_2.44.bb b/meta/recipes-devtools/repo/repo_2.45.bb index 875897851a..dd12373e3a 100644 --- a/meta/recipes-devtools/repo/repo_2.44.bb +++ b/meta/recipes-devtools/repo/repo_2.45.bb | |||
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | |||
11 | 11 | ||
12 | SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \ | 12 | SRC_URI = "git://gerrit.googlesource.com/git-repo.git;protocol=https;branch=main \ |
13 | " | 13 | " |
14 | SRCREV = "fff1d2d74c2078b62cc9c2561330e41a842dc197" | 14 | SRCREV = "73356f1d5ccbebf5a33e5e9aa1ba06c5f5437fed" |
15 | 15 | ||
16 | MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" | 16 | MIRRORS += "git://gerrit.googlesource.com/git-repo.git git://github.com/GerritCodeReview/git-repo.git" |
17 | 17 | ||
@@ -22,7 +22,7 @@ do_configure:prepend() { | |||
22 | } | 22 | } |
23 | 23 | ||
24 | do_install() { | 24 | do_install() { |
25 | install -D ${WORKDIR}/git/repo ${D}${bindir}/repo | 25 | install -D ${S}/repo ${D}${bindir}/repo |
26 | } | 26 | } |
27 | 27 | ||
28 | RDEPENDS:${PN} = "python3 git" | 28 | RDEPENDS:${PN} = "python3 git" |
diff --git a/meta/recipes-devtools/rsync/rsync_3.3.0.bb b/meta/recipes-devtools/rsync/rsync_3.3.0.bb index b42026331d..a90d2887bd 100644 --- a/meta/recipes-devtools/rsync/rsync_3.3.0.bb +++ b/meta/recipes-devtools/rsync/rsync_3.3.0.bb | |||
@@ -61,7 +61,7 @@ do_configure:append () { | |||
61 | 61 | ||
62 | do_install:append() { | 62 | do_install:append() { |
63 | install -d ${D}${sysconfdir} | 63 | install -d ${D}${sysconfdir} |
64 | install -m 0644 ${WORKDIR}/rsyncd.conf ${D}${sysconfdir} | 64 | install -m 0644 ${UNPACKDIR}/rsyncd.conf ${D}${sysconfdir} |
65 | } | 65 | } |
66 | 66 | ||
67 | BBCLASSEXTEND = "native nativesdk" | 67 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-devtools/ruby/ruby_3.3.0.bb b/meta/recipes-devtools/ruby/ruby_3.3.0.bb index 17eb6d73c2..657fc31b4d 100644 --- a/meta/recipes-devtools/ruby/ruby_3.3.0.bb +++ b/meta/recipes-devtools/ruby/ruby_3.3.0.bb | |||
@@ -13,7 +13,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5b8c87559868796979806100db3f3805 \ | |||
13 | file://LEGAL;md5=81e6a4d81533b9263da4c3485a0ad883 \ | 13 | file://LEGAL;md5=81e6a4d81533b9263da4c3485a0ad883 \ |
14 | " | 14 | " |
15 | 15 | ||
16 | DEPENDS = "zlib openssl libyaml gdbm readline libffi" | 16 | DEPENDS = "zlib openssl libyaml libffi" |
17 | DEPENDS:append:class-target = " ruby-native" | 17 | DEPENDS:append:class-target = " ruby-native" |
18 | DEPENDS:append:class-nativesdk = " ruby-native" | 18 | DEPENDS:append:class-nativesdk = " ruby-native" |
19 | 19 | ||
diff --git a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb index e977942de8..f571e61921 100644 --- a/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb +++ b/meta/recipes-devtools/run-postinsts/run-postinsts_1.0.bb | |||
@@ -8,7 +8,8 @@ SRC_URI = "file://run-postinsts \ | |||
8 | file://run-postinsts.init \ | 8 | file://run-postinsts.init \ |
9 | file://run-postinsts.service" | 9 | file://run-postinsts.service" |
10 | 10 | ||
11 | S = "${WORKDIR}" | 11 | S = "${WORKDIR}/sources" |
12 | UNPACKDIR = "${S}" | ||
12 | 13 | ||
13 | inherit allarch systemd update-rc.d | 14 | inherit allarch systemd update-rc.d |
14 | 15 | ||
@@ -29,13 +30,13 @@ do_compile () { | |||
29 | 30 | ||
30 | do_install() { | 31 | do_install() { |
31 | install -d ${D}${sbindir} | 32 | install -d ${D}${sbindir} |
32 | install -m 0755 ${WORKDIR}/run-postinsts ${D}${sbindir}/ | 33 | install -m 0755 ${S}/run-postinsts ${D}${sbindir}/ |
33 | 34 | ||
34 | install -d ${D}${sysconfdir}/init.d/ | 35 | install -d ${D}${sysconfdir}/init.d/ |
35 | install -m 0755 ${WORKDIR}/run-postinsts.init ${D}${sysconfdir}/init.d/run-postinsts | 36 | install -m 0755 ${S}/run-postinsts.init ${D}${sysconfdir}/init.d/run-postinsts |
36 | 37 | ||
37 | install -d ${D}${systemd_system_unitdir}/ | 38 | install -d ${D}${systemd_system_unitdir}/ |
38 | install -m 0644 ${WORKDIR}/run-postinsts.service ${D}${systemd_system_unitdir}/ | 39 | install -m 0644 ${S}/run-postinsts.service ${D}${systemd_system_unitdir}/ |
39 | 40 | ||
40 | sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \ | 41 | sed -i -e 's:#SYSCONFDIR#:${sysconfdir}:g' \ |
41 | -e 's:#SBINDIR#:${sbindir}:g' \ | 42 | -e 's:#SBINDIR#:${sbindir}:g' \ |
diff --git a/meta/recipes-devtools/rust/cargo_1.75.0.bb b/meta/recipes-devtools/rust/cargo_1.75.0.bb index 50b7e7c7b4..123032cdf7 100644 --- a/meta/recipes-devtools/rust/cargo_1.75.0.bb +++ b/meta/recipes-devtools/rust/cargo_1.75.0.bb | |||
@@ -22,7 +22,7 @@ inherit cargo pkgconfig | |||
22 | DEBUG_PREFIX_MAP += "-fdebug-prefix-map=${RUSTSRC}/vendor=${TARGET_DBGSRC_DIR}" | 22 | DEBUG_PREFIX_MAP += "-fdebug-prefix-map=${RUSTSRC}/vendor=${TARGET_DBGSRC_DIR}" |
23 | 23 | ||
24 | do_cargo_setup_snapshot () { | 24 | do_cargo_setup_snapshot () { |
25 | ${WORKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig | 25 | ${UNPACKDIR}/rust-snapshot-components/${CARGO_SNAPSHOT}/install.sh --prefix="${WORKDIR}/${CARGO_SNAPSHOT}" --disable-ldconfig |
26 | # Need to use uninative's loader if enabled/present since the library paths | 26 | # Need to use uninative's loader if enabled/present since the library paths |
27 | # are used internally by rust and result in symbol mismatches if we don't | 27 | # are used internally by rust and result in symbol mismatches if we don't |
28 | if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then | 28 | if [ ! -z "${UNINATIVE_LOADER}" -a -e "${UNINATIVE_LOADER}" ]; then |
diff --git a/meta/recipes-devtools/rust/files/cargo-path.patch b/meta/recipes-devtools/rust/files/cargo-path.patch deleted file mode 100644 index 9a50c40220..0000000000 --- a/meta/recipes-devtools/rust/files/cargo-path.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | Fix the cargo binary path error and ensure that it is fetched | ||
2 | during rustc bootstrap in rust oe-selftest. | ||
3 | |||
4 | ====================================================================== | ||
5 | ERROR: test_cargoflags (bootstrap_test.BuildBootstrap) | ||
6 | ---------------------------------------------------------------------- | ||
7 | Traceback (most recent call last): | ||
8 | File "/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/src/bootstrap/bootstrap_test.py", line 157, in test_cargoflags | ||
9 | args, _ = self.build_args(env={"CARGOFLAGS": "--timings"}) | ||
10 | File "/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/src/bootstrap/bootstrap_test.py", line 154, in build_args | ||
11 | return build.build_bootstrap_cmd(env), env | ||
12 | File "/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/src/bootstrap/bootstrap.py", line 960, in build_bootstrap_cmd | ||
13 | raise Exception("no cargo executable found at `{}`".format( | ||
14 | Exception: no cargo executable found at `/home/build-st/tmp/work/cortexa57-poky-linux/rust/1.74.1/rustc-1.74.1-src/build/x86_64-unknown-linux-gnu/stage0/bin/cargo` | ||
15 | |||
16 | Upstream-Status: Submitted [https://github.com/rust-lang/rust/pull/120125] | ||
17 | |||
18 | Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com> | ||
19 | --- | ||
20 | diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py | ||
21 | --- a/src/bootstrap/bootstrap.py | ||
22 | +++ b/src/bootstrap/bootstrap.py | ||
23 | @@ -954,9 +954,11 @@ | ||
24 | if "RUSTFLAGS_BOOTSTRAP" in env: | ||
25 | env["RUSTFLAGS"] += " " + env["RUSTFLAGS_BOOTSTRAP"] | ||
26 | |||
27 | - env["PATH"] = os.path.join(self.bin_root(), "bin") + \ | ||
28 | - os.pathsep + env["PATH"] | ||
29 | - if not os.path.isfile(self.cargo()): | ||
30 | + cargo_bin_path = os.path.join(self.bin_root(), "bin", "cargo") | ||
31 | + if not os.path.isfile(cargo_bin_path): | ||
32 | + cargo_bin_path = os.getenv("RUST_TARGET_PATH") + "rust-snapshot/bin/cargo" | ||
33 | + env["PATH"] = os.path.dirname(cargo_bin_path) + os.pathsep + env["PATH"] | ||
34 | + else: | ||
35 | raise Exception("no cargo executable found at `{}`".format( | ||
36 | self.cargo())) | ||
37 | args = [self.cargo(), "build", "--manifest-path", | ||
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian.inc b/meta/recipes-devtools/rust/rust-cross-canadian.inc index 7bfef6d175..f962437d6b 100644 --- a/meta/recipes-devtools/rust/rust-cross-canadian.inc +++ b/meta/recipes-devtools/rust/rust-cross-canadian.inc | |||
@@ -12,7 +12,8 @@ DEPENDS += "virtual/${SDK_PREFIX}gcc virtual/nativesdk-libc virtual/nativesdk-${ | |||
12 | 12 | ||
13 | SRC_URI += "file://target-rust-ccld.c" | 13 | SRC_URI += "file://target-rust-ccld.c" |
14 | LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" | 14 | LIC_FILES_CHKSUM = "file://target-rust-ccld.c;md5=af4e0e29f81a34cffe05aa07c89e93e9;endline=7" |
15 | S = "${WORKDIR}" | 15 | S = "${WORKDIR}/sources" |
16 | UNPACKDIR = "${S}" | ||
16 | 17 | ||
17 | # Need to use our SDK's sh here, see #14878 | 18 | # Need to use our SDK's sh here, see #14878 |
18 | create_sdk_wrapper () { | 19 | create_sdk_wrapper () { |
@@ -46,7 +47,7 @@ do_install () { | |||
46 | # where the context is easier to do the env maniupations needed | 47 | # where the context is easier to do the env maniupations needed |
47 | install -d ${SYS_BINDIR} | 48 | install -d ${SYS_BINDIR} |
48 | outfile="${SYS_BINDIR}/target-rust-ccld" | 49 | outfile="${SYS_BINDIR}/target-rust-ccld" |
49 | ${CC} ${WORKDIR}/target-rust-ccld.c -o $outfile | 50 | ${CC} ${S}/target-rust-ccld.c -o $outfile |
50 | chmod +x "$outfile" | 51 | chmod +x "$outfile" |
51 | create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld-wrapper" "CC" | 52 | create_sdk_wrapper "${SYS_BINDIR}/target-rust-ccld-wrapper" "CC" |
52 | 53 | ||
diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc index b14221b6cb..c83c8ec3a3 100644 --- a/meta/recipes-devtools/rust/rust-source.inc +++ b/meta/recipes-devtools/rust/rust-source.inc | |||
@@ -7,7 +7,6 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n | |||
7 | file://rv32-missing-syscalls.patch;patchdir=${RUSTSRC} \ | 7 | file://rv32-missing-syscalls.patch;patchdir=${RUSTSRC} \ |
8 | file://rv32-rustix-libc-backend.patch;patchdir=${RUSTSRC} \ | 8 | file://rv32-rustix-libc-backend.patch;patchdir=${RUSTSRC} \ |
9 | file://rv32-cargo-rustix-0.38.19-fix.patch;patchdir=${RUSTSRC} \ | 9 | file://rv32-cargo-rustix-0.38.19-fix.patch;patchdir=${RUSTSRC} \ |
10 | file://cargo-path.patch;patchdir=${RUSTSRC} \ | ||
11 | file://custom-target-cfg.patch;patchdir=${RUSTSRC} \ | 10 | file://custom-target-cfg.patch;patchdir=${RUSTSRC} \ |
12 | file://rustc-bootstrap.patch;patchdir=${RUSTSRC} \ | 11 | file://rustc-bootstrap.patch;patchdir=${RUSTSRC} \ |
13 | file://target-build-value.patch;patchdir=${RUSTSRC} \ | 12 | file://target-build-value.patch;patchdir=${RUSTSRC} \ |
diff --git a/meta/recipes-devtools/rust/rust_1.75.0.bb b/meta/recipes-devtools/rust/rust_1.75.0.bb index 76e1fe2d84..c1b0a35e7b 100644 --- a/meta/recipes-devtools/rust/rust_1.75.0.bb +++ b/meta/recipes-devtools/rust/rust_1.75.0.bb | |||
@@ -35,8 +35,6 @@ RUST_ALTERNATE_EXE_PATH_NATIVE = "${STAGING_LIBDIR_NATIVE}/llvm-rust/bin/llvm-co | |||
35 | # own vendoring. | 35 | # own vendoring. |
36 | CARGO_DISABLE_BITBAKE_VENDORING = "1" | 36 | CARGO_DISABLE_BITBAKE_VENDORING = "1" |
37 | 37 | ||
38 | # We can't use RUST_BUILD_SYS here because that may be "musl" if | ||
39 | # TCLIBC="musl". Snapshots are always -unknown-linux-gnu | ||
40 | setup_cargo_environment () { | 38 | setup_cargo_environment () { |
41 | # The first step is to build bootstrap and some early stage tools, | 39 | # The first step is to build bootstrap and some early stage tools, |
42 | # these are build for the same target as the snapshot, e.g. | 40 | # these are build for the same target as the snapshot, e.g. |
@@ -48,14 +46,14 @@ setup_cargo_environment () { | |||
48 | inherit rust-target-config | 46 | inherit rust-target-config |
49 | 47 | ||
50 | do_rust_setup_snapshot () { | 48 | do_rust_setup_snapshot () { |
51 | for installer in "${WORKDIR}/rust-snapshot-components/"*"/install.sh"; do | 49 | for installer in "${UNPACKDIR}/rust-snapshot-components/"*"/install.sh"; do |
52 | "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig | 50 | "${installer}" --prefix="${WORKDIR}/rust-snapshot" --disable-ldconfig |
53 | done | 51 | done |
54 | 52 | ||
55 | # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo | 53 | # Some versions of rust (e.g. 1.18.0) tries to find cargo in stage0/bin/cargo |
56 | # and fail without it there. | 54 | # and fail without it there. |
57 | mkdir -p ${RUSTSRC}/build/${BUILD_SYS} | 55 | mkdir -p ${RUSTSRC}/build/${RUST_BUILD_SYS} |
58 | ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${BUILD_SYS}/stage0 | 56 | ln -sf ${WORKDIR}/rust-snapshot/ ${RUSTSRC}/build/${RUST_BUILD_SYS}/stage0 |
59 | 57 | ||
60 | # Need to use uninative's loader if enabled/present since the library paths | 58 | # Need to use uninative's loader if enabled/present since the library paths |
61 | # are used internally by rust and result in symbol mismatches if we don't | 59 | # are used internally by rust and result in symbol mismatches if we don't |
diff --git a/meta/recipes-devtools/strace/strace_6.7.bb b/meta/recipes-devtools/strace/strace_6.8.bb index f365477ccd..e1cc65e053 100644 --- a/meta/recipes-devtools/strace/strace_6.7.bb +++ b/meta/recipes-devtools/strace/strace_6.8.bb | |||
@@ -15,7 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ | |||
15 | file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \ | 15 | file://0001-configure-Use-autoconf-macro-to-detect-largefile-sup.patch \ |
16 | file://0002-tests-Replace-off64_t-with-off_t.patch \ | 16 | file://0002-tests-Replace-off64_t-with-off_t.patch \ |
17 | " | 17 | " |
18 | SRC_URI[sha256sum] = "2090201e1a3ff32846f4fe421c1163b15f440bb38e31355d09f82d3949922af7" | 18 | SRC_URI[sha256sum] = "ba6950a96824cdf93a584fa04f0a733896d2a6bc5f0ad9ffe505d9b41e970149" |
19 | 19 | ||
20 | inherit autotools ptest | 20 | inherit autotools ptest |
21 | 21 | ||
@@ -47,10 +47,6 @@ do_install_ptest() { | |||
47 | sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile | 47 | sed -i -e '/^src/s/strace.*[0-9]/ptest/' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile |
48 | } | 48 | } |
49 | 49 | ||
50 | RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed" | 50 | RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed locale-base-en-us" |
51 | |||
52 | RDEPENDS:${PN}-ptest:append:libc-glibc = "\ | ||
53 | locale-base-en-us.iso-8859-1 \ | ||
54 | " | ||
55 | 51 | ||
56 | BBCLASSEXTEND = "native" | 52 | BBCLASSEXTEND = "native" |
diff --git a/meta/recipes-devtools/swig/swig.inc b/meta/recipes-devtools/swig/swig.inc deleted file mode 100644 index 7a6c4d7359..0000000000 --- a/meta/recipes-devtools/swig/swig.inc +++ /dev/null | |||
@@ -1,67 +0,0 @@ | |||
1 | SUMMARY = "SWIG - Simplified Wrapper and Interface Generator" | ||
2 | DESCRIPTION = "SWIG is a compiler that makes it easy to integrate C and C++ \ | ||
3 | code with other languages including Perl, Tcl, Ruby, Python, Java, Guile, \ | ||
4 | Mzscheme, Chicken, OCaml, Pike, and C#." | ||
5 | HOMEPAGE = "http://swig.sourceforge.net/" | ||
6 | LICENSE = "BSD-3-Clause & GPL-3.0-only" | ||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \ | ||
8 | file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \ | ||
9 | file://LICENSE-UNIVERSITIES;md5=8ce9dcc8f7c994de4a408b205c72ba08" | ||
10 | |||
11 | SECTION = "devel" | ||
12 | |||
13 | DEPENDS = "libpcre2 bison-native" | ||
14 | |||
15 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz" | ||
16 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/swig/files/swig/" | ||
17 | UPSTREAM_CHECK_REGEX = "swig-(?P<pver>\d+(\.\d+)+)" | ||
18 | |||
19 | inherit autotools python3native pkgconfig | ||
20 | |||
21 | EXTRA_OECONF = " \ | ||
22 | --with-python3=${PYTHON} \ | ||
23 | --without-allegrocl \ | ||
24 | --without-android \ | ||
25 | --without-boost \ | ||
26 | --without-chicken \ | ||
27 | --without-clisp \ | ||
28 | --without-csharp \ | ||
29 | --without-d \ | ||
30 | --without-gcj \ | ||
31 | --without-go \ | ||
32 | --without-guile \ | ||
33 | --without-java \ | ||
34 | --without-lua \ | ||
35 | --without-mzscheme \ | ||
36 | --without-ocaml \ | ||
37 | --without-octave \ | ||
38 | --without-perl5 \ | ||
39 | --without-pike \ | ||
40 | --without-php \ | ||
41 | --without-r \ | ||
42 | --without-ruby \ | ||
43 | --without-tcl \ | ||
44 | " | ||
45 | |||
46 | EXTRA_AUTORECONF += "-I Tools/config" | ||
47 | |||
48 | BBCLASSEXTEND = "native nativesdk" | ||
49 | |||
50 | # necessary together with bison dependency until a new upstream version after | ||
51 | # 3.0.12 includes 0001-Fix-generated-code-for-constant-expressions-containi.patch | ||
52 | do_configure:append() { | ||
53 | mkdir -p ${B}/Source/CParse | ||
54 | } | ||
55 | |||
56 | do_install:append:class-nativesdk() { | ||
57 | cd ${D}${bindir} | ||
58 | ln -s swig swig2.0 | ||
59 | } | ||
60 | |||
61 | def swiglib_relpath(d): | ||
62 | swiglib = d.getVar('datadir') + "/" + d.getVar('BPN') + "/" + d.getVar('PV') | ||
63 | return os.path.relpath(swiglib, d.getVar('bindir')) | ||
64 | |||
65 | do_install:append:class-native() { | ||
66 | create_wrapper ${D}${bindir}/swig SWIG_LIB='`dirname $''realpath`'/${@swiglib_relpath(d)} | ||
67 | } | ||
diff --git a/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch b/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch deleted file mode 100644 index 5e83e92725..0000000000 --- a/meta/recipes-devtools/swig/swig/0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | From b88a98348b3841f0b702e314631883d46f9f362d Mon Sep 17 00:00:00 2001 | ||
2 | From: "NODA, Kai" <nodakai@gmail.com> | ||
3 | Date: Sun, 22 Apr 2012 17:01:02 +0900 | ||
4 | Subject: [PATCH] Use /proc/self/exe for "swig -swiglib" on non-Win32 | ||
5 | platforms. | ||
6 | |||
7 | If it wasn't found, then fall back to a fixed string just as before. | ||
8 | |||
9 | Upstream-Status: Submitted | ||
10 | http://sourceforge.net/mailarchive/message.php?msg_id=29179733 | ||
11 | --- | ||
12 | Source/Modules/main.cxx | 24 ++++++++++++++++++++++-- | ||
13 | 1 file changed, 22 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/Source/Modules/main.cxx b/Source/Modules/main.cxx | ||
16 | index 76b4f9d..de0a512 100644 | ||
17 | --- a/Source/Modules/main.cxx | ||
18 | +++ b/Source/Modules/main.cxx | ||
19 | @@ -25,6 +25,11 @@ | ||
20 | #include <ctype.h> | ||
21 | #include <errno.h> | ||
22 | #include <limits.h> // for INT_MAX | ||
23 | +#ifndef _WIN32 | ||
24 | +#include <cstddef> | ||
25 | +#include <unistd.h> // for readlink | ||
26 | +#include <sys/stat.h> // for stat | ||
27 | +#endif | ||
28 | |||
29 | // Global variables | ||
30 | |||
31 | @@ -895,9 +900,9 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) { | ||
32 | |||
33 | // Check for SWIG_LIB environment variable | ||
34 | if ((c = getenv("SWIG_LIB")) == (char *) 0) { | ||
35 | + char *p; | ||
36 | #if defined(_WIN32) | ||
37 | char buf[MAX_PATH]; | ||
38 | - char *p; | ||
39 | if (!(GetModuleFileName(0, buf, MAX_PATH) == 0 || (p = strrchr(buf, '\\')) == 0)) { | ||
40 | *(p + 1) = '\0'; | ||
41 | SwigLib = NewStringf("%sLib", buf); // Native windows installation path | ||
42 | @@ -907,7 +912,22 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) { | ||
43 | if (Len(SWIG_LIB_WIN_UNIX) > 0) | ||
44 | SwigLibWinUnix = NewString(SWIG_LIB_WIN_UNIX); // Unix installation path using a drive letter (for msys/mingw) | ||
45 | #else | ||
46 | - SwigLib = NewString(SWIG_LIB); | ||
47 | + char buf[PATH_MAX]; | ||
48 | + if (0 < ::readlink("/proc/self/exe", buf, sizeof(buf)) && | ||
49 | + (p = ::strstr(buf, "/bin/swig"))) { | ||
50 | + int major, minor, patch; | ||
51 | + const int ret = ::sscanf(VERSION, "%d.%d.%d", &major, &minor, &patch); | ||
52 | + if (3 == ret) { | ||
53 | + const ::ptrdiff_t dir_part_len = p - buf; | ||
54 | + ::snprintf(p, PATH_MAX - dir_part_len, "/share/swig/%d.%d.%d", major, minor, patch); | ||
55 | + struct ::stat stat_res; | ||
56 | + if (0 == ::stat(buf, &stat_res) && S_ISDIR(stat_res.st_mode)) { | ||
57 | + SwigLib = NewString(buf); | ||
58 | + } | ||
59 | + } | ||
60 | + } | ||
61 | + if (NULL == SwigLib) | ||
62 | + SwigLib = NewString(SWIG_LIB); | ||
63 | #endif | ||
64 | } else { | ||
65 | SwigLib = NewString(c); | ||
diff --git a/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch b/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch deleted file mode 100644 index 9e16caecca..0000000000 --- a/meta/recipes-devtools/swig/swig/0001-configure-use-pkg-config-for-pcre-detection.patch +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | From 57a15651b46a0f1f84a4dd15d67d104fbfbe3f6e Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen.kooi@linaro.org> | ||
3 | Date: Tue, 17 Jun 2014 08:18:17 +0200 | ||
4 | Subject: [PATCH] configure: use pkg-config for pcre detection | ||
5 | |||
6 | Signed-off-by: Koen Kooi <koen.kooi@linaro.org> | ||
7 | Upstream-Status: Pending | ||
8 | |||
9 | --- | ||
10 | configure.ac | 39 +++++++-------------------------------- | ||
11 | 1 file changed, 7 insertions(+), 32 deletions(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index c060028..a330266 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -49,39 +49,14 @@ AC_MSG_RESULT([$with_pcre]) | ||
18 | |||
19 | dnl To make configuring easier, check for a locally built PCRE using the Tools/pcre-build.sh script | ||
20 | if test x"${with_pcre}" = xyes ; then | ||
21 | - AC_MSG_CHECKING([whether to use local PCRE2]) | ||
22 | - local_pcre_config=no | ||
23 | - if test -z "$PCRE2_CONFIG"; then | ||
24 | - if test -f `pwd`/pcre/pcre-swig-install/bin/pcre2-config; then | ||
25 | - PCRE2_CONFIG=`pwd`/pcre/pcre-swig-install/bin/pcre2-config | ||
26 | - local_pcre_config=$PCRE2_CONFIG | ||
27 | - fi | ||
28 | - fi | ||
29 | - AC_MSG_RESULT([$local_pcre_config]) | ||
30 | -fi | ||
31 | -AS_IF([test "x$with_pcre" != xno], | ||
32 | - [AX_PATH_GENERIC([pcre2], | ||
33 | - [], dnl Minimal version of PCRE we need -- accept any | ||
34 | - [], dnl custom sed script for version parsing is not needed | ||
35 | - [AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE2 library]) | ||
36 | - LIBS="$LIBS $PCRE2_LIBS" | ||
37 | - CPPFLAGS="$CPPFLAGS $PCRE2_CFLAGS" | ||
38 | - ], | ||
39 | - [AC_MSG_FAILURE([ | ||
40 | - Cannot find pcre2-config script from PCRE2 (Perl Compatible Regular Expressions) | ||
41 | - library package. This dependency is needed for configure to complete, | ||
42 | - Either: | ||
43 | - - Install the PCRE2 developer package on your system (preferred approach). | ||
44 | - - Download the PCRE2 source tarball, build and install on your system | ||
45 | - as you would for any package built from source distribution. | ||
46 | - - Use the Tools/pcre-build.sh script to build PCRE2 just for SWIG to statically | ||
47 | - link against. Run 'Tools/pcre-build.sh --help' for instructions. | ||
48 | - (quite easy and does not require privileges to install PCRE2 on your system) | ||
49 | - - Use configure --without-pcre to disable regular expressions support in SWIG | ||
50 | - (not recommended).]) | ||
51 | - ], | ||
52 | - [],[],[--libs8]) | ||
53 | + PKG_CHECK_MODULES([PCRE], [libpcre2], [ | ||
54 | + AC_DEFINE([HAVE_PCRE], [1], [Define if you have PCRE library]) | ||
55 | + LIBS="$LIBS $PCRE_LIBS" | ||
56 | + CPPFLAGS="$CPPFLAGS $PCRE_CFLAGS" | ||
57 | + ], [ | ||
58 | + AC_MSG_WARN([$PCRE_PKG_ERRORS]) | ||
59 | ]) | ||
60 | +fi | ||
61 | |||
62 | |||
63 | dnl CCache | ||
diff --git a/meta/recipes-devtools/swig/swig_4.2.1.bb b/meta/recipes-devtools/swig/swig_4.2.1.bb index 4b438a7298..b564be9b36 100644 --- a/meta/recipes-devtools/swig/swig_4.2.1.bb +++ b/meta/recipes-devtools/swig/swig_4.2.1.bb | |||
@@ -1,7 +1,45 @@ | |||
1 | require ${BPN}.inc | 1 | SUMMARY = "SWIG - Simplified Wrapper and Interface Generator" |
2 | DESCRIPTION = "SWIG is a compiler that makes it easy to integrate C and C++ \ | ||
3 | code with other languages including Perl, Tcl, Ruby, Python, Java, Guile, \ | ||
4 | Mzscheme, Chicken, OCaml, Pike, and C#." | ||
5 | HOMEPAGE = "http://swig.sourceforge.net/" | ||
6 | LICENSE = "BSD-3-Clause & GPL-3.0-only" | ||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=e7807a6282784a7dde4c846626b08fc6 \ | ||
8 | file://LICENSE-GPL;md5=d32239bcb673463ab874e80d47fae504 \ | ||
9 | file://LICENSE-UNIVERSITIES;md5=8ce9dcc8f7c994de4a408b205c72ba08" | ||
2 | 10 | ||
3 | SRC_URI += "file://0001-Use-proc-self-exe-for-swig-swiglib-on-non-Win32-plat.patch \ | 11 | SECTION = "devel" |
4 | file://0001-configure-use-pkg-config-for-pcre-detection.patch \ | 12 | |
13 | DEPENDS = "libpcre2 bison-native" | ||
14 | |||
15 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ | ||
5 | file://determinism.patch \ | 16 | file://determinism.patch \ |
6 | " | 17 | " |
7 | SRC_URI[sha256sum] = "fa045354e2d048b2cddc69579e4256245d4676894858fcf0bab2290ecf59b7d8" | 18 | SRC_URI[sha256sum] = "fa045354e2d048b2cddc69579e4256245d4676894858fcf0bab2290ecf59b7d8" |
19 | UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/swig/files/swig/" | ||
20 | UPSTREAM_CHECK_REGEX = "swig-(?P<pver>\d+(\.\d+)+)" | ||
21 | |||
22 | inherit cmake pkgconfig | ||
23 | |||
24 | BBCLASSEXTEND = "native nativesdk" | ||
25 | |||
26 | do_install:append:class-nativesdk() { | ||
27 | cd ${D}${bindir} | ||
28 | ln -s swig swig2.0 | ||
29 | } | ||
30 | |||
31 | def swiglib_relpath(d): | ||
32 | swiglib = d.getVar('datadir') + "/" + d.getVar('BPN') + "/" + d.getVar('PV') | ||
33 | return os.path.relpath(swiglib, d.getVar('bindir')) | ||
34 | |||
35 | do_install:append:class-native() { | ||
36 | create_wrapper ${D}${bindir}/swig SWIG_LIB='`dirname $''realpath`'/${@swiglib_relpath(d)} | ||
37 | } | ||
38 | |||
39 | PACKAGE_PREPROCESS_FUNCS += "src_package_preprocess" | ||
40 | src_package_preprocess () { | ||
41 | # Trim build paths from comments and defines in generated sources to ensure reproducibility | ||
42 | sed -i -e "s,${WORKDIR},,g" \ | ||
43 | -e "s,YY_YY_.*_CPARSE_PARSER_H_INCLUDED,YY_YY_CPARSE_PARSER_H_INCLUDED,g" \ | ||
44 | ${B}/Source/CParse/parser.* | ||
45 | } | ||
diff --git a/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb b/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb index 59b9d7de78..214dd4b2a8 100644 --- a/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb +++ b/meta/recipes-devtools/tcf-agent/tcf-agent_git.bb | |||
@@ -54,9 +54,9 @@ CFLAGS:append:loongarch64 = " ${LCL_STOP_SERVICES}" | |||
54 | do_install() { | 54 | do_install() { |
55 | oe_runmake install INSTALLROOT=${D} | 55 | oe_runmake install INSTALLROOT=${D} |
56 | install -d ${D}${sysconfdir}/init.d/ | 56 | install -d ${D}${sysconfdir}/init.d/ |
57 | install -m 0755 ${WORKDIR}/tcf-agent.init ${D}${sysconfdir}/init.d/tcf-agent | 57 | install -m 0755 ${UNPACKDIR}/tcf-agent.init ${D}${sysconfdir}/init.d/tcf-agent |
58 | install -d ${D}${systemd_system_unitdir} | 58 | install -d ${D}${systemd_system_unitdir} |
59 | install -m 0644 ${WORKDIR}/tcf-agent.service ${D}${systemd_system_unitdir} | 59 | install -m 0644 ${UNPACKDIR}/tcf-agent.service ${D}${systemd_system_unitdir} |
60 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/tcf-agent.service | 60 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/tcf-agent.service |
61 | } | 61 | } |
62 | 62 | ||
diff --git a/meta/recipes-devtools/vala/vala_0.56.16.bb b/meta/recipes-devtools/vala/vala_0.56.17.bb index 1c8e4fc673..acd6c43096 100644 --- a/meta/recipes-devtools/vala/vala_0.56.16.bb +++ b/meta/recipes-devtools/vala/vala_0.56.17.bb | |||
@@ -19,7 +19,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | |||
19 | SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" | 19 | SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" |
20 | 20 | ||
21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz" | 21 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/${BPN}/${SHRT_VER}/${BP}.tar.xz" |
22 | SRC_URI[sha256sum] = "05487b5600f5d2f09e66a753cccd8f39c1bff9f148aea1b7774d505b9c8bca9b" | 22 | SRC_URI[sha256sum] = "26100c4e4ef0049c619275f140d97cf565883d00c7543c82bcce5a426934ed6a" |
23 | 23 | ||
24 | inherit autotools pkgconfig upstream-version-is-even | 24 | inherit autotools pkgconfig upstream-version-is-even |
25 | 25 | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch index e7af5efecc..832a1c3d6e 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0001-Return-a-valid-exit_code-from-vg_regtest.patch | |||
@@ -10,11 +10,9 @@ Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> | |||
10 | tests/vg_regtest.in | 1 + | 10 | tests/vg_regtest.in | 1 + |
11 | 1 file changed, 1 insertion(+) | 11 | 1 file changed, 1 insertion(+) |
12 | 12 | ||
13 | diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in | ||
14 | index 909af3be8..f2799c4e3 100755 | ||
15 | --- a/tests/vg_regtest.in | 13 | --- a/tests/vg_regtest.in |
16 | +++ b/tests/vg_regtest.in | 14 | +++ b/tests/vg_regtest.in |
17 | @@ -403,6 +403,7 @@ sub mysystem($) | 15 | @@ -401,6 +401,7 @@ sub mysystem($) |
18 | exit 1; | 16 | exit 1; |
19 | } | 17 | } |
20 | } | 18 | } |
@@ -22,6 +20,3 @@ index 909af3be8..f2799c4e3 100755 | |||
22 | } | 20 | } |
23 | # if $keepunfiltered, copies $1 to $1.unfiltered.out | 21 | # if $keepunfiltered, copies $1 to $1.unfiltered.out |
24 | # renames $0 tp $1 | 22 | # renames $0 tp $1 |
25 | -- | ||
26 | 2.17.0 | ||
27 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch b/meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch new file mode 100644 index 0000000000..63a1a58c04 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch | |||
@@ -0,0 +1,40 @@ | |||
1 | From b17b6d7d3a65c14f91f090f3f4f9898d6fa3a9e4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 10 May 2024 16:27:34 -0700 | ||
4 | Subject: [PATCH] configure: Drop setting mcpu=cortex-a8 on arm | ||
5 | |||
6 | The -march settings from environment expresses the flags | ||
7 | appropriately, moreover, this conflicts when using armhf | ||
8 | without neon [1] | ||
9 | |||
10 | [1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=928224 | ||
11 | |||
12 | Upstream-Status: Submitted [https://bugs.kde.org/show_bug.cgi?id=454346] | ||
13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
14 | --- | ||
15 | configure.ac | 4 ++-- | ||
16 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
17 | |||
18 | diff --git a/configure.ac b/configure.ac | ||
19 | index 39d8b6d..d61b3a6 100755 | ||
20 | --- a/configure.ac | ||
21 | +++ b/configure.ac | ||
22 | @@ -275,13 +275,13 @@ case "${host_cpu}" in | ||
23 | |||
24 | armv8*) | ||
25 | AC_MSG_RESULT([ok (${host_cpu})]) | ||
26 | - VGCONF_PLATFORM_ARM_ARCH="-marm -mcpu=cortex-a8" | ||
27 | + VGCONF_PLATFORM_ARM_ARCH="-marm" | ||
28 | ARCH_MAX="arm" | ||
29 | ;; | ||
30 | |||
31 | armv7*) | ||
32 | AC_MSG_RESULT([ok (${host_cpu})]) | ||
33 | - VGCONF_PLATFORM_ARM_ARCH="-marm -mcpu=cortex-a8" | ||
34 | + VGCONF_PLATFORM_ARM_ARCH="-marm" | ||
35 | ARCH_MAX="arm" | ||
36 | ;; | ||
37 | |||
38 | -- | ||
39 | 2.45.0 | ||
40 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch b/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch index 256ddb0c34..eba569c884 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0001-docs-Disable-manual-validation.patch | |||
@@ -18,11 +18,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
18 | docs/Makefile.am | 2 +- | 18 | docs/Makefile.am | 2 +- |
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | 19 | 1 file changed, 1 insertion(+), 1 deletion(-) |
20 | 20 | ||
21 | diff --git a/docs/Makefile.am b/docs/Makefile.am | ||
22 | index d4250e8..c500306 100644 | ||
23 | --- a/docs/Makefile.am | 21 | --- a/docs/Makefile.am |
24 | +++ b/docs/Makefile.am | 22 | +++ b/docs/Makefile.am |
25 | @@ -192,7 +192,7 @@ valid-manpages: $(MANPAGES_XML_FILES) | 23 | @@ -194,7 +194,7 @@ valid-manpages: $(MANPAGES_XML_FILES) |
26 | touch $@; \ | 24 | touch $@; \ |
27 | fi | 25 | fi |
28 | 26 | ||
@@ -31,6 +29,3 @@ index d4250e8..c500306 100644 | |||
31 | 29 | ||
32 | # The text version of the FAQ. | 30 | # The text version of the FAQ. |
33 | FAQ.txt: | 31 | FAQ.txt: |
34 | -- | ||
35 | 2.34.1 | ||
36 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch b/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch index 073713c139..7996fa6e8f 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch | |||
@@ -19,30 +19,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
19 | none/tests/arm/Makefile.am | 18 +++++++++--------- | 19 | none/tests/arm/Makefile.am | 18 +++++++++--------- |
20 | 3 files changed, 15 insertions(+), 15 deletions(-) | 20 | 3 files changed, 15 insertions(+), 15 deletions(-) |
21 | 21 | ||
22 | diff --git a/Makefile.all.am b/Makefile.all.am | ||
23 | index 02059a3..c7c4700 100644 | ||
24 | --- a/Makefile.all.am | ||
25 | +++ b/Makefile.all.am | ||
26 | @@ -197,11 +197,11 @@ AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g | ||
27 | |||
28 | AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@ | ||
29 | AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \ | ||
30 | - $(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8 | ||
31 | + $(AM_CFLAGS_BASE) -marm | ||
32 | AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \ | ||
33 | - -marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE) | ||
34 | + -marm $(AM_CFLAGS_PSO_BASE) | ||
35 | AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \ | ||
36 | - -marm -mcpu=cortex-a8 -g | ||
37 | + -marm -g | ||
38 | |||
39 | AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@ | ||
40 | AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) | ||
41 | diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am | ||
42 | index df82169..07eb66a 100644 | ||
43 | --- a/helgrind/tests/Makefile.am | 22 | --- a/helgrind/tests/Makefile.am |
44 | +++ b/helgrind/tests/Makefile.am | 23 | +++ b/helgrind/tests/Makefile.am |
45 | @@ -189,9 +189,9 @@ if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN | 24 | @@ -223,9 +223,9 @@ if ! VGCONF_PLATFORMS_INCLUDE_X86_DARWIN |
46 | endif | 25 | endif |
47 | 26 | ||
48 | if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX | 27 | if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX |
@@ -55,11 +34,9 @@ index df82169..07eb66a 100644 | |||
55 | else | 34 | else |
56 | annotate_hbefore_CFLAGS = $(AM_CFLAGS) | 35 | annotate_hbefore_CFLAGS = $(AM_CFLAGS) |
57 | tc07_hbl1_CFLAGS = $(AM_CFLAGS) | 36 | tc07_hbl1_CFLAGS = $(AM_CFLAGS) |
58 | diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am | ||
59 | index 024eb6d..ccecb90 100644 | ||
60 | --- a/none/tests/arm/Makefile.am | 37 | --- a/none/tests/arm/Makefile.am |
61 | +++ b/none/tests/arm/Makefile.am | 38 | +++ b/none/tests/arm/Makefile.am |
62 | @@ -52,10 +52,10 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@ | 39 | @@ -56,10 +56,10 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_N |
63 | # need special helping w.r.t -mfpu and -mfloat-abi, though. | 40 | # need special helping w.r.t -mfpu and -mfloat-abi, though. |
64 | # Also force -O0 since -O takes hundreds of MB of memory | 41 | # Also force -O0 since -O takes hundreds of MB of memory |
65 | # for v6intThumb.c. | 42 | # for v6intThumb.c. |
@@ -71,11 +48,11 @@ index 024eb6d..ccecb90 100644 | |||
71 | -v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb | 48 | -v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mthumb |
72 | +v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb | 49 | +v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb |
73 | 50 | ||
74 | v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm | 51 | v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -march=armv8-a |
75 | v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb | 52 | v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb -march=armv8-a |
76 | @@ -65,23 +65,23 @@ v8memory_a_CFLAGS = $(AM_CFLAGS) -g -O0 \ | 53 | @@ -74,23 +74,23 @@ v8memory_t_CFLAGS = $(AM_CFLAGS) -g -O0 |
77 | v8memory_t_CFLAGS = $(AM_CFLAGS) -g -O0 \ | 54 | |
78 | -march=armv8-a -mfpu=crypto-neon-fp-armv8 -mthumb | 55 | vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 -mfpu=neon |
79 | 56 | ||
80 | -vfp_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ | 57 | -vfp_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ |
81 | +vfp_CFLAGS = $(AM_CFLAGS) -g -O0 \ | 58 | +vfp_CFLAGS = $(AM_CFLAGS) -g -O0 \ |
@@ -103,6 +80,3 @@ index 024eb6d..ccecb90 100644 | |||
103 | +vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mfpu=vfpv3 | 80 | +vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mfpu=vfpv3 |
104 | 81 | ||
105 | vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm | 82 | vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm |
106 | -- | ||
107 | 2.12.2 | ||
108 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch index 15fbbe954f..29a9e95a90 100644 --- a/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch +++ b/meta/recipes-devtools/valgrind/valgrind/0001-memcheck-tests-Fix-timerfd-syscall-test.patch | |||
@@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
17 | 17 | ||
18 | --- a/config.h.in | 18 | --- a/config.h.in |
19 | +++ b/config.h.in | 19 | +++ b/config.h.in |
20 | @@ -301,6 +301,9 @@ | 20 | @@ -424,6 +424,9 @@ |
21 | /* Define to 1 if you have the <sys/sysnvl.h> header file. */ | 21 | /* Define to 1 if you have the <sys/sysnvl.h> header file. */ |
22 | #undef HAVE_SYS_SYSNVL_H | 22 | #undef HAVE_SYS_SYSNVL_H |
23 | 23 | ||
@@ -29,7 +29,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
29 | 29 | ||
30 | --- a/configure.ac | 30 | --- a/configure.ac |
31 | +++ b/configure.ac | 31 | +++ b/configure.ac |
32 | @@ -4098,6 +4098,7 @@ AC_CHECK_HEADERS([ \ | 32 | @@ -4881,6 +4881,7 @@ AC_CHECK_HEADERS([ \ |
33 | sys/syscall.h \ | 33 | sys/syscall.h \ |
34 | sys/sysnvl.h \ | 34 | sys/sysnvl.h \ |
35 | sys/time.h \ | 35 | sys/time.h \ |
@@ -39,7 +39,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
39 | 39 | ||
40 | --- a/memcheck/tests/linux/timerfd-syscall.c | 40 | --- a/memcheck/tests/linux/timerfd-syscall.c |
41 | +++ b/memcheck/tests/linux/timerfd-syscall.c | 41 | +++ b/memcheck/tests/linux/timerfd-syscall.c |
42 | @@ -45,6 +45,9 @@ | 42 | @@ -42,6 +42,9 @@ |
43 | #if defined(HAVE_SYS_TIME_H) | 43 | #if defined(HAVE_SYS_TIME_H) |
44 | #include <sys/time.h> | 44 | #include <sys/time.h> |
45 | #endif | 45 | #endif |
@@ -49,7 +49,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
49 | #if defined(HAVE_SYS_TYPES_H) | 49 | #if defined(HAVE_SYS_TYPES_H) |
50 | #include <sys/types.h> | 50 | #include <sys/types.h> |
51 | #endif | 51 | #endif |
52 | @@ -54,7 +57,8 @@ | 52 | @@ -51,7 +54,8 @@ |
53 | * timerfd_* system call numbers introduced in 2.6.23. These constants are | 53 | * timerfd_* system call numbers introduced in 2.6.23. These constants are |
54 | * not yet in the glibc 2.7 headers, that is why they are defined here. | 54 | * not yet in the glibc 2.7 headers, that is why they are defined here. |
55 | */ | 55 | */ |
@@ -59,7 +59,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
59 | #if defined(__x86_64__) | 59 | #if defined(__x86_64__) |
60 | #define __NR_timerfd_create 283 | 60 | #define __NR_timerfd_create 283 |
61 | #elif defined(__i386__) | 61 | #elif defined(__i386__) |
62 | @@ -67,8 +71,10 @@ | 62 | @@ -64,8 +68,10 @@ |
63 | #error Cannot detect your architecture! | 63 | #error Cannot detect your architecture! |
64 | #endif | 64 | #endif |
65 | #endif | 65 | #endif |
@@ -71,7 +71,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
71 | #if defined(__x86_64__) | 71 | #if defined(__x86_64__) |
72 | #define __NR_timerfd_settime 286 | 72 | #define __NR_timerfd_settime 286 |
73 | #define __NR_timerfd_gettime 287 | 73 | #define __NR_timerfd_gettime 287 |
74 | @@ -85,7 +91,7 @@ | 74 | @@ -82,7 +88,7 @@ |
75 | #error Cannot detect your architecture! | 75 | #error Cannot detect your architecture! |
76 | #endif | 76 | #endif |
77 | #endif | 77 | #endif |
@@ -80,7 +80,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
80 | 80 | ||
81 | 81 | ||
82 | /* Definitions from include/linux/timerfd.h */ | 82 | /* Definitions from include/linux/timerfd.h */ |
83 | @@ -127,6 +133,7 @@ void set_timespec(struct timespec *tmr, | 83 | @@ -124,6 +130,7 @@ void set_timespec(struct timespec *tmr, |
84 | tmr->tv_nsec = (long) (1000ULL * (ustime % 1000000ULL)); | 84 | tmr->tv_nsec = (long) (1000ULL * (ustime % 1000000ULL)); |
85 | } | 85 | } |
86 | 86 | ||
@@ -88,7 +88,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
88 | int timerfd_create(int clockid, int flags) | 88 | int timerfd_create(int clockid, int flags) |
89 | { | 89 | { |
90 | return syscall(__NR_timerfd_create, clockid, flags); | 90 | return syscall(__NR_timerfd_create, clockid, flags); |
91 | @@ -142,6 +149,7 @@ int timerfd_gettime(int ufc, struct itim | 91 | @@ -139,6 +146,7 @@ int timerfd_gettime(int ufc, struct itim |
92 | { | 92 | { |
93 | return syscall(__NR_timerfd_gettime, ufc, otmr); | 93 | return syscall(__NR_timerfd_gettime, ufc, otmr); |
94 | } | 94 | } |
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch b/meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch new file mode 100644 index 0000000000..2d28bcb6c4 --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-tests-arm-Use-O-instead-of-O0.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 8e907753625faba3284925983ef8e83f8491aa76 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Fri, 10 May 2024 17:44:47 -0700 | ||
4 | Subject: [PATCH] tests/arm: Use -O instead of -O0 | ||
5 | |||
6 | GCC-14 fails to compile the testcase with -O2 [1] | ||
7 | therefore workaround it by using -O1, which works | ||
8 | and for OE/cross-compiling it is fine, -O0 is used | ||
9 | to make these tests compile natively on an arm target | ||
10 | and gcc would take less memory compiling with -O0 | ||
11 | -O would take a bit more memory but in cross compiling | ||
12 | we have enough of it on build host. | ||
13 | |||
14 | [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115042 | ||
15 | Upstream-Status: Inappropriate [WORKAROUND] | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | --- | ||
18 | none/tests/arm/Makefile.am | 2 +- | ||
19 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
20 | |||
21 | --- a/none/tests/arm/Makefile.am | ||
22 | +++ b/none/tests/arm/Makefile.am | ||
23 | @@ -57,9 +57,9 @@ allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_N | ||
24 | # Also force -O0 since -O takes hundreds of MB of memory | ||
25 | # for v6intThumb.c. | ||
26 | v6intARM_CFLAGS = $(AM_CFLAGS) -g -O0 -marm | ||
27 | -v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb | ||
28 | +v6intThumb_CFLAGS = $(AM_CFLAGS) -g -O -mthumb | ||
29 | |||
30 | -v6media_CFLAGS = $(AM_CFLAGS) -g -O0 -mthumb | ||
31 | +v6media_CFLAGS = $(AM_CFLAGS) -g -O -mthumb | ||
32 | |||
33 | v8crypto_a_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -marm -march=armv8-a | ||
34 | v8crypto_t_CFLAGS = $(AM_CFLAGS) -g -O0 -mfpu=crypto-neon-fp-armv8 -mthumb -march=armv8-a | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch b/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch deleted file mode 100644 index 80a8e3a10b..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0001-valgrind-monitor.py-regular-expressions-should-use-r.patch +++ /dev/null | |||
@@ -1,64 +0,0 @@ | |||
1 | From 027b649fdb831868e71be01cafdacc49a5f419ab Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Wielaard <mark@klomp.org> | ||
3 | Date: Fri, 17 Nov 2023 14:01:21 +0100 | ||
4 | Subject: [PATCH 1/4] valgrind-monitor.py regular expressions should use raw | ||
5 | strings | ||
6 | |||
7 | With python 3.12 gdb will produce the following SyntaxWarning when | ||
8 | loading valgrind-monitor-def.py: | ||
9 | |||
10 | /usr/share/gdb/auto-load/valgrind-monitor-def.py:214: | ||
11 | SyntaxWarning: invalid escape sequence '\[' | ||
12 | if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str): | ||
13 | |||
14 | In a future python version this will become an SyntaxError. | ||
15 | |||
16 | Use a raw strings for the regular expression. | ||
17 | |||
18 | https://bugs.kde.org/show_bug.cgi?id=476708 | ||
19 | (cherry picked from commit 0fbfbe05028ad18efda786a256a2738d2c231ed4) | ||
20 | |||
21 | Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=027b649fdb831868e71be01cafdacc49a5f419ab] | ||
22 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
23 | --- | ||
24 | NEWS | 13 +++++++++++++ | ||
25 | coregrind/m_gdbserver/valgrind-monitor-def.py | 2 +- | ||
26 | 2 files changed, 14 insertions(+), 1 deletion(-) | ||
27 | |||
28 | diff --git a/NEWS b/NEWS | ||
29 | index f11da4be8..ee5b4ff11 100644 | ||
30 | --- a/NEWS | ||
31 | +++ b/NEWS | ||
32 | @@ -1,3 +1,16 @@ | ||
33 | +Branch 3.22 | ||
34 | +~~~~~~~~~~~ | ||
35 | + | ||
36 | +* ==================== FIXED BUGS ==================== | ||
37 | + | ||
38 | +The following bugs have been fixed or resolved on this branch. | ||
39 | + | ||
40 | +476708 valgrind-monitor.py regular expressions should use raw strings | ||
41 | + | ||
42 | +To see details of a given bug, visit | ||
43 | + https://bugs.kde.org/show_bug.cgi?id=XXXXXX | ||
44 | +where XXXXXX is the bug number as listed above. | ||
45 | + | ||
46 | Release 3.22.0 (31 Oct 2023) | ||
47 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
48 | |||
49 | diff --git a/coregrind/m_gdbserver/valgrind-monitor-def.py b/coregrind/m_gdbserver/valgrind-monitor-def.py | ||
50 | index b4e7b992d..d74b1590c 100644 | ||
51 | --- a/coregrind/m_gdbserver/valgrind-monitor-def.py | ||
52 | +++ b/coregrind/m_gdbserver/valgrind-monitor-def.py | ||
53 | @@ -211,7 +211,7 @@ class Valgrind_ADDR_LEN_opt(Valgrind_Command): | ||
54 | For compatibility reason with the Valgrind gdbserver monitor command, | ||
55 | we detect and accept usages such as 0x1234ABCD[10].""" | ||
56 | def invoke(self, arg_str : str, from_tty : bool) -> None: | ||
57 | - if re.fullmatch("^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str): | ||
58 | + if re.fullmatch(r"^0x[0123456789ABCDEFabcdef]+\[[^\[\]]+\]$", arg_str): | ||
59 | arg_str = arg_str.replace("[", " ") | ||
60 | arg_str = arg_str.replace("]", " ") | ||
61 | eval_execute_2(self, arg_str, | ||
62 | -- | ||
63 | 2.44.0 | ||
64 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch b/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch deleted file mode 100644 index 5759fa039a..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | From 1d00e5ce0fb069911c4b525ec38289fb5d9021b0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Floyd <pjfloyd@wanadoo.fr> | ||
3 | Date: Sat, 18 Nov 2023 08:49:34 +0100 | ||
4 | Subject: [PATCH 2/4] Bug 476548 - valgrind 3.22.0 fails on assertion when | ||
5 | loading debuginfo file produced by mold | ||
6 | |||
7 | (cherry picked from commit 9ea4ae66707a4dcc6f4328e11911652e4418c585) | ||
8 | |||
9 | Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=1d00e5ce0fb069911c4b525ec38289fb5d9021b0] | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | NEWS | 2 ++ | ||
13 | coregrind/m_debuginfo/image.c | 14 +++++++++ | ||
14 | coregrind/m_debuginfo/priv_image.h | 4 +++ | ||
15 | coregrind/m_debuginfo/readelf.c | 49 ++++++++++++++++++++++++++++-- | ||
16 | 4 files changed, 66 insertions(+), 3 deletions(-) | ||
17 | |||
18 | diff --git a/NEWS b/NEWS | ||
19 | index ee5b4ff11..6cd13429a 100644 | ||
20 | --- a/NEWS | ||
21 | +++ b/NEWS | ||
22 | @@ -5,6 +5,8 @@ Branch 3.22 | ||
23 | |||
24 | The following bugs have been fixed or resolved on this branch. | ||
25 | |||
26 | +476548 valgrind 3.22.0 fails on assertion when loading debuginfo | ||
27 | + file produced by mold | ||
28 | 476708 valgrind-monitor.py regular expressions should use raw strings | ||
29 | |||
30 | To see details of a given bug, visit | ||
31 | diff --git a/coregrind/m_debuginfo/image.c b/coregrind/m_debuginfo/image.c | ||
32 | index 02e509071..445f95555 100644 | ||
33 | --- a/coregrind/m_debuginfo/image.c | ||
34 | +++ b/coregrind/m_debuginfo/image.c | ||
35 | @@ -1221,6 +1221,20 @@ Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2) | ||
36 | } | ||
37 | } | ||
38 | |||
39 | +Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n) | ||
40 | +{ | ||
41 | + ensure_valid(img, off1, 1, "ML_(img_strcmp_c)"); | ||
42 | + while (n) { | ||
43 | + UChar c1 = get(img, off1); | ||
44 | + UChar c2 = *(const UChar*)str2; | ||
45 | + if (c1 < c2) return -1; | ||
46 | + if (c1 > c2) return 1; | ||
47 | + if (c1 == 0) return 0; | ||
48 | + off1++; str2++; --n; | ||
49 | + } | ||
50 | + return 0; | ||
51 | +} | ||
52 | + | ||
53 | UChar ML_(img_get_UChar)(DiImage* img, DiOffT offset) | ||
54 | { | ||
55 | ensure_valid(img, offset, 1, "ML_(img_get_UChar)"); | ||
56 | diff --git a/coregrind/m_debuginfo/priv_image.h b/coregrind/m_debuginfo/priv_image.h | ||
57 | index a49846f14..c91e49f01 100644 | ||
58 | --- a/coregrind/m_debuginfo/priv_image.h | ||
59 | +++ b/coregrind/m_debuginfo/priv_image.h | ||
60 | @@ -115,6 +115,10 @@ Int ML_(img_strcmp)(DiImage* img, DiOffT off1, DiOffT off2); | ||
61 | cast to HChar before comparison. */ | ||
62 | Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2); | ||
63 | |||
64 | +/* Do strncmp of a C string in the image vs a normal one. Chars are | ||
65 | + cast to HChar before comparison. */ | ||
66 | +Int ML_(img_strcmp_n)(DiImage* img, DiOffT off1, const HChar* str2, Word n); | ||
67 | + | ||
68 | /* Do strlen of a C string in the image. */ | ||
69 | SizeT ML_(img_strlen)(DiImage* img, DiOffT off); | ||
70 | |||
71 | diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c | ||
72 | index fb64ed976..46f8c8343 100644 | ||
73 | --- a/coregrind/m_debuginfo/readelf.c | ||
74 | +++ b/coregrind/m_debuginfo/readelf.c | ||
75 | @@ -2501,8 +2501,7 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di ) | ||
76 | di->rodata_avma += inrw1->bias; | ||
77 | di->rodata_bias = inrw1->bias; | ||
78 | di->rodata_debug_bias = inrw1->bias; | ||
79 | - } | ||
80 | - else { | ||
81 | + } else { | ||
82 | BAD(".rodata"); /* should not happen? */ | ||
83 | } | ||
84 | di->rodata_present = True; | ||
85 | @@ -2977,6 +2976,46 @@ Bool ML_(read_elf_object) ( struct _DebugInfo* di ) | ||
86 | return retval; | ||
87 | } | ||
88 | |||
89 | +static void find_rodata(Word i, Word shnum, DiImage* dimg, struct _DebugInfo* di, DiOffT shdr_dioff, | ||
90 | + UWord shdr_dent_szB, DiOffT shdr_strtab_dioff, PtrdiffT rw_dbias) | ||
91 | +{ | ||
92 | + ElfXX_Shdr a_shdr; | ||
93 | + ElfXX_Shdr a_extra_shdr; | ||
94 | + ML_(img_get)(&a_shdr, dimg, | ||
95 | + INDEX_BIS(shdr_dioff, i, shdr_dent_szB), | ||
96 | + sizeof(a_shdr)); | ||
97 | + if (di->rodata_present && | ||
98 | + 0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff | ||
99 | + + a_shdr.sh_name, ".rodata")) { | ||
100 | + Word sh_size = a_shdr.sh_size; | ||
101 | + Word j; | ||
102 | + Word next_addr = a_shdr.sh_addr + a_shdr.sh_size; | ||
103 | + for (j = i + 1; j < shnum; ++j) { | ||
104 | + ML_(img_get)(&a_extra_shdr, dimg, | ||
105 | + INDEX_BIS(shdr_dioff, j, shdr_dent_szB), | ||
106 | + sizeof(a_shdr)); | ||
107 | + if (0 == ML_(img_strcmp_n)(dimg, shdr_strtab_dioff | ||
108 | + + a_extra_shdr.sh_name, ".rodata", 7)) { | ||
109 | + if (a_extra_shdr.sh_addr == | ||
110 | + VG_ROUNDUP(next_addr, a_extra_shdr.sh_addralign)) { | ||
111 | + sh_size = VG_ROUNDUP(sh_size, a_extra_shdr.sh_addralign) + a_extra_shdr.sh_size; | ||
112 | + } | ||
113 | + next_addr = a_extra_shdr.sh_addr + a_extra_shdr.sh_size; | ||
114 | + } else { | ||
115 | + break; | ||
116 | + } | ||
117 | + } | ||
118 | + vg_assert(di->rodata_size == sh_size); | ||
119 | + vg_assert(di->rodata_avma + a_shdr.sh_addr + rw_dbias); | ||
120 | + di->rodata_debug_svma = a_shdr.sh_addr; | ||
121 | + di->rodata_debug_bias = di->rodata_bias + | ||
122 | + di->rodata_svma - di->rodata_debug_svma; | ||
123 | + TRACE_SYMTAB("acquiring .rodata debug svma = %#lx .. %#lx\n", | ||
124 | + di->rodata_debug_svma, | ||
125 | + di->rodata_debug_svma + di->rodata_size - 1); | ||
126 | + TRACE_SYMTAB("acquiring .rodata debug bias = %#lx\n", (UWord)di->rodata_debug_bias); | ||
127 | + } | ||
128 | +} | ||
129 | Bool ML_(read_elf_debug) ( struct _DebugInfo* di ) | ||
130 | { | ||
131 | Word i, j; | ||
132 | @@ -3391,7 +3430,11 @@ Bool ML_(read_elf_debug) ( struct _DebugInfo* di ) | ||
133 | FIND(text, rx) | ||
134 | FIND(data, rw) | ||
135 | FIND(sdata, rw) | ||
136 | - FIND(rodata, rw) | ||
137 | + // https://bugs.kde.org/show_bug.cgi?id=476548 | ||
138 | + // special handling for rodata as adjacent | ||
139 | + // rodata sections may have been merged in ML_(read_elf_object) | ||
140 | + //FIND(rodata, rw) | ||
141 | + find_rodata(i, ehdr_dimg.e_shnum, dimg, di, shdr_dioff, shdr_dent_szB, shdr_strtab_dioff, rw_dbias); | ||
142 | FIND(bss, rw) | ||
143 | FIND(sbss, rw) | ||
144 | |||
145 | -- | ||
146 | 2.44.0 | ||
147 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch b/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch deleted file mode 100644 index 2a09ca52b7..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0003-Add-fchmodat2-syscall-on-linux.patch +++ /dev/null | |||
@@ -1,221 +0,0 @@ | |||
1 | From a43e62dddcf51ec6578a90c5988a41e856b44b05 Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Wielaard <mark@klomp.org> | ||
3 | Date: Sat, 18 Nov 2023 21:17:02 +0100 | ||
4 | Subject: [PATCH 3/4] Add fchmodat2 syscall on linux | ||
5 | |||
6 | fchmodat2 is a new syscall on linux 6.6. It is a variant of fchmodat | ||
7 | that takes an extra flags argument. | ||
8 | |||
9 | https://bugs.kde.org/show_bug.cgi?id=477198 | ||
10 | |||
11 | (cherry picked from commit 372d09fd9a8d76847c81092ebff71c80fd6c145d) | ||
12 | |||
13 | Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=a43e62dddcf51ec6578a90c5988a41e856b44b05] | ||
14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
15 | --- | ||
16 | NEWS | 1 + | ||
17 | coregrind/m_syswrap/priv_syswrap-linux.h | 3 +++ | ||
18 | coregrind/m_syswrap/syswrap-amd64-linux.c | 2 ++ | ||
19 | coregrind/m_syswrap/syswrap-arm-linux.c | 2 ++ | ||
20 | coregrind/m_syswrap/syswrap-arm64-linux.c | 2 ++ | ||
21 | coregrind/m_syswrap/syswrap-linux.c | 11 +++++++++++ | ||
22 | coregrind/m_syswrap/syswrap-mips32-linux.c | 2 ++ | ||
23 | coregrind/m_syswrap/syswrap-mips64-linux.c | 1 + | ||
24 | coregrind/m_syswrap/syswrap-nanomips-linux.c | 1 + | ||
25 | coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 ++ | ||
26 | coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 ++ | ||
27 | coregrind/m_syswrap/syswrap-s390x-linux.c | 2 ++ | ||
28 | coregrind/m_syswrap/syswrap-x86-linux.c | 2 ++ | ||
29 | include/vki/vki-scnums-shared-linux.h | 2 ++ | ||
30 | 14 files changed, 35 insertions(+) | ||
31 | |||
32 | diff --git a/NEWS b/NEWS | ||
33 | index 6cd13429a..da0f8c1aa 100644 | ||
34 | --- a/NEWS | ||
35 | +++ b/NEWS | ||
36 | @@ -8,6 +8,7 @@ The following bugs have been fixed or resolved on this branch. | ||
37 | 476548 valgrind 3.22.0 fails on assertion when loading debuginfo | ||
38 | file produced by mold | ||
39 | 476708 valgrind-monitor.py regular expressions should use raw strings | ||
40 | +477198 Add fchmodat2 syscall on linux | ||
41 | |||
42 | To see details of a given bug, visit | ||
43 | https://bugs.kde.org/show_bug.cgi?id=XXXXXX | ||
44 | diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h | ||
45 | index 7c9decf5a..798c456c9 100644 | ||
46 | --- a/coregrind/m_syswrap/priv_syswrap-linux.h | ||
47 | +++ b/coregrind/m_syswrap/priv_syswrap-linux.h | ||
48 | @@ -331,6 +331,9 @@ DECL_TEMPLATE(linux, sys_openat2); | ||
49 | // Linux-specific (new in Linux 5.14) | ||
50 | DECL_TEMPLATE(linux, sys_memfd_secret); | ||
51 | |||
52 | +// Since Linux 6.6 | ||
53 | +DECL_TEMPLATE(linux, sys_fchmodat2); | ||
54 | + | ||
55 | /* --------------------------------------------------------------------- | ||
56 | Wrappers for sockets and ipc-ery. These are split into standalone | ||
57 | procedures because x86-linux hides them inside multiplexors | ||
58 | diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c | ||
59 | index 008600798..fe17d118b 100644 | ||
60 | --- a/coregrind/m_syswrap/syswrap-amd64-linux.c | ||
61 | +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c | ||
62 | @@ -886,6 +886,8 @@ static SyscallTableEntry syscall_table[] = { | ||
63 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
64 | |||
65 | LINXY(__NR_memfd_secret, sys_memfd_secret), // 447 | ||
66 | + | ||
67 | + LINX_(__NR_fchmodat2, sys_fchmodat2), // 452 | ||
68 | }; | ||
69 | |||
70 | SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) | ||
71 | diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c | ||
72 | index 9a7a1e0d2..811931d3b 100644 | ||
73 | --- a/coregrind/m_syswrap/syswrap-arm-linux.c | ||
74 | +++ b/coregrind/m_syswrap/syswrap-arm-linux.c | ||
75 | @@ -1059,6 +1059,8 @@ static SyscallTableEntry syscall_main_table[] = { | ||
76 | LINX_(__NR_faccessat2, sys_faccessat2), // 439 | ||
77 | |||
78 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
79 | + | ||
80 | + LINX_(__NR_fchmodat2, sys_fchmodat2), // 452 | ||
81 | }; | ||
82 | |||
83 | |||
84 | diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c | ||
85 | index 6af7bab83..3307bc2ca 100644 | ||
86 | --- a/coregrind/m_syswrap/syswrap-arm64-linux.c | ||
87 | +++ b/coregrind/m_syswrap/syswrap-arm64-linux.c | ||
88 | @@ -840,6 +840,8 @@ static SyscallTableEntry syscall_main_table[] = { | ||
89 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
90 | |||
91 | LINXY(__NR_memfd_secret, sys_memfd_secret), // 447 | ||
92 | + | ||
93 | + LINX_(__NR_fchmodat2, sys_fchmodat2), // 452 | ||
94 | }; | ||
95 | |||
96 | |||
97 | diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c | ||
98 | index d571fc327..efa47f2e6 100644 | ||
99 | --- a/coregrind/m_syswrap/syswrap-linux.c | ||
100 | +++ b/coregrind/m_syswrap/syswrap-linux.c | ||
101 | @@ -6059,6 +6059,17 @@ PRE(sys_fchmodat) | ||
102 | PRE_MEM_RASCIIZ( "fchmodat(path)", ARG2 ); | ||
103 | } | ||
104 | |||
105 | +PRE(sys_fchmodat2) | ||
106 | +{ | ||
107 | + PRINT("sys_fchmodat2 ( %ld, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u, %" | ||
108 | + FMT_REGWORD "u )", | ||
109 | + SARG1, ARG2, (HChar*)(Addr)ARG2, ARG3, ARG4); | ||
110 | + PRE_REG_READ4(long, "fchmodat2", | ||
111 | + int, dfd, const char *, path, vki_mode_t, mode, | ||
112 | + unsigned int, flags); | ||
113 | + PRE_MEM_RASCIIZ( "fchmodat2(pathname)", ARG2 ); | ||
114 | +} | ||
115 | + | ||
116 | PRE(sys_faccessat) | ||
117 | { | ||
118 | PRINT("sys_faccessat ( %ld, %#" FMT_REGWORD "x(%s), %ld )", | ||
119 | diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c | ||
120 | index 6268a00dd..74a1f6eac 100644 | ||
121 | --- a/coregrind/m_syswrap/syswrap-mips32-linux.c | ||
122 | +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c | ||
123 | @@ -1143,6 +1143,8 @@ static SyscallTableEntry syscall_main_table[] = { | ||
124 | LINX_ (__NR_faccessat2, sys_faccessat2), // 439 | ||
125 | |||
126 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
127 | + | ||
128 | + LINX_(__NR_fchmodat2, sys_fchmodat2), // 452 | ||
129 | }; | ||
130 | |||
131 | SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno) | ||
132 | diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c | ||
133 | index 6cdf25893..4e8508b7a 100644 | ||
134 | --- a/coregrind/m_syswrap/syswrap-mips64-linux.c | ||
135 | +++ b/coregrind/m_syswrap/syswrap-mips64-linux.c | ||
136 | @@ -820,6 +820,7 @@ static SyscallTableEntry syscall_main_table[] = { | ||
137 | LINXY (__NR_close_range, sys_close_range), | ||
138 | LINX_ (__NR_faccessat2, sys_faccessat2), | ||
139 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), | ||
140 | + LINX_ (__NR_fchmodat2, sys_fchmodat2), | ||
141 | }; | ||
142 | |||
143 | SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno ) | ||
144 | diff --git a/coregrind/m_syswrap/syswrap-nanomips-linux.c b/coregrind/m_syswrap/syswrap-nanomips-linux.c | ||
145 | index d724cde74..7859900c1 100644 | ||
146 | --- a/coregrind/m_syswrap/syswrap-nanomips-linux.c | ||
147 | +++ b/coregrind/m_syswrap/syswrap-nanomips-linux.c | ||
148 | @@ -829,6 +829,7 @@ static SyscallTableEntry syscall_main_table[] = { | ||
149 | LINXY (__NR_close_range, sys_close_range), | ||
150 | LINX_ (__NR_faccessat2, sys_faccessat2), | ||
151 | LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), | ||
152 | + LINX_ (__NR_fchmodat2, sys_fchmodat2), | ||
153 | }; | ||
154 | |||
155 | SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno) | ||
156 | diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c | ||
157 | index c0cfef235..1e19116ee 100644 | ||
158 | --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c | ||
159 | +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c | ||
160 | @@ -1063,6 +1063,8 @@ static SyscallTableEntry syscall_table[] = { | ||
161 | LINX_(__NR_faccessat2, sys_faccessat2), // 439 | ||
162 | |||
163 | LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
164 | + | ||
165 | + LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452 | ||
166 | }; | ||
167 | |||
168 | SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) | ||
169 | diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c | ||
170 | index f5976f30c..1097212a4 100644 | ||
171 | --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c | ||
172 | +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c | ||
173 | @@ -1032,6 +1032,8 @@ static SyscallTableEntry syscall_table[] = { | ||
174 | LINX_(__NR_faccessat2, sys_faccessat2), // 439 | ||
175 | |||
176 | LINXY (__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
177 | + | ||
178 | + LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452 | ||
179 | }; | ||
180 | |||
181 | SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) | ||
182 | diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c | ||
183 | index afba154e7..3588672c7 100644 | ||
184 | --- a/coregrind/m_syswrap/syswrap-s390x-linux.c | ||
185 | +++ b/coregrind/m_syswrap/syswrap-s390x-linux.c | ||
186 | @@ -873,6 +873,8 @@ static SyscallTableEntry syscall_table[] = { | ||
187 | LINX_(__NR_faccessat2, sys_faccessat2), // 439 | ||
188 | |||
189 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
190 | + | ||
191 | + LINX_ (__NR_fchmodat2, sys_fchmodat2), // 452 | ||
192 | }; | ||
193 | |||
194 | SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) | ||
195 | diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c | ||
196 | index da4fd8fa2..58badc6b0 100644 | ||
197 | --- a/coregrind/m_syswrap/syswrap-x86-linux.c | ||
198 | +++ b/coregrind/m_syswrap/syswrap-x86-linux.c | ||
199 | @@ -1658,6 +1658,8 @@ static SyscallTableEntry syscall_table[] = { | ||
200 | LINXY(__NR_epoll_pwait2, sys_epoll_pwait2), // 441 | ||
201 | |||
202 | LINXY(__NR_memfd_secret, sys_memfd_secret), // 447 | ||
203 | + | ||
204 | + LINX_(__NR_fchmodat2, sys_fchmodat2), // 452 | ||
205 | }; | ||
206 | |||
207 | SyscallTableEntry* ML_(get_linux_syscall_entry) ( UInt sysno ) | ||
208 | diff --git a/include/vki/vki-scnums-shared-linux.h b/include/vki/vki-scnums-shared-linux.h | ||
209 | index 542382b53..a4cd87149 100644 | ||
210 | --- a/include/vki/vki-scnums-shared-linux.h | ||
211 | +++ b/include/vki/vki-scnums-shared-linux.h | ||
212 | @@ -50,4 +50,6 @@ | ||
213 | |||
214 | #define __NR_memfd_secret 447 | ||
215 | |||
216 | +#define __NR_fchmodat2 452 | ||
217 | + | ||
218 | #endif | ||
219 | -- | ||
220 | 2.44.0 | ||
221 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch b/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch deleted file mode 100644 index 4e9185508a..0000000000 --- a/meta/recipes-devtools/valgrind/valgrind/0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch +++ /dev/null | |||
@@ -1,137 +0,0 @@ | |||
1 | From 41ff9aa49f6c54c66d0e6b37f265fd9cb0176057 Mon Sep 17 00:00:00 2001 | ||
2 | From: Paul Floyd <pjfloyd@wanadoo.fr> | ||
3 | Date: Sun, 17 Dec 2023 14:18:51 +0100 | ||
4 | Subject: [PATCH 4/4] Bug 478624 - Valgrind incompatibility with binutils-2.42 | ||
5 | on x86 with new nop patterns (unhandled instruction bytes: 0x2E 0x8D 0xB4 | ||
6 | 0x26) | ||
7 | |||
8 | It was a bit of a struggle to get the testcase to build | ||
9 | with both clang and gcc (oddly enough gcc was more difficult) so | ||
10 | I just resorted to using .byte arrays. | ||
11 | |||
12 | (cherry picked from commit d35005cef8ad8207542738812705ceabf137d7e0) | ||
13 | |||
14 | Upstream-Status: Backport [https://sourceware.org/git/?p=valgrind.git;a=commit;h=41ff9aa49f6c54c66d0e6b37f265fd9cb0176057] | ||
15 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
16 | --- | ||
17 | .gitignore | 1 + | ||
18 | NEWS | 2 ++ | ||
19 | VEX/priv/guest_x86_toIR.c | 22 +++++++++++++- | ||
20 | none/tests/x86/Makefile.am | 2 ++ | ||
21 | none/tests/x86/gnu_binutils_nop.c | 34 ++++++++++++++++++++++ | ||
22 | none/tests/x86/gnu_binutils_nop.stderr.exp | 0 | ||
23 | none/tests/x86/gnu_binutils_nop.vgtest | 2 ++ | ||
24 | 7 files changed, 62 insertions(+), 1 deletion(-) | ||
25 | create mode 100644 none/tests/x86/gnu_binutils_nop.c | ||
26 | create mode 100644 none/tests/x86/gnu_binutils_nop.stderr.exp | ||
27 | create mode 100644 none/tests/x86/gnu_binutils_nop.vgtest | ||
28 | |||
29 | --- a/NEWS | ||
30 | +++ b/NEWS | ||
31 | @@ -9,6 +9,8 @@ The following bugs have been fixed or re | ||
32 | file produced by mold | ||
33 | 476708 valgrind-monitor.py regular expressions should use raw strings | ||
34 | 477198 Add fchmodat2 syscall on linux | ||
35 | +478624 Valgrind incompatibility with binutils-2.42 on x86 with new nop patterns | ||
36 | + (unhandled instruction bytes: 0x2E 0x8D 0xB4 0x26) | ||
37 | |||
38 | To see details of a given bug, visit | ||
39 | https://bugs.kde.org/show_bug.cgi?id=XXXXXX | ||
40 | --- a/VEX/priv/guest_x86_toIR.c | ||
41 | +++ b/VEX/priv/guest_x86_toIR.c | ||
42 | @@ -8198,7 +8198,7 @@ DisResult disInstr_X86_WRK ( | ||
43 | delta += 5; | ||
44 | goto decode_success; | ||
45 | } | ||
46 | - /* Don't barf on recent binutils padding, | ||
47 | + /* Don't barf on recent (2010) binutils padding, | ||
48 | all variants of which are: nopw %cs:0x0(%eax,%eax,1) | ||
49 | 66 2e 0f 1f 84 00 00 00 00 00 | ||
50 | 66 66 2e 0f 1f 84 00 00 00 00 00 | ||
51 | @@ -8222,6 +8222,26 @@ DisResult disInstr_X86_WRK ( | ||
52 | goto decode_success; | ||
53 | } | ||
54 | } | ||
55 | + | ||
56 | + /* bug478624 GNU binutils uses a leal of esi into itself with | ||
57 | + a zero offset and CS prefix as an 8 byte no-op (Dec 2023). | ||
58 | + Since the CS prefix is hardly ever used we don't do much | ||
59 | + to decode it, just a few cases for conditional branches. | ||
60 | + So add handling here with other pseudo-no-ops. | ||
61 | + */ | ||
62 | + if (code[0] == 0x2E && code[1] == 0x8D) { | ||
63 | + if (code[2] == 0x74 && code[3] == 0x26 && code[4] == 0x00) { | ||
64 | + DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n"); | ||
65 | + delta += 5; | ||
66 | + goto decode_success; | ||
67 | + } | ||
68 | + if (code[2] == 0xB4 && code[3] == 0x26 && code[4] == 0x00 | ||
69 | + && code[5] == 0x00 && code[6] == 0x00 && code[7] == 0x00) { | ||
70 | + DIP("leal %%cs:0(%%esi,%%eiz,1),%%esi\n"); | ||
71 | + delta += 8; | ||
72 | + goto decode_success; | ||
73 | + } | ||
74 | + } | ||
75 | |||
76 | // Intel CET requires the following opcodes to be treated as NOPs | ||
77 | // with any prefix and ModRM, SIB and disp combination: | ||
78 | --- a/none/tests/x86/Makefile.am | ||
79 | +++ b/none/tests/x86/Makefile.am | ||
80 | @@ -52,6 +52,7 @@ EXTRA_DIST = \ | ||
81 | fxtract.stdout.exp fxtract.stderr.exp fxtract.vgtest \ | ||
82 | fxtract.stdout.exp-older-glibc \ | ||
83 | getseg.stdout.exp getseg.stderr.exp getseg.vgtest \ | ||
84 | + gnu_binutils_nop.stderr.exp gnu_binutils_nop.vgtest \ | ||
85 | incdec_alt.stdout.exp incdec_alt.stderr.exp incdec_alt.vgtest \ | ||
86 | int.stderr.exp int.stdout.exp int.disabled \ | ||
87 | $(addsuffix .stderr.exp,$(INSN_TESTS)) \ | ||
88 | @@ -100,6 +101,7 @@ check_PROGRAMS = \ | ||
89 | fpu_lazy_eflags \ | ||
90 | fxtract \ | ||
91 | getseg \ | ||
92 | + gnu_binutils_nop \ | ||
93 | incdec_alt \ | ||
94 | $(INSN_TESTS) \ | ||
95 | int \ | ||
96 | --- /dev/null | ||
97 | +++ b/none/tests/x86/gnu_binutils_nop.c | ||
98 | @@ -0,0 +1,34 @@ | ||
99 | +int main(void) | ||
100 | +{ | ||
101 | + // GNU binutils uses various opcodes as alternatives for nop | ||
102 | + // the idea is that it is faster to execute one large opcode | ||
103 | + // with no side-effects than multiple repetitions of the | ||
104 | + // single byte 'nop'. This gives more choice when code | ||
105 | + // needs to be padded. | ||
106 | + | ||
107 | + // the following is based on | ||
108 | + // https://sourceware.org/cgit/binutils-gdb/tree/gas/config/tc-i386.c#n1256 | ||
109 | + | ||
110 | + // one byte | ||
111 | + __asm__ __volatile__("nop"); | ||
112 | + // two bytes | ||
113 | + __asm__ __volatile__("xchg %ax,%ax"); | ||
114 | + // three bytes | ||
115 | + //__asm__ __volatile__("leal 0(%esi),%esi"); | ||
116 | + __asm__ __volatile__(".byte 0x8d,0x76,0x00"); | ||
117 | + // four bytes | ||
118 | + //__asm__ __volatile__("leal 0(%esi,%eiz),%esi"); | ||
119 | + __asm__ __volatile__(".byte 0x8d,0x74,0x26,0x00"); | ||
120 | + // five bytes | ||
121 | + //__asm__ __volatile__("leal %cs:0(%esi,%eiz),%esi"); | ||
122 | + __asm__ __volatile__(".byte 0x2e,0x8d,0x74,0x26,0x00"); | ||
123 | + // six bytes | ||
124 | + //__asm__ __volatile__("leal 0L(%esi),%esi"); | ||
125 | + __asm__ __volatile__(".byte 0x8d,0xb6,0x00,0x00,0x00,0x00"); | ||
126 | + // seven bytes | ||
127 | + //__asm__ __volatile__("leal 0L(%esi,%eiz),%esi"); | ||
128 | + __asm__ __volatile__(".byte 0x8d,0xb4,0x26,0x00,0x00,0x00,0x00"); | ||
129 | + // eight bytes | ||
130 | + //__asm__ __volatile__("leal %cs:0L(%esi,%eiz),%esi"); | ||
131 | + __asm__ __volatile__(".byte 0x2e,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00"); | ||
132 | +} | ||
133 | --- /dev/null | ||
134 | +++ b/none/tests/x86/gnu_binutils_nop.vgtest | ||
135 | @@ -0,0 +1,2 @@ | ||
136 | +prog: gnu_binutils_nop | ||
137 | +vgopts: -q | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch b/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch index 51cd3532d3..65de427d36 100644 --- a/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch +++ b/meta/recipes-devtools/valgrind/valgrind/Added-support-for-PPC-instructions-mfatbu-mfatbl.patch | |||
@@ -17,11 +17,9 @@ Signed-off-by: Aneesh Bansal <aneesh.bansal@freescale.com> | |||
17 | VEX/priv/guest_ppc_toIR.c | 22 ++++++++++++++++++++++ | 17 | VEX/priv/guest_ppc_toIR.c | 22 ++++++++++++++++++++++ |
18 | 3 files changed, 42 insertions(+), 0 deletions(-) | 18 | 3 files changed, 42 insertions(+), 0 deletions(-) |
19 | 19 | ||
20 | diff --git a/VEX/priv/guest_ppc_defs.h b/VEX/priv/guest_ppc_defs.h | ||
21 | index dd3c62e..11a34aa 100644 | ||
22 | --- a/VEX/priv/guest_ppc_defs.h | 20 | --- a/VEX/priv/guest_ppc_defs.h |
23 | +++ b/VEX/priv/guest_ppc_defs.h | 21 | +++ b/VEX/priv/guest_ppc_defs.h |
24 | @@ -146,6 +146,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268_269 ( UInt ); | 22 | @@ -233,6 +233,8 @@ extern UInt ppc32g_dirtyhelper_MFSPR_268 |
25 | 23 | ||
26 | extern UInt ppc32g_dirtyhelper_MFSPR_287 ( void ); | 24 | extern UInt ppc32g_dirtyhelper_MFSPR_287 ( void ); |
27 | 25 | ||
@@ -30,11 +28,9 @@ index dd3c62e..11a34aa 100644 | |||
30 | extern void ppc32g_dirtyhelper_LVS ( VexGuestPPC32State* gst, | 28 | extern void ppc32g_dirtyhelper_LVS ( VexGuestPPC32State* gst, |
31 | UInt vD_idx, UInt sh, | 29 | UInt vD_idx, UInt sh, |
32 | UInt shift_right ); | 30 | UInt shift_right ); |
33 | diff --git a/VEX/priv/guest_ppc_helpers.c b/VEX/priv/guest_ppc_helpers.c | ||
34 | index 11aa428..b49ea3f 100644 | ||
35 | --- a/VEX/priv/guest_ppc_helpers.c | 31 | --- a/VEX/priv/guest_ppc_helpers.c |
36 | +++ b/VEX/priv/guest_ppc_helpers.c | 32 | +++ b/VEX/priv/guest_ppc_helpers.c |
37 | @@ -119,6 +119,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void ) | 33 | @@ -118,6 +118,24 @@ UInt ppc32g_dirtyhelper_MFSPR_287 ( void |
38 | # endif | 34 | # endif |
39 | } | 35 | } |
40 | 36 | ||
@@ -59,11 +55,9 @@ index 11aa428..b49ea3f 100644 | |||
59 | 55 | ||
60 | /* CALLED FROM GENERATED CODE */ | 56 | /* CALLED FROM GENERATED CODE */ |
61 | /* DIRTY HELPER (reads guest state, writes guest mem) */ | 57 | /* DIRTY HELPER (reads guest state, writes guest mem) */ |
62 | diff --git a/VEX/priv/guest_ppc_toIR.c b/VEX/priv/guest_ppc_toIR.c | ||
63 | index f8d220d..37c8974 100644 | ||
64 | --- a/VEX/priv/guest_ppc_toIR.c | 58 | --- a/VEX/priv/guest_ppc_toIR.c |
65 | +++ b/VEX/priv/guest_ppc_toIR.c | 59 | +++ b/VEX/priv/guest_ppc_toIR.c |
66 | @@ -5657,6 +5657,28 @@ static Bool dis_proc_ctl ( VexAbiInfo* vbi, UInt theInstr ) | 60 | @@ -11875,6 +11875,28 @@ static Bool dis_proc_ctl ( const VexAbiI |
67 | break; | 61 | break; |
68 | } | 62 | } |
69 | 63 | ||
@@ -92,5 +86,3 @@ index f8d220d..37c8974 100644 | |||
92 | default: | 86 | default: |
93 | vex_printf("dis_proc_ctl(ppc)(mfspr,SPR)(0x%x)\n", SPR); | 87 | vex_printf("dis_proc_ctl(ppc)(mfspr,SPR)(0x%x)\n", SPR); |
94 | return False; | 88 | return False; |
95 | -- | ||
96 | 1.7.0.4 | ||
diff --git a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch index bde1241dc7..3ab339d215 100644 --- a/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch +++ b/meta/recipes-devtools/valgrind/valgrind/s390x_vec_op_t.patch | |||
@@ -17,19 +17,14 @@ Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com> | |||
17 | VEX/priv/guest_s390_defs.h | 2 +- | 17 | VEX/priv/guest_s390_defs.h | 2 +- |
18 | 1 file changed, 1 insertion(+), 1 deletion(-) | 18 | 1 file changed, 1 insertion(+), 1 deletion(-) |
19 | 19 | ||
20 | diff --git a/VEX/priv/guest_s390_defs.h b/VEX/priv/guest_s390_defs.h | ||
21 | index 9054290..dab8002 100644 | ||
22 | --- a/VEX/priv/guest_s390_defs.h | 20 | --- a/VEX/priv/guest_s390_defs.h |
23 | +++ b/VEX/priv/guest_s390_defs.h | 21 | +++ b/VEX/priv/guest_s390_defs.h |
24 | @@ -284,7 +284,7 @@ typedef enum { | 22 | @@ -284,7 +284,7 @@ typedef enum { |
25 | S390_VEC_OP_VBPERM, | 23 | S390_VEC_OP_VCLFNL, |
26 | S390_VEC_OP_VMSL, | 24 | S390_VEC_OP_VCRNF, |
27 | S390_VEC_OP_LAST // supposed to be the last element in enum | 25 | S390_VEC_OP_LAST // supposed to be the last element in enum |
28 | -} s390x_vec_op_t; | 26 | -} s390x_vec_op_t; |
29 | +}; | 27 | +}; |
30 | 28 | ||
31 | /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one | 29 | /* Arguments of s390x_dirtyhelper_vec_op(...) which are packed into one |
32 | ULong variable. | 30 | ULong variable. |
33 | -- | ||
34 | 2.29.2 | ||
35 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch index f15d04b173..afca874d02 100644 --- a/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch +++ b/meta/recipes-devtools/valgrind/valgrind/use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch | |||
@@ -22,11 +22,9 @@ Signed-off-by: Andre McCurdy <armccurdy@gmail.com> | |||
22 | none/tests/arm/Makefile.am | 6 ++++-- | 22 | none/tests/arm/Makefile.am | 6 ++++-- |
23 | 1 file changed, 4 insertions(+), 2 deletions(-) | 23 | 1 file changed, 4 insertions(+), 2 deletions(-) |
24 | 24 | ||
25 | diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am | ||
26 | index 4507a20..825290f 100644 | ||
27 | --- a/none/tests/arm/Makefile.am | 25 | --- a/none/tests/arm/Makefile.am |
28 | +++ b/none/tests/arm/Makefile.am | 26 | +++ b/none/tests/arm/Makefile.am |
29 | @@ -62,8 +62,10 @@ neon64_CFLAGS = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \ | 27 | @@ -87,8 +87,10 @@ neon64_CFLAGS = $(AM_CFLAGS) -g -O0 |
30 | -mfpu=neon \ | 28 | -mfpu=neon \ |
31 | -mthumb | 29 | -mthumb |
32 | 30 | ||
@@ -39,6 +37,3 @@ index 4507a20..825290f 100644 | |||
39 | +vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mfpu=vfpv3 | 37 | +vcvt_fixed_float_VFP_CFLAGS = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mfpu=vfpv3 |
40 | + | 38 | + |
41 | +vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm | 39 | +vfpv4_fma_CFLAGS = $(AM_CFLAGS) -g -O0 -march=armv7ve -mcpu=cortex-a15 -mfpu=vfpv4 -marm |
42 | -- | ||
43 | 1.9.1 | ||
44 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch index d04297dca8..0895473fc0 100644 --- a/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch +++ b/meta/recipes-devtools/valgrind/valgrind/valgrind-make-ld-XXX.so-strlen-intercept-optional.patch | |||
@@ -16,11 +16,9 @@ Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | |||
16 | coregrind/m_redir.c | 13 ++++++++++++- | 16 | coregrind/m_redir.c | 13 ++++++++++++- |
17 | 1 file changed, 12 insertions(+), 1 deletion(-) | 17 | 1 file changed, 12 insertions(+), 1 deletion(-) |
18 | 18 | ||
19 | diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c | ||
20 | index ff35009..d7d6816 100644 | ||
21 | --- a/coregrind/m_redir.c | 19 | --- a/coregrind/m_redir.c |
22 | +++ b/coregrind/m_redir.c | 20 | +++ b/coregrind/m_redir.c |
23 | @@ -1275,7 +1275,18 @@ static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt, | 21 | @@ -1307,7 +1307,18 @@ static void add_hardwired_spec (const H |
24 | spec->to_addr = to_addr; | 22 | spec->to_addr = to_addr; |
25 | spec->isWrap = False; | 23 | spec->isWrap = False; |
26 | spec->isGlobal = False; | 24 | spec->isGlobal = False; |
@@ -40,6 +38,3 @@ index ff35009..d7d6816 100644 | |||
40 | /* VARIABLE PARTS */ | 38 | /* VARIABLE PARTS */ |
41 | spec->mark = False; /* not significant */ | 39 | spec->mark = False; /* not significant */ |
42 | spec->done = False; /* not significant */ | 40 | spec->done = False; /* not significant */ |
43 | -- | ||
44 | 1.9.1 | ||
45 | |||
diff --git a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.23.0.bb index 563d99f0e2..ad9e26cb6b 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.22.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.23.0.bb | |||
@@ -22,6 +22,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ | |||
22 | file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ | 22 | file://0005-Modify-vg_test-wrapper-to-support-PTEST-formats.patch \ |
23 | file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ | 23 | file://use-appropriate-march-mcpu-mfpu-for-ARM-test-apps.patch \ |
24 | file://avoid-neon-for-targets-which-don-t-support-it.patch \ | 24 | file://avoid-neon-for-targets-which-don-t-support-it.patch \ |
25 | file://0001-configure-Drop-setting-mcpu-cortex-a8-on-arm.patch \ | ||
25 | file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ | 26 | file://valgrind-make-ld-XXX.so-strlen-intercept-optional.patch \ |
26 | file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ | 27 | file://0001-makefiles-Drop-setting-mcpu-to-cortex-a8-on-arm-arch.patch \ |
27 | file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ | 28 | file://0001-sigqueue-Rename-_sifields-to-__si_fields-on-musl.patch \ |
@@ -33,12 +34,9 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ | |||
33 | file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ | 34 | file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ |
34 | file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ | 35 | file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ |
35 | file://0001-docs-Disable-manual-validation.patch \ | 36 | file://0001-docs-Disable-manual-validation.patch \ |
36 | file://0001-valgrind-monitor.py-regular-expressions-should-use-r.patch \ | 37 | file://0001-tests-arm-Use-O-instead-of-O0.patch \ |
37 | file://0002-Bug-476548-valgrind-3.22.0-fails-on-assertion-when-l.patch \ | ||
38 | file://0003-Add-fchmodat2-syscall-on-linux.patch \ | ||
39 | file://0004-Bug-478624-Valgrind-incompatibility-with-binutils-2..patch \ | ||
40 | " | 38 | " |
41 | SRC_URI[sha256sum] = "c811db5add2c5f729944caf47c4e7a65dcaabb9461e472b578765dd7bf6d2d4c" | 39 | SRC_URI[sha256sum] = "c5c34a3380457b9b75606df890102e7df2c702b9420c2ebef9540f8b5d56264d" |
42 | UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" | 40 | UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" |
43 | 41 | ||
44 | COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' | 42 | COMPATIBLE_HOST = '(i.86|x86_64|arm|aarch64|mips|powerpc|powerpc64).*-linux' |
@@ -196,9 +194,9 @@ do_install_ptest() { | |||
196 | 194 | ||
197 | # The scripts reference config.h so add it to the top ptest dir. | 195 | # The scripts reference config.h so add it to the top ptest dir. |
198 | cp ${B}/config.h ${D}${PTEST_PATH} | 196 | cp ${B}/config.h ${D}${PTEST_PATH} |
199 | install -D ${WORKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} | 197 | install -D ${UNPACKDIR}/remove-for-aarch64 ${D}${PTEST_PATH} |
200 | install -D ${WORKDIR}/remove-for-all ${D}${PTEST_PATH} | 198 | install -D ${UNPACKDIR}/remove-for-all ${D}${PTEST_PATH} |
201 | install -D ${WORKDIR}/taskset_nondeterministic_tests ${D}${PTEST_PATH} | 199 | install -D ${UNPACKDIR}/taskset_nondeterministic_tests ${D}${PTEST_PATH} |
202 | 200 | ||
203 | # Add an executable need by none/tests/bigcode | 201 | # Add an executable need by none/tests/bigcode |
204 | mkdir ${D}${PTEST_PATH}/perf | 202 | mkdir ${D}${PTEST_PATH}/perf |
diff --git a/meta/recipes-extended/at/at_3.2.5.bb b/meta/recipes-extended/at/at_3.2.5.bb index c0c876a644..112d1c4adc 100644 --- a/meta/recipes-extended/at/at_3.2.5.bb +++ b/meta/recipes-extended/at/at_3.2.5.bb | |||
@@ -55,22 +55,22 @@ SYSTEMD_SERVICE:${PN} = "atd.service" | |||
55 | do_patch[postfuncs] += "copy_posix_files" | 55 | do_patch[postfuncs] += "copy_posix_files" |
56 | 56 | ||
57 | copy_posix_files() { | 57 | copy_posix_files() { |
58 | cp -f ${WORKDIR}/posixtm.[ch] ${S} | 58 | cp -f ${UNPACKDIR}/posixtm.[ch] ${S} |
59 | } | 59 | } |
60 | 60 | ||
61 | do_install () { | 61 | do_install () { |
62 | oe_runmake -e "IROOT=${D}" install | 62 | oe_runmake -e "IROOT=${D}" install |
63 | 63 | ||
64 | install -d ${D}${sysconfdir}/init.d | 64 | install -d ${D}${sysconfdir}/init.d |
65 | install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd | 65 | install -m 0755 ${UNPACKDIR}/atd.init ${D}${sysconfdir}/init.d/atd |
66 | 66 | ||
67 | # install systemd unit files | 67 | # install systemd unit files |
68 | install -d ${D}${systemd_system_unitdir} | 68 | install -d ${D}${systemd_system_unitdir} |
69 | install -m 0644 ${WORKDIR}/atd.service ${D}${systemd_system_unitdir} | 69 | install -m 0644 ${UNPACKDIR}/atd.service ${D}${systemd_system_unitdir} |
70 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service | 70 | sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service |
71 | 71 | ||
72 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 72 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
73 | install -D -m 0644 ${WORKDIR}/${BP}/pam.conf ${D}${sysconfdir}/pam.d/atd | 73 | install -D -m 0644 ${S}/pam.conf ${D}${sysconfdir}/pam.d/atd |
74 | fi | 74 | fi |
75 | rm -f ${D}${datadir}/at/batch-job | 75 | rm -f ${D}${datadir}/at/batch-job |
76 | } | 76 | } |
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc index e541161c75..66058feff3 100644 --- a/meta/recipes-extended/bash/bash.inc +++ b/meta/recipes-extended/bash/bash.inc | |||
@@ -108,7 +108,7 @@ do_install_ptest () { | |||
108 | cp ${B}/config.h ${D}${PTEST_PATH} | 108 | cp ${B}/config.h ${D}${PTEST_PATH} |
109 | cp ${B}/version.h ${D}${PTEST_PATH} | 109 | cp ${B}/version.h ${D}${PTEST_PATH} |
110 | cp ${S}/y.tab.[ch] ${D}${PTEST_PATH} | 110 | cp ${S}/y.tab.[ch] ${D}${PTEST_PATH} |
111 | install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests | 111 | install -D ${UNPACKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests |
112 | sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ | 112 | sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ |
113 | -e 's|${DEBUG_PREFIX_MAP}||g' \ | 113 | -e 's|${DEBUG_PREFIX_MAP}||g' \ |
114 | -e 's|${BUILD_LDFLAGS}||g' \ | 114 | -e 's|${BUILD_LDFLAGS}||g' \ |
diff --git a/meta/recipes-extended/bash/bash/build-tests.patch b/meta/recipes-extended/bash/bash/build-tests.patch index ea38bace9b..c1b9b8261f 100644 --- a/meta/recipes-extended/bash/bash/build-tests.patch +++ b/meta/recipes-extended/bash/bash/build-tests.patch | |||
@@ -4,7 +4,7 @@ Date: Wed, 19 Dec 2012 17:18:31 +0100 | |||
4 | Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking | 4 | Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking |
5 | dependencies. | 5 | dependencies. |
6 | 6 | ||
7 | Upstream-Status: Pending | 7 | Upstream-Status: Inappropriate [ptest specific] |
8 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> | 8 | Signed-off-by: Anders Roxell <anders.roxell@enea.com> |
9 | 9 | ||
10 | Rebase to 5.0 | 10 | Rebase to 5.0 |
diff --git a/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch b/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch new file mode 100644 index 0000000000..60f1852316 --- /dev/null +++ b/meta/recipes-extended/bash/bash/fix-filesubst-errexit.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 59ddfda14e3c9aa6286bb4c4c0748f7c1324a65a Mon Sep 17 00:00:00 2001 | ||
2 | From: Chet Ramey <chet.ramey@case.edu> | ||
3 | Date: Fri, 7 Apr 2023 00:28:46 -0700 | ||
4 | Subject: [PATCH] $(<nosuchfile) is no longer a fatal error with errexit | ||
5 | enabled | ||
6 | |||
7 | This is a trimmed-down version of a commit in the bash 'devel' branch | ||
8 | [1] that contains this fix as well as other unrelated ones. | ||
9 | |||
10 | [1] https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=ec9447ce9392a0f93d96789c3741285fede8a150 | ||
11 | |||
12 | Upstream-Status: Backport | ||
13 | |||
14 | Signed-off-by: Zev Weiss <zev@bewilderbeest.net> | ||
15 | --- | ||
16 | builtins/evalstring.c | 2 +- | ||
17 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
18 | |||
19 | diff --git a/builtins/evalstring.c b/builtins/evalstring.c | ||
20 | index df3dd68e2a7e..6612081cd646 100644 | ||
21 | --- a/builtins/evalstring.c | ||
22 | +++ b/builtins/evalstring.c | ||
23 | @@ -753,7 +753,7 @@ open_redir_file (r, fnp) | ||
24 | fd = open(fn, O_RDONLY); | ||
25 | if (fd < 0) | ||
26 | { | ||
27 | - file_error (fn); | ||
28 | + internal_error ("%s: %s", fn, strerror (errno)); | ||
29 | free (fn); | ||
30 | if (fnp) | ||
31 | *fnp = 0; | ||
32 | -- | ||
33 | 2.40.0 | ||
34 | |||
diff --git a/meta/recipes-extended/bash/bash_5.2.21.bb b/meta/recipes-extended/bash/bash_5.2.21.bb index 46d921bbe6..532adf4c1a 100644 --- a/meta/recipes-extended/bash/bash_5.2.21.bb +++ b/meta/recipes-extended/bash/bash_5.2.21.bb | |||
@@ -13,6 +13,7 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ | |||
13 | file://fix-run-builtins.patch \ | 13 | file://fix-run-builtins.patch \ |
14 | file://use_aclocal.patch \ | 14 | file://use_aclocal.patch \ |
15 | file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \ | 15 | file://0001-changes-to-SIGINT-handler-while-waiting-for-a-child-.patch \ |
16 | file://fix-filesubst-errexit.patch \ | ||
16 | " | 17 | " |
17 | 18 | ||
18 | SRC_URI[tarball.sha256sum] = "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8" | 19 | SRC_URI[tarball.sha256sum] = "c8e31bdc59b69aaffc5b36509905ba3e5cbb12747091d27b4b977f078560d5b8" |
diff --git a/meta/recipes-extended/bc/bc_1.07.1.bb b/meta/recipes-extended/bc/bc_1.07.1.bb index 819da6cda6..74387c50ab 100644 --- a/meta/recipes-extended/bc/bc_1.07.1.bb +++ b/meta/recipes-extended/bc/bc_1.07.1.bb | |||
@@ -27,7 +27,7 @@ PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" | |||
27 | PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" | 27 | PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit" |
28 | 28 | ||
29 | do_compile:prepend() { | 29 | do_compile:prepend() { |
30 | cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h | 30 | cp -f ${UNPACKDIR}/libmath.h ${B}/bc/libmath.h |
31 | } | 31 | } |
32 | 32 | ||
33 | do_install_ptest() { | 33 | do_install_ptest() { |
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb index 4e3a06f240..7d7ab3856b 100644 --- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb +++ b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb | |||
@@ -14,11 +14,11 @@ LICENSE:libbz2 = "bzip2-1.0.6" | |||
14 | LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" | 14 | LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib" |
15 | 15 | ||
16 | LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \ | 16 | LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \ |
17 | file://${WORKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \ | 17 | file://${UNPACKDIR}/git/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \ |
18 | file://${WORKDIR}/git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \ | 18 | file://${UNPACKDIR}/git/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \ |
19 | file://${WORKDIR}/git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \ | 19 | file://${UNPACKDIR}/git/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \ |
20 | file://${WORKDIR}/git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \ | 20 | file://${UNPACKDIR}/git/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \ |
21 | file://${WORKDIR}/git/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ | 21 | file://${UNPACKDIR}/git/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \ |
22 | " | 22 | " |
23 | 23 | ||
24 | SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \ | 24 | SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \ |
@@ -52,13 +52,13 @@ do_configure:prepend () { | |||
52 | 52 | ||
53 | do_install_ptest () { | 53 | do_install_ptest () { |
54 | install -d ${D}${PTEST_PATH}/bzip2-tests | 54 | install -d ${D}${PTEST_PATH}/bzip2-tests |
55 | cp -r ${WORKDIR}/git/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress | 55 | cp -r ${UNPACKDIR}/git/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress |
56 | cp -r ${WORKDIR}/git/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip | 56 | cp -r ${UNPACKDIR}/git/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip |
57 | cp -r ${WORKDIR}/git/go ${D}${PTEST_PATH}/bzip2-tests/go | 57 | cp -r ${UNPACKDIR}/git/go ${D}${PTEST_PATH}/bzip2-tests/go |
58 | cp -r ${WORKDIR}/git/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2 | 58 | cp -r ${UNPACKDIR}/git/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2 |
59 | cp -r ${WORKDIR}/git/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate | 59 | cp -r ${UNPACKDIR}/git/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate |
60 | cp ${WORKDIR}/git/README ${D}${PTEST_PATH}/bzip2-tests/ | 60 | cp ${UNPACKDIR}/git/README ${D}${PTEST_PATH}/bzip2-tests/ |
61 | cp ${WORKDIR}/git/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/ | 61 | cp ${UNPACKDIR}/git/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/ |
62 | sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile | 62 | sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile |
63 | } | 63 | } |
64 | 64 | ||
diff --git a/meta/recipes-extended/cpio/cpio_2.15.bb b/meta/recipes-extended/cpio/cpio_2.15.bb index 52070f59a2..bfaf5c31c3 100644 --- a/meta/recipes-extended/cpio/cpio_2.15.bb +++ b/meta/recipes-extended/cpio/cpio_2.15.bb | |||
@@ -16,6 +16,7 @@ SRC_URI[sha256sum] = "efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee41834 | |||
16 | inherit autotools gettext texinfo ptest | 16 | inherit autotools gettext texinfo ptest |
17 | 17 | ||
18 | CVE_STATUS[CVE-2010-4226] = "not-applicable-platform: Issue applies to use of cpio in SUSE/OBS" | 18 | CVE_STATUS[CVE-2010-4226] = "not-applicable-platform: Issue applies to use of cpio in SUSE/OBS" |
19 | CVE_STATUS[CVE-2023-7216] = "disputed: intended behaviour, see https://lists.gnu.org/archive/html/bug-cpio/2024-03/msg00000.html" | ||
19 | 20 | ||
20 | EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}" | 21 | EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}" |
21 | 22 | ||
@@ -50,7 +51,7 @@ do_install_ptest() { | |||
50 | install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/ | 51 | install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/ |
51 | install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/ | 52 | install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/ |
52 | install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/ | 53 | install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/ |
53 | install --mode=755 ${WORKDIR}/test.sh ${D}${PTEST_PATH}/test.sh | 54 | install --mode=755 ${UNPACKDIR}/test.sh ${D}${PTEST_PATH}/test.sh |
54 | sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh | 55 | sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh |
55 | } | 56 | } |
56 | 57 | ||
diff --git a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch index 20572b55c4..35229ae890 100644 --- a/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch +++ b/meta/recipes-extended/cracklib/cracklib/0001-packlib.c-support-dictionary-byte-order-dependent.patch | |||
@@ -303,7 +303,7 @@ index 9396e1d..d0bb181 100644 | |||
303 | + PWDICT tmp_pwp; | 303 | + PWDICT tmp_pwp; |
304 | + | 304 | + |
305 | + memcpy(&tmp_pwp, pwp, sizeof(PWDICT)); | 305 | + memcpy(&tmp_pwp, pwp, sizeof(PWDICT)); |
306 | + HwmsHostToBigEndian(tmp_pwp.hwms, sizeof(tmp_pwp.hwms), en_is32); | 306 | + HwmsHostToBigEndian((char *)tmp_pwp.hwms, sizeof(tmp_pwp.hwms), en_is32); |
307 | + fwrite(tmp_pwp.hwms, 1, sizeof(tmp_pwp.hwms), pwp->wfp); | 307 | + fwrite(tmp_pwp.hwms, 1, sizeof(tmp_pwp.hwms), pwp->wfp); |
308 | } | 308 | } |
309 | } | 309 | } |
diff --git a/meta/recipes-extended/cronie/cronie_1.7.1.bb b/meta/recipes-extended/cronie/cronie_1.7.2.bb index 854b68163c..e4711fa31c 100644 --- a/meta/recipes-extended/cronie/cronie_1.7.1.bb +++ b/meta/recipes-extended/cronie/cronie_1.7.2.bb | |||
@@ -25,7 +25,7 @@ SRC_URI = "${GITHUB_BASE_URI}/download/cronie-${PV}/cronie-${PV}.tar.gz \ | |||
25 | PAM_SRC_URI = "file://crond_pam_config.patch" | 25 | PAM_SRC_URI = "file://crond_pam_config.patch" |
26 | PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" | 26 | PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" |
27 | 27 | ||
28 | SRC_URI[sha256sum] = "78033100c24413f0c40f93e6138774d6a4f55bc31050567b90db45a2f9f1b954" | 28 | SRC_URI[sha256sum] = "f1da374a15ba7605cf378347f96bc8b678d3d7c0765269c8242cfe5b0789c571" |
29 | 29 | ||
30 | inherit autotools update-rc.d useradd systemd github-releases | 30 | inherit autotools update-rc.d useradd systemd github-releases |
31 | UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)" | 31 | UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)" |
@@ -49,18 +49,18 @@ do_install:append () { | |||
49 | install -d ${D}${sysconfdir}/sysconfig/ | 49 | install -d ${D}${sysconfdir}/sysconfig/ |
50 | install -d ${D}${sysconfdir}/init.d/ | 50 | install -d ${D}${sysconfdir}/init.d/ |
51 | install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond | 51 | install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond |
52 | install -m 0755 ${WORKDIR}/crond.init ${D}${sysconfdir}/init.d/crond | 52 | install -m 0755 ${UNPACKDIR}/crond.init ${D}${sysconfdir}/init.d/crond |
53 | 53 | ||
54 | # install systemd unit files | 54 | # install systemd unit files |
55 | install -d ${D}${systemd_system_unitdir} | 55 | install -d ${D}${systemd_system_unitdir} |
56 | install -m 0644 ${WORKDIR}/crond.service ${D}${systemd_system_unitdir} | 56 | install -m 0644 ${UNPACKDIR}/crond.service ${D}${systemd_system_unitdir} |
57 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 57 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
58 | -e 's,@SBINDIR@,${sbindir},g' \ | 58 | -e 's,@SBINDIR@,${sbindir},g' \ |
59 | ${D}${systemd_system_unitdir}/crond.service | 59 | ${D}${systemd_system_unitdir}/crond.service |
60 | 60 | ||
61 | # below are necessary for a complete cron environment | 61 | # below are necessary for a complete cron environment |
62 | install -d ${D}${localstatedir}/spool/cron | 62 | install -d ${D}${localstatedir}/spool/cron |
63 | install -m 0755 ${WORKDIR}/crontab ${D}${sysconfdir}/ | 63 | install -m 0755 ${UNPACKDIR}/crontab ${D}${sysconfdir}/ |
64 | mkdir -p ${D}${sysconfdir}/cron.d | 64 | mkdir -p ${D}${sysconfdir}/cron.d |
65 | mkdir -p ${D}${sysconfdir}/cron.hourly | 65 | mkdir -p ${D}${sysconfdir}/cron.hourly |
66 | mkdir -p ${D}${sysconfdir}/cron.daily | 66 | mkdir -p ${D}${sysconfdir}/cron.daily |
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc index b70ba3ae58..9688efafae 100644 --- a/meta/recipes-extended/cups/cups.inc +++ b/meta/recipes-extended/cups/cups.inc | |||
@@ -84,11 +84,11 @@ do_install () { | |||
84 | rm -rf ${D}${sysconfdir}/init.d/ | 84 | rm -rf ${D}${sysconfdir}/init.d/ |
85 | rm -rf ${D}${sysconfdir}/rc* | 85 | rm -rf ${D}${sysconfdir}/rc* |
86 | install -d ${D}${sysconfdir}/tmpfiles.d | 86 | install -d ${D}${sysconfdir}/tmpfiles.d |
87 | install -m 0644 ${WORKDIR}/cups-volatiles.conf \ | 87 | install -m 0644 ${UNPACKDIR}/cups-volatiles.conf \ |
88 | ${D}${sysconfdir}/tmpfiles.d/cups.conf | 88 | ${D}${sysconfdir}/tmpfiles.d/cups.conf |
89 | else | 89 | else |
90 | install -d ${D}${sysconfdir}/default/volatiles | 90 | install -d ${D}${sysconfdir}/default/volatiles |
91 | install -m 0644 ${WORKDIR}/volatiles.99_cups \ | 91 | install -m 0644 ${UNPACKDIR}/volatiles.99_cups \ |
92 | ${D}${sysconfdir}/default/volatiles/99_cups | 92 | ${D}${sysconfdir}/default/volatiles/99_cups |
93 | fi | 93 | fi |
94 | } | 94 | } |
diff --git a/meta/recipes-extended/cups/cups_2.4.7.bb b/meta/recipes-extended/cups/cups_2.4.8.bb index f4b0282e4c..c0cddf7e99 100644 --- a/meta/recipes-extended/cups/cups_2.4.7.bb +++ b/meta/recipes-extended/cups/cups_2.4.8.bb | |||
@@ -2,4 +2,4 @@ require cups.inc | |||
2 | 2 | ||
3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | 3 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" |
4 | 4 | ||
5 | SRC_URI[sha256sum] = "dd54228dd903526428ce7e37961afaed230ad310788141da75cebaa08362cf6c" | 5 | SRC_URI[sha256sum] = "75c326b4ba73975efcc9a25078c4b04cdb4ee333caaad0d0823dbd522c6479a0" |
diff --git a/meta/recipes-extended/gawk/gawk/0001-m4-readline-add-missing-includes.patch b/meta/recipes-extended/gawk/gawk/0001-m4-readline-add-missing-includes.patch new file mode 100644 index 0000000000..5be2fd97ee --- /dev/null +++ b/meta/recipes-extended/gawk/gawk/0001-m4-readline-add-missing-includes.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 4f4e84f139e2a8682f1374a592f2636c43ad857b Mon Sep 17 00:00:00 2001 | ||
2 | From: Ross Burton <ross.burton@arm.com> | ||
3 | Date: Tue, 21 May 2024 15:10:11 +0000 | ||
4 | Subject: [PATCH] m4/readline: add missing includes | ||
5 | |||
6 | The cross-specific code fragment only includes stdio.h, where the native | ||
7 | fragment also includes fcntl.h and unistd.h. This is important because | ||
8 | GCC 14.1 has made the implicit definitions an error: | ||
9 | |||
10 | conftest.c: In function 'main': | ||
11 | conftest.c:144:9: error: implicit declaration of function 'close'; did you mean 'pclose'? [-Wimplicit-function-declaration] | ||
12 | conftest.c:146:14: error: implicit declaration of function 'open'; did you mean 'popen'? [-Wimplicit-function-declaration] | ||
13 | |||
14 | Add the missing includes so that the check doesn't always fail due to | ||
15 | these errors. | ||
16 | |||
17 | Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-gawk/2024-05/msg00000.html] | ||
18 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
19 | --- | ||
20 | m4/readline.m4 | 2 ++ | ||
21 | 1 file changed, 2 insertions(+) | ||
22 | |||
23 | diff --git a/m4/readline.m4 b/m4/readline.m4 | ||
24 | index 38f96326..efd52d4e 100644 | ||
25 | --- a/m4/readline.m4 | ||
26 | +++ b/m4/readline.m4 | ||
27 | @@ -66,6 +66,8 @@ dnl action if false: | ||
28 | dnl action if cross compiling: | ||
29 | [AC_LINK_IFELSE( | ||
30 | [AC_LANG_PROGRAM([[#include <stdio.h> | ||
31 | +#include <fcntl.h> | ||
32 | +#include <unistd.h> | ||
33 | #include <readline/readline.h> | ||
34 | #include <readline/history.h>]], dnl includes | ||
35 | dnl function body | ||
36 | -- | ||
37 | 2.34.1 | ||
38 | |||
diff --git a/meta/recipes-extended/gawk/gawk_5.3.0.bb b/meta/recipes-extended/gawk/gawk_5.3.0.bb index d7a0fc616d..e94cf19db4 100644 --- a/meta/recipes-extended/gawk/gawk_5.3.0.bb +++ b/meta/recipes-extended/gawk/gawk_5.3.0.bb | |||
@@ -16,6 +16,7 @@ PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline" | |||
16 | PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" | 16 | PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" |
17 | 17 | ||
18 | SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ | 18 | SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ |
19 | file://0001-m4-readline-add-missing-includes.patch \ | ||
19 | file://run-ptest \ | 20 | file://run-ptest \ |
20 | " | 21 | " |
21 | 22 | ||
diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb index 74f3520eae..575ee81b50 100644 --- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb +++ b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb | |||
@@ -5,7 +5,7 @@ HOMEPAGE = "https://golang.org/" | |||
5 | LICENSE = "MIT" | 5 | LICENSE = "MIT" |
6 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" | 6 | LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" |
7 | 7 | ||
8 | SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https" | 8 | SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}" |
9 | SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935" | 9 | SRCREV = "32022caedd6a177a7717aa8680cbe179e1045935" |
10 | UPSTREAM_CHECK_COMMITS = "1" | 10 | UPSTREAM_CHECK_COMMITS = "1" |
11 | 11 | ||
diff --git a/meta/recipes-extended/iptables/iptables_1.8.10.bb b/meta/recipes-extended/iptables/iptables_1.8.10.bb index cd2f3bce0b..5a87897742 100644 --- a/meta/recipes-extended/iptables/iptables_1.8.10.bb +++ b/meta/recipes-extended/iptables/iptables_1.8.10.bb | |||
@@ -52,10 +52,10 @@ IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}" | |||
52 | 52 | ||
53 | do_install:append() { | 53 | do_install:append() { |
54 | install -d ${D}${IPTABLES_RULES_DIR} | 54 | install -d ${D}${IPTABLES_RULES_DIR} |
55 | install -m 0644 ${WORKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR} | 55 | install -m 0644 ${UNPACKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR} |
56 | 56 | ||
57 | install -d ${D}${systemd_system_unitdir} | 57 | install -d ${D}${systemd_system_unitdir} |
58 | install -m 0644 ${WORKDIR}/iptables.service ${D}${systemd_system_unitdir} | 58 | install -m 0644 ${UNPACKDIR}/iptables.service ${D}${systemd_system_unitdir} |
59 | 59 | ||
60 | sed -i \ | 60 | sed -i \ |
61 | -e 's,@SBINDIR@,${sbindir},g' \ | 61 | -e 's,@SBINDIR@,${sbindir},g' \ |
@@ -63,8 +63,8 @@ do_install:append() { | |||
63 | ${D}${systemd_system_unitdir}/iptables.service | 63 | ${D}${systemd_system_unitdir}/iptables.service |
64 | 64 | ||
65 | if ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'true', 'false', d)} ; then | 65 | if ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'true', 'false', d)} ; then |
66 | install -m 0644 ${WORKDIR}/ip6tables.rules ${D}${IPTABLES_RULES_DIR} | 66 | install -m 0644 ${UNPACKDIR}/ip6tables.rules ${D}${IPTABLES_RULES_DIR} |
67 | install -m 0644 ${WORKDIR}/ip6tables.service ${D}${systemd_system_unitdir} | 67 | install -m 0644 ${UNPACKDIR}/ip6tables.service ${D}${systemd_system_unitdir} |
68 | 68 | ||
69 | sed -i \ | 69 | sed -i \ |
70 | -e 's,@SBINDIR@,${sbindir},g' \ | 70 | -e 's,@SBINDIR@,${sbindir},g' \ |
diff --git a/meta/recipes-extended/iputils/iputils_20240117.bb b/meta/recipes-extended/iputils/iputils_20240117.bb index 5a5e15528e..3880689742 100644 --- a/meta/recipes-extended/iputils/iputils_20240117.bb +++ b/meta/recipes-extended/iputils/iputils_20240117.bb | |||
@@ -35,7 +35,11 @@ ALTERNATIVE_PRIORITY = "100" | |||
35 | ALTERNATIVE:${PN}-ping = "ping" | 35 | ALTERNATIVE:${PN}-ping = "ping" |
36 | ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" | 36 | ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" |
37 | 37 | ||
38 | SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff" | 38 | ALTERNATIVE:${PN}-ping6 = "ping6" |
39 | ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" | ||
40 | |||
41 | SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff \ | ||
42 | ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ping6', '', d)}" | ||
39 | PACKAGES += "${SPLITPKGS}" | 43 | PACKAGES += "${SPLITPKGS}" |
40 | 44 | ||
41 | ALLOW_EMPTY:${PN} = "1" | 45 | ALLOW_EMPTY:${PN} = "1" |
@@ -43,6 +47,13 @@ RDEPENDS:${PN} += "${SPLITPKGS}" | |||
43 | 47 | ||
44 | FILES:${PN} = "" | 48 | FILES:${PN} = "" |
45 | FILES:${PN}-ping = "${base_bindir}/ping.${BPN}" | 49 | FILES:${PN}-ping = "${base_bindir}/ping.${BPN}" |
50 | FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}" | ||
46 | FILES:${PN}-arping = "${base_bindir}/arping" | 51 | FILES:${PN}-arping = "${base_bindir}/arping" |
47 | FILES:${PN}-tracepath = "${base_bindir}/tracepath" | 52 | FILES:${PN}-tracepath = "${base_bindir}/tracepath" |
48 | FILES:${PN}-clockdiff = "${base_bindir}/clockdiff" | 53 | FILES:${PN}-clockdiff = "${base_bindir}/clockdiff" |
54 | |||
55 | do_install:append() { | ||
56 | if ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'true', 'false', d)}; then | ||
57 | ln -sf ping ${D}/${base_bindir}/ping6 | ||
58 | fi | ||
59 | } | ||
diff --git a/meta/recipes-extended/libarchive/libarchive/configurehack.patch b/meta/recipes-extended/libarchive/libarchive/configurehack.patch index f3989d99eb..45fddd9147 100644 --- a/meta/recipes-extended/libarchive/libarchive/configurehack.patch +++ b/meta/recipes-extended/libarchive/libarchive/configurehack.patch | |||
@@ -2,12 +2,15 @@ To work with autoconf 2.73, tweak the macro ordering in configure.in. | |||
2 | 2 | ||
3 | Upstream-Status: Pending | 3 | Upstream-Status: Pending |
4 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | 4 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
5 | --- | ||
6 | configure.ac | 26 +++++++++++++------------- | ||
7 | 1 file changed, 13 insertions(+), 13 deletions(-) | ||
5 | 8 | ||
6 | Index: libarchive-3.6.2/configure.ac | 9 | diff --git a/configure.ac b/configure.ac |
7 | =================================================================== | 10 | index 503bb75..e3101da 100644 |
8 | --- libarchive-3.6.2.orig/configure.ac | 11 | --- a/configure.ac |
9 | +++ libarchive-3.6.2/configure.ac | 12 | +++ b/configure.ac |
10 | @@ -357,6 +357,19 @@ if test "x$with_bz2lib" != "xno"; then | 13 | @@ -414,6 +414,19 @@ if test "x$with_bz2lib" != "xno"; then |
11 | esac | 14 | esac |
12 | fi | 15 | fi |
13 | 16 | ||
@@ -27,9 +30,9 @@ Index: libarchive-3.6.2/configure.ac | |||
27 | AC_ARG_WITH([libb2], | 30 | AC_ARG_WITH([libb2], |
28 | AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2])) | 31 | AS_HELP_STRING([--without-libb2], [Don't build support for BLAKE2 through libb2])) |
29 | 32 | ||
30 | @@ -558,19 +571,6 @@ LDFLAGS=$save_LDFLAGS | 33 | @@ -678,19 +691,6 @@ fi |
31 | 34 | ||
32 | AC_SUBST(GC_SECTIONS) | 35 | AC_SUBST(DEAD_CODE_REMOVAL) |
33 | 36 | ||
34 | -# Checks for typedefs, structures, and compiler characteristics. | 37 | -# Checks for typedefs, structures, and compiler characteristics. |
35 | -AC_C_CONST | 38 | -AC_C_CONST |
@@ -47,3 +50,6 @@ Index: libarchive-3.6.2/configure.ac | |||
47 | # Check for tm_gmtoff in struct tm | 50 | # Check for tm_gmtoff in struct tm |
48 | AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,, | 51 | AC_CHECK_MEMBERS([struct tm.tm_gmtoff, struct tm.__tm_gmtoff],,, |
49 | [ | 52 | [ |
53 | -- | ||
54 | 2.34.1 | ||
55 | |||
diff --git a/meta/recipes-extended/libarchive/libarchive_3.7.2.bb b/meta/recipes-extended/libarchive/libarchive_3.7.3.bb index 91f521fa4d..bea91b6e97 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.7.2.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.7.3.bb | |||
@@ -33,7 +33,7 @@ SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz" | |||
33 | SRC_URI += "file://configurehack.patch" | 33 | SRC_URI += "file://configurehack.patch" |
34 | UPSTREAM_CHECK_URI = "http://libarchive.org/" | 34 | UPSTREAM_CHECK_URI = "http://libarchive.org/" |
35 | 35 | ||
36 | SRC_URI[sha256sum] = "df404eb7222cf30b4f8f93828677890a2986b66ff8bf39dac32a804e96ddf104" | 36 | SRC_URI[sha256sum] = "f27a97bc22ceb996e72502df47dc19f99f9a0f09181ae909f09f3c9eb17b67e2" |
37 | 37 | ||
38 | CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe" | 38 | CVE_STATUS[CVE-2023-30571] = "upstream-wontfix: upstream has documented that reported function is not thread-safe" |
39 | 39 | ||
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch index 6f0dea2e9c..da93a12ed5 100644 --- a/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch +++ b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 06321f1a2aa89b8e028946e793344657eaad0165 Mon Sep 17 00:00:00 2001 | 1 | From e1db3c41fa84391b7ab299f7351f58b413ed2994 Mon Sep 17 00:00:00 2001 |
2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
3 | Date: Thu, 28 Oct 2021 22:28:45 -0700 | 3 | Date: Thu, 28 Oct 2021 22:28:45 -0700 |
4 | Subject: [PATCH] utils: Conside musl when wrapping qsort_r | 4 | Subject: [PATCH] utils: Conside musl when wrapping qsort_r |
@@ -29,6 +29,3 @@ index 72426e09..8f29bc5a 100644 | |||
29 | 29 | ||
30 | void | 30 | void |
31 | solv_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *compard) | 31 | solv_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *compard) |
32 | -- | ||
33 | 2.33.1 | ||
34 | |||
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.28.bb b/meta/recipes-extended/libsolv/libsolv_0.7.29.bb index 201059323a..ff0bd2d174 100644 --- a/meta/recipes-extended/libsolv/libsolv_0.7.28.bb +++ b/meta/recipes-extended/libsolv/libsolv_0.7.29.bb | |||
@@ -12,7 +12,7 @@ SRC_URI = "git://github.com/openSUSE/libsolv.git;branch=master;protocol=https \ | |||
12 | file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \ | 12 | file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \ |
13 | " | 13 | " |
14 | 14 | ||
15 | SRCREV = "c8dbb3a77c86600ce09d4f80a504cf4e78a3c359" | 15 | SRCREV = "9c2b1a84b5a7ce0dc6e74226bdeb9527d6706791" |
16 | 16 | ||
17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" | 17 | UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" |
18 | 18 | ||
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.76.bb index fc3b7e005d..153f451ea7 100644 --- a/meta/recipes-extended/lighttpd/lighttpd_1.4.75.bb +++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.76.bb | |||
@@ -16,7 +16,7 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t | |||
16 | file://lighttpd \ | 16 | file://lighttpd \ |
17 | " | 17 | " |
18 | 18 | ||
19 | SRC_URI[sha256sum] = "8b721ca939d312afaa6ef31dcbd6afb5161ed385ac828e6fccd4c5b76be189d6" | 19 | SRC_URI[sha256sum] = "8cbf4296e373cfd0cedfe9d978760b5b05c58fdc4048b4e2bcaf0a61ac8f5011" |
20 | 20 | ||
21 | DEPENDS = "virtual/crypt" | 21 | DEPENDS = "virtual/crypt" |
22 | 22 | ||
@@ -47,9 +47,9 @@ SYSTEMD_SERVICE:${PN} = "lighttpd.service" | |||
47 | 47 | ||
48 | do_install:append() { | 48 | do_install:append() { |
49 | install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav | 49 | install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav |
50 | install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d | 50 | install -m 0755 ${UNPACKDIR}/lighttpd ${D}${sysconfdir}/init.d |
51 | install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd | 51 | install -m 0644 ${UNPACKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd |
52 | install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html | 52 | install -m 0644 ${UNPACKDIR}/index.html.lighttpd ${D}/www/pages/index.html |
53 | 53 | ||
54 | install -d ${D}${systemd_system_unitdir} | 54 | install -d ${D}${systemd_system_unitdir} |
55 | install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir} | 55 | install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir} |
diff --git a/meta/recipes-extended/ltp/ltp/0001-sched_stress-Use-time_t-instead-of-long-for-type.patch b/meta/recipes-extended/ltp/ltp/0001-sched_stress-Use-time_t-instead-of-long-for-type.patch new file mode 100644 index 0000000000..ae8dc8706e --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/0001-sched_stress-Use-time_t-instead-of-long-for-type.patch | |||
@@ -0,0 +1,54 @@ | |||
1 | From 74074f9a71c876d6e95c2d72702888dd2fabc761 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Mon, 6 May 2024 11:43:20 -0700 | ||
4 | Subject: [PATCH] sched_stress: Use time_t instead of long for type | ||
5 | |||
6 | This ensures it works across different architectures | ||
7 | Fixes | ||
8 | |||
9 | | sched_driver.c:744:43: error: passing argument 1 of 'ctime' from incompatible pointer type [-Wincompatible-pointer-types] | ||
10 | | 744 | printf("\nend time = %s\n", ctime(&end_time)); | ||
11 | | | ^~~~~~~~~ | ||
12 | |||
13 | With gcc-14 | ||
14 | |||
15 | Upstream-Status: Backport [https://github.com/linux-test-project/ltp/commit/0a682f1af42d8d261202821be580fe26d17ee9b7] | ||
16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
17 | --- | ||
18 | testcases/kernel/sched/sched_stress/sched_driver.c | 6 +++--- | ||
19 | 1 file changed, 3 insertions(+), 3 deletions(-) | ||
20 | |||
21 | diff --git a/testcases/kernel/sched/sched_stress/sched_driver.c b/testcases/kernel/sched/sched_stress/sched_driver.c | ||
22 | index 61573d788..5b8c187fe 100644 | ||
23 | --- a/testcases/kernel/sched/sched_stress/sched_driver.c | ||
24 | +++ b/testcases/kernel/sched/sched_stress/sched_driver.c | ||
25 | @@ -136,7 +136,7 @@ int debug = 0; | ||
26 | /* | ||
27 | * Function prototypes | ||
28 | */ | ||
29 | -void startup(long); | ||
30 | +void startup(time_t); | ||
31 | int start_testcase(char *, char *, char *, char *, char *, char *); | ||
32 | int process_slots_in_use(); | ||
33 | int available_user_process_slots(); | ||
34 | @@ -251,7 +251,7 @@ int main(int argc, char **argv) | ||
35 | * information to the screen and . It also initializes the * | ||
36 | * process id list and other global variables. * | ||
37 | *-----------------------------------------------------------------------*/ | ||
38 | -void startup(long start_time) | ||
39 | +void startup(time_t start_time) | ||
40 | { | ||
41 | char tempbuffer[50]; /* temporary buffer to hold names */ | ||
42 | |||
43 | @@ -734,7 +734,7 @@ void kill_short_term_testcases() | ||
44 | void finishup(start_time) | ||
45 | long start_time; /* starting time to calculate elapsed time */ | ||
46 | { | ||
47 | - long end_time; /* time when program finished */ | ||
48 | + time_t end_time; /* time when program finished */ | ||
49 | |||
50 | /* | ||
51 | * Get the end time and calculate elapsed time; write all this out | ||
52 | -- | ||
53 | 2.45.0 | ||
54 | |||
diff --git a/meta/recipes-extended/ltp/ltp_20240129.bb b/meta/recipes-extended/ltp/ltp_20240129.bb index 3e896957d1..f8e6d3987e 100644 --- a/meta/recipes-extended/ltp/ltp_20240129.bb +++ b/meta/recipes-extended/ltp/ltp_20240129.bb | |||
@@ -29,6 +29,7 @@ SRCREV = "68737d20556d37364c95776044b1119c0912a36a" | |||
29 | SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ | 29 | SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \ |
30 | file://0001-Remove-OOM-tests-from-runtest-mm.patch \ | 30 | file://0001-Remove-OOM-tests-from-runtest-mm.patch \ |
31 | file://0001-scenario_groups-default-remove-connectors.patch \ | 31 | file://0001-scenario_groups-default-remove-connectors.patch \ |
32 | file://0001-sched_stress-Use-time_t-instead-of-long-for-type.patch \ | ||
32 | " | 33 | " |
33 | 34 | ||
34 | S = "${WORKDIR}/git" | 35 | S = "${WORKDIR}/git" |
@@ -98,6 +99,7 @@ RDEPENDS:${PN} = "\ | |||
98 | gdb \ | 99 | gdb \ |
99 | gzip \ | 100 | gzip \ |
100 | iproute2 \ | 101 | iproute2 \ |
102 | ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'iputils-ping6', '', d)} \ | ||
101 | ldd \ | 103 | ldd \ |
102 | libaio \ | 104 | libaio \ |
103 | logrotate \ | 105 | logrotate \ |
diff --git a/meta/recipes-extended/man-db/man-db_2.12.1.bb b/meta/recipes-extended/man-db/man-db_2.12.1.bb index 27b47a7f47..5c6797c8f1 100644 --- a/meta/recipes-extended/man-db/man-db_2.12.1.bb +++ b/meta/recipes-extended/man-db/man-db_2.12.1.bb | |||
@@ -37,7 +37,7 @@ do_install() { | |||
37 | 37 | ||
38 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 38 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
39 | install -d ${D}/etc/default/volatiles | 39 | install -d ${D}/etc/default/volatiles |
40 | install -m 0644 ${WORKDIR}/99_mandb ${D}/etc/default/volatiles | 40 | install -m 0644 ${UNPACKDIR}/99_mandb ${D}/etc/default/volatiles |
41 | fi | 41 | fi |
42 | } | 42 | } |
43 | 43 | ||
diff --git a/meta/recipes-extended/mdadm/mdadm_4.3.bb b/meta/recipes-extended/mdadm/mdadm_4.3.bb index 228fc6f84e..63c61b68c9 100644 --- a/meta/recipes-extended/mdadm/mdadm_4.3.bb +++ b/meta/recipes-extended/mdadm/mdadm_4.3.bb | |||
@@ -61,7 +61,7 @@ do_install:append() { | |||
61 | install -d ${D}/${sysconfdir}/ | 61 | install -d ${D}/${sysconfdir}/ |
62 | install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf | 62 | install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf |
63 | install -d ${D}/${sysconfdir}/init.d | 63 | install -d ${D}/${sysconfdir}/init.d |
64 | install -m 755 ${WORKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor | 64 | install -m 755 ${UNPACKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor |
65 | } | 65 | } |
66 | 66 | ||
67 | do_install:append() { | 67 | do_install:append() { |
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb index 33304297ec..7facc0cc8d 100644 --- a/meta/recipes-extended/net-tools/net-tools_2.10.bb +++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb | |||
@@ -31,8 +31,8 @@ PACKAGECONFIG[plipconfig] = "" | |||
31 | do_configure() { | 31 | do_configure() { |
32 | # net-tools has its own config mechanism requiring "make config" | 32 | # net-tools has its own config mechanism requiring "make config" |
33 | # we pre-generate desired options and copy to source directory instead | 33 | # we pre-generate desired options and copy to source directory instead |
34 | cp ${WORKDIR}/net-tools-config.h ${S}/config.h | 34 | cp ${UNPACKDIR}/net-tools-config.h ${S}/config.h |
35 | cp ${WORKDIR}/net-tools-config.make ${S}/config.make | 35 | cp ${UNPACKDIR}/net-tools-config.make ${S}/config.make |
36 | 36 | ||
37 | if [ "${USE_NLS}" = "no" ]; then | 37 | if [ "${USE_NLS}" = "no" ]; then |
38 | sed -i -e 's/^I18N=1/# I18N=1/' ${S}/config.make | 38 | sed -i -e 's/^I18N=1/# I18N=1/' ${S}/config.make |
diff --git a/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch b/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch deleted file mode 100644 index 124e5f1c3c..0000000000 --- a/meta/recipes-extended/pam/libpam/0001-pam_namespace-include-stdint-h.patch +++ /dev/null | |||
@@ -1,42 +0,0 @@ | |||
1 | From cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jacob Heider <jacob@pkgx.dev> | ||
3 | Date: Wed, 17 Jan 2024 11:49:26 -0500 | ||
4 | Subject: [PATCH] pam_namespace: include stdint.h | ||
5 | |||
6 | pam_namespace.c makes use of SIZE_MAX but doesn't include stdint.h, | ||
7 | resulting in the following build failures on 1.6.0: | ||
8 | |||
9 | pam_namespace.c: In function 'process_line': | ||
10 | pam_namespace.c:649:41: error: 'SIZE_MAX' undeclared (first use in this function) | ||
11 | 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { | ||
12 | | ^~~~~~~~ | ||
13 | pam_namespace.c:41:1: note: 'SIZE_MAX' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'? | ||
14 | 40 | #include "argv_parse.h" | ||
15 | +++ |+#include <stdint.h> | ||
16 | 41 | | ||
17 | pam_namespace.c:649:41: note: each undeclared identifier is reported only once for each function it appears in | ||
18 | 649 | if (count > UINT_MAX || count > SIZE_MAX / sizeof(uid_t)) { | ||
19 | | ^~~~~~~~ | ||
20 | |||
21 | Fixes: v1.6.0~100 ("pam_namespace: validate amount of uids in config") | ||
22 | Resolves: https://github.com/linux-pam/linux-pam/issues/733 | ||
23 | |||
24 | Upstream-Status: Backport [https://github.com/linux-pam/linux-pam/commit/cc9d40b7cdbd3e15ccaa324a0dda1680ef9dea13] | ||
25 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
26 | --- | ||
27 | modules/pam_namespace/pam_namespace.c | 2 ++ | ||
28 | 1 file changed, 2 insertions(+) | ||
29 | |||
30 | diff --git a/modules/pam_namespace/pam_namespace.c b/modules/pam_namespace/pam_namespace.c | ||
31 | index f72d67189..b16731c22 100644 | ||
32 | --- a/modules/pam_namespace/pam_namespace.c | ||
33 | +++ b/modules/pam_namespace/pam_namespace.c | ||
34 | @@ -34,6 +34,8 @@ | ||
35 | |||
36 | #define _ATFILE_SOURCE | ||
37 | |||
38 | +#include "config.h" | ||
39 | +#include <stdint.h> | ||
40 | #include "pam_cc_compat.h" | ||
41 | #include "pam_inline.h" | ||
42 | #include "pam_namespace.h" | ||
diff --git a/meta/recipes-extended/pam/libpam_1.6.0.bb b/meta/recipes-extended/pam/libpam_1.6.1.bb index e1ed940d1e..9f2106ea73 100644 --- a/meta/recipes-extended/pam/libpam_1.6.0.bb +++ b/meta/recipes-extended/pam/libpam_1.6.1.bb | |||
@@ -23,10 +23,9 @@ SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \ | |||
23 | file://libpam-xtests.patch \ | 23 | file://libpam-xtests.patch \ |
24 | file://run-ptest \ | 24 | file://run-ptest \ |
25 | file://pam-volatiles.conf \ | 25 | file://pam-volatiles.conf \ |
26 | file://0001-pam_namespace-include-stdint-h.patch \ | ||
27 | " | 26 | " |
28 | 27 | ||
29 | SRC_URI[sha256sum] = "fff4a34e5bbee77e2e8f1992f27631e2329bcbf8a0563ddeb5c3389b4e3169ad" | 28 | SRC_URI[sha256sum] = "f8923c740159052d719dbfc2a2f81942d68dd34fcaf61c706a02c9b80feeef8e" |
30 | 29 | ||
31 | DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt" | 30 | DEPENDS = "bison-native flex-native cracklib libxml2-native virtual/crypt" |
32 | 31 | ||
@@ -139,16 +138,16 @@ do_install() { | |||
139 | rm -rf ${D}${sysconfdir}/init.d/ | 138 | rm -rf ${D}${sysconfdir}/init.d/ |
140 | rm -rf ${D}${sysconfdir}/rc* | 139 | rm -rf ${D}${sysconfdir}/rc* |
141 | install -d ${D}${nonarch_libdir}/tmpfiles.d | 140 | install -d ${D}${nonarch_libdir}/tmpfiles.d |
142 | install -m 0644 ${WORKDIR}/pam-volatiles.conf \ | 141 | install -m 0644 ${UNPACKDIR}/pam-volatiles.conf \ |
143 | ${D}${nonarch_libdir}/tmpfiles.d/pam.conf | 142 | ${D}${nonarch_libdir}/tmpfiles.d/pam.conf |
144 | else | 143 | else |
145 | install -d ${D}${sysconfdir}/default/volatiles | 144 | install -d ${D}${sysconfdir}/default/volatiles |
146 | install -m 0644 ${WORKDIR}/99_pam \ | 145 | install -m 0644 ${UNPACKDIR}/99_pam \ |
147 | ${D}${sysconfdir}/default/volatiles/ | 146 | ${D}${sysconfdir}/default/volatiles/ |
148 | fi | 147 | fi |
149 | 148 | ||
150 | install -d ${D}${sysconfdir}/pam.d/ | 149 | install -d ${D}${sysconfdir}/pam.d/ |
151 | install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ | 150 | install -m 0644 ${UNPACKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ |
152 | 151 | ||
153 | # The lsb requires unix_chkpwd has setuid permission | 152 | # The lsb requires unix_chkpwd has setuid permission |
154 | chmod 4755 ${D}${sbindir}/unix_chkpwd | 153 | chmod 4755 ${D}${sbindir}/unix_chkpwd |
diff --git a/meta/recipes-extended/procps/procps_4.0.4.bb b/meta/recipes-extended/procps/procps_4.0.4.bb index 800384f22f..789e0c2747 100644 --- a/meta/recipes-extended/procps/procps_4.0.4.bb +++ b/meta/recipes-extended/procps/procps_4.0.4.bb | |||
@@ -41,7 +41,7 @@ do_install:append () { | |||
41 | fi | 41 | fi |
42 | 42 | ||
43 | install -d ${D}${sysconfdir} | 43 | install -d ${D}${sysconfdir} |
44 | install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf | 44 | install -m 0644 ${UNPACKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf |
45 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 45 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
46 | install -d ${D}${sysconfdir}/sysctl.d | 46 | install -d ${D}${sysconfdir}/sysctl.d |
47 | ln -sf ../sysctl.conf ${D}${sysconfdir}/sysctl.d/99-sysctl.conf | 47 | ln -sf ../sysctl.conf ${D}${sysconfdir}/sysctl.d/99-sysctl.conf |
diff --git a/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb index dbd4d32e0a..e751eb631c 100644 --- a/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb +++ b/meta/recipes-extended/rpcbind/rpcbind_1.2.6.bb | |||
@@ -46,9 +46,9 @@ do_install:append () { | |||
46 | install -d ${D}${sysconfdir}/init.d | 46 | install -d ${D}${sysconfdir}/init.d |
47 | sed -e 's,/etc/,${sysconfdir}/,g' \ | 47 | sed -e 's,/etc/,${sysconfdir}/,g' \ |
48 | -e 's,/sbin/,${sbindir}/,g' \ | 48 | -e 's,/sbin/,${sbindir}/,g' \ |
49 | ${WORKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind | 49 | ${UNPACKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind |
50 | chmod 0755 ${D}${sysconfdir}/init.d/rpcbind | 50 | chmod 0755 ${D}${sysconfdir}/init.d/rpcbind |
51 | install -m 0644 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir}/rpcbind.conf | 51 | install -m 0644 ${UNPACKDIR}/rpcbind.conf ${D}${sysconfdir}/rpcbind.conf |
52 | } | 52 | } |
53 | 53 | ||
54 | ALTERNATIVE:${PN} = "rpcinfo" | 54 | ALTERNATIVE:${PN} = "rpcinfo" |
diff --git a/meta/recipes-extended/screen/screen_4.9.1.bb b/meta/recipes-extended/screen/screen_4.9.1.bb index 7b040e6b57..57d1481049 100644 --- a/meta/recipes-extended/screen/screen_4.9.1.bb +++ b/meta/recipes-extended/screen/screen_4.9.1.bb | |||
@@ -36,7 +36,7 @@ EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-sys-screenrc=${sy | |||
36 | do_install:append () { | 36 | do_install:append () { |
37 | install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc | 37 | install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc |
38 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 38 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
39 | install -D -m 644 ${WORKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen | 39 | install -D -m 644 ${UNPACKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen |
40 | fi | 40 | fi |
41 | } | 41 | } |
42 | 42 | ||
diff --git a/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch b/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch deleted file mode 100644 index 2e5503bfd4..0000000000 --- a/meta/recipes-extended/shadow/files/0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | From af4b8cb780587aa736692a3baa76b60474f19c5d Mon Sep 17 00:00:00 2001 | ||
2 | From: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> | ||
3 | Date: Mon, 18 Mar 2024 12:14:21 +0100 | ||
4 | Subject: [PATCH] lib/copydir:copy_entry(): use temporary stat buffer | ||
5 | |||
6 | There are no guarantees that fstatat() does not clobber the stat | ||
7 | buffer on errors. | ||
8 | |||
9 | Use a temporary buffer so that the following code sees correct | ||
10 | attributes of the source entry. | ||
11 | |||
12 | Upstream-Status: Submitted [https://github.com/shadow-maint/shadow/pull/974] | ||
13 | |||
14 | Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de> | ||
15 | --- | ||
16 | lib/copydir.c | 3 ++- | ||
17 | 1 file changed, 2 insertions(+), 1 deletion(-) | ||
18 | |||
19 | --- a/lib/copydir.c | ||
20 | +++ b/lib/copydir.c | ||
21 | @@ -400,6 +400,7 @@ static int copy_entry (const struct path | ||
22 | { | ||
23 | int err = 0; | ||
24 | struct stat sb; | ||
25 | + struct stat tmp_sb; | ||
26 | struct link_name *lp; | ||
27 | struct timespec mt[2]; | ||
28 | |||
29 | @@ -423,7 +424,7 @@ static int copy_entry (const struct path | ||
30 | * If the destination already exists do nothing. | ||
31 | * This is after the copy_dir above to still iterate into subdirectories. | ||
32 | */ | ||
33 | - if (fstatat(dst->dirfd, dst->name, &sb, AT_SYMLINK_NOFOLLOW) != -1) { | ||
34 | + if (fstatat(dst->dirfd, dst->name, &tmp_sb, AT_SYMLINK_NOFOLLOW) != -1) { | ||
35 | return err; | ||
36 | } | ||
37 | |||
diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb index fe51ea1874..913c159c81 100644 --- a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb +++ b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb | |||
@@ -8,7 +8,8 @@ INHIBIT_DEFAULT_DEPS = "1" | |||
8 | 8 | ||
9 | SRC_URI = "file://securetty" | 9 | SRC_URI = "file://securetty" |
10 | 10 | ||
11 | S = "${WORKDIR}" | 11 | S = "${WORKDIR}/sources" |
12 | UNPACKDIR = "${S}" | ||
12 | 13 | ||
13 | # Since SERIAL_CONSOLES is likely to be set from the machine configuration | 14 | # Since SERIAL_CONSOLES is likely to be set from the machine configuration |
14 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 15 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
@@ -17,7 +18,7 @@ do_install () { | |||
17 | # Ensure we add a suitable securetty file to the package that has | 18 | # Ensure we add a suitable securetty file to the package that has |
18 | # most common embedded TTYs defined. | 19 | # most common embedded TTYs defined. |
19 | install -d ${D}${sysconfdir} | 20 | install -d ${D}${sysconfdir} |
20 | install -m 0400 ${WORKDIR}/securetty ${D}${sysconfdir}/securetty | 21 | install -m 0400 ${S}/securetty ${D}${sysconfdir}/securetty |
21 | if [ ! -z "${SERIAL_CONSOLES}" ]; then | 22 | if [ ! -z "${SERIAL_CONSOLES}" ]; then |
22 | # Our SERIAL_CONSOLES contains a baud rate and sometimes extra | 23 | # Our SERIAL_CONSOLES contains a baud rate and sometimes extra |
23 | # options as well. The following pearl :) takes that and converts | 24 | # options as well. The following pearl :) takes that and converts |
diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb index 00ab58b38c..13cfab6aab 100644 --- a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb +++ b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb | |||
@@ -13,7 +13,8 @@ DEPENDS = "base-passwd" | |||
13 | # can add custom users/groups for recipes that use inherit useradd. | 13 | # can add custom users/groups for recipes that use inherit useradd. |
14 | SRC_URI = "file://login.defs_shadow-sysroot" | 14 | SRC_URI = "file://login.defs_shadow-sysroot" |
15 | 15 | ||
16 | S = "${WORKDIR}" | 16 | S = "${WORKDIR}/sources" |
17 | UNPACKDIR = "${S}" | ||
17 | 18 | ||
18 | do_install() { | 19 | do_install() { |
19 | install -d ${D}${sysconfdir} | 20 | install -d ${D}${sysconfdir} |
diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc index 7b9763d6db..3991006b43 100644 --- a/meta/recipes-extended/shadow/shadow.inc +++ b/meta/recipes-extended/shadow/shadow.inc | |||
@@ -12,7 +12,6 @@ DEPENDS = "virtual/crypt" | |||
12 | 12 | ||
13 | GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases" | 13 | GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases" |
14 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \ | 14 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \ |
15 | file://0001-lib-copydir-copy_entry-use-temporary-stat-buffer.patch \ | ||
16 | ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ | 15 | ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ |
17 | file://useradd \ | 16 | file://useradd \ |
18 | " | 17 | " |
@@ -25,7 +24,7 @@ SRC_URI:append:class-target = " \ | |||
25 | SRC_URI:append:class-native = " \ | 24 | SRC_URI:append:class-native = " \ |
26 | file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ | 25 | file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ |
27 | " | 26 | " |
28 | SRC_URI[sha256sum] = "377fe0d7c1a0aa5e3514c08fdf5ddc70c9dcbb391678c2134445ed97326bcc26" | 27 | SRC_URI[sha256sum] = "b34686b89b279887ffbf1f33128902ccc0fa1a998a3add44213bb12d7385b218" |
29 | 28 | ||
30 | # Additional Policy files for PAM | 29 | # Additional Policy files for PAM |
31 | PAM_SRC_URI = "file://pam.d/chfn \ | 30 | PAM_SRC_URI = "file://pam.d/chfn \ |
@@ -111,7 +110,7 @@ do_install() { | |||
111 | sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs | 110 | sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs |
112 | 111 | ||
113 | install -d ${D}${sysconfdir}/default | 112 | install -d ${D}${sysconfdir}/default |
114 | install -m 0644 ${WORKDIR}/useradd ${D}${sysconfdir}/default | 113 | install -m 0644 ${UNPACKDIR}/useradd ${D}${sysconfdir}/default |
115 | } | 114 | } |
116 | 115 | ||
117 | do_install:append() { | 116 | do_install:append() { |
@@ -121,11 +120,11 @@ do_install:append() { | |||
121 | install -m 0775 -d ${D}${localstatedir}/spool/mail | 120 | install -m 0775 -d ${D}${localstatedir}/spool/mail |
122 | chown root:mail ${D}${localstatedir}/spool/mail | 121 | chown root:mail ${D}${localstatedir}/spool/mail |
123 | 122 | ||
124 | if [ -e ${WORKDIR}/pam.d ]; then | 123 | if [ -e ${UNPACKDIR}/pam.d ]; then |
125 | install -d ${D}${sysconfdir}/pam.d/ | 124 | install -d ${D}${sysconfdir}/pam.d/ |
126 | install -m 0644 ${WORKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ | 125 | install -m 0644 ${UNPACKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/ |
127 | # Remove defaults that are not used when supporting PAM. | 126 | # Remove defaults that are not used when supporting PAM. |
128 | sed -i -f ${WORKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs | 127 | sed -i -f ${UNPACKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs |
129 | fi | 128 | fi |
130 | 129 | ||
131 | install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir} | 130 | install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir} |
@@ -168,6 +167,14 @@ do_install:append:class-native() { | |||
168 | SYSROOT_DIRS:append:class-native = " ${STAGING_DIR_NATIVE}/lib-shadow-deps/" | 167 | SYSROOT_DIRS:append:class-native = " ${STAGING_DIR_NATIVE}/lib-shadow-deps/" |
169 | INSANE_SKIP:${PN}:class-native = "already-stripped" | 168 | INSANE_SKIP:${PN}:class-native = "already-stripped" |
170 | 169 | ||
170 | do_install:append:class-nativesdk() { | ||
171 | oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man | ||
172 | } | ||
173 | |||
174 | do_install:append:class-target() { | ||
175 | oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man | ||
176 | } | ||
177 | |||
171 | PACKAGES =+ "${PN}-base" | 178 | PACKAGES =+ "${PN}-base" |
172 | FILES:${PN}-base = "\ | 179 | FILES:${PN}-base = "\ |
173 | ${base_bindir}/login.shadow \ | 180 | ${base_bindir}/login.shadow \ |
@@ -193,6 +200,10 @@ ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw" | |||
193 | ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr" | 200 | ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr" |
194 | ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin" | 201 | ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin" |
195 | 202 | ||
203 | ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1" | ||
204 | ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1" | ||
205 | ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1" | ||
206 | |||
196 | ALTERNATIVE:${PN}-base = "newgrp groups login su" | 207 | ALTERNATIVE:${PN}-base = "newgrp groups login su" |
197 | ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login" | 208 | ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login" |
198 | ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" | 209 | ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" |
diff --git a/meta/recipes-extended/shadow/shadow_4.15.0.bb b/meta/recipes-extended/shadow/shadow_4.15.1.bb index e57676c1da..e57676c1da 100644 --- a/meta/recipes-extended/shadow/shadow_4.15.0.bb +++ b/meta/recipes-extended/shadow/shadow_4.15.1.bb | |||
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb b/meta/recipes-extended/stress-ng/stress-ng_0.17.08.bb index a52b70d22f..fffe6a1823 100644 --- a/meta/recipes-extended/stress-ng/stress-ng_0.17.06.bb +++ b/meta/recipes-extended/stress-ng/stress-ng_0.17.08.bb | |||
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | |||
7 | 7 | ||
8 | SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \ | 8 | SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master \ |
9 | " | 9 | " |
10 | SRCREV = "e6bda983cb48a201b6af173204372c7b37d6411f" | 10 | SRCREV = "b7c7a5877501679a3b0a67d877e6274a801d1e4e" |
11 | S = "${WORKDIR}/git" | 11 | S = "${WORKDIR}/git" |
12 | 12 | ||
13 | DEPENDS = "coreutils-native libbsd" | 13 | DEPENDS = "coreutils-native libbsd" |
diff --git a/meta/recipes-extended/sudo/sudo_1.9.15p5.bb b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb index 8e542015ad..2fd2ae6d05 100644 --- a/meta/recipes-extended/sudo/sudo_1.9.15p5.bb +++ b/meta/recipes-extended/sudo/sudo_1.9.15p5.bb | |||
@@ -30,7 +30,7 @@ EXTRA_OECONF += " \ | |||
30 | 30 | ||
31 | do_install:append () { | 31 | do_install:append () { |
32 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 32 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
33 | install -D -m 644 ${WORKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo | 33 | install -D -m 644 ${UNPACKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo |
34 | if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then | 34 | if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then |
35 | echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo | 35 | echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo |
36 | sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers | 36 | sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers |
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb index c9c9055142..e488603086 100644 --- a/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb +++ b/meta/recipes-extended/sysklogd/sysklogd_2.5.2.bb | |||
@@ -24,7 +24,7 @@ do_install:append () { | |||
24 | install -d ${D}${sysconfdir} | 24 | install -d ${D}${sysconfdir} |
25 | install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf | 25 | install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf |
26 | install -d ${D}${sysconfdir}/init.d | 26 | install -d ${D}${sysconfdir}/init.d |
27 | install -m 755 ${WORKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog | 27 | install -m 755 ${UNPACKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog |
28 | } | 28 | } |
29 | 29 | ||
30 | SYSTEMD_PACKAGES = "${PN}" | 30 | SYSTEMD_PACKAGES = "${PN}" |
diff --git a/meta/recipes-extended/sysstat/sysstat_12.7.5.bb b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb index 150f4932d8..d598d5366f 100644 --- a/meta/recipes-extended/sysstat/sysstat_12.7.5.bb +++ b/meta/recipes-extended/sysstat/sysstat_12.7.5.bb | |||
@@ -45,7 +45,7 @@ do_install() { | |||
45 | rm -rf ${D}/var | 45 | rm -rf ${D}/var |
46 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 46 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
47 | install -d ${D}/etc/default/volatiles | 47 | install -d ${D}/etc/default/volatiles |
48 | install -m 0644 ${WORKDIR}/99_sysstat ${D}/etc/default/volatiles | 48 | install -m 0644 ${UNPACKDIR}/99_sysstat ${D}/etc/default/volatiles |
49 | fi | 49 | fi |
50 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 50 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
51 | install -d ${D}${nonarch_libdir}/tmpfiles.d | 51 | install -d ${D}${nonarch_libdir}/tmpfiles.d |
@@ -56,7 +56,7 @@ do_install() { | |||
56 | # systemd unit file. Otherwise the package will install one. | 56 | # systemd unit file. Otherwise the package will install one. |
57 | if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then | 57 | if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then |
58 | install -d ${D}${systemd_system_unitdir} | 58 | install -d ${D}${systemd_system_unitdir} |
59 | install -m 0644 ${WORKDIR}/sysstat.service ${D}${systemd_system_unitdir} | 59 | install -m 0644 ${UNPACKDIR}/sysstat.service ${D}${systemd_system_unitdir} |
60 | sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service | 60 | sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service |
61 | fi | 61 | fi |
62 | fi | 62 | fi |
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb index bcd1d6f792..8cf927153f 100644 --- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb | |||
@@ -120,8 +120,8 @@ do_install () { | |||
120 | install -m 0644 $m.8 ${D}${mandir}/man8/ || exit 1 | 120 | install -m 0644 $m.8 ${D}${mandir}/man8/ || exit 1 |
121 | done | 121 | done |
122 | 122 | ||
123 | install -m 0644 ${WORKDIR}/try-from.8 ${D}${mandir}/man8/ | 123 | install -m 0644 ${UNPACKDIR}/try-from.8 ${D}${mandir}/man8/ |
124 | install -m 0644 ${WORKDIR}/safe_finger.8 ${D}${mandir}/man8/ | 124 | install -m 0644 ${UNPACKDIR}/safe_finger.8 ${D}${mandir}/man8/ |
125 | 125 | ||
126 | install -d ${D}${includedir} | 126 | install -d ${D}${includedir} |
127 | install -m 0644 tcpd.h ${D}${includedir}/ | 127 | install -m 0644 tcpd.h ${D}${includedir}/ |
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb index a942ac2991..51d9c92766 100644 --- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb +++ b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb | |||
@@ -8,7 +8,8 @@ PV = "1.0" | |||
8 | 8 | ||
9 | SRC_URI = "file://template.py file://COPYING" | 9 | SRC_URI = "file://template.py file://COPYING" |
10 | 10 | ||
11 | S = "${WORKDIR}" | 11 | S = "${WORKDIR}/sources" |
12 | UNPACKDIR = "${S}" | ||
12 | 13 | ||
13 | inherit native | 14 | inherit native |
14 | 15 | ||
diff --git a/meta/recipes-extended/watchdog/watchdog-config.bb b/meta/recipes-extended/watchdog/watchdog-config.bb index f138952128..17151ced5e 100644 --- a/meta/recipes-extended/watchdog/watchdog-config.bb +++ b/meta/recipes-extended/watchdog/watchdog-config.bb | |||
@@ -13,12 +13,15 @@ SRC_URI = " \ | |||
13 | file://watchdog.conf \ | 13 | file://watchdog.conf \ |
14 | " | 14 | " |
15 | 15 | ||
16 | S = "${WORKDIR}/sources" | ||
17 | UNPACKDIR = "${S}" | ||
18 | |||
16 | # The default value is 60 seconds when null. | 19 | # The default value is 60 seconds when null. |
17 | WATCHDOG_TIMEOUT ??= "" | 20 | WATCHDOG_TIMEOUT ??= "" |
18 | 21 | ||
19 | do_install() { | 22 | do_install() { |
20 | install -Dm 0644 ${WORKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog | 23 | install -Dm 0644 ${UNPACKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog |
21 | install -Dm 0644 ${WORKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf | 24 | install -Dm 0644 ${UNPACKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf |
22 | 25 | ||
23 | if [ -n "${WATCHDOG_TIMEOUT}" ]; then | 26 | if [ -n "${WATCHDOG_TIMEOUT}" ]; then |
24 | echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf | 27 | echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf |
diff --git a/meta/recipes-extended/watchdog/watchdog_5.16.bb b/meta/recipes-extended/watchdog/watchdog_5.16.bb index 5325ccafda..c88ea08ade 100644 --- a/meta/recipes-extended/watchdog/watchdog_5.16.bb +++ b/meta/recipes-extended/watchdog/watchdog_5.16.bb | |||
@@ -50,8 +50,8 @@ do_install:append() { | |||
50 | install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir} | 50 | install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir} |
51 | install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir} | 51 | install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir} |
52 | 52 | ||
53 | install -Dm 0755 ${WORKDIR}/watchdog.init ${D}/${sysconfdir}/init.d/watchdog | 53 | install -Dm 0755 ${UNPACKDIR}/watchdog.init ${D}/${sysconfdir}/init.d/watchdog |
54 | install -Dm 0755 ${WORKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive | 54 | install -Dm 0755 ${UNPACKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive |
55 | 55 | ||
56 | # watchdog.conf is provided by the watchdog-config recipe | 56 | # watchdog.conf is provided by the watchdog-config recipe |
57 | rm ${D}${sysconfdir}/watchdog.conf | 57 | rm ${D}${sysconfdir}/watchdog.conf |
diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb index 72eb1ae067..897747379b 100644 --- a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb +++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb | |||
@@ -37,12 +37,12 @@ CONFFILES:${PN} = "${sysconfdir}/xinetd.conf" | |||
37 | do_install:append() { | 37 | do_install:append() { |
38 | install -d "${D}${sysconfdir}/init.d" | 38 | install -d "${D}${sysconfdir}/init.d" |
39 | install -d "${D}${sysconfdir}/default" | 39 | install -d "${D}${sysconfdir}/default" |
40 | install -m 755 "${WORKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd" | 40 | install -m 755 "${UNPACKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd" |
41 | install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd" | 41 | install -m 644 "${UNPACKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd" |
42 | 42 | ||
43 | # Install systemd unit files | 43 | # Install systemd unit files |
44 | install -d ${D}${systemd_system_unitdir} | 44 | install -d ${D}${systemd_system_unitdir} |
45 | install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_system_unitdir} | 45 | install -m 0644 ${UNPACKDIR}/xinetd.service ${D}${systemd_system_unitdir} |
46 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ | 46 | sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ |
47 | -e 's,@SBINDIR@,${sbindir},g' \ | 47 | -e 's,@SBINDIR@,${sbindir},g' \ |
48 | ${D}${systemd_system_unitdir}/xinetd.service | 48 | ${D}${systemd_system_unitdir}/xinetd.service |
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch new file mode 100644 index 0000000000..0d3af37ded --- /dev/null +++ b/meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch | |||
@@ -0,0 +1,45 @@ | |||
1 | From 9db2f8cdbbc0dfb359d3b4e5dfe48c18652ce531 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 8 May 2024 19:02:46 -0700 | ||
4 | Subject: [PATCH] configure: Include dirent.h for closedir/opendir APIs | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | GCC-14 is strict about function prototypes and since the | ||
10 | testcase tries to compile/link opendir/closedir functions | ||
11 | without including signatures, it fails to build the test | ||
12 | due to missing signatures which come from dirent.h | ||
13 | |||
14 | Therefore include the needed system header and make it more | ||
15 | robust. | ||
16 | |||
17 | Fixes | ||
18 | a.c:2:21: error: implicit declaration of function ‘closedir’ [-Wimplicit-function-declaration] | ||
19 | 2 | int main() { return closedir(opendir(".")); } | ||
20 | | ^~~~~~~~ | ||
21 | a.c:2:30: error: implicit declaration of function ‘opendir’ [-Wimplicit-function-declaration] | ||
22 | 2 | int main() { return closedir(opendir(".")); } | ||
23 | | ^~~~~~~ | ||
24 | |||
25 | Upstream-Status: Inactive-Upstream | ||
26 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
27 | --- | ||
28 | unix/configure | 1 + | ||
29 | 1 file changed, 1 insertion(+) | ||
30 | |||
31 | diff --git a/unix/configure b/unix/configure | ||
32 | index f917086..1dd98c6 100644 | ||
33 | --- a/unix/configure | ||
34 | +++ b/unix/configure | ||
35 | @@ -591,6 +591,7 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null | ||
36 | |||
37 | echo Check for directory libraries | ||
38 | cat > conftest.c << _EOF_ | ||
39 | +#include <dirent.h> | ||
40 | int main() { return closedir(opendir(".")); } | ||
41 | _EOF_ | ||
42 | |||
43 | -- | ||
44 | 2.45.0 | ||
45 | |||
diff --git a/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch b/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch deleted file mode 100644 index a86e03e620..0000000000 --- a/meta/recipes-extended/zip/zip-3.0/0002-unix.c-Do-not-redefine-DIR-as-FILE.patch +++ /dev/null | |||
@@ -1,35 +0,0 @@ | |||
1 | From 76f5bf3546d826dcbc03acbefcf0b10b972bf136 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 10 Aug 2022 17:19:38 -0700 | ||
4 | Subject: [PATCH 2/2] unix.c: Do not redefine DIR as FILE | ||
5 | |||
6 | DIR is already provided on Linux via | ||
7 | /usr/include/dirent.h system header | ||
8 | |||
9 | Upstream-Status: Inactive-Upstream | ||
10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
11 | --- | ||
12 | unix/unix.c | 2 -- | ||
13 | 1 file changed, 2 deletions(-) | ||
14 | |||
15 | diff --git a/unix/unix.c b/unix/unix.c | ||
16 | index ba87614..6e6f4d2 100644 | ||
17 | --- a/unix/unix.c | ||
18 | +++ b/unix/unix.c | ||
19 | @@ -61,13 +61,11 @@ local time_t label_utim = 0; | ||
20 | /* Local functions */ | ||
21 | local char *readd OF((DIR *)); | ||
22 | |||
23 | - | ||
24 | #ifdef NO_DIR /* for AT&T 3B1 */ | ||
25 | #include <sys/dir.h> | ||
26 | #ifndef dirent | ||
27 | # define dirent direct | ||
28 | #endif | ||
29 | -typedef FILE DIR; | ||
30 | /* | ||
31 | ** Apparently originally by Rich Salz. | ||
32 | ** Cleaned up and modified by James W. Birdsall. | ||
33 | -- | ||
34 | 2.37.1 | ||
35 | |||
diff --git a/meta/recipes-extended/zip/zip_3.0.bb b/meta/recipes-extended/zip/zip_3.0.bb index 70df5ab872..ec54206335 100644 --- a/meta/recipes-extended/zip/zip_3.0.bb +++ b/meta/recipes-extended/zip/zip_3.0.bb | |||
@@ -17,8 +17,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar. | |||
17 | file://0002-configure-support-PIC-code-build.patch \ | 17 | file://0002-configure-support-PIC-code-build.patch \ |
18 | file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \ | 18 | file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \ |
19 | file://0001-configure-Specify-correct-function-signatures-and-de.patch \ | 19 | file://0001-configure-Specify-correct-function-signatures-and-de.patch \ |
20 | file://0002-unix.c-Do-not-redefine-DIR-as-FILE.patch \ | ||
21 | file://0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch \ | 20 | file://0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch \ |
21 | file://0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch \ | ||
22 | " | 22 | " |
23 | UPSTREAM_VERSION_UNKNOWN = "1" | 23 | UPSTREAM_VERSION_UNKNOWN = "1" |
24 | 24 | ||
diff --git a/meta/recipes-gnome/gcr/gcr_4.2.1.bb b/meta/recipes-gnome/gcr/gcr_4.3.0.bb index 26dc1d1bc6..50c8cfe8d6 100644 --- a/meta/recipes-gnome/gcr/gcr_4.2.1.bb +++ b/meta/recipes-gnome/gcr/gcr_4.3.0.bb | |||
@@ -20,7 +20,7 @@ inherit gnomebase gtk-icon-cache gi-docgen features_check vala gobject-introspec | |||
20 | 20 | ||
21 | REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}" | 21 | REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'opengl', '', d)}" |
22 | 22 | ||
23 | SRC_URI[archive.sha256sum] = "ed783b5c80373cd058c02ea9e3e2a64e558599ca190a5abd598122e479967de5" | 23 | SRC_URI[archive.sha256sum] = "c3ee8728e4364b0397f435fa20f92f901ab139d2b264f4e059d67b3c0f43cd36" |
24 | 24 | ||
25 | PACKAGECONFIG ??= " \ | 25 | PACKAGECONFIG ??= " \ |
26 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ | 26 | ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)} \ |
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch index 7250fa3f62..3d685db774 100644 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From 9d3b374e75692da3d1d05344a1693c85a3098f47 Mon Sep 17 00:00:00 2001 | 1 | From 4bfb696fd125f044e3df9f6983c4ad518d9552c7 Mon Sep 17 00:00:00 2001 |
2 | From: Alexander Kanavin <alex@linutronix.de> | 2 | From: Alexander Kanavin <alex@linutronix.de> |
3 | Date: Thu, 26 Jan 2023 20:29:46 +0100 | 3 | Date: Thu, 26 Jan 2023 20:29:46 +0100 |
4 | Subject: [PATCH] meson.build: allow (a subset of) tests in cross compile | 4 | Subject: [PATCH] meson.build: allow (a subset of) tests in cross compile |
@@ -19,10 +19,10 @@ Signed-off-by: Alexander Kanavin <alex@linutronix.de> | |||
19 | 2 files changed, 9 insertions(+), 7 deletions(-) | 19 | 2 files changed, 9 insertions(+), 7 deletions(-) |
20 | 20 | ||
21 | diff --git a/meson.build b/meson.build | 21 | diff --git a/meson.build b/meson.build |
22 | index 8a16c8f..7c8b20f 100644 | 22 | index 78f3683..e0feaee 100644 |
23 | --- a/meson.build | 23 | --- a/meson.build |
24 | +++ b/meson.build | 24 | +++ b/meson.build |
25 | @@ -369,10 +369,10 @@ subdir('gdk-pixbuf') | 25 | @@ -390,10 +390,10 @@ subdir('gdk-pixbuf') |
26 | # i18n | 26 | # i18n |
27 | subdir('po') | 27 | subdir('po') |
28 | 28 | ||
@@ -37,7 +37,7 @@ index 8a16c8f..7c8b20f 100644 | |||
37 | endif | 37 | endif |
38 | 38 | ||
39 | diff --git a/tests/meson.build b/tests/meson.build | 39 | diff --git a/tests/meson.build b/tests/meson.build |
40 | index 28c2525..c45e765 100644 | 40 | index 78d0ad9..0c9e64e 100644 |
41 | --- a/tests/meson.build | 41 | --- a/tests/meson.build |
42 | +++ b/tests/meson.build | 42 | +++ b/tests/meson.build |
43 | @@ -4,7 +4,7 @@ | 43 | @@ -4,7 +4,7 @@ |
@@ -49,7 +49,7 @@ index 28c2525..c45e765 100644 | |||
49 | # Resources; we cannot use gnome.compile_resources() here, because we need to | 49 | # Resources; we cannot use gnome.compile_resources() here, because we need to |
50 | # override the environment in order to use the utilities we just built instead | 50 | # override the environment in order to use the utilities we just built instead |
51 | # of the system ones | 51 | # of the system ones |
52 | @@ -166,9 +166,11 @@ endif | 52 | @@ -172,9 +172,11 @@ endif |
53 | test_deps = gdk_pixbuf_deps + [ gdkpixbuf_dep, ] | 53 | test_deps = gdk_pixbuf_deps + [ gdkpixbuf_dep, ] |
54 | test_args = [ '-k' ] | 54 | test_args = [ '-k' ] |
55 | test_env = environment() | 55 | test_env = environment() |
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch index 23c68a0923..80c93e2166 100644 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/fatal-loader.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From b511bd1efb43ffc49c753e309717a242ec686ef1 Mon Sep 17 00:00:00 2001 | 1 | From 9b4f5738f8ac30f393b6163dcc84757976683d9b Mon Sep 17 00:00:00 2001 |
2 | From: Ross Burton <ross.burton@intel.com> | 2 | From: Ross Burton <ross.burton@intel.com> |
3 | Date: Tue, 1 Apr 2014 17:23:36 +0100 | 3 | Date: Tue, 1 Apr 2014 17:23:36 +0100 |
4 | Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal | 4 | Subject: [PATCH] gdk-pixbuf: add an option so that loader errors are fatal |
@@ -8,13 +8,12 @@ non-zero if the loader had errors (missing libraries, generally). | |||
8 | 8 | ||
9 | Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/144] | 9 | Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/merge_requests/144] |
10 | Signed-off-by: Ross Burton <ross.burton@intel.com> | 10 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
11 | |||
12 | --- | 11 | --- |
13 | gdk-pixbuf/queryloaders.c | 19 +++++++++++++++---- | 12 | gdk-pixbuf/queryloaders.c | 19 +++++++++++++++---- |
14 | 1 file changed, 15 insertions(+), 4 deletions(-) | 13 | 1 file changed, 15 insertions(+), 4 deletions(-) |
15 | 14 | ||
16 | diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c | 15 | diff --git a/gdk-pixbuf/queryloaders.c b/gdk-pixbuf/queryloaders.c |
17 | index 1d39b44..2b00815 100644 | 16 | index baa9a5c..9b6fa89 100644 |
18 | --- a/gdk-pixbuf/queryloaders.c | 17 | --- a/gdk-pixbuf/queryloaders.c |
19 | +++ b/gdk-pixbuf/queryloaders.c | 18 | +++ b/gdk-pixbuf/queryloaders.c |
20 | @@ -216,7 +216,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) | 19 | @@ -216,7 +216,7 @@ write_loader_info (GString *contents, const char *path, GdkPixbufFormat *info) |
@@ -77,7 +76,7 @@ index 1d39b44..2b00815 100644 | |||
77 | } | 76 | } |
78 | g_free (cwd); | 77 | g_free (cwd); |
79 | } | 78 | } |
80 | @@ -490,5 +498,8 @@ int main (int argc, char **argv) | 79 | @@ -492,5 +500,8 @@ int main (int argc, char **argv) |
81 | 80 | ||
82 | g_free (pixbuf_libdir); | 81 | g_free (pixbuf_libdir); |
83 | 82 | ||
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.10.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.11.bb index cca89a9059..ef0f23f8f7 100644 --- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.10.bb +++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.42.11.bb | |||
@@ -22,7 +22,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ | |||
22 | file://0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch \ | 22 | file://0001-meson.build-allow-a-subset-of-tests-in-cross-compile.patch \ |
23 | " | 23 | " |
24 | 24 | ||
25 | SRC_URI[sha256sum] = "ee9b6c75d13ba096907a2e3c6b27b61bcd17f5c7ebeab5a5b439d2f2e39fe44b" | 25 | SRC_URI[sha256sum] = "49dcb402388708647e8c321d56b6fb30f21e51e515d0c5a942268d23052a2f00" |
26 | 26 | ||
27 | inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package | 27 | inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gi-docgen lib_package |
28 | 28 | ||
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch index c9e1afffd0..510bc426d1 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection/0001-Relocate-the-repository-directory-for-native-builds.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From aeb5532f8be42d42f4e8725ca42e239b36983a4d Mon Sep 17 00:00:00 2001 | 1 | From 4e1aa0ddbc43403ff24f644b4c4912b737290c41 Mon Sep 17 00:00:00 2001 |
2 | From: Sascha Silbe <x-yo17@se-silbe.de> | 2 | From: Sascha Silbe <x-yo17@se-silbe.de> |
3 | Date: Fri, 8 Jun 2018 13:55:10 +0200 | 3 | Date: Fri, 8 Jun 2018 13:55:10 +0200 |
4 | Subject: [PATCH] Relocate the repository directory for native builds | 4 | Subject: [PATCH] Relocate the repository directory for native builds |
@@ -14,14 +14,13 @@ cache or sstate mirror). | |||
14 | 14 | ||
15 | Upstream-Status: Inappropriate | 15 | Upstream-Status: Inappropriate |
16 | Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> | 16 | Signed-off-by: Sascha Silbe <x-yo17@se-silbe.de> |
17 | |||
18 | --- | 17 | --- |
19 | girepository/girepository.c | 15 +++++++++++++-- | 18 | girepository/girepository.c | 15 +++++++++++++-- |
20 | girepository/meson.build | 2 +- | 19 | girepository/meson.build | 2 +- |
21 | 2 files changed, 14 insertions(+), 3 deletions(-) | 20 | 2 files changed, 14 insertions(+), 3 deletions(-) |
22 | 21 | ||
23 | diff --git a/girepository/girepository.c b/girepository/girepository.c | 22 | diff --git a/girepository/girepository.c b/girepository/girepository.c |
24 | index a0754f4..2d456f9 100644 | 23 | index 12eaf36..876382c 100644 |
25 | --- a/girepository/girepository.c | 24 | --- a/girepository/girepository.c |
26 | +++ b/girepository/girepository.c | 25 | +++ b/girepository/girepository.c |
27 | @@ -21,6 +21,8 @@ | 26 | @@ -21,6 +21,8 @@ |
@@ -42,7 +41,7 @@ index a0754f4..2d456f9 100644 | |||
42 | /** | 41 | /** |
43 | * SECTION:girepository | 42 | * SECTION:girepository |
44 | * @short_description: GObject Introspection repository manager | 43 | * @short_description: GObject Introspection repository manager |
45 | @@ -215,9 +219,16 @@ init_globals (void) | 44 | @@ -222,9 +226,16 @@ init_globals (void) |
46 | g_free (custom_dirs); | 45 | g_free (custom_dirs); |
47 | } | 46 | } |
48 | 47 | ||
@@ -62,10 +61,10 @@ index a0754f4..2d456f9 100644 | |||
62 | typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); | 61 | typelib_search_path = g_slist_prepend (typelib_search_path, typelib_dir); |
63 | 62 | ||
64 | diff --git a/girepository/meson.build b/girepository/meson.build | 63 | diff --git a/girepository/meson.build b/girepository/meson.build |
65 | index 786749a..15cf2a9 100644 | 64 | index 5ced59e..a580d9b 100644 |
66 | --- a/girepository/meson.build | 65 | --- a/girepository/meson.build |
67 | +++ b/girepository/meson.build | 66 | +++ b/girepository/meson.build |
68 | @@ -45,7 +45,7 @@ girepo_internals_lib = static_library('girepository-internals', | 67 | @@ -47,7 +47,7 @@ girepo_internals_lib = static_library('girepository-internals', |
69 | ], | 68 | ], |
70 | c_args: gi_hidden_visibility_cflags + custom_c_args, | 69 | c_args: gi_hidden_visibility_cflags + custom_c_args, |
71 | include_directories : configinc, | 70 | include_directories : configinc, |
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb index 05a08a50e0..582ac248fd 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.78.1.bb +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.80.1.bb | |||
@@ -16,7 +16,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c434e8128a68bedd59b80b2ac1eb1c4a \ | |||
16 | SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ | 16 | SRC_URI = "${GNOME_MIRROR}/${BPN}/${@oe.utils.trim_version("${PV}", 2)}/${BPN}-${PV}.tar.xz \ |
17 | " | 17 | " |
18 | 18 | ||
19 | SRC_URI[sha256sum] = "bd7babd99af7258e76819e45ba4a6bc399608fe762d83fde3cac033c50841bb4" | 19 | SRC_URI[sha256sum] = "a1df7c424e15bda1ab639c00e9051b9adf5cea1a9e512f8a603b53cd199bc6d8" |
20 | 20 | ||
21 | SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" | 21 | SRC_URI:append:class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" |
22 | 22 | ||
@@ -26,7 +26,9 @@ GTKDOC_MESON_OPTION = "gtk_doc" | |||
26 | 26 | ||
27 | MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" | 27 | MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner" |
28 | 28 | ||
29 | DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native" | 29 | DEPENDS += " libffi zlib python3 flex-native bison-native" |
30 | DEPENDS:append:class-native = " glib-2.0" | ||
31 | DEPENDS:append:class-target = " glib-2.0-initial" | ||
30 | 32 | ||
31 | # target build needs qemu to run temporary introspection binaries created | 33 | # target build needs qemu to run temporary introspection binaries created |
32 | # on the fly by g-ir-scanner and a native version of itself to run | 34 | # on the fly by g-ir-scanner and a native version of itself to run |
@@ -189,6 +191,6 @@ FILES:${PN}-dbg += "${libdir}/gobject-introspection/giscanner/.debug/" | |||
189 | FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" | 191 | FILES:${PN}-staticdev += "${libdir}/gobject-introspection/giscanner/*.a" |
190 | 192 | ||
191 | # setuptools can be removed when upstream removes all uses of distutils | 193 | # setuptools can be removed when upstream removes all uses of distutils |
192 | RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools" | 194 | RDEPENDS:${PN} = "python3-pickle python3-xml python3-setuptools glib-2.0" |
193 | 195 | ||
194 | BBCLASSEXTEND = "native" | 196 | BBCLASSEXTEND = "native" |
diff --git a/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb b/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb index 17e90c59f0..3501813307 100644 --- a/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb +++ b/meta/recipes-gnome/gtk+/gtk+3_3.24.41.bb | |||
@@ -14,4 +14,4 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2 \ | |||
14 | file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ | 14 | file://gdk/gdk.h;endline=25;md5=c920ce39dc88c6f06d3e7c50e08086f2 \ |
15 | file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" | 15 | file://tests/testgtk.c;endline=25;md5=cb732daee1d82af7a2bf953cf3cf26f1" |
16 | 16 | ||
17 | CVE_PRODUCT = "gnome:gtk" | 17 | CVE_PRODUCT = "gnome:gtk gtk:gtk\+" |
diff --git a/meta/recipes-gnome/gtk+/gtk4_4.14.1.bb b/meta/recipes-gnome/gtk+/gtk4_4.14.4.bb index ce733769a5..cda0552f7c 100644 --- a/meta/recipes-gnome/gtk+/gtk4_4.14.1.bb +++ b/meta/recipes-gnome/gtk+/gtk4_4.14.4.bb | |||
@@ -37,7 +37,7 @@ MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" | |||
37 | UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" | 37 | UPSTREAM_CHECK_REGEX = "gtk-(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)\.tar.xz" |
38 | 38 | ||
39 | SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" | 39 | SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk/${MAJ_VER}/gtk-${PV}.tar.xz" |
40 | SRC_URI[sha256sum] = "fcefb3f132f8cc4711a9efa5b353c9ae9bb5eeff0246fa74dbc2f2f839b9e308" | 40 | SRC_URI[sha256sum] = "443518b97e8348f9f6430ac435b1010f9a6c5207f4dc6a7cd5d24e3820cee633" |
41 | 41 | ||
42 | S = "${WORKDIR}/gtk-${PV}" | 42 | S = "${WORKDIR}/gtk-${PV}" |
43 | 43 | ||
@@ -76,6 +76,10 @@ PACKAGECONFIG[gstreamer] = "-Dmedia-gstreamer=enabled,-Dmedia-gstreamer=disabled | |||
76 | PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker,tracker-miners" | 76 | PACKAGECONFIG[tracker] = "-Dtracker=enabled,-Dtracker=disabled,tracker,tracker-miners" |
77 | PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native" | 77 | PACKAGECONFIG[vulkan] = "-Dvulkan=enabled,-Dvulkan=disabled, vulkan-loader vulkan-headers shaderc-native" |
78 | 78 | ||
79 | # Disable int-conversion warning as error until [1] is fixed | ||
80 | # [1] https://gitlab.gnome.org/GNOME/gtk/-/issues/6033 | ||
81 | CFLAGS:append = " -Wno-error=int-conversion" | ||
82 | |||
79 | LIBV = "4.0.0" | 83 | LIBV = "4.0.0" |
80 | 84 | ||
81 | FILES:${PN}:append = " \ | 85 | FILES:${PN}:append = " \ |
diff --git a/meta/recipes-gnome/libportal/files/0001-meson.build-fix-build-race-when-building-GTK-vapi-fi.patch b/meta/recipes-gnome/libportal/files/0001-meson.build-fix-build-race-when-building-GTK-vapi-fi.patch new file mode 100644 index 0000000000..fb015d3632 --- /dev/null +++ b/meta/recipes-gnome/libportal/files/0001-meson.build-fix-build-race-when-building-GTK-vapi-fi.patch | |||
@@ -0,0 +1,49 @@ | |||
1 | From 26f96a178f8a0afded00bdd7238728c0b6e42a6b Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Thu, 9 May 2024 18:44:41 +0000 | ||
4 | Subject: [PATCH] meson.build: fix build race when building GTK vapi files | ||
5 | |||
6 | There's a build race when building the GTK vapi files: | ||
7 | |||
8 | FAILED: libportal/libportal-gtk4.vapi | ||
9 | error: Package `libportal' not found in specified Vala API directories or GObject-Introspection GIR directories | ||
10 | |||
11 | This can be verified by adding "sleep 10;" to the command for the | ||
12 | libportal/libportal.vapi target in the generated build.ninja file. | ||
13 | |||
14 | The GTK vapi files need to have access to the generic libportal.vapi file, | ||
15 | but there is no explicit dependency. Switch the dependency name 'libportal' | ||
16 | to the dependency object libportal_vapi so that Meson generates the | ||
17 | dependency correctly. | ||
18 | |||
19 | Upstream-Status: Backport | ||
20 | Signed-off-by: Ross Burton <ross.burton@arm.com> | ||
21 | --- | ||
22 | libportal/meson.build | 4 ++-- | ||
23 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
24 | |||
25 | diff --git a/libportal/meson.build b/libportal/meson.build | ||
26 | index fff7603..4e67f40 100644 | ||
27 | --- a/libportal/meson.build | ||
28 | +++ b/libportal/meson.build | ||
29 | @@ -168,7 +168,7 @@ if gtk3_dep.found() | ||
30 | if vapi | ||
31 | libportal_gtk3_vapi = gnome.generate_vapi('libportal-gtk3', | ||
32 | sources: libportal_gtk3_gir[0], | ||
33 | - packages: ['gio-2.0', 'gtk+-3.0', 'libportal'], | ||
34 | + packages: ['gio-2.0', 'gtk+-3.0', libportal_vapi], | ||
35 | gir_dirs: [meson.current_build_dir()], | ||
36 | vapi_dirs: [meson.current_build_dir()], | ||
37 | install: true, | ||
38 | @@ -227,7 +227,7 @@ if gtk4_dep.found() | ||
39 | if vapi | ||
40 | libportal_gtk4_vapi = gnome.generate_vapi('libportal-gtk4', | ||
41 | sources: libportal_gtk4_gir[0], | ||
42 | - packages: ['gio-2.0', 'gtk4', 'libportal'], | ||
43 | + packages: ['gio-2.0', 'gtk4', libportal_vapi], | ||
44 | gir_dirs: [meson.current_build_dir()], | ||
45 | vapi_dirs: [meson.current_build_dir()], | ||
46 | install: true, | ||
47 | -- | ||
48 | 2.34.1 | ||
49 | |||
diff --git a/meta/recipes-gnome/libportal/libportal_0.7.1.bb b/meta/recipes-gnome/libportal/libportal_0.7.1.bb index 22e45559c9..6ddfef76d3 100644 --- a/meta/recipes-gnome/libportal/libportal_0.7.1.bb +++ b/meta/recipes-gnome/libportal/libportal_0.7.1.bb | |||
@@ -6,7 +6,8 @@ BUGTRACKER = "https://github.com/flatpak/libportal/issues" | |||
6 | LICENSE = "LGPL-3.0-only" | 6 | LICENSE = "LGPL-3.0-only" |
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404" | 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=3000208d539ec061b899bce1d9ce9404" |
8 | 8 | ||
9 | SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main" | 9 | SRC_URI = "git://github.com/flatpak/${BPN}.git;protocol=https;branch=main \ |
10 | file://0001-meson.build-fix-build-race-when-building-GTK-vapi-fi.patch" | ||
10 | SRCREV = "e9ed3a50cdde321eaf42361212480a66eb94a57a" | 11 | SRCREV = "e9ed3a50cdde321eaf42361212480a66eb94a57a" |
11 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
12 | 13 | ||
diff --git a/meta/recipes-gnome/libxmlb/libxmlb_0.3.17.bb b/meta/recipes-gnome/libxmlb/libxmlb_0.3.18.bb index f403857fea..10ceab0721 100644 --- a/meta/recipes-gnome/libxmlb/libxmlb_0.3.17.bb +++ b/meta/recipes-gnome/libxmlb/libxmlb_0.3.18.bb | |||
@@ -8,7 +8,7 @@ SRC_URI = " \ | |||
8 | file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \ | 8 | file://0001-xb-selftest.c-hardcode-G_TEST_SRCDIR.patch \ |
9 | file://run-ptest \ | 9 | file://run-ptest \ |
10 | " | 10 | " |
11 | SRCREV = "db54f1b3254334e59b29b01b6cb666f444746594" | 11 | SRCREV = "59cf2e0bf3c4d0905a32e32828d6100784993621" |
12 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
13 | 13 | ||
14 | DEPENDS = "glib-2.0 xz zstd" | 14 | DEPENDS = "glib-2.0 xz zstd" |
diff --git a/meta/recipes-graphics/builder/builder_0.1.bb b/meta/recipes-graphics/builder/builder_0.1.bb index 52c9351f93..7719b783c2 100644 --- a/meta/recipes-graphics/builder/builder_0.1.bb +++ b/meta/recipes-graphics/builder/builder_0.1.bb | |||
@@ -7,7 +7,8 @@ LIC_FILES_CHKSUM = "file://builder_session.sh;endline=5;md5=84796c3c41785d86100f | |||
7 | SRC_URI = "file://builder_session.sh \ | 7 | SRC_URI = "file://builder_session.sh \ |
8 | " | 8 | " |
9 | 9 | ||
10 | S = "${WORKDIR}" | 10 | S = "${WORKDIR}/sources" |
11 | UNPACKDIR = "${S}" | ||
11 | 12 | ||
12 | RDEPENDS:${PN} = "mini-x-session" | 13 | RDEPENDS:${PN} = "mini-x-session" |
13 | 14 | ||
diff --git a/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb b/meta/recipes-graphics/glslang/glslang_1.3.283.0.bb index 637082c719..b58bd1e956 100644 --- a/meta/recipes-graphics/glslang/glslang_1.3.280.0.bb +++ b/meta/recipes-graphics/glslang/glslang_1.3.283.0.bb | |||
@@ -8,14 +8,14 @@ HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" | |||
8 | LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" | 8 | LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" |
9 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3" | 9 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3" |
10 | 10 | ||
11 | SRCREV = "ee2f5d09eaf8f4e8d0d598bd2172fce290d4ca60" | 11 | SRCREV = "e8dd0b6903b34f1879520b444634c75ea2deedf5" |
12 | SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \ | 12 | SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \ |
13 | file://0001-generate-glslang-pkg-config.patch \ | 13 | file://0001-generate-glslang-pkg-config.patch \ |
14 | " | 14 | " |
15 | PE = "1" | 15 | PE = "1" |
16 | # These recipes need to be updated in lockstep with each other: | 16 | # These recipes need to be updated in lockstep with each other: |
17 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools | 17 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools |
18 | # vulkan-validation-layers, vulkan-utility-libraries. | 18 | # vulkan-validation-layers, vulkan-utility-libraries, vulkan-volk. |
19 | # The tags versions should always be sdk-x.y.z, as this is what | 19 | # The tags versions should always be sdk-x.y.z, as this is what |
20 | # upstream considers a release. | 20 | # upstream considers a release. |
21 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 21 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_8.5.0.bb index fd4dcc2338..97efc56c64 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_8.3.1.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_8.5.0.bb | |||
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \ | |||
9 | " | 9 | " |
10 | 10 | ||
11 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" | 11 | SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" |
12 | SRC_URI[sha256sum] = "f73e1eacd7e2ffae687bc3f056bb0c705b7a05aee86337686e09da8fc1c2030c" | 12 | SRC_URI[sha256sum] = "77e4f7f98f3d86bf8788b53e6832fb96279956e1c3961988ea3d4b7ca41ddc27" |
13 | 13 | ||
14 | DEPENDS += "glib-2.0-native" | 14 | DEPENDS += "glib-2.0-native" |
15 | 15 | ||
diff --git a/meta/recipes-graphics/libsdl2/libsdl2_2.30.1.bb b/meta/recipes-graphics/libsdl2/libsdl2_2.30.2.bb index 891e91190a..f9dacb288c 100644 --- a/meta/recipes-graphics/libsdl2/libsdl2_2.30.1.bb +++ b/meta/recipes-graphics/libsdl2/libsdl2_2.30.2.bb | |||
@@ -25,7 +25,7 @@ SRC_URI = "http://www.libsdl.org/release/SDL2-${PV}.tar.gz" | |||
25 | 25 | ||
26 | S = "${WORKDIR}/SDL2-${PV}" | 26 | S = "${WORKDIR}/SDL2-${PV}" |
27 | 27 | ||
28 | SRC_URI[sha256sum] = "01215ffbc8cfc4ad165ba7573750f15ddda1f971d5a66e9dcaffd37c587f473a" | 28 | SRC_URI[sha256sum] = "891d66ac8cae51361d3229e3336ebec1c407a8a2a063b61df14f5fdf3ab5ac31" |
29 | 29 | ||
30 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even | 30 | inherit cmake lib_package binconfig-disabled pkgconfig upstream-version-is-even |
31 | 31 | ||
diff --git a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb index d1f0a67d84..8a4cfef631 100644 --- a/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb +++ b/meta/recipes-graphics/matchbox-session/matchbox-session_0.1.bb | |||
@@ -10,7 +10,9 @@ SECTION = "x11" | |||
10 | RCONFLICTS:${PN} = "matchbox-common" | 10 | RCONFLICTS:${PN} = "matchbox-common" |
11 | 11 | ||
12 | SRC_URI = "file://matchbox-session" | 12 | SRC_URI = "file://matchbox-session" |
13 | S = "${WORKDIR}" | 13 | |
14 | S = "${WORKDIR}/sources" | ||
15 | UNPACKDIR = "${S}" | ||
14 | 16 | ||
15 | 17 | ||
16 | inherit update-alternatives | 18 | inherit update-alternatives |
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb index 880d4ed666..c8b6f07ed0 100644 --- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb +++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.3.bb | |||
@@ -34,5 +34,5 @@ EXTRA_OECONF = " --enable-startup-notification \ | |||
34 | --with-expat-includes=${STAGING_INCDIR}" | 34 | --with-expat-includes=${STAGING_INCDIR}" |
35 | 35 | ||
36 | do_install:prepend() { | 36 | do_install:prepend() { |
37 | install ${WORKDIR}/kbdconfig ${S}/data/kbdconfig | 37 | install ${UNPACKDIR}/kbdconfig ${S}/data/kbdconfig |
38 | } | 38 | } |
diff --git a/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb b/meta/recipes-graphics/mesa/mesa-gl_24.0.5.bb index ca160f1bfc..ca160f1bfc 100644 --- a/meta/recipes-graphics/mesa/mesa-gl_24.0.3.bb +++ b/meta/recipes-graphics/mesa/mesa-gl_24.0.5.bb | |||
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 1c9fa66c72..77e9c80fcb 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc | |||
@@ -22,7 +22,7 @@ SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ | |||
22 | file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \ | 22 | file://0001-Revert-meson-do-not-pull-in-clc-for-clover.patch \ |
23 | " | 23 | " |
24 | 24 | ||
25 | SRC_URI[sha256sum] = "77aec9a2a37b7d3596ea1640b3cc53d0b5d9b3b52abed89de07e3717e91bfdbe" | 25 | SRC_URI[sha256sum] = "38cc245ca8faa3c69da6d2687f8906377001f63365348a62cc6f7fafb1e8c018" |
26 | 26 | ||
27 | UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" | 27 | UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" |
28 | 28 | ||
diff --git a/meta/recipes-graphics/mesa/mesa_24.0.3.bb b/meta/recipes-graphics/mesa/mesa_24.0.5.bb index 96e8aa38d6..96e8aa38d6 100644 --- a/meta/recipes-graphics/mesa/mesa_24.0.3.bb +++ b/meta/recipes-graphics/mesa/mesa_24.0.5.bb | |||
diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb index ba81d0b17a..48d50c8f66 100644 --- a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb +++ b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb | |||
@@ -11,7 +11,9 @@ SECTION = "x11" | |||
11 | RCONFLICTS:${PN} = "matchbox-common" | 11 | RCONFLICTS:${PN} = "matchbox-common" |
12 | 12 | ||
13 | SRC_URI = "file://mini-x-session" | 13 | SRC_URI = "file://mini-x-session" |
14 | S = "${WORKDIR}" | 14 | |
15 | S = "${WORKDIR}/sources" | ||
16 | UNPACKDIR = "${S}" | ||
15 | 17 | ||
16 | RDEPENDS:${PN} = "sudo" | 18 | RDEPENDS:${PN} = "sudo" |
17 | 19 | ||
diff --git a/meta/recipes-graphics/pango/pango_1.52.1.bb b/meta/recipes-graphics/pango/pango_1.52.2.bb index a67c3791a2..4f748e6554 100644 --- a/meta/recipes-graphics/pango/pango_1.52.1.bb +++ b/meta/recipes-graphics/pango/pango_1.52.2.bb | |||
@@ -23,7 +23,7 @@ SRC_URI += "file://run-ptest \ | |||
23 | file://0001-Skip-running-test-layout-test.patch \ | 23 | file://0001-Skip-running-test-layout-test.patch \ |
24 | " | 24 | " |
25 | 25 | ||
26 | SRC_URI[archive.sha256sum] = "58728a0a2d86f60761208df9493033d18ecb2497abac80ee1a274ad0c6e55f0f" | 26 | SRC_URI[archive.sha256sum] = "d0076afe01082814b853deec99f9349ece5f2ce83908b8e58ff736b41f78a96b" |
27 | 27 | ||
28 | DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" | 28 | DEPENDS = "glib-2.0 glib-2.0-native fontconfig freetype virtual/libiconv cairo harfbuzz fribidi" |
29 | 29 | ||
diff --git a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb index d0794f8ee6..ee5173dc83 100644 --- a/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb +++ b/meta/recipes-graphics/pong-clock/pong-clock_1.0.bb | |||
@@ -10,7 +10,8 @@ SRC_URI = "file://pong-clock-no-flicker.c" | |||
10 | 10 | ||
11 | LIC_FILES_CHKSUM = "file://pong-clock-no-flicker.c;beginline=1;endline=23;md5=dd248d50f73f746d1ee78586b0b2ebd3" | 11 | LIC_FILES_CHKSUM = "file://pong-clock-no-flicker.c;beginline=1;endline=23;md5=dd248d50f73f746d1ee78586b0b2ebd3" |
12 | 12 | ||
13 | S = "${WORKDIR}" | 13 | S = "${WORKDIR}/sources" |
14 | UNPACKDIR = "${S}" | ||
14 | 15 | ||
15 | do_compile () { | 16 | do_compile () { |
16 | ${CC} ${CFLAGS} ${LDFLAGS} -o pong-clock pong-clock-no-flicker.c `pkg-config --cflags --libs x11 xau xdmcp` | 17 | ${CC} ${CFLAGS} ${LDFLAGS} -o pong-clock pong-clock-no-flicker.c `pkg-config --cflags --libs x11 xau xdmcp` |
diff --git a/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb b/meta/recipes-graphics/spir/spirv-headers_1.3.283.0.bb index 26bfd9c4fa..5ec7e42b7c 100644 --- a/meta/recipes-graphics/spir/spirv-headers_1.3.280.0.bb +++ b/meta/recipes-graphics/spir/spirv-headers_1.3.283.0.bb | |||
@@ -4,12 +4,12 @@ HOMEPAGE = "https://www.khronos.org/registry/spir-v" | |||
4 | LICENSE = "MIT" | 4 | LICENSE = "MIT" |
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d14ee3b13f42e9c9674acc5925c3d741" | 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d14ee3b13f42e9c9674acc5925c3d741" |
6 | 6 | ||
7 | SRCREV = "8b246ff75c6615ba4532fe4fde20f1be090c3764" | 7 | SRCREV = "4f7b471f1a66b6d06462cd4ba57628cc0cd087d7" |
8 | SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main" | 8 | SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main" |
9 | PE = "1" | 9 | PE = "1" |
10 | # These recipes need to be updated in lockstep with each other: | 10 | # These recipes need to be updated in lockstep with each other: |
11 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools | 11 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools |
12 | # vulkan-validation-layers, vulkan-utility-libraries. | 12 | # vulkan-validation-layers, vulkan-utility-libraries, vulkan-volk. |
13 | # The tags versions should always be sdk-x.y.z, as this is what | 13 | # The tags versions should always be sdk-x.y.z, as this is what |
14 | # upstream considers a release. | 14 | # upstream considers a release. |
15 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 15 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb b/meta/recipes-graphics/spir/spirv-tools_1.3.283.0.bb index d2b6acf946..292a17f00d 100644 --- a/meta/recipes-graphics/spir/spirv-tools_1.3.280.0.bb +++ b/meta/recipes-graphics/spir/spirv-tools_1.3.283.0.bb | |||
@@ -7,12 +7,12 @@ SECTION = "graphics" | |||
7 | LICENSE = "Apache-2.0" | 7 | LICENSE = "Apache-2.0" |
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" |
9 | 9 | ||
10 | SRCREV = "04896c462d9f3f504c99a4698605b6524af813c1" | 10 | SRCREV = "dd4b663e13c07fea4fbb3f70c1c91c86731099f7" |
11 | SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https" | 11 | SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https" |
12 | PE = "1" | 12 | PE = "1" |
13 | # These recipes need to be updated in lockstep with each other: | 13 | # These recipes need to be updated in lockstep with each other: |
14 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools | 14 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools |
15 | # vulkan-validation-layers, vulkan-utility-libraries. | 15 | # vulkan-validation-layers, vulkan-utility-libraries, vulkan-volk. |
16 | # The tags versions should always be sdk-x.y.z, as this is what | 16 | # The tags versions should always be sdk-x.y.z, as this is what |
17 | # upstream considers a release. | 17 | # upstream considers a release. |
18 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 18 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb index b7fdc0d399..584a19a42a 100644 --- a/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb +++ b/meta/recipes-graphics/ttf-fonts/liberation-fonts_2.1.5.bb | |||
@@ -26,7 +26,7 @@ do_install () { | |||
26 | done | 26 | done |
27 | 27 | ||
28 | install -d ${D}${sysconfdir}/fonts/conf.d/ | 28 | install -d ${D}${sysconfdir}/fonts/conf.d/ |
29 | install -m 0644 ${WORKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ | 29 | install -m 0644 ${UNPACKDIR}/30-liberation-aliases.conf ${D}${sysconfdir}/fonts/conf.d/ |
30 | 30 | ||
31 | install -d ${D}${prefix}/share/doc/${BPN}/ | 31 | install -d ${D}${prefix}/share/doc/${BPN}/ |
32 | install -m 0644 LICENSE ${D}${datadir}/doc/${BPN}/ | 32 | install -m 0644 LICENSE ${D}${datadir}/doc/${BPN}/ |
diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.283.0.bb index 371cc7304d..6423ef9df6 100644 --- a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.280.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.283.0.bb | |||
@@ -11,7 +11,7 @@ LICENSE = "Apache-2.0 & MIT" | |||
11 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625" | 11 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625" |
12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" | 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" |
13 | 13 | ||
14 | SRCREV = "577baa05033cf1d9236b3d078ca4b3269ed87a2b" | 14 | SRCREV = "eaa319dade959cb61ed2229c8ea42e307cc8f8b3" |
15 | 15 | ||
16 | S = "${WORKDIR}/git" | 16 | S = "${WORKDIR}/git" |
17 | 17 | ||
@@ -22,7 +22,7 @@ RDEPENDS:${PN} += "python3-core" | |||
22 | 22 | ||
23 | # These recipes need to be updated in lockstep with each other: | 23 | # These recipes need to be updated in lockstep with each other: |
24 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, | 24 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, |
25 | # vulkan-validation-layers, vulkan-utility-libraries. | 25 | # vulkan-validation-layers, vulkan-utility-libraries, vulkan-volk. |
26 | # The tags versions should always be sdk-x.y.z, as this is what | 26 | # The tags versions should always be sdk-x.y.z, as this is what |
27 | # upstream considers a release. | 27 | # upstream considers a release. |
28 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 28 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.283.0.bb index b738771801..6c3197e13f 100644 --- a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.280.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.283.0.bb | |||
@@ -9,8 +9,8 @@ SECTION = "libs" | |||
9 | 9 | ||
10 | LICENSE = "Apache-2.0" | 10 | LICENSE = "Apache-2.0" |
11 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" | 11 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" |
12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.280;protocol=https" | 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.283;protocol=https" |
13 | SRCREV = "61a9c50248e09f3a0e0be7ce6f8bb1663855f979" | 13 | SRCREV = "720be5198aad4696381d2e3eeadc131c9f56bdc6" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |
16 | 16 | ||
@@ -37,7 +37,7 @@ RRECOMMENDS:${PN} = "mesa-vulkan-drivers" | |||
37 | 37 | ||
38 | # These recipes need to be updated in lockstep with each other: | 38 | # These recipes need to be updated in lockstep with each other: |
39 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, | 39 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, |
40 | # vulkan-validation-layers, vulkan-utility-libraries. | 40 | # vulkan-validation-layers, vulkan-utility-libraries, vulkan-volk. |
41 | # The tags versions should always be sdk-x.y.z, as this is what | 41 | # The tags versions should always be sdk-x.y.z, as this is what |
42 | # upstream considers a release. | 42 | # upstream considers a release. |
43 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 43 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.283.0.bb index a7e4a67aaa..a76f60735f 100644 --- a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.280.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.283.0.bb | |||
@@ -6,8 +6,8 @@ SECTION = "libs" | |||
6 | 6 | ||
7 | LICENSE = "Apache-2.0" | 7 | LICENSE = "Apache-2.0" |
8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" | 8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" |
9 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=vulkan-sdk-1.3.280;protocol=https" | 9 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=vulkan-sdk-1.3.283;protocol=https" |
10 | SRCREV = "136976082d0b14dad8b9687982b2a80cc6e6a633" | 10 | SRCREV = "38321da9031f5909f1ca2dbafac8840ef6b2c144" |
11 | 11 | ||
12 | S = "${WORKDIR}/git" | 12 | S = "${WORKDIR}/git" |
13 | 13 | ||
@@ -31,7 +31,7 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU | |||
31 | 31 | ||
32 | # These recipes need to be updated in lockstep with each other: | 32 | # These recipes need to be updated in lockstep with each other: |
33 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools | 33 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools |
34 | # vulkan-validation-layers, vulkan-utility-libraries. | 34 | # vulkan-validation-layers, vulkan-utility-libraries, vulkan-volk. |
35 | # The tags versions should always be sdk-x.y.z, as this is what | 35 | # The tags versions should always be sdk-x.y.z, as this is what |
36 | # upstream considers a release. | 36 | # upstream considers a release. |
37 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 37 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.283.0.bb index 3ab31af96a..3274bea8fd 100644 --- a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.280.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.283.0.bb | |||
@@ -10,7 +10,7 @@ LICENSE = "Apache-2.0" | |||
10 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b" | 10 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b" |
11 | 11 | ||
12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https" | 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https" |
13 | SRCREV = "a4140c5fd47dcf3a030726a60b293db61cfb54a3" | 13 | SRCREV = "ad7f699a7b2b5deb66eb3de19f24aa33597ed65b" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |
16 | 16 | ||
@@ -27,7 +27,7 @@ inherit cmake features_check pkgconfig | |||
27 | # These recipes need to be updated in lockstep with each other: | 27 | # These recipes need to be updated in lockstep with each other: |
28 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, | 28 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, |
29 | # vulkan-validation-layers, spirv-headers, spirv-tools, | 29 | # vulkan-validation-layers, spirv-headers, spirv-tools, |
30 | # vulkan-utility-libraries. | 30 | # vulkan-utility-libraries, vulkan-volk. |
31 | # The tags versions should always be sdk-x.y.z, as this is what | 31 | # The tags versions should always be sdk-x.y.z, as this is what |
32 | # upstream considers a release. | 32 | # upstream considers a release. |
33 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 33 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.283.0.bb index c488309c91..2f1efba856 100644 --- a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.280.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.283.0.bb | |||
@@ -8,8 +8,8 @@ SECTION = "libs" | |||
8 | LICENSE = "Apache-2.0 & MIT" | 8 | LICENSE = "Apache-2.0 & MIT" |
9 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f" | 9 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f" |
10 | 10 | ||
11 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.280;protocol=https" | 11 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.283;protocol=https" |
12 | SRCREV = "8506077b9a25a00684e8be24b779733ae1405a54" | 12 | SRCREV = "d5bed3e26b3d487e8d21f0cc39039351eac921a7" |
13 | 13 | ||
14 | S = "${WORKDIR}/git" | 14 | S = "${WORKDIR}/git" |
15 | 15 | ||
@@ -43,7 +43,7 @@ FILES_SOLIBSDEV = "" | |||
43 | # These recipes need to be updated in lockstep with each other: | 43 | # These recipes need to be updated in lockstep with each other: |
44 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, | 44 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, |
45 | # vulkan-validation-layers, spirv-headers, spirv-tools, | 45 | # vulkan-validation-layers, spirv-headers, spirv-tools, |
46 | # vulkan-utility-libraries. | 46 | # vulkan-utility-libraries, vulkan-volk. |
47 | # The tags versions should always be sdk-x.y.z, as this is what | 47 | # The tags versions should always be sdk-x.y.z, as this is what |
48 | # upstream considers a release. | 48 | # upstream considers a release. |
49 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 49 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb b/meta/recipes-graphics/vulkan/vulkan-volk_1.3.283.0.bb index 2ef12fedf8..5485aa0b0d 100644 --- a/meta/recipes-graphics/vulkan/vulkan-volk_1.3.280.0.bb +++ b/meta/recipes-graphics/vulkan/vulkan-volk_1.3.283.0.bb | |||
@@ -10,7 +10,7 @@ LICENSE = "MIT" | |||
10 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e6af3a0e2a5e5dbf7796aa82b64626" | 10 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=12e6af3a0e2a5e5dbf7796aa82b64626" |
11 | 11 | ||
12 | SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https" | 12 | SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https" |
13 | SRCREV = "01986ac85fa2e5c70df09aeae9c907e27c5d50b2" | 13 | SRCREV = "3a8068a57417940cf2bf9d837a7bb60d015ca2f1" |
14 | 14 | ||
15 | S = "${WORKDIR}/git" | 15 | S = "${WORKDIR}/git" |
16 | 16 | ||
@@ -27,7 +27,7 @@ inherit cmake features_check pkgconfig | |||
27 | # These recipes need to be updated in lockstep with each other: | 27 | # These recipes need to be updated in lockstep with each other: |
28 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, | 28 | # glslang, vulkan-headers, vulkan-loader, vulkan-tools, |
29 | # vulkan-validation-layers, spirv-headers, spirv-tools, | 29 | # vulkan-validation-layers, spirv-headers, spirv-tools, |
30 | # vulkan-utility-libraries. | 30 | # vulkan-utility-libraries, vulkan-volk. |
31 | # The tags versions should always be sdk-x.y.z, as this is what | 31 | # The tags versions should always be sdk-x.y.z, as this is what |
32 | # upstream considers a release. | 32 | # upstream considers a release. |
33 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" | 33 | UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)" |
diff --git a/meta/recipes-graphics/waffle/waffle_1.8.0.bb b/meta/recipes-graphics/waffle/waffle_1.8.0.bb index 12b31dcff1..ad8649b40e 100644 --- a/meta/recipes-graphics/waffle/waffle_1.8.0.bb +++ b/meta/recipes-graphics/waffle/waffle_1.8.0.bb | |||
@@ -37,7 +37,7 @@ PACKAGECONFIG[glx] = "-Dglx=enabled,-Dglx=disabled,virtual/${MLPREFIX}libgl libx | |||
37 | PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}egl wayland wayland-native wayland-protocols" | 37 | PACKAGECONFIG[wayland] = "-Dwayland=enabled,-Dwayland=disabled,virtual/${MLPREFIX}egl wayland wayland-native wayland-protocols" |
38 | 38 | ||
39 | # wants gbm.pc egl.pc | 39 | # wants gbm.pc egl.pc |
40 | PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}egl virtual/${MLPREFIX}libgbm udev" | 40 | PACKAGECONFIG[gbm] = "-Dgbm=enabled,-Dgbm=disabled,virtual/${MLPREFIX}egl virtual/${MLPREFIX}libgbm libdrm" |
41 | 41 | ||
42 | # wants egl.pc | 42 | # wants egl.pc |
43 | PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}egl libxcb" | 43 | PACKAGECONFIG[x11-egl] = "-Dx11_egl=enabled,-Dx11_egl=disabled,virtual/${MLPREFIX}egl libxcb" |
diff --git a/meta/recipes-graphics/wayland/libinput_1.25.0.bb b/meta/recipes-graphics/wayland/libinput_1.25.0.bb index 517b247fed..894858e361 100644 --- a/meta/recipes-graphics/wayland/libinput_1.25.0.bb +++ b/meta/recipes-graphics/wayland/libinput_1.25.0.bb | |||
@@ -32,7 +32,7 @@ do_configure:append() { | |||
32 | 32 | ||
33 | PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" | 33 | PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)}" |
34 | PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" | 34 | PACKAGECONFIG[libwacom] = "-Dlibwacom=true,-Dlibwacom=false,libwacom" |
35 | PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3" | 35 | PACKAGECONFIG[gui] = "-Ddebug-gui=true,-Ddebug-gui=false,cairo gtk+3 wayland-native" |
36 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstall-tests=true,-Dtests=false -Dinstall-tests=false,libcheck" | 36 | PACKAGECONFIG[tests] = "-Dtests=true -Dinstall-tests=true,-Dtests=false -Dinstall-tests=false,libcheck" |
37 | 37 | ||
38 | UDEVDIR = "`pkg-config --variable=udevdir udev`" | 38 | UDEVDIR = "`pkg-config --variable=udevdir udev`" |
diff --git a/meta/recipes-graphics/wayland/wayland-protocols_1.34.bb b/meta/recipes-graphics/wayland/wayland-protocols_1.36.bb index 8c12985714..9b008ca534 100644 --- a/meta/recipes-graphics/wayland/wayland-protocols_1.34.bb +++ b/meta/recipes-graphics/wayland/wayland-protocols_1.36.bb | |||
@@ -10,9 +10,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c7b12b6702da38ca028ace54aae3d484 \ | |||
10 | file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" | 10 | file://stable/presentation-time/presentation-time.xml;endline=26;md5=4646cd7d9edc9fa55db941f2d3a7dc53" |
11 | 11 | ||
12 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz" | 12 | SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${PV}/downloads/wayland-protocols-${PV}.tar.xz" |
13 | SRC_URI[sha256sum] = "c59b27cacd85f60baf4ee5f80df5c0d15760ead6a2432b00ab7e2e0574dcafeb" | 13 | SRC_URI[sha256sum] = "71fd4de05e79f9a1ca559fac30c1f8365fa10346422f9fe795f74d77b9ef7e92" |
14 | 14 | ||
15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags" | 15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/tags" |
16 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)" | ||
16 | 17 | ||
17 | inherit meson pkgconfig allarch | 18 | inherit meson pkgconfig allarch |
18 | 19 | ||
diff --git a/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb index 878c7a267e..59d414a0a6 100644 --- a/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb +++ b/meta/recipes-graphics/wayland/wayland-utils_1.2.0.bb | |||
@@ -13,6 +13,7 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/releases/${PV} | |||
13 | SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4" | 13 | SRC_URI[sha256sum] = "d9278c22554586881802540751bcc42569262bf80cd9ac9b0fd12ff4bd09a9e4" |
14 | 14 | ||
15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags" | 15 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland-utils/-/tags" |
16 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>.+)" | ||
16 | 17 | ||
17 | inherit meson pkgconfig | 18 | inherit meson pkgconfig |
18 | 19 | ||
diff --git a/meta/recipes-graphics/wayland/wayland_1.22.0.bb b/meta/recipes-graphics/wayland/wayland_1.22.0.bb index 6aa76063ea..e7babc9ec6 100644 --- a/meta/recipes-graphics/wayland/wayland_1.22.0.bb +++ b/meta/recipes-graphics/wayland/wayland_1.22.0.bb | |||
@@ -20,7 +20,7 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/releases/${PV}/downl | |||
20 | SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842" | 20 | SRC_URI[sha256sum] = "1540af1ea698a471c2d8e9d288332c7e0fd360c8f1d12936ebb7e7cbc2425842" |
21 | 21 | ||
22 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags" | 22 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/wayland/-/tags" |
23 | UPSTREAM_CHECK_REGEX = "wayland-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" | 23 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" |
24 | 24 | ||
25 | inherit meson pkgconfig ptest | 25 | inherit meson pkgconfig ptest |
26 | 26 | ||
diff --git a/meta/recipes-graphics/wayland/weston-init.bb b/meta/recipes-graphics/wayland/weston-init.bb index 024e400665..83f0cea49c 100644 --- a/meta/recipes-graphics/wayland/weston-init.bb +++ b/meta/recipes-graphics/wayland/weston-init.bb | |||
@@ -13,7 +13,8 @@ SRC_URI = "file://init \ | |||
13 | file://weston-autologin \ | 13 | file://weston-autologin \ |
14 | file://weston-start" | 14 | file://weston-start" |
15 | 15 | ||
16 | S = "${WORKDIR}" | 16 | S = "${WORKDIR}/sources" |
17 | UNPACKDIR = "${S}" | ||
17 | 18 | ||
18 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}" | 19 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xwayland', '', d)}" |
19 | PACKAGECONFIG:append:qemuriscv64 = " use-pixman" | 20 | PACKAGECONFIG:append:qemuriscv64 = " use-pixman" |
@@ -29,18 +30,18 @@ DEFAULTBACKEND:qemuall ?= "drm" | |||
29 | do_install() { | 30 | do_install() { |
30 | # Install weston-start script | 31 | # Install weston-start script |
31 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then | 32 | if [ "${VIRTUAL-RUNTIME_init_manager}" != "systemd" ]; then |
32 | install -Dm755 ${WORKDIR}/weston-start ${D}${bindir}/weston-start | 33 | install -Dm755 ${S}/weston-start ${D}${bindir}/weston-start |
33 | sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start | 34 | sed -i 's,@DATADIR@,${datadir},g' ${D}${bindir}/weston-start |
34 | sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start | 35 | sed -i 's,@LOCALSTATEDIR@,${localstatedir},g' ${D}${bindir}/weston-start |
35 | install -Dm755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/weston | 36 | install -Dm755 ${S}/init ${D}/${sysconfdir}/init.d/weston |
36 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston | 37 | sed -i 's#ROOTHOME#${ROOT_HOME}#' ${D}/${sysconfdir}/init.d/weston |
37 | fi | 38 | fi |
38 | 39 | ||
39 | # Install Weston systemd service | 40 | # Install Weston systemd service |
40 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 41 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
41 | install -D -p -m0644 ${WORKDIR}/weston.service ${D}${systemd_system_unitdir}/weston.service | 42 | install -D -p -m0644 ${S}/weston.service ${D}${systemd_system_unitdir}/weston.service |
42 | install -D -p -m0644 ${WORKDIR}/weston.socket ${D}${systemd_system_unitdir}/weston.socket | 43 | install -D -p -m0644 ${S}/weston.socket ${D}${systemd_system_unitdir}/weston.socket |
43 | install -D -p -m0644 ${WORKDIR}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh | 44 | install -D -p -m0644 ${S}/weston-socket.sh ${D}${sysconfdir}/profile.d/weston-socket.sh |
44 | sed -i -e s:/etc:${sysconfdir}:g \ | 45 | sed -i -e s:/etc:${sysconfdir}:g \ |
45 | -e s:/usr/bin:${bindir}:g \ | 46 | -e s:/usr/bin:${bindir}:g \ |
46 | -e s:/var:${localstatedir}:g \ | 47 | -e s:/var:${localstatedir}:g \ |
@@ -48,11 +49,11 @@ do_install() { | |||
48 | fi | 49 | fi |
49 | 50 | ||
50 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then | 51 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then |
51 | install -D -p -m0644 ${WORKDIR}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin | 52 | install -D -p -m0644 ${S}/weston-autologin ${D}${sysconfdir}/pam.d/weston-autologin |
52 | fi | 53 | fi |
53 | 54 | ||
54 | install -D -p -m0644 ${WORKDIR}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini | 55 | install -D -p -m0644 ${S}/weston.ini ${D}${sysconfdir}/xdg/weston/weston.ini |
55 | install -Dm644 ${WORKDIR}/weston.env ${D}${sysconfdir}/default/weston | 56 | install -Dm644 ${S}/weston.env ${D}${sysconfdir}/default/weston |
56 | 57 | ||
57 | if [ -n "${DEFAULTBACKEND}" ]; then | 58 | if [ -n "${DEFAULTBACKEND}" ]; then |
58 | sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini | 59 | sed -i -e "/^\[core\]/a backend=${DEFAULTBACKEND}-backend.so" ${D}${sysconfdir}/xdg/weston/weston.ini |
diff --git a/meta/recipes-graphics/wayland/weston_13.0.0.bb b/meta/recipes-graphics/wayland/weston_13.0.0.bb index b728bd0ef3..cb0024c5ca 100644 --- a/meta/recipes-graphics/wayland/weston_13.0.0.bb +++ b/meta/recipes-graphics/wayland/weston_13.0.0.bb | |||
@@ -17,7 +17,7 @@ SRC_URI = "https://gitlab.freedesktop.org/wayland/weston/-/releases/${PV}/downlo | |||
17 | SRC_URI[sha256sum] = "52ff1d4aa2394a2e416c85a338b627ce97fa71d43eb762fd4aaf145d36fc795a" | 17 | SRC_URI[sha256sum] = "52ff1d4aa2394a2e416c85a338b627ce97fa71d43eb762fd4aaf145d36fc795a" |
18 | 18 | ||
19 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags" | 19 | UPSTREAM_CHECK_URI = "https://gitlab.freedesktop.org/wayland/weston/-/tags" |
20 | UPSTREAM_CHECK_REGEX = "weston-(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" | 20 | UPSTREAM_CHECK_REGEX = "releases/(?P<pver>\d+\.\d+\.(?!9\d+)\d+)" |
21 | 21 | ||
22 | inherit meson pkgconfig useradd | 22 | inherit meson pkgconfig useradd |
23 | 23 | ||
@@ -105,18 +105,18 @@ do_install:append() { | |||
105 | # If X11, ship a desktop file to launch it | 105 | # If X11, ship a desktop file to launch it |
106 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then | 106 | if [ "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" ]; then |
107 | install -d ${D}${datadir}/applications | 107 | install -d ${D}${datadir}/applications |
108 | install ${WORKDIR}/weston.desktop ${D}${datadir}/applications | 108 | install ${UNPACKDIR}/weston.desktop ${D}${datadir}/applications |
109 | 109 | ||
110 | install -d ${D}${datadir}/icons/hicolor/48x48/apps | 110 | install -d ${D}${datadir}/icons/hicolor/48x48/apps |
111 | install ${WORKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps | 111 | install ${UNPACKDIR}/weston.png ${D}${datadir}/icons/hicolor/48x48/apps |
112 | fi | 112 | fi |
113 | 113 | ||
114 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then | 114 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'xwayland', 'yes', 'no', d)}" = "yes" ]; then |
115 | install -Dm 644 ${WORKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland | 115 | install -Dm 644 ${UNPACKDIR}/xwayland.weston-start ${D}${datadir}/weston-start/xwayland |
116 | fi | 116 | fi |
117 | 117 | ||
118 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then | 118 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'systemd', 'yes', 'no', d)}" = "yes" ]; then |
119 | install -Dm 644 ${WORKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify | 119 | install -Dm 644 ${UNPACKDIR}/systemd-notify.weston-start ${D}${datadir}/weston-start/systemd-notify |
120 | fi | 120 | fi |
121 | 121 | ||
122 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then | 122 | if [ "${@bb.utils.contains('PACKAGECONFIG', 'launch', 'yes', 'no', d)}" = "yes" ]; then |
diff --git a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb index 671c0a290e..cd4acf8155 100644 --- a/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb +++ b/meta/recipes-graphics/x11-common/xserver-nodm-init_3.0.bb | |||
@@ -12,7 +12,8 @@ SRC_URI = "file://xserver-nodm \ | |||
12 | file://capability.conf \ | 12 | file://capability.conf \ |
13 | " | 13 | " |
14 | 14 | ||
15 | S = "${WORKDIR}" | 15 | S = "${WORKDIR}/sources" |
16 | UNPACKDIR = "${S}" | ||
16 | 17 | ||
17 | # Since we refer to ROOTLESS_X which is normally enabled per-machine | 18 | # Since we refer to ROOTLESS_X which is normally enabled per-machine |
18 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 19 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
@@ -52,7 +53,7 @@ do_install() { | |||
52 | 53 | ||
53 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then | 54 | if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then |
54 | install -d ${D}${systemd_system_unitdir} | 55 | install -d ${D}${systemd_system_unitdir} |
55 | install -m 0644 ${WORKDIR}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service | 56 | install -m 0644 ${S}/xserver-nodm.service.in ${D}${systemd_system_unitdir}/xserver-nodm.service |
56 | sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service | 57 | sed -i "s:@USER@:${XUSER}:" ${D}${systemd_system_unitdir}/xserver-nodm.service |
57 | fi | 58 | fi |
58 | 59 | ||
diff --git a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb index 5c9742fb20..f4516e6975 100644 --- a/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb +++ b/meta/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb | |||
@@ -7,7 +7,9 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
7 | 7 | ||
8 | 8 | ||
9 | SRC_URI = "file://pointercal.xinput" | 9 | SRC_URI = "file://pointercal.xinput" |
10 | S = "${WORKDIR}" | 10 | |
11 | S = "${WORKDIR}/sources" | ||
12 | UNPACKDIR = "${S}" | ||
11 | 13 | ||
12 | do_install() { | 14 | do_install() { |
13 | # Only install file if it has a contents | 15 | # Only install file if it has a contents |
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch index 86982924a8..de0862599d 100644 --- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch +++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator/Allow-xinput_calibrator_pointercal.sh-to-be-run-as-n.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | Upstream-Status: Pending | 1 | Upstream-Status: Inactive-Upstream [last commits over a decade ago] |
2 | 2 | ||
3 | From 14734a93bd3fc323325459e24b04795422e395e6 Mon Sep 17 00:00:00 2001 | 3 | From 14734a93bd3fc323325459e24b04795422e395e6 Mon Sep 17 00:00:00 2001 |
4 | From: Laurentiu Palcu <laurentiu.palcu@intel.com> | 4 | From: Laurentiu Palcu <laurentiu.palcu@intel.com> |
diff --git a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb index 7b49668f92..0516928a76 100644 --- a/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb +++ b/meta/recipes-graphics/xinput-calibrator/xinput-calibrator_git.bb | |||
@@ -27,7 +27,7 @@ do_install:append() { | |||
27 | install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh | 27 | install -m 0755 ${S}/scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh |
28 | 28 | ||
29 | install -d ${D}${sysconfdir}/X11/Xsession.d/ | 29 | install -d ${D}${sysconfdir}/X11/Xsession.d/ |
30 | install -m 0755 ${WORKDIR}/30xinput_calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/ | 30 | install -m 0755 ${UNPACKDIR}/30xinput_calibrate.sh ${D}${sysconfdir}/X11/Xsession.d/ |
31 | 31 | ||
32 | install -d ${D}${sysconfdir}/xdg/autostart | 32 | install -d ${D}${sysconfdir}/xdg/autostart |
33 | sed -e 's,^Exec=.*,Exec=${bindir}/xinput_calibrator_once.sh,' ${S}/scripts/xinput_calibrator.desktop > ${D}${sysconfdir}/xdg/autostart/xinput_calibrator.desktop | 33 | sed -e 's,^Exec=.*,Exec=${bindir}/xinput_calibrator_once.sh,' ${S}/scripts/xinput_calibrator.desktop > ${D}${sysconfdir}/xdg/autostart/xinput_calibrator.desktop |
diff --git a/meta/recipes-graphics/xorg-lib/libxmu_1.2.0.bb b/meta/recipes-graphics/xorg-lib/libxmu_1.2.1.bb index d97bc7a3dd..51faf170bf 100644 --- a/meta/recipes-graphics/xorg-lib/libxmu_1.2.0.bb +++ b/meta/recipes-graphics/xorg-lib/libxmu_1.2.1.bb | |||
@@ -27,4 +27,4 @@ FILES:libxmuu = "${libdir}/libXmuu.so.*" | |||
27 | 27 | ||
28 | BBCLASSEXTEND = "native" | 28 | BBCLASSEXTEND = "native" |
29 | 29 | ||
30 | SRC_URI[sha256sum] = "072026fe305889538e5b0c5f9cbcd623d2c27d2b85dcd37ca369ab21590b6963" | 30 | SRC_URI[sha256sum] = "fcb27793248a39e5fcc5b9c4aec40cc0734b3ca76aac3d7d1c264e7f7e14e8b2" |
diff --git a/meta/recipes-graphics/xorg-proto/xcb-proto_1.16.0.bb b/meta/recipes-graphics/xorg-proto/xcb-proto_1.17.0.bb index 67c1e8d97d..2a78a87e77 100644 --- a/meta/recipes-graphics/xorg-proto/xcb-proto_1.16.0.bb +++ b/meta/recipes-graphics/xorg-proto/xcb-proto_1.17.0.bb | |||
@@ -15,7 +15,7 @@ SRC_URI = "https://xorg.freedesktop.org/archive/individual/proto/${BP}.tar.xz \ | |||
15 | file://0001-xcb-proto.pc.in-reinstate-libdir.patch \ | 15 | file://0001-xcb-proto.pc.in-reinstate-libdir.patch \ |
16 | file://0001-Fix-install-conflict-when-enable-multilib.patch \ | 16 | file://0001-Fix-install-conflict-when-enable-multilib.patch \ |
17 | " | 17 | " |
18 | SRC_URI[sha256sum] = "a75a1848ad2a89a82d841a51be56ce988ff3c63a8d6bf4383ae3219d8d915119" | 18 | SRC_URI[sha256sum] = "2c1bacd2110f4799f74de6ebb714b94cf6f80fb112316b1219480fd22562148c" |
19 | 19 | ||
20 | inherit autotools pkgconfig python3native | 20 | inherit autotools pkgconfig python3native |
21 | 21 | ||
diff --git a/meta/recipes-graphics/xorg-util/util-macros_1.20.0.bb b/meta/recipes-graphics/xorg-util/util-macros_1.20.1.bb index cd4bc387a2..8a0e7bec41 100644 --- a/meta/recipes-graphics/xorg-util/util-macros_1.20.0.bb +++ b/meta/recipes-graphics/xorg-util/util-macros_1.20.1.bb | |||
@@ -11,7 +11,7 @@ PE = "1" | |||
11 | 11 | ||
12 | SRC_URI += "file://0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch" | 12 | SRC_URI += "file://0001-xorg-macros.m4.in-do-not-run-AC_CANONICAL_HOST-in-ma.patch" |
13 | 13 | ||
14 | SRC_URI[sha256sum] = "8daf36913d551a90fd1013cb078401375dabae021cb4713b9b256a70f00eeb74" | 14 | SRC_URI[sha256sum] = "b373f72887b1394ce2193180a60cb0d1fb8b17bc96ddd770cfd7a808cb489a15" |
15 | 15 | ||
16 | # ${PN} is empty so we need to tweak -dev and -dbg package dependencies | 16 | # ${PN} is empty so we need to tweak -dev and -dbg package dependencies |
17 | DEV_PKG_DEPENDENCY = "" | 17 | DEV_PKG_DEPENDENCY = "" |
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb index 03f14cef2b..0972a5dd78 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bb | |||
@@ -6,7 +6,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
6 | 6 | ||
7 | SRC_URI = "file://xorg.conf" | 7 | SRC_URI = "file://xorg.conf" |
8 | 8 | ||
9 | S = "${WORKDIR}" | 9 | S = "${WORKDIR}/sources" |
10 | UNPACKDIR = "${S}" | ||
10 | 11 | ||
11 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" | 12 | CONFFILES:${PN} = "${sysconfdir}/X11/xorg.conf" |
12 | 13 | ||
@@ -14,8 +15,8 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" | |||
14 | ALLOW_EMPTY:${PN} = "1" | 15 | ALLOW_EMPTY:${PN} = "1" |
15 | 16 | ||
16 | do_install () { | 17 | do_install () { |
17 | if test -s ${WORKDIR}/xorg.conf; then | 18 | if test -s ${S}/xorg.conf; then |
18 | install -d ${D}/${sysconfdir}/X11 | 19 | install -d ${D}/${sysconfdir}/X11 |
19 | install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ | 20 | install -m 0644 ${S}/xorg.conf ${D}/${sysconfdir}/X11/ |
20 | fi | 21 | fi |
21 | } | 22 | } |
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.12.bb index 6506d775ca..570e08d5ae 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.11.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.12.bb | |||
@@ -3,7 +3,7 @@ require xserver-xorg.inc | |||
3 | SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ | 3 | SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ |
4 | file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ | 4 | file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ |
5 | " | 5 | " |
6 | SRC_URI[sha256sum] = "1d3dadbd57fb86b16a018e9f5f957aeeadf744f56c0553f55737628d06d326ef" | 6 | SRC_URI[sha256sum] = "1e016e2be1b5ccdd65eac3ea08e54bd13ce8f4f6c3fb32ad6fdac4e71729a90f" |
7 | 7 | ||
8 | # These extensions are now integrated into the server, so declare the migration | 8 | # These extensions are now integrated into the server, so declare the migration |
9 | # path for in-place upgrades. | 9 | # path for in-place upgrades. |
diff --git a/meta/recipes-graphics/xwayland/xwayland_23.2.5.bb b/meta/recipes-graphics/xwayland/xwayland_23.2.6.bb index b934a873d1..f51429bc8c 100644 --- a/meta/recipes-graphics/xwayland/xwayland_23.2.5.bb +++ b/meta/recipes-graphics/xwayland/xwayland_23.2.6.bb | |||
@@ -10,7 +10,7 @@ LICENSE = "MIT" | |||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" | 10 | LIC_FILES_CHKSUM = "file://COPYING;md5=5df87950af51ac2c5822094553ea1880" |
11 | 11 | ||
12 | SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz" | 12 | SRC_URI = "https://www.x.org/archive/individual/xserver/xwayland-${PV}.tar.xz" |
13 | SRC_URI[sha256sum] = "33ec7ff2687a59faaa52b9b09aa8caf118e7ecb6aed8953f526a625ff9f4bd90" | 13 | SRC_URI[sha256sum] = "1c9a366b4e7ccadba0f9bd313c59eae12d23bd72543b22a26eaf8b20835cfc6d" |
14 | 14 | ||
15 | UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar" | 15 | UPSTREAM_CHECK_REGEX = "xwayland-(?P<pver>\d+(\.(?!90\d)\d+)+)\.tar" |
16 | 16 | ||
@@ -20,10 +20,11 @@ REQUIRED_DISTRO_FEATURES = "x11 opengl" | |||
20 | DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt" | 20 | DEPENDS += "xorgproto xtrans pixman libxkbfile libxfont2 wayland wayland-native wayland-protocols libdrm libepoxy libxcvt" |
21 | 21 | ||
22 | OPENGL_PKGCONFIGS = "glx glamor dri3" | 22 | OPENGL_PKGCONFIGS = "glx glamor dri3" |
23 | PACKAGECONFIG ??= "${XORG_CRYPTO} \ | 23 | PACKAGECONFIG ??= "${XORG_CRYPTO} ${XWAYLAND_EI} \ |
24 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ | 24 | ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', '${OPENGL_PKGCONFIGS}', '', d)} \ |
25 | " | 25 | " |
26 | PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence" | 26 | PACKAGECONFIG[dri3] = "-Ddri3=true,-Ddri3=false,libxshmfence" |
27 | PACKAGECONFIG[libdecor] = "-Dlibdecor=true,-Dlibdecor=false,libdecor" | ||
27 | PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" | 28 | PACKAGECONFIG[glx] = "-Dglx=true,-Dglx=false,virtual/libgl virtual/libx11" |
28 | PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" | 29 | PACKAGECONFIG[glamor] = "-Dglamor=true,-Dglamor=false,libepoxy virtual/libgbm,libegl" |
29 | PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" | 30 | PACKAGECONFIG[unwind] = "-Dlibunwind=true,-Dlibunwind=false,libunwind" |
@@ -34,6 +35,10 @@ XORG_CRYPTO ??= "openssl" | |||
34 | PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" | 35 | PACKAGECONFIG[openssl] = "-Dsha1=libcrypto,,openssl" |
35 | PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" | 36 | PACKAGECONFIG[nettle] = "-Dsha1=libnettle,,nettle" |
36 | PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" | 37 | PACKAGECONFIG[gcrypt] = "-Dsha1=libgcrypt,,libgcrypt" |
38 | XWAYLAND_EI ??= "xwayland_ei_false" | ||
39 | PACKAGECONFIG[xwayland_ei_false] = "-Dxwayland_ei=false" | ||
40 | PACKAGECONFIG[xwayland_ei_portal] = "-Dxwayland_ei=portal,,libei" | ||
41 | PACKAGECONFIG[xwayland_ei_socket] = "-Dxwayland_ei=socket,,libei" | ||
37 | 42 | ||
38 | do_install:append() { | 43 | do_install:append() { |
39 | # remove files not needed and clashing with xserver-xorg | 44 | # remove files not needed and clashing with xserver-xorg |
diff --git a/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb b/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb index 974fcba876..a766b00bef 100644 --- a/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb +++ b/meta/recipes-kernel/dtc/python3-dtschema-wrapper_2021.10.bb | |||
@@ -7,11 +7,14 @@ SRC_URI = "file://dt-doc-validate \ | |||
7 | file://dt-mk-schema \ | 7 | file://dt-mk-schema \ |
8 | file://dt-validate" | 8 | file://dt-validate" |
9 | 9 | ||
10 | S = "${WORKDIR}/sources" | ||
11 | UNPACKDIR = "${S}" | ||
12 | |||
10 | do_install() { | 13 | do_install() { |
11 | install -d ${D}${bindir}/ | 14 | install -d ${D}${bindir}/ |
12 | install -m 755 ${WORKDIR}/dt-doc-validate ${D}${bindir}/ | 15 | install -m 755 ${UNPACKDIR}/dt-doc-validate ${D}${bindir}/ |
13 | install -m 755 ${WORKDIR}/dt-mk-schema ${D}${bindir}/ | 16 | install -m 755 ${UNPACKDIR}/dt-mk-schema ${D}${bindir}/ |
14 | install -m 755 ${WORKDIR}/dt-validate ${D}${bindir}/ | 17 | install -m 755 ${UNPACKDIR}/dt-validate ${D}${bindir}/ |
15 | } | 18 | } |
16 | 19 | ||
17 | BBCLASSEXTEND = "native nativesdk" | 20 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb b/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb index dec821ea88..c39fff834d 100644 --- a/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb +++ b/meta/recipes-kernel/kexec/kexec-tools_2.0.28.bb | |||
@@ -44,15 +44,15 @@ do_compile:prepend() { | |||
44 | 44 | ||
45 | do_install:append () { | 45 | do_install:append () { |
46 | install -d ${D}${sysconfdir}/sysconfig | 46 | install -d ${D}${sysconfdir}/sysconfig |
47 | install -m 0644 ${WORKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig | 47 | install -m 0644 ${UNPACKDIR}/kdump.conf ${D}${sysconfdir}/sysconfig |
48 | 48 | ||
49 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 49 | if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
50 | install -D -m 0755 ${WORKDIR}/kdump ${D}${sysconfdir}/init.d/kdump | 50 | install -D -m 0755 ${UNPACKDIR}/kdump ${D}${sysconfdir}/init.d/kdump |
51 | fi | 51 | fi |
52 | 52 | ||
53 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | 53 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then |
54 | install -D -m 0755 ${WORKDIR}/kdump ${D}${libexecdir}/kdump-helper | 54 | install -D -m 0755 ${UNPACKDIR}/kdump ${D}${libexecdir}/kdump-helper |
55 | install -D -m 0644 ${WORKDIR}/kdump.service ${D}${systemd_system_unitdir}/kdump.service | 55 | install -D -m 0644 ${UNPACKDIR}/kdump.service ${D}${systemd_system_unitdir}/kdump.service |
56 | sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/kdump.service | 56 | sed -i -e 's,@LIBEXECDIR@,${libexecdir},g' ${D}${systemd_system_unitdir}/kdump.service |
57 | fi | 57 | fi |
58 | } | 58 | } |
diff --git a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb index 6c0739d64f..29f34d7f36 100644 --- a/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb +++ b/meta/recipes-kernel/kmod/depmodwrapper-cross_1.0.bb | |||
@@ -1,7 +1,8 @@ | |||
1 | SUMMARY = "Wrapper script for the Linux kernel module dependency indexer" | 1 | SUMMARY = "Wrapper script for the Linux kernel module dependency indexer" |
2 | LICENSE = "MIT" | 2 | LICENSE = "MIT" |
3 | 3 | ||
4 | S = "${WORKDIR}" | 4 | S = "${WORKDIR}/sources" |
5 | UNPACKDIR = "${S}" | ||
5 | 6 | ||
6 | INHIBIT_DEFAULT_DEPS = "1" | 7 | INHIBIT_DEFAULT_DEPS = "1" |
7 | # The kernel and the staging dir for it is machine specific | 8 | # The kernel and the staging dir for it is machine specific |
diff --git a/meta/recipes-kernel/kmod/kmod_31.bb b/meta/recipes-kernel/kmod/kmod_31.bb index 6ae83a7c66..718a5565b4 100644 --- a/meta/recipes-kernel/kmod/kmod_31.bb +++ b/meta/recipes-kernel/kmod/kmod_31.bb | |||
@@ -63,7 +63,7 @@ do_install:append () { | |||
63 | install -dm755 ${D}${sysconfdir}/modprobe.d | 63 | install -dm755 ${D}${sysconfdir}/modprobe.d |
64 | 64 | ||
65 | # install depmod.d file for search/ dir | 65 | # install depmod.d file for search/ dir |
66 | install -Dm644 "${WORKDIR}/depmod-search.conf" "${D}${nonarch_base_libdir}/depmod.d/search.conf" | 66 | install -Dm644 "${UNPACKDIR}/depmod-search.conf" "${D}${nonarch_base_libdir}/depmod.d/search.conf" |
67 | 67 | ||
68 | # Add .debug to the exclude path for depmod | 68 | # Add .debug to the exclude path for depmod |
69 | echo "exclude .debug" > ${D}${nonarch_base_libdir}/depmod.d/exclude.conf | 69 | echo "exclude .debug" > ${D}${nonarch_base_libdir}/depmod.d/exclude.conf |
diff --git a/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch b/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch index 0c21b2347a..c723c236c0 100644 --- a/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch +++ b/meta/recipes-kernel/libtraceevent/libtraceevent/meson.patch | |||
@@ -6,7 +6,7 @@ Subject: [PATCH] Fixes for the Meson build of libtraceevent: | |||
6 | - Make the plugin directory the same as the Makefiles | 6 | - Make the plugin directory the same as the Makefiles |
7 | - Install the plugins as modules not static and versioned shared libraries | 7 | - Install the plugins as modules not static and versioned shared libraries |
8 | 8 | ||
9 | Upstream-Status: Pending | 9 | Upstream-Status: Submitted [https://lore.kernel.org/linux-trace-devel/20240311111140.1789879-1-alex@linutronix.de/T/#u] |
10 | Signed-off-by: Ross Burton <ross.burton@arm.com> | 10 | Signed-off-by: Ross Burton <ross.burton@arm.com> |
11 | --- | 11 | --- |
12 | meson.build | 2 +- | 12 | meson.build | 2 +- |
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb index ff79bb9b33..13538afede 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20240312.bb | |||
@@ -322,7 +322,7 @@ PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ | |||
322 | ${PN}-cnm-license ${PN}-cnm \ | 322 | ${PN}-cnm-license ${PN}-cnm \ |
323 | ${PN}-atheros-license ${PN}-ar5523 ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k ${PN}-ath3k \ | 323 | ${PN}-atheros-license ${PN}-ar5523 ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k ${PN}-ath3k \ |
324 | ${PN}-carl9170 \ | 324 | ${PN}-carl9170 \ |
325 | ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-qca \ | 325 | ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-ath12k ${PN}-qca \ |
326 | \ | 326 | \ |
327 | ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \ | 327 | ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \ |
328 | \ | 328 | \ |
@@ -343,6 +343,7 @@ PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \ | |||
343 | ${PN}-ibt-license ${PN}-ibt \ | 343 | ${PN}-ibt-license ${PN}-ibt \ |
344 | ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \ | 344 | ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \ |
345 | ${PN}-ibt-17 \ | 345 | ${PN}-ibt-17 \ |
346 | ${PN}-ibt-18 \ | ||
346 | ${PN}-ibt-20 \ | 347 | ${PN}-ibt-20 \ |
347 | ${PN}-ibt-misc \ | 348 | ${PN}-ibt-misc \ |
348 | ${PN}-i915-license ${PN}-i915 \ | 349 | ${PN}-i915-license ${PN}-i915 \ |
@@ -487,6 +488,10 @@ FILES:${PN}-ath11k = " \ | |||
487 | ${nonarch_base_libdir}/firmware/ath11k \ | 488 | ${nonarch_base_libdir}/firmware/ath11k \ |
488 | " | 489 | " |
489 | 490 | ||
491 | FILES:${PN}-ath12k = " \ | ||
492 | ${nonarch_base_libdir}/firmware/ath12k \ | ||
493 | " | ||
494 | |||
490 | FILES:${PN}-qca = " \ | 495 | FILES:${PN}-qca = " \ |
491 | ${nonarch_base_libdir}/firmware/qca \ | 496 | ${nonarch_base_libdir}/firmware/qca \ |
492 | " | 497 | " |
@@ -494,6 +499,7 @@ FILES:${PN}-qca = " \ | |||
494 | RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license" | 499 | RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license" |
495 | RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license" | 500 | RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license" |
496 | RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license" | 501 | RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license" |
502 | RDEPENDS:${PN}-ath12k += "${PN}-ath10k-license" | ||
497 | RDEPENDS:${PN}-qca += "${PN}-ath10k-license" | 503 | RDEPENDS:${PN}-qca += "${PN}-ath10k-license" |
498 | 504 | ||
499 | # For ralink | 505 | # For ralink |
@@ -1272,6 +1278,7 @@ LICENSE:${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware" | |||
1272 | LICENSE:${PN}-ibt-11-5 = "Firmware-ibt_firmware" | 1278 | LICENSE:${PN}-ibt-11-5 = "Firmware-ibt_firmware" |
1273 | LICENSE:${PN}-ibt-12-16 = "Firmware-ibt_firmware" | 1279 | LICENSE:${PN}-ibt-12-16 = "Firmware-ibt_firmware" |
1274 | LICENSE:${PN}-ibt-17 = "Firmware-ibt_firmware" | 1280 | LICENSE:${PN}-ibt-17 = "Firmware-ibt_firmware" |
1281 | LICENSE:${PN}-ibt-18 = "Firmware-ibt_firmware" | ||
1275 | LICENSE:${PN}-ibt-20 = "Firmware-ibt_firmware" | 1282 | LICENSE:${PN}-ibt-20 = "Firmware-ibt_firmware" |
1276 | LICENSE:${PN}-ibt-misc = "Firmware-ibt_firmware" | 1283 | LICENSE:${PN}-ibt-misc = "Firmware-ibt_firmware" |
1277 | 1284 | ||
@@ -1281,6 +1288,7 @@ FILES:${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bs | |||
1281 | FILES:${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc" | 1288 | FILES:${PN}-ibt-11-5 = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc" |
1282 | FILES:${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc" | 1289 | FILES:${PN}-ibt-12-16 = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc" |
1283 | FILES:${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc" | 1290 | FILES:${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc" |
1291 | FILES:${PN}-ibt-18 = "${nonarch_base_libdir}/firmware/intel/ibt-18-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-18-*.ddc" | ||
1284 | FILES:${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc" | 1292 | FILES:${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc" |
1285 | FILES:${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*" | 1293 | FILES:${PN}-ibt-misc = "${nonarch_base_libdir}/firmware/intel/ibt-*" |
1286 | 1294 | ||
@@ -1289,6 +1297,7 @@ RDEPENDS:${PN}-ibt-hw-37.8 = "${PN}-ibt-license" | |||
1289 | RDEPENDS:${PN}-ibt-11-5 = "${PN}-ibt-license" | 1297 | RDEPENDS:${PN}-ibt-11-5 = "${PN}-ibt-license" |
1290 | RDEPENDS:${PN}-ibt-12-16 = "${PN}-ibt-license" | 1298 | RDEPENDS:${PN}-ibt-12-16 = "${PN}-ibt-license" |
1291 | RDEPENDS:${PN}-ibt-17 = "${PN}-ibt-license" | 1299 | RDEPENDS:${PN}-ibt-17 = "${PN}-ibt-license" |
1300 | RDEPENDS:${PN}-ibt-18 = "${PN}-ibt-license" | ||
1292 | RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license" | 1301 | RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license" |
1293 | RDEPENDS:${PN}-ibt-misc = "${PN}-ibt-license" | 1302 | RDEPENDS:${PN}-ibt-misc = "${PN}-ibt-license" |
1294 | 1303 | ||
diff --git a/meta/recipes-kernel/linux/cve-exclusion_6.6.inc b/meta/recipes-kernel/linux/cve-exclusion_6.6.inc index bb9ba49c48..9f1f03ac53 100644 --- a/meta/recipes-kernel/linux/cve-exclusion_6.6.inc +++ b/meta/recipes-kernel/linux/cve-exclusion_6.6.inc | |||
@@ -1,9 +1,9 @@ | |||
1 | 1 | ||
2 | # Auto-generated CVE metadata, DO NOT EDIT BY HAND. | 2 | # Auto-generated CVE metadata, DO NOT EDIT BY HAND. |
3 | # Generated at 2024-03-28 16:40:04.102652+00:00 for version 6.6.23 | 3 | # Generated at 2024-05-02 12:41:43.351358+00:00 for version 6.6.29 |
4 | 4 | ||
5 | python check_kernel_cve_status_version() { | 5 | python check_kernel_cve_status_version() { |
6 | this_version = "6.6.23" | 6 | this_version = "6.6.29" |
7 | kernel_version = d.getVar("LINUX_VERSION") | 7 | kernel_version = d.getVar("LINUX_VERSION") |
8 | if kernel_version != this_version: | 8 | if kernel_version != this_version: |
9 | bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version)) | 9 | bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version)) |
@@ -2980,6 +2980,10 @@ CVE_STATUS[CVE-2019-25044] = "fixed-version: Fixed from version 5.2rc4" | |||
2980 | 2980 | ||
2981 | CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed from version 5.1" | 2981 | CVE_STATUS[CVE-2019-25045] = "fixed-version: Fixed from version 5.1" |
2982 | 2982 | ||
2983 | CVE_STATUS[CVE-2019-25160] = "fixed-version: Fixed from version 5.0" | ||
2984 | |||
2985 | CVE_STATUS[CVE-2019-25162] = "fixed-version: Fixed from version 6.0rc1" | ||
2986 | |||
2983 | CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed from version 5.6rc1" | 2987 | CVE_STATUS[CVE-2019-3016] = "fixed-version: Fixed from version 5.6rc1" |
2984 | 2988 | ||
2985 | CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed from version 5.1rc1" | 2989 | CVE_STATUS[CVE-2019-3459] = "fixed-version: Fixed from version 5.1rc1" |
@@ -3452,6 +3456,32 @@ CVE_STATUS[CVE-2020-36694] = "fixed-version: Fixed from version 5.10" | |||
3452 | 3456 | ||
3453 | CVE_STATUS[CVE-2020-36766] = "fixed-version: Fixed from version 5.9rc1" | 3457 | CVE_STATUS[CVE-2020-36766] = "fixed-version: Fixed from version 5.9rc1" |
3454 | 3458 | ||
3459 | CVE_STATUS[CVE-2020-36775] = "fixed-version: Fixed from version 5.7rc1" | ||
3460 | |||
3461 | CVE_STATUS[CVE-2020-36776] = "fixed-version: Fixed from version 5.13rc1" | ||
3462 | |||
3463 | CVE_STATUS[CVE-2020-36777] = "fixed-version: Fixed from version 5.13rc1" | ||
3464 | |||
3465 | CVE_STATUS[CVE-2020-36778] = "fixed-version: Fixed from version 5.13rc1" | ||
3466 | |||
3467 | CVE_STATUS[CVE-2020-36779] = "fixed-version: Fixed from version 5.13rc1" | ||
3468 | |||
3469 | CVE_STATUS[CVE-2020-36780] = "fixed-version: Fixed from version 5.13rc1" | ||
3470 | |||
3471 | CVE_STATUS[CVE-2020-36781] = "fixed-version: Fixed from version 5.13rc1" | ||
3472 | |||
3473 | CVE_STATUS[CVE-2020-36782] = "fixed-version: Fixed from version 5.13rc1" | ||
3474 | |||
3475 | CVE_STATUS[CVE-2020-36783] = "fixed-version: Fixed from version 5.13rc1" | ||
3476 | |||
3477 | CVE_STATUS[CVE-2020-36784] = "fixed-version: Fixed from version 5.13rc1" | ||
3478 | |||
3479 | CVE_STATUS[CVE-2020-36785] = "fixed-version: Fixed from version 5.13rc1" | ||
3480 | |||
3481 | CVE_STATUS[CVE-2020-36786] = "fixed-version: Fixed from version 5.13rc1" | ||
3482 | |||
3483 | CVE_STATUS[CVE-2020-36787] = "fixed-version: Fixed from version 5.13rc1" | ||
3484 | |||
3455 | CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed from version 5.12rc1" | 3485 | CVE_STATUS[CVE-2020-3702] = "fixed-version: Fixed from version 5.12rc1" |
3456 | 3486 | ||
3457 | CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed from version 5.10rc5" | 3487 | CVE_STATUS[CVE-2020-4788] = "fixed-version: Fixed from version 5.10rc5" |
@@ -3940,6 +3970,540 @@ CVE_STATUS[CVE-2021-45868] = "fixed-version: Fixed from version 5.16rc1" | |||
3940 | 3970 | ||
3941 | CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed from version 5.13rc7" | 3971 | CVE_STATUS[CVE-2021-46283] = "fixed-version: Fixed from version 5.13rc7" |
3942 | 3972 | ||
3973 | CVE_STATUS[CVE-2021-46904] = "fixed-version: Fixed from version 5.12rc7" | ||
3974 | |||
3975 | CVE_STATUS[CVE-2021-46905] = "fixed-version: Fixed from version 5.13rc1" | ||
3976 | |||
3977 | CVE_STATUS[CVE-2021-46906] = "fixed-version: Fixed from version 5.13rc5" | ||
3978 | |||
3979 | CVE_STATUS[CVE-2021-46908] = "fixed-version: Fixed from version 5.12rc8" | ||
3980 | |||
3981 | CVE_STATUS[CVE-2021-46909] = "fixed-version: Fixed from version 5.12rc8" | ||
3982 | |||
3983 | CVE_STATUS[CVE-2021-46910] = "fixed-version: Fixed from version 5.12rc8" | ||
3984 | |||
3985 | CVE_STATUS[CVE-2021-46911] = "fixed-version: Fixed from version 5.12rc8" | ||
3986 | |||
3987 | CVE_STATUS[CVE-2021-46912] = "fixed-version: Fixed from version 5.12rc8" | ||
3988 | |||
3989 | CVE_STATUS[CVE-2021-46913] = "fixed-version: Fixed from version 5.12rc8" | ||
3990 | |||
3991 | CVE_STATUS[CVE-2021-46914] = "fixed-version: Fixed from version 5.12rc8" | ||
3992 | |||
3993 | CVE_STATUS[CVE-2021-46915] = "fixed-version: Fixed from version 5.12rc8" | ||
3994 | |||
3995 | CVE_STATUS[CVE-2021-46916] = "fixed-version: Fixed from version 5.12rc8" | ||
3996 | |||
3997 | CVE_STATUS[CVE-2021-46917] = "fixed-version: Fixed from version 5.12rc8" | ||
3998 | |||
3999 | CVE_STATUS[CVE-2021-46918] = "fixed-version: Fixed from version 5.12rc8" | ||
4000 | |||
4001 | CVE_STATUS[CVE-2021-46919] = "fixed-version: Fixed from version 5.12rc8" | ||
4002 | |||
4003 | CVE_STATUS[CVE-2021-46920] = "fixed-version: Fixed from version 5.12rc8" | ||
4004 | |||
4005 | CVE_STATUS[CVE-2021-46921] = "fixed-version: Fixed from version 5.12" | ||
4006 | |||
4007 | CVE_STATUS[CVE-2021-46922] = "fixed-version: Fixed from version 5.12" | ||
4008 | |||
4009 | CVE_STATUS[CVE-2021-46923] = "fixed-version: Fixed from version 5.16rc8" | ||
4010 | |||
4011 | CVE_STATUS[CVE-2021-46924] = "fixed-version: Fixed from version 5.16rc8" | ||
4012 | |||
4013 | CVE_STATUS[CVE-2021-46925] = "fixed-version: Fixed from version 5.16rc8" | ||
4014 | |||
4015 | CVE_STATUS[CVE-2021-46926] = "fixed-version: Fixed from version 5.16rc7" | ||
4016 | |||
4017 | CVE_STATUS[CVE-2021-46927] = "fixed-version: Fixed from version 5.16rc8" | ||
4018 | |||
4019 | CVE_STATUS[CVE-2021-46928] = "fixed-version: Fixed from version 5.16rc7" | ||
4020 | |||
4021 | CVE_STATUS[CVE-2021-46929] = "fixed-version: Fixed from version 5.16rc8" | ||
4022 | |||
4023 | CVE_STATUS[CVE-2021-46930] = "fixed-version: Fixed from version 5.16rc8" | ||
4024 | |||
4025 | CVE_STATUS[CVE-2021-46931] = "fixed-version: Fixed from version 5.16rc8" | ||
4026 | |||
4027 | CVE_STATUS[CVE-2021-46932] = "fixed-version: Fixed from version 5.16rc8" | ||
4028 | |||
4029 | CVE_STATUS[CVE-2021-46933] = "fixed-version: Fixed from version 5.16rc8" | ||
4030 | |||
4031 | CVE_STATUS[CVE-2021-46934] = "fixed-version: Fixed from version 5.16rc8" | ||
4032 | |||
4033 | CVE_STATUS[CVE-2021-46935] = "fixed-version: Fixed from version 5.16rc8" | ||
4034 | |||
4035 | CVE_STATUS[CVE-2021-46936] = "fixed-version: Fixed from version 5.16rc8" | ||
4036 | |||
4037 | CVE_STATUS[CVE-2021-46937] = "fixed-version: Fixed from version 5.16rc8" | ||
4038 | |||
4039 | CVE_STATUS[CVE-2021-46938] = "fixed-version: Fixed from version 5.13rc1" | ||
4040 | |||
4041 | CVE_STATUS[CVE-2021-46939] = "fixed-version: Fixed from version 5.13rc1" | ||
4042 | |||
4043 | CVE_STATUS[CVE-2021-46940] = "fixed-version: Fixed from version 5.13rc1" | ||
4044 | |||
4045 | CVE_STATUS[CVE-2021-46941] = "fixed-version: Fixed from version 5.13rc1" | ||
4046 | |||
4047 | CVE_STATUS[CVE-2021-46942] = "fixed-version: Fixed from version 5.13rc1" | ||
4048 | |||
4049 | CVE_STATUS[CVE-2021-46943] = "fixed-version: Fixed from version 5.13rc1" | ||
4050 | |||
4051 | CVE_STATUS[CVE-2021-46944] = "fixed-version: Fixed from version 5.13rc1" | ||
4052 | |||
4053 | CVE_STATUS[CVE-2021-46945] = "fixed-version: Fixed from version 5.13rc1" | ||
4054 | |||
4055 | CVE_STATUS[CVE-2021-46947] = "fixed-version: Fixed from version 5.13rc1" | ||
4056 | |||
4057 | CVE_STATUS[CVE-2021-46948] = "fixed-version: Fixed from version 5.13rc1" | ||
4058 | |||
4059 | CVE_STATUS[CVE-2021-46949] = "fixed-version: Fixed from version 5.13rc1" | ||
4060 | |||
4061 | CVE_STATUS[CVE-2021-46950] = "fixed-version: Fixed from version 5.13rc1" | ||
4062 | |||
4063 | CVE_STATUS[CVE-2021-46951] = "fixed-version: Fixed from version 5.13rc1" | ||
4064 | |||
4065 | CVE_STATUS[CVE-2021-46952] = "fixed-version: Fixed from version 5.13rc1" | ||
4066 | |||
4067 | CVE_STATUS[CVE-2021-46953] = "fixed-version: Fixed from version 5.13rc1" | ||
4068 | |||
4069 | CVE_STATUS[CVE-2021-46954] = "fixed-version: Fixed from version 5.13rc1" | ||
4070 | |||
4071 | CVE_STATUS[CVE-2021-46955] = "fixed-version: Fixed from version 5.13rc1" | ||
4072 | |||
4073 | CVE_STATUS[CVE-2021-46956] = "fixed-version: Fixed from version 5.13rc1" | ||
4074 | |||
4075 | CVE_STATUS[CVE-2021-46957] = "fixed-version: Fixed from version 5.13rc1" | ||
4076 | |||
4077 | CVE_STATUS[CVE-2021-46958] = "fixed-version: Fixed from version 5.13rc1" | ||
4078 | |||
4079 | CVE_STATUS[CVE-2021-46959] = "fixed-version: Fixed from version 5.13rc1" | ||
4080 | |||
4081 | CVE_STATUS[CVE-2021-46960] = "fixed-version: Fixed from version 5.13rc1" | ||
4082 | |||
4083 | CVE_STATUS[CVE-2021-46961] = "fixed-version: Fixed from version 5.13rc1" | ||
4084 | |||
4085 | CVE_STATUS[CVE-2021-46962] = "fixed-version: Fixed from version 5.13rc1" | ||
4086 | |||
4087 | CVE_STATUS[CVE-2021-46963] = "fixed-version: Fixed from version 5.13rc1" | ||
4088 | |||
4089 | CVE_STATUS[CVE-2021-46964] = "fixed-version: Fixed from version 5.13rc1" | ||
4090 | |||
4091 | CVE_STATUS[CVE-2021-46965] = "fixed-version: Fixed from version 5.13rc1" | ||
4092 | |||
4093 | CVE_STATUS[CVE-2021-46966] = "fixed-version: Fixed from version 5.13rc1" | ||
4094 | |||
4095 | CVE_STATUS[CVE-2021-46967] = "fixed-version: Fixed from version 5.13rc1" | ||
4096 | |||
4097 | CVE_STATUS[CVE-2021-46968] = "fixed-version: Fixed from version 5.13rc1" | ||
4098 | |||
4099 | CVE_STATUS[CVE-2021-46969] = "fixed-version: Fixed from version 5.13rc1" | ||
4100 | |||
4101 | CVE_STATUS[CVE-2021-46970] = "fixed-version: Fixed from version 5.13rc1" | ||
4102 | |||
4103 | CVE_STATUS[CVE-2021-46971] = "fixed-version: Fixed from version 5.13rc1" | ||
4104 | |||
4105 | CVE_STATUS[CVE-2021-46972] = "fixed-version: Fixed from version 5.13rc1" | ||
4106 | |||
4107 | CVE_STATUS[CVE-2021-46973] = "fixed-version: Fixed from version 5.13rc1" | ||
4108 | |||
4109 | CVE_STATUS[CVE-2021-46974] = "fixed-version: Fixed from version 5.13rc1" | ||
4110 | |||
4111 | CVE_STATUS[CVE-2021-46976] = "fixed-version: Fixed from version 5.13rc2" | ||
4112 | |||
4113 | CVE_STATUS[CVE-2021-46977] = "fixed-version: Fixed from version 5.13rc2" | ||
4114 | |||
4115 | CVE_STATUS[CVE-2021-46978] = "fixed-version: Fixed from version 5.13rc2" | ||
4116 | |||
4117 | CVE_STATUS[CVE-2021-46979] = "fixed-version: Fixed from version 5.13rc2" | ||
4118 | |||
4119 | CVE_STATUS[CVE-2021-46980] = "fixed-version: Fixed from version 5.13rc2" | ||
4120 | |||
4121 | CVE_STATUS[CVE-2021-46981] = "fixed-version: Fixed from version 5.13rc2" | ||
4122 | |||
4123 | CVE_STATUS[CVE-2021-46982] = "fixed-version: Fixed from version 5.13rc2" | ||
4124 | |||
4125 | CVE_STATUS[CVE-2021-46983] = "fixed-version: Fixed from version 5.13rc2" | ||
4126 | |||
4127 | CVE_STATUS[CVE-2021-46984] = "fixed-version: Fixed from version 5.13rc2" | ||
4128 | |||
4129 | CVE_STATUS[CVE-2021-46985] = "fixed-version: Fixed from version 5.13rc2" | ||
4130 | |||
4131 | CVE_STATUS[CVE-2021-46986] = "fixed-version: Fixed from version 5.13rc2" | ||
4132 | |||
4133 | CVE_STATUS[CVE-2021-46987] = "fixed-version: Fixed from version 5.13rc2" | ||
4134 | |||
4135 | CVE_STATUS[CVE-2021-46988] = "fixed-version: Fixed from version 5.13rc2" | ||
4136 | |||
4137 | CVE_STATUS[CVE-2021-46989] = "fixed-version: Fixed from version 5.13rc2" | ||
4138 | |||
4139 | CVE_STATUS[CVE-2021-46990] = "fixed-version: Fixed from version 5.13rc2" | ||
4140 | |||
4141 | CVE_STATUS[CVE-2021-46991] = "fixed-version: Fixed from version 5.13rc1" | ||
4142 | |||
4143 | CVE_STATUS[CVE-2021-46992] = "fixed-version: Fixed from version 5.13rc1" | ||
4144 | |||
4145 | CVE_STATUS[CVE-2021-46993] = "fixed-version: Fixed from version 5.13rc1" | ||
4146 | |||
4147 | CVE_STATUS[CVE-2021-46994] = "fixed-version: Fixed from version 5.13rc1" | ||
4148 | |||
4149 | CVE_STATUS[CVE-2021-46995] = "fixed-version: Fixed from version 5.13rc1" | ||
4150 | |||
4151 | CVE_STATUS[CVE-2021-46996] = "fixed-version: Fixed from version 5.13rc1" | ||
4152 | |||
4153 | CVE_STATUS[CVE-2021-46997] = "fixed-version: Fixed from version 5.13rc1" | ||
4154 | |||
4155 | CVE_STATUS[CVE-2021-46998] = "fixed-version: Fixed from version 5.13rc1" | ||
4156 | |||
4157 | CVE_STATUS[CVE-2021-46999] = "fixed-version: Fixed from version 5.13rc1" | ||
4158 | |||
4159 | CVE_STATUS[CVE-2021-47000] = "fixed-version: Fixed from version 5.13rc1" | ||
4160 | |||
4161 | CVE_STATUS[CVE-2021-47001] = "fixed-version: Fixed from version 5.13rc1" | ||
4162 | |||
4163 | CVE_STATUS[CVE-2021-47002] = "fixed-version: Fixed from version 5.13rc1" | ||
4164 | |||
4165 | CVE_STATUS[CVE-2021-47003] = "fixed-version: Fixed from version 5.13rc1" | ||
4166 | |||
4167 | CVE_STATUS[CVE-2021-47004] = "fixed-version: Fixed from version 5.13rc1" | ||
4168 | |||
4169 | CVE_STATUS[CVE-2021-47005] = "fixed-version: Fixed from version 5.13rc1" | ||
4170 | |||
4171 | CVE_STATUS[CVE-2021-47006] = "fixed-version: Fixed from version 5.13rc1" | ||
4172 | |||
4173 | CVE_STATUS[CVE-2021-47007] = "fixed-version: Fixed from version 5.13rc1" | ||
4174 | |||
4175 | CVE_STATUS[CVE-2021-47008] = "fixed-version: Fixed from version 5.13rc1" | ||
4176 | |||
4177 | CVE_STATUS[CVE-2021-47009] = "fixed-version: Fixed from version 5.13rc2" | ||
4178 | |||
4179 | CVE_STATUS[CVE-2021-47010] = "fixed-version: Fixed from version 5.13rc1" | ||
4180 | |||
4181 | CVE_STATUS[CVE-2021-47011] = "fixed-version: Fixed from version 5.13rc1" | ||
4182 | |||
4183 | CVE_STATUS[CVE-2021-47012] = "fixed-version: Fixed from version 5.13rc1" | ||
4184 | |||
4185 | CVE_STATUS[CVE-2021-47013] = "fixed-version: Fixed from version 5.13rc1" | ||
4186 | |||
4187 | CVE_STATUS[CVE-2021-47014] = "fixed-version: Fixed from version 5.13rc1" | ||
4188 | |||
4189 | CVE_STATUS[CVE-2021-47015] = "fixed-version: Fixed from version 5.13rc1" | ||
4190 | |||
4191 | CVE_STATUS[CVE-2021-47016] = "fixed-version: Fixed from version 5.13rc1" | ||
4192 | |||
4193 | CVE_STATUS[CVE-2021-47017] = "fixed-version: Fixed from version 5.13rc1" | ||
4194 | |||
4195 | CVE_STATUS[CVE-2021-47018] = "fixed-version: Fixed from version 5.13rc1" | ||
4196 | |||
4197 | CVE_STATUS[CVE-2021-47019] = "fixed-version: Fixed from version 5.13rc1" | ||
4198 | |||
4199 | CVE_STATUS[CVE-2021-47020] = "fixed-version: Fixed from version 5.13rc1" | ||
4200 | |||
4201 | CVE_STATUS[CVE-2021-47021] = "fixed-version: Fixed from version 5.13rc1" | ||
4202 | |||
4203 | CVE_STATUS[CVE-2021-47022] = "fixed-version: Fixed from version 5.13rc1" | ||
4204 | |||
4205 | CVE_STATUS[CVE-2021-47023] = "fixed-version: Fixed from version 5.13rc1" | ||
4206 | |||
4207 | CVE_STATUS[CVE-2021-47024] = "fixed-version: Fixed from version 5.13rc1" | ||
4208 | |||
4209 | CVE_STATUS[CVE-2021-47025] = "fixed-version: Fixed from version 5.13rc1" | ||
4210 | |||
4211 | CVE_STATUS[CVE-2021-47026] = "fixed-version: Fixed from version 5.13rc1" | ||
4212 | |||
4213 | CVE_STATUS[CVE-2021-47027] = "fixed-version: Fixed from version 5.13rc1" | ||
4214 | |||
4215 | CVE_STATUS[CVE-2021-47028] = "fixed-version: Fixed from version 5.13rc1" | ||
4216 | |||
4217 | CVE_STATUS[CVE-2021-47029] = "fixed-version: Fixed from version 5.13rc1" | ||
4218 | |||
4219 | CVE_STATUS[CVE-2021-47030] = "fixed-version: Fixed from version 5.13rc1" | ||
4220 | |||
4221 | CVE_STATUS[CVE-2021-47031] = "fixed-version: Fixed from version 5.13rc1" | ||
4222 | |||
4223 | CVE_STATUS[CVE-2021-47032] = "fixed-version: Fixed from version 5.13rc1" | ||
4224 | |||
4225 | CVE_STATUS[CVE-2021-47033] = "fixed-version: Fixed from version 5.13rc1" | ||
4226 | |||
4227 | CVE_STATUS[CVE-2021-47034] = "fixed-version: Fixed from version 5.13rc1" | ||
4228 | |||
4229 | CVE_STATUS[CVE-2021-47035] = "fixed-version: Fixed from version 5.13rc1" | ||
4230 | |||
4231 | CVE_STATUS[CVE-2021-47036] = "fixed-version: Fixed from version 5.13rc1" | ||
4232 | |||
4233 | CVE_STATUS[CVE-2021-47037] = "fixed-version: Fixed from version 5.13rc1" | ||
4234 | |||
4235 | CVE_STATUS[CVE-2021-47038] = "fixed-version: Fixed from version 5.13rc1" | ||
4236 | |||
4237 | CVE_STATUS[CVE-2021-47039] = "fixed-version: Fixed from version 5.13rc1" | ||
4238 | |||
4239 | CVE_STATUS[CVE-2021-47040] = "fixed-version: Fixed from version 5.13rc1" | ||
4240 | |||
4241 | CVE_STATUS[CVE-2021-47041] = "fixed-version: Fixed from version 5.13rc1" | ||
4242 | |||
4243 | CVE_STATUS[CVE-2021-47042] = "fixed-version: Fixed from version 5.13rc1" | ||
4244 | |||
4245 | CVE_STATUS[CVE-2021-47043] = "fixed-version: Fixed from version 5.13rc1" | ||
4246 | |||
4247 | CVE_STATUS[CVE-2021-47044] = "fixed-version: Fixed from version 5.13rc1" | ||
4248 | |||
4249 | CVE_STATUS[CVE-2021-47045] = "fixed-version: Fixed from version 5.13rc1" | ||
4250 | |||
4251 | CVE_STATUS[CVE-2021-47046] = "fixed-version: Fixed from version 5.13rc1" | ||
4252 | |||
4253 | CVE_STATUS[CVE-2021-47047] = "fixed-version: Fixed from version 5.13rc1" | ||
4254 | |||
4255 | CVE_STATUS[CVE-2021-47048] = "fixed-version: Fixed from version 5.13rc1" | ||
4256 | |||
4257 | CVE_STATUS[CVE-2021-47049] = "fixed-version: Fixed from version 5.13rc1" | ||
4258 | |||
4259 | CVE_STATUS[CVE-2021-47050] = "fixed-version: Fixed from version 5.13rc1" | ||
4260 | |||
4261 | CVE_STATUS[CVE-2021-47051] = "fixed-version: Fixed from version 5.13rc1" | ||
4262 | |||
4263 | CVE_STATUS[CVE-2021-47052] = "fixed-version: Fixed from version 5.13rc1" | ||
4264 | |||
4265 | CVE_STATUS[CVE-2021-47053] = "fixed-version: Fixed from version 5.13rc1" | ||
4266 | |||
4267 | CVE_STATUS[CVE-2021-47054] = "fixed-version: Fixed from version 5.13rc1" | ||
4268 | |||
4269 | CVE_STATUS[CVE-2021-47055] = "fixed-version: Fixed from version 5.13rc1" | ||
4270 | |||
4271 | CVE_STATUS[CVE-2021-47056] = "fixed-version: Fixed from version 5.13rc1" | ||
4272 | |||
4273 | CVE_STATUS[CVE-2021-47057] = "fixed-version: Fixed from version 5.13rc1" | ||
4274 | |||
4275 | CVE_STATUS[CVE-2021-47058] = "fixed-version: Fixed from version 5.13rc1" | ||
4276 | |||
4277 | CVE_STATUS[CVE-2021-47059] = "fixed-version: Fixed from version 5.13rc1" | ||
4278 | |||
4279 | CVE_STATUS[CVE-2021-47060] = "fixed-version: Fixed from version 5.13rc1" | ||
4280 | |||
4281 | CVE_STATUS[CVE-2021-47061] = "fixed-version: Fixed from version 5.13rc1" | ||
4282 | |||
4283 | CVE_STATUS[CVE-2021-47062] = "fixed-version: Fixed from version 5.13rc1" | ||
4284 | |||
4285 | CVE_STATUS[CVE-2021-47063] = "fixed-version: Fixed from version 5.13rc1" | ||
4286 | |||
4287 | CVE_STATUS[CVE-2021-47064] = "fixed-version: Fixed from version 5.13rc1" | ||
4288 | |||
4289 | CVE_STATUS[CVE-2021-47065] = "fixed-version: Fixed from version 5.13rc1" | ||
4290 | |||
4291 | CVE_STATUS[CVE-2021-47066] = "fixed-version: Fixed from version 5.13rc1" | ||
4292 | |||
4293 | CVE_STATUS[CVE-2021-47067] = "fixed-version: Fixed from version 5.13rc1" | ||
4294 | |||
4295 | CVE_STATUS[CVE-2021-47068] = "fixed-version: Fixed from version 5.13rc1" | ||
4296 | |||
4297 | CVE_STATUS[CVE-2021-47069] = "fixed-version: Fixed from version 5.13rc3" | ||
4298 | |||
4299 | CVE_STATUS[CVE-2021-47070] = "fixed-version: Fixed from version 5.13rc3" | ||
4300 | |||
4301 | CVE_STATUS[CVE-2021-47071] = "fixed-version: Fixed from version 5.13rc3" | ||
4302 | |||
4303 | CVE_STATUS[CVE-2021-47072] = "fixed-version: Fixed from version 5.13rc3" | ||
4304 | |||
4305 | CVE_STATUS[CVE-2021-47073] = "fixed-version: Fixed from version 5.13rc3" | ||
4306 | |||
4307 | CVE_STATUS[CVE-2021-47074] = "fixed-version: Fixed from version 5.13rc3" | ||
4308 | |||
4309 | CVE_STATUS[CVE-2021-47075] = "fixed-version: Fixed from version 5.13rc3" | ||
4310 | |||
4311 | CVE_STATUS[CVE-2021-47076] = "fixed-version: Fixed from version 5.13rc3" | ||
4312 | |||
4313 | CVE_STATUS[CVE-2021-47077] = "fixed-version: Fixed from version 5.13rc3" | ||
4314 | |||
4315 | CVE_STATUS[CVE-2021-47078] = "fixed-version: Fixed from version 5.13rc3" | ||
4316 | |||
4317 | CVE_STATUS[CVE-2021-47079] = "fixed-version: Fixed from version 5.13rc3" | ||
4318 | |||
4319 | CVE_STATUS[CVE-2021-47080] = "fixed-version: Fixed from version 5.13rc3" | ||
4320 | |||
4321 | CVE_STATUS[CVE-2021-47081] = "fixed-version: Fixed from version 5.13rc3" | ||
4322 | |||
4323 | CVE_STATUS[CVE-2021-47082] = "fixed-version: Fixed from version 5.16rc7" | ||
4324 | |||
4325 | CVE_STATUS[CVE-2021-47083] = "fixed-version: Fixed from version 5.16rc7" | ||
4326 | |||
4327 | CVE_STATUS[CVE-2021-47086] = "fixed-version: Fixed from version 5.16rc7" | ||
4328 | |||
4329 | CVE_STATUS[CVE-2021-47087] = "fixed-version: Fixed from version 5.16rc7" | ||
4330 | |||
4331 | CVE_STATUS[CVE-2021-47088] = "fixed-version: Fixed from version 5.16rc7" | ||
4332 | |||
4333 | CVE_STATUS[CVE-2021-47089] = "fixed-version: Fixed from version 5.16rc7" | ||
4334 | |||
4335 | CVE_STATUS[CVE-2021-47090] = "fixed-version: Fixed from version 5.16rc7" | ||
4336 | |||
4337 | CVE_STATUS[CVE-2021-47091] = "fixed-version: Fixed from version 5.16rc7" | ||
4338 | |||
4339 | CVE_STATUS[CVE-2021-47092] = "fixed-version: Fixed from version 5.16rc7" | ||
4340 | |||
4341 | CVE_STATUS[CVE-2021-47093] = "fixed-version: Fixed from version 5.16rc7" | ||
4342 | |||
4343 | CVE_STATUS[CVE-2021-47094] = "fixed-version: Fixed from version 5.16rc7" | ||
4344 | |||
4345 | CVE_STATUS[CVE-2021-47095] = "fixed-version: Fixed from version 5.16rc7" | ||
4346 | |||
4347 | CVE_STATUS[CVE-2021-47096] = "fixed-version: Fixed from version 5.16rc7" | ||
4348 | |||
4349 | CVE_STATUS[CVE-2021-47097] = "fixed-version: Fixed from version 5.16rc7" | ||
4350 | |||
4351 | CVE_STATUS[CVE-2021-47098] = "fixed-version: Fixed from version 5.16rc7" | ||
4352 | |||
4353 | CVE_STATUS[CVE-2021-47099] = "fixed-version: Fixed from version 5.16rc7" | ||
4354 | |||
4355 | CVE_STATUS[CVE-2021-47100] = "fixed-version: Fixed from version 5.16rc7" | ||
4356 | |||
4357 | CVE_STATUS[CVE-2021-47101] = "fixed-version: Fixed from version 5.16rc7" | ||
4358 | |||
4359 | CVE_STATUS[CVE-2021-47102] = "fixed-version: Fixed from version 5.16rc7" | ||
4360 | |||
4361 | CVE_STATUS[CVE-2021-47103] = "fixed-version: Fixed from version 5.16rc7" | ||
4362 | |||
4363 | CVE_STATUS[CVE-2021-47104] = "fixed-version: Fixed from version 5.16rc7" | ||
4364 | |||
4365 | CVE_STATUS[CVE-2021-47105] = "fixed-version: Fixed from version 5.16rc7" | ||
4366 | |||
4367 | CVE_STATUS[CVE-2021-47106] = "fixed-version: Fixed from version 5.16rc7" | ||
4368 | |||
4369 | CVE_STATUS[CVE-2021-47107] = "fixed-version: Fixed from version 5.16rc7" | ||
4370 | |||
4371 | CVE_STATUS[CVE-2021-47108] = "fixed-version: Fixed from version 5.16rc7" | ||
4372 | |||
4373 | CVE_STATUS[CVE-2021-47109] = "fixed-version: Fixed from version 5.13rc7" | ||
4374 | |||
4375 | CVE_STATUS[CVE-2021-47110] = "fixed-version: Fixed from version 5.13rc2" | ||
4376 | |||
4377 | CVE_STATUS[CVE-2021-47111] = "fixed-version: Fixed from version 5.13rc6" | ||
4378 | |||
4379 | CVE_STATUS[CVE-2021-47112] = "fixed-version: Fixed from version 5.13rc2" | ||
4380 | |||
4381 | CVE_STATUS[CVE-2021-47113] = "fixed-version: Fixed from version 5.13rc5" | ||
4382 | |||
4383 | CVE_STATUS[CVE-2021-47114] = "fixed-version: Fixed from version 5.13rc5" | ||
4384 | |||
4385 | CVE_STATUS[CVE-2021-47116] = "fixed-version: Fixed from version 5.13rc5" | ||
4386 | |||
4387 | CVE_STATUS[CVE-2021-47117] = "fixed-version: Fixed from version 5.13rc5" | ||
4388 | |||
4389 | CVE_STATUS[CVE-2021-47118] = "fixed-version: Fixed from version 5.13rc5" | ||
4390 | |||
4391 | CVE_STATUS[CVE-2021-47119] = "fixed-version: Fixed from version 5.13rc5" | ||
4392 | |||
4393 | CVE_STATUS[CVE-2021-47120] = "fixed-version: Fixed from version 5.13rc5" | ||
4394 | |||
4395 | CVE_STATUS[CVE-2021-47121] = "fixed-version: Fixed from version 5.13rc5" | ||
4396 | |||
4397 | CVE_STATUS[CVE-2021-47122] = "fixed-version: Fixed from version 5.13rc5" | ||
4398 | |||
4399 | CVE_STATUS[CVE-2021-47123] = "fixed-version: Fixed from version 5.13rc2" | ||
4400 | |||
4401 | CVE_STATUS[CVE-2021-47124] = "fixed-version: Fixed from version 5.13rc2" | ||
4402 | |||
4403 | CVE_STATUS[CVE-2021-47125] = "fixed-version: Fixed from version 5.13rc5" | ||
4404 | |||
4405 | CVE_STATUS[CVE-2021-47126] = "fixed-version: Fixed from version 5.13rc5" | ||
4406 | |||
4407 | CVE_STATUS[CVE-2021-47127] = "fixed-version: Fixed from version 5.13rc5" | ||
4408 | |||
4409 | CVE_STATUS[CVE-2021-47128] = "fixed-version: Fixed from version 5.13rc5" | ||
4410 | |||
4411 | CVE_STATUS[CVE-2021-47129] = "fixed-version: Fixed from version 5.13rc5" | ||
4412 | |||
4413 | CVE_STATUS[CVE-2021-47130] = "fixed-version: Fixed from version 5.13rc5" | ||
4414 | |||
4415 | CVE_STATUS[CVE-2021-47131] = "fixed-version: Fixed from version 5.13rc5" | ||
4416 | |||
4417 | CVE_STATUS[CVE-2021-47132] = "fixed-version: Fixed from version 5.13rc5" | ||
4418 | |||
4419 | CVE_STATUS[CVE-2021-47133] = "fixed-version: Fixed from version 5.13rc5" | ||
4420 | |||
4421 | CVE_STATUS[CVE-2021-47134] = "fixed-version: Fixed from version 5.13rc5" | ||
4422 | |||
4423 | CVE_STATUS[CVE-2021-47135] = "fixed-version: Fixed from version 5.13rc5" | ||
4424 | |||
4425 | CVE_STATUS[CVE-2021-47136] = "fixed-version: Fixed from version 5.13rc4" | ||
4426 | |||
4427 | CVE_STATUS[CVE-2021-47137] = "fixed-version: Fixed from version 5.13rc4" | ||
4428 | |||
4429 | CVE_STATUS[CVE-2021-47138] = "fixed-version: Fixed from version 5.13rc4" | ||
4430 | |||
4431 | CVE_STATUS[CVE-2021-47139] = "fixed-version: Fixed from version 5.13rc4" | ||
4432 | |||
4433 | CVE_STATUS[CVE-2021-47140] = "fixed-version: Fixed from version 5.13rc4" | ||
4434 | |||
4435 | CVE_STATUS[CVE-2021-47141] = "fixed-version: Fixed from version 5.13rc4" | ||
4436 | |||
4437 | CVE_STATUS[CVE-2021-47142] = "fixed-version: Fixed from version 5.13rc3" | ||
4438 | |||
4439 | CVE_STATUS[CVE-2021-47143] = "fixed-version: Fixed from version 5.13rc4" | ||
4440 | |||
4441 | CVE_STATUS[CVE-2021-47144] = "fixed-version: Fixed from version 5.13rc3" | ||
4442 | |||
4443 | CVE_STATUS[CVE-2021-47145] = "fixed-version: Fixed from version 5.13rc3" | ||
4444 | |||
4445 | CVE_STATUS[CVE-2021-47146] = "fixed-version: Fixed from version 5.13rc4" | ||
4446 | |||
4447 | CVE_STATUS[CVE-2021-47147] = "fixed-version: Fixed from version 5.13rc4" | ||
4448 | |||
4449 | CVE_STATUS[CVE-2021-47148] = "fixed-version: Fixed from version 5.13rc4" | ||
4450 | |||
4451 | CVE_STATUS[CVE-2021-47149] = "fixed-version: Fixed from version 5.13rc3" | ||
4452 | |||
4453 | CVE_STATUS[CVE-2021-47150] = "fixed-version: Fixed from version 5.13rc4" | ||
4454 | |||
4455 | CVE_STATUS[CVE-2021-47151] = "fixed-version: Fixed from version 5.13rc4" | ||
4456 | |||
4457 | CVE_STATUS[CVE-2021-47152] = "fixed-version: Fixed from version 5.13rc4" | ||
4458 | |||
4459 | CVE_STATUS[CVE-2021-47153] = "fixed-version: Fixed from version 5.13rc4" | ||
4460 | |||
4461 | CVE_STATUS[CVE-2021-47158] = "fixed-version: Fixed from version 5.13rc4" | ||
4462 | |||
4463 | CVE_STATUS[CVE-2021-47159] = "fixed-version: Fixed from version 5.13rc4" | ||
4464 | |||
4465 | CVE_STATUS[CVE-2021-47160] = "fixed-version: Fixed from version 5.13rc4" | ||
4466 | |||
4467 | CVE_STATUS[CVE-2021-47161] = "fixed-version: Fixed from version 5.13rc4" | ||
4468 | |||
4469 | CVE_STATUS[CVE-2021-47162] = "fixed-version: Fixed from version 5.13rc4" | ||
4470 | |||
4471 | CVE_STATUS[CVE-2021-47163] = "fixed-version: Fixed from version 5.13rc4" | ||
4472 | |||
4473 | CVE_STATUS[CVE-2021-47164] = "fixed-version: Fixed from version 5.13rc4" | ||
4474 | |||
4475 | CVE_STATUS[CVE-2021-47165] = "fixed-version: Fixed from version 5.13rc4" | ||
4476 | |||
4477 | CVE_STATUS[CVE-2021-47166] = "fixed-version: Fixed from version 5.13rc4" | ||
4478 | |||
4479 | CVE_STATUS[CVE-2021-47167] = "fixed-version: Fixed from version 5.13rc4" | ||
4480 | |||
4481 | CVE_STATUS[CVE-2021-47168] = "fixed-version: Fixed from version 5.13rc4" | ||
4482 | |||
4483 | CVE_STATUS[CVE-2021-47169] = "fixed-version: Fixed from version 5.13rc4" | ||
4484 | |||
4485 | CVE_STATUS[CVE-2021-47170] = "fixed-version: Fixed from version 5.13rc4" | ||
4486 | |||
4487 | CVE_STATUS[CVE-2021-47171] = "fixed-version: Fixed from version 5.13rc4" | ||
4488 | |||
4489 | CVE_STATUS[CVE-2021-47172] = "fixed-version: Fixed from version 5.13rc4" | ||
4490 | |||
4491 | CVE_STATUS[CVE-2021-47173] = "fixed-version: Fixed from version 5.13rc4" | ||
4492 | |||
4493 | CVE_STATUS[CVE-2021-47174] = "fixed-version: Fixed from version 5.13rc4" | ||
4494 | |||
4495 | CVE_STATUS[CVE-2021-47175] = "fixed-version: Fixed from version 5.13rc4" | ||
4496 | |||
4497 | CVE_STATUS[CVE-2021-47176] = "fixed-version: Fixed from version 5.13rc4" | ||
4498 | |||
4499 | CVE_STATUS[CVE-2021-47177] = "fixed-version: Fixed from version 5.13rc4" | ||
4500 | |||
4501 | CVE_STATUS[CVE-2021-47178] = "fixed-version: Fixed from version 5.13rc4" | ||
4502 | |||
4503 | CVE_STATUS[CVE-2021-47179] = "fixed-version: Fixed from version 5.13rc4" | ||
4504 | |||
4505 | CVE_STATUS[CVE-2021-47180] = "fixed-version: Fixed from version 5.13rc4" | ||
4506 | |||
3943 | CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed from version 5.17rc8" | 4507 | CVE_STATUS[CVE-2022-0001] = "fixed-version: Fixed from version 5.17rc8" |
3944 | 4508 | ||
3945 | CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed from version 5.17rc8" | 4509 | CVE_STATUS[CVE-2022-0002] = "fixed-version: Fixed from version 5.17rc8" |
@@ -4590,6 +5154,16 @@ CVE_STATUS[CVE-2022-48502] = "fixed-version: Fixed from version 6.2rc1" | |||
4590 | 5154 | ||
4591 | CVE_STATUS[CVE-2022-48619] = "fixed-version: Fixed from version 5.18rc1" | 5155 | CVE_STATUS[CVE-2022-48619] = "fixed-version: Fixed from version 5.18rc1" |
4592 | 5156 | ||
5157 | CVE_STATUS[CVE-2022-48626] = "fixed-version: Fixed from version 5.17rc4" | ||
5158 | |||
5159 | CVE_STATUS[CVE-2022-48627] = "fixed-version: Fixed from version 5.19rc7" | ||
5160 | |||
5161 | CVE_STATUS[CVE-2022-48628] = "fixed-version: Fixed from version 6.6rc1" | ||
5162 | |||
5163 | CVE_STATUS[CVE-2022-48629] = "fixed-version: Fixed from version 5.17" | ||
5164 | |||
5165 | CVE_STATUS[CVE-2022-48630] = "fixed-version: Fixed from version 5.18" | ||
5166 | |||
4593 | CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed from version 5.0rc1" | 5167 | CVE_STATUS[CVE-2023-0030] = "fixed-version: Fixed from version 5.0rc1" |
4594 | 5168 | ||
4595 | CVE_STATUS[CVE-2023-0045] = "fixed-version: Fixed from version 6.2rc3" | 5169 | CVE_STATUS[CVE-2023-0045] = "fixed-version: Fixed from version 6.2rc3" |
@@ -4834,6 +5408,8 @@ CVE_STATUS[CVE-2023-28466] = "fixed-version: Fixed from version 6.3rc2" | |||
4834 | 5408 | ||
4835 | CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed from version 6.0rc5" | 5409 | CVE_STATUS[CVE-2023-2860] = "fixed-version: Fixed from version 6.0rc5" |
4836 | 5410 | ||
5411 | CVE_STATUS[CVE-2023-28746] = "cpe-stable-backport: Backported in 6.6.22" | ||
5412 | |||
4837 | CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed from version 5.14rc1" | 5413 | CVE_STATUS[CVE-2023-28772] = "fixed-version: Fixed from version 5.14rc1" |
4838 | 5414 | ||
4839 | CVE_STATUS[CVE-2023-28866] = "fixed-version: Fixed from version 6.3rc4" | 5415 | CVE_STATUS[CVE-2023-28866] = "fixed-version: Fixed from version 6.3rc4" |
@@ -5112,7 +5688,7 @@ CVE_STATUS[CVE-2023-46838] = "cpe-stable-backport: Backported in 6.6.14" | |||
5112 | 5688 | ||
5113 | CVE_STATUS[CVE-2023-46862] = "fixed-version: Fixed from version 6.6" | 5689 | CVE_STATUS[CVE-2023-46862] = "fixed-version: Fixed from version 6.6" |
5114 | 5690 | ||
5115 | # CVE-2023-47233 has no known resolution | 5691 | CVE_STATUS[CVE-2023-47233] = "cpe-stable-backport: Backported in 6.6.24" |
5116 | 5692 | ||
5117 | CVE_STATUS[CVE-2023-4732] = "fixed-version: Fixed from version 5.14rc1" | 5693 | CVE_STATUS[CVE-2023-4732] = "fixed-version: Fixed from version 5.14rc1" |
5118 | 5694 | ||
@@ -5208,6 +5784,294 @@ CVE_STATUS[CVE-2023-52463] = "cpe-stable-backport: Backported in 6.6.14" | |||
5208 | 5784 | ||
5209 | CVE_STATUS[CVE-2023-52464] = "cpe-stable-backport: Backported in 6.6.14" | 5785 | CVE_STATUS[CVE-2023-52464] = "cpe-stable-backport: Backported in 6.6.14" |
5210 | 5786 | ||
5787 | CVE_STATUS[CVE-2023-52465] = "cpe-stable-backport: Backported in 6.6.14" | ||
5788 | |||
5789 | CVE_STATUS[CVE-2023-52467] = "cpe-stable-backport: Backported in 6.6.14" | ||
5790 | |||
5791 | CVE_STATUS[CVE-2023-52468] = "cpe-stable-backport: Backported in 6.6.14" | ||
5792 | |||
5793 | CVE_STATUS[CVE-2023-52469] = "cpe-stable-backport: Backported in 6.6.14" | ||
5794 | |||
5795 | CVE_STATUS[CVE-2023-52470] = "cpe-stable-backport: Backported in 6.6.14" | ||
5796 | |||
5797 | CVE_STATUS[CVE-2023-52471] = "fixed-version: only affects 6.7rc1 onwards" | ||
5798 | |||
5799 | CVE_STATUS[CVE-2023-52472] = "cpe-stable-backport: Backported in 6.6.14" | ||
5800 | |||
5801 | CVE_STATUS[CVE-2023-52473] = "cpe-stable-backport: Backported in 6.6.14" | ||
5802 | |||
5803 | CVE_STATUS[CVE-2023-52474] = "fixed-version: Fixed from version 6.4rc1" | ||
5804 | |||
5805 | CVE_STATUS[CVE-2023-52475] = "fixed-version: Fixed from version 6.6rc6" | ||
5806 | |||
5807 | CVE_STATUS[CVE-2023-52476] = "fixed-version: Fixed from version 6.6rc6" | ||
5808 | |||
5809 | CVE_STATUS[CVE-2023-52477] = "fixed-version: Fixed from version 6.6rc6" | ||
5810 | |||
5811 | CVE_STATUS[CVE-2023-52478] = "fixed-version: Fixed from version 6.6rc6" | ||
5812 | |||
5813 | CVE_STATUS[CVE-2023-52479] = "fixed-version: Fixed from version 6.6rc5" | ||
5814 | |||
5815 | CVE_STATUS[CVE-2023-52480] = "fixed-version: Fixed from version 6.6rc5" | ||
5816 | |||
5817 | CVE_STATUS[CVE-2023-52481] = "fixed-version: Fixed from version 6.6rc5" | ||
5818 | |||
5819 | CVE_STATUS[CVE-2023-52482] = "fixed-version: Fixed from version 6.6rc4" | ||
5820 | |||
5821 | CVE_STATUS[CVE-2023-52483] = "fixed-version: Fixed from version 6.6rc6" | ||
5822 | |||
5823 | CVE_STATUS[CVE-2023-52484] = "fixed-version: Fixed from version 6.6rc5" | ||
5824 | |||
5825 | # CVE-2023-52485 needs backporting (fixed from 6.8rc1) | ||
5826 | |||
5827 | CVE_STATUS[CVE-2023-52486] = "cpe-stable-backport: Backported in 6.6.15" | ||
5828 | |||
5829 | CVE_STATUS[CVE-2023-52487] = "cpe-stable-backport: Backported in 6.6.15" | ||
5830 | |||
5831 | CVE_STATUS[CVE-2023-52488] = "cpe-stable-backport: Backported in 6.6.15" | ||
5832 | |||
5833 | CVE_STATUS[CVE-2023-52489] = "cpe-stable-backport: Backported in 6.6.15" | ||
5834 | |||
5835 | CVE_STATUS[CVE-2023-52490] = "cpe-stable-backport: Backported in 6.6.15" | ||
5836 | |||
5837 | CVE_STATUS[CVE-2023-52491] = "cpe-stable-backport: Backported in 6.6.15" | ||
5838 | |||
5839 | CVE_STATUS[CVE-2023-52492] = "cpe-stable-backport: Backported in 6.6.15" | ||
5840 | |||
5841 | CVE_STATUS[CVE-2023-52493] = "cpe-stable-backport: Backported in 6.6.15" | ||
5842 | |||
5843 | CVE_STATUS[CVE-2023-52494] = "cpe-stable-backport: Backported in 6.6.15" | ||
5844 | |||
5845 | CVE_STATUS[CVE-2023-52495] = "cpe-stable-backport: Backported in 6.6.15" | ||
5846 | |||
5847 | CVE_STATUS[CVE-2023-52497] = "cpe-stable-backport: Backported in 6.6.15" | ||
5848 | |||
5849 | CVE_STATUS[CVE-2023-52498] = "cpe-stable-backport: Backported in 6.6.15" | ||
5850 | |||
5851 | CVE_STATUS[CVE-2023-52499] = "fixed-version: Fixed from version 6.6rc6" | ||
5852 | |||
5853 | CVE_STATUS[CVE-2023-52500] = "fixed-version: Fixed from version 6.6rc2" | ||
5854 | |||
5855 | CVE_STATUS[CVE-2023-52501] = "fixed-version: Fixed from version 6.6rc2" | ||
5856 | |||
5857 | CVE_STATUS[CVE-2023-52502] = "fixed-version: Fixed from version 6.6rc6" | ||
5858 | |||
5859 | CVE_STATUS[CVE-2023-52503] = "fixed-version: Fixed from version 6.6rc6" | ||
5860 | |||
5861 | CVE_STATUS[CVE-2023-52504] = "fixed-version: Fixed from version 6.6rc6" | ||
5862 | |||
5863 | CVE_STATUS[CVE-2023-52505] = "fixed-version: Fixed from version 6.6rc6" | ||
5864 | |||
5865 | CVE_STATUS[CVE-2023-52506] = "fixed-version: Fixed from version 6.6rc3" | ||
5866 | |||
5867 | CVE_STATUS[CVE-2023-52507] = "fixed-version: Fixed from version 6.6rc6" | ||
5868 | |||
5869 | CVE_STATUS[CVE-2023-52508] = "fixed-version: Fixed from version 6.6rc2" | ||
5870 | |||
5871 | CVE_STATUS[CVE-2023-52509] = "fixed-version: Fixed from version 6.6rc6" | ||
5872 | |||
5873 | CVE_STATUS[CVE-2023-52510] = "fixed-version: Fixed from version 6.6rc6" | ||
5874 | |||
5875 | CVE_STATUS[CVE-2023-52511] = "fixed-version: Fixed from version 6.6rc1" | ||
5876 | |||
5877 | CVE_STATUS[CVE-2023-52512] = "fixed-version: Fixed from version 6.6rc6" | ||
5878 | |||
5879 | CVE_STATUS[CVE-2023-52513] = "fixed-version: Fixed from version 6.6rc5" | ||
5880 | |||
5881 | CVE_STATUS[CVE-2023-52515] = "fixed-version: Fixed from version 6.6rc5" | ||
5882 | |||
5883 | CVE_STATUS[CVE-2023-52516] = "fixed-version: Fixed from version 6.6rc1" | ||
5884 | |||
5885 | CVE_STATUS[CVE-2023-52517] = "fixed-version: Fixed from version 6.6rc1" | ||
5886 | |||
5887 | CVE_STATUS[CVE-2023-52518] = "fixed-version: Fixed from version 6.6rc5" | ||
5888 | |||
5889 | CVE_STATUS[CVE-2023-52519] = "fixed-version: Fixed from version 6.6rc5" | ||
5890 | |||
5891 | CVE_STATUS[CVE-2023-52520] = "fixed-version: Fixed from version 6.6rc5" | ||
5892 | |||
5893 | CVE_STATUS[CVE-2023-52522] = "fixed-version: Fixed from version 6.6rc5" | ||
5894 | |||
5895 | CVE_STATUS[CVE-2023-52523] = "fixed-version: Fixed from version 6.6rc5" | ||
5896 | |||
5897 | CVE_STATUS[CVE-2023-52524] = "fixed-version: Fixed from version 6.6rc5" | ||
5898 | |||
5899 | CVE_STATUS[CVE-2023-52525] = "fixed-version: Fixed from version 6.6rc5" | ||
5900 | |||
5901 | CVE_STATUS[CVE-2023-52526] = "fixed-version: Fixed from version 6.6rc5" | ||
5902 | |||
5903 | CVE_STATUS[CVE-2023-52527] = "fixed-version: Fixed from version 6.6rc5" | ||
5904 | |||
5905 | CVE_STATUS[CVE-2023-52528] = "fixed-version: Fixed from version 6.6rc5" | ||
5906 | |||
5907 | CVE_STATUS[CVE-2023-52529] = "fixed-version: Fixed from version 6.6rc5" | ||
5908 | |||
5909 | CVE_STATUS[CVE-2023-52530] = "fixed-version: Fixed from version 6.6rc5" | ||
5910 | |||
5911 | CVE_STATUS[CVE-2023-52531] = "fixed-version: Fixed from version 6.6rc5" | ||
5912 | |||
5913 | CVE_STATUS[CVE-2023-52532] = "fixed-version: Fixed from version 6.6rc5" | ||
5914 | |||
5915 | CVE_STATUS[CVE-2023-52559] = "fixed-version: Fixed from version 6.6rc5" | ||
5916 | |||
5917 | CVE_STATUS[CVE-2023-52560] = "fixed-version: Fixed from version 6.6rc4" | ||
5918 | |||
5919 | CVE_STATUS[CVE-2023-52561] = "fixed-version: Fixed from version 6.6rc1" | ||
5920 | |||
5921 | CVE_STATUS[CVE-2023-52562] = "fixed-version: Fixed from version 6.6rc4" | ||
5922 | |||
5923 | CVE_STATUS[CVE-2023-52563] = "fixed-version: Fixed from version 6.6rc3" | ||
5924 | |||
5925 | CVE_STATUS[CVE-2023-52564] = "fixed-version: Fixed from version 6.6rc4" | ||
5926 | |||
5927 | CVE_STATUS[CVE-2023-52565] = "fixed-version: Fixed from version 6.6rc3" | ||
5928 | |||
5929 | CVE_STATUS[CVE-2023-52566] = "fixed-version: Fixed from version 6.6rc4" | ||
5930 | |||
5931 | CVE_STATUS[CVE-2023-52567] = "fixed-version: Fixed from version 6.6rc4" | ||
5932 | |||
5933 | CVE_STATUS[CVE-2023-52568] = "fixed-version: Fixed from version 6.6rc4" | ||
5934 | |||
5935 | CVE_STATUS[CVE-2023-52569] = "fixed-version: Fixed from version 6.6rc2" | ||
5936 | |||
5937 | CVE_STATUS[CVE-2023-52570] = "fixed-version: Fixed from version 6.6rc4" | ||
5938 | |||
5939 | CVE_STATUS[CVE-2023-52571] = "fixed-version: Fixed from version 6.6rc4" | ||
5940 | |||
5941 | CVE_STATUS[CVE-2023-52572] = "fixed-version: Fixed from version 6.6rc3" | ||
5942 | |||
5943 | CVE_STATUS[CVE-2023-52573] = "fixed-version: Fixed from version 6.6rc3" | ||
5944 | |||
5945 | CVE_STATUS[CVE-2023-52574] = "fixed-version: Fixed from version 6.6rc3" | ||
5946 | |||
5947 | CVE_STATUS[CVE-2023-52575] = "fixed-version: Fixed from version 6.6rc3" | ||
5948 | |||
5949 | CVE_STATUS[CVE-2023-52576] = "fixed-version: Fixed from version 6.6rc3" | ||
5950 | |||
5951 | CVE_STATUS[CVE-2023-52577] = "fixed-version: Fixed from version 6.6rc3" | ||
5952 | |||
5953 | CVE_STATUS[CVE-2023-52578] = "fixed-version: Fixed from version 6.6rc3" | ||
5954 | |||
5955 | CVE_STATUS[CVE-2023-52580] = "fixed-version: Fixed from version 6.6rc3" | ||
5956 | |||
5957 | CVE_STATUS[CVE-2023-52581] = "fixed-version: Fixed from version 6.6rc3" | ||
5958 | |||
5959 | CVE_STATUS[CVE-2023-52582] = "fixed-version: Fixed from version 6.6rc3" | ||
5960 | |||
5961 | CVE_STATUS[CVE-2023-52583] = "cpe-stable-backport: Backported in 6.6.16" | ||
5962 | |||
5963 | CVE_STATUS[CVE-2023-52584] = "cpe-stable-backport: Backported in 6.6.16" | ||
5964 | |||
5965 | # CVE-2023-52585 needs backporting (fixed from 6.8rc1) | ||
5966 | |||
5967 | # CVE-2023-52586 needs backporting (fixed from 6.8rc1) | ||
5968 | |||
5969 | CVE_STATUS[CVE-2023-52587] = "cpe-stable-backport: Backported in 6.6.16" | ||
5970 | |||
5971 | CVE_STATUS[CVE-2023-52588] = "cpe-stable-backport: Backported in 6.6.16" | ||
5972 | |||
5973 | CVE_STATUS[CVE-2023-52589] = "cpe-stable-backport: Backported in 6.6.16" | ||
5974 | |||
5975 | # CVE-2023-52590 needs backporting (fixed from 6.8rc1) | ||
5976 | |||
5977 | CVE_STATUS[CVE-2023-52591] = "cpe-stable-backport: Backported in 6.6.16" | ||
5978 | |||
5979 | CVE_STATUS[CVE-2023-52593] = "cpe-stable-backport: Backported in 6.6.16" | ||
5980 | |||
5981 | CVE_STATUS[CVE-2023-52594] = "cpe-stable-backport: Backported in 6.6.16" | ||
5982 | |||
5983 | CVE_STATUS[CVE-2023-52595] = "cpe-stable-backport: Backported in 6.6.16" | ||
5984 | |||
5985 | CVE_STATUS[CVE-2023-52596] = "cpe-stable-backport: Backported in 6.6.16" | ||
5986 | |||
5987 | CVE_STATUS[CVE-2023-52597] = "cpe-stable-backport: Backported in 6.6.16" | ||
5988 | |||
5989 | CVE_STATUS[CVE-2023-52598] = "cpe-stable-backport: Backported in 6.6.16" | ||
5990 | |||
5991 | CVE_STATUS[CVE-2023-52599] = "cpe-stable-backport: Backported in 6.6.16" | ||
5992 | |||
5993 | CVE_STATUS[CVE-2023-52600] = "cpe-stable-backport: Backported in 6.6.16" | ||
5994 | |||
5995 | CVE_STATUS[CVE-2023-52601] = "cpe-stable-backport: Backported in 6.6.16" | ||
5996 | |||
5997 | CVE_STATUS[CVE-2023-52602] = "cpe-stable-backport: Backported in 6.6.16" | ||
5998 | |||
5999 | CVE_STATUS[CVE-2023-52603] = "cpe-stable-backport: Backported in 6.6.16" | ||
6000 | |||
6001 | CVE_STATUS[CVE-2023-52604] = "cpe-stable-backport: Backported in 6.6.16" | ||
6002 | |||
6003 | CVE_STATUS[CVE-2023-52606] = "cpe-stable-backport: Backported in 6.6.16" | ||
6004 | |||
6005 | CVE_STATUS[CVE-2023-52607] = "cpe-stable-backport: Backported in 6.6.16" | ||
6006 | |||
6007 | CVE_STATUS[CVE-2023-52608] = "cpe-stable-backport: Backported in 6.6.15" | ||
6008 | |||
6009 | CVE_STATUS[CVE-2023-52609] = "cpe-stable-backport: Backported in 6.6.14" | ||
6010 | |||
6011 | CVE_STATUS[CVE-2023-52610] = "cpe-stable-backport: Backported in 6.6.14" | ||
6012 | |||
6013 | CVE_STATUS[CVE-2023-52611] = "cpe-stable-backport: Backported in 6.6.14" | ||
6014 | |||
6015 | CVE_STATUS[CVE-2023-52612] = "cpe-stable-backport: Backported in 6.6.14" | ||
6016 | |||
6017 | CVE_STATUS[CVE-2023-52613] = "cpe-stable-backport: Backported in 6.6.14" | ||
6018 | |||
6019 | CVE_STATUS[CVE-2023-52614] = "cpe-stable-backport: Backported in 6.6.15" | ||
6020 | |||
6021 | CVE_STATUS[CVE-2023-52615] = "cpe-stable-backport: Backported in 6.6.15" | ||
6022 | |||
6023 | CVE_STATUS[CVE-2023-52616] = "cpe-stable-backport: Backported in 6.6.15" | ||
6024 | |||
6025 | CVE_STATUS[CVE-2023-52617] = "cpe-stable-backport: Backported in 6.6.16" | ||
6026 | |||
6027 | CVE_STATUS[CVE-2023-52618] = "cpe-stable-backport: Backported in 6.6.16" | ||
6028 | |||
6029 | CVE_STATUS[CVE-2023-52619] = "cpe-stable-backport: Backported in 6.6.16" | ||
6030 | |||
6031 | CVE_STATUS[CVE-2023-52620] = "fixed-version: Fixed from version 6.4" | ||
6032 | |||
6033 | CVE_STATUS[CVE-2023-52621] = "cpe-stable-backport: Backported in 6.6.16" | ||
6034 | |||
6035 | CVE_STATUS[CVE-2023-52622] = "cpe-stable-backport: Backported in 6.6.16" | ||
6036 | |||
6037 | CVE_STATUS[CVE-2023-52623] = "cpe-stable-backport: Backported in 6.6.16" | ||
6038 | |||
6039 | # CVE-2023-52624 needs backporting (fixed from 6.8rc1) | ||
6040 | |||
6041 | # CVE-2023-52625 needs backporting (fixed from 6.8rc1) | ||
6042 | |||
6043 | CVE_STATUS[CVE-2023-52626] = "fixed-version: only affects 6.7rc2 onwards" | ||
6044 | |||
6045 | CVE_STATUS[CVE-2023-52627] = "cpe-stable-backport: Backported in 6.6.15" | ||
6046 | |||
6047 | CVE_STATUS[CVE-2023-52628] = "fixed-version: Fixed from version 6.6rc1" | ||
6048 | |||
6049 | CVE_STATUS[CVE-2023-52629] = "fixed-version: Fixed from version 6.6rc1" | ||
6050 | |||
6051 | CVE_STATUS[CVE-2023-52630] = "cpe-stable-backport: Backported in 6.6.17" | ||
6052 | |||
6053 | CVE_STATUS[CVE-2023-52631] = "cpe-stable-backport: Backported in 6.6.17" | ||
6054 | |||
6055 | CVE_STATUS[CVE-2023-52632] = "cpe-stable-backport: Backported in 6.6.16" | ||
6056 | |||
6057 | CVE_STATUS[CVE-2023-52633] = "cpe-stable-backport: Backported in 6.6.16" | ||
6058 | |||
6059 | # CVE-2023-52634 needs backporting (fixed from 6.8rc1) | ||
6060 | |||
6061 | CVE_STATUS[CVE-2023-52635] = "cpe-stable-backport: Backported in 6.6.16" | ||
6062 | |||
6063 | CVE_STATUS[CVE-2023-52636] = "cpe-stable-backport: Backported in 6.6.17" | ||
6064 | |||
6065 | CVE_STATUS[CVE-2023-52637] = "cpe-stable-backport: Backported in 6.6.18" | ||
6066 | |||
6067 | CVE_STATUS[CVE-2023-52638] = "cpe-stable-backport: Backported in 6.6.18" | ||
6068 | |||
6069 | CVE_STATUS[CVE-2023-52639] = "cpe-stable-backport: Backported in 6.6.22" | ||
6070 | |||
6071 | CVE_STATUS[CVE-2023-52640] = "cpe-stable-backport: Backported in 6.6.19" | ||
6072 | |||
6073 | CVE_STATUS[CVE-2023-52641] = "cpe-stable-backport: Backported in 6.6.19" | ||
6074 | |||
5211 | CVE_STATUS[CVE-2023-5345] = "fixed-version: Fixed from version 6.6rc4" | 6075 | CVE_STATUS[CVE-2023-5345] = "fixed-version: Fixed from version 6.6rc4" |
5212 | 6076 | ||
5213 | CVE_STATUS[CVE-2023-5633] = "fixed-version: Fixed from version 6.6rc6" | 6077 | CVE_STATUS[CVE-2023-5633] = "fixed-version: Fixed from version 6.6rc6" |
@@ -5232,15 +6096,15 @@ CVE_STATUS[CVE-2023-6200] = "cpe-stable-backport: Backported in 6.6.9" | |||
5232 | 6096 | ||
5233 | # CVE-2023-6240 has no known resolution | 6097 | # CVE-2023-6240 has no known resolution |
5234 | 6098 | ||
5235 | # CVE-2023-6270 has no known resolution | 6099 | CVE_STATUS[CVE-2023-6270] = "cpe-stable-backport: Backported in 6.6.23" |
5236 | 6100 | ||
5237 | # CVE-2023-6356 has no known resolution | 6101 | CVE_STATUS[CVE-2023-6356] = "cpe-stable-backport: Backported in 6.6.14" |
5238 | 6102 | ||
5239 | CVE_STATUS[CVE-2023-6531] = "cpe-stable-backport: Backported in 6.6.7" | 6103 | CVE_STATUS[CVE-2023-6531] = "cpe-stable-backport: Backported in 6.6.7" |
5240 | 6104 | ||
5241 | # CVE-2023-6535 has no known resolution | 6105 | # CVE-2023-6535 has no known resolution |
5242 | 6106 | ||
5243 | # CVE-2023-6536 has no known resolution | 6107 | CVE_STATUS[CVE-2023-6536] = "cpe-stable-backport: Backported in 6.6.14" |
5244 | 6108 | ||
5245 | CVE_STATUS[CVE-2023-6546] = "fixed-version: Fixed from version 6.5rc7" | 6109 | CVE_STATUS[CVE-2023-6546] = "fixed-version: Fixed from version 6.5rc7" |
5246 | 6110 | ||
@@ -5262,7 +6126,7 @@ CVE_STATUS[CVE-2023-6931] = "cpe-stable-backport: Backported in 6.6.7" | |||
5262 | 6126 | ||
5263 | CVE_STATUS[CVE-2023-6932] = "cpe-stable-backport: Backported in 6.6.5" | 6127 | CVE_STATUS[CVE-2023-6932] = "cpe-stable-backport: Backported in 6.6.5" |
5264 | 6128 | ||
5265 | # CVE-2023-7042 has no known resolution | 6129 | CVE_STATUS[CVE-2023-7042] = "cpe-stable-backport: Backported in 6.6.23" |
5266 | 6130 | ||
5267 | CVE_STATUS[CVE-2023-7192] = "fixed-version: Fixed from version 6.3rc1" | 6131 | CVE_STATUS[CVE-2023-7192] = "fixed-version: Fixed from version 6.3rc1" |
5268 | 6132 | ||
@@ -5292,7 +6156,7 @@ CVE_STATUS[CVE-2024-0646] = "cpe-stable-backport: Backported in 6.6.7" | |||
5292 | 6156 | ||
5293 | CVE_STATUS[CVE-2024-0775] = "fixed-version: Fixed from version 6.4rc2" | 6157 | CVE_STATUS[CVE-2024-0775] = "fixed-version: Fixed from version 6.4rc2" |
5294 | 6158 | ||
5295 | # CVE-2024-0841 has no known resolution | 6159 | CVE_STATUS[CVE-2024-0841] = "cpe-stable-backport: Backported in 6.6.18" |
5296 | 6160 | ||
5297 | CVE_STATUS[CVE-2024-1085] = "cpe-stable-backport: Backported in 6.6.14" | 6161 | CVE_STATUS[CVE-2024-1085] = "cpe-stable-backport: Backported in 6.6.14" |
5298 | 6162 | ||
@@ -5304,15 +6168,17 @@ CVE_STATUS[CVE-2024-1312] = "fixed-version: Fixed from version 6.5rc4" | |||
5304 | 6168 | ||
5305 | # CVE-2024-21803 has no known resolution | 6169 | # CVE-2024-21803 has no known resolution |
5306 | 6170 | ||
5307 | # CVE-2024-22099 has no known resolution | 6171 | # CVE-2024-2193 has no known resolution |
6172 | |||
6173 | CVE_STATUS[CVE-2024-22099] = "cpe-stable-backport: Backported in 6.6.23" | ||
5308 | 6174 | ||
5309 | # CVE-2024-22386 has no known resolution | 6175 | # CVE-2024-22386 has no known resolution |
5310 | 6176 | ||
5311 | CVE_STATUS[CVE-2024-22705] = "cpe-stable-backport: Backported in 6.6.10" | 6177 | CVE_STATUS[CVE-2024-22705] = "cpe-stable-backport: Backported in 6.6.10" |
5312 | 6178 | ||
5313 | # CVE-2024-23196 has no known resolution | 6179 | CVE_STATUS[CVE-2024-23196] = "fixed-version: Fixed from version 6.5rc1" |
5314 | 6180 | ||
5315 | # CVE-2024-23307 has no known resolution | 6181 | CVE_STATUS[CVE-2024-23307] = "cpe-stable-backport: Backported in 6.6.24" |
5316 | 6182 | ||
5317 | # CVE-2024-23848 has no known resolution | 6183 | # CVE-2024-23848 has no known resolution |
5318 | 6184 | ||
@@ -5332,7 +6198,7 @@ CVE_STATUS[CVE-2024-24855] = "fixed-version: Fixed from version 6.5rc2" | |||
5332 | 6198 | ||
5333 | CVE_STATUS[CVE-2024-24860] = "cpe-stable-backport: Backported in 6.6.14" | 6199 | CVE_STATUS[CVE-2024-24860] = "cpe-stable-backport: Backported in 6.6.14" |
5334 | 6200 | ||
5335 | # CVE-2024-24861 has no known resolution | 6201 | CVE_STATUS[CVE-2024-24861] = "cpe-stable-backport: Backported in 6.6.24" |
5336 | 6202 | ||
5337 | # CVE-2024-24864 has no known resolution | 6203 | # CVE-2024-24864 has no known resolution |
5338 | 6204 | ||
@@ -5382,3 +6248,413 @@ CVE_STATUS[CVE-2024-26598] = "cpe-stable-backport: Backported in 6.6.14" | |||
5382 | 6248 | ||
5383 | CVE_STATUS[CVE-2024-26599] = "cpe-stable-backport: Backported in 6.6.14" | 6249 | CVE_STATUS[CVE-2024-26599] = "cpe-stable-backport: Backported in 6.6.14" |
5384 | 6250 | ||
6251 | CVE_STATUS[CVE-2024-26600] = "cpe-stable-backport: Backported in 6.6.17" | ||
6252 | |||
6253 | CVE_STATUS[CVE-2024-26601] = "cpe-stable-backport: Backported in 6.6.17" | ||
6254 | |||
6255 | CVE_STATUS[CVE-2024-26602] = "cpe-stable-backport: Backported in 6.6.18" | ||
6256 | |||
6257 | CVE_STATUS[CVE-2024-26603] = "cpe-stable-backport: Backported in 6.6.18" | ||
6258 | |||
6259 | CVE_STATUS[CVE-2024-26604] = "cpe-stable-backport: Backported in 6.6.18" | ||
6260 | |||
6261 | CVE_STATUS[CVE-2024-26605] = "fixed-version: only affects 6.7 onwards" | ||
6262 | |||
6263 | CVE_STATUS[CVE-2024-26606] = "cpe-stable-backport: Backported in 6.6.18" | ||
6264 | |||
6265 | CVE_STATUS[CVE-2024-26607] = "cpe-stable-backport: Backported in 6.6.15" | ||
6266 | |||
6267 | CVE_STATUS[CVE-2024-26608] = "cpe-stable-backport: Backported in 6.6.15" | ||
6268 | |||
6269 | CVE_STATUS[CVE-2024-26610] = "cpe-stable-backport: Backported in 6.6.15" | ||
6270 | |||
6271 | CVE_STATUS[CVE-2024-26611] = "cpe-stable-backport: Backported in 6.6.15" | ||
6272 | |||
6273 | CVE_STATUS[CVE-2024-26612] = "cpe-stable-backport: Backported in 6.6.15" | ||
6274 | |||
6275 | CVE_STATUS[CVE-2024-26614] = "cpe-stable-backport: Backported in 6.6.15" | ||
6276 | |||
6277 | CVE_STATUS[CVE-2024-26615] = "cpe-stable-backport: Backported in 6.6.15" | ||
6278 | |||
6279 | CVE_STATUS[CVE-2024-26616] = "cpe-stable-backport: Backported in 6.6.15" | ||
6280 | |||
6281 | CVE_STATUS[CVE-2024-26617] = "fixed-version: only affects 6.7rc1 onwards" | ||
6282 | |||
6283 | CVE_STATUS[CVE-2024-26618] = "cpe-stable-backport: Backported in 6.6.15" | ||
6284 | |||
6285 | CVE_STATUS[CVE-2024-26619] = "fixed-version: only affects 6.7rc5 onwards" | ||
6286 | |||
6287 | CVE_STATUS[CVE-2024-26620] = "cpe-stable-backport: Backported in 6.6.15" | ||
6288 | |||
6289 | CVE_STATUS[CVE-2024-26621] = "fixed-version: only affects 6.7 onwards" | ||
6290 | |||
6291 | CVE_STATUS[CVE-2024-26622] = "cpe-stable-backport: Backported in 6.6.21" | ||
6292 | |||
6293 | CVE_STATUS[CVE-2024-26623] = "cpe-stable-backport: Backported in 6.6.16" | ||
6294 | |||
6295 | CVE_STATUS[CVE-2024-26625] = "cpe-stable-backport: Backported in 6.6.16" | ||
6296 | |||
6297 | CVE_STATUS[CVE-2024-26626] = "fixed-version: only affects 6.8rc1 onwards" | ||
6298 | |||
6299 | CVE_STATUS[CVE-2024-26627] = "cpe-stable-backport: Backported in 6.6.16" | ||
6300 | |||
6301 | CVE_STATUS[CVE-2024-26629] = "cpe-stable-backport: Backported in 6.6.15" | ||
6302 | |||
6303 | CVE_STATUS[CVE-2024-26630] = "cpe-stable-backport: Backported in 6.6.21" | ||
6304 | |||
6305 | CVE_STATUS[CVE-2024-26631] = "cpe-stable-backport: Backported in 6.6.14" | ||
6306 | |||
6307 | CVE_STATUS[CVE-2024-26632] = "cpe-stable-backport: Backported in 6.6.14" | ||
6308 | |||
6309 | CVE_STATUS[CVE-2024-26633] = "cpe-stable-backport: Backported in 6.6.14" | ||
6310 | |||
6311 | CVE_STATUS[CVE-2024-26634] = "cpe-stable-backport: Backported in 6.6.15" | ||
6312 | |||
6313 | CVE_STATUS[CVE-2024-26635] = "cpe-stable-backport: Backported in 6.6.15" | ||
6314 | |||
6315 | CVE_STATUS[CVE-2024-26636] = "cpe-stable-backport: Backported in 6.6.15" | ||
6316 | |||
6317 | CVE_STATUS[CVE-2024-26637] = "fixed-version: only affects 6.7 onwards" | ||
6318 | |||
6319 | CVE_STATUS[CVE-2024-26638] = "cpe-stable-backport: Backported in 6.6.15" | ||
6320 | |||
6321 | CVE_STATUS[CVE-2024-26639] = "fixed-version: only affects 6.8rc1 onwards" | ||
6322 | |||
6323 | CVE_STATUS[CVE-2024-26640] = "cpe-stable-backport: Backported in 6.6.16" | ||
6324 | |||
6325 | CVE_STATUS[CVE-2024-26641] = "cpe-stable-backport: Backported in 6.6.16" | ||
6326 | |||
6327 | CVE_STATUS[CVE-2024-26642] = "cpe-stable-backport: Backported in 6.6.24" | ||
6328 | |||
6329 | CVE_STATUS[CVE-2024-26643] = "cpe-stable-backport: Backported in 6.6.24" | ||
6330 | |||
6331 | CVE_STATUS[CVE-2024-26644] = "cpe-stable-backport: Backported in 6.6.15" | ||
6332 | |||
6333 | CVE_STATUS[CVE-2024-26645] = "cpe-stable-backport: Backported in 6.6.15" | ||
6334 | |||
6335 | CVE_STATUS[CVE-2024-26646] = "cpe-stable-backport: Backported in 6.6.15" | ||
6336 | |||
6337 | CVE_STATUS[CVE-2024-26647] = "cpe-stable-backport: Backported in 6.6.15" | ||
6338 | |||
6339 | CVE_STATUS[CVE-2024-26648] = "cpe-stable-backport: Backported in 6.6.15" | ||
6340 | |||
6341 | CVE_STATUS[CVE-2024-26649] = "cpe-stable-backport: Backported in 6.6.15" | ||
6342 | |||
6343 | CVE_STATUS[CVE-2024-26650] = "cpe-stable-backport: Backported in 6.6.15" | ||
6344 | |||
6345 | CVE_STATUS[CVE-2024-26651] = "cpe-stable-backport: Backported in 6.6.23" | ||
6346 | |||
6347 | CVE_STATUS[CVE-2024-26652] = "cpe-stable-backport: Backported in 6.6.22" | ||
6348 | |||
6349 | CVE_STATUS[CVE-2024-26653] = "fixed-version: only affects 6.7rc1 onwards" | ||
6350 | |||
6351 | CVE_STATUS[CVE-2024-26654] = "cpe-stable-backport: Backported in 6.6.24" | ||
6352 | |||
6353 | # CVE-2024-26655 needs backporting (fixed from 6.9rc2) | ||
6354 | |||
6355 | CVE_STATUS[CVE-2024-26656] = "cpe-stable-backport: Backported in 6.6.24" | ||
6356 | |||
6357 | CVE_STATUS[CVE-2024-26657] = "fixed-version: only affects 6.7rc1 onwards" | ||
6358 | |||
6359 | # CVE-2024-26658 needs backporting (fixed from 6.8rc1) | ||
6360 | |||
6361 | CVE_STATUS[CVE-2024-26659] = "cpe-stable-backport: Backported in 6.6.17" | ||
6362 | |||
6363 | CVE_STATUS[CVE-2024-26660] = "cpe-stable-backport: Backported in 6.6.17" | ||
6364 | |||
6365 | CVE_STATUS[CVE-2024-26661] = "cpe-stable-backport: Backported in 6.6.17" | ||
6366 | |||
6367 | CVE_STATUS[CVE-2024-26662] = "cpe-stable-backport: Backported in 6.6.17" | ||
6368 | |||
6369 | CVE_STATUS[CVE-2024-26663] = "cpe-stable-backport: Backported in 6.6.17" | ||
6370 | |||
6371 | CVE_STATUS[CVE-2024-26664] = "cpe-stable-backport: Backported in 6.6.17" | ||
6372 | |||
6373 | CVE_STATUS[CVE-2024-26665] = "cpe-stable-backport: Backported in 6.6.17" | ||
6374 | |||
6375 | CVE_STATUS[CVE-2024-26666] = "cpe-stable-backport: Backported in 6.6.17" | ||
6376 | |||
6377 | CVE_STATUS[CVE-2024-26667] = "cpe-stable-backport: Backported in 6.6.17" | ||
6378 | |||
6379 | CVE_STATUS[CVE-2024-26668] = "cpe-stable-backport: Backported in 6.6.15" | ||
6380 | |||
6381 | CVE_STATUS[CVE-2024-26669] = "cpe-stable-backport: Backported in 6.6.15" | ||
6382 | |||
6383 | CVE_STATUS[CVE-2024-26670] = "cpe-stable-backport: Backported in 6.6.15" | ||
6384 | |||
6385 | CVE_STATUS[CVE-2024-26671] = "cpe-stable-backport: Backported in 6.6.16" | ||
6386 | |||
6387 | # CVE-2024-26672 needs backporting (fixed from 6.8rc1) | ||
6388 | |||
6389 | CVE_STATUS[CVE-2024-26673] = "cpe-stable-backport: Backported in 6.6.16" | ||
6390 | |||
6391 | CVE_STATUS[CVE-2024-26674] = "cpe-stable-backport: Backported in 6.6.17" | ||
6392 | |||
6393 | CVE_STATUS[CVE-2024-26675] = "cpe-stable-backport: Backported in 6.6.17" | ||
6394 | |||
6395 | CVE_STATUS[CVE-2024-26676] = "cpe-stable-backport: Backported in 6.6.17" | ||
6396 | |||
6397 | CVE_STATUS[CVE-2024-26677] = "cpe-stable-backport: Backported in 6.6.17" | ||
6398 | |||
6399 | CVE_STATUS[CVE-2024-26678] = "fixed-version: only affects 6.7rc1 onwards" | ||
6400 | |||
6401 | CVE_STATUS[CVE-2024-26679] = "cpe-stable-backport: Backported in 6.6.17" | ||
6402 | |||
6403 | CVE_STATUS[CVE-2024-26680] = "cpe-stable-backport: Backported in 6.6.17" | ||
6404 | |||
6405 | CVE_STATUS[CVE-2024-26681] = "cpe-stable-backport: Backported in 6.6.17" | ||
6406 | |||
6407 | CVE_STATUS[CVE-2024-26682] = "fixed-version: only affects 6.7rc1 onwards" | ||
6408 | |||
6409 | CVE_STATUS[CVE-2024-26683] = "fixed-version: only affects 6.7rc1 onwards" | ||
6410 | |||
6411 | CVE_STATUS[CVE-2024-26684] = "cpe-stable-backport: Backported in 6.6.17" | ||
6412 | |||
6413 | CVE_STATUS[CVE-2024-26685] = "cpe-stable-backport: Backported in 6.6.18" | ||
6414 | |||
6415 | # CVE-2024-26686 needs backporting (fixed from 6.8rc4) | ||
6416 | |||
6417 | CVE_STATUS[CVE-2024-26687] = "cpe-stable-backport: Backported in 6.6.19" | ||
6418 | |||
6419 | CVE_STATUS[CVE-2024-26688] = "cpe-stable-backport: Backported in 6.6.18" | ||
6420 | |||
6421 | CVE_STATUS[CVE-2024-26689] = "cpe-stable-backport: Backported in 6.6.18" | ||
6422 | |||
6423 | CVE_STATUS[CVE-2024-26690] = "cpe-stable-backport: Backported in 6.6.18" | ||
6424 | |||
6425 | CVE_STATUS[CVE-2024-26691] = "cpe-stable-backport: Backported in 6.6.18" | ||
6426 | |||
6427 | CVE_STATUS[CVE-2024-26692] = "cpe-stable-backport: Backported in 6.6.18" | ||
6428 | |||
6429 | CVE_STATUS[CVE-2024-26693] = "cpe-stable-backport: Backported in 6.6.18" | ||
6430 | |||
6431 | CVE_STATUS[CVE-2024-26694] = "cpe-stable-backport: Backported in 6.6.18" | ||
6432 | |||
6433 | CVE_STATUS[CVE-2024-26695] = "cpe-stable-backport: Backported in 6.6.18" | ||
6434 | |||
6435 | CVE_STATUS[CVE-2024-26696] = "cpe-stable-backport: Backported in 6.6.18" | ||
6436 | |||
6437 | CVE_STATUS[CVE-2024-26697] = "cpe-stable-backport: Backported in 6.6.18" | ||
6438 | |||
6439 | CVE_STATUS[CVE-2024-26698] = "cpe-stable-backport: Backported in 6.6.18" | ||
6440 | |||
6441 | # CVE-2024-26699 needs backporting (fixed from 6.8rc5) | ||
6442 | |||
6443 | CVE_STATUS[CVE-2024-26700] = "cpe-stable-backport: Backported in 6.6.18" | ||
6444 | |||
6445 | CVE_STATUS[CVE-2024-26702] = "cpe-stable-backport: Backported in 6.6.18" | ||
6446 | |||
6447 | CVE_STATUS[CVE-2024-26703] = "cpe-stable-backport: Backported in 6.6.18" | ||
6448 | |||
6449 | CVE_STATUS[CVE-2024-26704] = "cpe-stable-backport: Backported in 6.6.18" | ||
6450 | |||
6451 | CVE_STATUS[CVE-2024-26705] = "cpe-stable-backport: Backported in 6.6.18" | ||
6452 | |||
6453 | CVE_STATUS[CVE-2024-26706] = "cpe-stable-backport: Backported in 6.6.18" | ||
6454 | |||
6455 | CVE_STATUS[CVE-2024-26707] = "cpe-stable-backport: Backported in 6.6.18" | ||
6456 | |||
6457 | CVE_STATUS[CVE-2024-26708] = "cpe-stable-backport: Backported in 6.6.18" | ||
6458 | |||
6459 | CVE_STATUS[CVE-2024-26709] = "fixed-version: only affects 6.7rc1 onwards" | ||
6460 | |||
6461 | CVE_STATUS[CVE-2024-26710] = "fixed-version: only affects 6.8rc1 onwards" | ||
6462 | |||
6463 | CVE_STATUS[CVE-2024-26711] = "cpe-stable-backport: Backported in 6.6.18" | ||
6464 | |||
6465 | CVE_STATUS[CVE-2024-26712] = "cpe-stable-backport: Backported in 6.6.18" | ||
6466 | |||
6467 | CVE_STATUS[CVE-2024-26713] = "cpe-stable-backport: Backported in 6.6.18" | ||
6468 | |||
6469 | CVE_STATUS[CVE-2024-26714] = "cpe-stable-backport: Backported in 6.6.18" | ||
6470 | |||
6471 | CVE_STATUS[CVE-2024-26715] = "cpe-stable-backport: Backported in 6.6.18" | ||
6472 | |||
6473 | CVE_STATUS[CVE-2024-26716] = "cpe-stable-backport: Backported in 6.6.18" | ||
6474 | |||
6475 | CVE_STATUS[CVE-2024-26717] = "cpe-stable-backport: Backported in 6.6.18" | ||
6476 | |||
6477 | CVE_STATUS[CVE-2024-26718] = "cpe-stable-backport: Backported in 6.6.18" | ||
6478 | |||
6479 | CVE_STATUS[CVE-2024-26719] = "cpe-stable-backport: Backported in 6.6.18" | ||
6480 | |||
6481 | CVE_STATUS[CVE-2024-26720] = "cpe-stable-backport: Backported in 6.6.18" | ||
6482 | |||
6483 | CVE_STATUS[CVE-2024-26721] = "fixed-version: only affects 6.7rc1 onwards" | ||
6484 | |||
6485 | CVE_STATUS[CVE-2024-26722] = "fixed-version: only affects 6.7rc5 onwards" | ||
6486 | |||
6487 | CVE_STATUS[CVE-2024-26723] = "cpe-stable-backport: Backported in 6.6.18" | ||
6488 | |||
6489 | CVE_STATUS[CVE-2024-26724] = "fixed-version: only affects 6.7rc1 onwards" | ||
6490 | |||
6491 | CVE_STATUS[CVE-2024-26725] = "fixed-version: only affects 6.7rc1 onwards" | ||
6492 | |||
6493 | CVE_STATUS[CVE-2024-26726] = "cpe-stable-backport: Backported in 6.6.18" | ||
6494 | |||
6495 | CVE_STATUS[CVE-2024-26727] = "cpe-stable-backport: Backported in 6.6.18" | ||
6496 | |||
6497 | CVE_STATUS[CVE-2024-26728] = "fixed-version: only affects 6.7rc1 onwards" | ||
6498 | |||
6499 | CVE_STATUS[CVE-2024-26729] = "fixed-version: only affects 6.7rc1 onwards" | ||
6500 | |||
6501 | CVE_STATUS[CVE-2024-26730] = "cpe-stable-backport: Backported in 6.6.19" | ||
6502 | |||
6503 | CVE_STATUS[CVE-2024-26731] = "cpe-stable-backport: Backported in 6.6.19" | ||
6504 | |||
6505 | CVE_STATUS[CVE-2024-26732] = "fixed-version: only affects 6.7rc1 onwards" | ||
6506 | |||
6507 | CVE_STATUS[CVE-2024-26733] = "cpe-stable-backport: Backported in 6.6.19" | ||
6508 | |||
6509 | CVE_STATUS[CVE-2024-26734] = "cpe-stable-backport: Backported in 6.6.19" | ||
6510 | |||
6511 | CVE_STATUS[CVE-2024-26735] = "cpe-stable-backport: Backported in 6.6.19" | ||
6512 | |||
6513 | CVE_STATUS[CVE-2024-26736] = "cpe-stable-backport: Backported in 6.6.19" | ||
6514 | |||
6515 | CVE_STATUS[CVE-2024-26737] = "cpe-stable-backport: Backported in 6.6.19" | ||
6516 | |||
6517 | CVE_STATUS[CVE-2024-26738] = "cpe-stable-backport: Backported in 6.6.19" | ||
6518 | |||
6519 | CVE_STATUS[CVE-2024-26739] = "cpe-stable-backport: Backported in 6.6.19" | ||
6520 | |||
6521 | CVE_STATUS[CVE-2024-26740] = "cpe-stable-backport: Backported in 6.6.19" | ||
6522 | |||
6523 | CVE_STATUS[CVE-2024-26741] = "cpe-stable-backport: Backported in 6.6.19" | ||
6524 | |||
6525 | CVE_STATUS[CVE-2024-26742] = "cpe-stable-backport: Backported in 6.6.19" | ||
6526 | |||
6527 | CVE_STATUS[CVE-2024-26743] = "cpe-stable-backport: Backported in 6.6.19" | ||
6528 | |||
6529 | CVE_STATUS[CVE-2024-26744] = "cpe-stable-backport: Backported in 6.6.19" | ||
6530 | |||
6531 | CVE_STATUS[CVE-2024-26745] = "cpe-stable-backport: Backported in 6.6.21" | ||
6532 | |||
6533 | CVE_STATUS[CVE-2024-26746] = "cpe-stable-backport: Backported in 6.6.21" | ||
6534 | |||
6535 | CVE_STATUS[CVE-2024-26747] = "cpe-stable-backport: Backported in 6.6.19" | ||
6536 | |||
6537 | CVE_STATUS[CVE-2024-26748] = "cpe-stable-backport: Backported in 6.6.19" | ||
6538 | |||
6539 | CVE_STATUS[CVE-2024-26749] = "cpe-stable-backport: Backported in 6.6.19" | ||
6540 | |||
6541 | CVE_STATUS[CVE-2024-26750] = "fixed-version: only affects 6.8rc5 onwards" | ||
6542 | |||
6543 | CVE_STATUS[CVE-2024-26751] = "cpe-stable-backport: Backported in 6.6.19" | ||
6544 | |||
6545 | CVE_STATUS[CVE-2024-26752] = "cpe-stable-backport: Backported in 6.6.19" | ||
6546 | |||
6547 | CVE_STATUS[CVE-2024-26753] = "cpe-stable-backport: Backported in 6.6.19" | ||
6548 | |||
6549 | CVE_STATUS[CVE-2024-26754] = "cpe-stable-backport: Backported in 6.6.19" | ||
6550 | |||
6551 | CVE_STATUS[CVE-2024-26755] = "fixed-version: only affects 6.7rc1 onwards" | ||
6552 | |||
6553 | # CVE-2024-26756 needs backporting (fixed from 6.8rc6) | ||
6554 | |||
6555 | # CVE-2024-26757 needs backporting (fixed from 6.8rc6) | ||
6556 | |||
6557 | # CVE-2024-26758 needs backporting (fixed from 6.8rc6) | ||
6558 | |||
6559 | CVE_STATUS[CVE-2024-26759] = "cpe-stable-backport: Backported in 6.6.19" | ||
6560 | |||
6561 | CVE_STATUS[CVE-2024-26760] = "cpe-stable-backport: Backported in 6.6.19" | ||
6562 | |||
6563 | CVE_STATUS[CVE-2024-26761] = "cpe-stable-backport: Backported in 6.6.19" | ||
6564 | |||
6565 | CVE_STATUS[CVE-2024-26762] = "fixed-version: only affects 6.7rc1 onwards" | ||
6566 | |||
6567 | CVE_STATUS[CVE-2024-26763] = "cpe-stable-backport: Backported in 6.6.19" | ||
6568 | |||
6569 | CVE_STATUS[CVE-2024-26764] = "cpe-stable-backport: Backported in 6.6.19" | ||
6570 | |||
6571 | CVE_STATUS[CVE-2024-26765] = "cpe-stable-backport: Backported in 6.6.19" | ||
6572 | |||
6573 | CVE_STATUS[CVE-2024-26766] = "cpe-stable-backport: Backported in 6.6.19" | ||
6574 | |||
6575 | CVE_STATUS[CVE-2024-26767] = "cpe-stable-backport: Backported in 6.6.19" | ||
6576 | |||
6577 | CVE_STATUS[CVE-2024-26768] = "cpe-stable-backport: Backported in 6.6.19" | ||
6578 | |||
6579 | CVE_STATUS[CVE-2024-26769] = "cpe-stable-backport: Backported in 6.6.19" | ||
6580 | |||
6581 | CVE_STATUS[CVE-2024-26770] = "cpe-stable-backport: Backported in 6.6.19" | ||
6582 | |||
6583 | CVE_STATUS[CVE-2024-26771] = "cpe-stable-backport: Backported in 6.6.19" | ||
6584 | |||
6585 | CVE_STATUS[CVE-2024-26772] = "cpe-stable-backport: Backported in 6.6.19" | ||
6586 | |||
6587 | CVE_STATUS[CVE-2024-26773] = "cpe-stable-backport: Backported in 6.6.19" | ||
6588 | |||
6589 | CVE_STATUS[CVE-2024-26774] = "cpe-stable-backport: Backported in 6.6.19" | ||
6590 | |||
6591 | CVE_STATUS[CVE-2024-26775] = "cpe-stable-backport: Backported in 6.6.19" | ||
6592 | |||
6593 | CVE_STATUS[CVE-2024-26776] = "cpe-stable-backport: Backported in 6.6.19" | ||
6594 | |||
6595 | CVE_STATUS[CVE-2024-26777] = "cpe-stable-backport: Backported in 6.6.19" | ||
6596 | |||
6597 | CVE_STATUS[CVE-2024-26778] = "cpe-stable-backport: Backported in 6.6.19" | ||
6598 | |||
6599 | CVE_STATUS[CVE-2024-26779] = "cpe-stable-backport: Backported in 6.6.19" | ||
6600 | |||
6601 | CVE_STATUS[CVE-2024-26780] = "fixed-version: only affects 6.8rc4 onwards" | ||
6602 | |||
6603 | CVE_STATUS[CVE-2024-26781] = "fixed-version: only affects 6.8rc6 onwards" | ||
6604 | |||
6605 | CVE_STATUS[CVE-2024-26782] = "cpe-stable-backport: Backported in 6.6.21" | ||
6606 | |||
6607 | CVE_STATUS[CVE-2024-26783] = "cpe-stable-backport: Backported in 6.6.22" | ||
6608 | |||
6609 | # CVE-2024-26784 needs backporting (fixed from 6.8rc7) | ||
6610 | |||
6611 | # CVE-2024-26785 needs backporting (fixed from 6.8rc7) | ||
6612 | |||
6613 | CVE_STATUS[CVE-2024-26786] = "cpe-stable-backport: Backported in 6.6.21" | ||
6614 | |||
6615 | CVE_STATUS[CVE-2024-26787] = "cpe-stable-backport: Backported in 6.6.21" | ||
6616 | |||
6617 | CVE_STATUS[CVE-2024-26788] = "cpe-stable-backport: Backported in 6.6.21" | ||
6618 | |||
6619 | CVE_STATUS[CVE-2024-26789] = "cpe-stable-backport: Backported in 6.6.21" | ||
6620 | |||
6621 | CVE_STATUS[CVE-2024-26790] = "cpe-stable-backport: Backported in 6.6.21" | ||
6622 | |||
6623 | CVE_STATUS[CVE-2024-26791] = "cpe-stable-backport: Backported in 6.6.21" | ||
6624 | |||
6625 | CVE_STATUS[CVE-2024-26792] = "fixed-version: only affects 6.8rc4 onwards" | ||
6626 | |||
6627 | CVE_STATUS[CVE-2024-26793] = "cpe-stable-backport: Backported in 6.6.21" | ||
6628 | |||
6629 | CVE_STATUS[CVE-2024-26794] = "fixed-version: only affects 6.8rc6 onwards" | ||
6630 | |||
6631 | CVE_STATUS[CVE-2024-26795] = "cpe-stable-backport: Backported in 6.6.21" | ||
6632 | |||
6633 | CVE_STATUS[CVE-2024-26796] = "cpe-stable-backport: Backported in 6.6.21" | ||
6634 | |||
6635 | # CVE-2024-26797 needs backporting (fixed from 6.8rc7) | ||
6636 | |||
6637 | CVE_STATUS[CVE-2024-26798] = "cpe-stable-backport: Backported in 6.6.21" | ||
6638 | |||
6639 | CVE_STATUS[CVE-2024-26799] = "cpe-stable-backport: Backported in 6.6.21" | ||
6640 | |||
6641 | CVE_STATUS[CVE-2024-26800] = "fixed-version: only affects 6.8rc5 onwards" | ||
6642 | |||
6643 | CVE_STATUS[CVE-2024-26801] = "cpe-stable-backport: Backported in 6.6.21" | ||
6644 | |||
6645 | CVE_STATUS[CVE-2024-26802] = "cpe-stable-backport: Backported in 6.6.21" | ||
6646 | |||
6647 | CVE_STATUS[CVE-2024-26803] = "cpe-stable-backport: Backported in 6.6.21" | ||
6648 | |||
6649 | CVE_STATUS[CVE-2024-26804] = "cpe-stable-backport: Backported in 6.6.21" | ||
6650 | |||
6651 | CVE_STATUS[CVE-2024-26805] = "cpe-stable-backport: Backported in 6.6.21" | ||
6652 | |||
6653 | # CVE-2024-26806 needs backporting (fixed from 6.8rc7) | ||
6654 | |||
6655 | CVE_STATUS[CVE-2024-26807] = "cpe-stable-backport: Backported in 6.6.21" | ||
6656 | |||
6657 | CVE_STATUS[CVE-2024-26808] = "cpe-stable-backport: Backported in 6.6.15" | ||
6658 | |||
6659 | CVE_STATUS[CVE-2024-26809] = "cpe-stable-backport: Backported in 6.6.23" | ||
6660 | |||
diff --git a/meta/recipes-kernel/linux/linux-dummy.bb b/meta/recipes-kernel/linux/linux-dummy.bb index 2396f46202..3e9a563cad 100644 --- a/meta/recipes-kernel/linux/linux-dummy.bb +++ b/meta/recipes-kernel/linux/linux-dummy.bb | |||
@@ -30,7 +30,9 @@ COMPATIBLE_HOST = ".*-linux" | |||
30 | 30 | ||
31 | 31 | ||
32 | SRC_URI = "file://COPYING.GPL" | 32 | SRC_URI = "file://COPYING.GPL" |
33 | S = "${WORKDIR}" | 33 | |
34 | S = "${WORKDIR}/sources" | ||
35 | UNPACKDIR = "${S}" | ||
34 | 36 | ||
35 | do_configure() { | 37 | do_configure() { |
36 | : | 38 | : |
diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb b/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb index a44a08451a..53f413407d 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_6.6.bb | |||
@@ -14,13 +14,13 @@ python () { | |||
14 | raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") | 14 | raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") |
15 | } | 15 | } |
16 | 16 | ||
17 | SRCREV_machine ?= "19813826de57a6425518c7b3daf8dd6a04d2321f" | 17 | SRCREV_machine ?= "9bdb085cb6fcfd49586b980ba27cb81e5c76689e" |
18 | SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b" | 18 | SRCREV_meta ?= "a78c74a3510067017dda1926f88bd914f0a053b3" |
19 | 19 | ||
20 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \ | 20 | SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine;protocol=https \ |
21 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https" | 21 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https" |
22 | 22 | ||
23 | LINUX_VERSION ?= "6.6.23" | 23 | LINUX_VERSION ?= "6.6.29" |
24 | 24 | ||
25 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 25 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
26 | 26 | ||
diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb index db9e252572..44c9a7b1e0 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_6.6.bb | |||
@@ -8,7 +8,7 @@ require recipes-kernel/linux/linux-yocto.inc | |||
8 | # CVE exclusions | 8 | # CVE exclusions |
9 | include recipes-kernel/linux/cve-exclusion_6.6.inc | 9 | include recipes-kernel/linux/cve-exclusion_6.6.inc |
10 | 10 | ||
11 | LINUX_VERSION ?= "6.6.23" | 11 | LINUX_VERSION ?= "6.6.29" |
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 12 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
13 | 13 | ||
14 | DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" | 14 | DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" |
@@ -17,8 +17,8 @@ DEPENDS += "openssl-native util-linux-native" | |||
17 | KMETA = "kernel-meta" | 17 | KMETA = "kernel-meta" |
18 | KCONF_BSP_AUDIT_LEVEL = "2" | 18 | KCONF_BSP_AUDIT_LEVEL = "2" |
19 | 19 | ||
20 | SRCREV_machine ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 20 | SRCREV_machine ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
21 | SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b" | 21 | SRCREV_meta ?= "a78c74a3510067017dda1926f88bd914f0a053b3" |
22 | 22 | ||
23 | PV = "${LINUX_VERSION}+git" | 23 | PV = "${LINUX_VERSION}+git" |
24 | 24 | ||
diff --git a/meta/recipes-kernel/linux/linux-yocto_6.6.bb b/meta/recipes-kernel/linux/linux-yocto_6.6.bb index 43696db59b..fbeb5c2500 100644 --- a/meta/recipes-kernel/linux/linux-yocto_6.6.bb +++ b/meta/recipes-kernel/linux/linux-yocto_6.6.bb | |||
@@ -18,25 +18,25 @@ KBRANCH:qemux86-64 ?= "v6.6/standard/base" | |||
18 | KBRANCH:qemuloongarch64 ?= "v6.6/standard/base" | 18 | KBRANCH:qemuloongarch64 ?= "v6.6/standard/base" |
19 | KBRANCH:qemumips64 ?= "v6.6/standard/mti-malta64" | 19 | KBRANCH:qemumips64 ?= "v6.6/standard/mti-malta64" |
20 | 20 | ||
21 | SRCREV_machine:qemuarm ?= "ceb94a85299b59d8840ed7ed392b1d3e4c727678" | 21 | SRCREV_machine:qemuarm ?= "0b90bbe1359b3fd590780119f19dbd0a01e58560" |
22 | SRCREV_machine:qemuarm64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 22 | SRCREV_machine:qemuarm64 ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
23 | SRCREV_machine:qemuloongarch64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 23 | SRCREV_machine:qemuloongarch64 ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
24 | SRCREV_machine:qemumips ?= "c79ffc89f8909f60de52005ef258db9752634eda" | 24 | SRCREV_machine:qemumips ?= "ab44de80a320e30a49150ea74554a937affaf78d" |
25 | SRCREV_machine:qemuppc ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 25 | SRCREV_machine:qemuppc ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
26 | SRCREV_machine:qemuriscv64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 26 | SRCREV_machine:qemuriscv64 ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
27 | SRCREV_machine:qemuriscv32 ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 27 | SRCREV_machine:qemuriscv32 ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
28 | SRCREV_machine:qemux86 ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 28 | SRCREV_machine:qemux86 ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
29 | SRCREV_machine:qemux86-64 ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 29 | SRCREV_machine:qemux86-64 ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
30 | SRCREV_machine:qemumips64 ?= "b0a73fa83073c8d7d7bc917bcbeac88d296ebe38" | 30 | SRCREV_machine:qemumips64 ?= "75da5d44c2e54a85a1221ea7d0c04be9aefb7fa1" |
31 | SRCREV_machine ?= "2d01bc1d4eeade12518371139dd24a21438f523c" | 31 | SRCREV_machine ?= "7c76aad68f6d1247e72f024f1e0291067a404f8d" |
32 | SRCREV_meta ?= "f7f00b22efcfcae6489e9ec7db7002685fbc078b" | 32 | SRCREV_meta ?= "a78c74a3510067017dda1926f88bd914f0a053b3" |
33 | 33 | ||
34 | # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll | 34 | # set your preferred provider of linux-yocto to 'linux-yocto-upstream', and you'll |
35 | # get the <version>/base branch, which is pure upstream -stable, and the same | 35 | # get the <version>/base branch, which is pure upstream -stable, and the same |
36 | # meta SRCREV as the linux-yocto-standard builds. Select your version using the | 36 | # meta SRCREV as the linux-yocto-standard builds. Select your version using the |
37 | # normal PREFERRED_VERSION settings. | 37 | # normal PREFERRED_VERSION settings. |
38 | BBCLASSEXTEND = "devupstream:target" | 38 | BBCLASSEXTEND = "devupstream:target" |
39 | SRCREV_machine:class-devupstream ?= "5c7587f69194bc9fc714953ab4c7203e6e68885b" | 39 | SRCREV_machine:class-devupstream ?= "a3463f08104612fc979c41fa54733e925205d3d7" |
40 | PN:class-devupstream = "linux-yocto-upstream" | 40 | PN:class-devupstream = "linux-yocto-upstream" |
41 | KBRANCH:class-devupstream = "v6.6/base" | 41 | KBRANCH:class-devupstream = "v6.6/base" |
42 | 42 | ||
@@ -44,7 +44,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA | |||
44 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https" | 44 | git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=${KMETA};protocol=https" |
45 | 45 | ||
46 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" | 46 | LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" |
47 | LINUX_VERSION ?= "6.6.23" | 47 | LINUX_VERSION ?= "6.6.29" |
48 | 48 | ||
49 | PV = "${LINUX_VERSION}+git" | 49 | PV = "${LINUX_VERSION}+git" |
50 | 50 | ||
@@ -64,6 +64,8 @@ KERNEL_FEATURES:append:qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" | |||
64 | KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" | 64 | KERNEL_FEATURES:append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "", d)}" |
65 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}" | 65 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc features/nf_tables/nft_test.scc", "", d)}" |
66 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}" | 66 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/gpio/mockup.scc features/gpio/sim.scc", "", d)}" |
67 | # libteam ptests from meta-oe needs it | ||
68 | KERNEL_FEATURES:append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/net/team/team.scc", "", d)}" | ||
67 | KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc" | 69 | KERNEL_FEATURES:append:powerpc =" arch/powerpc/powerpc-debug.scc" |
68 | KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc" | 70 | KERNEL_FEATURES:append:powerpc64 =" arch/powerpc/powerpc-debug.scc" |
69 | KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc" | 71 | KERNEL_FEATURES:append:powerpc64le =" arch/powerpc/powerpc-debug.scc" |
diff --git a/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb b/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb index 174dec036e..e73dd4801a 100644 --- a/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb +++ b/meta/recipes-kernel/lttng/lttng-tools_2.13.13.bb | |||
@@ -69,7 +69,7 @@ PRIVATE_LIBS:${PN}-ptest = "libfoo.so" | |||
69 | do_install:append () { | 69 | do_install:append () { |
70 | # install systemd unit file | 70 | # install systemd unit file |
71 | install -d ${D}${systemd_system_unitdir} | 71 | install -d ${D}${systemd_system_unitdir} |
72 | install -m 0644 ${WORKDIR}/lttng-sessiond.service ${D}${systemd_system_unitdir} | 72 | install -m 0644 ${UNPACKDIR}/lttng-sessiond.service ${D}${systemd_system_unitdir} |
73 | } | 73 | } |
74 | 74 | ||
75 | do_install_ptest () { | 75 | do_install_ptest () { |
diff --git a/meta/recipes-kernel/lttng/lttng-ust_2.13.7.bb b/meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb index 9509185bad..dddd3a5004 100644 --- a/meta/recipes-kernel/lttng/lttng-ust_2.13.7.bb +++ b/meta/recipes-kernel/lttng/lttng-ust_2.13.8.bb | |||
@@ -34,7 +34,7 @@ SRC_URI = "https://lttng.org/files/lttng-ust/lttng-ust-${PV}.tar.bz2 \ | |||
34 | file://0001-Makefile.am-update-rpath-link.patch \ | 34 | file://0001-Makefile.am-update-rpath-link.patch \ |
35 | " | 35 | " |
36 | 36 | ||
37 | SRC_URI[sha256sum] = "5fb4f17c307c8c1b79c68561e89be9562d07e7425bf40e728c4d66755342a5eb" | 37 | SRC_URI[sha256sum] = "d4ef98dab9a37ad4f524ccafdfd50af4f266039b528dd5afabce78e49024d937" |
38 | 38 | ||
39 | CVE_PRODUCT = "ust" | 39 | CVE_PRODUCT = "ust" |
40 | 40 | ||
diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb index a91680d497..581e90e9b4 100644 --- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb +++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb | |||
@@ -8,7 +8,8 @@ inherit pkgconfig | |||
8 | 8 | ||
9 | PACKAGE_ARCH = "${MACHINE_ARCH}" | 9 | PACKAGE_ARCH = "${MACHINE_ARCH}" |
10 | 10 | ||
11 | S = "${WORKDIR}" | 11 | S = "${WORKDIR}/sources" |
12 | UNPACKDIR = "${S}" | ||
12 | 13 | ||
13 | do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" | 14 | do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" |
14 | do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" | 15 | do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" |
diff --git a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb index b630a402ff..49268445a8 100644 --- a/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb +++ b/meta/recipes-kernel/modutils-initscripts/modutils-initscripts.bb | |||
@@ -4,8 +4,8 @@ LICENSE = "MIT" | |||
4 | LIC_FILES_CHKSUM = "file://modutils.sh;beginline=3;endline=3;md5=b2dccaa94b3629a08bfb4f983cad6f89" | 4 | LIC_FILES_CHKSUM = "file://modutils.sh;beginline=3;endline=3;md5=b2dccaa94b3629a08bfb4f983cad6f89" |
5 | SRC_URI = "file://modutils.sh" | 5 | SRC_URI = "file://modutils.sh" |
6 | 6 | ||
7 | 7 | S = "${WORKDIR}/sources" | |
8 | S = "${WORKDIR}" | 8 | UNPACKDIR = "${S}" |
9 | 9 | ||
10 | INITSCRIPT_NAME = "modutils.sh" | 10 | INITSCRIPT_NAME = "modutils.sh" |
11 | INITSCRIPT_PARAMS = "start 06 S ." | 11 | INITSCRIPT_PARAMS = "start 06 S ." |
@@ -17,7 +17,7 @@ do_compile () { | |||
17 | 17 | ||
18 | do_install () { | 18 | do_install () { |
19 | install -d ${D}${sysconfdir}/init.d/ | 19 | install -d ${D}${sysconfdir}/init.d/ |
20 | install -m 0755 ${WORKDIR}/modutils.sh ${D}${sysconfdir}/init.d/ | 20 | install -m 0755 ${S}/modutils.sh ${D}${sysconfdir}/init.d/ |
21 | } | 21 | } |
22 | 22 | ||
23 | PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}" | 23 | PACKAGE_WRITE_DEPS:append = " ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd-systemctl-native','',d)}" |
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/av1_ordering_info.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/av1_ordering_info.patch new file mode 100644 index 0000000000..bfc894563c --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/av1_ordering_info.patch | |||
@@ -0,0 +1,91 @@ | |||
1 | From cafb4c554845332eeb33284cf6498049997dc67e Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Thompson <sw@jkqxz.net> | ||
3 | Date: Wed, 20 Mar 2024 20:35:28 +0000 | ||
4 | Subject: [PATCH] lavc/cbs_av1: Save more frame ordering information | ||
5 | |||
6 | This is wanted by the Vulkan decoder. | ||
7 | |||
8 | Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | ||
9 | Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/ecdc94b97f809d5f2b88640842fd0541951ad295] | ||
10 | --- | ||
11 | libavcodec/cbs_av1.h | 5 +++++ | ||
12 | libavcodec/cbs_av1_syntax_template.c | 25 +++++++++++++++++++++---- | ||
13 | 2 files changed, 26 insertions(+), 4 deletions(-) | ||
14 | |||
15 | diff --git a/libavcodec/cbs_av1.h b/libavcodec/cbs_av1.h | ||
16 | index a5402f069d..a027013bc7 100644 | ||
17 | --- a/libavcodec/cbs_av1.h | ||
18 | +++ b/libavcodec/cbs_av1.h | ||
19 | @@ -427,6 +427,8 @@ typedef struct AV1ReferenceFrameState { | ||
20 | int bit_depth; // RefBitDepth | ||
21 | int order_hint; // RefOrderHint | ||
22 | |||
23 | + int saved_order_hints[AV1_TOTAL_REFS_PER_FRAME]; // SavedOrderHints[ref] | ||
24 | + | ||
25 | int8_t loop_filter_ref_deltas[AV1_TOTAL_REFS_PER_FRAME]; | ||
26 | int8_t loop_filter_mode_deltas[2]; | ||
27 | uint8_t feature_enabled[AV1_MAX_SEGMENTS][AV1_SEG_LVL_MAX]; | ||
28 | @@ -464,6 +466,9 @@ typedef struct CodedBitstreamAV1Context { | ||
29 | int tile_rows; | ||
30 | int tile_num; | ||
31 | |||
32 | + int order_hints[AV1_TOTAL_REFS_PER_FRAME]; // OrderHints | ||
33 | + int ref_frame_sign_bias[AV1_TOTAL_REFS_PER_FRAME]; // RefFrameSignBias | ||
34 | + | ||
35 | AV1ReferenceFrameState ref[AV1_NUM_REF_FRAMES]; | ||
36 | |||
37 | // AVOptions | ||
38 | diff --git a/libavcodec/cbs_av1_syntax_template.c b/libavcodec/cbs_av1_syntax_template.c | ||
39 | index 3be1f2d30f..2979c5d98f 100644 | ||
40 | --- a/libavcodec/cbs_av1_syntax_template.c | ||
41 | +++ b/libavcodec/cbs_av1_syntax_template.c | ||
42 | @@ -1414,6 +1414,8 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, | ||
43 | priv->ref[i].valid = 0; | ||
44 | priv->ref[i].order_hint = 0; | ||
45 | } | ||
46 | + for (i = 0; i < AV1_REFS_PER_FRAME; i++) | ||
47 | + priv->order_hints[i + AV1_REF_FRAME_LAST] = 0; | ||
48 | } | ||
49 | |||
50 | flag(disable_cdf_update); | ||
51 | @@ -1568,11 +1570,20 @@ static int FUNC(uncompressed_header)(CodedBitstreamContext *ctx, RWContext *rw, | ||
52 | else | ||
53 | flag(use_ref_frame_mvs); | ||
54 | |||
55 | - infer(allow_intrabc, 0); | ||
56 | - } | ||
57 | + for (i = 0; i < AV1_REFS_PER_FRAME; i++) { | ||
58 | + int ref_frame = AV1_REF_FRAME_LAST + i; | ||
59 | + int hint = priv->ref[current->ref_frame_idx[i]].order_hint; | ||
60 | + priv->order_hints[ref_frame] = hint; | ||
61 | + if (!seq->enable_order_hint) { | ||
62 | + priv->ref_frame_sign_bias[ref_frame] = 0; | ||
63 | + } else { | ||
64 | + priv->ref_frame_sign_bias[ref_frame] = | ||
65 | + cbs_av1_get_relative_dist(seq, hint, | ||
66 | + current->order_hint) > 0; | ||
67 | + } | ||
68 | + } | ||
69 | |||
70 | - if (!frame_is_intra) { | ||
71 | - // Derive reference frame sign biases. | ||
72 | + infer(allow_intrabc, 0); | ||
73 | } | ||
74 | |||
75 | if (seq->reduced_still_picture_header || current->disable_cdf_update) | ||
76 | @@ -1674,6 +1685,12 @@ update_refs: | ||
77 | .bit_depth = priv->bit_depth, | ||
78 | .order_hint = priv->order_hint, | ||
79 | }; | ||
80 | + | ||
81 | + for (int j = 0; j < AV1_REFS_PER_FRAME; j++) { | ||
82 | + priv->ref[i].saved_order_hints[j + AV1_REF_FRAME_LAST] = | ||
83 | + priv->order_hints[j + AV1_REF_FRAME_LAST]; | ||
84 | + } | ||
85 | + | ||
86 | memcpy(priv->ref[i].loop_filter_ref_deltas, current->loop_filter_ref_deltas, | ||
87 | sizeof(current->loop_filter_ref_deltas)); | ||
88 | memcpy(priv->ref[i].loop_filter_mode_deltas, current->loop_filter_mode_deltas, | ||
89 | -- | ||
90 | 2.25.1 | ||
91 | |||
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg/vulkan_av1_stable_API.patch b/meta/recipes-multimedia/ffmpeg/ffmpeg/vulkan_av1_stable_API.patch new file mode 100644 index 0000000000..74db148b3b --- /dev/null +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg/vulkan_av1_stable_API.patch | |||
@@ -0,0 +1,1382 @@ | |||
1 | From ecdc94b97f809d5f2b88640842fd0541951ad295 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lynne <dev@lynne.ee> | ||
3 | Date: Fri, 19 Jan 2024 10:49:02 +1000 | ||
4 | Subject: [PATCH] vulkan_av1: port to the new stable API | ||
5 | |||
6 | Co-Authored-by: Dave Airlie <airlied@redhat.com> | ||
7 | Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> | ||
8 | Upstream-Status: Backport [https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/ecdc94b97f809d5f2b88640842fd0541951ad295] | ||
9 | --- | ||
10 | configure | 4 +- | ||
11 | libavcodec/Makefile | 5 +- | ||
12 | libavcodec/vulkan_av1.c | 514 ++++++++++-------- | ||
13 | libavcodec/vulkan_decode.c | 31 +- | ||
14 | libavcodec/vulkan_decode.h | 2 +- | ||
15 | libavcodec/vulkan_video.h | 2 - | ||
16 | .../vulkan_video_codec_av1std_decode_mesa.h | 36 -- | ||
17 | libavcodec/vulkan_video_codec_av1std_mesa.h | 403 -------------- | ||
18 | libavutil/hwcontext_vulkan.c | 2 +- | ||
19 | libavutil/vulkan_functions.h | 2 +- | ||
20 | libavutil/vulkan_loader.h | 2 +- | ||
21 | 11 files changed, 306 insertions(+), 697 deletions(-) | ||
22 | delete mode 100644 libavcodec/vulkan_video_codec_av1std_decode_mesa.h | ||
23 | delete mode 100644 libavcodec/vulkan_video_codec_av1std_mesa.h | ||
24 | |||
25 | diff --git a/configure b/configure | ||
26 | index e853deb51d..9fa639fca6 100755 | ||
27 | --- a/configure | ||
28 | +++ b/configure | ||
29 | @@ -7300,8 +7300,8 @@ enabled vdpau && | ||
30 | "in maintaining it." | ||
31 | |||
32 | if enabled vulkan; then | ||
33 | - check_pkg_config_header_only vulkan "vulkan >= 1.3.255" "vulkan/vulkan.h" "defined VK_VERSION_1_3" || | ||
34 | - check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 255)" | ||
35 | + check_pkg_config_header_only vulkan "vulkan >= 1.3.277" "vulkan/vulkan.h" "defined VK_VERSION_1_3" || | ||
36 | + check_cpp_condition vulkan "vulkan/vulkan.h" "defined(VK_VERSION_1_4) || (defined(VK_VERSION_1_3) && VK_HEADER_VERSION >= 277)" | ||
37 | fi | ||
38 | |||
39 | if disabled vulkan; then | ||
40 | diff --git a/libavcodec/Makefile b/libavcodec/Makefile | ||
41 | index 7ef2e03ca6..9ce6d445c1 100644 | ||
42 | --- a/libavcodec/Makefile | ||
43 | +++ b/libavcodec/Makefile | ||
44 | @@ -1258,8 +1258,7 @@ SKIPHEADERS += %_tablegen.h \ | ||
45 | aacenc_quantization.h \ | ||
46 | aacenc_quantization_misc.h \ | ||
47 | bitstream_template.h \ | ||
48 | - vulkan_video_codec_av1std.h \ | ||
49 | - $(ARCH)/vpx_arith.h \ | ||
50 | + $(ARCH)/vpx_arith.h \ | ||
51 | |||
52 | SKIPHEADERS-$(CONFIG_AMF) += amfenc.h | ||
53 | SKIPHEADERS-$(CONFIG_D3D11VA) += d3d11va.h dxva2_internal.h | ||
54 | @@ -1280,7 +1279,7 @@ SKIPHEADERS-$(CONFIG_QSVENC) += qsvenc.h | ||
55 | SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h | ||
56 | SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h | ||
57 | SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h | ||
58 | -SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h | ||
59 | +SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h | ||
60 | SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h | ||
61 | SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h | ||
62 | |||
63 | diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c | ||
64 | index 5afd5353cc..c9e398eaec 100644 | ||
65 | --- a/libavcodec/vulkan_av1.c | ||
66 | +++ b/libavcodec/vulkan_av1.c | ||
67 | @@ -36,33 +36,47 @@ const FFVulkanDecodeDescriptor ff_vk_dec_av1_desc = { | ||
68 | typedef struct AV1VulkanDecodePicture { | ||
69 | FFVulkanDecodePicture vp; | ||
70 | |||
71 | - /* Workaround for a spec issue. | ||
72 | - *Can be removed once no longer needed, and threading can be enabled. */ | ||
73 | + /* TODO: investigate if this can be removed to make decoding completely | ||
74 | + * independent. */ | ||
75 | FFVulkanDecodeContext *dec; | ||
76 | |||
77 | - StdVideoAV1MESATile tiles[MAX_TILES]; | ||
78 | - StdVideoAV1MESATileList tile_list; | ||
79 | - const uint32_t *tile_offsets; | ||
80 | + uint32_t tile_sizes[MAX_TILES]; | ||
81 | |||
82 | /* Current picture */ | ||
83 | - VkVideoDecodeAV1DpbSlotInfoMESA vkav1_ref; | ||
84 | - StdVideoAV1MESAFrameHeader av1_frame_header; | ||
85 | - VkVideoDecodeAV1PictureInfoMESA av1_pic_info; | ||
86 | + StdVideoDecodeAV1ReferenceInfo std_ref; | ||
87 | + VkVideoDecodeAV1DpbSlotInfoKHR vkav1_ref; | ||
88 | + uint16_t width_in_sbs_minus1[64]; | ||
89 | + uint16_t height_in_sbs_minus1[64]; | ||
90 | + uint16_t mi_col_starts[64]; | ||
91 | + uint16_t mi_row_starts[64]; | ||
92 | + StdVideoAV1TileInfo tile_info; | ||
93 | + StdVideoAV1Quantization quantization; | ||
94 | + StdVideoAV1Segmentation segmentation; | ||
95 | + StdVideoAV1LoopFilter loop_filter; | ||
96 | + StdVideoAV1CDEF cdef; | ||
97 | + StdVideoAV1LoopRestoration loop_restoration; | ||
98 | + StdVideoAV1GlobalMotion global_motion; | ||
99 | + StdVideoAV1FilmGrain film_grain; | ||
100 | + StdVideoDecodeAV1PictureInfo std_pic_info; | ||
101 | + VkVideoDecodeAV1PictureInfoKHR av1_pic_info; | ||
102 | |||
103 | /* Picture refs */ | ||
104 | const AV1Frame *ref_src [AV1_NUM_REF_FRAMES]; | ||
105 | - VkVideoDecodeAV1DpbSlotInfoMESA vkav1_refs[AV1_NUM_REF_FRAMES]; | ||
106 | + StdVideoDecodeAV1ReferenceInfo std_refs [AV1_NUM_REF_FRAMES]; | ||
107 | + VkVideoDecodeAV1DpbSlotInfoKHR vkav1_refs[AV1_NUM_REF_FRAMES]; | ||
108 | |||
109 | uint8_t frame_id_set; | ||
110 | uint8_t frame_id; | ||
111 | + uint8_t ref_frame_sign_bias_mask; | ||
112 | } AV1VulkanDecodePicture; | ||
113 | |||
114 | static int vk_av1_fill_pict(AVCodecContext *avctx, const AV1Frame **ref_src, | ||
115 | VkVideoReferenceSlotInfoKHR *ref_slot, /* Main structure */ | ||
116 | VkVideoPictureResourceInfoKHR *ref, /* Goes in ^ */ | ||
117 | - VkVideoDecodeAV1DpbSlotInfoMESA *vkav1_ref, /* Goes in ^ */ | ||
118 | + StdVideoDecodeAV1ReferenceInfo *vkav1_std_ref, | ||
119 | + VkVideoDecodeAV1DpbSlotInfoKHR *vkav1_ref, /* Goes in ^ */ | ||
120 | const AV1Frame *pic, int is_current, int has_grain, | ||
121 | - int dpb_slot_index) | ||
122 | + int *saved_order_hints) | ||
123 | { | ||
124 | FFVulkanDecodeContext *dec = avctx->internal->hwaccel_priv_data; | ||
125 | AV1VulkanDecodePicture *hp = pic->hwaccel_picture_private; | ||
126 | @@ -73,31 +87,42 @@ static int vk_av1_fill_pict(AVCodecContext *avctx, const AV1Frame **ref_src, | ||
127 | if (err < 0) | ||
128 | return err; | ||
129 | |||
130 | - *vkav1_ref = (VkVideoDecodeAV1DpbSlotInfoMESA) { | ||
131 | - .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_MESA, | ||
132 | - .frameIdx = hp->frame_id, | ||
133 | + *vkav1_std_ref = (StdVideoDecodeAV1ReferenceInfo) { | ||
134 | + .flags = (StdVideoDecodeAV1ReferenceInfoFlags) { | ||
135 | + .disable_frame_end_update_cdf = pic->raw_frame_header->disable_frame_end_update_cdf, | ||
136 | + .segmentation_enabled = pic->raw_frame_header->segmentation_enabled, | ||
137 | + }, | ||
138 | + .frame_type = pic->raw_frame_header->frame_type, | ||
139 | + .OrderHint = pic->raw_frame_header->order_hint, | ||
140 | + .RefFrameSignBias = hp->ref_frame_sign_bias_mask, | ||
141 | }; | ||
142 | |||
143 | - for (unsigned i = 0; i < 7; i++) { | ||
144 | - const int idx = pic->raw_frame_header->ref_frame_idx[i]; | ||
145 | - vkav1_ref->ref_order_hint[i] = pic->raw_frame_header->ref_order_hint[idx]; | ||
146 | - } | ||
147 | + if (saved_order_hints) | ||
148 | + for (int i = 0; i < AV1_TOTAL_REFS_PER_FRAME; i++) | ||
149 | + vkav1_std_ref->SavedOrderHints[i] = saved_order_hints[i]; | ||
150 | + | ||
151 | + *vkav1_ref = (VkVideoDecodeAV1DpbSlotInfoKHR) { | ||
152 | + .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_KHR, | ||
153 | + .pStdReferenceInfo = vkav1_std_ref, | ||
154 | + }; | ||
155 | |||
156 | - vkav1_ref->disable_frame_end_update_cdf = pic->raw_frame_header->disable_frame_end_update_cdf; | ||
157 | + vkav1_std_ref->flags.disable_frame_end_update_cdf = pic->raw_frame_header->disable_frame_end_update_cdf; | ||
158 | + vkav1_std_ref->flags.segmentation_enabled = pic->raw_frame_header->segmentation_enabled; | ||
159 | + vkav1_std_ref->frame_type = pic->raw_frame_header->frame_type; | ||
160 | |||
161 | *ref = (VkVideoPictureResourceInfoKHR) { | ||
162 | .sType = VK_STRUCTURE_TYPE_VIDEO_PICTURE_RESOURCE_INFO_KHR, | ||
163 | .codedOffset = (VkOffset2D){ 0, 0 }, | ||
164 | .codedExtent = (VkExtent2D){ pic->f->width, pic->f->height }, | ||
165 | .baseArrayLayer = ((has_grain || dec->dedicated_dpb) && dec->layered_dpb) ? | ||
166 | - dpb_slot_index : 0, | ||
167 | + hp->frame_id : 0, | ||
168 | .imageViewBinding = vkpic->img_view_ref, | ||
169 | }; | ||
170 | |||
171 | *ref_slot = (VkVideoReferenceSlotInfoKHR) { | ||
172 | .sType = VK_STRUCTURE_TYPE_VIDEO_REFERENCE_SLOT_INFO_KHR, | ||
173 | .pNext = vkav1_ref, | ||
174 | - .slotIndex = dpb_slot_index, | ||
175 | + .slotIndex = hp->frame_id, | ||
176 | .pPictureResource = ref, | ||
177 | }; | ||
178 | |||
179 | @@ -115,15 +140,40 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf) | ||
180 | |||
181 | const AV1RawSequenceHeader *seq = s->raw_seq; | ||
182 | |||
183 | - StdVideoAV1MESASequenceHeader av1_sequence_header; | ||
184 | - VkVideoDecodeAV1SessionParametersAddInfoMESA av1_params_info; | ||
185 | - VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params; | ||
186 | + StdVideoAV1SequenceHeader av1_sequence_header; | ||
187 | + StdVideoAV1TimingInfo av1_timing_info; | ||
188 | + StdVideoAV1ColorConfig av1_color_config; | ||
189 | + VkVideoDecodeAV1SessionParametersCreateInfoKHR av1_params; | ||
190 | VkVideoSessionParametersCreateInfoKHR session_params_create; | ||
191 | |||
192 | int err; | ||
193 | |||
194 | - av1_sequence_header = (StdVideoAV1MESASequenceHeader) { | ||
195 | - .flags = (StdVideoAV1MESASequenceHeaderFlags) { | ||
196 | + av1_timing_info = (StdVideoAV1TimingInfo) { | ||
197 | + .flags = (StdVideoAV1TimingInfoFlags) { | ||
198 | + .equal_picture_interval = seq->timing_info.equal_picture_interval, | ||
199 | + }, | ||
200 | + .num_units_in_display_tick = seq->timing_info.num_units_in_display_tick, | ||
201 | + .time_scale = seq->timing_info.time_scale, | ||
202 | + .num_ticks_per_picture_minus_1 = seq->timing_info.num_ticks_per_picture_minus_1, | ||
203 | + }; | ||
204 | + | ||
205 | + av1_color_config = (StdVideoAV1ColorConfig) { | ||
206 | + .flags = (StdVideoAV1ColorConfigFlags) { | ||
207 | + .mono_chrome = seq->color_config.mono_chrome, | ||
208 | + .color_range = seq->color_config.color_range, | ||
209 | + .separate_uv_delta_q = seq->color_config.separate_uv_delta_q, | ||
210 | + }, | ||
211 | + .BitDepth = seq->color_config.twelve_bit ? 12 : | ||
212 | + seq->color_config.high_bitdepth ? 10 : 8, | ||
213 | + .subsampling_x = seq->color_config.subsampling_x, | ||
214 | + .subsampling_y = seq->color_config.subsampling_y, | ||
215 | + .color_primaries = seq->color_config.color_primaries, | ||
216 | + .transfer_characteristics = seq->color_config.transfer_characteristics, | ||
217 | + .matrix_coefficients = seq->color_config.matrix_coefficients, | ||
218 | + }; | ||
219 | + | ||
220 | + av1_sequence_header = (StdVideoAV1SequenceHeader) { | ||
221 | + .flags = (StdVideoAV1SequenceHeaderFlags) { | ||
222 | .still_picture = seq->still_picture, | ||
223 | .reduced_still_picture_header = seq->reduced_still_picture_header, | ||
224 | .use_128x128_superblock = seq->use_128x128_superblock, | ||
225 | @@ -152,34 +202,15 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf) | ||
226 | .delta_frame_id_length_minus_2 = seq->delta_frame_id_length_minus_2, | ||
227 | .additional_frame_id_length_minus_1 = seq->additional_frame_id_length_minus_1, | ||
228 | .order_hint_bits_minus_1 = seq->order_hint_bits_minus_1, | ||
229 | - .timing_info = (StdVideoAV1MESATimingInfo) { | ||
230 | - .flags = (StdVideoAV1MESATimingInfoFlags) { | ||
231 | - .equal_picture_interval = seq->timing_info.equal_picture_interval, | ||
232 | - }, | ||
233 | - .num_units_in_display_tick = seq->timing_info.num_units_in_display_tick, | ||
234 | - .time_scale = seq->timing_info.time_scale, | ||
235 | - .num_ticks_per_picture_minus_1 = seq->timing_info.num_ticks_per_picture_minus_1, | ||
236 | - }, | ||
237 | - .color_config = (StdVideoAV1MESAColorConfig) { | ||
238 | - .flags = (StdVideoAV1MESAColorConfigFlags) { | ||
239 | - .mono_chrome = seq->color_config.mono_chrome, | ||
240 | - .color_range = seq->color_config.color_range, | ||
241 | - .separate_uv_delta_q = seq->color_config.separate_uv_delta_q, | ||
242 | - }, | ||
243 | - .bit_depth = seq->color_config.twelve_bit ? 12 : | ||
244 | - seq->color_config.high_bitdepth ? 10 : 8, | ||
245 | - .subsampling_x = seq->color_config.subsampling_x, | ||
246 | - .subsampling_y = seq->color_config.subsampling_y, | ||
247 | - }, | ||
248 | + .seq_force_integer_mv = seq->seq_force_integer_mv, | ||
249 | + .seq_force_screen_content_tools = seq->seq_force_screen_content_tools, | ||
250 | + .pTimingInfo = &av1_timing_info, | ||
251 | + .pColorConfig = &av1_color_config, | ||
252 | }; | ||
253 | |||
254 | - av1_params_info = (VkVideoDecodeAV1SessionParametersAddInfoMESA) { | ||
255 | - .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_ADD_INFO_MESA, | ||
256 | - .sequence_header = &av1_sequence_header, | ||
257 | - }; | ||
258 | - av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoMESA) { | ||
259 | - .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA, | ||
260 | - .pParametersAddInfo = &av1_params_info, | ||
261 | + av1_params = (VkVideoDecodeAV1SessionParametersCreateInfoKHR) { | ||
262 | + .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR, | ||
263 | + .pStdSequenceHeader = &av1_sequence_header, | ||
264 | }; | ||
265 | session_params_create = (VkVideoSessionParametersCreateInfoKHR) { | ||
266 | .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, | ||
267 | @@ -211,8 +242,14 @@ static int vk_av1_start_frame(AVCodecContext *avctx, | ||
268 | |||
269 | const AV1RawFrameHeader *frame_header = s->raw_frame_header; | ||
270 | const AV1RawFilmGrainParams *film_grain = &s->cur_frame.film_grain; | ||
271 | + CodedBitstreamAV1Context *cbs_ctx = (CodedBitstreamAV1Context *)(s->cbc->priv_data); | ||
272 | + | ||
273 | const int apply_grain = !(avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN) && | ||
274 | film_grain->apply_grain; | ||
275 | + StdVideoAV1FrameRestorationType remap_lr_type[4] = { STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_NONE, | ||
276 | + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SWITCHABLE, | ||
277 | + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_WIENER, | ||
278 | + STD_VIDEO_AV1_FRAME_RESTORATION_TYPE_SGRPROJ }; | ||
279 | |||
280 | if (!dec->session_params) { | ||
281 | err = vk_av1_create_params(avctx, &dec->session_params); | ||
282 | @@ -233,15 +270,31 @@ static int vk_av1_start_frame(AVCodecContext *avctx, | ||
283 | dec->frame_id_alloc_mask |= (1 << slot_idx); | ||
284 | } | ||
285 | |||
286 | - /* Fill in references */ | ||
287 | - for (int i = 0; i < AV1_NUM_REF_FRAMES; i++) { | ||
288 | - const AV1Frame *ref_frame = &s->ref[i]; | ||
289 | - if (s->ref[i].f->pict_type == AV_PICTURE_TYPE_NONE) | ||
290 | + ap->ref_frame_sign_bias_mask = 0x0; | ||
291 | + for (int i = 0; i < STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME; i++) | ||
292 | + ap->ref_frame_sign_bias_mask |= cbs_ctx->ref_frame_sign_bias[i] << i; | ||
293 | + | ||
294 | + for (int i = 0; i < STD_VIDEO_AV1_REFS_PER_FRAME; i++) { | ||
295 | + const int idx = pic->raw_frame_header->ref_frame_idx[i]; | ||
296 | + const AV1Frame *ref_frame = &s->ref[idx]; | ||
297 | + AV1VulkanDecodePicture *hp = ref_frame->hwaccel_picture_private; | ||
298 | + int found = 0; | ||
299 | + | ||
300 | + if (ref_frame->f->pict_type == AV_PICTURE_TYPE_NONE) | ||
301 | + continue; | ||
302 | + | ||
303 | + for (int j = 0; j < ref_count; j++) { | ||
304 | + if (vp->ref_slots[j].slotIndex == hp->frame_id) { | ||
305 | + found = 1; | ||
306 | + break; | ||
307 | + } | ||
308 | + } | ||
309 | + if (found) | ||
310 | continue; | ||
311 | |||
312 | - err = vk_av1_fill_pict(avctx, &ap->ref_src[i], &vp->ref_slots[i], | ||
313 | - &vp->refs[i], &ap->vkav1_refs[i], | ||
314 | - ref_frame, 0, 0, i); | ||
315 | + err = vk_av1_fill_pict(avctx, &ap->ref_src[ref_count], &vp->ref_slots[ref_count], | ||
316 | + &vp->refs[ref_count], &ap->std_refs[ref_count], &ap->vkav1_refs[ref_count], | ||
317 | + ref_frame, 0, 0, cbs_ctx->ref[idx].saved_order_hints); | ||
318 | if (err < 0) | ||
319 | return err; | ||
320 | |||
321 | @@ -249,20 +302,32 @@ static int vk_av1_start_frame(AVCodecContext *avctx, | ||
322 | } | ||
323 | |||
324 | err = vk_av1_fill_pict(avctx, NULL, &vp->ref_slot, &vp->ref, | ||
325 | + &ap->std_ref, | ||
326 | &ap->vkav1_ref, | ||
327 | - pic, 1, apply_grain, 8); | ||
328 | + pic, 1, apply_grain, NULL); | ||
329 | if (err < 0) | ||
330 | return err; | ||
331 | |||
332 | - ap->tile_list.nb_tiles = 0; | ||
333 | - ap->tile_list.tile_list = ap->tiles; | ||
334 | - | ||
335 | - ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoMESA) { | ||
336 | - .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_MESA, | ||
337 | - .frame_header = &ap->av1_frame_header, | ||
338 | - .tile_list = &ap->tile_list, | ||
339 | + ap->av1_pic_info = (VkVideoDecodeAV1PictureInfoKHR) { | ||
340 | + .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_KHR, | ||
341 | + .pStdPictureInfo = &ap->std_pic_info, | ||
342 | + .frameHeaderOffset = 0, | ||
343 | + .tileCount = 0, | ||
344 | + .pTileOffsets = NULL, | ||
345 | + .pTileSizes = ap->tile_sizes, | ||
346 | }; | ||
347 | |||
348 | + for (int i = 0; i < STD_VIDEO_AV1_REFS_PER_FRAME; i++) { | ||
349 | + const int idx = pic->raw_frame_header->ref_frame_idx[i]; | ||
350 | + const AV1Frame *ref_frame = &s->ref[idx]; | ||
351 | + AV1VulkanDecodePicture *hp = ref_frame->hwaccel_picture_private; | ||
352 | + | ||
353 | + if (ref_frame->f->pict_type == AV_PICTURE_TYPE_NONE) | ||
354 | + ap->av1_pic_info.referenceNameSlotIndices[i] = -1; | ||
355 | + else | ||
356 | + ap->av1_pic_info.referenceNameSlotIndices[i] = hp->frame_id; | ||
357 | + } | ||
358 | + | ||
359 | vp->decode_info = (VkVideoDecodeInfoKHR) { | ||
360 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_INFO_KHR, | ||
361 | .pNext = &ap->av1_pic_info, | ||
362 | @@ -279,9 +344,87 @@ static int vk_av1_start_frame(AVCodecContext *avctx, | ||
363 | }, | ||
364 | }; | ||
365 | |||
366 | + ap->tile_info = (StdVideoAV1TileInfo) { | ||
367 | + .flags = (StdVideoAV1TileInfoFlags) { | ||
368 | + .uniform_tile_spacing_flag = frame_header->uniform_tile_spacing_flag, | ||
369 | + }, | ||
370 | + .TileCols = frame_header->tile_cols, | ||
371 | + .TileRows = frame_header->tile_rows, | ||
372 | + .context_update_tile_id = frame_header->context_update_tile_id, | ||
373 | + .tile_size_bytes_minus_1 = frame_header->tile_size_bytes_minus1, | ||
374 | + .pWidthInSbsMinus1 = ap->width_in_sbs_minus1, | ||
375 | + .pHeightInSbsMinus1 = ap->height_in_sbs_minus1, | ||
376 | + .pMiColStarts = ap->mi_col_starts, | ||
377 | + .pMiRowStarts = ap->mi_row_starts, | ||
378 | + }; | ||
379 | + | ||
380 | + ap->quantization = (StdVideoAV1Quantization) { | ||
381 | + .flags.using_qmatrix = frame_header->using_qmatrix, | ||
382 | + .flags.diff_uv_delta = frame_header->diff_uv_delta, | ||
383 | + .base_q_idx = frame_header->base_q_idx, | ||
384 | + .DeltaQYDc = frame_header->delta_q_y_dc, | ||
385 | + .DeltaQUDc = frame_header->delta_q_u_dc, | ||
386 | + .DeltaQUAc = frame_header->delta_q_u_ac, | ||
387 | + .DeltaQVDc = frame_header->delta_q_v_dc, | ||
388 | + .DeltaQVAc = frame_header->delta_q_v_ac, | ||
389 | + .qm_y = frame_header->qm_y, | ||
390 | + .qm_u = frame_header->qm_u, | ||
391 | + .qm_v = frame_header->qm_v, | ||
392 | + }; | ||
393 | + | ||
394 | + ap->loop_filter = (StdVideoAV1LoopFilter) { | ||
395 | + .flags = (StdVideoAV1LoopFilterFlags) { | ||
396 | + .loop_filter_delta_enabled = frame_header->loop_filter_delta_enabled, | ||
397 | + .loop_filter_delta_update = frame_header->loop_filter_delta_update, | ||
398 | + }, | ||
399 | + .loop_filter_sharpness = frame_header->loop_filter_sharpness, | ||
400 | + }; | ||
401 | + | ||
402 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS; i++) | ||
403 | + ap->loop_filter.loop_filter_level[i] = frame_header->loop_filter_level[i]; | ||
404 | + for (int i = 0; i < STD_VIDEO_AV1_LOOP_FILTER_ADJUSTMENTS; i++) | ||
405 | + ap->loop_filter.loop_filter_mode_deltas[i] = frame_header->loop_filter_mode_deltas[i]; | ||
406 | + | ||
407 | + ap->cdef = (StdVideoAV1CDEF) { | ||
408 | + .cdef_damping_minus_3 = frame_header->cdef_damping_minus_3, | ||
409 | + .cdef_bits = frame_header->cdef_bits, | ||
410 | + }; | ||
411 | + | ||
412 | + ap->loop_restoration = (StdVideoAV1LoopRestoration) { | ||
413 | + .FrameRestorationType[0] = remap_lr_type[frame_header->lr_type[0]], | ||
414 | + .FrameRestorationType[1] = remap_lr_type[frame_header->lr_type[1]], | ||
415 | + .FrameRestorationType[2] = remap_lr_type[frame_header->lr_type[2]], | ||
416 | + .LoopRestorationSize[0] = 1 + frame_header->lr_unit_shift, | ||
417 | + .LoopRestorationSize[1] = 1 + frame_header->lr_unit_shift - frame_header->lr_uv_shift, | ||
418 | + .LoopRestorationSize[2] = 1 + frame_header->lr_unit_shift - frame_header->lr_uv_shift, | ||
419 | + }; | ||
420 | + | ||
421 | + ap->film_grain = (StdVideoAV1FilmGrain) { | ||
422 | + .flags = (StdVideoAV1FilmGrainFlags) { | ||
423 | + .chroma_scaling_from_luma = film_grain->chroma_scaling_from_luma, | ||
424 | + .overlap_flag = film_grain->overlap_flag, | ||
425 | + .clip_to_restricted_range = film_grain->clip_to_restricted_range, | ||
426 | + }, | ||
427 | + .grain_scaling_minus_8 = film_grain->grain_scaling_minus_8, | ||
428 | + .ar_coeff_lag = film_grain->ar_coeff_lag, | ||
429 | + .ar_coeff_shift_minus_6 = film_grain->ar_coeff_shift_minus_6, | ||
430 | + .grain_scale_shift = film_grain->grain_scale_shift, | ||
431 | + .grain_seed = film_grain->grain_seed, | ||
432 | + .film_grain_params_ref_idx = film_grain->film_grain_params_ref_idx, | ||
433 | + .num_y_points = film_grain->num_y_points, | ||
434 | + .num_cb_points = film_grain->num_cb_points, | ||
435 | + .num_cr_points = film_grain->num_cr_points, | ||
436 | + .cb_mult = film_grain->cb_mult, | ||
437 | + .cb_luma_mult = film_grain->cb_luma_mult, | ||
438 | + .cb_offset = film_grain->cb_offset, | ||
439 | + .cr_mult = film_grain->cr_mult, | ||
440 | + .cr_luma_mult = film_grain->cr_luma_mult, | ||
441 | + .cr_offset = film_grain->cr_offset, | ||
442 | + }; | ||
443 | + | ||
444 | /* Setup frame header */ | ||
445 | - ap->av1_frame_header = (StdVideoAV1MESAFrameHeader) { | ||
446 | - .flags = (StdVideoAV1MESAFrameHeaderFlags) { | ||
447 | + ap->std_pic_info = (StdVideoDecodeAV1PictureInfo) { | ||
448 | + .flags = (StdVideoDecodeAV1PictureInfoFlags) { | ||
449 | .error_resilient_mode = frame_header->error_resilient_mode, | ||
450 | .disable_cdf_update = frame_header->disable_cdf_update, | ||
451 | .use_superres = frame_header->use_superres, | ||
452 | @@ -302,174 +445,92 @@ static int vk_av1_start_frame(AVCodecContext *avctx, | ||
453 | .reference_select = frame_header->reference_select, | ||
454 | .skip_mode_present = frame_header->skip_mode_present, | ||
455 | .delta_q_present = frame_header->delta_q_present, | ||
456 | + .delta_lf_present = frame_header->delta_lf_present, | ||
457 | + .delta_lf_multi = frame_header->delta_lf_multi, | ||
458 | + .segmentation_enabled = frame_header->segmentation_enabled, | ||
459 | + .segmentation_update_map = frame_header->segmentation_update_map, | ||
460 | + .segmentation_temporal_update = frame_header->segmentation_temporal_update, | ||
461 | + .segmentation_update_data = frame_header->segmentation_update_data, | ||
462 | + .UsesLr = frame_header->lr_type[0] || frame_header->lr_type[1] || frame_header->lr_type[2], | ||
463 | + .apply_grain = apply_grain, | ||
464 | }, | ||
465 | - .frame_to_show_map_idx = frame_header->frame_to_show_map_idx, | ||
466 | - .frame_presentation_time = frame_header->frame_presentation_time, | ||
467 | - .display_frame_id = frame_header->display_frame_id, | ||
468 | .frame_type = frame_header->frame_type, | ||
469 | .current_frame_id = frame_header->current_frame_id, | ||
470 | - .order_hint = frame_header->order_hint, | ||
471 | + .OrderHint = frame_header->order_hint, | ||
472 | .primary_ref_frame = frame_header->primary_ref_frame, | ||
473 | - .frame_width_minus_1 = frame_header->frame_width_minus_1, | ||
474 | - .frame_height_minus_1 = frame_header->frame_height_minus_1, | ||
475 | - .coded_denom = frame_header->coded_denom, | ||
476 | - .render_width_minus_1 = frame_header->render_width_minus_1, | ||
477 | - .render_height_minus_1 = frame_header->render_height_minus_1, | ||
478 | .refresh_frame_flags = frame_header->refresh_frame_flags, | ||
479 | .interpolation_filter = frame_header->interpolation_filter, | ||
480 | - .tx_mode = frame_header->tx_mode, | ||
481 | - .tiling = (StdVideoAV1MESATileInfo) { | ||
482 | - .flags = (StdVideoAV1MESATileInfoFlags) { | ||
483 | - .uniform_tile_spacing_flag = frame_header->uniform_tile_spacing_flag, | ||
484 | - }, | ||
485 | - .tile_cols = frame_header->tile_cols, | ||
486 | - .tile_rows = frame_header->tile_rows, | ||
487 | - .context_update_tile_id = frame_header->context_update_tile_id, | ||
488 | - .tile_size_bytes_minus1 = frame_header->tile_size_bytes_minus1, | ||
489 | - }, | ||
490 | - .quantization = (StdVideoAV1MESAQuantization) { | ||
491 | - .flags.using_qmatrix = frame_header->using_qmatrix, | ||
492 | - .base_q_idx = frame_header->base_q_idx, | ||
493 | - .delta_q_y_dc = frame_header->delta_q_y_dc, | ||
494 | - .diff_uv_delta = frame_header->diff_uv_delta, | ||
495 | - .delta_q_u_dc = frame_header->delta_q_u_dc, | ||
496 | - .delta_q_u_ac = frame_header->delta_q_u_ac, | ||
497 | - .delta_q_v_dc = frame_header->delta_q_v_dc, | ||
498 | - .delta_q_v_ac = frame_header->delta_q_v_ac, | ||
499 | - .qm_y = frame_header->qm_y, | ||
500 | - .qm_u = frame_header->qm_u, | ||
501 | - .qm_v = frame_header->qm_v, | ||
502 | - }, | ||
503 | - .delta_q = (StdVideoAV1MESADeltaQ) { | ||
504 | - .flags = (StdVideoAV1MESADeltaQFlags) { | ||
505 | - .delta_lf_present = frame_header->delta_lf_present, | ||
506 | - .delta_lf_multi = frame_header->delta_lf_multi, | ||
507 | - }, | ||
508 | - .delta_q_res = frame_header->delta_q_res, | ||
509 | - .delta_lf_res = frame_header->delta_lf_res, | ||
510 | - }, | ||
511 | - .loop_filter = (StdVideoAV1MESALoopFilter) { | ||
512 | - .flags = (StdVideoAV1MESALoopFilterFlags) { | ||
513 | - .delta_enabled = frame_header->loop_filter_delta_enabled, | ||
514 | - .delta_update = frame_header->loop_filter_delta_update, | ||
515 | - }, | ||
516 | - .level = { | ||
517 | - frame_header->loop_filter_level[0], frame_header->loop_filter_level[1], | ||
518 | - frame_header->loop_filter_level[2], frame_header->loop_filter_level[3], | ||
519 | - }, | ||
520 | - .sharpness = frame_header->loop_filter_sharpness, | ||
521 | - .mode_deltas = { | ||
522 | - frame_header->loop_filter_mode_deltas[0], frame_header->loop_filter_mode_deltas[1], | ||
523 | - }, | ||
524 | - }, | ||
525 | - .cdef = (StdVideoAV1MESACDEF) { | ||
526 | - .damping_minus_3 = frame_header->cdef_damping_minus_3, | ||
527 | - .bits = frame_header->cdef_bits, | ||
528 | - }, | ||
529 | - .lr = (StdVideoAV1MESALoopRestoration) { | ||
530 | - .lr_unit_shift = frame_header->lr_unit_shift, | ||
531 | - .lr_uv_shift = frame_header->lr_uv_shift, | ||
532 | - .lr_type = { frame_header->lr_type[0], frame_header->lr_type[1], frame_header->lr_type[2] }, | ||
533 | - }, | ||
534 | - .segmentation = (StdVideoAV1MESASegmentation) { | ||
535 | - .flags = (StdVideoAV1MESASegmentationFlags) { | ||
536 | - .enabled = frame_header->segmentation_enabled, | ||
537 | - .update_map = frame_header->segmentation_update_map, | ||
538 | - .temporal_update = frame_header->segmentation_temporal_update, | ||
539 | - .update_data = frame_header->segmentation_update_data, | ||
540 | - }, | ||
541 | - }, | ||
542 | - .film_grain = (StdVideoAV1MESAFilmGrainParameters) { | ||
543 | - .flags = (StdVideoAV1MESAFilmGrainFlags) { | ||
544 | - .apply_grain = apply_grain, | ||
545 | - .chroma_scaling_from_luma = film_grain->chroma_scaling_from_luma, | ||
546 | - .overlap_flag = film_grain->overlap_flag, | ||
547 | - .clip_to_restricted_range = film_grain->clip_to_restricted_range, | ||
548 | - }, | ||
549 | - .grain_scaling_minus_8 = film_grain->grain_scaling_minus_8, | ||
550 | - .ar_coeff_lag = film_grain->ar_coeff_lag, | ||
551 | - .ar_coeff_shift_minus_6 = film_grain->ar_coeff_shift_minus_6, | ||
552 | - .grain_scale_shift = film_grain->grain_scale_shift, | ||
553 | - .grain_seed = film_grain->grain_seed, | ||
554 | - .num_y_points = film_grain->num_y_points, | ||
555 | - .num_cb_points = film_grain->num_cb_points, | ||
556 | - .num_cr_points = film_grain->num_cr_points, | ||
557 | - .cb_mult = film_grain->cb_mult, | ||
558 | - .cb_luma_mult = film_grain->cb_luma_mult, | ||
559 | - .cb_offset = film_grain->cb_offset, | ||
560 | - .cr_mult = film_grain->cr_mult, | ||
561 | - .cr_luma_mult = film_grain->cr_luma_mult, | ||
562 | - .cr_offset = film_grain->cr_offset, | ||
563 | - }, | ||
564 | + .TxMode = frame_header->tx_mode, | ||
565 | + .delta_q_res = frame_header->delta_q_res, | ||
566 | + .delta_lf_res = frame_header->delta_lf_res, | ||
567 | + .SkipModeFrame[0] = s->cur_frame.skip_mode_frame_idx[0], | ||
568 | + .SkipModeFrame[1] = s->cur_frame.skip_mode_frame_idx[1], | ||
569 | + .coded_denom = frame_header->coded_denom, | ||
570 | + .pTileInfo = &ap->tile_info, | ||
571 | + .pQuantization = &ap->quantization, | ||
572 | + .pSegmentation = &ap->segmentation, | ||
573 | + .pLoopFilter = &ap->loop_filter, | ||
574 | + .pCDEF = &ap->cdef, | ||
575 | + .pLoopRestoration = &ap->loop_restoration, | ||
576 | + .pGlobalMotion = &ap->global_motion, | ||
577 | + .pFilmGrain = apply_grain ? &ap->film_grain : NULL, | ||
578 | }; | ||
579 | |||
580 | for (int i = 0; i < 64; i++) { | ||
581 | - ap->av1_frame_header.tiling.width_in_sbs_minus_1[i] = frame_header->width_in_sbs_minus_1[i]; | ||
582 | - ap->av1_frame_header.tiling.height_in_sbs_minus_1[i] = frame_header->height_in_sbs_minus_1[i]; | ||
583 | - ap->av1_frame_header.tiling.tile_start_col_sb[i] = frame_header->tile_start_col_sb[i]; | ||
584 | - ap->av1_frame_header.tiling.tile_start_row_sb[i] = frame_header->tile_start_row_sb[i]; | ||
585 | + ap->width_in_sbs_minus1[i] = frame_header->width_in_sbs_minus_1[i]; | ||
586 | + ap->height_in_sbs_minus1[i] = frame_header->height_in_sbs_minus_1[i]; | ||
587 | + ap->mi_col_starts[i] = frame_header->tile_start_col_sb[i]; | ||
588 | + ap->mi_row_starts[i] = frame_header->tile_start_row_sb[i]; | ||
589 | } | ||
590 | |||
591 | - for (int i = 0; i < 8; i++) { | ||
592 | - ap->av1_frame_header.segmentation.feature_enabled_bits[i] = 0; | ||
593 | - for (int j = 0; j < 8; j++) { | ||
594 | - ap->av1_frame_header.segmentation.feature_enabled_bits[i] |= (frame_header->feature_enabled[i][j] << j); | ||
595 | - ap->av1_frame_header.segmentation.feature_data[i][j] = frame_header->feature_value[i][j]; | ||
596 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_SEGMENTS; i++) { | ||
597 | + ap->segmentation.FeatureEnabled[i] = 0x0; | ||
598 | + for (int j = 0; j < STD_VIDEO_AV1_SEG_LVL_MAX; j++) { | ||
599 | + ap->segmentation.FeatureEnabled[i] |= (frame_header->feature_enabled[i][j] << j); | ||
600 | + ap->segmentation.FeatureData[i][j] = frame_header->feature_value[i][j]; | ||
601 | } | ||
602 | - | ||
603 | - ap->av1_frame_header.loop_filter.ref_deltas[i] = frame_header->loop_filter_ref_deltas[i]; | ||
604 | - | ||
605 | - ap->av1_frame_header.cdef.y_pri_strength[i] = frame_header->cdef_y_pri_strength[i]; | ||
606 | - ap->av1_frame_header.cdef.y_sec_strength[i] = frame_header->cdef_y_sec_strength[i]; | ||
607 | - ap->av1_frame_header.cdef.uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i]; | ||
608 | - ap->av1_frame_header.cdef.uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i]; | ||
609 | - | ||
610 | - ap->av1_frame_header.ref_order_hint[i] = frame_header->ref_order_hint[i]; | ||
611 | - ap->av1_frame_header.global_motion[i] = (StdVideoAV1MESAGlobalMotion) { | ||
612 | - .flags = (StdVideoAV1MESAGlobalMotionFlags) { | ||
613 | - .gm_invalid = s->cur_frame.gm_invalid[i], | ||
614 | - }, | ||
615 | - .gm_type = s->cur_frame.gm_type[i], | ||
616 | - .gm_params = { | ||
617 | - s->cur_frame.gm_params[i][0], s->cur_frame.gm_params[i][1], | ||
618 | - s->cur_frame.gm_params[i][2], s->cur_frame.gm_params[i][3], | ||
619 | - s->cur_frame.gm_params[i][4], s->cur_frame.gm_params[i][5], | ||
620 | - }, | ||
621 | - }; | ||
622 | } | ||
623 | |||
624 | - for (int i = 0; i < 7; i++) { | ||
625 | - ap->av1_frame_header.ref_frame_idx[i] = frame_header->ref_frame_idx[i]; | ||
626 | - ap->av1_frame_header.delta_frame_id_minus1[i] = frame_header->delta_frame_id_minus1[i]; | ||
627 | + for (int i = 0; i < STD_VIDEO_AV1_TOTAL_REFS_PER_FRAME; i++) | ||
628 | + ap->loop_filter.loop_filter_ref_deltas[i] = frame_header->loop_filter_ref_deltas[i]; | ||
629 | + | ||
630 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS; i++) { | ||
631 | + ap->cdef.cdef_y_pri_strength[i] = frame_header->cdef_y_pri_strength[i]; | ||
632 | + ap->cdef.cdef_y_sec_strength[i] = frame_header->cdef_y_sec_strength[i]; | ||
633 | + ap->cdef.cdef_uv_pri_strength[i] = frame_header->cdef_uv_pri_strength[i]; | ||
634 | + ap->cdef.cdef_uv_sec_strength[i] = frame_header->cdef_uv_sec_strength[i]; | ||
635 | } | ||
636 | |||
637 | - ap->av1_pic_info.skip_mode_frame_idx[0] = s->cur_frame.skip_mode_frame_idx[0]; | ||
638 | - ap->av1_pic_info.skip_mode_frame_idx[1] = s->cur_frame.skip_mode_frame_idx[1]; | ||
639 | + for (int i = 0; i < STD_VIDEO_AV1_NUM_REF_FRAMES; i++) { | ||
640 | + ap->std_pic_info.OrderHints[i] = frame_header->ref_order_hint[i]; | ||
641 | + ap->global_motion.GmType[i] = s->cur_frame.gm_type[i]; | ||
642 | + for (int j = 0; j < STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS; j++) { | ||
643 | + ap->global_motion.gm_params[i][j] = s->cur_frame.gm_params[i][j]; | ||
644 | + } | ||
645 | + } | ||
646 | |||
647 | if (apply_grain) { | ||
648 | - for (int i = 0; i < 14; i++) { | ||
649 | - ap->av1_frame_header.film_grain.point_y_value[i] = film_grain->point_y_value[i]; | ||
650 | - ap->av1_frame_header.film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i]; | ||
651 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_NUM_Y_POINTS; i++) { | ||
652 | + ap->film_grain.point_y_value[i] = film_grain->point_y_value[i]; | ||
653 | + ap->film_grain.point_y_scaling[i] = film_grain->point_y_scaling[i]; | ||
654 | } | ||
655 | |||
656 | - for (int i = 0; i < 10; i++) { | ||
657 | - ap->av1_frame_header.film_grain.point_cb_value[i] = film_grain->point_cb_value[i]; | ||
658 | - ap->av1_frame_header.film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i]; | ||
659 | - ap->av1_frame_header.film_grain.point_cr_value[i] = film_grain->point_cr_value[i]; | ||
660 | - ap->av1_frame_header.film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i]; | ||
661 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_NUM_CB_POINTS; i++) { | ||
662 | + ap->film_grain.point_cb_value[i] = film_grain->point_cb_value[i]; | ||
663 | + ap->film_grain.point_cb_scaling[i] = film_grain->point_cb_scaling[i]; | ||
664 | + ap->film_grain.point_cr_value[i] = film_grain->point_cr_value[i]; | ||
665 | + ap->film_grain.point_cr_scaling[i] = film_grain->point_cr_scaling[i]; | ||
666 | } | ||
667 | |||
668 | - for (int i = 0; i < 24; i++) { | ||
669 | - ap->av1_frame_header.film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i]; | ||
670 | - ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i]; | ||
671 | - ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i]; | ||
672 | - } | ||
673 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_NUM_POS_LUMA; i++) | ||
674 | + ap->film_grain.ar_coeffs_y_plus_128[i] = film_grain->ar_coeffs_y_plus_128[i]; | ||
675 | |||
676 | - ap->av1_frame_header.film_grain.ar_coeffs_cb_plus_128[24] = film_grain->ar_coeffs_cb_plus_128[24]; | ||
677 | - ap->av1_frame_header.film_grain.ar_coeffs_cr_plus_128[24] = film_grain->ar_coeffs_cr_plus_128[24]; | ||
678 | + for (int i = 0; i < STD_VIDEO_AV1_MAX_NUM_POS_CHROMA; i++) { | ||
679 | + ap->film_grain.ar_coeffs_cb_plus_128[i] = film_grain->ar_coeffs_cb_plus_128[i]; | ||
680 | + ap->film_grain.ar_coeffs_cr_plus_128[i] = film_grain->ar_coeffs_cr_plus_128[i]; | ||
681 | + } | ||
682 | } | ||
683 | |||
684 | - /* Workaround for a spec issue. */ | ||
685 | ap->dec = dec; | ||
686 | |||
687 | return 0; | ||
688 | @@ -484,25 +545,20 @@ static int vk_av1_decode_slice(AVCodecContext *avctx, | ||
689 | AV1VulkanDecodePicture *ap = s->cur_frame.hwaccel_picture_private; | ||
690 | FFVulkanDecodePicture *vp = &ap->vp; | ||
691 | |||
692 | + /* Too many tiles, exceeding all defined levels in the AV1 spec */ | ||
693 | + if (ap->av1_pic_info.tileCount > MAX_TILES) | ||
694 | + return AVERROR(ENOSYS); | ||
695 | + | ||
696 | for (int i = s->tg_start; i <= s->tg_end; i++) { | ||
697 | - ap->tiles[ap->tile_list.nb_tiles] = (StdVideoAV1MESATile) { | ||
698 | - .size = s->tile_group_info[i].tile_size, | ||
699 | - .offset = s->tile_group_info[i].tile_offset, | ||
700 | - .row = s->tile_group_info[i].tile_row, | ||
701 | - .column = s->tile_group_info[i].tile_column, | ||
702 | - .tg_start = s->tg_start, | ||
703 | - .tg_end = s->tg_end, | ||
704 | - }; | ||
705 | + ap->tile_sizes[ap->av1_pic_info.tileCount] = s->tile_group_info[i].tile_size; | ||
706 | |||
707 | err = ff_vk_decode_add_slice(avctx, vp, | ||
708 | data + s->tile_group_info[i].tile_offset, | ||
709 | s->tile_group_info[i].tile_size, 0, | ||
710 | - &ap->tile_list.nb_tiles, | ||
711 | - &ap->tile_offsets); | ||
712 | + &ap->av1_pic_info.tileCount, | ||
713 | + &ap->av1_pic_info.pTileOffsets); | ||
714 | if (err < 0) | ||
715 | return err; | ||
716 | - | ||
717 | - ap->tiles[ap->tile_list.nb_tiles - 1].offset = ap->tile_offsets[ap->tile_list.nb_tiles - 1]; | ||
718 | } | ||
719 | |||
720 | return 0; | ||
721 | @@ -518,7 +574,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx) | ||
722 | FFVulkanDecodePicture *rvp[AV1_NUM_REF_FRAMES] = { 0 }; | ||
723 | AVFrame *rav[AV1_NUM_REF_FRAMES] = { 0 }; | ||
724 | |||
725 | - if (!ap->tile_list.nb_tiles) | ||
726 | + if (!ap->av1_pic_info.tileCount) | ||
727 | return 0; | ||
728 | |||
729 | if (!dec->session_params) { | ||
730 | @@ -536,7 +592,7 @@ static int vk_av1_end_frame(AVCodecContext *avctx) | ||
731 | } | ||
732 | |||
733 | av_log(avctx, AV_LOG_VERBOSE, "Decoding frame, %"SIZE_SPECIFIER" bytes, %i tiles\n", | ||
734 | - vp->slices_size, ap->tile_list.nb_tiles); | ||
735 | + vp->slices_size, ap->av1_pic_info.tileCount); | ||
736 | |||
737 | return ff_vk_decode_frame(avctx, pic->f, vp, rav, rvp); | ||
738 | } | ||
739 | @@ -580,8 +636,6 @@ const FFHWAccel ff_av1_vulkan_hwaccel = { | ||
740 | * flexibility, this index cannot be present anywhere. | ||
741 | * The current implementation tracks the index for the driver and submits it | ||
742 | * as necessary information. Due to needing to modify the decoding context, | ||
743 | - * which is not thread-safe, on frame free, threading is disabled. | ||
744 | - * In the future, once this is fixed in the spec, the workarounds may be removed | ||
745 | - * and threading enabled. */ | ||
746 | + * which is not thread-safe, on frame free, threading is disabled. */ | ||
747 | .caps_internal = HWACCEL_CAP_ASYNC_SAFE, | ||
748 | }; | ||
749 | diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c | ||
750 | index 91929d165f..4561f26b62 100644 | ||
751 | --- a/libavcodec/vulkan_decode.c | ||
752 | +++ b/libavcodec/vulkan_decode.c | ||
753 | @@ -61,7 +61,7 @@ static const VkVideoProfileInfoKHR *get_video_profile(FFVulkanDecodeShared *ctx, | ||
754 | VkStructureType profile_struct_type = | ||
755 | codec_id == AV_CODEC_ID_H264 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_H264_PROFILE_INFO_KHR : | ||
756 | codec_id == AV_CODEC_ID_HEVC ? VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_PROFILE_INFO_KHR : | ||
757 | - codec_id == AV_CODEC_ID_AV1 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA : | ||
758 | + codec_id == AV_CODEC_ID_AV1 ? VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR : | ||
759 | 0; | ||
760 | |||
761 | profile_list = ff_vk_find_struct(ctx->s.hwfc->create_pnext, | ||
762 | @@ -674,7 +674,7 @@ static VkResult vulkan_setup_profile(AVCodecContext *avctx, | ||
763 | const struct FFVkCodecMap *vk_codec, | ||
764 | VkVideoDecodeH264CapabilitiesKHR *h264_caps, | ||
765 | VkVideoDecodeH265CapabilitiesKHR *h265_caps, | ||
766 | - VkVideoDecodeAV1CapabilitiesMESA *av1_caps, | ||
767 | + VkVideoDecodeAV1CapabilitiesKHR *av1_caps, | ||
768 | VkVideoCapabilitiesKHR *caps, | ||
769 | VkVideoDecodeCapabilitiesKHR *dec_caps, | ||
770 | int cur_profile) | ||
771 | @@ -685,7 +685,7 @@ static VkResult vulkan_setup_profile(AVCodecContext *avctx, | ||
772 | |||
773 | VkVideoDecodeH264ProfileInfoKHR *h264_profile = &prof->h264_profile; | ||
774 | VkVideoDecodeH265ProfileInfoKHR *h265_profile = &prof->h265_profile; | ||
775 | - VkVideoDecodeAV1ProfileInfoMESA *av1_profile = &prof->av1_profile; | ||
776 | + VkVideoDecodeAV1ProfileInfoKHR *av1_profile = &prof->av1_profile; | ||
777 | |||
778 | const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(avctx->sw_pix_fmt); | ||
779 | if (!desc) | ||
780 | @@ -713,8 +713,9 @@ static VkResult vulkan_setup_profile(AVCodecContext *avctx, | ||
781 | } else if (avctx->codec_id == AV_CODEC_ID_AV1) { | ||
782 | dec_caps->pNext = av1_caps; | ||
783 | usage->pNext = av1_profile; | ||
784 | - av1_profile->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA; | ||
785 | - av1_profile->stdProfileIdc = cur_profile; | ||
786 | + av1_profile->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_KHR; | ||
787 | + av1_profile->stdProfile = cur_profile; | ||
788 | + av1_profile->filmGrainSupport = !(avctx->export_side_data & AV_CODEC_EXPORT_DATA_FILM_GRAIN); | ||
789 | } | ||
790 | |||
791 | usage->sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_USAGE_INFO_KHR; | ||
792 | @@ -769,8 +770,8 @@ static int vulkan_decode_get_profile(AVCodecContext *avctx, AVBufferRef *frames_ | ||
793 | VkVideoDecodeH265CapabilitiesKHR h265_caps = { | ||
794 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_CAPABILITIES_KHR, | ||
795 | }; | ||
796 | - VkVideoDecodeAV1CapabilitiesMESA av1_caps = { | ||
797 | - .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA, | ||
798 | + VkVideoDecodeAV1CapabilitiesKHR av1_caps = { | ||
799 | + .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_KHR, | ||
800 | }; | ||
801 | |||
802 | VkPhysicalDeviceVideoFormatInfoKHR fmt_info = { | ||
803 | @@ -789,7 +790,7 @@ static int vulkan_decode_get_profile(AVCodecContext *avctx, AVBufferRef *frames_ | ||
804 | cur_profile = avctx->profile; | ||
805 | base_profile = avctx->codec_id == AV_CODEC_ID_H264 ? AV_PROFILE_H264_CONSTRAINED_BASELINE : | ||
806 | avctx->codec_id == AV_CODEC_ID_H265 ? AV_PROFILE_HEVC_MAIN : | ||
807 | - avctx->codec_id == AV_CODEC_ID_AV1 ? STD_VIDEO_AV1_MESA_PROFILE_MAIN : | ||
808 | + avctx->codec_id == AV_CODEC_ID_AV1 ? STD_VIDEO_AV1_PROFILE_MAIN : | ||
809 | 0; | ||
810 | |||
811 | ret = vulkan_setup_profile(avctx, prof, hwctx, vk, vk_codec, | ||
812 | @@ -837,7 +838,7 @@ static int vulkan_decode_get_profile(AVCodecContext *avctx, AVBufferRef *frames_ | ||
813 | |||
814 | max_level = avctx->codec_id == AV_CODEC_ID_H264 ? ff_vk_h264_level_to_av(h264_caps.maxLevelIdc) : | ||
815 | avctx->codec_id == AV_CODEC_ID_H265 ? ff_vk_h265_level_to_av(h265_caps.maxLevelIdc) : | ||
816 | - avctx->codec_id == AV_CODEC_ID_AV1 ? av1_caps.maxLevelIdc : | ||
817 | + avctx->codec_id == AV_CODEC_ID_AV1 ? av1_caps.maxLevel : | ||
818 | 0; | ||
819 | |||
820 | av_log(avctx, AV_LOG_VERBOSE, "Decoder capabilities for %s profile \"%s\":\n", | ||
821 | @@ -908,17 +909,11 @@ static int vulkan_decode_get_profile(AVCodecContext *avctx, AVBufferRef *frames_ | ||
822 | "VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR set " | ||
823 | "but VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR is unset!\n"); | ||
824 | return AVERROR_EXTERNAL; | ||
825 | - } else if (!(dec_caps->flags & VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR) && | ||
826 | - avctx->codec_id == AV_CODEC_ID_AV1) { | ||
827 | - av_log(avctx, AV_LOG_ERROR, "Cannot initialize Vulkan decoding session, buggy driver: " | ||
828 | - "codec is AV1, but VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_DISTINCT_BIT_KHR isn't set!\n"); | ||
829 | - return AVERROR_EXTERNAL; | ||
830 | } | ||
831 | |||
832 | /* TODO: make dedicated_dpb tunable */ | ||
833 | dec->dedicated_dpb = !(dec_caps->flags & VK_VIDEO_DECODE_CAPABILITY_DPB_AND_OUTPUT_COINCIDE_BIT_KHR); | ||
834 | dec->layered_dpb = !(caps->flags & VK_VIDEO_CAPABILITY_SEPARATE_REFERENCE_IMAGES_BIT_KHR); | ||
835 | - dec->external_fg = av1_caps.flags & VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA; | ||
836 | |||
837 | if (dec->dedicated_dpb) { | ||
838 | fmt_info.imageUsage = VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR; | ||
839 | @@ -1126,8 +1121,10 @@ int ff_vk_decode_init(AVCodecContext *avctx) | ||
840 | VkVideoDecodeH265SessionParametersCreateInfoKHR h265_params = { | ||
841 | .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_H265_SESSION_PARAMETERS_CREATE_INFO_KHR, | ||
842 | }; | ||
843 | - VkVideoDecodeAV1SessionParametersCreateInfoMESA av1_params = { | ||
844 | - .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA, | ||
845 | + StdVideoAV1SequenceHeader av1_empty_seq = { 0 }; | ||
846 | + VkVideoDecodeAV1SessionParametersCreateInfoKHR av1_params = { | ||
847 | + .sType = VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_KHR, | ||
848 | + .pStdSequenceHeader = &av1_empty_seq, | ||
849 | }; | ||
850 | VkVideoSessionParametersCreateInfoKHR session_params_create = { | ||
851 | .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, | ||
852 | diff --git a/libavcodec/vulkan_decode.h b/libavcodec/vulkan_decode.h | ||
853 | index a43e328d73..7ba8b239cb 100644 | ||
854 | --- a/libavcodec/vulkan_decode.h | ||
855 | +++ b/libavcodec/vulkan_decode.h | ||
856 | @@ -37,7 +37,7 @@ typedef struct FFVulkanDecodeDescriptor { | ||
857 | typedef struct FFVulkanDecodeProfileData { | ||
858 | VkVideoDecodeH264ProfileInfoKHR h264_profile; | ||
859 | VkVideoDecodeH265ProfileInfoKHR h265_profile; | ||
860 | - VkVideoDecodeAV1ProfileInfoMESA av1_profile; | ||
861 | + VkVideoDecodeAV1ProfileInfoKHR av1_profile; | ||
862 | VkVideoDecodeUsageInfoKHR usage; | ||
863 | VkVideoProfileInfoKHR profile; | ||
864 | VkVideoProfileListInfoKHR profile_list; | ||
865 | diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h | ||
866 | index bb69e920bb..01a1de7d9d 100644 | ||
867 | --- a/libavcodec/vulkan_video.h | ||
868 | +++ b/libavcodec/vulkan_video.h | ||
869 | @@ -22,8 +22,6 @@ | ||
870 | #include "vulkan.h" | ||
871 | |||
872 | #include <vk_video/vulkan_video_codecs_common.h> | ||
873 | -#include "vulkan_video_codec_av1std.h" | ||
874 | -#include "vulkan_video_codec_av1std_decode.h" | ||
875 | |||
876 | #define CODEC_VER_MAJ(ver) (ver >> 22) | ||
877 | #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1)) | ||
878 | diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode.h | ||
879 | deleted file mode 100644 | ||
880 | index e2f37b4e6e..0000000000 | ||
881 | --- a/libavcodec/vulkan_video_codec_av1std_decode.h | ||
882 | +++ /dev/null | ||
883 | @@ -1,36 +0,0 @@ | ||
884 | -/* Copyright 2023 Lynne | ||
885 | - * Copyright 2023 Dave Airlie | ||
886 | - * | ||
887 | - * Licensed under the Apache License, Version 2.0 (the "License"); | ||
888 | - * you may not use this file except in compliance with the License. | ||
889 | - * You may obtain a copy of the License at | ||
890 | - * | ||
891 | - * http://www.apache.org/licenses/LICENSE-2.0 | ||
892 | - * | ||
893 | - * Unless required by applicable law or agreed to in writing, software | ||
894 | - * distributed under the License is distributed on an "AS IS" BASIS, | ||
895 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
896 | - * See the License for the specific language governing permissions and | ||
897 | - * limitations under the License. | ||
898 | - */ | ||
899 | - | ||
900 | -#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ | ||
901 | -#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1 | ||
902 | - | ||
903 | -/* | ||
904 | -** This header is NOT YET generated from the Khronos Vulkan XML API Registry. | ||
905 | -** | ||
906 | -*/ | ||
907 | - | ||
908 | -#ifdef __cplusplus | ||
909 | -extern "C" { | ||
910 | -#endif | ||
911 | -#define vulkan_video_codec_av1std_decode 1 | ||
912 | - | ||
913 | - | ||
914 | - | ||
915 | -#ifdef __cplusplus | ||
916 | -} | ||
917 | -#endif | ||
918 | - | ||
919 | -#endif | ||
920 | diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std.h | ||
921 | deleted file mode 100644 | ||
922 | index c91589eee2..0000000000 | ||
923 | --- a/libavcodec/vulkan_video_codec_av1std.h | ||
924 | +++ /dev/null | ||
925 | @@ -1,403 +0,0 @@ | ||
926 | -/* Copyright 2023 Lynne | ||
927 | - * Copyright 2023 Dave Airlie | ||
928 | - * | ||
929 | - * Licensed under the Apache License, Version 2.0 (the "License"); | ||
930 | - * you may not use this file except in compliance with the License. | ||
931 | - * You may obtain a copy of the License at | ||
932 | - * | ||
933 | - * http://www.apache.org/licenses/LICENSE-2.0 | ||
934 | - * | ||
935 | - * Unless required by applicable law or agreed to in writing, software | ||
936 | - * distributed under the License is distributed on an "AS IS" BASIS, | ||
937 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
938 | - * See the License for the specific language governing permissions and | ||
939 | - * limitations under the License. | ||
940 | - */ | ||
941 | - | ||
942 | -#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_ | ||
943 | -#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 | ||
944 | - | ||
945 | -/* | ||
946 | -** This header is NOT YET generated from the Khronos Vulkan XML API Registry. | ||
947 | -** | ||
948 | -*/ | ||
949 | - | ||
950 | -#ifdef __cplusplus | ||
951 | -extern "C" { | ||
952 | -#endif | ||
953 | -#define vulkan_video_codec_av1std 1 | ||
954 | - | ||
955 | -#define VK_MAKE_VIDEO_STD_VERSION(major, minor, patch) \ | ||
956 | - ((((uint32_t)(major)) << 22) | (((uint32_t)(minor)) << 12) | ((uint32_t)(patch))) | ||
957 | -#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0 VK_MAKE_VIDEO_STD_VERSION(0, 1, 0) | ||
958 | -#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_0_1_0 | ||
959 | -#define VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME "VK_STD_vulkan_video_codec_av1_decode" | ||
960 | - | ||
961 | -typedef enum StdVideoAV1MESAProfile { | ||
962 | - STD_VIDEO_AV1_MESA_PROFILE_MAIN = 0, | ||
963 | - STD_VIDEO_AV1_MESA_PROFILE_HIGH = 1, | ||
964 | - STD_VIDEO_AV1_MESA_PROFILE_PROFESSIONAL = 2, | ||
965 | -} StdVideoAV1MESAProfile; | ||
966 | - | ||
967 | -typedef enum StdVideoAV1MESALevel { | ||
968 | - STD_VIDEO_AV1_MESA_LEVEL_2_0 = 0, | ||
969 | - STD_VIDEO_AV1_MESA_LEVEL_2_1 = 1, | ||
970 | - STD_VIDEO_AV1_MESA_LEVEL_2_2 = 2, | ||
971 | - STD_VIDEO_AV1_MESA_LEVEL_2_3 = 3, | ||
972 | - STD_VIDEO_AV1_MESA_LEVEL_3_0 = 4, | ||
973 | - STD_VIDEO_AV1_MESA_LEVEL_3_1 = 5, | ||
974 | - STD_VIDEO_AV1_MESA_LEVEL_3_2 = 6, | ||
975 | - STD_VIDEO_AV1_MESA_LEVEL_3_3 = 7, | ||
976 | - STD_VIDEO_AV1_MESA_LEVEL_4_0 = 8, | ||
977 | - STD_VIDEO_AV1_MESA_LEVEL_4_1 = 9, | ||
978 | - STD_VIDEO_AV1_MESA_LEVEL_4_2 = 10, | ||
979 | - STD_VIDEO_AV1_MESA_LEVEL_4_3 = 11, | ||
980 | - STD_VIDEO_AV1_MESA_LEVEL_5_0 = 12, | ||
981 | - STD_VIDEO_AV1_MESA_LEVEL_5_1 = 13, | ||
982 | - STD_VIDEO_AV1_MESA_LEVEL_5_2 = 14, | ||
983 | - STD_VIDEO_AV1_MESA_LEVEL_5_3 = 15, | ||
984 | - STD_VIDEO_AV1_MESA_LEVEL_6_0 = 16, | ||
985 | - STD_VIDEO_AV1_MESA_LEVEL_6_1 = 17, | ||
986 | - STD_VIDEO_AV1_MESA_LEVEL_6_2 = 18, | ||
987 | - STD_VIDEO_AV1_MESA_LEVEL_6_3 = 19, | ||
988 | - STD_VIDEO_AV1_MESA_LEVEL_7_0 = 20, | ||
989 | - STD_VIDEO_AV1_MESA_LEVEL_7_1 = 21, | ||
990 | - STD_VIDEO_AV1_MESA_LEVEL_7_2 = 22, | ||
991 | - STD_VIDEO_AV1_MESA_LEVEL_7_3 = 23, | ||
992 | - STD_VIDEO_AV1_MESA_LEVEL_MAX = 31, | ||
993 | -} StdVideoAV1MESALevel; | ||
994 | - | ||
995 | -typedef struct StdVideoAV1MESAFilmGrainFlags { | ||
996 | - uint8_t apply_grain; | ||
997 | - uint8_t chroma_scaling_from_luma; | ||
998 | - uint8_t overlap_flag; | ||
999 | - uint8_t clip_to_restricted_range; | ||
1000 | -} StdVideoAV1MESAFilmGrainFlags; | ||
1001 | - | ||
1002 | -typedef struct StdVideoAV1MESAFilmGrainParameters { | ||
1003 | - StdVideoAV1MESAFilmGrainFlags flags; | ||
1004 | - uint32_t grain_scaling_minus_8; | ||
1005 | - uint32_t ar_coeff_lag; | ||
1006 | - uint32_t ar_coeff_shift_minus_6; | ||
1007 | - uint32_t grain_scale_shift; | ||
1008 | - | ||
1009 | - uint16_t grain_seed; | ||
1010 | - uint8_t num_y_points; | ||
1011 | - uint8_t point_y_value[14]; | ||
1012 | - uint8_t point_y_scaling[14]; | ||
1013 | - | ||
1014 | - uint8_t num_cb_points; | ||
1015 | - uint8_t point_cb_value[10]; | ||
1016 | - uint8_t point_cb_scaling[10]; | ||
1017 | - | ||
1018 | - uint8_t num_cr_points; | ||
1019 | - uint8_t point_cr_value[10]; | ||
1020 | - uint8_t point_cr_scaling[10]; | ||
1021 | - | ||
1022 | - int8_t ar_coeffs_y_plus_128[24]; | ||
1023 | - int8_t ar_coeffs_cb_plus_128[25]; | ||
1024 | - int8_t ar_coeffs_cr_plus_128[25]; | ||
1025 | - uint8_t cb_mult; | ||
1026 | - uint8_t cb_luma_mult; | ||
1027 | - uint16_t cb_offset; | ||
1028 | - uint8_t cr_mult; | ||
1029 | - uint8_t cr_luma_mult; | ||
1030 | - uint16_t cr_offset; | ||
1031 | -} StdVideoAV1MESAFilmGrainParameters; | ||
1032 | - | ||
1033 | -typedef struct StdVideoAV1MESAGlobalMotionFlags { | ||
1034 | - uint8_t gm_invalid; | ||
1035 | -} StdVideoAV1MESAGlobalMotionFlags; | ||
1036 | - | ||
1037 | -typedef struct StdVideoAV1MESAGlobalMotion { | ||
1038 | - StdVideoAV1MESAGlobalMotionFlags flags; | ||
1039 | - uint8_t gm_type; | ||
1040 | - uint32_t gm_params[6]; | ||
1041 | -} StdVideoAV1MESAGlobalMotion; | ||
1042 | - | ||
1043 | -typedef struct StdVideoAV1MESALoopRestoration { | ||
1044 | - uint8_t lr_type[3]; | ||
1045 | - uint8_t lr_unit_shift; | ||
1046 | - uint8_t lr_uv_shift; | ||
1047 | -} StdVideoAV1MESALoopRestoration; | ||
1048 | - | ||
1049 | -typedef struct StdVideoAV1MESATileInfoFlags { | ||
1050 | - uint8_t uniform_tile_spacing_flag; | ||
1051 | -} StdVideoAV1MESATileInfoFlags; | ||
1052 | - | ||
1053 | -typedef struct StdVideoAV1MESATileInfo { | ||
1054 | - StdVideoAV1MESATileInfoFlags flags; | ||
1055 | - uint8_t tile_cols; | ||
1056 | - uint8_t tile_rows; | ||
1057 | - uint8_t tile_start_col_sb[64]; | ||
1058 | - uint8_t tile_start_row_sb[64]; | ||
1059 | - uint8_t width_in_sbs_minus_1[64]; | ||
1060 | - uint8_t height_in_sbs_minus_1[64]; | ||
1061 | - uint16_t context_update_tile_id; | ||
1062 | - uint8_t tile_size_bytes_minus1; | ||
1063 | -} StdVideoAV1MESATileInfo; | ||
1064 | - | ||
1065 | -typedef struct StdVideoAV1MESAQuantizationFlags { | ||
1066 | - uint8_t using_qmatrix; | ||
1067 | -} StdVideoAV1MESAQuantizationFlags; | ||
1068 | - | ||
1069 | -typedef struct StdVideoAV1MESAQuantization { | ||
1070 | - StdVideoAV1MESAQuantizationFlags flags; | ||
1071 | - uint8_t base_q_idx; | ||
1072 | - int8_t delta_q_y_dc; | ||
1073 | - uint8_t diff_uv_delta; | ||
1074 | - int8_t delta_q_u_dc; | ||
1075 | - int8_t delta_q_u_ac; | ||
1076 | - int8_t delta_q_v_dc; | ||
1077 | - int8_t delta_q_v_ac; | ||
1078 | - uint8_t qm_y; | ||
1079 | - uint8_t qm_u; | ||
1080 | - uint8_t qm_v; | ||
1081 | -} StdVideoAV1MESAQuantization; | ||
1082 | - | ||
1083 | -typedef struct StdVideoAV1MESACDEF { | ||
1084 | - uint8_t damping_minus_3; | ||
1085 | - uint8_t bits; | ||
1086 | - uint8_t y_pri_strength[8]; | ||
1087 | - uint8_t y_sec_strength[8]; | ||
1088 | - uint8_t uv_pri_strength[8]; | ||
1089 | - uint8_t uv_sec_strength[8]; | ||
1090 | -} StdVideoAV1MESACDEF; | ||
1091 | - | ||
1092 | -typedef struct StdVideoAV1MESADeltaQFlags { | ||
1093 | - uint8_t delta_lf_present; | ||
1094 | - uint8_t delta_lf_multi; | ||
1095 | -} StdVideoAV1MESADeltaQFlags; | ||
1096 | - | ||
1097 | -typedef struct StdVideoAV1MESADeltaQ { | ||
1098 | - StdVideoAV1MESADeltaQFlags flags; | ||
1099 | - uint8_t delta_q_res; | ||
1100 | - uint8_t delta_lf_res; | ||
1101 | -} StdVideoAV1MESADeltaQ; | ||
1102 | - | ||
1103 | -typedef struct StdVideoAV1MESASegmentationFlags { | ||
1104 | - uint8_t enabled; | ||
1105 | - uint8_t update_map; | ||
1106 | - uint8_t temporal_update; | ||
1107 | - uint8_t update_data; | ||
1108 | -} StdVideoAV1MESASegmentationFlags; | ||
1109 | - | ||
1110 | -typedef struct StdVideoAV1MESASegmentation { | ||
1111 | - StdVideoAV1MESASegmentationFlags flags; | ||
1112 | - uint8_t feature_enabled_bits[8]; | ||
1113 | - int16_t feature_data[8][8]; | ||
1114 | -} StdVideoAV1MESASegmentation; | ||
1115 | - | ||
1116 | -typedef struct StdVideoAV1MESALoopFilterFlags { | ||
1117 | - uint8_t delta_enabled; | ||
1118 | - uint8_t delta_update; | ||
1119 | -} StdVideoAV1MESALoopFilterFlags; | ||
1120 | - | ||
1121 | -typedef struct StdVideoAV1MESALoopFilter { | ||
1122 | - StdVideoAV1MESALoopFilterFlags flags; | ||
1123 | - uint8_t level[4]; | ||
1124 | - uint8_t sharpness; | ||
1125 | - int8_t ref_deltas[8]; | ||
1126 | - int8_t mode_deltas[2]; | ||
1127 | -} StdVideoAV1MESALoopFilter; | ||
1128 | - | ||
1129 | -typedef struct StdVideoAV1MESAFrameHeaderFlags { | ||
1130 | - uint8_t error_resilient_mode; | ||
1131 | - uint8_t disable_cdf_update; | ||
1132 | - uint8_t use_superres; | ||
1133 | - uint8_t render_and_frame_size_different; | ||
1134 | - uint8_t allow_screen_content_tools; | ||
1135 | - uint8_t is_filter_switchable; | ||
1136 | - uint8_t force_integer_mv; | ||
1137 | - uint8_t frame_size_override_flag; | ||
1138 | - uint8_t buffer_removal_time_present_flag; | ||
1139 | - uint8_t allow_intrabc; | ||
1140 | - uint8_t frame_refs_short_signaling; | ||
1141 | - uint8_t allow_high_precision_mv; | ||
1142 | - uint8_t is_motion_mode_switchable; | ||
1143 | - uint8_t use_ref_frame_mvs; | ||
1144 | - uint8_t disable_frame_end_update_cdf; | ||
1145 | - uint8_t allow_warped_motion; | ||
1146 | - uint8_t reduced_tx_set; | ||
1147 | - uint8_t reference_select; | ||
1148 | - uint8_t skip_mode_present; | ||
1149 | - uint8_t delta_q_present; | ||
1150 | - uint8_t UsesLr; | ||
1151 | -} StdVideoAV1MESAFrameHeaderFlags; | ||
1152 | - | ||
1153 | -typedef struct StdVideoAV1MESAFrameHeader { | ||
1154 | - StdVideoAV1MESAFrameHeaderFlags flags; | ||
1155 | - | ||
1156 | - uint32_t frame_presentation_time; | ||
1157 | - uint32_t display_frame_id; | ||
1158 | - uint32_t current_frame_id; | ||
1159 | - uint8_t frame_to_show_map_idx; | ||
1160 | - uint8_t frame_type; | ||
1161 | - uint8_t order_hint; | ||
1162 | - uint8_t primary_ref_frame; | ||
1163 | - uint16_t frame_width_minus_1; | ||
1164 | - uint16_t frame_height_minus_1; | ||
1165 | - uint16_t render_width_minus_1; | ||
1166 | - uint16_t render_height_minus_1; | ||
1167 | - uint8_t coded_denom; | ||
1168 | - | ||
1169 | - uint8_t refresh_frame_flags; | ||
1170 | - uint8_t ref_order_hint[8]; | ||
1171 | - int8_t ref_frame_idx[7]; | ||
1172 | - uint32_t delta_frame_id_minus1[7]; | ||
1173 | - | ||
1174 | - uint8_t interpolation_filter; | ||
1175 | - uint8_t tx_mode; | ||
1176 | - | ||
1177 | - StdVideoAV1MESATileInfo tiling; | ||
1178 | - StdVideoAV1MESAQuantization quantization; | ||
1179 | - StdVideoAV1MESASegmentation segmentation; | ||
1180 | - StdVideoAV1MESADeltaQ delta_q; | ||
1181 | - StdVideoAV1MESALoopFilter loop_filter; | ||
1182 | - StdVideoAV1MESACDEF cdef; | ||
1183 | - StdVideoAV1MESALoopRestoration lr; | ||
1184 | - StdVideoAV1MESAGlobalMotion global_motion[8]; // One per ref frame | ||
1185 | - StdVideoAV1MESAFilmGrainParameters film_grain; | ||
1186 | -} StdVideoAV1MESAFrameHeader; | ||
1187 | - | ||
1188 | -typedef struct StdVideoAV1MESAScreenCoding { | ||
1189 | - uint8_t seq_force_screen_content_tools; | ||
1190 | -} StdVideoAV1MESAScreenCoding; | ||
1191 | - | ||
1192 | -typedef struct StdVideoAV1MESATimingInfoFlags { | ||
1193 | - uint8_t equal_picture_interval; | ||
1194 | -} StdVideoAV1MESATimingInfoFlags; | ||
1195 | - | ||
1196 | -typedef struct StdVideoAV1MESATimingInfo { | ||
1197 | - StdVideoAV1MESATimingInfoFlags flags; | ||
1198 | - uint32_t num_units_in_display_tick; | ||
1199 | - uint32_t time_scale; | ||
1200 | - uint32_t num_ticks_per_picture_minus_1; | ||
1201 | -} StdVideoAV1MESATimingInfo; | ||
1202 | - | ||
1203 | -typedef struct StdVideoAV1MESAColorConfigFlags { | ||
1204 | - uint8_t mono_chrome; | ||
1205 | - uint8_t color_range; | ||
1206 | - uint8_t separate_uv_delta_q; | ||
1207 | -} StdVideoAV1MESAColorConfigFlags; | ||
1208 | - | ||
1209 | -typedef struct StdVideoAV1MESAColorConfig { | ||
1210 | - StdVideoAV1MESAColorConfigFlags flags; | ||
1211 | - uint8_t bit_depth; | ||
1212 | - uint8_t subsampling_x; | ||
1213 | - uint8_t subsampling_y; | ||
1214 | -} StdVideoAV1MESAColorConfig; | ||
1215 | - | ||
1216 | -typedef struct StdVideoAV1MESASequenceHeaderFlags { | ||
1217 | - uint8_t still_picture; | ||
1218 | - uint8_t reduced_still_picture_header; | ||
1219 | - uint8_t use_128x128_superblock; | ||
1220 | - uint8_t enable_filter_intra; | ||
1221 | - uint8_t enable_intra_edge_filter; | ||
1222 | - uint8_t enable_interintra_compound; | ||
1223 | - uint8_t enable_masked_compound; | ||
1224 | - uint8_t enable_warped_motion; | ||
1225 | - uint8_t enable_dual_filter; | ||
1226 | - uint8_t enable_order_hint; | ||
1227 | - uint8_t enable_jnt_comp; | ||
1228 | - uint8_t enable_ref_frame_mvs; | ||
1229 | - uint8_t frame_id_numbers_present_flag; | ||
1230 | - uint8_t enable_superres; | ||
1231 | - uint8_t enable_cdef; | ||
1232 | - uint8_t enable_restoration; | ||
1233 | - uint8_t film_grain_params_present; | ||
1234 | - uint8_t timing_info_present_flag; | ||
1235 | - uint8_t initial_display_delay_present_flag; | ||
1236 | -} StdVideoAV1MESASequenceHeaderFlags; | ||
1237 | - | ||
1238 | -typedef struct StdVideoAV1MESASequenceHeader { | ||
1239 | - StdVideoAV1MESASequenceHeaderFlags flags; | ||
1240 | - | ||
1241 | - StdVideoAV1MESAProfile seq_profile; | ||
1242 | - uint8_t frame_width_bits_minus_1; | ||
1243 | - uint8_t frame_height_bits_minus_1; | ||
1244 | - uint16_t max_frame_width_minus_1; | ||
1245 | - uint16_t max_frame_height_minus_1; | ||
1246 | - uint8_t delta_frame_id_length_minus_2; | ||
1247 | - uint8_t additional_frame_id_length_minus_1; | ||
1248 | - uint8_t order_hint_bits_minus_1; | ||
1249 | - uint8_t seq_choose_integer_mv; | ||
1250 | - uint8_t seq_force_integer_mv; | ||
1251 | - | ||
1252 | - StdVideoAV1MESATimingInfo timing_info; | ||
1253 | - StdVideoAV1MESAColorConfig color_config; | ||
1254 | -} StdVideoAV1MESASequenceHeader; | ||
1255 | - | ||
1256 | -typedef struct StdVideoAV1MESATile { | ||
1257 | - uint16_t tg_start; | ||
1258 | - uint16_t tg_end; | ||
1259 | - uint16_t row; | ||
1260 | - uint16_t column; | ||
1261 | - uint32_t size; | ||
1262 | - uint32_t offset; | ||
1263 | -} StdVideoAV1MESATile; | ||
1264 | - | ||
1265 | -typedef struct StdVideoAV1MESATileList { | ||
1266 | - StdVideoAV1MESATile *tile_list; | ||
1267 | - uint32_t nb_tiles; | ||
1268 | -} StdVideoAV1MESATileList; | ||
1269 | - | ||
1270 | -typedef struct VkVideoDecodeAV1PictureInfoMESA { | ||
1271 | - VkStructureType sType; | ||
1272 | - const void *pNext; | ||
1273 | - StdVideoAV1MESAFrameHeader *frame_header; | ||
1274 | - StdVideoAV1MESATileList *tile_list; | ||
1275 | - uint8_t skip_mode_frame_idx[2]; | ||
1276 | -} VkVideoDecodeAV1PictureInfoMESA; | ||
1277 | - | ||
1278 | -typedef struct VkVideoDecodeAV1DpbSlotInfoMESA { | ||
1279 | - VkStructureType sType; | ||
1280 | - const void *pNext; | ||
1281 | - uint8_t frameIdx; | ||
1282 | - uint8_t ref_order_hint[7]; | ||
1283 | - uint8_t disable_frame_end_update_cdf; | ||
1284 | -} VkVideoDecodeAV1DpbSlotInfoMESA; | ||
1285 | - | ||
1286 | -typedef struct VkVideoDecodeAV1SessionParametersAddInfoMESA { | ||
1287 | - VkStructureType sType; | ||
1288 | - const void *pNext; | ||
1289 | - StdVideoAV1MESASequenceHeader *sequence_header; | ||
1290 | -} VkVideoDecodeAV1SessionParametersAddInfoMESA; | ||
1291 | - | ||
1292 | -typedef struct VkVideoDecodeAV1SessionParametersCreateInfoMESA { | ||
1293 | - VkStructureType sType; | ||
1294 | - const void *pNext; | ||
1295 | - const VkVideoDecodeAV1SessionParametersAddInfoMESA *pParametersAddInfo; | ||
1296 | -} VkVideoDecodeAV1SessionParametersCreateInfoMESA; | ||
1297 | - | ||
1298 | -typedef struct VkVideoDecodeAV1ProfileInfoMESA { | ||
1299 | - VkStructureType sType; | ||
1300 | - const void *pNext; | ||
1301 | - StdVideoAV1MESAProfile stdProfileIdc; | ||
1302 | -} VkVideoDecodeAV1ProfileInfoMESA; | ||
1303 | - | ||
1304 | -typedef enum VkVideoDecodeAV1CapabilityFlagBitsMESA { | ||
1305 | - VK_VIDEO_DECODE_AV1_CAPABILITY_EXTERNAL_FILM_GRAIN_MESA = 0x00000001, | ||
1306 | - VK_VIDEO_DECODE_AV1_CAPABILITY_FLAG_BITS_MAX_ENUM_MESA = 0x7FFFFFFF | ||
1307 | -} VkVideoDecodeAV1CapabilityFlagBitsMESA; | ||
1308 | -typedef VkFlags VkVideoDecodeAV1CapabilityFlagsMESA; | ||
1309 | - | ||
1310 | -typedef struct VkVideoDecodeAV1CapabilitiesMESA { | ||
1311 | - VkStructureType sType; | ||
1312 | - const void *pNext; | ||
1313 | - VkVideoDecodeAV1CapabilityFlagsMESA flags; | ||
1314 | - StdVideoAV1MESALevel maxLevelIdc; | ||
1315 | -} VkVideoDecodeAV1CapabilitiesMESA; | ||
1316 | - | ||
1317 | -#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PICTURE_INFO_MESA 1000509000 | ||
1318 | -#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_CREATE_INFO_MESA 1000509001 | ||
1319 | -#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_SESSION_PARAMETERS_ADD_INFO_MESA 1000509002 | ||
1320 | -#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_DPB_SLOT_INFO_MESA 1000509003 | ||
1321 | -#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_CAPABILITIES_MESA 1000509004 | ||
1322 | -#define VK_STRUCTURE_TYPE_VIDEO_DECODE_AV1_PROFILE_INFO_MESA 1000509005 | ||
1323 | - | ||
1324 | -#ifdef __cplusplus | ||
1325 | -} | ||
1326 | -#endif | ||
1327 | - | ||
1328 | -#endif | ||
1329 | diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c | ||
1330 | index 91b9f96ccf..6e3b96b73a 100644 | ||
1331 | --- a/libavutil/hwcontext_vulkan.c | ||
1332 | +++ b/libavutil/hwcontext_vulkan.c | ||
1333 | @@ -446,7 +446,7 @@ static const VulkanOptExtension optional_device_exts[] = { | ||
1334 | { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_QUEUE }, | ||
1335 | { VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H264 }, | ||
1336 | { VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H265 }, | ||
1337 | - { "VK_MESA_video_decode_av1", FF_VK_EXT_VIDEO_DECODE_AV1 }, | ||
1338 | + { VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_AV1 }, | ||
1339 | }; | ||
1340 | |||
1341 | static VkBool32 VKAPI_CALL vk_dbg_callback(VkDebugUtilsMessageSeverityFlagBitsEXT severity, | ||
1342 | diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h | ||
1343 | index 65021b04b1..6b379acf93 100644 | ||
1344 | --- a/libavutil/vulkan_functions.h | ||
1345 | +++ b/libavutil/vulkan_functions.h | ||
1346 | @@ -43,7 +43,7 @@ typedef enum FFVulkanExtensions { | ||
1347 | FF_VK_EXT_VIDEO_DECODE_QUEUE = 1ULL << 11, /* VK_KHR_video_decode_queue */ | ||
1348 | FF_VK_EXT_VIDEO_DECODE_H264 = 1ULL << 12, /* VK_EXT_video_decode_h264 */ | ||
1349 | FF_VK_EXT_VIDEO_DECODE_H265 = 1ULL << 13, /* VK_EXT_video_decode_h265 */ | ||
1350 | - FF_VK_EXT_VIDEO_DECODE_AV1 = 1ULL << 14, /* VK_MESA_video_decode_av1 */ | ||
1351 | + FF_VK_EXT_VIDEO_DECODE_AV1 = 1ULL << 14, /* VK_KHR_video_decode_av1 */ | ||
1352 | FF_VK_EXT_ATOMIC_FLOAT = 1ULL << 15, /* VK_EXT_shader_atomic_float */ | ||
1353 | FF_VK_EXT_COOP_MATRIX = 1ULL << 16, /* VK_KHR_cooperative_matrix */ | ||
1354 | |||
1355 | diff --git a/libavutil/vulkan_loader.h b/libavutil/vulkan_loader.h | ||
1356 | index f9e739e1e3..73cf03935d 100644 | ||
1357 | --- a/libavutil/vulkan_loader.h | ||
1358 | +++ b/libavutil/vulkan_loader.h | ||
1359 | @@ -58,7 +58,7 @@ static inline uint64_t ff_vk_extensions_to_mask(const char * const *extensions, | ||
1360 | { VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_QUEUE }, | ||
1361 | { VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H264 }, | ||
1362 | { VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_H265 }, | ||
1363 | - { "VK_MESA_video_decode_av1", FF_VK_EXT_VIDEO_DECODE_AV1 }, | ||
1364 | + { VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME, FF_VK_EXT_VIDEO_DECODE_AV1 }, | ||
1365 | }; | ||
1366 | |||
1367 | FFVulkanExtensions mask = 0x0; | ||
1368 | diff --git a/libavcodec/vulkan_video.c b/libavcodec/vulkan_video.c | ||
1369 | --- ffmpeg-6.1.1.orig/libavcodec/vulkan_video.c | ||
1370 | +++ ffmpeg-6.1.1/libavcodec/vulkan_video.c | ||
1371 | @@ -37,7 +37,7 @@ const FFVkCodecMap ff_vk_codec_map[AV_CO | ||
1372 | 0, | ||
1373 | 0, | ||
1374 | FF_VK_EXT_VIDEO_DECODE_AV1, | ||
1375 | - 0x01000000 /* TODO fix this */ | ||
1376 | + VK_VIDEO_CODEC_OPERATION_DECODE_AV1_BIT_KHR | ||
1377 | }, | ||
1378 | }; | ||
1379 | |||
1380 | -- | ||
1381 | 2.25.1 | ||
1382 | |||
diff --git a/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.1.bb b/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.1.bb index aa59755034..c0bce2db7a 100644 --- a/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.1.bb +++ b/meta/recipes-multimedia/ffmpeg/ffmpeg_6.1.1.bb | |||
@@ -22,7 +22,11 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | |||
22 | file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ | 22 | file://COPYING.LGPLv2.1;md5=bd7a443320af8c812e4c18d1b79df004 \ |
23 | file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" | 23 | file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" |
24 | 24 | ||
25 | SRC_URI = "https://www.ffmpeg.org/releases/${BP}.tar.xz" | 25 | SRC_URI = " \ |
26 | https://www.ffmpeg.org/releases/${BP}.tar.xz \ | ||
27 | file://av1_ordering_info.patch \ | ||
28 | file://vulkan_av1_stable_API.patch \ | ||
29 | " | ||
26 | 30 | ||
27 | SRC_URI[sha256sum] = "8684f4b00f94b85461884c3719382f1261f0d9eb3d59640a1f4ac0873616f968" | 31 | SRC_URI[sha256sum] = "8684f4b00f94b85461884c3719382f1261f0d9eb3d59640a1f4ac0873616f968" |
28 | 32 | ||
diff --git a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb index 02282ac5d9..70b72fd7fb 100644 --- a/meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb +++ b/meta/recipes-multimedia/gstreamer/gst-examples_1.18.6.bb | |||
@@ -23,7 +23,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+\.(\d*[02468])+(\.\d+)+)" | |||
23 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" | 23 | ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" |
24 | 24 | ||
25 | do_install:append() { | 25 | do_install:append() { |
26 | install -m 0644 -D ${WORKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop | 26 | install -m 0644 -D ${UNPACKDIR}/gst-player.desktop ${D}${datadir}/applications/gst-player.desktop |
27 | } | 27 | } |
28 | 28 | ||
29 | RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback" | 29 | RDEPENDS:${PN} = "gstreamer1.0-plugins-base-playback" |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch deleted file mode 100644 index 9703a3a889..0000000000 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch +++ /dev/null | |||
@@ -1,54 +0,0 @@ | |||
1 | From 99f48716051ce5ddb8c1b77292213af1e462549e Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Tue, 31 Mar 2020 21:23:28 -0700 | ||
4 | Subject: [PATCH] qt: include ext/qt/gstqtgl.h instead of gst/gl/gstglfuncs.h | ||
5 | |||
6 | gst/gl/gstglfuncs.h is included via ext/qt/gstqtgl.h which has logic to | ||
7 | prefer qt headers definitions for GLsync | ||
8 | |||
9 | This helps in fixing build errors like below | ||
10 | |||
11 | /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/QtGui/qopengles2ext.h:24:26: error: conflicting declaration 'typedef struct __GLsync* GLsync' | ||
12 | 24 | typedef struct __GLsync *GLsync; | ||
13 | | ^~~~~~ | ||
14 | In file included from /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/gstglfuncs.h:84, | ||
15 | from ../gst-plugins-good-1.16.2/ext/qt/gstqsgtexture.cc:30: | ||
16 | /mnt/b/yoe/build/tmp/work/cortexa7t2hf-neon-vfpv4-yoe-linux-gnueabi/gstreamer1.0-plugins-good/1.16.2-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gl/glprototypes/gstgl_compat.h:40:18: note: previous declaration as 'typedef void* GLsync | ||
17 | ' | ||
18 | 40 | typedef gpointer GLsync; | ||
19 | | ^~~~~~ | ||
20 | |||
21 | Upstream-Status: Pending | ||
22 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
23 | |||
24 | --- | ||
25 | ext/qt/gstqsgtexture.cc | 2 +- | ||
26 | ext/qt/qtwindow.cc | 2 +- | ||
27 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
28 | |||
29 | diff --git a/ext/qt/gstqsgtexture.cc b/ext/qt/gstqsgtexture.cc | ||
30 | index 663696b..36b17d4 100644 | ||
31 | --- a/ext/qt/gstqsgtexture.cc | ||
32 | +++ b/ext/qt/gstqsgtexture.cc | ||
33 | @@ -27,7 +27,7 @@ | ||
34 | |||
35 | #include <gst/video/video.h> | ||
36 | #include <gst/gl/gl.h> | ||
37 | -#include <gst/gl/gstglfuncs.h> | ||
38 | +#include <ext/qt/gstqtgl.h> | ||
39 | #include "gstqsgtexture.h" | ||
40 | |||
41 | #define GST_CAT_DEFAULT gst_qsg_texture_debug | ||
42 | diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc | ||
43 | index 2872cb5..5a36be9 100644 | ||
44 | --- a/ext/qt/qtwindow.cc | ||
45 | +++ b/ext/qt/qtwindow.cc | ||
46 | @@ -25,7 +25,7 @@ | ||
47 | #include <stdio.h> | ||
48 | |||
49 | #include <gst/video/video.h> | ||
50 | -#include <gst/gl/gstglfuncs.h> | ||
51 | +#include <ext/qt/gstqtgl.h> | ||
52 | #include "qtwindow.h" | ||
53 | #include "gstqsgtexture.h" | ||
54 | #include "gstqtglutility.h" | ||
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb index edd8609b7c..9ce3f73f7c 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.22.11.bb | |||
@@ -5,7 +5,6 @@ HOMEPAGE = "https://gstreamer.freedesktop.org/" | |||
5 | BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues" | 5 | BUGTRACKER = "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues" |
6 | 6 | ||
7 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ | 7 | SRC_URI = "https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ |
8 | file://0001-qt-include-ext-qt-gstqtgl.h-instead-of-gst-gl-gstglf.patch \ | ||
9 | file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch" | 8 | file://0001-v4l2-Define-ioctl_req_t-for-posix-linux-case.patch" |
10 | 9 | ||
11 | SRC_URI[sha256sum] = "6ddd032381827d31820540735f0004b429436b0bdac19aaeab44fa22faad52e2" | 10 | SRC_URI[sha256sum] = "6ddd032381827d31820540735f0004b429436b0bdac19aaeab44fa22faad52e2" |
@@ -52,7 +51,7 @@ PACKAGECONFIG[libpng] = "-Dpng=enabled,-Dpng=disabled,libpng" | |||
52 | PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" | 51 | PACKAGECONFIG[libv4l2] = "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils" |
53 | PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" | 52 | PACKAGECONFIG[mpg123] = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123" |
54 | PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" | 53 | PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio" |
55 | PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native ${QT5WAYLANDDEPENDS}" | 54 | PACKAGECONFIG[qt5] = "-Dqt5=enabled,-Dqt5=disabled,qtbase qtdeclarative qtbase-native qttools-native ${QT5WAYLANDDEPENDS}" |
56 | PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3" | 55 | PACKAGECONFIG[soup2] = "-Dsoup=enabled,,libsoup-2.4,,,soup3" |
57 | PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2" | 56 | PACKAGECONFIG[soup3] = "-Dsoup=enabled,,libsoup,,,soup2" |
58 | PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" | 57 | PACKAGECONFIG[speex] = "-Dspeex=enabled,-Dspeex=disabled,speex" |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb index 61f46fbf7e..99f41d4f3d 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.22.11.bb | |||
@@ -25,7 +25,6 @@ GST_PLUGIN_SET_HAS_EXAMPLES = "0" | |||
25 | 25 | ||
26 | PACKAGECONFIG ??= " \ | 26 | PACKAGECONFIG ??= " \ |
27 | ${GSTREAMER_ORC} \ | 27 | ${GSTREAMER_ORC} \ |
28 | a52dec mpeg2dec \ | ||
29 | " | 28 | " |
30 | 29 | ||
31 | PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr" | 30 | PACKAGECONFIG[amrnb] = "-Damrnb=enabled,-Damrnb=disabled,opencore-amr" |
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest b/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest index 7d0312005f..ab2df80dcc 100755 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/run-ptest | |||
@@ -1,11 +1,13 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | 2 | ||
3 | # Multiply all timeouts by ten so they're more likely to work | 3 | # Multiply all timeouts by five so they're more likely to work |
4 | # on a loaded system. | 4 | # on a loaded system. The default timeout is 20s so this makes it |
5 | # one minute. | ||
5 | export CK_TIMEOUT_MULTIPLIER=5 | 6 | export CK_TIMEOUT_MULTIPLIER=5 |
6 | 7 | ||
7 | # Skip some tests that we know are problematic | 8 | # Skip some tests that we know are problematic |
8 | export GST_CHECKS_IGNORE="" | 9 | export GST_CHECKS_IGNORE="" |
10 | |||
9 | # gstnetclientclock.c:test_functioning is very sensitive to load | 11 | # gstnetclientclock.c:test_functioning is very sensitive to load |
10 | GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_functioning" | 12 | GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_functioning" |
11 | 13 | ||
@@ -13,4 +15,7 @@ GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_functioning" | |||
13 | # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/410 | 15 | # https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/410 |
14 | GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_infinite_seek_50_src_live" | 16 | GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE,test_infinite_seek_50_src_live" |
15 | 17 | ||
18 | # Known unreliable tests as per subprojects/gst-devtools/validate/launcher/testsuites/check.py: | ||
19 | GST_CHECKS_IGNORE="$GST_CHECKS_IGNORE:parser_pull_short_read" | ||
20 | |||
16 | gnome-desktop-testing-runner gstreamer | 21 | gnome-desktop-testing-runner gstreamer |
diff --git a/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch b/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch deleted file mode 100644 index 5168100f3a..0000000000 --- a/meta/recipes-multimedia/liba52/liba52/buildcleanup.patch +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | It makes much more sense to control our own CFLAGS and avoiding fPIC breaks | ||
2 | some arches too. Assume we know what we're doing and remove all the messing | ||
3 | around. | ||
4 | |||
5 | RP 23/2/10 | ||
6 | |||
7 | Upstream-Status: Inappropriate [configuration] | ||
8 | |||
9 | Index: a52dec-0.7.4/configure.in | ||
10 | =================================================================== | ||
11 | --- a52dec-0.7.4.orig/configure.in 2010-02-23 14:51:50.000000000 +0000 | ||
12 | +++ a52dec-0.7.4/configure.in 2010-02-23 14:52:36.000000000 +0000 | ||
13 | @@ -14,62 +14,6 @@ | ||
14 | AC_PROG_CC | ||
15 | AC_PROG_GCC_TRADITIONAL | ||
16 | |||
17 | -if test x"$GCC" = x"yes"; then | ||
18 | - | ||
19 | - dnl GCC-specific flags - try to optimize them sometime | ||
20 | - dnl -Wall -Werror moved to the end to not disturb the configure script | ||
21 | - | ||
22 | - dnl -O3 | ||
23 | - changequote(<<,>>) | ||
24 | - OPT_CFLAGS=`echo "$CFLAGS"|sed "s/-O[0-9]*//g"` | ||
25 | - changequote([,]) | ||
26 | - OPT_CFLAGS="$OPT_CFLAGS -O3" | ||
27 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]) | ||
28 | - | ||
29 | - dnl -fomit-frame-pointer | ||
30 | - OPT_CFLAGS="$CFLAGS -fomit-frame-pointer" | ||
31 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]) | ||
32 | - | ||
33 | - dnl arch-specific flags | ||
34 | - case "$host" in | ||
35 | - i?86-* | k?-*) | ||
36 | - case "$host" in | ||
37 | - i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";; | ||
38 | - i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";; | ||
39 | - i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";; | ||
40 | - i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";; | ||
41 | - k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";; | ||
42 | - esac | ||
43 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
44 | - sparc-* | sparc64-*) | ||
45 | - OPT_CFLAGS="$CFLAGS -mtune=ultrasparc" | ||
46 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
47 | - mips-sgi-irix6.*) dnl do we need to be that specific ? | ||
48 | - OPT_CFLAGS="$CFLAGS -mabi=64" | ||
49 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
50 | - esac | ||
51 | -elif test x"$CC" = x"tcc" -a x"`$CC -version 2>&1 | grep TenDRA`" != x""; then | ||
52 | - dnl TenDRA portability checking compiler | ||
53 | - TENDRA=yes | ||
54 | - CFLAGS="-Xp -Yansi -f`pwd`/include/tendra.h -DELIDE_CODE" | ||
55 | - enable_mlib=no | ||
56 | - enable_oss=no | ||
57 | - enable_solaris_audio=no | ||
58 | -elif test x"$CC" = x"icc" -a x"`$CC -V 2>&1 | grep Intel`" != x""; then | ||
59 | - dnl Intel C++ compiler | ||
60 | - CFLAGS="-g -O3 -unroll -ip" | ||
61 | -else | ||
62 | - dnl non-gcc flags - we probably need exact configuration triplets here. | ||
63 | - case "$host" in | ||
64 | - mips-sgi-irix6.*) | ||
65 | - OPT_CFLAGS="$CFLAGS -64" | ||
66 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
67 | - sparc-sun-solaris*) | ||
68 | - OPT_CFLAGS="$CFLAGS -xCC -fast -xO5" | ||
69 | - AC_TRY_CFLAGS([$OPT_CFLAGS],[CFLAGS=$OPT_CFLAGS]);; | ||
70 | - esac | ||
71 | -fi | ||
72 | - | ||
73 | dnl Checks for libtool - this must be done after we set cflags | ||
74 | AC_DISABLE_SHARED | ||
75 | AC_LIBTOOL_WIN32_DLL | ||
76 | Index: a52dec-0.7.4/liba52/configure.incl | ||
77 | =================================================================== | ||
78 | --- a52dec-0.7.4.orig/liba52/configure.incl 2010-02-23 14:51:44.000000000 +0000 | ||
79 | +++ a52dec-0.7.4/liba52/configure.incl 2010-02-23 14:51:59.000000000 +0000 | ||
80 | @@ -1,9 +1,6 @@ | ||
81 | AC_SUBST([LIBA52_CFLAGS]) | ||
82 | AC_SUBST([LIBA52_LIBS]) | ||
83 | |||
84 | -dnl avoid -fPIC when possible | ||
85 | -LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic" | ||
86 | - | ||
87 | AC_ARG_ENABLE([double], | ||
88 | [ --enable-double use double-precision samples]) | ||
89 | if test x"$enable_double" = x"yes"; then | ||
diff --git a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb b/meta/recipes-multimedia/liba52/liba52_0.7.4.bb deleted file mode 100644 index 7a3b4a43c8..0000000000 --- a/meta/recipes-multimedia/liba52/liba52_0.7.4.bb +++ /dev/null | |||
@@ -1,28 +0,0 @@ | |||
1 | SUMMARY = "ATSC A/52 surround sound stream decoder" | ||
2 | DESCRIPTION = "Library for decoding ATSC A/52 streams. The A/52 standard \ | ||
3 | is used in a variety of applications, including digital television \ | ||
4 | and DVD. It is also known as AC-3." | ||
5 | HOMEPAGE = "http://liba52.sourceforge.net/" | ||
6 | LICENSE = "GPL-2.0-or-later" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ | ||
8 | file://include/a52.h;beginline=1;endline=12;md5=81152ceb3562bf20a60d1b6018175dd1" | ||
9 | SECTION = "libs" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | SRC_URI = "http://liba52.sourceforge.net/files/a52dec-${PV}.tar.gz \ | ||
14 | file://buildcleanup.patch" | ||
15 | |||
16 | SRC_URI[md5sum] = "caa9f5bc44232dc8aeea773fea56be80" | ||
17 | SRC_URI[sha256sum] = "a21d724ab3b3933330194353687df82c475b5dfb997513eef4c25de6c865ec33" | ||
18 | |||
19 | UPSTREAM_CHECK_URI = "http://liba52.sourceforge.net/downloads.html" | ||
20 | |||
21 | S = "${WORKDIR}/a52dec-${PV}" | ||
22 | |||
23 | EXTRA_OECONF = " --enable-shared " | ||
24 | |||
25 | PACKAGES =+ "a52dec a52dec-doc" | ||
26 | |||
27 | FILES:a52dec = " ${bindir}/* " | ||
28 | FILES:a52dec-doc = " ${mandir}/man1/* " | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch b/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch deleted file mode 100644 index b2544cb44d..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch +++ /dev/null | |||
@@ -1,156 +0,0 @@ | |||
1 | From 0cafb99b57f43cf6ac2c6208718e49ad2dbe462d Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Schmidt <thaytan@noraisin.net> | ||
3 | Date: Sun, 10 Nov 2013 00:49:52 +1100 | ||
4 | Subject: [PATCH] Import revision 1206 from upstream to fix PIE build. | ||
5 | |||
6 | Functions MC_put_o_16_arm, MC_put_o_8_arm, MC_put_x_16_arm, MC_put_x_8_arm | ||
7 | in libmpeg2/motion_comp_arm_s.S have addresses in .text, which is bad | ||
8 | for shared libraries. Some environments demand that .text actually be | ||
9 | read-only all the time, yet MC_put_o_16_arm etc require that the addresses | ||
10 | be modified by the dynamic linking mechanism (dlopen, LoadLibrary, etc.) | ||
11 | Even in those environments which permit the dynamic linker to modify the | ||
12 | .text segment, the runtime cost of doing the relocation can be noticeable. | ||
13 | |||
14 | This commit rewrites the linkage, discarding the tables of addresses | ||
15 | in favor of tables of offsets. All transfers are local within each individual | ||
16 | function, so there can be no interference by processing that occurs | ||
17 | after assembly, such as link-time re-ordering (even of individual functions.) | ||
18 | |||
19 | Patch by John Reiser <jreiser@bitwagon.com> | ||
20 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
21 | Upstream-Status: Backport [https://code.videolan.org/videolan/libmpeg2/commit/946bf4b518aacc224f845e73708f99e394744499] | ||
22 | --- | ||
23 | libmpeg2/motion_comp_arm_s.S | 70 +++++++++++++++++------------------- | ||
24 | 1 file changed, 33 insertions(+), 37 deletions(-) | ||
25 | |||
26 | diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S | ||
27 | index c921f7c..82143f8 100644 | ||
28 | --- a/libmpeg2/motion_comp_arm_s.S | ||
29 | +++ b/libmpeg2/motion_comp_arm_s.S | ||
30 | @@ -30,9 +30,13 @@ MC_put_o_16_arm: | ||
31 | pld [r1] | ||
32 | stmfd sp!, {r4-r11, lr} @ R14 is also called LR | ||
33 | and r4, r1, #3 | ||
34 | - adr r5, MC_put_o_16_arm_align_jt | ||
35 | - add r5, r5, r4, lsl #2 | ||
36 | - ldr pc, [r5] | ||
37 | + ldrb r4, [pc, r4] | ||
38 | + add pc, pc, r4, lsl #2 | ||
39 | + .byte (MC_put_o_16_arm_align0 - 0f)>>2 | ||
40 | + .byte (MC_put_o_16_arm_align1 - 0f)>>2 | ||
41 | + .byte (MC_put_o_16_arm_align2 - 0f)>>2 | ||
42 | + .byte (MC_put_o_16_arm_align3 - 0f)>>2 | ||
43 | +0: | ||
44 | |||
45 | MC_put_o_16_arm_align0: | ||
46 | ldmia r1, {r4-r7} | ||
47 | @@ -76,11 +80,6 @@ MC_put_o_16_arm_align3: | ||
48 | 1: PROC(24) | ||
49 | bne 1b | ||
50 | ldmfd sp!, {r4-r11, pc} @@ update PC with LR content. | ||
51 | -MC_put_o_16_arm_align_jt: | ||
52 | - .word MC_put_o_16_arm_align0 | ||
53 | - .word MC_put_o_16_arm_align1 | ||
54 | - .word MC_put_o_16_arm_align2 | ||
55 | - .word MC_put_o_16_arm_align3 | ||
56 | |||
57 | @ ---------------------------------------------------------------- | ||
58 | .align | ||
59 | @@ -91,9 +90,14 @@ MC_put_o_8_arm: | ||
60 | pld [r1] | ||
61 | stmfd sp!, {r4-r10, lr} @ R14 is also called LR | ||
62 | and r4, r1, #3 | ||
63 | - adr r5, MC_put_o_8_arm_align_jt | ||
64 | - add r5, r5, r4, lsl #2 | ||
65 | - ldr pc, [r5] | ||
66 | + ldrb r4, [pc, r4] | ||
67 | + add pc, pc, r4, lsl #2 | ||
68 | + .byte (MC_put_o_8_arm_align0 - 0f)>>2 | ||
69 | + .byte (MC_put_o_8_arm_align1 - 0f)>>2 | ||
70 | + .byte (MC_put_o_8_arm_align2 - 0f)>>2 | ||
71 | + .byte (MC_put_o_8_arm_align3 - 0f)>>2 | ||
72 | +0: | ||
73 | + | ||
74 | MC_put_o_8_arm_align0: | ||
75 | ldmia r1, {r4-r5} | ||
76 | add r1, r1, r2 | ||
77 | @@ -135,12 +139,6 @@ MC_put_o_8_arm_align3: | ||
78 | bne 1b | ||
79 | ldmfd sp!, {r4-r10, pc} @@ update PC with LR content. | ||
80 | |||
81 | -MC_put_o_8_arm_align_jt: | ||
82 | - .word MC_put_o_8_arm_align0 | ||
83 | - .word MC_put_o_8_arm_align1 | ||
84 | - .word MC_put_o_8_arm_align2 | ||
85 | - .word MC_put_o_8_arm_align3 | ||
86 | - | ||
87 | @ ---------------------------------------------------------------- | ||
88 | .macro AVG_PW rW1, rW2 | ||
89 | mov \rW2, \rW2, lsl #24 | ||
90 | @@ -160,12 +158,17 @@ MC_put_x_16_arm: | ||
91 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
92 | pld [r1] | ||
93 | stmfd sp!, {r4-r11,lr} @ R14 is also called LR | ||
94 | + ldr r11, 0f | ||
95 | and r4, r1, #3 | ||
96 | - adr r5, MC_put_x_16_arm_align_jt | ||
97 | - ldr r11, [r5] | ||
98 | mvn r12, r11 | ||
99 | - add r5, r5, r4, lsl #2 | ||
100 | - ldr pc, [r5, #4] | ||
101 | + ldrb r4, [pc, r4] | ||
102 | + add pc, pc, r4, lsl #2 | ||
103 | + .byte (MC_put_x_16_arm_align0 - 0f)>>2 | ||
104 | + .byte (MC_put_x_16_arm_align1 - 0f)>>2 | ||
105 | + .byte (MC_put_x_16_arm_align2 - 0f)>>2 | ||
106 | + .byte (MC_put_x_16_arm_align3 - 0f)>>2 | ||
107 | +0: | ||
108 | + .word 0x01010101 | ||
109 | |||
110 | .macro ADJ_ALIGN_QW shift, R0, R1, R2, R3, R4 | ||
111 | mov \R0, \R0, lsr #(\shift) | ||
112 | @@ -238,12 +241,6 @@ MC_put_x_16_arm_align3: | ||
113 | add r0, r0, r2 | ||
114 | bne 1b | ||
115 | ldmfd sp!, {r4-r11,pc} @@ update PC with LR content. | ||
116 | -MC_put_x_16_arm_align_jt: | ||
117 | - .word 0x01010101 | ||
118 | - .word MC_put_x_16_arm_align0 | ||
119 | - .word MC_put_x_16_arm_align1 | ||
120 | - .word MC_put_x_16_arm_align2 | ||
121 | - .word MC_put_x_16_arm_align3 | ||
122 | |||
123 | @ ---------------------------------------------------------------- | ||
124 | .align | ||
125 | @@ -253,12 +250,17 @@ MC_put_x_8_arm: | ||
126 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
127 | pld [r1] | ||
128 | stmfd sp!, {r4-r11,lr} @ R14 is also called LR | ||
129 | + ldr r11, 0f | ||
130 | and r4, r1, #3 | ||
131 | - adr r5, MC_put_x_8_arm_align_jt | ||
132 | - ldr r11, [r5] | ||
133 | mvn r12, r11 | ||
134 | - add r5, r5, r4, lsl #2 | ||
135 | - ldr pc, [r5, #4] | ||
136 | + ldrb r4, [pc, r4] | ||
137 | + add pc, pc, r4, lsl #2 | ||
138 | + .byte (MC_put_x_8_arm_align0 - 0f)>>2 | ||
139 | + .byte (MC_put_x_8_arm_align1 - 0f)>>2 | ||
140 | + .byte (MC_put_x_8_arm_align2 - 0f)>>2 | ||
141 | + .byte (MC_put_x_8_arm_align3 - 0f)>>2 | ||
142 | +0: | ||
143 | + .word 0x01010101 | ||
144 | |||
145 | .macro ADJ_ALIGN_DW shift, R0, R1, R2 | ||
146 | mov \R0, \R0, lsr #(\shift) | ||
147 | @@ -319,9 +321,3 @@ MC_put_x_8_arm_align3: | ||
148 | add r0, r0, r2 | ||
149 | bne 1b | ||
150 | ldmfd sp!, {r4-r11,pc} @@ update PC with LR content. | ||
151 | -MC_put_x_8_arm_align_jt: | ||
152 | - .word 0x01010101 | ||
153 | - .word MC_put_x_8_arm_align0 | ||
154 | - .word MC_put_x_8_arm_align1 | ||
155 | - .word MC_put_x_8_arm_align2 | ||
156 | - .word MC_put_x_8_arm_align3 | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch b/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch deleted file mode 100644 index 5bf68b39ee..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/0001-check-for-available-arm-optimizations.patch +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | From cbcff58ed670c8edc0be1004384cbe0fd07d8d26 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 5 Jul 2017 18:49:21 -0700 | ||
4 | Subject: [PATCH 1/2] check for available arm optimizations | ||
5 | |||
6 | Taken From | ||
7 | http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/65_arm-test-with-compiler.patch/ | ||
8 | |||
9 | Upstream-Status: Pending | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | configure.ac | 12 ++++++++---- | ||
14 | 1 file changed, 8 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index acdcb1e..2c0a721 100644 | ||
18 | --- a/configure.ac | ||
19 | +++ b/configure.ac | ||
20 | @@ -59,7 +59,7 @@ elif test x"$GCC" = x"yes"; then | ||
21 | AC_TRY_CFLAGS([$TRY_CFLAGS $CFLAGS],[OPT_CFLAGS="$TRY_CFLAGS"]) | ||
22 | |||
23 | dnl arch-specific flags | ||
24 | - arm_conditional=false | ||
25 | + build_arm_opt=false | ||
26 | case "$host" in | ||
27 | i?86-* | k?-* | x86_64-* | amd64-*) | ||
28 | AC_DEFINE([ARCH_X86],,[x86 architecture]) | ||
29 | @@ -102,8 +102,12 @@ elif test x"$GCC" = x"yes"; then | ||
30 | alpha*) | ||
31 | AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);; | ||
32 | arm*) | ||
33 | - arm_conditional=: | ||
34 | - AC_DEFINE([ARCH_ARM],,[ARM architecture]);; | ||
35 | + AC_LANG(C) | ||
36 | + AC_COMPILE_IFELSE( | ||
37 | + [AC_LANG_SOURCE([[ | ||
38 | + void foo(void) { __asm__ volatile("pld [r1]"); }]])], | ||
39 | + build_arm_opt=true; AC_DEFINE([ARCH_ARM],,[ARM architecture]), | ||
40 | + build_arm_opt=false);; | ||
41 | esac | ||
42 | elif test x"$CC" = x"tendracc"; then | ||
43 | dnl TenDRA portability checking compiler | ||
44 | @@ -123,7 +127,7 @@ else | ||
45 | esac | ||
46 | fi | ||
47 | |||
48 | -AM_CONDITIONAL(ARCH_ARM, ${arm_conditional}) | ||
49 | +AM_CONDITIONAL(ARCH_ARM, test x$build_arm_opt = xtrue) | ||
50 | |||
51 | dnl Checks for libtool - this must be done after we set cflags | ||
52 | AC_LIBTOOL_WIN32_DLL | ||
53 | -- | ||
54 | 2.13.2 | ||
55 | |||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch b/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch deleted file mode 100644 index 8301692368..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | From f9d9dc92d75f8910e3cd5fdcbea72e505cdf3493 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Wed, 5 Jul 2017 19:03:36 -0700 | ||
4 | Subject: [PATCH 2/2] Set visibility of global symbols used in ARM specific | ||
5 | assembly file to internal | ||
6 | |||
7 | Taken from | ||
8 | http://sources.debian.net/src/mpeg2dec/0.5.1-7/debian/patches/60_arm-private-symbols.patch/ | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | |||
12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
13 | --- | ||
14 | libmpeg2/motion_comp_arm_s.S | 12 ++++++++---- | ||
15 | 1 file changed, 8 insertions(+), 4 deletions(-) | ||
16 | |||
17 | diff --git a/libmpeg2/motion_comp_arm_s.S b/libmpeg2/motion_comp_arm_s.S | ||
18 | index f6c3d7d..c921f7c 100644 | ||
19 | --- a/libmpeg2/motion_comp_arm_s.S | ||
20 | +++ b/libmpeg2/motion_comp_arm_s.S | ||
21 | @@ -23,7 +23,8 @@ | ||
22 | |||
23 | @ ---------------------------------------------------------------- | ||
24 | .align | ||
25 | - .global MC_put_o_16_arm | ||
26 | + .global MC_put_o_16_arm | ||
27 | + .internal MC_put_o_16_arm | ||
28 | MC_put_o_16_arm: | ||
29 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
30 | pld [r1] | ||
31 | @@ -83,7 +84,8 @@ MC_put_o_16_arm_align_jt: | ||
32 | |||
33 | @ ---------------------------------------------------------------- | ||
34 | .align | ||
35 | - .global MC_put_o_8_arm | ||
36 | + .global MC_put_o_8_arm | ||
37 | + .internal MC_put_o_8_arm | ||
38 | MC_put_o_8_arm: | ||
39 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
40 | pld [r1] | ||
41 | @@ -152,7 +154,8 @@ MC_put_o_8_arm_align_jt: | ||
42 | .endm | ||
43 | |||
44 | .align | ||
45 | - .global MC_put_x_16_arm | ||
46 | + .global MC_put_x_16_arm | ||
47 | + .internal MC_put_x_16_arm | ||
48 | MC_put_x_16_arm: | ||
49 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
50 | pld [r1] | ||
51 | @@ -244,7 +247,8 @@ MC_put_x_16_arm_align_jt: | ||
52 | |||
53 | @ ---------------------------------------------------------------- | ||
54 | .align | ||
55 | - .global MC_put_x_8_arm | ||
56 | + .global MC_put_x_8_arm | ||
57 | + .internal MC_put_x_8_arm | ||
58 | MC_put_x_8_arm: | ||
59 | @@ void func(uint8_t * dest, const uint8_t * ref, int stride, int height) | ||
60 | pld [r1] | ||
61 | -- | ||
62 | 2.13.2 | ||
63 | |||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch b/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch deleted file mode 100644 index 00b667d336..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/61_global-symbol-test.patch +++ /dev/null | |||
@@ -1,70 +0,0 @@ | |||
1 | Rewrite the public symbol check to verify the shared libraries, to check for | ||
2 | more things, and to avoid duplication; fixes make check on ARM | ||
3 | |||
4 | Taken From | ||
5 | https://sources.debian.org/src/mpeg2dec/0.5.1-8/debian/patches/61_global-symbol-test.patch/ | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
10 | --- | ||
11 | test/globals | 42 +++++++++++++++++++++++++++--------------- | ||
12 | 1 file changed, 27 insertions(+), 15 deletions(-) | ||
13 | |||
14 | --- mpeg2dec.orig/test/globals | ||
15 | +++ mpeg2dec/test/globals | ||
16 | @@ -1,4 +1,8 @@ | ||
17 | #!/bin/sh | ||
18 | +# TODO | ||
19 | +# - fix checking of .a libs; problem is that "nm -g --defined-only" lists | ||
20 | +# internal symbols; this can be solved by using objdump, but it's probably | ||
21 | +# good enough to just run the tests on the shared lib | ||
22 | |||
23 | if test x"$srcdir" != x""; then | ||
24 | builddir="." # running from make check, but it does not define that | ||
25 | @@ -14,22 +18,30 @@ builddir=`cd $builddir;pwd` | ||
26 | |||
27 | error=0 | ||
28 | |||
29 | -bad_globals=`nm -g --defined-only $builddir/../libmpeg2/*.o |\ | ||
30 | - awk '{if ($3) print $3}' | grep -v '^_\?mpeg2_'` | ||
31 | - | ||
32 | -if test x"$bad_globals" != x""; then | ||
33 | - echo BAD GLOBAL SYMBOLS: | ||
34 | - for s in $bad_globals; do echo $s; done | ||
35 | +# check_bad_public_symbols <symbol prefix> <lib file> [<lib file>...] | ||
36 | +# | ||
37 | +# checks public symbols in shared libs: | ||
38 | +# - allow prefix_anything | ||
39 | +# - reject _prefixanything | ||
40 | +# - allow _anything | ||
41 | +# - reject anything else | ||
42 | +# | ||
43 | +# NB: skips missing files | ||
44 | +check_bad_public_symbols() { | ||
45 | + symbols_prefix="$1" | ||
46 | + shift | ||
47 | + lib_files=`ls "$@" 2>/dev/null` | ||
48 | + [ -z "$lib_files" ] && return | ||
49 | + bad_globals=`nm -g --defined-only $lib_files | | ||
50 | + awk '{if ($3) print $3}' | | ||
51 | + sed -n "/^${symbols_prefix}_/ d; /^_${symbols_prefix}/ { p; d }; /^_/ d; p"` | ||
52 | + [ -z "$bad_globals" ] && return | ||
53 | error=1 | ||
54 | -fi | ||
55 | - | ||
56 | -bad_globals=`nm -g --defined-only $builddir/../libmpeg2/convert/*.o |\ | ||
57 | - awk '{if ($3) print $3}' | grep -v '^_\?mpeg2convert_'` | ||
58 | + echo BAD GLOBAL SYMBOLS in $lib_files: | ||
59 | + echo "$bad_globals" | ||
60 | +} | ||
61 | |||
62 | -if test x"$bad_globals" != x""; then | ||
63 | - echo BAD GLOBAL SYMBOLS: | ||
64 | - for s in $bad_globals; do echo $s; done | ||
65 | - error=1 | ||
66 | -fi | ||
67 | +check_bad_public_symbols mpeg2 $builddir/../libmpeg2/.libs/libmpeg2.so | ||
68 | +check_bad_public_symbols mpeg2convert $builddir/../libmpeg2/convert/.libs/libmpeg2convert.so | ||
69 | |||
70 | exit $error | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch b/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch deleted file mode 100644 index 5113ad44fe..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/files/altivec_h_needed.patch +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | Add new method to judge whether <altivec.h> is needed | ||
2 | |||
3 | The original logic will use "typedef vector int t;" to judge | ||
4 | whether <altivec.h> is needed. altivec.h contains the following | ||
5 | statement: | ||
6 | |||
7 | #if !defined(__APPLE_ALTIVEC__) | ||
8 | #define vector __vector | ||
9 | #define pixel __pixel | ||
10 | #define bool | ||
11 | #endif | ||
12 | |||
13 | In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither | ||
14 | as vector, pixel, and bool. In order to make "typedef vector int t;" | ||
15 | pass the compilation, we need to include altivec.h. | ||
16 | |||
17 | However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler, | ||
18 | so as vector, pixel, and bool. We could not judge whether | ||
19 | altivec.h is needed by "typedef vector int t;". | ||
20 | Here we include another statement "int tmp = __CR6_EQ;", in | ||
21 | which __CR6_EQ is defined in altivec.h. | ||
22 | |||
23 | Upstream-Status: Pending | ||
24 | |||
25 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
26 | |||
27 | diff -ruN a/configure.in b/configure.in | ||
28 | --- a/configure.ac 2010-09-14 20:55:42.399687663 +0800 | ||
29 | +++ b/configure.ac 2010-09-14 20:56:43.403204648 +0800 | ||
30 | @@ -79,11 +79,11 @@ | ||
31 | CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" | ||
32 | AC_MSG_CHECKING([if <altivec.h> is needed]) | ||
33 | AC_TRY_COMPILE([], | ||
34 | - [typedef vector int t; | ||
35 | + [typedef vector int t; int tmp = __CR6_EQ; | ||
36 | vec_ld(0, (unsigned char *)0);], | ||
37 | [have_altivec=yes; AC_MSG_RESULT(no)], | ||
38 | [AC_TRY_COMPILE([#include <altivec.h>], | ||
39 | - [typedef vector int t; vec_ld(0, (unsigned char *)0);], | ||
40 | + [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);], | ||
41 | [AC_DEFINE([HAVE_ALTIVEC_H],, | ||
42 | [Define to 1 if you have the <altivec.h> header.]) | ||
43 | have_altivec=yes; AC_MSG_RESULT(yes)], | ||
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb b/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb deleted file mode 100644 index fd8b561657..0000000000 --- a/meta/recipes-multimedia/mpeg2dec/mpeg2dec_0.5.1.bb +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | SUMMARY = "Library and test program for decoding MPEG-2 and MPEG-1 video streams" | ||
2 | DESCRIPTION = "mpeg2dec is a test program for libmpeg2. It decodes \ | ||
3 | mpeg-1 and mpeg-2 video streams, and also includes a demultiplexer \ | ||
4 | for mpeg-1 and mpeg-2 program streams. The main purpose of mpeg2dec \ | ||
5 | is to have a simple test bed for libmpeg2." | ||
6 | HOMEPAGE = "https://libmpeg2.sourceforge.io/" | ||
7 | SECTION = "libs" | ||
8 | LICENSE = "GPL-2.0-or-later" | ||
9 | LICENSE_FLAGS = "commercial" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
11 | file://include/mpeg2.h;beginline=1;endline=22;md5=7766f4fcb58f0f8413c49a746f2ab89b" | ||
12 | |||
13 | SRC_URI = "http://libmpeg2.sourceforge.net/files/libmpeg2-${PV}.tar.gz \ | ||
14 | file://altivec_h_needed.patch \ | ||
15 | file://0001-check-for-available-arm-optimizations.patch \ | ||
16 | file://0002-Set-visibility-of-global-symbols-used-in-ARM-specifi.patch \ | ||
17 | file://61_global-symbol-test.patch \ | ||
18 | file://0001-Import-revision-1206-from-upstream-to-fix-PIE-build.patch \ | ||
19 | " | ||
20 | |||
21 | S = "${WORKDIR}/libmpeg2-${PV}" | ||
22 | |||
23 | SRC_URI[md5sum] = "0f92c7454e58379b4a5a378485bbd8ef" | ||
24 | SRC_URI[sha256sum] = "dee22e893cb5fc2b2b6ebd60b88478ab8556cb3b93f9a0d7ce8f3b61851871d4" | ||
25 | |||
26 | UPSTREAM_CHECK_URI = "http://libmpeg2.sourceforge.net/downloads.html" | ||
27 | |||
28 | inherit autotools pkgconfig | ||
29 | |||
30 | EXTRA_OECONF = "--enable-shared --disable-sdl" | ||
31 | |||
32 | PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" | ||
33 | PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 libxext libxv" | ||
34 | |||
35 | PACKAGES = "mpeg2dec-dbg mpeg2dec mpeg2dec-doc libmpeg2 libmpeg2-dev libmpeg2convert libmpeg2convert-dev libmpeg2-staticdev libmpeg2convert-staticdev" | ||
36 | |||
37 | FILES:${PN} = "${bindir}/*" | ||
38 | FILES:libmpeg2 = "${libdir}/libmpeg2.so.*" | ||
39 | FILES:libmpeg2convert = "${libdir}/libmpeg2convert.so.*" | ||
40 | FILES:libmpeg2-dev = "${libdir}/libmpeg2.so \ | ||
41 | ${libdir}/libmpeg2.la \ | ||
42 | ${libdir}/libmpeg2arch.la \ | ||
43 | ${libdir}/pkgconfig/libmpeg2.pc \ | ||
44 | ${includedir}/mpeg2dec/mpeg2.h" | ||
45 | FILES:libmpeg2-staticdev = "${libdir}/libmpeg2.a" | ||
46 | FILES:libmpeg2convert-dev = "${libdir}/libmpeg2convert.so \ | ||
47 | ${libdir}/libmpeg2convert.la \ | ||
48 | ${libdir}/libmpeg2convertarch.la \ | ||
49 | ${libdir}/pkgconfig/libmpeg2convert.pc \ | ||
50 | ${includedir}/mpeg2dec/mpeg2convert.h" | ||
51 | FILES:libmpeg2convert-staticdev = "${libdir}/libmpeg2convert.a" | ||
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc index ae16056d24..9fb5c81757 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio.inc +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio.inc | |||
@@ -142,7 +142,7 @@ do_compile:append () { | |||
142 | 142 | ||
143 | do_install:append() { | 143 | do_install:append() { |
144 | install -d ${D}${sysconfdir}/default/volatiles | 144 | install -d ${D}${sysconfdir}/default/volatiles |
145 | install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse | 145 | install -m 0644 ${UNPACKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/04_pulse |
146 | } | 146 | } |
147 | 147 | ||
148 | USERADD_PACKAGES = "pulseaudio-server" | 148 | USERADD_PACKAGES = "pulseaudio-server" |
diff --git a/meta/recipes-multimedia/webp/libwebp_1.3.2.bb b/meta/recipes-multimedia/webp/libwebp_1.4.0.bb index 63b0fd9a6c..d922970479 100644 --- a/meta/recipes-multimedia/webp/libwebp_1.3.2.bb +++ b/meta/recipes-multimedia/webp/libwebp_1.4.0.bb | |||
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=6e8dee932c26f2dab503abf70c96d8bb \ | |||
14 | file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7" | 14 | file://PATENTS;md5=c6926d0cb07d296f886ab6e0cc5a85b7" |
15 | 15 | ||
16 | SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz" | 16 | SRC_URI = "http://downloads.webmproject.org/releases/webp/${BP}.tar.gz" |
17 | SRC_URI[sha256sum] = "2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4" | 17 | SRC_URI[sha256sum] = "61f873ec69e3be1b99535634340d5bde750b2e4447caa1db9f61be3fd49ab1e5" |
18 | 18 | ||
19 | UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html" | 19 | UPSTREAM_CHECK_URI = "http://downloads.webmproject.org/releases/webp/index.html" |
20 | 20 | ||
diff --git a/meta/recipes-rt/rt-tests/rt-tests_git.bb b/meta/recipes-rt/rt-tests/rt-tests_git.bb index ef082131e2..1f48e143d4 100644 --- a/meta/recipes-rt/rt-tests/rt-tests_git.bb +++ b/meta/recipes-rt/rt-tests/rt-tests_git.bb | |||
@@ -27,7 +27,7 @@ do_install() { | |||
27 | } | 27 | } |
28 | 28 | ||
29 | do_install_ptest() { | 29 | do_install_ptest() { |
30 | cp ${WORKDIR}/rt_bmark.py ${D}${PTEST_PATH} | 30 | cp ${UNPACKDIR}/rt_bmark.py ${D}${PTEST_PATH} |
31 | } | 31 | } |
32 | 32 | ||
33 | RDEPENDS:${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc" | 33 | RDEPENDS:${PN}-ptest += " stress-ng python3 python3-multiprocessing python3-datetime python3-misc" |
diff --git a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb index 3777f05b5a..ab178f97e6 100644 --- a/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb +++ b/meta/recipes-sato/matchbox-desktop/matchbox-desktop_2.3.bb | |||
@@ -27,7 +27,7 @@ REQUIRED_DISTRO_FEATURES = "x11" | |||
27 | 27 | ||
28 | do_install:append() { | 28 | do_install:append() { |
29 | install -d ${D}${datadir}/matchbox/vfolders/ | 29 | install -d ${D}${datadir}/matchbox/vfolders/ |
30 | install -m 0644 ${WORKDIR}/vfolders/* ${D}${datadir}/matchbox/vfolders/ | 30 | install -m 0644 ${UNPACKDIR}/vfolders/* ${D}${datadir}/matchbox/vfolders/ |
31 | } | 31 | } |
32 | 32 | ||
33 | FILES:${PN} += "${datadir}/matchbox/vfolders/" | 33 | FILES:${PN} += "${datadir}/matchbox/vfolders/" |
diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb index 6b70948f16..a1f7862efa 100644 --- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb +++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_0.1.1.bb | |||
@@ -47,7 +47,7 @@ FILES:${PN}-applet = "${libdir}/matchbox-panel/*.so" | |||
47 | 47 | ||
48 | do_install:append () { | 48 | do_install:append () { |
49 | install -d ${D}/${sysconfdir}/X11/Xsession.d/ | 49 | install -d ${D}/${sysconfdir}/X11/Xsession.d/ |
50 | install -m 755 ${WORKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/ | 50 | install -m 755 ${UNPACKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/ |
51 | 51 | ||
52 | rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la | 52 | rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la |
53 | rm -f ${D}${libdir}/gtk-3.0/*/immodules/*.la | 53 | rm -f ${D}${libdir}/gtk-3.0/*/immodules/*.la |
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb index 90734b6bd0..bb7ddbc7f4 100644 --- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb +++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb | |||
@@ -19,7 +19,9 @@ REQUIRED_DISTRO_FEATURES = "x11" | |||
19 | 19 | ||
20 | SRC_URI = "file://session \ | 20 | SRC_URI = "file://session \ |
21 | file://index.theme" | 21 | file://index.theme" |
22 | S = "${WORKDIR}" | 22 | |
23 | S = "${WORKDIR}/sources" | ||
24 | UNPACKDIR = "${S}" | ||
23 | 25 | ||
24 | FILES:${PN} += "${datadir}/themes/Sato/index.theme" | 26 | FILES:${PN} += "${datadir}/themes/Sato/index.theme" |
25 | 27 | ||
diff --git a/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb b/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb index 0c5ed5e55e..2e463cd7b3 100644 --- a/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb +++ b/meta/recipes-sato/pcmanfm/pcmanfm_1.3.2.bb | |||
@@ -27,12 +27,14 @@ inherit autotools pkgconfig features_check mime-xdg | |||
27 | REQUIRED_DISTRO_FEATURES = "x11" | 27 | REQUIRED_DISTRO_FEATURES = "x11" |
28 | 28 | ||
29 | EXTRA_OECONF = "--with-gtk=3" | 29 | EXTRA_OECONF = "--with-gtk=3" |
30 | # GCC 14 finds extra incompatible pointer type warnings which are treated as errors | ||
31 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
30 | 32 | ||
31 | do_install:append () { | 33 | do_install:append () { |
32 | install -d ${D}/${datadir} | 34 | install -d ${D}/${datadir} |
33 | install -d ${D}/${datadir}/pixmaps/ | 35 | install -d ${D}/${datadir}/pixmaps/ |
34 | 36 | ||
35 | install -m 0644 ${WORKDIR}/*.png ${D}/${datadir}/pixmaps | 37 | install -m 0644 ${UNPACKDIR}/*.png ${D}/${datadir}/pixmaps |
36 | } | 38 | } |
37 | 39 | ||
38 | FILES:${PN} += "${libdir}/pcmanfm" | 40 | FILES:${PN} += "${libdir}/pcmanfm" |
diff --git a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb index ec187ed9bd..20368703c4 100644 --- a/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb +++ b/meta/recipes-sato/pulseaudio-sato/pulseaudio-client-conf-sato_1.bb | |||
@@ -4,7 +4,9 @@ LICENSE = "MIT" | |||
4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | 4 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" |
5 | 5 | ||
6 | SRC_URI = "file://50-sato.conf" | 6 | SRC_URI = "file://50-sato.conf" |
7 | S = "${WORKDIR}" | 7 | |
8 | S = "${WORKDIR}/sources" | ||
9 | UNPACKDIR = "${S}" | ||
8 | 10 | ||
9 | inherit allarch | 11 | inherit allarch |
10 | 12 | ||
diff --git a/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc b/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc index 016614b19c..95cc140e9e 100644 --- a/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc +++ b/meta/recipes-sato/rxvt-unicode/rxvt-unicode.inc | |||
@@ -51,8 +51,8 @@ do_install:append () { | |||
51 | install -d ${D}/${datadir}/applications | 51 | install -d ${D}/${datadir}/applications |
52 | install -d ${D}/${datadir}/pixmaps/ | 52 | install -d ${D}/${datadir}/pixmaps/ |
53 | 53 | ||
54 | install -m 0644 ${WORKDIR}/rxvt.png ${D}/${datadir}/pixmaps | 54 | install -m 0644 ${UNPACKDIR}/rxvt.png ${D}/${datadir}/pixmaps |
55 | install -m 0644 ${WORKDIR}/rxvt.desktop ${D}/${datadir}/applications | 55 | install -m 0644 ${UNPACKDIR}/rxvt.desktop ${D}/${datadir}/applications |
56 | 56 | ||
57 | ${STAGING_BINDIR_NATIVE}/tic -x ${S}/doc/etc/rxvt-unicode.terminfo -o ${D}${datadir}/terminfo || \ | 57 | ${STAGING_BINDIR_NATIVE}/tic -x ${S}/doc/etc/rxvt-unicode.terminfo -o ${D}${datadir}/terminfo || \ |
58 | ${STAGING_BINDIR_NATIVE}/tic ${S}/doc/etc/rxvt-unicode.terminfo -o ${D}${datadir}/terminfo | 58 | ${STAGING_BINDIR_NATIVE}/tic ${S}/doc/etc/rxvt-unicode.terminfo -o ${D}${datadir}/terminfo |
diff --git a/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb b/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb index 4bdbefcb75..fb00de9bc9 100644 --- a/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb +++ b/meta/recipes-sato/settings-daemon/settings-daemon_0.0.2.bb | |||
@@ -26,5 +26,5 @@ REQUIRED_DISTRO_FEATURES = "x11" | |||
26 | 26 | ||
27 | do_install:append () { | 27 | do_install:append () { |
28 | install -d ${D}/${sysconfdir}/X11/Xsession.d | 28 | install -d ${D}/${sysconfdir}/X11/Xsession.d |
29 | install -m 755 ${WORKDIR}/70settings-daemon.sh ${D}/${sysconfdir}/X11/Xsession.d/ | 29 | install -m 755 ${UNPACKDIR}/70settings-daemon.sh ${D}/${sysconfdir}/X11/Xsession.d/ |
30 | } | 30 | } |
diff --git a/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb b/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb index 766f574b25..8c6c0edf10 100644 --- a/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb +++ b/meta/recipes-sato/shutdown-desktop/shutdown-desktop.bb | |||
@@ -5,7 +5,8 @@ LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384 | |||
5 | SRC_URI = "file://shutdown.desktop" | 5 | SRC_URI = "file://shutdown.desktop" |
6 | 6 | ||
7 | 7 | ||
8 | S = "${WORKDIR}" | 8 | S = "${WORKDIR}/sources" |
9 | UNPACKDIR = "${S}" | ||
9 | 10 | ||
10 | do_install() { | 11 | do_install() { |
11 | install -d ${D}${datadir}/applications | 12 | install -d ${D}${datadir}/applications |
diff --git a/meta/recipes-sato/webkit/webkitgtk/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch b/meta/recipes-sato/webkit/webkitgtk/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch deleted file mode 100644 index 3067500447..0000000000 --- a/meta/recipes-sato/webkit/webkitgtk/2922af379dc70b4b1a63b01d67179eb431f03ac4.patch +++ /dev/null | |||
@@ -1,38 +0,0 @@ | |||
1 | From 2922af379dc70b4b1a63b01d67179eb431f03ac4 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Catanzaro <mcatanzaro@redhat.com> | ||
3 | Date: Mon, 18 Mar 2024 11:14:54 -0700 | ||
4 | Subject: [PATCH] REGRESSION(274077@main): failure to build on i586 (and likely | ||
5 | other 32bit arches): static assertion failed: Timer should stay small | ||
6 | https://bugs.webkit.org/show_bug.cgi?id=271108 | ||
7 | |||
8 | Unreviewed build fix. This changes SameSizeOfTimer to ensure it matches | ||
9 | the size of Timer on 32-bit platforms. | ||
10 | |||
11 | * Source/WebCore/platform/Timer.cpp: | ||
12 | |||
13 | Canonical link: https://commits.webkit.org/276282@main | ||
14 | |||
15 | Upstream-Status: Backport [https://github.com/WebKit/WebKit/commit/2922af379dc70b4b1a63b01d67179eb431f03ac4] | ||
16 | |||
17 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
18 | --- | ||
19 | Source/WebCore/platform/Timer.cpp | 6 +++++- | ||
20 | 1 file changed, 5 insertions(+), 1 deletion(-) | ||
21 | |||
22 | diff --git a/Source/WebCore/platform/Timer.cpp b/Source/WebCore/platform/Timer.cpp | ||
23 | index 4f7c0f5c39ca9..0f3734cca2474 100644 | ||
24 | --- a/Source/WebCore/platform/Timer.cpp | ||
25 | +++ b/Source/WebCore/platform/Timer.cpp | ||
26 | @@ -263,7 +263,11 @@ struct SameSizeAsTimer { | ||
27 | |||
28 | WeakPtr<TimerAlignment> timerAlignment; | ||
29 | double times[2]; | ||
30 | - void* pointers[3]; | ||
31 | + void* pointers[2]; | ||
32 | +#if CPU(ADDRESS32) | ||
33 | + uint8_t bitfields; | ||
34 | +#endif | ||
35 | + void* pointer; | ||
36 | }; | ||
37 | |||
38 | static_assert(sizeof(Timer) == sizeof(SameSizeAsTimer), "Timer should stay small"); | ||
diff --git a/meta/recipes-sato/webkit/webkitgtk_2.44.0.bb b/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb index 0819f6de0d..29e12bb8c5 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.44.0.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.44.1.bb | |||
@@ -16,9 +16,8 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ | |||
16 | file://no-musttail-arm.patch \ | 16 | file://no-musttail-arm.patch \ |
17 | file://t6-not-declared.patch \ | 17 | file://t6-not-declared.patch \ |
18 | file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ | 18 | file://30e1d5e22213fdaca2a29ec3400c927d710a37a8.patch \ |
19 | file://2922af379dc70b4b1a63b01d67179eb431f03ac4.patch \ | ||
20 | " | 19 | " |
21 | SRC_URI[sha256sum] = "c66530e41ba59b1edba4ee89ef20b2188e273bed0497e95084729e3cfbe30c87" | 20 | SRC_URI[sha256sum] = "425b1459b0f04d0600c78d1abb5e7edfa3c060a420f8b231e9a6a2d5d29c5561" |
22 | 21 | ||
23 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen | 22 | inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen |
24 | 23 | ||
diff --git a/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch b/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch index a274f3a16e..b46dc76a86 100644 --- a/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch +++ b/meta/recipes-support/apr/apr/0001-Add-option-to-disable-timed-dependant-tests.patch | |||
@@ -7,7 +7,7 @@ The disabled tests rely on timing to pass correctly. On a virtualized | |||
7 | system under heavy load, these tests randomly fail because they miss | 7 | system under heavy load, these tests randomly fail because they miss |
8 | a timer or other timing related issues. | 8 | a timer or other timing related issues. |
9 | 9 | ||
10 | Upstream-Status: Pending | 10 | Upstream-Status: Submitted [https://github.com/apache/apr/pull/54] |
11 | Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> | 11 | Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> |
12 | 12 | ||
13 | --- | 13 | --- |
diff --git a/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch b/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch deleted file mode 100644 index 8760b0140c..0000000000 --- a/meta/recipes-support/apr/apr/0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch +++ /dev/null | |||
@@ -1,50 +0,0 @@ | |||
1 | From c6afc4a4a766478cb6aa6b43a50051881b6318d7 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Fri, 3 Mar 2017 22:24:17 +0100 | ||
4 | Subject: [PATCH 7/7] explicitly link libapr against phtread to make gold happy | ||
5 | on test | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_init' | ||
11 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_settype' | ||
12 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutexattr_destroy' | ||
13 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_mutex_trylock' | ||
14 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_attr_setstacksize' | ||
15 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_create' | ||
16 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_join' | ||
17 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_detach' | ||
18 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_sigmask' | ||
19 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_once' | ||
20 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_create' | ||
21 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_getspecific' | ||
22 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_key_delete' | ||
23 | | ../.libs/libapr-1.so: error: undefined reference to 'pthread_setspecific' | ||
24 | | collect2: error: ld returned 1 exit status | ||
25 | | Makefile:114: recipe for target 'globalmutexchild' failed | ||
26 | | make[1]: *** [globalmutexchild] Error 1 | ||
27 | | make[1]: Leaving directory '/home/superandy/tmp/oe-core-glibc/work/cortexa7t2hf-neon-vfpv4-angstrom-linux-gnueabi/apr/1.5.2-r0/apr-1.5.2/test' | ||
28 | |||
29 | Upstream-Status: Pending | ||
30 | |||
31 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
32 | --- | ||
33 | configure.in | 1 + | ||
34 | 1 file changed, 1 insertion(+) | ||
35 | |||
36 | diff --git a/configure.in b/configure.in | ||
37 | index a227e72..cbc0f90 100644 | ||
38 | --- a/configure.in | ||
39 | +++ b/configure.in | ||
40 | @@ -784,6 +784,7 @@ else | ||
41 | APR_PTHREADS_CHECK_RESTORE ] ) | ||
42 | fi | ||
43 | if test "$pthreadh" = "1"; then | ||
44 | + APR_ADDTO(LIBS,[-lpthread]) | ||
45 | APR_CHECK_PTHREAD_GETSPECIFIC_TWO_ARGS | ||
46 | APR_CHECK_PTHREAD_ATTR_GETDETACHSTATE_ONE_ARG | ||
47 | APR_CHECK_PTHREAD_RECURSIVE_MUTEX | ||
48 | -- | ||
49 | 1.8.3.1 | ||
50 | |||
diff --git a/meta/recipes-support/apr/apr_1.7.4.bb b/meta/recipes-support/apr/apr_1.7.4.bb index d322629b66..4df741c766 100644 --- a/meta/recipes-support/apr/apr_1.7.4.bb +++ b/meta/recipes-support/apr/apr_1.7.4.bb | |||
@@ -18,7 +18,6 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \ | |||
18 | file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \ | 18 | file://0002-apr-Remove-workdir-path-references-from-installed-ap.patch \ |
19 | file://0004-Fix-packet-discards-HTTP-redirect.patch \ | 19 | file://0004-Fix-packet-discards-HTTP-redirect.patch \ |
20 | file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \ | 20 | file://0005-configure.in-fix-LTFLAGS-to-make-it-work-with-ccache.patch \ |
21 | file://0007-explicitly-link-libapr-against-phtread-to-make-gold-.patch \ | ||
22 | file://libtoolize_check.patch \ | 21 | file://libtoolize_check.patch \ |
23 | file://0001-Add-option-to-disable-timed-dependant-tests.patch \ | 22 | file://0001-Add-option-to-disable-timed-dependant-tests.patch \ |
24 | file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \ | 23 | file://0001-configure-Remove-runtime-test-for-mmap-that-can-map-.patch \ |
diff --git a/meta/recipes-support/atk/at-spi2-core_2.52.0.bb b/meta/recipes-support/atk/at-spi2-core_2.52.0.bb index cf221e0389..913b408403 100644 --- a/meta/recipes-support/atk/at-spi2-core_2.52.0.bb +++ b/meta/recipes-support/atk/at-spi2-core_2.52.0.bb | |||
@@ -7,6 +7,8 @@ BUGTRACKER = "http://bugzilla.gnome.org/" | |||
7 | LICENSE = "LGPL-2.1-or-later" | 7 | LICENSE = "LGPL-2.1-or-later" |
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | 8 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" |
9 | 9 | ||
10 | CVE_PRODUCT += "at-spi2-atk" | ||
11 | |||
10 | MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" | 12 | MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" |
11 | 13 | ||
12 | SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" | 14 | SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" |
diff --git a/meta/recipes-support/consolekit/consolekit_0.4.6.bb b/meta/recipes-support/consolekit/consolekit_0.4.6.bb index 346bd60e4d..0f2153d493 100644 --- a/meta/recipes-support/consolekit/consolekit_0.4.6.bb +++ b/meta/recipes-support/consolekit/consolekit_0.4.6.bb | |||
@@ -31,6 +31,9 @@ PACKAGECONFIG[pam] = "--enable-pam-module --with-pam-module-dir=${base_libdir}/s | |||
31 | PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit" | 31 | PACKAGECONFIG[polkit] = "--with-polkit,--without-polkit,polkit" |
32 | PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/,--with-systemdsystemunitdir=" | 32 | PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/,--with-systemdsystemunitdir=" |
33 | 33 | ||
34 | # Fails to build with GCC14 with incompatible pointer error warning being treated as error | ||
35 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
36 | |||
34 | FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \ | 37 | FILES:${PN} += "${exec_prefix}/lib/ConsoleKit \ |
35 | ${libdir}/ConsoleKit ${systemd_unitdir} ${base_libdir} \ | 38 | ${libdir}/ConsoleKit ${systemd_unitdir} ${base_libdir} \ |
36 | ${datadir}/dbus-1 ${datadir}/PolicyKit ${datadir}/polkit*" | 39 | ${datadir}/dbus-1 ${datadir}/PolicyKit ${datadir}/polkit*" |
diff --git a/meta/recipes-support/curl/curl/721941aadf4adf4f6aeb3f4c0ab489bb89610c36.patch b/meta/recipes-support/curl/curl/721941aadf4adf4f6aeb3f4c0ab489bb89610c36.patch new file mode 100644 index 0000000000..98f7db93e8 --- /dev/null +++ b/meta/recipes-support/curl/curl/721941aadf4adf4f6aeb3f4c0ab489bb89610c36.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | From 721941aadf4adf4f6aeb3f4c0ab489bb89610c36 Mon Sep 17 00:00:00 2001 | ||
2 | From: Stefan Eissing <stefan@eissing.org> | ||
3 | Date: Mon, 1 Apr 2024 15:41:18 +0200 | ||
4 | Subject: [PATCH] http: with chunked POST forced, disable length check on read | ||
5 | callback | ||
6 | |||
7 | - when an application forces HTTP/1.1 chunked transfer encoding | ||
8 | by setting the corresponding header and instructs curl to use | ||
9 | the CURLOPT_READFUNCTION, disregard any POST length information. | ||
10 | - this establishes backward compatibility with previous curl versions | ||
11 | |||
12 | Applications are encouraged to not force "chunked", but rather | ||
13 | set length information for a POST. By setting -1, curl will | ||
14 | auto-select chunked on HTTP/1.1 and work properly on other HTTP | ||
15 | versions. | ||
16 | |||
17 | Reported-by: Jeff King | ||
18 | Fixes #13229 | ||
19 | Closes #13257 | ||
20 | Upstream-Status: Backport | ||
21 | --- | ||
22 | lib/http.c | 22 ++++++++++++++++++++-- | ||
23 | 1 file changed, 20 insertions(+), 2 deletions(-) | ||
24 | |||
25 | diff --git a/lib/http.c b/lib/http.c | ||
26 | index 92c04e69cd8373..a764d3c4403c39 100644 | ||
27 | --- a/lib/http.c | ||
28 | +++ b/lib/http.c | ||
29 | @@ -2046,8 +2046,19 @@ static CURLcode set_reader(struct Curl_easy *data, Curl_HttpReq httpreq) | ||
30 | else | ||
31 | result = Curl_creader_set_null(data); | ||
32 | } | ||
33 | - else { /* we read the bytes from the callback */ | ||
34 | - result = Curl_creader_set_fread(data, postsize); | ||
35 | + else { | ||
36 | + /* we read the bytes from the callback. In case "chunked" encoding | ||
37 | + * is forced by the application, we disregard `postsize`. This is | ||
38 | + * a backward compatibility decision to earlier versions where | ||
39 | + * chunking disregarded this. See issue #13229. */ | ||
40 | + bool chunked = FALSE; | ||
41 | + char *ptr = Curl_checkheaders(data, STRCONST("Transfer-Encoding")); | ||
42 | + if(ptr) { | ||
43 | + /* Some kind of TE is requested, check if 'chunked' is chosen */ | ||
44 | + chunked = Curl_compareheader(ptr, STRCONST("Transfer-Encoding:"), | ||
45 | + STRCONST("chunked")); | ||
46 | + } | ||
47 | + result = Curl_creader_set_fread(data, chunked? -1 : postsize); | ||
48 | } | ||
49 | return result; | ||
50 | |||
51 | @@ -2115,6 +2126,13 @@ CURLcode Curl_http_req_set_reader(struct Curl_easy *data, | ||
52 | data->req.upload_chunky = | ||
53 | Curl_compareheader(ptr, | ||
54 | STRCONST("Transfer-Encoding:"), STRCONST("chunked")); | ||
55 | + if(data->req.upload_chunky && | ||
56 | + Curl_use_http_1_1plus(data, data->conn) && | ||
57 | + (data->conn->httpversion >= 20)) { | ||
58 | + infof(data, "suppressing chunked transfer encoding on connection " | ||
59 | + "using HTTP version 2 or higher"); | ||
60 | + data->req.upload_chunky = FALSE; | ||
61 | + } | ||
62 | } | ||
63 | else { | ||
64 | curl_off_t req_clen = Curl_creader_total_length(data); | ||
diff --git a/meta/recipes-support/curl/curl/run-ptest b/meta/recipes-support/curl/curl/run-ptest index 3d25f3d90b..579b3f4587 100644 --- a/meta/recipes-support/curl/curl/run-ptest +++ b/meta/recipes-support/curl/curl/run-ptest | |||
@@ -7,5 +7,7 @@ cd tests | |||
7 | # Use automake-style output | 7 | # Use automake-style output |
8 | # Run four tests in parallel | 8 | # Run four tests in parallel |
9 | # Print log output on failure | 9 | # Print log output on failure |
10 | |||
10 | # Don't run the flaky or timing dependent tests | 11 | # Don't run the flaky or timing dependent tests |
11 | ./runtests.pl -a -n -am -j4 -p !flaky !timing-dependent | 12 | # Until https://github.com/curl/curl/issues/13350 is resolved, don't run FTP tests |
13 | ./runtests.pl -a -n -am -j4 -p !flaky !timing-dependent !FTP | ||
diff --git a/meta/recipes-support/curl/curl_8.7.1.bb b/meta/recipes-support/curl/curl_8.7.1.bb index c6654bbad6..23b7c50a86 100644 --- a/meta/recipes-support/curl/curl_8.7.1.bb +++ b/meta/recipes-support/curl/curl_8.7.1.bb | |||
@@ -11,6 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eed2e5088e1ac619c9a1c747da291d75" | |||
11 | 11 | ||
12 | SRC_URI = " \ | 12 | SRC_URI = " \ |
13 | https://curl.se/download/${BP}.tar.xz \ | 13 | https://curl.se/download/${BP}.tar.xz \ |
14 | file://721941aadf4adf4f6aeb3f4c0ab489bb89610c36.patch \ | ||
14 | file://run-ptest \ | 15 | file://run-ptest \ |
15 | file://disable-tests \ | 16 | file://disable-tests \ |
16 | file://no-test-timeout.patch \ | 17 | file://no-test-timeout.patch \ |
@@ -102,7 +103,7 @@ do_compile_ptest() { | |||
102 | } | 103 | } |
103 | 104 | ||
104 | do_install_ptest() { | 105 | do_install_ptest() { |
105 | cat ${WORKDIR}/disable-tests >> ${S}/tests/data/DISABLED | 106 | cat ${UNPACKDIR}/disable-tests >> ${S}/tests/data/DISABLED |
106 | rm -f ${B}/tests/configurehelp.pm | 107 | rm -f ${B}/tests/configurehelp.pm |
107 | cp -rf ${B}/tests ${D}${PTEST_PATH} | 108 | cp -rf ${B}/tests ${D}${PTEST_PATH} |
108 | rm -f ${D}${PTEST_PATH}/tests/libtest/.libs/libhostname.la | 109 | rm -f ${D}${PTEST_PATH}/tests/libtest/.libs/libhostname.la |
@@ -119,6 +120,7 @@ do_install_ptest() { | |||
119 | 120 | ||
120 | RDEPENDS:${PN}-ptest += " \ | 121 | RDEPENDS:${PN}-ptest += " \ |
121 | bash \ | 122 | bash \ |
123 | locale-base-en-us \ | ||
122 | perl-module-b \ | 124 | perl-module-b \ |
123 | perl-module-base \ | 125 | perl-module-base \ |
124 | perl-module-cwd \ | 126 | perl-module-cwd \ |
@@ -134,7 +136,6 @@ RDEPENDS:${PN}-ptest += " \ | |||
134 | perl-module-storable \ | 136 | perl-module-storable \ |
135 | perl-module-time-hires \ | 137 | perl-module-time-hires \ |
136 | " | 138 | " |
137 | RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us" | ||
138 | 139 | ||
139 | PACKAGES =+ "lib${BPN}" | 140 | PACKAGES =+ "lib${BPN}" |
140 | 141 | ||
diff --git a/meta/recipes-support/diffoscope/diffoscope_260.bb b/meta/recipes-support/diffoscope/diffoscope_265.bb index 297a53fb53..6af5abc974 100644 --- a/meta/recipes-support/diffoscope/diffoscope_260.bb +++ b/meta/recipes-support/diffoscope/diffoscope_265.bb | |||
@@ -12,7 +12,7 @@ PYPI_PACKAGE = "diffoscope" | |||
12 | 12 | ||
13 | inherit pypi setuptools3 | 13 | inherit pypi setuptools3 |
14 | 14 | ||
15 | SRC_URI[sha256sum] = "405a55502c8b2c988e46c0800d6a93e8e4e7632c1542b0a540dda50aeea41dac" | 15 | SRC_URI[sha256sum] = "7bdcbd7fc5bc4c821bf6ab5ffbbeb265103b04e6908ea4bb12144d7e5ca002ff" |
16 | 16 | ||
17 | RDEPENDS:${PN} += "\ | 17 | RDEPENDS:${PN} += "\ |
18 | binutils \ | 18 | binutils \ |
diff --git a/meta/recipes-support/enchant/enchant2_2.6.9.bb b/meta/recipes-support/enchant/enchant2_2.7.3.bb index aaf3525ad8..d5073b6f31 100644 --- a/meta/recipes-support/enchant/enchant2_2.6.9.bb +++ b/meta/recipes-support/enchant/enchant2_2.7.3.bb | |||
@@ -12,7 +12,7 @@ DEPENDS = "glib-2.0 groff-native" | |||
12 | inherit autotools pkgconfig github-releases | 12 | inherit autotools pkgconfig github-releases |
13 | 13 | ||
14 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz" | 14 | SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/enchant-${PV}.tar.gz" |
15 | SRC_URI[sha256sum] = "d9a5a10dc9b38a43b3a0fa22c76ed6ebb7e09eb535aff62954afcdbd40efff6b" | 15 | SRC_URI[sha256sum] = "fe6ad4cbe8c71b9384ffdef962be52d4d2bd5ebfb6351435bb390543d4f78b1e" |
16 | 16 | ||
17 | GITHUB_BASE_URI = "https://github.com/AbiWord/enchant/releases" | 17 | GITHUB_BASE_URI = "https://github.com/AbiWord/enchant/releases" |
18 | 18 | ||
diff --git a/meta/recipes-support/gnutls/gnutls/0001-Fix-RSAES-PKCS1-v1_5-system-wide-configuration.patch b/meta/recipes-support/gnutls/gnutls/0001-Fix-RSAES-PKCS1-v1_5-system-wide-configuration.patch new file mode 100644 index 0000000000..cc39f5c9a5 --- /dev/null +++ b/meta/recipes-support/gnutls/gnutls/0001-Fix-RSAES-PKCS1-v1_5-system-wide-configuration.patch | |||
@@ -0,0 +1,269 @@ | |||
1 | From 2d73d945c4b1dfcf8d2328c4d23187d62ffaab2d Mon Sep 17 00:00:00 2001 | ||
2 | From: Zoltan Fridrich <zfridric@redhat.com> | ||
3 | Date: Wed, 10 Apr 2024 12:51:33 +0200 | ||
4 | Subject: [PATCH] Fix RSAES-PKCS1-v1_5 system-wide configuration | ||
5 | |||
6 | Upstream-Status: Backport [expected for 3.8.6 https://gitlab.com/gnutls/gnutls/-/merge_requests/1830?commit_id=2d73d945c4b1dfcf8d2328c4d23187d62ffaab2d] | ||
7 | |||
8 | Signed-off-by: Simone Weiß <simone.p.weiss@posteo.com> | ||
9 | Signed-off-by: Zoltan Fridrich <zfridric@redhat.com> | ||
10 | --- | ||
11 | lib/priority.c | 125 +++++++++++------- | ||
12 | ...system-override-allow-rsa-pkcs1-encrypt.sh | 27 +++- | ||
13 | 2 files changed, 96 insertions(+), 56 deletions(-) | ||
14 | |||
15 | diff --git a/lib/priority.c b/lib/priority.c | ||
16 | index 8abe00d1ff..3434619aad 100644 | ||
17 | --- a/lib/priority.c | ||
18 | +++ b/lib/priority.c | ||
19 | @@ -1018,6 +1018,12 @@ struct cfg { | ||
20 | bool force_ext_master_secret_set; | ||
21 | }; | ||
22 | |||
23 | +static inline void cfg_init(struct cfg *cfg) | ||
24 | +{ | ||
25 | + memset(cfg, 0, sizeof(*cfg)); | ||
26 | + cfg->allow_rsa_pkcs1_encrypt = true; | ||
27 | +} | ||
28 | + | ||
29 | static inline void cfg_deinit(struct cfg *cfg) | ||
30 | { | ||
31 | if (cfg->priority_strings) { | ||
32 | @@ -1095,6 +1101,12 @@ struct ini_ctx { | ||
33 | size_t curves_size; | ||
34 | }; | ||
35 | |||
36 | +static inline void ini_ctx_init(struct ini_ctx *ctx) | ||
37 | +{ | ||
38 | + memset(ctx, 0, sizeof(*ctx)); | ||
39 | + cfg_init(&ctx->cfg); | ||
40 | +} | ||
41 | + | ||
42 | static inline void ini_ctx_deinit(struct ini_ctx *ctx) | ||
43 | { | ||
44 | cfg_deinit(&ctx->cfg); | ||
45 | @@ -1423,9 +1435,6 @@ static inline int cfg_apply(struct cfg *cfg, struct ini_ctx *ctx) | ||
46 | _gnutls_default_priority_string = cfg->default_priority_string; | ||
47 | } | ||
48 | |||
49 | - /* enable RSA-PKCS1-V1_5 by default */ | ||
50 | - cfg->allow_rsa_pkcs1_encrypt = true; | ||
51 | - | ||
52 | if (cfg->allowlisting) { | ||
53 | /* also updates `flags` of global `hash_algorithms[]` */ | ||
54 | ret = cfg_hashes_set_array(cfg, ctx->hashes, ctx->hashes_size); | ||
55 | @@ -2217,22 +2226,73 @@ update_system_wide_priority_string(void) | ||
56 | return 0; | ||
57 | } | ||
58 | |||
59 | +/* Returns false on parse error, otherwise true. | ||
60 | + * The system_wide_config must be locked for writing. | ||
61 | + */ | ||
62 | +static inline bool load_system_priority_file(void) | ||
63 | +{ | ||
64 | + int err; | ||
65 | + FILE *fp; | ||
66 | + struct ini_ctx ctx; | ||
67 | + | ||
68 | + cfg_init(&system_wide_config); | ||
69 | + | ||
70 | + fp = fopen(system_priority_file, "re"); | ||
71 | + if (fp == NULL) { | ||
72 | + _gnutls_debug_log("cfg: unable to open: %s: %d\n", | ||
73 | + system_priority_file, errno); | ||
74 | + return true; | ||
75 | + } | ||
76 | + | ||
77 | + /* Parsing the configuration file needs to be done in 2 phases: | ||
78 | + * first parsing the [global] section | ||
79 | + * and then the other sections, | ||
80 | + * because the [global] section modifies the parsing behavior. | ||
81 | + */ | ||
82 | + ini_ctx_init(&ctx); | ||
83 | + err = ini_parse_file(fp, global_ini_handler, &ctx); | ||
84 | + if (!err) { | ||
85 | + if (fseek(fp, 0L, SEEK_SET) < 0) { | ||
86 | + _gnutls_debug_log("cfg: unable to rewind: %s\n", | ||
87 | + system_priority_file); | ||
88 | + if (fail_on_invalid_config) | ||
89 | + exit(1); | ||
90 | + } | ||
91 | + err = ini_parse_file(fp, cfg_ini_handler, &ctx); | ||
92 | + } | ||
93 | + fclose(fp); | ||
94 | + if (err) { | ||
95 | + ini_ctx_deinit(&ctx); | ||
96 | + _gnutls_debug_log("cfg: unable to parse: %s: %d\n", | ||
97 | + system_priority_file, err); | ||
98 | + return false; | ||
99 | + } | ||
100 | + cfg_apply(&system_wide_config, &ctx); | ||
101 | + ini_ctx_deinit(&ctx); | ||
102 | + return true; | ||
103 | +} | ||
104 | + | ||
105 | static int _gnutls_update_system_priorities(bool defer_system_wide) | ||
106 | { | ||
107 | - int ret, err = 0; | ||
108 | + int ret; | ||
109 | + bool config_parse_error = false; | ||
110 | struct stat sb; | ||
111 | - FILE *fp; | ||
112 | gnutls_buffer_st buf; | ||
113 | - struct ini_ctx ctx; | ||
114 | |||
115 | ret = gnutls_rwlock_rdlock(&system_wide_config_rwlock); | ||
116 | - if (ret < 0) { | ||
117 | + if (ret < 0) | ||
118 | return gnutls_assert_val(ret); | ||
119 | - } | ||
120 | |||
121 | if (stat(system_priority_file, &sb) < 0) { | ||
122 | _gnutls_debug_log("cfg: unable to access: %s: %d\n", | ||
123 | system_priority_file, errno); | ||
124 | + | ||
125 | + (void)gnutls_rwlock_unlock(&system_wide_config_rwlock); | ||
126 | + ret = gnutls_rwlock_wrlock(&system_wide_config_rwlock); | ||
127 | + if (ret < 0) | ||
128 | + goto out; | ||
129 | + /* If system-wide config is unavailable, apply the defaults */ | ||
130 | + cfg_init(&system_wide_config); | ||
131 | goto out; | ||
132 | } | ||
133 | |||
134 | @@ -2240,63 +2300,27 @@ static int _gnutls_update_system_priorities(bool defer_system_wide) | ||
135 | system_priority_last_mod == sb.st_mtime) { | ||
136 | _gnutls_debug_log("cfg: system priority %s has not changed\n", | ||
137 | system_priority_file); | ||
138 | - if (system_wide_config.priority_string) { | ||
139 | + if (system_wide_config.priority_string) | ||
140 | goto out; /* nothing to do */ | ||
141 | - } | ||
142 | } | ||
143 | |||
144 | (void)gnutls_rwlock_unlock(&system_wide_config_rwlock); | ||
145 | |||
146 | ret = gnutls_rwlock_wrlock(&system_wide_config_rwlock); | ||
147 | - if (ret < 0) { | ||
148 | + if (ret < 0) | ||
149 | return gnutls_assert_val(ret); | ||
150 | - } | ||
151 | |||
152 | /* Another thread could have successfully re-read system-wide config, | ||
153 | * skip re-reading if the mtime it has used is exactly the same. | ||
154 | */ | ||
155 | - if (system_priority_file_loaded) { | ||
156 | + if (system_priority_file_loaded) | ||
157 | system_priority_file_loaded = | ||
158 | (system_priority_last_mod == sb.st_mtime); | ||
159 | - } | ||
160 | |||
161 | if (!system_priority_file_loaded) { | ||
162 | - _name_val_array_clear(&system_wide_config.priority_strings); | ||
163 | - | ||
164 | - gnutls_free(system_wide_config.priority_string); | ||
165 | - system_wide_config.priority_string = NULL; | ||
166 | - | ||
167 | - fp = fopen(system_priority_file, "re"); | ||
168 | - if (fp == NULL) { | ||
169 | - _gnutls_debug_log("cfg: unable to open: %s: %d\n", | ||
170 | - system_priority_file, errno); | ||
171 | + config_parse_error = !load_system_priority_file(); | ||
172 | + if (config_parse_error) | ||
173 | goto out; | ||
174 | - } | ||
175 | - /* Parsing the configuration file needs to be done in 2 phases: | ||
176 | - * first parsing the [global] section | ||
177 | - * and then the other sections, | ||
178 | - * because the [global] section modifies the parsing behavior. | ||
179 | - */ | ||
180 | - memset(&ctx, 0, sizeof(ctx)); | ||
181 | - err = ini_parse_file(fp, global_ini_handler, &ctx); | ||
182 | - if (!err) { | ||
183 | - if (fseek(fp, 0L, SEEK_SET) < 0) { | ||
184 | - _gnutls_debug_log("cfg: unable to rewind: %s\n", | ||
185 | - system_priority_file); | ||
186 | - if (fail_on_invalid_config) | ||
187 | - exit(1); | ||
188 | - } | ||
189 | - err = ini_parse_file(fp, cfg_ini_handler, &ctx); | ||
190 | - } | ||
191 | - fclose(fp); | ||
192 | - if (err) { | ||
193 | - ini_ctx_deinit(&ctx); | ||
194 | - _gnutls_debug_log("cfg: unable to parse: %s: %d\n", | ||
195 | - system_priority_file, err); | ||
196 | - goto out; | ||
197 | - } | ||
198 | - cfg_apply(&system_wide_config, &ctx); | ||
199 | - ini_ctx_deinit(&ctx); | ||
200 | _gnutls_debug_log("cfg: loaded system config %s mtime %lld\n", | ||
201 | system_priority_file, | ||
202 | (unsigned long long)sb.st_mtime); | ||
203 | @@ -2332,9 +2356,8 @@ static int _gnutls_update_system_priorities(bool defer_system_wide) | ||
204 | out: | ||
205 | (void)gnutls_rwlock_unlock(&system_wide_config_rwlock); | ||
206 | |||
207 | - if (err && fail_on_invalid_config) { | ||
208 | + if (config_parse_error && fail_on_invalid_config) | ||
209 | exit(1); | ||
210 | - } | ||
211 | |||
212 | return ret; | ||
213 | } | ||
214 | diff --git a/tests/system-override-allow-rsa-pkcs1-encrypt.sh b/tests/system-override-allow-rsa-pkcs1-encrypt.sh | ||
215 | index b7d477c96e..714d0af946 100755 | ||
216 | --- a/tests/system-override-allow-rsa-pkcs1-encrypt.sh | ||
217 | +++ b/tests/system-override-allow-rsa-pkcs1-encrypt.sh | ||
218 | @@ -19,9 +19,8 @@ | ||
219 | # You should have received a copy of the GNU Lesser General Public License | ||
220 | # along with this program. If not, see <https://www.gnu.org/licenses/> | ||
221 | |||
222 | -: ${srcdir=.} | ||
223 | -TEST=${srcdir}/rsaes-pkcs1-v1_5 | ||
224 | -CONF=${srcdir}/config.$$.tmp | ||
225 | +TEST=${builddir}/rsaes-pkcs1-v1_5 | ||
226 | +CONF=config.$$.tmp | ||
227 | export GNUTLS_SYSTEM_PRIORITY_FILE=${CONF} | ||
228 | export GNUTLS_SYSTEM_PRIORITY_FAIL_ON_INVALID=1 | ||
229 | |||
230 | @@ -38,15 +37,33 @@ cat <<_EOF_ > ${CONF} | ||
231 | allow-rsa-pkcs1-encrypt = true | ||
232 | _EOF_ | ||
233 | |||
234 | -${TEST} && fail "RSAES-PKCS1-v1_5 expected to succeed" | ||
235 | +${TEST} | ||
236 | +if [ $? != 0 ]; then | ||
237 | + echo "${TEST} expected to succeed" | ||
238 | + exit 1 | ||
239 | +fi | ||
240 | +echo "RSAES-PKCS1-v1_5 successfully enabled" | ||
241 | |||
242 | cat <<_EOF_ > ${CONF} | ||
243 | [overrides] | ||
244 | allow-rsa-pkcs1-encrypt = false | ||
245 | _EOF_ | ||
246 | |||
247 | -${TEST} || fail "RSAES-PKCS1-v1_5 expected to fail" | ||
248 | +${TEST} | ||
249 | +if [ $? = 0 ]; then | ||
250 | + echo "${TEST} expected to fail" | ||
251 | + exit 1 | ||
252 | +fi | ||
253 | +echo "RSAES-PKCS1-v1_5 successfully disabled" | ||
254 | |||
255 | unset GNUTLS_SYSTEM_PRIORITY_FILE | ||
256 | unset GNUTLS_SYSTEM_PRIORITY_FAIL_ON_INVALID | ||
257 | + | ||
258 | +${TEST} | ||
259 | +if [ $? != 0 ]; then | ||
260 | + echo "${TEST} expected to succeed by default" | ||
261 | + exit 1 | ||
262 | +fi | ||
263 | +echo "RSAES-PKCS1-v1_5 successfully enabled by default" | ||
264 | + | ||
265 | exit 0 | ||
266 | -- | ||
267 | GitLab | ||
268 | |||
269 | |||
diff --git a/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch b/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch index 1152d3797f..8edd31d6b9 100644 --- a/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch +++ b/meta/recipes-support/gnutls/gnutls/Add-ptest-support.patch | |||
@@ -1,4 +1,4 @@ | |||
1 | From ff6a345235b2585c261752e47a749228672b07dc Mon Sep 17 00:00:00 2001 | 1 | From bfa70adcbda4e505cf2e597907852e78e0439ee2 Mon Sep 17 00:00:00 2001 |
2 | From: Ravineet Singh <ravineet.a.singh@est.tech> | 2 | From: Ravineet Singh <ravineet.a.singh@est.tech> |
3 | Date: Tue, 10 Jan 2023 16:11:10 +0100 | 3 | Date: Tue, 10 Jan 2023 16:11:10 +0100 |
4 | Subject: [PATCH] gnutls: add ptest support | 4 | Subject: [PATCH] gnutls: add ptest support |
@@ -26,7 +26,7 @@ index 843193f..816b09f 100644 | |||
26 | 26 | ||
27 | include $(top_srcdir)/cligen/cligen.mk | 27 | include $(top_srcdir)/cligen/cligen.mk |
28 | diff --git a/configure.ac b/configure.ac | 28 | diff --git a/configure.ac b/configure.ac |
29 | index d6e03cf..e3f15fb 100644 | 29 | index 934377e..4406eae 100644 |
30 | --- a/configure.ac | 30 | --- a/configure.ac |
31 | +++ b/configure.ac | 31 | +++ b/configure.ac |
32 | @@ -1213,6 +1213,8 @@ AC_SUBST(LIBGNUTLS_CFLAGS) | 32 | @@ -1213,6 +1213,8 @@ AC_SUBST(LIBGNUTLS_CFLAGS) |
@@ -39,10 +39,10 @@ index d6e03cf..e3f15fb 100644 | |||
39 | 39 | ||
40 | hw_features= | 40 | hw_features= |
41 | diff --git a/tests/Makefile.am b/tests/Makefile.am | 41 | diff --git a/tests/Makefile.am b/tests/Makefile.am |
42 | index fb9e55a..c2d226a 100644 | 42 | index e39a3b3..861dd63 100644 |
43 | --- a/tests/Makefile.am | 43 | --- a/tests/Makefile.am |
44 | +++ b/tests/Makefile.am | 44 | +++ b/tests/Makefile.am |
45 | @@ -658,6 +658,12 @@ SH_LOG_COMPILER = $(SHELL) | 45 | @@ -663,6 +663,12 @@ SH_LOG_COMPILER = $(SHELL) |
46 | AM_VALGRINDFLAGS = --suppressions=$(srcdir)/suppressions.valgrind | 46 | AM_VALGRINDFLAGS = --suppressions=$(srcdir)/suppressions.valgrind |
47 | LOG_COMPILER = $(LOG_VALGRIND) | 47 | LOG_COMPILER = $(LOG_VALGRIND) |
48 | 48 | ||
diff --git a/meta/recipes-support/gnutls/gnutls_3.8.4.bb b/meta/recipes-support/gnutls/gnutls_3.8.5.bb index 20139b4dd4..52a1c00c4a 100644 --- a/meta/recipes-support/gnutls/gnutls_3.8.4.bb +++ b/meta/recipes-support/gnutls/gnutls_3.8.5.bb | |||
@@ -21,11 +21,12 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" | |||
21 | SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ | 21 | SRC_URI = "https://www.gnupg.org/ftp/gcrypt/gnutls/v${SHRT_VER}/gnutls-${PV}.tar.xz \ |
22 | file://arm_eabi.patch \ | 22 | file://arm_eabi.patch \ |
23 | file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \ | 23 | file://0001-Creating-.hmac-file-should-be-excuted-in-target-envi.patch \ |
24 | file://0001-Fix-RSAES-PKCS1-v1_5-system-wide-configuration.patch \ | ||
24 | file://run-ptest \ | 25 | file://run-ptest \ |
25 | file://Add-ptest-support.patch \ | 26 | file://Add-ptest-support.patch \ |
26 | " | 27 | " |
27 | 28 | ||
28 | SRC_URI[sha256sum] = "2bea4e154794f3f00180fa2a5c51fe8b005ac7a31cd58bd44cdfa7f36ebc3a9b" | 29 | SRC_URI[sha256sum] = "66269a2cfe0e1c2dabec87bdbbd8ab656f396edd9a40dd006978e003cfa52bfc" |
29 | 30 | ||
30 | inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest | 31 | inherit autotools texinfo pkgconfig gettext lib_package gtk-doc ptest |
31 | 32 | ||
diff --git a/meta/recipes-support/icu/icu/fix-install-manx.patch b/meta/recipes-support/icu/icu/fix-install-manx.patch index 7526bde370..16cabc8264 100644 --- a/meta/recipes-support/icu/icu/fix-install-manx.patch +++ b/meta/recipes-support/icu/icu/fix-install-manx.patch | |||
@@ -11,7 +11,9 @@ and one process tries to chown a file that the other process has just deleted. | |||
11 | Also install-manx should be a phony target, and for clarity use $^ instead of $? | 11 | Also install-manx should be a phony target, and for clarity use $^ instead of $? |
12 | in the install command. | 12 | in the install command. |
13 | 13 | ||
14 | Upstream-Status: Pending | 14 | Upstream ticket: https://unicode-org.atlassian.net/jira/software/c/projects/ICU/issues/ICU-21172 |
15 | |||
16 | Upstream-Status: Submitted [https://github.com/unicode-org/icu/pull/2966] | ||
15 | Signed-off-by: Ross Burton <ross.burton@intel.com> | 17 | Signed-off-by: Ross Burton <ross.burton@intel.com> |
16 | --- | 18 | --- |
17 | Makefile.in | 8 ++++---- | 19 | Makefile.in | 8 ++++---- |
diff --git a/meta/recipes-support/libfm/libfm_1.3.2.bb b/meta/recipes-support/libfm/libfm_1.3.2.bb index 057c737029..1d7609165b 100644 --- a/meta/recipes-support/libfm/libfm_1.3.2.bb +++ b/meta/recipes-support/libfm/libfm_1.3.2.bb | |||
@@ -53,3 +53,7 @@ do_install:append () { | |||
53 | rm -f ${D}${libdir}/libfm-extra.a | 53 | rm -f ${D}${libdir}/libfm-extra.a |
54 | rm -f ${D}${libdir}/libfm-extra.la | 54 | rm -f ${D}${libdir}/libfm-extra.la |
55 | } | 55 | } |
56 | |||
57 | # http://errors.yoctoproject.org/Errors/Details/766924/ | ||
58 | # libfm-1.3.2/src/actions/action.c:2050:25: error: assignment to 'gchar **' {aka 'char **'} from incompatible pointer type 'const gchar * const*' {aka 'const char * const*'} [-Wincompatible-pointer-types] | ||
59 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-support/libical/libical_3.0.18.bb b/meta/recipes-support/libical/libical_3.0.18.bb index 040d23b69d..052ca57cfb 100644 --- a/meta/recipes-support/libical/libical_3.0.18.bb +++ b/meta/recipes-support/libical/libical_3.0.18.bb | |||
@@ -37,7 +37,8 @@ EXTRA_OECMAKE += "-DICAL_BUILD_DOCS=false" | |||
37 | EXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_COMPILER=${STAGING_BINDIR}/g-ir-compiler-wrapper" | 37 | EXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_COMPILER=${STAGING_BINDIR}/g-ir-compiler-wrapper" |
38 | EXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_SCANNER=${STAGING_BINDIR}/g-ir-scanner-wrapper" | 38 | EXTRA_OECMAKE:append:class-target = " -DGObjectIntrospection_SCANNER=${STAGING_BINDIR}/g-ir-scanner-wrapper" |
39 | EXTRA_OECMAKE += "-DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen" | 39 | EXTRA_OECMAKE += "-DVAPIGEN=${STAGING_BINDIR_NATIVE}/vapigen" |
40 | EXTRA_OECMAKE += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DGOBJECT_INTROSPECTION=ON -DICAL_GLIB_VAPI=ON', '-DGOBJECT_INTROSPECTION=OFF', d)}" | 40 | EXTRA_OECMAKE += "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '-DGOBJECT_INTROSPECTION=ON -DICAL_GLIB_VAPI=ON', '-DGOBJECT_INTROSPECTION=OFF -DICAL_GLIB_VAPI=OFF', d)}" |
41 | EXTRA_OECMAKE:append:class-native = " -DGOBJECT_INTROSPECTION=OFF -DICAL_GLIB_VAPI=OFF" | ||
41 | 42 | ||
42 | # Tell the cross-libical where the tool it needs to build is | 43 | # Tell the cross-libical where the tool it needs to build is |
43 | EXTRA_OECMAKE:append:class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake" | 44 | EXTRA_OECMAKE:append:class-target = " -DIMPORT_ICAL_GLIB_SRC_GENERATOR=${STAGING_LIBDIR_NATIVE}/cmake/LibIcal/IcalGlibSrcGenerator.cmake" |
diff --git a/meta/recipes-support/libpcre/libpcre_8.45.bb b/meta/recipes-support/libpcre/libpcre_8.45.bb index 46fedbae48..17fb6846a5 100644 --- a/meta/recipes-support/libpcre/libpcre_8.45.bb +++ b/meta/recipes-support/libpcre/libpcre_8.45.bb | |||
@@ -56,7 +56,7 @@ BBCLASSEXTEND = "native nativesdk" | |||
56 | 56 | ||
57 | do_install_ptest() { | 57 | do_install_ptest() { |
58 | t=${D}${PTEST_PATH} | 58 | t=${D}${PTEST_PATH} |
59 | cp ${WORKDIR}/Makefile $t | 59 | cp ${UNPACKDIR}/Makefile $t |
60 | cp -r ${S}/testdata $t | 60 | cp -r ${S}/testdata $t |
61 | for i in pcre_stringpiece_unittest pcregrep pcretest; \ | 61 | for i in pcre_stringpiece_unittest pcregrep pcretest; \ |
62 | do cp ${B}/.libs/$i $t; \ | 62 | do cp ${B}/.libs/$i $t; \ |
diff --git a/meta/recipes-support/libproxy/libproxy_0.5.4.bb b/meta/recipes-support/libproxy/libproxy_0.5.6.bb index b4f4c6d254..6a705b305f 100644 --- a/meta/recipes-support/libproxy/libproxy_0.5.4.bb +++ b/meta/recipes-support/libproxy/libproxy_0.5.6.bb | |||
@@ -14,7 +14,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ | |||
14 | DEPENDS = "glib-2.0" | 14 | DEPENDS = "glib-2.0" |
15 | 15 | ||
16 | SRC_URI = "git://github.com/libproxy/libproxy;protocol=https;branch=main" | 16 | SRC_URI = "git://github.com/libproxy/libproxy;protocol=https;branch=main" |
17 | SRCREV = "dff9a603d823dcc740ec966cd27960daa6b891b1" | 17 | SRCREV = "e7d18806575e21f94cf2f6024659386b129ca189" |
18 | S = "${WORKDIR}/git" | 18 | S = "${WORKDIR}/git" |
19 | 19 | ||
20 | inherit meson pkgconfig gobject-introspection vala gi-docgen | 20 | inherit meson pkgconfig gobject-introspection vala gi-docgen |
diff --git a/meta/recipes-support/libunwind/libunwind_1.6.2.bb b/meta/recipes-support/libunwind/libunwind_1.6.2.bb index 3208785124..c7b1604b61 100644 --- a/meta/recipes-support/libunwind/libunwind_1.6.2.bb +++ b/meta/recipes-support/libunwind/libunwind_1.6.2.bb | |||
@@ -40,3 +40,11 @@ do_install:append () { | |||
40 | } | 40 | } |
41 | 41 | ||
42 | BBCLASSEXTEND = "native" | 42 | BBCLASSEXTEND = "native" |
43 | |||
44 | # http://errors.yoctoproject.org/Errors/Build/183144/ | ||
45 | # libunwind-1.6.2/include/tdep-aarch64/libunwind_i.h:123:47: error: passing argument 1 of '_ULaarch64_uc_addr' from incompatible pointer type [-Wincompatible-pointer-types] | ||
46 | # libunwind-1.6.2/src/aarch64/Ginit.c:348:28: error: initialization of 'unw_tdep_context_t *' from incompatible pointer type 'ucontext_t *' [-Wincompatible-pointer-types] | ||
47 | # libunwind-1.6.2/src/aarch64/Ginit.c:377:28: error: initialization of 'unw_tdep_context_t *' from incompatible pointer type 'ucontext_t *' [-Wincompatible-pointer-types] | ||
48 | # libunwind-1.6.2/src/aarch64/Ginit_local.c:51:9: error: assignment to 'ucontext_t *' from incompatible pointer type 'unw_context_t *' {aka 'unw_tdep_context_t *'} [-Wincompatible-pointer-types] | ||
49 | # libunwind-1.6.2/src/aarch64/Gresume.c:37:28: error: initialization of 'unw_tdep_context_t *' from incompatible pointer type 'ucontext_t *' [-Wincompatible-pointer-types] | ||
50 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-support/lzop/lzop_1.04.bb b/meta/recipes-support/lzop/lzop_1.04.bb index d9b3524b67..2b83aa06d9 100644 --- a/meta/recipes-support/lzop/lzop_1.04.bb +++ b/meta/recipes-support/lzop/lzop_1.04.bb | |||
@@ -21,7 +21,7 @@ SRC_URI[sha256sum] = "7e72b62a8a60aff5200a047eea0773a8fb205caf7acbe1774d95147f30 | |||
21 | inherit autotools | 21 | inherit autotools |
22 | 22 | ||
23 | do_configure:prepend () { | 23 | do_configure:prepend () { |
24 | install -Dm 0644 ${WORKDIR}/acinclude.m4 ${S}/acinclude.m4 | 24 | install -Dm 0644 ${UNPACKDIR}/acinclude.m4 ${S}/acinclude.m4 |
25 | } | 25 | } |
26 | 26 | ||
27 | BBCLASSEXTEND = "native nativesdk" | 27 | BBCLASSEXTEND = "native nativesdk" |
diff --git a/meta/recipes-support/npth/npth/pkgconfig.patch b/meta/recipes-support/npth/npth/pkgconfig.patch deleted file mode 100644 index e736921b43..0000000000 --- a/meta/recipes-support/npth/npth/pkgconfig.patch +++ /dev/null | |||
@@ -1,59 +0,0 @@ | |||
1 | From ff19a9648f1c7d93087e2c33ca64bb881d53ea5a Mon Sep 17 00:00:00 2001 | ||
2 | From: Saul Wold <sgw@linux.intel.com> | ||
3 | Date: Mon, 10 Nov 2014 13:59:03 -0800 | ||
4 | Subject: [PATCH] Added npth pkgconfig file | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Saul Wold <sgw@linux.intel.com> | ||
9 | --- | ||
10 | configure.ac | 1 + | ||
11 | src/Makefile.am | 4 +++- | ||
12 | src/npth.pc.in | 10 ++++++++++ | ||
13 | 3 files changed, 14 insertions(+), 1 deletion(-) | ||
14 | create mode 100644 src/npth.pc.in | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index 10f3629..65b76a1 100644 | ||
18 | --- a/configure.ac | ||
19 | +++ b/configure.ac | ||
20 | @@ -476,6 +476,7 @@ src/Makefile | ||
21 | w32/Makefile | ||
22 | tests/Makefile]) | ||
23 | AC_CONFIG_FILES(npth-config, chmod +x npth-config) | ||
24 | +AC_CONFIG_FILES([src/npth.pc]) | ||
25 | AC_OUTPUT | ||
26 | |||
27 | echo " | ||
28 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
29 | index 7070118..6f01c64 100644 | ||
30 | --- a/src/Makefile.am | ||
31 | +++ b/src/Makefile.am | ||
32 | @@ -17,8 +17,10 @@ | ||
33 | # License along with this program; if not, see <http://www.gnu.org/licenses/>. | ||
34 | |||
35 | ## Process this file with automake to produce Makefile.in | ||
36 | +pkgconfigdir = $(libdir)/pkgconfig | ||
37 | +pkgconfig_DATA = npth.pc | ||
38 | |||
39 | -EXTRA_DIST = libnpth.vers | ||
40 | +EXTRA_DIST = libnpth.vers npth.pc | ||
41 | # versioninfo.rc.in | ||
42 | nodist_include_HEADERS = npth.h | ||
43 | |||
44 | diff --git a/src/npth.pc.in b/src/npth.pc.in | ||
45 | new file mode 100644 | ||
46 | index 0000000..db091e8 | ||
47 | --- /dev/null | ||
48 | +++ b/src/npth.pc.in | ||
49 | @@ -0,0 +1,10 @@ | ||
50 | +prefix=@prefix@ | ||
51 | +exec_prefix=@exec_prefix@ | ||
52 | +libdir=@libdir@ | ||
53 | +includedir=@includedir@ | ||
54 | + | ||
55 | +Name: npth | ||
56 | +Description: a new portable posix threading library | ||
57 | +Version: @VERSION@ | ||
58 | +Libs: -L${libdir} -lnpth -lpthread | ||
59 | +Cflags: -I${includedir} | ||
diff --git a/meta/recipes-support/npth/npth_1.7.bb b/meta/recipes-support/npth/npth_1.7.bb index f02a731f85..0cf35565a3 100644 --- a/meta/recipes-support/npth/npth_1.7.bb +++ b/meta/recipes-support/npth/npth_1.7.bb | |||
@@ -1,22 +1,18 @@ | |||
1 | SUMMARY = "New GNU Portable Threads library" | 1 | SUMMARY = "New GNU Portable Threads library" |
2 | DESCRIPTION = "nPth is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. " | 2 | DESCRIPTION = "nPth is a library to provide the GNU Pth API and thus a non-preemptive threads implementation. " |
3 | HOMEPAGE = "https://www.gnu.org/software/pth/" | 3 | HOMEPAGE = "https://gnupg.org/software/npth/" |
4 | SECTION = "libs" | 4 | SECTION = "libs" |
5 | LICENSE = "LGPL-2.0-or-later" | 5 | LICENSE = "LGPL-2.0-or-later" |
6 | LIC_FILES_CHKSUM = "\ | 6 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2caced0b25dfefd4c601d92bd15116de" |
7 | file://COPYING.LIB;md5=2caced0b25dfefd4c601d92bd15116de\ | ||
8 | " | ||
9 | UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" | 7 | UPSTREAM_CHECK_URI = "https://gnupg.org/download/index.html" |
8 | |||
10 | SRC_URI = "${GNUPG_MIRROR}/npth/npth-${PV}.tar.bz2 \ | 9 | SRC_URI = "${GNUPG_MIRROR}/npth/npth-${PV}.tar.bz2 \ |
11 | file://pkgconfig.patch \ | ||
12 | file://musl-fix.patch \ | 10 | file://musl-fix.patch \ |
13 | " | 11 | " |
14 | 12 | ||
15 | SRC_URI[sha256sum] = "8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05" | 13 | SRC_URI[sha256sum] = "8589f56937b75ce33b28d312fccbf302b3b71ec3f3945fde6aaa74027914ad05" |
16 | 14 | ||
17 | inherit autotools binconfig-disabled multilib_header | 15 | inherit autotools multilib_header |
18 | |||
19 | FILES:${PN} = "${libdir}/libnpth.so.*" | ||
20 | 16 | ||
21 | do_install:append() { | 17 | do_install:append() { |
22 | oe_multilib_header npth.h | 18 | oe_multilib_header npth.h |
diff --git a/meta/recipes-support/numactl/numactl_git.bb b/meta/recipes-support/numactl/numactl_git.bb index bd16df91ec..6c853f1966 100644 --- a/meta/recipes-support/numactl/numactl_git.bb +++ b/meta/recipes-support/numactl/numactl_git.bb | |||
@@ -52,7 +52,7 @@ do_install_ptest() { | |||
52 | install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test | 52 | install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test |
53 | done | 53 | done |
54 | 54 | ||
55 | install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/ | 55 | install -m 0755 ${UNPACKDIR}/Makefile ${D}${PTEST_PATH}/ |
56 | install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/ | 56 | install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/ |
57 | } | 57 | } |
58 | 58 | ||
diff --git a/meta/recipes-support/p11-kit/p11-kit_0.25.3.bb b/meta/recipes-support/p11-kit/p11-kit_0.25.3.bb index b7ebd44abc..2ede38deba 100644 --- a/meta/recipes-support/p11-kit/p11-kit_0.25.3.bb +++ b/meta/recipes-support/p11-kit/p11-kit_0.25.3.bb | |||
@@ -32,3 +32,13 @@ FILES:${PN} += " \ | |||
32 | INSANE_SKIP:${PN} = "dev-so" | 32 | INSANE_SKIP:${PN} = "dev-so" |
33 | 33 | ||
34 | BBCLASSEXTEND = "native nativesdk" | 34 | BBCLASSEXTEND = "native nativesdk" |
35 | |||
36 | # # This one is reproducible only on 32bit MACHINEs | ||
37 | # http://errors.yoctoproject.org/Errors/Details/766969/ | ||
38 | # git/p11-kit/import-object.c:223:62: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] | ||
39 | # git/p11-kit/import-object.c:229:70: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] | ||
40 | # git/p11-kit/import-object.c:264:78: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] | ||
41 | # git/p11-kit/import-object.c:223:62: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] | ||
42 | # git/p11-kit/import-object.c:229:70: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] | ||
43 | # git/p11-kit/import-object.c:264:78: error: passing argument 3 of 'p11_asn1_read' from incompatible pointer type [-Wincompatible-pointer-types] | ||
44 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-support/rng-tools/rng-tools_6.16.bb b/meta/recipes-support/rng-tools/rng-tools_6.16.bb index f0aa3ff93f..ed755ae705 100644 --- a/meta/recipes-support/rng-tools/rng-tools_6.16.bb +++ b/meta/recipes-support/rng-tools/rng-tools_6.16.bb | |||
@@ -50,9 +50,9 @@ do_configure:prepend() { | |||
50 | } | 50 | } |
51 | 51 | ||
52 | do_install:append() { | 52 | do_install:append() { |
53 | install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools | 53 | install -Dm 0644 ${UNPACKDIR}/default ${D}${sysconfdir}/default/rng-tools |
54 | install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools | 54 | install -Dm 0755 ${UNPACKDIR}/init ${D}${sysconfdir}/init.d/rng-tools |
55 | install -Dm 0644 ${WORKDIR}/rng-tools.service \ | 55 | install -Dm 0644 ${UNPACKDIR}/rng-tools.service \ |
56 | ${D}${systemd_system_unitdir}/rng-tools.service | 56 | ${D}${systemd_system_unitdir}/rng-tools.service |
57 | sed -i \ | 57 | sed -i \ |
58 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ | 58 | -e 's,@SYSCONFDIR@,${sysconfdir},g' \ |
@@ -67,3 +67,7 @@ do_install:append() { | |||
67 | ${D}${systemd_system_unitdir}/rng-tools.service | 67 | ${D}${systemd_system_unitdir}/rng-tools.service |
68 | fi | 68 | fi |
69 | } | 69 | } |
70 | |||
71 | # libargp detection fails | ||
72 | # http://errors.yoctoproject.org/Errors/Details/766951/ | ||
73 | CFLAGS += "-Wno-error=incompatible-pointer-types" | ||
diff --git a/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch b/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch index 91640d6044..c8e6eddfec 100644 --- a/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch +++ b/meta/recipes-support/serf/serf/SConstruct.stop.creating.directories.without.sandbox-install.prefix.patch | |||
@@ -31,7 +31,7 @@ ERROR: scons install execution failed. | |||
31 | and the installed paths (including the paths inside libserf*.pc) | 31 | and the installed paths (including the paths inside libserf*.pc) |
32 | look correct | 32 | look correct |
33 | 33 | ||
34 | Upstream-Status: Pending | 34 | Upstream-Status: Inappropriate [removes block of code rather than fixing the problem in that block] |
35 | 35 | ||
36 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | 36 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> |
37 | 37 | ||
diff --git a/meta/recipes-support/sqlite/sqlite3_3.45.1.bb b/meta/recipes-support/sqlite/sqlite3_3.45.3.bb index 50612feb25..03d70bbd38 100644 --- a/meta/recipes-support/sqlite/sqlite3_3.45.1.bb +++ b/meta/recipes-support/sqlite/sqlite3_3.45.3.bb | |||
@@ -4,5 +4,5 @@ LICENSE = "PD" | |||
4 | LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" | 4 | LIC_FILES_CHKSUM = "file://sqlite3.h;endline=11;md5=786d3dc581eff03f4fd9e4a77ed00c66" |
5 | 5 | ||
6 | SRC_URI = "http://www.sqlite.org/2024/sqlite-autoconf-${SQLITE_PV}.tar.gz" | 6 | SRC_URI = "http://www.sqlite.org/2024/sqlite-autoconf-${SQLITE_PV}.tar.gz" |
7 | SRC_URI[sha256sum] = "cd9c27841b7a5932c9897651e20b86c701dd740556989b01ca596fcfa3d49a0a" | 7 | SRC_URI[sha256sum] = "b2809ca53124c19c60f42bf627736eae011afdcc205bb48270a5ee9a38191531" |
8 | 8 | ||
diff --git a/meta/recipes-support/taglib/taglib_2.0.bb b/meta/recipes-support/taglib/taglib_2.0.1.bb index 4bf9be15ae..14f99aabbc 100644 --- a/meta/recipes-support/taglib/taglib_2.0.bb +++ b/meta/recipes-support/taglib/taglib_2.0.1.bb | |||
@@ -11,7 +11,7 @@ DEPENDS = "zlib utfcpp" | |||
11 | 11 | ||
12 | SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" | 12 | SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz" |
13 | 13 | ||
14 | SRC_URI[sha256sum] = "e36ea877a6370810b97d84cf8f72b1e4ed205149ab3ac8232d44c850f38a2859" | 14 | SRC_URI[sha256sum] = "08c0a27b96aa5c4e23060fe0b6f93102ee9091a9385257b9d0ddcf467de0d925" |
15 | 15 | ||
16 | UPSTREAM_CHECK_URI = "https://taglib.org/" | 16 | UPSTREAM_CHECK_URI = "https://taglib.org/" |
17 | UPSTREAM_CHECK_REGEX = "taglib-(?P<pver>\d+(\.\d+)+)\.tar" | 17 | UPSTREAM_CHECK_REGEX = "taglib-(?P<pver>\d+(\.\d+)+)\.tar" |
diff --git a/meta/recipes-support/user-creation/xuser-account_0.1.bb b/meta/recipes-support/user-creation/xuser-account_0.1.bb index 639b01f6eb..80a429c6d3 100644 --- a/meta/recipes-support/user-creation/xuser-account_0.1.bb +++ b/meta/recipes-support/user-creation/xuser-account_0.1.bb | |||
@@ -6,6 +6,9 @@ SRC_URI = "file://system-xuser.conf" | |||
6 | 6 | ||
7 | inherit allarch useradd | 7 | inherit allarch useradd |
8 | 8 | ||
9 | S = "${WORKDIR}/sources" | ||
10 | UNPACKDIR = "${S}" | ||
11 | |||
9 | do_configure() { | 12 | do_configure() { |
10 | : | 13 | : |
11 | } | 14 | } |
@@ -15,7 +18,7 @@ do_compile() { | |||
15 | } | 18 | } |
16 | 19 | ||
17 | do_install() { | 20 | do_install() { |
18 | install -D -m 0644 ${WORKDIR}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf | 21 | install -D -m 0644 ${UNPACKDIR}/system-xuser.conf ${D}${sysconfdir}/dbus-1/system.d/system-xuser.conf |
19 | } | 22 | } |
20 | 23 | ||
21 | FILES:${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf" | 24 | FILES:${PN} = "${sysconfdir}/dbus-1/system.d/system-xuser.conf" |
diff --git a/scripts/lib/build_perf/html/measurement_chart.html b/scripts/lib/build_perf/html/measurement_chart.html index 65f1a227ad..ad4a93ed02 100644 --- a/scripts/lib/build_perf/html/measurement_chart.html +++ b/scripts/lib/build_perf/html/measurement_chart.html | |||
@@ -1,50 +1,100 @@ | |||
1 | <script type="text/javascript"> | 1 | <script type="module"> |
2 | chartsDrawing += 1; | 2 | // Get raw data |
3 | google.charts.setOnLoadCallback(drawChart_{{ chart_elem_id }}); | 3 | const rawData = [ |
4 | function drawChart_{{ chart_elem_id }}() { | 4 | {% for sample in measurement.samples %} |
5 | var data = new google.visualization.DataTable(); | 5 | [{{ sample.commit_num }}, {{ sample.mean.gv_value() }}, {{ sample.start_time }}], |
6 | {% endfor %} | ||
7 | ]; | ||
6 | 8 | ||
7 | // Chart options | 9 | const convertToMinute = (time) => { |
8 | var options = { | 10 | return time[0]*60 + time[1] + time[2]/60 + time[3]/3600; |
9 | theme : 'material', | 11 | } |
10 | legend: 'none', | ||
11 | hAxis: { format: '', title: 'Commit number', | ||
12 | minValue: {{ chart_opts.haxis.min }}, | ||
13 | maxValue: {{ chart_opts.haxis.max }} }, | ||
14 | {% if measurement.type == 'time' %} | ||
15 | vAxis: { format: 'h:mm:ss' }, | ||
16 | {% else %} | ||
17 | vAxis: { format: '' }, | ||
18 | {% endif %} | ||
19 | pointSize: 5, | ||
20 | chartArea: { left: 80, right: 15 }, | ||
21 | }; | ||
22 | 12 | ||
23 | // Define data columns | 13 | // Update value format to either minutes or leave as size value |
24 | data.addColumn('number', 'Commit'); | 14 | const updateValue = (value) => { |
25 | data.addColumn('{{ measurement.value_type.gv_data_type }}', | 15 | // Assuming the array values are duration in the format [hours, minutes, seconds, milliseconds] |
26 | '{{ measurement.value_type.quantity }}'); | 16 | return Array.isArray(value) ? convertToMinute(value) : value |
27 | // Add data rows | 17 | } |
28 | data.addRows([ | ||
29 | {% for sample in measurement.samples %} | ||
30 | [{{ sample.commit_num }}, {{ sample.mean.gv_value() }}], | ||
31 | {% endfor %} | ||
32 | ]); | ||
33 | 18 | ||
34 | // Finally, draw the chart | 19 | // Convert raw data to the format: [time, value] |
35 | chart_div = document.getElementById('{{ chart_elem_id }}'); | 20 | const data = rawData.map(([commit, value, time]) => { |
36 | var chart = new google.visualization.LineChart(chart_div); | 21 | return [ |
37 | google.visualization.events.addListener(chart, 'ready', function () { | 22 | // The Date object takes values in milliseconds rather than seconds. So to use a Unix timestamp we have to multiply it by 1000. |
38 | //chart_div = document.getElementById('{{ chart_elem_id }}'); | 23 | new Date(time * 1000).getTime(), |
39 | //chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">'; | 24 | // Assuming the array values are duration in the format [hours, minutes, seconds, milliseconds] |
40 | png_div = document.getElementById('{{ chart_elem_id }}_png'); | 25 | updateValue(value) |
41 | png_div.outerHTML = '<a id="{{ chart_elem_id }}_png" href="' + chart.getImageURI() + '">PNG</a>'; | 26 | ] |
42 | console.log("CHART READY: {{ chart_elem_id }}"); | 27 | }); |
43 | chartsDrawing -= 1; | 28 | |
44 | if (chartsDrawing == 0) | 29 | // Set chart options |
45 | console.log("ALL CHARTS READY"); | 30 | const option = { |
31 | tooltip: { | ||
32 | trigger: 'axis', | ||
33 | valueFormatter: (value) => { | ||
34 | const commitNumber = rawData.filter(([commit, dataValue, time]) => updateValue(dataValue) === value) | ||
35 | if ('{{ measurement.value_type.quantity }}' == 'time') { | ||
36 | const hours = Math.floor(value/60) | ||
37 | const minutes = Math.floor(value % 60) | ||
38 | const seconds = Math.floor((value * 60) % 60) | ||
39 | return [ | ||
40 | hours + ':' + minutes + ':' + seconds + ', ' + | ||
41 | 'commit number: ' + commitNumber[0][0] | ||
42 | ] | ||
43 | } | ||
44 | return [ | ||
45 | value.toFixed(2) + ' MB' + ', ' + | ||
46 | 'commit number: ' + commitNumber[0][0] | ||
47 | ] | ||
48 | }, | ||
49 | |||
50 | }, | ||
51 | xAxis: { | ||
52 | type: 'time', | ||
53 | }, | ||
54 | yAxis: { | ||
55 | name: '{{ measurement.value_type.quantity }}' == 'time' ? 'Duration in minutes' : 'Disk size in MB', | ||
56 | type: 'value', | ||
57 | min: function(value) { | ||
58 | return Math.round(value.min - 0.5); | ||
59 | }, | ||
60 | max: function(value) { | ||
61 | return Math.round(value.max + 0.5); | ||
62 | } | ||
63 | }, | ||
64 | dataZoom: [ | ||
65 | { | ||
66 | type: 'slider', | ||
67 | xAxisIndex: 0, | ||
68 | filterMode: 'none' | ||
69 | }, | ||
70 | ], | ||
71 | series: [ | ||
72 | { | ||
73 | name: '{{ measurement.value_type.quantity }}', | ||
74 | type: 'line', | ||
75 | step: 'start', | ||
76 | symbol: 'none', | ||
77 | data: data | ||
78 | } | ||
79 | ] | ||
80 | }; | ||
81 | |||
82 | // Draw chart | ||
83 | const chart_div = document.getElementById('{{ chart_elem_id }}'); | ||
84 | // Set dark mode | ||
85 | let measurement_chart | ||
86 | if (window.matchMedia('(prefers-color-scheme: dark)').matches) { | ||
87 | measurement_chart= echarts.init(chart_div, 'dark', { | ||
88 | height: 320 | ||
46 | }); | 89 | }); |
47 | chart.draw(data, options); | 90 | } else { |
48 | } | 91 | measurement_chart= echarts.init(chart_div, null, { |
92 | height: 320 | ||
93 | }); | ||
94 | } | ||
95 | // Change chart size with browser resize | ||
96 | window.addEventListener('resize', function() { | ||
97 | measurement_chart.resize(); | ||
98 | }); | ||
99 | measurement_chart.setOption(option); | ||
49 | </script> | 100 | </script> |
50 | |||
diff --git a/scripts/lib/build_perf/html/report.html b/scripts/lib/build_perf/html/report.html index d1ba6f2578..537ed3ee52 100644 --- a/scripts/lib/build_perf/html/report.html +++ b/scripts/lib/build_perf/html/report.html | |||
@@ -3,11 +3,7 @@ | |||
3 | <head> | 3 | <head> |
4 | {# Scripts, for visualization#} | 4 | {# Scripts, for visualization#} |
5 | <!--START-OF-SCRIPTS--> | 5 | <!--START-OF-SCRIPTS--> |
6 | <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> | 6 | <script src=" https://cdn.jsdelivr.net/npm/echarts@5.5.0/dist/echarts.min.js "></script> |
7 | <script type="text/javascript"> | ||
8 | google.charts.load('current', {'packages':['corechart']}); | ||
9 | var chartsDrawing = 0; | ||
10 | </script> | ||
11 | 7 | ||
12 | {# Render measurement result charts #} | 8 | {# Render measurement result charts #} |
13 | {% for test in test_data %} | 9 | {% for test in test_data %} |
@@ -23,28 +19,29 @@ var chartsDrawing = 0; | |||
23 | 19 | ||
24 | {# Styles #} | 20 | {# Styles #} |
25 | <style> | 21 | <style> |
22 | :root { | ||
23 | --text: #000; | ||
24 | --bg: #fff; | ||
25 | --h2heading: #707070; | ||
26 | --link: #0000EE; | ||
27 | --trtopborder: #9ca3af; | ||
28 | --trborder: #e5e7eb; | ||
29 | --chartborder: #f0f0f0; | ||
30 | } | ||
26 | .meta-table { | 31 | .meta-table { |
27 | font-size: 14px; | 32 | font-size: 14px; |
28 | text-align: left; | 33 | text-align: left; |
29 | border-collapse: collapse; | 34 | border-collapse: collapse; |
30 | } | 35 | } |
31 | .meta-table tr:nth-child(even){background-color: #f2f2f2} | ||
32 | meta-table th, .meta-table td { | ||
33 | padding: 4px; | ||
34 | } | ||
35 | .summary { | 36 | .summary { |
36 | margin: 0; | ||
37 | font-size: 14px; | 37 | font-size: 14px; |
38 | text-align: left; | 38 | text-align: left; |
39 | border-collapse: collapse; | 39 | border-collapse: collapse; |
40 | } | 40 | } |
41 | summary th, .meta-table td { | ||
42 | padding: 4px; | ||
43 | } | ||
44 | .measurement { | 41 | .measurement { |
45 | padding: 8px 0px 8px 8px; | 42 | padding: 8px 0px 8px 8px; |
46 | border: 2px solid #f0f0f0; | 43 | border: 2px solid var(--chartborder); |
47 | margin-bottom: 10px; | 44 | margin: 1.5rem 0; |
48 | } | 45 | } |
49 | .details { | 46 | .details { |
50 | margin: 0; | 47 | margin: 0; |
@@ -64,18 +61,71 @@ summary th, .meta-table td { | |||
64 | background-color: #f0f0f0; | 61 | background-color: #f0f0f0; |
65 | margin-left: 10px; | 62 | margin-left: 10px; |
66 | } | 63 | } |
67 | hr { | 64 | .card-container { |
68 | color: #f0f0f0; | 65 | border-bottom-width: 1px; |
66 | padding: 1.25rem 3rem; | ||
67 | box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); | ||
68 | border-radius: 0.25rem; | ||
69 | } | ||
70 | body { | ||
71 | font-family: 'Helvetica', sans-serif; | ||
72 | margin: 3rem 8rem; | ||
73 | background-color: var(--bg); | ||
74 | color: var(--text); | ||
75 | } | ||
76 | h1 { | ||
77 | text-align: center; | ||
69 | } | 78 | } |
70 | h2 { | 79 | h2 { |
71 | font-size: 20px; | 80 | font-size: 1.5rem; |
72 | margin-bottom: 0px; | 81 | margin-bottom: 0px; |
73 | color: #707070; | 82 | color: var(--h2heading); |
83 | padding-top: 1.5rem; | ||
74 | } | 84 | } |
75 | h3 { | 85 | h3 { |
76 | font-size: 16px; | 86 | font-size: 1.3rem; |
77 | margin: 0px; | 87 | margin: 0px; |
78 | color: #707070; | 88 | color: var(--h2heading); |
89 | padding: 1.5rem 0; | ||
90 | } | ||
91 | h4 { | ||
92 | font-size: 14px; | ||
93 | font-weight: lighter; | ||
94 | line-height: 1.2rem; | ||
95 | margin: auto; | ||
96 | padding-top: 1rem; | ||
97 | } | ||
98 | table { | ||
99 | margin-top: 1.5rem; | ||
100 | line-height: 2rem; | ||
101 | } | ||
102 | tr { | ||
103 | border-bottom: 1px solid var(--trborder); | ||
104 | } | ||
105 | tr:first-child { | ||
106 | border-bottom: 1px solid var(--trtopborder); | ||
107 | } | ||
108 | tr:last-child { | ||
109 | border-bottom: none; | ||
110 | } | ||
111 | a { | ||
112 | text-decoration: none; | ||
113 | font-weight: bold; | ||
114 | color: var(--link); | ||
115 | } | ||
116 | a:hover { | ||
117 | color: #8080ff; | ||
118 | } | ||
119 | @media (prefers-color-scheme: dark) { | ||
120 | :root { | ||
121 | --text: #e9e8fa; | ||
122 | --bg: #0F0C28; | ||
123 | --h2heading: #B8B7CB; | ||
124 | --link: #87cefa; | ||
125 | --trtopborder: #394150; | ||
126 | --trborder: #212936; | ||
127 | --chartborder: #b1b0bf; | ||
128 | } | ||
79 | } | 129 | } |
80 | </style> | 130 | </style> |
81 | 131 | ||
@@ -83,13 +133,14 @@ h3 { | |||
83 | </head> | 133 | </head> |
84 | 134 | ||
85 | {% macro poky_link(commit) -%} | 135 | {% macro poky_link(commit) -%} |
86 | <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?id={{ commit }}">{{ commit[0:11] }}</a> | 136 | <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?id={{ commit }}">{{ commit[0:11] }}</a> |
87 | {%- endmacro %} | 137 | {%- endmacro %} |
88 | 138 | ||
89 | <body><div style="width: 700px"> | 139 | <body><div> |
140 | <h1 style="text-align: center;">Performance Test Report</h1> | ||
90 | {# Test metadata #} | 141 | {# Test metadata #} |
91 | <h2>General</h2> | 142 | <h2>General</h2> |
92 | <hr> | 143 | <h4>The table provides an overview of the comparison between two selected commits from the same branch.</h4> |
93 | <table class="meta-table" style="width: 100%"> | 144 | <table class="meta-table" style="width: 100%"> |
94 | <tr> | 145 | <tr> |
95 | <th></th> | 146 | <th></th> |
@@ -112,19 +163,21 @@ h3 { | |||
112 | 163 | ||
113 | {# Test result summary #} | 164 | {# Test result summary #} |
114 | <h2>Test result summary</h2> | 165 | <h2>Test result summary</h2> |
115 | <hr> | 166 | <h4>The test summary presents a thorough breakdown of each test conducted on the branch, including details such as build time and disk space consumption. Additionally, it gives insights into the average time taken for test execution, along with absolute and relative values for a better understanding.</h4> |
116 | <table class="summary" style="width: 100%"> | 167 | <table class="summary" style="width: 100%"> |
168 | <tr> | ||
169 | <th>Test name</th> | ||
170 | <th>Measurement description</th> | ||
171 | <th>Mean value</th> | ||
172 | <th>Absolute difference</th> | ||
173 | <th>Relative difference</th> | ||
174 | </tr> | ||
117 | {% for test in test_data %} | 175 | {% for test in test_data %} |
118 | {% if loop.index is even %} | ||
119 | {% set row_style = 'style="background-color: #f2f2f2"' %} | ||
120 | {% else %} | ||
121 | {% set row_style = 'style="background-color: #ffffff"' %} | ||
122 | {% endif %} | ||
123 | {% if test.status == 'SUCCESS' %} | 176 | {% if test.status == 'SUCCESS' %} |
124 | {% for measurement in test.measurements %} | 177 | {% for measurement in test.measurements %} |
125 | <tr {{ row_style }}> | 178 | <tr {{ row_style }}> |
126 | {% if loop.index == 1 %} | 179 | {% if loop.index == 1 %} |
127 | <td>{{ test.name }}: {{ test.description }}</td> | 180 | <td><a href=#{{test.name}}>{{ test.name }}: {{ test.description }}</a></td> |
128 | {% else %} | 181 | {% else %} |
129 | {# add empty cell in place of the test name#} | 182 | {# add empty cell in place of the test name#} |
130 | <td></td> | 183 | <td></td> |
@@ -153,10 +206,12 @@ h3 { | |||
153 | </table> | 206 | </table> |
154 | 207 | ||
155 | {# Detailed test results #} | 208 | {# Detailed test results #} |
209 | <h2>Test details</h2> | ||
210 | <h4>The following section provides details of each test, accompanied by charts representing build time and disk usage over time or by commit number.</h4> | ||
156 | {% for test in test_data %} | 211 | {% for test in test_data %} |
157 | <h2>{{ test.name }}: {{ test.description }}</h2> | 212 | <h3 style="color: #000;" id={{test.name}}>{{ test.name }}: {{ test.description }}</h3> |
158 | <hr> | ||
159 | {% if test.status == 'SUCCESS' %} | 213 | {% if test.status == 'SUCCESS' %} |
214 | <div class="card-container"> | ||
160 | {% for measurement in test.measurements %} | 215 | {% for measurement in test.measurements %} |
161 | <div class="measurement"> | 216 | <div class="measurement"> |
162 | <h3>{{ measurement.description }}</h3> | 217 | <h3>{{ measurement.description }}</h3> |
@@ -275,7 +330,8 @@ h3 { | |||
275 | {% endif %} | 330 | {% endif %} |
276 | {% endif %} | 331 | {% endif %} |
277 | </div> | 332 | </div> |
278 | {% endfor %} | 333 | {% endfor %} |
334 | </div> | ||
279 | {# Unsuccessful test #} | 335 | {# Unsuccessful test #} |
280 | {% else %} | 336 | {% else %} |
281 | <span style="font-size: 150%; font-weight: bold; color: red;">{{ test.status }} | 337 | <span style="font-size: 150%; font-weight: bold; color: red;">{{ test.status }} |
diff --git a/scripts/lib/build_perf/report.py b/scripts/lib/build_perf/report.py index ab77424cc7..f4e6a92e09 100644 --- a/scripts/lib/build_perf/report.py +++ b/scripts/lib/build_perf/report.py | |||
@@ -294,7 +294,7 @@ class SizeVal(MeasurementVal): | |||
294 | return "null" | 294 | return "null" |
295 | return self / 1024 | 295 | return self / 1024 |
296 | 296 | ||
297 | def measurement_stats(meas, prefix=''): | 297 | def measurement_stats(meas, prefix='', time=0): |
298 | """Get statistics of a measurement""" | 298 | """Get statistics of a measurement""" |
299 | if not meas: | 299 | if not meas: |
300 | return {prefix + 'sample_cnt': 0, | 300 | return {prefix + 'sample_cnt': 0, |
@@ -319,6 +319,8 @@ def measurement_stats(meas, prefix=''): | |||
319 | stats['quantity'] = val_cls.quantity | 319 | stats['quantity'] = val_cls.quantity |
320 | stats[prefix + 'sample_cnt'] = len(values) | 320 | stats[prefix + 'sample_cnt'] = len(values) |
321 | 321 | ||
322 | # Add start time for both type sysres and disk usage | ||
323 | start_time = time | ||
322 | mean_val = val_cls(mean(values)) | 324 | mean_val = val_cls(mean(values)) |
323 | min_val = val_cls(min(values)) | 325 | min_val = val_cls(min(values)) |
324 | max_val = val_cls(max(values)) | 326 | max_val = val_cls(max(values)) |
@@ -334,6 +336,7 @@ def measurement_stats(meas, prefix=''): | |||
334 | stats[prefix + 'max'] = max_val | 336 | stats[prefix + 'max'] = max_val |
335 | stats[prefix + 'minus'] = val_cls(mean_val - min_val) | 337 | stats[prefix + 'minus'] = val_cls(mean_val - min_val) |
336 | stats[prefix + 'plus'] = val_cls(max_val - mean_val) | 338 | stats[prefix + 'plus'] = val_cls(max_val - mean_val) |
339 | stats[prefix + 'start_time'] = start_time | ||
337 | 340 | ||
338 | return stats | 341 | return stats |
339 | 342 | ||
diff --git a/scripts/lib/devtool/ide_sdk.py b/scripts/lib/devtool/ide_sdk.py index 7807b322b3..65873b088d 100755 --- a/scripts/lib/devtool/ide_sdk.py +++ b/scripts/lib/devtool/ide_sdk.py | |||
@@ -1052,7 +1052,7 @@ def register_commands(subparsers, context): | |||
1052 | parser_ide_sdk.add_argument( | 1052 | parser_ide_sdk.add_argument( |
1053 | '-I', '--key', help='Specify ssh private key for connection to the target') | 1053 | '-I', '--key', help='Specify ssh private key for connection to the target') |
1054 | parser_ide_sdk.add_argument( | 1054 | parser_ide_sdk.add_argument( |
1055 | '--skip-bitbake', help='Generate IDE configuration but skip calling bibtake to update the SDK.', action='store_true') | 1055 | '--skip-bitbake', help='Generate IDE configuration but skip calling bitbake to update the SDK', action='store_true') |
1056 | parser_ide_sdk.add_argument( | 1056 | parser_ide_sdk.add_argument( |
1057 | '-k', '--bitbake-k', help='Pass -k parameter to bitbake', action='store_true') | 1057 | '-k', '--bitbake-k', help='Pass -k parameter to bitbake', action='store_true') |
1058 | parser_ide_sdk.add_argument( | 1058 | parser_ide_sdk.add_argument( |
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index 6674e67267..1d0fe13788 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py | |||
@@ -387,6 +387,19 @@ def _git_ls_tree(repodir, treeish='HEAD', recursive=False): | |||
387 | ret[split[3]] = split[0:3] | 387 | ret[split[3]] = split[0:3] |
388 | return ret | 388 | return ret |
389 | 389 | ||
390 | def _git_modified(repodir): | ||
391 | """List the difference between HEAD and the index""" | ||
392 | import bb | ||
393 | cmd = ['git', 'status', '--porcelain'] | ||
394 | out, _ = bb.process.run(cmd, cwd=repodir) | ||
395 | ret = [] | ||
396 | if out: | ||
397 | for line in out.split("\n"): | ||
398 | if line and not line.startswith('??'): | ||
399 | ret.append(line[3:]) | ||
400 | return ret | ||
401 | |||
402 | |||
390 | def _git_exclude_path(srctree, path): | 403 | def _git_exclude_path(srctree, path): |
391 | """Return pathspec (list of paths) that excludes certain path""" | 404 | """Return pathspec (list of paths) that excludes certain path""" |
392 | # NOTE: "Filtering out" files/paths in this way is not entirely reliable - | 405 | # NOTE: "Filtering out" files/paths in this way is not entirely reliable - |
@@ -460,32 +473,6 @@ def sync(args, config, basepath, workspace): | |||
460 | finally: | 473 | finally: |
461 | tinfoil.shutdown() | 474 | tinfoil.shutdown() |
462 | 475 | ||
463 | def symlink_oelocal_files_srctree(rd, srctree): | ||
464 | import oe.patch | ||
465 | if os.path.abspath(rd.getVar('S')) == os.path.abspath(rd.getVar('WORKDIR')): | ||
466 | # If recipe extracts to ${WORKDIR}, symlink the files into the srctree | ||
467 | # (otherwise the recipe won't build as expected) | ||
468 | local_files_dir = os.path.join(srctree, 'oe-local-files') | ||
469 | addfiles = [] | ||
470 | for root, _, files in os.walk(local_files_dir): | ||
471 | relpth = os.path.relpath(root, local_files_dir) | ||
472 | if relpth != '.': | ||
473 | bb.utils.mkdirhier(os.path.join(srctree, relpth)) | ||
474 | for fn in files: | ||
475 | if fn == '.gitignore': | ||
476 | continue | ||
477 | destpth = os.path.join(srctree, relpth, fn) | ||
478 | if os.path.exists(destpth): | ||
479 | os.unlink(destpth) | ||
480 | if relpth != '.': | ||
481 | back_relpth = os.path.relpath(local_files_dir, root) | ||
482 | os.symlink('%s/oe-local-files/%s/%s' % (back_relpth, relpth, fn), destpth) | ||
483 | else: | ||
484 | os.symlink('oe-local-files/%s' % fn, destpth) | ||
485 | addfiles.append(os.path.join(relpth, fn)) | ||
486 | if addfiles: | ||
487 | oe.patch.GitApplyTree.commitIgnored("Add local file symlinks", dir=srctree, files=addfiles, d=rd) | ||
488 | |||
489 | def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, workspace, fixed_setup, d, tinfoil, no_overrides=False): | 476 | def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, workspace, fixed_setup, d, tinfoil, no_overrides=False): |
490 | """Extract sources of a recipe""" | 477 | """Extract sources of a recipe""" |
491 | import oe.recipeutils | 478 | import oe.recipeutils |
@@ -657,35 +644,22 @@ def _extract_source(srctree, keep_temp, devbranch, sync, config, basepath, works | |||
657 | elif not os.path.exists(workshareddir): | 644 | elif not os.path.exists(workshareddir): |
658 | oe.path.copyhardlinktree(srcsubdir, workshareddir) | 645 | oe.path.copyhardlinktree(srcsubdir, workshareddir) |
659 | 646 | ||
660 | tempdir_localdir = os.path.join(tempdir, 'oe-local-files') | ||
661 | srctree_localdir = os.path.join(srctree, 'oe-local-files') | ||
662 | |||
663 | if sync: | 647 | if sync: |
664 | bb.process.run('git fetch file://' + srcsubdir + ' ' + devbranch + ':' + devbranch, cwd=srctree) | 648 | try: |
665 | 649 | logger.info('Backing up current %s branch as branch: %s.bak' % (devbranch, devbranch)) | |
666 | # Move the oe-local-files directory to srctree. | 650 | bb.process.run('git branch -f ' + devbranch + '.bak', cwd=srctree) |
667 | # As oe-local-files is not part of the constructed git tree, | 651 | |
668 | # removing it directly during the synchronization might surprise | 652 | # Use git fetch to update the source with the current recipe |
669 | # the user. Instead, we move it to oe-local-files.bak and remind | 653 | # To be able to update the currently checked out branch with |
670 | # the user in the log message. | 654 | # possibly new history (no fast-forward) git needs to be told |
671 | if os.path.exists(srctree_localdir + '.bak'): | 655 | # that's ok |
672 | shutil.rmtree(srctree_localdir + '.bak') | 656 | logger.info('Syncing source files including patches to git branch: %s' % devbranch) |
673 | 657 | bb.process.run('git fetch --update-head-ok --force file://' + srcsubdir + ' ' + devbranch + ':' + devbranch, cwd=srctree) | |
674 | if os.path.exists(srctree_localdir): | 658 | except bb.process.ExecutionError as e: |
675 | logger.info('Backing up current local file directory %s' % srctree_localdir) | 659 | raise DevtoolError("Error when syncing source files to local checkout: %s" % str(e)) |
676 | shutil.move(srctree_localdir, srctree_localdir + '.bak') | ||
677 | |||
678 | if os.path.exists(tempdir_localdir): | ||
679 | logger.info('Syncing local source files to srctree...') | ||
680 | shutil.copytree(tempdir_localdir, srctree_localdir) | ||
681 | else: | ||
682 | # Move oe-local-files directory to srctree | ||
683 | if os.path.exists(tempdir_localdir): | ||
684 | logger.info('Adding local source files to srctree...') | ||
685 | shutil.move(tempdir_localdir, srcsubdir) | ||
686 | 660 | ||
661 | else: | ||
687 | shutil.move(srcsubdir, srctree) | 662 | shutil.move(srcsubdir, srctree) |
688 | symlink_oelocal_files_srctree(d, srctree) | ||
689 | 663 | ||
690 | if is_kernel_yocto: | 664 | if is_kernel_yocto: |
691 | logger.info('Copying kernel config to srctree') | 665 | logger.info('Copying kernel config to srctree') |
@@ -841,34 +815,22 @@ def modify(args, config, basepath, workspace): | |||
841 | if (os.path.exists(srcdir) and os.listdir(srcdir)) and (kernelVersion in staging_kerVer and staging_kbranch == kbranch): | 815 | if (os.path.exists(srcdir) and os.listdir(srcdir)) and (kernelVersion in staging_kerVer and staging_kbranch == kbranch): |
842 | oe.path.copyhardlinktree(srcdir, srctree) | 816 | oe.path.copyhardlinktree(srcdir, srctree) |
843 | workdir = rd.getVar('WORKDIR') | 817 | workdir = rd.getVar('WORKDIR') |
818 | unpackdir = rd.getVar('UNPACKDIR') | ||
844 | srcsubdir = rd.getVar('S') | 819 | srcsubdir = rd.getVar('S') |
845 | localfilesdir = os.path.join(srctree, 'oe-local-files') | 820 | localfilesdir = os.path.join(srctree, 'oe-local-files') |
846 | # Move local source files into separate subdir | ||
847 | recipe_patches = [os.path.basename(patch) for patch in oe.recipeutils.get_recipe_patches(rd)] | ||
848 | local_files = oe.recipeutils.get_recipe_local_files(rd) | ||
849 | 821 | ||
850 | for key in local_files.copy(): | 822 | # Add locally copied files to gitignore as we add back to the metadata directly |
851 | if key.endswith('scc'): | 823 | local_files = oe.recipeutils.get_recipe_local_files(rd) |
852 | sccfile = open(local_files[key], 'r') | ||
853 | for l in sccfile: | ||
854 | line = l.split() | ||
855 | if line and line[0] in ('kconf', 'patch'): | ||
856 | cfg = os.path.join(os.path.dirname(local_files[key]), line[-1]) | ||
857 | if not cfg in local_files.values(): | ||
858 | local_files[line[-1]] = cfg | ||
859 | shutil.copy2(cfg, workdir) | ||
860 | sccfile.close() | ||
861 | |||
862 | # Ignore local files with subdir={BP} | ||
863 | srcabspath = os.path.abspath(srcsubdir) | 824 | srcabspath = os.path.abspath(srcsubdir) |
864 | local_files = [fname for fname in local_files if os.path.exists(os.path.join(workdir, fname)) and (srcabspath == workdir or not os.path.join(workdir, fname).startswith(srcabspath + os.sep))] | 825 | local_files = [fname for fname in local_files if |
826 | os.path.exists(os.path.join(unpackdir, fname)) and | ||
827 | srcabspath == unpackdir] | ||
865 | if local_files: | 828 | if local_files: |
866 | for fname in local_files: | 829 | with open(os.path.join(srctree, '.gitignore'), 'a+') as f: |
867 | _move_file(os.path.join(workdir, fname), os.path.join(srctree, 'oe-local-files', fname)) | 830 | f.write('# Ignore local files, by default. Remove following lines' |
868 | with open(os.path.join(srctree, 'oe-local-files', '.gitignore'), 'w') as f: | 831 | 'if you want to commit the directory to Git\n') |
869 | f.write('# Ignore local files, by default. Remove this file if you want to commit the directory to Git\n*\n') | 832 | for fname in local_files: |
870 | 833 | f.write('%s\n' % fname) | |
871 | symlink_oelocal_files_srctree(rd, srctree) | ||
872 | 834 | ||
873 | task = 'do_configure' | 835 | task = 'do_configure' |
874 | res = tinfoil.build_targets(pn, task, handle_events=True) | 836 | res = tinfoil.build_targets(pn, task, handle_events=True) |
@@ -893,7 +855,10 @@ def modify(args, config, basepath, workspace): | |||
893 | (stdout, _) = bb.process.run('git rev-list --reverse %s..HEAD' % initial_revs["."], cwd=srctree) | 855 | (stdout, _) = bb.process.run('git rev-list --reverse %s..HEAD' % initial_revs["."], cwd=srctree) |
894 | commits["."] = stdout.split() | 856 | commits["."] = stdout.split() |
895 | check_commits = True | 857 | check_commits = True |
896 | (stdout, _) = bb.process.run('git submodule --quiet foreach --recursive \'echo `git rev-parse devtool-base` $PWD\'', cwd=srctree) | 858 | try: |
859 | (stdout, _) = bb.process.run('git submodule --quiet foreach --recursive \'echo `git rev-parse devtool-base` $PWD\'', cwd=srctree) | ||
860 | except bb.process.ExecutionError: | ||
861 | stdout = "" | ||
897 | for line in stdout.splitlines(): | 862 | for line in stdout.splitlines(): |
898 | (rev, submodule_path) = line.split() | 863 | (rev, submodule_path) = line.split() |
899 | submodule = os.path.relpath(submodule_path, srctree) | 864 | submodule = os.path.relpath(submodule_path, srctree) |
@@ -1452,8 +1417,10 @@ def _export_local_files(srctree, rd, destdir, srctreebase): | |||
1452 | 1. updated - files that already exist in SRCURI | 1417 | 1. updated - files that already exist in SRCURI |
1453 | 2. added - new files files that don't exist in SRCURI | 1418 | 2. added - new files files that don't exist in SRCURI |
1454 | 3 removed - files that exist in SRCURI but not in exported files | 1419 | 3 removed - files that exist in SRCURI but not in exported files |
1455 | In each dict the key is the 'basepath' of the URI and value is the | 1420 | In each dict the key is the 'basepath' of the URI and value is: |
1456 | absolute path to the existing file in recipe space (if any). | 1421 | - for updated and added dicts, a dict with 1 optionnal key: |
1422 | - 'path': the absolute path to the existing file in recipe space (if any) | ||
1423 | - for removed dict, the absolute path to the existing file in recipe space | ||
1457 | """ | 1424 | """ |
1458 | import oe.recipeutils | 1425 | import oe.recipeutils |
1459 | 1426 | ||
@@ -1462,6 +1429,7 @@ def _export_local_files(srctree, rd, destdir, srctreebase): | |||
1462 | # Instead they are directly copied over the original source files (in | 1429 | # Instead they are directly copied over the original source files (in |
1463 | # recipe space). | 1430 | # recipe space). |
1464 | existing_files = oe.recipeutils.get_recipe_local_files(rd) | 1431 | existing_files = oe.recipeutils.get_recipe_local_files(rd) |
1432 | |||
1465 | new_set = None | 1433 | new_set = None |
1466 | updated = OrderedDict() | 1434 | updated = OrderedDict() |
1467 | added = OrderedDict() | 1435 | added = OrderedDict() |
@@ -1478,24 +1446,28 @@ def _export_local_files(srctree, rd, destdir, srctreebase): | |||
1478 | if branchname.startswith(override_branch_prefix): | 1446 | if branchname.startswith(override_branch_prefix): |
1479 | return (updated, added, removed) | 1447 | return (updated, added, removed) |
1480 | 1448 | ||
1481 | local_files_dir = os.path.join(srctreebase, 'oe-local-files') | 1449 | files = _git_modified(srctree) |
1482 | git_files = _git_ls_tree(srctree) | 1450 | #if not files: |
1483 | if 'oe-local-files' in git_files: | 1451 | # files = _ls_tree(srctree) |
1484 | # If tracked by Git, take the files from srctree HEAD. First get | 1452 | for f in files: |
1485 | # the tree object of the directory | 1453 | fullfile = os.path.join(srctree, f) |
1486 | tmp_index = os.path.join(srctree, '.git', 'index.tmp.devtool') | 1454 | if os.path.exists(os.path.join(fullfile, ".git")): |
1487 | tree = git_files['oe-local-files'][2] | 1455 | # submodules handled elsewhere |
1488 | bb.process.run(['git', 'checkout', tree, '--', '.'], cwd=srctree, | 1456 | continue |
1489 | env=dict(os.environ, GIT_WORK_TREE=destdir, | 1457 | if f not in existing_files: |
1490 | GIT_INDEX_FILE=tmp_index)) | 1458 | added[f] = {} |
1491 | new_set = list(_git_ls_tree(srctree, tree, True).keys()) | 1459 | if os.path.isdir(os.path.join(srctree, f)): |
1492 | elif os.path.isdir(local_files_dir): | 1460 | shutil.copytree(fullfile, os.path.join(destdir, f)) |
1493 | # If not tracked by Git, just copy from working copy | 1461 | else: |
1494 | new_set = _ls_tree(local_files_dir) | 1462 | shutil.copy2(fullfile, os.path.join(destdir, f)) |
1495 | bb.process.run(['cp', '-ax', | 1463 | elif not os.path.exists(fullfile): |
1496 | os.path.join(local_files_dir, '.'), destdir]) | 1464 | removed[f] = existing_files[f] |
1497 | else: | 1465 | elif f in existing_files: |
1498 | new_set = [] | 1466 | updated[f] = {'path' : existing_files[f]} |
1467 | if os.path.isdir(os.path.join(srctree, f)): | ||
1468 | shutil.copytree(fullfile, os.path.join(destdir, f)) | ||
1469 | else: | ||
1470 | shutil.copy2(fullfile, os.path.join(destdir, f)) | ||
1499 | 1471 | ||
1500 | # Special handling for kernel config | 1472 | # Special handling for kernel config |
1501 | if bb.data.inherits_class('kernel-yocto', rd): | 1473 | if bb.data.inherits_class('kernel-yocto', rd): |
@@ -1503,17 +1475,14 @@ def _export_local_files(srctree, rd, destdir, srctreebase): | |||
1503 | fragment_path = os.path.join(destdir, fragment_fn) | 1475 | fragment_path = os.path.join(destdir, fragment_fn) |
1504 | if _create_kconfig_diff(srctree, rd, fragment_path): | 1476 | if _create_kconfig_diff(srctree, rd, fragment_path): |
1505 | if os.path.exists(fragment_path): | 1477 | if os.path.exists(fragment_path): |
1506 | if fragment_fn not in new_set: | 1478 | if fragment_fn in removed: |
1507 | new_set.append(fragment_fn) | 1479 | del removed[fragment_fn] |
1508 | # Copy fragment to local-files | 1480 | if fragment_fn not in updated and fragment_fn not in added: |
1509 | if os.path.isdir(local_files_dir): | 1481 | added[fragment_fn] = {} |
1510 | shutil.copy2(fragment_path, local_files_dir) | ||
1511 | else: | 1482 | else: |
1512 | if fragment_fn in new_set: | 1483 | if fragment_fn in updated: |
1513 | new_set.remove(fragment_fn) | 1484 | revoved[fragment_fn] = updated[fragment_fn] |
1514 | # Remove fragment from local-files | 1485 | del updated[fragment_fn] |
1515 | if os.path.exists(os.path.join(local_files_dir, fragment_fn)): | ||
1516 | os.unlink(os.path.join(local_files_dir, fragment_fn)) | ||
1517 | 1486 | ||
1518 | # Special handling for cml1, ccmake, etc bbclasses that generated | 1487 | # Special handling for cml1, ccmake, etc bbclasses that generated |
1519 | # configuration fragment files that are consumed as source files | 1488 | # configuration fragment files that are consumed as source files |
@@ -1521,42 +1490,13 @@ def _export_local_files(srctree, rd, destdir, srctreebase): | |||
1521 | if bb.data.inherits_class(frag_class, rd): | 1490 | if bb.data.inherits_class(frag_class, rd): |
1522 | srcpath = os.path.join(rd.getVar('WORKDIR'), frag_name) | 1491 | srcpath = os.path.join(rd.getVar('WORKDIR'), frag_name) |
1523 | if os.path.exists(srcpath): | 1492 | if os.path.exists(srcpath): |
1524 | if frag_name not in new_set: | 1493 | if frag_name in removed: |
1525 | new_set.append(frag_name) | 1494 | del removed[frag_name] |
1495 | if frag_name not in updated: | ||
1496 | added[frag_name] = {} | ||
1526 | # copy fragment into destdir | 1497 | # copy fragment into destdir |
1527 | shutil.copy2(srcpath, destdir) | 1498 | shutil.copy2(srcpath, destdir) |
1528 | # copy fragment into local files if exists | 1499 | |
1529 | if os.path.isdir(local_files_dir): | ||
1530 | shutil.copy2(srcpath, local_files_dir) | ||
1531 | |||
1532 | if new_set is not None: | ||
1533 | for fname in new_set: | ||
1534 | if fname in existing_files: | ||
1535 | origpath = existing_files.pop(fname) | ||
1536 | workpath = os.path.join(local_files_dir, fname) | ||
1537 | if not filecmp.cmp(origpath, workpath): | ||
1538 | updated[fname] = origpath | ||
1539 | elif fname != '.gitignore': | ||
1540 | added[fname] = None | ||
1541 | |||
1542 | workdir = rd.getVar('WORKDIR') | ||
1543 | s = rd.getVar('S') | ||
1544 | if not s.endswith(os.sep): | ||
1545 | s += os.sep | ||
1546 | |||
1547 | if workdir != s: | ||
1548 | # Handle files where subdir= was specified | ||
1549 | for fname in list(existing_files.keys()): | ||
1550 | # FIXME handle both subdir starting with BP and not? | ||
1551 | fworkpath = os.path.join(workdir, fname) | ||
1552 | if fworkpath.startswith(s): | ||
1553 | fpath = os.path.join(srctree, os.path.relpath(fworkpath, s)) | ||
1554 | if os.path.exists(fpath): | ||
1555 | origpath = existing_files.pop(fname) | ||
1556 | if not filecmp.cmp(origpath, fpath): | ||
1557 | updated[fpath] = origpath | ||
1558 | |||
1559 | removed = existing_files | ||
1560 | return (updated, added, removed) | 1500 | return (updated, added, removed) |
1561 | 1501 | ||
1562 | 1502 | ||
@@ -1640,7 +1580,8 @@ def _update_recipe_srcrev(recipename, workspace, srctree, rd, appendlayerdir, wi | |||
1640 | redirect_output=dry_run_outdir) | 1580 | redirect_output=dry_run_outdir) |
1641 | else: | 1581 | else: |
1642 | files_dir = _determine_files_dir(rd) | 1582 | files_dir = _determine_files_dir(rd) |
1643 | for basepath, path in upd_f.items(): | 1583 | for basepath, param in upd_f.items(): |
1584 | path = param['path'] | ||
1644 | logger.info('Updating file %s%s' % (basepath, dry_run_suffix)) | 1585 | logger.info('Updating file %s%s' % (basepath, dry_run_suffix)) |
1645 | if os.path.isabs(basepath): | 1586 | if os.path.isabs(basepath): |
1646 | # Original file (probably with subdir pointing inside source tree) | 1587 | # Original file (probably with subdir pointing inside source tree) |
@@ -1650,7 +1591,8 @@ def _update_recipe_srcrev(recipename, workspace, srctree, rd, appendlayerdir, wi | |||
1650 | _move_file(os.path.join(local_files_dir, basepath), path, | 1591 | _move_file(os.path.join(local_files_dir, basepath), path, |
1651 | dry_run_outdir=dry_run_outdir, base_outdir=recipedir) | 1592 | dry_run_outdir=dry_run_outdir, base_outdir=recipedir) |
1652 | update_srcuri= True | 1593 | update_srcuri= True |
1653 | for basepath, path in new_f.items(): | 1594 | for basepath, param in new_f.items(): |
1595 | path = param['path'] | ||
1654 | logger.info('Adding new file %s%s' % (basepath, dry_run_suffix)) | 1596 | logger.info('Adding new file %s%s' % (basepath, dry_run_suffix)) |
1655 | _move_file(os.path.join(local_files_dir, basepath), | 1597 | _move_file(os.path.join(local_files_dir, basepath), |
1656 | os.path.join(files_dir, basepath), | 1598 | os.path.join(files_dir, basepath), |
@@ -1772,7 +1714,8 @@ def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wil | |||
1772 | else: | 1714 | else: |
1773 | # Update existing files | 1715 | # Update existing files |
1774 | files_dir = _determine_files_dir(rd) | 1716 | files_dir = _determine_files_dir(rd) |
1775 | for basepath, path in upd_f.items(): | 1717 | for basepath, param in upd_f.items(): |
1718 | path = param['path'] | ||
1776 | logger.info('Updating file %s' % basepath) | 1719 | logger.info('Updating file %s' % basepath) |
1777 | if os.path.isabs(basepath): | 1720 | if os.path.isabs(basepath): |
1778 | # Original file (probably with subdir pointing inside source tree) | 1721 | # Original file (probably with subdir pointing inside source tree) |
@@ -1806,7 +1749,7 @@ def _update_recipe_patch(recipename, workspace, srctree, rd, appendlayerdir, wil | |||
1806 | dry_run_outdir=dry_run_outdir, base_outdir=recipedir) | 1749 | dry_run_outdir=dry_run_outdir, base_outdir=recipedir) |
1807 | updatefiles = True | 1750 | updatefiles = True |
1808 | # Add any new files | 1751 | # Add any new files |
1809 | for basepath, path in new_f.items(): | 1752 | for basepath, param in new_f.items(): |
1810 | logger.info('Adding new file %s%s' % (basepath, dry_run_suffix)) | 1753 | logger.info('Adding new file %s%s' % (basepath, dry_run_suffix)) |
1811 | _move_file(os.path.join(local_files_dir, basepath), | 1754 | _move_file(os.path.join(local_files_dir, basepath), |
1812 | os.path.join(files_dir, basepath), | 1755 | os.path.join(files_dir, basepath), |
diff --git a/scripts/lib/recipetool/append.py b/scripts/lib/recipetool/append.py index 341e893305..10945d6008 100644 --- a/scripts/lib/recipetool/append.py +++ b/scripts/lib/recipetool/append.py | |||
@@ -101,7 +101,7 @@ def determine_file_source(targetpath, rd): | |||
101 | import oe.recipeutils | 101 | import oe.recipeutils |
102 | 102 | ||
103 | # See if it's in do_install for the recipe | 103 | # See if it's in do_install for the recipe |
104 | workdir = rd.getVar('WORKDIR') | 104 | unpackdir = rd.getVar('UNPACKDIR') |
105 | src_uri = rd.getVar('SRC_URI') | 105 | src_uri = rd.getVar('SRC_URI') |
106 | srcfile = '' | 106 | srcfile = '' |
107 | modpatches = [] | 107 | modpatches = [] |
@@ -113,9 +113,9 @@ def determine_file_source(targetpath, rd): | |||
113 | if not srcpath.startswith('/'): | 113 | if not srcpath.startswith('/'): |
114 | # Handle non-absolute path | 114 | # Handle non-absolute path |
115 | srcpath = os.path.abspath(os.path.join(rd.getVarFlag('do_install', 'dirs').split()[-1], srcpath)) | 115 | srcpath = os.path.abspath(os.path.join(rd.getVarFlag('do_install', 'dirs').split()[-1], srcpath)) |
116 | if srcpath.startswith(workdir): | 116 | if srcpath.startswith(unpackdir): |
117 | # OK, now we have the source file name, look for it in SRC_URI | 117 | # OK, now we have the source file name, look for it in SRC_URI |
118 | workdirfile = os.path.relpath(srcpath, workdir) | 118 | workdirfile = os.path.relpath(srcpath, unpackdir) |
119 | # FIXME this is where we ought to have some code in the fetcher, because this is naive | 119 | # FIXME this is where we ought to have some code in the fetcher, because this is naive |
120 | for item in src_uri.split(): | 120 | for item in src_uri.split(): |
121 | localpath = bb.fetch2.localpath(item, rd) | 121 | localpath = bb.fetch2.localpath(item, rd) |
diff --git a/scripts/lib/recipetool/create_go.py b/scripts/lib/recipetool/create_go.py index c560831442..a85a2f2786 100644 --- a/scripts/lib/recipetool/create_go.py +++ b/scripts/lib/recipetool/create_go.py | |||
@@ -16,7 +16,7 @@ from html.parser import HTMLParser | |||
16 | from recipetool.create import RecipeHandler, handle_license_vars | 16 | from recipetool.create import RecipeHandler, handle_license_vars |
17 | from recipetool.create import guess_license, tidy_licenses, fixup_license | 17 | from recipetool.create import guess_license, tidy_licenses, fixup_license |
18 | from recipetool.create import determine_from_url | 18 | from recipetool.create import determine_from_url |
19 | from urllib.error import URLError | 19 | from urllib.error import URLError, HTTPError |
20 | 20 | ||
21 | import bb.utils | 21 | import bb.utils |
22 | import json | 22 | import json |
@@ -225,7 +225,7 @@ class GoRecipeHandler(RecipeHandler): | |||
225 | 225 | ||
226 | def __init__(self): | 226 | def __init__(self): |
227 | super().__init__() | 227 | super().__init__() |
228 | self.__srv = [] | 228 | self.__srv = {} |
229 | 229 | ||
230 | def handle_starttag(self, tag, attrs): | 230 | def handle_starttag(self, tag, attrs): |
231 | if tag == 'meta' and list( | 231 | if tag == 'meta' and list( |
@@ -233,36 +233,34 @@ class GoRecipeHandler(RecipeHandler): | |||
233 | content = list( | 233 | content = list( |
234 | filter(lambda a: (a[0] == 'content'), attrs)) | 234 | filter(lambda a: (a[0] == 'content'), attrs)) |
235 | if content: | 235 | if content: |
236 | self.__srv = content[0][1].split() | 236 | srv = content[0][1].split() |
237 | self.__srv[srv[0]] = srv | ||
237 | 238 | ||
238 | @property | 239 | def go_import(self, modulepath): |
239 | def import_prefix(self): | 240 | if modulepath in self.__srv: |
240 | return self.__srv[0] if len(self.__srv) else None | 241 | srv = self.__srv[modulepath] |
241 | 242 | return GoImport(srv[0], srv[1], srv[2], None) | |
242 | @property | 243 | return None |
243 | def vcs(self): | ||
244 | return self.__srv[1] if len(self.__srv) else None | ||
245 | |||
246 | @property | ||
247 | def repourl(self): | ||
248 | return self.__srv[2] if len(self.__srv) else None | ||
249 | 244 | ||
250 | url = url.geturl() + "?go-get=1" | 245 | url = url.geturl() + "?go-get=1" |
251 | req = urllib.request.Request(url) | 246 | req = urllib.request.Request(url) |
252 | 247 | ||
253 | try: | 248 | try: |
254 | resp = urllib.request.urlopen(req) | 249 | body = urllib.request.urlopen(req).read() |
255 | 250 | except HTTPError as http_err: | |
251 | logger.warning( | ||
252 | "Unclean status when fetching page from [%s]: %s", url, str(http_err)) | ||
253 | body = http_err.fp.read() | ||
256 | except URLError as url_err: | 254 | except URLError as url_err: |
257 | logger.warning( | 255 | logger.warning( |
258 | "Failed to fetch page from [%s]: %s", url, str(url_err)) | 256 | "Failed to fetch page from [%s]: %s", url, str(url_err)) |
259 | return None | 257 | return None |
260 | 258 | ||
261 | parser = GoImportHTMLParser() | 259 | parser = GoImportHTMLParser() |
262 | parser.feed(resp.read().decode('utf-8')) | 260 | parser.feed(body.decode('utf-8')) |
263 | parser.close() | 261 | parser.close() |
264 | 262 | ||
265 | return GoImport(parser.import_prefix, parser.vcs, parser.repourl, None) | 263 | return parser.go_import(modulepath) |
266 | 264 | ||
267 | def __resolve_from_golang_proxy(self, modulepath, version): | 265 | def __resolve_from_golang_proxy(self, modulepath, version): |
268 | """ | 266 | """ |
diff --git a/scripts/lib/wic/plugins/source/rootfs.py b/scripts/lib/wic/plugins/source/rootfs.py index e29f3a4c2f..c990143c0d 100644 --- a/scripts/lib/wic/plugins/source/rootfs.py +++ b/scripts/lib/wic/plugins/source/rootfs.py | |||
@@ -43,7 +43,7 @@ class RootfsPlugin(SourcePlugin): | |||
43 | # directory, or modify a directory outside OpenEmbedded). | 43 | # directory, or modify a directory outside OpenEmbedded). |
44 | full_path = os.path.realpath(os.path.join(rootfs_dir, path)) | 44 | full_path = os.path.realpath(os.path.join(rootfs_dir, path)) |
45 | if not full_path.startswith(os.path.realpath(rootfs_dir)): | 45 | if not full_path.startswith(os.path.realpath(rootfs_dir)): |
46 | logger.error("%s: Must point inside the rootfs:" % (cmd, path)) | 46 | logger.error("%s: Must point inside the rootfs: %s" % (cmd, path)) |
47 | sys.exit(1) | 47 | sys.exit(1) |
48 | 48 | ||
49 | return full_path | 49 | return full_path |
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report index 7812ea4540..266700d294 100755 --- a/scripts/oe-build-perf-report +++ b/scripts/oe-build-perf-report | |||
@@ -336,7 +336,9 @@ def print_html_report(data, id_comp, buildstats): | |||
336 | test_i = test_data['tests'][test] | 336 | test_i = test_data['tests'][test] |
337 | meas_i = test_i['measurements'][meas] | 337 | meas_i = test_i['measurements'][meas] |
338 | commit_num = get_data_item(meta, 'layers.meta.commit_count') | 338 | commit_num = get_data_item(meta, 'layers.meta.commit_count') |
339 | samples.append(measurement_stats(meas_i)) | 339 | # Add start_time for both test measurement types of sysres and disk usage |
340 | start_time = test_i['start_time'][0] | ||
341 | samples.append(measurement_stats(meas_i, '', start_time)) | ||
340 | samples[-1]['commit_num'] = commit_num | 342 | samples[-1]['commit_num'] = commit_num |
341 | 343 | ||
342 | absdiff = samples[-1]['val_cls'](samples[-1]['mean'] - samples[id_comp]['mean']) | 344 | absdiff = samples[-1]['val_cls'](samples[-1]['mean'] - samples[id_comp]['mean']) |
@@ -473,7 +475,7 @@ Examine build performance test results from a Git repository""" | |||
473 | group.add_argument('--branch', '-B', default='master', help="Branch to find commit in") | 475 | group.add_argument('--branch', '-B', default='master', help="Branch to find commit in") |
474 | group.add_argument('--branch2', help="Branch to find comparision revisions in") | 476 | group.add_argument('--branch2', help="Branch to find comparision revisions in") |
475 | group.add_argument('--machine', default='qemux86') | 477 | group.add_argument('--machine', default='qemux86') |
476 | group.add_argument('--history-length', default=25, type=int, | 478 | group.add_argument('--history-length', default=300, type=int, |
477 | help="Number of tested revisions to plot in html report") | 479 | help="Number of tested revisions to plot in html report") |
478 | group.add_argument('--commit', | 480 | group.add_argument('--commit', |
479 | help="Revision to search for") | 481 | help="Revision to search for") |
diff --git a/scripts/oe-debuginfod b/scripts/oe-debuginfod index b525310225..5e70d37b8b 100755 --- a/scripts/oe-debuginfod +++ b/scripts/oe-debuginfod | |||
@@ -15,14 +15,29 @@ scriptpath.add_bitbake_lib_path() | |||
15 | 15 | ||
16 | import bb.tinfoil | 16 | import bb.tinfoil |
17 | import subprocess | 17 | import subprocess |
18 | import argparse | ||
18 | 19 | ||
19 | if __name__ == "__main__": | 20 | if __name__ == "__main__": |
21 | p = argparse.ArgumentParser() | ||
22 | p.add_argument("-d", action='store_true', \ | ||
23 | help="store debuginfod files in project sub-directory") | ||
24 | |||
25 | args = p.parse_args() | ||
26 | |||
20 | with bb.tinfoil.Tinfoil() as tinfoil: | 27 | with bb.tinfoil.Tinfoil() as tinfoil: |
21 | tinfoil.prepare(config_only=True) | 28 | tinfoil.prepare(config_only=True) |
22 | package_classes_var = "DEPLOY_DIR_" + tinfoil.config_data.getVar("PACKAGE_CLASSES").split()[0].replace("package_", "").upper() | 29 | package_classes_var = "DEPLOY_DIR_" + tinfoil.config_data.getVar("PACKAGE_CLASSES").split()[0].replace("package_", "").upper() |
23 | feed_dir = tinfoil.config_data.getVar(package_classes_var, expand=True) | 30 | feed_dir = tinfoil.config_data.getVar(package_classes_var, expand=True) |
24 | 31 | ||
32 | opts = [ '--verbose', '-R', '-U', feed_dir ] | ||
33 | |||
34 | if args.d: | ||
35 | fdir = os.path.join(os.getcwd(), 'oedid-files') | ||
36 | os.makedirs(fdir, exist_ok=True) | ||
37 | opts += [ '-d', os.path.join(fdir, 'did.sqlite') ] | ||
38 | |||
25 | subprocess.call(['bitbake', '-c', 'addto_recipe_sysroot', 'elfutils-native']) | 39 | subprocess.call(['bitbake', '-c', 'addto_recipe_sysroot', 'elfutils-native']) |
26 | 40 | ||
27 | subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod', '--verbose', '-R', '-U', feed_dir]) | 41 | subprocess.call(['oe-run-native', 'elfutils-native', 'debuginfod'] + opts) |
42 | # we should not get here | ||
28 | print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG:pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf") | 43 | print("\nTo use the debuginfod server please ensure that this variable PACKAGECONFIG:pn-elfutils-native = \"debuginfod libdebuginfod\" is set in the local.conf") |
diff --git a/scripts/oe-setup-build b/scripts/oe-setup-build index 5364f2b481..c0476992a2 100755 --- a/scripts/oe-setup-build +++ b/scripts/oe-setup-build | |||
@@ -91,7 +91,16 @@ def setup_build_env(args): | |||
91 | builddir = args.b if args.b else template["buildpath"] | 91 | builddir = args.b if args.b else template["buildpath"] |
92 | no_shell = args.no_shell | 92 | no_shell = args.no_shell |
93 | coredir = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) | 93 | coredir = os.path.abspath(os.path.join(os.path.dirname(os.path.realpath(__file__)), '..')) |
94 | cmd = "TEMPLATECONF={} . {} {}".format(template["templatepath"], os.path.join(coredir, 'oe-init-build-env'), builddir) | 94 | cmd_base = ". {} {}".format(os.path.join(coredir, 'oe-init-build-env'), os.path.abspath(builddir)) |
95 | |||
96 | initbuild = os.path.join(builddir, 'init-build-env') | ||
97 | if not os.path.exists(initbuild): | ||
98 | os.makedirs(builddir, exist_ok=True) | ||
99 | with open(initbuild, 'w') as f: | ||
100 | f.write(cmd_base) | ||
101 | print("\nRun '. {}' to initialize the build in a current shell session.\n".format(initbuild)) | ||
102 | |||
103 | cmd = "TEMPLATECONF={} {}".format(template["templatepath"], cmd_base) | ||
95 | if not no_shell: | 104 | if not no_shell: |
96 | cmd = cmd + " && {}".format(os.environ['SHELL']) | 105 | cmd = cmd + " && {}".format(os.environ['SHELL']) |
97 | print("Running:", cmd) | 106 | print("Running:", cmd) |