diff options
Diffstat (limited to 'poky')
464 files changed, 6146 insertions, 6419 deletions
diff --git a/poky/bitbake/lib/bb/build.py b/poky/bitbake/lib/bb/build.py index dae42ac47d..e2f91fa3b7 100644 --- a/poky/bitbake/lib/bb/build.py +++ b/poky/bitbake/lib/bb/build.py @@ -163,12 +163,35 @@ class LogTee(object): def __repr__(self): return '<LogTee {0}>'.format(self.name) + def flush(self): self.outfile.flush() + +class StdoutNoopContextManager: + """ + This class acts like sys.stdout, but adds noop __enter__ and __exit__ methods. + """ + def __enter__(self): + return sys.stdout + + def __exit__(self, *exc_info): + pass + + def write(self, string): + return sys.stdout.write(string) + + def flush(self): + sys.stdout.flush() + + @property + def name(self): + return sys.stdout.name + + # # pythonexception allows the python exceptions generated to be raised -# as the real exceptions (not FuncFailed) and without a backtrace at the +# as the real exceptions (not FuncFailed) and without a backtrace at the # origin of the failure. # def exec_func(func, d, dirs = None, pythonexception=False): @@ -323,6 +346,42 @@ trap 'bb_exit_handler' 0 set -e ''' +def create_progress_handler(func, progress, logfile, d): + if progress == 'percent': + # Use default regex + return bb.progress.BasicProgressHandler(d, outfile=logfile) + elif progress.startswith('percent:'): + # Use specified regex + return bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) + elif progress.startswith('outof:'): + # Use specified regex + return bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) + elif progress.startswith("custom:"): + # Use a custom progress handler that was injected via OE_EXTRA_IMPORTS or __builtins__ + import functools + from types import ModuleType + + parts = progress.split(":", 2) + _, cls, otherargs = parts[0], parts[1], (parts[2] or None) if parts[2:] else None + if cls: + def resolve(x, y): + if not x: + return None + if isinstance(x, ModuleType): + return getattr(x, y, None) + return x.get(y) + cls_obj = functools.reduce(resolve, cls.split("."), bb.utils._context) + if not cls_obj: + # Fall-back on __builtins__ + cls_obj = functools.reduce(lambda x, y: x.get(y), cls.split("."), __builtins__) + if cls_obj: + return cls_obj(d, outfile=logfile, otherargs=otherargs) + bb.warn('%s: unknown custom progress handler in task progress varflag value "%s", ignoring' % (func, cls)) + else: + bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress)) + + return logfile + def exec_func_shell(func, d, runfile, cwd=None): """Execute a shell function from the metadata @@ -360,23 +419,13 @@ exit $ret cmd = [fakerootcmd, runfile] if bb.msg.loggerDefaultVerbose: - logfile = LogTee(logger, sys.stdout) + logfile = LogTee(logger, StdoutNoopContextManager()) else: - logfile = sys.stdout + logfile = StdoutNoopContextManager() progress = d.getVarFlag(func, 'progress') if progress: - if progress == 'percent': - # Use default regex - logfile = bb.progress.BasicProgressHandler(d, outfile=logfile) - elif progress.startswith('percent:'): - # Use specified regex - logfile = bb.progress.BasicProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) - elif progress.startswith('outof:'): - # Use specified regex - logfile = bb.progress.OutOfProgressHandler(d, regex=progress.split(':', 1)[1], outfile=logfile) - else: - bb.warn('%s: invalid task progress varflag value "%s", ignoring' % (func, progress)) + logfile = create_progress_handler(func, progress, logfile, d) fifobuffer = bytearray() def readfifo(data): @@ -428,7 +477,7 @@ exit $ret bb.debug(2, "Executing shell function %s" % func) try: - with open(os.devnull, 'r+') as stdin: + with open(os.devnull, 'r+') as stdin, logfile: bb.process.run(cmd, shell=False, stdin=stdin, log=logfile, extrafiles=[(fifo,readfifo)]) except bb.process.CmdError: logfn = d.getVar('BB_LOGFILE') diff --git a/poky/bitbake/lib/bb/cache.py b/poky/bitbake/lib/bb/cache.py index 060758e0c4..5fb2f17cda 100644 --- a/poky/bitbake/lib/bb/cache.py +++ b/poky/bitbake/lib/bb/cache.py @@ -237,7 +237,7 @@ def virtualfn2realfn(virtualfn): Convert a virtual file name to a real one + the associated subclass keyword """ mc = "" - if virtualfn.startswith('multiconfig:'): + if virtualfn.startswith('mc:'): elems = virtualfn.split(':') mc = elems[1] virtualfn = ":".join(elems[2:]) @@ -258,7 +258,7 @@ def realfn2virtual(realfn, cls, mc): if cls: realfn = "virtual:" + cls + ":" + realfn if mc: - realfn = "multiconfig:" + mc + ":" + realfn + realfn = "mc:" + mc + ":" + realfn return realfn def variant2virtual(realfn, variant): @@ -267,11 +267,11 @@ def variant2virtual(realfn, variant): """ if variant == "": return realfn - if variant.startswith("multiconfig:"): + if variant.startswith("mc:"): elems = variant.split(":") if elems[2]: - return "multiconfig:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn - return "multiconfig:" + elems[1] + ":" + realfn + return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn + return "mc:" + elems[1] + ":" + realfn return "virtual:" + variant + ":" + realfn def parse_recipe(bb_data, bbfile, appends, mc=''): @@ -349,7 +349,7 @@ class NoCache(object): bb_data = self.databuilder.mcdata[mc].createCopy() newstores = parse_recipe(bb_data, bbfile, appends, mc) for ns in newstores: - datastores["multiconfig:%s:%s" % (mc, ns)] = newstores[ns] + datastores["mc:%s:%s" % (mc, ns)] = newstores[ns] return datastores diff --git a/poky/bitbake/lib/bb/cooker.py b/poky/bitbake/lib/bb/cooker.py index c8e14042d6..0008c2fde1 100644 --- a/poky/bitbake/lib/bb/cooker.py +++ b/poky/bitbake/lib/bb/cooker.py @@ -378,8 +378,9 @@ class BBCooker: if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset: self.disableDataTracking() - self.data.renameVar("__depends", "__base_depends") - self.add_filewatch(self.data.getVar("__base_depends", False), self.configwatcher) + for mc in self.databuilder.mcdata.values(): + mc.renameVar("__depends", "__base_depends") + self.add_filewatch(mc.getVar("__base_depends", False), self.configwatcher) self.baseconfig_valid = True self.parsecache_valid = False @@ -494,6 +495,7 @@ class BBCooker: """ fn = None envdata = None + mc = '' if not pkgs_to_build: pkgs_to_build = [] @@ -502,6 +504,12 @@ class BBCooker: self.enableDataTracking() self.reset() + def mc_base(p): + if p.startswith('mc:'): + s = p.split(':') + if len(s) == 2: + return s[1] + return None if buildfile: # Parse the configuration here. We need to do it explicitly here since @@ -512,18 +520,16 @@ class BBCooker: fn = self.matchFile(fn) fn = bb.cache.realfn2virtual(fn, cls, mc) elif len(pkgs_to_build) == 1: - ignore = self.data.getVar("ASSUME_PROVIDED") or "" - if pkgs_to_build[0] in set(ignore.split()): - bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) + mc = mc_base(pkgs_to_build[0]) + if not mc: + ignore = self.data.getVar("ASSUME_PROVIDED") or "" + if pkgs_to_build[0] in set(ignore.split()): + bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0]) - taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True) + taskdata, runlist = self.buildTaskData(pkgs_to_build, None, self.configuration.abort, allowincomplete=True) - mc = runlist[0][0] - fn = runlist[0][3] - else: - envdata = self.data - data.expandKeys(envdata) - parse.ast.runAnonFuncs(envdata) + mc = runlist[0][0] + fn = runlist[0][3] if fn: try: @@ -532,6 +538,12 @@ class BBCooker: except Exception as e: parselog.exception("Unable to read %s", fn) raise + else: + if not mc in self.databuilder.mcdata: + bb.fatal('Not multiconfig named "%s" found' % mc) + envdata = self.databuilder.mcdata[mc] + data.expandKeys(envdata) + parse.ast.runAnonFuncs(envdata) # Display history with closing(StringIO()) as env: @@ -571,10 +583,10 @@ class BBCooker: wildcard = False # Wild card expansion: - # Replace string such as "multiconfig:*:bash" - # into "multiconfig:A:bash multiconfig:B:bash bash" + # Replace string such as "mc:*:bash" + # into "mc:A:bash mc:B:bash bash" for k in targetlist: - if k.startswith("multiconfig:"): + if k.startswith("mc:"): if wildcard: bb.fatal('multiconfig conflict') if k.split(":")[1] == "*": @@ -607,7 +619,7 @@ class BBCooker: runlist = [] for k in fulltargetlist: mc = "" - if k.startswith("multiconfig:"): + if k.startswith("mc:"): mc = k.split(":")[1] k = ":".join(k.split(":")[2:]) ktask = task @@ -626,9 +638,13 @@ class BBCooker: runlist.append([mc, k, ktask, fn]) bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data) + havemc = False + for mc in self.multiconfigs: + if taskdata[mc].get_mcdepends(): + havemc = True # No need to do check providers if there are no mcdeps or not an mc build - if len(self.multiconfigs) > 1: + if havemc or len(self.multiconfigs) > 1: seen = set() new = True # Make sure we can provide the multiconfig dependency @@ -688,7 +704,7 @@ class BBCooker: @staticmethod def add_mc_prefix(mc, pn): if mc: - return "multiconfig:%s:%s" % (mc, pn) + return "mc:%s:%s" % (mc, pn) return pn def buildDependTree(self, rq, taskdata): @@ -1465,7 +1481,7 @@ class BBCooker: ntargets = [] for target in runlist: if target[0]: - ntargets.append("multiconfig:%s:%s:%s" % (target[0], target[1], target[2])) + ntargets.append("mc:%s:%s:%s" % (target[0], target[1], target[2])) ntargets.append("%s:%s" % (target[1], target[2])) for mc in self.multiconfigs: @@ -1588,6 +1604,9 @@ class BBCooker: for pkg in pkgs_to_build: if pkg in ignore: parselog.warning("Explicit target \"%s\" is in ASSUME_PROVIDED, ignoring" % pkg) + if pkg.startswith("multiconfig:"): + pkgs_to_build.remove(pkg) + pkgs_to_build.append(pkg.replace("multiconfig:", "mc:")) if 'world' in pkgs_to_build: pkgs_to_build.remove('world') @@ -1595,7 +1614,7 @@ class BBCooker: bb.providers.buildWorldTargetList(self.recipecaches[mc], task) for t in self.recipecaches[mc].world_target: if mc: - t = "multiconfig:" + mc + ":" + t + t = "mc:" + mc + ":" + t pkgs_to_build.append(t) if 'universe' in pkgs_to_build: @@ -1614,7 +1633,7 @@ class BBCooker: bb.debug(1, "Skipping %s for universe tasks as task %s doesn't exist" % (t, task)) continue if mc: - t = "multiconfig:" + mc + ":" + t + t = "mc:" + mc + ":" + t pkgs_to_build.append(t) return pkgs_to_build diff --git a/poky/bitbake/lib/bb/cookerdata.py b/poky/bitbake/lib/bb/cookerdata.py index f8ae41093b..842275d530 100644 --- a/poky/bitbake/lib/bb/cookerdata.py +++ b/poky/bitbake/lib/bb/cookerdata.py @@ -342,14 +342,24 @@ class CookerDataBuilder(object): data = parse_config_file(layerconf, data) layers = (data.getVar('BBLAYERS') or "").split() + broken_layers = [] data = bb.data.createCopy(data) approved = bb.utils.approved_variables() + + # Check whether present layer directories exist for layer in layers: if not os.path.isdir(layer): - parselog.critical("Layer directory '%s' does not exist! " - "Please check BBLAYERS in %s" % (layer, layerconf)) - sys.exit(1) + broken_layers.append(layer) + + if broken_layers: + parselog.critical("The following layer directories do not exist:") + for layer in broken_layers: + parselog.critical(" %s", layer) + parselog.critical("Please check BBLAYERS in %s" % (layerconf)) + sys.exit(1) + + for layer in layers: parselog.debug(2, "Adding layer %s", layer) if 'HOME' in approved and '~' in layer: layer = os.path.expanduser(layer) diff --git a/poky/bitbake/lib/bb/fetch2/__init__.py b/poky/bitbake/lib/bb/fetch2/__init__.py index 0126e0d7c7..f6b5529bb8 100644 --- a/poky/bitbake/lib/bb/fetch2/__init__.py +++ b/poky/bitbake/lib/bb/fetch2/__init__.py @@ -843,6 +843,11 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None): if val: cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd) + # Ensure that a _PYTHON_SYSCONFIGDATA_NAME value set by a recipe + # (for example via python3native.bbclass since warrior) is not set for + # host Python (otherwise tools like git-make-shallow will fail) + cmd = 'unset _PYTHON_SYSCONFIGDATA_NAME; ' + cmd + # Disable pseudo as it may affect ssh, potentially causing it to hang. cmd = 'export PSEUDO_DISABLED=1; ' + cmd diff --git a/poky/bitbake/lib/bb/fetch2/npm.py b/poky/bitbake/lib/bb/fetch2/npm.py index f08bdee739..4427b1bb87 100644 --- a/poky/bitbake/lib/bb/fetch2/npm.py +++ b/poky/bitbake/lib/bb/fetch2/npm.py @@ -151,20 +151,11 @@ class Npm(FetchMethod): Parse the output of npm view --json; the last JSON result is assumed to be the one that we're interested in. ''' - pdata = None - outdeps = {} - datalines = [] - bracelevel = 0 - for line in output.splitlines(): - if bracelevel: - datalines.append(line) - elif '{' in line: - datalines = [] - datalines.append(line) - bracelevel = bracelevel + line.count('{') - line.count('}') - if datalines: - pdata = json.loads('\n'.join(datalines)) - return pdata + pdata = json.loads(output); + try: + return pdata[-1] + except: + return pdata def _getdependencies(self, pkg, data, version, d, ud, optional=False, fetchedlist=None): if fetchedlist is None: diff --git a/poky/bitbake/lib/bb/fetch2/svn.py b/poky/bitbake/lib/bb/fetch2/svn.py index baeb0e7eea..59ce93160c 100644 --- a/poky/bitbake/lib/bb/fetch2/svn.py +++ b/poky/bitbake/lib/bb/fetch2/svn.py @@ -91,6 +91,13 @@ class Svn(FetchMethod): svncmd = "%s log --limit 1 %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module) else: suffix = "" + + # externals may be either 'allowed' or 'nowarn', but not both. Allowed + # will not issue a warning, but will log to the debug buffer what has likely + # been downloaded by SVN. + if not ("externals" in ud.parm and ud.parm["externals"] == "allowed"): + options.append("--ignore-externals") + if ud.revision: options.append("-r %s" % ud.revision) suffix = "@%s" % (ud.revision) @@ -136,6 +143,18 @@ class Svn(FetchMethod): bb.fetch2.check_network_access(d, svnfetchcmd, ud.url) runfetchcmd(svnfetchcmd, d, workdir=ud.pkgdir) + if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"): + # Warn the user if this had externals (won't catch them all) + output = runfetchcmd("svn propget svn:externals", d, workdir=ud.moddir) + if output: + if "--ignore-externals" in svnfetchcmd.split(): + bb.warn("%s contains svn:externals." % ud.url) + bb.warn("These should be added to the recipe SRC_URI as necessary.") + bb.warn("svn fetch has ignored externals:\n%s" % output) + bb.warn("To disable this warning add ';externals=nowarn' to the url.") + else: + bb.debug(1, "svn repository has externals:\n%s" % output) + scmdata = ud.parm.get("scmdata", "") if scmdata == "keep": tar_flags = "" diff --git a/poky/bitbake/lib/bb/main.py b/poky/bitbake/lib/bb/main.py index 8d1978f986..ca59eb9af8 100755 --- a/poky/bitbake/lib/bb/main.py +++ b/poky/bitbake/lib/bb/main.py @@ -491,7 +491,7 @@ def setup_bitbake(configParams, configuration, extrafeatures=None): def lockBitbake(): topdir = bb.cookerdata.findTopdir() if not topdir: - bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBAPTH is unset and/or not in a build directory?") + bb.error("Unable to find conf/bblayers.conf or conf/bitbake.conf. BBPATH is unset and/or not in a build directory?") raise BBMainFatal lockfile = topdir + "/bitbake.lock" return topdir, bb.utils.lockfile(lockfile, False, False) diff --git a/poky/bitbake/lib/bb/progress.py b/poky/bitbake/lib/bb/progress.py index e9b72e28b9..4022caa717 100644 --- a/poky/bitbake/lib/bb/progress.py +++ b/poky/bitbake/lib/bb/progress.py @@ -13,6 +13,7 @@ import time import inspect import bb.event import bb.build +from bb.build import StdoutNoopContextManager class ProgressHandler(object): """ @@ -27,7 +28,14 @@ class ProgressHandler(object): if outfile: self._outfile = outfile else: - self._outfile = sys.stdout + self._outfile = StdoutNoopContextManager() + + def __enter__(self): + self._outfile.__enter__() + return self + + def __exit__(self, *excinfo): + self._outfile.__exit__(*excinfo) def _fire_progress(self, taskprogress, rate=None): """Internal function to fire the progress event""" @@ -147,6 +155,12 @@ class MultiStageProgressReporter(object): self._stage_total = None self._callers = [] + def __enter__(self): + return self + + def __exit__(self, *excinfo): + pass + def _fire_progress(self, taskprogress): bb.event.fire(bb.build.TaskProgress(taskprogress), self._data) diff --git a/poky/bitbake/lib/bb/runqueue.py b/poky/bitbake/lib/bb/runqueue.py index d573ed460e..010b085010 100644 --- a/poky/bitbake/lib/bb/runqueue.py +++ b/poky/bitbake/lib/bb/runqueue.py @@ -39,7 +39,7 @@ def taskname_from_tid(tid): return tid.rsplit(":", 1)[1] def mc_from_tid(tid): - if tid.startswith('multiconfig:'): + if tid.startswith('mc:'): return tid.split(':')[1] return "" @@ -48,12 +48,12 @@ def split_tid(tid): return (mc, fn, taskname) def split_tid_mcfn(tid): - if tid.startswith('multiconfig:'): + if tid.startswith('mc:'): elems = tid.split(':') mc = elems[1] fn = ":".join(elems[2:-1]) taskname = elems[-1] - mcfn = "multiconfig:" + mc + ":" + fn + mcfn = "mc:" + mc + ":" + fn else: tid = tid.rsplit(":", 1) mc = "" @@ -65,7 +65,7 @@ def split_tid_mcfn(tid): def build_tid(mc, fn, taskname): if mc: - return "multiconfig:" + mc + ":" + fn + ":" + taskname + return "mc:" + mc + ":" + fn + ":" + taskname return fn + ":" + taskname class RunQueueStats: diff --git a/poky/bitbake/lib/bb/siggen.py b/poky/bitbake/lib/bb/siggen.py index e0a66e68d5..fe580e487f 100644 --- a/poky/bitbake/lib/bb/siggen.py +++ b/poky/bitbake/lib/bb/siggen.py @@ -179,7 +179,7 @@ class SignatureGeneratorBasic(SignatureGenerator): def get_taskhash(self, fn, task, deps, dataCache): mc = '' - if fn.startswith('multiconfig:'): + if fn.startswith('mc:'): mc = fn.split(':')[1] k = fn + "." + task @@ -194,7 +194,7 @@ class SignatureGeneratorBasic(SignatureGenerator): depmc = pkgname.split(':')[1] if mc != depmc: continue - if dep.startswith("multiconfig:") and not mc: + if dep.startswith("mc:") and not mc: continue depname = dataCache.pkg_fn[pkgname] if not self.rundep_check(fn, recipename, task, dep, depname, dataCache): @@ -412,13 +412,13 @@ def list_inline_diff(oldlist, newlist, colors=None): def clean_basepath(a): mc = None - if a.startswith("multiconfig:"): + if a.startswith("mc:"): _, mc, a = a.split(":", 2) b = a.rsplit("/", 2)[1] + '/' + a.rsplit("/", 2)[2] if a.startswith("virtual:"): b = b + ":" + a.rsplit(":", 1)[0] if mc: - b = b + ":multiconfig:" + mc + b = b + ":mc:" + mc return b def clean_basepaths(a): diff --git a/poky/bitbake/lib/bb/taskdata.py b/poky/bitbake/lib/bb/taskdata.py index c7de3db38d..d13bd7c3bf 100644 --- a/poky/bitbake/lib/bb/taskdata.py +++ b/poky/bitbake/lib/bb/taskdata.py @@ -81,7 +81,7 @@ class TaskData: def add_mcdepends(task): for dep in task_deps['mcdepends'][task].split(): if len(dep.split(':')) != 5: - bb.msg.fatal("TaskData", "Error for %s:%s[%s], multiconfig dependency %s does not contain exactly four ':' characters.\n Task '%s' should be specified in the form 'multiconfig:fromMC:toMC:packagename:task'" % (fn, task, 'mcdepends', dep, 'mcdepends')) + bb.msg.fatal("TaskData", "Error for %s:%s[%s], multiconfig dependency %s does not contain exactly four ':' characters.\n Task '%s' should be specified in the form 'mc:fromMC:toMC:packagename:task'" % (fn, task, 'mcdepends', dep, 'mcdepends')) if dep not in self.mcdepends: self.mcdepends.append(dep) diff --git a/poky/bitbake/lib/bb/tests/fetch.py b/poky/bitbake/lib/bb/tests/fetch.py index 6bdf0416d7..16f975b137 100644 --- a/poky/bitbake/lib/bb/tests/fetch.py +++ b/poky/bitbake/lib/bb/tests/fetch.py @@ -991,6 +991,86 @@ class FetcherNetworkTest(FetcherTest): self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/ctest/README.md')), msg='Missing submodule checkout') self.assertTrue(os.path.exists(os.path.join(repo_path, 'edgelet/hsm-sys/azure-iot-hsm-c/deps/utpm/deps/c-utility/testtools/umock-c/deps/testrunner/readme.md')), msg='Missing submodule checkout') +class SVNTest(FetcherTest): + def skipIfNoSvn(): + import shutil + if not shutil.which("svn"): + return unittest.skip("svn not installed, tests being skipped") + + if not shutil.which("svnadmin"): + return unittest.skip("svnadmin not installed, tests being skipped") + + return lambda f: f + + @skipIfNoSvn() + def setUp(self): + """ Create a local repository """ + + super(SVNTest, self).setUp() + + # Create something we can fetch + src_dir = tempfile.mkdtemp(dir=self.tempdir, + prefix='svnfetch_srcdir_') + src_dir = os.path.abspath(src_dir) + bb.process.run("echo readme > README.md", cwd=src_dir) + + # Store it in a local SVN repository + repo_dir = tempfile.mkdtemp(dir=self.tempdir, + prefix='svnfetch_localrepo_') + repo_dir = os.path.abspath(repo_dir) + bb.process.run("svnadmin create project", cwd=repo_dir) + + self.repo_url = "file://%s/project" % repo_dir + bb.process.run("svn import --non-interactive -m 'Initial import' %s %s/trunk" % (src_dir, self.repo_url), + cwd=repo_dir) + + bb.process.run("svn co %s svnfetch_co" % self.repo_url, cwd=self.tempdir) + # Github will emulate SVN. Use this to check if we're downloding... + bb.process.run("svn propset svn:externals 'bitbake http://github.com/openembedded/bitbake' .", + cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk')) + bb.process.run("svn commit --non-interactive -m 'Add external'", + cwd=os.path.join(self.tempdir, 'svnfetch_co', 'trunk')) + + self.src_dir = src_dir + self.repo_dir = repo_dir + + @skipIfNoSvn() + def tearDown(self): + os.chdir(self.origdir) + if os.environ.get("BB_TMPDIR_NOCLEAN") == "yes": + print("Not cleaning up %s. Please remove manually." % self.tempdir) + else: + bb.utils.prunedir(self.tempdir) + + @skipIfNoSvn() + @skipIfNoNetwork() + def test_noexternal_svn(self): + # Always match the rev count from setUp (currently rev 2) + url = "svn://%s;module=trunk;protocol=file;rev=2" % self.repo_url.replace('file://', '') + fetcher = bb.fetch.Fetch([url], self.d) + fetcher.download() + os.chdir(os.path.dirname(self.unpackdir)) + fetcher.unpack(self.unpackdir) + + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk')), msg="Missing trunk") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk', 'README.md')), msg="Missing contents") + self.assertFalse(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk')), msg="External dir should NOT exist") + self.assertFalse(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk', 'README')), msg="External README should NOT exit") + + @skipIfNoSvn() + def test_external_svn(self): + # Always match the rev count from setUp (currently rev 2) + url = "svn://%s;module=trunk;protocol=file;externals=allowed;rev=2" % self.repo_url.replace('file://', '') + fetcher = bb.fetch.Fetch([url], self.d) + fetcher.download() + os.chdir(os.path.dirname(self.unpackdir)) + fetcher.unpack(self.unpackdir) + + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk')), msg="Missing trunk") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk', 'README.md')), msg="Missing contents") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk')), msg="External dir should exist") + self.assertTrue(os.path.exists(os.path.join(self.unpackdir, 'trunk/bitbake/trunk', 'README')), msg="External README should exit") + class TrustedNetworksTest(FetcherTest): def test_trusted_network(self): # Ensure trusted_network returns False when the host IS in the list. diff --git a/poky/bitbake/lib/bb/ui/knotty.py b/poky/bitbake/lib/bb/ui/knotty.py index 3d9e2031b3..88f638fb38 100644 --- a/poky/bitbake/lib/bb/ui/knotty.py +++ b/poky/bitbake/lib/bb/ui/knotty.py @@ -300,8 +300,8 @@ class TerminalFilter(object): if start_time: pbar.start_time = start_time pbar.setmessage('%s:%s' % (tasknum, pbar.msg.split(':', 1)[1])) + pbar.setextra(rate) if progress > -1: - pbar.setextra(rate) content = pbar.update(progress) else: content = pbar.update(1) diff --git a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml index bd9c326855..9ae2e423e0 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/oe-core.xml @@ -53,7 +53,7 @@ <object model="orm.release" pk="4"> <field type="CharField" name="name">thud</field> <field type="CharField" name="description">Openembedded Thud</field> - <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field> + <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> <field type="CharField" name="branch_name">thud</field> <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href=\"http://cgit.openembedded.org/openembedded-core/log/?h=thud\">OpenEmbedded Thud</a> branch.</field> </object> diff --git a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml index 4162e4fba9..da3b93032b 100644 --- a/poky/bitbake/lib/toaster/orm/fixtures/poky.xml +++ b/poky/bitbake/lib/toaster/orm/fixtures/poky.xml @@ -58,7 +58,7 @@ <object model="orm.release" pk="4"> <field type="CharField" name="name">thud</field> <field type="CharField" name="description">Yocto Project 2.6 "Thud"</field> - <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">1</field> + <field rel="ManyToOneRel" to="orm.bitbakeversion" name="bitbake_version">4</field> <field type="CharField" name="branch_name">thud</field> <field type="TextField" name="helptext">Toaster will run your builds using the tip of the <a href="http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=thud">Yocto Project Thud branch</a>.</field> </object> diff --git a/poky/documentation/Makefile b/poky/documentation/Makefile index accf23414f..525a7309aa 100644 --- a/poky/documentation/Makefile +++ b/poky/documentation/Makefile @@ -156,7 +156,7 @@ TARFILES = dev-style.css dev-manual.html \ TARFILES = dev-style.css dev-manual.html figures/buildhistory-web.png \ figures/dev-title.png figures/buildhistory.png \ figures/recipe-workflow.png figures/bitbake-build-flow.png \ - figures/multiconfig_files.png + figures/multiconfig_files.png figures/cute-files-npm-example.png endif MANUALS = $(DOC)/$(DOC).html @@ -260,7 +260,7 @@ TARFILES = mega-manual.html mega-style.css \ figures/sdk-devtool-modify-flow.png \ figures/sdk-devtool-upgrade-flow.png figures/bitbake-build-flow.png figures/bypqs-title.png \ figures/overview-manual-title.png figures/sdk-autotools-flow.png figures/sdk-makefile-flow.png \ - figures/bb_multiconfig_files.png figures/bitbake-title.png + figures/bb_multiconfig_files.png figures/bitbake-title.png figures/cute-files-npm-example.png endif MANUALS = $(DOC)/$(DOC).html diff --git a/poky/documentation/dev-manual/dev-manual-common-tasks.xml b/poky/documentation/dev-manual/dev-manual-common-tasks.xml index 8ddcd5b075..9231d1416e 100644 --- a/poky/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/poky/documentation/dev-manual/dev-manual-common-tasks.xml @@ -4197,11 +4197,27 @@ built by layer recipes. It is recommended to keep recipes up-to-date with upstream version releases. + </para> + + <para> + While several methods exist that allow you upgrade a recipe, + you might consider checking on the upgrade status of a recipe + first. + You can do so using the + <filename>devtool check-upgrade-status</filename> command. + See the + "<ulink url='&YOCTO_DOCS_REF_URL;#devtool-checking-on-the-upgrade-status-of-a-recipe'>Checking on the Upgrade Status of a Recipe</ulink>" + section in the Yocto Project Reference Manual for more information. + </para> + + <para> + The remainder of this section describes three ways you can + upgrade a recipe. You can use the Automated Upgrade Helper (AUH) to set up automatic version upgrades. Alternatively, you can use <filename>devtool upgrade</filename> to set up semi-automatic version upgrades. - Finally, you can even manually upgrade a recipe by editing the + Finally, you can manually upgrade a recipe by editing the recipe itself. </para> @@ -4320,12 +4336,6 @@ Make these following configurations: <itemizedlist> <listitem><para> - Enable "distrodata" as follows: - <literallayout class='monospaced'> - INHERIT =+ "distrodata" - </literallayout> - </para></listitem> - <listitem><para> If you want to enable <ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-build-output-quality'>Build History</ulink>, which is optional, you need the following @@ -8964,11 +8974,17 @@ <link linkend='handling-optional-module-packaging'>Handling optional module packaging</link> </para></listitem> <listitem><para> - <link linkend='using-runtime-package-management'>Using Runtime Package Management</link> + <link linkend='using-runtime-package-management'>Using runtime package management</link> + </para></listitem> + <listitem><para> + <link linkend='generating-and-using-signed-packages'>Generating and using signed packages</link> </para></listitem> <listitem><para> <link linkend='testing-packages-with-ptest'>Setting up and running package test (ptest)</link> </para></listitem> + <listitem><para> + <link linkend='creating-node-package-manager-npm-packages'>Creating node package manager (NPM) packages</link> + </para></listitem> </itemizedlist> </para> @@ -10397,6 +10413,292 @@ </para> </section> </section> + + <section id='creating-node-package-manager-npm-packages'> + <title>Creating Node Package Manager (NPM) Packages</title> + + <para> + <ulink url='https://en.wikipedia.org/wiki/Npm_(software)'>NPM</ulink> + is a package manager for the JavaScript programming + language. + The Yocto Project supports the NPM + <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetcher</ulink>. + You can use this fetcher in combination with + <ulink url='&YOCTO_DOCS_REF_URL;#ref-devtool-reference'><filename>devtool</filename></ulink> + to create recipes that produce NPM packages. + </para> + + <para> + Two workflows exist that allow you to create NPM packages + using <filename>devtool</filename>: the NPM registry modules + method and the NPM project code method. + <note> + While it is possible to create NPM recipes manually, + using <filename>devtool</filename> is far simpler. + </note> + Additionally, some requirements and caveats exist. + </para> + + <section id='npm-package-creation-requirements'> + <title>Requirements and Caveats</title> + + <para> + You need to be aware of the following before using + <filename>devtool</filename> to create NPM packages: + <itemizedlist> + <listitem><para> + Of the two methods that you can use + <filename>devtool</filename> to create NPM + packages, the registry approach is slightly + simpler. + However, you might consider the project + approach because you do not have to publish + your module in the NPM registry + (<ulink url='https://docs.npmjs.com/misc/registry'><filename>npm-registry</filename></ulink>), + which is NPM's public registry. + </para></listitem> + <listitem><para> + Be familiar with + <ulink url='&YOCTO_DOCS_REF_URL;#ref-devtool-reference'><filename>devtool</filename></ulink>. + </para></listitem> + <listitem><para> + The NPM host tools need the native + <filename>nodejs-npm</filename> package, which + is part of the OpenEmbedded environment. + You need to get the package by cloning the + <ulink url='https://github.com/openembedded/meta-openembedded'></ulink> + repository out of GitHub. + Be sure to add the path to your local copy to + your <filename>bblayers.conf</filename> file. + </para></listitem> + <listitem><para> + <filename>devtool</filename> cannot detect + native libraries in module dependencies. + Consequently, you must manually add packages + to your recipe. + </para></listitem> + <listitem><para> + While deploying NPM packages, + <filename>devtool</filename> cannot determine + which dependent packages are missing on the + target (e.g. the node runtime + <filename>nodejs</filename>). + Consequently, you need to find out what + files are missing and be sure they are on the + target. + </para></listitem> + <listitem><para> + Although you might not need NPM to run your + node package, it is useful to have NPM on your + target. + The NPM package name is + <filename>nodejs-npm</filename>. + </para></listitem> + </itemizedlist> + </para> + </section> + + <section id='npm-using-the-registry-modules-method'> + <title>Using the Registry Modules Method</title> + + <para> + This section presents an example that uses the + <filename>cute-files</filename> module, which is a + file browser web application. + <note> + You must know the <filename>cute-files</filename> + module version. + </note> + </para> + + <para> + The first thing you need to do is use + <filename>devtool</filename> and the NPM fetcher to + create the recipe: + <literallayout class='monospaced'> + $ devtool add "npm://registry.npmjs.org;name=cute-files;version=1.0.2" + </literallayout> + The <filename>devtool add</filename> command runs + <filename>recipetool create</filename> and uses the + same fetch URI to download each dependency and capture + license details where possible. + The result is a generated recipe. + </para> + + <para> + The recipe file is fairly simple and contains every + license that <filename>recipetool</filename> finds + and includes the licenses in the recipe's + <ulink url='&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM'><filename>LIC_FILES_CHKSUM</filename></ulink> + variables. + You need to examine the variables and look for those + with "unknown" in the + <ulink url='&YOCTO_DOCS_REF_URL;#var-LICENSE'><filename>LICENSE</filename></ulink> + field. + You need to track down the license information for + "unknown" modules and manually add the information to the + recipe. + </para> + + <para> + <filename>recipetool</filename> creates "shrinkwrap" and + "lockdown" files for your recipe. + Shrinkwrap files capture the version of all dependent + modules. + Many packages do not provide shrinkwrap files. + <filename>recipetool</filename> create a shrinkwrap + file as it runs. + You can replace the shrinkwrap file with your own file + by setting the <filename>NPM_SHRINKWRAP</filename> + variable. + </para> + + <para> + Lockdown files contain the checksum for each module + to determine if your users download the same files when + building with a recipe. + Lockdown files ensure that dependencies have not been + changed and that your NPM registry is still providing + the same file. + <note> + A package is created for each sub-module. + This policy is the only practical way to have the + licenses for all of the dependencies represented + in the license manifest of the image. + </note> + </para> + + <para> + The <filename>devtool edit-recipe</filename> command + lets you take a look at the recipe: + <literallayout class='monospaced'> + $ devtool edit-recipe cute-files + SUMMARY = "Turn any folder on your computer into a cute file browser, available on the local network." + LICENSE = "BSD-3-Clause & Unknown & MIT & ISC" + LIC_FILES_CHKSUM = "file://LICENSE;md5=71d98c0a1db42956787b1909c74a86ca \ + file://node_modules/content-disposition/LICENSE;md5=c6e0ce1e688c5ff16db06b7259e9cd20 \ + file://node_modules/express/LICENSE;md5=5513c00a5c36cd361da863dd9aa8875d \ + ... + + SRC_URI = "npm://registry.npmjs.org;name=cute-files;version=${PV}" + NPM_SHRINKWRAP := "${THISDIR}/${PN}/npm-shrinkwrap.json" + NPM_LOCKDOWN := "${THISDIR}/${PN}/lockdown.json" + inherit npm + # Must be set after inherit npm since that itself sets S + S = "${WORKDIR}/npmpkg" + + LICENSE_${PN}-content-disposition = "MIT" + ... + LICENSE_${PN}-express = "MIT" + LICENSE_${PN} = "MIT" + </literallayout> + Three key points exist in the previous example: + <itemizedlist> + <listitem><para> + <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> + uses the NPM scheme so that the NPM fetcher + is used. + </para></listitem> + <listitem><para> + <filename>recipetool</filename> collects all + the license information. + If a sub-module's license is unavailable, + the sub-module's name appears in the comments. + </para></listitem> + <listitem><para> + The <filename>inherit npm</filename> statement + causes the + <ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-npm'><filename>npm</filename></ulink> + class to package up all the modules. + </para></listitem> + </itemizedlist> + </para> + + <para> + You can run the following command to build the + <filename>cute-files</filename> package: + <literallayout class='monospaced'> + $ devtool build cute-files + </literallayout> + Remember that <filename>nodejs</filename> must be + installed on the target before your package. + </para> + + <para> + Assuming 192.168.7.2 for the target's IP address, use + the following command to deploy your package: + <literallayout class='monospaced'> + $ devtool deploy-target -s cute-files root@192.168.7.2 + </literallayout> + Once the package is installed on the target, you can + test the application: + <note> + Because of a know issue, you cannot simply run + <filename>cute-files</filename> as you would if you + had run <filename>npm install</filename>. + </note> + <literallayout class='monospaced'> + $ cd /usr/lib/node_modules/cute-files + $ node cute-files.js + </literallayout> + On a browser, go to + <filename>http://192.168.7.2:3000</filename> and you + see the following: + <imagedata fileref="figures/cute-files-npm-example.png" align="center" width="6in" depth="4in" /> + </para> + + <para> + You can find the recipe in + <filename>workspace/recipes/cute-files</filename>. + You can use the recipe in any layer you choose. + </para> + </section> + + <section id='npm-using-the-npm-projects-method'> + <title>Using the NPM Projects Code Method</title> + + <para> + Although it is useful to package modules already in the + NPM registry, adding <filename>node.js</filename> projects + under development is a more common developer use case. + </para> + + <para> + This section covers the NPM projects code method, which is + very similar to the "registry" approach described in the + previous section. + In the NPM projects method, you provide + <filename>devtool</filename> with an URL that points to the + source files. + </para> + + <para> + Replicating the same example, (i.e. + <filename>cute-files</filename>) use the following command: + <literallayout class='monospaced'> + $ devtool add https://github.com/martinaglv/cute-files.git + </literallayout> + The recipe this command generates is very similar to the + recipe created in the previous section. + However, the <filename>SRC_URI</filename> looks like the + following: + <literallayout class='monospaced'> + SRC_URI = "git://github.com/martinaglv/cute-files.git;protocol=https \ + npm://registry.npmjs.org;name=commander;version=2.9.0;subdir=node_modules/commander \ + npm://registry.npmjs.org;name=express;version=4.14.0;subdir=node_modules/express \ + npm://registry.npmjs.org;name=content-disposition;version=0.3.0;subdir=node_modules/content-disposition \ + " + </literallayout> + In this example, the main module is taken from the Git + repository and dependents are taken from the NPM registry. + Other than those differences, the recipe is basically the + same between the two methods. + You can build and deploy the package exactly as described + in the previous section that uses the registry modules + method. + </para> + </section> + </section> </section> <section id='efficiently-fetching-source-files-during-a-build'> @@ -10519,7 +10821,7 @@ <title>Using systemd Exclusively</title> <para> - Set the these variables in your distribution configuration + Set these variables in your distribution configuration file as follows: <literallayout class='monospaced'> DISTRO_FEATURES_append = " systemd" diff --git a/poky/documentation/dev-manual/figures/cute-files-npm-example.png b/poky/documentation/dev-manual/figures/cute-files-npm-example.png Binary files differnew file mode 100644 index 0000000000..1ebe74f535 --- /dev/null +++ b/poky/documentation/dev-manual/figures/cute-files-npm-example.png diff --git a/poky/documentation/mega-manual/figures/cute-files-npm-example.png b/poky/documentation/mega-manual/figures/cute-files-npm-example.png Binary files differnew file mode 100644 index 0000000000..1ebe74f535 --- /dev/null +++ b/poky/documentation/mega-manual/figures/cute-files-npm-example.png diff --git a/poky/documentation/overview-manual/overview-manual-concepts.xml b/poky/documentation/overview-manual/overview-manual-concepts.xml index 8a1b38c87d..f085dd710d 100644 --- a/poky/documentation/overview-manual/overview-manual-concepts.xml +++ b/poky/documentation/overview-manual/overview-manual-concepts.xml @@ -924,17 +924,18 @@ <title>Source Control Managers (Optional)</title> <para> - Another place the build system can get source files from is - through a Source Control Manager (SCM) such as Git or - Subversion. + Another place from which the build system can get source + files is with + <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetchers</ulink> + employing various Source Control Managers (SCMs) such as + Git or Subversion. In such cases, a repository is cloned or checked out. The <ulink url='&YOCTO_DOCS_REF_URL;#ref-tasks-fetch'><filename>do_fetch</filename></ulink> task inside BitBake uses the <ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> variable and the argument's prefix to determine the correct - <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'><filename>fetcher</filename></ulink> - module. + fetcher module. <note> For information on how to have the OpenEmbedded build system generate tarballs for Git repositories and place diff --git a/poky/documentation/ref-manual/migration.xml b/poky/documentation/ref-manual/migration.xml index 1ecf5b9996..ade8787b4d 100644 --- a/poky/documentation/ref-manual/migration.xml +++ b/poky/documentation/ref-manual/migration.xml @@ -2566,9 +2566,7 @@ <link linkend='oe-core'>OE-Core</link>. The change includes <filename>package_regex.inc</filename> and <filename>distro_alias.inc</filename>, which are typically enabled - when using the - <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link> - class. + when using the <filename>distrodata</filename> class. Additionally, the contents of <filename>upstream_tracking.inc</filename> has now been split out to the relevant recipes. diff --git a/poky/documentation/ref-manual/ref-classes.xml b/poky/documentation/ref-manual/ref-classes.xml index d602851c54..ece47e757b 100644 --- a/poky/documentation/ref-manual/ref-classes.xml +++ b/poky/documentation/ref-manual/ref-classes.xml @@ -335,18 +335,6 @@ </para> </section> -<section id='ref-classes-bugzilla'> - <title><filename>bugzilla.bbclass</filename></title> - - <para> - The <filename>bugzilla</filename> class supports setting up an - instance of Bugzilla in which you can automatically files bug reports - in response to build failures. - For this class to work, you need to enable the XML-RPC interface in - the instance of Bugzilla. - </para> -</section> - <section id='ref-classes-buildhistory'> <title><filename>buildhistory.bbclass</filename></title> @@ -714,39 +702,6 @@ </para> </section> -<section id='ref-classes-distrodata'> - <title><filename>distrodata.bbclass</filename></title> - - <para> - The <filename>distrodata</filename> class - provides for automatic checking for upstream recipe updates. - The class creates a comma-separated value (CSV) spreadsheet that - contains information about the recipes. - The information provides the - <link linkend='ref-tasks-distrodata'><filename>do_distrodata</filename></link> - and - <filename>do_distro_check</filename> tasks, which do upstream checking - and also verify if a package is used in multiple major distributions. - </para> - - <para> - The class is not included by default. - To use it, you must set the - <link linkend='var-INHERIT'><filename>INHERIT</filename></link> - variable: - <literallayout class='monospaced'> - INHERIT+= "distrodata" - </literallayout> - </para> - - <para> - The <filename>distrodata</filename> class also provides the - <link linkend='ref-tasks-checkpkg'><filename>do_checkpkg</filename></link> - task, which can be used against a simple recipe or against an - image to get all its recipe information. - </para> -</section> - <section id='ref-classes-distutils'> <title><filename>distutils*.bbclass</filename></title> @@ -776,11 +731,6 @@ some of the <filename>distutils*</filename> classes to provide common Python2 support. </para> - - <para> - The <filename>distutils-tools</filename> class supports recipes for - additional "distutils" tools. - </para> </section> <section id='ref-classes-distutils3'> @@ -2335,13 +2285,16 @@ This check was removed for YP 2.3 release <title><filename>npm.bbclass</filename></title> <para> - Provides support for building Node.js software fetched using the npm - package manager. + Provides support for building Node.js software fetched using the + <ulink url='https://en.wikipedia.org/wiki/Npm_(software)'>node package manager (NPM)</ulink>. <note> Currently, recipes inheriting this class must use the <filename>npm://</filename> fetcher to have dependencies fetched and packaged automatically. </note> + For information on how to create NPM packages, see the + "<ulink url='&YOCTO_DOCS_DEV_URL;#creating-node-package-manager-npm-packages'>Creating Node Package Manager (NPM) Packages</ulink>" + section in the Yocto Project Development Tasks Manual. </para> </section> diff --git a/poky/documentation/ref-manual/ref-devtool-reference.xml b/poky/documentation/ref-manual/ref-devtool-reference.xml index b974d0f595..4810d28ad1 100644 --- a/poky/documentation/ref-manual/ref-devtool-reference.xml +++ b/poky/documentation/ref-manual/ref-devtool-reference.xml @@ -34,7 +34,7 @@ You can run <filename>devtool --help</filename> to see all the commands: <literallayout class='monospaced'> - $ devtool --help + $ devtool -h NOTE: Starting bitbake server... usage: devtool [--basepath BASEPATH] [--bbpath BBPATH] [-d] [-q] [--color COLOR] [-h] @@ -43,50 +43,48 @@ OpenEmbedded development tool options: - --basepath BASEPATH Base directory of SDK / build directory - --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it - from the metadata - -d, --debug Enable debug output - -q, --quiet Print only errors - --color COLOR Colorize output (where COLOR is auto, always, never) - -h, --help show this help message and exit + --basepath BASEPATH Base directory of SDK / build directory + --bbpath BBPATH Explicitly specify the BBPATH, rather than getting it + from the metadata + -d, --debug Enable debug output + -q, --quiet Print only errors + --color COLOR Colorize output (where COLOR is auto, always, never) + -h, --help show this help message and exit subcommands: Beginning work on a recipe: - add Add a new recipe - modify Modify the source for an existing recipe - upgrade Upgrade an existing recipe + add Add a new recipe + modify Modify the source for an existing recipe + upgrade Upgrade an existing recipe Getting information: - status Show workspace status - search Search available recipes - latest-version Report the latest version of an existing recipe + status Show workspace status + search Search available recipes + latest-version Report the latest version of an existing recipe + check-upgrade-status Report upgradability for multiple (or all) recipes Working on a recipe in the workspace: - build Build a recipe - rename Rename a recipe file in the workspace - edit-recipe Edit a recipe file - find-recipe Find a recipe file - configure-help Get help on configure script options - update-recipe Apply changes from external source tree to recipe - reset Remove a recipe from your workspace - finish Finish working on a recipe in your workspace + build Build a recipe + rename Rename a recipe file in the workspace + edit-recipe Edit a recipe file + find-recipe Find a recipe file + configure-help Get help on configure script options + update-recipe Apply changes from external source tree to recipe + reset Remove a recipe from your workspace + finish Finish working on a recipe in your workspace Testing changes on target: - deploy-target Deploy recipe output files to live target machine - undeploy-target Undeploy recipe output files in live target machine - build-image Build image including workspace recipe packages + deploy-target Deploy recipe output files to live target machine + undeploy-target Undeploy recipe output files in live target machine + build-image Build image including workspace recipe packages Advanced: - create-workspace Set up workspace in an alternative location - export Export workspace into a tar archive - import Import exported tar archive into workspace - extract Extract the source for an existing recipe - sync Synchronize the source tree for an existing recipe + create-workspace Set up workspace in an alternative location + export Export workspace into a tar archive + import Import exported tar archive into workspace + extract Extract the source for an existing recipe + sync Synchronize the source tree for an existing recipe Use devtool <subcommand> --help to get help on a specific command </literallayout> - </para> - - <para> - As directed in the general help output, you can get more - syntax on a specific command by providing the command - name and using <filename>--help</filename>: + As directed in the general help output, you can get more syntax + on a specific command by providing the command name and using + "--help": <literallayout class='monospaced'> $ devtool add --help NOTE: Starting bitbake server... @@ -429,6 +427,108 @@ </para> </section> + <section id='devtool-checking-on-the-upgrade-status-of-a-recipe'> + <title>Checking on the Upgrade Status of a Recipe</title> + + <para> + Upstream recipes change over time. + Consequently, you might find that you need to determine if you + can upgrade a recipe to a newer version. + </para> + + <para> + To check on the upgrade status of a recipe, use the + <filename>devtool check-upgrade-status</filename> command. + The command displays a table of your current recipe versions, + the latest upstream versions, the email address of the recipe's + maintainer, and any additional information such as commit hash + strings and reasons you might not be able to upgrade a particular + recipe. + <note><title>NOTES:</title> + <itemizedlist> + <listitem><para> + For the <filename>oe-core</filename> layer, recipe + maintainers come from the + <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/conf/distro/include/maintainers.inc'><filename>maintainers.inc</filename></ulink> + file. + </para></listitem> + <listitem><para> + If the recipe is using the + <ulink url='&YOCTO_DOCS_BB_URL;#git-fetcher'>Git fetcher</ulink> + rather than a tarball, the commit hash points to the + commit that matches the recipe's latest version tag. + </para></listitem> + </itemizedlist> + </note> + </para> + + <para> + As with all <filename>devtool</filename> commands, you can get + help on the individual command: + <literallayout class='monospaced'> + $ devtool check-upgrade-status -h + NOTE: Starting bitbake server... + usage: devtool check-upgrade-status [-h] [--all] [recipe [recipe ...]] + + Prints a table of recipes together with versions currently provided by + recipes, and latest upstream versions, when there is a later version available + + arguments: + recipe Name of the recipe to report (omit to report upgrade info for + all recipes) + + options: + -h, --help show this help message and exit + --all, -a Show all recipes, not just recipes needing upgrade + </literallayout> + </para> + + <para> + Unless you provide a specific recipe name on the command line, + the command checks all recipes in all configured layers. + </para> + + <para> + Following is a partial example table that reports on all the + recipes. + Notice the reported reason for not upgrading the + <filename>base-passwd</filename> recipe. + In this example, while a new version is available upstream, + you do not want to use it because the dependency on + <filename>cdebconf</filename> is not easily satisfied. + <note> + When a reason for not upgrading displays, the reason is + usually written into the recipe using the + <filename>RECIPE_NO_UPDATE_REASON</filename> variable. + See the + <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-core/base-passwd/base-passwd_3.5.29.bb'><filename>base-passwd.bb</filename></ulink> + recipe for an example. + </note> + <literallayout class='monospaced'> + $ devtool check-upgrade-status + ... + NOTE: acpid 2.0.30 2.0.31 + Ross Burton <ross.burton@intel.com> + NOTE: u-boot-fw-utils 2018.11 2019.01 + Marek Vasut <marek.vasut@gmail.com> + d3689267f92c5956e09cc7d1baa4700141662bff + NOTE: u-boot-tools 2018.11 2019.01 + Marek Vasut <marek.vasut@gmail.com> + d3689267f92c5956e09cc7d1baa4700141662bff + . + . + . + NOTE: base-passwd 3.5.29 3.5.45 + Anuj Mittal <anuj.mittal@intel.com> cannot be updated due to: Version + 3.5.38 requires cdebconf for update-passwd utility + NOTE: busybox 1.29.2 1.30.0 + Andrej Valek <andrej.valek@siemens.com> + NOTE: dbus-test 1.12.10 1.12.12 + Chen Qi <Qi.Chen@windriver.com> + </literallayout> + </para> + </section> + <section id='devtool-upgrading-a-recipe'> <title>Upgrading a Recipe</title> @@ -443,6 +543,13 @@ section of the Yocto Project Development Tasks Manual. This section overviews the <filename>devtool upgrade</filename> command. + <note> + Before you upgrade a recipe, you can check on its upgrade + status. + See the + "<link linkend='devtool-checking-on-the-upgrade-status-of-a-recipe'>Checking on the Upgrade Status of a Recipe</link>" + for more information. + </note> </para> <para> diff --git a/poky/documentation/ref-manual/ref-features.xml b/poky/documentation/ref-manual/ref-features.xml index 7a3555d0b9..b057d2d040 100644 --- a/poky/documentation/ref-manual/ref-features.xml +++ b/poky/documentation/ref-manual/ref-features.xml @@ -76,8 +76,6 @@ </para></listitem> <listitem><para><emphasis>ext2:</emphasis> Hardware HDD or Microdrive </para></listitem> - <listitem><para><emphasis>irda:</emphasis> Hardware has IrDA support - </para></listitem> <listitem><para><emphasis>keyboard:</emphasis> Hardware has a keyboard </para></listitem> <listitem><para><emphasis>pcbios:</emphasis> Support for booting through BIOS @@ -190,8 +188,6 @@ support.</para></listitem> <listitem><para><emphasis>ipv6:</emphasis> Include IPv6 support. </para></listitem> - <listitem><para><emphasis>irda:</emphasis> Include IrDA support. - </para></listitem> <listitem><para><emphasis>keyboard:</emphasis> Include keyboard support (e.g. keymaps will be loaded during boot). </para></listitem> diff --git a/poky/documentation/ref-manual/ref-tasks.xml b/poky/documentation/ref-manual/ref-tasks.xml index 8f3ff26d24..011e0d7496 100644 --- a/poky/documentation/ref-manual/ref-tasks.xml +++ b/poky/documentation/ref-manual/ref-tasks.xml @@ -158,32 +158,6 @@ </para> </section> - <section id='ref-tasks-distrodata'> - <title><filename>do_distrodata</filename></title> - - <para> - Provides information about the recipe. - </para> - - <para> - The <filename>distrodata</filename> task is included as part of the - <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link> - class. - </para> - - <para> - To build the <filename>distrodata</filename> task, use the - <filename>bitbake</filename> command with the "-c" option and - task name: - <literallayout class='monospaced'> - $ bitbake core-image-minimal -c distrodata - </literallayout> - By default, the results are stored in - <link linkend='var-LOG_DIR'><filename>$LOG_DIR</filename></link> - (e.g. <filename>$BUILD_DIR/tmp/log</filename>). - </para> - </section> - <section id='ref-tasks-fetch'> <title><filename>do_fetch</filename></title> @@ -192,7 +166,8 @@ This task uses the <link linkend='var-SRC_URI'><filename>SRC_URI</filename></link> variable and the argument's prefix to determine the correct - fetcher module. + <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetcher</ulink> + module. </para> </section> @@ -635,9 +610,18 @@ </para> <para> - The <filename>checkpkg</filename> task is included as part of the - <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link> - class. + To check the upstream version and status of a recipe, use the + following devtool commands: + <literallayout class='monospaced'> + $ devtool latest-version + $ devtool check-upgrade-status + </literallayout> + See the + "<link linkend='ref-devtool-reference'><filename>devtool</filename> Quick Reference</link>" + chapter for more information on <filename>devtool</filename>. + See the + "<ulink url='&YOCTO_DOCS_REF_URL;#devtool-checking-on-the-upgrade-status-of-a-recipe'>Checking on the Upgrade Status of a Recipe</ulink>" + section for information on checking the upgrade status of a recipe. </para> <para> diff --git a/poky/documentation/ref-manual/ref-variables.xml b/poky/documentation/ref-manual/ref-variables.xml index 0d01c16ddb..12876e3d9a 100644 --- a/poky/documentation/ref-manual/ref-variables.xml +++ b/poky/documentation/ref-manual/ref-variables.xml @@ -16629,16 +16629,16 @@ <glossdef> <para role="glossdeffirst"> <!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> --> - When the - <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link> - class is enabled globally, you can perform a per-recipe - check for what the latest upstream source code version is - by calling + You can perform a per-recipe check for what the latest + upstream source code version is by calling <filename>bitbake -c checkpkg</filename> <replaceable>recipe</replaceable>. If the recipe source code is provided from Git repositories, the OpenEmbedded build system determines the latest upstream version by picking the latest tag from the list of all repository tags. + </para> + + <para> You can use the <filename>UPSTREAM_CHECK_GITTAGREGEX</filename> variable to provide a regular expression to filter only the @@ -16658,11 +16658,8 @@ <glossdef> <para role="glossdeffirst"> <!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> --> - When the - <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link> - class is enabled globally, use the - <filename>UPSTREAM_CHECK_REGEX</filename> variable to - specify a different regular expression instead of the + Use the <filename>UPSTREAM_CHECK_REGEX</filename> variable + to specify a different regular expression instead of the default one when the package checking system is parsing the page found using <link linkend='var-UPSTREAM_CHECK_URI'><filename>UPSTREAM_CHECK_URI</filename></link>. @@ -16680,12 +16677,9 @@ <glossdef> <para role="glossdeffirst"> <!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> --> - When the - <link linkend='ref-classes-distrodata'><filename>distrodata</filename></link> - class is enabled globally, you can perform a per-recipe - check for what the latest upstream source code version is - by calling <filename>bitbake -c checkpkg</filename> - <replaceable>recipe</replaceable>. + You can perform a per-recipe check for what the latest + upstream source code version is by calling + <filename>bitbake -c checkpkg</filename> <replaceable>recipe</replaceable>. If the source code is provided from tarballs, the latest version is determined by fetching the directory listing where the tarball is and attempting to find a later tarball. diff --git a/poky/documentation/sdk-manual/sdk-extensible.xml b/poky/documentation/sdk-manual/sdk-extensible.xml index f7c5c00b8b..bd5278493f 100644 --- a/poky/documentation/sdk-manual/sdk-extensible.xml +++ b/poky/documentation/sdk-manual/sdk-extensible.xml @@ -825,7 +825,9 @@ versioning schemes, extract code into or out of the <filename>devtool</filename> <ulink url='&YOCTO_DOCS_REF_URL;#devtool-the-workspace-layer-structure'>workspace</ulink>, - and work with any source file forms that the fetchers support. + and work with any source file forms that the + <ulink url='&YOCTO_DOCS_BB_URL;#bb-fetchers'>fetchers</ulink> + support. </para> <para> diff --git a/poky/meta-poky/conf/local.conf.sample b/poky/meta-poky/conf/local.conf.sample index 9068e567dc..59b4d9561d 100644 --- a/poky/meta-poky/conf/local.conf.sample +++ b/poky/meta-poky/conf/local.conf.sample @@ -34,8 +34,8 @@ #MACHINE ?= "mpc8315e-rdb" #MACHINE ?= "edgerouter" # -# This sets the default machine to be qemux86 if no other machine is selected: -MACHINE ??= "qemux86" +# This sets the default machine to be qemux86-64 if no other machine is selected: +MACHINE ??= "qemux86-64" # # Where to place downloads diff --git a/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb b/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb index 4d4e34dc8b..44c8e1bf5e 100644 --- a/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb +++ b/poky/meta-poky/recipes-core/tiny-init/tiny-init.bb @@ -28,3 +28,4 @@ do_install() { } FILES_${PN} = "/init ${sysconfdir}/rc.local.sample" +RCONFLICTS_${PN} = "systemd" diff --git a/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb b/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb new file mode 100644 index 0000000000..e0b4e13c26 --- /dev/null +++ b/poky/meta-selftest/recipes-test/license/incompatible-license-alias.bb @@ -0,0 +1,3 @@ +SUMMARY = "Recipe with an alias of an SPDX license" +DESCRIPTION = "Is licensed with an alias of an SPDX license to be used for testing" +LICENSE = "GPLv3" diff --git a/poky/meta-selftest/recipes-test/license/incompatible-license.bb b/poky/meta-selftest/recipes-test/license/incompatible-license.bb new file mode 100644 index 0000000000..1728ad76b7 --- /dev/null +++ b/poky/meta-selftest/recipes-test/license/incompatible-license.bb @@ -0,0 +1,3 @@ +SUMMARY = "Recipe with an SPDX license" +DESCRIPTION = "Is licensed with an SPDX license to be used for testing" +LICENSE = "GPL-3.0" diff --git a/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb b/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb new file mode 100644 index 0000000000..35af0966ef --- /dev/null +++ b/poky/meta-selftest/recipes-test/license/incompatible-nonspdx-license.bb @@ -0,0 +1,3 @@ +SUMMARY = "Recipe with a non-SPDX license" +DESCRIPTION = "Is licensed with a non-SPDX license to be used for testing" +LICENSE = "FooLicense" diff --git a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb index 3dbc0f5d15..a76a6bea1b 100644 --- a/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb +++ b/poky/meta-selftest/recipes-test/multiconfig/multiconfig-image-packager_0.1.bb @@ -8,7 +8,7 @@ MCIMGTYPE_virtclass-mcextend-tiny = "cpio.gz" MC_DEPLOY_DIR_IMAGE = "${TOPDIR}/tmp-mc-${MCNAME}/deploy/images/${MCMACHINE}" -do_install[mcdepends] += "multiconfig::${MCNAME}:core-image-minimal:do_image_complete multiconfig::${MCNAME}:virtual/kernel:do_deploy" +do_install[mcdepends] += "mc::${MCNAME}:core-image-minimal:do_image_complete mc::${MCNAME}:virtual/kernel:do_deploy" do_install () { install -d ${D}/var/lib/machines/${MCNAME} diff --git a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf index bc18ee8c47..35814cd8f1 100644 --- a/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf +++ b/poky/meta-yocto-bsp/conf/machine/beaglebone-yocto.conf @@ -18,7 +18,7 @@ IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap" EXTRA_IMAGECMD_jffs2 = "-lnp " WKS_FILE ?= "beaglebone-yocto.wks" IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage" -do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot" +do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot u-boot:do_deploy" SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyO0" SERIAL_CONSOLES_CHECK = "${SERIAL_CONSOLES}" diff --git a/poky/meta/classes/base.bbclass b/poky/meta/classes/base.bbclass index 1636c6ef93..90af8ba72b 100644 --- a/poky/meta/classes/base.bbclass +++ b/poky/meta/classes/base.bbclass @@ -10,7 +10,9 @@ inherit utility-tasks inherit metadata_scm inherit logging -OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license" +OE_EXTRA_IMPORTS ?= "" + +OE_IMPORTS += "os sys time oe.path oe.utils oe.types oe.package oe.packagegroup oe.sstatesig oe.lsb oe.cachedpath oe.license ${OE_EXTRA_IMPORTS}" OE_IMPORTS[type] = "list" def oe_import(d): @@ -639,6 +641,18 @@ python () { if needsrcrev: d.setVar("SRCPV", "${@bb.fetch2.get_srcrev(d)}") + # Gather all named SRCREVs to add to the sstate hash calculation + # This anonymous python snippet is called multiple times so we + # need to be careful to not double up the appends here and cause + # the base hash to mismatch the task hash + for uri in srcuri.split(): + parm = bb.fetch.decodeurl(uri)[5] + uri_names = parm.get("name", "").split(",") + for uri_name in filter(None, uri_names): + srcrev_name = "SRCREV_{}".format(uri_name) + if srcrev_name not in (d.getVarFlag("do_fetch", "vardeps") or "").split(): + d.appendVarFlag("do_fetch", "vardeps", " {}".format(srcrev_name)) + set_packagetriplet(d) # 'multimachine' handling diff --git a/poky/meta/classes/cmake.bbclass b/poky/meta/classes/cmake.bbclass index d3f0d70847..f80a7e2f1d 100644 --- a/poky/meta/classes/cmake.bbclass +++ b/poky/meta/classes/cmake.bbclass @@ -26,14 +26,16 @@ python() { if not d.getVar('OECMAKE_C_COMPILER'): cc_list = d.getVar('CC').split() if cc_list[0] == 'ccache': - d.setVar('OECMAKE_C_COMPILER', '%s %s' % (cc_list[0], cc_list[1])) + d.setVar('OECMAKE_C_COMPILER_LAUNCHER', cc_list[0]) + d.setVar('OECMAKE_C_COMPILER', cc_list[1]) else: d.setVar('OECMAKE_C_COMPILER', cc_list[0]) if not d.getVar('OECMAKE_CXX_COMPILER'): cxx_list = d.getVar('CXX').split() if cxx_list[0] == 'ccache': - d.setVar('OECMAKE_CXX_COMPILER', '%s %s' % (cxx_list[0], cxx_list[1])) + d.setVar('OECMAKE_CXX_COMPILER_LAUNCHER', cxx_list[0]) + d.setVar('OECMAKE_CXX_COMPILER', cxx_list[1]) else: d.setVar('OECMAKE_CXX_COMPILER', cxx_list[0]) } @@ -49,6 +51,9 @@ OECMAKE_CXX_LINK_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CXXFLAGS} ${LD CXXFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" CFLAGS += "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS}" +OECMAKE_C_COMPILER_LAUNCHER ?= "" +OECMAKE_CXX_COMPILER_LAUNCHER ?= "" + OECMAKE_RPATH ?= "" OECMAKE_PERLNATIVE_DIR ??= "" OECMAKE_EXTRA_ROOT_PATH ?= "" @@ -86,6 +91,8 @@ set( CMAKE_SYSTEM_NAME `echo ${TARGET_OS} | sed -e 's/^./\u&/' -e 's/^\(Linux\). set( CMAKE_SYSTEM_PROCESSOR ${@map_target_arch_to_uname_arch(d.getVar('TARGET_ARCH'))} ) set( CMAKE_C_COMPILER ${OECMAKE_C_COMPILER} ) set( CMAKE_CXX_COMPILER ${OECMAKE_CXX_COMPILER} ) +set( CMAKE_C_COMPILER_LAUNCHER ${OECMAKE_C_COMPILER_LAUNCHER} ) +set( CMAKE_CXX_COMPILER_LAUNCHER ${OECMAKE_CXX_COMPILER_LAUNCHER} ) set( CMAKE_ASM_COMPILER ${OECMAKE_C_COMPILER} ) set( CMAKE_AR ${OECMAKE_AR} CACHE FILEPATH "Archiver" ) set( CMAKE_C_FLAGS "${OECMAKE_C_FLAGS}" CACHE STRING "CFLAGS" ) @@ -154,15 +161,15 @@ cmake_do_configure() { $oecmake_sitefile \ ${OECMAKE_SOURCEPATH} \ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \ - -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix'))} \ + -DCMAKE_INSTALL_BINDIR:PATH=${@os.path.relpath(d.getVar('bindir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_SBINDIR:PATH=${@os.path.relpath(d.getVar('sbindir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=${@os.path.relpath(d.getVar('libexecdir'), d.getVar('prefix') + '/')} \ -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \ - -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix'))} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${@os.path.relpath(d.getVar('sharedstatedir'), d. getVar('prefix') + '/')} \ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \ - -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix'))} \ - -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix'))} \ + -DCMAKE_INSTALL_LIBDIR:PATH=${@os.path.relpath(d.getVar('libdir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=${@os.path.relpath(d.getVar('includedir'), d.getVar('prefix') + '/')} \ + -DCMAKE_INSTALL_DATAROOTDIR:PATH=${@os.path.relpath(d.getVar('datadir'), d.getVar('prefix') + '/')} \ -DCMAKE_INSTALL_SO_NO_EXE=0 \ -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \ -DCMAKE_NO_SYSTEM_FROM_IMPORTED=1 \ diff --git a/poky/meta/classes/devicetree.bbclass b/poky/meta/classes/devicetree.bbclass index 5c03e4b0fd..d8779c7943 100644 --- a/poky/meta/classes/devicetree.bbclass +++ b/poky/meta/classes/devicetree.bbclass @@ -116,7 +116,7 @@ def devicetree_compile(dtspath, includes, d): dtcargs += ["-o", "{0}.{1}".format(dtname, "dtbo" if isoverlay else "dtb")] dtcargs += ["-I", "dts", "-O", "dtb", "{0}.pp".format(dts)] bb.note("Running {0}".format(" ".join(dtcargs))) - subprocess.run(dtcargs, check = True) + subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) python devicetree_do_compile() { includes = expand_includes("DT_INCLUDE", d) diff --git a/poky/meta/classes/image_types.bbclass b/poky/meta/classes/image_types.bbclass index 1c44ec4a80..fd98a7d1bd 100644 --- a/poky/meta/classes/image_types.bbclass +++ b/poky/meta/classes/image_types.bbclass @@ -284,7 +284,7 @@ COMPRESSIONTYPES ?= "" CONVERSIONTYPES = "gz bz2 lzma xz lz4 lzo zip sum md5sum sha1sum sha224sum sha256sum sha384sum sha512sum bmap u-boot vmdk vdi qcow2 base64 ${COMPRESSIONTYPES}" CONVERSION_CMD_lzma = "lzma -k -f -7 ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" -CONVERSION_CMD_gz = "pigz -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" +CONVERSION_CMD_gz = "gzip -f -9 -n -c ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.gz" CONVERSION_CMD_bz2 = "pbzip2 -f -k ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}" CONVERSION_CMD_xz = "xz -f -k -c ${XZ_COMPRESSION_LEVEL} ${XZ_DEFAULTS} --check=${XZ_INTEGRITY_CHECK} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.xz" CONVERSION_CMD_lz4 = "lz4 -9 -z -l ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.lz4" diff --git a/poky/meta/classes/insane.bbclass b/poky/meta/classes/insane.bbclass index a9be88e816..fdc20c41a5 100644 --- a/poky/meta/classes/insane.bbclass +++ b/poky/meta/classes/insane.bbclass @@ -25,7 +25,7 @@ QA_SANE = "True" WARN_QA ?= "ldflags useless-rpaths rpaths staticdev libdir xorg-driver-abi \ textrel already-stripped incompatible-license files-invalid \ installed-vs-shipped compile-host-path install-host-path \ - pn-overrides infodir build-deps \ + pn-overrides infodir build-deps src-uri-bad \ unknown-configure-option symlink-to-sysroot multilib \ invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ " @@ -892,6 +892,17 @@ def package_qa_check_host_user(path, name, d, elf, messages): return False return True +QARECIPETEST[src-uri-bad] = "package_qa_check_src_uri" +def package_qa_check_src_uri(pn, d, messages): + import re + + if "${PN}" in d.getVar("SRC_URI", False): + package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses PN not BPN" % pn, d) + + pn = d.getVar("SRC_URI") + if re.search(r"github\.com/.+/.+/archive/.+", pn): + package_qa_handle_error("src-uri-bad", "%s: SRC_URI uses unstable GitHub archives" % pn, d) + # The PACKAGE FUNC to scan each package python do_package_qa () { diff --git a/poky/meta/classes/kernel-fitimage.bbclass b/poky/meta/classes/kernel-fitimage.bbclass index 2820ff9689..9e224daf05 100644 --- a/poky/meta/classes/kernel-fitimage.bbclass +++ b/poky/meta/classes/kernel-fitimage.bbclass @@ -42,7 +42,7 @@ python __anonymous () { # Verified boot will sign the fitImage and append the public key to # U-Boot dtb. We ensure the U-Boot dtb is deployed before assembling # the fitImage: - if d.getVar('UBOOT_SIGN_ENABLE') == "1": + if d.getVar('UBOOT_SIGN_ENABLE') == "1" and d.getVar('UBOOT_DTB_BINARY'): uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot' d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_populate_sysroot' % uboot_pn) } diff --git a/poky/meta/classes/kernel-uboot.bbclass b/poky/meta/classes/kernel-uboot.bbclass index 2364053f31..0457c5d1d1 100644 --- a/poky/meta/classes/kernel-uboot.bbclass +++ b/poky/meta/classes/kernel-uboot.bbclass @@ -5,8 +5,8 @@ uboot_prep_kimage() { linux_comp="none" elif [ -e arch/${ARCH}/boot/Image ] ; then vmlinux_path="vmlinux" - linux_suffix="" - linux_comp="none" + linux_suffix=".gz" + linux_comp="gzip" elif [ -e arch/${ARCH}/boot/vmlinuz.bin ]; then rm -f linux.bin cp -l arch/${ARCH}/boot/vmlinuz.bin linux.bin diff --git a/poky/meta/classes/kernel.bbclass b/poky/meta/classes/kernel.bbclass index 437b8c7671..a60e15b578 100644 --- a/poky/meta/classes/kernel.bbclass +++ b/poky/meta/classes/kernel.bbclass @@ -8,6 +8,7 @@ DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-na PACKAGE_WRITE_DEPS += "depmodwrapper-cross" do_deploy[depends] += "depmodwrapper-cross:do_populate_sysroot" +do_clean[depends] += "make-mod-scripts:do_clean" CVE_PRODUCT ?= "linux_kernel" @@ -558,7 +559,7 @@ EXPORT_FUNCTIONS do_compile do_install do_configure # kernel-image becomes kernel-image-${KERNEL_VERSION} PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules" FILES_${PN} = "" -FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin" +FILES_${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo" FILES_${KERNEL_PACKAGE_NAME}-image = "" FILES_${KERNEL_PACKAGE_NAME}-dev = "/boot/System.map* /boot/Module.symvers* /boot/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" FILES_${KERNEL_PACKAGE_NAME}-vmlinux = "/boot/vmlinux-${KERNEL_VERSION_NAME}" diff --git a/poky/meta/classes/license.bbclass b/poky/meta/classes/license.bbclass index ed91a4b4db..adca881c85 100644 --- a/poky/meta/classes/license.bbclass +++ b/poky/meta/classes/license.bbclass @@ -268,7 +268,7 @@ def expand_wildcard_licenses(d, wildcard_licenses): wildcards from SPDXLICENSEMAP flags and SRC_DISTRIBUTE_LICENSES values. """ import fnmatch - licenses = [] + licenses = wildcard_licenses[:] spdxmapkeys = d.getVarFlags('SPDXLICENSEMAP').keys() for wld_lic in wildcard_licenses: spdxflags = fnmatch.filter(spdxmapkeys, wld_lic) diff --git a/poky/meta/classes/license_image.bbclass b/poky/meta/classes/license_image.bbclass index 6fb76be48e..2cfda81c99 100644 --- a/poky/meta/classes/license_image.bbclass +++ b/poky/meta/classes/license_image.bbclass @@ -40,7 +40,7 @@ def write_license_files(d, license_manifest, pkg_dic, rootfs=True): import stat bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE") or "").split() - bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses) + bad_licenses = [canonical_license(d, l) for l in bad_licenses] bad_licenses = expand_wildcard_licenses(d, bad_licenses) with open(license_manifest, "w") as license_file: diff --git a/poky/meta/classes/meson.bbclass b/poky/meta/classes/meson.bbclass index 115d1aedcb..0edbfc1815 100644 --- a/poky/meta/classes/meson.bbclass +++ b/poky/meta/classes/meson.bbclass @@ -56,6 +56,8 @@ def meson_cpu_family(var, d): return 'ppc64' elif arch == 'armeb': return 'arm' + elif arch == 'aarch64_be': + return 'aarch64' elif arch == 'mipsel': return 'mips' elif arch == 'mips64el': diff --git a/poky/meta/classes/multilib.bbclass b/poky/meta/classes/multilib.bbclass index 2b761f3551..7750221f7d 100644 --- a/poky/meta/classes/multilib.bbclass +++ b/poky/meta/classes/multilib.bbclass @@ -33,6 +33,8 @@ python multilib_virtclass_handler () { e.data.setVar("MLPREFIX", variant + "-") e.data.setVar("PN", variant + "-" + e.data.getVar("PN", False)) e.data.setVar('SDKTARGETSYSROOT', e.data.getVar('SDKTARGETSYSROOT')) + override = ":virtclass-multilib-" + variant + e.data.setVar("OVERRIDES", e.data.getVar("OVERRIDES", False) + override) target_vendor = e.data.getVar("TARGET_VENDOR_" + "virtclass-multilib-" + variant, False) if target_vendor: e.data.setVar("TARGET_VENDOR", target_vendor) diff --git a/poky/meta/classes/multilib_global.bbclass b/poky/meta/classes/multilib_global.bbclass index 649cc096b7..19ce1a5091 100644 --- a/poky/meta/classes/multilib_global.bbclass +++ b/poky/meta/classes/multilib_global.bbclass @@ -118,6 +118,9 @@ def preferred_ml_updates(d): d.renameVar(prov, provexp) def translate_provide(prefix, prov): + # Really need to know if kernel modules class is inherited somehow + if prov == "lttng-modules": + return prov if not prov.startswith("virtual/"): return prefix + "-" + prov if prov == "virtual/kernel": diff --git a/poky/meta/classes/npm.bbclass b/poky/meta/classes/npm.bbclass index 6dbae6bc79..4b1f0a39f0 100644 --- a/poky/meta/classes/npm.bbclass +++ b/poky/meta/classes/npm.bbclass @@ -10,7 +10,7 @@ def node_pkgname(d): NPMPN ?= "${@node_pkgname(d)}" -NPM_INSTALLDIR = "${libdir}/node/${NPMPN}" +NPM_INSTALLDIR = "${libdir}/node_modules/${NPMPN}" # function maps arch names to npm arch names def npm_oe_arch_map(target_arch, d): @@ -53,9 +53,10 @@ npm_do_install() { # be created in this directory export HOME=${WORKDIR} mkdir -p ${D}${libdir}/node_modules - npm pack . - npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPMPN}-${PV}.tgz - mv ${D}${libdir}/node_modules ${D}${libdir}/node + local NPM_PACKFILE=$(npm pack .) + npm install --prefix ${D}${prefix} -g --arch=${NPM_ARCH} --target_arch=${NPM_ARCH} --production --no-registry ${NPM_PACKFILE} + ln -fs node_modules ${D}${libdir}/node + find ${D}${NPM_INSTALLDIR} -type f \( -name "*.a" -o -name "*.d" -o -name "*.o" \) -delete if [ -d ${D}${prefix}/etc ] ; then # This will be empty rmdir ${D}${prefix}/etc @@ -85,6 +86,8 @@ python populate_packages_prepend () { } FILES_${PN} += " \ + ${bindir} \ + ${libdir}/node \ ${NPM_INSTALLDIR} \ " diff --git a/poky/meta/classes/package.bbclass b/poky/meta/classes/package.bbclass index 4c0a859536..20d72bba79 100644 --- a/poky/meta/classes/package.bbclass +++ b/poky/meta/classes/package.bbclass @@ -1005,6 +1005,12 @@ python split_and_strip_files () { symlinks[file] = target results = oe.utils.multiprocess_launch(oe.package.is_elf, checkelf.keys(), d) + + # Sort results by file path. This ensures that the files are always + # processed in the same order, which is important to make sure builds + # are reproducible when dealing with hardlinks + results.sort(key=lambda x: x[0]) + for (file, elf_file) in results: # It's a file (or hardlink), not a link # ...but is it ELF, and is it already stripped? @@ -1343,6 +1349,8 @@ EXPORT_FUNCTIONS package_name_hook PKGDESTWORK = "${WORKDIR}/pkgdata" +PKGDATA_VARS = "PN PE PV PR PKGE PKGV PKGR LICENSE DESCRIPTION SUMMARY RDEPENDS RPROVIDES RRECOMMENDS RSUGGESTS RREPLACES RCONFLICTS SECTION PKG ALLOW_EMPTY FILES CONFFILES FILES_INFO pkg_postinst pkg_postrm pkg_preinst pkg_prerm" + python emit_pkgdata() { from glob import glob import json @@ -1447,48 +1455,26 @@ fi total_size += fstat.st_size d.setVar('FILES_INFO', json.dumps(files, sort_keys=True)) - subdata_file = pkgdatadir + "/runtime/%s" % pkg - sf = open(subdata_file, 'w') - write_if_exists(sf, pkg, 'PN') - write_if_exists(sf, pkg, 'PE') - write_if_exists(sf, pkg, 'PV') - write_if_exists(sf, pkg, 'PR') - write_if_exists(sf, pkg, 'PKGE') - write_if_exists(sf, pkg, 'PKGV') - write_if_exists(sf, pkg, 'PKGR') - write_if_exists(sf, pkg, 'LICENSE') - write_if_exists(sf, pkg, 'DESCRIPTION') - write_if_exists(sf, pkg, 'SUMMARY') - write_if_exists(sf, pkg, 'RDEPENDS') - rprov = write_if_exists(sf, pkg, 'RPROVIDES') - write_if_exists(sf, pkg, 'RRECOMMENDS') - write_if_exists(sf, pkg, 'RSUGGESTS') - write_if_exists(sf, pkg, 'RREPLACES') - write_if_exists(sf, pkg, 'RCONFLICTS') - write_if_exists(sf, pkg, 'SECTION') - write_if_exists(sf, pkg, 'PKG') - write_if_exists(sf, pkg, 'ALLOW_EMPTY') - write_if_exists(sf, pkg, 'FILES') - write_if_exists(sf, pkg, 'CONFFILES') process_postinst_on_target(pkg, d.getVar("MLPREFIX")) add_set_e_to_scriptlets(pkg) - write_if_exists(sf, pkg, 'pkg_postinst') - write_if_exists(sf, pkg, 'pkg_postrm') - write_if_exists(sf, pkg, 'pkg_preinst') - write_if_exists(sf, pkg, 'pkg_prerm') - write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') - write_if_exists(sf, pkg, 'FILES_INFO') - for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split(): - write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) - - write_if_exists(sf, pkg, 'FILERDEPENDSFLIST') - for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split(): - write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile) - - sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) - sf.close() + + subdata_file = pkgdatadir + "/runtime/%s" % pkg + with open(subdata_file, 'w') as sf: + for var in (d.getVar('PKGDATA_VARS') or "").split(): + val = write_if_exists(sf, pkg, var) + + write_if_exists(sf, pkg, 'FILERPROVIDESFLIST') + for dfile in (d.getVar('FILERPROVIDESFLIST_' + pkg) or "").split(): + write_if_exists(sf, pkg, 'FILERPROVIDES_' + dfile) + + write_if_exists(sf, pkg, 'FILERDEPENDSFLIST') + for dfile in (d.getVar('FILERDEPENDSFLIST_' + pkg) or "").split(): + write_if_exists(sf, pkg, 'FILERDEPENDS_' + dfile) + + sf.write('%s_%s: %d\n' % ('PKGSIZE', pkg, total_size)) # Symlinks needed for rprovides lookup + rprov = d.getVar('RPROVIDES_%s' % pkg) or d.getVar('RPROVIDES') if rprov: for p in rprov.strip().split(): subdata_sym = pkgdatadir + "/runtime-rprovides/%s/%s" % (p, pkg) diff --git a/poky/meta/classes/populate_sdk_base.bbclass b/poky/meta/classes/populate_sdk_base.bbclass index a7f0fe7439..59920a57a7 100644 --- a/poky/meta/classes/populate_sdk_base.bbclass +++ b/poky/meta/classes/populate_sdk_base.bbclass @@ -57,7 +57,7 @@ python () { d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; zip -r ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE} .') else: d.setVar('SDK_ARCHIVE_DEPENDS', 'xz-native') - d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') + d.setVar('SDK_ARCHIVE_CMD', 'cd ${SDK_OUTPUT}/${SDKPATH}; tar ${SDKTAROPTS} -cf - . | xz -T 0 -9 > ${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.${SDK_ARCHIVE_TYPE}') } SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" diff --git a/poky/meta/classes/scons.bbclass b/poky/meta/classes/scons.bbclass index 9ee7d1587d..6b171ca8df 100644 --- a/poky/meta/classes/scons.bbclass +++ b/poky/meta/classes/scons.bbclass @@ -1,8 +1,11 @@ -DEPENDS += "python-scons-native" +inherit python3native + +DEPENDS += "python3-scons-native" EXTRA_OESCONS ?= "" do_configure() { + unset _PYTHON_SYSCONFIGDATA_NAME if [ -n "${CONFIGURESTAMPFILE}" ]; then if [ -e "${CONFIGURESTAMPFILE}" -a "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${CLEANBROKEN}" != "1" ]; then ${STAGING_BINDIR_NATIVE}/scons --clean PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} @@ -14,11 +17,13 @@ do_configure() { } scons_do_compile() { + unset _PYTHON_SYSCONFIGDATA_NAME ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} || \ die "scons build execution failed." } scons_do_install() { + unset _PYTHON_SYSCONFIGDATA_NAME ${STAGING_BINDIR_NATIVE}/scons install_root=${D}${prefix} PREFIX=${prefix} prefix=${prefix} ${EXTRA_OESCONS} install || \ die "scons install execution failed." } diff --git a/poky/meta/classes/staging.bbclass b/poky/meta/classes/staging.bbclass index 6bcd0b087a..9207060222 100644 --- a/poky/meta/classes/staging.bbclass +++ b/poky/meta/classes/staging.bbclass @@ -168,7 +168,7 @@ def staging_processfixme(fixme, target, recipesysroot, recipesysrootnative, d): if not fixme: return cmd = "sed -e 's:^[^/]*/:%s/:g' %s | xargs sed -i -e 's:FIXMESTAGINGDIRTARGET:%s:g; s:FIXMESTAGINGDIRHOST:%s:g'" % (target, " ".join(fixme), recipesysroot, recipesysrootnative) - for fixmevar in ['COMPONENTS_DIR', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']: + for fixmevar in ['PSEUDO_SYSROOT', 'HOSTTOOLS_DIR', 'PKGDATA_DIR', 'PSEUDO_LOCALSTATEDIR', 'LOGFIFO']: fixme_path = d.getVar(fixmevar) cmd += " -e 's:FIXME_%s:%s:g'" % (fixmevar, fixme_path) bb.debug(2, cmd) diff --git a/poky/meta/classes/testimage.bbclass b/poky/meta/classes/testimage.bbclass index 9bb5a5cb0b..525c5a6173 100644 --- a/poky/meta/classes/testimage.bbclass +++ b/poky/meta/classes/testimage.bbclass @@ -210,7 +210,11 @@ def testimage_main(d): bb.fatal('Unsupported image type built. Add a comptible image to ' 'IMAGE_FSTYPES. Supported types: %s' % ', '.join(supported_fstypes)) - rootfs = '%s.%s' % (image_name, fstypes[0]) + qfstype = fstypes[0] + qdeffstype = d.getVar("QB_DEFAULT_FSTYPE") + if qdeffstype: + qfstype = qdeffstype + rootfs = '%s.%s' % (image_name, qfstype) # Get tmpdir (not really used, just for compatibility) tmpdir = d.getVar("TMPDIR") diff --git a/poky/meta/classes/uboot-sign.bbclass b/poky/meta/classes/uboot-sign.bbclass index 8beafff7c0..de81ad1b38 100644 --- a/poky/meta/classes/uboot-sign.bbclass +++ b/poky/meta/classes/uboot-sign.bbclass @@ -116,7 +116,7 @@ do_install_append() { } python () { - if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN'): + if d.getVar('UBOOT_SIGN_ENABLE') == '1' and d.getVar('PN') == d.getVar('UBOOT_PN') and d.getVar('UBOOT_DTB_BINARY'): kernel_pn = d.getVar('PREFERRED_PROVIDER_virtual/kernel') # Make "bitbake u-boot -cdeploy" deploys the signed u-boot.dtb diff --git a/poky/meta/classes/uninative.bbclass b/poky/meta/classes/uninative.bbclass index ba99fb6e8f..3326c0db3d 100644 --- a/poky/meta/classes/uninative.bbclass +++ b/poky/meta/classes/uninative.bbclass @@ -2,7 +2,7 @@ UNINATIVE_LOADER ?= "${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux/lib/ UNINATIVE_STAGING_DIR ?= "${STAGING_DIR}" UNINATIVE_URL ?= "unset" -UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2" +UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.xz" # Example checksums #UNINATIVE_CHECKSUM[aarch64] = "dead" #UNINATIVE_CHECKSUM[i686] = "dead" @@ -89,7 +89,7 @@ python uninative_event_fetchloader() { cmd = d.expand("\ mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \ cd ${UNINATIVE_STAGING_DIR}-uninative; \ -tar -xjf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \ +tar -xJf ${UNINATIVE_DLDIR}/%s/${UNINATIVE_TARBALL}; \ ${UNINATIVE_STAGING_DIR}-uninative/relocate_sdk.py \ ${UNINATIVE_STAGING_DIR}-uninative/${BUILD_ARCH}-linux \ ${UNINATIVE_LOADER} \ diff --git a/poky/meta/classes/useradd.bbclass b/poky/meta/classes/useradd.bbclass index 124becd082..e5f3ba24f9 100644 --- a/poky/meta/classes/useradd.bbclass +++ b/poky/meta/classes/useradd.bbclass @@ -100,6 +100,8 @@ useradd_sysroot () { # Pseudo may (do_prepare_recipe_sysroot) or may not (do_populate_sysroot_setscene) be running # at this point so we're explicit about the environment so pseudo can load if # not already present. + # PSEUDO_SYSROOT can contain references to the build architecture and COMPONENT_DIR + # so needs the STAGING_FIXME below export PSEUDO="${FAKEROOTENV} ${PSEUDO_SYSROOT}${bindir_native}/pseudo" # Explicitly set $D since it isn't set to anything @@ -134,10 +136,10 @@ useradd_sysroot () { } # The export of PSEUDO in useradd_sysroot() above contains references to -# ${COMPONENTS_DIR} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging +# ${PSEUDO_SYSROOT} and ${PSEUDO_LOCALSTATEDIR}. Additionally, the logging # shell functions use ${LOGFIFO}. These need to be handled when restoring # postinst-useradd-${PN} from the sstate cache. -EXTRA_STAGING_FIXMES += "COMPONENTS_DIR PSEUDO_LOCALSTATEDIR LOGFIFO" +EXTRA_STAGING_FIXMES += "PSEUDO_SYSROOT PSEUDO_LOCALSTATEDIR LOGFIFO" python useradd_sysroot_sstate () { scriptfile = None @@ -182,6 +184,7 @@ def update_useradd_after_parse(d): bb.fatal("%s inherits useradd but doesn't set USERADD_PACKAGES" % d.getVar('FILE', False)) for pkg in useradd_packages.split(): + d.appendVarFlag("do_populate_sysroot", "vardeps", "USERADD_PARAM_%s GROUPADD_PARAM_%s GROUPMEMS_PARAM_%s" % (pkg, pkg, pkg)) if not d.getVar('USERADD_PARAM_%s' % pkg) and not d.getVar('GROUPADD_PARAM_%s' % pkg) and not d.getVar('GROUPMEMS_PARAM_%s' % pkg): bb.fatal("%s inherits useradd but doesn't set USERADD_PARAM, GROUPADD_PARAM or GROUPMEMS_PARAM for package %s" % (d.getVar('FILE', False), pkg)) diff --git a/poky/meta/conf/distro/include/default-providers.inc b/poky/meta/conf/distro/include/default-providers.inc index 21419038f0..2be3378773 100644 --- a/poky/meta/conf/distro/include/default-providers.inc +++ b/poky/meta/conf/distro/include/default-providers.inc @@ -42,6 +42,7 @@ PREFERRED_PROVIDER_opkg ?= "opkg" PREFERRED_PROVIDER_opkg-native ?= "opkg-native" PREFERRED_PROVIDER_nativesdk-opkg ?= "nativesdk-opkg" PREFERRED_PROVIDER_console-tools ?= "kbd" +PREFERRED_PROVIDER_gzip-native ?= "pigz-native" PREFERRED_PROVIDER_udev ?= "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','eudev',d)}" PREFERRED_RPROVIDER_bluez-hcidump ?= "${@bb.utils.contains('DISTRO_FEATURES','bluetooth bluez5','bluez5','bluez-hcidump',d)}" # Alternative is ltp-ddt in meta-oe: meta-oe/recipes-devtools/ltp-ddt/ltp-ddt_0.0.4.bb diff --git a/poky/meta/conf/distro/include/maintainers.inc b/poky/meta/conf/distro/include/maintainers.inc index a9a689fb09..1923ae6bb2 100644 --- a/poky/meta/conf/distro/include/maintainers.inc +++ b/poky/meta/conf/distro/include/maintainers.inc @@ -162,6 +162,8 @@ RECIPE_MAINTAINER_pn-dtc = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-dwarfsrcfiles = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-e2fsprogs = "Robert Yang <liezhi.yang@windriver.com>" RECIPE_MAINTAINER_pn-ed = "Alexander Kanavin <alex.kanavin@gmail.com>" +RECIPE_MAINTAINER_pn-efivar = "Ross Burton <ross.burton@intel.com>" +RECIPE_MAINTAINER_pn-efibootmgr = "Ross Burton <ross.burton@intel.com>" RECIPE_MAINTAINER_pn-eglinfo-fb = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-eglinfo-x11 = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-eglinfo-wayland = "Alexander Kanavin <alex.kanavin@gmail.com>" @@ -312,6 +314,7 @@ RECIPE_MAINTAINER_pn-libatomic-ops = "Anuj Mittal <anuj.mittal@intel.com>" RECIPE_MAINTAINER_pn-libbsd = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-libcap = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-libcap-ng = "Yi Zhao <yi.zhao@windriver.com>" +RECIPE_MAINTAINER_pn-libcap-ng-python = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>" @@ -602,7 +605,10 @@ RECIPE_MAINTAINER_pn-python3-numpy = "Derek Straka <derek@asterius.io>" RECIPE_MAINTAINER_pn-python3-pbr = "Derek Straka <derek@asterius.io>" RECIPE_MAINTAINER_pn-python3-pip = "Derek Straka <derek@asterius.io>" RECIPE_MAINTAINER_pn-python3-pycairo = "Derek Straka <derek@asterius.io>" +RECIPE_MAINTAINER_pn-python3-pygments = "Derek Straka <derek@asterius.io>" RECIPE_MAINTAINER_pn-python3-pygobject = "Derek Straka <derek@asterius.io>" +RECIPE_MAINTAINER_pn-python3-scons = "Tim Orling <timothy.t.orling@linux.intel.com>" +RECIPE_MAINTAINER_pn-python3-scons-native = "Tim Orling <timothy.t.orling@linux.intel.com>" RECIPE_MAINTAINER_pn-python3-setuptools = "Derek Straka <derek@asterius.io>" RECIPE_MAINTAINER_pn-python3-six = "Derek Straka <derek@asterius.io>" RECIPE_MAINTAINER_pn-python3-smmap = "Derek Straka <derek@asterius.io>" @@ -644,7 +650,6 @@ RECIPE_MAINTAINER_pn-shutdown-desktop = "Alexander Kanavin <alex.kanavin@gmail.c RECIPE_MAINTAINER_pn-signing-keys = "Richard Purdie <richard.purdie@linuxfoundation.org>" RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>" RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>" -RECIPE_MAINTAINER_pn-source-highlight = "Alexander Kanavin <alex.kanavin@gmail.com>" RECIPE_MAINTAINER_pn-speex = "Tanu Kaskinen <tanuk@iki.fi>" RECIPE_MAINTAINER_pn-speexdsp = "Tanu Kaskinen <tanuk@iki.fi>" RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>" diff --git a/poky/meta/conf/distro/include/ptest-packagelists.inc b/poky/meta/conf/distro/include/ptest-packagelists.inc index ec7ed6fa4d..17deaa762a 100644 --- a/poky/meta/conf/distro/include/ptest-packagelists.inc +++ b/poky/meta/conf/distro/include/ptest-packagelists.inc @@ -65,6 +65,7 @@ PTESTS_SLOW = "\ gstreamer1.0-ptest \ libevent-ptest \ lttng-tools-ptest \ + mdadm-ptest \ openssh-ptest \ openssl-ptest \ perl-ptest \ diff --git a/poky/meta/conf/distro/include/tcmode-default.inc b/poky/meta/conf/distro/include/tcmode-default.inc index 668f31324e..32176dae47 100644 --- a/poky/meta/conf/distro/include/tcmode-default.inc +++ b/poky/meta/conf/distro/include/tcmode-default.inc @@ -18,10 +18,10 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial" PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial" PREFERRED_PROVIDER_virtual/gettext ??= "gettext" -GCCVERSION ?= "8.%" +GCCVERSION ?= "9.%" SDKGCCVERSION ?= "${GCCVERSION}" BINUVERSION ?= "2.32%" -GDBVERSION ?= "8.2%" +GDBVERSION ?= "8.3%" GLIBCVERSION ?= "2.29%" LINUXLIBCVERSION ?= "5.0%" QEMUVERSION ?= "4.0%" diff --git a/poky/meta/conf/distro/include/yocto-uninative.inc b/poky/meta/conf/distro/include/yocto-uninative.inc index 59ccd6931b..0bb8f7af17 100644 --- a/poky/meta/conf/distro/include/yocto-uninative.inc +++ b/poky/meta/conf/distro/include/yocto-uninative.inc @@ -8,7 +8,7 @@ UNINATIVE_MAXGLIBCVERSION = "2.29" -UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.4/" -UNINATIVE_CHECKSUM[aarch64] ?= "af2e2faf6cf00ff45cc1bcd5e3fb00cee7f79b3ec7c3be15917ad4ff8c154cfe" -UNINATIVE_CHECKSUM[i686] ?= "fafacfc537a6ce2bd122bd16c146881ab5ac69bd575abf6cb68a0dd33fa70ea2" -UNINATIVE_CHECKSUM[x86_64] ?= "06f91685b782f2ccfedf3070b3ba0fe4a5ba2f0766dad5c9d1642dccf95accd0" +UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.5/" +UNINATIVE_CHECKSUM[aarch64] ?= "ca977ff95c77f983570141908d451ff7d78add2864471605af404302bb36a1fa" +UNINATIVE_CHECKSUM[i686] ?= "7b5822891c293795faf8a4a80586b36f8cde405387524916a24f9055ea82f7ca" +UNINATIVE_CHECKSUM[x86_64] ?= "ed0ac07c710b711925cb976685dd855fb1d442dd840d00194751c18bf480c4ed" diff --git a/poky/meta/conf/layer.conf b/poky/meta/conf/layer.conf index 6590e80700..5ecb93651e 100644 --- a/poky/meta/conf/layer.conf +++ b/poky/meta/conf/layer.conf @@ -77,6 +77,7 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ weston-init->weston \ weston-init->kbd \ connman->xl2tpd \ + lttng-tools->lttng-modules \ " # Avoid adding bison-native to the sysroot without a specific diff --git a/poky/meta/conf/machine/include/tune-thunderx.inc b/poky/meta/conf/machine/include/tune-thunderx.inc index 92adf2df1f..aa4d0501d4 100644 --- a/poky/meta/conf/machine/include/tune-thunderx.inc +++ b/poky/meta/conf/machine/include/tune-thunderx.inc @@ -15,5 +15,5 @@ TUNE_FEATURES_tune-thunderx_be = "${TUNE_FEATURES_tune-thunderx} bigendian" BASE_LIB_tune-thunderx = "lib64" BASE_LIB_tune-thunderx_be = "lib64" -PACKAGE_EXTRA_ARCHS_tune-thunderx = "armv8a-crc-crypto thunderx" +PACKAGE_EXTRA_ARCHS_tune-thunderx = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto} thunderx" PACKAGE_EXTRA_ARCHS_tune-thunderx_be = "aarch64_be thunderx_be" diff --git a/poky/meta/conf/machine/qemuarm64.conf b/poky/meta/conf/machine/qemuarm64.conf index 5c8aac1511..353ac927d9 100644 --- a/poky/meta/conf/machine/qemuarm64.conf +++ b/poky/meta/conf/machine/qemuarm64.conf @@ -14,6 +14,7 @@ QB_SYSTEM_NAME = "qemu-system-aarch64" QB_MEM = "-m 512" QB_MACHINE = "-machine virt" QB_CPU = "-cpu cortex-a57" +QB_CPU_KVM = "-cpu host" # Standard Serial console QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0" # For graphics to work we need to define the VGA device as well as the necessary USB devices diff --git a/poky/meta/lib/oe/gpg_sign.py b/poky/meta/lib/oe/gpg_sign.py index a95d2ba34c..2fd8c3b1ac 100644 --- a/poky/meta/lib/oe/gpg_sign.py +++ b/poky/meta/lib/oe/gpg_sign.py @@ -15,21 +15,27 @@ class LocalSigner(object): def __init__(self, d): self.gpg_bin = d.getVar('GPG_BIN') or \ bb.utils.which(os.getenv('PATH'), 'gpg') + self.gpg_cmd = [self.gpg_bin] + self.gpg_agent_bin = bb.utils.which(os.getenv('PATH'), "gpg-agent") + # Without this we see "Cannot allocate memory" errors when running processes in parallel + # It needs to be set for any gpg command since any agent launched can stick around in memory + # and this parameter must be set. + if self.gpg_agent_bin: + self.gpg_cmd += ["--agent-program=%s|--auto-expand-secmem" % (self.gpg_agent_bin)] self.gpg_path = d.getVar('GPG_PATH') - self.gpg_version = self.get_gpg_version() self.rpm_bin = bb.utils.which(os.getenv('PATH'), "rpmsign") - self.gpg_agent_bin = bb.utils.which(os.getenv('PATH'), "gpg-agent") + self.gpg_version = self.get_gpg_version() + def export_pubkey(self, output_file, keyid, armor=True): """Export GPG public key to a file""" - cmd = '%s --no-permission-warning --batch --yes --export -o %s ' % \ - (self.gpg_bin, output_file) + cmd = self.gpg_cmd + ["--no-permission-warning", "--batch", "--yes", "--export", "-o", output_file] if self.gpg_path: - cmd += "--homedir %s " % self.gpg_path + cmd += ["--homedir", self.gpg_path] if armor: - cmd += "--armor " - cmd += keyid - subprocess.check_output(shlex.split(cmd), stderr=subprocess.STDOUT) + cmd += ["--armor"] + cmd += [keyid] + subprocess.check_output(cmd, stderr=subprocess.STDOUT) def sign_rpms(self, files, keyid, passphrase, digest, sign_chunk, fsk=None, fsk_password=None): """Sign RPM files""" @@ -59,7 +65,7 @@ class LocalSigner(object): if passphrase_file and passphrase: raise Exception("You should use either passphrase_file of passphrase, not both") - cmd = [self.gpg_bin, '--detach-sign', '--no-permission-warning', '--batch', + cmd = self.gpg_cmd + ['--detach-sign', '--no-permission-warning', '--batch', '--no-tty', '--yes', '--passphrase-fd', '0', '-u', keyid] if self.gpg_path: @@ -72,9 +78,6 @@ class LocalSigner(object): if self.gpg_version > (2,1,): cmd += ['--pinentry-mode', 'loopback'] - if self.gpg_agent_bin: - cmd += ["--agent-program=%s|--auto-expand-secmem" % (self.gpg_agent_bin)] - cmd += [input_file] try: @@ -101,7 +104,8 @@ class LocalSigner(object): def get_gpg_version(self): """Return the gpg version as a tuple of ints""" try: - ver_str = subprocess.check_output((self.gpg_bin, "--version", "--no-permission-warning")).split()[2].decode("utf-8") + cmd = self.gpg_cmd + ["--version", "--no-permission-warning"] + ver_str = subprocess.check_output(cmd).split()[2].decode("utf-8") return tuple([int(i) for i in ver_str.split("-")[0].split('.')]) except subprocess.CalledProcessError as e: raise bb.build.FuncFailed("Could not get gpg version: %s" % e) @@ -109,11 +113,12 @@ class LocalSigner(object): def verify(self, sig_file): """Verify signature""" - cmd = self.gpg_bin + " --verify --no-permission-warning " + cmd = self.gpg_cmd + [" --verify", "--no-permission-warning"] if self.gpg_path: - cmd += "--homedir %s " % self.gpg_path - cmd += sig_file - status = subprocess.call(shlex.split(cmd)) + cmd += ["--homedir", self.gpg_path] + + cmd += [sig_file] + status = subprocess.call(cmd) ret = False if status else True return ret diff --git a/poky/meta/lib/oe/recipeutils.py b/poky/meta/lib/oe/recipeutils.py index 1e5b9a49f9..630ae967af 100644 --- a/poky/meta/lib/oe/recipeutils.py +++ b/poky/meta/lib/oe/recipeutils.py @@ -934,7 +934,7 @@ def get_recipe_pv_without_srcpv(pv, uri_type): sfx = '' if uri_type == 'git': - git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>[^\+]*)((?P<sfx>\+(git)?r?(AUTOINC\+))(?P<rev>.*))?") + git_regex = re.compile(r"(?P<pfx>v?)(?P<ver>.*?)(?P<sfx>\+[^\+]*(git)?r?(AUTOINC\+))(?P<rev>.*)") m = git_regex.match(pv) if m: diff --git a/poky/meta/lib/oe/sstatesig.py b/poky/meta/lib/oe/sstatesig.py index 417943db90..13af16e473 100644 --- a/poky/meta/lib/oe/sstatesig.py +++ b/poky/meta/lib/oe/sstatesig.py @@ -155,7 +155,7 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): else: def get_mc(tid): tid = tid.rsplit('.', 1)[0] - if tid.startswith('multiconfig:'): + if tid.startswith('mc:'): elems = tid.split(':') return elems[1] def recipename_from_dep(dep): diff --git a/poky/meta/lib/oeqa/core/context.py b/poky/meta/lib/oeqa/core/context.py index 09627044c8..58244895af 100644 --- a/poky/meta/lib/oeqa/core/context.py +++ b/poky/meta/lib/oeqa/core/context.py @@ -9,6 +9,7 @@ import json import time import logging import collections +import unittest from oeqa.core.loader import OETestLoader from oeqa.core.runner import OETestRunner @@ -45,10 +46,14 @@ class OETestContext(object): def skipTests(self, skips): if not skips: return + def skipfuncgen(skipmsg): + def func(): + raise unittest.SkipTest(skipmsg) + return func for test in self.suites: for skip in skips: if test.id().startswith(skip): - setattr(test, 'setUp', lambda: test.skipTest('Skip by the command line argument "%s"' % skip)) + setattr(test, 'setUp', skipfuncgen('Skip by the command line argument "%s"' % skip)) def loadTests(self, module_paths, modules=[], tests=[], modules_manifest="", modules_required=[], filters={}): diff --git a/poky/meta/lib/oeqa/runtime/cases/scons.py b/poky/meta/lib/oeqa/runtime/cases/scons.py new file mode 100644 index 0000000000..3c7c7f7270 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/cases/scons.py @@ -0,0 +1,37 @@ +# +# SPDX-License-Identifier: MIT +# + +import os + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage + +class SconsCompileTest(OERuntimeTestCase): + + @classmethod + def setUp(cls): + dst = '/tmp/' + src = os.path.join(cls.tc.runtime_files_dir, 'hello.c') + cls.tc.target.copyTo(src, dst) + + src = os.path.join(cls.tc.runtime_files_dir, 'SConstruct') + cls.tc.target.copyTo(src, dst) + + @classmethod + def tearDown(cls): + files = '/tmp/hello.c /tmp/hello.o /tmp/hello /tmp/SConstruct' + cls.tc.target.run('rm %s' % files) + + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(['gcc']) + @OEHasPackage(['python3-scons']) + def test_scons_compile(self): + status, output = self.target.run('cd /tmp/ && scons') + msg = 'scons compile failed, output: %s' % output + self.assertEqual(status, 0, msg=msg) + + status, output = self.target.run('/tmp/hello') + msg = 'running compiled file failed, output: %s' % output + self.assertEqual(status, 0, msg=msg) diff --git a/poky/meta/lib/oeqa/runtime/files/SConstruct b/poky/meta/lib/oeqa/runtime/files/SConstruct new file mode 100644 index 0000000000..d2cb6dd122 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/files/SConstruct @@ -0,0 +1 @@ +Program('hello.c') diff --git a/poky/meta/lib/oeqa/runtime/files/hello.c b/poky/meta/lib/oeqa/runtime/files/hello.c new file mode 100644 index 0000000000..b0697a3304 --- /dev/null +++ b/poky/meta/lib/oeqa/runtime/files/hello.c @@ -0,0 +1,5 @@ +int + main() + { + printf("Hello, world!\n"); + } diff --git a/poky/meta/lib/oeqa/selftest/cases/devtool.py b/poky/meta/lib/oeqa/selftest/cases/devtool.py index 434a7b9dd4..904ff6988b 100644 --- a/poky/meta/lib/oeqa/selftest/cases/devtool.py +++ b/poky/meta/lib/oeqa/selftest/cases/devtool.py @@ -393,7 +393,7 @@ class DevtoolAddTests(DevtoolBase): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) testver = '0.23' - url = 'https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-%s.tar.gz' % testver + url = 'https://files.pythonhosted.org/packages/c0/41/bae1254e0396c0cc8cf1751cb7d9afc90a602353695af5952530482c963f/MarkupSafe-%s.tar.gz' % testver testrecipe = 'python-markupsafe' srcdir = os.path.join(tempdir, testrecipe) # Test devtool add diff --git a/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py new file mode 100644 index 0000000000..8fb93af8a8 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/incompatible_lic.py @@ -0,0 +1,41 @@ +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import bitbake + +class IncompatibleLicenseTests(OESelftestTestCase): + + def lic_test(self, pn, pn_lic, lic): + error_msg = 'ERROR: Nothing PROVIDES \'%s\'\n%s was skipped: it has an incompatible license: %s' % (pn, pn, pn_lic) + + self.write_config("INCOMPATIBLE_LICENSE += \"%s\"" % (lic)) + + result = bitbake('%s --dry-run' % (pn), ignore_status=True) + if error_msg not in result.output: + raise AssertionError(result.output) + + # Verify that a package with an SPDX license (from SRC_DISTRIBUTE_LICENSES) + # cannot be built when INCOMPATIBLE_LICENSE contains this SPDX license + def test_incompatible_spdx_license(self): + self.lic_test('incompatible-license', 'GPL-3.0', 'GPL-3.0') + + # Verify that a package with an SPDX license (from SRC_DISTRIBUTE_LICENSES) + # cannot be built when INCOMPATIBLE_LICENSE contains an alias (in + # SPDXLICENSEMAP) of this SPDX license + def test_incompatible_alias_spdx_license(self): + self.lic_test('incompatible-license', 'GPL-3.0', 'GPLv3') + + # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX + # license cannot be built when INCOMPATIBLE_LICENSE contains this SPDX + # license + def test_incompatible_spdx_license_alias(self): + self.lic_test('incompatible-license-alias', 'GPLv3', 'GPL-3.0') + + # Verify that a package with an alias (from SPDXLICENSEMAP) to an SPDX + # license cannot be built when INCOMPATIBLE_LICENSE contains this alias + def test_incompatible_alias_spdx_license_alias(self): + self.lic_test('incompatible-license-alias', 'GPLv3', 'GPLv3') + + # Verify that a package with a non-SPDX license (neither in + # SRC_DISTRIBUTE_LICENSES nor in SPDXLICENSEMAP) cannot be built when + # INCOMPATIBLE_LICENSE contains this license + def test_incompatible_nonspdx_license(self): + self.lic_test('incompatible-nonspdx-license', 'FooLicense', 'FooLicense') diff --git a/poky/meta/lib/oeqa/selftest/cases/oescripts.py b/poky/meta/lib/oeqa/selftest/cases/oescripts.py index 217afe3775..7770b66a26 100644 --- a/poky/meta/lib/oeqa/selftest/cases/oescripts.py +++ b/poky/meta/lib/oeqa/selftest/cases/oescripts.py @@ -3,6 +3,7 @@ # import os +import unittest from oeqa.selftest.case import OESelftestTestCase from oeqa.selftest.cases.buildhistory import BuildhistoryBase from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer @@ -38,7 +39,7 @@ class OEScriptTests(OESelftestTestCase): try: import cairo except ImportError: - cls.skipTest('Python module cairo is not present') + raise unittest.SkipTest('Python module cairo is not present') bitbake("core-image-minimal -c rootfs -f") cls.tmpdir = get_bb_var('TMPDIR') cls.buildstats = cls.tmpdir + "/buildstats/" + sorted(os.listdir(cls.tmpdir + "/buildstats"))[-1] diff --git a/poky/meta/lib/oeqa/selftest/cases/package.py b/poky/meta/lib/oeqa/selftest/cases/package.py index 7a00753821..291627877e 100644 --- a/poky/meta/lib/oeqa/selftest/cases/package.py +++ b/poky/meta/lib/oeqa/selftest/cases/package.py @@ -7,6 +7,7 @@ from oeqa.utils.commands import bitbake, get_bb_vars, get_bb_var, runqemu import stat import subprocess, os import oe.path +import re class VersionOrdering(OESelftestTestCase): # version1, version2, sort order @@ -134,7 +135,7 @@ class PackageTests(OESelftestTestCase): return False # Check debugging symbols works correctly - elif "Breakpoint 1, main () at hello.c:4" in l: + elif re.match("Breakpoint 1.*hello\.c.*4", l): return True self.logger.error("GDB result:\n%d: %s", status, output) diff --git a/poky/meta/lib/oeqa/selftest/cases/recipetool.py b/poky/meta/lib/oeqa/selftest/cases/recipetool.py index f1cb37b53f..e3f5c71666 100644 --- a/poky/meta/lib/oeqa/selftest/cases/recipetool.py +++ b/poky/meta/lib/oeqa/selftest/cases/recipetool.py @@ -435,7 +435,45 @@ class RecipetoolTests(RecipetoolBase): checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) checkvars['SRC_URI'] = 'git://github.com/mesonbuild/meson;protocol=https' - inherits = ['setuptools'] + inherits = ['setuptools3'] + self._test_recipe_contents(recipefile, checkvars, inherits) + + def test_recipetool_create_python3_setuptools(self): + # Test creating python3 package from tarball (using setuptools3 class) + temprecipe = os.path.join(self.tempdir, 'recipe') + os.makedirs(temprecipe) + pn = 'python-magic' + pv = '0.4.15' + recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv)) + srcuri = 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-%s.tar.gz' % pv + result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + self.assertTrue(os.path.isfile(recipefile)) + checkvars = {} + checkvars['LICENSE'] = set(['MIT']) + checkvars['LIC_FILES_CHKSUM'] = 'file://LICENSE;md5=16a934f165e8c3245f241e77d401bb88' + checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/30/80932401906eaf787f2e9bd86dc458f1d2e75b064b4c187341f29516945c/python-magic-${PV}.tar.gz' + checkvars['SRC_URI[md5sum]'] = 'e384c95a47218f66c6501cd6dd45ff59' + checkvars['SRC_URI[sha256sum]'] = 'f3765c0f582d2dfc72c15f3b5a82aecfae9498bd29ca840d72f37d7bd38bfcd5' + inherits = ['setuptools3'] + self._test_recipe_contents(recipefile, checkvars, inherits) + + def test_recipetool_create_python3_distutils(self): + # Test creating python3 package from tarball (using distutils3 class) + temprecipe = os.path.join(self.tempdir, 'recipe') + os.makedirs(temprecipe) + pn = 'docutils' + pv = '0.14' + recipefile = os.path.join(temprecipe, '%s_%s.bb' % (pn, pv)) + srcuri = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-%s.tar.gz' % pv + result = runCmd('recipetool create -o %s %s' % (temprecipe, srcuri)) + self.assertTrue(os.path.isfile(recipefile)) + checkvars = {} + checkvars['LICENSE'] = set(['PSF', '&', 'BSD', 'GPL']) + checkvars['LIC_FILES_CHKSUM'] = 'file://COPYING.txt;md5=35a23d42b615470583563132872c97d6' + checkvars['SRC_URI'] = 'https://files.pythonhosted.org/packages/84/f4/5771e41fdf52aabebbadecc9381d11dea0fa34e4759b4071244fa094804c/docutils-${PV}.tar.gz' + checkvars['SRC_URI[md5sum]'] = 'c53768d63db3873b7d452833553469de' + checkvars['SRC_URI[sha256sum]'] = '51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274' + inherits = ['distutils3'] self._test_recipe_contents(recipefile, checkvars, inherits) def test_recipetool_create_github_tarball(self): @@ -450,7 +488,7 @@ class RecipetoolTests(RecipetoolBase): checkvars = {} checkvars['LICENSE'] = set(['Apache-2.0']) checkvars['SRC_URI'] = 'https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${PV}.tar.gz' - inherits = ['setuptools'] + inherits = ['setuptools3'] self._test_recipe_contents(recipefile, checkvars, inherits) def test_recipetool_create_git_http(self): diff --git a/poky/meta/lib/oeqa/selftest/cases/reproducible.py b/poky/meta/lib/oeqa/selftest/cases/reproducible.py new file mode 100644 index 0000000000..6dc83d2847 --- /dev/null +++ b/poky/meta/lib/oeqa/selftest/cases/reproducible.py @@ -0,0 +1,160 @@ +# +# SPDX-License-Identifier: MIT +# +# Copyright 2019 by Garmin Ltd. or its subsidiaries + +from oeqa.selftest.case import OESelftestTestCase +from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars +import functools +import multiprocessing +import textwrap +import unittest + +MISSING = 'MISSING' +DIFFERENT = 'DIFFERENT' +SAME = 'SAME' + +@functools.total_ordering +class CompareResult(object): + def __init__(self): + self.reference = None + self.test = None + self.status = 'UNKNOWN' + + def __eq__(self, other): + return (self.status, self.test) == (other.status, other.test) + + def __lt__(self, other): + return (self.status, self.test) < (other.status, other.test) + +class PackageCompareResults(object): + def __init__(self): + self.total = [] + self.missing = [] + self.different = [] + self.same = [] + + def add_result(self, r): + self.total.append(r) + if r.status == MISSING: + self.missing.append(r) + elif r.status == DIFFERENT: + self.different.append(r) + else: + self.same.append(r) + + def sort(self): + self.total.sort() + self.missing.sort() + self.different.sort() + self.same.sort() + + def __str__(self): + return 'same=%i different=%i missing=%i total=%i' % (len(self.same), len(self.different), len(self.missing), len(self.total)) + +def compare_file(reference, test, diffutils_sysroot): + result = CompareResult() + result.reference = reference + result.test = test + + if not os.path.exists(reference): + result.status = MISSING + return result + + r = runCmd(['cmp', '--quiet', reference, test], native_sysroot=diffutils_sysroot, ignore_status=True) + + if r.status: + result.status = DIFFERENT + return result + + result.status = SAME + return result + +class ReproducibleTests(OESelftestTestCase): + package_classes = ['deb'] + images = ['core-image-minimal'] + + def setUpLocal(self): + super().setUpLocal() + needed_vars = ['TOPDIR', 'TARGET_PREFIX', 'BB_NUMBER_THREADS'] + bb_vars = get_bb_vars(needed_vars) + for v in needed_vars: + setattr(self, v.lower(), bb_vars[v]) + + if not hasattr(self.tc, "extraresults"): + self.tc.extraresults = {} + self.extras = self.tc.extraresults + + self.extras.setdefault('reproducible.rawlogs', {})['log'] = '' + + def append_to_log(self, msg): + self.extras['reproducible.rawlogs']['log'] += msg + + def compare_packages(self, reference_dir, test_dir, diffutils_sysroot): + result = PackageCompareResults() + + old_cwd = os.getcwd() + try: + file_result = {} + os.chdir(test_dir) + with multiprocessing.Pool(processes=int(self.bb_number_threads or 0)) as p: + for root, dirs, files in os.walk('.'): + async_result = [] + for f in files: + reference_path = os.path.join(reference_dir, root, f) + test_path = os.path.join(test_dir, root, f) + async_result.append(p.apply_async(compare_file, (reference_path, test_path, diffutils_sysroot))) + + for a in async_result: + result.add_result(a.get()) + + finally: + os.chdir(old_cwd) + + result.sort() + return result + + @unittest.skip("Reproducible builds do not yet pass") + def test_reproducible_builds(self): + capture_vars = ['DEPLOY_DIR_' + c.upper() for c in self.package_classes] + + common_config = textwrap.dedent('''\ + INHERIT += "reproducible_build" + PACKAGE_CLASSES = "%s" + ''') % (' '.join('package_%s' % c for c in self.package_classes)) + + # Do an initial build. It's acceptable for this build to use sstate + self.write_config(common_config) + vars_reference = get_bb_vars(capture_vars) + bitbake(' '.join(self.images)) + + # Build native utilities + bitbake("diffutils-native -c addto_recipe_sysroot") + diffutils_sysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "diffutils-native") + + # Perform another build. This build should *not* share sstate or pull + # from any mirrors, but sharing a DL_DIR is fine + self.write_config(textwrap.dedent('''\ + TMPDIR = "${TOPDIR}/reproducible/tmp" + SSTATE_DIR = "${TMPDIR}/sstate" + SSTATE_MIRROR = "" + ''') + common_config) + vars_test = get_bb_vars(capture_vars) + bitbake(' '.join(self.images)) + + for c in self.package_classes: + package_class = 'package_' + c + + deploy_reference = vars_reference['DEPLOY_DIR_' + c.upper()] + deploy_test = vars_test['DEPLOY_DIR_' + c.upper()] + + result = self.compare_packages(deploy_reference, deploy_test, diffutils_sysroot) + + self.logger.info('Reproducibility summary for %s: %s' % (c, result)) + + self.append_to_log('\n'.join("%s: %s" % (r.status, r.test) for r in result.total)) + + if result.missing or result.different: + self.fail("The following %s packages are missing or different: %s" % + (c, ' '.join(r.test for r in (result.missing + result.different)))) + diff --git a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py index 10eb9c12d9..dac5c46801 100644 --- a/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py +++ b/poky/meta/lib/oeqa/selftest/cases/resulttooltests.py @@ -56,7 +56,7 @@ class ResultToolTests(OESelftestTestCase): 'test4': {'status': 'ERROR'}, 'test5': {'status': 'SKIPPED'}}} report = ResultsTextReport() - result_report = report.get_aggregated_test_result(None, result_data) + result_report = report.get_aggregated_test_result(None, result_data, 'DummyMachine') self.assertTrue(result_report['passed'] == 2, msg="Passed count not correct:%s" % result_report['passed']) self.assertTrue(result_report['failed'] == 2, msg="Failed count not correct:%s" % result_report['failed']) self.assertTrue(result_report['skipped'] == 1, msg="Skipped count not correct:%s" % result_report['skipped']) diff --git a/poky/meta/lib/oeqa/selftest/cases/signing.py b/poky/meta/lib/oeqa/selftest/cases/signing.py index 9c710bd0ff..b390f37d8e 100644 --- a/poky/meta/lib/oeqa/selftest/cases/signing.py +++ b/poky/meta/lib/oeqa/selftest/cases/signing.py @@ -30,7 +30,8 @@ class Signing(OESelftestTestCase): self.secret_key_path = os.path.join(self.testlayer_path, 'files', 'signing', "key.secret") nsysroot = get_bb_var("RECIPE_SYSROOT_NATIVE", "gnupg-native") - runCmd('gpg --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path), native_sysroot=nsysroot) + + runCmd('gpg --agent-program=`which gpg-agent`\|--auto-expand-secmem --batch --homedir %s --import %s %s' % (self.gpg_dir, self.pub_key_path, self.secret_key_path), native_sysroot=nsysroot) return nsysroot + get_bb_var("bindir_native") diff --git a/poky/meta/lib/oeqa/utils/qemurunner.py b/poky/meta/lib/oeqa/utils/qemurunner.py index fd386ef5a2..c16227fc38 100644 --- a/poky/meta/lib/oeqa/utils/qemurunner.py +++ b/poky/meta/lib/oeqa/utils/qemurunner.py @@ -60,6 +60,7 @@ class QemuRunner: self.runqemutime = 120 self.qemu_pidfile = 'pidfile_'+str(os.getpid()) self.host_dumper = HostDumper(dump_host_cmds, dump_dir) + self.monitorpipe = None self.logger = logger @@ -155,11 +156,11 @@ class QemuRunner: # and analyze descendents in order to determine it. if os.path.exists(self.qemu_pidfile): os.remove(self.qemu_pidfile) - self.qemuparams = 'bootparams="{0}" qemuparams="-serial tcp:127.0.0.1:{1} -pidfile {2}"'.format(bootparams, threadport, self.qemu_pidfile) + self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile) if qemuparams: self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"' - launch_cmd += ' tcpserial=%s %s' % (self.serverport, self.qemuparams) + launch_cmd += ' tcpserial=%s:%s %s' % (threadport, self.serverport, self.qemuparams) self.origchldhandler = signal.getsignal(signal.SIGCHLD) signal.signal(signal.SIGCHLD, self.handleSIGCHLD) diff --git a/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch new file mode 100644 index 0000000000..42f3a8182d --- /dev/null +++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr/0001-remove-extra-decl.patch @@ -0,0 +1,31 @@ +From 99b578501643377e0b1994b2a068b790d189d5ad Mon Sep 17 00:00:00 2001 +From: Peter Jones <pjones@redhat.com> +Date: Wed, 13 Jun 2018 09:41:01 -0400 +Subject: [PATCH] remove extra decl + +Signed-off-by: Peter Jones <pjones@redhat.com> + +Upstream-Status: Backport [git://github.com/rhinstaller/efibootmgr.git] +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + +--- + src/efibootmgr.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/efibootmgr.c b/src/efibootmgr.c +index de38f01..4e1a680 100644 +--- a/src/efibootmgr.c ++++ b/src/efibootmgr.c +@@ -1536,9 +1536,6 @@ parse_opts(int argc, char **argv) + "invalid numeric value %s\n", + optarg); + } +- /* XXX efivar-36 accidentally doesn't have a public +- * header for this */ +- extern int efi_set_verbose(int verbosity, FILE *errlog); + efi_set_verbose(opts.verbose - 2, stderr); + break; + case 'V': +-- +2.7.4 + diff --git a/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb new file mode 100644 index 0000000000..0e5a81e316 --- /dev/null +++ b/poky/meta/recipes-bsp/efibootmgr/efibootmgr_17.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Linux user-space application to modify the EFI Boot Manager." +SUMMARY = "EFI Boot Manager" +HOMEPAGE = "https://github.com/rhboot/efibootmgr" +SECTION = "base" + +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +DEPENDS = "efivar popt" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRC_URI = "git://github.com/rhinstaller/efibootmgr.git;protocol=https \ + file://0001-remove-extra-decl.patch \ + " +SRCREV = "e067160ecef8208e1944002e5d50b275733211fb" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +# The directory under the ESP that the default bootloader is found in. When +# wic uses a subdirectory, this should use the same one too. +EFIDIR ?= "/" + +EXTRA_OEMAKE += "'EFIDIR=${EFIDIR}'" + +CFLAGS += " -Wno-error" + +do_install () { + oe_runmake install DESTDIR="${D}" +} + +CLEANBROKEN = "1" diff --git a/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch b/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch new file mode 100644 index 0000000000..50a0b1023a --- /dev/null +++ b/poky/meta/recipes-bsp/efivar/efivar/no-werror.patch @@ -0,0 +1,18 @@ +Don't use -Werror because newer compilers introduce newer warnings. + +Upstream-Status: Inappropriate [https://github.com/rhboot/efivar/issues/131] +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/gcc.specs b/gcc.specs +index 45d43d1..1baf11a 100644 +--- a/gcc.specs ++++ b/gcc.specs +@@ -2,7 +2,7 @@ + + -D_GNU_SOURCE + + *efivar_cpp_options: +- -Werror -Wall -std=gnu11 -Wextra ++ -Wall -std=gnu11 -Wextra + + *cpp_options: + + %(efivar_cpp_options) diff --git a/poky/meta/recipes-bsp/efivar/efivar_37.bb b/poky/meta/recipes-bsp/efivar/efivar_37.bb new file mode 100644 index 0000000000..c4254c70d9 --- /dev/null +++ b/poky/meta/recipes-bsp/efivar/efivar_37.bb @@ -0,0 +1,37 @@ +SUMMARY = "Tools to manipulate UEFI variables" +DESCRIPTION = "efivar provides a simple command line interface to the UEFI variable facility" +HOMEPAGE = "https://github.com/rhboot/efivar" + +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=6626bb1e20189cfa95f2c508ba286393" + +COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" + +SRC_URI = "git://github.com/rhinstaller/efivar.git \ + file://no-werror.patch" +SRCREV = "c1d6b10e1ed4ba2be07f385eae5bceb694478a10" + +S = "${WORKDIR}/git" + +inherit pkgconfig + +export CCLD_FOR_BUILD = "${BUILD_CCLD}" + +# Upstream uses --add-needed in gcc.specs which gold doesn't support, so +# enforce BFD. +LDFLAGS += "-fuse-ld=bfd" + +do_compile_prepend() { + # Remove when https://github.com/rhboot/efivar/issues/130 is fixed + oe_runmake CFLAGS="${BUILD_CFLAGS}" -C src makeguids +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +BBCLASSEXTEND = "native" + +RRECOMMENDS_${PN}_class-target = "kernel-module-efivarfs" + +CLEANBROKEN = "1" diff --git a/poky/meta/recipes-bsp/grub/grub2.inc b/poky/meta/recipes-bsp/grub/grub2.inc index 7d8c280b3f..bac2d7d414 100644 --- a/poky/meta/recipes-bsp/grub/grub2.inc +++ b/poky/meta/recipes-bsp/grub/grub2.inc @@ -60,7 +60,7 @@ BUILD_CFLAGS = "" BUILD_CXXFLAGS = "" BUILD_LDFLAGS = "" -CFLAGS_append = "-Wno-error" +CFLAGS_append = " -Wno-error" do_configure_prepend() { # The grub2 configure script uses variables such as TARGET_CFLAGS etc diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch new file mode 100644 index 0000000000..5fcb3aa92b --- /dev/null +++ b/poky/meta/recipes-bsp/lrzsz/lrzsz-0.12.20/include.patch @@ -0,0 +1,25 @@ +Implicit declaration compile warning fixes from Debian + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Upstream-Status: Inappropriate [upstream is dead] + +--- lrzsz-0.12.21.orig/lib/long-options.c ++++ lrzsz-0.12.21/lib/long-options.c +@@ -22,6 +22,7 @@ + #endif + + #include <stdio.h> ++#include <stdlib.h> + #include <getopt.h> + #include "long-options.h" + +--- lrzsz-0.12.21.orig/src/lsyslog.c ++++ lrzsz-0.12.21/src/lsyslog.c +@@ -22,6 +22,7 @@ + #ifdef ENABLE_SYSLOG + #include "zglobal.h" + #include <pwd.h> ++#include <stdio.h> + #include <stdlib.h> + #include <string.h> + #endif diff --git a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb index 002c774c6d..34556b2c29 100644 --- a/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb +++ b/poky/meta/recipes-bsp/lrzsz/lrzsz_0.12.20.bb @@ -20,6 +20,7 @@ SRC_URI = "http://www.ohse.de/uwe/releases/lrzsz-${PV}.tar.gz \ file://lrzsz_fix_for_automake-1.12.patch \ file://lrzsz-check-locale.h.patch \ file://cve-2018-10195.patch \ + file://include.patch \ " SRC_URI[md5sum] = "b5ce6a74abc9b9eb2af94dffdfd372a4" diff --git a/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch b/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch deleted file mode 100644 index 7edff2614a..0000000000 --- a/poky/meta/recipes-bsp/usbutils/usbutils/usb-devices-avoid-dependency-on-bash.patch +++ /dev/null @@ -1,30 +0,0 @@ -Upstream-Status: Backport (https://github.com/gregkh/usbutils/commit/508d1acf42e1bfd470c6bf1a188574c69c20aeed) -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 1c9162a5b30550aec8fa163906067bc179291b57 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Fri, 27 Jul 2018 15:28:34 +0100 -Subject: [PATCH] usb-devices: use /bin/sh - -This script doesn't use any bashisms, so change the hashbang to /bin/sh. - -Fixes #73. - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - usb-devices | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/usb-devices b/usb-devices -index afb4217..89d1b7d 100755 ---- a/usb-devices -+++ b/usb-devices -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - # SPDX-License-Identifier: GPL-2.0+ - # - # Copyright (c) 2009 Greg Kroah-Hartman <greg@kroah.com> --- -2.11.0 - diff --git a/poky/meta/recipes-bsp/usbutils/usbutils_010.bb b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb index e6d05b8e87..0213e7af63 100644 --- a/poky/meta/recipes-bsp/usbutils/usbutils_010.bb +++ b/poky/meta/recipes-bsp/usbutils/usbutils_012.bb @@ -11,10 +11,9 @@ LIC_FILES_CHKSUM = "file://lsusb.c;endline=1;md5=7d4861d978ff5ba7cb2b319ed1d4afe DEPENDS = "libusb1 virtual/libiconv udev" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/usb/usbutils/usbutils-${PV}.tar.gz \ - file://usb-devices-avoid-dependency-on-bash.patch \ " -SRC_URI[md5sum] = "5eb2d2d68f9ed6dc3e9659a5988f7ed6" -SRC_URI[sha256sum] = "881ba47fb2df10c3ba54a4cd6755a90377180890788e476f99d480ea9bc8bb58" +SRC_URI[md5sum] = "7484445cbcf04b3eacac892fe58f8d9f" +SRC_URI[sha256sum] = "ae2e10aad530d95839b6f4d46cd41715eae6f0f1789310d793e9be21b3e7ae20" inherit autotools pkgconfig distro_features_check update-alternatives diff --git a/poky/meta/recipes-connectivity/avahi/avahi.inc b/poky/meta/recipes-connectivity/avahi/avahi.inc index 8339e451f5..94fe6a16b6 100644 --- a/poky/meta/recipes-connectivity/avahi/avahi.inc +++ b/poky/meta/recipes-connectivity/avahi/avahi.inc @@ -36,6 +36,7 @@ PACKAGECONFIG ??= "dbus ${AVAHI_GTK}" PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus" PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+" PACKAGECONFIG[gtk3] = "--enable-gtk3,--disable-gtk3,gtk+3" +PACKAGECONFIG[libdns_sd] = "--enable-compat-libdns_sd --enable-dbus,,dbus" inherit autotools pkgconfig gettext gobject-introspection @@ -77,3 +78,9 @@ do_install() { test -d ${D}${datadir}/dbus-1 && rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1 rm -rf ${D}${libdir}/avahi } + +PACKAGES =+ "${@bb.utils.contains("PACKAGECONFIG", "libdns_sd", "libavahi-compat-libdnssd", "", d)}" + +FILES_libavahi-compat-libdnssd = "${libdir}/libdns_sd.so.*" + +RPROVIDES_libavahi-compat-libdnssd = "libdns-sd" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5.inc b/poky/meta/recipes-connectivity/bluez5/bluez5.inc index aaf2af975d..8f321638ce 100644 --- a/poky/meta/recipes-connectivity/bluez5/bluez5.inc +++ b/poky/meta/recipes-connectivity/bluez5/bluez5.inc @@ -6,7 +6,7 @@ LICENSE = "GPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e" -DEPENDS = "udev dbus-glib glib-2.0" +DEPENDS = "dbus-glib glib-2.0" PROVIDES += "bluez-hcidump" RPROVIDES_${PN} += "bluez-hcidump" @@ -22,6 +22,7 @@ PACKAGECONFIG ??= "obex-profiles \ hog-profiles \ tools \ deprecated \ + udev \ " PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical" PACKAGECONFIG[readline] = "--enable-client,--disable-client,readline," @@ -43,6 +44,7 @@ PACKAGECONFIG[threads] = "--enable-threads,--disable-threads" PACKAGECONFIG[deprecated] = "--enable-deprecated,--disable-deprecated" PACKAGECONFIG[mesh] = "--enable-mesh,--disable-mesh, json-c ell" PACKAGECONFIG[btpclient] = "--enable-btpclient,--disable-btpclient, ell" +PACKAGECONFIG[udev] = "--enable-udev,--disable-udev,udev" SRC_URI = "\ ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \ @@ -54,6 +56,7 @@ SRC_URI = "\ file://0001-test-gatt-Fix-hung-issue.patch \ file://0001-Makefile.am-Fix-a-race-issue-for-tools.patch \ file://CVE-2018-10910.patch \ + file://gcc9-fixes.patch \ " S = "${WORKDIR}/bluez-${PV}" @@ -117,7 +120,10 @@ FILES_${PN}-dev += " \ FILES_${PN}-obex = "${libexecdir}/bluetooth/obexd \ ${exec_prefix}/lib/systemd/user/obex.service \ + ${systemd_system_unitdir}/obex.service \ + ${sysconfdir}/systemd/system/multi-user.target.wants/obex.service \ ${datadir}/dbus-1/services/org.bluez.obex.service \ + ${sysconfdir}/dbus-1/system.d/obexd.conf \ " SYSTEMD_SERVICE_${PN}-obex = "obex.service" diff --git a/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch b/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch new file mode 100644 index 0000000000..ca678e601e --- /dev/null +++ b/poky/meta/recipes-connectivity/bluez5/bluez5/gcc9-fixes.patch @@ -0,0 +1,301 @@ +Backported commit from upstream master branch (post 5.50 release), which +resolves assertion failures in several unit tests. + +https://git.kernel.org/pub/scm/bluetooth/bluez.git/patch/?id=0be5246170 + +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/unit/test-avctp.c b/unit/test-avctp.c +index 3bc3569..24de663 100644 +--- a/unit/test-avctp.c ++++ b/unit/test-avctp.c +@@ -43,7 +43,7 @@ + + struct test_pdu { + bool valid; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -66,7 +66,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -91,6 +91,11 @@ static void test_debug(const char *str, void *user_data) + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-avdtp.c b/unit/test-avdtp.c +index dd8aed7..e2c951a 100644 +--- a/unit/test-avdtp.c ++++ b/unit/test-avdtp.c +@@ -47,7 +47,7 @@ + struct test_pdu { + bool valid; + bool fragmented; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -61,7 +61,7 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -69,7 +69,7 @@ struct test_data { + { \ + .valid = true, \ + .fragmented = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -81,7 +81,7 @@ struct test_data { + static struct test_data data; \ + data.test_name = g_strdup(name); \ + data.pdu_list = g_memdup(pdus, sizeof(pdus)); \ +- tester_add(name, &data, NULL, function, NULL); \ ++ tester_add(name, &data, NULL, function, NULL); \ + } while (0) + + struct context { +@@ -109,6 +109,11 @@ static void test_debug(const char *str, void *user_data) + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-avrcp.c b/unit/test-avrcp.c +index 01307e6..f1aa353 100644 +--- a/unit/test-avrcp.c ++++ b/unit/test-avrcp.c +@@ -49,7 +49,7 @@ struct test_pdu { + bool fragmented; + bool continuing; + bool browse; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -74,7 +74,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -82,7 +82,7 @@ struct context { + { \ + .valid = true, \ + .browse = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -90,7 +90,7 @@ struct context { + { \ + .valid = true, \ + .fragmented = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -98,7 +98,7 @@ struct context { + { \ + .valid = true, \ + .continuing = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -123,6 +123,11 @@ static void test_debug(const char *str, void *user_data) + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-gatt.c b/unit/test-gatt.c +index c7e28f8..d49f7a0 100644 +--- a/unit/test-gatt.c ++++ b/unit/test-gatt.c +@@ -48,7 +48,7 @@ + + struct test_pdu { + bool valid; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + }; + +@@ -86,7 +86,7 @@ struct context { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -306,6 +306,11 @@ static bt_uuid_t uuid_char_128 = { + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +@@ -1911,6 +1916,8 @@ static void test_server(gconstpointer data) + g_assert_cmpint(len, ==, pdu.size); + + util_hexdump('<', pdu.data, len, test_debug, "GATT: "); ++ ++ g_free(pdu.data); + } + + static void test_search_primary(gconstpointer data) +diff --git a/unit/test-hfp.c b/unit/test-hfp.c +index f2b9622..890eee6 100644 +--- a/unit/test-hfp.c ++++ b/unit/test-hfp.c +@@ -43,7 +43,7 @@ struct context { + + struct test_pdu { + bool valid; +- const uint8_t *data; ++ uint8_t *data; + size_t size; + enum hfp_gw_cmd_type type; + bool fragmented; +@@ -63,7 +63,7 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + } + +@@ -75,7 +75,7 @@ struct test_data { + #define type_pdu(cmd_type, args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + .type = cmd_type, \ + } +@@ -83,7 +83,7 @@ struct test_data { + #define frg_pdu(args...) \ + { \ + .valid = true, \ +- .data = data(args), \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ + .size = sizeof(data(args)), \ + .fragmented = true, \ + } +@@ -119,6 +119,11 @@ struct test_data { + static void test_free(gconstpointer user_data) + { + const struct test_data *data = user_data; ++ struct test_pdu *pdu; ++ int i; ++ ++ for (i = 0; (pdu = &data->pdu_list[i]) && pdu->valid; i++) ++ g_free(pdu->data); + + g_free(data->test_name); + g_free(data->pdu_list); +diff --git a/unit/test-hog.c b/unit/test-hog.c +index d117968..25bdb42 100644 +--- a/unit/test-hog.c ++++ b/unit/test-hog.c +@@ -68,11 +68,11 @@ struct context { + + #define data(args...) ((const unsigned char[]) { args }) + +-#define raw_pdu(args...) \ +-{ \ +- .valid = true, \ +- .data = data(args), \ +- .size = sizeof(data(args)),\ ++#define raw_pdu(args...) \ ++{ \ ++ .valid = true, \ ++ .data = g_memdup(data(args), sizeof(data(args))), \ ++ .size = sizeof(data(args)), \ + } + + #define false_pdu() \ +diff --git a/unit/test-sdp.c b/unit/test-sdp.c +index ac921a9..c71ee1f 100644 +--- a/unit/test-sdp.c ++++ b/unit/test-sdp.c +@@ -59,14 +59,14 @@ struct test_data { + #define raw_pdu(args...) \ + { \ + .valid = true, \ +- .raw_data = raw_data(args), \ ++ .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \ + .raw_size = sizeof(raw_data(args)), \ + } + + #define raw_pdu_cont(cont, args...) \ + { \ + .valid = true, \ +- .raw_data = raw_data(args), \ ++ .raw_data = g_memdup(raw_data(args), sizeof(raw_data(args))), \ + .raw_size = sizeof(raw_data(args)), \ + .cont_len = cont, \ + } +@@ -103,7 +103,7 @@ struct test_data_de { + #define define_test_de_attr(name, input, exp) \ + do { \ + static struct test_data_de data; \ +- data.input_data = input; \ ++ data.input_data = g_memdup(input, sizeof(input)); \ + data.input_size = sizeof(input); \ + data.expected = exp; \ + tester_add("/sdp/DE/ATTR/" name, &data, NULL, \ diff --git a/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch b/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch new file mode 100644 index 0000000000..30f1432cd3 --- /dev/null +++ b/poky/meta/recipes-connectivity/connman/connman/0001-gweb-fix-segfault-with-musl-v1.1.21.patch @@ -0,0 +1,34 @@ +From f0a8c69971b30ea7ca255bb885fdd1179fa5d298 Mon Sep 17 00:00:00 2001 +From: Nicola Lunghi <nick83ola@gmail.com> +Date: Thu, 23 May 2019 07:55:25 +0100 +Subject: [PATCH] gweb: fix segfault with musl v1.1.21 + +In musl > v1.1.21 freeaddrinfo() implementation changed and +was causing a segmentation fault on recent Yocto using musl. + +See this commit: + + https://git.musl-libc.org/cgit/musl/commit/src/network/freeaddrinfo.c?id=d1395c43c019aec6b855cf3c656bf47c8a719e7f + +Upstream-Status: Submitted +--- + gweb/gweb.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gweb/gweb.c b/gweb/gweb.c +index 393afe0a..12fcb1d8 100644 +--- a/gweb/gweb.c ++++ b/gweb/gweb.c +@@ -1274,7 +1274,8 @@ static bool is_ip_address(const char *host) + addr = NULL; + + result = getaddrinfo(host, NULL, &hints, &addr); +- freeaddrinfo(addr); ++ if(!result) ++ freeaddrinfo(addr); + + return result == 0; + } +-- +2.19.1 + diff --git a/poky/meta/recipes-connectivity/connman/connman_1.37.bb b/poky/meta/recipes-connectivity/connman/connman_1.37.bb index 2cf904cd85..00852bf0d6 100644 --- a/poky/meta/recipes-connectivity/connman/connman_1.37.bb +++ b/poky/meta/recipes-connectivity/connman/connman_1.37.bb @@ -3,6 +3,7 @@ require connman.inc SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \ file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ + file://0001-gweb-fix-segfault-with-musl-v1.1.21.patch \ file://connman \ file://no-version-scripts.patch \ " @@ -13,3 +14,4 @@ SRC_URI[md5sum] = "75012084f14fb63a84b116e66c6e94fb" SRC_URI[sha256sum] = "6ce29b3eb0bb16a7387bc609c39455fd13064bdcde5a4d185fab3a0c71946e16" RRECOMMENDS_${PN} = "connman-conf" +RCONFLICTS_${PN} = "networkmanager" diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch b/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch deleted file mode 100644 index 6ef70ccacd..0000000000 --- a/poky/meta/recipes-connectivity/dhcp/dhcp/0006-site.h-enable-gentle-shutdown.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 01641d146e4e6bea954e4a4ee1f6230b822665b4 Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Tue, 15 Aug 2017 15:37:49 +0800 -Subject: [PATCH 06/11] site.h: enable gentle shutdown - -Upstream-Status: Inappropriate [configuration] -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - -Rebase to 4.3.6 -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - includes/site.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: dhcp-4.4.1/includes/site.h -=================================================================== ---- dhcp-4.4.1.orig/includes/site.h -+++ dhcp-4.4.1/includes/site.h -@@ -295,7 +295,7 @@ - situations. We plan to revisit this feature and may - make non-backwards compatible changes including the - removal of this define. Use at your own risk. */ --/* #define ENABLE_GENTLE_SHUTDOWN */ -+#define ENABLE_GENTLE_SHUTDOWN - - /* Include old error codes. This is provided in case you - are building an external program similar to omshell for diff --git a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb index 19524cb3c9..275961a603 100644 --- a/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb +++ b/poky/meta/recipes-connectivity/dhcp/dhcp_4.4.1.bb @@ -5,7 +5,6 @@ SRC_URI += "file://0001-define-macro-_PATH_DHCPD_CONF-and-_PATH_DHCLIENT_CON.pat file://0003-link-with-lcrypto.patch \ file://0004-Fix-out-of-tree-builds.patch \ file://0005-dhcp-client-fix-invoke-dhclient-script-failed-on-Rea.patch \ - file://0006-site.h-enable-gentle-shutdown.patch \ file://0007-Add-configure-argument-to-make-the-libxml2-dependenc.patch \ file://0009-remove-dhclient-script-bash-dependency.patch \ file://0012-dhcp-correct-the-intention-for-xml2-lib-search.patch \ diff --git a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb index ec1384eabd..ac2e017d8b 100644 --- a/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb +++ b/poky/meta/recipes-connectivity/inetutils/inetutils_1.9.4.bb @@ -200,7 +200,7 @@ RDEPENDS_${PN}-tftpd += "xinetd" FILES_${PN}-telnetd = "${sbindir}/in.telnetd ${sysconfdir}/xinetd.d/telnet" FILES_${PN}-telnetd-dbg = "${sbindir}/.debug/in.telnetd" -RCONFLICTS_${PN}-telnetd += "netkit-telnetd" +RCONFLICTS_${PN}-telnetd += "netkit-telnet" RPROVIDES_${PN}-telnetd = "telnetd" RDEPENDS_${PN}-telnetd += "xinetd" diff --git a/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb index 8f33c7fe19..6854a13004 100644 --- a/poky/meta/recipes-connectivity/iproute2/iproute2_5.0.0.bb +++ b/poky/meta/recipes-connectivity/iproute2/iproute2_5.1.0.bb @@ -5,8 +5,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \ file://0001-libc-compat.h-add-musl-workaround.patch \ " -SRC_URI[md5sum] = "d22107b4d7cfb999eeb8ad8a0aec1124" -SRC_URI[sha256sum] = "df047302a39650ef832c07e8dab5df7a23218cd398bd310c8628e386161d20ba" +SRC_URI[md5sum] = "a2b8349abf4ae00e92155fda22de4d5e" +SRC_URI[sha256sum] = "dc5a980873eabf6b00c0be976b6e5562b1400d47d1d07d2ac35d5e5acbcf7bcf" # CFLAGS are computed in Makefile and reference CCOPTS # diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch deleted file mode 100644 index f63eb90cdc..0000000000 --- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns/0001-check-for-nss.h.patch +++ /dev/null @@ -1,56 +0,0 @@ -From bdf01a581d58eb5340e9238d143dbcac9db5b11c Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 30 Jan 2016 19:29:45 +0000 -Subject: [PATCH] check for nss.h - -nss.h may not available on all libc implementations, e.g. musl does not -have this header, this patch detects nss.h presence and defines the data -types that are required if nss.h is missing on platform - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - configure.ac | 2 +- - src/nss.c | 11 +++++++++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index aa66bc6..ce19b07 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -71,7 +71,7 @@ AC_PROG_LIBTOOL - - # Checks for header files. - AC_HEADER_STDC --AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h]) -+AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h netdb.h netinet/in.h stdlib.h string.h sys/socket.h sys/time.h unistd.h nss.h sys/ioctl.h nss.h]) - - # Checks for typedefs, structures, and compiler characteristics. - AC_C_CONST -diff --git a/src/nss.c b/src/nss.c -index e48e315..406733b 100644 ---- a/src/nss.c -+++ b/src/nss.c -@@ -29,7 +29,18 @@ - #include <assert.h> - #include <netdb.h> - #include <sys/socket.h> -+#ifdef HAVE_NSS_H - #include <nss.h> -+#else -+enum nss_status { -+ NSS_STATUS_TRYAGAIN = -2, -+ NSS_STATUS_UNAVAIL, -+ NSS_STATUS_NOTFOUND, -+ NSS_STATUS_SUCCESS, -+ NSS_STATUS_RETURN -+}; -+#endif -+ - #include <stdio.h> - #include <stdlib.h> - --- -2.7.0 - diff --git a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb index d0eb2768d1..953505971a 100644 --- a/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb +++ b/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb @@ -9,7 +9,6 @@ DEPENDS = "avahi" PR = "r7" SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz \ - file://0001-check-for-nss.h.patch \ " SRC_URI[md5sum] = "03938f17646efbb50aa70ba5f99f51d7" @@ -21,6 +20,8 @@ localstatedir = "/" inherit autotools +COMPATIBLE_HOST_libc-musl = 'null' + EXTRA_OECONF = "--libdir=${base_libdir} --disable-lynx --enable-avahi" # suppress warning, but don't bother with autonamer diff --git a/poky/meta/recipes-connectivity/ofono/ofono.inc b/poky/meta/recipes-connectivity/ofono/ofono.inc index 0472414b19..e1185c6e6b 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono.inc +++ b/poky/meta/recipes-connectivity/ofono/ofono.inc @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \ inherit autotools pkgconfig update-rc.d systemd bluetooth gobject-introspection-data -DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info" +DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ell" INITSCRIPT_NAME = "ofono" INITSCRIPT_PARAMS = "defaults 22" @@ -19,7 +19,7 @@ PACKAGECONFIG ??= "\ PACKAGECONFIG[systemd] = "--with-systemdunitdir=${systemd_unitdir}/system/,--with-systemdunitdir=" PACKAGECONFIG[bluez] = "--enable-bluetooth, --disable-bluetooth, ${BLUEZ}" -EXTRA_OECONF += "--enable-test" +EXTRA_OECONF += "--enable-test --enable-external-ell" SYSTEMD_SERVICE_${PN} = "ofono.service" diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch new file mode 100644 index 0000000000..77073ddb1c --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch @@ -0,0 +1,50 @@ +From eeaf8dac80f15a2b7c18d1d4ee63106973a6a873 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@kernel.org> +Date: Tue, 21 May 2019 14:13:35 +0300 +Subject: Makefile.am: Don't overwrite src_ofonod_DEPENDENCIES + +src_ofonod_DEPENDENCIES did overwrite the dependencies +automatically generated from src_ofonod_LDADD with +incomplete dependencies. + +This fixes the following build error: +... + CCLD src/ofonod +libtool: error: cannot find the library 'gdbus/libgdbus-internal.la' or unhandled argument 'gdbus/libgdbus-internal.la' +make: *** [Makefile:3448: src/ofonod] Error 1 + +Upstream-Status: Submitted +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + Makefile.am | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index d2e310d5..5edc4488 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -6,12 +6,10 @@ noinst_LTLIBRARIES = + if EXTERNAL_ELL + ell_cflags = @ELL_CFLAGS@ + ell_ldadd = @ELL_LIBS@ +-ell_dependencies = + ell_built_sources = + else + ell_cflags = + ell_ldadd = ell/libell-internal.la +-ell_dependencies = $(ell_ldadd) + ell_built_sources = ell/internal ell/ell.h + + noinst_LTLIBRARIES += ell/libell-internal.la +@@ -729,8 +727,6 @@ src_ofonod_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) $(ell_ldadd) \ + src_ofonod_LDFLAGS = -Wl,--export-dynamic \ + -Wl,--version-script=$(srcdir)/src/ofono.ver + +-src_ofonod_DEPENDENCIES = $(ell_dependencies) +- + BUILT_SOURCES = $(local_headers) $(ell_built_sources) src/builtin.h + + CLEANFILES = $(BUILT_SOURCES) $(rules_DATA) +-- +2.20.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch new file mode 100644 index 0000000000..f9858e7f20 --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-main-Quiet-ld-errors-with-external-ell.patch @@ -0,0 +1,36 @@ +From 48e31f9fc3cf3c486c3d27a67b2687f6df0c5c71 Mon Sep 17 00:00:00 2001 +From: Denis Kenzior <denkenz@gmail.com> +Date: Thu, 16 May 2019 15:10:53 -0500 +Subject: main: Quiet ld errors with external ell + +When oFono is built with --enable-external-ell, the compiler for some +reason does not generate a debug section on some systems. This is due +to the fact that l_debug is never called. However, ell also does not +call l_debug, yet when built-in ell is used, the section is created by +the compiler. + +For now work around this by adding a no-op l_debug() call in main.c. +The real fix is to migrate all of the oFono logging functionality to use +ell instead. + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + src/main.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/main.c b/src/main.c +index 8623a060..4529cde1 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -236,6 +236,7 @@ int main(int argc, char **argv) + event_loop = g_main_loop_new(NULL, FALSE); + + l_log_set_stderr(); ++ l_debug(""); + l_debug_enable("*"); + l_main_init(); + +-- +2.20.1 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch b/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch new file mode 100644 index 0000000000..8a5a300adc --- /dev/null +++ b/poky/meta/recipes-connectivity/ofono/ofono/0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch @@ -0,0 +1,36 @@ +From 22b52db4842611ac31a356f023fc09595384e2ad Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Thu, 23 May 2019 18:11:22 -0700 +Subject: [PATCH] mbim: add an optional TEMP_FAILURE_RETRY macro copy + +Fixes build on musl which does not provide this macro + +Upstream-Status: Submitted [https://lists.ofono.org/pipermail/ofono/2019-May/019370.html] +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + drivers/mbimmodem/mbim-private.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/drivers/mbimmodem/mbim-private.h b/drivers/mbimmodem/mbim-private.h +index e159235..51693ea 100644 +--- a/drivers/mbimmodem/mbim-private.h ++++ b/drivers/mbimmodem/mbim-private.h +@@ -21,6 +21,15 @@ + + #define align_len(len, boundary) (((len)+(boundary)-1) & ~((boundary)-1)) + ++#ifndef TEMP_FAILURE_RETRY ++#define TEMP_FAILURE_RETRY(expression) ({ \ ++ __typeof(expression) __result; \ ++ do { \ ++ __result = (expression); \ ++ } while (__result == -1 && errno == EINTR); \ ++ __result; }) ++#endif ++ + enum mbim_control_message { + MBIM_OPEN_MSG = 0x1, + MBIM_CLOSE_MSG = 0x2, +-- +2.21.0 + diff --git a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb index a22b99a728..900a6d26d9 100644 --- a/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb +++ b/poky/meta/recipes-connectivity/ofono/ofono_1.29.bb @@ -5,6 +5,9 @@ SRC_URI = "\ file://ofono \ file://0001-build-Fix-a-race-condition.patch \ file://0001-build-Add-check-for-explicit_bzero-support.patch \ + file://0001-main-Quiet-ld-errors-with-external-ell.patch \ + file://0001-Makefile.am-Don-t-overwrite-src_ofonod_DEPENDENCIES.patch \ + file://0001-mbim-add-an-optional-TEMP_FAILURE_RETRY-macro-copy.patch \ " SRC_URI[md5sum] = "4fa0372630ff03f223452e4d05efa8f8" SRC_URI[sha256sum] = "67f0f8e5740dea5b46309e40667d1e560be39c90ef08dd01ff9e9ce8e61f0679" diff --git a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch b/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch deleted file mode 100644 index 4c9d574421..0000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 5df934e2279e8ed1f07b990f4b2b3baf6470f7e5 Mon Sep 17 00:00:00 2001 -From: "dtucker@openbsd.org" <dtucker@openbsd.org> -Date: Thu, 24 Jan 2019 16:52:17 +0000 -Subject: [PATCH] upstream: Have progressmeter force an update at the beginning - and - -end of each transfer. Fixes the problem recently introduces where very quick -transfers do not display the progressmeter at all. Spotted by naddy@ - -OpenBSD-Commit-ID: 68dc46c259e8fdd4f5db3ec2a130f8e4590a7a9a -Upstream-Status: Backport -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - progressmeter.c | 13 +++++-------- - progressmeter.h | 4 ++-- - scp.c | 2 +- - sftp-client.c | 2 +- - 4 files changed, 9 insertions(+), 12 deletions(-) - -diff --git a/progressmeter.c b/progressmeter.c -index add462d..e385c12 100644 ---- a/progressmeter.c -+++ b/progressmeter.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ -+/* $OpenBSD: progressmeter.c,v 1.47 2019/01/24 16:52:17 dtucker Exp $ */ - /* - * Copyright (c) 2003 Nils Nordman. All rights reserved. - * -@@ -59,9 +59,6 @@ static void format_rate(char *, int, off_t); - static void sig_winch(int); - static void setscreensize(void); - --/* updates the progressmeter to reflect the current state of the transfer */ --void refresh_progress_meter(void); -- - /* signal handler for updating the progress meter */ - static void sig_alarm(int); - -@@ -120,7 +117,7 @@ format_size(char *buf, int size, off_t bytes) - } - - void --refresh_progress_meter(void) -+refresh_progress_meter(int force_update) - { - char buf[MAX_WINSIZE + 1]; - off_t transferred; -@@ -131,7 +128,7 @@ refresh_progress_meter(void) - int hours, minutes, seconds; - int file_len; - -- if ((!alarm_fired && !win_resized) || !can_output()) -+ if ((!force_update && !alarm_fired && !win_resized) || !can_output()) - return; - alarm_fired = 0; - -@@ -254,7 +251,7 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) - bytes_per_second = 0; - - setscreensize(); -- refresh_progress_meter(); -+ refresh_progress_meter(1); - - signal(SIGALRM, sig_alarm); - signal(SIGWINCH, sig_winch); -@@ -271,7 +268,7 @@ stop_progress_meter(void) - - /* Ensure we complete the progress */ - if (cur_pos != end_pos) -- refresh_progress_meter(); -+ refresh_progress_meter(1); - - atomicio(vwrite, STDOUT_FILENO, "\n", 1); - } -diff --git a/progressmeter.h b/progressmeter.h -index 8f66780..1703ea7 100644 ---- a/progressmeter.h -+++ b/progressmeter.h -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ -+/* $OpenBSD: progressmeter.h,v 1.5 2019/01/24 16:52:17 dtucker Exp $ */ - /* - * Copyright (c) 2002 Nils Nordman. All rights reserved. - * -@@ -24,5 +24,5 @@ - */ - - void start_progress_meter(const char *, off_t, off_t *); --void refresh_progress_meter(void); -+void refresh_progress_meter(int); - void stop_progress_meter(void); -diff --git a/scp.c b/scp.c -index 4a342a6..0587cec 100644 ---- a/scp.c -+++ b/scp.c -@@ -585,7 +585,7 @@ scpio(void *_cnt, size_t s) - off_t *cnt = (off_t *)_cnt; - - *cnt += s; -- refresh_progress_meter(); -+ refresh_progress_meter(0); - if (limit_kbps > 0) - bandwidth_limit(&bwlimit, s); - return 0; -diff --git a/sftp-client.c b/sftp-client.c -index 2bc698f..cf2887a 100644 ---- a/sftp-client.c -+++ b/sftp-client.c -@@ -101,7 +101,7 @@ sftpio(void *_bwlimit, size_t amount) - { - struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; - -- refresh_progress_meter(); -+ refresh_progress_meter(0); - if (bwlimit != NULL) - bandwidth_limit(bwlimit, amount); - return 0; --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch deleted file mode 100644 index c5b3baece9..0000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2018-20685.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6010c0303a422a9c5fa8860c061bf7105eb7f8b2 Mon Sep 17 00:00:00 2001 -From: "djm@openbsd.org" <djm@openbsd.org> -Date: Fri, 16 Nov 2018 03:03:10 +0000 -Subject: [PATCH] upstream: disallow empty incoming filename or ones that refer - to the - -current directory; based on report/patch from Harry Sintonen - -OpenBSD-Commit-ID: f27651b30eaee2df49540ab68d030865c04f6de9 - -CVE: CVE-2018-20685 -Upstream-Status: Backport -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - scp.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/scp.c b/scp.c -index 60682c6..4f3fdcd 100644 ---- a/scp.c -+++ b/scp.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: scp.c,v 1.197 2018/06/01 04:31:48 dtucker Exp $ */ -+/* $OpenBSD: scp.c,v 1.198 2018/11/16 03:03:10 djm Exp $ */ - /* - * scp - secure remote copy. This is basically patched BSD rcp which - * uses ssh to do the data transfer (instead of using rcmd). -@@ -1106,7 +1106,8 @@ sink(int argc, char **argv) - SCREWUP("size out of range"); - size = (off_t)ull; - -- if ((strchr(cp, '/') != NULL) || (strcmp(cp, "..") == 0)) { -+ if (*cp == '\0' || strchr(cp, '/') != NULL || -+ strcmp(cp, ".") == 0 || strcmp(cp, "..") == 0) { - run_err("error: unexpected filename: %s", cp); - exit(1); - } --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch deleted file mode 100644 index dabe4a6c97..0000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6109.patch +++ /dev/null @@ -1,275 +0,0 @@ -From 15d47c3bd8551521240bc459fc004c280daef817 Mon Sep 17 00:00:00 2001 -From: "dtucker@openbsd.org" <dtucker@openbsd.org> -Date: Wed, 23 Jan 2019 08:01:46 +0000 -Subject: [PATCH] upstream: Sanitize scp filenames via snmprintf. To do this we - move - -the progressmeter formatting outside of signal handler context and have the -atomicio callback called for EINTR too. bz#2434 with contributions from djm -and jjelen at redhat.com, ok djm@ - -OpenBSD-Commit-ID: 1af61c1f70e4f3bd8ab140b9f1fa699481db57d8 -CVE: CVE-2019-6109 -Upstream-Status: Backport -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - atomicio.c | 20 +++++++++++++++----- - progressmeter.c | 53 ++++++++++++++++++++++++----------------------------- - progressmeter.h | 3 ++- - scp.c | 1 + - sftp-client.c | 16 +++++++++------- - 5 files changed, 51 insertions(+), 42 deletions(-) - -diff --git a/atomicio.c b/atomicio.c -index f854a06..d91bd76 100644 ---- a/atomicio.c -+++ b/atomicio.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: atomicio.c,v 1.28 2016/07/27 23:18:12 djm Exp $ */ -+/* $OpenBSD: atomicio.c,v 1.29 2019/01/23 08:01:46 dtucker Exp $ */ - /* - * Copyright (c) 2006 Damien Miller. All rights reserved. - * Copyright (c) 2005 Anil Madhavapeddy. All rights reserved. -@@ -65,9 +65,14 @@ atomicio6(ssize_t (*f) (int, void *, size_t), int fd, void *_s, size_t n, - res = (f) (fd, s + pos, n - pos); - switch (res) { - case -1: -- if (errno == EINTR) -+ if (errno == EINTR) { -+ /* possible SIGALARM, update callback */ -+ if (cb != NULL && cb(cb_arg, 0) == -1) { -+ errno = EINTR; -+ return pos; -+ } - continue; -- if (errno == EAGAIN || errno == EWOULDBLOCK) { -+ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { - #ifndef BROKEN_READ_COMPARISON - (void)poll(&pfd, 1, -1); - #endif -@@ -122,9 +127,14 @@ atomiciov6(ssize_t (*f) (int, const struct iovec *, int), int fd, - res = (f) (fd, iov, iovcnt); - switch (res) { - case -1: -- if (errno == EINTR) -+ if (errno == EINTR) { -+ /* possible SIGALARM, update callback */ -+ if (cb != NULL && cb(cb_arg, 0) == -1) { -+ errno = EINTR; -+ return pos; -+ } - continue; -- if (errno == EAGAIN || errno == EWOULDBLOCK) { -+ } else if (errno == EAGAIN || errno == EWOULDBLOCK) { - #ifndef BROKEN_READV_COMPARISON - (void)poll(&pfd, 1, -1); - #endif -diff --git a/progressmeter.c b/progressmeter.c -index fe9bf52..add462d 100644 ---- a/progressmeter.c -+++ b/progressmeter.c -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.c,v 1.45 2016/06/30 05:17:05 dtucker Exp $ */ -+/* $OpenBSD: progressmeter.c,v 1.46 2019/01/23 08:01:46 dtucker Exp $ */ - /* - * Copyright (c) 2003 Nils Nordman. All rights reserved. - * -@@ -31,6 +31,7 @@ - - #include <errno.h> - #include <signal.h> -+#include <stdarg.h> - #include <stdio.h> - #include <string.h> - #include <time.h> -@@ -39,6 +40,7 @@ - #include "progressmeter.h" - #include "atomicio.h" - #include "misc.h" -+#include "utf8.h" - - #define DEFAULT_WINSIZE 80 - #define MAX_WINSIZE 512 -@@ -61,7 +63,7 @@ static void setscreensize(void); - void refresh_progress_meter(void); - - /* signal handler for updating the progress meter */ --static void update_progress_meter(int); -+static void sig_alarm(int); - - static double start; /* start progress */ - static double last_update; /* last progress update */ -@@ -74,6 +76,7 @@ static long stalled; /* how long we have been stalled */ - static int bytes_per_second; /* current speed in bytes per second */ - static int win_size; /* terminal window size */ - static volatile sig_atomic_t win_resized; /* for window resizing */ -+static volatile sig_atomic_t alarm_fired; - - /* units for format_size */ - static const char unit[] = " KMGT"; -@@ -126,9 +129,17 @@ refresh_progress_meter(void) - off_t bytes_left; - int cur_speed; - int hours, minutes, seconds; -- int i, len; - int file_len; - -+ if ((!alarm_fired && !win_resized) || !can_output()) -+ return; -+ alarm_fired = 0; -+ -+ if (win_resized) { -+ setscreensize(); -+ win_resized = 0; -+ } -+ - transferred = *counter - (cur_pos ? cur_pos : start_pos); - cur_pos = *counter; - now = monotime_double(); -@@ -158,16 +169,11 @@ refresh_progress_meter(void) - - /* filename */ - buf[0] = '\0'; -- file_len = win_size - 35; -+ file_len = win_size - 36; - if (file_len > 0) { -- len = snprintf(buf, file_len + 1, "\r%s", file); -- if (len < 0) -- len = 0; -- if (len >= file_len + 1) -- len = file_len; -- for (i = len; i < file_len; i++) -- buf[i] = ' '; -- buf[file_len] = '\0'; -+ buf[0] = '\r'; -+ snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s", -+ file_len * -1, file); - } - - /* percent of transfer done */ -@@ -228,22 +234,11 @@ refresh_progress_meter(void) - - /*ARGSUSED*/ - static void --update_progress_meter(int ignore) -+sig_alarm(int ignore) - { -- int save_errno; -- -- save_errno = errno; -- -- if (win_resized) { -- setscreensize(); -- win_resized = 0; -- } -- if (can_output()) -- refresh_progress_meter(); -- -- signal(SIGALRM, update_progress_meter); -+ signal(SIGALRM, sig_alarm); -+ alarm_fired = 1; - alarm(UPDATE_INTERVAL); -- errno = save_errno; - } - - void -@@ -259,10 +254,9 @@ start_progress_meter(const char *f, off_t filesize, off_t *ctr) - bytes_per_second = 0; - - setscreensize(); -- if (can_output()) -- refresh_progress_meter(); -+ refresh_progress_meter(); - -- signal(SIGALRM, update_progress_meter); -+ signal(SIGALRM, sig_alarm); - signal(SIGWINCH, sig_winch); - alarm(UPDATE_INTERVAL); - } -@@ -286,6 +280,7 @@ stop_progress_meter(void) - static void - sig_winch(int sig) - { -+ signal(SIGWINCH, sig_winch); - win_resized = 1; - } - -diff --git a/progressmeter.h b/progressmeter.h -index bf179dc..8f66780 100644 ---- a/progressmeter.h -+++ b/progressmeter.h -@@ -1,4 +1,4 @@ --/* $OpenBSD: progressmeter.h,v 1.3 2015/01/14 13:54:13 djm Exp $ */ -+/* $OpenBSD: progressmeter.h,v 1.4 2019/01/23 08:01:46 dtucker Exp $ */ - /* - * Copyright (c) 2002 Nils Nordman. All rights reserved. - * -@@ -24,4 +24,5 @@ - */ - - void start_progress_meter(const char *, off_t, off_t *); -+void refresh_progress_meter(void); - void stop_progress_meter(void); -diff --git a/scp.c b/scp.c -index 4f3fdcd..4a342a6 100644 ---- a/scp.c -+++ b/scp.c -@@ -585,6 +585,7 @@ scpio(void *_cnt, size_t s) - off_t *cnt = (off_t *)_cnt; - - *cnt += s; -+ refresh_progress_meter(); - if (limit_kbps > 0) - bandwidth_limit(&bwlimit, s); - return 0; -diff --git a/sftp-client.c b/sftp-client.c -index 4986d6d..2bc698f 100644 ---- a/sftp-client.c -+++ b/sftp-client.c -@@ -101,7 +101,9 @@ sftpio(void *_bwlimit, size_t amount) - { - struct bwlimit *bwlimit = (struct bwlimit *)_bwlimit; - -- bandwidth_limit(bwlimit, amount); -+ refresh_progress_meter(); -+ if (bwlimit != NULL) -+ bandwidth_limit(bwlimit, amount); - return 0; - } - -@@ -121,8 +123,8 @@ send_msg(struct sftp_conn *conn, struct sshbuf *m) - iov[1].iov_base = (u_char *)sshbuf_ptr(m); - iov[1].iov_len = sshbuf_len(m); - -- if (atomiciov6(writev, conn->fd_out, iov, 2, -- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_out) != -+ if (atomiciov6(writev, conn->fd_out, iov, 2, sftpio, -+ conn->limit_kbps > 0 ? &conn->bwlimit_out : NULL) != - sshbuf_len(m) + sizeof(mlen)) - fatal("Couldn't send packet: %s", strerror(errno)); - -@@ -138,8 +140,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) - - if ((r = sshbuf_reserve(m, 4, &p)) != 0) - fatal("%s: buffer error: %s", __func__, ssh_err(r)); -- if (atomicio6(read, conn->fd_in, p, 4, -- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) != 4) { -+ if (atomicio6(read, conn->fd_in, p, 4, sftpio, -+ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) != 4) { - if (errno == EPIPE || errno == ECONNRESET) - fatal("Connection closed"); - else -@@ -157,8 +159,8 @@ get_msg_extended(struct sftp_conn *conn, struct sshbuf *m, int initial) - - if ((r = sshbuf_reserve(m, msg_len, &p)) != 0) - fatal("%s: buffer error: %s", __func__, ssh_err(r)); -- if (atomicio6(read, conn->fd_in, p, msg_len, -- conn->limit_kbps > 0 ? sftpio : NULL, &conn->bwlimit_in) -+ if (atomicio6(read, conn->fd_in, p, msg_len, sftpio, -+ conn->limit_kbps > 0 ? &conn->bwlimit_in : NULL) - != msg_len) { - if (errno == EPIPE) - fatal("Connection closed"); --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch b/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch deleted file mode 100644 index e498da3819..0000000000 --- a/poky/meta/recipes-connectivity/openssh/openssh/CVE-2019-6111.patch +++ /dev/null @@ -1,187 +0,0 @@ -From 15cc3497367d2e9729353b3df75518548e845c82 Mon Sep 17 00:00:00 2001 -From: "djm@openbsd.org" <djm@openbsd.org> -Date: Sat, 26 Jan 2019 22:41:28 +0000 -Subject: [PATCH] upstream: check in scp client that filenames sent during - -remote->local directory copies satisfy the wildcard specified by the user. - -This checking provides some protection against a malicious server -sending unexpected filenames, but it comes at a risk of rejecting wanted -files due to differences between client and server wildcard expansion rules. - -For this reason, this also adds a new -T flag to disable the check. - -reported by Harry Sintonen -fix approach suggested by markus@; -has been in snaps for ~1wk courtesy deraadt@ - -OpenBSD-Commit-ID: 00f44b50d2be8e321973f3c6d014260f8f7a8eda - -CVE: CVE-2019-6111 -Upstream-Status: Backport -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - scp.1 | 12 +++++++++++- - scp.c | 37 +++++++++++++++++++++++++++++-------- - 2 files changed, 40 insertions(+), 9 deletions(-) - -diff --git a/scp.1 b/scp.1 -index 0e5cc1b..397e770 100644 ---- a/scp.1 -+++ b/scp.1 -@@ -18,7 +18,7 @@ - .Nd secure copy (remote file copy program) - .Sh SYNOPSIS - .Nm scp --.Op Fl 346BCpqrv -+.Op Fl 346BCpqrTv - .Op Fl c Ar cipher - .Op Fl F Ar ssh_config - .Op Fl i Ar identity_file -@@ -208,6 +208,16 @@ to use for the encrypted connection. - The program must understand - .Xr ssh 1 - options. -+.It Fl T -+Disable strict filename checking. -+By default when copying files from a remote host to a local directory -+.Nm -+checks that the received filenames match those requested on the command-line -+to prevent the remote end from sending unexpected or unwanted files. -+Because of differences in how various operating systems and shells interpret -+filename wildcards, these checks may cause wanted files to be rejected. -+This option disables these checks at the expense of fully trusting that -+the server will not send unexpected filenames. - .It Fl v - Verbose mode. - Causes -diff --git a/scp.c b/scp.c -index 0587cec..b2d331e 100644 ---- a/scp.c -+++ b/scp.c -@@ -94,6 +94,7 @@ - #include <dirent.h> - #include <errno.h> - #include <fcntl.h> -+#include <fnmatch.h> - #include <limits.h> - #include <locale.h> - #include <pwd.h> -@@ -375,14 +376,14 @@ void verifydir(char *); - struct passwd *pwd; - uid_t userid; - int errs, remin, remout; --int pflag, iamremote, iamrecursive, targetshouldbedirectory; -+int Tflag, pflag, iamremote, iamrecursive, targetshouldbedirectory; - - #define CMDNEEDS 64 - char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */ - - int response(void); - void rsource(char *, struct stat *); --void sink(int, char *[]); -+void sink(int, char *[], const char *); - void source(int, char *[]); - void tolocal(int, char *[]); - void toremote(int, char *[]); -@@ -421,8 +422,9 @@ main(int argc, char **argv) - addargs(&args, "-oRemoteCommand=none"); - addargs(&args, "-oRequestTTY=no"); - -- fflag = tflag = 0; -- while ((ch = getopt(argc, argv, "dfl:prtvBCc:i:P:q12346S:o:F:")) != -1) -+ fflag = Tflag = tflag = 0; -+ while ((ch = getopt(argc, argv, -+ "dfl:prtTvBCc:i:P:q12346S:o:F:")) != -1) { - switch (ch) { - /* User-visible flags. */ - case '1': -@@ -501,9 +503,13 @@ main(int argc, char **argv) - setmode(0, O_BINARY); - #endif - break; -+ case 'T': -+ Tflag = 1; -+ break; - default: - usage(); - } -+ } - argc -= optind; - argv += optind; - -@@ -534,7 +540,7 @@ main(int argc, char **argv) - } - if (tflag) { - /* Receive data. */ -- sink(argc, argv); -+ sink(argc, argv, NULL); - exit(errs != 0); - } - if (argc < 2) -@@ -792,7 +798,7 @@ tolocal(int argc, char **argv) - continue; - } - free(bp); -- sink(1, argv + argc - 1); -+ sink(1, argv + argc - 1, src); - (void) close(remin); - remin = remout = -1; - } -@@ -968,7 +974,7 @@ rsource(char *name, struct stat *statp) - (sizeof(type) != 4 && sizeof(type) != 8)) - - void --sink(int argc, char **argv) -+sink(int argc, char **argv, const char *src) - { - static BUF buffer; - struct stat stb; -@@ -984,6 +990,7 @@ sink(int argc, char **argv) - unsigned long long ull; - int setimes, targisdir, wrerrno = 0; - char ch, *cp, *np, *targ, *why, *vect[1], buf[2048], visbuf[2048]; -+ char *src_copy = NULL, *restrict_pattern = NULL; - struct timeval tv[2]; - - #define atime tv[0] -@@ -1008,6 +1015,17 @@ sink(int argc, char **argv) - (void) atomicio(vwrite, remout, "", 1); - if (stat(targ, &stb) == 0 && S_ISDIR(stb.st_mode)) - targisdir = 1; -+ if (src != NULL && !iamrecursive && !Tflag) { -+ /* -+ * Prepare to try to restrict incoming filenames to match -+ * the requested destination file glob. -+ */ -+ if ((src_copy = strdup(src)) == NULL) -+ fatal("strdup failed"); -+ if ((restrict_pattern = strrchr(src_copy, '/')) != NULL) { -+ *restrict_pattern++ = '\0'; -+ } -+ } - for (first = 1;; first = 0) { - cp = buf; - if (atomicio(read, remin, cp, 1) != 1) -@@ -1112,6 +1130,9 @@ sink(int argc, char **argv) - run_err("error: unexpected filename: %s", cp); - exit(1); - } -+ if (restrict_pattern != NULL && -+ fnmatch(restrict_pattern, cp, 0) != 0) -+ SCREWUP("filename does not match request"); - if (targisdir) { - static char *namebuf; - static size_t cursize; -@@ -1149,7 +1170,7 @@ sink(int argc, char **argv) - goto bad; - } - vect[0] = xstrdup(np); -- sink(1, vect); -+ sink(1, vect, src); - if (setimes) { - setimes = 0; - if (utimes(vect[0], tv) < 0) --- -2.7.4 - diff --git a/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch b/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch index 7e043a2db1..20036da931 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch +++ b/poky/meta/recipes-connectivity/openssh/openssh/fix-potential-signed-overflow-in-pointer-arithmatic.patch @@ -11,14 +11,17 @@ would lead to program abort. Upstream-Status: Submitted [http://bugzilla.mindrot.org/show_bug.cgi?id=2608] Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com> + +Complete the fix +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- - openbsd-compat/strlcat.c | 8 ++++++-- - openbsd-compat/strlcpy.c | 8 ++++++-- - openbsd-compat/strnlen.c | 8 ++++++-- - 3 files changed, 18 insertions(+), 6 deletions(-) + openbsd-compat/strlcat.c | 10 +++++++--- + openbsd-compat/strlcpy.c | 8 ++++++-- + openbsd-compat/strnlen.c | 8 ++++++-- + 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/openbsd-compat/strlcat.c b/openbsd-compat/strlcat.c -index bcc1b61..e758ebf 100644 +index bcc1b61..124e1e3 100644 --- a/openbsd-compat/strlcat.c +++ b/openbsd-compat/strlcat.c @@ -23,6 +23,7 @@ @@ -29,6 +32,15 @@ index bcc1b61..e758ebf 100644 /* * Appends src to string dst of size siz (unlike strncat, siz is the +@@ -42,7 +43,7 @@ strlcat(char *dst, const char *src, size_t siz) + /* Find the end of dst and adjust bytes left but don't go past end */ + while (n-- != 0 && *d != '\0') + d++; +- dlen = d - dst; ++ dlen = (uintptr_t)d - (uintptr_t)dst; + n = siz - dlen; + + if (n == 0) @@ -55,8 +56,11 @@ strlcat(char *dst, const char *src, size_t siz) s++; } @@ -70,7 +82,7 @@ index b4b1b60..b06f374 100644 #endif /* !HAVE_STRLCPY */ diff --git a/openbsd-compat/strnlen.c b/openbsd-compat/strnlen.c -index 93d5155..9b8de5d 100644 +index 7ad3573..7040f1f 100644 --- a/openbsd-compat/strnlen.c +++ b/openbsd-compat/strnlen.c @@ -23,6 +23,7 @@ @@ -95,5 +107,5 @@ index 93d5155..9b8de5d 100644 } #endif -- -1.9.1 +2.17.1 diff --git a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb index 3b4ed7223b..0a5c2ffae5 100644 --- a/poky/meta/recipes-connectivity/openssh/openssh_7.9p1.bb +++ b/poky/meta/recipes-connectivity/openssh/openssh_8.0p1.bb @@ -24,13 +24,9 @@ SRC_URI = "http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar file://fix-potential-signed-overflow-in-pointer-arithmatic.patch \ file://sshd_check_keys \ file://add-test-support-for-busybox.patch \ - file://CVE-2018-20685.patch \ - file://CVE-2019-6109.patch \ - file://0001-upstream-Have-progressmeter-force-an-update-at-the-b.patch \ - file://CVE-2019-6111.patch \ " -SRC_URI[md5sum] = "c6af50b7a474d04726a5aa747a5dce8f" -SRC_URI[sha256sum] = "6b4b3ba2253d84ed3771c8050728d597c91cfce898713beb7b64a305b6f11aad" +SRC_URI[md5sum] = "bf050f002fe510e1daecd39044e1122d" +SRC_URI[sha256sum] = "bd943879e69498e8031eb6b7f44d08cdc37d59a7ab689aa0b437320c3481fd68" PAM_SRC_URI = "file://sshd" @@ -149,7 +145,8 @@ FILES_${PN}-keygen = "${bindir}/ssh-keygen" RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen" RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}" RRECOMMENDS_${PN}-sshd_append_class-target = " rng-tools" -RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed" +# gdb would make attach-ptrace test pass rather than skip but not worth the build dependencies +RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make sed sudo coreutils" RPROVIDES_${PN}-ssh = "ssh" RPROVIDES_${PN}-sshd = "sshd" diff --git a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch b/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch deleted file mode 100644 index 900ef97fce..0000000000 --- a/poky/meta/recipes-connectivity/openssl/openssl/CVE-2019-1543.patch +++ /dev/null @@ -1,69 +0,0 @@ -Upstream-Status: Backport [https://github.com/openssl/openssl/commit/f426625b6ae9a7831010750490a5f0ad689c5ba3] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From f426625b6ae9a7831010750490a5f0ad689c5ba3 Mon Sep 17 00:00:00 2001 -From: Matt Caswell <matt@openssl.org> -Date: Tue, 5 Mar 2019 14:39:15 +0000 -Subject: [PATCH] Prevent over long nonces in ChaCha20-Poly1305 - -ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for -every encryption operation. RFC 7539 specifies that the nonce value (IV) -should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and -front pads the nonce with 0 bytes if it is less than 12 bytes. However it -also incorrectly allows a nonce to be set of up to 16 bytes. In this case -only the last 12 bytes are significant and any additional leading bytes are -ignored. - -It is a requirement of using this cipher that nonce values are unique. -Messages encrypted using a reused nonce value are susceptible to serious -confidentiality and integrity attacks. If an application changes the -default nonce length to be longer than 12 bytes and then makes a change to -the leading bytes of the nonce expecting the new value to be a new unique -nonce then such an application could inadvertently encrypt messages with a -reused nonce. - -Additionally the ignored bytes in a long nonce are not covered by the -integrity guarantee of this cipher. Any application that relies on the -integrity of these ignored leading bytes of a long nonce may be further -affected. - -Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe -because no such use sets such a long nonce value. However user -applications that use this cipher directly and set a non-default nonce -length to be longer than 12 bytes may be vulnerable. - -CVE: CVE-2019-1543 - -Fixes #8345 - -Reviewed-by: Paul Dale <paul.dale@oracle.com> -Reviewed-by: Richard Levitte <levitte@openssl.org> -(Merged from https://github.com/openssl/openssl/pull/8406) - -(cherry picked from commit 2a3d0ee9d59156c48973592331404471aca886d6) ---- - crypto/evp/e_chacha20_poly1305.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/crypto/evp/e_chacha20_poly1305.c b/crypto/evp/e_chacha20_poly1305.c -index c1917bb86a6..d3e2c622a1b 100644 ---- a/crypto/evp/e_chacha20_poly1305.c -+++ b/crypto/evp/e_chacha20_poly1305.c -@@ -30,6 +30,8 @@ typedef struct { - - #define data(ctx) ((EVP_CHACHA_KEY *)(ctx)->cipher_data) - -+#define CHACHA20_POLY1305_MAX_IVLEN 12 -+ - static int chacha_init_key(EVP_CIPHER_CTX *ctx, - const unsigned char user_key[CHACHA_KEY_SIZE], - const unsigned char iv[CHACHA_CTR_SIZE], int enc) -@@ -533,7 +535,7 @@ static int chacha20_poly1305_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, - return 1; - - case EVP_CTRL_AEAD_SET_IVLEN: -- if (arg <= 0 || arg > CHACHA_CTR_SIZE) -+ if (arg <= 0 || arg > CHACHA20_POLY1305_MAX_IVLEN) - return 0; - actx->nonce_len = arg; - return 1; diff --git a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch index 7c4b084f3d..b7c0e9697f 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch +++ b/poky/meta/recipes-connectivity/openssl/openssl/afalg.patch @@ -18,14 +18,14 @@ index 3baa8ce..9ef52ed 100755 - ($mi2) = $mi2 =~ /(\d+)/; - my $ver = $ma*10000 + $mi1*100 + $mi2; - if ($ver < $minver) { -- $disabled{afalgeng} = "too-old-kernel"; +- disable('too-old-kernel', 'afalgeng'); - } else { - push @{$config{engdirs}}, "afalg"; - } - } else { -- $disabled{afalgeng} = "cross-compiling"; +- disable('cross-compiling', 'afalgeng'); - } + push @{$config{engdirs}}, "afalg"; } else { - $disabled{afalgeng} = "not-linux"; + disable('not-linux', 'afalgeng'); } diff --git a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb index 8bb3a309a2..534be57540 100644 --- a/poky/meta/recipes-connectivity/openssl/openssl_1.1.1b.bb +++ b/poky/meta/recipes-connectivity/openssl/openssl_1.1.1c.bb @@ -16,15 +16,14 @@ SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \ file://0001-skip-test_symbol_presence.patch \ file://0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch \ file://afalg.patch \ - file://CVE-2019-1543.patch \ " SRC_URI_append_class-nativesdk = " \ file://environment.d-openssl.sh \ " -SRC_URI[md5sum] = "4532712e7bcc9414f5bce995e4e13930" -SRC_URI[sha256sum] = "5c557b023230413dfb0756f3137a13e6d726838ccd1430888ad15bfb2b43ea4b" +SRC_URI[md5sum] = "15e21da6efe8aa0e0768ffd8cd37a5f6" +SRC_URI[sha256sum] = "f6fb3079ad15076154eda9413fed42877d668e7069d9b87396d0804fdb3f4c90" inherit lib_package multilib_header ptest @@ -167,8 +166,8 @@ do_install_ptest () { cp -r ${S}/external ${B}/test ${S}/test ${B}/fuzz ${S}/util ${B}/util ${D}${PTEST_PATH} # For test_shlibload - ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/libcrypto.so - ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/libssl.so + ln -s ${libdir}/libcrypto.so.1.1 ${D}${PTEST_PATH}/ + ln -s ${libdir}/libssl.so.1.1 ${D}${PTEST_PATH}/ install -d ${D}${PTEST_PATH}/apps ln -s ${bindir}/openssl ${D}${PTEST_PATH}/apps diff --git a/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch b/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch deleted file mode 100644 index 4bbd36766d..0000000000 --- a/poky/meta/recipes-connectivity/socat/socat/0001-define-NETDB_INTERNAL-to-1-if-not-available.patch +++ /dev/null @@ -1,32 +0,0 @@ -From e6a7d96fa3675bdd3f4d7a3d7682381789eef22f Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 15 Feb 2016 20:25:34 +0000 -Subject: [PATCH] define NETDB_INTERNAL to -1 if not available - -helps build with musl - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - compat.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/compat.h b/compat.h -index c8bee4d..bfb013a 100644 ---- a/compat.h -+++ b/compat.h -@@ -666,6 +666,10 @@ typedef int sig_atomic_t; - # define NETDB_INTERNAL h_NETDB_INTERNAL - #endif - -+#if !defined(NETDB_INTERNAL) -+# define NETDB_INTERNAL (-1) -+#endif -+ - #ifndef INET_ADDRSTRLEN - # define INET_ADDRSTRLEN sizeof(struct sockaddr_in) - #endif --- -2.7.1 - diff --git a/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb index 7a889a3801..067f7c6444 100644 --- a/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb +++ b/poky/meta/recipes-connectivity/socat/socat_1.7.3.3.bb @@ -12,7 +12,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://README;beginline=257;endline=287;md5=338c05eadd013872abb1d6e198e10a3f" SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \ - file://0001-define-NETDB_INTERNAL-to-1-if-not-available.patch \ " SRC_URI[md5sum] = "b2a032a47b8b89a18485697fa975154f" diff --git a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb index a83620e859..c347daf501 100644 --- a/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb +++ b/poky/meta/recipes-core/busybox/busybox-inittab_1.30.1.bb @@ -30,3 +30,5 @@ PACKAGE_ARCH = "${MACHINE_ARCH}" FILES_${PN} = "${sysconfdir}/inittab" CONFFILES_${PN} = "${sysconfdir}/inittab" + +RCONFLICTS_${PN} = "sysvinit-inittab" diff --git a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb index b7383bd2a6..9afbc2b6a1 100644 --- a/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb +++ b/poky/meta/recipes-core/dbus/dbus-glib_0.110.bb @@ -2,7 +2,7 @@ SUMMARY = "High level language (GLib) binding for D-Bus" DESCRIPTION = "GLib bindings for the D-Bus message bus that integrate \ the D-Bus library with the GLib thread abstraction and main loop." HOMEPAGE = "http://www.freedesktop.org/Software/dbus" -LICENSE = "AFL-2 | GPLv2+" +LICENSE = "AFL-2.1 | GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=cf5b3a2f7083750d504333114e738656 \ file://dbus/dbus-glib.h;beginline=7;endline=21;md5=7755c9d7abccd5dbd25a6a974538bb3c" SECTION = "base" diff --git a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb index f95b31a863..bea0e74ed0 100644 --- a/poky/meta/recipes-core/dbus/dbus-test_1.12.12.bb +++ b/poky/meta/recipes-core/dbus/dbus-test_1.12.16.bb @@ -1,7 +1,7 @@ SUMMARY = "D-Bus test package (for D-bus functionality testing only)" HOMEPAGE = "http://dbus.freedesktop.org" SECTION = "base" -LICENSE = "AFL-2 | GPLv2+" +LICENSE = "AFL-2.1 | GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" @@ -16,8 +16,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ " -SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8" -SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8" +SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890" +SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80" S="${WORKDIR}/dbus-${PV}" FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" diff --git a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb b/poky/meta/recipes-core/dbus/dbus_1.12.16.bb index 6e9be79ffc..05716608b0 100644 --- a/poky/meta/recipes-core/dbus/dbus_1.12.12.bb +++ b/poky/meta/recipes-core/dbus/dbus_1.12.16.bb @@ -2,7 +2,7 @@ SUMMARY = "D-Bus message bus" DESCRIPTION = "D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a \"single instance\" application or daemon, and to launch applications and daemons on demand when their services are needed." HOMEPAGE = "http://dbus.freedesktop.org" SECTION = "base" -LICENSE = "AFL-2 | GPLv2+" +LICENSE = "AFL-2.1 | GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" DEPENDS = "expat virtual/libintl autoconf-archive" @@ -18,8 +18,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ " -SRC_URI[md5sum] = "ea11069521beeee4e47f0086596a43c8" -SRC_URI[sha256sum] = "9546f226011a1e5d9d77245fe5549ef25af4694053189d624d0d6ac127ecf5f8" +SRC_URI[md5sum] = "2dbeae80dfc9e3632320c6a53d5e8890" +SRC_URI[sha256sum] = "54a22d2fa42f2eb2a871f32811c6005b531b9613b1b93a0d269b05e7549fec80" inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even diff --git a/poky/meta/recipes-core/dropbear/dropbear.inc b/poky/meta/recipes-core/dropbear/dropbear.inc index 25376038f0..b74d186cd4 100644 --- a/poky/meta/recipes-core/dropbear/dropbear.inc +++ b/poky/meta/recipes-core/dropbear/dropbear.inc @@ -9,6 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=a5ec40cafba26fc4396d0b550f824e01" DEPENDS = "zlib virtual/crypt" RPROVIDES_${PN} = "ssh sshd" +RCONFLICTS_${PN} = "openssh-sshd openssh" DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch index f246254942..a3d71f2b7a 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Install-gio-querymodules-as-libexec_PROGRAM.patch @@ -1,4 +1,4 @@ -From 17fc9230fb932432d8faaaabf8c56fdc4845495e Mon Sep 17 00:00:00 2001 +From d29dfba67b1808eea6d428085f95b6e42cf2d1e4 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Tue, 22 Mar 2016 15:14:58 +0200 Subject: [PATCH] Install gio-querymodules as libexec_PROGRAM @@ -10,29 +10,14 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Upstream-Status: Inappropriate [OE specific] --- - gio/Makefile.am | 3 ++- gio/meson.build | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) + 1 file changed, 1 insertion(+) -diff --git a/gio/Makefile.am b/gio/Makefile.am -index e14cad2..bf2bcc7 100644 ---- a/gio/Makefile.am -+++ b/gio/Makefile.am -@@ -835,7 +835,8 @@ gio.def: libgio-2.0.la - gio-2.0.lib: libgio-2.0.la gio.def - $(AM_V_GEN) lib.exe -machine:@LIB_EXE_MACHINE_FLAG@ -name:libgio-2.0-$(LT_CURRENT_MINUS_AGE).dll -def:$(builddir)/gio.def -out:$@ - --bin_PROGRAMS = gio-querymodules glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop -+bin_PROGRAMS = glib-compile-schemas glib-compile-resources gsettings gio-launch-desktop -+libexec_PROGRAMS = gio-querymodules - - glib_compile_resources_LDADD = libgio-2.0.la \ - $(top_builddir)/gobject/libgobject-2.0.la \ diff --git a/gio/meson.build b/gio/meson.build -index b83d8f5..85d8b14 100644 +index 4e5e021..90a741a 100644 --- a/gio/meson.build +++ b/gio/meson.build -@@ -925,6 +925,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu +@@ -940,6 +940,7 @@ gio_querymodules = executable('gio-querymodules', 'gio-querymodules.c', 'giomodu c_args : gio_c_args, # intl.lib is not compatible with SAFESEH link_args : noseh_link_args, diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch deleted file mode 100644 index f0c5d84ba7..0000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Revert-Use-absolute-paths-in-pkg-config-files.patch +++ /dev/null @@ -1,64 +0,0 @@ -From abc26aed7a28678dfcc20b21726a97c7c02ea73b Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Thu, 14 Feb 2019 14:55:15 +0800 -Subject: [PATCH] Revert "Use absolute paths in pkg-config files" - -This reverts commit e7a7c9b97776fa2a638d18ea3a931ba84e778f80. - -The glib pkgconfig files now contain absolute paths, but they're -target paths so when we used them from a sysroot it fails. Upstream -thinks that we should be setting -GLIB_MKENUMS=/path/to/sysroot/usr/bin/glib-mkenums but that really -doesn't scale. - -For now, we just revert the change to put absolute paths into -the sysroot. This should be re-evaluated when we move the recipe to use -meson. - -Upstream-Status: Inappropriate [Revert of an upstream commit] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - gio-2.0.pc.in | 7 +++---- - glib-2.0.pc.in | 7 +++---- - 2 files changed, 6 insertions(+), 8 deletions(-) - -diff --git a/gio-2.0.pc.in b/gio-2.0.pc.in -index d67e80839..526f0daa0 100644 ---- a/gio-2.0.pc.in -+++ b/gio-2.0.pc.in -@@ -5,11 +5,10 @@ includedir=@includedir@ - - datadir=@datadir@ - schemasdir=${datadir}/glib-2.0/schemas --bindir=@bindir@ - giomoduledir=@GIO_MODULE_DIR@ --glib_compile_schemas=${bindir}/glib-compile-schemas --glib_compile_resources=${bindir}/glib-compile-resources --gdbus_codegen=${bindir}/gdbus-codegen -+glib_compile_schemas=glib-compile-schemas -+glib_compile_resources=glib-compile-resources -+gdbus_codegen=gdbus-codegen - - Name: GIO - Description: glib I/O library -diff --git a/glib-2.0.pc.in b/glib-2.0.pc.in -index 3c5ea81dc..275fc0163 100644 ---- a/glib-2.0.pc.in -+++ b/glib-2.0.pc.in -@@ -3,10 +3,9 @@ exec_prefix=@exec_prefix@ - libdir=@libdir@ - includedir=@includedir@ - --bindir=@bindir@ --glib_genmarshal=${bindir}/glib-genmarshal --gobject_query=${bindir}/gobject-query --glib_mkenums=${bindir}/glib-mkenums -+glib_genmarshal=glib-genmarshal -+gobject_query=gobject-query -+glib_mkenums=glib-mkenums - - Name: GLib - Description: C Utility Library --- -2.17.1 - diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch index 2b7fab7bde..d22a646c5d 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-Set-host_machine-correctly-when-building-with-mingw3.patch @@ -1,4 +1,4 @@ -From 4169f11beedacfbb8c7934a4c99189d44935a6b9 Mon Sep 17 00:00:00 2001 +From f5a4b4c0579734923c9caf70944322efff57318b Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Wed, 13 Feb 2019 15:32:05 +0100 Subject: [PATCH] Set host_machine correctly when building with mingw32 @@ -8,13 +8,13 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- gio/tests/meson.build | 8 ++++---- - glib/tests/meson.build | 4 ++-- + glib/tests/meson.build | 2 +- meson.build | 3 +++ tests/meson.build | 2 +- - 4 files changed, 10 insertions(+), 7 deletions(-) + 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index 181f5c7..11a1f12 100644 +index 028b196..217ccb1 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build @@ -12,7 +12,7 @@ test_c_args = [ @@ -26,57 +26,48 @@ index 181f5c7..11a1f12 100644 common_gio_tests_deps += [iphlpapi_dep, winsock2, cc.find_library ('secur32')] endif -@@ -122,7 +122,7 @@ if dbus1_dep.found() +@@ -119,7 +119,7 @@ if dbus1_dep.found() endif # Test programs buildable on UNIX only -if host_machine.system() != 'windows' +if host_system != 'windows' - gio_tests += [{ + gio_tests += { 'file' : {}, 'gdbus-peer' : { -@@ -314,7 +314,7 @@ if host_machine.system() != 'windows' +@@ -327,7 +327,7 @@ if host_machine.system() != 'windows' endif # unix # Test programs buildable on Windows only -if host_machine.system() == 'windows' +if host_system == 'windows' - gio_tests += [{'win32-streams' : {}}] + gio_tests += {'win32-streams' : {}} endif -@@ -379,7 +379,7 @@ if cc.get_id() != 'msvc' - }] +@@ -392,7 +392,7 @@ if cc.get_id() != 'msvc' + } endif -if host_machine.system() != 'windows' +if host_system != 'windows' - test_extra_programs += [{ + test_extra_programs += { 'gdbus-example-unix-fd-client' : { 'install' : false, diff --git a/glib/tests/meson.build b/glib/tests/meson.build -index d7b6a7a..6678a08 100644 +index d54fc41..a4761fe 100644 --- a/glib/tests/meson.build +++ b/glib/tests/meson.build -@@ -45,7 +45,7 @@ glib_tests = { - 'hook' : {}, - 'hostutils' : {}, - 'include' : { -- 'skip' : host_machine.system() == 'windows', -+ 'skip' : host_system == 'windows', - }, - 'keyfile' : {}, - 'list' : {}, -@@ -112,7 +112,7 @@ glib_tests = { - 'utils' : {}, - 'unicode' : {}, - 'unix' : { -- 'skip' : host_machine.system() == 'windows', -+ 'skip' : host_system == 'windows', - }, - 'uri' : {}, - '1bit-mutex' : {}, +@@ -132,7 +132,7 @@ if glib_conf.has('HAVE_EVENTFD') + } + endif + +-if host_machine.system() == 'windows' ++if host_system == 'windows' + if winsock2.found() + glib_tests += { + 'gpoll' : { diff --git a/meson.build b/meson.build -index f7405a2..4348f20 100644 +index a745024..e87eae5 100644 --- a/meson.build +++ b/meson.build @@ -31,6 +31,9 @@ else @@ -90,15 +81,15 @@ index f7405a2..4348f20 100644 glib_version = meson.project_version() glib_api_version = '2.0' diff --git a/tests/meson.build b/tests/meson.build -index 80e45d7..9f3869f 100644 +index 11075dd..cd6067b 100644 --- a/tests/meson.build +++ b/tests/meson.build -@@ -67,7 +67,7 @@ test_extra_programs = { +@@ -66,7 +66,7 @@ test_extra_programs = { 'unicode-collate' : {}, } -if host_machine.system() != 'windows' +if host_system != 'windows' - tests += [{ + tests += { 'timeloop' : {}, - 'spawn-test' : {}, + 'iochannel-test' : {}, diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch index 5ccd3203fb..ff2629f06c 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/Enable-more-tests-while-cross-compiling.patch @@ -1,4 +1,4 @@ -From 1481c6d5f08f9dbbe10abc87b372a1f61db36476 Mon Sep 17 00:00:00 2001 +From 23cd157352ac8a53f992ddc6d6d01caadf1c79bc Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Mon, 9 Nov 2015 11:07:27 +0200 Subject: [PATCH] Enable more tests while cross-compiling @@ -9,54 +9,16 @@ case we can depend on glib-2.0-native. Upstream-Status: Inappropriate [OE specific] Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + --- - gio/tests/Makefile.am | 10 ++++++---- - gio/tests/meson.build | 15 ++++++++------- - tests/gobject/Makefile.am | 6 ++++++ - 3 files changed, 20 insertions(+), 11 deletions(-) + gio/tests/meson.build | 26 ++++++++++++++------------ + 1 file changed, 14 insertions(+), 12 deletions(-) -diff --git a/gio/tests/Makefile.am b/gio/tests/Makefile.am -index c4e7a92..633e85c 100644 ---- a/gio/tests/Makefile.am -+++ b/gio/tests/Makefile.am -@@ -583,10 +583,9 @@ test_programs += \ - endif - - # ----------------------------------------------------------------------------- --# The resources test is a bit more complicated, and we cannot build it when --# cross-compiling GIO because it requires running a binary... -+# The resources test is a bit more complicated, and requires glib-native -+# for running a binary - --if !CROSS_COMPILING - test_programs += resources - resources_SOURCES = resources.c - nodist_resources_SOURCES = test_resources.c test_resources2.c test_resources2.h -@@ -611,7 +610,11 @@ if !ENABLE_INSTALLED_TESTS - libresourceplugin_la_LDFLAGS += -rpath / - endif - -+if !CROSS_COMPILING - glib_compile_resources=$(top_builddir)/gio/glib-compile-resources -+else -+glib_compile_resources=glib-compile-resources -+endif - - test-generated.txt: test1.txt - $(AM_V_GEN) echo "Generated" > $@ && \ -@@ -632,7 +635,6 @@ test.gresource: test.gresource.xml Makefile $(shell $(glib_compile_resources) -- - - EXTRA_DIST += test.gresource.xml test1.txt test2.gresource.xml test2.txt test3.gresource.xml test3.txt test4.gresource.xml - CLEANFILES += test-generated.txt test_resources.c test_resources2.[ch] plugin_resources.c test.gresource --endif # !CROSS_COMPILING - - BUILT_SOURCES += giotypefuncs.inc - diff --git a/gio/tests/meson.build b/gio/tests/meson.build -index dca33bd..181f5c7 100644 +index 65f43e2..028b196 100644 --- a/gio/tests/meson.build +++ b/gio/tests/meson.build -@@ -173,7 +173,7 @@ if host_machine.system() != 'windows' +@@ -185,7 +185,7 @@ if host_machine.system() != 'windows' # Test programs that need to bring up a session bus (requires dbus-daemon) have_dbus_daemon = find_program('dbus-daemon', required : false).found() @@ -65,8 +27,8 @@ index dca33bd..181f5c7 100644 annotate_args = [ '--annotate', 'org.project.Bar', 'Key1', 'Value1', '--annotate', 'org.project.Bar', 'org.gtk.GDBus.Internal', 'Value2', -@@ -406,12 +406,13 @@ if installed_tests_enabled - install_subdir('cert-tests', install_dir : installed_tests_execdir) +@@ -453,12 +453,13 @@ if installed_tests_enabled + install_data('static-link.py', install_dir : installed_tests_execdir) endif -if not meson.is_cross_build() or meson.has_exe_wrapper() @@ -81,7 +43,7 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--generate-source', -@@ -428,7 +429,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() +@@ -482,7 +483,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() test_gresource = custom_target('test.gresource', input : 'test.gresource.xml', output : 'test.gresource', @@ -90,7 +52,7 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--sourcedir=' + meson.current_build_dir(), -@@ -439,7 +440,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() +@@ -493,7 +494,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() test_resources2_c = custom_target('test_resources2.c', input : 'test3.gresource.xml', output : 'test_resources2.c', @@ -99,7 +61,7 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--generate', -@@ -450,7 +451,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() +@@ -504,7 +505,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() test_resources2_h = custom_target('test_resources2.h', input : 'test3.gresource.xml', output : 'test_resources2.h', @@ -108,30 +70,54 @@ index dca33bd..181f5c7 100644 '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), '--generate', -@@ -461,7 +462,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() - test_resources_c = custom_target('test_resources.c', +@@ -516,7 +517,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() input : 'test2.gresource.xml', + depends : big_test_resource, output : 'test_resources.c', - command : [glib_compile_resources, + command : ['glib-compile-resources', '--target=@OUTPUT@', '--sourcedir=' + meson.current_source_dir(), - '--generate-source', -diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am -index 1bcefbe..77e646a 100644 ---- a/tests/gobject/Makefile.am -+++ b/tests/gobject/Makefile.am -@@ -51,7 +51,13 @@ if ENABLE_TIMELOOP - installed_test_programs += timeloop-closure - endif - -+# The marshal test requires running a binary, which means we require -+# glib-native when cross-compiling -+if !CROSS_COMPILING - glib_genmarshal=$(top_builddir)/gobject/glib-genmarshal -+else -+glib_genmarshal=$(shell which glib-genmarshal) -+endif - - testmarshal.h: stamp-testmarshal.h - @true + '--sourcedir=' + meson.current_build_dir(), +@@ -527,7 +528,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + digit_test_resources_c = custom_target('digit_test_resources.c', + input : '111_digit_test.gresource.xml', + output : 'digit_test_resources.c', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--sourcedir=' + meson.current_build_dir(), +@@ -538,7 +539,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + digit_test_resources_h = custom_target('digit_test_resources.h', + input : '111_digit_test.gresource.xml', + output : 'digit_test_resources.h', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--generate', +@@ -565,11 +566,12 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + # Support for --add-symbol was added to LLVM objcopy in 2019 + # (https://reviews.llvm.org/D58234). FIXME: This test could be enabled for + # LLVM once that support is in a stable release. +- if build_machine.system() == 'linux' and cc.get_id() == 'gcc' ++ #if build_machine.system() == 'linux' and cc.get_id() == 'gcc' ++ if not meson.is_cross_build() + test_gresource_binary = custom_target('test5.gresource', + input : 'test5.gresource.xml', + output : 'test5.gresource', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--sourcedir=' + meson.current_build_dir(), +@@ -581,7 +583,7 @@ if not meson.is_cross_build() or meson.has_exe_wrapper() + test_resources_binary_c = custom_target('test_resources_binary.c', + input : 'test5.gresource.xml', + output : 'test_resources_binary.c', +- command : [glib_compile_resources, ++ command : ['glib-compile-resources', + '--target=@OUTPUT@', + '--sourcedir=' + meson.current_source_dir(), + '--sourcedir=' + meson.current_build_dir(), diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch deleted file mode 100644 index c36a397fef..0000000000 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/fix-nl-abaltmon.patch +++ /dev/null @@ -1,104 +0,0 @@ -Fix the last few remaining bugs in glib's date/locale code. - -Upstream-Status: Backport -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 93d8482384ebc5c7d1f3d92b0190db0371269663 Mon Sep 17 00:00:00 2001 -From: Rafal Luzynski <digitalfreak@lingonborough.com> -Date: Fri, 10 May 2019 00:40:27 +0200 -Subject: [PATCH] build: Fix a typo in the test whether _NL_ABALTMON_n is - supported - -The correct spelling is "_NL_ABALTMON_n" rather than "_NL_ALTMON_n". -The typo made Meson build think that _NL_ABALTMON_n constants are -not supported which was totally wrong. This made g_date_time_format() -output incorrect abbreviated month names in some languages. -The old configure.ac script was correct here. - -Bug introduced in commit be4f96b6502c01d2a51d60b7a669c8ef82e22a4d. - -Closes: #1759 ---- - meson.build | 26 +++++++++++++------------- - 1 file changed, 13 insertions(+), 13 deletions(-) - -diff --git a/meson.build b/meson.build -index c5d2ce5f8..08fa40ac5 100644 ---- a/meson.build -+++ b/meson.build -@@ -1002,20 +1002,20 @@ if cc.links('''#ifndef _GNU_SOURCE - #include <langinfo.h> - int main (int argc, char ** argv) { - char *str; -- str = nl_langinfo (_NL_ALTMON_1); -- str = nl_langinfo (_NL_ALTMON_2); -- str = nl_langinfo (_NL_ALTMON_3); -- str = nl_langinfo (_NL_ALTMON_4); -- str = nl_langinfo (_NL_ALTMON_5); -- str = nl_langinfo (_NL_ALTMON_6); -- str = nl_langinfo (_NL_ALTMON_7); -- str = nl_langinfo (_NL_ALTMON_8); -- str = nl_langinfo (_NL_ALTMON_9); -- str = nl_langinfo (_NL_ALTMON_10); -- str = nl_langinfo (_NL_ALTMON_11); -- str = nl_langinfo (_NL_ALTMON_12); -+ str = nl_langinfo (_NL_ABALTMON_1); -+ str = nl_langinfo (_NL_ABALTMON_2); -+ str = nl_langinfo (_NL_ABALTMON_3); -+ str = nl_langinfo (_NL_ABALTMON_4); -+ str = nl_langinfo (_NL_ABALTMON_5); -+ str = nl_langinfo (_NL_ABALTMON_6); -+ str = nl_langinfo (_NL_ABALTMON_7); -+ str = nl_langinfo (_NL_ABALTMON_8); -+ str = nl_langinfo (_NL_ABALTMON_9); -+ str = nl_langinfo (_NL_ABALTMON_10); -+ str = nl_langinfo (_NL_ABALTMON_11); -+ str = nl_langinfo (_NL_ABALTMON_12); - return 0; -- }''', name : 'nl_langinfo (_NL_ALTMON_n)') -+ }''', name : 'nl_langinfo (_NL_ABALTMON_n)') - glib_conf.set('HAVE_LANGINFO_ABALTMON', 1) - endif - --- -2.18.1 - -From 35c28be32762d5af6b93cb6a3420c5977f7bf599 Mon Sep 17 00:00:00 2001 -From: Rafal Luzynski <digitalfreak@lingonborough.com> -Date: Mon, 13 May 2019 23:11:28 +0200 -Subject: [PATCH] tests: Update month name check for Greek locale -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Update the abbreviated month name in the test to match the actual -translation. Otherwise the test fails with false positive. - -Vocabulary: - -July (nominative) - Greek: Ιούλιος (abbreviated: Ιούλ) -Of July (genitive) - Greek: Ιουλίου (abbreviated: Ιουλ) - -This is similar to commit 4d215e006ee69bd7a993bf853722993433adbf9a -and commit 7fe793e125c316ac34edd8158df5a132cb044bc1. - -Closes #1776 ---- - glib/tests/date.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/glib/tests/date.c b/glib/tests/date.c -index 8eb28712b..ff13ad101 100644 ---- a/glib/tests/date.c -+++ b/glib/tests/date.c -@@ -388,7 +388,7 @@ test_month_names (void) - TEST_DATE ( 1, 4, 2018, "%OB %Y", "Απρίλιος 2018"); - TEST_DATE ( 1, 5, 2018, "%OB %Y", "Μάιος 2018"); - TEST_DATE ( 1, 6, 2018, "%OB %Y", "Ιούνιος 2018"); -- TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιούλ 2018"); -+ TEST_DATE (16, 7, 2018, "%e %b %Y", "16 Ιουλ 2018"); - TEST_DATE ( 1, 8, 2018, "%Ob %Y", "Αύγ 2018"); - } - else --- -2.18.1 diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch index a4e0c9201f..2d698a67c8 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/relocate-modules.patch @@ -1,4 +1,4 @@ -From 9d985803c50cfb99253c757934985f937da34822 Mon Sep 17 00:00:00 2001 +From 17ca85e329bf39c004b73a02e94b597dac41ddfe Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Fri, 11 Mar 2016 15:35:55 +0000 Subject: [PATCH] glib-2.0: relocate the GIO module directory for native builds @@ -19,7 +19,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gio/giomodule.c b/gio/giomodule.c -index 36c0cef..912e490 100644 +index b92162d..fce9933 100644 --- a/gio/giomodule.c +++ b/gio/giomodule.c @@ -40,6 +40,8 @@ @@ -31,7 +31,7 @@ index 36c0cef..912e490 100644 #endif #include <glib/gstdio.h> -@@ -1099,7 +1101,15 @@ get_gio_module_dir (void) +@@ -1156,7 +1158,15 @@ get_gio_module_dir (void) #endif g_free (install_dir); #else diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest index 8f082d34f6..fc50082c8e 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/run-ptest @@ -2,5 +2,5 @@ set -eux useradd glib2-test -su glib2-test -c gnome-desktop-testing-runner glib +su glib2-test -c 'gnome-desktop-testing-runner glib' userdel glib2-test diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb index d749be34ee..f4ade098ef 100644 --- a/poky/meta/recipes-core/glib-2.0/glib-2.0_2.58.3.bb +++ b/poky/meta/recipes-core/glib-2.0/glib-2.0_2.60.3.bb @@ -12,16 +12,14 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-Install-gio-querymodules-as-libexec_PROGRAM.patch \ file://0001-Do-not-ignore-return-value-of-write.patch \ file://0010-Do-not-hardcode-python-path-into-various-tools.patch \ - file://0001-Revert-Use-absolute-paths-in-pkg-config-files.patch \ file://0001-Set-host_machine-correctly-when-building-with-mingw3.patch \ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ file://0001-meson.build-do-not-hardcode-linux-as-the-host-system.patch \ file://0001-meson-do-a-build-time-check-for-strlcpy-before-attem.patch \ - file://fix-nl-abaltmon.patch \ file://glib-meson.cross \ " SRC_URI_append_class-native = " file://relocate-modules.patch" -SRC_URI[md5sum] = "8058c7bde846dcffe5fa453eca366d73" -SRC_URI[sha256sum] = "8f43c31767e88a25da72b52a40f3301fefc49a665b56dc10ee7cc9565cbe7481" +SRC_URI[md5sum] = "112a850caa8d2c21e24d4c9844e8b1fe" +SRC_URI[sha256sum] = "04ab0d560d45790d055f50db2d69974eab8b693a77390075462c56e652b760b9" diff --git a/poky/meta/recipes-core/glib-2.0/glib.inc b/poky/meta/recipes-core/glib-2.0/glib.inc index 82107a8a18..3ae22f5e80 100644 --- a/poky/meta/recipes-core/glib-2.0/glib.inc +++ b/poky/meta/recipes-core/glib-2.0/glib.inc @@ -48,7 +48,7 @@ PACKAGECONFIG[manpages] = "-Dman=true, -Dman=false, libxslt-native xmlto-native" PACKAGECONFIG[libelf] = ",,elfutils" PACKAGECONFIG[tests] = "-Dinstalled_tests=true,-Dinstalled_tests=false,dbus" -EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=false" +EXTRA_OEMESON = "-Ddtrace=false -Dfam=false -Dsystemtap=false -Dselinux=disabled" EXTRA_OEMESON_append_class-target = " --cross-file ${WORKDIR}/glib-meson.cross" do_configure_prepend() { @@ -140,6 +140,7 @@ CODEGEN_PYTHON_RDEPENDS_mingw32 = "" RDEPENDS_${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" RDEPENDS_${PN}-ptest += "\ + coreutils \ libgcc \ dbus \ gnome-desktop-testing \ diff --git a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb index 09af229d69..4d4fe64916 100644 --- a/poky/meta/recipes-core/glib-networking/glib-networking_2.60.1.bb +++ b/poky/meta/recipes-core/glib-networking/glib-networking_2.60.2.bb @@ -9,12 +9,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" SECTION = "libs" DEPENDS = "glib-2.0" -SRC_URI[archive.md5sum] = "83321ffc3c336894b8a5bc18db3fe58d" -SRC_URI[archive.sha256sum] = "d71c6b2faa5ac29100314f08a1be020a2afd0291f025614c0af0d17b14435d92" +SRC_URI[archive.md5sum] = "bf46d1208ac00d78a45fbf621d459025" +SRC_URI[archive.sha256sum] = "c022f3d10f55a5b7c31676fb001b4cb6401db8ab9f6e8418c69de00d0f268732" PACKAGECONFIG ??= "gnutls" PACKAGECONFIG[gnutls] = "-Dgnutls=enabled,-Dgnutls=disabled,gnutls" +PACKAGECONFIG[openssl] = "-Dopenssl=enabled,-Dopenssl=disabled,openssl" PACKAGECONFIG[libproxy] = "-Dlibproxy=enabled,-Dlibproxy=disabled,libproxy" EXTRA_OEMESON = "-Dgnome_proxy=disabled" diff --git a/poky/meta/recipes-core/glibc/glibc-locale.inc b/poky/meta/recipes-core/glibc/glibc-locale.inc index a985d26c75..f033635bd0 100644 --- a/poky/meta/recipes-core/glibc/glibc-locale.inc +++ b/poky/meta/recipes-core/glibc/glibc-locale.inc @@ -12,9 +12,7 @@ BINUTILSDEP = "virtual/${MLPREFIX}${TARGET_PREFIX}binutils:do_populate_sysroot" BINUTILSDEP_class-nativesdk = "virtual/${TARGET_PREFIX}binutils-crosssdk:do_populate_sysroot" do_package[depends] += "${BINUTILSDEP}" -# localedef links with libc.so and glibc-collateral.inc inhibits all default deps -# cannot add virtual/libc to DEPENDS, because it would conflict with libc-initial in RSS -RDEPENDS_localedef += "glibc" +DEPENDS += "virtual/libc" # Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION # is set. The idea is to avoid running localedef on the target (at first boot) diff --git a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb index 3302a86da7..e9cac98c57 100644 --- a/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb +++ b/poky/meta/recipes-core/images/build-appliance-image_15.0.0.bb @@ -22,7 +22,7 @@ IMAGE_FSTYPES = "wic.vmdk" inherit core-image module-base setuptools3 -SRCREV ?= "5c504dd014a1bd3e6b3fea528a11aca7dff4d931" +SRCREV ?= "bb59bcd016bdd815809ac10df45d61c364c46df0" SRC_URI = "git://git.yoctoproject.org/poky \ file://Yocto_Build_Appliance.vmx \ file://Yocto_Build_Appliance.vmxf \ diff --git a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb index b44c07b4d0..637c0e6ffb 100644 --- a/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.4.bb +++ b/poky/meta/recipes-core/libxcrypt/libxcrypt_4.4.6.bb @@ -9,10 +9,10 @@ LIC_FILES_CHKSUM ?= "file://LICENSING;md5=be275bc7f91642efe7709a8ae7a1433b \ inherit autotools pkgconfig -PV = "4.4.4" +PV = "4.4.6" SRC_URI = "git://github.com/besser82/libxcrypt.git;branch=${SRCBRANCH}" -SRCREV = "3b251d4e1af66aa7697c4ac96c689f996fa90c32" +SRCREV = "398943774c5ff38baf1bc5ee088855fd8983bb05" SRCBRANCH ?= "develop" PROVIDES = "virtual/crypt" diff --git a/poky/meta/recipes-core/meta/uninative-tarball.bb b/poky/meta/recipes-core/meta/uninative-tarball.bb index e0cb9ffee0..25635fc2f5 100644 --- a/poky/meta/recipes-core/meta/uninative-tarball.bb +++ b/poky/meta/recipes-core/meta/uninative-tarball.bb @@ -57,7 +57,7 @@ fakeroot create_sdk_files() { } -fakeroot tar_sdk() { +fakeroot archive_sdk() { cd ${SDK_OUTPUT}/${SDKPATH} DEST="./${SDK_ARCH}-${SDK_OS}" @@ -65,5 +65,5 @@ fakeroot tar_sdk() { rm sysroots -rf patchelf --set-interpreter ${@''.join('a' for n in range(1024))} $DEST/usr/bin/patchelf mv $DEST/usr/bin/patchelf $DEST/usr/bin/patchelf-uninative - tar ${SDKTAROPTS} -c -j --file=${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.tar.bz2 . + ${SDK_ARCHIVE_CMD} } diff --git a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch b/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch deleted file mode 100644 index 4d48d61651..0000000000 --- a/poky/meta/recipes-core/musl/musl/0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 19cbebc3fa33c6a1a71a6036da4d67c98f859f06 Mon Sep 17 00:00:00 2001 -From: Adrian Bunk <bunk@stusta.de> -Date: Wed, 15 May 2019 16:08:33 +0300 -Subject: unistd.h: Add TEMP_FAILURE_RETRY - -Signed-off-by: Adrian Bunk <bunk@stusta.de> -Upstream-Status: Inappropriate [oe-specific] ---- - include/unistd.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/include/unistd.h b/include/unistd.h -index 9485da7a..8a75af57 100644 ---- a/include/unistd.h -+++ b/include/unistd.h -@@ -460,6 +460,17 @@ int eaccess(const char *, int); - #define _CS_V6_ENV 1148 - #define _CS_V7_ENV 1149 - -+#ifdef _GNU_SOURCE -+#ifndef TEMP_FAILURE_RETRY -+# define TEMP_FAILURE_RETRY(expression) \ -+ (__extension__ \ -+ ({ long int __result; \ -+ do __result = (long int) (expression); \ -+ while (__result == -1L && errno == EINTR); \ -+ __result; })) -+#endif -+#endif -+ - #ifdef __cplusplus - } - #endif --- -2.20.1 - diff --git a/poky/meta/recipes-core/musl/musl_git.bb b/poky/meta/recipes-core/musl/musl_git.bb index 2b433aed8c..a7fae4a656 100644 --- a/poky/meta/recipes-core/musl/musl_git.bb +++ b/poky/meta/recipes-core/musl/musl_git.bb @@ -4,7 +4,7 @@ require musl.inc inherit linuxloader -SRCREV = "65c8be380431eebe4d70d130bd38563f8df9a7d7" +SRCREV = "ac304227bb3ea1787d581f17d76a5f5f3abff51f" BASEVER = "1.1.22" @@ -15,7 +15,6 @@ PV = "${BASEVER}+git${SRCPV}" SRC_URI = "git://git.musl-libc.org/musl \ file://0001-Make-dynamic-linker-a-relative-symlink-to-libc.patch \ file://0002-ldso-Use-syslibdir-and-libdir-as-default-pathes-to-l.patch \ - file://0001-unistd.h-Add-TEMP_FAILURE_RETRY.patch \ " S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb index 928c47742c..ef6ca9879b 100644 --- a/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb +++ b/poky/meta/recipes-core/ncurses/ncurses_6.1+20181013.bb @@ -8,4 +8,4 @@ SRC_URI += "file://0001-tic-hang.patch \ SRCREV = "7a97a7f937762ba342d5b2fd7cd090885a809835" S = "${WORKDIR}/git" EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache" -UPSTREAM_CHECK_GITTAGREGEX = "upstream/(?P<pver>\d+(\.\d+)+(\+\d+)*)" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)" diff --git a/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb b/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb index c9ed30d988..c9ed30d988 100644 --- a/poky/meta/recipes-core/newlib/libgloss_3.0.0.bb +++ b/poky/meta/recipes-core/newlib/libgloss_3.1.0.bb diff --git a/poky/meta/recipes-core/newlib/newlib.inc b/poky/meta/recipes-core/newlib/newlib.inc index f50e5fed81..418cf07939 100644 --- a/poky/meta/recipes-core/newlib/newlib.inc +++ b/poky/meta/recipes-core/newlib/newlib.inc @@ -3,21 +3,21 @@ HOMEPAGE = "https://sourceware.org/newlib/" DESCRIPTION = "C library intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products." SECTION = "libs" -LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2" +LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2 & BSD-2-Clause" LIC_FILES_CHKSUM = " \ file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \ file://COPYING.LIBGLOSS;md5=73f5c98779aea7dba4a6c94a74ab0ae2 \ file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \ - file://COPYING.NEWLIB;md5=956a4b1487f7677cdcceeee8f05a21f0 \ + file://COPYING.NEWLIB;md5=100d470af54e2d1d79fbd8498a32ff26 \ file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \ file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0 \ " SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz" -SRC_URI[md5sum] = "81ec873108b8593c586f91ca65963952" -SRC_URI[sha256sum] = "c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332" +SRC_URI[md5sum] = "f84263b7d524df92a9c9fb30b79e0134" +SRC_URI[sha256sum] = "fb4fa1cc21e9060719208300a61420e4089d6de6ef59cf533b57fe74801d102a" INHIBIT_DEFAULT_DEPS = "1" DEPENDS = "virtual/${TARGET_PREFIX}gcc" diff --git a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb b/poky/meta/recipes-core/newlib/newlib_3.1.0.bb index db13724eb5..7ab5b2b94e 100644 --- a/poky/meta/recipes-core/newlib/newlib_3.0.0.bb +++ b/poky/meta/recipes-core/newlib/newlib_3.1.0.bb @@ -3,7 +3,8 @@ require newlib.inc PROVIDES += "virtual/libc virtual/libiconv virtual/libintl" do_configure() { - ${S}/configure ${EXTRA_OECONF} + export CC_FOR_TARGET="${CC}" + ${S}/configure ${EXTRA_OECONF} } do_install_append() { diff --git a/poky/meta/recipes-core/systemd/systemd-conf/wired.network b/poky/meta/recipes-core/systemd/systemd-conf/wired.network new file mode 100644 index 0000000000..253aee9382 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd-conf/wired.network @@ -0,0 +1,9 @@ +[Match] +Name=en* eth* + +[Network] +DHCP=yes + +[DHCP] +RouteMetric=10 +ClientIdentifier=mac diff --git a/poky/meta/recipes-core/systemd/systemd-conf_242.bb b/poky/meta/recipes-core/systemd/systemd-conf_242.bb index 96beea53a7..d9ec023bfd 100644 --- a/poky/meta/recipes-core/systemd/systemd-conf_242.bb +++ b/poky/meta/recipes-core/systemd/systemd-conf_242.bb @@ -10,17 +10,22 @@ SRC_URI = "\ file://logind.conf \ file://system.conf \ file://system.conf-qemuall \ + file://wired.network \ " do_install() { install -D -m0644 ${WORKDIR}/journald.conf ${D}${systemd_unitdir}/journald.conf.d/00-${PN}.conf install -D -m0644 ${WORKDIR}/logind.conf ${D}${systemd_unitdir}/logind.conf.d/00-${PN}.conf install -D -m0644 ${WORKDIR}/system.conf ${D}${systemd_unitdir}/system.conf.d/00-${PN}.conf + install -D -m0644 ${WORKDIR}/wired.network ${D}${systemd_unitdir}/network/80-wired.network } # Based on change from YP bug 8141, OE commit 5196d7bacaef1076c361adaa2867be31759c1b52 do_install_append_qemuall() { install -D -m0644 ${WORKDIR}/system.conf-qemuall ${D}${systemd_unitdir}/system.conf.d/01-${PN}.conf + + # Do not install wired.network for qemu bsps + rm -rf ${D}${systemd_unitdir}/network } PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -29,4 +34,5 @@ FILES_${PN} = "\ ${systemd_unitdir}/journald.conf.d/ \ ${systemd_unitdir}/logind.conf.d/ \ ${systemd_unitdir}/system.conf.d/ \ + ${systemd_unitdir}/network/ \ " diff --git a/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch b/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch new file mode 100644 index 0000000000..6f192a2ad2 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch @@ -0,0 +1,50 @@ +From f491dfdc88ddbba36a24a75b2063aff027461b83 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@stusta.de> +Date: Thu, 16 May 2019 22:20:07 +0300 +Subject: Replace the legacy ULONG_LONG_MAX with the C99 ULLONG_MAX + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + src/journal-remote/journal-remote-main.c | 4 ++-- + src/shutdown/shutdown.c | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c +index 2321a91e7b..d32c51c3ce 100644 +--- a/src/journal-remote/journal-remote-main.c ++++ b/src/journal-remote/journal-remote-main.c +@@ -528,7 +528,7 @@ static int dispatch_http_event(sd_event_source *event, + void *userdata) { + MHDDaemonWrapper *d = userdata; + int r; +- MHD_UNSIGNED_LONG_LONG timeout = ULONG_LONG_MAX; ++ MHD_UNSIGNED_LONG_LONG timeout = ULLONG_MAX; + + assert(d); + +@@ -538,7 +538,7 @@ static int dispatch_http_event(sd_event_source *event, + return log_error_errno(SYNTHETIC_ERRNO(EINVAL), + "MHD_run failed!"); + if (MHD_get_timeout(d->daemon, &timeout) == MHD_NO) +- timeout = ULONG_LONG_MAX; ++ timeout = ULLONG_MAX; + + r = sd_event_source_set_time(d->timer_event, timeout); + if (r < 0) { +diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c +index 35b2c2aa46..9623fe9ea2 100644 +--- a/src/shutdown/shutdown.c ++++ b/src/shutdown/shutdown.c +@@ -212,7 +212,7 @@ static int sync_making_progress(unsigned long long *prev_dirty) { + } + + static void sync_with_progress(void) { +- unsigned long long dirty = ULONG_LONG_MAX; ++ unsigned long long dirty = ULLONG_MAX; + unsigned checks; + pid_t pid; + int r; +-- +2.20.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch new file mode 100644 index 0000000000..f0ae1db60d --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch @@ -0,0 +1,41 @@ +From 18bddeaaf225d5becfc10cd2c6a1d037c90574a2 Mon Sep 17 00:00:00 2001 +From: Tomas Mraz <tmraz@fedoraproject.org> +Date: Tue, 11 Jun 2019 15:10:21 +0200 +Subject: [PATCH] resolved: Fix incorrect use of OpenSSL BUF_MEM + +Fixes: #12763 +Upstream-Status: Backport [Not yet released] + https://github.com/systemd/systemd/commit/18bddeaaf225d5becfc10cd2c6a1d037c90574a2 +Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com> +--- + src/resolve/resolved-dnstls-openssl.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/resolve/resolved-dnstls-openssl.c b/src/resolve/resolved-dnstls-openssl.c +index f269e4d6487f..5d9223007581 100644 +--- a/src/resolve/resolved-dnstls-openssl.c ++++ b/src/resolve/resolved-dnstls-openssl.c +@@ -6,6 +6,7 @@ + + #include <openssl/bio.h> + #include <openssl/err.h> ++#include <string.h> + + #include "io-util.h" + #include "resolved-dns-stream.h" +@@ -34,9 +35,11 @@ static int dnstls_flush_write_buffer(DnsStream *stream) { + return ss; + } else { + stream->dnstls_data.write_buffer->length -= ss; +- stream->dnstls_data.write_buffer->data += ss; + + if (stream->dnstls_data.write_buffer->length > 0) { ++ memmove(stream->dnstls_data.write_buffer->data, ++ stream->dnstls_data.write_buffer->data + ss, ++ stream->dnstls_data.write_buffer->length); + stream->dnstls_events |= EPOLLOUT; + return -EAGAIN; + } +-- +2.17.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch b/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch new file mode 100644 index 0000000000..565deba1d0 --- /dev/null +++ b/poky/meta/recipes-core/systemd/systemd/0001-src-udev-udev-event.c-must-include-sys-wait.h.patch @@ -0,0 +1,35 @@ +From 010f917cf222d2c7205584056fe0e4c581a2e1b1 Mon Sep 17 00:00:00 2001 +From: Adrian Bunk <bunk@stusta.de> +Date: Thu, 16 May 2019 22:09:46 +0300 +Subject: src/udev/udev-event.c must #include <sys/wait.h> + +Fixes the following build failure with musl: +../git/src/udev/udev-event.c: In function 'spawn_wait': +../git/src/udev/udev-event.c:600:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'? + r = sd_event_add_child(e, NULL, spawn->pid, WEXITED, on_spawn_sigchld, spawn); + ^~~~~~~ + +This looks like a bug in udev-event.c that could also have broken +the compilation after some future glibc header reshuffle. + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + src/udev/udev-event.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c +index cab1b5ac0c..a0a7ac0f9e 100644 +--- a/src/udev/udev-event.c ++++ b/src/udev/udev-event.c +@@ -7,6 +7,7 @@ + #include <stddef.h> + #include <stdio.h> + #include <stdlib.h> ++#include <sys/wait.h> + #include <unistd.h> + + #include "sd-event.h" +-- +2.20.1 + diff --git a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch b/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch deleted file mode 100644 index dbaae4f398..0000000000 --- a/poky/meta/recipes-core/systemd/systemd/0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch +++ /dev/null @@ -1,27 +0,0 @@ -From aa6cd19ae428769a38fe7d95f98db0a9c19ae90a Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Mon, 25 Feb 2019 15:14:49 +0800 -Subject: [PATCH 12/24] fix missing ULONG_LONG_MAX definition in case of musl - -Upstream-Status: Inappropriate [musl] - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/basic/missing_type.h | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h -index 23602eb..7d7c1e4 100644 ---- a/src/basic/missing_type.h -+++ b/src/basic/missing_type.h -@@ -39,3 +39,7 @@ typedef int (*__compar_fn_t)(const void *, const void *); - #ifndef FTW_SKIP_SIBLINGS - #define FTW_SKIP_SIBLINGS 3 - #endif -+ -+#ifndef ULONG_LONG_MAX -+#define ULONG_LONG_MAX ULLONG_MAX -+#endif --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch b/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch deleted file mode 100644 index 47212bc3c1..0000000000 --- a/poky/meta/recipes-core/systemd/systemd/0022-include-sys-wait.h-to-avoid-compile-failure.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 6c5364736f5afd1106ac240f03806af53979cc60 Mon Sep 17 00:00:00 2001 -From: Chen Qi <Qi.Chen@windriver.com> -Date: Mon, 25 Feb 2019 15:56:50 +0800 -Subject: [PATCH 22/24] include sys/wait.h to avoid compile failure - -Fix the following error: -src/udev/udev-event.c:581:53: error: 'WEXITED' undeclared (first use in this function); did you mean 'WIFEXITED'? - -Upstream-Status: Inappropriate [musl specific] - -Signed-off-by: Chen Qi <Qi.Chen@windriver.com> ---- - src/udev/udev-event.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c -index 07b7365..e532bb7 100644 ---- a/src/udev/udev-event.c -+++ b/src/udev/udev-event.c -@@ -8,7 +8,9 @@ - #include <stdio.h> - #include <stdlib.h> - #include <unistd.h> -- -+#ifndef __GLIBC__ -+#include <sys/wait.h> -+#endif - #include "sd-event.h" - - #include "alloc-util.h" --- -2.7.4 - diff --git a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch index 22186b8a7e..37987b57f6 100644 --- a/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch +++ b/poky/meta/recipes-core/systemd/systemd/0023-socket-util.h-include-string.h.patch @@ -1,12 +1,12 @@ -From 93e6b81b721d9eb966a257bfdf7df6e8280b885c Mon Sep 17 00:00:00 2001 +From 56fb30d93e96d7f983af0cb4dff9155da91dd671 Mon Sep 17 00:00:00 2001 From: Chen Qi <Qi.Chen@windriver.com> Date: Mon, 25 Feb 2019 16:37:19 +0800 -Subject: [PATCH 23/24] socket-util.h: include string.h +Subject: socket-util.h: include string.h Fix the following compile error: src/basic/socket-util.h:187:30: error: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Werror=implicit-function-declaration] -Upstream-Status: Pending +Upstream-Status: Accepted Signed-off-by: Chen Qi <Qi.Chen@windriver.com> --- @@ -14,17 +14,17 @@ Signed-off-by: Chen Qi <Qi.Chen@windriver.com> 1 file changed, 1 insertion(+) diff --git a/src/basic/socket-util.h b/src/basic/socket-util.h -index 574d2b7..097aa4d 100644 +index 6920fd99ba..36ec422f2c 100644 --- a/src/basic/socket-util.h +++ b/src/basic/socket-util.h -@@ -12,6 +12,7 @@ +@@ -9,6 +9,7 @@ + #include <netinet/in.h> + #include <stdbool.h> + #include <stddef.h> ++#include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> -+#include <string.h> - - #include "macro.h" - #include "missing_socket.h" -- -2.7.4 +2.20.1 diff --git a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch index bae9d3eaad..ada404b053 100644 --- a/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch +++ b/poky/meta/recipes-core/systemd/systemd/0025-fs-utilh-add-missing-sys-stat-include.patch @@ -1,30 +1,30 @@ -From 2560a6b7b9adc5bd5dec0f87c2e3025ced8a2af2 Mon Sep 17 00:00:00 2001 +From 56e3c9581e2c9b7435d5fcbd74b47c7ccf6b3891 Mon Sep 17 00:00:00 2001 From: Andrej Valek <andrej.valek@siemens.com> Date: Thu, 18 Apr 2019 10:47:11 +0200 -Subject: [PATCH] fs-utilh: add missing sys/stat include +Subject: fs-util.h: add missing sys/stat include fix error: | error: passing argument 5 of 'chase_symlinks_and_stat' from incompatible pointer type [-Werror=incompatible-pointer-types] Signed-off-by: Andrej Valek <andrej.valek@siemens.com> -Upstream-Status: Pending +Upstream-Status: Accepted --- src/basic/fs-util.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h -index b965120..e2fdfff 100644 +index b9651205e6..c153bc4448 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h -@@ -8,6 +8,7 @@ +@@ -7,6 +7,7 @@ + #include <stdbool.h> #include <stdint.h> #include <sys/inotify.h> - #include <sys/types.h> +#include <sys/stat.h> + #include <sys/types.h> #include <unistd.h> - #include "errno-util.h" -- -2.11.0 +2.20.1 diff --git a/poky/meta/recipes-core/systemd/systemd_242.bb b/poky/meta/recipes-core/systemd/systemd_242.bb index 20714fc70a..29f64b995a 100644 --- a/poky/meta/recipes-core/systemd/systemd_242.bb +++ b/poky/meta/recipes-core/systemd/systemd_242.bb @@ -24,10 +24,11 @@ SRC_URI += "file://touchscreen.rules \ file://0005-rules-watch-metadata-changes-in-ide-devices.patch \ file://0006-network-remove-redunant-link-name-in-message.patch \ file://99-default.preset \ + file://0001-resolved-Fix-incorrect-use-of-OpenSSL-BUF_MEM.patch \ " # patches needed by musl -SRC_URI += "${SRC_URI_MUSL}" +SRC_URI_append_libc-musl = " ${SRC_URI_MUSL}" SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.patch \ file://0002-don-t-use-glibc-specific-qsort_r.patch \ file://0003-missing_type.h-add-__compare_fn_t-and-comparison_fn_.patch \ @@ -38,7 +39,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0008-add-missing-FTW_-macros-for-musl.patch \ file://0010-fix-missing-of-__register_atfork-for-non-glibc-build.patch \ file://0011-Use-uintmax_t-for-handling-rlim_t.patch \ - file://0012-fix-missing-ULONG_LONG_MAX-definition-in-case-of-mus.patch \ + file://0001-Replace-the-legacy-ULONG_LONG_MAX-with-the-C99-ULLON.patch \ file://0014-test-sizeof.c-Disable-tests-for-missing-typedefs-in-.patch \ file://0015-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \ file://0016-Define-glibc-compatible-basename-for-non-glibc-syste.patch \ @@ -47,7 +48,7 @@ SRC_URI_MUSL = "file://0001-Use-getenv-when-secure-versions-are-not-available.pa file://0019-Hide-__start_BUS_ERROR_MAP-and-__stop_BUS_ERROR_MAP.patch \ file://0020-missing_type.h-add-__compar_d_fn_t-definition.patch \ file://0021-avoid-redefinition-of-prctl_mm_map-structure.patch \ - file://0022-include-sys-wait.h-to-avoid-compile-failure.patch \ + file://0001-src-udev-udev-event.c-must-include-sys-wait.h.patch \ file://0023-socket-util.h-include-string.h.patch \ file://0024-test-json.c-define-M_PIl.patch \ file://0025-fs-utilh-add-missing-sys-stat-include.patch \ @@ -603,6 +604,8 @@ FILES_udev += "${base_sbindir}/udevd \ FILES_udev-hwdb = "${rootlibexecdir}/udev/hwdb.d" +RCONFLICTS_${PN} = "tiny-init ${@bb.utils.contains('PACKAGECONFIG', 'resolved', 'resolvconf', '', d)}" + INITSCRIPT_PACKAGES = "udev" INITSCRIPT_NAME_udev = "systemd-udevd" INITSCRIPT_PARAMS_udev = "start 03 S ." diff --git a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb index bfd890d924..8781492d47 100644 --- a/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb +++ b/poky/meta/recipes-core/sysvinit/sysvinit-inittab_2.88dsf.bb @@ -90,5 +90,4 @@ CONFFILES_${PN} = "${sysconfdir}/inittab" USE_VT ?= "1" SYSVINIT_ENABLED_GETTYS ?= "1" - - +RCONFLICTS_${PN} = "busybox-inittab" diff --git a/poky/meta/recipes-core/util-linux/util-linux.inc b/poky/meta/recipes-core/util-linux/util-linux.inc index 34255a2dec..84c7012752 100644 --- a/poky/meta/recipes-core/util-linux/util-linux.inc +++ b/poky/meta/recipes-core/util-linux/util-linux.inc @@ -6,21 +6,21 @@ disk partitioning, kernel message management, filesystem creation, and system lo SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+ & BSD" +LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause" -LIC_FILES_CHKSUM = "file://README.licensing;md5=1715f5ee3e01203ca1e1e0b9ee65918c \ +LIC_FILES_CHKSUM = "file://README.licensing;md5=972a134f1e14b2b060e365df2fab0099 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://Documentation/licenses/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://Documentation/licenses/COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \ - file://Documentation/licenses/COPYING.BSD-3;md5=58dcd8452651fc8b07d1f65ce07ca8af \ - file://Documentation/licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \ - file://libuuid/COPYING;md5=b442ffb762cf8d3e9df1b99e0bb4af70 \ - file://libmount/COPYING;md5=fb93f01d4361069c5616327705373b16 \ - file://libblkid/COPYING;md5=fb93f01d4361069c5616327705373b16" + file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \ + file://Documentation/licenses/COPYING.BSD-3-Clause;md5=58dcd8452651fc8b07d1f65ce07ca8af \ + file://Documentation/licenses/COPYING.BSD-4-Clause-UC;md5=263860f8968d8bafa5392cab74285262 \ + file://libuuid/COPYING;md5=6d2cafc999feb2c2de84d4d24b23290c \ + file://libmount/COPYING;md5=7c7e39fb7d70ffe5d693a643e29987c2 \ + file://libblkid/COPYING;md5=693bcbbe16d3a4a4b37bc906bc01cc04" #gtk-doc is not enabled as it requires xmlto which requires util-linux inherit autotools gettext manpages pkgconfig systemd update-alternatives python3-dir bash-completion ptest -DEPENDS = "zlib ncurses virtual/crypt" +DEPENDS = "libcap-ng ncurses virtual/crypt zlib" MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:2])}" SRC_URI = "${KERNELORG_MIRROR}/linux/utils/${BPN}/v${MAJOR_VERSION}/${BP}.tar.xz \ @@ -102,6 +102,10 @@ EXTRA_OECONF = "\ --libdir='${UTIL_LINUX_LIBDIR}' \ " +EXTRA_OECONF_append_class-target = " --enable-setpriv" +EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv" +EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv" + PACKAGECONFIG_class-target ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" # inherit manpages requires this to be present, however util-linux does not have # configuration options, and installs manpages always @@ -109,8 +113,6 @@ PACKAGECONFIG[manpages] = "" PACKAGECONFIG[pam] = "--enable-su --enable-runuser,--disable-su --disable-runuser, libpam," # Respect the systemd feature for uuidd PACKAGECONFIG[systemd] = "--with-systemd --with-systemdsystemunitdir=${systemd_system_unitdir}, --without-systemd --without-systemdsystemunitdir,systemd" -# Build setpriv requires libcap-ng -PACKAGECONFIG[libcap-ng] = "--enable-setpriv,--disable-setpriv,libcap-ng," # Build python bindings for libmount PACKAGECONFIG[pylibmount] = "--with-python=3 --enable-pylibmount,--without-python --disable-pylibmount,python3" # Readline support @@ -142,7 +144,8 @@ RDEPENDS_${PN}_class-nativesdk = "" RPROVIDES_${PN}-dev = "${PN}-libblkid-dev ${PN}-libmount-dev ${PN}-libuuid-dev" RDEPENDS_${PN}-bash-completion += "${PN}-lsblk" -RDEPENDS_${PN}-ptest = "bash grep coreutils which btrfs-tools ${PN} sed" +RDEPENDS_${PN}-ptest += "bash bc btrfs-tools coreutils e2fsprogs grep iproute2 kmod mdadm procps sed socat which xz" +RRECOMMENDS_${PN}-ptest += "kernel-module-scsi-debug" RDEPENDS_${PN}-swaponoff = "${PN}-swapon ${PN}-swapoff" ALLOW_EMPTY_${PN}-swaponoff = "1" @@ -247,6 +250,7 @@ ALTERNATIVE_LINK_NAME[readprofile] = "${sbindir}/readprofile" ALTERNATIVE_LINK_NAME[renice] = "${bindir}/renice" ALTERNATIVE_LINK_NAME[rev] = "${bindir}/rev" ALTERNATIVE_LINK_NAME[rfkill] = "${sbindir}/rfkill" +ALTERNATIVE_LINK_NAME[setpriv] = "${bindir}/setpriv" ALTERNATIVE_LINK_NAME[setsid] = "${bindir}/setsid" ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" ALTERNATIVE_LINK_NAME[sulogin] = "${base_sbindir}/sulogin" @@ -259,7 +263,10 @@ ALTERNATIVE_LINK_NAME[unshare] = "${bindir}/unshare" ALTERNATIVE_LINK_NAME[utmpdump] = "${bindir}/utmpdump" ALTERNATIVE_LINK_NAME[wall] = "${bindir}/wall" -ALTERNATIVE_${PN}-doc = "blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1" +ALTERNATIVE_${PN}-doc = "\ +blkid.8 eject.1 findfs.8 fsck.8 kill.1 last.1 lastb.1 libblkid.3 logger.1 mesg.1 \ +mountpoint.1 nologin.8 rfkill.8 sulogin.8 utmpdump.1 uuid.3 wall.1\ +" ALTERNATIVE_${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'pam', 'su.1', '', d)}" ALTERNATIVE_LINK_NAME[blkid.8] = "${mandir}/man8/blkid.8" @@ -275,6 +282,7 @@ ALTERNATIVE_LINK_NAME[mesg.1] = "${mandir}/man1/mesg.1" ALTERNATIVE_LINK_NAME[mountpoint.1] = "${mandir}/man1/mountpoint.1" ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8" ALTERNATIVE_LINK_NAME[rfkill.8] = "${mandir}/man8/rfkill.8" +ALTERNATIVE_LINK_NAME[setpriv.1] = "${mandir}/man1/setpriv.1" ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1" ALTERNATIVE_LINK_NAME[sulogin.8] = "${mandir}/man8/sulogin.8" ALTERNATIVE_LINK_NAME[utmpdump.1] = "${mandir}/man1/utmpdump.1" @@ -317,4 +325,8 @@ do_install_ptest() { sed -i -e \ '/^TS_CMD_KILL/ s|kill|${PTEST_PATH}/bin/kill|g' \ ${D}${PTEST_PATH}/tests/commands.sh + + + sed -i 's|@base_sbindir@|${base_sbindir}|g' ${D}${PTEST_PATH}/run-ptest + } diff --git a/poky/meta/recipes-core/util-linux/util-linux/run-ptest b/poky/meta/recipes-core/util-linux/util-linux/run-ptest index 03248325bf..e135ee583b 100644 --- a/poky/meta/recipes-core/util-linux/util-linux/run-ptest +++ b/poky/meta/recipes-core/util-linux/util-linux/run-ptest @@ -1,5 +1,14 @@ #!/bin/sh + +# When udevd (from eudev) is running most eject/mount tests will fail because +# of automount. We need to stop udevd before executing util-linux's tests. +# The systemd-udevd daemon doesn't change the outcome of util-linux's tests. +UDEV_PID="`pidof "@base_sbindir@/udevd"`" +if [ "x$UDEV_PID" != "x" ]; then + /etc/init.d/udev stop +fi + current_path=$(readlink -f $0) export bindir=$(dirname $current_path) export PATH=$bindir/bin:$PATH @@ -27,3 +36,8 @@ do }' done + +if [ "x$UDEV_PID" != "x" ]; then + /etc/init.d/udev start +fi + diff --git a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb index e0bd383631..538e27612c 100644 --- a/poky/meta/recipes-core/util-linux/util-linux_2.32.1.bb +++ b/poky/meta/recipes-core/util-linux/util-linux_2.33.2.bb @@ -9,5 +9,5 @@ SRC_URI += "file://configure-sbindir.patch \ file://avoid_parallel_tests.patch \ file://check-for-_HAVE_STRUCT_TERMIOS_C_OSPEED.patch \ " -SRC_URI[md5sum] = "9e5b1b8c1dc99455bdb6b462cf9436d9" -SRC_URI[sha256sum] = "86e6707a379c7ff5489c218cfaf1e3464b0b95acf7817db0bc5f179e356a67b2" +SRC_URI[md5sum] = "91653b90fcbe9c161153e39b8cc69fb5" +SRC_URI[sha256sum] = "631be8eac6cf6230ba478de211941d526808dba3cd436380793334496013ce97" diff --git a/poky/meta/recipes-devtools/apt/apt-native.inc b/poky/meta/recipes-devtools/apt/apt-native.inc index ef232c1eb6..d826786329 100644 --- a/poky/meta/recipes-devtools/apt/apt-native.inc +++ b/poky/meta/recipes-devtools/apt/apt-native.inc @@ -7,8 +7,6 @@ USE_NLS = "yes" SRC_URI += "file://db_linking_hack.patch \ file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \ - file://0001-remove-Wsuggest-attribute-from-CFLAGS.patch \ - file://0001-fix-the-gcc-version-check.patch \ " python do_install () { diff --git a/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch b/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch deleted file mode 100644 index 3ac92462c5..0000000000 --- a/poky/meta/recipes-devtools/apt/apt/0001-fix-the-gcc-version-check.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 53c5d0982f03fd0e24c4195d6e1e42b9ade9d500 Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Wed, 27 May 2015 14:30:28 +0800 -Subject: [PATCH] fix the gcc version check - -Upstream-Status: pending - -"GCC diagnostic push" is gcc 4.6 feature, gcc 4.4.7 on centos did not know it - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - apt-pkg/contrib/macros.h | 2 +- - apt-pkg/deb/debsrcrecords.cc | 4 ++-- - apt-pkg/srcrecords.cc | 4 ++-- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h -index 2727fd8..0ecae50 100644 ---- a/apt-pkg/contrib/macros.h -+++ b/apt-pkg/contrib/macros.h -@@ -136,7 +136,7 @@ - #endif - #endif - --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #define APT_IGNORE_DEPRECATED_PUSH \ - _Pragma("GCC diagnostic push") \ - _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"") -diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc -index e8295de..40160b2 100644 ---- a/apt-pkg/deb/debsrcrecords.cc -+++ b/apt-pkg/deb/debsrcrecords.cc -@@ -139,13 +139,13 @@ bool debSrcRecordParser::Files(std::vector<pkgSrcRecords::File> &F) - for (std::vector<pkgSrcRecords::File2>::const_iterator f2 = F2.begin(); f2 != F2.end(); ++f2) - { - pkgSrcRecords::File2 f; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - #endif - f.MD5Hash = f2->MD5Hash; - f.Size = f2->Size; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - f.Path = f2->Path; -diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc -index 53d7e60..1484828 100644 ---- a/apt-pkg/srcrecords.cc -+++ b/apt-pkg/srcrecords.cc -@@ -157,7 +157,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/ - for (std::vector<pkgSrcRecords::File>::const_iterator f = F.begin(); f != F.end(); ++f) - { - pkgSrcRecords::File2 f2; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wdeprecated-declarations" - #endif -@@ -165,7 +165,7 @@ bool pkgSrcRecords::Parser::Files2(std::vector<pkgSrcRecords::File2> &F2)/*{{{*/ - f2.Size = f->Size; - f2.Hashes.push_back(HashString("MD5Sum", f->MD5Hash)); - f2.FileSize = f->Size; --#if __GNUC__ >= 4 -+#if __GNUC__ >= 4 + (6 >= __GNUC_MINOR__) - #pragma GCC diagnostic pop - #endif - f2.Path = f->Path; --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch b/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch deleted file mode 100644 index 47870e3c8b..0000000000 --- a/poky/meta/recipes-devtools/apt/apt/0001-remove-Wsuggest-attribute-from-CFLAGS.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 9fdf50d63df08ee65e7d8e62c35f19ac4841bca9 Mon Sep 17 00:00:00 2001 -From: Roy Li <rongqing.li@windriver.com> -Date: Wed, 27 May 2015 09:48:45 +0800 -Subject: [PATCH] remove Wsuggest-attribute from CXXFLAGS - -Upstream-Status: Inappropriate - -Wsuggest-attribute is GCC 4.6 feature, centos6 is using GCC -4.4.7 which unknown this flag, so remove it from CXXFLAGS - -Signed-off-by: Roy Li <rongqing.li@windriver.com> ---- - buildlib/environment.mak.in | 1 - - test/libapt/makefile | 1 - - 2 files changed, 2 deletions(-) - -diff --git a/buildlib/environment.mak.in b/buildlib/environment.mak.in -index 9620722..c344d01 100644 ---- a/buildlib/environment.mak.in -+++ b/buildlib/environment.mak.in -@@ -14,7 +14,6 @@ CXXFLAGS+= @CXXFLAGS@ -Wall -Wextra - CXXFLAGS+= -Wcast-align -Wlogical-op -Wredundant-decls -Wmissing-declarations -Wunsafe-loop-optimizations - CXXFLAGS+= -Wctor-dtor-privacy -Wdisabled-optimization -Winit-self -Wmissing-include-dirs -Wnoexcept -Wsign-promo -Wundef - # suggests methods which already have such an attribute --#CXXFLAGS+= -Wsuggest-attribute=pure -Wsuggest-attribute=const -Wsuggest-attribute=noreturn - # sanitize options to be enabled for testing - #CXXFLAGS+= -fsanitize=address -fsanitize=undefined -fno-sanitize=vptr - # a bit too pedantic to be run by default -diff --git a/test/libapt/makefile b/test/libapt/makefile -index 5ff9cf6..c5b5190 100644 ---- a/test/libapt/makefile -+++ b/test/libapt/makefile -@@ -40,7 +40,6 @@ CXXFLAGS += -pthread - # disable some flags for gtest again - CXXFLAGS+= -Wno-missing-declarations - CXXFLAGS+= -Wno-missing-field-initializers --CXXFLAGS+= -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wno-suggest-attribute=noreturn - CXXFLAGS+= -Wno-undef - - # All Google Test headers. Usually you shouldn't change this definition. --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb index 51a9748906..89315915c4 100644 --- a/poky/meta/recipes-devtools/binutils/binutils_2.32.bb +++ b/poky/meta/recipes-devtools/binutils/binutils_2.32.bb @@ -20,6 +20,11 @@ EXTRA_OECONF_class-native = "--enable-targets=all \ --enable-install-libbfd \ --disable-werror" +# gcc9.0 end up mis-compiling libbfd.so with O2 which then crashes on target +# So remove -O2 and use -Os as workaround +SELECTED_OPTIMIZATION_remove_mipsarch = "-O2" +SELECTED_OPTIMIZATION_append_mipsarch = " -Os" + do_install_class-native () { autotools_do_install @@ -47,3 +52,4 @@ PACKAGE_BEFORE_PN += "libbfd" FILES_libbfd = "${libdir}/libbfd-*.so" BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch index ac16c5770a..8a41a3a762 100644 --- a/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch +++ b/poky/meta/recipes-devtools/bison/bison/dont-depend-on-help2man.patch.patch @@ -1,4 +1,4 @@ -From 4c0d7733f30903f8d7c7cd7433f5c8a7505e35f5 Mon Sep 17 00:00:00 2001 +From 31bb81ef15c42b10844eb8af8738f672076edf0e Mon Sep 17 00:00:00 2001 From: Marko Lindqvist <cazfi74@gmail.com> Date: Tue, 21 Apr 2015 00:48:45 -0700 Subject: [PATCH] doc/local.mk: dont-depend-on-help2man.patch @@ -10,15 +10,16 @@ Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> Updated for bison 3.0.4 Signed-off-by: Robert Yang <liezhi.yang@windriver.com> + --- - doc/local.mk | 9 +-------- + doc/local.mk | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/doc/local.mk b/doc/local.mk -index c340452..642f385 100644 +index d12836e..f9bf332 100644 --- a/doc/local.mk +++ b/doc/local.mk -@@ -98,10 +98,7 @@ endif ! CROSS_COMPILING +@@ -101,10 +101,7 @@ endif ! CROSS_COMPILING ## Man Pages. ## ## ----------- ## @@ -30,9 +31,9 @@ index c340452..642f385 100644 # Differences to ignore when comparing the man page (the date). remove_time_stamp = \ -@@ -124,10 +121,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS) +@@ -127,10 +124,6 @@ $(top_srcdir)/doc/bison.1: $(MAN_DEPS) fi - $(AM_V_at)rm -f $@*.t + $(AM_V_at)rm -f $@*.tmp -if ENABLE_YACC -nodist_man_MANS = doc/yacc.1 @@ -41,6 +42,3 @@ index c340452..642f385 100644 ## ----------------------------- ## ## Graphviz examples generation. ## ## ----------------------------- ## --- -1.7.9.5 - diff --git a/poky/meta/recipes-devtools/bison/bison_3.1.bb b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb index a743bfdb81..adb9d48e90 100644 --- a/poky/meta/recipes-devtools/bison/bison_3.1.bb +++ b/poky/meta/recipes-devtools/bison/bison_3.3.2.bb @@ -17,8 +17,8 @@ SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.xz \ # No point in hardcoding path to m4, just use PATH EXTRA_OECONF += "M4=m4" -SRC_URI[md5sum] = "db7e431785ad96870bfa570a15cab079" -SRC_URI[sha256sum] = "7c2464ad6cb7b513b2c350a092d919327e1f63d12ff024836acbb504475da5c6" +SRC_URI[md5sum] = "c9b552dee234b2f6b66e56b27e5234c9" +SRC_URI[sha256sum] = "039ee45b61d95e5003e7e8376f9080001b4066ff357bde271b7faace53b9d804" inherit autotools gettext texinfo diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch index a8fcfc0f73..e23be32599 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch @@ -1,4 +1,4 @@ -From eecc48ecad359cd4fab650ce49cfe57e99d1859d Mon Sep 17 00:00:00 2001 +From c384fa875c5128009ac8b6ba11a54a6bd4de575a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 17 May 2018 12:21:31 +0300 Subject: [PATCH] Add LDFLAGS when building libbtrfsutil.so and python @@ -8,14 +8,14 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 10f0e3b0..1697794c 100644 +index e25e256f..6df00186 100644 --- a/Makefile +++ b/Makefile -@@ -402,7 +402,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c +@@ -424,7 +424,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c libbtrfsutil.so.$(libbtrfsutil_version): $(libbtrfsutil_objects) @echo " [LD] $@" @@ -24,12 +24,3 @@ index 10f0e3b0..1697794c 100644 -shared -Wl,-soname,libbtrfsutil.so.$(libbtrfsutil_major) -o $@ libbtrfsutil.a: $(libbtrfsutil_objects) -@@ -417,7 +417,7 @@ ifeq ($(PYTHON_BINDINGS),1) - libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h - @echo " [PY] libbtrfsutil" - $(Q)cd libbtrfsutil/python; \ -- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build -+ CFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build - - .PHONY: libbtrfsutil_python - endif diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch new file mode 100644 index 0000000000..f69507164c --- /dev/null +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch @@ -0,0 +1,43 @@ +From 730fe2ee2fb9e08cbe885f370afe83fecb18d048 Mon Sep 17 00:00:00 2001 +From: Joshua Watt <JPEWhacker@gmail.com> +Date: Sun, 26 May 2019 21:26:04 -0500 +Subject: [PATCH] btrfs-progs: Pass CFLAGS and LDFLAGS to Python + +Adds Make variables EXTRA_PYTHON_CFLAGS and EXTRA_PYTHON_LDFLAGS which +can be used to pass CFLAGS and LDFLAGS respectively when building the +Python library. + +This is required to support reproducible builds, as there are often +compiler and linker flags that must be passed in order to generate +reproducible output (e.g. -fdebug-prefix-map) + +Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> +Upstream-Status: Accepted [https://github.com/kdave/btrfs-progs/pull/176] +--- + Makefile | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 505bd9c1..814767a8 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,6 +24,10 @@ + # DEBUG_CFLAGS additional compiler flags for debugging build + # EXTRA_CFLAGS additional compiler flags + # EXTRA_LDFLAGS additional linker flags ++# EXTRA_PYTHON_CFLAGS additional compiler flags to pass when building Python ++# library ++# EXTRA_PYTHON_LDFLAGS additional linker flags to pass when building Python ++# library + # + # Testing-specific options (see also tests/README.md): + # TEST=GLOB run test(s) from directories matching GLOB +@@ -439,7 +443,7 @@ ifeq ($(PYTHON_BINDINGS),1) + libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h + @echo " [PY] libbtrfsutil" + $(Q)cd libbtrfsutil/python; \ +- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build ++ CFLAGS="$(EXTRA_PYTHON_CFLAGS)" LDFLAGS="$(EXTRA_PYTHON_LDFLAGS)" $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build + + .PHONY: libbtrfsutil_python + endif diff --git a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb index a1e7309664..89cc1bfe20 100644 --- a/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_4.20.2.bb +++ b/poky/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb @@ -14,10 +14,11 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl python3-setuptools-native" DEPENDS_append_class-target = " udev" RDEPENDS_${PN} = "libgcc" -SRCREV = "5c748404b97035463c79ba4e5fd41b6858535509" +SRCREV = "43013422dbce4bcc9ed77cfe65b294caa0985ec8" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + file://0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch \ " inherit autotools-brokensep pkgconfig manpages distutils3-base @@ -27,7 +28,10 @@ CLEANBROKEN = "1" PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" EXTRA_OECONF = " --disable-zstd" EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_OEMAKE = "V=1" +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" do_configure_prepend() { # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. diff --git a/poky/meta/recipes-devtools/ccache/ccache.inc b/poky/meta/recipes-devtools/ccache/ccache.inc index a31acada57..dcbbf0ca7a 100644 --- a/poky/meta/recipes-devtools/ccache/ccache.inc +++ b/poky/meta/recipes-devtools/ccache/ccache.inc @@ -10,6 +10,7 @@ LICENSE = "GPLv3+" DEPENDS = "zlib" SRC_URI = "https://github.com/ccache/ccache/releases/download/v${PV}/${BP}.tar.gz" +UPSTREAM_CHECK_URI = "https://github.com/ccache/ccache/releases/" inherit autotools diff --git a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb index c70523dca6..2a3007c38d 100644 --- a/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.12.2.bb +++ b/poky/meta/recipes-devtools/createrepo-c/createrepo-c_0.14.0.bb @@ -8,11 +8,11 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \ file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \ " -SRCREV = "5b4c06f6af24633f667da37455281f24a4abd461" +SRCREV = "8cffea9751b14366a7f6f3664f5d39fe4f0f9253" S = "${WORKDIR}/git" -DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm" +DEPENDS = "expat curl glib-2.0 libxml2 openssl bzip2 zlib file sqlite3 xz rpm libmodulemd" DEPENDS_append_class-native = " file-replacement-native" inherit cmake pkgconfig bash-completion distutils3-base diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch b/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch deleted file mode 100644 index b368508862..0000000000 --- a/poky/meta/recipes-devtools/dpkg/dpkg/0005-dpkg-compiler.m4-remove-Wvla.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 0ad7bba80d5b9035089ff2b2f77a774b5b201915 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 26 Aug 2015 16:28:59 +0300 -Subject: [PATCH 5/5] dpkg-compiler.m4: remove -Wvla -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Remove the -Wvla flag from the set of compiler warning flags, since gcc -on old host systems such as CentOS 5.8 doesn't support it, and it -causes a build error for dpkg-native. - -Upstream-Status: Pending - -Signed-off-by: Donn Seeley <donn.seeley@windriver.com> -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> - -Update patch context for dpkg 1.19.4. - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - m4/dpkg-compiler.m4 | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/m4/dpkg-compiler.m4 b/m4/dpkg-compiler.m4 -index a6192f6..4c7bf2e 100644 ---- a/m4/dpkg-compiler.m4 -+++ b/m4/dpkg-compiler.m4 -@@ -67,7 +67,6 @@ AC_DEFUN([DPKG_CHECK_COMPILER_WARNINGS], [ - DPKG_CHECK_COMPILER_FLAG([-Wshift-negative-value]) - DPKG_CHECK_COMPILER_FLAG([-Wsizeof-array-argument]) - DPKG_CHECK_COMPILER_FLAG([-Wswitch-bool]) -- DPKG_CHECK_COMPILER_FLAG([-Wvla]) - DPKG_CHECK_COMPILER_FLAG([-Wwrite-strings]) - - AC_LANG_CASE( --- -2.1.4 - diff --git a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch b/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch deleted file mode 100644 index 5debcc5209..0000000000 --- a/poky/meta/recipes-devtools/dpkg/dpkg/glibc2.5-sync_file_range.patch +++ /dev/null @@ -1,100 +0,0 @@ -From 9d260d408f9e17abd1d1dccd685bd7e80a3655a9 Mon Sep 17 00:00:00 2001 -From: Donn Seeley <donn.seeley@windriver.com> -Date: Tue, 25 Feb 2014 17:44:04 +0800 -Subject: [PATCH] dpkg: fix a link problem for dpkg-native on CentOS 5.8 - -CentOS 5.8 kernels and headers support the sync_file_range() system call, -but glibc 2.5 doesn't provide the syscall stub. It appears that this -problem is known but will never be fixed: - - https://bugzilla.redhat.com/show_bug.cgi?id=518581 - - Bug 518581 - [RHEL5] glibc misses sync_file_range syscall interface - - Status: CLOSED CANTFIX - Last Closed: 2009-11-22 22:19:55 - - Kirby Zhou 2009-08-20 23:37:55 EDT - - Description of problem: - - glibc misses sync_file_range syscall interface. The header file and - man page both say 'sync_file_range' should exist. From man page, - sync_file_range should exist sinc kernel-2.6.17 - - Andreas Schwab 2009-08-21 03:24:24 EDT - - It has only been added to glibc 2.6, and cannot be backported due to - ABI breakage. You can always fall back to syscall(3). - - Ulrich Drepper 2009-11-22 22:19:55 EST - - As comment #1 says, no chance to backport this. - - See the syscall man page for instructions. - - Jon E 2010-03-19 10:32:37 EDT - - then why document it if it's broken and you're not going to fix it? - .. might want to FTFM over at sync_file_range(2) - in the meantime - - borrowing from glibc 2.6 .. any thoughts on this implementation for a - hacky workaround for those still on your "ancient releases" .. (eg: - RHEL5.3)?: - - #ifdef ULI_WONT_FIX_THIS_IN_GLIBC2.5 - #define NR_sync_file_range 277 - int sync_file_range (int fd, __off64_t from, __off64_t to, unsigned int flags) - { - return syscall (NR_sync_file_range, fd, - __LONG_LONG_PAIR ((long) (from >> 32), (long) from), - __LONG_LONG_PAIR ((long) (to >> 32), (long) to), - flags); - } - #endif - - assuming of course that you're on an x86_64 and include/asm- - x86_64/unistd.h has the correct entry - - (fwiw - fio is starting to use this now) - -Rather than attempting to provide an implementation using syscall(), -we take the more conservative route and ignore header support for -sync_file_range() flags when the glibc version is <= 2.5. - -Upstream-Status: Inappropriate [everyone else builds on newer hosts :-)] - -Signed-off-by: Donn Seeley <donn.seeley@windriver.com> -Signed-off-by: Lei Liu <lei.liu2@windriver.com> - -Update patch context for dpkg 1.19.4. - -Signed-off-by: Kai Kang <kai.kang@windriver.com> ---- - src/archives.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/archives.c b/src/archives.c -index 8476a5c..b05a63f 100644 ---- a/src/archives.c -+++ b/src/archives.c -@@ -68,7 +68,7 @@ fd_writeback_init(int fd) - /* Ignore the return code as it should be considered equivalent to an - * asynchronous hint for the kernel, we are doing an fsync() later on - * anyway. */ --#if defined(SYNC_FILE_RANGE_WRITE) -+#if defined(SYNC_FILE_RANGE_WRITE) && __GLIBC_PREREQ(2, 6) - sync_file_range(fd, 0, 0, SYNC_FILE_RANGE_WRITE); - #elif defined(HAVE_POSIX_FADVISE) - posix_fadvise(fd, 0, 0, POSIX_FADV_DONTNEED); -@@ -1093,7 +1093,7 @@ tarobject(struct tar_archive *tar, struct tar_entry *ti) - return 0; - } - --#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) -+#if defined(SYNC_FILE_RANGE_WAIT_BEFORE) && __GLIBC_PREREQ(2, 6) - static void - tar_writeback_barrier(struct fsys_namenode_list *files, struct pkginfo *pkg) - { --- -2.16.2 - diff --git a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb index c3dbda77a4..77fbfb5c91 100644 --- a/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb +++ b/poky/meta/recipes-devtools/dpkg/dpkg_1.19.4.bb @@ -9,12 +9,11 @@ SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.xz \ file://0002-Adapt-to-linux-wrs-kernel-version-which-has-characte.patch \ file://0003-Our-pre-postinsts-expect-D-to-be-set-when-running-in.patch \ file://0004-The-lutimes-function-doesn-t-work-properly-for-all-s.patch \ - file://0005-dpkg-compiler.m4-remove-Wvla.patch \ file://0006-add-musleabi-to-known-target-tripets.patch \ file://0007-dpkg-deb-build.c-Remove-usage-of-clamp-mtime-in-tar.patch \ file://0001-dpkg-Support-muslx32-build.patch \ " -SRC_URI_append_class-native = " file://glibc2.5-sync_file_range.patch \ +SRC_URI_append_class-native = " \ file://tweak-options-require-tar-1.27.patch \ " diff --git a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb index 0695ee9dc3..ed946159bd 100644 --- a/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb +++ b/poky/meta/recipes-devtools/e2fsprogs/e2fsprogs_1.44.5.bb @@ -113,7 +113,8 @@ ALTERNATIVE_LINK_NAME[mkfs.ext2] = "${base_sbindir}/mkfs.ext2" ALTERNATIVE_${PN}-tune2fs = "tune2fs" ALTERNATIVE_LINK_NAME[tune2fs] = "${base_sbindir}/tune2fs" -RDEPENDS_${PN}-ptest += "${PN} ${PN}-tune2fs coreutils procps bash bzip2 diffutils perl" +RDEPENDS_${PN}-ptest += "coreutils procps bash bzip2 diffutils perl sed" +RDEPENDS_${PN}-ptest += "e2fsprogs-e2fsck e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-badblocks e2fsprogs-resize2fs" do_compile_ptest() { oe_runmake -C ${B}/tests diff --git a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb index 157551e6af..5b8049f531 100644 --- a/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb +++ b/poky/meta/recipes-devtools/elfutils/elfutils_0.176.bb @@ -44,7 +44,7 @@ inherit autotools gettext ptest EXTRA_OECONF = "--program-prefix=eu- --without-lzma" EXTRA_OECONF_append_class-native = " --without-bzlib" -RDEPENDS_${PN}-ptest = "libasm libelf bash make coreutils ${PN}-binutils ${PN}" +RDEPENDS_${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils" EXTRA_OECONF_append_class-target += "--disable-tests-rpath" @@ -61,6 +61,18 @@ do_compile_ptest() { do_install_ptest() { if [ ${PTEST_ENABLED} = "1" ]; then + # copy the files which needed by the cases + TEST_FILES="strip strip.o addr2line elfcmp objdump readelf size.o nm.o nm elflint" + install -d -m 755 ${D}${PTEST_PATH}/src + install -d -m 755 ${D}${PTEST_PATH}/libelf + install -d -m 755 ${D}${PTEST_PATH}/libdw + for test_file in ${TEST_FILES}; do + if [ -f ${B}/src/${test_file} ]; then + cp -r ${B}/src/${test_file} ${D}${PTEST_PATH}/src + fi + done + cp ${D}${libdir}/libelf-${PV}.so ${D}${PTEST_PATH}/libelf/libelf.so + cp ${D}${libdir}/libdw-${PV}.so ${D}${PTEST_PATH}/libdw/libdw.so cp -r ${S}/tests/ ${D}${PTEST_PATH} cp -r ${B}/tests/* ${D}${PTEST_PATH}/tests cp -r ${B}/config.h ${D}${PTEST_PATH} @@ -109,3 +121,26 @@ FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils # The package contains symlinks that trip up insane INSANE_SKIP_${MLPREFIX}libdw = "dev-so" + +# avoid stripping some generated binaries otherwise some of the tests such as test-nlist, +# run-strip-reloc.sh, run-strip-strmerge.sh and so on will fail +INHIBIT_PACKAGE_STRIP_FILES = "\ + ${PKGD}${PTEST_PATH}/tests/test-nlist \ + ${PKGD}${PTEST_PATH}/tests/elfstrmerge \ + ${PKGD}${PTEST_PATH}/tests/backtrace-child \ + ${PKGD}${PTEST_PATH}/tests/backtrace-data \ + ${PKGD}${PTEST_PATH}/tests/deleted \ + ${PKGD}${PTEST_PATH}/src/strip \ + ${PKGD}${PTEST_PATH}/src/addr2line \ + ${PKGD}${PTEST_PATH}/src/elfcmp \ + ${PKGD}${PTEST_PATH}/src/objdump \ + ${PKGD}${PTEST_PATH}/src/readelf \ + ${PKGD}${PTEST_PATH}/src/nm \ + ${PKGD}${PTEST_PATH}/src/elflint \ + ${PKGD}${PTEST_PATH}/libelf/libelf.so \ + ${PKGD}${PTEST_PATH}/libdw/libdw.so \ + ${PKGD}${PTEST_PATH}/backends/libebl_i386.so \ + ${PKGD}${PTEST_PATH}/backends/libebl_x86_64.so \ +" + +EXCLUDE_PACKAGES_FROM_SHLIBS = "${PN}-ptest" diff --git a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch index 67ca0e4c77..de8c05f11e 100644 --- a/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch +++ b/poky/meta/recipes-devtools/elfutils/files/0001-skip-the-test-when-gcc-not-deployed.patch @@ -1,19 +1,47 @@ -From 61939d2e552e7645ecd671fa01cf1c7a72caa82a Mon Sep 17 00:00:00 2001 +From e82a055f85e398cb03a4eaf5faf351a3a1f19344 Mon Sep 17 00:00:00 2001 From: Mingli Yu <Mingli.Yu@windriver.com> -Date: Fri, 12 Apr 2019 16:29:58 +0800 -Subject: [PATCH] skip the test when gcc not deployed +Date: Tue, 21 May 2019 15:20:34 +0800 +Subject: [PATCH v2] skip the test when gcc not deployed Skip the tests which depend on gcc when gcc not deployed. -Upstream-Status: Inappropriate [oe specific] +Upstream-Status: Submitted[https://sourceware.org/ml/elfutils-devel/2019-q2/msg00091.html] Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> --- + tests/run-disasm-x86-64.sh | 2 ++ + tests/run-disasm-x86.sh | 2 ++ tests/run-strip-g.sh | 2 ++ tests/run-strip-nothing.sh | 2 ++ - 2 files changed, 4 insertions(+) + 4 files changed, 8 insertions(+) +diff --git a/tests/run-disasm-x86-64.sh b/tests/run-disasm-x86-64.sh +index a6be62b..c3ef238 100755 +--- a/tests/run-disasm-x86-64.sh ++++ b/tests/run-disasm-x86-64.sh +@@ -22,6 +22,8 @@ case "`uname -m`" in + x86_64) + tempfiles testfile45.o + testfiles testfile45.S testfile45.expect ++ # skip the case if no gcc deployed ++ which gcc || exit 77 + gcc -m64 -c -o testfile45.o testfile45.S + testrun_compare ${abs_top_builddir}/src/objdump -d testfile45.o < testfile45.expect + ;; +diff --git a/tests/run-disasm-x86.sh b/tests/run-disasm-x86.sh +index 28a3df7..544fc28 100755 +--- a/tests/run-disasm-x86.sh ++++ b/tests/run-disasm-x86.sh +@@ -22,6 +22,8 @@ case "`uname -m`" in + x86_64 | i?86 ) + tempfiles testfile44.o + testfiles testfile44.S testfile44.expect ++ # skip the case if no gcc deployed ++ which gcc || exit 77 + gcc -m32 -c -o testfile44.o testfile44.S + testrun_compare ${abs_top_builddir}/src/objdump -d testfile44.o < testfile44.expect + ;; diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh index 1303819..a943dec 100755 --- a/tests/run-strip-g.sh diff --git a/poky/meta/recipes-devtools/file/file_5.36.bb b/poky/meta/recipes-devtools/file/file_5.37.bb index 9a0e5bd220..803aa9a271 100644 --- a/poky/meta/recipes-devtools/file/file_5.36.bb +++ b/poky/meta/recipes-devtools/file/file_5.37.bb @@ -16,7 +16,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "FILE(?P<pver>(?!6_23).+)" SRC_URI = "git://github.com/file/file.git" -SRCREV = "f3a4b9ada3ca99e62c62b9aa78eee4935a8094fe" +SRCREV = "a0d5b0e4e9f97d74a9911e95cedd579852e25398" S = "${WORKDIR}/git" inherit autotools update-alternatives diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc index fe9c7c3602..1781ff5b5d 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3.inc @@ -36,7 +36,6 @@ SRC_URI = "\ file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://0004-64-bit-multilib-hack.patch \ file://0005-optional-libstdc.patch \ - file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ file://0007-COLLECT_GCC_OPTIONS.patch \ file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ file://0009-fortran-cross-compile-hack.patch \ @@ -72,6 +71,8 @@ SRC_URI = "\ file://0039-riscv-Disable-multilib-for-OE.patch \ file://0040-powerpc-powerpc64-Add-support-for-musl-ldso.patch \ file://0041-Add-a-recursion-limit-to-libiberty-s-demangling-code.patch \ + file://0042-PR-debug-86964.patch \ + file://0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch \ " SRC_URI[md5sum] = "65b210b4bfe7e060051f799e0f994896" SRC_URI[sha256sum] = "64baadfe6cc0f4947a84cb12d7f0dfaf45bb58b7e92461639596c21e02d97d2c" diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch deleted file mode 100644 index 0cea228c87..0000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-8.3/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 1dba090a11c40b0926f9707a543d658c95e1f156 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 09:14:20 +0400 -Subject: [PATCH 06/40] gcc: disable MASK_RELAX_PIC_CALLS bit - -The new feature added after 4.3.3 -"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" -will cause cc1plus eat up all the system memory when build webkit-gtk. -The function mips_get_pic_call_symbol keeps on recursively calling itself. -Disable this feature to walk aside the bug. - -Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [configuration] ---- - gcc/configure | 7 ------- - gcc/configure.ac | 7 ------- - 2 files changed, 14 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 3901722400c..0c9b8ac5f55 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -27553,13 +27553,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 - $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 1b1362f70fe..53840363115 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4798,13 +4798,6 @@ x: - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) - - AC_CACHE_CHECK([linker for .eh_frame personality relaxation], --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch new file mode 100644 index 0000000000..d9b5d39b77 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0042-PR-debug-86964.patch @@ -0,0 +1,94 @@ +From beb921e1106b5bcbb0c6e2be84b241327e2ffc51 Mon Sep 17 00:00:00 2001 +From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Mon, 25 Mar 2019 21:19:09 +0000 +Subject: [PATCH] PR debug/86964 * dwarf2out.c + (premark_used_variables): New function. (prune_unused_types_walk): Do + not mark not premarked external variables. (prune_unused_types): + Call premark_used_variables. + + * gcc.dg/debug/dwarf2/pr86964.c: New testcase. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@269925 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> +--- + gcc/ChangeLog | 8 ++++++ + gcc/dwarf2out.c | 32 +++++++++++++++++++++ + 2 files changed, 40 insertions(+) + +diff --git a/gcc/ChangeLog b/gcc/ChangeLog +index 2075480ca2b..cdce539ac6f 100644 +--- a/gcc/ChangeLog ++++ b/gcc/ChangeLog +@@ -1,3 +1,11 @@ ++2019-03-25 Johan Karlsson <johan.karlsson@enea.com> ++ ++ PR debug/86964 ++ * dwarf2out.c (premark_used_variables): New function. ++ (prune_unused_types_walk): Do not mark not premarked external ++ variables. ++ (prune_unused_types): Call premark_used_variables. ++ + 2019-02-22 Release Manager + + * GCC 8.3.0 released. +diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c +index ae8bdee9981..b9a624e1ac7 100644 +--- a/gcc/dwarf2out.c ++++ b/gcc/dwarf2out.c +@@ -22658,6 +22658,21 @@ premark_types_used_by_global_vars (void) + ->traverse<void *, premark_types_used_by_global_vars_helper> (NULL); + } + ++/* Mark all variables used by the symtab as perennial. */ ++ ++static void ++premark_used_variables (void) ++{ ++ /* Mark DIEs in the symtab as used. */ ++ varpool_node *var; ++ FOR_EACH_VARIABLE (var) ++ { ++ dw_die_ref die = lookup_decl_die (var->decl); ++ if (die) ++ die->die_perennial_p = 1; ++ } ++} ++ + /* Generate a DW_TAG_call_site DIE in function DECL under SUBR_DIE + for CA_LOC call arg loc node. */ + +@@ -29264,6 +29279,19 @@ prune_unused_types_walk (dw_die_ref die) + + return; + ++ case DW_TAG_variable: ++ if (flag_debug_only_used_symbols) ++ { ++ if (die->die_perennial_p) ++ break; ++ ++ /* premark_used_variables marks external variables --- don't mark ++ them here. */ ++ if (get_AT (die, DW_AT_external)) ++ return; ++ } ++ /* FALLTHROUGH */ ++ + default: + /* Mark everything else. */ + break; +@@ -29390,6 +29418,10 @@ prune_unused_types (void) + /* Mark types that are used in global variables. */ + premark_types_used_by_global_vars (); + ++ /* Mark variables used in the symtab. */ ++ if (flag_debug_only_used_symbols) ++ premark_used_variables (); ++ + /* Set the mark on nodes that are actually used. */ + prune_unused_types_walk (comp_unit_die ()); + for (node = limbo_die_list; node; node = node->next) +-- +2.21.0 diff --git a/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch b/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch new file mode 100644 index 0000000000..f15207f581 --- /dev/null +++ b/poky/meta/recipes-devtools/gcc/gcc-8.3/0043-PR85434-Prevent-spilling-of-stack-protector-guard-s-.patch @@ -0,0 +1,813 @@ +From f98495d90ba66f67fe922a4b9229ea787041c418 Mon Sep 17 00:00:00 2001 +From: thopre01 <thopre01@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Thu, 22 Nov 2018 14:46:17 +0000 +Subject: [PATCH] PR85434: Prevent spilling of stack protector guard's address + on ARM + +In case of high register pressure in PIC mode, address of the stack +protector's guard can be spilled on ARM targets as shown in PR85434, +thus allowing an attacker to control what the canary would be compared +against. ARM does lack stack_protect_set and stack_protect_test insn +patterns, defining them does not help as the address is expanded +regularly and the patterns only deal with the copy and test of the +guard with the canary. + +This problem does not occur for x86 targets because the PIC access and +the test can be done in the same instruction. Aarch64 is exempt too +because PIC access insn pattern are mov of UNSPEC which prevents it from +the second access in the epilogue being CSEd in cse_local pass with the +first access in the prologue. + +The approach followed here is to create new "combined" set and test +standard pattern names that take the unexpanded guard and do the set or +test. This allows the target to use an opaque pattern (eg. using UNSPEC) +to hide the individual instructions being generated to the compiler and +split the pattern into generic load, compare and branch instruction +after register allocator, therefore avoiding any spilling. This is here +implemented for the ARM targets. For targets not implementing these new +standard pattern names, the existing stack_protect_set and +stack_protect_test pattern names are used. + +To be able to split PIC access after register allocation, the functions +had to be augmented to force a new PIC register load and to control +which register it loads into. This is because sharing the PIC register +between prologue and epilogue could lead to spilling due to CSE again +which an attacker could use to control what the canary gets compared +against. + +2018-11-22 Thomas Preud'homme <thomas.preudhomme@linaro.org> + + gcc/ + PR target/85434 + * target-insns.def (stack_protect_combined_set): Define new standard + pattern name. + (stack_protect_combined_test): Likewise. + * cfgexpand.c (stack_protect_prologue): Try new + stack_protect_combined_set pattern first. + * function.c (stack_protect_epilogue): Try new + stack_protect_combined_test pattern first. + * config/arm/arm.c (require_pic_register): Add pic_reg and compute_now + parameters to control which register to use as PIC register and force + reloading PIC register respectively. Insert in the stream of insns if + possible. + (legitimize_pic_address): Expose above new parameters in prototype and + adapt recursive calls accordingly. Use pic_reg if non null instead of + cached one. + (arm_load_pic_register): Add pic_reg parameter and use it if non null. + (arm_legitimize_address): Adapt to new legitimize_pic_address + prototype. + (thumb_legitimize_address): Likewise. + (arm_emit_call_insn): Adapt to require_pic_register prototype change. + (arm_expand_prologue): Adapt to arm_load_pic_register prototype change. + (thumb1_expand_prologue): Likewise. + * config/arm/arm-protos.h (legitimize_pic_address): Adapt to prototype + change. + (arm_load_pic_register): Likewise. + * config/arm/predicated.md (guard_addr_operand): New predicate. + (guard_operand): New predicate. + * config/arm/arm.md (movsi expander): Adapt to legitimize_pic_address + prototype change. + (builtin_setjmp_receiver expander): Adapt to thumb1_expand_prologue + prototype change. + (stack_protect_combined_set): New expander.. + (stack_protect_combined_set_insn): New insn_and_split pattern. + (stack_protect_set_insn): New insn pattern. + (stack_protect_combined_test): New expander. + (stack_protect_combined_test_insn): New insn_and_split pattern. + (arm_stack_protect_test_insn): New insn pattern. + * config/arm/thumb1.md (thumb1_stack_protect_test_insn): New insn pattern. + * config/arm/unspecs.md (UNSPEC_SP_SET): New unspec. + (UNSPEC_SP_TEST): Likewise. + * doc/md.texi (stack_protect_combined_set): Document new standard + pattern name. + (stack_protect_set): Clarify that the operand for guard's address is + legal. + (stack_protect_combined_test): Document new standard pattern name. + (stack_protect_test): Clarify that the operand for guard's address is + legal. + + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@266379 138bc75d-0d04-0410-961f-82ee72b054a4 + +Upstream-Status: Backport +CVE: CVE-2018-12886 +Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com> +--- + gcc/ChangeLog | 49 ++++++ + gcc/cfgexpand.c | 17 +++ + gcc/config/arm/arm-protos.h | 4 +- + gcc/config/arm/arm.c | 87 ++++++++--- + gcc/config/arm/arm.md | 163 +++++++++++++++++++- + gcc/config/arm/predicates.md | 17 +++ + gcc/config/arm/thumb1.md | 13 ++ + gcc/config/arm/unspecs.md | 3 + + gcc/doc/md.texi | 55 ++++++- + gcc/function.c | 32 +++- + gcc/target-insns.def | 2 + + 11 files changed, 399 insertions(+), 43 deletions(-) + create mode 100644 gcc/testsuite/gcc.target/arm/pr85434.c + +diff --git a/gcc/ChangeLog b/gcc/ChangeLog +index e2ebfd34214..fa41e7112e0 100644 +--- a/gcc/ChangeLog ++++ b/gcc/ChangeLog +@@ -1537,6 +1537,55 @@ + * config/arm/neon.md (movv4hf, movv8hf): Refactored to.. + (mov<mov>): ..this and enable unconditionally. + ++2018-11-22 Thomas Preud'homme <thomas.preudhomme@linaro.org> ++ ++ * target-insns.def (stack_protect_combined_set): Define new standard ++ pattern name. ++ (stack_protect_combined_test): Likewise. ++ * cfgexpand.c (stack_protect_prologue): Try new ++ stack_protect_combined_set pattern first. ++ * function.c (stack_protect_epilogue): Try new ++ stack_protect_combined_test pattern first. ++ * config/arm/arm.c (require_pic_register): Add pic_reg and compute_now ++ parameters to control which register to use as PIC register and force ++ reloading PIC register respectively. Insert in the stream of insns if ++ possible. ++ (legitimize_pic_address): Expose above new parameters in prototype and ++ adapt recursive calls accordingly. Use pic_reg if non null instead of ++ cached one. ++ (arm_load_pic_register): Add pic_reg parameter and use it if non null. ++ (arm_legitimize_address): Adapt to new legitimize_pic_address ++ prototype. ++ (thumb_legitimize_address): Likewise. ++ (arm_emit_call_insn): Adapt to require_pic_register prototype change. ++ (arm_expand_prologue): Adapt to arm_load_pic_register prototype change. ++ (thumb1_expand_prologue): Likewise. ++ * config/arm/arm-protos.h (legitimize_pic_address): Adapt to prototype ++ change. ++ (arm_load_pic_register): Likewise. ++ * config/arm/predicated.md (guard_addr_operand): New predicate. ++ (guard_operand): New predicate. ++ * config/arm/arm.md (movsi expander): Adapt to legitimize_pic_address ++ prototype change. ++ (builtin_setjmp_receiver expander): Adapt to thumb1_expand_prologue ++ prototype change. ++ (stack_protect_combined_set): New expander.. ++ (stack_protect_combined_set_insn): New insn_and_split pattern. ++ (stack_protect_set_insn): New insn pattern. ++ (stack_protect_combined_test): New expander. ++ (stack_protect_combined_test_insn): New insn_and_split pattern. ++ (arm_stack_protect_test_insn): New insn pattern. ++ * config/arm/thumb1.md (thumb1_stack_protect_test_insn): New insn pattern. ++ * config/arm/unspecs.md (UNSPEC_SP_SET): New unspec. ++ (UNSPEC_SP_TEST): Likewise. ++ * doc/md.texi (stack_protect_combined_set): Document new standard ++ pattern name. ++ (stack_protect_set): Clarify that the operand for guard's address is ++ legal. ++ (stack_protect_combined_test): Document new standard pattern name. ++ (stack_protect_test): Clarify that the operand for guard's address is ++ legal. ++ + 2018-11-22 Uros Bizjak <ubizjak@gmail.com> + + Backport from mainline +diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c +index 8fa392fcd8a..21bdcdaeaa3 100644 +--- a/gcc/cfgexpand.c ++++ b/gcc/cfgexpand.c +@@ -6185,6 +6185,23 @@ stack_protect_prologue (void) + rtx x, y; + + x = expand_normal (crtl->stack_protect_guard); ++ ++ if (targetm.have_stack_protect_combined_set () && guard_decl) ++ { ++ gcc_assert (DECL_P (guard_decl)); ++ y = DECL_RTL (guard_decl); ++ ++ /* Allow the target to compute address of Y and copy it to X without ++ leaking Y into a register. This combined address + copy pattern ++ allows the target to prevent spilling of any intermediate results by ++ splitting it after register allocator. */ ++ if (rtx_insn *insn = targetm.gen_stack_protect_combined_set (x, y)) ++ { ++ emit_insn (insn); ++ return; ++ } ++ } ++ + if (guard_decl) + y = expand_normal (guard_decl); + else +diff --git a/gcc/config/arm/arm-protos.h b/gcc/config/arm/arm-protos.h +index 8d6d2395b84..00f5f16ed02 100644 +--- a/gcc/config/arm/arm-protos.h ++++ b/gcc/config/arm/arm-protos.h +@@ -28,7 +28,7 @@ extern enum unwind_info_type arm_except_unwind_info (struct gcc_options *); + extern int use_return_insn (int, rtx); + extern bool use_simple_return_p (void); + extern enum reg_class arm_regno_class (int); +-extern void arm_load_pic_register (unsigned long); ++extern void arm_load_pic_register (unsigned long, rtx); + extern int arm_volatile_func (void); + extern void arm_expand_prologue (void); + extern void arm_expand_epilogue (bool); +@@ -69,7 +69,7 @@ extern int const_ok_for_dimode_op (HOST_WIDE_INT, enum rtx_code); + extern int arm_split_constant (RTX_CODE, machine_mode, rtx, + HOST_WIDE_INT, rtx, rtx, int); + extern int legitimate_pic_operand_p (rtx); +-extern rtx legitimize_pic_address (rtx, machine_mode, rtx); ++extern rtx legitimize_pic_address (rtx, machine_mode, rtx, rtx, bool); + extern rtx legitimize_tls_address (rtx, rtx); + extern bool arm_legitimate_address_p (machine_mode, rtx, bool); + extern int arm_legitimate_address_outer_p (machine_mode, rtx, RTX_CODE, int); +diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c +index 8393f0b87f3..12417de5102 100644 +--- a/gcc/config/arm/arm.c ++++ b/gcc/config/arm/arm.c +@@ -7379,21 +7379,34 @@ legitimate_pic_operand_p (rtx x) + return 1; + } + +-/* Record that the current function needs a PIC register. Initialize +- cfun->machine->pic_reg if we have not already done so. */ ++/* Record that the current function needs a PIC register. If PIC_REG is null, ++ a new pseudo is allocated as PIC register, otherwise PIC_REG is used. In ++ both case cfun->machine->pic_reg is initialized if we have not already done ++ so. COMPUTE_NOW decide whether and where to set the PIC register. If true, ++ PIC register is reloaded in the current position of the instruction stream ++ irregardless of whether it was loaded before. Otherwise, it is only loaded ++ if not already done so (crtl->uses_pic_offset_table is null). Note that ++ nonnull PIC_REG is only supported iff COMPUTE_NOW is true and null PIC_REG ++ is only supported iff COMPUTE_NOW is false. */ + + static void +-require_pic_register (void) ++require_pic_register (rtx pic_reg, bool compute_now) + { ++ gcc_assert (compute_now == (pic_reg != NULL_RTX)); ++ + /* A lot of the logic here is made obscure by the fact that this + routine gets called as part of the rtx cost estimation process. + We don't want those calls to affect any assumptions about the real + function; and further, we can't call entry_of_function() until we + start the real expansion process. */ +- if (!crtl->uses_pic_offset_table) ++ if (!crtl->uses_pic_offset_table || compute_now) + { +- gcc_assert (can_create_pseudo_p ()); ++ gcc_assert (can_create_pseudo_p () ++ || (pic_reg != NULL_RTX ++ && REG_P (pic_reg) ++ && GET_MODE (pic_reg) == Pmode)); + if (arm_pic_register != INVALID_REGNUM ++ && !compute_now + && !(TARGET_THUMB1 && arm_pic_register > LAST_LO_REGNUM)) + { + if (!cfun->machine->pic_reg) +@@ -7409,8 +7422,10 @@ require_pic_register (void) + { + rtx_insn *seq, *insn; + ++ if (pic_reg == NULL_RTX) ++ pic_reg = gen_reg_rtx (Pmode); + if (!cfun->machine->pic_reg) +- cfun->machine->pic_reg = gen_reg_rtx (Pmode); ++ cfun->machine->pic_reg = pic_reg; + + /* Play games to avoid marking the function as needing pic + if we are being called as part of the cost-estimation +@@ -7421,11 +7436,12 @@ require_pic_register (void) + start_sequence (); + + if (TARGET_THUMB1 && arm_pic_register != INVALID_REGNUM +- && arm_pic_register > LAST_LO_REGNUM) ++ && arm_pic_register > LAST_LO_REGNUM ++ && !compute_now) + emit_move_insn (cfun->machine->pic_reg, + gen_rtx_REG (Pmode, arm_pic_register)); + else +- arm_load_pic_register (0UL); ++ arm_load_pic_register (0UL, pic_reg); + + seq = get_insns (); + end_sequence (); +@@ -7438,16 +7454,33 @@ require_pic_register (void) + we can't yet emit instructions directly in the final + insn stream. Queue the insns on the entry edge, they will + be committed after everything else is expanded. */ +- insert_insn_on_edge (seq, +- single_succ_edge (ENTRY_BLOCK_PTR_FOR_FN (cfun))); ++ if (currently_expanding_to_rtl) ++ insert_insn_on_edge (seq, ++ single_succ_edge ++ (ENTRY_BLOCK_PTR_FOR_FN (cfun))); ++ else ++ emit_insn (seq); + } + } + } + } + ++/* Legitimize PIC load to ORIG into REG. If REG is NULL, a new pseudo is ++ created to hold the result of the load. If not NULL, PIC_REG indicates ++ which register to use as PIC register, otherwise it is decided by register ++ allocator. COMPUTE_NOW forces the PIC register to be loaded at the current ++ location in the instruction stream, irregardless of whether it was loaded ++ previously. Note that nonnull PIC_REG is only supported iff COMPUTE_NOW is ++ true and null PIC_REG is only supported iff COMPUTE_NOW is false. ++ ++ Returns the register REG into which the PIC load is performed. */ ++ + rtx +-legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) ++legitimize_pic_address (rtx orig, machine_mode mode, rtx reg, rtx pic_reg, ++ bool compute_now) + { ++ gcc_assert (compute_now == (pic_reg != NULL_RTX)); ++ + if (GET_CODE (orig) == SYMBOL_REF + || GET_CODE (orig) == LABEL_REF) + { +@@ -7480,9 +7513,12 @@ legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + rtx mem; + + /* If this function doesn't have a pic register, create one now. */ +- require_pic_register (); ++ require_pic_register (pic_reg, compute_now); ++ ++ if (pic_reg == NULL_RTX) ++ pic_reg = cfun->machine->pic_reg; + +- pat = gen_calculate_pic_address (reg, cfun->machine->pic_reg, orig); ++ pat = gen_calculate_pic_address (reg, pic_reg, orig); + + /* Make the MEM as close to a constant as possible. */ + mem = SET_SRC (pat); +@@ -7531,9 +7567,11 @@ legitimize_pic_address (rtx orig, machine_mode mode, rtx reg) + + gcc_assert (GET_CODE (XEXP (orig, 0)) == PLUS); + +- base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg); ++ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg, ++ pic_reg, compute_now); + offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode, +- base == reg ? 0 : reg); ++ base == reg ? 0 : reg, pic_reg, ++ compute_now); + + if (CONST_INT_P (offset)) + { +@@ -7633,16 +7671,17 @@ static GTY(()) int pic_labelno; + low register. */ + + void +-arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED) ++arm_load_pic_register (unsigned long saved_regs ATTRIBUTE_UNUSED, rtx pic_reg) + { +- rtx l1, labelno, pic_tmp, pic_rtx, pic_reg; ++ rtx l1, labelno, pic_tmp, pic_rtx; + + if (crtl->uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE) + return; + + gcc_assert (flag_pic); + +- pic_reg = cfun->machine->pic_reg; ++ if (pic_reg == NULL_RTX) ++ pic_reg = cfun->machine->pic_reg; + if (TARGET_VXWORKS_RTP) + { + pic_rtx = gen_rtx_SYMBOL_REF (Pmode, VXWORKS_GOTT_BASE); +@@ -8718,7 +8757,8 @@ arm_legitimize_address (rtx x, rtx orig_x, machine_mode mode) + { + /* We need to find and carefully transform any SYMBOL and LABEL + references; so go back to the original address expression. */ +- rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX); ++ rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX, NULL_RTX, ++ false /*compute_now*/); + + if (new_x != orig_x) + x = new_x; +@@ -8786,7 +8826,8 @@ thumb_legitimize_address (rtx x, rtx orig_x, machine_mode mode) + { + /* We need to find and carefully transform any SYMBOL and LABEL + references; so go back to the original address expression. */ +- rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX); ++ rtx new_x = legitimize_pic_address (orig_x, mode, NULL_RTX, NULL_RTX, ++ false /*compute_now*/); + + if (new_x != orig_x) + x = new_x; +@@ -18074,7 +18115,7 @@ arm_emit_call_insn (rtx pat, rtx addr, bool sibcall) + ? !targetm.binds_local_p (SYMBOL_REF_DECL (addr)) + : !SYMBOL_REF_LOCAL_P (addr))) + { +- require_pic_register (); ++ require_pic_register (NULL_RTX, false /*compute_now*/); + use_reg (&CALL_INSN_FUNCTION_USAGE (insn), cfun->machine->pic_reg); + } + +@@ -22006,7 +22047,7 @@ arm_expand_prologue (void) + mask &= THUMB2_WORK_REGS; + if (!IS_NESTED (func_type)) + mask |= (1 << IP_REGNUM); +- arm_load_pic_register (mask); ++ arm_load_pic_register (mask, NULL_RTX); + } + + /* If we are profiling, make sure no instructions are scheduled before +@@ -25237,7 +25278,7 @@ thumb1_expand_prologue (void) + /* Load the pic register before setting the frame pointer, + so we can use r7 as a temporary work register. */ + if (flag_pic && arm_pic_register != INVALID_REGNUM) +- arm_load_pic_register (live_regs_mask); ++ arm_load_pic_register (live_regs_mask, NULL_RTX); + + if (!frame_pointer_needed && CALLER_INTERWORKING_SLOT_SIZE > 0) + emit_move_insn (gen_rtx_REG (Pmode, ARM_HARD_FRAME_POINTER_REGNUM), +diff --git a/gcc/config/arm/arm.md b/gcc/config/arm/arm.md +index c8dc9474b1b..f6196e93168 100644 +--- a/gcc/config/arm/arm.md ++++ b/gcc/config/arm/arm.md +@@ -6021,7 +6021,8 @@ + operands[1] = legitimize_pic_address (operands[1], SImode, + (!can_create_pseudo_p () + ? operands[0] +- : 0)); ++ : NULL_RTX), NULL_RTX, ++ false /*compute_now*/); + } + " + ) +@@ -6309,7 +6310,7 @@ + /* r3 is clobbered by set/longjmp, so we can use it as a scratch + register. */ + if (arm_pic_register != INVALID_REGNUM) +- arm_load_pic_register (1UL << 3); ++ arm_load_pic_register (1UL << 3, NULL_RTX); + DONE; + }") + +@@ -8634,6 +8635,164 @@ + (set_attr "conds" "clob")] + ) + ++;; Named patterns for stack smashing protection. ++(define_expand "stack_protect_combined_set" ++ [(parallel ++ [(set (match_operand:SI 0 "memory_operand" "") ++ (unspec:SI [(match_operand:SI 1 "guard_operand" "")] ++ UNSPEC_SP_SET)) ++ (clobber (match_scratch:SI 2 "")) ++ (clobber (match_scratch:SI 3 ""))])] ++ "" ++ "" ++) ++ ++;; Use a separate insn from the above expand to be able to have the mem outside ++;; the operand #1 when register allocation comes. This is needed to avoid LRA ++;; try to reload the guard since we need to control how PIC access is done in ++;; the -fpic/-fPIC case (see COMPUTE_NOW parameter when calling ++;; legitimize_pic_address ()). ++(define_insn_and_split "*stack_protect_combined_set_insn" ++ [(set (match_operand:SI 0 "memory_operand" "=m,m") ++ (unspec:SI [(mem:SI (match_operand:SI 1 "guard_addr_operand" "X,X"))] ++ UNSPEC_SP_SET)) ++ (clobber (match_scratch:SI 2 "=&l,&r")) ++ (clobber (match_scratch:SI 3 "=&l,&r"))] ++ "" ++ "#" ++ "reload_completed" ++ [(parallel [(set (match_dup 0) (unspec:SI [(mem:SI (match_dup 2))] ++ UNSPEC_SP_SET)) ++ (clobber (match_dup 2))])] ++ " ++{ ++ if (flag_pic) ++ { ++ /* Forces recomputing of GOT base now. */ ++ legitimize_pic_address (operands[1], SImode, operands[2], operands[3], ++ true /*compute_now*/); ++ } ++ else ++ { ++ if (address_operand (operands[1], SImode)) ++ operands[2] = operands[1]; ++ else ++ { ++ rtx mem = XEXP (force_const_mem (SImode, operands[1]), 0); ++ emit_move_insn (operands[2], mem); ++ } ++ } ++}" ++ [(set_attr "arch" "t1,32")] ++) ++ ++(define_insn "*stack_protect_set_insn" ++ [(set (match_operand:SI 0 "memory_operand" "=m,m") ++ (unspec:SI [(mem:SI (match_operand:SI 1 "register_operand" "+&l,&r"))] ++ UNSPEC_SP_SET)) ++ (clobber (match_dup 1))] ++ "" ++ "@ ++ ldr\\t%1, [%1]\;str\\t%1, %0\;movs\t%1,#0 ++ ldr\\t%1, [%1]\;str\\t%1, %0\;mov\t%1,#0" ++ [(set_attr "length" "8,12") ++ (set_attr "conds" "clob,nocond") ++ (set_attr "type" "multiple") ++ (set_attr "arch" "t1,32")] ++) ++ ++(define_expand "stack_protect_combined_test" ++ [(parallel ++ [(set (pc) ++ (if_then_else ++ (eq (match_operand:SI 0 "memory_operand" "") ++ (unspec:SI [(match_operand:SI 1 "guard_operand" "")] ++ UNSPEC_SP_TEST)) ++ (label_ref (match_operand 2)) ++ (pc))) ++ (clobber (match_scratch:SI 3 "")) ++ (clobber (match_scratch:SI 4 "")) ++ (clobber (reg:CC CC_REGNUM))])] ++ "" ++ "" ++) ++ ++;; Use a separate insn from the above expand to be able to have the mem outside ++;; the operand #1 when register allocation comes. This is needed to avoid LRA ++;; try to reload the guard since we need to control how PIC access is done in ++;; the -fpic/-fPIC case (see COMPUTE_NOW parameter when calling ++;; legitimize_pic_address ()). ++(define_insn_and_split "*stack_protect_combined_test_insn" ++ [(set (pc) ++ (if_then_else ++ (eq (match_operand:SI 0 "memory_operand" "m,m") ++ (unspec:SI [(mem:SI (match_operand:SI 1 "guard_addr_operand" "X,X"))] ++ UNSPEC_SP_TEST)) ++ (label_ref (match_operand 2)) ++ (pc))) ++ (clobber (match_scratch:SI 3 "=&l,&r")) ++ (clobber (match_scratch:SI 4 "=&l,&r")) ++ (clobber (reg:CC CC_REGNUM))] ++ "" ++ "#" ++ "reload_completed" ++ [(const_int 0)] ++{ ++ rtx eq; ++ ++ if (flag_pic) ++ { ++ /* Forces recomputing of GOT base now. */ ++ legitimize_pic_address (operands[1], SImode, operands[3], operands[4], ++ true /*compute_now*/); ++ } ++ else ++ { ++ if (address_operand (operands[1], SImode)) ++ operands[3] = operands[1]; ++ else ++ { ++ rtx mem = XEXP (force_const_mem (SImode, operands[1]), 0); ++ emit_move_insn (operands[3], mem); ++ } ++ } ++ if (TARGET_32BIT) ++ { ++ emit_insn (gen_arm_stack_protect_test_insn (operands[4], operands[0], ++ operands[3])); ++ rtx cc_reg = gen_rtx_REG (CC_Zmode, CC_REGNUM); ++ eq = gen_rtx_EQ (CC_Zmode, cc_reg, const0_rtx); ++ emit_jump_insn (gen_arm_cond_branch (operands[2], eq, cc_reg)); ++ } ++ else ++ { ++ emit_insn (gen_thumb1_stack_protect_test_insn (operands[4], operands[0], ++ operands[3])); ++ eq = gen_rtx_EQ (VOIDmode, operands[4], const0_rtx); ++ emit_jump_insn (gen_cbranchsi4 (eq, operands[4], const0_rtx, ++ operands[2])); ++ } ++ DONE; ++} ++ [(set_attr "arch" "t1,32")] ++) ++ ++(define_insn "arm_stack_protect_test_insn" ++ [(set (reg:CC_Z CC_REGNUM) ++ (compare:CC_Z (unspec:SI [(match_operand:SI 1 "memory_operand" "m,m") ++ (mem:SI (match_operand:SI 2 "register_operand" "+l,r"))] ++ UNSPEC_SP_TEST) ++ (const_int 0))) ++ (clobber (match_operand:SI 0 "register_operand" "=&l,&r")) ++ (clobber (match_dup 2))] ++ "TARGET_32BIT" ++ "ldr\t%0, [%2]\;ldr\t%2, %1\;eors\t%0, %2, %0" ++ [(set_attr "length" "8,12") ++ (set_attr "conds" "set") ++ (set_attr "type" "multiple") ++ (set_attr "arch" "t,32")] ++) ++ + (define_expand "casesi" + [(match_operand:SI 0 "s_register_operand" "") ; index to jump on + (match_operand:SI 1 "const_int_operand" "") ; lower bound +diff --git a/gcc/config/arm/predicates.md b/gcc/config/arm/predicates.md +index 7e198f9bce4..69718ee9c7a 100644 +--- a/gcc/config/arm/predicates.md ++++ b/gcc/config/arm/predicates.md +@@ -31,6 +31,23 @@ + || REGNO_REG_CLASS (REGNO (op)) != NO_REGS)); + }) + ++; Predicate for stack protector guard's address in ++; stack_protect_combined_set_insn and stack_protect_combined_test_insn patterns ++(define_predicate "guard_addr_operand" ++ (match_test "true") ++{ ++ return (CONSTANT_ADDRESS_P (op) ++ || !targetm.cannot_force_const_mem (mode, op)); ++}) ++ ++; Predicate for stack protector guard in stack_protect_combined_set and ++; stack_protect_combined_test patterns ++(define_predicate "guard_operand" ++ (match_code "mem") ++{ ++ return guard_addr_operand (XEXP (op, 0), mode); ++}) ++ + (define_predicate "imm_for_neon_inv_logic_operand" + (match_code "const_vector") + { +diff --git a/gcc/config/arm/thumb1.md b/gcc/config/arm/thumb1.md +index 19dcdbcdd73..cd199c9c529 100644 +--- a/gcc/config/arm/thumb1.md ++++ b/gcc/config/arm/thumb1.md +@@ -1962,4 +1962,17 @@ + }" + [(set_attr "type" "mov_reg")] + ) ++ ++(define_insn "thumb1_stack_protect_test_insn" ++ [(set (match_operand:SI 0 "register_operand" "=&l") ++ (unspec:SI [(match_operand:SI 1 "memory_operand" "m") ++ (mem:SI (match_operand:SI 2 "register_operand" "+l"))] ++ UNSPEC_SP_TEST)) ++ (clobber (match_dup 2))] ++ "TARGET_THUMB1" ++ "ldr\t%0, [%2]\;ldr\t%2, %1\;eors\t%0, %2, %0" ++ [(set_attr "length" "8") ++ (set_attr "conds" "set") ++ (set_attr "type" "multiple")] ++) + +diff --git a/gcc/config/arm/unspecs.md b/gcc/config/arm/unspecs.md +index 19416736ef9..8f9dbcb08dc 100644 +--- a/gcc/config/arm/unspecs.md ++++ b/gcc/config/arm/unspecs.md +@@ -86,6 +86,9 @@ + UNSPEC_PROBE_STACK ; Probe stack memory reference + UNSPEC_NONSECURE_MEM ; Represent non-secure memory in ARMv8-M with + ; security extension ++ UNSPEC_SP_SET ; Represent the setting of stack protector's canary ++ UNSPEC_SP_TEST ; Represent the testing of stack protector's canary ++ ; against the guard. + ]) + + (define_c_enum "unspec" [ +diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi +index 295fc1f1143..895309b2f3c 100644 +--- a/gcc/doc/md.texi ++++ b/gcc/doc/md.texi +@@ -7450,22 +7450,61 @@ builtins. + The get/set patterns have a single output/input operand respectively, + with @var{mode} intended to be @code{Pmode}. + ++@cindex @code{stack_protect_combined_set} instruction pattern ++@item @samp{stack_protect_combined_set} ++This pattern, if defined, moves a @code{ptr_mode} value from an address ++whose declaration RTX is given in operand 1 to the memory in operand 0 ++without leaving the value in a register afterward. If several ++instructions are needed by the target to perform the operation (eg. to ++load the address from a GOT entry then load the @code{ptr_mode} value ++and finally store it), it is the backend's responsibility to ensure no ++intermediate result gets spilled. This is to avoid leaking the value ++some place that an attacker might use to rewrite the stack guard slot ++after having clobbered it. ++ ++If this pattern is not defined, then the address declaration is ++expanded first in the standard way and a @code{stack_protect_set} ++pattern is then generated to move the value from that address to the ++address in operand 0. ++ + @cindex @code{stack_protect_set} instruction pattern + @item @samp{stack_protect_set} +-This pattern, if defined, moves a @code{ptr_mode} value from the memory +-in operand 1 to the memory in operand 0 without leaving the value in +-a register afterward. This is to avoid leaking the value some place +-that an attacker might use to rewrite the stack guard slot after +-having clobbered it. ++This pattern, if defined, moves a @code{ptr_mode} value from the valid ++memory location in operand 1 to the memory in operand 0 without leaving ++the value in a register afterward. This is to avoid leaking the value ++some place that an attacker might use to rewrite the stack guard slot ++after having clobbered it. ++ ++Note: on targets where the addressing modes do not allow to load ++directly from stack guard address, the address is expanded in a standard ++way first which could cause some spills. + + If this pattern is not defined, then a plain move pattern is generated. + ++@cindex @code{stack_protect_combined_test} instruction pattern ++@item @samp{stack_protect_combined_test} ++This pattern, if defined, compares a @code{ptr_mode} value from an ++address whose declaration RTX is given in operand 1 with the memory in ++operand 0 without leaving the value in a register afterward and ++branches to operand 2 if the values were equal. If several ++instructions are needed by the target to perform the operation (eg. to ++load the address from a GOT entry then load the @code{ptr_mode} value ++and finally store it), it is the backend's responsibility to ensure no ++intermediate result gets spilled. This is to avoid leaking the value ++some place that an attacker might use to rewrite the stack guard slot ++after having clobbered it. ++ ++If this pattern is not defined, then the address declaration is ++expanded first in the standard way and a @code{stack_protect_test} ++pattern is then generated to compare the value from that address to the ++value at the memory in operand 0. ++ + @cindex @code{stack_protect_test} instruction pattern + @item @samp{stack_protect_test} + This pattern, if defined, compares a @code{ptr_mode} value from the +-memory in operand 1 with the memory in operand 0 without leaving the +-value in a register afterward and branches to operand 2 if the values +-were equal. ++valid memory location in operand 1 with the memory in operand 0 without ++leaving the value in a register afterward and branches to operand 2 if ++the values were equal. + + If this pattern is not defined, then a plain compare pattern and + conditional branch pattern is used. +diff --git a/gcc/function.c b/gcc/function.c +index 85a5d9f43f7..69523c1d723 100644 +--- a/gcc/function.c ++++ b/gcc/function.c +@@ -4937,18 +4937,34 @@ stack_protect_epilogue (void) + tree guard_decl = targetm.stack_protect_guard (); + rtx_code_label *label = gen_label_rtx (); + rtx x, y; +- rtx_insn *seq; ++ rtx_insn *seq = NULL; + + x = expand_normal (crtl->stack_protect_guard); +- if (guard_decl) +- y = expand_normal (guard_decl); ++ ++ if (targetm.have_stack_protect_combined_test () && guard_decl) ++ { ++ gcc_assert (DECL_P (guard_decl)); ++ y = DECL_RTL (guard_decl); ++ /* Allow the target to compute address of Y and compare it with X without ++ leaking Y into a register. This combined address + compare pattern ++ allows the target to prevent spilling of any intermediate results by ++ splitting it after register allocator. */ ++ seq = targetm.gen_stack_protect_combined_test (x, y, label); ++ } + else +- y = const0_rtx; ++ { ++ if (guard_decl) ++ y = expand_normal (guard_decl); ++ else ++ y = const0_rtx; ++ ++ /* Allow the target to compare Y with X without leaking either into ++ a register. */ ++ if (targetm.have_stack_protect_test ()) ++ seq = targetm.gen_stack_protect_test (x, y, label); ++ } + +- /* Allow the target to compare Y with X without leaking either into +- a register. */ +- if (targetm.have_stack_protect_test () +- && ((seq = targetm.gen_stack_protect_test (x, y, label)) != NULL_RTX)) ++ if (seq) + emit_insn (seq); + else + emit_cmp_and_jump_insns (x, y, EQ, NULL_RTX, ptr_mode, 1, label); +diff --git a/gcc/target-insns.def b/gcc/target-insns.def +index 9a552c3d11c..d39889b3522 100644 +--- a/gcc/target-insns.def ++++ b/gcc/target-insns.def +@@ -96,7 +96,9 @@ DEF_TARGET_INSN (sibcall_value, (rtx x0, rtx x1, rtx opt2, rtx opt3, + DEF_TARGET_INSN (simple_return, (void)) + DEF_TARGET_INSN (split_stack_prologue, (void)) + DEF_TARGET_INSN (split_stack_space_check, (rtx x0, rtx x1)) ++DEF_TARGET_INSN (stack_protect_combined_set, (rtx x0, rtx x1)) + DEF_TARGET_INSN (stack_protect_set, (rtx x0, rtx x1)) ++DEF_TARGET_INSN (stack_protect_combined_test, (rtx x0, rtx x1, rtx x2)) + DEF_TARGET_INSN (stack_protect_test, (rtx x0, rtx x1, rtx x2)) + DEF_TARGET_INSN (store_multiple, (rtx x0, rtx x1, rtx x2)) + DEF_TARGET_INSN (tablejump, (rtx x0, rtx x1)) +-- +2.21.0 diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc index eb2538020c..4c648a1694 100644 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1.inc +++ b/poky/meta/recipes-devtools/gcc/gcc-9.1.inc @@ -33,7 +33,6 @@ SRC_URI = "\ file://0003-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://0004-64-bit-multilib-hack.patch \ file://0005-optional-libstdc.patch \ - file://0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch \ file://0007-COLLECT_GCC_OPTIONS.patch \ file://0008-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch \ file://0009-fortran-cross-compile-hack.patch \ diff --git a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch b/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch deleted file mode 100644 index 4a552d5169..0000000000 --- a/poky/meta/recipes-devtools/gcc/gcc-9.1/0006-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch +++ /dev/null @@ -1,59 +0,0 @@ -From ca3b3ac12d9b6e1065333dec89e7be2c733509d9 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Fri, 29 Mar 2013 09:14:20 +0400 -Subject: [PATCH 06/37] gcc: disable MASK_RELAX_PIC_CALLS bit - -The new feature added after 4.3.3 -"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" -will cause cc1plus eat up all the system memory when build webkit-gtk. -The function mips_get_pic_call_symbol keeps on recursively calling itself. -Disable this feature to walk aside the bug. - -Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Inappropriate [configuration] ---- - gcc/configure | 7 ------- - gcc/configure.ac | 7 ------- - 2 files changed, 14 deletions(-) - -diff --git a/gcc/configure b/gcc/configure -index 2e08396622e..d36cb51bc2c 100755 ---- a/gcc/configure -+++ b/gcc/configure -@@ -27509,13 +27509,6 @@ $as_echo_n "checking assembler and linker for explicit JALR relocation... " >&6; - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 - $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } - -diff --git a/gcc/configure.ac b/gcc/configure.ac -index 7d34911573e..dfa88c35f3f 100644 ---- a/gcc/configure.ac -+++ b/gcc/configure.ac -@@ -4816,13 +4816,6 @@ x: - rm -f conftest.* - fi - fi -- if test $gcc_cv_as_ld_jalr_reloc = yes; then -- if test x$target_cpu_default = x; then -- target_cpu_default=MASK_RELAX_PIC_CALLS -- else -- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" -- fi -- fi - AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) - - AC_CACHE_CHECK([linker for .eh_frame personality relaxation], --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc index f28b57439c..db8d5f349f 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-8.2.1.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-8.3.inc @@ -5,6 +5,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \ file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ + file://0001-gdbserver-ctrl-c-handling.patch \ file://0002-make-man-install-relative-to-DESTDIR.patch \ file://0003-mips-linux-nat-Define-_ABIO32-if-not-defined.patch \ file://0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch \ @@ -15,11 +16,6 @@ SRC_URI = "http://ftp.gnu.org/gnu/gdb/gdb-${PV}.tar.xz \ file://0009-Change-order-of-CFLAGS.patch \ file://0010-resolve-restrict-keyword-conflict.patch \ file://0011-Fix-invalid-sigprocmask-call.patch \ - file://gdbserver-ctrl-c-handling.patch \ - file://0001-Fix-build-with-latest-GCC-9.0-tree.patch \ - file://CVE-2017-9778.patch \ - file://0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch \ -" -SRC_URI[md5sum] = "f8b2562e830a4098dd5b5ea9e9296c70" -SRC_URI[sha256sum] = "0a6a432907a03c5c8eaad3c3cffd50c00a40c3a5e3c4039440624bae703f2202" - + " +SRC_URI[md5sum] = "bbd95b2f9b34621ad7a19a3965476314" +SRC_URI[sha256sum] = "802f7ee309dcc547d65a68d61ebd6526762d26c3051f52caebe2189ac1ffd72e" diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc index 475e4f08ef..c9daf25a41 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian.inc @@ -40,4 +40,3 @@ do_install_append() { rm -rf ${D}${exec_prefix}/lib cross_canadian_bindirlinks } - diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb index 301035940c..301035940c 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.2.1.bb +++ b/poky/meta/recipes-devtools/gdb/gdb-cross-canadian_8.3.bb diff --git a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb index 50cf159fdb..50cf159fdb 100644 --- a/poky/meta/recipes-devtools/gdb/gdb-cross_8.2.1.bb +++ b/poky/meta/recipes-devtools/gdb/gdb-cross_8.3.bb diff --git a/poky/meta/recipes-devtools/gdb/gdb.inc b/poky/meta/recipes-devtools/gdb/gdb.inc index 52119a0aaa..0f10b41734 100644 --- a/poky/meta/recipes-devtools/gdb/gdb.inc +++ b/poky/meta/recipes-devtools/gdb/gdb.inc @@ -8,3 +8,6 @@ inherit gettext # cross-canadian must not see this PACKAGES =+ "gdbserver" FILES_gdbserver = "${bindir}/gdbserver" + +ALLOW_EMPTY_gdbserver_riscv64 = "1" + diff --git a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch deleted file mode 100644 index 2a962929d7..0000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/0001-Fix-build-with-latest-GCC-9.0-tree.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 7406a50077773e78282a495cb32ef5b8179f6a33 Mon Sep 17 00:00:00 2001 -From: Dimitar Dimitrov <dimitar@dinux.eu> -Date: Mon, 17 Dec 2018 21:30:52 +0200 -Subject: [PATCH] Fix build with latest GCC 9.0 tree - -A recent patch [1] to fix a GCC PR [2] actually broke the GDB build. -To fix, remove the stack pointer clobber. GCC will ignore the clobber -marker, and will not save or restore the stack pointer. - -I ran "make check-gdb" on x86_64 to ensure there are no regressions. - -gdb/ChangeLog: - -2018-12-17 Dimitar Dimitrov <dimitar@dinux.eu> - - * nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers. - -[1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html -[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 - -Upstream-Status: Backport -Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu> ---- - gdb/ChangeLog | 5 +++++ - gdb/nat/linux-ptrace.c | 4 ++-- - 2 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c -index d4c1b8f9fd..187cfeb9bc 100644 ---- a/gdb/nat/linux-ptrace.c -+++ b/gdb/nat/linux-ptrace.c -@@ -161,14 +161,14 @@ linux_ptrace_test_ret_to_nx (void) - ".globl linux_ptrace_test_ret_to_nx_instr;" - "linux_ptrace_test_ret_to_nx_instr:" - "ret" -- : : "r" (return_address) : "%esp", "memory"); -+ : : "r" (return_address) : "memory"); - #elif defined __x86_64__ - asm volatile ("pushq %0;" - ".globl linux_ptrace_test_ret_to_nx_instr;" - "linux_ptrace_test_ret_to_nx_instr:" - "ret" - : : "r" ((uint64_t) (uintptr_t) return_address) -- : "%rsp", "memory"); -+ : "memory"); - #else - # error "!__i386__ && !__x86_64__" - #endif --- -2.20.1 diff --git a/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch index 71fe7f83b6..71fe7f83b6 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/gdbserver-ctrl-c-handling.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0001-gdbserver-ctrl-c-handling.patch diff --git a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch b/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch index bbe0020bf3..170d512ef7 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0004-ppc-ptrace-Define-pt_regs-uapi_pt_regs-on-GLIBC-syst.patch @@ -1,24 +1,24 @@ -From 1dd5c44474b01d84de60faded960fef4a0a87e41 Mon Sep 17 00:00:00 2001 +From da30370c1e3ff7728a857e119e0529a9f097086e Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 18:32:14 -0700 -Subject: [PATCH 04/11] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC - systems +Subject: [PATCH] ppc/ptrace: Define pt_regs uapi_pt_regs on !GLIBC systems Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- gdb/gdbserver/linux-ppc-low.c | 6 ++++++ gdb/nat/ppc-linux.h | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/gdb/gdbserver/linux-ppc-low.c b/gdb/gdbserver/linux-ppc-low.c -index 47428c1529..841a5e02b9 100644 +index 1b695e53..1978347c 100644 --- a/gdb/gdbserver/linux-ppc-low.c +++ b/gdb/gdbserver/linux-ppc-low.c -@@ -21,7 +21,13 @@ - #include "linux-low.h" - +@@ -23,7 +23,13 @@ + #include "elf/common.h" + #include <sys/uio.h> #include <elf.h> +#if !defined(__GLIBC__) +# define pt_regs uapi_pt_regs @@ -31,12 +31,12 @@ index 47428c1529..841a5e02b9 100644 #include "arch/ppc-linux-common.h" #include "arch/ppc-linux-tdesc.h" diff --git a/gdb/nat/ppc-linux.h b/gdb/nat/ppc-linux.h -index 3d4d4fdc56..5b93af8d3a 100644 +index f1561b3b..40399361 100644 --- a/gdb/nat/ppc-linux.h +++ b/gdb/nat/ppc-linux.h @@ -18,7 +18,13 @@ - #ifndef PPC_LINUX_H - #define PPC_LINUX_H 1 + #ifndef NAT_PPC_LINUX_H + #define NAT_PPC_LINUX_H +#if !defined(__GLIBC__) +# define pt_regs uapi_pt_regs @@ -48,6 +48,3 @@ index 3d4d4fdc56..5b93af8d3a 100644 #include <asm/cputable.h> /* This sometimes isn't defined. */ --- -2.18.0 - diff --git a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch b/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch index d32352b813..95bec5fd60 100644 --- a/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch +++ b/poky/meta/recipes-devtools/gdb/gdb/0008-Use-exorted-definitions-of-SIGRTMIN.patch @@ -1,7 +1,7 @@ -From d97878b272bd7c4993f4205983ae8b7ecddbcf82 Mon Sep 17 00:00:00 2001 +From bab0b34672727c50313eb98b8522355cbe1bde36 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Sat, 30 Apr 2016 15:31:40 -0700 -Subject: [PATCH 08/11] Use exorted definitions of SIGRTMIN +Subject: [PATCH] Use exorted definitions of SIGRTMIN Define W_STOPCODE if not defined already @@ -14,16 +14,17 @@ https://sourceware.org/bugzilla/show_bug.cgi?id=13012 Upstream-Status: Submitted Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- gdb/linux-nat.c | 4 ++-- gdb/nat/linux-nat.h | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c -index 64015e7520..acf950c38b 100644 +index 063afe26..fb1d2d5d 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c -@@ -4724,6 +4724,6 @@ lin_thread_get_thread_signals (sigset_t *set) +@@ -4713,6 +4713,6 @@ lin_thread_get_thread_signals (sigset_t *set) /* NPTL reserves the first two RT signals, but does not provide any way for the debugger to query the signal numbers - fortunately they don't change. */ @@ -33,7 +34,7 @@ index 64015e7520..acf950c38b 100644 + sigaddset (set, SIGRTMIN + 1); } diff --git a/gdb/nat/linux-nat.h b/gdb/nat/linux-nat.h -index a90a124d3a..4f3e681962 100644 +index 1e32dd9e..b886305d 100644 --- a/gdb/nat/linux-nat.h +++ b/gdb/nat/linux-nat.h @@ -90,4 +90,8 @@ extern void linux_stop_lwp (struct lwp_info *lwp); @@ -44,7 +45,4 @@ index a90a124d3a..4f3e681962 100644 +#define W_STOPCODE(sig) ((sig) << 8 | 0x7f) +#endif + - #endif /* LINUX_NAT_H */ --- -2.18.0 - + #endif /* NAT_LINUX_NAT_H */ diff --git a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch b/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch deleted file mode 100644 index f35033c122..0000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/0012-AArch64-Fix-the-gdb-build-with-musl-libc.patch +++ /dev/null @@ -1,52 +0,0 @@ -From cbbf1a8ba7f037ba3b83f090829edcbab542c285 Mon Sep 17 00:00:00 2001 -From: Szabolcs Nagy <szabolcs.nagy@arm.com> -Date: Thu, 13 Dec 2018 17:47:17 +0000 -Subject: [PATCH] AArch64: Fix the gdb build with musl libc - -Including asm/sigcontext.h together with libc headers is not valid. In -general linux headers may not work with libc headers, so mixing them -should be avoided, especially when the linux header defines types that -are also exposed in libc headers. - -In case of asm/sigcontext.h glibc happens to work because glibc signal.h -directly includes it, but e.g. in musl libc signal.h replicates the -sigcontext.h definitions in an abi compatible way which are in conflict -with the linux definitions when both headers are included. - -Since old linux headers or old libc headers may not have the necessary -definitions, gdb has to replicate the definitions it relies on anyway. -Which is fine since all definitions must be ABI stable. For linux apis -that are not available via libc headers, replicating the definitions in -gdb is the most reliable way to use them. - -Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux -headers, which is just as problematic and should be fixed in linux. - -gdb/ChangeLog: - - * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of - asm/sigcontext.h. - -[ChangeLog entry stripped so that patch applies cleanly] -Upstream-Status: Backport -Signed-off-by: Paul Barker <paul@betafive.co.uk> ---- - gdb/nat/aarch64-sve-linux-ptrace.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h -index 029e753ffe..172ae39432 100644 ---- a/gdb/nat/aarch64-sve-linux-ptrace.h -+++ b/gdb/nat/aarch64-sve-linux-ptrace.h -@@ -20,7 +20,7 @@ - #ifndef AARCH64_SVE_LINUX_PTRACE_H - #define AARCH64_SVE_LINUX_PTRACE_H - --#include <asm/sigcontext.h> -+#include <signal.h> - #include <sys/utsname.h> - #include <sys/ptrace.h> - #include <asm/ptrace.h> --- -2.17.1 - diff --git a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch b/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch deleted file mode 100644 index 935f2661fe..0000000000 --- a/poky/meta/recipes-devtools/gdb/gdb/CVE-2017-9778.patch +++ /dev/null @@ -1,99 +0,0 @@ -From a608b79f30ab3f670095e14ba3d3b5b24a19fe68 Mon Sep 17 00:00:00 2001 -From: Sandra Loosemore <sandra@codesourcery.com> -Date: Thu, 25 Apr 2019 07:27:02 -0700 -Subject: [PATCH] Detect invalid length field in debug frame FDE header. - -GDB was failing to catch cases where a corrupt ELF or core file -contained an invalid length value in a Dwarf debug frame FDE header. -It was checking for buffer overflow but not cases where the length was -negative or caused pointer wrap-around. - -In addition to the additional validity check, this patch cleans up the -multiple signed/unsigned conversions on the length field so that an -unsigned representation is used consistently throughout. - -This patch fixes CVE-2017-9778 and PR gdb/21600. - -2019-04-25 Sandra Loosemore <sandra@codesourcery.com> - Kang Li <kanglictf@gmail.com> - - PR gdb/21600 - - * dwarf2-frame.c (read_initial_length): Be consistent about using - unsigned representation of length. - (decode_frame_entry_1): Likewise. Check for wraparound of - end pointer as well as buffer overflow. - -Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=723adb650a31859d7cc45832cb8adca0206455ed] -CVE: CVE-2017-9778 -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - gdb/ChangeLog | 11 +++++++++++ - gdb/dwarf2-frame.c | 14 +++++++------- - 2 files changed, 18 insertions(+), 7 deletions(-) - -diff --git a/gdb/ChangeLog b/gdb/ChangeLog -index 3711dc7..0a9720b 100644 ---- a/gdb/ChangeLog -+++ b/gdb/ChangeLog -@@ -1,3 +1,14 @@ -+2019-04-25 Sandra Loosemore <sandra@codesourcery.com> -+ Kang Li <kanglictf@gmail.com> -+ -+ PR gdb/21600 -+ -+ * dwarf2-frame.c (read_initial_length): Be consistent about using -+ unsigned representation of length. -+ (decode_frame_entry_1): Likewise. Check for wraparound of -+ end pointer as well as buffer overflow. -+ -+ - 2018-12-23 Joel Brobecker <brobecker@adacore.com> - - * version.in: Set GDB version number to 8.2.1. -diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c -index 91e16cf..a7b99fd 100644 ---- a/gdb/dwarf2-frame.c -+++ b/gdb/dwarf2-frame.c -@@ -1477,7 +1477,7 @@ static ULONGEST - read_initial_length (bfd *abfd, const gdb_byte *buf, - unsigned int *bytes_read_ptr) - { -- LONGEST result; -+ ULONGEST result; - - result = bfd_get_32 (abfd, buf); - if (result == 0xffffffff) -@@ -1780,7 +1780,7 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start, - { - struct gdbarch *gdbarch = get_objfile_arch (unit->objfile); - const gdb_byte *buf, *end; -- LONGEST length; -+ ULONGEST length; - unsigned int bytes_read; - int dwarf64_p; - ULONGEST cie_id; -@@ -1791,15 +1791,15 @@ decode_frame_entry_1 (struct comp_unit *unit, const gdb_byte *start, - buf = start; - length = read_initial_length (unit->abfd, buf, &bytes_read); - buf += bytes_read; -- end = buf + length; -- -- /* Are we still within the section? */ -- if (end > unit->dwarf_frame_buffer + unit->dwarf_frame_size) -- return NULL; -+ end = buf + (size_t) length; - - if (length == 0) - return end; - -+ /* Are we still within the section? */ -+ if (end <= buf || end > unit->dwarf_frame_buffer + unit->dwarf_frame_size) -+ return NULL; -+ - /* Distinguish between 32 and 64-bit encoded frame info. */ - dwarf64_p = (bytes_read == 12); - --- -2.7.4 - diff --git a/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb index c6eac84dd8..c6eac84dd8 100644 --- a/poky/meta/recipes-devtools/gdb/gdb_8.2.1.bb +++ b/poky/meta/recipes-devtools/gdb/gdb_8.3.bb diff --git a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb index e597ebedbc..1630c12823 100644 --- a/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb +++ b/poky/meta/recipes-devtools/gnu-config/gnu-config_git.bb @@ -8,8 +8,8 @@ DEPENDS_class-native = "hostperl-runtime-native" INHIBIT_DEFAULT_DEPS = "1" -SRCREV = "058639be227bbe8f03cc39f79f7ce84918012143" -PV = "20181128+git${SRCPV}" +SRCREV = "b98424c249119b79d3f709e26eb86f2fd4d5e5f3" +PV = "20190501+git${SRCPV}" SRC_URI = "git://git.savannah.gnu.org/config.git \ file://gnu-configize.in" diff --git a/poky/meta/recipes-devtools/go/go-1.11.inc b/poky/meta/recipes-devtools/go/go-1.11.inc deleted file mode 100644 index d03e26cea0..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11.inc +++ /dev/null @@ -1,23 +0,0 @@ -require go-common.inc - -GO_BASEVERSION = "1.11" -GO_MINOR = ".4" -PV .= "${GO_MINOR}" -FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707" - -SRC_URI += "\ - file://0001-allow-CC-and-CXX-to-have-multiple-words.patch \ - file://0002-cmd-go-make-content-based-hash-generation-less-pedan.patch \ - file://0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch \ - file://0004-ld-add-soname-to-shareable-objects.patch \ - file://0005-make.bash-override-CC-when-building-dist-and-go_boot.patch \ - file://0006-cmd-dist-separate-host-and-target-builds.patch \ - file://0007-cmd-go-make-GOROOT-precious-by-default.patch \ - file://0008-use-GOBUILDMODE-to-set-buildmode.patch \ -" -SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch" - -SRC_URI[main.md5sum] = "a77697673215be465d1b583680ef2318" -SRC_URI[main.sha256sum] = "4cfd42720a6b1e79a8024895fa6607b69972e8e32446df76d6ce79801bbadb15" diff --git a/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch b/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch deleted file mode 100644 index 4442858c83..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0001-allow-CC-and-CXX-to-have-multiple-words.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 7cc519aa5f84cf8fc7ac8c10fc69aa8040330ea0 Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Mon, 19 Feb 2018 08:49:33 -0800 -Subject: [PATCH] allow CC and CXX to have multiple words - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/cmd/go/internal/envcmd/env.go | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go -index afadbad..cedbfbf 100644 ---- a/src/cmd/go/internal/envcmd/env.go -+++ b/src/cmd/go/internal/envcmd/env.go -@@ -85,11 +85,11 @@ func MkEnv() []cfg.EnvVar { - - cc := cfg.DefaultCC(cfg.Goos, cfg.Goarch) - if env := strings.Fields(os.Getenv("CC")); len(env) > 0 { -- cc = env[0] -+ cc = strings.Join(env, " ") - } - cxx := cfg.DefaultCXX(cfg.Goos, cfg.Goarch) - if env := strings.Fields(os.Getenv("CXX")); len(env) > 0 { -- cxx = env[0] -+ cxx = strings.Join(env, " ") - } - env = append(env, cfg.EnvVar{Name: "CC", Value: cc}) - env = append(env, cfg.EnvVar{Name: "CXX", Value: cxx}) diff --git a/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch b/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch deleted file mode 100644 index 66b8561874..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0002-cmd-go-make-content-based-hash-generation-less-pedan.patch +++ /dev/null @@ -1,218 +0,0 @@ -From 47db69e20ed66fb62b01affd83d829654b829893 Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Mon, 19 Feb 2018 08:50:59 -0800 -Subject: [PATCH] cmd/go: make content-based hash generation less pedantic - -Go 1.10's build tool now uses content-based hashes to -determine when something should be built or re-built. -This same mechanism is used to maintain a built-artifact -cache for speeding up builds. - -However, the hashes it generates include information that -doesn't work well with OE, nor with using a shared runtime -library. - -First, it embeds path names to source files, unless -building within GOROOT. This prevents the building -of a package in GOPATH for later staging into GOROOT. - -This patch adds support for the environment variable -GOPATH_OMIT_IN_ACTIONID. If present, path name -embedding is disabled. - -Second, if cgo is enabled, the build ID for cgo-related -packages will include the current value of the environment -variables for invoking the compiler (CC, CXX, FC) and -any CGO_xxFLAGS variables. Only if the settings used -during a compilation exactly match, character for character, -the values used for compiling runtime/cgo or any other -cgo-enabled package being imported, will the tool -decide that the imported package is up-to-date. - -This is done to help ensure correctness, but is overly -simplistic and effectively prevents the reuse of built -artifacts that use cgo (or shared runtime, which includes -runtime/cgo). - -This patch filters out all compiler flags except those -beginning with '-m'. The default behavior can be restored -by setting the CGO_PEDANTIC environment variable. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/cmd/go/internal/envcmd/env.go | 2 +- - src/cmd/go/internal/work/exec.go | 63 ++++++++++++++++++++++--------- - 2 files changed, 46 insertions(+), 19 deletions(-) - -diff --git a/src/cmd/go/internal/envcmd/env.go b/src/cmd/go/internal/envcmd/env.go -index cedbfbf..5763a0d 100644 ---- a/src/cmd/go/internal/envcmd/env.go -+++ b/src/cmd/go/internal/envcmd/env.go -@@ -128,7 +128,7 @@ func ExtraEnvVars() []cfg.EnvVar { - func ExtraEnvVarsCostly() []cfg.EnvVar { - var b work.Builder - b.Init() -- cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}) -+ cppflags, cflags, cxxflags, fflags, ldflags, err := b.CFlags(&load.Package{}, false) - if err != nil { - // Should not happen - b.CFlags was given an empty package. - fmt.Fprintf(os.Stderr, "go: invalid cflags: %v\n", err) -diff --git a/src/cmd/go/internal/work/exec.go b/src/cmd/go/internal/work/exec.go -index 12e1527..e41bfac 100644 ---- a/src/cmd/go/internal/work/exec.go -+++ b/src/cmd/go/internal/work/exec.go -@@ -174,6 +174,8 @@ func (b *Builder) Do(root *Action) { - wg.Wait() - } - -+var omitGopath = os.Getenv("GOPATH_OMIT_IN_ACTIONID") != "" -+ - // buildActionID computes the action ID for a build action. - func (b *Builder) buildActionID(a *Action) cache.ActionID { - p := a.Package -@@ -190,7 +192,7 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { - // but it does not hide the exact value of $GOPATH. - // Include the full dir in that case. - // Assume b.WorkDir is being trimmed properly. -- if !p.Goroot && !strings.HasPrefix(p.Dir, b.WorkDir) { -+ if !p.Goroot && !omitGopath && !strings.HasPrefix(p.Dir, b.WorkDir) { - fmt.Fprintf(h, "dir %s\n", p.Dir) - } - fmt.Fprintf(h, "goos %s goarch %s\n", cfg.Goos, cfg.Goarch) -@@ -201,13 +203,13 @@ func (b *Builder) buildActionID(a *Action) cache.ActionID { - } - if len(p.CgoFiles)+len(p.SwigFiles) > 0 { - fmt.Fprintf(h, "cgo %q\n", b.toolID("cgo")) -- cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p) -- fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(), cppflags, cflags, ldflags) -+ cppflags, cflags, cxxflags, fflags, ldflags, _ := b.CFlags(p, true) -+ fmt.Fprintf(h, "CC=%q %q %q %q\n", b.ccExe(true), cppflags, cflags, ldflags) - if len(p.CXXFiles)+len(p.SwigFiles) > 0 { -- fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(), cxxflags) -+ fmt.Fprintf(h, "CXX=%q %q\n", b.cxxExe(true), cxxflags) - } - if len(p.FFiles) > 0 { -- fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(), fflags) -+ fmt.Fprintf(h, "FC=%q %q\n", b.fcExe(true), fflags) - } - // TODO(rsc): Should we include the SWIG version or Fortran/GCC/G++/Objective-C compiler versions? - } -@@ -2096,33 +2098,33 @@ var ( - // gccCmd returns a gcc command line prefix - // defaultCC is defined in zdefaultcc.go, written by cmd/dist. - func (b *Builder) GccCmd(incdir, workdir string) []string { -- return b.compilerCmd(b.ccExe(), incdir, workdir) -+ return b.compilerCmd(b.ccExe(false), incdir, workdir) - } - - // gxxCmd returns a g++ command line prefix - // defaultCXX is defined in zdefaultcc.go, written by cmd/dist. - func (b *Builder) GxxCmd(incdir, workdir string) []string { -- return b.compilerCmd(b.cxxExe(), incdir, workdir) -+ return b.compilerCmd(b.cxxExe(false), incdir, workdir) - } - - // gfortranCmd returns a gfortran command line prefix. - func (b *Builder) gfortranCmd(incdir, workdir string) []string { -- return b.compilerCmd(b.fcExe(), incdir, workdir) -+ return b.compilerCmd(b.fcExe(false), incdir, workdir) - } - - // ccExe returns the CC compiler setting without all the extra flags we add implicitly. --func (b *Builder) ccExe() []string { -- return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch)) -+func (b *Builder) ccExe(filtered bool) []string { -+ return b.compilerExe(origCC, cfg.DefaultCC(cfg.Goos, cfg.Goarch), filtered) - } - - // cxxExe returns the CXX compiler setting without all the extra flags we add implicitly. --func (b *Builder) cxxExe() []string { -- return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch)) -+func (b *Builder) cxxExe(filtered bool) []string { -+ return b.compilerExe(origCXX, cfg.DefaultCXX(cfg.Goos, cfg.Goarch), filtered) - } - - // fcExe returns the FC compiler setting without all the extra flags we add implicitly. --func (b *Builder) fcExe() []string { -- return b.compilerExe(os.Getenv("FC"), "gfortran") -+func (b *Builder) fcExe(filtered bool) []string { -+ return b.compilerExe(os.Getenv("FC"), "gfortran", filtered) - } - - // compilerExe returns the compiler to use given an -@@ -2131,11 +2133,14 @@ func (b *Builder) fcExe() []string { - // of the compiler but can have additional arguments if they - // were present in the environment value. - // For example if CC="gcc -DGOPHER" then the result is ["gcc", "-DGOPHER"]. --func (b *Builder) compilerExe(envValue string, def string) []string { -+func (b *Builder) compilerExe(envValue string, def string, filtered bool) []string { - compiler := strings.Fields(envValue) - if len(compiler) == 0 { - compiler = []string{def} - } -+ if filtered { -+ return append(compiler[0:1], filterCompilerFlags(compiler[1:])...) -+ } - return compiler - } - -@@ -2285,8 +2290,23 @@ func envList(key, def string) []string { - return strings.Fields(v) - } - -+var filterFlags = os.Getenv("CGO_PEDANTIC") == "" -+ -+func filterCompilerFlags(flags []string) []string { -+ var newflags []string -+ if !filterFlags { -+ return flags -+ } -+ for _, flag := range flags { -+ if strings.HasPrefix(flag, "-m") { -+ newflags = append(newflags, flag) -+ } -+ } -+ return newflags -+} -+ - // CFlags returns the flags to use when invoking the C, C++ or Fortran compilers, or cgo. --func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) { -+func (b *Builder) CFlags(p *load.Package, filtered bool) (cppflags, cflags, cxxflags, fflags, ldflags []string, err error) { - defaults := "-g -O2" - - if cppflags, err = buildFlags("CPPFLAGS", "", p.CgoCPPFLAGS, checkCompilerFlags); err != nil { -@@ -2304,6 +2324,13 @@ func (b *Builder) CFlags(p *load.Package) (cppflags, cflags, cxxflags, fflags, l - if ldflags, err = buildFlags("LDFLAGS", defaults, p.CgoLDFLAGS, checkLinkerFlags); err != nil { - return - } -+ if filtered { -+ cppflags = filterCompilerFlags(cppflags) -+ cflags = filterCompilerFlags(cflags) -+ cxxflags = filterCompilerFlags(cxxflags) -+ fflags = filterCompilerFlags(fflags) -+ ldflags = filterCompilerFlags(ldflags) -+ } - - return - } -@@ -2319,7 +2346,7 @@ var cgoRe = regexp.MustCompile(`[/\\:]`) - - func (b *Builder) cgo(a *Action, cgoExe, objdir string, pcCFLAGS, pcLDFLAGS, cgofiles, gccfiles, gxxfiles, mfiles, ffiles []string) (outGo, outObj []string, err error) { - p := a.Package -- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p) -+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, cgoFFLAGS, cgoLDFLAGS, err := b.CFlags(p, false) - if err != nil { - return nil, nil, err - } -@@ -2679,7 +2706,7 @@ func (b *Builder) swigIntSize(objdir string) (intsize string, err error) { - - // Run SWIG on one SWIG input file. - func (b *Builder) swigOne(a *Action, p *load.Package, file, objdir string, pcCFLAGS []string, cxx bool, intgosize string) (outGo, outC string, err error) { -- cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p) -+ cgoCPPFLAGS, cgoCFLAGS, cgoCXXFLAGS, _, _, err := b.CFlags(p, false) - if err != nil { - return "", "", err - } diff --git a/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch b/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch deleted file mode 100644 index b6ca40edee..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0003-allow-GOTOOLDIR-to-be-overridden-in-the-environment.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 5c32c38bf19b24f0aadd78012d17ff5caa82151e Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Sat, 17 Feb 2018 05:24:20 -0800 -Subject: [PATCH] allow GOTOOLDIR to be overridden in the environment - -to allow for split host/target build roots - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/cmd/dist/build.go | 4 +++- - src/cmd/go/internal/cfg/cfg.go | 7 +++++-- - 2 files changed, 8 insertions(+), 3 deletions(-) - -Index: go/src/cmd/dist/build.go -=================================================================== ---- go.orig/src/cmd/dist/build.go -+++ go/src/cmd/dist/build.go -@@ -228,7 +228,9 @@ func xinit() { - workdir = xworkdir() - xatexit(rmworkdir) - -- tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) -+ if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { -+ tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) -+ } - } - - // compilerEnv returns a map from "goos/goarch" to the -Index: go/src/cmd/go/internal/cfg/cfg.go -=================================================================== ---- go.orig/src/cmd/go/internal/cfg/cfg.go -+++ go/src/cmd/go/internal/cfg/cfg.go -@@ -116,7 +116,11 @@ func init() { - // variables. This matches the initialization of ToolDir in - // go/build, except for using GOROOT rather than - // runtime.GOROOT. -- build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH) -+ if s := os.Getenv("GOTOOLDIR"); s != "" { -+ build.ToolDir = filepath.Clean(s) -+ } else { -+ build.ToolDir = filepath.Join(GOROOT, "pkg/tool/"+runtime.GOOS+"_"+runtime.GOARCH) -+ } - } - } - diff --git a/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch b/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch deleted file mode 100644 index 004a33a023..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0004-ld-add-soname-to-shareable-objects.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 55eb8c95a89f32aec16b7764e78e8cf75169dc81 Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Sat, 17 Feb 2018 06:26:10 -0800 -Subject: [PATCH] ld: add soname to shareable objects - -so that OE's shared library dependency handling -can find them. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/cmd/link/internal/ld/lib.go | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go -index 220aab3..703925f 100644 ---- a/src/cmd/link/internal/ld/lib.go -+++ b/src/cmd/link/internal/ld/lib.go -@@ -1135,6 +1135,7 @@ func (ctxt *Link) hostlink() { - argv = append(argv, "-Wl,-z,relro") - } - argv = append(argv, "-shared") -+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) - if ctxt.HeadType != objabi.Hwindows { - // Pass -z nodelete to mark the shared library as - // non-closeable: a dlclose will do nothing. -@@ -1146,6 +1147,8 @@ func (ctxt *Link) hostlink() { - argv = append(argv, "-Wl,-z,relro") - } - argv = append(argv, "-shared") -+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) -+ - case BuildModePlugin: - if ctxt.HeadType == objabi.Hdarwin { - argv = append(argv, "-dynamiclib") -@@ -1154,6 +1157,7 @@ func (ctxt *Link) hostlink() { - argv = append(argv, "-Wl,-z,relro") - } - argv = append(argv, "-shared") -+ argv = append(argv, fmt.Sprintf("-Wl,-soname,%s", filepath.Base(*flagOutfile))) - } - } - diff --git a/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch b/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch deleted file mode 100644 index ace8de9eae..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0005-make.bash-override-CC-when-building-dist-and-go_boot.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 1bf15aa8fb773604b2524cfdab493fa4d8fa9285 Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Sat, 17 Feb 2018 06:32:45 -0800 -Subject: [PATCH] make.bash: override CC when building dist and go_bootstrap - -for handling OE cross-canadian builds. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/make.bash | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/make.bash b/src/make.bash -index 78882d9..25943d0 100755 ---- a/src/make.bash -+++ b/src/make.bash -@@ -163,7 +163,7 @@ if [ "$GOROOT_BOOTSTRAP" = "$GOROOT" ]; then - exit 1 - fi - rm -f cmd/dist/dist --GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist -+CC="${BUILD_CC:-${CC}}" GOROOT="$GOROOT_BOOTSTRAP" GOOS="" GOARCH="" "$GOROOT_BOOTSTRAP/bin/go" build -o cmd/dist/dist ./cmd/dist - - # -e doesn't propagate out of eval, so check success by hand. - eval $(./cmd/dist/dist env -p || echo FAIL=true) -@@ -194,7 +194,7 @@ fi - # Run dist bootstrap to complete make.bash. - # Bootstrap installs a proper cmd/dist, built with the new toolchain. - # Throw ours, built with Go 1.4, away after bootstrap. --./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@" -+CC="${BUILD_CC:-${CC}}" ./cmd/dist/dist bootstrap $buildall $vflag $GO_DISTFLAGS "$@" - rm -f ./cmd/dist/dist - - # DO NOT ADD ANY NEW CODE HERE. diff --git a/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch b/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch deleted file mode 100644 index 0c0d5da80a..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0006-cmd-dist-separate-host-and-target-builds.patch +++ /dev/null @@ -1,282 +0,0 @@ -From fe0fcaf43ef3aab81541dad2a71b46254dc4cf6a Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Sat, 17 Feb 2018 10:03:48 -0800 -Subject: [PATCH] cmd/dist: separate host and target builds - -Change the dist tool to allow for OE-style cross- -and cross-canadian builds: - - - command flags --host-only and --target only are added; - if one is present, the other changes mentioned below - take effect, and arguments may also be specified on - the command line to enumerate the package(s) to be - built. - - - for OE cross builds, go_bootstrap is always built for - the current build host, and is moved, along with the supporting - toolchain (asm, compile, etc.) to a separate 'native_native' - directory under GOROOT/pkg/tool. - - - go_bootstrap is not automatically removed after the build, - so it can be reused later (e.g., building both static and - shared runtime). - -Note that for --host-only builds, it would be nice to specify -just the "cmd" package to build only the go commands/tools, -the staleness checks in the dist tool will fail if the "std" -library has not also been built. So host-only builds have to -build everything anyway. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - -more dist cleanup - ---- - src/cmd/dist/build.go | 153 ++++++++++++++++++++++++++++++------------ - 1 file changed, 111 insertions(+), 42 deletions(-) - -Index: go/src/cmd/dist/build.go -=================================================================== ---- go.orig/src/cmd/dist/build.go -+++ go/src/cmd/dist/build.go -@@ -39,6 +39,7 @@ var ( - goldflags string - workdir string - tooldir string -+ build_tooldir string - oldgoos string - oldgoarch string - exe string -@@ -50,6 +51,7 @@ var ( - - rebuildall bool - defaultclang bool -+ crossBuild bool - - vflag int // verbosity - ) -@@ -231,6 +233,8 @@ func xinit() { - if tooldir = os.Getenv("GOTOOLDIR"); tooldir == "" { - tooldir = pathf("%s/pkg/tool/%s_%s", goroot, gohostos, gohostarch) - } -+ build_tooldir = pathf("%s/pkg/tool/native_native", goroot) -+ - } - - // compilerEnv returns a map from "goos/goarch" to the -@@ -260,7 +264,6 @@ func compilerEnv(envName, def string) ma - if gohostos != goos || gohostarch != goarch { - m[gohostos+"/"+gohostarch] = m[""] - } -- m[""] = env - } - - for _, goos := range okgoos { -@@ -487,8 +490,10 @@ func setup() { - // We keep it in pkg/, just like the object directory above. - if rebuildall { - xremoveall(tooldir) -+ xremoveall(build_tooldir) - } - xmkdirall(tooldir) -+ xmkdirall(build_tooldir) - - // Remove tool binaries from before the tool/gohostos_gohostarch - xremoveall(pathf("%s/bin/tool", goroot)) -@@ -1155,11 +1160,29 @@ func cmdbootstrap() { - - var noBanner bool - var debug bool -+ var hostOnly bool -+ var targetOnly bool -+ var toBuild = []string { "std", "cmd" } -+ - flag.BoolVar(&rebuildall, "a", rebuildall, "rebuild all") - flag.BoolVar(&debug, "d", debug, "enable debugging of bootstrap process") - flag.BoolVar(&noBanner, "no-banner", noBanner, "do not print banner") -+ flag.BoolVar(&hostOnly, "host-only", hostOnly, "build only host binaries, not target") -+ flag.BoolVar(&targetOnly, "target-only", targetOnly, "build only target binaries, not host") - -- xflagparse(0) -+ xflagparse(-1) -+ -+ if (hostOnly && targetOnly) { -+ fatalf("specify only one of --host-only or --target-only\n") -+ } -+ crossBuild = hostOnly || targetOnly -+ if flag.NArg() > 0 { -+ if crossBuild { -+ toBuild = flag.Args() -+ } else { -+ fatalf("package names not permitted without --host-only or --target-only\n") -+ } -+ } - - if debug { - // cmd/buildid is used in debug mode. -@@ -1207,8 +1230,13 @@ func cmdbootstrap() { - xprintf("\n") - } - -- gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now -- goldflags = os.Getenv("GO_LDFLAGS") -+ // For split host/target cross/cross-canadian builds, we don't -+ // want to be setting these flags until after we have compiled -+ // the toolchain that runs on the build host. -+ if ! crossBuild { -+ gogcflags = os.Getenv("GO_GCFLAGS") // we were using $BOOT_GO_GCFLAGS until now -+ goldflags = os.Getenv("GO_LDFLAGS") -+ } - goBootstrap := pathf("%s/go_bootstrap", tooldir) - cmdGo := pathf("%s/go", gobin) - if debug { -@@ -1237,7 +1265,11 @@ func cmdbootstrap() { - xprintf("\n") - } - xprintf("Building Go toolchain2 using go_bootstrap and Go toolchain1.\n") -- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ if crossBuild { -+ os.Setenv("CC", defaultcc[""]) -+ } else { -+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ } - goInstall(goBootstrap, append([]string{"-i"}, toolchain...)...) - if debug { - run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") -@@ -1274,50 +1306,84 @@ func cmdbootstrap() { - } - checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) - -- if goos == oldgoos && goarch == oldgoarch { -- // Common case - not setting up for cross-compilation. -- timelog("build", "toolchain") -- if vflag > 0 { -- xprintf("\n") -+ if crossBuild { -+ gogcflags = os.Getenv("GO_GCFLAGS") -+ goldflags = os.Getenv("GO_LDFLAGS") -+ tool_files, _ := filepath.Glob(pathf("%s/*", tooldir)) -+ for _, f := range tool_files { -+ copyfile(pathf("%s/%s", build_tooldir, filepath.Base(f)), f, writeExec) -+ xremove(f) -+ } -+ os.Setenv("GOTOOLDIR", build_tooldir) -+ goBootstrap = pathf("%s/go_bootstrap", build_tooldir) -+ if hostOnly { -+ timelog("build", "host toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ xprintf("Building %s for host, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) -+ goInstall(goBootstrap, toBuild...) -+ checkNotStale(goBootstrap, toBuild...) -+ // Skip cmdGo staleness checks here, since we can't necessarily run the cmdGo binary -+ -+ timelog("build", "target toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ } else if targetOnly { -+ goos = oldgoos -+ goarch = oldgoarch -+ os.Setenv("GOOS", goos) -+ os.Setenv("GOARCH", goarch) -+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ xprintf("Building %s for target, %s/%s.\n", strings.Join(toBuild, ","), goos, goarch) -+ goInstall(goBootstrap, toBuild...) -+ checkNotStale(goBootstrap, toBuild...) -+ // Skip cmdGo staleness checks here, since we can't run the target's cmdGo binary - } -- xprintf("Building packages and commands for %s/%s.\n", goos, goarch) - } else { -- // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH. -- // Finish GOHOSTOS/GOHOSTARCH installation and then -- // run GOOS/GOARCH installation. -- timelog("build", "host toolchain") -- if vflag > 0 { -- xprintf("\n") -+ -+ if goos == oldgoos && goarch == oldgoarch { -+ // Common case - not setting up for cross-compilation. -+ timelog("build", "toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ xprintf("Building packages and commands for %s/%s.\n", goos, goarch) -+ } else { -+ // GOOS/GOARCH does not match GOHOSTOS/GOHOSTARCH. -+ // Finish GOHOSTOS/GOHOSTARCH installation and then -+ // run GOOS/GOARCH installation. -+ timelog("build", "host toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch) -+ goInstall(goBootstrap, "std", "cmd") -+ checkNotStale(goBootstrap, "std", "cmd") -+ checkNotStale(cmdGo, "std", "cmd") -+ -+ timelog("build", "target toolchain") -+ if vflag > 0 { -+ xprintf("\n") -+ } -+ goos = oldgoos -+ goarch = oldgoarch -+ os.Setenv("GOOS", goos) -+ os.Setenv("GOARCH", goarch) -+ os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -+ xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch) - } -- xprintf("Building packages and commands for host, %s/%s.\n", goos, goarch) - goInstall(goBootstrap, "std", "cmd") - checkNotStale(goBootstrap, "std", "cmd") - checkNotStale(cmdGo, "std", "cmd") - -- timelog("build", "target toolchain") -- if vflag > 0 { -- xprintf("\n") -- } -- goos = oldgoos -- goarch = oldgoarch -- os.Setenv("GOOS", goos) -- os.Setenv("GOARCH", goarch) -- os.Setenv("CC", compilerEnvLookup(defaultcc, goos, goarch)) -- xprintf("Building packages and commands for target, %s/%s.\n", goos, goarch) -- } -- targets := []string{"std", "cmd"} -- if goos == "js" && goarch == "wasm" { -- // Skip the cmd tools for js/wasm. They're not usable. -- targets = targets[:1] -- } -- goInstall(goBootstrap, targets...) -- checkNotStale(goBootstrap, targets...) -- checkNotStale(cmdGo, targets...) -- if debug { -- run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") -- run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) -- checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) -- copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) -+ if debug { -+ run("", ShowOutput|CheckExit, pathf("%s/compile", tooldir), "-V=full") -+ run("", ShowOutput|CheckExit, pathf("%s/buildid", tooldir), pathf("%s/pkg/%s_%s/runtime/internal/sys.a", goroot, goos, goarch)) -+ checkNotStale(goBootstrap, append(toolchain, "runtime/internal/sys")...) -+ copyfile(pathf("%s/compile4", tooldir), pathf("%s/compile", tooldir), writeExec) -+ } - } - - // Check that there are no new files in $GOROOT/bin other than -@@ -1335,7 +1401,11 @@ func cmdbootstrap() { - } - - // Remove go_bootstrap now that we're done. -- xremove(pathf("%s/go_bootstrap", tooldir)) -+ // Except that for split host/target cross-builds, we need to -+ // keep it. -+ if ! crossBuild { -+ xremove(pathf("%s/go_bootstrap", tooldir)) -+ } - - // Print trailing banner unless instructed otherwise. - if !noBanner { diff --git a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch b/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch deleted file mode 100644 index 29ef947abd..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0007-cmd-go-make-GOROOT-precious-by-default.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 7cc60b3887be2d5674b9f5d422d022976cf205e5 Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Fri, 2 Mar 2018 06:00:20 -0800 -Subject: [PATCH] cmd/go: make GOROOT precious by default - -The go build tool normally rebuilds whatever it detects is -stale. This can be a problem when GOROOT is intended to -be read-only and the go runtime has been built as a shared -library, since we don't want every application to be rebuilding -the shared runtime - particularly in cross-build/packaging -setups, since that would lead to 'abi mismatch' runtime errors. - -This patch prevents the install and linkshared actions from -installing to GOROOT unless overridden with the GOROOT_OVERRIDE -environment variable. - -Upstream-Status: Inappropriate [OE specific] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/cmd/go/internal/work/action.go | 3 +++ - src/cmd/go/internal/work/build.go | 5 +++++ - src/cmd/go/internal/work/exec.go | 25 +++++++++++++++++++++++++ - 3 files changed, 33 insertions(+) - -Index: go/src/cmd/go/internal/work/action.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/action.go -+++ go/src/cmd/go/internal/work/action.go -@@ -600,6 +600,9 @@ func (b *Builder) addTransitiveLinkDeps( - if p1 == nil || p1.Shlib == "" || haveShlib[filepath.Base(p1.Shlib)] { - continue - } -+ if goRootPrecious && (p1.Standard || p1.Goroot) { -+ continue -+ } - haveShlib[filepath.Base(p1.Shlib)] = true - // TODO(rsc): The use of ModeInstall here is suspect, but if we only do ModeBuild, - // we'll end up building an overall library or executable that depends at runtime -Index: go/src/cmd/go/internal/work/build.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/build.go -+++ go/src/cmd/go/internal/work/build.go -@@ -147,6 +147,7 @@ See also: go install, go get, go clean. - } - - const concurrentGCBackendCompilationEnabledByDefault = true -+var goRootPrecious bool = true - - func init() { - // break init cycle -@@ -160,6 +161,10 @@ func init() { - - AddBuildFlags(CmdBuild) - AddBuildFlags(CmdInstall) -+ -+ if x := os.Getenv("GOROOT_OVERRIDE"); x != "" { -+ goRootPrecious = false -+ } - } - - // Note that flags consulted by other parts of the code -Index: go/src/cmd/go/internal/work/exec.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/exec.go -+++ go/src/cmd/go/internal/work/exec.go -@@ -436,6 +436,23 @@ func (b *Builder) build(a *Action) (err - return fmt.Errorf("missing or invalid binary-only package; expected file %q", a.Package.Target) - } - -+ if goRootPrecious && (a.Package.Standard || a.Package.Goroot) { -+ _, err := os.Stat(a.Package.Target) -+ if err == nil { -+ a.built = a.Package.Target -+ a.Target = a.Package.Target -+ a.buildID = b.fileHash(a.Package.Target) -+ a.Package.Stale = false -+ a.Package.StaleReason = "GOROOT-resident package" -+ return nil -+ } -+ a.Package.Stale = true -+ a.Package.StaleReason = "missing or invalid GOROOT-resident package" -+ if b.IsCmdList { -+ return nil -+ } -+ } -+ - if err := b.Mkdir(a.Objdir); err != nil { - return err - } -@@ -1438,6 +1455,14 @@ func BuildInstallFunc(b *Builder, a *Act - return nil - } - -+ if goRootPrecious && a.Package != nil { -+ p := a.Package -+ if p.Standard || p.Goroot { -+ err := fmt.Errorf("attempting to install package %s into read-only GOROOT", p.ImportPath) -+ return err -+ } -+ } -+ - if err := b.Mkdir(a.Objdir); err != nil { - return err - } diff --git a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch b/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch deleted file mode 100644 index 225cf439c5..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0008-use-GOBUILDMODE-to-set-buildmode.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0e0c247f0caec23528889ff09d98348cba9028f1 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Fri, 26 Oct 2018 15:02:32 +0800 -Subject: [PATCH] use GOBUILDMODE to set buildmode - -While building go itself, the go build system does not support -to set `-buildmode=pie' from environment. - -Add GOBUILDMODE to support it which make PIE executables the default -build mode, as PIE executables are required as of Yocto - -Refers: https://groups.google.com/forum/#!topic/golang-dev/gRCe5URKewI -Upstream-Status: Denied [upstream choose antoher solution: `17a256b -cmd/go: -buildmode=pie for android/arm'] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - src/cmd/go/internal/work/build.go | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -Index: go/src/cmd/go/internal/work/build.go -=================================================================== ---- go.orig/src/cmd/go/internal/work/build.go -+++ go/src/cmd/go/internal/work/build.go -@@ -223,7 +223,11 @@ func AddBuildFlags(cmd *base.Command) { - - cmd.Flag.Var(&load.BuildAsmflags, "asmflags", "") - cmd.Flag.Var(buildCompiler{}, "compiler", "") -- cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "") -+ if bm := os.Getenv("GOBUILDMODE"); bm != "" { -+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", bm, "") -+ } else { -+ cmd.Flag.StringVar(&cfg.BuildBuildmode, "buildmode", "default", "") -+ } - cmd.Flag.Var(&load.BuildGcflags, "gcflags", "") - cmd.Flag.Var(&load.BuildGccgoflags, "gccgoflags", "") - cmd.Flag.StringVar(&cfg.BuildMod, "mod", "", "") diff --git a/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch b/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch deleted file mode 100644 index fd67375c7f..0000000000 --- a/poky/meta/recipes-devtools/go/go-1.11/0009-ld-replace-glibc-dynamic-linker-with-musl.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 35ea4be34e94912b00837e0f7c7385f2e98fe769 Mon Sep 17 00:00:00 2001 -From: Matt Madison <matt@madison.systems> -Date: Sun, 18 Feb 2018 08:24:05 -0800 -Subject: [PATCH] ld: replace glibc dynamic linker with musl - -Rework of patch by Khem Raj <raj.khem@gmail.com> -for go 1.10. Should be applied conditionally on -musl being the system C library. - -Upstream-Status: Inappropriate [Real fix should be portable across libcs] - -Signed-off-by: Matt Madison <matt@madison.systems> - ---- - src/cmd/link/internal/amd64/obj.go | 2 +- - src/cmd/link/internal/arm/obj.go | 2 +- - src/cmd/link/internal/arm64/obj.go | 2 +- - src/cmd/link/internal/mips/obj.go | 2 +- - src/cmd/link/internal/mips64/obj.go | 2 +- - src/cmd/link/internal/ppc64/obj.go | 2 +- - src/cmd/link/internal/s390x/obj.go | 2 +- - src/cmd/link/internal/x86/obj.go | 2 +- - 8 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/src/cmd/link/internal/amd64/obj.go b/src/cmd/link/internal/amd64/obj.go -index 87e8091..f522a63 100644 ---- a/src/cmd/link/internal/amd64/obj.go -+++ b/src/cmd/link/internal/amd64/obj.go -@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) { - PEreloc1: pereloc1, - TLSIEtoLE: tlsIEtoLE, - -- Linuxdynld: "/lib64/ld-linux-x86-64.so.2", -+ Linuxdynld: "/lib64/ld-musl-x86-64.so.1", - Freebsddynld: "/libexec/ld-elf.so.1", - Openbsddynld: "/usr/libexec/ld.so", - Netbsddynld: "/libexec/ld.elf_so", -diff --git a/src/cmd/link/internal/arm/obj.go b/src/cmd/link/internal/arm/obj.go -index 788be68..1d2b90e 100644 ---- a/src/cmd/link/internal/arm/obj.go -+++ b/src/cmd/link/internal/arm/obj.go -@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib/ld-linux.so.3", // 2 for OABI, 3 for EABI -+ Linuxdynld: "/lib/ld-musl-armhf.so.1", - Freebsddynld: "/usr/libexec/ld-elf.so.1", - Openbsddynld: "/usr/libexec/ld.so", - Netbsddynld: "/libexec/ld.elf_so", -diff --git a/src/cmd/link/internal/arm64/obj.go b/src/cmd/link/internal/arm64/obj.go -index 405d22d..b115659 100644 ---- a/src/cmd/link/internal/arm64/obj.go -+++ b/src/cmd/link/internal/arm64/obj.go -@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib/ld-linux-aarch64.so.1", -+ Linuxdynld: "/lib/ld-musl-aarch64.so.1", - - Freebsddynld: "XXX", - Openbsddynld: "XXX", -diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go -index c5d3451..fd85e63 100644 ---- a/src/cmd/link/internal/mips/obj.go -+++ b/src/cmd/link/internal/mips/obj.go -@@ -60,7 +60,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib/ld.so.1", -+ Linuxdynld: "/lib/ld-musl-mipsle.so.1", - - Freebsddynld: "XXX", - Openbsddynld: "XXX", -diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go -index 83974e5..097224f 100644 ---- a/src/cmd/link/internal/mips64/obj.go -+++ b/src/cmd/link/internal/mips64/obj.go -@@ -59,7 +59,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib64/ld64.so.1", -+ Linuxdynld: "/lib64/ld-musl-mips64le.so.1", - Freebsddynld: "XXX", - Openbsddynld: "XXX", - Netbsddynld: "XXX", -diff --git a/src/cmd/link/internal/ppc64/obj.go b/src/cmd/link/internal/ppc64/obj.go -index 273d9b4..a503abe 100644 ---- a/src/cmd/link/internal/ppc64/obj.go -+++ b/src/cmd/link/internal/ppc64/obj.go -@@ -62,7 +62,7 @@ func Init() (*sys.Arch, ld.Arch) { - Machoreloc1: machoreloc1, - - // TODO(austin): ABI v1 uses /usr/lib/ld.so.1, -- Linuxdynld: "/lib64/ld64.so.1", -+ Linuxdynld: "/lib64/ld-musl-powerpc64le.so.1", - - Freebsddynld: "XXX", - Openbsddynld: "XXX", -diff --git a/src/cmd/link/internal/s390x/obj.go b/src/cmd/link/internal/s390x/obj.go -index 9ac7eb8..3825ff7 100644 ---- a/src/cmd/link/internal/s390x/obj.go -+++ b/src/cmd/link/internal/s390x/obj.go -@@ -57,7 +57,7 @@ func Init() (*sys.Arch, ld.Arch) { - Gentext: gentext, - Machoreloc1: machoreloc1, - -- Linuxdynld: "/lib64/ld64.so.1", -+ Linuxdynld: "/lib64/ld-musl-s390x.so.1", - - // not relevant for s390x - Freebsddynld: "XXX", -diff --git a/src/cmd/link/internal/x86/obj.go b/src/cmd/link/internal/x86/obj.go -index 6a744dc..d81f392 100644 ---- a/src/cmd/link/internal/x86/obj.go -+++ b/src/cmd/link/internal/x86/obj.go -@@ -58,7 +58,7 @@ func Init() (*sys.Arch, ld.Arch) { - Machoreloc1: machoreloc1, - PEreloc1: pereloc1, - -- Linuxdynld: "/lib/ld-linux.so.2", -+ Linuxdynld: "/lib/ld-musl-i386.so.1", - Freebsddynld: "/usr/libexec/ld-elf.so.1", - Openbsddynld: "/usr/libexec/ld.so", - Netbsddynld: "/usr/libexec/ld.elf_so", diff --git a/poky/meta/recipes-devtools/go/go-1.12.inc b/poky/meta/recipes-devtools/go/go-1.12.inc index 0cf0a63ff6..7c4cac1fc2 100644 --- a/poky/meta/recipes-devtools/go/go-1.12.inc +++ b/poky/meta/recipes-devtools/go/go-1.12.inc @@ -1,7 +1,7 @@ require go-common.inc GO_BASEVERSION = "1.12" -GO_MINOR = ".1" +GO_MINOR = ".5" PV .= "${GO_MINOR}" FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/go-${GO_BASEVERSION}:" @@ -19,5 +19,5 @@ SRC_URI += "\ " SRC_URI_append_libc-musl = " file://0009-ld-replace-glibc-dynamic-linker-with-musl.patch" -SRC_URI[main.md5sum] = "09fe592343465560b4b8431d870b3df3" -SRC_URI[main.sha256sum] = "0be127684df4b842a64e58093154f9d15422f1405f1fcff4b2c36ffc6a15818a" +SRC_URI[main.md5sum] = "cb6f594d22dd79af4fff9779607b1b47" +SRC_URI[main.sha256sum] = "2aa5f088cbb332e73fc3def546800616b38d3bfe6b8713b8a6404060f22503e8" diff --git a/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb b/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb deleted file mode 100644 index 7ac9449e47..0000000000 --- a/poky/meta/recipes-devtools/go/go-cross-canadian_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross-canadian.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-cross_1.11.bb b/poky/meta/recipes-devtools/go/go-cross_1.11.bb deleted file mode 100644 index 80b5a03f6c..0000000000 --- a/poky/meta/recipes-devtools/go/go-cross_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-cross.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb b/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb deleted file mode 100644 index 1857c8a577..0000000000 --- a/poky/meta/recipes-devtools/go/go-crosssdk_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-crosssdk.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb b/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb index cfc2186b31..a4d631f8ea 100644 --- a/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb +++ b/poky/meta/recipes-devtools/go/go-dep_0.5.0.bb @@ -19,16 +19,6 @@ RDEPENDS_${PN}-dev += "bash" BBCLASSEXTEND = "native nativesdk" -# for x86 ends with textrel in ${PN} -# http://errors.yoctoproject.org/Errors/Details/185630/ -# ERROR: QA Issue: ELF binary '/work/i586-oe-linux/go-dep/0.4.1-r0/packages-split/go-dep/usr/bin/dep' has relocations in .text [textrel] -INSANE_SKIP_${PN} += "textrel" - -# for aarch64 ends with textrel in ${PN}-ptest -# http://errors.yoctoproject.org/Errors/Details/185632/ -# ERROR: QA Issue: ELF binary '/work/aarch64-oe-linux/go-dep/0.4.1-r0/packages-split/go-dep-ptest/usr/lib/go-dep/ptest/github.com/golang/dep/cmd/dep/dep.test' has relocations in .text [textrel] -INSANE_SKIP_${PN}-ptest += "textrel" - # For compiling ptest on mips and mips64, the current go-dep version fails with the go 1.11 toolchain. # error message: vet config not found PTEST_ENABLED_mips = "0" diff --git a/poky/meta/recipes-devtools/go/go-native_1.11.bb b/poky/meta/recipes-devtools/go/go-native_1.11.bb deleted file mode 100644 index bbf3c0dd73..0000000000 --- a/poky/meta/recipes-devtools/go/go-native_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require ${PN}.inc -require go-${PV}.inc diff --git a/poky/meta/recipes-devtools/go/go-runtime_1.11.bb b/poky/meta/recipes-devtools/go/go-runtime_1.11.bb deleted file mode 100644 index 43b68b4e46..0000000000 --- a/poky/meta/recipes-devtools/go/go-runtime_1.11.bb +++ /dev/null @@ -1,2 +0,0 @@ -require go-${PV}.inc -require go-runtime.inc diff --git a/poky/meta/recipes-devtools/go/go_1.11.bb b/poky/meta/recipes-devtools/go/go_1.11.bb deleted file mode 100644 index 42cdb0430a..0000000000 --- a/poky/meta/recipes-devtools/go/go_1.11.bb +++ /dev/null @@ -1,14 +0,0 @@ -require go-${PV}.inc -require go-target.inc - -export GOBUILDMODE="" - -# Add pie to GOBUILDMODE to satisfy "textrel" QA checking, but mips -# doesn't support -buildmode=pie, so skip the QA checking for mips and its -# variants. -python() { - if 'mips' in d.getVar('TARGET_ARCH'): - d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel") - else: - d.setVar('GOBUILDMODE', 'pie') -} diff --git a/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch new file mode 100644 index 0000000000..0c20c8458a --- /dev/null +++ b/poky/meta/recipes-devtools/json-c/json-c/add-disable-werror-option-to-configure.patch @@ -0,0 +1,45 @@ +json-c: Backport --disable-werror patch to allow compilation under icecc + +icecc preprocesses source files locally before shipping them off to be compiled +on remote hosts. This preprocessing removes comments, including /* fallthough */ +comments in switch statements that normally prevent an implicit-fallthrough +warning, see https://github.com/icecc/icecream/issues/419 + +Rather than turning off -Werror, the upstream project has implemented a +configure option, --disable-werror, in response to Ross's +https://github.com/json-c/json-c/issues/489 + +This patch from +https://github.com/json-c/json-c/commit/21c886534f8927fdc0fb5f8647394f3e0e0874b8 + +Upstream-Status: Backport [Not yet released] +Signed-off-by: Douglas Royds <douglas.royds@taitradio.com> + +From 21c886534f8927fdc0fb5f8647394f3e0e0874b8 Mon Sep 17 00:00:00 2001 +From: Pierce Lopez <pierce.lopez@gmail.com> +Date: Sun, 9 Jun 2019 10:52:08 -0400 +Subject: [PATCH] build: add --disable-werror option to configure + +to omit -Werror compiler option +--- + configure.ac | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 272ea6af9c..798fd5b747 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -165,7 +165,12 @@ AS_IF([test "x$enable_Bsymbolic" = "xcheck"], + AS_IF([test "x$enable_Bsymbolic" = "xyes"], [JSON_BSYMBOLIC_LDFLAGS=-Wl[,]-Bsymbolic-functions]) + AC_SUBST(JSON_BSYMBOLIC_LDFLAGS) + +-AX_APPEND_COMPILE_FLAGS([-Wall -Werror -Wcast-qual -Wno-error=deprecated-declarations]) ++AC_ARG_ENABLE([werror], ++ AS_HELP_STRING([--disable-werror], [avoid treating compiler warnings as fatal errors])) ++ ++AS_IF([test "x$enable_werror" != "xno"], [AX_APPEND_COMPILE_FLAGS([-Werror])]) ++ ++AX_APPEND_COMPILE_FLAGS([-Wall -Wcast-qual -Wno-error=deprecated-declarations]) + AX_APPEND_COMPILE_FLAGS([-Wextra -Wwrite-string -Wno-unused-parameter]) + AX_APPEND_COMPILE_FLAGS([-D_GNU_SOURCE]) + diff --git a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb b/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb index 5b10e68297..9d8f2e7870 100644 --- a/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb +++ b/poky/meta/recipes-devtools/json-c/json-c_0.13.1.bb @@ -4,7 +4,9 @@ HOMEPAGE = "https://github.com/json-c/json-c/wiki" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=de54b60fbbc35123ba193fea8ee216f2" -SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz" +SRC_URI = "https://s3.amazonaws.com/json-c_releases/releases/${BP}.tar.gz \ + file://add-disable-werror-option-to-configure.patch \ + " SRC_URI[md5sum] = "04969ad59cc37bddd83741a08b98f350" SRC_URI[sha256sum] = "b87e608d4d3f7bfdd36ef78d56d53c74e66ab278d318b71e6002a369d36f4873" @@ -20,7 +22,9 @@ RPROVIDES_${PN} = "libjson" inherit autotools -EXTRA_OECONF = "--enable-rdrand" +EXTRA_OECONF = "--disable-werror \ + --enable-rdrand \ + " do_configure_prepend() { # Clean up autoconf cruft that should not be in the tarball diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch new file mode 100644 index 0000000000..1568d25f9d --- /dev/null +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd/0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch @@ -0,0 +1,28 @@ +From b651551134cf170038b3e01812e3767969506491 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Tue, 21 May 2019 17:59:26 +0200 +Subject: [PATCH] v1/meson.build: explicitly specify the v1 library in + pkgconfig + +Otherwise there would be '-lmodulemd' which resolves +to v2 version if both v2 and v1 are present in the sysroot. + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + modulemd/v1/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modulemd/v1/meson.build b/modulemd/v1/meson.build +index 4d54e69..9144ca2 100644 +--- a/modulemd/v1/meson.build ++++ b/modulemd/v1/meson.build +@@ -325,7 +325,7 @@ configure_file( + ) + + pkg.generate( +- libraries : modulemd_v1_lib, ++ libraries : '-l:libmodulemd.so.1', + subdirs : v1_header_path, + version : libmodulemd_v1_version, + name : 'modulemd', diff --git a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb index 40715c06ee..d4ffd281b5 100644 --- a/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb +++ b/poky/meta/recipes-devtools/libmodulemd/libmodulemd_git.bb @@ -5,16 +5,17 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=25a3927bff3ee4f5b21bcb0ed3fcd6bb" SRC_URI = "git://github.com/fedora-modularity/libmodulemd;protocol=https \ file://0001-spec_tmpl.sh-use-bin-sh-not-usr-bin-sh.patch \ file://0002-modulemd-v1-meson.build-do-not-generate-gir-or-gtkdo.patch \ + file://0001-v1-meson.build-explicitly-specify-the-v1-library-in-.patch \ " -PV = "2.2.3" -SRCREV = "4c75c6f8b39ee57aebe8fd36ef84808e893048c0" +PV = "2.4.0" +SRCREV = "d0a3eda45e083e8fe8b329a2310a53abdbf1e4d6" S = "${WORKDIR}/git" inherit meson gobject-introspection -EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=false" +EXTRA_OEMESON = "-Ddeveloper_build=false -Dbuild_api_v1=true -Dbuild_api_v2=true" DEPENDS += "glib-2.0 libyaml glib-2.0-native" diff --git a/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb b/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb index fecedc981f..43c1967c2b 100644 --- a/poky/meta/recipes-devtools/librepo/librepo_1.9.6.bb +++ b/poky/meta/recipes-devtools/librepo/librepo_1.10.2.bb @@ -7,7 +7,7 @@ SRC_URI = "git://github.com/rpm-software-management/librepo.git \ file://0004-Set-gpgme-variables-with-pkg-config-not-with-cmake-m.patch \ " -SRCREV = "7d8acd45eb09809a5ab729c312744da4b2fe92bb" +SRCREV = "91ebe846b0320751a264116c36a665a8facf9e0e" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc index af0ff45863..a9b63c1bf6 100644 --- a/poky/meta/recipes-devtools/m4/m4-1.4.18.inc +++ b/poky/meta/recipes-devtools/m4/m4-1.4.18.inc @@ -8,7 +8,6 @@ inherit autotools texinfo ptest SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \ file://ac_config_links.patch \ - file://remove-gets.patch \ file://m4-1.4.18-glibc-change-work-around.patch \ " SRC_URI_append_class-target = " file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ @@ -53,7 +52,7 @@ do_install_ptest() { } -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make coreutils diffutils" RDEPENDS_${PN}-ptest_append_libc-glibc = "\ locale-base-fr-fr.iso-8859-1 \ " diff --git a/poky/meta/recipes-devtools/m4/m4/remove-gets.patch b/poky/meta/recipes-devtools/m4/m4/remove-gets.patch deleted file mode 100644 index abe82f3b2d..0000000000 --- a/poky/meta/recipes-devtools/m4/m4/remove-gets.patch +++ /dev/null @@ -1,24 +0,0 @@ -eglibc has remove gets starting 2.16 -therefore check for its being there before -undefining it. - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -diff --git a/lib/stdio.in.h b/lib/stdio.in.h -index 5727452..f04a691 100644 ---- a/lib/stdio.in.h -+++ b/lib/stdio.in.h -@@ -742,10 +742,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning; besides, C11 - removed it. */ -+#if defined gets - #undef gets - #if HAVE_RAW_DECL_GETS && !defined __cplusplus - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif -+#endif - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ - struct obstack; diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch b/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch deleted file mode 100644 index 6c058c71d7..0000000000 --- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils/0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 42afc1f652d28dce3c5b9915d0cd3087a144e445 Mon Sep 17 00:00:00 2001 -From: Alejandro del Castillo <alejandro.delcastillo@ni.com> -Date: Mon, 18 Feb 2019 11:25:43 -0600 -Subject: [PATCH] opkg-build: do not set mtime on data.tar.X - -Opkg should make sure the binaries it creates are created in a -repoducibe way, but it shouldn't modify the mtime of the binaries it -consumes. Doing so has side effects, for exmaple, Python pyc files are -invalidated. - -Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com> - -Upstream-Status: Submitted ---- - opkg-build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/opkg-build b/opkg-build -index 13782ee..363cd01 100755 ---- a/opkg-build -+++ b/opkg-build -@@ -301,7 +301,7 @@ build_date="${SOURCE_DATE_EPOCH:-$(date +%s)}" - - ( cd $pkg_dir/$CONTROL && find . -type f > $tmp_dir/control_list ) - ( cd $pkg_dir && find . -path ./$CONTROL -prune -o -print > $tmp_dir/file_list ) --( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) -+( cd $pkg_dir && tar $ogargs $tsortargs --no-recursion -c $tarformat -T $tmp_dir/file_list | $compressor $compressorargs > $tmp_dir/data.tar.$cext ) - ( cd $pkg_dir/$CONTROL && tar $ogargs $tsortargs --no-recursion --mtime=@$build_date -c $tarformat -T $tmp_dir/control_list | gzip $zipargs > $tmp_dir/control.tar.gz ) - rm $tmp_dir/file_list - rm $tmp_dir/control_list --- -2.20.1 - diff --git a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb index 9a3e06b92e..4be7b16d8a 100644 --- a/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.0.bb +++ b/poky/meta/recipes-devtools/opkg-utils/opkg-utils_0.4.1.bb @@ -9,13 +9,12 @@ PROVIDES += "${@bb.utils.contains('PACKAGECONFIG', 'update-alternatives', 'virtu SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV}.tar.gz \ file://0001-Switch-all-scripts-to-use-Python-3.x.patch \ - file://0001-opkg-build-do-not-set-mtime-on-data.tar.X.patch \ " UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/" -SRC_URI[md5sum] = "6e1c2eae96239520a8eb3d05372773ea" -SRC_URI[sha256sum] = "8153f4e5dadde422d35feaf86bf595266af9d0037389bc418fa87feb0437efb3" +SRC_URI[md5sum] = "8c140f835b694a0c27cfb23d2426a02b" +SRC_URI[sha256sum] = "9ea9efdd9fe13661ad251e3a2860c1c93045adcfaa6659c3e86d9748ecda3b6e" TARGET_CC_ARCH += "${LDFLAGS}" diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch b/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch index 7d5c079b2d..7d5c079b2d 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch +++ b/poky/meta/recipes-devtools/perl/files/0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch b/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch index ed8ec1d416..ed8ec1d416 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch +++ b/poky/meta/recipes-devtools/perl/files/0001-Somehow-this-module-breaks-through-the-perl-wrapper-.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch index 3b0fc453e5..3b0fc453e5 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch +++ b/poky/meta/recipes-devtools/perl/files/0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch index 0aaeaa29eb..0aaeaa29eb 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch +++ b/poky/meta/recipes-devtools/perl/files/0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch index e7985036a0..e7985036a0 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch +++ b/poky/meta/recipes-devtools/perl/files/0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff b/poky/meta/recipes-devtools/perl/files/errno_ver.diff index a965fbeeec..a965fbeeec 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/errno_ver.diff +++ b/poky/meta/recipes-devtools/perl/files/errno_ver.diff diff --git a/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch new file mode 100644 index 0000000000..2b490e6067 --- /dev/null +++ b/poky/meta/recipes-devtools/perl/files/fix-setgroup.patch @@ -0,0 +1,49 @@ +Test script to reproduce the problem: + +#!/usr/bin/env perl +$) = "2 2"; +print $!; + +Result from perl 5.28 under strace: + +setgroups(1, [2]) = 0 +setresgid(-1, 2, -1) = 0 + +Result from perl 5.30 under strace: + +setgroups(1, [-1]) = -1 EINVAL (Invalid argument) +setresgid(-1, 2, -1) = 0 + +Patch which broke this upstream: +https://perl5.git.perl.org/perl.git/commitdiff/5d4a52b5c68a11bfc97c2e24806993b84a61eade + +Issue is that the new function changes the endptr to the end of the +scanned number and needs to be reset to the end of the string for +each iteration of the loop. + +[YOCTO #13391] + +RP +2019/6/14 +Upstream-Status: Pending + +Index: perl-5.30.0/mg.c +=================================================================== +--- perl-5.30.0.orig/mg.c ++++ perl-5.30.0/mg.c +@@ -3179,6 +3256,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) + const char *p = SvPV_const(sv, len); + Groups_t *gary = NULL; + const char* endptr = p + len; ++ const char* realend = p + len; + UV uv; + #ifdef _SC_NGROUPS_MAX + int maxgrp = sysconf(_SC_NGROUPS_MAX); +@@ -3209,6 +3287,7 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg) + Newx(gary, i + 1, Groups_t); + else + Renew(gary, i + 1, Groups_t); ++ endptr = realend; + if (grok_atoUV(p, &uv, &endptr)) + gary[i] = (Groups_t)uv; + else { diff --git a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch b/poky/meta/recipes-devtools/perl/files/native-perlinc.patch index a2e1aefd41..a2e1aefd41 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/native-perlinc.patch +++ b/poky/meta/recipes-devtools/perl/files/native-perlinc.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch index e6f23eed65..3c2cecb8c1 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/perl-configpm-switch.patch +++ b/poky/meta/recipes-devtools/perl/files/perl-configpm-switch.patch @@ -1,3 +1,8 @@ +From 7f313cac31c55cbe62a4d0cdfa8321cc05a8eb3a Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sun, 27 May 2007 21:04:11 +0000 +Subject: [PATCH] perl: 5.8.7 -> 5.8.8 (from OE) + This patch is used for perl-native only. It enables the switching of configuration files between Config_heavy.pl and Config_heavy-target.pl by setting the environment variables @@ -10,11 +15,15 @@ values would be valid for the host only. Upstream-Status: Inappropriate [native] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Index: perl-5.14.2/configpm -=================================================================== ---- perl-5.14.2.orig/configpm -+++ perl-5.14.2/configpm -@@ -658,7 +658,7 @@ sub FETCH { +--- + configpm | 18 ++++++++++++++++-- + 1 file changed, 16 insertions(+), 2 deletions(-) + +diff --git a/configpm b/configpm +index 09c4a3b..6a0a680 100755 +--- a/configpm ++++ b/configpm +@@ -687,7 +687,7 @@ sub FETCH { my($self, $key) = @_; # check for cached value (which may be undef so we use exists not defined) @@ -23,7 +32,7 @@ Index: perl-5.14.2/configpm } ENDOFEND -@@ -816,7 +816,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fa +@@ -845,7 +845,21 @@ $config_txt .= sprintf <<'ENDOFTIE', $fast_config; sub DESTROY { } sub AUTOLOAD { diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch index 6bb832a426..6bb832a426 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/perl-dynloader.patch +++ b/poky/meta/recipes-devtools/perl/files/perl-dynloader.patch diff --git a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt index f93bbc7646..8d3e513ec5 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/perl-rdepends.txt +++ b/poky/meta/recipes-devtools/perl/files/perl-rdepends.txt @@ -153,6 +153,9 @@ RDEPENDS_perl-module-b-xref += "perl-module-b" RDEPENDS_perl-module-b-xref += "perl-module-config" RDEPENDS_perl-module-b-xref += "perl-module-strict" RDEPENDS_perl-module-bytes += "perl-module-bytes-heavy" +RDEPENDS_perl-module-carp += "perl-module-exporter" +RDEPENDS_perl-module-carp += "perl-module-strict" +RDEPENDS_perl-module-carp += "perl-module-warnings" RDEPENDS_perl-module--charnames += "perl-module-bytes" RDEPENDS_perl-module-charnames += "perl-module-bytes" RDEPENDS_perl-module-charnames += "perl-module--charnames" @@ -239,6 +242,7 @@ RDEPENDS_perl-module-cwd += "perl-module-errno" RDEPENDS_perl-module-cwd += "perl-module-exporter" RDEPENDS_perl-module-cwd += "perl-module-strict" RDEPENDS_perl-module-cwd += "perl-module-xsloader" +RDEPENDS_perl-module-data-dumper += "perl-module-bytes" RDEPENDS_perl-module-data-dumper += "perl-module-config" RDEPENDS_perl-module-data-dumper += "perl-module-constant" RDEPENDS_perl-module-data-dumper += "perl-module-exporter" @@ -793,6 +797,8 @@ RDEPENDS_perl-module-file-path += "perl-module-exporter" RDEPENDS_perl-module-file-path += "perl-module-file-basename" RDEPENDS_perl-module-file-path += "perl-module-strict" RDEPENDS_perl-module-file-path += "perl-module-vars" +RDEPENDS_perl-module-file-spec += "perl-module-strict" +RDEPENDS_perl-module-file-spec += "perl-module-file-spec-unix" RDEPENDS_perl-module-file-stat += "perl-module-class-struct" RDEPENDS_perl-module-file-stat += "perl-module-constant" RDEPENDS_perl-module-file-stat += "perl-module-exporter" @@ -801,16 +807,19 @@ RDEPENDS_perl-module-file-stat += "perl-module-overload " RDEPENDS_perl-module-file-stat += "perl-module-strict" RDEPENDS_perl-module-file-stat += "perl-module-warnings" RDEPENDS_perl-module-file-stat += "perl-module-warnings-register" +RDEPENDS_perl-module-file-temp += "perl-module-carp" RDEPENDS_perl-module-file-temp += "perl-module-constant" RDEPENDS_perl-module-file-temp += "perl-module-cwd" RDEPENDS_perl-module-file-temp += "perl-module-errno" RDEPENDS_perl-module-file-temp += "perl-module-exporter" RDEPENDS_perl-module-file-temp += "perl-module-fcntl" RDEPENDS_perl-module-file-temp += "perl-module-file-path" +RDEPENDS_perl-module-file-temp += "perl-module-file-spec" RDEPENDS_perl-module-file-temp += "perl-module-io-seekable" RDEPENDS_perl-module-file-temp += "perl-module-overload" RDEPENDS_perl-module-file-temp += "perl-module-parent" RDEPENDS_perl-module-file-temp += "perl-module-posix" +RDEPENDS_perl-module-file-temp += "perl-module-scalar-util" RDEPENDS_perl-module-file-temp += "perl-module-strict" RDEPENDS_perl-module-file-temp += "perl-module-vars" RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call" @@ -954,11 +963,13 @@ RDEPENDS_perl-module-io-dir += "perl-module-file-stat" RDEPENDS_perl-module-io-dir += "perl-module-io-file" RDEPENDS_perl-module-io-dir += "perl-module-strict" RDEPENDS_perl-module-io-dir += "perl-module-tie-hash" +RDEPENDS_perl-module-io-file += "perl-module-carp" RDEPENDS_perl-module-io-file += "perl-module-exporter" RDEPENDS_perl-module-io-file += "perl-module-fcntl" RDEPENDS_perl-module-io-file += "perl-module-io-seekable" RDEPENDS_perl-module-io-file += "perl-module-selectsaver" RDEPENDS_perl-module-io-file += "perl-module-strict" +RDEPENDS_perl-module-io-file += "perl-module-symbol" RDEPENDS_perl-module-io-handle += "perl-module-exporter" RDEPENDS_perl-module-io-handle += "perl-module-io" RDEPENDS_perl-module-io-handle += "perl-module-io-file" @@ -1482,6 +1493,7 @@ RDEPENDS_perl-module-overloading += "perl-module-overload-numbers" RDEPENDS_perl-module-overloading += "perl-module-warnings" RDEPENDS_perl-module-overload += "perl-module-mro" RDEPENDS_perl-module-overload += "perl-module-warnings-register" +RDEPENDS_perl-module-overload += "perl-module-overloading" RDEPENDS_perl-module-params-check += "perl-module-exporter" RDEPENDS_perl-module-params-check += "perl-module-locale-maketext-simple" RDEPENDS_perl-module-params-check += "perl-module-strict" @@ -1722,6 +1734,11 @@ RDEPENDS_perl-module-safe += "perl-module-b" RDEPENDS_perl-module-safe += "perl-module-opcode" RDEPENDS_perl-module-safe += "perl-module-strict" RDEPENDS_perl-module-safe += "perl-module-utf8" +RDEPENDS_perl-module-scalar-util += "perl-module-carp" +RDEPENDS_perl-module-scalar-util += "perl-module-exporter" +RDEPENDS_perl-module-scalar-util += "perl-module-list-util" +RDEPENDS_perl-module-scalar-util += "perl-module-strict" +RDEPENDS_perl-module-scalar-util += "perl-module-warnings" RDEPENDS_perl-module-sdbm-file += "perl-module-exporter" RDEPENDS_perl-module-sdbm-file += "perl-module-strict" RDEPENDS_perl-module-sdbm-file += "perl-module-tie-hash" @@ -1966,11 +1983,20 @@ RDEPENDS_perl-module-test-builder-module += "perl-module-exporter" RDEPENDS_perl-module-test-builder-module += "perl-module-strict" RDEPENDS_perl-module-test-builder-module += "perl-module-test-builder" RDEPENDS_perl-module-test-builder += "perl-module-data-dumper" +RDEPENDS_perl-module-test-builder += "perl-module-list-util" RDEPENDS_perl-module-test-builder += "perl-module-overload" RDEPENDS_perl-module-test-builder += "perl-module-strict" +RDEPENDS_perl-module-test-builder += "perl-module-scalar-util" RDEPENDS_perl-module-test-builder += "perl-module-test-builder-formatter" RDEPENDS_perl-module-test-builder += "perl-module-test-builder-tododiag" +RDEPENDS_perl-module-test-builder += "perl-module-test2-api" +RDEPENDS_perl-module-test-builder += "perl-module-test2-util" RDEPENDS_perl-module-test-builder += "perl-module-warnings" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-strict" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-formatter-tap" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test-builder-formatter += "perl-module-warnings" RDEPENDS_perl-module-test-builder-tester-color += "perl-module-strict" RDEPENDS_perl-module-test-builder-tester-color += "perl-module-test-builder-tester" RDEPENDS_perl-module-test-builder-tester += "perl-module-exporter" @@ -1988,6 +2014,7 @@ RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-source" RDEPENDS_perl-module-test-harness += "perl-module-tap-parser-sourcehandler-perl" RDEPENDS_perl-module-test-harness += "perl-module-text-parsewords" RDEPENDS_perl-module-test-harness += "perl-module-warnings" +RDEPENDS_perl-module-test-more += "perl-module-file-temp" RDEPENDS_perl-module-test-more += "perl-module-strict" RDEPENDS_perl-module-test-more += "perl-module-test-builder-module" RDEPENDS_perl-module-test-more += "perl-module-warnings" @@ -2013,6 +2040,100 @@ RDEPENDS_perl-module-test-tester += "perl-module-test-builder" RDEPENDS_perl-module-test-tester += "perl-module-test-tester-capturerunner" RDEPENDS_perl-module-test-tester += "perl-module-test-tester-delegate" RDEPENDS_perl-module-test-tester += "perl-module-vars" +RDEPENDS_perl-module-test2-api += "perl-module-carp" +RDEPENDS_perl-module-test2-api += "perl-module-exporter" +RDEPENDS_perl-module-test2-api += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-api += "perl-module-strict" +RDEPENDS_perl-module-test2-api += "perl-module-test2-api-context" +RDEPENDS_perl-module-test2-api += "perl-module-test2-api-instance" +RDEPENDS_perl-module-test2-api += "perl-module-test2-api-stack" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-bail" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-diag" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-exception" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-fail" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-note" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-ok" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-plan" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-skip" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-subtest" +RDEPENDS_perl-module-test2-api += "perl-module-test2-event-waiting" +RDEPENDS_perl-module-test2-api += "perl-module-test2-eventfacet-trace" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-interceptor-terminator" +RDEPENDS_perl-module-test2-api += "perl-module-test2-hub-subtest" +RDEPENDS_perl-module-test2-api += "perl-module-test2-util" +RDEPENDS_perl-module-test2-api += "perl-module-test2-util-trace" +RDEPENDS_perl-module-test2-api += "perl-module-warnings" +RDEPENDS_perl-module-test2-api-context += "perl-module-carp" +RDEPENDS_perl-module-test2-api-context += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-api-context += "perl-module-strict" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-api" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-event-v2" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-eventfacet-trace" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-externalmeta" +RDEPENDS_perl-module-test2-api-context += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-api-context += "perl-module-warnings" +RDEPENDS_perl-module-test2-event += "perl-module-carp" +RDEPENDS_perl-module-test2-event += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-event += "perl-module-strict" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-about" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-amnesty" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-assert" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-control" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-error" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-hub" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-info" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-meta" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-parent" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-plan" +RDEPENDS_perl-module-test2-event += "perl-module-test2-eventfacet-trace" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util-externalmeta" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-event += "perl-module-test2-util-trace" +RDEPENDS_perl-module-test2-event += "perl-module-warnings" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-carp" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-facets2legacy" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-strict" +RDEPENDS_perl-module-test2-event-v2 += "perl-module-warnings" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-carp" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-strict" +RDEPENDS_perl-module-test2-eventfacet += "perl-module-warnings" +RDEPENDS_perl-module-test2-hub += "perl-module-carp" +RDEPENDS_perl-module-test2-hub += "perl-module-list-util" +RDEPENDS_perl-module-test2-hub += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-hub += "perl-module-strict" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-ok" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-pass" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-event-plan" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-util" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-externalmeta" +RDEPENDS_perl-module-test2-hub += "perl-module-test2-util-hashbase" +RDEPENDS_perl-module-test2-hub += "perl-module-warnings" +RDEPENDS_perl-module-test2-util += "perl-module-carp" +RDEPENDS_perl-module-test2-util += "perl-module-config" +RDEPENDS_perl-module-test2-util += "perl-module-posix" +RDEPENDS_perl-module-test2-util += "perl-module-strict" +RDEPENDS_perl-module-test2-util += "perl-module-warnings" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-base" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-carp" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-exporter" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-scalar-util" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-strict" +RDEPENDS_perl-module-test2-util-facets2legacy += "perl-module-warnings" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-carp" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-mro" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-strict" +RDEPENDS_perl-module-test2-util-hashbase += "perl-module-warnings" RDEPENDS_perl-module-text-abbrev += "perl-module-exporter" RDEPENDS_perl-module-text-balanced += "perl-module-exporter" RDEPENDS_perl-module-text-balanced += "perl-module-overload" @@ -2537,6 +2658,7 @@ RDEPENDS_perl-module-encode += "perl-module-constant" RDEPENDS_perl-module-encode += "perl-module-encode-alias" RDEPENDS_perl-module-encode += "perl-module-encode-config" RDEPENDS_perl-module-encode += "perl-module-encode-configlocal-pm" +RDEPENDS_perl-module-encode += "perl-module-encode-encoding" RDEPENDS_perl-module-encode += "perl-module-encode-mime-name" RDEPENDS_perl-module-encode += "perl-module-exporter" RDEPENDS_perl-module-encode += "perl-module-parent" @@ -2959,6 +3081,7 @@ RDEPENDS_perl-module-file-temp += "perl-module-io-seekable" RDEPENDS_perl-module-file-temp += "perl-module-overload" RDEPENDS_perl-module-file-temp += "perl-module-parent" RDEPENDS_perl-module-file-temp += "perl-module-posix" +RDEPENDS_perl-module-file-temp += "perl-module-file-spec" RDEPENDS_perl-module-file-temp += "perl-module-strict" RDEPENDS_perl-module-file-temp += "perl-module-vars" RDEPENDS_perl-module-filter-simple += "perl-module-filter-util-call" diff --git a/poky/meta/recipes-devtools/perl-sanity/files/run-ptest b/poky/meta/recipes-devtools/perl/files/run-ptest index dad4d42916..dad4d42916 100644 --- a/poky/meta/recipes-devtools/perl-sanity/files/run-ptest +++ b/poky/meta/recipes-devtools/perl/files/run-ptest diff --git a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb index 3abb9aa8e4..c44ee6340c 100644 --- a/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb +++ b/poky/meta/recipes-devtools/perl/libtest-needs-perl_0.002006.bb @@ -24,6 +24,6 @@ S = "${WORKDIR}/${CPAN_NAME}-${PV}" inherit cpan ptest-perl -RDEPENDS_${PN}-ptest += "perl-module-test-more" +RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-ipc-open3 perl-module-lib perl-module-version" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb index a7cfa0fbe3..c27765bcbc 100644 --- a/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb +++ b/poky/meta/recipes-devtools/perl/liburi-perl_1.74.bb @@ -33,6 +33,18 @@ do_install_prepend() { rm -rf ${B}/t/file.t } -RDEPENDS_${PN}-ptest += "libtest-needs-perl" +RDEPENDS_${PN} += "perl-module-integer perl-module-mime-base64" +RDEPENDS_${PN}-ptest += " \ + libtest-needs-perl \ + perl-module-test-more \ + perl-module-test \ + perl-module-utf8 \ + perl-module-extutils-makemaker \ + perl-module-net-domain \ + perl-module-encode \ + perl-module-extutils-mm-unix \ + perl-module-file-spec-functions \ + perl-module-perlio \ +" BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb index 95af4d1de6..7c9b7696a7 100644 --- a/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb +++ b/poky/meta/recipes-devtools/perl/libxml-parser-perl_2.44.bb @@ -50,4 +50,6 @@ do_install_ptest() { chown -R root:root ${D}${PTEST_PATH}/samples } +RDEPENDS_${PN}-ptest += "perl-module-filehandle perl-module-if perl-module-test perl-module-test-more" + BBCLASSEXTEND="native nativesdk" diff --git a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb index 0f6099868a..818ae3d571 100644 --- a/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb +++ b/poky/meta/recipes-devtools/perl/libxml-perl_0.08.bb @@ -26,3 +26,5 @@ do_compile() { cpan_do_compile } +RDEPENDS_${PN} += "perl-module-carp perl-module-overload perl-module-universal perl-module-io-handle" +RDEPENDS_${PN}-ptest += "libxml-parser-perl perl-module-file-glob" diff --git a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc b/poky/meta/recipes-devtools/perl/perl-ptest.inc index 9dd9b7da57..9dd9b7da57 100644 --- a/poky/meta/recipes-devtools/perl-sanity/perl-ptest.inc +++ b/poky/meta/recipes-devtools/perl/perl-ptest.inc diff --git a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb index 12b220a4d8..b18a6b6913 100644 --- a/poky/meta/recipes-devtools/perl-sanity/perl_5.28.2.bb +++ b/poky/meta/recipes-devtools/perl/perl_5.30.0.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://Copying;md5=5b122a36d0f6dc55279a0ebc69f3c60b \ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ - https://github.com/arsv/perl-cross/releases/download/1.2.3/perl-cross-1.2.3.tar.gz;name=perl-cross \ + https://github.com/arsv/perl-cross/releases/download/1.3/perl-cross-1.3.tar.gz;name=perl-cross \ file://perl-rdepends.txt \ file://0001-configure_tool.sh-do-not-quote-the-argument-to-comma.patch \ file://0001-ExtUtils-MakeMaker-add-LDFLAGS-when-linking-binary-m.patch \ @@ -18,17 +18,16 @@ SRC_URI = "https://www.cpan.org/src/5.0/perl-${PV}.tar.gz;name=perl \ file://0001-perl-cross-add-LDFLAGS-when-linking-libperl.patch \ file://perl-dynloader.patch \ file://0001-configure_path.sh-do-not-hardcode-prefix-lib-as-libr.patch \ + file://fix-setgroup.patch \ " SRC_URI_append_class-native = " \ file://perl-configpm-switch.patch \ " -SRC_URI[perl.md5sum] = "1323e7581fbedf3791d2843f4ccaec4b" -SRC_URI[perl.sha256sum] = "aa95456dddb3eb1cc5475fed4e08f91876bea71fb636fba6399054dfbabed6c7" -SRC_URI[perl-cross.md5sum] = "03d9eafd71161eb5d1f80434e8b49dbc" -SRC_URI[perl-cross.sha256sum] = "84583a1bb5f3a2c64d13d031386c114382e5c62955c6f84a27cec8318536627c" - -PR = "r1" +SRC_URI[perl.md5sum] = "9770584cdf9b5631c38097645ce33549" +SRC_URI[perl.sha256sum] = "851213c754d98ccff042caa40ba7a796b2cee88c5325f121be5cbb61bbf975f2" +SRC_URI[perl-cross.md5sum] = "4dda3daf9c4fe42b3d6a5dd052852a48" +SRC_URI[perl-cross.sha256sum] = "49edea1ea2cd6c5c47386ca71beda8d150c748835781354dbe7f75b1df27e703" S = "${WORKDIR}/perl-${PV}" @@ -43,7 +42,7 @@ do_unpack_append() { } do_copy_perlcross() { - cp -rf ${WORKDIR}/perl-cross*/* ${S} + cp -rfp ${WORKDIR}/perl-cross*/* ${S} } do_configure_class-target() { @@ -90,6 +89,16 @@ do_configure_class-native() { -Ui_xlocale } +do_configure_append() { + if [ -n "$SOURCE_DATE_EPOCH" ]; then + PERL_BUILD_DATE="$(${PYTHON} -c "\ +from datetime import datetime, timezone; \ +print(datetime.fromtimestamp($SOURCE_DATE_EPOCH, timezone.utc).strftime('%a %b %d %H:%M:%S %Y')) \ + ")" + echo "#define PERL_BUILD_DATE \"$PERL_BUILD_DATE\"" >> config.h + fi +} + do_compile() { oe_runmake } @@ -165,6 +174,7 @@ perl_package_preprocess () { ${PKGD}${libdir}/perl5/${PV}/Config.pm \ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pm \ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config.pod \ + ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_git.pl \ ${PKGD}${libdir}/perl5/${PV}/${TARGET_ARCH}-linux/Config_heavy.pl \ ${PKGD}${libdir}/perl5/${PV}/ExtUtils/Liblist/Kid.pm \ ${PKGD}${libdir}/perl5/${PV}/FileCache.pm \ @@ -177,6 +187,7 @@ require perl-ptest.inc FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \ ${libdir}/perl5/site_perl \ ${libdir}/perl5/${PV}/Config.pm \ + ${libdir}/perl5/${PV}/*/Config_git.pl \ ${libdir}/perl5/${PV}/*/Config_heavy-target.pl \ ${libdir}/perl5/config.sh \ ${libdir}/perl5/${PV}/strict.pm \ diff --git a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb index 1452875f5d..c60ef74226 100644 --- a/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.0.bb +++ b/poky/meta/recipes-devtools/pkgconf/pkgconf_1.6.1.bb @@ -21,8 +21,8 @@ SRC_URI = "\ file://pkg-config-native.in \ file://pkg-config-esdk.in \ " -SRC_URI[md5sum] = "0c93492d7f001e5175b0347b5472e86d" -SRC_URI[sha256sum] = "6135a3abb576672ba54a899860442ba185063f0f90dae5892f64f7bae8e1ece5" +SRC_URI[md5sum] = "556bae2b9e0cc7b46e7c00083cb6d95d" +SRC_URI[sha256sum] = "22b9ee38438901f9d60f180e5182821180854fa738fd071f593ea26a81da208c" inherit autotools diff --git a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb index 50137895ca..a1133dad41 100644 --- a/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb +++ b/poky/meta/recipes-devtools/python-numpy/python-numpy_1.16.3.bb @@ -4,3 +4,7 @@ require python-numpy.inc RDEPENDS_${PN}_class-target_append = " \ ${PYTHON_PN}-subprocess \ " + +do_install_append(){ + rm ${D}/${bindir}/f2py +} diff --git a/poky/meta/recipes-devtools/python/python-mako.inc b/poky/meta/recipes-devtools/python/python-mako.inc index 97c624bbc6..20808fe5ac 100644 --- a/poky/meta/recipes-devtools/python/python-mako.inc +++ b/poky/meta/recipes-devtools/python/python-mako.inc @@ -8,8 +8,8 @@ PYPI_PACKAGE = "Mako" inherit pypi -SRC_URI[md5sum] = "d739720f3f0d6a1cb6a96ea7a4760c3e" -SRC_URI[sha256sum] = "0728c404877cd4ca72c409c0ea372dc5f3b53fa1ad2bb434e1d216c0444ff1fd" +SRC_URI[md5sum] = "a94d376078dda65f834ea5049a81ebb5" +SRC_URI[sha256sum] = "7165919e78e1feb68b4dbe829871ea9941398178fa58e6beedb9ba14acf63965" RDEPENDS_${PN} = "${PYTHON_PN}-html \ ${PYTHON_PN}-netclient \ diff --git a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb b/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb index 6d69d2d62e..fab609df90 100644 --- a/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb +++ b/poky/meta/recipes-devtools/python/python-nose_1.3.7.bb @@ -1,2 +1,6 @@ inherit setuptools require python-nose.inc + +do_install_append() { + rm ${D}${bindir}/nosetests +} diff --git a/poky/meta/recipes-devtools/python/python-setuptools.inc b/poky/meta/recipes-devtools/python/python-setuptools.inc index 357aa07086..f49e078697 100644 --- a/poky/meta/recipes-devtools/python/python-setuptools.inc +++ b/poky/meta/recipes-devtools/python/python-setuptools.inc @@ -37,3 +37,14 @@ do_install_prepend() { } BBCLASSEXTEND = "native nativesdk" + +# The pkg-resources module can be used by itself, without the package downloader +# and easy_install. Ship it in a separate package so that it can be used by +# minimal distributions. +PACKAGES =+ "${PYTHON_PN}-pkg-resources " +FILES_${PYTHON_PN}-pkg-resources = "${PYTHON_SITEPACKAGES_DIR}/pkg_resources/*" +# Due to the way OE-Core implemented native recipes, the native class cannot +# have a dependency on something that is not a recipe name. Work around that by +# manually setting RPROVIDES. +RDEPENDS_${PN}_append = " ${PYTHON_PN}-pkg-resources" +RPROVIDES_append_class-native = " ${PYTHON_PN}-pkg-resources-native" diff --git a/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch new file mode 100644 index 0000000000..b267237018 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948-fix.patch @@ -0,0 +1,55 @@ +From 179a5f75f1121dab271fe8f90eb35145f9dcbbda Mon Sep 17 00:00:00 2001 +From: Sihoon Lee <push0ebp@gmail.com> +Date: Fri, 17 May 2019 02:41:06 +0900 +Subject: [PATCH] Update test_urllib.py and urllib.py\nchange assertEqual into + assertRasies in DummyURLopener test, and simplify mitigation + +Upstream-Status: Submitted https://github.com/python/cpython/pull/11842 + +CVE: CVE-2019-9948 + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Lib/test/test_urllib.py | 11 +++-------- + Lib/urllib.py | 4 ++-- + 2 files changed, 5 insertions(+), 10 deletions(-) + +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index e5f210e62a18..1e23dfb0bb16 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -1027,14 +1027,9 @@ def test_local_file_open(self): + class DummyURLopener(urllib.URLopener): + def open_local_file(self, url): + return url +- self.assertEqual(DummyURLopener().open( +- 'local-file://example'), '//example') +- self.assertEqual(DummyURLopener().open( +- 'local_file://example'), '//example') +- self.assertRaises(IOError, urllib.urlopen, +- 'local-file://example') +- self.assertRaises(IOError, urllib.urlopen, +- 'local_file://example') ++ for url in ('local_file://example', 'local-file://example'): ++ self.assertRaises(IOError, DummyURLopener().open, url) ++ self.assertRaises(IOError, urllib.urlopen, url) + + # Just commented them out. + # Can't really tell why keep failing in windows and sparc. +diff --git a/Lib/urllib.py b/Lib/urllib.py +index a24e9a5c68fb..39b834054e9e 100644 +--- a/Lib/urllib.py ++++ b/Lib/urllib.py +@@ -203,10 +203,10 @@ def open(self, fullurl, data=None): + name = 'open_' + urltype + self.type = urltype + name = name.replace('-', '_') +- ++ + # bpo-35907: # disallow the file reading with the type not allowed + if not hasattr(self, name) or \ +- (self == _urlopener and name == 'open_local_file'): ++ getattr(self, name) == self.open_local_file: + if proxy: + return self.open_unknown_proxy(proxy, fullurl, data) + else: diff --git a/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch new file mode 100644 index 0000000000..f4c225d2fc --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-35907-cve-2019-9948.patch @@ -0,0 +1,55 @@ +From 8f99cc799e4393bf1112b9395b2342f81b3f45ef Mon Sep 17 00:00:00 2001 +From: push0ebp <push0ebp@shl-MacBook-Pro.local> +Date: Thu, 14 Feb 2019 02:05:46 +0900 +Subject: [PATCH] bpo-35907: Avoid file reading as disallowing the unnecessary + URL scheme in urllib + +Upstream-Status: Submitted https://github.com/python/cpython/pull/11842 + +CVE: CVE-2019-9948 + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Lib/test/test_urllib.py | 12 ++++++++++++ + Lib/urllib.py | 5 ++++- + 2 files changed, 16 insertions(+), 1 deletion(-) + +diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py +index 1ce9201c0693..e5f210e62a18 100644 +--- a/Lib/test/test_urllib.py ++++ b/Lib/test/test_urllib.py +@@ -1023,6 +1023,18 @@ def open_spam(self, url): + "spam://c:|windows%/:=&?~#+!$,;'@()*[]|/path/"), + "//c:|windows%/:=&?~#+!$,;'@()*[]|/path/") + ++ def test_local_file_open(self): ++ class DummyURLopener(urllib.URLopener): ++ def open_local_file(self, url): ++ return url ++ self.assertEqual(DummyURLopener().open( ++ 'local-file://example'), '//example') ++ self.assertEqual(DummyURLopener().open( ++ 'local_file://example'), '//example') ++ self.assertRaises(IOError, urllib.urlopen, ++ 'local-file://example') ++ self.assertRaises(IOError, urllib.urlopen, ++ 'local_file://example') + + # Just commented them out. + # Can't really tell why keep failing in windows and sparc. +diff --git a/Lib/urllib.py b/Lib/urllib.py +index d85504a5cb7e..a24e9a5c68fb 100644 +--- a/Lib/urllib.py ++++ b/Lib/urllib.py +@@ -203,7 +203,10 @@ def open(self, fullurl, data=None): + name = 'open_' + urltype + self.type = urltype + name = name.replace('-', '_') +- if not hasattr(self, name): ++ ++ # bpo-35907: # disallow the file reading with the type not allowed ++ if not hasattr(self, name) or \ ++ (self == _urlopener and name == 'open_local_file'): + if proxy: + return self.open_unknown_proxy(proxy, fullurl, data) + else: diff --git a/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch new file mode 100644 index 0000000000..2ce4d2cde7 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636-fix.patch @@ -0,0 +1,28 @@ +From 06b5ee585d6e76bdbb4002f642d864d860cbbd2b Mon Sep 17 00:00:00 2001 +From: Steve Dower <steve.dower@python.org> +Date: Tue, 12 Mar 2019 08:23:33 -0700 +Subject: [PATCH] bpo-36216: Only print test messages when verbose + +CVE: CVE-2019-9636 + +Upstream-Status: Backport https://github.com/python/cpython/pull/12291/commits/06b5ee585d6e76bdbb4002f642d864d860cbbd2b + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Lib/test/test_urlparse.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py +index 73b0228ea8e3..1830d0b28688 100644 +--- a/Lib/test/test_urlparse.py ++++ b/Lib/test/test_urlparse.py +@@ -644,7 +644,8 @@ def test_urlsplit_normalization(self): + for scheme in [u"http", u"https", u"ftp"]: + for c in denorm_chars: + url = u"{}://netloc{}false.netloc/path".format(scheme, c) +- print "Checking %r" % url ++ if test_support.verbose: ++ print "Checking %r" % url + with self.assertRaises(ValueError): + urlparse.urlsplit(url) + diff --git a/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch new file mode 100644 index 0000000000..352b13ba9b --- /dev/null +++ b/poky/meta/recipes-devtools/python/python/bpo-36216-cve-2019-9636.patch @@ -0,0 +1,111 @@ +From 3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e Mon Sep 17 00:00:00 2001 +From: Steve Dower <steve.dower@python.org> +Date: Thu, 7 Mar 2019 08:25:22 -0800 +Subject: [PATCH] bpo-36216: Add check for characters in netloc that normalize + to separators (GH-12201) + +CVE: CVE-2019-9636 + +Upstream-Status: Backport https://github.com/python/cpython/pull/12216/commits/3e3669c9c41a27e1466e2c28b3906e3dd0ce3e7e + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + Doc/library/urlparse.rst | 20 ++++++++++++++++ + Lib/test/test_urlparse.py | 24 +++++++++++++++++++ + Lib/urlparse.py | 17 +++++++++++++ + .../2019-03-06-09-38-40.bpo-36216.6q1m4a.rst | 3 +++ + 4 files changed, 64 insertions(+) + create mode 100644 Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst + +diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py +index 4e1ded73c266..73b0228ea8e3 100644 +--- a/Lib/test/test_urlparse.py ++++ b/Lib/test/test_urlparse.py +@@ -1,4 +1,6 @@ + from test import test_support ++import sys ++import unicodedata + import unittest + import urlparse + +@@ -624,6 +626,28 @@ def test_portseparator(self): + self.assertEqual(urlparse.urlparse("http://www.python.org:80"), + ('http','www.python.org:80','','','','')) + ++ def test_urlsplit_normalization(self): ++ # Certain characters should never occur in the netloc, ++ # including under normalization. ++ # Ensure that ALL of them are detected and cause an error ++ illegal_chars = u'/:#?@' ++ hex_chars = {'{:04X}'.format(ord(c)) for c in illegal_chars} ++ denorm_chars = [ ++ c for c in map(unichr, range(128, sys.maxunicode)) ++ if (hex_chars & set(unicodedata.decomposition(c).split())) ++ and c not in illegal_chars ++ ] ++ # Sanity check that we found at least one such character ++ self.assertIn(u'\u2100', denorm_chars) ++ self.assertIn(u'\uFF03', denorm_chars) ++ ++ for scheme in [u"http", u"https", u"ftp"]: ++ for c in denorm_chars: ++ url = u"{}://netloc{}false.netloc/path".format(scheme, c) ++ print "Checking %r" % url ++ with self.assertRaises(ValueError): ++ urlparse.urlsplit(url) ++ + def test_main(): + test_support.run_unittest(UrlParseTestCase) + +diff --git a/Lib/urlparse.py b/Lib/urlparse.py +index f7c2b032b097..54eda08651ab 100644 +--- a/Lib/urlparse.py ++++ b/Lib/urlparse.py +@@ -165,6 +165,21 @@ def _splitnetloc(url, start=0): + delim = min(delim, wdelim) # use earliest delim position + return url[start:delim], url[delim:] # return (domain, rest) + ++def _checknetloc(netloc): ++ if not netloc or not isinstance(netloc, unicode): ++ return ++ # looking for characters like \u2100 that expand to 'a/c' ++ # IDNA uses NFKC equivalence, so normalize for this check ++ import unicodedata ++ netloc2 = unicodedata.normalize('NFKC', netloc) ++ if netloc == netloc2: ++ return ++ _, _, netloc = netloc.rpartition('@') # anything to the left of '@' is okay ++ for c in '/?#@:': ++ if c in netloc2: ++ raise ValueError("netloc '" + netloc2 + "' contains invalid " + ++ "characters under NFKC normalization") ++ + def urlsplit(url, scheme='', allow_fragments=True): + """Parse a URL into 5 components: + <scheme>://<netloc>/<path>?<query>#<fragment> +@@ -193,6 +208,7 @@ def urlsplit(url, scheme='', allow_fragments=True): + url, fragment = url.split('#', 1) + if '?' in url: + url, query = url.split('?', 1) ++ _checknetloc(netloc) + v = SplitResult(scheme, netloc, url, query, fragment) + _parse_cache[key] = v + return v +@@ -216,6 +232,7 @@ def urlsplit(url, scheme='', allow_fragments=True): + url, fragment = url.split('#', 1) + if '?' in url: + url, query = url.split('?', 1) ++ _checknetloc(netloc) + v = SplitResult(scheme, netloc, url, query, fragment) + _parse_cache[key] = v + return v +diff --git a/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst +new file mode 100644 +index 000000000000..1e1ad92c6feb +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2019-03-06-09-38-40.bpo-36216.6q1m4a.rst +@@ -0,0 +1,3 @@ ++Changes urlsplit() to raise ValueError when the URL contains characters that ++decompose under IDNA encoding (NFKC-normalization) into characters that ++affect how the URL is parsed. +\ No newline at end of file diff --git a/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb index 17803f1b00..17803f1b00 100644 --- a/poky/meta/recipes-devtools/python/python3-mako_1.0.9.bb +++ b/poky/meta/recipes-devtools/python/python3-mako_1.0.10.bb diff --git a/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb b/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb index 8bc1f49835..13dbf96179 100644 --- a/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb +++ b/poky/meta/recipes-devtools/python/python3-nose_1.3.7.bb @@ -1,6 +1,2 @@ inherit setuptools3 require python-nose.inc - -do_install_append() { - mv ${D}${bindir}/nosetests ${D}${bindir}/nosetests3 -} diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb deleted file mode 100644 index d9b6ce74a3..0000000000 --- a/poky/meta/recipes-devtools/python/python3-pbr_5.1.3.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit setuptools3 -require python-pbr.inc -SRC_URI[md5sum] = "08972dca5fd2a959f27842090973edd6" -SRC_URI[sha256sum] = "8c361cc353d988e4f5b998555c88098b9d5964c2e11acf7b0d21925a66bb5824" - diff --git a/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb b/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb new file mode 100644 index 0000000000..ed6832e4af --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pbr_5.2.0.bb @@ -0,0 +1,5 @@ +inherit setuptools3 +require python-pbr.inc +SRC_URI[md5sum] = "2bca008fd08d035a2f78c606d876a6db" +SRC_URI[sha256sum] = "d950c64aeea5456bbd147468382a5bb77fe692c13c9f00f0219814ce5b642755" + diff --git a/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb index 4fdc7ee244..baf32f4724 100644 --- a/poky/meta/recipes-devtools/python/python3-pip_19.0.3.bb +++ b/poky/meta/recipes-devtools/python/python3-pip_19.1.1.bb @@ -6,8 +6,8 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8ba06d529c955048e5ddd7c45459eb2e" DEPENDS += "python3 python3-setuptools-native" -SRC_URI[md5sum] = "1c5edb0924a0d7d79f3a2e3df05009b4" -SRC_URI[sha256sum] = "6e6f197a1abfb45118dbb878b5c859a0edbdd33fd250100bc015b67fded4b9f2" +SRC_URI[md5sum] = "4fb98a060f21c731d6743b90a714fc73" +SRC_URI[sha256sum] = "44d3d7d3d30a1eb65c7e5ff1173cdf8f7467850605ac7cc3707b6064bddd0958" inherit pypi distutils3 diff --git a/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb b/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb new file mode 100644 index 0000000000..35c0ac6a57 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-pygments_2.4.2.bb @@ -0,0 +1,20 @@ +SUMMARY = "Pygments is a syntax highlighting package written in Python." +DESCRIPTION = "Pygments is a syntax highlighting package written in Python." +HOMEPAGE = "http://pygments.org/" +LICENSE = "BSD-2-Clause" +LIC_FILES_CHKSUM = "file://LICENSE;md5=e1d7b7bffbfeaa14083fd2bd3236aea8" + +inherit setuptools3 +SRC_URI[md5sum] = "5ecc3fbb2a783e917b369271fc0e6cd1" +SRC_URI[sha256sum] = "881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297" + +DEPENDS += "\ + ${PYTHON_PN} \ + " + +PYPI_PACKAGE = "Pygments" + +inherit pypi + +BBCLASSEXTEND = "native nativesdk" + diff --git a/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb b/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb new file mode 100644 index 0000000000..5cd5956625 --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons-native_3.0.5.bb @@ -0,0 +1,8 @@ +require python3-scons_${PV}.bb +inherit native python3native +DEPENDS = "python3-native" +RDEPENDS_${PN} = "" + +do_install_append() { + create_wrapper ${D}${bindir}/scons SCONS_LIB_DIR='${STAGING_DIR_HOST}/${PYTHON_SITEPACKAGES_DIR}' PYTHONNOUSERSITE='1' +} diff --git a/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb b/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb new file mode 100644 index 0000000000..7fb75a627e --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3-scons_3.0.5.bb @@ -0,0 +1,29 @@ +SUMMARY = "Software Construction tool (make/autotools replacement)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=37bb53a08e6beaea0c90e7821d731284" + +SRC_URI = "${SOURCEFORGE_MIRROR}/scons/scons-${PV}.tar.gz" +SRC_URI[md5sum] = "9f9c163e8bd48cf8cd92f03e85ca6395" +SRC_URI[sha256sum] = "df676f23dc6d4bfa384fc389d95dcd21ab907e6349d4c848958ba4befb73c73e" + +S = "${WORKDIR}/scons-${PV}" + +UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html" +UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" + +inherit setuptools3 + +do_install_prepend() { + sed -i -e "1s,#!.*python.*,#!${USRBINPATH}/env python3," ${S}/script/* +} + +RDEPENDS_${PN} = "\ + python3-core \ + python3-fcntl \ + python3-io \ + python3-json \ + python3-shell \ + python3-pickle \ + python3-pprint \ + " diff --git a/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch new file mode 100644 index 0000000000..e7af88654d --- /dev/null +++ b/poky/meta/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch @@ -0,0 +1,201 @@ +From 7535c39951b9d15dd64c4669092a8582ba555466 Mon Sep 17 00:00:00 2001 +From: Matthias Schoepfer <matthias.schoepfer@ithinx.io> +Date: Fri, 31 May 2019 15:34:34 +0200 +Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft + float + +When (cross) compiling for softfloat mips, __mips_hard_float will not be +defined and detection of OS triplet in configure.ac / configure will fail. + +This also has to do with the custom detection of the build triplet. Trying +to do this in a more autoconf/autotools manner. + +Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196] +Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io> +--- + configure.ac | 169 ++++++--------------------------------------------- + 1 file changed, 17 insertions(+), 152 deletions(-) + +diff --git a/configure.ac b/configure.ac +index a7de901e08..a73e2de51b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -727,158 +727,23 @@ fi + MULTIARCH=$($CC --print-multiarch 2>/dev/null) + AC_SUBST(MULTIARCH) + +-AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) +-cat >> conftest.c <<EOF +-#undef bfin +-#undef cris +-#undef fr30 +-#undef linux +-#undef hppa +-#undef hpux +-#undef i386 +-#undef mips +-#undef powerpc +-#undef sparc +-#undef unix +-#if defined(__ANDROID__) +- # Android is not a multiarch system. +-#elif defined(__linux__) +-# if defined(__x86_64__) && defined(__LP64__) +- x86_64-linux-gnu +-# elif defined(__x86_64__) && defined(__ILP32__) +- x86_64-linux-gnux32 +-# elif defined(__i386__) +- i386-linux-gnu +-# elif defined(__aarch64__) && defined(__AARCH64EL__) +-# if defined(__ILP32__) +- aarch64_ilp32-linux-gnu +-# else +- aarch64-linux-gnu +-# endif +-# elif defined(__aarch64__) && defined(__AARCH64EB__) +-# if defined(__ILP32__) +- aarch64_be_ilp32-linux-gnu +-# else +- aarch64_be-linux-gnu +-# endif +-# elif defined(__alpha__) +- alpha-linux-gnu +-# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) +-# if defined(__ARMEL__) +- arm-linux-gnueabihf +-# else +- armeb-linux-gnueabihf +-# endif +-# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) +-# if defined(__ARMEL__) +- arm-linux-gnueabi +-# else +- armeb-linux-gnueabi +-# endif +-# elif defined(__hppa__) +- hppa-linux-gnu +-# elif defined(__ia64__) +- ia64-linux-gnu +-# elif defined(__m68k__) && !defined(__mcoldfire__) +- m68k-linux-gnu +-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6el-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) +-# if _MIPS_SIM == _ABIO32 +- mipsisa32r6-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mipsisa64r6-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mipsisa64r6-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) && defined(_MIPSEL) +-# if _MIPS_SIM == _ABIO32 +- mipsel-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64el-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64el-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__mips_hard_float) +-# if _MIPS_SIM == _ABIO32 +- mips-linux-gnu +-# elif _MIPS_SIM == _ABIN32 +- mips64-linux-gnuabin32 +-# elif _MIPS_SIM == _ABI64 +- mips64-linux-gnuabi64 +-# else +-# error unknown platform triplet +-# endif +-# elif defined(__or1k__) +- or1k-linux-gnu +-# elif defined(__powerpc__) && defined(__SPE__) +- powerpc-linux-gnuspe +-# elif defined(__powerpc64__) +-# if defined(__LITTLE_ENDIAN__) +- powerpc64le-linux-gnu +-# else +- powerpc64-linux-gnu +-# endif +-# elif defined(__powerpc__) +- powerpc-linux-gnu +-# elif defined(__s390x__) +- s390x-linux-gnu +-# elif defined(__s390__) +- s390-linux-gnu +-# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) +- sh4-linux-gnu +-# elif defined(__sparc__) && defined(__arch64__) +- sparc64-linux-gnu +-# elif defined(__sparc__) +- sparc-linux-gnu +-# elif defined(__riscv) +-# if __riscv_xlen == 32 +- riscv32-linux-gnu +-# elif __riscv_xlen == 64 +- riscv64-linux-gnu +-# else +-# error unknown platform triplet +-# endif +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__FreeBSD_kernel__) +-# if defined(__LP64__) +- x86_64-kfreebsd-gnu +-# elif defined(__i386__) +- i386-kfreebsd-gnu +-# else +-# error unknown platform triplet +-# endif +-#elif defined(__gnu_hurd__) +- i386-gnu +-#elif defined(__APPLE__) +- darwin +-#else +-# error unknown platform triplet +-#endif +- +-EOF +- +-if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then +- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` +- AC_MSG_RESULT([$PLATFORM_TRIPLET]) +-else +- AC_MSG_RESULT([none]) +-fi +-rm -f conftest.c conftest.out ++AC_CANONICAL_TARGET ++## Not using $target to filter out vendor ++## Need to handle macos, vxworks and hurd special (?) :-/ ++case ${target_os} in ++ darwin*) ++ PLATFORM_TRIPLET=darwin ++ ;; ++ hurd*) ++ PLATFORM_TRIPLET=i386-gnu ++ ;; ++ vxworks*) ++ PLATFORM_TRIPLET=vxworks ++ ;; ++ *) ++ PLATFORM_TRIPLET=${target_cpu}-${target_os} ++ ;; ++esac + + if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then + if test x$PLATFORM_TRIPLET != x$MULTIARCH; then +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/python/python3_3.7.3.bb b/poky/meta/recipes-devtools/python/python3_3.7.3.bb index 413d35ae10..832ef1b3c3 100644 --- a/poky/meta/recipes-devtools/python/python3_3.7.3.bb +++ b/poky/meta/recipes-devtools/python/python3_3.7.3.bb @@ -23,6 +23,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://0003-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ + file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ " SRC_URI_append_class-native = " \ diff --git a/poky/meta/recipes-devtools/python/python_2.7.16.bb b/poky/meta/recipes-devtools/python/python_2.7.16.bb index 0e7dd2b3fb..d70342fe3a 100644 --- a/poky/meta/recipes-devtools/python/python_2.7.16.bb +++ b/poky/meta/recipes-devtools/python/python_2.7.16.bb @@ -30,7 +30,11 @@ SRC_URI += " \ file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \ file://float-endian.patch \ file://0001-python2-use-cc_basename-to-replace-CC-for-checking-c.patch \ - " + file://bpo-35907-cve-2019-9948.patch \ + file://bpo-35907-cve-2019-9948-fix.patch \ + file://bpo-36216-cve-2019-9636.patch \ + file://bpo-36216-cve-2019-9636-fix.patch \ +" S = "${WORKDIR}/Python-${PV}" diff --git a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb index 820883df65..964dcee524 100644 --- a/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu-system-native_4.0.0.bb @@ -5,7 +5,7 @@ require qemu-native.inc # As some of the files installed by qemu-native and qemu-system-native # are the same, we depend on qemu-native to get the full installation set # and avoid file clashes -DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native" +DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native" EXTRA_OECONF_append = " --target-list=${@get_qemu_system_target_list(d)}" diff --git a/poky/meta/recipes-devtools/qemu/qemu.inc b/poky/meta/recipes-devtools/qemu/qemu.inc index f7b41412ad..ac475a8e2a 100644 --- a/poky/meta/recipes-devtools/qemu/qemu.inc +++ b/poky/meta/recipes-devtools/qemu/qemu.inc @@ -4,6 +4,9 @@ LICENSE = "GPLv2 & LGPLv2.1" RDEPENDS_${PN}-ptest = "bash make" +require qemu-targets.inc +inherit pkgconfig bluetooth ptest + LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" @@ -20,7 +23,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0008-apic-fixup-fallthrough-to-PIC.patch \ file://0009-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \ file://0010-Revert-linux-user-fix-mmap-munmap-mprotect-mremap-sh.patch \ - file://0013-Revert-target-arm-Use-vector-operations-for-saturati.patch \ + file://0013-target-arm-Fix-vector-operation-segfault.patch \ " UPSTREAM_CHECK_REGEX = "qemu-(?P<pver>\d+(\.\d+)+)\.tar" @@ -49,10 +52,6 @@ do_install_ptest() { -e '$ {/endif/d}' ${D}${PTEST_PATH}/tests/Makefile.include } - -require qemu-targets.inc -inherit pkgconfig bluetooth ptest - # QEMU_TARGETS is overridable variable QEMU_TARGETS ?= "arm aarch64 i386 mips mipsel mips64 mips64el ppc riscv32 riscv64 sh4 x86_64" diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch deleted file mode 100644 index 3d018a74d9..0000000000 --- a/poky/meta/recipes-devtools/qemu/qemu/0013-Revert-target-arm-Use-vector-operations-for-saturati.patch +++ /dev/null @@ -1,493 +0,0 @@ -From b46cdcdeb762c1f0eef68dc4a7d90f8176152e07 Mon Sep 17 00:00:00 2001 -From: Alistair Francis <alistair.francis@wdc.com> -Date: Wed, 1 May 2019 19:51:27 -0700 -Subject: [PATCH] Revert "target/arm: Use vector operations for saturation" - -This reverts commit 89e68b575e138d0af1435f11a8ffcd8779c237bd. - -This fixes QEMU aborts when running the qemuarm machine. - -Signed-off-by: Alistair Francis <alistair.francis@wdc.com> -Upstream-Status: Pending ---- - target/arm/helper.h | 33 ------- - target/arm/translate-a64.c | 36 ++++---- - target/arm/translate.c | 172 ++++++------------------------------- - target/arm/translate.h | 4 - - target/arm/vec_helper.c | 130 ---------------------------- - 5 files changed, 44 insertions(+), 331 deletions(-) - -diff --git a/target/arm/helper.h b/target/arm/helper.h -index 50cb036378..b2669f140f 100644 ---- a/target/arm/helper.h -+++ b/target/arm/helper.h -@@ -646,39 +646,6 @@ DEF_HELPER_FLAGS_6(gvec_fmla_idx_s, TCG_CALL_NO_RWG, - DEF_HELPER_FLAGS_6(gvec_fmla_idx_d, TCG_CALL_NO_RWG, - void, ptr, ptr, ptr, ptr, ptr, i32) - --DEF_HELPER_FLAGS_5(gvec_uqadd_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqadd_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqadd_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqadd_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqadd_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_uqsub_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_b, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_h, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_s, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) --DEF_HELPER_FLAGS_5(gvec_sqsub_d, TCG_CALL_NO_RWG, -- void, ptr, ptr, ptr, ptr, i32) -- - DEF_HELPER_FLAGS_5(gvec_fmlal_a32, TCG_CALL_NO_RWG, - void, ptr, ptr, ptr, ptr, i32) - DEF_HELPER_FLAGS_5(gvec_fmlal_a64, TCG_CALL_NO_RWG, -diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c -index 9dcc5ff3a3..428211f92f 100644 ---- a/target/arm/translate-a64.c -+++ b/target/arm/translate-a64.c -@@ -11230,22 +11230,6 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) - } - - switch (opcode) { -- case 0x01: /* SQADD, UQADD */ -- tcg_gen_gvec_4(vec_full_reg_offset(s, rd), -- offsetof(CPUARMState, vfp.qc), -- vec_full_reg_offset(s, rn), -- vec_full_reg_offset(s, rm), -- is_q ? 16 : 8, vec_full_reg_size(s), -- (u ? uqadd_op : sqadd_op) + size); -- return; -- case 0x05: /* SQSUB, UQSUB */ -- tcg_gen_gvec_4(vec_full_reg_offset(s, rd), -- offsetof(CPUARMState, vfp.qc), -- vec_full_reg_offset(s, rn), -- vec_full_reg_offset(s, rm), -- is_q ? 16 : 8, vec_full_reg_size(s), -- (u ? uqsub_op : sqsub_op) + size); -- return; - case 0x0c: /* SMAX, UMAX */ - if (u) { - gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umax, size); -@@ -11341,6 +11325,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) - genfn = fns[size][u]; - break; - } -+ case 0x1: /* SQADD, UQADD */ -+ { -+ static NeonGenTwoOpEnvFn * const fns[3][2] = { -+ { gen_helper_neon_qadd_s8, gen_helper_neon_qadd_u8 }, -+ { gen_helper_neon_qadd_s16, gen_helper_neon_qadd_u16 }, -+ { gen_helper_neon_qadd_s32, gen_helper_neon_qadd_u32 }, -+ }; -+ genenvfn = fns[size][u]; -+ break; -+ } - case 0x2: /* SRHADD, URHADD */ - { - static NeonGenTwoOpFn * const fns[3][2] = { -@@ -11361,6 +11355,16 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) - genfn = fns[size][u]; - break; - } -+ case 0x5: /* SQSUB, UQSUB */ -+ { -+ static NeonGenTwoOpEnvFn * const fns[3][2] = { -+ { gen_helper_neon_qsub_s8, gen_helper_neon_qsub_u8 }, -+ { gen_helper_neon_qsub_s16, gen_helper_neon_qsub_u16 }, -+ { gen_helper_neon_qsub_s32, gen_helper_neon_qsub_u32 }, -+ }; -+ genenvfn = fns[size][u]; -+ break; -+ } - case 0x8: /* SSHL, USHL */ - { - static NeonGenTwoOpFn * const fns[3][2] = { -diff --git a/target/arm/translate.c b/target/arm/translate.c -index 10bc53f91c..cf675cef3f 100644 ---- a/target/arm/translate.c -+++ b/target/arm/translate.c -@@ -6242,142 +6242,6 @@ const GVecGen3 cmtst_op[4] = { - .vece = MO_64 }, - }; - --static void gen_uqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_add_vec(vece, x, a, b); -- tcg_gen_usadd_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 uqadd_op[4] = { -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_b, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_h, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_s, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_uqadd_vec, -- .fno = gen_helper_gvec_uqadd_d, -- .opc = INDEX_op_usadd_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- --static void gen_sqadd_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_add_vec(vece, x, a, b); -- tcg_gen_ssadd_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 sqadd_op[4] = { -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_b, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_h, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_s, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_sqadd_vec, -- .fno = gen_helper_gvec_sqadd_d, -- .opc = INDEX_op_ssadd_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- --static void gen_uqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_sub_vec(vece, x, a, b); -- tcg_gen_ussub_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 uqsub_op[4] = { -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_b, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_h, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_s, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_uqsub_vec, -- .fno = gen_helper_gvec_uqsub_d, -- .opc = INDEX_op_ussub_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- --static void gen_sqsub_vec(unsigned vece, TCGv_vec t, TCGv_vec sat, -- TCGv_vec a, TCGv_vec b) --{ -- TCGv_vec x = tcg_temp_new_vec_matching(t); -- tcg_gen_sub_vec(vece, x, a, b); -- tcg_gen_sssub_vec(vece, t, a, b); -- tcg_gen_cmp_vec(TCG_COND_NE, vece, x, x, t); -- tcg_gen_or_vec(vece, sat, sat, x); -- tcg_temp_free_vec(x); --} -- --const GVecGen4 sqsub_op[4] = { -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_b, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_8 }, -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_h, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_16 }, -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_s, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_32 }, -- { .fniv = gen_sqsub_vec, -- .fno = gen_helper_gvec_sqsub_d, -- .opc = INDEX_op_sssub_vec, -- .write_aofs = true, -- .vece = MO_64 }, --}; -- - /* Translate a NEON data processing instruction. Return nonzero if the - instruction is invalid. - We process data in a mixture of 32-bit and 64-bit chunks. -@@ -6561,18 +6425,6 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - } - return 0; - -- case NEON_3R_VQADD: -- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), -- rn_ofs, rm_ofs, vec_size, vec_size, -- (u ? uqadd_op : sqadd_op) + size); -- break; -- -- case NEON_3R_VQSUB: -- tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), -- rn_ofs, rm_ofs, vec_size, vec_size, -- (u ? uqsub_op : sqsub_op) + size); -- break; -- - case NEON_3R_VMUL: /* VMUL */ - if (u) { - /* Polynomial case allows only P8 and is handled below. */ -@@ -6637,6 +6489,24 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - neon_load_reg64(cpu_V0, rn + pass); - neon_load_reg64(cpu_V1, rm + pass); - switch (op) { -+ case NEON_3R_VQADD: -+ if (u) { -+ gen_helper_neon_qadd_u64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } else { -+ gen_helper_neon_qadd_s64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } -+ break; -+ case NEON_3R_VQSUB: -+ if (u) { -+ gen_helper_neon_qsub_u64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } else { -+ gen_helper_neon_qsub_s64(cpu_V0, cpu_env, -+ cpu_V0, cpu_V1); -+ } -+ break; - case NEON_3R_VSHL: - if (u) { - gen_helper_neon_shl_u64(cpu_V0, cpu_V1, cpu_V0); -@@ -6752,12 +6622,18 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) - case NEON_3R_VHADD: - GEN_NEON_INTEGER_OP(hadd); - break; -+ case NEON_3R_VQADD: -+ GEN_NEON_INTEGER_OP_ENV(qadd); -+ break; - case NEON_3R_VRHADD: - GEN_NEON_INTEGER_OP(rhadd); - break; - case NEON_3R_VHSUB: - GEN_NEON_INTEGER_OP(hsub); - break; -+ case NEON_3R_VQSUB: -+ GEN_NEON_INTEGER_OP_ENV(qsub); -+ break; - case NEON_3R_VSHL: - GEN_NEON_INTEGER_OP(shl); - break; -diff --git a/target/arm/translate.h b/target/arm/translate.h -index c2348def0d..07055c9449 100644 ---- a/target/arm/translate.h -+++ b/target/arm/translate.h -@@ -248,10 +248,6 @@ extern const GVecGen2i ssra_op[4]; - extern const GVecGen2i usra_op[4]; - extern const GVecGen2i sri_op[4]; - extern const GVecGen2i sli_op[4]; --extern const GVecGen4 uqadd_op[4]; --extern const GVecGen4 sqadd_op[4]; --extern const GVecGen4 uqsub_op[4]; --extern const GVecGen4 sqsub_op[4]; - void gen_cmtst_i64(TCGv_i64 d, TCGv_i64 a, TCGv_i64 b); - - /* -diff --git a/target/arm/vec_helper.c b/target/arm/vec_helper.c -index dedef62403..be3271659f 100644 ---- a/target/arm/vec_helper.c -+++ b/target/arm/vec_helper.c -@@ -769,136 +769,6 @@ DO_FMLA_IDX(gvec_fmla_idx_d, float64, ) - - #undef DO_FMLA_IDX - --#define DO_SAT(NAME, WTYPE, TYPEN, TYPEM, OP, MIN, MAX) \ --void HELPER(NAME)(void *vd, void *vq, void *vn, void *vm, uint32_t desc) \ --{ \ -- intptr_t i, oprsz = simd_oprsz(desc); \ -- TYPEN *d = vd, *n = vn; TYPEM *m = vm; \ -- bool q = false; \ -- for (i = 0; i < oprsz / sizeof(TYPEN); i++) { \ -- WTYPE dd = (WTYPE)n[i] OP m[i]; \ -- if (dd < MIN) { \ -- dd = MIN; \ -- q = true; \ -- } else if (dd > MAX) { \ -- dd = MAX; \ -- q = true; \ -- } \ -- d[i] = dd; \ -- } \ -- if (q) { \ -- uint32_t *qc = vq; \ -- qc[0] = 1; \ -- } \ -- clear_tail(d, oprsz, simd_maxsz(desc)); \ --} -- --DO_SAT(gvec_uqadd_b, int, uint8_t, uint8_t, +, 0, UINT8_MAX) --DO_SAT(gvec_uqadd_h, int, uint16_t, uint16_t, +, 0, UINT16_MAX) --DO_SAT(gvec_uqadd_s, int64_t, uint32_t, uint32_t, +, 0, UINT32_MAX) -- --DO_SAT(gvec_sqadd_b, int, int8_t, int8_t, +, INT8_MIN, INT8_MAX) --DO_SAT(gvec_sqadd_h, int, int16_t, int16_t, +, INT16_MIN, INT16_MAX) --DO_SAT(gvec_sqadd_s, int64_t, int32_t, int32_t, +, INT32_MIN, INT32_MAX) -- --DO_SAT(gvec_uqsub_b, int, uint8_t, uint8_t, -, 0, UINT8_MAX) --DO_SAT(gvec_uqsub_h, int, uint16_t, uint16_t, -, 0, UINT16_MAX) --DO_SAT(gvec_uqsub_s, int64_t, uint32_t, uint32_t, -, 0, UINT32_MAX) -- --DO_SAT(gvec_sqsub_b, int, int8_t, int8_t, -, INT8_MIN, INT8_MAX) --DO_SAT(gvec_sqsub_h, int, int16_t, int16_t, -, INT16_MIN, INT16_MAX) --DO_SAT(gvec_sqsub_s, int64_t, int32_t, int32_t, -, INT32_MIN, INT32_MAX) -- --#undef DO_SAT -- --void HELPER(gvec_uqadd_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- uint64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- uint64_t nn = n[i], mm = m[i], dd = nn + mm; -- if (dd < nn) { -- dd = UINT64_MAX; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- --void HELPER(gvec_uqsub_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- uint64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- uint64_t nn = n[i], mm = m[i], dd = nn - mm; -- if (nn < mm) { -- dd = 0; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- --void HELPER(gvec_sqadd_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- int64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- int64_t nn = n[i], mm = m[i], dd = nn + mm; -- if (((dd ^ nn) & ~(nn ^ mm)) & INT64_MIN) { -- dd = (nn >> 63) ^ ~INT64_MIN; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- --void HELPER(gvec_sqsub_d)(void *vd, void *vq, void *vn, -- void *vm, uint32_t desc) --{ -- intptr_t i, oprsz = simd_oprsz(desc); -- int64_t *d = vd, *n = vn, *m = vm; -- bool q = false; -- -- for (i = 0; i < oprsz / 8; i++) { -- int64_t nn = n[i], mm = m[i], dd = nn - mm; -- if (((dd ^ nn) & (nn ^ mm)) & INT64_MIN) { -- dd = (nn >> 63) ^ ~INT64_MIN; -- q = true; -- } -- d[i] = dd; -- } -- if (q) { -- uint32_t *qc = vq; -- qc[0] = 1; -- } -- clear_tail(d, oprsz, simd_maxsz(desc)); --} -- - /* - * Convert float16 to float32, raising no exceptions and - * preserving exceptional values, including SNaN. --- -2.21.0 - diff --git a/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch new file mode 100644 index 0000000000..c1dd957dc9 --- /dev/null +++ b/poky/meta/recipes-devtools/qemu/qemu/0013-target-arm-Fix-vector-operation-segfault.patch @@ -0,0 +1,66 @@ +From 2f143d3ad1c05e91cf2cdf5de06d59a80a95e6c8 Mon Sep 17 00:00:00 2001 +From: Alistair Francis <alistair.francis@wdc.com> +Date: Thu, 23 May 2019 14:47:43 +0100 +Subject: [PATCH] target/arm: Fix vector operation segfault +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Commit 89e68b575 "target/arm: Use vector operations for saturation" +causes this abort() when booting QEMU ARM with a Cortex-A15: + +0 0x00007ffff4c2382f in raise () at /usr/lib/libc.so.6 +1 0x00007ffff4c0e672 in abort () at /usr/lib/libc.so.6 +2 0x00005555559c1839 in disas_neon_data_insn (insn=<optimized out>, s=<optimized out>) at ./target/arm/translate.c:6673 +3 0x00005555559c1839 in disas_neon_data_insn (s=<optimized out>, insn=<optimized out>) at ./target/arm/translate.c:6386 +4 0x00005555559cd8a4 in disas_arm_insn (insn=4081107068, s=0x7fffe59a9510) at ./target/arm/translate.c:9289 +5 0x00005555559cd8a4 in arm_tr_translate_insn (dcbase=0x7fffe59a9510, cpu=<optimized out>) at ./target/arm/translate.c:13612 +6 0x00005555558d1d39 in translator_loop (ops=0x5555561cc580 <arm_translator_ops>, db=0x7fffe59a9510, cpu=0x55555686a2f0, tb=<optimized out>, max_insns=<optimized out>) at ./accel/tcg/translator.c:96 +7 0x00005555559d10d4 in gen_intermediate_code (cpu=cpu@entry=0x55555686a2f0, tb=tb@entry=0x7fffd7840080 <code_gen_buffer+126091347>, max_insns=max_insns@entry=512) at ./target/arm/translate.c:13901 +8 0x00005555558d06b9 in tb_gen_code (cpu=cpu@entry=0x55555686a2f0, pc=3067096216, cs_base=0, flags=192, cflags=-16252928, cflags@entry=524288) at ./accel/tcg/translate-all.c:1736 +9 0x00005555558ce467 in tb_find (cf_mask=524288, tb_exit=1, last_tb=0x7fffd783e640 <code_gen_buffer+126084627>, cpu=0x1) at ./accel/tcg/cpu-exec.c:407 +10 0x00005555558ce467 in cpu_exec (cpu=cpu@entry=0x55555686a2f0) at ./accel/tcg/cpu-exec.c:728 +11 0x000055555588b0cf in tcg_cpu_exec (cpu=0x55555686a2f0) at ./cpus.c:1431 +12 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=0x55555686a2f0) at ./cpus.c:1735 +13 0x000055555588d223 in qemu_tcg_cpu_thread_fn (arg=arg@entry=0x55555686a2f0) at ./cpus.c:1709 +14 0x0000555555d2629a in qemu_thread_start (args=<optimized out>) at ./util/qemu-thread-posix.c:502 +15 0x00007ffff4db8a92 in start_thread () at /usr/lib/libpthread. + +This patch ensures that we don't hit the abort() in the second switch +case in disas_neon_data_insn() as we will return from the first case. + +Signed-off-by: Alistair Francis <alistair.francis@wdc.com> +Reviewed-by: Richard Henderson <richard.henderson@linaro.org> +Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> +Reviewed-by: Alex Bennée <alex.bennee@linaro.org> +Tested-by: Alex Bennée <alex.bennee@linaro.org> +Message-id: ad91b397f360b2fc7f4087e476f7df5b04d42ddb.1558021877.git.alistair.francis@wdc.com +Signed-off-by: Peter Maydell <peter.maydell@linaro.org> +Upstream-Status: Backport [4.1.0] +--- + target/arm/translate.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/target/arm/translate.c b/target/arm/translate.c +index dd053c80d6..298c262825 100644 +--- a/target/arm/translate.c ++++ b/target/arm/translate.c +@@ -6598,13 +6598,13 @@ static int disas_neon_data_insn(DisasContext *s, uint32_t insn) + tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), + rn_ofs, rm_ofs, vec_size, vec_size, + (u ? uqadd_op : sqadd_op) + size); +- break; ++ return 0; + + case NEON_3R_VQSUB: + tcg_gen_gvec_4(rd_ofs, offsetof(CPUARMState, vfp.qc), + rn_ofs, rm_ofs, vec_size, vec_size, + (u ? uqsub_op : sqsub_op) + size); +- break; ++ return 0; + + case NEON_3R_VMUL: /* VMUL */ + if (u) { +-- +2.21.0 + diff --git a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb index 247e0311ed..f119215b21 100644 --- a/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb +++ b/poky/meta/recipes-devtools/qemu/qemu_4.0.0.bb @@ -2,7 +2,7 @@ BBCLASSEXTEND = "nativesdk" require qemu.inc -DEPENDS = "glib-2.0 zlib pixman" +DEPENDS = "glib-2.0 zlib pixman bison-native" RDEPENDS_${PN}_class-target += "bash" diff --git a/poky/meta/recipes-devtools/quilt/quilt.inc b/poky/meta/recipes-devtools/quilt/quilt.inc index 150df3d572..dbf722be2a 100644 --- a/poky/meta/recipes-devtools/quilt/quilt.inc +++ b/poky/meta/recipes-devtools/quilt/quilt.inc @@ -85,5 +85,5 @@ RDEPENDS_${PN}-ptest = "make file sed gawk diffutils findutils ed perl \ perl-module-filehandle perl-module-getopt-std \ perl-module-posix perl-module-file-temp \ perl-module-text-parsewords perl-module-overloading \ - bash util-linux-getopt \ + bash util-linux-getopt patch \ " diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch index 0ce7b4e8ce..87c1e8cac0 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools/fix-compat.patch @@ -1,39 +1,8 @@ -Define FNM_EXTMATCH if not defined its glibc specific define include missing sys/stat.h for stat* function declarations Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: squashfs-tools/action.c -=================================================================== ---- squashfs-tools.orig/action.c -+++ squashfs-tools/action.c -@@ -44,6 +44,10 @@ - #include "action.h" - #include "error.h" - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - /* - * code to parse actions - */ -Index: squashfs-tools/mksquashfs.c -=================================================================== ---- squashfs-tools.orig/mksquashfs.c -+++ squashfs-tools/mksquashfs.c -@@ -1261,6 +1261,10 @@ void write_dir(squashfs_inode *inode, st - dir_size + 3, directory_block, directory_offset, NULL, NULL, - dir, 0); - -+#if !defined(FNM_EXTMATCH) -+#define FNM_EXTMATCH 0 -+#endif -+ - #ifdef SQUASHFS_TRACE - { - unsigned char *dirp; Index: squashfs-tools/pseudo.c =================================================================== --- squashfs-tools.orig/pseudo.c @@ -46,18 +15,3 @@ Index: squashfs-tools/pseudo.c #include <ctype.h> #include "pseudo.h" -Index: squashfs-tools/unsquashfs.c -=================================================================== ---- squashfs-tools.orig/unsquashfs.c -+++ squashfs-tools/unsquashfs.c -@@ -42,6 +42,10 @@ - #include <sys/sysmacros.h> - #endif - -+#ifndef FNM_EXTMATCH -+#define FNM_EXTMATCH 0 -+#endif -+ - struct cache *fragment_cache, *data_cache; - struct queue *to_reader, *to_inflate, *to_writer, *from_writer; - pthread_t *thread, *inflator_thread; diff --git a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb index 5a8b5f77bd..dc1568a77c 100644 --- a/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb +++ b/poky/meta/recipes-devtools/squashfs-tools/squashfs-tools_git.bb @@ -19,6 +19,9 @@ SRC_URI[lzma.sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e S = "${WORKDIR}/git/squashfs-tools" +# needs FNM_EXTMATCH +COMPATIBLE_HOST_libc-musl = 'null' + EXTRA_OEMAKE = "${PACKAGECONFIG_CONFARGS}" PACKAGECONFIG ??= "gzip xz lzo lz4 lzma xattr" diff --git a/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch new file mode 100644 index 0000000000..3e32cc388c --- /dev/null +++ b/poky/meta/recipes-devtools/strace/strace/ptest-spacesave.patch @@ -0,0 +1,19 @@ +If the test is successful, remove the log and exp files. This stops strace +using around 600MB of disk space and running our ptest images out of space. + +RP 2019/5/29 + +Upstream-Status: Inappropriate [specific to OE image space issues] + +Index: strace-4.26/tests/gen_tests.sh +=================================================================== +--- strace-4.26.orig/tests/gen_tests.sh ++++ strace-4.26/tests/gen_tests.sh +@@ -62,6 +62,7 @@ while read -r name arg0 args; do { + $hdr + . "\${srcdir=.}/init.sh" + run_strace_match_diff $arg0 $args ++ rm -rf log exp + EOF + ;; + diff --git a/poky/meta/recipes-devtools/strace/strace_4.26.bb b/poky/meta/recipes-devtools/strace/strace_4.26.bb index 24f92c99e5..3b61fc3eef 100644 --- a/poky/meta/recipes-devtools/strace/strace_4.26.bb +++ b/poky/meta/recipes-devtools/strace/strace_4.26.bb @@ -15,6 +15,7 @@ SRC_URI = "https://strace.io/files/${PV}/strace-${PV}.tar.xz \ file://0001-caps-abbrev.awk-fix-gawk-s-path.patch \ file://0001-tests-sigaction-Check-for-mips-and-alpha-before-usin.patch \ file://0001-mips-o32-fix-build.patch \ + file://ptest-spacesave.patch \ " SRC_URI[md5sum] = "daa51acc0c7c696221ec03cf0b30a7af" SRC_URI[sha256sum] = "7c4d2ffeef4f7d1cdc71062ca78d1130eb52f947c2fca82f59f6a1183bfa1e1c" diff --git a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb index ae3498f551..85f0ff7562 100644 --- a/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb +++ b/poky/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb @@ -110,7 +110,7 @@ RDEPENDS_${PN} += "perl" # redirect functions like strlen. RRECOMMENDS_${PN} += "${TCLIBC}-dbg" -RDEPENDS_${PN}-ptest += " sed perl perl-module-file-glob ${PN}-dbg" +RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" # One of the tests contains a bogus interpreter path on purpose. @@ -168,6 +168,7 @@ do_install_ptest() { -o -name "*.h" \) \ -exec rm {} \; mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c + touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test # find *_annotate in ${bindir} for yocto build sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest diff --git a/poky/meta/recipes-extended/acpica/acpica_20190405.bb b/poky/meta/recipes-extended/acpica/acpica_20190509.bb index 25ad7ce31c..cf6db336a6 100644 --- a/poky/meta/recipes-extended/acpica/acpica_20190405.bb +++ b/poky/meta/recipes-extended/acpica/acpica_20190509.bb @@ -17,8 +17,8 @@ COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux" DEPENDS = "bison flex bison-native" SRC_URI = "https://acpica.org/sites/acpica/files/acpica-unix2-${PV}.tar.gz" -SRC_URI[md5sum] = "9ee30c8ff3012e213bc3b21a9d632215" -SRC_URI[sha256sum] = "7e144fd011c23a0a10be0b0d7448c527a4c0f621f1f835a271636e448bc96643" +SRC_URI[md5sum] = "dd1f8240f924b12b0a0de0c31ab26ab1" +SRC_URI[sha256sum] = "860b5f94a0590b278592acf16a4556b05ff0309c08e8c48aa29827cfa02c8e9d" UPSTREAM_CHECK_URI = "https://acpica.org/downloads" S = "${WORKDIR}/acpica-unix2-${PV}" diff --git a/poky/meta/recipes-extended/bash/bash.inc b/poky/meta/recipes-extended/bash/bash.inc index 2e7f261a2e..c91cc8ada8 100644 --- a/poky/meta/recipes-extended/bash/bash.inc +++ b/poky/meta/recipes-extended/bash/bash.inc @@ -23,13 +23,19 @@ ALTERNATIVE_PRIORITY = "100" RDEPENDS_${PN} += "base-files" RDEPENDS_${PN}_class-nativesdk = "" -RDEPENDS_${PN}-ptest += "make" +RDEPENDS_${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv" DEPENDS_append_libc-glibc = " virtual/libc-locale" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-fr-fr locale-base-de-de" - -USERADD_PACKAGES = "${PN}-ptest" -USERADD_PARAM_${PN}-ptest = "--create-home --user-group test" +RDEPENDS_${PN}-ptest_append_libc-glibc = " \ + glibc-gconv-big5hkscs \ + glibc-gconv-iso8859-1 \ + glibc-utils \ + locale-base-de-de \ + locale-base-en-us \ + locale-base-fr-fr \ + locale-base-fr-fr.iso-8859-1 \ + locale-base-zh-hk.big5-hkscs \ + " CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}" @@ -66,12 +72,18 @@ do_install_append_class-target () { do_install_ptest () { make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test cp ${B}/Makefile ${D}${PTEST_PATH} + install -D ${WORKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \ -e 's|${DEBUG_PREFIX_MAP}||g' \ -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \ -e 's:${HOSTTOOLS_DIR}/::g' \ + -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \ ${D}${PTEST_PATH}/Makefile } +# The uninative loader is different on i386 & x86_64 hosts. Since it is only +# being replaced with /bin/false anyway, it doesn't need to be part of the task +# hash +do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER" pkg_postinst_${PN} () { grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells diff --git a/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch b/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch deleted file mode 100644 index 9ac2461ab6..0000000000 --- a/poky/meta/recipes-extended/bash/bash/fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d1cd4c31ea0ed7406a3ad4bdaa211f581063f655 Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Tue, 15 Aug 2017 10:21:21 +0800 -Subject: [PATCH 2/2] fix run-execscript/run-test/ failed - -FAIL: run-execscript: -the test suite should not be run as root - -FAIL: run-test -the test suite should not be run as root - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - tests/run-execscript | 3 ++- - tests/run-test | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/tests/run-execscript b/tests/run-execscript -index de78644..38397c1 100644 ---- a/tests/run-execscript -+++ b/tests/run-execscript -@@ -5,5 +5,6 @@ echo "warning: \`/tmp/bash-notthere' not being found or \`/' being a directory" - echo "warning: produce diff output, please do not consider this a test failure" >&2 - echo "warning: if diff output differing only in the location of the bash" >&2 - echo "warning: binary appears, please do not consider this a test failure" >&2 --${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1 -+rm -f ${BASH_TSTOUT} -+su -c "${THIS_SH} ./execscript > ${BASH_TSTOUT} 2>&1" test - diff ${BASH_TSTOUT} exec.right && rm -f ${BASH_TSTOUT} -diff --git a/tests/run-test b/tests/run-test -index d68791c..d6317d2 100644 ---- a/tests/run-test -+++ b/tests/run-test -@@ -1,4 +1,5 @@ - unset GROUPS UID 2>/dev/null - --${THIS_SH} ./test.tests >${BASH_TSTOUT} 2>&1 -+rm -f ${BASH_TSTOUT} -+su -c "${THIS_SH} ./test.tests > ${BASH_TSTOUT} 2>&1" test - diff ${BASH_TSTOUT} test.right && rm -f ${BASH_TSTOUT} --- -1.8.3.1 - diff --git a/poky/meta/recipes-extended/bash/bash/run-bash-ptests b/poky/meta/recipes-extended/bash/bash/run-bash-ptests new file mode 100644 index 0000000000..d73a27224d --- /dev/null +++ b/poky/meta/recipes-extended/bash/bash/run-bash-ptests @@ -0,0 +1,4 @@ +#!/bin/sh +cd "$(dirname "$0")" +make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest + diff --git a/poky/meta/recipes-extended/bash/bash/run-ptest b/poky/meta/recipes-extended/bash/bash/run-ptest index c61fabd020..738ad3c42c 100644 --- a/poky/meta/recipes-extended/bash/bash/run-ptest +++ b/poky/meta/recipes-extended/bash/bash/run-ptest @@ -19,4 +19,8 @@ then echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it." fi -make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest +useradd bashtest +chown -R bashtest:bashtest tests +setpriv --reuid bashtest --rgid bashtest --clear-groups --reset-env $(dirname "$0")/run-bash-ptests +chown -R root:root tests +userdel -r bashtest diff --git a/poky/meta/recipes-extended/bash/bash_5.0.bb b/poky/meta/recipes-extended/bash/bash_5.0.bb index e60e5304a5..eadc82279d 100644 --- a/poky/meta/recipes-extended/bash/bash_5.0.bb +++ b/poky/meta/recipes-extended/bash/bash_5.0.bb @@ -16,8 +16,8 @@ SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \ file://mkbuiltins_have_stringize.patch \ file://build-tests.patch \ file://test-output.patch \ - file://fix-run-coproc-run-heredoc-run-execscript-run-test-f.patch \ file://run-ptest \ + file://run-bash-ptests \ file://fix-run-builtins.patch \ " diff --git a/poky/meta/recipes-extended/bc/bc_1.07.1.bb b/poky/meta/recipes-extended/bc/bc_1.07.1.bb index e80857745e..809b864c1a 100644 --- a/poky/meta/recipes-extended/bc/bc_1.07.1.bb +++ b/poky/meta/recipes-extended/bc/bc_1.07.1.bb @@ -27,7 +27,7 @@ do_compile_prepend() { cp -f ${WORKDIR}/libmath.h ${B}/bc/libmath.h } -ALTERNATIVE_${PN} = "dc" +ALTERNATIVE_${PN} = "bc dc" ALTERNATIVE_PRIORITY = "100" -BBCLASSEXTEND = "native"
\ No newline at end of file +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb b/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb index 2f1f6c0264..d21dd69704 100644 --- a/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb +++ b/poky/meta/recipes-extended/chkconfig/chkconfig_1.3.58.bb @@ -18,14 +18,14 @@ PR = "r7" S = "${WORKDIR}/${BPN}-${BPN}-${PV}" -UPSTREAM_CHECK_URI = "https://github.com/fedora-sysv/${BPN}/releases" - -SRC_URI = "https://github.com/fedora-sysv/chkconfig/archive/chkconfig-${PV}.tar.gz \ +SRC_URI = "git://github.com/fedora-sysv/chkconfig.git \ file://replace_caddr_t.patch \ " -SRC_URI[md5sum] = "3f51ac38a234be5278b3a2d9705eda5e" -SRC_URI[sha256sum] = "bf1e81f0d7cc999b536c9fe7877abf584a4082fd03c9d2597b6f090966579b40" +SRCREV = "3e0b3909ff6328d232b27b9c32f1a9309c6cd0a4" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" + +S = "${WORKDIR}/git" inherit gettext diff --git a/poky/meta/recipes-extended/diffutils/diffutils/run-ptest b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest index 695c5e8a7b..ad467d9bd0 100644 --- a/poky/meta/recipes-extended/diffutils/diffutils/run-ptest +++ b/poky/meta/recipes-extended/diffutils/diffutils/run-ptest @@ -1,3 +1,4 @@ #!/bin/sh -make -C tests check-TESTS +abs_ptestdir=`echo "$(cd "$(dirname "$0")"; pwd)"` +make -C $abs_ptestdir/tests check-TESTS abs_top_srcdir="$abs_ptestdir" diff --git a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch index b145188d7f..7a0e38a394 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch +++ b/poky/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch @@ -1,4 +1,4 @@ -From 1484545a150de79483b6e2a74be02ebd030f1920 Mon Sep 17 00:00:00 2001 +From 2ca4c2492c4a06b28012e3e1033d10aa48f153b4 Mon Sep 17 00:00:00 2001 From: Tudor Florea <tudor.florea@enea.com> Date: Wed, 28 May 2014 18:59:54 +0200 Subject: [PATCH] ethtool: use serial-tests config needed by ptest. @@ -9,17 +9,16 @@ serial-tests is required to generate those targets. Signed-off-by: Tudor Florea <tudor.florea@enea.com> Upstream-Status: Inappropriate (default automake behavior incompatible with ptest) - --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac -index e891d91..600f8a8 100644 +index 2941a65..b0a1896 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. - AC_INIT(ethtool, 5.0, netdev@vger.kernel.org) + AC_INIT(ethtool, 5.1, netdev@vger.kernel.org) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([ethtool.c]) -AM_INIT_AUTOMAKE([gnu]) @@ -27,3 +26,6 @@ index e891d91..600f8a8 100644 AC_CONFIG_HEADERS([ethtool-config.h]) AM_MAINTAINER_MODE +-- +2.17.1 + diff --git a/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb index 76cdf9c4e7..d379d93bcf 100644 --- a/poky/meta/recipes-extended/ethtool/ethtool_5.0.bb +++ b/poky/meta/recipes-extended/ethtool/ethtool_5.1.bb @@ -11,10 +11,11 @@ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ file://avoid_parallel_tests.patch \ " -SRC_URI[md5sum] = "8998c9eb7e491b0aec420a807ce52ba6" -SRC_URI[sha256sum] = "cc53a6d4d5643f8993ef20d6b638f88d9035529a9e777e222073c3a5b9237178" +SRC_URI[md5sum] = "5d3aad86aec055348a37e867695a744a" +SRC_URI[sha256sum] = "4edb1fa4d7cf5667a5958d4213f61609f96d02cda90d2b6ec440561f8f8ffbf2" + +inherit autotools ptest bash-completion -inherit autotools ptest RDEPENDS_${PN}-ptest += "make" do_compile_ptest() { diff --git a/poky/meta/recipes-extended/gawk/gawk/run-ptest b/poky/meta/recipes-extended/gawk/gawk/run-ptest index d23f0bf6d7..f67a95874f 100644 --- a/poky/meta/recipes-extended/gawk/gawk/run-ptest +++ b/poky/meta/recipes-extended/gawk/gawk/run-ptest @@ -1,10 +1,22 @@ #!/bin/sh cd test -for i in `grep -vE "@|^$|#|Gt-dummy" Maketests |awk -F: '{print $1}'`; \ - do LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} srcdir=`pwd` AWK=gawk CMP=cmp \ - make -f Maketests $i >$i.tmp 2>&1; \ - grep -q "Error" $i.tmp; \ - if [ $? -eq 0 ]; then echo "FAIL: $i"; \ - else echo "PASS: $i"; rm -f $i.tmp; fi; \ +for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do + #LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} + srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1 + if [ -e _$i ]; then + cat _$i + grep -q "support not compiled in" _$i + if [ $? -eq 0 ]; then + echo "SKIP: $i" + continue + fi + fi + grep -q "Error" $i.tmp + if [ $? -eq 0 ]; then + echo "FAIL: $i" + else + echo "PASS: $i" + rm -f $i.tmp + fi done diff --git a/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb index 9663752394..578901355c 100644 --- a/poky/meta/recipes-extended/gawk/gawk_4.2.1.bb +++ b/poky/meta/recipes-extended/gawk/gawk_5.0.0.bb @@ -19,8 +19,8 @@ SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ file://run-ptest \ " -SRC_URI[md5sum] = "0256724a0af50cb83ac92f833488673d" -SRC_URI[sha256sum] = "2b23d51503b2df9a41aa6fddc6002ad7ebf2a386ac19dc1b6be0dd48b0acf6db" +SRC_URI[md5sum] = "45366249c13aae2bfb00e8e97c3f39b7" +SRC_URI[sha256sum] = "2d686c9a5b7ba292bc3fa56bc84a1959d721a9d57970a76413156d4b8f1fc67d" inherit autotools gettext texinfo update-alternatives @@ -40,6 +40,7 @@ inherit ptest do_install_ptest() { mkdir ${D}${PTEST_PATH}/test + ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk for i in `grep -vE "@|^$|#|Gt-dummy" ${S}/test/Maketests |awk -F: '{print $1}'` Maketests inclib.awk; \ do cp ${S}/test/$i* ${D}${PTEST_PATH}/test; \ done @@ -47,4 +48,6 @@ do_install_ptest() { -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk } +RDEPENDS_${PN}-ptest += "make" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch b/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch deleted file mode 100644 index 1b94e8a937..0000000000 --- a/poky/meta/recipes-extended/groff/files/0001-fix-shebang-for-taget.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 54c795c8a3c7356294007b5a4eed1dd47ed6411d Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Sat, 11 May 2019 19:19:27 +0800 -Subject: [PATCH] fix shebang for target - -... -|ERROR: groff-1.22.4-r0 do_package_qa: QA Issue: /usr/bin/gdiffmk contained in -package groff requires tmp-glibc/hosttools/bash, but no providers found in -RDEPENDS_groff? [file-rdeps] -... - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> ---- - contrib/gdiffmk/gdiffmk.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/contrib/gdiffmk/gdiffmk.sh b/contrib/gdiffmk/gdiffmk.sh -index 5ce931e..10f2300 100644 ---- a/contrib/gdiffmk/gdiffmk.sh -+++ b/contrib/gdiffmk/gdiffmk.sh -@@ -1,4 +1,4 @@ --#!@BASH_PROG@ -+#!/bin/sh - # Copyright (C) 2004-2018 Free Software Foundation, Inc. - # Written by Mike Bianchi <MBianchi@Foveal.com <mailto:MBianchi@Foveal.com>> - # Thanks to Peter Bray for debugging. --- -2.7.4 - diff --git a/poky/meta/recipes-extended/groff/groff_1.22.4.bb b/poky/meta/recipes-extended/groff/groff_1.22.4.bb index 37eee9a6cc..a190230b31 100644 --- a/poky/meta/recipes-extended/groff/groff_1.22.4.bb +++ b/poky/meta/recipes-extended/groff/groff_1.22.4.bb @@ -10,7 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \ file://0001-replace-perl-w-with-use-warnings.patch \ file://groff-not-search-fonts-on-build-host.patch \ - file://0001-fix-shebang-for-taget.patch \ file://0001-support-musl.patch \ " @@ -27,7 +26,7 @@ MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/groffer ${PN}:${bind EXTRA_OECONF = "--without-x --without-doc" PARALLEL_MAKE = "" -CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'" +CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no'" do_install_append() { # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location diff --git a/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch b/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch deleted file mode 100644 index ace50bbfde..0000000000 --- a/poky/meta/recipes-extended/libidn/libidn2/Unset-need_charset_alias-when-building-for-musl.patch +++ /dev/null @@ -1,23 +0,0 @@ -Unset need_charset_alias when building for musl - -localcharset uses ac_cv_gnu_library_2_1 from glibc21.m4 -which actually shoudl be fixed in gnulib and then all downstream -projects will get it eventually. For now we apply the fix to -coreutils - -Upstream-Status: Pending - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Index: libidn2-2.0.5/unistring/Makefile.am -=================================================================== ---- libidn2-2.0.5.orig/unistring/Makefile.am -+++ libidn2-2.0.5/unistring/Makefile.am -@@ -293,7 +293,7 @@ install-exec-localcharset: all-local - case '$(host_os)' in \ - darwin[56]*) \ - need_charset_alias=true ;; \ -- darwin* | cygwin* | mingw* | pw32* | cegcc*) \ -+ darwin* | cygwin* | mingw* | pw32* | cegcc* | linux-musl*) \ - need_charset_alias=false ;; \ - *) \ - need_charset_alias=true ;; \ diff --git a/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb index 0daf7a6877..d7fec89fba 100644 --- a/poky/meta/recipes-extended/libidn/libidn2_2.0.5.bb +++ b/poky/meta/recipes-extended/libidn/libidn2_2.2.0.bb @@ -3,17 +3,15 @@ DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specification HOMEPAGE = "http://www.gnu.org/software/libidn/" SECTION = "libs" LICENSE = "(GPLv2+ | LGPLv3) & GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=ab90e75ef97cc6318ce4f2fbda62fe4d \ +LIC_FILES_CHKSUM = "file://COPYING;md5=2d834ea7d480438ada04e5d846152395 \ file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://src/idn2.c;endline=16;md5=0283aec28e049f5bcaaeee52aa865874 \ + file://src/idn2.c;endline=16;md5=426b74d6deb620ab6d39c8a6efd4c13a \ file://lib/idn2.h.in;endline=27;md5=c2cd28d3f87260f157f022eabb83714f" -SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \ - file://Unset-need_charset_alias-when-building-for-musl.patch \ - " -SRC_URI[md5sum] = "eaf9a5b9d03b0cce3760f34b3124eb36" -SRC_URI[sha256sum] = "53f69170886f1fa6fa5b332439c7a77a7d22626a82ef17e2c1224858bb4ca2b8" +SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "b846d4d20e22b99d6f7387bb66e00a1f" +SRC_URI[sha256sum] = "fc734732b506d878753ec6606982bf7b936e868c25c30ddb0d83f7d7056381fe" DEPENDS = "virtual/libiconv libunistring" diff --git a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb index 597faf787a..494b81b5e7 100644 --- a/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb +++ b/poky/meta/recipes-extended/mdadm/mdadm_4.1.bb @@ -45,7 +45,7 @@ DEBUG_OPTIMIZATION_append = " -Wno-error" do_compile() { # Point to right sbindir - sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" ${S}/Makefile + sed -i -e "s;BINDIR = /sbin;BINDIR = $base_sbindir;" -e "s;UDEVDIR = /lib;UDEVDIR = $nonarch_base_libdir;" -e "s;SYSTEMD_DIR=/lib/systemd/system;SYSTEMD_DIR=${systemd_unitdir}/system;" ${S}/Makefile oe_runmake SYSROOT="${STAGING_DIR_TARGET}" } @@ -81,7 +81,7 @@ do_install_ptest() { done } -RDEPENDS_${PN}-ptest += "bash" +RDEPENDS_${PN}-ptest += "bash e2fsprogs-mke2fs" RRECOMMENDS_${PN}-ptest += " \ coreutils \ util-linux \ @@ -93,4 +93,4 @@ RRECOMMENDS_${PN}-ptest += " \ kernel-module-raid456 \ " -FILES_${PN} += "/lib/systemd/*" +FILES_${PN} += "${systemd_unitdir}/*" diff --git a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb index ec67f8d123..d38f545e06 100644 --- a/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb +++ b/poky/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb @@ -135,6 +135,5 @@ RDEPENDS_packagegroup-core-full-cmdline-sys-services = "\ at \ cronie \ logrotate \ - nfs-utils \ - rpcbind \ + ${@bb.utils.contains('DISTRO_FEATURES', 'nfs', 'nfs-utils rpcbind', '', d)} \ " diff --git a/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch b/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch deleted file mode 100644 index 680029ae0d..0000000000 --- a/poky/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch +++ /dev/null @@ -1,226 +0,0 @@ -From 555407ff6e2f742df64ae93859f14a0fc1397829 Mon Sep 17 00:00:00 2001 -From: Wenzong Fan <wenzong.fan@windriver.com> -Date: Fri, 12 Sep 2014 05:35:05 -0400 -Subject: [PATCH] libpam/xtests: remove bash dependency - -There's not bash specific syntax in the xtest scripts: - - # after below patches applied: - $ cd Linux-PAM-1.1.6/xtests - $ checkbashisms *.sh - No output - -Just remove the runtime dependency to bash. - -Upstream-Status: Pending - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> ---- - xtests/run-xtests.sh | 2 +- - xtests/tst-pam_access1.sh | 2 +- - xtests/tst-pam_access2.sh | 2 +- - xtests/tst-pam_access3.sh | 2 +- - xtests/tst-pam_access4.sh | 2 +- - xtests/tst-pam_assemble_line1.sh | 2 +- - xtests/tst-pam_group1.sh | 2 +- - xtests/tst-pam_limits1.sh | 2 +- - xtests/tst-pam_pwhistory1.sh | 2 +- - xtests/tst-pam_substack1.sh | 2 +- - xtests/tst-pam_substack2.sh | 2 +- - xtests/tst-pam_substack3.sh | 2 +- - xtests/tst-pam_substack4.sh | 2 +- - xtests/tst-pam_substack5.sh | 2 +- - xtests/tst-pam_succeed_if1.sh | 2 +- - xtests/tst-pam_unix1.sh | 2 +- - xtests/tst-pam_unix2.sh | 2 +- - xtests/tst-pam_unix3.sh | 2 +- - xtests/tst-pam_unix4.sh | 2 +- - 19 files changed, 19 insertions(+), 19 deletions(-) - -diff --git a/xtests/run-xtests.sh b/xtests/run-xtests.sh -index 3a89057..1cf8684 100755 ---- a/xtests/run-xtests.sh -+++ b/xtests/run-xtests.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - SRCDIR=$1 - shift 1 -diff --git a/xtests/tst-pam_access1.sh b/xtests/tst-pam_access1.sh -index 180d256..70521d2 100755 ---- a/xtests/tst-pam_access1.sh -+++ b/xtests/tst-pam_access1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/groupadd tstpamaccess - /usr/sbin/useradd -G tstpamaccess -p '!!' tstpamaccess1 -diff --git a/xtests/tst-pam_access2.sh b/xtests/tst-pam_access2.sh -index 0a30275..7e3e60f 100755 ---- a/xtests/tst-pam_access2.sh -+++ b/xtests/tst-pam_access2.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/groupadd tstpamaccess - /usr/sbin/useradd -p '!!' tstpamaccess2 -diff --git a/xtests/tst-pam_access3.sh b/xtests/tst-pam_access3.sh -index 348e0c3..3630e2e 100755 ---- a/xtests/tst-pam_access3.sh -+++ b/xtests/tst-pam_access3.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamaccess3 - ./tst-pam_access3 -diff --git a/xtests/tst-pam_access4.sh b/xtests/tst-pam_access4.sh -index 61e7b44..4538df4 100755 ---- a/xtests/tst-pam_access4.sh -+++ b/xtests/tst-pam_access4.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamaccess4 - ./tst-pam_access4 -diff --git a/xtests/tst-pam_assemble_line1.sh b/xtests/tst-pam_assemble_line1.sh -index 248d47e..dc2a675 100755 ---- a/xtests/tst-pam_assemble_line1.sh -+++ b/xtests/tst-pam_assemble_line1.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authfail tst-pam_assemble_line1 -diff --git a/xtests/tst-pam_group1.sh b/xtests/tst-pam_group1.sh -index b76377f..44faca9 100755 ---- a/xtests/tst-pam_group1.sh -+++ b/xtests/tst-pam_group1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/groupadd tstpamgrpg - /usr/sbin/useradd -p '!!' tstpamgrp -diff --git a/xtests/tst-pam_limits1.sh b/xtests/tst-pam_limits1.sh -index 4faa822..32c021d 100755 ---- a/xtests/tst-pam_limits1.sh -+++ b/xtests/tst-pam_limits1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamlimits - ./tst-pam_limits1 -diff --git a/xtests/tst-pam_pwhistory1.sh b/xtests/tst-pam_pwhistory1.sh -index ddb3b8b..0f212e2 100644 ---- a/xtests/tst-pam_pwhistory1.sh -+++ b/xtests/tst-pam_pwhistory1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd tstpampwhistory - ./tst-pam_pwhistory1 -diff --git a/xtests/tst-pam_substack1.sh b/xtests/tst-pam_substack1.sh -index 5260175..f1b72a7 100755 ---- a/xtests/tst-pam_substack1.sh -+++ b/xtests/tst-pam_substack1.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authfail tst-pam_substack1 -diff --git a/xtests/tst-pam_substack2.sh b/xtests/tst-pam_substack2.sh -index c02f597..3804fa7 100755 ---- a/xtests/tst-pam_substack2.sh -+++ b/xtests/tst-pam_substack2.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authsucceed tst-pam_substack2 -diff --git a/xtests/tst-pam_substack3.sh b/xtests/tst-pam_substack3.sh -index 0e572aa..aa48e8e 100755 ---- a/xtests/tst-pam_substack3.sh -+++ b/xtests/tst-pam_substack3.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authsucceed tst-pam_substack3 -diff --git a/xtests/tst-pam_substack4.sh b/xtests/tst-pam_substack4.sh -index a3ef08a..958a07a 100755 ---- a/xtests/tst-pam_substack4.sh -+++ b/xtests/tst-pam_substack4.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authsucceed tst-pam_substack4 -diff --git a/xtests/tst-pam_substack5.sh b/xtests/tst-pam_substack5.sh -index e2714fd..7e0da74 100755 ---- a/xtests/tst-pam_substack5.sh -+++ b/xtests/tst-pam_substack5.sh -@@ -1,3 +1,3 @@ --#!/bin/bash -+#!/bin/sh - - exec ./tst-pam_authfail tst-pam_substack5 -diff --git a/xtests/tst-pam_succeed_if1.sh b/xtests/tst-pam_succeed_if1.sh -index a643b2e..58e57b4 100755 ---- a/xtests/tst-pam_succeed_if1.sh -+++ b/xtests/tst-pam_succeed_if1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamtest - /usr/sbin/useradd -p '!!' pamtest -diff --git a/xtests/tst-pam_unix1.sh b/xtests/tst-pam_unix1.sh -index f75bd84..72deac0 100755 ---- a/xtests/tst-pam_unix1.sh -+++ b/xtests/tst-pam_unix1.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - /usr/sbin/useradd -p '!!' tstpamunix - ./tst-pam_unix1 -diff --git a/xtests/tst-pam_unix2.sh b/xtests/tst-pam_unix2.sh -index 7093155..c04d6e6 100755 ---- a/xtests/tst-pam_unix2.sh -+++ b/xtests/tst-pam_unix2.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - # pamunix0 = 0aXKZztA.d1KY - /usr/sbin/useradd -p 0aXKZztA.d1KY tstpamunix -diff --git a/xtests/tst-pam_unix3.sh b/xtests/tst-pam_unix3.sh -index ef4a07c..b52db2b 100755 ---- a/xtests/tst-pam_unix3.sh -+++ b/xtests/tst-pam_unix3.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU - /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix -diff --git a/xtests/tst-pam_unix4.sh b/xtests/tst-pam_unix4.sh -index 787c2f9..e7976fd 100755 ---- a/xtests/tst-pam_unix4.sh -+++ b/xtests/tst-pam_unix4.sh -@@ -1,4 +1,4 @@ --#!/bin/bash -+#!/bin/sh - - # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU - /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix --- -1.7.9.5 - diff --git a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb index c124e3bb02..6b73f0a2fe 100644 --- a/poky/meta/recipes-extended/pam/libpam_1.3.0.bb +++ b/poky/meta/recipes-extended/pam/libpam_1.3.1.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \ file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \ " -SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \ +SRC_URI = "https://github.com/linux-pam/linux-pam/releases/download/v${PV}/Linux-PAM-${PV}.tar.xz \ file://99_pam \ file://pam.d/common-account \ file://pam.d/common-auth \ @@ -23,12 +23,11 @@ SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \ file://fixsepbuild.patch \ file://pam-security-abstract-securetty-handling.patch \ file://pam-unix-nullok-secure.patch \ - file://libpam-xtests-remove-bash-dependency.patch \ file://crypt_configure.patch \ " -SRC_URI[md5sum] = "da4b2289b7cfb19583d54e9eaaef1c3a" -SRC_URI[sha256sum] = "241aed1ef522f66ed672719ecf2205ec513fd0075ed80cda8e086a5b1a01d1bb" +SRC_URI[md5sum] = "558ff53b0fc0563ca97f79e911822165" +SRC_URI[sha256sum] = "eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db" SRC_URI_append_libc-musl = " file://0001-Add-support-for-defining-missing-funcitonality.patch \ file://include_paths_header.patch \ @@ -45,8 +44,6 @@ EXTRA_OECONF = "--with-db-uniquename=_pam \ CFLAGS_append = " -fPIC " -PR = "r5" - S = "${WORKDIR}/Linux-PAM-${PV}" inherit autotools gettext pkgconfig @@ -164,3 +161,5 @@ CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password" CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive" CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account" CONFFILES_${PN}-runtime += "${sysconfdir}/security/limits.conf" + +UPSTREAM_CHECK_URI = "https://github.com/linux-pam/linux-pam/releases" diff --git a/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch b/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch index b0376cefcf..4070127d34 100644 --- a/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch +++ b/poky/meta/recipes-extended/parted/files/0001-Include-fcntl.h-in-platform_defs.h.patch @@ -1,29 +1,33 @@ -From d78dd087c4ec4715aab5fe115668e726046ecd76 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Mon, 13 Apr 2015 18:16:05 -0700 -Subject: [PATCH] Include fcntl.h in /platform_defs.h +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> -exposed when compiling using musl +From a3877115f1956949096d77aca5a703a47ed68397 Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 3 May 2015 10:33:31 +0200 +Subject: [PATCH] libparted/fs/xfs/platform_defs.h: Include <fcntl.h> for + loff_t -Upstream-Status: Pending +This is needed for compilation with musl libc -Signed-off-by: Khem Raj <raj.khem@gmail.com> +Suggested-by: Travis Tilley <ttilley@gmail.com> + +Signed-off-by: Brian C. Lane <bcl@redhat.com> --- libparted/fs/xfs/platform_defs.h | 1 + 1 file changed, 1 insertion(+) diff --git a/libparted/fs/xfs/platform_defs.h b/libparted/fs/xfs/platform_defs.h -index 2b55752..32bd3d3 100644 +index 2b55752..a6ec8fb 100644 --- a/libparted/fs/xfs/platform_defs.h +++ b/libparted/fs/xfs/platform_defs.h -@@ -42,6 +42,7 @@ +@@ -38,6 +38,7 @@ + #include <stdarg.h> + #include <assert.h> + #include <endian.h> ++#include <fcntl.h> + #include <stddef.h> #include <stdlib.h> #include <string.h> - #include <unistd.h> -+#include <fcntl.h> - #include <sys/param.h> - #include <sys/types.h> - -- -2.1.4 +2.11.0 diff --git a/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch b/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch index e522e1c6ef..39107620d5 100644 --- a/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch +++ b/poky/meta/recipes-extended/parted/files/0001-libparted-Use-read-only-when-probing-devices-on-linu.patch @@ -1,7 +1,8 @@ -From d6e15a60e84c1511523aa81272b7db7a6ec441d0 Mon Sep 17 00:00:00 2001 -From: Ovidiu Panait <ovidiu.panait@windriver.com> +From 843225aa9d5077bebdb08bbf9699c02aec0b83eb Mon Sep 17 00:00:00 2001 +From: "Brian C. Lane" <bcl@redhat.com> Date: Tue, 26 Sep 2017 08:04:58 +0000 Subject: [PATCH] libparted: Use read only when probing devices on linux + (#1245144) When a device is opened for RW closing it can trigger other actions, @@ -25,17 +26,17 @@ Resolves: rhbz#1245144 Upstream-Status: Backport -Author: Brian C. Lane <bcl@redhat.com> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> + --- libparted/arch/linux.c | 62 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 44 insertions(+), 18 deletions(-) diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index f612617..0a06a54 100644 +index 7f12f58..4ddea58 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c -@@ -294,7 +294,9 @@ struct blkdev_ioctl_param { +@@ -292,7 +292,9 @@ struct blkdev_ioctl_param { static char* _device_get_part_path (PedDevice const *dev, int num); static int _partition_is_mounted_by_path (const char* path); static unsigned int _device_get_partition_range(PedDevice const* dev); @@ -46,7 +47,7 @@ index f612617..0a06a54 100644 static int _read_fd (int fd, char **buf) -@@ -913,7 +915,7 @@ init_ide (PedDevice* dev) +@@ -911,7 +913,7 @@ init_ide (PedDevice* dev) if (!_device_stat (dev, &dev_stat)) goto error; @@ -55,7 +56,7 @@ index f612617..0a06a54 100644 goto error; if (ioctl (arch_specific->fd, HDIO_GET_IDENTITY, &hdi)) { -@@ -982,11 +984,11 @@ init_ide (PedDevice* dev) +@@ -980,11 +982,11 @@ init_ide (PedDevice* dev) if (!_device_probe_geometry (dev)) goto error_close_dev; @@ -69,7 +70,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1119,7 +1121,7 @@ init_scsi (PedDevice* dev) +@@ -1117,7 +1119,7 @@ init_scsi (PedDevice* dev) char* vendor; char* product; @@ -78,7 +79,7 @@ index f612617..0a06a54 100644 goto error; if (ioctl (arch_specific->fd, SCSI_IOCTL_GET_IDLUN, &idlun) < 0) { -@@ -1133,7 +1135,7 @@ init_scsi (PedDevice* dev) +@@ -1131,7 +1133,7 @@ init_scsi (PedDevice* dev) goto error_close_dev; if (!_device_probe_geometry (dev)) goto error_close_dev; @@ -87,7 +88,7 @@ index f612617..0a06a54 100644 return 1; } -@@ -1155,11 +1157,11 @@ init_scsi (PedDevice* dev) +@@ -1153,11 +1155,11 @@ init_scsi (PedDevice* dev) if (!_device_probe_geometry (dev)) goto error_close_dev; @@ -101,7 +102,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1171,7 +1173,7 @@ init_file (PedDevice* dev) +@@ -1169,7 +1171,7 @@ init_file (PedDevice* dev) if (!_device_stat (dev, &dev_stat)) goto error; @@ -110,7 +111,7 @@ index f612617..0a06a54 100644 goto error; dev->sector_size = PED_SECTOR_SIZE_DEFAULT; -@@ -1198,7 +1200,7 @@ init_file (PedDevice* dev) +@@ -1196,7 +1198,7 @@ init_file (PedDevice* dev) goto error_close_dev; } @@ -119,7 +120,7 @@ index f612617..0a06a54 100644 dev->bios_geom.cylinders = dev->length / 4 / 32; dev->bios_geom.heads = 4; -@@ -1209,7 +1211,7 @@ init_file (PedDevice* dev) +@@ -1207,7 +1209,7 @@ init_file (PedDevice* dev) return 1; error_close_dev: @@ -128,7 +129,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1225,7 +1227,7 @@ init_dasd (PedDevice* dev, const char* model_name) +@@ -1223,7 +1225,7 @@ init_dasd (PedDevice* dev, const char* model_name) if (!_device_stat (dev, &dev_stat)) goto error; @@ -137,7 +138,7 @@ index f612617..0a06a54 100644 goto error; LinuxSpecific* arch_specific = LINUX_SPECIFIC (dev); -@@ -1265,11 +1267,11 @@ init_dasd (PedDevice* dev, const char* model_name) +@@ -1263,11 +1265,11 @@ init_dasd (PedDevice* dev, const char* model_name) dev->model = strdup (model_name); @@ -151,7 +152,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1284,7 +1286,7 @@ init_generic (PedDevice* dev, const char* model_name) +@@ -1282,7 +1284,7 @@ init_generic (PedDevice* dev, const char* model_name) if (!_device_stat (dev, &dev_stat)) goto error; @@ -160,7 +161,7 @@ index f612617..0a06a54 100644 goto error; ped_exception_fetch_all (); -@@ -1332,11 +1334,11 @@ init_generic (PedDevice* dev, const char* model_name) +@@ -1330,11 +1332,11 @@ init_generic (PedDevice* dev, const char* model_name) dev->model = strdup (model_name); @@ -174,7 +175,7 @@ index f612617..0a06a54 100644 error: return 0; } -@@ -1623,12 +1625,27 @@ retry: +@@ -1621,12 +1623,27 @@ retry: } static int @@ -203,7 +204,7 @@ index f612617..0a06a54 100644 if (arch_specific->fd == -1) { char* rw_error_msg = strerror (errno); -@@ -1697,6 +1714,15 @@ linux_refresh_close (PedDevice* dev) +@@ -1695,6 +1712,15 @@ linux_refresh_close (PedDevice* dev) return 1; } @@ -218,7 +219,4 @@ index f612617..0a06a54 100644 + #if SIZEOF_OFF_T < 8 - #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) --- -2.11.0 - + static _syscall5(int,_llseek, diff --git a/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch b/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch new file mode 100644 index 0000000000..01262e5452 --- /dev/null +++ b/poky/meta/recipes-extended/parted/files/0001-linux-Include-sys-sysmacros.h-for-major-macro.patch @@ -0,0 +1,28 @@ +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> + +From 0b72b8eb41438b62eeb9e3548b0b8f3094a78681 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" <rjones@redhat.com> +Date: Sat, 24 Mar 2018 17:37:02 +0000 +Subject: [PATCH] linux: Include <sys/sysmacros.h> for major() macro. + +Since glibc 2.27 this header is required. +--- + libparted/arch/linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 0f18904..a15854f 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -41,6 +41,7 @@ + #include <sys/utsname.h> /* for uname() */ + #include <scsi/scsi.h> + #include <assert.h> ++#include <sys/sysmacros.h> + #ifdef ENABLE_DEVICE_MAPPER + #include <libdevmapper.h> + #endif +-- +2.11.0 + diff --git a/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch b/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch index 68ab715f32..8c4d2ae66d 100644 --- a/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch +++ b/poky/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch @@ -1,44 +1,68 @@ -From 060e74354774d36d2c11ef08e3e7ea9b9b6e23fb Mon Sep 17 00:00:00 2001 -From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 13 Nov 2014 11:29:33 +0800 -Subject: [PATCH] libparted/arch/linux.c: fix compile failure while - --disable-device-mapper +Upstream-Status: Backport +Signed-off-by: Ross Burton <ross.burton@intel.com> -While --disable-device-mapper, the MACRO ENABLE_DEVICE_MAPPER is -undef, but it missed to scope some device mapper functions. +From da3f129710929abe9a403901fa7d168355b0e95a Mon Sep 17 00:00:00 2001 +From: Felix Janda <felix.janda@posteo.de> +Date: Sun, 3 May 2015 10:33:15 +0200 +Subject: [PATCH] libparted/arch/linux.c: Compile without ENABLE_DEVICE_MAPPER -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +Signed-off-by: Brian C. Lane <bcl@redhat.com> --- - libparted/arch/linux.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) + libparted/arch/linux.c | 21 +++++++++++++++++---- + 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 6fd73c5..2afa479 100644 +index a15854f..7f12f58 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c -@@ -2320,6 +2320,7 @@ zasprintf (const char *format, ...) +@@ -2305,6 +2305,7 @@ zasprintf (const char *format, ...) + return r < 0 ? NULL : resultp; + } + ++#ifdef ENABLE_DEVICE_MAPPER static char * dm_canonical_path (PedDevice const *dev) { -+#ifdef ENABLE_DEVICE_MAPPER - LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev); - - /* Get map name from devicemapper */ -@@ -2337,6 +2338,7 @@ dm_canonical_path (PedDevice const *dev) - dm_task_destroy (task); - return dev_name; +@@ -2327,14 +2328,21 @@ dm_canonical_path (PedDevice const *dev) err: -+#endif return NULL; } ++#endif + + static char* + _device_get_part_path (PedDevice const *dev, int num) + { +- char *devpath = (dev->type == PED_DEVICE_DM +- ? dm_canonical_path (dev) : dev->path); +- size_t path_len = strlen (devpath); ++ char *devpath; ++ size_t path_len; + char *result; ++#ifdef ENABLE_DEVICE_MAPPER ++ devpath = (dev->type == PED_DEVICE_DM ++ ? dm_canonical_path (dev) : dev->path); ++#else ++ devpath = dev->path; ++#endif ++ path_len = strlen (devpath); + /* Check for devfs-style /disc => /partN transformation + unconditionally; the system might be using udev with devfs rules, + and if not the test is harmless. */ +@@ -2350,8 +2358,10 @@ _device_get_part_path (PedDevice const *dev, int num) + ? "p" : ""); + result = zasprintf ("%s%s%d", devpath, p, num); + } ++#ifdef ENABLE_DEVICE_MAPPER + if (dev->type == PED_DEVICE_DM) + free (devpath); ++#endif + return result; + } -@@ -2957,13 +2959,15 @@ _disk_sync_part_table (PedDisk* disk) - unsigned long long *start, +@@ -2946,12 +2956,15 @@ _disk_sync_part_table (PedDisk* disk) unsigned long long *length); -- + +#ifdef ENABLE_DEVICE_MAPPER if (disk->dev->type == PED_DEVICE_DM) { add_partition = _dm_add_partition; @@ -53,5 +77,5 @@ index 6fd73c5..2afa479 100644 remove_partition = _blkpg_remove_partition; #ifdef BLKPG_RESIZE_PARTITION -- -1.9.1 +2.11.0 diff --git a/poky/meta/recipes-extended/parted/files/syscalls.patch b/poky/meta/recipes-extended/parted/files/syscalls.patch deleted file mode 100644 index 93205a0a80..0000000000 --- a/poky/meta/recipes-extended/parted/files/syscalls.patch +++ /dev/null @@ -1,55 +0,0 @@ -Upstream-Status: Pending - ---- - libparted/arch/linux.c | 13 +++++++++++++ - 1 file changed, 13 insertions(+) - -Index: parted-3.2/libparted/arch/linux.c -=================================================================== ---- parted-3.2.orig/libparted/arch/linux.c -+++ parted-3.2/libparted/arch/linux.c -@@ -17,6 +17,8 @@ - - #define PROC_DEVICES_BUFSIZ 16384 - -+#include <linux/version.h> -+ - #include <config.h> - #include <arch/linux.h> - #include <linux/blkpg.h> -@@ -1696,12 +1698,14 @@ linux_refresh_close (PedDevice* dev) - - #if SIZEOF_OFF_T < 8 - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) - static _syscall5(int,_llseek, - unsigned int, fd, - unsigned long, offset_high, - unsigned long, offset_low, - loff_t*, result, - unsigned int, origin) -+#endif - - loff_t - llseek (unsigned int fd, loff_t offset, unsigned int whence) -@@ -1709,11 +1713,20 @@ llseek (unsigned int fd, loff_t offset, - loff_t result; - int retval; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,20) - retval = _llseek(fd, - ((unsigned long long)offset) >> 32, - ((unsigned long long)offset) & 0xffffffff, - &result, - whence); -+#else -+ retval = syscall(__NR__llseek, fd, -+ ((unsigned long long)offset) >> 32, -+ ((unsigned long long)offset) & 0xffffffff, -+ &result, -+ whence); -+#endif -+ - return (retval==-1 ? (loff_t) retval : result); - } - diff --git a/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch b/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch deleted file mode 100644 index 211e6c7340..0000000000 --- a/poky/meta/recipes-extended/parted/parted/parted-3.2-sysmacros.patch +++ /dev/null @@ -1,32 +0,0 @@ -https://bugs.gentoo.org/580022 - -From dec8995fe80508374beba6356f6ecbba8ef6b18b Mon Sep 17 00:00:00 2001 -From: Mike Frysinger <vapier@gentoo.org> -Date: Tue, 21 Jun 2016 15:01:08 -0400 -Subject: [PATCH] include sysmacros.h for major/minor/makedev - -Linux C libs are moving away from including this header implicitly via -sys/types.h, so include it explicitly. - -Upstream-Status: Pending -Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> - ---- - libparted/arch/linux.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c -index 326b95619d31..e5c168be3c68 100644 ---- a/libparted/arch/linux.c -+++ b/libparted/arch/linux.c -@@ -37,6 +37,7 @@ - #include <dirent.h> - #include <sys/ioctl.h> - #include <sys/stat.h> -+#include <sys/sysmacros.h> - #include <sys/types.h> - #include <sys/utsname.h> /* for uname() */ - #include <scsi/scsi.h> --- -2.8.2 - diff --git a/poky/meta/recipes-extended/parted/parted_3.2.bb b/poky/meta/recipes-extended/parted/parted_3.2.bb index ceac52892d..13d7d6676c 100644 --- a/poky/meta/recipes-extended/parted/parted_3.2.bb +++ b/poky/meta/recipes-extended/parted/parted_3.2.bb @@ -8,14 +8,13 @@ PR = "r1" SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ file://no_check.patch \ - file://syscalls.patch \ file://fix-doc-mandir.patch \ file://fix-compile-failure-while-dis.patch \ file://0001-Include-fcntl.h-in-platform_defs.h.patch \ file://0001-Unset-need_charset_alias-when-building-for-musl.patch \ file://0002-libparted_fs_resize-link-against-libuuid-explicitly-.patch \ file://0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch \ - file://parted-3.2-sysmacros.patch \ + file://0001-linux-Include-sys-sysmacros.h-for-major-macro.patch \ file://run-ptest \ file://Makefile \ file://0001-libparted-Use-read-only-when-probing-devices-on-linu.patch \ diff --git a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb index 644d8208ec..9f992d3e83 100644 --- a/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb +++ b/poky/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb @@ -14,4 +14,7 @@ inherit cpan ptest-perl EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}" +RDEPENDS_${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 perl-module-socket perl-module-time-local perl-module-posix" +RDEPENDS_${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc" + BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb index 8e1461ceb9..7219c7d11e 100644 --- a/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb +++ b/poky/meta/recipes-extended/perl/libtimedate-perl_2.30.bb @@ -15,6 +15,7 @@ BBCLASSEXTEND = "native" RDEPENDS_${PN}_class-native = "" RDEPENDS_${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local" +RDEPENDS_${PN}-ptest += "perl-module-test-more perl-module-utf8" SRC_URI[md5sum] = "b1d91153ac971347aee84292ed886c1c" SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb index 373b522d6a..2bff65a082 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb @@ -21,4 +21,6 @@ S = "${WORKDIR}/XML-SAX-Base-${PV}" inherit cpan ptest-perl +RDEPENDS_${PN}-ptest += "perl-module-test perl-module-test-more" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb index eccd0ad6b4..80a1c8e39b 100644 --- a/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb +++ b/poky/meta/recipes-extended/perl/libxml-sax-perl_1.00.bb @@ -29,4 +29,7 @@ do_install_ptest() { chown -R root:root ${D}${PTEST_PATH}/testfiles } +RDEPENDS_${PN} += "perl-module-encode perl-module-perlio" +RDEPENDS_${PN}-ptest += "perl-module-test perl-module-base perl-module-fatal perl-module-encode-unicode perl-module-encode-byte" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/pigz/pigz_2.4.bb b/poky/meta/recipes-extended/pigz/pigz_2.4.bb index 6e6da9c3c5..6d62ce6cc5 100644 --- a/poky/meta/recipes-extended/pigz/pigz_2.4.bb +++ b/poky/meta/recipes-extended/pigz/pigz_2.4.bb @@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz" SRC_URI[md5sum] = "def2f6e19d9d8231445adc1349d346df" SRC_URI[sha256sum] = "a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73" +PROVIDES_class-native += "gzip-native" + # Point this at the homepage in case /fossils/ isn't updated UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/" UPSTREAM_CHECK_REGEX = "pigz-(?P<pver>.*)\.tar" @@ -19,6 +21,8 @@ DEPENDS = "zlib" EXTRA_OEMAKE = "-e MAKEFLAGS=" +inherit update-alternatives + do_install() { # Install files into /bin (FHS), which is typical place for gzip install -d ${D}${base_bindir} @@ -27,4 +31,19 @@ do_install() { ln -nsf pigz ${D}${base_bindir}/pigzcat } +do_install_append_class-native() { + install -d ${D}${bindir} + install ${B}/pigz ${D}${bindir}/gzip + ln -nsf gzip ${D}${bindir}/gunzip + ln -nsf gzip ${D}${bindir}/zcat +} + +ALTERNATIVE_PRIORITY = "80" +ALTERNATIVE_${PN} = "gunzip gzip zcat" +ALTERNATIVE_${PN}_class-nativesdk = "" +ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" +ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" +ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" +ALTERNATIVE_TARGET = "${base_bindir}/pigz" + BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-extended/sed/sed_4.2.2.bb b/poky/meta/recipes-extended/sed/sed_4.2.2.bb index f10e365ea4..8e436bad80 100644 --- a/poky/meta/recipes-extended/sed/sed_4.2.2.bb +++ b/poky/meta/recipes-extended/sed/sed_4.2.2.bb @@ -15,7 +15,7 @@ SRC_URI[md5sum] = "4111de4faa3b9848a0686b2f260c5056" SRC_URI[sha256sum] = "fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff" inherit autotools texinfo update-alternatives gettext ptest -RDEPENDS_${PN}-ptest += "make ${PN}" +RDEPENDS_${PN}-ptest += "make" RRECOMMENDS_${PN}-ptest_append_libc-glibc = " locale-base-ru-ru" EXTRA_OECONF = "--disable-acl \ diff --git a/poky/meta/recipes-extended/slang/slang/array_test.patch b/poky/meta/recipes-extended/slang/slang/array_test.patch new file mode 100644 index 0000000000..ccd416f207 --- /dev/null +++ b/poky/meta/recipes-extended/slang/slang/array_test.patch @@ -0,0 +1,20 @@ +slang: modify array test + +One array test tries to create an array that is far too large and anticipates an exception. +IndexError will only be thrown for 64 bit machines, so we add InvalidParmError for 32 bit ones. + +Upstream-Status: Submitted [jedsoft.org] + +Signed-off-by: Joe Slater <joe.slater@windriver.com> + +--- a/src/test/array.sl ++++ b/src/test/array.sl +@@ -165,7 +165,7 @@ try + { + SS = Long_Type[10000,10000,10000,10000,10000,10000]; + } +-catch IndexError; ++catch IndexError,InvalidParmError; + + private define array_map2_func () + { diff --git a/poky/meta/recipes-extended/slang/slang_2.3.2.bb b/poky/meta/recipes-extended/slang/slang_2.3.2.bb index e329310937..99efb16da6 100644 --- a/poky/meta/recipes-extended/slang/slang_2.3.2.bb +++ b/poky/meta/recipes-extended/slang/slang_2.3.2.bb @@ -19,6 +19,7 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \ file://dont-link-to-host.patch \ file://test-add-output-in-the-format-result-testname.patch \ file://terminfo_fixes.patch \ + file://array_test.patch \ file://run-ptest \ " diff --git a/poky/meta/recipes-extended/sysstat/sysstat.inc b/poky/meta/recipes-extended/sysstat/sysstat.inc index 7f4749f571..6b21c6b8c1 100644 --- a/poky/meta/recipes-extended/sysstat/sysstat.inc +++ b/poky/meta/recipes-extended/sysstat/sysstat.inc @@ -10,6 +10,7 @@ SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \ " UPSTREAM_CHECK_URI = "http://sebastien.godard.pagesperso-orange.fr/download.html" +UPSTREAM_VERSION_UNKNOWN = "1" DEPENDS += "base-passwd" diff --git a/poky/meta/recipes-extended/tar/tar/remove-gets.patch b/poky/meta/recipes-extended/tar/tar/remove-gets.patch deleted file mode 100644 index f24de926a3..0000000000 --- a/poky/meta/recipes-extended/tar/tar/remove-gets.patch +++ /dev/null @@ -1,29 +0,0 @@ -ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it - -Signed-off-by: Khem Raj <raj.khem@gmail.com> - -Upstream-Status: Pending ---- - gnu/stdio.in.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/gnu/stdio.in.h b/gnu/stdio.in.h -index ec43874..502e3ae 100644 ---- a/gnu/stdio.in.h -+++ b/gnu/stdio.in.h -@@ -722,10 +722,12 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - /* It is very rare that the developer ever has full control of stdin, - so any use of gets warrants an unconditional warning; besides, C11 - removed it. */ -+#if defined gets - #undef gets - #if HAVE_RAW_DECL_GETS && !defined __cplusplus - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif -+#endif - - #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ - struct obstack; --- -2.8.3 - diff --git a/poky/meta/recipes-extended/tar/tar_1.32.bb b/poky/meta/recipes-extended/tar/tar_1.32.bb index 7240fdb7e1..18f09b5711 100644 --- a/poky/meta/recipes-extended/tar/tar_1.32.bb +++ b/poky/meta/recipes-extended/tar/tar_1.32.bb @@ -7,7 +7,6 @@ LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2 \ - file://remove-gets.patch \ file://musl_dirent.patch \ " diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch new file mode 100644 index 0000000000..965544cc0b --- /dev/null +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch @@ -0,0 +1,25 @@ +Compile warning fixes from Debian + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Upstream-Status: Inappropriate [upstream is dead] + +--- a/options.c ++++ b/options.c +@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1 + #include <netinet/in.h> + #include <netdb.h> + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <pwd.h> + #include <grp.h> +--- a/scaffold.c ++++ b/scaffold.c +@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c + #include <arpa/inet.h> + #include <netdb.h> + #include <stdio.h> ++#include <stdlib.h> + #include <syslog.h> + #include <setjmp.h> + #include <string.h> diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch new file mode 100644 index 0000000000..27157a2e6d --- /dev/null +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch @@ -0,0 +1,200 @@ +Compile warning fixes from Debian + +Signed-off-by: Adrian Bunk <bunk@stusta.de> +Upstream-Status: Inappropriate [upstream is dead] + +--- a/clean_exit.c ++++ b/clean_exit.c +@@ -13,6 +13,7 @@ static char sccsid[] = "@(#) clean_exit. + #endif + + #include <stdio.h> ++#include <unistd.h> + + extern void exit(); + +--- a/hosts_access.c ++++ b/hosts_access.c +@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) hosts_acces + #include <netinet/in.h> + #include <arpa/inet.h> + #include <stdio.h> ++#include <stdlib.h> + #include <syslog.h> + #include <ctype.h> + #include <errno.h> +--- a/misc.c ++++ b/misc.c +@@ -13,6 +13,7 @@ static char sccsic[] = "@(#) misc.c 1.2 + #include <netinet/in.h> + #include <arpa/inet.h> + #include <stdio.h> ++#include <stdlib.h> + #include <string.h> + + #include "tcpd.h" +--- a/options.c ++++ b/options.c +@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1 + #include <netinet/in.h> + #include <netdb.h> + #include <stdio.h> ++#include <stdlib.h> + #include <unistd.h> + #include <syslog.h> + #include <pwd.h> +--- a/percent_x.c ++++ b/percent_x.c +@@ -17,6 +17,7 @@ static char sccsid[] = "@(#) percent_x.c + /* System libraries. */ + + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <string.h> + +--- a/rfc931.c ++++ b/rfc931.c +@@ -16,6 +16,7 @@ static char sccsid[] = "@(#) rfc931.c 1. + /* System libraries. */ + + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <sys/types.h> + #include <sys/socket.h> +--- a/tcpd.c ++++ b/tcpd.c +@@ -22,6 +22,7 @@ static char sccsid[] = "@(#) tcpd.c 1.10 + #include <sys/socket.h> + #include <netinet/in.h> + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <string.h> + +--- a/update.c ++++ b/update.c +@@ -20,6 +20,7 @@ static char sccsid[] = "@(#) update.c 1. + /* System libraries */ + + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <string.h> + +--- a/fakelog.c ++++ b/fakelog.c +@@ -17,7 +17,7 @@ static char sccsid[] = "@(#) fakelog.c 1 + + /* ARGSUSED */ + +-openlog(name, logopt, facility) ++void openlog(name, logopt, facility) + char *name; + int logopt; + int facility; +@@ -27,7 +27,7 @@ int facility; + + /* vsyslog - format one record */ + +-vsyslog(severity, fmt, ap) ++void vsyslog(severity, fmt, ap) + int severity; + char *fmt; + va_list ap; +@@ -43,7 +43,7 @@ va_list ap; + + /* VARARGS */ + +-VARARGS(syslog, int, severity) ++void VARARGS(syslog, int, severity) + { + va_list ap; + char *fmt; +@@ -56,7 +56,7 @@ VARARGS(syslog, int, severity) + + /* closelog - dummy */ + +-closelog() ++void closelog() + { + /* void */ + } +--- a/safe_finger.c ++++ b/safe_finger.c +@@ -22,10 +22,15 @@ static char sccsid[] = "@(#) safe_finger + + #include <sys/types.h> + #include <sys/stat.h> ++#include <sys/wait.h> ++#include <fcntl.h> + #include <signal.h> + #include <stdio.h> ++#include <stdlib.h> ++#include <unistd.h> + #include <ctype.h> + #include <pwd.h> ++#include <grp.h> + #include <syslog.h> + + extern void exit(); +@@ -52,7 +59,7 @@ int sig; + exit(0); + } + +-main(argc, argv) ++int main(argc, argv) + int argc; + char **argv; + { +--- a/tcpdchk.c ++++ b/tcpdchk.c +@@ -28,6 +28,8 @@ static char sccsid[] = "@(#) tcpdchk.c 1 + #include <netinet/in.h> + #include <arpa/inet.h> + #include <stdio.h> ++#include <stdlib.h> ++#include <unistd.h> + #include <syslog.h> + #include <setjmp.h> + #include <errno.h> +--- a/tcpdmatch.c ++++ b/tcpdmatch.c +@@ -26,6 +26,7 @@ static char sccsid[] = "@(#) tcpdmatch.c + #include <arpa/inet.h> + #include <netdb.h> + #include <stdio.h> ++#include <unistd.h> + #include <syslog.h> + #include <setjmp.h> + #include <string.h> +--- a/try-from.c ++++ b/try-from.c +@@ -37,7 +37,7 @@ static char sccsid[] = "@(#) try-from.c + int allow_severity = SEVERITY; /* run-time adjustable */ + int deny_severity = LOG_WARNING; /* ditto */ + +-main(argc, argv) ++int main(argc, argv) + int argc; + char **argv; + { +--- a/inetcf.c ++++ b/inetcf.c +@@ -12,6 +12,7 @@ static char sccsid[] = "@(#) inetcf.c 1. + #include <sys/types.h> + #include <sys/stat.h> + #include <stdio.h> ++#include <stdlib.h> + #include <errno.h> + #include <string.h> + +@@ -20,6 +21,7 @@ extern void exit(); + + #include "tcpd.h" + #include "inetcf.h" ++#include "scaffold.h" + + /* + * Network configuration files may live in unusual places. Here are some diff --git a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb index 0f50674653..6d232a50e4 100644 --- a/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +++ b/poky/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb @@ -47,6 +47,8 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ file://makefile-fix-parallel.patch \ file://musl-decls.patch \ file://0001-Fix-build-with-clang.patch \ + file://fix_warnings.patch \ + file://fix_warnings2.patch \ " SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a" diff --git a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py index e369f74455..86c7c1811a 100644 --- a/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py +++ b/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py @@ -28,26 +28,23 @@ # of the executable from argv[0] and emulate the corresponding program, so # multiple copies of this script will exist under different names. -import sys, os +import sys, os, argparse -olong = "--output=" -Elong = "--macro-expand=" - -this_binary = sys.argv[0].split ("/")[-1] +this_binary = sys.argv[0].split("/")[-1] # To be outputted if functionality that hasn't been stubbed yet is invoked. stub_msg = """ -This stand-in version of %s is not yet fully capable of emulating the real -version from the GNU texinfo suite. If you see this message, file a bug report -with details on the recipe that failed. +This stand-in version of %s is not yet fully capable of emulating +the real version from the GNU texinfo suite. If you see this message, file a +bug report with details on the recipe that failed. """ % this_binary # Autotools setups query the version, so this is actually necessary. Some of # them (lookin' at you, glibc) actually look for the substring "GNU texinfo," # so we put that substring in there without actually telling a lie. -version_str = """ %s (fake texinfo, emulating GNU texinfo) 5.2 - +version_str = """%s (fake texinfo, emulating GNU texinfo) 5.2 + Super amazing version which is totally not fake in any way whatsoever. Copyright (C) 2014 Intel Corp. Distributed under the terms of the MIT license. @@ -55,63 +52,45 @@ license. simple_binaries = "pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \ txixml2texi install-info ginstall-info \ - update-info-dir".split () + update-info-dir".split() # These utilities use a slightly different set of options and flags. -complex_binaries = "makeinfo texi2any".split () +complex_binaries = "makeinfo texi2any".split() valid_binaries = simple_binaries + complex_binaries -# For generating blank output files. -def touch_file (path): - f = open (path, "w") - f.close () - assert this_binary in valid_binaries, \ - this_binary + " is not one of " + ', '.join (valid_binaries) - -if "--version" in sys.argv: - print(version_str) - sys.exit (0) + this_binary + " is not one of " + ', '.join(valid_binaries) # For debugging log_interceptions = False if log_interceptions: - f = open ("/tmp/intercepted_" + this_binary, "a") - f.write (' '.join ([this_binary] + sys.argv[1:]) + '\n') - f.close () + with open("/tmp/intercepted_" + this_binary, "a") as f: + f.write(' '.join([this_binary] + sys.argv[1:]) + '\n') # Look through the options and flags, and if necessary, touch any output # files. -arg_idx = 1 -while arg_idx < len (sys.argv): - arg = sys.argv [arg_idx] - - if arg == "--": - break - - # Something like -I . can result in a need for this (specifically the .) - elif len (arg) < 2: +p = argparse.ArgumentParser() +if this_binary in complex_binaries: + p.add_argument('-E', '--macro-expand', metavar='FILE') +p.add_argument('-o', '--output', metavar='DEST') +p.add_argument('--version', action='store_true') + +args, unknown = p.parse_known_args() + +if args.version: + print(version_str) + sys.exit(0) + +# Check for functionality that isn't implemented yet. +assert not getattr(args, 'macro_expand', None), \ + "-E/--macro-expand option not yet supported" + stub_msg + +# Check if -o or --output is specified. +if args.output: + with open(args.output, 'w'): pass - - # Check if -o or --output is specified. These can be used at most once. - elif arg[0] == '-' and arg[1] != '-' and arg[len (arg) - 1] == 'o': - touch_file (sys.argv[arg_idx + 1]) - sys.exit (0) - elif arg.startswith (olong): - touch_file (arg.split ("=")[1]) - sys.exit (0) - - # Check for functionality that isn't implemented yet. - else: - assert arg[0] != '-' or arg[1] == '-' or 'E' not in arg or \ - this_binary in simple_binaries, \ - "-E option not yet supported" + stub_msg - - assert not arg.startswith (Elong), \ - Elong[:-1] + " option not yet supported" + stub_msg - - arg_idx += 1 + sys.exit(0) # The -o/--output option overrides the default. For makeinfo and texi2any, # that default is to look for a @setfilename command in the input file. @@ -119,4 +98,3 @@ while arg_idx < len (sys.argv): assert this_binary in simple_binaries, \ "Don't know how to get default output file name from input file!" + \ stub_msg - diff --git a/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch new file mode 100644 index 0000000000..244ddea363 --- /dev/null +++ b/poky/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch @@ -0,0 +1,19 @@ +From: Santiago Vila <sanvila@debian.org> +Subject: Remove (optional) build date to make the build reproducible +Bug-Debian: http://bugs.debian.org/779042 + +Upstream-Status: Inappropriate [no upstream] + +Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> + +--- a/unix/unix.c ++++ b/unix/unix.c +@@ -1020,7 +1020,7 @@ + + + /* Define the compile date string */ +-#ifdef __DATE__ ++#if 0 + # define COMPILE_DATE " on " __DATE__ + #else + # define COMPILE_DATE "" diff --git a/poky/meta/recipes-extended/zip/zip_3.0.bb b/poky/meta/recipes-extended/zip/zip_3.0.bb index de779e94aa..a2cd7717ca 100644 --- a/poky/meta/recipes-extended/zip/zip_3.0.bb +++ b/poky/meta/recipes-extended/zip/zip_3.0.bb @@ -10,7 +10,9 @@ PR = "r2" S = "${WORKDIR}/zip30" SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \ - file://fix-security-format.patch" + file://fix-security-format.patch \ + file://10-remove-build-date.patch \ + " UPSTREAM_VERSION_UNKNOWN = "1" SRC_URI[md5sum] = "7b74551e63f8ee6aab6fbc86676c0d37" diff --git a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb index 49631d92d7..ff0e34f98d 100644 --- a/poky/meta/recipes-gnome/epiphany/epiphany_3.32.1.2.bb +++ b/poky/meta/recipes-gnome/epiphany/epiphany_3.32.2.bb @@ -14,8 +14,8 @@ SRC_URI = "${GNOME_MIRROR}/${GNOMEBN}/${@gnome_verdir("${PV}")}/${GNOMEBN}-${PV} file://0002-help-meson.build-disable-the-use-of-yelp.patch \ file://0001-web-app-utils-Clean-up-ephy_web_application_create.patch \ " -SRC_URI[archive.md5sum] = "93faec353e9f62519859e6164350fd5d" -SRC_URI[archive.sha256sum] = "a8284fb9bbc8b7914a154a8eac1598c8b59ae421e0d685146fb48198427926be" +SRC_URI[archive.md5sum] = "2a6672b22a0fdb869e5f0a415ac2da34" +SRC_URI[archive.sha256sum] = "8ae70d9feaba3754c63ab249deeef9b7a31161a372655b4214f148ea2f440cfa" FILES_${PN} += "${datadir}/dbus-1 ${datadir}/gnome-shell/search-providers ${datadir}/metainfo" RDEPENDS_${PN} = "iso-codes adwaita-icon-theme gsettings-desktop-schemas" diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch index e638fd3b6f..e461404918 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-Fix-a-couple-of-decisions-around-cross-compilation.patch @@ -1,4 +1,4 @@ -From bf71999b6e64d1f1919b0351b27c1c417e2b8856 Mon Sep 17 00:00:00 2001 +From be8a47e0c21e5577d4f5669d339dfec6299b25be Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Thu, 14 Feb 2019 18:06:25 +0100 Subject: [PATCH] Generate loaders.cache using a native tool when @@ -10,37 +10,29 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> --- - gdk-pixbuf/meson.build | 13 +++++++++++++ - 1 file changed, 13 insertions(+) + gdk-pixbuf/meson.build | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build -index 1995ffd..d692cb7 100644 +index 5cddbec..78c8bd3 100644 --- a/gdk-pixbuf/meson.build +++ b/gdk-pixbuf/meson.build -@@ -291,6 +291,7 @@ foreach bin: gdkpixbuf_bin - set_variable(bin_name.underscorify(), bin) - endforeach - -+if not meson.is_cross_build() - # The 'loaders.cache' used for testing, so we don't accidentally - # load the installed cache; we always build it by default - loaders_cache = custom_target('loaders.cache', -@@ -302,6 +303,18 @@ loaders_cache = custom_target('loaders.cache', - ], - build_by_default: true) - loaders_dep = declare_dependency(sources: [ loaders_cache ]) -+else -+loaders_cache = custom_target('loaders.cache', -+ output: 'loaders.cache', -+ capture: true, -+ depends: [ dynamic_loaders_dep ], -+ command: [ -+ 'gdk-pixbuf-query-loaders', -+ dynamic_loaders, -+ ], -+ build_by_default: true) -+loaders_dep = declare_dependency(sources: [ loaders_cache ]) -+endif +@@ -324,8 +324,16 @@ if not meson.is_cross_build() + build_by_default: true) + loaders_dep = declare_dependency(sources: [ loaders_cache ]) + else +- loaders_cache = [] +- loaders_dep = declare_dependency() ++ loaders_cache = custom_target('loaders.cache', ++ output: 'loaders.cache', ++ capture: true, ++ command: [ ++ 'gdk-pixbuf-query-loaders', ++ dynamic_loaders, ++ ], ++ depends: dynamic_loaders_dep, ++ build_by_default: true) ++ loaders_dep = declare_dependency(sources: [ loaders_cache ]) + endif pkgconfig = import('pkgconfig') - pkgconfig.generate( diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch deleted file mode 100644 index 2a7751511b..0000000000 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0001-loaders.cache-depend-on-loaders-being-fully-build.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 116bc8f7a6034ce43053876a72a132fcd4e1e472 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 20 Feb 2019 19:53:07 +0100 -Subject: [PATCH] loaders.cache: depend on loaders being fully build - -Otherwise, races have been observed: -https://autobuilder.yoctoproject.org/typhoon/#/builders/61/builds/310/steps/7/logs/step1b - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - gdk-pixbuf/meson.build | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/gdk-pixbuf/meson.build b/gdk-pixbuf/meson.build -index fc3eb33..4e7ed20 100644 ---- a/gdk-pixbuf/meson.build -+++ b/gdk-pixbuf/meson.build -@@ -171,6 +171,7 @@ gdkpixbuf_dep = declare_dependency(link_with: gdkpixbuf, - # Now check if we are building loaders as installed shared modules - # We do this here because shared modules depend on libgdk-pixbuf - dynamic_loaders = [] -+dynamic_loaders_dep = [] - - foreach l: loaders - name = l[0] -@@ -189,6 +190,7 @@ foreach l: loaders - - # We need the path to build loaders.cache for tests - dynamic_loaders += mod.full_path() -+ dynamic_loaders_dep += mod - endif - endforeach - -@@ -206,6 +208,7 @@ if enable_native_windows_loaders - install: true, - install_dir: gdk_pixbuf_loaderdir) - dynamic_loaders += mod.full_path() -+ dynamic_loaders_dep += mod - endforeach - endif - endif -@@ -236,6 +239,7 @@ if not meson.is_cross_build() - loaders_cache = custom_target('loaders.cache', - output: 'loaders.cache', - capture: true, -+ depends: [ dynamic_loaders_dep ], - command: [ - gdk_pixbuf_query_loaders, - dynamic_loaders, diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch index 928962d230..a9c7600eb3 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch @@ -1,4 +1,4 @@ -From 6fc7f341399ec49ab06c94426f50dbdca49a2844 Mon Sep 17 00:00:00 2001 +From 2d1b65bd1272ad63b7fbd4babd9a8e8c296d15b5 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin <alex.kanavin@gmail.com> Date: Fri, 22 Feb 2019 13:22:06 +0100 Subject: [PATCH] (target only) Work-around thumbnailer and pixdata @@ -15,6 +15,7 @@ The upstream issue is https://bugzilla.gnome.org/show_bug.cgi?id=779057 Upstream-Status: Inappropriate [workaround] Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> + --- build-aux/gen-thumbnailer.py | 2 -- tests/meson.build | 11 +++++++++-- @@ -35,7 +36,7 @@ index 05ac821..c5b99ab 100644 if os.name == 'nt': gdk_pixbuf_dll_buildpath = os.path.dirname(args.pixdata) diff --git a/tests/meson.build b/tests/meson.build -index 4fa3fbc..eca5166 100644 +index 8ed7cc1..e011b77 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -1,12 +1,19 @@ @@ -91,6 +92,3 @@ index aaafec8..71bd61b 100644 ], install: true, install_dir: join_paths(gdk_pixbuf_datadir, 'thumbnailers')) --- -2.17.1 - diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch new file mode 100644 index 0000000000..0fe13a387a --- /dev/null +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch @@ -0,0 +1,28 @@ +From 1a532e090c558a830de9503f56e23414e880bb95 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 5 Jun 2019 14:17:55 +0200 +Subject: [PATCH] Build thumbnailer and tests also in cross builds. + +Upstream-Status: Inappropriate [relies on oe-core specific hacks] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + meson.build | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) + +diff --git a/meson.build b/meson.build +index d104cea..7acb88a 100644 +--- a/meson.build ++++ b/meson.build +@@ -397,10 +397,8 @@ endif + # i18n + subdir('po') + +-if not meson.is_cross_build() +- subdir('tests') +- subdir('thumbnailer') +-endif ++subdir('tests') ++subdir('thumbnailer') + + # Documentation + subdir('docs') diff --git a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb index 7fef697f3f..3145cc2089 100644 --- a/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.0.bb +++ b/poky/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.38.1.bb @@ -18,8 +18,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ file://fatal-loader.patch \ file://0001-Work-around-thumbnailer-cross-compile-failure.patch \ file://0001-Fix-a-couple-of-decisions-around-cross-compilation.patch \ - file://0001-loaders.cache-depend-on-loaders-being-fully-build.patch \ file://0004-Do-not-run-tests-when-building.patch \ + file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \ " SRC_URI_append_class-target = " \ @@ -29,8 +29,8 @@ SRC_URI_append_class-nativesdk = " \ file://0003-target-only-Work-around-thumbnailer-cross-compile-fa.patch \ " -SRC_URI[md5sum] = "77765f24496dc8c90c6e0cbe10fd8f0e" -SRC_URI[sha256sum] = "dd50973c7757bcde15de6bcd3a6d462a445efd552604ae6435a0532fbbadae47" +SRC_URI[md5sum] = "f6ba2195acd18c5c9555421f30c31cc1" +SRC_URI[sha256sum] = "f19ff836ba991031610dcc53774e8ca436160f7d981867c8c3a37acfe493ab3a" inherit meson pkgconfig gettext pixbufcache ptest-gnome upstream-version-is-even gobject-introspection gtk-doc lib_package diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch index 43abdcd85a..4a98363313 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme/0001-Don-t-use-AC_CANONICAL_HOST.patch @@ -1,4 +1,4 @@ -From 499222d95a3d06bc425672d50e8c47868667250b Mon Sep 17 00:00:00 2001 +From 4409423752885f76326d05c1266698155f47c5f9 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Tue, 30 May 2017 14:55:49 +0300 Subject: [PATCH] Don't use AC_CANONICAL_HOST @@ -14,12 +14,12 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> 1 file changed, 1 deletion(-) diff --git a/configure.ac b/configure.ac -index 38e64bd..6ed480e 100644 +index 4a84501..52dbb8e 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,6 @@ AC_PREREQ(2.53) - AC_INIT([adwaita-icon-theme], [3.30.1], + AC_INIT([adwaita-icon-theme], [3.32.0], [http://bugzilla.gnome.org/enter_bug.cgi?product=adwaita-icon-theme]) -AC_CANONICAL_HOST AC_CONFIG_MACRO_DIR([m4]) diff --git a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb index 8eadbd2eef..02676f4401 100644 --- a/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.30.1.bb +++ b/poky/meta/recipes-gnome/gnome/adwaita-icon-theme_3.32.0.bb @@ -14,8 +14,8 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ file://0001-Run-installation-commands-as-shell-jobs.patch \ " -SRC_URI[md5sum] = "db3fd812821d72fdd9a3c7d622a95b35" -SRC_URI[sha256sum] = "6d752a2b1bc668483956d4485c39cad1642d9358e133ff689526e43674a4e1ce" +SRC_URI[md5sum] = "4b16278cfed860a86c8221de62eec151" +SRC_URI[sha256sum] = "698db6e407bb987baec736c6a30216dfc0317e3ca2403c7adf3a5aa46c193286" DEPENDS += "librsvg-native" diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch new file mode 100644 index 0000000000..c481b18f1c --- /dev/null +++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas/0001-Do-not-skip-gir-installation-for-cross-compiling.patch @@ -0,0 +1,33 @@ +From 42e58c4c3e95a4a78ee8294f9b3901726bbbabe4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com> +Date: Sat, 11 May 2019 00:21:11 +0200 +Subject: [PATCH] Do not skip gir installation for cross compiling +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +We are cool and can handle cross gobject-introspection. + +Upstream-Status: Inappropriate [OE specific] + +Signed-off-by: Andreas Müller <schnitzeltony@gmail.com> +--- + headers/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/headers/meson.build b/headers/meson.build +index 3ce8b61..1132695 100644 +--- a/headers/meson.build ++++ b/headers/meson.build +@@ -19,7 +19,7 @@ enums_xml = custom_target( + install: true, + install_dir: schemasdir) + +-if not meson.is_cross_build() and get_option('introspection') ++if get_option('introspection') + noinst_lib = shared_library('noinst', + headers, + install: false) +-- +2.20.1 + diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb deleted file mode 100644 index 693c109d83..0000000000 --- a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.28.1.bb +++ /dev/null @@ -1,13 +0,0 @@ -SUMMARY = "GNOME desktop-wide GSettings schemas" -HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" -BUGTRACKER = "https://bugzilla.gnome.org/" - -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" - -DEPENDS = "glib-2.0 intltool-native" - -inherit gnomebase gsettings gettext gobject-introspection upstream-version-is-even - -SRC_URI[archive.md5sum] = "83bb19d025f126fae495ab43a2f26f40" -SRC_URI[archive.sha256sum] = "f88ea6849ffe897c51cfeca5e45c3890010c82c58be2aee18b01349648e5502f" diff --git a/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb new file mode 100644 index 0000000000..859f70466b --- /dev/null +++ b/poky/meta/recipes-gnome/gsettings-desktop-schemas/gsettings-desktop-schemas_3.32.0.bb @@ -0,0 +1,16 @@ +SUMMARY = "GNOME desktop-wide GSettings schemas" +HOMEPAGE = "http://live.gnome.org/gsettings-desktop-schemas" +BUGTRACKER = "https://bugzilla.gnome.org/" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" + +DEPENDS = "glib-2.0" + +GNOMEBASEBUILDCLASS = "meson" + +inherit gnomebase gsettings gobject-introspection gettext upstream-version-is-even + +SRC_URI[archive.md5sum] = "0c2d468a482c12594757442c983aa8ea" +SRC_URI[archive.sha256sum] = "2d59b4b3a548859dfae46314ee4666787a00d5c82db382e97df7aa9d0e310a35" +SRC_URI += "file://0001-Do-not-skip-gir-installation-for-cross-compiling.patch" diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch index e5a67d098e..852dc9dfcd 100644 --- a/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch +++ b/poky/meta/recipes-gnome/gtk+/gtk+3/0003-Add-disable-opengl-configure-option.patch @@ -1,4 +1,4 @@ -From 9e243474eea4330b593e0f6dd418b61b79699d8b Mon Sep 17 00:00:00 2001 +From d11b41a7ff0234f3832d6aabdf498807d1463c18 Mon Sep 17 00:00:00 2001 From: Jussi Kukkonen <jussi.kukkonen@intel.com> Date: Tue, 21 Jun 2016 15:11:39 +0300 Subject: [PATCH] Add --disable-opengl configure option @@ -25,6 +25,7 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> demos/gtk-demo/glarea.c | 14 ++++++ docs/tools/Makefile.am | 9 +++- docs/tools/widgets.c | 4 +- + gdk/Makefile.am | 8 ++- gdk/gdkdisplay.c | 4 +- gdk/gdkgl.c | 10 ++++ gdk/gdkglcontext.c | 6 +++ @@ -41,15 +42,15 @@ Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> gtk/inspector/general.c | 6 +++ tests/Makefile.am | 10 ++-- testsuite/gtk/objects-finalize.c | 2 + - 20 files changed, 202 insertions(+), 18 deletions(-) + 21 files changed, 208 insertions(+), 20 deletions(-) rename gdk/x11/{gdkx.h => gdkx-with-gl-context.h} (98%) create mode 100644 gdk/x11/gdkx-without-gl-context.h diff --git a/configure.ac b/configure.ac -index a91b29c..561d3b5 100644 +index 2c4733b..18ae66c 100644 --- a/configure.ac +++ b/configure.ac -@@ -351,6 +351,15 @@ AC_ARG_ENABLE(cloudproviders, +@@ -352,6 +352,15 @@ AC_ARG_ENABLE(cloudproviders, [AS_HELP_STRING([--enable-cloudproviders], [enable libcloudproviders integration])], [cloudproviders_set=yes]) @@ -65,21 +66,21 @@ index a91b29c..561d3b5 100644 AC_ARG_ENABLE(glx, [AS_HELP_STRING([--enable-glx], [When enabled Gdk will try to initialize GLX])]) -@@ -1381,7 +1390,7 @@ CFLAGS="$saved_cflags" +@@ -1370,7 +1379,7 @@ CFLAGS="$saved_cflags" LDFLAGS="$saved_ldflags" GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 >= gdk_pixbuf_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version" --GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES" -+GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES" +-GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends epoxy >= epoxy_required_version $CLOUDPROVIDER_PACKAGES fribidi >= fribidi_required_version" ++GDK_PRIVATE_PACKAGES="$GDK_GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $cairo_backends $EPOXY_PACKAGES $CLOUDPROVIDER_PACKAGES fribidi >= fribidi_required_version" PKG_CHECK_MODULES(GDK_DEP, $GDK_PACKAGES $GDK_PRIVATE_PACKAGES) GDK_DEP_LIBS="$GDK_EXTRA_LIBS $GDK_DEP_LIBS $MATH_LIB" -@@ -1415,7 +1424,7 @@ fi +@@ -1404,7 +1413,7 @@ fi PKG_CHECK_MODULES(ATK, $ATK_PACKAGES) GTK_PACKAGES="atk >= atk_required_version cairo >= cairo_required_version cairo-gobject >= cairo_required_version gdk-pixbuf-2.0 >= gdk_pixbuf_required_version gio-2.0 >= glib_required_version" --GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version" -+GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES" +-GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES epoxy >= epoxy_required_version fribidi >= fribidi_required_version" ++GTK_PRIVATE_PACKAGES="$ATK_PACKAGES $WAYLAND_PACKAGES $MIR_PACKAGES $EPOXY_PACKAGES fribidi >= fribidi_required_version" if test "x$enable_x11_backend" = xyes -o "x$enable_wayland_backend" = xyes; then GTK_PRIVATE_PACKAGES="$GTK_PRIVATE_PACKAGES pangoft2" fi @@ -208,11 +209,44 @@ index 932daf1..54239d6 100644 info = new_widget_info ("glarea", widget, MEDIUM); return info; +diff --git a/gdk/Makefile.am b/gdk/Makefile.am +index 689ee52..d6b4e70 100644 +--- a/gdk/Makefile.am ++++ b/gdk/Makefile.am +@@ -274,7 +274,6 @@ x11_introspection_files = \ + x11/gdkeventsource.c \ + x11/gdkeventtranslator.c \ + x11/gdkgeometry-x11.c \ +- x11/gdkglcontext-x11.c \ + x11/gdkkeys-x11.c \ + x11/gdkmain-x11.c \ + x11/gdkmonitor-x11.c \ +@@ -300,7 +299,6 @@ x11_introspection_files = \ + x11/gdkx11display.h \ + x11/gdkx11displaymanager.h \ + x11/gdkx11dnd.h \ +- x11/gdkx11glcontext.h \ + x11/gdkx11keys.h \ + x11/gdkx11monitor.h \ + x11/gdkx11property.h \ +@@ -310,6 +308,12 @@ x11_introspection_files = \ + x11/gdkx11visual.h \ + x11/gdkx11window.h + ++if HAVE_OPENGL ++x11_introspection_files += \ ++ x11/gdkglcontext-x11.c \ ++ x11/gdkx11glcontext.h ++endif ++ + GdkX11-3.0.gir: libgdk-3.la Gdk-3.0.gir Makefile + GdkX11_3_0_gir_SCANNERFLAGS = \ + --identifier-prefix=Gdk \ diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c -index 40225e9..c55e1de 100644 +index 06d4187..832711c 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c -@@ -2406,7 +2406,9 @@ gboolean +@@ -2416,7 +2416,9 @@ gboolean gdk_display_make_gl_context_current (GdkDisplay *display, GdkGLContext *context) { @@ -346,7 +380,7 @@ index dfbed63..556f0a3 100644 /** diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c -index 6b231f0..904b86d 100644 +index 1416409..e3b5630 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -45,7 +45,9 @@ @@ -478,7 +512,7 @@ index 6289f3a..cbbac79 100644 + -include $(top_srcdir)/git.mk diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c -index 659b9fa..b15536b 100644 +index 5b95196..9a2f2a2 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -37,7 +37,9 @@ @@ -491,7 +525,7 @@ index 659b9fa..b15536b 100644 #include "gdk-private.h" #include <glib.h> -@@ -3194,7 +3196,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class) +@@ -3184,7 +3186,9 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class) display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list; display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target; @@ -516,7 +550,7 @@ index 272cecd..2bb34ac 100644 +void _gdk_x11_screen_update_visuals_for_gl (GdkScreen *screen) {} +#endif diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c -index c6205e4..df2334f 100644 +index f92a146..89f900a 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -36,7 +36,9 @@ @@ -529,7 +563,7 @@ index c6205e4..df2334f 100644 #include "gdkprivate-x11.h" #include "gdk-private.h" -@@ -5804,7 +5806,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) +@@ -5839,7 +5841,9 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->set_opaque_region = gdk_x11_window_set_opaque_region; impl_class->set_shadow_width = gdk_x11_window_set_shadow_width; impl_class->show_window_menu = gdk_x11_window_show_window_menu; @@ -633,17 +667,18 @@ index 0000000..c9e2617 + +#endif /* __GDK_X_H__ */ diff --git a/gtk/Makefile.am b/gtk/Makefile.am -index 5594429..2259bb3 100644 +index e556e9d..ce912d7 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am -@@ -1434,14 +1434,13 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. +@@ -1441,7 +1441,6 @@ gtkprivatetypebuiltins.c: $(gtk_private_type_h_sources) gtkprivatetypebuiltins. && cp xgen-gptbc gtkprivatetypebuiltins.c \ && rm -f xgen-gptbc - gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gtk/a11y/*.h $(top_srcdir)/gtk/deprecated/*.h $(top_srcdir)/gdk/*.h Makefile - $(AM_V_GEN) (echo '#undef GTK_COMPILATION' && echo '#include <gtk/gtkx.h>') > xgen-gtfsrc.c && \ - echo 'G_GNUC_BEGIN_IGNORE_DEPRECATIONS' > xgen-gtf && \ + $(AM_V_GEN) export LC_ALL=C ; \ + (echo '#undef GTK_COMPILATION' && echo '#include <gtk/gtkx.h>') > xgen-gtfsrc.c && \ +@@ -1449,7 +1448,7 @@ gtktypefuncs.c: stamp-gtktypebuiltins.h stamp-gtkprivatetypebuiltins.h $(top_src ${CPP} $(DEFS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \ $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \ sort | uniq | \ diff --git a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb index 92c9a3ebfb..d79b18bee0 100644 --- a/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.5.bb +++ b/poky/meta/recipes-gnome/gtk+/gtk+3_3.24.8.bb @@ -8,8 +8,8 @@ SRC_URI = "http://ftp.gnome.org/pub/gnome/sources/gtk+/${MAJ_VER}/gtk+-${PV}.tar file://0003-Add-disable-opengl-configure-option.patch \ file://link_fribidi.patch \ " -SRC_URI[md5sum] = "32862355c08f6af3e7848c695cd4081b" -SRC_URI[sha256sum] = "0be5fb0d302bc3de26ab58c32990d895831e2b7c7418d0ffea1206d6a3ddb02f" +SRC_URI[md5sum] = "eeedde01856238114dcf4df3ebc942a5" +SRC_URI[sha256sum] = "666962de9b9768fe9ca785b0e2f42c8b9db3868a12fa9b356b167238d70ac799" S = "${WORKDIR}/gtk+-${PV}" diff --git a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch index 9b128e1ce1..3e973a16eb 100644 --- a/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch +++ b/poky/meta/recipes-gnome/gtk-doc/files/pkg-config-native.patch @@ -1,4 +1,4 @@ -From 04af15322f677db42ecc2acc465334a04de9a871 Mon Sep 17 00:00:00 2001 +From a3f69f2ed45efbdaee47c2dde4df3d78323300e5 Mon Sep 17 00:00:00 2001 From: Ross Burton <ross.burton@intel.com> Date: Mon, 5 Sep 2016 22:25:44 +0100 Subject: [PATCH] Use native pkg-config when looking for gtk-doc. @@ -7,10 +7,10 @@ Upstream-Status: Inappropriate Signed-off-by: Ross Burton <ross.burton@intel.com> --- - gtk-doc.m4 | 7 ++++++- + buildsystems/autotools/gtk-doc.m4 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) -diff --git a/gtk-doc.m4 b/gtk-doc.m4 +diff --git a/buildsystems/autotools/gtk-doc.m4 b/buildsystems/autotools/gtk-doc.m4 index 2d12f01..e5afc3f 100644 --- a/buildsystems/autotools/gtk-doc.m4 +++ b/buildsystems/autotools/gtk-doc.m4 diff --git a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb index 2c4ee175a9..f16847e40c 100644 --- a/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.29.bb +++ b/poky/meta/recipes-gnome/gtk-doc/gtk-doc_1.30.bb @@ -15,11 +15,11 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "api-documentation", # into its scripts. This means that target gtk-doc package is broken; # hopefully no one minds because its scripts are not used for anything during build # and shouldn't be used on targets. -PACKAGECONFIG[working-scripts] = "--with-highlight=source-highlight,--with-highlight=no,libxslt-native xmlto-native source-highlight-native python3-six" +PACKAGECONFIG[working-scripts] = ",,libxslt-native xmlto-native python3-six python3-pygments" PACKAGECONFIG[tests] = "--enable-tests,--disable-tests,glib-2.0" -SRC_URI[archive.md5sum] = "df26a38c209b3d7358f26268fcbdb9e3" -SRC_URI[archive.sha256sum] = "14578e002496567276d310a62c9ffd6c56ee8806ce5079ffb0b81c4111f586b1" +SRC_URI[archive.md5sum] = "1045ba29ca0693ced2045523407aae4c" +SRC_URI[archive.sha256sum] = "a4f6448eb838ccd30d76a33b1fd095f81aea361f03b12c7b23df181d21b7069e" SRC_URI += "file://0001-Do-not-hardocode-paths-to-perl-python-in-scripts.patch \ file://0001-Do-not-error-out-if-xsltproc-is-not-found.patch \ file://conditionaltests.patch \ diff --git a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb index dac59f86b3..58e78a5b78 100644 --- a/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.1.bb +++ b/poky/meta/recipes-gnome/libdazzle/libdazzle_3.32.2.bb @@ -7,8 +7,8 @@ inherit gnomebase upstream-version-is-even vala distro_features_check gobject-in DEPENDS = "glib-2.0-native glib-2.0 gtk+3" -SRC_URI[archive.md5sum] = "5f6455ebc47e86f63b9579997137f391" -SRC_URI[archive.sha256sum] = "238da19fdcc3ae9bb0c2d781d099fb8c6ec70c4dd3dffad80d230344ecc3f972" +SRC_URI[archive.md5sum] = "b5c99a8f483a0defe7c7124a3220e412" +SRC_URI[archive.sha256sum] = "413f8dfb8706760e0c649e2994bd10524ac0736601dd03ad2036293bed3bf141" GIR_MESON_OPTION = 'with_introspection' diff --git a/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch new file mode 100644 index 0000000000..954bb60880 --- /dev/null +++ b/poky/meta/recipes-gnome/librsvg/librsvg/0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch @@ -0,0 +1,35 @@ +From b99891e31eb6ce550e7e1cb2ca592095b3050a93 Mon Sep 17 00:00:00 2001 +From: Brion Vibber <brion@pobox.com> +Date: Sun, 25 Feb 2018 18:42:36 -0800 +Subject: Auto-detect -Bsymbolic, fixes configure on macOS + +The -Bsymbolic linker option is ELF-specific, and was breaking +configure on macOS unless --disable-Bsymbolic was explicitly passed. + +Switching the behavior from requiring -Bsymbolic to be available +by default to just warning and continuing on without. + +Fixes https://gitlab.gnome.org/GNOME/librsvg/issues/211 + +Upstream-Status: Backport +Signed-off-by: Adrian Bunk <bunk@stusta.de> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 15b26b2d..9f8dce29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -216,7 +216,7 @@ AM_CONDITIONAL([ENABLE_PIXBUF_LOADER],[test "$enable_pixbuf_loader" = "yes"]) + AC_ARG_ENABLE([Bsymbolic], + [AS_HELP_STRING([--disable-Bsymbolic], + [disable linking with -Bsymbolic])], +- [],[enable_Bsymbolic=yes]) ++ [enable_Bsymbolic=no],[enable_Bsymbolic=auto]) + + BSYMBOLIC_LDFLAG= + if test "$enable_Bsymbolic" != "no"; then +-- +2.20.1 + diff --git a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb index e376d52ef3..6a798e6a91 100644 --- a/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb +++ b/poky/meta/recipes-gnome/librsvg/librsvg_2.40.20.bb @@ -14,17 +14,15 @@ BBCLASSEXTEND = "native" inherit gnomebase gtk-doc pixbufcache upstream-version-is-even gobject-introspection -SRC_URI += "file://gtk-option.patch" +SRC_URI += "file://gtk-option.patch \ + file://0001-Auto-detect-Bsymbolic-fixes-configure-on-macOS.patch \ +" SRC_URI[archive.md5sum] = "4949d313b0c5d9161a5c259104af5568" SRC_URI[archive.sha256sum] = "cff4dd3c3b78bfe99d8fcfad3b8ba1eee3289a0823c0e118d78106be6b84c92b" CACHED_CONFIGUREVARS = "ac_cv_path_GDK_PIXBUF_QUERYLOADERS=${STAGING_LIBDIR_NATIVE}/gdk-pixbuf-2.0/gdk-pixbuf-query-loaders" -# The older ld (2.22) on the host (Centos 6.5) doesn't have the -# -Bsymbolic-functions option, we can disable it for native. -EXTRA_OECONF_append_class-native = " --enable-Bsymbolic=auto" - PACKAGECONFIG ??= "gdkpixbuf" # The gdk-pixbuf loader PACKAGECONFIG[gdkpixbuf] = "--enable-pixbuf-loader,--disable-pixbuf-loader,gdk-pixbuf-native" diff --git a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb index c2628ae0ca..f32e9ba1bc 100644 --- a/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb +++ b/poky/meta/recipes-graphics/cairo/cairo_1.16.0.bb @@ -10,12 +10,12 @@ HOMEPAGE = "http://cairographics.org" BUGTRACKER = "http://bugs.freedesktop.org" SECTION = "libs" -LICENSE = "MPL-1 & LGPLv2.1 & GPLv3+" -LICENSE_${PN} = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-dev = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-doc = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-gobject = "MPL-1 & LGPLv2.1" -LICENSE_${PN}-script-interpreter = "MPL-1 & LGPLv2.1" +LICENSE = "MPL-1.1 & LGPLv2.1 & GPLv3+" +LICENSE_${PN} = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-dev = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-doc = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-gobject = "MPL-1.1 & LGPLv2.1" +LICENSE_${PN}-script-interpreter = "MPL-1.1 & LGPLv2.1" LICENSE_${PN}-perf-utils = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=e73e999e0c72b5ac9012424fa157ad77" diff --git a/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb index 1e6f66ee9f..200f43c21b 100644 --- a/poky/meta/recipes-graphics/freetype/freetype_2.9.1.bb +++ b/poky/meta/recipes-graphics/freetype/freetype_2.10.0.bb @@ -19,8 +19,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/freetype/freetype-${PV}.tar.bz2 \ UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/freetype/files/freetype2/" UPSTREAM_CHECK_REGEX = "freetype-(?P<pver>\d+(\.\d+)+)" -SRC_URI[md5sum] = "60ef7d8160cd4bf8cb118ee9d65367ca" -SRC_URI[sha256sum] = "db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d" +SRC_URI[md5sum] = "a717e6925b61b9dda946322ecd278a42" +SRC_URI[sha256sum] = "fccc62928c65192fff6c98847233b28eb7ce05f12d2fea3f6cc90e8b4e5fbe06" inherit autotools pkgconfig multilib_header diff --git a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb index ffa1ab8f7b..525721f0ae 100644 --- a/poky/meta/recipes-graphics/libva/libva_2.4.0.bb +++ b/poky/meta/recipes-graphics/libva/libva_2.4.1.bb @@ -19,8 +19,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BP}.tar.bz2" -SRC_URI[md5sum] = "cfc69c2a5f526dd1858e098fb8eebfa6" -SRC_URI[sha256sum] = "99263056c21593a26f2ece812aee6fe60142b49e6cd46cb33c8dddf18fc19391" +SRC_URI[md5sum] = "5b5ace9de3f07cb7b8f4d19b6979adf0" +SRC_URI[sha256sum] = "e9e053908591b121793eaa5d8aa37675b4cd3af4b12f1f377dff4767f39cee70" UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases" diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch index 61e24c6e9f..0064dc643c 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch +++ b/poky/meta/recipes-graphics/mesa/files/0001-meson.build-check-for-all-linux-host_os-combinations.patch @@ -1,7 +1,7 @@ -From 498f230c9446fc7a1b4dc77ff6b84ee1a3b53bf4 Mon Sep 17 00:00:00 2001 +From da6b9188f29942684d4262f0c6264d09bb6fe7de Mon Sep 17 00:00:00 2001 From: Fabio Berton <fabio.berton@ossystems.com.br> -Date: Wed, 24 Apr 2019 17:01:24 -0300 -Subject: [PATCH] meson.build: check for all linux host_os combinations +Date: Wed, 12 Jun 2019 13:40:20 -0300 +Subject: [PATCH 1/3] meson.build: check for all linux host_os combinations Organization: O.S. Systems Software LTDA. Make sure that we are also looking for our host_os combinations like @@ -9,6 +9,8 @@ linux-musl etc. when assuming support for DRM/KMS. Also delete a duplicate line. +Upstream-Status: Pending + Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> --- @@ -16,7 +18,7 @@ Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build -index 53d02e31097..c41f6b4e402 100644 +index 8ab8a550f56..e11880f2902 100644 --- a/meson.build +++ b/meson.build @@ -34,6 +34,8 @@ cpp = meson.get_compiler('cpp') @@ -28,16 +30,16 @@ index 53d02e31097..c41f6b4e402 100644 # Arguments for the preprocessor, put these in a separate array from the C and # C++ (cpp in meson terminology) arguments since they need to be added to the # default arguments for both C and C++. -@@ -89,8 +91,6 @@ if (with_gles1 or with_gles2) and not with_opengl - error('building OpenGL ES without OpenGL is not supported.') - endif +@@ -107,8 +109,6 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2 + # Only build shared_glapi if at least one OpenGL API is enabled + with_shared_glapi = get_option('shared-glapi') and with_any_opengl -system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 'linux'].contains(host_machine.system()) - - _drivers = get_option('dri-drivers') - if _drivers.contains('auto') + dri_drivers = get_option('dri-drivers') + if dri_drivers.contains('auto') if system_has_kms_drm -@@ -792,7 +792,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', +@@ -836,7 +836,7 @@ if cc.compiles('int foo(void) __attribute__((__noreturn__));', endif # TODO: this is very incomplete @@ -47,5 +49,5 @@ index 53d02e31097..c41f6b4e402 100644 endif -- -2.21.0 +2.22.0 diff --git a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch index 8fabafcb35..81454aaa29 100644 --- a/poky/meta/recipes-graphics/mesa/files/0001-meson.build-make-TLS-GLX-optional-again.patch +++ b/poky/meta/recipes-graphics/mesa/files/0002-meson.build-make-TLS-GLX-optional-again.patch @@ -1,23 +1,26 @@ -From 48318f1a5c9042a8e1bb4456c2584362b25c4a59 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 15 May 2019 17:21:51 +0200 -Subject: [PATCH] meson.build: make TLS GLX optional again +From d31718999797ffc4dd177d14760ef7b8fd95ac2f Mon Sep 17 00:00:00 2001 +From: Fabio Berton <fabio.berton@ossystems.com.br> +Date: Wed, 12 Jun 2019 14:15:57 -0300 +Subject: [PATCH 2/3] meson.build: make TLS GLX optional again +Organization: O.S. Systems Software LTDA. This was optional with autotools, and needs to be disabled when using musl C library, for instance. Upstream-Status: Pending + Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> --- meson.build | 4 +++- - meson_options.txt | 6 ++++++ - 2 files changed, 9 insertions(+), 1 deletion(-) + meson_options.txt | 7 +++++++ + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build -index c41f6b4..8843f3c 100644 +index e11880f2902..7a07974ba61 100644 --- a/meson.build +++ b/meson.build -@@ -336,7 +336,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) +@@ -362,7 +362,9 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) endif endif @@ -29,10 +32,10 @@ index c41f6b4..8843f3c 100644 if not (with_platform_x11 and with_any_opengl) error('Cannot build GLX support without X11 platform support and at least one OpenGL API') diff --git a/meson_options.txt b/meson_options.txt -index ccf7065..0f1e800 100644 +index 1f72faabee8..fcd49efea27 100644 --- a/meson_options.txt +++ b/meson_options.txt -@@ -324,3 +324,9 @@ option( +@@ -339,6 +339,13 @@ option( value : true, description : 'Enable direct rendering in GLX and EGL for DRI', ) @@ -42,3 +45,10 @@ index ccf7065..0f1e800 100644 + value : true, + description : 'Enable TLS support in GLX', +) ++ + option( + 'I-love-half-baked-turnips', + type : 'boolean', +-- +2.22.0 + diff --git a/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch new file mode 100644 index 0000000000..0f254a1d91 --- /dev/null +++ b/poky/meta/recipes-graphics/mesa/files/0003-Allow-enable-DRI-without-DRI-drivers.patch @@ -0,0 +1,48 @@ +From 417ff3a03313aa003244990ed5c0188c421e6181 Mon Sep 17 00:00:00 2001 +From: Fabio Berton <fabio.berton@ossystems.com.br> +Date: Wed, 12 Jun 2019 14:18:31 -0300 +Subject: [PATCH 3/3] Allow enable DRI without DRI drivers +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Pending + +Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> +Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> +--- + meson.build | 2 +- + meson_options.txt | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 7a07974ba61..5c7cbe38376 100644 +--- a/meson.build ++++ b/meson.build +@@ -137,7 +137,7 @@ with_dri_r200 = dri_drivers.contains('r200') + with_dri_nouveau = dri_drivers.contains('nouveau') + with_dri_swrast = dri_drivers.contains('swrast') + +-with_dri = dri_drivers.length() != 0 and dri_drivers != [''] ++with_dri = get_option('dri') or (_drivers.length() != 0 and _drivers != ['']) + + gallium_drivers = get_option('gallium-drivers') + if gallium_drivers.contains('auto') +diff --git a/meson_options.txt b/meson_options.txt +index fcd49efea27..0529200b3bb 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -34,6 +34,12 @@ option( + choices : ['auto', 'true', 'false'], + description : 'enable support for dri3' + ) ++option( ++ 'dri', ++ type : 'boolean', ++ value : false, ++ description : 'enable support for dri' ++) + option( + 'dri-drivers', + type : 'array', +-- +2.22.0 + diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch index 6b676cdd20..b27d9eafa5 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0007-Install-few-more-test-programs.patch @@ -1,4 +1,4 @@ -From c59e286fa4e818ca015dd40e4725636309970ea8 Mon Sep 17 00:00:00 2001 +From 2e0367a941445a862ab99c54ec85d1357d0f73c0 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Thu, 10 Jul 2014 14:30:52 +0200 Subject: [PATCH] Install few more test programs @@ -8,27 +8,28 @@ Upstream-Status: Pending Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> + --- - src/egl/opengl/Makefile.am | 2 +- - src/egl/opengles1/Makefile.am | 10 ++++------ - src/egl/openvg/Makefile.am | 2 +- - 3 files changed, 6 insertions(+), 8 deletions(-) + src/egl/opengl/Makefile.am | 3 +-- + src/egl/openvg/Makefile.am | 2 +- + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/egl/opengl/Makefile.am b/src/egl/opengl/Makefile.am -index fe7faa9..3e48141 100644 +index 6d184ff6..ab09d028 100644 --- a/src/egl/opengl/Makefile.am +++ b/src/egl/opengl/Makefile.am -@@ -50,7 +50,7 @@ endif - endif +@@ -57,8 +57,7 @@ endif if HAVE_EGL + bin_PROGRAMS = \ +- eglinfo -noinst_PROGRAMS = \ -+bin_PROGRAMS = \ - eglinfo \ ++ eglinfo \ peglgears \ $(EGL_DRM_DEMOS) \ + $(EGL_X11_DEMOS) \ diff --git a/src/egl/openvg/Makefile.am b/src/egl/openvg/Makefile.am -index b0f1212..5fd1cf8 100644 +index b0f1212f..5fd1cf83 100644 --- a/src/egl/openvg/Makefile.am +++ b/src/egl/openvg/Makefile.am @@ -49,7 +49,7 @@ endif @@ -40,6 +41,3 @@ index b0f1212..5fd1cf8 100644 $(EGL_X11_DEMOS) endif endif --- -2.1.4 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch index a6085754d2..a6d168175f 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0008-glsl-perf-Add-few-missing-.glsl-.vert-.frag-files-to.patch @@ -1,12 +1,13 @@ -From 0b6f95f9b8ece22e9856c150e4be29fd86eaf546 Mon Sep 17 00:00:00 2001 +From 894add34c2b5e6b4ccc78996bf681d7ec7bc9e36 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Thu, 10 Jul 2014 14:29:27 +0200 -Subject: [PATCH 8/9] glsl, perf: Add few missing .glsl, .vert, .frag files to +Subject: [PATCH] glsl, perf: Add few missing .glsl, .vert, .frag files to EXTRA_DATA Upstream-Status: Pending Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + --- src/fpglsl/Makefile.am | 2 ++ src/glsl/Makefile.am | 10 ++++++++-- @@ -15,7 +16,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am -index 47c1039..fd43c91 100644 +index 47c1039f..fd43c919 100644 --- a/src/fpglsl/Makefile.am +++ b/src/fpglsl/Makefile.am @@ -39,10 +39,12 @@ noinst_PROGRAMS = \ @@ -32,7 +33,7 @@ index 47c1039..fd43c91 100644 mov-imm.glsl \ simpleif.glsl \ diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am -index 4faa8db..079a29d 100644 +index 4faa8dbf..079a29d8 100644 --- a/src/glsl/Makefile.am +++ b/src/glsl/Makefile.am @@ -37,7 +37,7 @@ AM_LDFLAGS = \ @@ -71,13 +72,13 @@ index 4faa8db..079a29d 100644 + skinning.vert \ toyball.shtest diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am -index 5363c58..c5cca8d 100644 +index f0031fea..60069396 100644 --- a/src/perf/Makefile.am +++ b/src/perf/Makefile.am -@@ -57,3 +57,9 @@ bin_PROGRAMS = \ - endif +@@ -59,3 +59,9 @@ endif glslstateschange_LDADD = libperf.la ../util/libutil.la + glsl_compile_time_LDADD = ../util/libutil.la + +EXTRA_DIST = \ + glslstateschange1.frag \ @@ -85,7 +86,7 @@ index 5363c58..c5cca8d 100644 + glslstateschange2.frag \ + glslstateschange2.vert diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am -index 4a85ed4..48b08f4 100644 +index 4a85ed40..48b08f48 100644 --- a/src/vpglsl/Makefile.am +++ b/src/vpglsl/Makefile.am @@ -44,6 +44,7 @@ EXTRA_DIST = \ @@ -96,6 +97,3 @@ index 4a85ed4..48b08f4 100644 mov.glsl \ nestedifs.glsl \ nestedswizzle.glsl \ --- -2.0.0 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch index 1262dee237..8a98ba60d1 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch +++ b/poky/meta/recipes-graphics/mesa/mesa-demos/0009-glsl-perf-Install-.glsl-.vert-.frag-files.patch @@ -1,10 +1,11 @@ -From c8c3de5417d6b6c7d7579c528c0cab718f4bfdb6 Mon Sep 17 00:00:00 2001 +From 477ab6d90a17d8e4d3935be6ce8b8e154db0e3e5 Mon Sep 17 00:00:00 2001 From: Martin Jansa <Martin.Jansa@gmail.com> Date: Thu, 10 Jul 2014 14:48:12 +0200 -Subject: [PATCH 9/9] glsl, perf: Install .glsl, .vert, .frag files +Subject: [PATCH] glsl, perf: Install .glsl, .vert, .frag files Upstream-Status: Pending Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> + --- src/fpglsl/Makefile.am | 3 ++- src/glsl/Makefile.am | 3 ++- @@ -13,7 +14,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/fpglsl/Makefile.am b/src/fpglsl/Makefile.am -index fd43c91..2bf51de 100644 +index fd43c919..2bf51de4 100644 --- a/src/fpglsl/Makefile.am +++ b/src/fpglsl/Makefile.am @@ -38,7 +38,8 @@ noinst_PROGRAMS = \ @@ -27,7 +28,7 @@ index fd43c91..2bf51de 100644 dowhile2.glsl \ dowhile.glsl \ diff --git a/src/glsl/Makefile.am b/src/glsl/Makefile.am -index 079a29d..f66ec29 100644 +index 079a29d8..f66ec299 100644 --- a/src/glsl/Makefile.am +++ b/src/glsl/Makefile.am @@ -118,7 +118,8 @@ vert_or_frag_only_LDADD = ../util/libutil.la @@ -41,12 +42,12 @@ index 079a29d..f66ec29 100644 CH06-brick.vert \ CH11-bumpmap.frag \ diff --git a/src/perf/Makefile.am b/src/perf/Makefile.am -index c5cca8d..140256d 100644 +index 60069396..469bdf45 100644 --- a/src/perf/Makefile.am +++ b/src/perf/Makefile.am -@@ -58,7 +58,8 @@ endif - +@@ -60,7 +60,8 @@ endif glslstateschange_LDADD = libperf.la ../util/libutil.la + glsl_compile_time_LDADD = ../util/libutil.la -EXTRA_DIST = \ +demosdatadir=$(datadir)/$(PACKAGE)/ @@ -55,7 +56,7 @@ index c5cca8d..140256d 100644 glslstateschange1.vert \ glslstateschange2.frag \ diff --git a/src/vpglsl/Makefile.am b/src/vpglsl/Makefile.am -index 48b08f4..5526867 100644 +index 48b08f48..55268675 100644 --- a/src/vpglsl/Makefile.am +++ b/src/vpglsl/Makefile.am @@ -38,7 +38,8 @@ noinst_PROGRAMS = \ @@ -68,6 +69,3 @@ index 48b08f4..5526867 100644 for.glsl \ func.glsl \ func2.glsl \ --- -2.0.0 - diff --git a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb index bae3b18bea..129a47df48 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-demos_8.3.0.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-demos_8.4.0.bb @@ -9,7 +9,7 @@ LICENSE = "MIT & PD" LIC_FILES_CHKSUM = "file://src/xdemos/glxgears.c;beginline=1;endline=20;md5=914225785450eff644a86c871d3ae00e \ file://src/xdemos/glxdemo.c;beginline=1;endline=8;md5=b01d5ab1aee94d35b7efaa2ef48e1a06" -SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 \ +SRC_URI = "https://mesa.freedesktop.org/archive/demos/${BPN}-${PV}.tar.bz2 \ file://0001-mesa-demos-Add-missing-data-files.patch \ file://0003-configure-Allow-to-disable-demos-which-require-GLEW-.patch \ file://0004-Use-DEMOS_DATA_DIR-to-locate-data-files.patch \ @@ -19,8 +19,8 @@ SRC_URI = "https://mesa.freedesktop.org/archive/demos/${PV}/${BPN}-${PV}.tar.bz2 file://0012-mesa-demos-OpenVG-demos-with-single-frame-need-eglSw.patch \ file://0013-only-build-GLX-demos-if-needed.patch \ " -SRC_URI[md5sum] = "628e75c23c17394f11a316c36f8e4164" -SRC_URI[sha256sum] = "c173154bbd0d5fb53d732471984def42fb1b14ac85fcb834138fb9518b3e0bef" +SRC_URI[md5sum] = "6b65a02622765522176d00f553086fa3" +SRC_URI[sha256sum] = "01e99c94a0184e63e796728af89bfac559795fb2a0d6f506fa900455ca5fff7d" inherit autotools pkgconfig distro_features_check # depends on virtual/egl, virtual/libgl ... diff --git a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb index d4b1c1c454..d4b1c1c454 100644 --- a/poky/meta/recipes-graphics/mesa/mesa-gl_19.0.3.bb +++ b/poky/meta/recipes-graphics/mesa/mesa-gl_19.1.0.bb diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index cd3ddfd822..3ecfb8506c 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -70,7 +70,7 @@ DRIDRIVERS_class-nativesdk = "swrast" DRIDRIVERS_append_x86_class-target = ",r100,r200,nouveau,i965,i915" DRIDRIVERS_append_x86-64_class-target = ",r100,r200,nouveau,i965,i915" # "dri" requires "opengl" -PACKAGECONFIG[dri] = "-Ddri-drivers=${DRIDRIVERS}, -Ddri-drivers='', xorgproto libdrm" +PACKAGECONFIG[dri] = "-Ddri=true -Ddri-drivers=${DRIDRIVERS}, -Ddri=false -Ddri-drivers='', xorgproto libdrm" PACKAGECONFIG[dri3] = "-Ddri3=true, -Ddri3=false, xorgproto libxshmfence" # Vulkan drivers need dri3 enabled diff --git a/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb index 36faa4a99d..05c315349c 100644 --- a/poky/meta/recipes-graphics/mesa/mesa_19.0.3.bb +++ b/poky/meta/recipes-graphics/mesa/mesa_19.1.0.bb @@ -2,11 +2,12 @@ require ${BPN}.inc SRC_URI = "https://mesa.freedesktop.org/archive/mesa-${PV}.tar.xz \ file://0001-meson.build-check-for-all-linux-host_os-combinations.patch \ - file://0001-meson.build-make-TLS-GLX-optional-again.patch \ + file://0002-meson.build-make-TLS-GLX-optional-again.patch \ + file://0003-Allow-enable-DRI-without-DRI-drivers.patch \ " -SRC_URI[md5sum] = "d03bf14e42c0e54ebae5730712ccc408" -SRC_URI[sha256sum] = "f027244e38dc309a4c12db45ef79be81ab62c797a50a88d566e4edb6159fc4d5" +SRC_URI[md5sum] = "090cd351cf938fc1729dee983520216a" +SRC_URI[sha256sum] = "2a6c3af3a803389183168e449c536304cf03e0f82c4c9333077933543b9d02f3" #because we cannot rely on the fact that all apps will use pkgconfig, #make eglplatform.h independent of MESA_EGL_NO_X11_HEADER diff --git a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch b/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch deleted file mode 100644 index 57eda2e207..0000000000 --- a/poky/meta/recipes-graphics/piglit/piglit/0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch +++ /dev/null @@ -1,75 +0,0 @@ -Upstream-Status: Submitted [mailing list] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From 0e0a2a69261031d55d52b6045990e8982ea12912 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 9 Jul 2016 07:52:19 +0000 -Subject: [PATCH] tests: only run rounding tests if FE_UPWARD is present - -On ARM, musl does not define FE_* when the architecture does not have VFP (which -is the right interpretation). - -As these tests depend on calling fesetround(), skip the test if FE_UPWARD isn't -available. - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - tests/general/roundmode-getintegerv.c | 12 ++++++++---- - tests/general/roundmode-pixelstore.c | 12 ++++++++---- - 2 files changed, 16 insertions(+), 8 deletions(-) - -diff --git a/tests/general/roundmode-getintegerv.c b/tests/general/roundmode-getintegerv.c -index 28ecfaf55..aa99044a1 100644 ---- a/tests/general/roundmode-getintegerv.c -+++ b/tests/general/roundmode-getintegerv.c -@@ -79,13 +79,17 @@ test(float val, int expect) - void - piglit_init(int argc, char **argv) - { -- int ret; - bool pass = true; -- ret = fesetround(FE_UPWARD); -- if (ret != 0) { -- printf("Couldn't set rounding mode\n"); -+ -+#ifdef FE_UPWARD -+ if (fesetround(FE_UPWARD) != 0) { -+ printf("Setting rounding mode failed\n"); - piglit_report_result(PIGLIT_SKIP); - } -+#else -+ printf("Cannot set rounding mode\n"); -+ piglit_report_result(PIGLIT_SKIP); -+#endif - - pass = test(2.2, 2) && pass; - pass = test(2.8, 3) && pass; -diff --git a/tests/general/roundmode-pixelstore.c b/tests/general/roundmode-pixelstore.c -index 8a029b257..57ec11c09 100644 ---- a/tests/general/roundmode-pixelstore.c -+++ b/tests/general/roundmode-pixelstore.c -@@ -79,13 +79,17 @@ test(float val, int expect) - void - piglit_init(int argc, char **argv) - { -- int ret; - bool pass = true; -- ret = fesetround(FE_UPWARD); -- if (ret != 0) { -- printf("Couldn't set rounding mode\n"); -+ -+#ifdef FE_UPWARD -+ if (fesetround(FE_UPWARD) != 0) { -+ printf("Setting rounding mode failed\n"); - piglit_report_result(PIGLIT_SKIP); - } -+#else -+ printf("Cannot set rounding mode\n"); -+ piglit_report_result(PIGLIT_SKIP); -+#endif - - pass = test(2.2, 2) && pass; - pass = test(2.8, 3) && pass; --- -2.11.0 - diff --git a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch b/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch deleted file mode 100644 index 73d539fef2..0000000000 --- a/poky/meta/recipes-graphics/piglit/piglit/format-fix.patch +++ /dev/null @@ -1,69 +0,0 @@ -Upstream-Status: Submitted [mailing list] -Signed-off-by: Ross Burton <ross.burton@intel.com> - -From f0c6981322807e179e39ce67aeebd42cf7a54d36 Mon Sep 17 00:00:00 2001 -From: Ross Burton <ross.burton@intel.com> -Date: Wed, 21 Nov 2018 12:44:36 +0000 -Subject: [PATCH] arb_texture_view: fix security format warnings - -If built with -Werror=format-security then Piglit fails to build: - -/tests/spec/arb_texture_view/rendering-layers-image.c:150:8: -error: format not a string literal and no format arguments [-Werror=format-security] - (desc)); \ - ^~~~~~ - -In this case test->uniform_type is being turned into a string using snprintf() -and then passed to piglit_report_subtest_result() which takes a format string, -but GCC can't verify the format. - -As _subtest_report() takes a format string, we can just remove the snprintf() -and let it construct the label. - -Also as X is used once and doesn't make the code clearer, just inline it. - -Signed-off-by: Ross Burton <ross.burton@intel.com> ---- - tests/spec/arb_texture_view/rendering-layers-image.c | 19 ++++++------------- - 1 file changed, 6 insertions(+), 13 deletions(-) - -diff --git a/tests/spec/arb_texture_view/rendering-layers-image.c b/tests/spec/arb_texture_view/rendering-layers-image.c -index 415b01657..86148075b 100644 ---- a/tests/spec/arb_texture_view/rendering-layers-image.c -+++ b/tests/spec/arb_texture_view/rendering-layers-image.c -@@ -142,26 +142,19 @@ test_render_layers(const struct test_info *test) - return pass; - } - --#define X(f, desc) \ -- do { \ -- const bool subtest_pass = (f); \ -- piglit_report_subtest_result(subtest_pass \ -- ? PIGLIT_PASS : PIGLIT_FAIL, \ -- (desc)); \ -- pass = pass && subtest_pass; \ -- } while (0) -- - enum piglit_result - piglit_display(void) - { - bool pass = true; - for (int test_idx = 0; test_idx < ARRAY_SIZE(tests); test_idx++) { - const struct test_info *test = &tests[test_idx]; -- char test_name[128]; -- snprintf(test_name, sizeof(test_name), "layers rendering of %s", test->uniform_type); -- X(test_render_layers(test), test_name); -+ -+ const bool subtest_pass = test_render_layers(test); -+ -+ piglit_report_subtest_result(subtest_pass ? PIGLIT_PASS : PIGLIT_FAIL, -+ "layers rendering of %s", test->uniform_type); -+ pass = pass && subtest_pass; - } --#undef X - pass = piglit_check_gl_error(GL_NO_ERROR) && pass; - return pass ? PIGLIT_PASS : PIGLIT_FAIL; - } --- -2.11.0 - diff --git a/poky/meta/recipes-graphics/piglit/piglit_git.bb b/poky/meta/recipes-graphics/piglit/piglit_git.bb index b6542a191c..4350823f60 100644 --- a/poky/meta/recipes-graphics/piglit/piglit_git.bb +++ b/poky/meta/recipes-graphics/piglit/piglit_git.bb @@ -2,16 +2,13 @@ SUMMARY = "OpenGL driver testing framework" LICENSE = "MIT & LGPLv2+ & GPLv3 & GPLv2+ & BSD-3-Clause" LIC_FILES_CHKSUM = "file://COPYING;md5=b2beded7103a3d8a442a2a0391d607b0" -SRC_URI = "git://anongit.freedesktop.org/piglit \ +SRC_URI = "git://gitlab.freedesktop.org/mesa/piglit;protocol=https \ file://0001-cmake-install-bash-completions-in-the-right-place.patch \ - file://0001-tests-Use-FE_UPWARD-only-if-its-defined-in-fenv.h.patch \ file://0001-cmake-use-proper-WAYLAND_INCLUDE_DIRS-variable.patch \ - file://format-fix.patch \ " UPSTREAM_CHECK_COMMITS = "1" -# From 2018-10-26 -SRCREV = "b9066c7717af1d169a616c9e61706b99ff8515b5" +SRCREV = "4294b15e3b84a96f24d1286b73d5832eea267bbf" # (when PV goes above 1.0 remove the trailing r) PV = "1.0+gitr${SRCPV}" diff --git a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb index 2b72d6750c..6994d79e89 100644 --- a/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb +++ b/poky/meta/recipes-graphics/xorg-lib/libxfont2_2.0.3.bb @@ -20,3 +20,5 @@ SRC_URI[sha256sum] = "0e8ab7fd737ccdfe87e1f02b55f221f0bd4503a1c5f28be4ed6a54586b PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}" PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," + +CVE_PRODUCT = "libxfont libxfont2" diff --git a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb index ad7babf7aa..8b6ad96dba 100644 --- a/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb +++ b/poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb @@ -7,6 +7,7 @@ LICENSE = "\ & Firmware-agere \ & Firmware-amdgpu \ & Firmware-amd-ucode \ + & Firmware-amlogic_vdec \ & Firmware-atheros_firmware \ & Firmware-atmel \ & Firmware-broadcom_bcm43xx \ @@ -62,68 +63,68 @@ LICENSE = "\ & WHENCE \ " -LIC_FILES_CHKSUM = "\ - file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ - file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ - file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ - file://LICENSE.amdgpu;md5=ab515ef6495ab5c5a3b08ab2db62df11 \ - file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \ - file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ - file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \ - file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ - file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \ - file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \ - file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \ - file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \ - file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \ - file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \ - file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ - file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \ - file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \ - file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \ - file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \ - file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \ - file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ - file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \ - file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \ - file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ - file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \ - file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \ - file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \ - file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \ - file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \ - file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \ - file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \ - file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \ - file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \ - file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \ - file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \ - file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \ - file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ - file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \ - file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \ - file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \ - file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \ - file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \ - file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \ - file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \ - file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \ - file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ - file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ - file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \ - file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \ - file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \ - file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \ - file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \ - file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \ - file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ - file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \ - file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ - file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ - file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ - file://WHENCE;md5=ef36d3383becd18f36ce32d84109386f \ -" +LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \ + file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \ + file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ + file://LICENSE.amdgpu;md5=ab515ef6495ab5c5a3b08ab2db62df11 \ + file://LICENSE.amd-ucode;md5=3c5399dc9148d7f0e1f41e34b69cf14f \ + file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \ + file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ + file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \ + file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ + file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \ + file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \ + file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \ + file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \ + file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \ + file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \ + file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ + file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \ + file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \ + file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \ + file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \ + file://GPL-2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \ + file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ + file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \ + file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \ + file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ + file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \ + file://LICENCE.iwlwifi_firmware;md5=3fd842911ea93c29cd32679aa23e1c88 \ + file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \ + file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \ + file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \ + file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \ + file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \ + file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \ + file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \ + file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \ + file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \ + file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \ + file://LICENCE.qat_firmware;md5=9e7d8bea77612d7cc7d9e9b54b623062 \ + file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \ + file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \ + file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \ + file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \ + file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \ + file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \ + file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \ + file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \ + file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ + file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ + file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \ + file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \ + file://LICENCE.tda7706-firmware.txt;md5=835997cf5e3c131d0dddd695c7d9103e \ + file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \ + file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \ + file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \ + file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ + file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \ + file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \ + file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ + file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \ + file://WHENCE;md5=b6e44adf71bc37e5f26ebfe5a08b5490 \ + " # These are not common licenses, set NO_GENERIC_LICENSE for them # so that the license files will be copied from fetched source @@ -132,6 +133,7 @@ NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst" NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere" NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu" NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode" +NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec" NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware" NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel" NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx" @@ -188,7 +190,7 @@ NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000" NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c" NO_GENERIC_LICENSE[WHENCE] = "WHENCE" -SRCREV = "7bc246451318b3536d9bfd3c4e46d541a9831b33" +SRCREV = "711d3297bac870af42088a467459a0634c1970ca" PE = "1" PV = "0.0+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb index ae8c343008..3a055c12ad 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-dev.bb @@ -30,7 +30,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto-dev.git;branch=${KBRANCH};name SRCREV_machine ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' SRCREV_meta ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-yocto-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}' -LINUX_VERSION ?= "5.0-rc+" +LINUX_VERSION ?= "5.2-rc+" LINUX_VERSION_EXTENSION ?= "-yoctodev-${LINUX_KERNEL_TYPE}" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb index 834b8fc03c..0836dc7ea0 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_4.19.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "c279a81f1e654023c4cc78afa9f14350ee5f836f" -SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" +SRCREV_machine ?= "4dbcaca4c9ff89e866d2b5d01df005f317c618a4" +SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA}" -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" @@ -41,3 +41,4 @@ KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb index 54f86dac92..b5e415f935 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-rt_5.0.bb @@ -11,13 +11,13 @@ python () { raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_virtual/kernel to linux-yocto-rt to enable it") } -SRCREV_machine ?= "494384666b623a23e19cbbc54574d08e31496a03" -SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" +SRCREV_machine ?= "9c1e84c9b81b6bf1df55f26f2e0517266c37f7eb" +SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;branch=${KBRANCH};name=machine \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}" -LINUX_VERSION ?= "5.0.7" +LINUX_VERSION ?= "5.0.19" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" @@ -41,3 +41,4 @@ KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" +KERNEL_FEATURES_append = "${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb index dea7f2bf53..4ca11d769a 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_4.19.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "6fbb768bd43d85b2cfd905e431101e214c580634" -SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" +SRCREV_machine_qemuarm ?= "a3cd9d732b27e78f94634924b7232b6280dae002" +SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb index 720192152b..a9c463cf08 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto-tiny_5.0.bb @@ -6,7 +6,7 @@ KCONFIG_MODE = "--allnoconfig" require recipes-kernel/linux/linux-yocto.inc -LINUX_VERSION ?= "5.0.7" +LINUX_VERSION ?= "5.0.19" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" @@ -15,9 +15,9 @@ DEPENDS += "openssl-native util-linux-native" KMETA = "kernel-meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine_qemuarm ?= "f07da0a13d6f503b72594776b5e8a9795da6d6a0" -SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" +SRCREV_machine_qemuarm ?= "fabee455f397ba8054f35a3ad5f2250bbad93bef" +SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb index de4ae92878..cda4ecf89e 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_4.19.bb @@ -11,22 +11,22 @@ KBRANCH_qemux86 ?= "v4.19/standard/base" KBRANCH_qemux86-64 ?= "v4.19/standard/base" KBRANCH_qemumips64 ?= "v4.19/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "b266576aa10e76afeded8e13ffce93c4638b8ddb" -SRCREV_machine_qemuarm64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemumips ?= "f6ef1a5233db0a1f569d7d6638fa803ebe5c867b" -SRCREV_machine_qemuppc ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemux86 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemux86-64 ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_machine_qemumips64 ?= "f5b26e4d7a0eee36298d970590c50c26a800b84d" -SRCREV_machine ?= "1afd139db231e38e8e0f5ea03dcb77f9537ba2e0" -SRCREV_meta ?= "9bda6190bfc9e7858c2f7588109a0ec966f37a09" +SRCREV_machine_qemuarm ?= "c12bc1a098be009c44582e75af630ff573155473" +SRCREV_machine_qemuarm64 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemumips ?= "18ba7160ac7a094bf9659649c537303201eb022e" +SRCREV_machine_qemuppc ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemux86 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemux86-64 ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_machine_qemumips64 ?= "d9c77fe2a6038848fbadd660882b78e590c3252e" +SRCREV_machine ?= "f0c6c85e155632580bd44a5db01cbb19dcc1559c" +SRCREV_meta ?= "ad235db461bf4595c668700ca8a909c322009cc1" SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.19;destsuffix=${KMETA} \ " LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "4.19.34" +LINUX_VERSION ?= "4.19.44" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -47,3 +47,4 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb index ae8f643e9f..8aec315084 100644 --- a/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb +++ b/poky/meta/recipes-kernel/linux/linux-yocto_5.0.bb @@ -11,15 +11,15 @@ KBRANCH_qemux86 ?= "v5.0/standard/base" KBRANCH_qemux86-64 ?= "v5.0/standard/base" KBRANCH_qemumips64 ?= "v5.0/standard/mti-malta64" -SRCREV_machine_qemuarm ?= "99f3821bdc8718af3ef6e96d594b593d644ab2e4" -SRCREV_machine_qemuarm64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemumips ?= "1128cfe6c7915535c4066b75342c952640e65d72" -SRCREV_machine_qemuppc ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemux86 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemux86-64 ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_machine_qemumips64 ?= "55e385d52db438df1ff7ad3845c9076b2bb221eb" -SRCREV_machine ?= "891531d68e5101bf64be1cc1cb31e3d1255cf382" -SRCREV_meta ?= "d26eec23cf1057a715c05777a18f395678fcbf38" +SRCREV_machine_qemuarm ?= "9161b2fa2f1cec0ba02976c389c788445858e0de" +SRCREV_machine_qemuarm64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemumips ?= "7de9b8f0db98e51a666477c8e2b64f1964b45410" +SRCREV_machine_qemuppc ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemux86 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemux86-64 ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_machine_qemumips64 ?= "5a8b27bcc0b16077ab8edfcd3fb25c80dc2c652e" +SRCREV_machine ?= "00638cdd8f92869a0f89ebe3289fdbd856ba9458" +SRCREV_meta ?= "31de88e51d100f2c3eefb7acb7390b0144bcfc69" # remap qemuarm to qemuarma15 for the 5.0 kernel # KMACHINE_qemuarm ?= "qemuarma15" @@ -28,7 +28,7 @@ SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRA git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.0;destsuffix=${KMETA}" LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -LINUX_VERSION ?= "5.0.7" +LINUX_VERSION ?= "5.0.19" DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils-native', '', d)}" DEPENDS += "openssl-native util-linux-native" @@ -50,3 +50,4 @@ KERNEL_FEATURES_append_qemuall=" cfg/virtio.scc" KERNEL_FEATURES_append_qemux86=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append_qemux86-64=" cfg/sound.scc cfg/paravirt_kvm.scc" KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" +KERNEL_FEATURES_append = " ${@bb.utils.contains("DISTRO_FEATURES", "ptest", " features/scsi/scsi-debug.scc", "" ,d)}" diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb index 70a6843263..6e2d655495 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.9.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-modules_2.10.10.bb @@ -11,14 +11,13 @@ inherit module COMPATIBLE_HOST = '(x86_64|i.86|powerpc|aarch64|mips|nios2|arm|riscv).*-linux' -#https://lttng.org/files/lttng-modules/lttng-modules-2.10.7.tar.bz2 SRC_URI = "https://lttng.org/files/${BPN}/${BPN}-${PV}.tar.bz2 \ file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ " -SRC_URI[md5sum] = "09df0ac2e8f245740a2f32411d10c0d1" -SRC_URI[sha256sum] = "a1855bbd02d0f71ebd180e9872309862036624f012442ab9cc5852eb60340145" +SRC_URI[md5sum] = "07c0b1ea4c1dd9d3edba8dc980fd93dd" +SRC_URI[sha256sum] = "e0d031005eef337c62de530a3b5b3e8fb1c732846eefcb23b8978edd2091f6e4" export INSTALL_MOD_DIR="kernel/lttng-modules" @@ -34,3 +33,13 @@ python do_package_prepend() { bb.warn("%s: no modules were created; this may be due to CONFIG_TRACEPOINTS not being enabled in your kernel." % d.getVar('PN')) } +BBCLASSEXTEND = "devupstream:target" +LIC_FILES_CHKSUM_class-devupstream = "file://LICENSE;md5=c4613d1f8a9587bd7b366191830364b3" +DEFAULT_PREFERENCE_class-devupstream = "-1" +SRC_URI_class-devupstream = "git://git.lttng.org/lttng-modules;branch=stable-2.10 \ + file://Makefile-Do-not-fail-if-CONFIG_TRACEPOINTS-is-not-en.patch \ + file://BUILD_RUNTIME_BUG_ON-vs-gcc7.patch \ + " +SRCREV_class-devupstream = "624aca5d7507fbd11ea4a1a474c3aa1031bd9a31" +PV_class-devupstream = "2.10.10+git${SRCPV}" +S_class-devupstream = "${WORKDIR}/git" diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch b/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch new file mode 100644 index 0000000000..784a07940a --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-tools/0008-Fix-check-for-lttng-modules-presence-before-testing.patch @@ -0,0 +1,24 @@ +From 58e4dcce48b48b68b65bffc0cd51d9e26b44c75d Mon Sep 17 00:00:00 2001 +From: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> +Date: Wed, 22 May 2019 16:44:54 -0400 +Subject: [PATCH] Fix: check for lttng modules presence before testing + +Upstream-Status: Submitted [https://lists.lttng.org/pipermail/lttng-dev/2019-May/028987.html] + +Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com> +--- + tests/regression/tools/notification/test_notification_multi_app | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tests/regression/tools/notification/test_notification_multi_app b/tests/regression/tools/notification/test_notification_multi_app +index 29b0f62..a6baf65 100755 +--- a/tests/regression/tools/notification/test_notification_multi_app ++++ b/tests/regression/tools/notification/test_notification_multi_app +@@ -484,6 +484,7 @@ else + fi + + if [ "$(id -u)" == "0" ]; then ++ validate_lttng_modules_present + TESTS+=( + test_multi_app_kernel + test_on_register_evaluation_kernel diff --git a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb index a3fabb20ec..9583ee3abb 100644 --- a/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb +++ b/poky/meta/recipes-kernel/lttng/lttng-tools_2.10.6.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=01d7fc4496aacf37d90df90b90b0cac1 \ DEPENDS = "liburcu popt libxml2 util-linux" RDEPENDS_${PN} = "libgcc" -RDEPENDS_${PN}-ptest += "make perl bash gawk ${PN} babeltrace procps perl-module-overloading coreutils util-linux kmod" +RDEPENDS_${PN}-ptest += "make perl bash gawk babeltrace procps perl-module-overloading coreutils util-linux kmod lttng-modules" RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils" RDEPENDS_${PN}-ptest_append_libc-musl = " musl-utils" # babelstats.pl wants getopt-long @@ -39,6 +39,7 @@ SRC_URI = "https://lttng.org/files/lttng-tools/lttng-tools-${PV}.tar.bz2 \ file://0005-Tests-use-modprobe-to-test-for-the-presence-of-lttng.patch \ file://0006-Tests-check-for-lttng-modules-presence.patch \ file://0007-Fix-getgrnam-is-not-MT-Safe-use-getgrnam_r.patch \ + file://0008-Fix-check-for-lttng-modules-presence-before-testing.patch \ " SRC_URI[md5sum] = "e88c521b5da6bb48a8187af633336ecc" diff --git a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc index 54de722660..c5348b3204 100644 --- a/poky/meta/recipes-kernel/systemtap/systemtap_git.inc +++ b/poky/meta/recipes-kernel/systemtap/systemtap_git.inc @@ -1,7 +1,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRCREV = "90ff34ac0506f0d5440393a4c78565f6aaf9b726" -PV = "4.0" +SRCREV = "984d6d1696ed06626b07cb65ab55d6ae0ece1131" +PV = "4.1" SRC_URI = "git://sourceware.org/git/systemtap.git \ file://configure-allow-to-disable-libvirt.patch \ diff --git a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb index 76cc9627e5..2c63ee7522 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.8.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-lib_1.1.9.bb @@ -8,8 +8,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7 \ " SRC_URI = "https://www.alsa-project.org/files/pub/lib/${BP}.tar.bz2" -SRC_URI[md5sum] = "0eec0d657a07927795809c8f87fb76ca" -SRC_URI[sha256sum] = "3cdc3a93a6427a26d8efab4ada2152e64dd89140d981f6ffa003e85be707aedf" +SRC_URI[md5sum] = "e6d429dbdcfaa0f034d907fa6dc3735e" +SRC_URI[sha256sum] = "488373aef5396682f3a411a6d064ae0ad196b9c96269d0bb912fbdeec94b994b" inherit autotools pkgconfig diff --git a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb index 2d9cc06f58..b94fc5cee3 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.8.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-plugins_1.1.9.bb @@ -21,8 +21,8 @@ LIC_FILES_CHKSUM = "\ " SRC_URI = "https://www.alsa-project.org/files/pub/plugins/${BP}.tar.bz2" -SRC_URI[md5sum] = "d0f87211d1560f2c07c8eae4297bc4f6" -SRC_URI[sha256sum] = "7f77df171685ccec918268477623a39db4d9f32d5dc5e76874ef2467a2405994" +SRC_URI[md5sum] = "e0caffbd849c51ed81751378f56cb563" +SRC_URI[sha256sum] = "161772303da521abbbf1d91f63b470c4791392d5728f2192a42d71292078f907" DEPENDS += "alsa-lib" diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb index fef79d9c9c..fef79d9c9c 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.8.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils-scripts_1.1.9.bb diff --git a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb index 96d54e593a..03b5c8de30 100644 --- a/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.8.bb +++ b/poky/meta/recipes-multimedia/alsa/alsa-utils_1.1.9.bb @@ -21,8 +21,8 @@ PACKAGECONFIG[manpages] = "--enable-xmlto, --disable-xmlto, xmlto-native docbook # alsa-utils specified in SRC_URI due to alsa-utils-scripts recipe SRC_URI = "https://www.alsa-project.org/files/pub/utils/alsa-utils-${PV}.tar.bz2" -SRC_URI[md5sum] = "54d6f9b483144823d0fc0c26e8cea028" -SRC_URI[sha256sum] = "fd9bf528922b3829a91913b89a1858c58a0b24271a7b5f529923aa9ea12fa4cf" +SRC_URI[md5sum] = "5ed21c3e296c06046cc986e732f625f6" +SRC_URI[sha256sum] = "5ddf2cbddb4bd1a4a2a6492a09c25898b08c3ad64893c3655be14194cf0a213a" # On build machines with python-docutils (not python3-docutils !!) installed # rst2man (not rst2man.py) is detected and compile fails with diff --git a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb index 994a792ded..147388d9b7 100644 --- a/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb +++ b/poky/meta/recipes-multimedia/ffmpeg/ffmpeg_4.1.3.bb @@ -63,6 +63,7 @@ PACKAGECONFIG[gsm] = "--enable-libgsm,--disable-libgsm,libgsm" PACKAGECONFIG[jack] = "--enable-indev=jack,--disable-indev=jack,jack" PACKAGECONFIG[libvorbis] = "--enable-libvorbis,--disable-libvorbis,libvorbis" PACKAGECONFIG[lzma] = "--enable-lzma,--disable-lzma,xz" +PACKAGECONFIG[mfx] = "--enable-libmfx,--disable-libmfx,intel-mediasdk" PACKAGECONFIG[mp3lame] = "--enable-libmp3lame,--disable-libmp3lame,lame" PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" PACKAGECONFIG[sdl2] = "--enable-sdl2,--disable-sdl2,virtual/libsdl2" diff --git a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch b/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch deleted file mode 100644 index db742dea23..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/files/0002-gstconfig.h.in-initial-RISC-V-support.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 8a156d1725ecd03f2e8cdc8874e081dda2d3b43d Mon Sep 17 00:00:00 2001 -From: Aurelien Jarno <aurelien@aurel32.net> -Date: Sun, 15 Apr 2018 00:49:55 +0200 -Subject: [PATCH] gstconfig.h.in: initial RISC-V support - -RISC-V supports unaligned accesses, but these might run extremely slowly -depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS -to 0 on this architecture. - -https://bugzilla.gnome.org/show_bug.cgi?id=795271 - -Signed-off-by: Alistair Francis <alistair.francis@wdc.com> -Upstream-Status: Accepted [1.15.1 - https://bugzilla.gnome.org/show_bug.cgi?id=795271] ---- - gst/gstconfig.h.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/gstconfig.h.in b/gst/gstconfig.h.in -index 6351c04da..33dfed1f6 100644 ---- a/gst/gstconfig.h.in -+++ b/gst/gstconfig.h.in -@@ -104,7 +104,7 @@ - * http://docs.oracle.com/cd/E19205-01/820-4155/c++_faq.html#Vers6 - * https://software.intel.com/en-us/node/583402 - */ --#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) -+#if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__) || defined(__riscv) - # define GST_HAVE_UNALIGNED_ACCESS 0 - #elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) - # define GST_HAVE_UNALIGNED_ACCESS 1 diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb index 75ac9b75c1..f2a3afbbfe 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-examples_git.bb @@ -6,11 +6,11 @@ DEPENDS = "glib-2.0 gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins- SRC_URI = "git://gitlab.freedesktop.org/gstreamer/gst-examples.git;protocol=https \ file://0001-Make-player-examples-installable.patch \ - file://gst-player.desktop" + file://gst-player.desktop \ + " -SRCREV = "2b3fc175c252cd5a537e4b2864b572a8372473d6" -PV = "0.0.1+git${SRCPV}" -UPSTREAM_CHECK_COMMITS = "1" +SRCREV = "d953c127c1146b50d5676618299933950685dcd7" +PV = "1.16.0" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb index a4b3b465cc..1f4370619c 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gst-validate_1.16.0.bb @@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343" SRC_URI = "https://gstreamer.freedesktop.org/src/${BPN}/${BP}.tar.xz \ file://0001-connect-has-a-different-signature-on-musl.patch \ " -SRC_URI[md5sum] = "1f4fc5308695adfdc11d13046aa4888c" -SRC_URI[sha256sum] = "18dccca94bdc0bab3cddb07817bd280df7ab4abbec9a83b92620367a22d955c7" +SRC_URI[md5sum] = "c5c57f3325a2e62aae4a8ec4931f7711" +SRC_URI[sha256sum] = "9331ae48a173a048243539730cc7a88607777762dea4aebbc3ab55981e68d6c9" DEPENDS = "json-glib glib-2.0 glib-2.0-native gstreamer1.0 gstreamer1.0-plugins-base" RRECOMMENDS_${PN} = "git" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch index 1d99ad1251..11571aefa1 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-Disable-yasm-for-libav-when-disable-yasm.patch @@ -15,7 +15,7 @@ diff --git a/configure.ac b/configure.ac index 22ede88..ef3c050 100644 --- a/configure.ac +++ b/configure.ac -@@ -305,6 +305,12 @@ else +@@ -355,6 +355,12 @@ else emblibav_configure_args="$emblibav_configure_args --enable-gpl" fi diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch index b80d073946..f182715bda 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/0001-configure-check-for-armv7ve-variant.patch @@ -22,8 +22,8 @@ diff --git a/gst-libs/ext/libav/configure b/gst-libs/ext/libav/configure index 4a5e477..727818e 100755 --- a/gst-libs/ext/libav/configure +++ b/gst-libs/ext/libav/configure -@@ -4295,6 +4295,7 @@ elif enabled arm; then - elif check_arm_arch 6Z; then echo armv6z +@@ -4745,6 +4745,7 @@ elif enabled arm; then + elif check_arm_arch 6KZ; then echo armv6zk elif check_arm_arch 6ZK; then echo armv6zk elif check_arm_arch 6T2; then echo armv6t2 + elif check_arm_arch EXT_IDIV; then echo armv7ve diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch index 7a0b448888..90d042b313 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/mips64_cpu_detection.patch @@ -17,7 +17,7 @@ Index: gst-libav-1.10.1/gst-libs/ext/libav/configure =================================================================== --- gst-libav-1.10.1.orig/gst-libs/ext/libav/configure +++ gst-libav-1.10.1/gst-libs/ext/libav/configure -@@ -5269,12 +5269,9 @@ elif enabled mips; then +@@ -5650,12 +5650,9 @@ elif enabled mips; then # Enable minimum ISA based on selected options if enabled mips64; then diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch index 36abf8607e..4b85356547 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav/workaround-to-build-gst-libav-for-i586-with-gcc.patch @@ -11,7 +11,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- gst-libav-1.4.5.orig/gst-libs/ext/libav/libavcodec/h264_cabac.c +++ gst-libav-1.4.5/gst-libs/ext/libav/libavcodec/h264_cabac.c -@@ -2020,7 +2020,11 @@ decode_intra_mb: +@@ -2057,7 +2057,11 @@ decode_intra_mb: // In deblocking, the quantizer is 0 h->cur_pic.qscale_table[mb_xy] = 0; // All coeffs are present diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb index 5c9c372f04..d94c3215dc 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-libav_1.16.0.bb @@ -19,8 +19,8 @@ SRC_URI = "http://gstreamer.freedesktop.org/src/gst-libav/gst-libav-${PV}.tar.xz file://0001-configure-check-for-armv7ve-variant.patch \ file://0001-fix-host-contamination.patch \ " -SRC_URI[md5sum] = "58342db11dbb201a66a62577dcf7bab5" -SRC_URI[sha256sum] = "dfd78591901df7853eab7e56a86c34a1b03635da0d3d56b89aa577f1897865da" +SRC_URI[md5sum] = "e3a201a45985ddc1327cd496046ca818" +SRC_URI[sha256sum] = "dfac119043a9cfdcacd7acde77f674ab172cf2537b5812be52f49e9cddc53d9a" S = "${WORKDIR}/gst-libav-${PV}" @@ -28,6 +28,11 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base zlib bzip2 xz" inherit autotools pkgconfig upstream-version-is-even gtk-doc +# Disable documentation for now as it is failing with gtk-doc 1.30: +# gst-libav-plugins-docs.sgml:38: element include: XInclude error: +# could not load xml/tree_index.sgml, and no fallback was found +GTKDOC_ENABLED = "False" + # CAUTION: Using the system libav is not recommended. Since the libav API is changing all the time, # compilation errors (and other, more subtle bugs) can happen. It is usually better to rely on the # libav copy included in the gst-libav package. diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb index 39ca1e3854..d94bad36f9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.16.0.bb @@ -9,8 +9,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c \ SRC_URI = "http://gstreamer.freedesktop.org/src/gst-omx/gst-omx-${PV}.tar.xz" -SRC_URI[md5sum] = "81e67ea03be607b7c548ce911598d754" -SRC_URI[sha256sum] = "969870e75c1f75c96f8783530e2c2932fc3afbfd976eb0c466f51dae268ea3d4" +SRC_URI[md5sum] = "c6f8554513980682099a2a9832250b01" +SRC_URI[sha256sum] = "fef77cddc02784608451c46b9def880b63230a246decf8900f2da2ed54a8af4a" S = "${WORKDIR}/gst-omx-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch deleted file mode 100644 index 05b991a8f0..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 7d8e8b8bcce34d01fc7ad7285b4eb17ad8949399 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 11 Apr 2018 11:06:39 +0800 -Subject: [PATCH] Makefile.am: don't hardcode libtool name when running - introspection tools - -Upstream-Status: Pending [review on oe-core list] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Signed-off-by: Maxin B. John <maxin.john@intel.com> ---- - gst-libs/gst/insertbin/Makefile.am | 2 +- - gst-libs/gst/mpegts/Makefile.am | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gst-libs/gst/insertbin/Makefile.am b/gst-libs/gst/insertbin/Makefile.am -index 1f8ea30..4b98ef6 100644 ---- a/gst-libs/gst/insertbin/Makefile.am -+++ b/gst-libs/gst/insertbin/Makefile.am -@@ -45,7 +45,7 @@ GstInsertBin-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstinsertbin-@GS - --library=libgstinsertbin-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-insertbin-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/mpegts/Makefile.am b/gst-libs/gst/mpegts/Makefile.am -index f264e33..9934a4d 100644 ---- a/gst-libs/gst/mpegts/Makefile.am -+++ b/gst-libs/gst/mpegts/Makefile.am -@@ -82,7 +82,7 @@ GstMpegts-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstmpegts-@GST_API_ - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \ - --library=libgstmpegts-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-video-@GST_API_VERSION@ \ - --pkg-export gstreamer-mpegts-@GST_API_VERSION@ \ --- -2.7.4 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch index 357fd78002..32261279a5 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch @@ -16,7 +16,7 @@ diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c index b93255f..49f145a 100644 --- a/sys/dvb/gstdvbsrc.c +++ b/sys/dvb/gstdvbsrc.c -@@ -93,7 +93,7 @@ +@@ -97,7 +97,7 @@ #include <gst/gst.h> #include <gst/glib-compat-private.h> #include <sys/ioctl.h> diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch index ad86329893..25861b6b9d 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/configure-allow-to-disable-libssh2.patch @@ -22,7 +22,7 @@ Index: gst-plugins-bad-1.12.3/configure.ac =================================================================== --- gst-plugins-bad-1.12.3.orig/configure.ac +++ gst-plugins-bad-1.12.3/configure.ac -@@ -2139,6 +2139,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom +@@ -1202,6 +1202,15 @@ AG_GST_CHECK_FEATURE(CHROMAPRINT, [chrom ]) dnl *** Curl *** @@ -38,7 +38,7 @@ Index: gst-plugins-bad-1.12.3/configure.ac translit(dnm, m, l) AM_CONDITIONAL(USE_CURL, true) AG_GST_CHECK_FEATURE(CURL, [Curl plugin], curl, [ PKG_CHECK_MODULES(CURL, libcurl >= 7.35.0, [ -@@ -2161,12 +2170,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin] +@@ -1224,12 +1233,14 @@ AG_GST_CHECK_FEATURE(CURL, [Curl plugin] ]) AC_SUBST(CURL_CFLAGS) AC_SUBST(CURL_LIBS) diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch index 20c9ffcd84..2d5389d953 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/ensure-valid-sentinels-for-gst_structure_get-etc.patch @@ -27,7 +27,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp =================================================================== --- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklink.cpp +++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp -@@ -476,7 +476,7 @@ gst_decklink_mode_get_structure (GstDeck +@@ -617,7 +617,7 @@ gst_decklink_mode_get_structure (GstDeck "pixel-aspect-ratio", GST_TYPE_FRACTION, mode->par_n, mode->par_d, "interlace-mode", G_TYPE_STRING, mode->interlaced ? "interleaved" : "progressive", @@ -36,7 +36,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklink.cpp if (input && mode->interlaced) { if (mode->tff) -@@ -489,16 +489,16 @@ gst_decklink_mode_get_structure (GstDeck +@@ -632,16 +632,16 @@ gst_decklink_mode_get_structure (GstDeck case bmdFormat8BitYUV: /* '2vuy' */ gst_structure_set (s, "format", G_TYPE_STRING, "UYVY", "colorimetry", G_TYPE_STRING, mode->colorimetry, @@ -61,7 +61,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp =================================================================== --- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkaudiosrc.cpp +++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkaudiosrc.cpp -@@ -322,7 +322,7 @@ gst_decklink_audio_src_set_caps (GstBase +@@ -387,7 +387,7 @@ gst_decklink_audio_src_set_caps (GstBase g_mutex_unlock (&self->input->lock); if (videosrc) { @@ -74,7 +74,7 @@ Index: gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp =================================================================== --- gst-plugins-bad-1.10.2.orig/sys/decklink/gstdecklinkvideosink.cpp +++ gst-plugins-bad-1.10.2/sys/decklink/gstdecklinkvideosink.cpp -@@ -163,7 +163,7 @@ reset_framerate (GstCapsFeatures * featu +@@ -285,7 +285,7 @@ reset_framerate (GstCapsFeatures * featu gpointer user_data) { gst_structure_set (structure, "framerate", GST_TYPE_FRACTION_RANGE, 0, 1, diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch index 5ce57714e7..73681f1002 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch @@ -14,7 +14,7 @@ diff --git a/gst-libs/gst/codecparsers/gstvc1parser.c b/gst-libs/gst/codecparser index fd16ee0..ddb890c 100644 --- a/gst-libs/gst/codecparsers/gstvc1parser.c +++ b/gst-libs/gst/codecparsers/gstvc1parser.c -@@ -1729,7 +1729,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, +@@ -1730,7 +1730,7 @@ gst_vc1_parse_sequence_layer (const guint8 * data, gsize size, GstVC1SeqLayer * seqlayer) { guint32 tmp; diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb index 23d093d47c..f676b1f6de 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.16.0.bb @@ -7,10 +7,9 @@ SRC_URI = " \ file://avoid-including-sys-poll.h-directly.patch \ file://ensure-valid-sentinels-for-gst_structure_get-etc.patch \ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \ " -SRC_URI[md5sum] = "5d20a91d027708abcf924f6c1279dd25" -SRC_URI[sha256sum] = "910b4e0e2e897e8b6d06767af1779d70057c309f67292f485ff988d087aa0de5" +SRC_URI[md5sum] = "e9e562d86c1527c44d904500dd35e326" +SRC_URI[sha256sum] = "22139de35626ada6090bdfa3423b27b7fc15a0198331d25c95e6b12cb1072b05" S = "${WORKDIR}/gst-plugins-bad-${PV}" @@ -69,6 +68,7 @@ PACKAGECONFIG[resindvd] = "--enable-resindvd,--disable-resindvd,libdvdrea PACKAGECONFIG[rsvg] = "--enable-rsvg,--disable-rsvg,librsvg" PACKAGECONFIG[rtmp] = "--enable-rtmp,--disable-rtmp,rtmpdump" PACKAGECONFIG[sbc] = "--enable-sbc,--disable-sbc,sbc" +PACKAGECONFIG[sctp] = "--enable-sctp,--disable-sctp,usrsctp" PACKAGECONFIG[smoothstreaming] = "--enable-smoothstreaming,--disable-smoothstreaming,libxml2" PACKAGECONFIG[sndfile] = "--enable-sndfile,--disable-sndfile,libsndfile1" PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp" @@ -84,10 +84,10 @@ PACKAGECONFIG[webrtc] = "--enable-webrtc,--disable-webrtc,libnice" PACKAGECONFIG[webrtcdsp] = "--enable-webrtcdsp,--disable-webrtcdsp,webrtc-audio-processing" # these plugins have no corresponding library in OE-core or meta-openembedded: -# openni2 winks direct3d directsound winscreencap acm apple_media iqa -# android_media avc bs2b chromaprint daala dts fdkaac gme gsm kate ladspa +# openni2 winks direct3d directsound winscreencap apple_media iqa +# android_media avc bs2b chromaprint dts fdkaac gme gsm kate ladspa # lv2 mpeg2enc mplex musepack nvenc ofa opensles soundtouch -# spandsp spc teletextdec vdpau wasapi x265 zbar +# spandsp teletextdec vdpau wasapi wpe x265 zbar EXTRA_OECONF += " \ --enable-decklink \ @@ -96,15 +96,12 @@ EXTRA_OECONF += " \ --enable-ipcpipeline \ --enable-netsim \ --enable-shm \ - --enable-vcd \ - --disable-acm \ --disable-android_media \ --disable-aom \ --disable-apple_media \ --disable-avc \ --disable-bs2b \ --disable-chromaprint \ - --disable-daala \ --disable-direct3d \ --disable-directsound \ --disable-dts \ @@ -125,7 +122,6 @@ EXTRA_OECONF += " \ --disable-opensles \ --disable-soundtouch \ --disable-spandsp \ - --disable-spc \ --disable-srt \ --disable-teletextdec \ --disable-vdpau \ @@ -133,6 +129,7 @@ EXTRA_OECONF += " \ --disable-wildmidi \ --disable-winks \ --disable-winscreencap \ + --disable-wpe \ --disable-x265 \ --disable-zbar \ ${@bb.utils.contains("TUNE_FEATURES", "mx32", "--disable-yadif", "", d)} \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch deleted file mode 100644 index bcada34c40..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch +++ /dev/null @@ -1,167 +0,0 @@ -From 7022b87353a37b78bae7cf0106a4e47913bb5c97 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 5 Apr 2018 10:15:08 +0800 -Subject: [PATCH] Makefile.am: don't hardcode libtool name when running - introspection tools - -Upstream-Status: Pending [review on oe-core maillist] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> - ---- - gst-libs/gst/allocators/Makefile.am | 2 +- - gst-libs/gst/app/Makefile.am | 2 +- - gst-libs/gst/audio/Makefile.am | 2 +- - gst-libs/gst/gl/Makefile.am | 2 +- - gst-libs/gst/pbutils/Makefile.am | 2 +- - gst-libs/gst/riff/Makefile.am | 2 +- - gst-libs/gst/rtp/Makefile.am | 2 +- - gst-libs/gst/rtsp/Makefile.am | 2 +- - gst-libs/gst/sdp/Makefile.am | 2 +- - gst-libs/gst/tag/Makefile.am | 2 +- - gst-libs/gst/video/Makefile.am | 2 +- - 11 files changed, 11 insertions(+), 11 deletions(-) - -diff --git a/gst-libs/gst/allocators/Makefile.am b/gst-libs/gst/allocators/Makefile.am -index 1957d28..1ecc950 100644 ---- a/gst-libs/gst/allocators/Makefile.am -+++ b/gst-libs/gst/allocators/Makefile.am -@@ -42,7 +42,7 @@ GstAllocators-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstallocators-@ - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ - --library=libgstallocators-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg-export gstreamer-allocators-@GST_API_VERSION@ \ - --output $@ \ -diff --git a/gst-libs/gst/app/Makefile.am b/gst-libs/gst/app/Makefile.am -index 52f6ad3..5bfd606 100644 ---- a/gst-libs/gst/app/Makefile.am -+++ b/gst-libs/gst/app/Makefile.am -@@ -56,7 +56,7 @@ GstApp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstapp-@GST_API_VERSIO - --library=libgstapp-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-app-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am -index 2922245..7fb65f2 100644 ---- a/gst-libs/gst/audio/Makefile.am -+++ b/gst-libs/gst/audio/Makefile.am -@@ -184,7 +184,7 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ - --include=GstTag-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-audio-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am -index 4e77e8c..3276d7f 100644 ---- a/gst-libs/gst/gl/Makefile.am -+++ b/gst-libs/gst/gl/Makefile.am -@@ -193,7 +193,7 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ - --include=GstVideo-@GST_API_VERSION@ \ -- --libtool="${LIBTOOL}" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg gstreamer-video-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am -index ae51993..35a6e44 100644 ---- a/gst-libs/gst/pbutils/Makefile.am -+++ b/gst-libs/gst/pbutils/Makefile.am -@@ -103,7 +103,7 @@ GstPbutils-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstpbutils-@GST_AP - --include=GstTag-@GST_API_VERSION@ \ - --include=GstVideo-@GST_API_VERSION@ \ - --include=GstAudio-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-tag-@GST_API_VERSION@ \ - --pkg gstreamer-video-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/riff/Makefile.am b/gst-libs/gst/riff/Makefile.am -index fb53f06..e66ef4f 100644 ---- a/gst-libs/gst/riff/Makefile.am -+++ b/gst-libs/gst/riff/Makefile.am -@@ -49,7 +49,7 @@ libgstriff_@GST_API_VERSION@_la_LDFLAGS = $(GST_LIB_LDFLAGS) $(GST_ALL_LDFLAGS) - # --include=GstAudio-@GST_API_VERSION@ \ - # --include=GstTag-@GST_API_VERSION@ \ - # --include=Gst-@GST_API_VERSION@ \ --# --libtool="$(top_builddir)/libtool" \ -+# --libtool="$(LIBTOOL)" \ - # --pkg gstreamer-@GST_API_VERSION@ \ - # --pkg gstreamer-tag-@GST_API_VERSION@ \ - # --pkg gstreamer-audio-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am -index a6f971d..77ebeeb 100644 ---- a/gst-libs/gst/rtp/Makefile.am -+++ b/gst-libs/gst/rtp/Makefile.am -@@ -69,7 +69,7 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO - --library=libgstrtp-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-rtp-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am -index ceb07f4..db9d0fd 100644 ---- a/gst-libs/gst/rtsp/Makefile.am -+++ b/gst-libs/gst/rtsp/Makefile.am -@@ -76,7 +76,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS - --include=Gio-2.0 \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstSdp-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gio-2.0 \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-sdp-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am -index e197e9b..6e05cc7 100644 ---- a/gst-libs/gst/sdp/Makefile.am -+++ b/gst-libs/gst/sdp/Makefile.am -@@ -34,7 +34,7 @@ GstSdp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstsdp-@GST_API_VERSIO - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ - --library=libgstsdp-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg-export gstreamer-sdp-@GST_API_VERSION@ \ - --output $@ \ -diff --git a/gst-libs/gst/tag/Makefile.am b/gst-libs/gst/tag/Makefile.am -index 0247c33..c86515b 100644 ---- a/gst-libs/gst/tag/Makefile.am -+++ b/gst-libs/gst/tag/Makefile.am -@@ -66,7 +66,7 @@ GstTag-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgsttag-@GST_API_VERSIO - --library=libgsttag-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-tag-@GST_API_VERSION@ \ -diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am -index 9fc1ccf..0f8455f 100644 ---- a/gst-libs/gst/video/Makefile.am -+++ b/gst-libs/gst/video/Makefile.am -@@ -124,7 +124,7 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE - --library=libgstvideo-@GST_API_VERSION@.la \ - --include=Gst-@GST_API_VERSION@ \ - --include=GstBase-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg-export gstreamer-video-@GST_API_VERSION@ \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch index 2e1190ba01..08cbfb7c2a 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch @@ -34,7 +34,7 @@ index 1ecc950..d6417ac 100644 + --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ --library=libgstallocators-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ - --libtool="$(LIBTOOL)" \ + --libtool="${LIBTOOL}" \ @@ -63,7 +63,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ @@ -63,7 +63,7 @@ diff --git a/gst-libs/gst/audio/Makefile.am b/gst-libs/gst/audio/Makefile.am index 7fb65f2..5379f79 100644 --- a/gst-libs/gst/audio/Makefile.am +++ b/gst-libs/gst/audio/Makefile.am -@@ -174,12 +174,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE +@@ -176,12 +176,12 @@ GstAudio-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstaudio-@GST_API_VE -I$(top_srcdir)/gst-libs \ -I$(top_builddir)/gst-libs \ --c-include "gst/audio/audio.h" \ @@ -80,7 +80,7 @@ index 7fb65f2..5379f79 100644 --library-path="$(top_builddir)/gst-libs/gst/tag/" \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -208,8 +208,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -210,8 +210,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) --includedir=$(srcdir) \ --includedir=$(builddir) \ --includedir="$(top_builddir)/gst-libs/gst/tag/" \ @@ -95,7 +95,7 @@ diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am index 3276d7f..0cdfe26 100644 --- a/gst-libs/gst/gl/Makefile.am +++ b/gst-libs/gst/gl/Makefile.am -@@ -186,9 +186,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ +@@ -209,9 +209,9 @@ GstGL-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstgl-@GST_API_VERSION@ $(GST_PLUGINS_BASE_CFLAGS) \ $(GL_CFLAGS) \ --add-include-path="$(top_builddir)/gst-libs/gst/video/" \ @@ -107,7 +107,7 @@ index 3276d7f..0cdfe26 100644 --library=libgstgl-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -218,8 +218,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -241,8 +241,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) --includedir=$(srcdir) \ --includedir=$(builddir) \ --includedir="$(top_builddir)/gst-libs/gst/video/" \ @@ -117,7 +117,7 @@ index 3276d7f..0cdfe26 100644 + --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) - CLEANFILES = $(BUILT_GIRSOURCES) $(typelibs_DATA) + CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) diff --git a/gst-libs/gst/pbutils/Makefile.am b/gst-libs/gst/pbutils/Makefile.am index 35a6e44..49d6894 100644 --- a/gst-libs/gst/pbutils/Makefile.am @@ -182,7 +182,7 @@ diff --git a/gst-libs/gst/rtp/Makefile.am b/gst-libs/gst/rtp/Makefile.am index 77ebeeb..9aee788 100644 --- a/gst-libs/gst/rtp/Makefile.am +++ b/gst-libs/gst/rtp/Makefile.am -@@ -64,8 +64,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO +@@ -66,8 +66,8 @@ GstRtp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtp-@GST_API_VERSIO --c-include "gst/rtp/rtp.h" \ -I$(top_builddir)/gst-libs \ -I$(top_srcdir)/gst-libs \ @@ -193,7 +193,7 @@ index 77ebeeb..9aee788 100644 --library=libgstrtp-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -92,8 +92,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -94,8 +94,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ --includedir=$(builddir) \ @@ -208,24 +208,17 @@ diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am index db9d0fd..79027cb 100644 --- a/gst-libs/gst/rtsp/Makefile.am +++ b/gst-libs/gst/rtsp/Makefile.am -@@ -71,7 +71,7 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS +@@ -71,8 +71,8 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS -I$(top_builddir)/gst-libs \ -I$(top_srcdir)/gst-libs \ --add-include-path=$(builddir)/../sdp \ - --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ +- --add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ + --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ ++ --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \ --library=libgstrtsp-@GST_API_VERSION@.la \ --include=Gio-2.0 \ --include=Gst-@GST_API_VERSION@ \ -@@ -101,7 +101,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) - --includedir=$(srcdir) \ - --includedir=$(builddir) \ - --includedir=$(builddir)/../sdp \ -- --includedir=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ -+ --includedir=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ - $(INTROSPECTION_COMPILER_OPTS) $< -o $(@F) - - CLEANFILES += $(BUILT_GIRSOURCES) $(typelibs_DATA) diff --git a/gst-libs/gst/sdp/Makefile.am b/gst-libs/gst/sdp/Makefile.am index 6e05cc7..c7cf514 100644 --- a/gst-libs/gst/sdp/Makefile.am @@ -238,7 +231,7 @@ index 6e05cc7..c7cf514 100644 + --add-include-path=$(PKG_CONFIG_SYSROOT_DIR)`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \ --library=libgstsdp-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ - --libtool="$(LIBTOOL)" \ + --libtool="${LIBTOOL}" \ @@ -55,7 +55,7 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ @@ -278,7 +271,7 @@ diff --git a/gst-libs/gst/video/Makefile.am b/gst-libs/gst/video/Makefile.am index 0f8455f..8c9955c 100644 --- a/gst-libs/gst/video/Makefile.am +++ b/gst-libs/gst/video/Makefile.am -@@ -119,8 +119,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE +@@ -124,8 +124,8 @@ GstVideo-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvideo-@GST_API_VE --c-include "gst/video/video.h" \ -I$(top_srcdir)/gst-libs \ -I$(top_builddir)/gst-libs \ @@ -289,7 +282,7 @@ index 0f8455f..8c9955c 100644 --library=libgstvideo-@GST_API_VERSION@.la \ --include=Gst-@GST_API_VERSION@ \ --include=GstBase-@GST_API_VERSION@ \ -@@ -147,8 +147,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) +@@ -152,8 +152,8 @@ typelibs_DATA = $(BUILT_GIRSOURCES:.gir=.typelib) $(INTROSPECTION_COMPILER) \ --includedir=$(srcdir) \ --includedir=$(builddir) \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch index aaeb611fec..97a0d68cfb 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch @@ -15,10 +15,10 @@ diff --git a/gst-libs/gst/rtsp/Makefile.am b/gst-libs/gst/rtsp/Makefile.am index 79027cb..2987e23 100644 --- a/gst-libs/gst/rtsp/Makefile.am +++ b/gst-libs/gst/rtsp/Makefile.am -@@ -79,7 +79,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS - --libtool="$(LIBTOOL)" \ +@@ -82,7 +82,6 @@ GstRtsp-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtsp-@GST_API_VERS --pkg gio-2.0 \ --pkg gstreamer-@GST_API_VERSION@ \ + --pkg gstreamer-base-@GST_API_VERSION@ \ - --pkg gstreamer-sdp-@GST_API_VERSION@ \ --pkg-export gstreamer-rtsp-@GST_API_VERSION@ \ --add-init-section="$(INTROSPECTION_INIT)" \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch new file mode 100644 index 0000000000..6e53d2e8b5 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0005-viv-fb-Make-sure-config.h-is-included.patch @@ -0,0 +1,32 @@ +From bec38a0c2e2958927c42b2f9ae939969b7c4a326 Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani <crg7475@mailbox.org> +Date: Tue, 21 May 2019 14:01:11 +0200 +Subject: [PATCH] viv-fb: Make sure config.h is included + +This prevents build errors due to missing GST_API_* symbols + +Upstream-Status: Pending + +Signed-off-by: Carlos Rafael Giani <crg7475@mailbox.org> +--- + gst-libs/gst/gl/gl-prelude.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/gst-libs/gst/gl/gl-prelude.h b/gst-libs/gst/gl/gl-prelude.h +index 05e1f6229..96ce5e685 100644 +--- a/gst-libs/gst/gl/gl-prelude.h ++++ b/gst-libs/gst/gl/gl-prelude.h +@@ -22,6 +22,10 @@ + #ifndef __GST_GL_PRELUDE_H__ + #define __GST_GL_PRELUDE_H__ + ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ + #include <gst/gst.h> + + #ifdef BUILDING_GST_GL +-- +2.17.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch index c81fb0f6aa..e8094f459e 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0009-glimagesink-Downrank-to-marginal.patch @@ -18,7 +18,7 @@ diff --git a/ext/gl/gstopengl.c b/ext/gl/gstopengl.c index a4b2540..0ccaacd 100644 --- a/ext/gl/gstopengl.c +++ b/ext/gl/gstopengl.c -@@ -118,7 +118,7 @@ plugin_init (GstPlugin * plugin) +@@ -127,7 +127,7 @@ plugin_init (GstPlugin * plugin) #endif if (!gst_element_register (plugin, "glimagesink", diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch deleted file mode 100644 index 45ba50750d..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch +++ /dev/null @@ -1,70 +0,0 @@ -From a1b59ca6b1781442f37ffc1b697635db126b3a22 Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani <dv@pseudoterminal.org> -Date: Thu, 19 Jul 2018 10:30:54 +0200 -Subject: [PATCH] gl: Add switch for explicitely enabling/disabling GBM support - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833] - -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> ---- - m4/gst-gl.m4 | 30 ++++++++++++++++++++++++++++-- - 1 file changed, 28 insertions(+), 2 deletions(-) - -diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 -index 1e9724094..aca5295cc 100644 ---- a/m4/gst-gl.m4 -+++ b/m4/gst-gl.m4 -@@ -117,6 +117,15 @@ AC_ARG_ENABLE([dispmanx], - *) AC_MSG_ERROR([bad value ${enableval} for --enable-dispmanx]) ;; - esac],[NEED_DISPMANX=auto]) - -+AC_ARG_ENABLE([gbm], -+ [ --enable-gbm Enable Mesa3D GBM support (requires EGL) @<:@default=auto@:>@], -+ [case "${enableval}" in -+ yes) NEED_GBM=yes ;; -+ no) NEED_GBM=no ;; -+ auto) NEED_GBM=auto ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;; -+ esac],[NEED_GBM=auto]) -+ - AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb) - save_CPPFLAGS="$CPPFLAGS" - save_LIBS="$LIBS" -@@ -172,15 +181,32 @@ case $host in - AC_CHECK_LIB([EGL], [fbGetDisplay], [HAVE_VIV_FB_EGL=yes]) - fi - -- if test "x$HAVE_EGL" = "xyes"; then -+ if test "x$NEED_GBM" != "xno"; then -+ if test "x$HAVE_EGL" = "xyes"; then - PKG_CHECK_MODULES(DRM, libdrm >= 2.4.55, HAVE_DRM=yes, HAVE_DRM=no) - AC_SUBST(DRM_CFLAGS) - AC_SUBST(DRM_LIBS) -+ if test "x$NEED_GBM" = "xyes"; then -+ if test "x$HAVE_DRM" = "xno"; then -+ AC_MSG_ERROR([GBM support requested but libdrm is not available]) -+ fi -+ if test "x$HAVE_GUDEV" = "xno"; then -+ AC_MSG_ERROR([GBM support requested but gudev is not available]) -+ fi -+ fi - if test "x$HAVE_DRM" = "xyes" -a "x$HAVE_GUDEV" = "xyes"; then - PKG_CHECK_MODULES(GBM, gbm, HAVE_GBM_EGL=yes, HAVE_GBM_EGL=no) -+ if test "x$HAVE_GBM_EGL" = "xno" -a "x$NEED_GBM" = "xyes"; then -+ AC_MSG_ERROR([GBM support requested but gbm library is not available]) -+ fi - AC_SUBST(GBM_CFLAGS) - AC_SUBST(GBM_LIBS) -- fi -+ fi -+ elif test "x$NEED_GBM" = "xyes"; then -+ AC_MSG_ERROR([GBM support requested but EGL is not available]) -+ else -+ AC_MSG_NOTICE([GBM support requested but EGL is not available; not enabling GBM support]) -+ fi - fi - - dnl FIXME: Mali EGL depends on GLESv1 or GLESv2 --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch deleted file mode 100644 index 65d191a396..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 092aadfc1df69c46d920b0cd39f98d363d6988b3 Mon Sep 17 00:00:00 2001 -From: Carlos Rafael Giani <dv@pseudoterminal.org> -Date: Thu, 19 Jul 2018 11:16:05 +0200 -Subject: [PATCH] gl: Add switches for explicitely enabling/disabling PNG and - JPEG support - -Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=796833] - -Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org> ---- - m4/gst-gl.m4 | 66 ++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 46 insertions(+), 20 deletions(-) - -diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 -index 20b2233de..f8809981c 100644 ---- a/m4/gst-gl.m4 -+++ b/m4/gst-gl.m4 -@@ -126,6 +126,24 @@ AC_ARG_ENABLE([gbm], - *) AC_MSG_ERROR([bad value ${enableval} for --enable-gbm]) ;; - esac],[NEED_GBM=auto]) - -+AC_ARG_ENABLE([png], -+ [ --enable-png Enable libpng support @<:@default=auto@:>@], -+ [case "${enableval}" in -+ yes) NEED_PNG=yes ;; -+ no) NEED_PNG=no ;; -+ auto) NEED_PNG=auto ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-png]) ;; -+ esac],[NEED_PNG=auto]) -+ -+AC_ARG_ENABLE([jpeg], -+ [ --enable-jpeg Enable libjpeg support @<:@default=auto@:>@], -+ [case "${enableval}" in -+ yes) NEED_JPEG=yes ;; -+ no) NEED_JPEG=no ;; -+ auto) NEED_JPEG=auto ;; -+ *) AC_MSG_ERROR([bad value ${enableval} for --enable-jpeg]) ;; -+ esac],[NEED_JPEG=auto]) -+ - AG_GST_PKG_CHECK_MODULES(X11_XCB, x11-xcb) - save_CPPFLAGS="$CPPFLAGS" - save_LIBS="$LIBS" -@@ -1043,9 +1061,13 @@ dnl Needed by plugins that use g_module_*() API - PKG_CHECK_MODULES(GMODULE_NO_EXPORT, gmodule-no-export-2.0) - - dnl libpng is optional --PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) --if test "x$HAVE_PNG" = "xyes"; then -- AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) -+if test "x$NEED_PNG" != "xno"; then -+ PKG_CHECK_MODULES(LIBPNG, libpng >= 1.0, HAVE_PNG=yes, HAVE_PNG=no) -+ if test "x$HAVE_PNG" = "xyes"; then -+ AC_DEFINE(HAVE_PNG, [1] , [Use libpng]) -+ elif test "x$NEED_PNG" = "xyes"; then -+ AC_MSG_ERROR([libpng support requested but libpng is not available]) -+ fi - fi - AC_SUBST(HAVE_PNG) - AC_SUBST(LIBPNG_LIBS) -@@ -1053,25 +1075,29 @@ AC_SUBST(LIBPNG_CFLAGS) - - dnl libjpeg is optional - AC_ARG_WITH(jpeg-mmx, [ --with-jpeg-mmx, path to MMX'ified JPEG library]) --OLD_LIBS="$LIBS" --if test x$with_jpeg_mmx != x; then -- LIBS="$LIBS -L$with_jpeg_mmx" --fi --AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") --JPEG_LIBS="$LIBS -ljpeg-mmx" --LIBS="$OLD_LIBS" --if test x$HAVE_JPEG != xyes; then -- JPEG_LIBS="-ljpeg" -- AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") --fi -+if test "x$NEED_JPEG" != "xno"; then -+ OLD_LIBS="$LIBS" -+ if test x$with_jpeg_mmx != x; then -+ LIBS="$LIBS -L$with_jpeg_mmx" -+ fi -+ AC_CHECK_LIB(jpeg-mmx, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") -+ JPEG_LIBS="$LIBS -ljpeg-mmx" -+ LIBS="$OLD_LIBS" -+ if test x$HAVE_JPEG != xyes; then -+ JPEG_LIBS="-ljpeg" -+ AC_CHECK_LIB(jpeg, jpeg_set_defaults, HAVE_JPEG="yes", HAVE_JPEG="no") -+ fi - --if test x$HAVE_JPEG = xyes; then -- AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) --else -- JPEG_LIBS= -+ if test x$HAVE_JPEG = xyes; then -+ AC_DEFINE(HAVE_JPEG, [1], [Use libjpeg]) -+ elif test "x$NEED_JPEG" = "xyes"; then -+ AC_MSG_ERROR([libjpeg support requested but libjpeg is not available]) -+ else -+ JPEG_LIBS= -+ fi -+ AC_SUBST(JPEG_LIBS) -+ AC_SUBST(HAVE_JPEG) - fi --AC_SUBST(JPEG_LIBS) --AC_SUBST(HAVE_JPEG) - ]) - - dnl -------------------------------------------------------------------------- --- -2.17.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch index d5a7f6bdc2..34f7c2284f 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base/link-with-libvchostif.patch @@ -31,7 +31,7 @@ diff --git a/m4/gst-gl.m4 b/m4/gst-gl.m4 index 1e97240..ab7774c 100644 --- a/m4/gst-gl.m4 +++ b/m4/gst-gl.m4 -@@ -231,7 +231,7 @@ case $host in +@@ -275,7 +275,7 @@ case $host in HAVE_EGL=yes HAVE_GLES2=yes HAVE_EGL_RPI=yes diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb index f3e6daf564..1d6f15e9c1 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.16.0.bb @@ -1,8 +1,7 @@ require gstreamer1.0-plugins.inc LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM = "file://COPYING;md5=c54ce9345727175ff66d17b67ff51f58 \ - file://COPYING.LIB;md5=6762ed442b3822387a51c92d928ead0d \ +LIC_FILES_CHKSUM = "file://COPYING;md5=6762ed442b3822387a51c92d928ead0d \ file://common/coverage/coverage-report.pl;beginline=2;endline=17;md5=a4e1830fce078028c8f0974161272607" SRC_URI = " \ @@ -11,18 +10,16 @@ SRC_URI = " \ file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch \ file://make-gio_unix_2_0-dependency-configurable.patch \ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ - file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch \ file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch \ file://0003-riff-add-missing-include-directories-when-calling-in.patch \ file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch \ + file://0005-viv-fb-Make-sure-config.h-is-included.patch \ file://0009-glimagesink-Downrank-to-marginal.patch \ file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \ - file://0010-gl-Add-switch-for-explicitely-enabling-disabling-GBM.patch \ - file://0011-gl-Add-switches-for-explicitely-enabling-disabling-P.patch \ file://link-with-libvchostif.patch \ " -SRC_URI[md5sum] = "4dbe20c1bf44191c2b8833234df5cb2a" -SRC_URI[sha256sum] = "ca6139490e48863e7706d870ff4e8ac9f417b56f3b9e4b3ce490c13b09a77461" +SRC_URI[md5sum] = "41dde92930710c75cdb49169c5cc6dfc" +SRC_URI[sha256sum] = "4093aa7b51e28fb24dfd603893fead8d1b7782f088b05ed0f22a21ef176fb5ae" S = "${WORKDIR}/gst-plugins-base-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch deleted file mode 100644 index a2cbb70fe9..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch +++ /dev/null @@ -1,62 +0,0 @@ -From c782a30482908a4b4dd9cd4abff9f9bc4016698f Mon Sep 17 00:00:00 2001 -From: Song Bing <b06498@freescale.com> -Date: Tue, 5 Aug 2014 14:40:46 +0800 -Subject: [PATCH] gstrtpmp4gpay: set dafault value for MPEG4 without codec - data in caps. - -https://bugzilla.gnome.org/show_bug.cgi?id=734263 - -Upstream-Status: Submitted - -Signed-off-by: Song Bing <b06498@freescale.com> ---- - gst/rtp/gstrtpmp4gpay.c | 19 ++++++++++++++++++- - 1 file changed, 18 insertions(+), 1 deletion(-) - -diff --git a/gst/rtp/gstrtpmp4gpay.c b/gst/rtp/gstrtpmp4gpay.c -index 7913d9a..1749d39 100644 ---- a/gst/rtp/gstrtpmp4gpay.c -+++ b/gst/rtp/gstrtpmp4gpay.c -@@ -391,6 +391,7 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps) - const GValue *codec_data; - const gchar *media_type = NULL; - gboolean res; -+ const gchar *name; - - rtpmp4gpay = GST_RTP_MP4G_PAY (payload); - -@@ -401,7 +402,6 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps) - GST_LOG_OBJECT (rtpmp4gpay, "got codec_data"); - if (G_VALUE_TYPE (codec_data) == GST_TYPE_BUFFER) { - GstBuffer *buffer; -- const gchar *name; - - buffer = gst_value_get_buffer (codec_data); - GST_LOG_OBJECT (rtpmp4gpay, "configuring codec_data"); -@@ -427,6 +427,23 @@ gst_rtp_mp4g_pay_setcaps (GstRTPBasePayload * payload, GstCaps * caps) - - rtpmp4gpay->config = gst_buffer_copy (buffer); - } -+ } else { -+ name = gst_structure_get_name (structure); -+ -+ if (!strcmp (name, "video/mpeg")) { -+ rtpmp4gpay->profile = g_strdup ("1"); -+ -+ /* fixed rate */ -+ rtpmp4gpay->rate = 90000; -+ /* video stream type */ -+ rtpmp4gpay->streamtype = "4"; -+ /* no params for video */ -+ rtpmp4gpay->params = NULL; -+ /* mode */ -+ rtpmp4gpay->mode = "generic"; -+ -+ media_type = "video"; -+ } - } - if (media_type == NULL) - goto config_failed; --- -1.7.9.5 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch new file mode 100644 index 0000000000..caa080c8e7 --- /dev/null +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch @@ -0,0 +1,37 @@ +From aadfa5f20f53601785e417fe3fcbe6d574880988 Mon Sep 17 00:00:00 2001 +From: Philippe Normand <philn@igalia.com> +Date: Tue, 23 Apr 2019 10:10:01 +0100 +Subject: [PATCH] scaletempo: Advertise interleaved layout in caps templates + +Scaletempo doesn't support non-interleaved layout. Not explicitely stating this +would trigger critical warnings and a caps negotiation failure when scaletempo +is used as playbin audio-filter. + +Patch suggested by George Kiagiadakis <george.kiagiadakis@collabora.com>. + +Fixes #591 +Upstream-Status: Backport [merged, on track for 1.16.1.] +--- + gst/audiofx/gstscaletempo.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/gst/audiofx/gstscaletempo.c b/gst/audiofx/gstscaletempo.c +index 3a719719a..83ee8fe24 100644 +--- a/gst/audiofx/gstscaletempo.c ++++ b/gst/audiofx/gstscaletempo.c +@@ -93,9 +93,9 @@ enum + + #define SUPPORTED_CAPS \ + GST_STATIC_CAPS ( \ +- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F32)) "; " \ +- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F64)) "; " \ +- GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (S16)) \ ++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F32)) ", layout=(string)interleaved; " \ ++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (F64)) ", layout=(string)interleaved; " \ ++ GST_AUDIO_CAPS_MAKE (GST_AUDIO_NE (S16)) ", layout=(string)interleaved" \ + ) + + static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink", +-- +2.20.1 + diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch deleted file mode 100644 index c7f3630eca..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 4bfe2c8570a4a7080ec662504882969054d8a072 Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <armccurdy@gmail.com> -Date: Wed, 3 Feb 2016 18:12:38 -0800 -Subject: [PATCH] avoid including <sys/poll.h> directly - -musl libc generates warnings if <sys/poll.h> is included directly. - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> ---- - ext/raw1394/gstdv1394src.c | 2 +- - ext/raw1394/gsthdv1394src.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c -index dbc7607..3c42b41 100644 ---- a/ext/raw1394/gstdv1394src.c -+++ b/ext/raw1394/gstdv1394src.c -@@ -37,7 +37,7 @@ - #include "config.h" - #endif - #include <unistd.h> --#include <sys/poll.h> -+#include <poll.h> - #include <sys/socket.h> - #include <errno.h> - #include <fcntl.h> -diff --git a/ext/raw1394/gsthdv1394src.c b/ext/raw1394/gsthdv1394src.c -index 0b07a37..9785a15 100644 ---- a/ext/raw1394/gsthdv1394src.c -+++ b/ext/raw1394/gsthdv1394src.c -@@ -36,7 +36,7 @@ - #include "config.h" - #endif - #include <unistd.h> --#include <sys/poll.h> -+#include <poll.h> - #include <sys/socket.h> - #include <errno.h> - #include <fcntl.h> --- -1.9.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch deleted file mode 100644 index bc7ac0b6a1..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/ensure-valid-sentinel-for-gst_structure_get.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 2169f2205c0205a220d826d7573e5a863bd36e0a Mon Sep 17 00:00:00 2001 -From: Andre McCurdy <armccurdy@gmail.com> -Date: Tue, 9 Feb 2016 14:00:00 -0800 -Subject: [PATCH] ensure valid sentinal for gst_structure_get() - -gst_structure_get() is declared with G_GNUC_NULL_TERMINATED, ie -__attribute__((__sentinel__)), which means gcc will generate a -warning if the last parameter passed to the function is not NULL -(where a valid NULL in this context is defined as zero with any -pointer type). - -The C code callers to gst_structure_get() within gst-plugins-good -use the C NULL definition (ie ((void*)0)), which is a valid sentinel. - -However gstid3v2mux.cc uses the C++ NULL definition (ie 0L), which -is not a valid sentinel without an explicit cast to a pointer type. - -Upstream-Status: Pending - -Signed-off-by: Andre McCurdy <armccurdy@gmail.com> ---- - ext/taglib/gstid3v2mux.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ext/taglib/gstid3v2mux.cc b/ext/taglib/gstid3v2mux.cc -index 8651e77..a87234f 100644 ---- a/ext/taglib/gstid3v2mux.cc -+++ b/ext/taglib/gstid3v2mux.cc -@@ -465,7 +465,7 @@ add_image_tag (ID3v2::Tag * id3v2tag, const GstTagList * list, - - if (info_struct) { - if (gst_structure_get (info_struct, "image-type", -- GST_TYPE_TAG_IMAGE_TYPE, &image_type, NULL)) { -+ GST_TYPE_TAG_IMAGE_TYPE, &image_type, (void *) NULL)) { - if (image_type > 0 && image_type <= 18) { - image_type += 2; - } else { --- -1.9.1 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb index 8306605796..ad831ed25c 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.16.0.bb @@ -2,14 +2,12 @@ require gstreamer1.0-plugins.inc SRC_URI = " \ http://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-${PV}.tar.xz \ - file://0001-gstrtpmp4gpay-set-dafault-value-for-MPEG4-without-co.patch \ - file://avoid-including-sys-poll.h-directly.patch \ - file://ensure-valid-sentinel-for-gst_structure_get.patch \ + file://0001-scaletempo-Advertise-interleaved-layout-in-caps-temp.patch \ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ " -SRC_URI[md5sum] = "6e3b247097366cf2639f22abfece7113" -SRC_URI[sha256sum] = "5f8b553260cb0aac56890053d8511db1528d53cae10f0287cfce2cb2acc70979" +SRC_URI[md5sum] = "d1a7b442994d9522418de4af4330e034" +SRC_URI[sha256sum] = "654adef33380d604112f702c2927574cfc285e31307b79e584113858838bb0fd" S = "${WORKDIR}/gst-plugins-good-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb index 168e64d84c..11a0e790ea 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-ugly_1.16.0.bb @@ -10,8 +10,8 @@ SRC_URI = " \ http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-${PV}.tar.xz \ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ " -SRC_URI[md5sum] = "90768a0074db071175ce980064d9a1ac" -SRC_URI[sha256sum] = "ac02d837f166c35ff6ce0738e281680d0b90052cfb1f0255dcf6aaca5f0f6d23" +SRC_URI[md5sum] = "1ec343c58d4b17d682f7befa8453c11c" +SRC_URI[sha256sum] = "e30964c5f031c32289e0b25e176c3c95a5737f2052dfc81d0f7427ef0233a4c2" S = "${WORKDIR}/gst-plugins-ugly-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb index 048aaf4413..0f3aac1906 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.16.0.bb @@ -6,8 +6,8 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://COPYING;md5=c34deae4e395ca07e725ab0076a5f740" SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz" -SRC_URI[md5sum] = "d4c0e3915f547feef49208ee08981e5a" -SRC_URI[sha256sum] = "d0fdb24f93b6d889f309d2f526b8ea9577e0084ff0a62b4623ef1aed52e85a1b" +SRC_URI[md5sum] = "877b2ed2aaffdb62e63f38ea9469b70f" +SRC_URI[sha256sum] = "55dc7aaed1855565f9b9ef842d93e93bfc5cb2b376faef6af5b463e1774e2d38" DEPENDS = "gstreamer1.0 python3-pygobject" RDEPENDS_${PN} += "gstreamer1.0 python3-pygobject" @@ -22,16 +22,10 @@ UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspe inherit autotools pkgconfig distutils3-base upstream-version-is-even gobject-introspection distro_features_check +EXTRA_OECONF += "--with-libpython-dir=${libdir}" + do_install_append() { - # gstpythonplugin hardcodes the location of the libpython from the build - # workspace and then fails at runtime. We can override it using - # --with-libpython-dir=${libdir}, but it still fails because it looks for a - # symlinked library ending in .so instead of the actually library with - # LIBNAME.so.MAJOR.MINOR. Although we could patch the code to use the path - # we want, it will break again if the library version ever changes. We need - # to think about the best way of handling this and possibly consult - # upstream. - # + # Note that this particular find line is taken from the Debian packaging for # gst-python1.0. find "${D}" \ diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch deleted file mode 100644 index 89d6384adb..0000000000 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server/0001-Don-t-hardcode-libtool-name-when-using-introspection.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 4a12569e5ae5be63cd92a9b178860026a99746b1 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 27 Oct 2015 16:55:45 +0200 -Subject: [PATCH] Don't hardcode libtool name when using introspection - -Upstream-Status: Pending [review on oe-core maillist] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - gst/rtsp-server/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/gst/rtsp-server/Makefile.am b/gst/rtsp-server/Makefile.am -index 4fcd366..c67f5ab 100644 ---- a/gst/rtsp-server/Makefile.am -+++ b/gst/rtsp-server/Makefile.am -@@ -87,7 +87,7 @@ GstRtspServer-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstrtspserver-@ - --include=Gst-@GST_API_VERSION@ \ - --include=GstRtsp-@GST_API_VERSION@ \ - --include=GstNet-@GST_API_VERSION@ \ -- --libtool="$(top_builddir)/libtool" \ -+ --libtool="$(LIBTOOL)" \ - --pkg gstreamer-@GST_API_VERSION@ \ - --pkg gstreamer-rtsp-@GST_API_VERSION@ \ - --pkg gstreamer-net-@GST_API_VERSION@ \ --- -2.1.4 - diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb index 7efc1b3534..042938b88e 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-rtsp-server_1.16.0.bb @@ -9,13 +9,12 @@ DEPENDS = "gstreamer1.0 gstreamer1.0-plugins-base" PNREAL = "gst-rtsp-server" SRC_URI = "http://gstreamer.freedesktop.org/src/${PNREAL}/${PNREAL}-${PV}.tar.xz \ - file://0001-Don-t-hardcode-libtool-name-when-using-introspection.patch \ file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \ file://gtk-doc-tweaks.patch \ " -SRC_URI[md5sum] = "ab0fb5c829266a500e14b46b7bdf06bf" -SRC_URI[sha256sum] = "3d0ece2afdcd601c175ece24e32a30bc19247b454f4eafd3deeec2533c6884f1" +SRC_URI[md5sum] = "adc4460239ec2eccf58ad9752ce53bfd" +SRC_URI[sha256sum] = "198e9eec1a3e32dc810d3fbf3a714850a22c6288d4a5c8e802c5ff984af03f19" S = "${WORKDIR}/${PNREAL}-${PV}" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch index c861f3bed2..7945a923c9 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi/0001-vaapsink-downgrade-to-marginal.patch @@ -24,7 +24,7 @@ diff --git a/gst/vaapi/gstvaapi.c b/gst/vaapi/gstvaapi.c index 9a82454..4d94f2b 100644 --- a/gst/vaapi/gstvaapi.c +++ b/gst/vaapi/gstvaapi.c -@@ -210,7 +210,6 @@ plugin_init (GstPlugin * plugin) +@@ -195,7 +195,6 @@ plugin_init (GstPlugin * plugin) { GstVaapiDisplay *display; GArray *decoders; @@ -32,7 +32,7 @@ index 9a82454..4d94f2b 100644 plugin_add_dependencies (plugin); -@@ -235,10 +234,7 @@ plugin_init (GstPlugin * plugin) +@@ -220,10 +219,7 @@ plugin_init (GstPlugin * plugin) gst_element_register (plugin, "vaapidecodebin", GST_RANK_PRIMARY + 2, GST_TYPE_VAAPI_DECODE_BIN); diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb index 3896434104..e5dfb61241 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0-vaapi_1.16.0.bb @@ -13,8 +13,8 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/${REALPN}/${REALPN}-${PV}.tar.x file://0001-vaapsink-downgrade-to-marginal.patch \ " -SRC_URI[md5sum] = "2fae3442f5f23e7354a0c592bc7b9065" -SRC_URI[sha256sum] = "ce18dbfe961c6a8d31270231686075586bf7a7df62b778c8e7f5ec148251d0a3" +SRC_URI[md5sum] = "8c3f9ee3e47cbdb75a94f7183460b721" +SRC_URI[sha256sum] = "4e7fce626ee0590dca74b5a8341d25bac76307945131a970b414fc5895f5171f" S = "${WORKDIR}/${REALPN}-${PV}" DEPENDS = "libva gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" @@ -40,7 +40,7 @@ PACKAGECONFIG ??= "drm \ PACKAGECONFIG[drm] = "--enable-drm,--disable-drm,udev libdrm" PACKAGECONFIG[egl] = "--enable-egl,--disable-egl,virtual/egl" PACKAGECONFIG[glx] = "--enable-glx,--disable-glx,virtual/libgl" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols" PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" FILES_${PN} += "${libdir}/gstreamer-*/*.so" diff --git a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb index 98c9a28e39..da2d14cd99 100644 --- a/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.14.4.bb +++ b/poky/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.0.bb @@ -25,11 +25,10 @@ SRC_URI = " \ file://gtk-doc-tweaks.patch \ file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \ file://add-a-target-to-compile-tests.patch \ - file://0002-gstconfig.h.in-initial-RISC-V-support.patch \ file://run-ptest \ " -SRC_URI[md5sum] = "f67fbbc42bd85a0701df119f52fb52bd" -SRC_URI[sha256sum] = "f94f6696c5f05a3b3a9183e39c5f5c0b779f75a04c0efa497e7920afa985ffc7" +SRC_URI[md5sum] = "862b7e4263d946bc2ef31b3c582e5587" +SRC_URI[sha256sum] = "0e8e2f7118be437cba879353970cf83c2acced825ecb9275ba05d9186ef07c00" PACKAGECONFIG ??= "${@bb.utils.contains('PTEST_ENABLED', '1', 'tests', '', d)} \ " @@ -55,6 +54,7 @@ PACKAGES += "${PN}-bash-completion" FILES_${PN} += "${libdir}/gstreamer-1.0/*.so" FILES_${PN}-dev += "${libdir}/gstreamer-1.0/*.la ${libdir}/gstreamer-1.0/*.a ${libdir}/gstreamer-1.0/include" FILES_${PN}-bash-completion += "${datadir}/bash-completion/completions/ ${datadir}/bash-completion/helpers/gst*" +FILES_${PN}-dbg += "${datadir}/gdb ${datadir}/gstreamer-1.0/gdb" RDEPENDS_${PN}-ptest += "make" diff --git a/poky/meta/recipes-multimedia/x264/x264_git.bb b/poky/meta/recipes-multimedia/x264/x264_git.bb index 34c7dc4f78..f22930a0ee 100644 --- a/poky/meta/recipes-multimedia/x264/x264_git.bb +++ b/poky/meta/recipes-multimedia/x264/x264_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://github.com/mirror/x264;branch=stable \ " UPSTREAM_CHECK_COMMITS = "1" -SRCREV = "0a84d986e7020f8344f00752e3600b9769cc1e85" +SRCREV = "72db437770fd1ce3961f624dd57a8e75ff65ae0b" PV = "r2917+git${SRCPV}" diff --git a/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch b/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch new file mode 100644 index 0000000000..bd4ac1e353 --- /dev/null +++ b/poky/meta/recipes-sato/webkit/webkitgtk/0001-gstreamer-add-a-missing-format-string.patch @@ -0,0 +1,24 @@ +From 2d9687840b97186b80053dd262209e39455ac876 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Wed, 8 May 2019 15:31:23 +0200 +Subject: [PATCH] gstreamer: add a missing format string + +Upstream-Status: Pending +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + .../platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +index e1e497ee..483fd65c 100644 +--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp ++++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp +@@ -738,7 +738,7 @@ static GstStateChangeReturn webKitWebSrcChangeState(GstElement* element, GstStat + WebKitWebSrc* src = WEBKIT_WEB_SRC(element); + + #if GST_CHECK_VERSION(1, 14, 0) +- GST_DEBUG_OBJECT(src, gst_state_change_get_name(transition)); ++ GST_DEBUG_OBJECT(src, "%s", gst_state_change_get_name(transition)); + #endif + switch (transition) { + case GST_STATE_CHANGE_READY_TO_NULL: diff --git a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb index 96ac5ac18f..056334fff5 100644 --- a/poky/meta/recipes-sato/webkit/webkitgtk_2.24.0.bb +++ b/poky/meta/recipes-sato/webkit/webkitgtk_2.24.2.bb @@ -23,10 +23,11 @@ SRC_URI = "http://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ file://include_array.patch \ file://narrowing.patch \ file://snprintf.patch \ + file://0001-gstreamer-add-a-missing-format-string.patch \ " -SRC_URI[md5sum] = "576d69c598b3e36c73441052d02466de" -SRC_URI[sha256sum] = "2e4ad1503fe482ceb5a83cf70ac9cd42f37eb718555a4d6844fe4c59a9214407" +SRC_URI[md5sum] = "83012998e1b9f71abb37d8baf6f9c7e6" +SRC_URI[sha256sum] = "019cb1f0d05bf6148b72c7a85734bcd006388a1c14132843ef9a1b2cb7b4321c" inherit cmake pkgconfig gobject-introspection perlnative distro_features_check upstream-version-is-even gtk-doc @@ -71,10 +72,6 @@ EXTRA_OECMAKE = " \ -DPYTHON_EXECUTABLE=`which python` \ " -# GL/GLES header clash: both define the same thing, differently, on 32 bit x86 -EXTRA_OECMAKE_append_x86 = " -DUSE_GSTREAMER_GL=OFF " -EXTRA_OECMAKE_append_x86-x32 = " -DUSE_GSTREAMER_GL=OFF " - # Javascript JIT is not supported on ARC EXTRA_OECMAKE_append_arc = " -DENABLE_JIT=OFF " # By default 25-bit "medium" calls are used on ARC diff --git a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb index 2244797071..bcf1c9c77a 100644 --- a/poky/meta/recipes-support/atk/at-spi2-atk_2.30.0.bb +++ b/poky/meta/recipes-support/atk/at-spi2-atk_2.32.0.bb @@ -3,17 +3,14 @@ HOMEPAGE = "https://wiki.linuxfoundation.org/accessibility/d-bus" LICENSE = "LGPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" -SRC_URI[archive.md5sum] = "1ad754b90bcb14244b73ca4d0c14d274" -SRC_URI[archive.sha256sum] = "e2e1571004ea7b105c969473ce455a95be4038fb2541471714aeb33a26da8a9a" +SRC_URI[archive.md5sum] = "6a4b27bace3b9352721ed462b95f6291" +SRC_URI[archive.sha256sum] = "0b51e6d339fa2bcca3a3e3159ccea574c67b107f1ac8b00047fa60e34ce7a45c" DEPENDS = "dbus glib-2.0 glib-2.0-native atk at-spi2-core libxml2" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase distro_features_check upstream-version-is-even -# The at-spi2-core requires x11 in DISTRO_FEATURES -REQUIRED_DISTRO_FEATURES = "x11" - PACKAGES =+ "${PN}-gnome ${PN}-gtk2" FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/gtk-modules" diff --git a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch b/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch deleted file mode 100644 index fbdf7d0e2e..0000000000 --- a/poky/meta/recipes-support/atk/at-spi2-core/meson-0.50-fix.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 44a812ea51223d82f21a098a2d45fcc5c329ce7a Mon Sep 17 00:00:00 2001 -From: Tobias Stoeckmann <tobias@stoeckmann.org> -Date: Tue, 12 Mar 2019 11:46:24 +0100 -Subject: [PATCH] Fix meson.build for meson 0.50.0. - -Since meson 0.50.0 it is not possible anymore to specify an -absolute directory for subdir. To keep current functionality, -use install_dir instead. - -atspi/meson.build:60:0: ERROR: Subdir keyword must not be an absolute path. - -Upstream-Status: Backport -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> -Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org> ---- - atspi/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/atspi/meson.build b/atspi/meson.build -index b7a9357..2a6915d 100644 ---- a/atspi/meson.build -+++ b/atspi/meson.build -@@ -57,7 +57,7 @@ atspi_headers = [ - - atspi_includedir = join_paths(get_option('prefix'), get_option('includedir'), 'at-spi-2.0', 'atspi') - --install_headers(atspi_headers, subdir: atspi_includedir) -+install_headers(atspi_headers, install_dir: atspi_includedir) - - atspi_enums = gnome.mkenums('atspi-enum-types', - sources: [ 'atspi-constants.h', 'atspi-types.h' ], diff --git a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb index cfe0ddeef2..11052a8ece 100644 --- a/poky/meta/recipes-support/atk/at-spi2-core_2.30.0.bb +++ b/poky/meta/recipes-support/atk/at-spi2-core_2.32.1.bb @@ -5,12 +5,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=e9f288ba982d60518f375b5898283886" MAJ_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \ - file://meson-0.50-fix.patch \ - " +SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "d4f22c66b3210ffe6b10d01c04e008b5" -SRC_URI[sha256sum] = "0175f5393d19da51f4c11462cba4ba6ef3fa042abf1611a70bdfed586b7bfb2b" +SRC_URI[md5sum] = "998fd9d858f8fa22c4c8c15567bf6254" +SRC_URI[sha256sum] = "3c2aa937ebfaca2c86569bce9b16a34fbe20d69ef0c58846313b1c42f53b0d53" X11DEPENDS = "virtual/libx11 libxi libxtst" @@ -20,11 +18,13 @@ DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', inherit meson gtk-doc gettext systemd pkgconfig upstream-version-is-even gobject-introspection EXTRA_OEMESON = " -Dsystemd_user_dir=${systemd_user_unitdir} \ - -Ddbus_daemon=${bindir}/dbus-daemon" + -Ddbus_daemon=${bindir}/dbus-daemon \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', '-Dx11=yes', '-Dx11=no', d)} \ +" -GTKDOC_MESON_OPTION = "enable_docs" +GTKDOC_MESON_OPTION = "docs" -GIR_MESON_OPTION = 'enable-introspection' +GIR_MESON_OPTION = 'introspection' GIR_MESON_ENABLE_FLAG = 'yes' GIR_MESON_DISABLE_FLAG = 'no' diff --git a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch b/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch deleted file mode 100644 index 047e81fb61..0000000000 --- a/poky/meta/recipes-support/atk/atk/0001-Switch-from-filename-to-basename.patch +++ /dev/null @@ -1,38 +0,0 @@ -Upstream-Status: Submitted - -From 0330251715fee908f2f162565d4fa1df5030d0c0 Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman <jpuhlman@mvista.com> -Date: Thu, 14 Jun 2018 17:21:49 +0000 -Subject: [PATCH] Switch from filename to basename - -When atk-enum-types.h is installed in to a system, the user likely has -no access to the location where the headers were built, especially if -the software was built in a sysroot environment. If the headers were -built for a mulitlib environment, the build pathing may be different. -Subsequently, if two mulitlib variants of atk are installed together the -headers conflict for no other reason then they were built in two -different locations. Switching from filename to basename, still should -provide sufficient information on the providence of the enums, while not -conflicting for really no good reason. - -Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> ---- - atk/atk-enum-types.h.template | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/atk/atk-enum-types.h.template b/atk/atk-enum-types.h.template -index 7b4cec4..8321c24 100644 ---- a/atk/atk-enum-types.h.template -+++ b/atk/atk-enum-types.h.template -@@ -14,7 +14,7 @@ G_BEGIN_DECLS - - /*** BEGIN file-production ***/ - --/* enumerations from "@filename@" */ -+/* enumerations from "@basename@" */ - /*** END file-production ***/ - - /*** BEGIN value-header ***/ --- -2.14.1.459.g238e487 - diff --git a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch index 1d814ccdb7..d1b08bc04b 100644 --- a/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch +++ b/poky/meta/recipes-support/atk/atk/0001-meson.build-enable-introspection-for-cross-compile.patch @@ -1,4 +1,4 @@ -From c3eb5b2e74c38bb8374bc027f84e42d7e94f62f8 Mon Sep 17 00:00:00 2001 +From 44d46baa5e1519c6c3df7e4d34fb333e247b5bc8 Mon Sep 17 00:00:00 2001 From: Anuj Mittal <anuj.mittal@intel.com> Date: Fri, 6 Apr 2018 12:04:00 +0800 Subject: [PATCH] meson.build: enable introspection for cross-compile @@ -9,16 +9,17 @@ if it should be disabled or not. Upstream-Status: Pending Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + --- atk/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atk/meson.build b/atk/meson.build -index 616a3e6..941ded8 100644 +index 0ad67e5..1d2a49c 100644 --- a/atk/meson.build +++ b/atk/meson.build @@ -137,7 +137,7 @@ libatk_dep = declare_dependency(link_with: libatk, - dependencies: gobject_dep, + dependencies: glib_dep, sources: atk_enum_h) -if not meson.is_cross_build() and get_option('introspection') diff --git a/poky/meta/recipes-support/atk/atk_2.30.0.bb b/poky/meta/recipes-support/atk/atk_2.32.0.bb index 4e22b3f811..67223729e9 100644 --- a/poky/meta/recipes-support/atk/atk_2.30.0.bb +++ b/poky/meta/recipes-support/atk/atk_2.32.0.bb @@ -14,12 +14,9 @@ DEPENDS = "gettext-native glib-2.0" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase gtk-doc gettext upstream-version-is-even gobject-introspection -SRC_URI_append = " \ - file://0001-meson.build-enable-introspection-for-cross-compile.patch \ - file://0001-Switch-from-filename-to-basename.patch \ - " -SRC_URI[archive.md5sum] = "769c85005d392ad17ffbc063f2d26454" -SRC_URI[archive.sha256sum] = "dd4d90d4217f2a0c1fee708a555596c2c19d26fef0952e1ead1938ab632c027b" +SRC_URI += " file://0001-meson.build-enable-introspection-for-cross-compile.patch" +SRC_URI[archive.md5sum] = "c10b0b2af3c199e42caa6275b845c49d" +SRC_URI[archive.sha256sum] = "cb41feda7fe4ef0daa024471438ea0219592baf7c291347e5a858bb64e4091cc" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb index 85064343e3..cd2c4cbba8 100644 --- a/poky/meta/recipes-support/bash-completion/bash-completion_2.8.bb +++ b/poky/meta/recipes-support/bash-completion/bash-completion_2.9.bb @@ -9,8 +9,8 @@ SECTION = "console/utils" SRC_URI = "https://github.com/scop/bash-completion/releases/download/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI[md5sum] = "201b6ae62f7d5fb5b1b25e34427db919" -SRC_URI[sha256sum] = "c01f5570f5698a0dda8dc9cfb2a83744daa1ec54758373a6e349bd903375f54d" +SRC_URI[md5sum] = "60139333b25c4d54ad40323b701be130" +SRC_URI[sha256sum] = "d48fe378e731062f479c5f8802ffa9d3c40a275a19e6e0f6f6cc4b90fa12b2f5" UPSTREAM_CHECK_REGEX = "bash-completion-(?P<pver>(?!2008).+)\.tar" UPSTREAM_CHECK_URI = "https://github.com/scop/bash-completion/releases" @@ -23,11 +23,6 @@ do_install_append() { install -d ${D}${sysconfdir}/bash_completion.d/ echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion - # Delete files already provided by util-linux - local i - for i in mount umount; do - rm ${D}${datadir}/${BPN}/completions/$i - done } RDEPENDS_${PN} = "bash" diff --git a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb index 4c0425302f..efd9eaa71e 100644 --- a/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb +++ b/poky/meta/recipes-support/ca-certificates/ca-certificates_20190110.bb @@ -82,6 +82,8 @@ do_install_append_class-native () { SYSROOT="${D}${base_prefix}" ${D}${sbindir}/update-ca-certificates } -RDEPENDS_${PN} += "openssl" +RDEPENDS_${PN}_class-target = "openssl-bin" +RDEPENDS_${PN}_class-native = "openssl-native" +RDEPENDS_${PN}_class-nativesdk = "nativesdk-openssl-bin" BBCLASSEXTEND = "native nativesdk" diff --git a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb index e05dc2b57d..b27526a64e 100644 --- a/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb +++ b/poky/meta/recipes-support/gnutls/gnutls_3.6.7.bb @@ -44,6 +44,7 @@ EXTRA_OECONF = " \ --enable-local-libopts \ --enable-openssl-compatibility \ --with-libpthread-prefix=${STAGING_DIR_HOST}${prefix} \ + --with-default-trust-store-file=${sysconfdir}/ssl/certs/ca-certificates.crt \ " LDFLAGS_append_libc-musl = " -largp" diff --git a/poky/meta/recipes-support/icu/icu.inc b/poky/meta/recipes-support/icu/icu.inc index e20085fbf5..6d9728903d 100644 --- a/poky/meta/recipes-support/icu/icu.inc +++ b/poky/meta/recipes-support/icu/icu.inc @@ -35,13 +35,6 @@ TARGET_CXXFLAGS_append = "${@oe.utils.conditional('SITEINFO_ENDIANNESS', 'be', ' ASNEEDED = "" -# strtod_l() is not supported by musl; also xlocale.h is missing -# It is not possible to disable its use via configure switches or env vars -# so monkey patching is needed. -do_configure_prepend_libc-musl () { - sed -i -e 's,DU_HAVE_STRTOD_L=1,DU_HAVE_STRTOD_L=0,' ${S}/configure.ac -} - do_compile_prepend_class-target () { # Make sure certain build host references do not end up being compiled # in the image. This only affects libicutu and icu-dbg diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng b/poky/meta/recipes-support/libcap-ng/libcap-ng new file mode 120000 index 0000000000..fb7744d293 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng @@ -0,0 +1 @@ +libcap-ng-python
\ No newline at end of file diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch index d60a0a39b6..d60a0a39b6 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng/python.patch +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python/python.patch diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb new file mode 100644 index 0000000000..e49b445f57 --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng-python_0.7.9.bb @@ -0,0 +1,27 @@ +require libcap-ng.inc + +SUMMARY .= " - python" + +inherit lib_package autotools python3native + +DEPENDS += "libcap-ng python3 swig-native" + +S = "${WORKDIR}/libcap-ng-${PV}" + +EXTRA_OECONF += "--with-python --with-python3" +EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" + +do_install_append() { + rm -rf ${D}${bindir} + rm -rf ${D}${libdir}/.debug + rm -f ${D}${libdir}/lib* + rm -rf ${D}${libdir}/pkgconfig + rm -rf ${D}${datadir} + rm -rf ${D}${includedir} +} + +# PACKAGES = "${PN}" + +FILES_${PN} = "${libdir}/python${PYTHON_BASEVERSION}" +FILES_${PN}-dbg =+ "${PYTHON_SITEPACKAGES_DIR}/.debug/_capng.so" + diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng.inc b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc new file mode 100644 index 0000000000..739b91fd2e --- /dev/null +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng.inc @@ -0,0 +1,17 @@ +SUMMARY = "An alternate posix capabilities library" +DESCRIPTION = "The libcap-ng library is intended to make programming \ +with POSIX capabilities much easier than the traditional libcap library." +HOMEPAGE = "http://freecode.com/projects/libcap-ng" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2.1+" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" + +SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ + file://python.patch \ +" + +SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" +SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" + +BBCLASSEXTEND = "native nativesdk"
\ No newline at end of file diff --git a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb index aff6259db2..6e6de45494 100644 --- a/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb +++ b/poky/meta/recipes-support/libcap-ng/libcap-ng_0.7.9.bb @@ -1,30 +1,10 @@ -SUMMARY = "An alternate posix capabilities library" -DESCRIPTION = "The libcap-ng library is intended to make programming \ -with POSIX capabilities much easier than the traditional libcap library." -HOMEPAGE = "http://freecode.com/projects/libcap-ng" -SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2.1+" -LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ - file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06" +require libcap-ng.inc -SRC_URI = "http://people.redhat.com/sgrubb/libcap-ng/libcap-ng-${PV}.tar.gz \ - file://python.patch" +inherit lib_package autotools -inherit lib_package autotools python3native +EXTRA_OECONF += "--without-python --without-python3" -SRC_URI[md5sum] = "2398d695508fab9ce33668c53a89b0e9" -SRC_URI[sha256sum] = "4a1532bcf3731aade40936f6d6a586ed5a66ca4c7455e1338d1f6c3e09221328" - -DEPENDS += "swig-native python3" - -EXTRA_OECONF += "--with-python --with-python3" -EXTRA_OEMAKE += "PYLIBVER='python${PYTHON_BASEVERSION}${PYTHON_ABI}' PYINC='${STAGING_INCDIR}/${PYLIBVER}'" - -PACKAGES += "${PN}-python" - -FILES_${PN}-python = "${libdir}/python${PYTHON_BASEVERSION}" - -BBCLASSEXTEND = "native" +BBCLASSEXTEND = "native nativesdk" do_install_append() { # Moving libcap-ng to base_libdir diff --git a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch b/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch deleted file mode 100644 index b50f50e701..0000000000 --- a/poky/meta/recipes-support/libical/libical/Remove-cmake-check-for-Perl.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 918cd8764a845a9d25918a444fbaa5070d2be609 Mon Sep 17 00:00:00 2001 -From: Jussi Kukkonen <jussi.kukkonen@intel.com> -Date: Fri, 21 Aug 2015 16:38:05 +0300 -Subject: [PATCH] Remove cmake check for Perl - -We set "CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY" in cmake bbclass to -make sure cmake does not find host programs. In this case we actually -are fine with host perl: remove the check. - -Upstream-Status: Inappropriate [workaround] - -Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> ---- - CMakeLists.txt | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -Index: libical-2.0.0/CMakeLists.txt -=================================================================== ---- libical-2.0.0.orig/CMakeLists.txt -+++ libical-2.0.0/CMakeLists.txt -@@ -116,8 +116,7 @@ if(SHARED_ONLY) - set(LIBRARY_TYPE SHARED) - endif() - --# must have Perl to create the derived stuff --find_package(Perl REQUIRED) -+set(PERL_EXECUTABLE perl) - - # Ensure finding 64bit libs when using 64-bit compilers - if(CMAKE_CL_64) diff --git a/poky/meta/recipes-support/libical/libical_2.0.0.bb b/poky/meta/recipes-support/libical/libical_2.0.0.bb index daa47abcbc..7dffdcfb01 100644 --- a/poky/meta/recipes-support/libical/libical_2.0.0.bb +++ b/poky/meta/recipes-support/libical/libical_2.0.0.bb @@ -1,13 +1,12 @@ SUMMARY = "iCal and scheduling (RFC 2445, 2446, 2447) library" HOMEPAGE = "https://github.com/libical/libical" BUGTRACKER = "https://github.com/libical/libical/issues" -LICENSE = "LGPLv2.1 | MPL-1" +LICENSE = "LGPLv2.1 | MPL-1.0" LIC_FILES_CHKSUM = "file://COPYING;md5=d4fc58309d8ed46587ac63bb449d82f8 \ file://LICENSE;md5=d1a0891cd3e582b3e2ec8fe63badbbb6" SECTION = "libs" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ - file://Remove-cmake-check-for-Perl.patch \ file://0001-CMakeLists.txt-libical.pc.in-fix-iculibs-remove-full.patch \ " DEPENDS = "icu" @@ -18,6 +17,9 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases" inherit cmake pkgconfig +# No need to use perl-native, the host perl is sufficient. +EXTRA_OECMAKE += "-DPERL_EXECUTABLE=${HOSTTOOLS_DIR}/perl" + do_install_append_class-target () { # Remove build host references sed -i \ diff --git a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb index 3a0aa53029..50b26753b4 100644 --- a/poky/meta/recipes-support/libpcre/libpcre2_10.32.bb +++ b/poky/meta/recipes-support/libpcre/libpcre2_10.33.bb @@ -8,14 +8,14 @@ SUMMARY = "Perl Compatible Regular Expressions version 2" HOMEPAGE = "http://www.pcre.org" SECTION = "devel" LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENCE;md5=cf66d307bf03bae65d413eb7a8e603a0" +LIC_FILES_CHKSUM = "file://LICENCE;md5=b1588d3bb4cb0e1f5a597d908f8c5b37" SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre2-${PV}.tar.bz2 \ file://pcre-cross.patch \ " -SRC_URI[md5sum] = "8a096287153fb994970df3570e90fcb5" -SRC_URI[sha256sum] = "f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e" +SRC_URI[md5sum] = "80b355f2dce909a2e2424f5c79eddb44" +SRC_URI[sha256sum] = "35514dff0ccdf02b55bd2e9fa586a1b9d01f62332c3356e379eabb75f789d8aa" CVE_PRODUCT = "pcre2" diff --git a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb index 08314efb9e..b97af08b25 100644 --- a/poky/meta/recipes-support/libpcre/libpcre_8.43.bb +++ b/poky/meta/recipes-support/libpcre/libpcre_8.43.bb @@ -72,3 +72,5 @@ do_install_ptest() { # locale so the test fails if fr_FR is UTF-8 locale. sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest } + +RDEPENDS_${PN}-ptest += "make" diff --git a/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch new file mode 100644 index 0000000000..2331a766a1 --- /dev/null +++ b/poky/meta/recipes-support/libpsl/libpsl/0001-gtk-doc-do-not-include-tree_index.sgml.patch @@ -0,0 +1,28 @@ +From 8691105e1808ec9b031b6c25f70204a0908ae9c1 Mon Sep 17 00:00:00 2001 +From: Alexander Kanavin <alex.kanavin@gmail.com> +Date: Sat, 1 Jun 2019 13:09:41 +0200 +Subject: [PATCH] gtk-doc: do not include tree_index.sgml + +gtk-doc 1.30 no longer generates the file if the object tree is empty + +Upstream-Status: Submitted [https://github.com/rockdaboot/libpsl/pull/137] +Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> +--- + docs/libpsl/libpsl-docs.sgml | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/docs/libpsl/libpsl-docs.sgml b/docs/libpsl/libpsl-docs.sgml +index 1eca9a2..1c38dbc 100644 +--- a/docs/libpsl/libpsl-docs.sgml ++++ b/docs/libpsl/libpsl-docs.sgml +@@ -22,10 +22,6 @@ + </para> + <xi:include href="xml/libpsl.xml"/> + </chapter> +- <chapter id="object-tree"> +- <title>Object Hierarchy</title> +- <xi:include href="xml/tree_index.sgml"/> +- </chapter> + <index id="api-index-full"> + <title>API Index</title> + <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include> diff --git a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb index f545ba076f..fc2417fc2f 100644 --- a/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb +++ b/poky/meta/recipes-support/libpsl/libpsl_0.21.0.bb @@ -4,7 +4,9 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=5437030d9e4fbe7267ced058ddb8a7f5 \ file://COPYING;md5=f41d10997a12da5ee3c24ceeb0148d18" -SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz" +SRC_URI = "https://github.com/rockdaboot/${BPN}/releases/download/${BP}/${BP}.tar.gz \ + file://0001-gtk-doc-do-not-include-tree_index.sgml.patch \ + " SRC_URI[md5sum] = "171e96d887709e36a57f4ee627bf82d2" SRC_URI[sha256sum] = "41bd1c75a375b85c337b59783f5deb93dbb443fb0a52d257f403df7bd653ee12" diff --git a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb index f0043f80b3..c4715a0412 100644 --- a/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.1.bb +++ b/poky/meta/recipes-support/libsoup/libsoup-2.4_2.66.2.bb @@ -12,8 +12,8 @@ SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}" SRC_URI = "${GNOME_MIRROR}/libsoup/${SHRT_VER}/libsoup-${PV}.tar.xz \ file://0001-Do-not-enforce-no-introspection-when-cross-building.patch \ " -SRC_URI[md5sum] = "5f04c09a06f6dbe4c4d3f003992145ce" -SRC_URI[sha256sum] = "4a2cb6c1174540af13661636035992c2b179dfcb39f4d3fa7bee3c7e355c43ff" +SRC_URI[md5sum] = "66c2ae89d6031b01337d78a2c57c75d5" +SRC_URI[sha256sum] = "bd2ea602eba642509672812f3c99b77cbec2f3de02ba1cc8cb7206bf7de0ae2a" S = "${WORKDIR}/libsoup-${PV}" diff --git a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch b/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch deleted file mode 100644 index b026782bd5..0000000000 --- a/poky/meta/recipes-support/liburcu/files/Add-support-for-the-RISC-V-architecture.patch +++ /dev/null @@ -1,157 +0,0 @@ -From fdfad81006c2c964781b616f0a75578507be809c Mon Sep 17 00:00:00 2001 -From: Michael Jeanson <mjeanson@efficios.com> -Date: Wed, 21 Mar 2018 17:38:41 -0400 -Subject: [PATCH] Add support for the RISC-V architecture - -Tested in QEMU 2.12.0-rc0, requires --disable-compiler-tls to go -through the benchmarks reliably. - -Signed-off-by: Michael Jeanson <mjeanson@efficios.com> -Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> -Upstream-Status: Backport ---- - configure.ac | 1 + - include/Makefile.am | 2 ++ - include/urcu/arch/riscv.h | 49 ++++++++++++++++++++++++++++++++++++++++++++ - include/urcu/uatomic/riscv.h | 44 +++++++++++++++++++++++++++++++++++++++ - 4 files changed, 96 insertions(+) - create mode 100644 include/urcu/arch/riscv.h - create mode 100644 include/urcu/uatomic/riscv.h - -diff --git a/configure.ac b/configure.ac -index d0b4a9ac..9145081a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -151,6 +151,7 @@ AS_CASE([$host_cpu], - [tile*], [ARCHTYPE="tile"], - [hppa*], [ARCHTYPE="hppa"], - [m68k], [ARCHTYPE="m68k"], -+ [riscv*], [ARCHTYPE="riscv"], - [ARCHTYPE="unknown"] - ) - -diff --git a/include/Makefile.am b/include/Makefile.am -index dcdf304b..36667b43 100644 ---- a/include/Makefile.am -+++ b/include/Makefile.am -@@ -27,6 +27,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \ - urcu/arch/mips.h \ - urcu/arch/nios2.h \ - urcu/arch/ppc.h \ -+ urcu/arch/riscv.h \ - urcu/arch/s390.h \ - urcu/arch/sparc64.h \ - urcu/arch/tile.h \ -@@ -43,6 +44,7 @@ EXTRA_DIST = urcu/arch/aarch64.h \ - urcu/uatomic/mips.h \ - urcu/uatomic/nios2.h \ - urcu/uatomic/ppc.h \ -+ urcu/uatomic/riscv.h \ - urcu/uatomic/s390.h \ - urcu/uatomic/sparc64.h \ - urcu/uatomic/tile.h \ -diff --git a/include/urcu/arch/riscv.h b/include/urcu/arch/riscv.h -new file mode 100644 -index 00000000..1fd7d62b ---- /dev/null -+++ b/include/urcu/arch/riscv.h -@@ -0,0 +1,49 @@ -+#ifndef _URCU_ARCH_RISCV_H -+#define _URCU_ARCH_RISCV_H -+ -+/* -+ * arch/riscv.h: definitions for the RISC-V architecture -+ * -+ * Copyright (c) 2018 Michael Jeanson <mjeanson@efficios.com> -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; if not, write to the Free Software -+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ */ -+ -+#include <urcu/compiler.h> -+#include <urcu/config.h> -+#include <urcu/syscall-compat.h> -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include <stdlib.h> -+#include <sys/time.h> -+ -+/* -+ * On Linux, define the membarrier system call number if not yet available in -+ * the system headers. -+ */ -+#if (defined(__linux__) && !defined(__NR_membarrier)) -+#define __NR_membarrier 283 -+#endif -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include <urcu/arch/generic.h> -+ -+#endif /* _URCU_ARCH_RISCV_H */ -diff --git a/include/urcu/uatomic/riscv.h b/include/urcu/uatomic/riscv.h -new file mode 100644 -index 00000000..a6700e17 ---- /dev/null -+++ b/include/urcu/uatomic/riscv.h -@@ -0,0 +1,44 @@ -+/* -+ * Atomic exchange operations for the RISC-V architecture. Let GCC do it. -+ * -+ * Copyright (c) 2018 Michael Jeanson <mjeanson@efficios.com> -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to -+ * deal in the Software without restriction, including without limitation the -+ * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -+ * IN THE SOFTWARE. -+ */ -+ -+#ifndef _URCU_ARCH_UATOMIC_RISCV_H -+#define _URCU_ARCH_UATOMIC_RISCV_H -+ -+#include <urcu/compiler.h> -+#include <urcu/system.h> -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#define UATOMIC_HAS_ATOMIC_BYTE -+#define UATOMIC_HAS_ATOMIC_SHORT -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#include <urcu/uatomic/generic.h> -+ -+#endif /* _URCU_ARCH_UATOMIC_RISCV_H */ diff --git a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb index b4b6e2323d..6a517e6f29 100644 --- a/poky/meta/recipes-support/liburcu/liburcu_0.10.2.bb +++ b/poky/meta/recipes-support/liburcu/liburcu_0.11.1.bb @@ -4,15 +4,13 @@ BUGTRACKER = "http://lttng.org/project/issues" LICENSE = "LGPLv2.1+ & MIT-style" LIC_FILES_CHKSUM = "file://LICENSE;md5=e548d28737289d75a8f1e01ba2fd7825 \ - file://src/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ + file://include/urcu/urcu.h;beginline=4;endline=32;md5=4de0d68d3a997643715036d2209ae1d9 \ file://include/urcu/uatomic/x86.h;beginline=4;endline=21;md5=58e50bbd8a2f073bb5500e6554af0d0b" -SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2 \ - file://Add-support-for-the-RISC-V-architecture.patch \ - " +SRC_URI = "http://lttng.org/files/urcu/userspace-rcu-${PV}.tar.bz2" -SRC_URI[md5sum] = "7c424c5183ec009d87e0f70c23e92f1b" -SRC_URI[sha256sum] = "b3f6888daf6fe02c1f8097f4a0898e41b5fe9975e121dc792b9ddef4b17261cc" +SRC_URI[md5sum] = "91c75d5902127f94ab556ce039b369ca" +SRC_URI[sha256sum] = "92b9971bf3f1c443edd6c09e7bf5ff3b43531e778841f16377a812c8feeb3350" S = "${WORKDIR}/userspace-rcu-${PV}" inherit autotools multilib_header diff --git a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb index 28d404ca77..462eccf52f 100644 --- a/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb +++ b/poky/meta/recipes-support/libxslt/libxslt_1.1.33.bb @@ -21,8 +21,9 @@ BINCONFIG = "${bindir}/xslt-config" inherit autotools pkgconfig binconfig-disabled lib_package -# We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header do_configure_prepend () { + # We don't DEPEND on binutils for ansidecl.h so ensure we don't use the header. + # This can be removed when upgrading to 1.1.34. sed -i -e 's/ansidecl.h//' ${S}/configure.ac # The timestamps in the 1.1.28 tarball are messed up causing this file to diff --git a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb index 744a1bf470..de1f970247 100644 --- a/poky/meta/recipes-support/lz4/lz4_1.9.0.bb +++ b/poky/meta/recipes-support/lz4/lz4_1.9.1.bb @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://lib/LICENSE;md5=ebc2ea4814a64de7708f1571904b32cc \ PE = "1" -SRCREV = "131896ab9d4fc9b8c606616327ed223d5d86472b" +SRCREV = "398e36c756a3067de8e2b35dd380baef040dfe0d" SRC_URI = "git://github.com/lz4/lz4.git \ file://run-ptest \ diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch b/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch deleted file mode 100644 index 82f25743af..0000000000 --- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch +++ /dev/null @@ -1,53 +0,0 @@ -From d1345871b992f9a055c968963967e728da1a7ffb Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 30 Jan 2016 20:29:06 +0000 -Subject: [PATCH] nss-myhostname: Check for nss.h presense before use - -We do not have nss.h on musl e.g. and configury is already checking for -nss.h presence, use this to define needed data structures if nss.h is -missing on a given libc implementation on a platform - -include stdint.h for uint32_h definition - -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- -Upstream-Status: Pending - - nss-myhostname.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/nss-myhostname.c b/nss-myhostname.c -index 293166c..6f287f5 100644 ---- a/nss-myhostname.c -+++ b/nss-myhostname.c -@@ -21,7 +21,27 @@ - ***/ - - #include <limits.h> -+#include <stdint.h> -+#ifdef HAVE_NSS_H - #include <nss.h> -+#else -+enum nss_status { -+ NSS_STATUS_TRYAGAIN = -2, -+ NSS_STATUS_UNAVAIL, -+ NSS_STATUS_NOTFOUND, -+ NSS_STATUS_SUCCESS, -+ NSS_STATUS_RETURN -+}; -+/* Data structure used for the 'gethostbyname4_r' function. */ -+struct gaih_addrtuple -+ { -+ struct gaih_addrtuple *next; -+ char *name; -+ int family; -+ uint32_t addr[4]; -+ uint32_t scopeid; -+ }; -+#endif - #include <sys/types.h> - #include <netdb.h> - #include <errno.h> --- -2.7.0 - diff --git a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb index de5b7cf598..244d9e204e 100644 --- a/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb +++ b/poky/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb @@ -7,7 +7,6 @@ LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz \ - file://0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch \ " SRC_URI[md5sum] = "d4ab9ac36c053ab8fb836db1cbd4a48f" @@ -15,6 +14,8 @@ SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67 inherit autotools distro_features_check +COMPATIBLE_HOST_libc-musl = 'null' + # The systemd has its own copy of nss-myhostname CONFLICT_DISTRO_FEATURES = "systemd" diff --git a/poky/meta/recipes-support/nss/nss_3.43.bb b/poky/meta/recipes-support/nss/nss_3.44.bb index f8cf5a46af..4205d79485 100644 --- a/poky/meta/recipes-support/nss/nss_3.43.bb +++ b/poky/meta/recipes-support/nss/nss_3.44.bb @@ -33,8 +33,8 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO file://system-pkcs11.txt \ " -SRC_URI[md5sum] = "67c8fa282c32cb56117fdd530dd77001" -SRC_URI[sha256sum] = "f30bc1b7330887b75de9fec37dbc173001758dc43fb095ffbc45dac4093fe2ca" +SRC_URI[md5sum] = "e9222b9573452b9f4e6ff4915d6407c2" +SRC_URI[sha256sum] = "a5620e59b6eeedfd5a12c9298b50ad92e9898b223e214eb675e36f4ffb5b6aff" UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases" UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes" diff --git a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb index 59e675b542..54455da1bb 100644 --- a/poky/meta/recipes-support/p11-kit/p11-kit_0.23.15.bb +++ b/poky/meta/recipes-support/p11-kit/p11-kit_0.23.16.1.bb @@ -9,7 +9,7 @@ DEPENDS = "libtasn1 libffi" SRC_URI = "git://github.com/p11-glue/p11-kit \ file://0001-LINGUAS-drop-the-languages-for-which-upstream-does-n.patch \ " -SRCREV = "1ba80c67c492f25581ed97c8c31ffb5f20636d06" +SRCREV = "c689917b393379d288b868f70b2f7b7f6aafe430" S = "${WORKDIR}/git" AUTOTOOLS_AUXDIR = "${S}/build/litter" diff --git a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb index 4116efc76f..fb529d25d6 100644 --- a/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb +++ b/poky/meta/recipes-support/pinentry/pinentry_1.1.0.bb @@ -25,7 +25,7 @@ PACKAGECONFIG ??= "ncurses libcap" PACKAGECONFIG[ncurses] = "--enable-ncurses --with-ncurses-include-dir=${STAGING_INCDIR}, --disable-ncurses, ncurses" PACKAGECONFIG[libcap] = "--with-libcap, --without-libcap, libcap" -PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qt4-x11" +PACKAGECONFIG[qt] = "--enable-pinentry-qt, --disable-pinentry-qt, qtbase-native qtbase" PACKAGECONFIG[gtk2] = "--enable-pinentry-gtk2, --disable-pinentry-gtk2, gtk+ glib-2.0" #To use libsecret, add meta-gnome @@ -33,7 +33,6 @@ PACKAGECONFIG[secret] = "--enable-libsecret, --disable-libsecret, libsecret" EXTRA_OECONF = " \ --disable-rpath \ - --disable-pinentry-qt5 \ " BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/popt/popt_1.16.bb b/poky/meta/recipes-support/popt/popt_1.16.bb index 478288f9bf..27e49c2ca2 100644 --- a/poky/meta/recipes-support/popt/popt_1.16.bb +++ b/poky/meta/recipes-support/popt/popt_1.16.bb @@ -8,7 +8,7 @@ PR = "r3" DEPENDS = "virtual/libiconv" -SRC_URI = "http://rpm5.org/files/popt/popt-${PV}.tar.gz \ +SRC_URI = "http://anduin.linuxfromscratch.org/BLFS/popt/popt-${PV}.tar.gz \ file://pkgconfig_fix.patch \ file://popt_fix_for_automake-1.12.patch \ file://disable_tests.patch \ diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch new file mode 100644 index 0000000000..13b4cbc7fb --- /dev/null +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner/0004-utils-ensure-child-can-be-session-leader.patch @@ -0,0 +1,212 @@ +From 79698d3205dedba887e0d2492de945d3079de029 Mon Sep 17 00:00:00 2001 +From: Randy MacLeod <Randy.MacLeod@windriver.com> +Date: Thu, 6 Jun 2019 17:03:50 -0400 +Subject: [PATCH] utils: ensure child can be session leader + +When running the run-execscript bash ptest as a user rather than root, a warning: + bash: cannot set terminal process group (16036): Inappropriate ioctl for device + bash: no job control in this shell +contaminates the bash log files causing the test to fail. This happens only +when run under ptest-runner and not when interactively testing! + +The changes made to fix this include: +1. Get the process group id (pgid) before forking, +2. Set the pgid in both the parent and child to avoid a race, +3. Find, open and set permission on the child tty, and +4. Allow the child to attach to controlling tty. + +Also add '-lutil' to Makefile. This lib is from libc and provides openpty. + +Upstream-Status: Submitted [yocto@yoctoproject.org] + +Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> +Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> +--- + Makefile | 2 +- + utils.c | 102 +++++++++++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 92 insertions(+), 12 deletions(-) + +diff --git a/Makefile b/Makefile +index 1bde7be..439eb79 100644 +--- a/Makefile ++++ b/Makefile +@@ -29,7 +29,7 @@ TEST_DATA=$(shell echo `pwd`/tests/data) + all: $(SOURCES) $(EXECUTABLE) + + $(EXECUTABLE): $(OBJECTS) +- $(CC) $(LDFLAGS) $(OBJECTS) -o $@ ++ $(CC) $(LDFLAGS) $(OBJECTS) -lutil -o $@ + + tests: $(TEST_SOURCES) $(TEST_EXECUTABLE) + +diff --git a/utils.c b/utils.c +index ad737c2..f11ce39 100644 +--- a/utils.c ++++ b/utils.c +@@ -1,5 +1,6 @@ + /** + * Copyright (c) 2016 Intel Corporation ++ * Copyright (C) 2019 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License +@@ -22,23 +23,27 @@ + */ + + #define _GNU_SOURCE ++ + #include <stdio.h> + ++#include <dirent.h> ++#include <errno.h> ++#include <fcntl.h> ++#include <grp.h> + #include <libgen.h> +-#include <signal.h> + #include <poll.h> +-#include <fcntl.h> ++#include <pty.h> ++#include <signal.h> ++#include <stdlib.h> ++#include <string.h> + #include <time.h> +-#include <dirent.h> ++#include <unistd.h> ++ ++#include <sys/ioctl.h> + #include <sys/resource.h> ++#include <sys/stat.h> + #include <sys/types.h> + #include <sys/wait.h> +-#include <sys/stat.h> +-#include <unistd.h> +-#include <string.h> +-#include <stdlib.h> +- +-#include <errno.h> + + #include "ptest_list.h" + #include "utils.h" +@@ -346,6 +351,53 @@ wait_child(const char *ptest_dir, const char *run_ptest, pid_t pid, + return status; + } + ++/* Returns an integer file descriptor. ++ * If it returns < 0, an error has occurred. ++ * Otherwise, it has returned the slave pty file descriptor. ++ * fp should be writable, likely stdout/err. ++ */ ++static int ++setup_slave_pty(FILE *fp) { ++ int pty_master = -1; ++ int pty_slave = -1; ++ char pty_name[256]; ++ struct group *gptr; ++ gid_t gid; ++ int slave = -1; ++ ++ if (openpty(&pty_master, &pty_slave, pty_name, NULL, NULL) < 0) { ++ fprintf(fp, "ERROR: openpty() failed with: %s.\n", strerror(errno)); ++ return -1; ++ } ++ ++ if ((gptr = getgrnam(pty_name)) != 0) { ++ gid = gptr->gr_gid; ++ } else { ++ /* If the tty group does not exist, don't change the ++ * group on the slave pty, only the owner ++ */ ++ gid = -1; ++ } ++ ++ /* chown/chmod the corresponding pty, if possible. ++ * This will only work if the process has root permissions. ++ */ ++ if (chown(pty_name, getuid(), gid) != 0) { ++ fprintf(fp, "ERROR; chown() failed with: %s.\n", strerror(errno)); ++ } ++ ++ /* Makes the slave read/writeable for the user. */ ++ if (chmod(pty_name, S_IRUSR|S_IWUSR) != 0) { ++ fprintf(fp, "ERROR: chmod() failed with: %s.\n", strerror(errno)); ++ } ++ ++ if ((slave = open(pty_name, O_RDWR)) == -1) { ++ fprintf(fp, "ERROR: open() failed with: %s.\n", strerror(errno)); ++ } ++ return (slave); ++} ++ ++ + int + run_ptests(struct ptest_list *head, const struct ptest_options opts, + const char *progname, FILE *fp, FILE *fp_stderr) +@@ -362,6 +414,8 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + int timeouted; + time_t sttime, entime; + int duration; ++ int slave; ++ int pgid = -1; + + if (opts.xml_filename) { + xh = xml_create(ptest_list_length(head), opts.xml_filename); +@@ -379,7 +433,6 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + close(pipefd_stdout[1]); + break; + } +- + fprintf(fp, "START: %s\n", progname); + PTEST_LIST_ITERATE_START(head, p); + char *ptest_dir = strdup(p->run_ptest); +@@ -388,6 +441,13 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + break; + } + dirname(ptest_dir); ++ if (ioctl(0, TIOCNOTTY) == -1) { ++ fprintf(fp, "ERROR: Unable to detach from controlling tty, %s\n", strerror(errno)); ++ } ++ ++ if ((pgid = getpgid(0)) == -1) { ++ fprintf(fp, "ERROR: getpgid() failed, %s\n", strerror(errno)); ++ } + + child = fork(); + if (child == -1) { +@@ -395,13 +455,33 @@ run_ptests(struct ptest_list *head, const struct ptest_options opts, + rc = -1; + break; + } else if (child == 0) { +- setsid(); ++ close(0); ++ if ((slave = setup_slave_pty(fp)) < 0) { ++ fprintf(fp, "ERROR: could not setup pty (%d).", slave); ++ } ++ if (setpgid(0,pgid) == -1) { ++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); ++ } ++ ++ if (setsid() == -1) { ++ fprintf(fp, "ERROR: setsid() failed, %s\n", strerror(errno)); ++ } ++ ++ if (ioctl(0, TIOCSCTTY, NULL) == -1) { ++ fprintf(fp, "ERROR: Unable to attach to controlling tty, %s\n", strerror(errno)); ++ } ++ + run_child(p->run_ptest, pipefd_stdout[1], pipefd_stderr[1]); ++ + } else { + int status; + int fds[2]; fds[0] = pipefd_stdout[0]; fds[1] = pipefd_stderr[0]; + FILE *fps[2]; fps[0] = fp; fps[1] = fp_stderr; + ++ if (setpgid(child, pgid) == -1) { ++ fprintf(fp, "ERROR: setpgid() failed, %s\n", strerror(errno)); ++ } ++ + sttime = time(NULL); + fprintf(fp, "%s\n", get_stime(stime, GET_STIME_BUF_SIZE, sttime)); + fprintf(fp, "BEGIN: %s\n", ptest_dir); +-- +2.17.0 + diff --git a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb index e2eb258d0b..dec60fcc9b 100644 --- a/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb +++ b/poky/meta/recipes-support/ptest-runner/ptest-runner_2.3.1.bb @@ -7,13 +7,15 @@ HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/ptest-runner2/about/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=751419260aa954499f7abaabaa882bbe" -SRCREV = "05b112bda7ac2adba8e9b0f088d6e5843b148a38" +SRCREV = "63d097cc46142157931682fed076b5407757a0bd" PV = "2.3.1+git${SRCPV}" SRC_URI = "git://git.yoctoproject.org/ptest-runner2 \ file://0001-utils-Ensure-stdout-stderr-are-flushed.patch \ file://0002-use-process-groups-when-spawning.patch \ - file://0003-utils-Ensure-pipes-are-read-after-exit.patch" + file://0003-utils-Ensure-pipes-are-read-after-exit.patch \ + file://0004-utils-ensure-child-can-be-session-leader.patch \ +" S = "${WORKDIR}/git" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/default b/poky/meta/recipes-support/rng-tools/rng-tools/default index ab7cd9327f..b9f8e03635 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/default +++ b/poky/meta/recipes-support/rng-tools/rng-tools/default @@ -1,2 +1 @@ -# Specify rng device -RNG_DEVICE=/dev/hwrng +EXTRA_ARGS="-r /dev/hwrng" diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/init b/poky/meta/recipes-support/rng-tools/rng-tools/init index 7cf78393a4..13f0ecd37c 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/init +++ b/poky/meta/recipes-support/rng-tools/rng-tools/init @@ -1,26 +1,19 @@ -#! /bin/sh +#!/bin/sh # # This is an init script for openembedded -# Copy it to /etc/init.d/rng-tools and type +# Copy it to @SYSCONFDIR@/init.d/rng-tools and type # > update-rc.d rng-tools defaults 60 # -rngd=/usr/sbin/rngd +rngd=@SBINDIR@/rngd test -x "$rngd" || exit 1 -if [ -e /etc/default/rng-tools ]; then - . /etc/default/rng-tools -fi - -if [ -n "$RNG_DEVICE" ]; then - EXTRA_ARGS="-- -r $RNG_DEVICE" -fi - +[ -r @SYSCONFDIR@/default/rng-tools ] && . "@SYSCONFDIR@/default/rng-tools" case "$1" in start) echo -n "Starting random number generator daemon" - start-stop-daemon -S -q -x $rngd $EXTRA_ARGS + start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS echo "." ;; stop) @@ -38,11 +31,11 @@ case "$1" in start-stop-daemon -K -q -n rngd echo "." echo -n "Starting random number generator daemon" - start-stop-daemon -S -q -x $rngd $EXTRA_ARGS + start-stop-daemon -S -q -x $rngd -- $EXTRA_ARGS echo "." ;; *) - echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}" + echo "Usage: @SYSCONFDIR@/init.d/rng-tools {start|stop|reload|restart|force-reload}" exit 1 esac diff --git a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service index f0355db14f..b1a78527be 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service +++ b/poky/meta/recipes-support/rng-tools/rng-tools/rngd.service @@ -5,8 +5,8 @@ After=systemd-udev-settle.service Before=sysinit.target [Service] -ExecStart=@SBINDIR@/rngd -f -r /dev/hwrng -SuccessExitStatus=66 +EnvironmentFile=-@SYSCONFDIR@/default/rng-tools +ExecStart=@SBINDIR@/rngd -f $EXTRA_ARGS [Install] WantedBy=multi-user.target diff --git a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb index 6796c9be9e..b0afa4b0eb 100644 --- a/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb +++ b/poky/meta/recipes-support/rng-tools/rng-tools_6.6.bb @@ -1,58 +1,56 @@ SUMMARY = "Random number generator daemon" +DESCRIPTION = "Check and feed random data from hardware device to kernel" +AUTHOR = "Philipp Rumpf, Jeff Garzik <jgarzik@pobox.com>, \ + Henrique de Moraes Holschuh <hmh@debian.org>" +HOMEPAGE = "https://github.com/nhorman/rng-tools" +BUGTRACKER = "https://github.com/nhorman/rng-tools/issues" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRC_URI = "git://github.com/nhorman/rng-tools.git \ - file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \ - file://0002-Add-argument-to-control-the-libargp-dependency.patch \ - file://underquote.patch \ - file://rng-tools-5-fix-textrels-on-PIC-x86.patch \ - file://0001-configure.ac-fix-typo.patch \ - file://init \ - file://default \ - file://rngd.service \ +DEPENDS = "sysfsutils" + +SRC_URI = "\ + git://github.com/nhorman/rng-tools.git \ + file://0001-If-the-libc-is-lacking-argp-use-libargp.patch \ + file://0002-Add-argument-to-control-the-libargp-dependency.patch \ + file://underquote.patch \ + file://rng-tools-5-fix-textrels-on-PIC-x86.patch \ + file://0001-configure.ac-fix-typo.patch \ + file://init \ + file://default \ + file://rngd.service \ " SRCREV = "4ebc21d6f387bb7b4b3f6badc429e27b21c0a6ee" + S = "${WORKDIR}/git" inherit autotools update-rc.d systemd pkgconfig -DEPENDS = " \ - sysfsutils \ - " - PACKAGECONFIG ??= "libgcrypt libjitterentropy" PACKAGECONFIG_libc-musl = "libargp libjitterentropy" + PACKAGECONFIG[libargp] = "--with-libargp,--without-libargp,argp-standalone," PACKAGECONFIG[libgcrypt] = "--with-libgcrypt,--without-libgcrypt,libgcrypt," PACKAGECONFIG[libjitterentropy] = "--enable-jitterentropy,--disable-jitterentropy,libjitterentropy" PACKAGECONFIG[nistbeacon] = "--with-nistbeacon,--without-nistbeacon,curl libxml2 openssl" +INITSCRIPT_NAME = "rng-tools" +INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." + +SYSTEMD_SERVICE_${PN} = "rngd.service" + # Refer autogen.sh in rng-tools do_configure_prepend() { cp ${S}/README.md ${S}/README } do_install_append() { - # Only install the init script when 'sysvinit' is in DISTRO_FEATURES. - if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then - install -d "${D}${sysconfdir}/init.d" - install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools - sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir}/,' \ - ${D}${sysconfdir}/init.d/rng-tools - - install -d "${D}${sysconfdir}/default" - install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${systemd_unitdir}/system - install -m 644 ${WORKDIR}/rngd.service ${D}${systemd_unitdir}/system - sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/rngd.service - fi + install -Dm 0644 ${WORKDIR}/default ${D}${sysconfdir}/default/rng-tools + install -Dm 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools + install -Dm 0644 ${WORKDIR}/rngd.service \ + ${D}${systemd_system_unitdir}/rngd.service + sed -i \ + -e 's,@SYSCONFDIR@,${sysconfdir},' \ + -e 's,@SBINDIR@,${sbindir},' \ + ${D}${sysconfdir}/init.d/rng-tools \ + ${D}${systemd_system_unitdir}/rngd.service } - -INITSCRIPT_NAME = "rng-tools" -INITSCRIPT_PARAMS = "start 03 2 3 4 5 . stop 30 0 6 1 ." - -SYSTEMD_SERVICE_${PN} = "rngd.service" diff --git a/poky/meta/recipes-support/serf/serf_1.3.9.bb b/poky/meta/recipes-support/serf/serf_1.3.9.bb index 65a8114bb4..92cd5ca061 100644 --- a/poky/meta/recipes-support/serf/serf_1.3.9.bb +++ b/poky/meta/recipes-support/serf/serf_1.3.9.bb @@ -14,18 +14,19 @@ SRC_URI[sha256sum] = "549c2d21c577a8a9c0450facb5cca809f26591f048e466552240947bdf LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" -DEPENDS = "python-scons-native openssl apr apr-util util-linux expat" +inherit scons -do_compile() { - ${STAGING_BINDIR_NATIVE}/scons ${PARALLEL_MAKE} PREFIX=${prefix} \ - CC="${CC}" \ - APR=`which apr-1-config` APU=`which apu-1-config` \ - CFLAGS="${CFLAGS}" LINKFLAGS="${LDFLAGS}" \ - OPENSSL="${STAGING_EXECPREFIXDIR}" -} +DEPENDS += " openssl apr apr-util util-linux expat" -do_install() { - ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} LIBDIR=${D}${libdir} install -} +EXTRA_OESCONS = " \ + LIBDIR=${libdir} \ + --install-sandbox=${D} \ + CC="${CC}" \ + CFLAGS="${CFLAGS}" \ + LINKFLAGS="${LDFLAGS}" \ + APR=`which apr-1-config` \ + APU=`which apu-1-config` \ + OPENSSL="${STAGING_EXECPREFIXDIR}" \ + " BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch b/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch deleted file mode 100644 index b0aa5d1739..0000000000 --- a/poky/meta/recipes-support/source-highlight/files/0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 9aa01fd5f9d8b2b98c34684dc8f68115750ef41c Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 12 Jul 2016 17:15:13 +0300 -Subject: [PATCH] source-highlight.pc.in: do not add Boost's libraries and - includes - -This breaks when compiling in sysroots; a proper way is to use Depends - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - source-highlight.pc.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/source-highlight.pc.in b/source-highlight.pc.in -index 79ab63e..64114a7 100644 ---- a/source-highlight.pc.in -+++ b/source-highlight.pc.in -@@ -7,6 +7,6 @@ Name: libsource-highlight - Description: GNU Source-highlight library. - URL: http://www.gnu.org/software/src-highlite/ - Version: @VERSION@ --Libs: -L${libdir} -lsource-highlight @BOOST_LDFLAGS@ @BOOST_REGEX_LIB@ --Cflags: -I${includedir} @BOOST_CPPFLAGS@ -+Libs: -L${libdir} -lsource-highlight -+Cflags: -I${includedir} - --- -2.8.1 - diff --git a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb b/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb deleted file mode 100644 index 85923e4759..0000000000 --- a/poky/meta/recipes-support/source-highlight/source-highlight_3.1.8.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Syntax highlight utility" -DESCRIPTION = "Source-highlight converts source code to formatted text with syntax highlighting." -HOMEPAGE = "https://www.gnu.org/software/src-highlite/" -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=ff95bfe019feaf92f524b73dd79e76eb" - -SRC_URI = "${GNU_MIRROR}/src-highlite/${BPN}-${PV}.tar.gz \ - file://0001-source-highlight.pc.in-do-not-add-Boost-s-libraries-.patch" -SRC_URI[md5sum] = "3243470706ef5fefdc3e43b5306a4e41" -SRC_URI[sha256sum] = "01336a7ea1d1ccc374201f7b81ffa94d0aecb33afc7d6903ebf9fbf33a55ada3" - -inherit autotools - -DEPENDS_append = " boost" - -DEPENDS_append_class-target = " source-highlight-native" - -EXTRA_OECONF = "--with-boost=yes --with-boost-libdir=${STAGING_DIR_TARGET}${libdir}" - -BBCLASSEXTEND = "native" - -# source-highlight is using its own binary from the build tree to make documentation -# let's substitute the native binary instead -do_configure_prepend_class-target () { - sed -i -e 's,^SRCHILITEEXE = $(top_builddir).*,SRCHILITEEXE = source-highlight,' ${S}/doc/Makefile.am -} - -RDEPENDS_source-highlight += "bash" diff --git a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb index 01dcf66d1e..f4e288295d 100644 --- a/poky/meta/recipes-support/taglib/taglib_1.11.1.bb +++ b/poky/meta/recipes-support/taglib/taglib_1.11.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Library for reading and editing the meta-data of popular audio formats" SECTION = "libs/multimedia" HOMEPAGE = "http://taglib.github.io/" -LICENSE = "LGPLv2.1 | MPL-1" +LICENSE = "LGPLv2.1 | MPL-1.1" LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \ file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \ file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee" diff --git a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb index 74464833ad..e4c26d23f6 100644 --- a/poky/meta/recipes-support/vim/vim-tiny_8.1.1240.bb +++ b/poky/meta/recipes-support/vim/vim-tiny_8.1.1518.bb @@ -1,10 +1,7 @@ -require vim_${PV}.bb +require vim.inc SUMMARY += " (with tiny features)" -PROVIDES_remove = "xxd" -ALTERNATIVE_${PN}_remove = "xxd" - PACKAGECONFIG += "tiny" do_install() { diff --git a/poky/meta/recipes-support/vim/vim_8.1.1240.bb b/poky/meta/recipes-support/vim/vim.inc index f5c74684bf..0a31e68cb7 100644 --- a/poky/meta/recipes-support/vim/vim_8.1.1240.bb +++ b/poky/meta/recipes-support/vim/vim.inc @@ -1,7 +1,6 @@ SUMMARY = "Vi IMproved - enhanced vi editor" SECTION = "console/utils" -PROVIDES = "xxd" DEPENDS = "ncurses gettext-native" # vimdiff doesn't like busybox diff RSUGGESTS_${PN} = "diffutils" @@ -13,7 +12,7 @@ SRC_URI = "git://github.com/vim/vim.git \ file://vim-add-knob-whether-elf.h-are-checked.patch \ file://0001-src-Makefile-improve-reproducibility.patch \ " -SRCREV = "d96dbd6f95ea22f609042cc9c6272f14a21ff1a5" +SRCREV = "202d982b36d87cf91d992bd7e30d3223bdc72cd9" S = "${WORKDIR}/git" @@ -52,9 +51,8 @@ PACKAGECONFIG += " \ ${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 gtkgui', '', d)} \ " -PACKAGECONFIG_class-native = "" -PACKAGECONFIG[gtkgui] = "--enable-gui=gtk2,--enable-gui=no,gtk+," +PACKAGECONFIG[gtkgui] = "--enable-gui=gtk3,--enable-gui=no,gtk+3" PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," PACKAGECONFIG[x11] = "--with-x,--without-x,xt," PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,," @@ -130,12 +128,8 @@ RDEPENDS_${BPN} = "ncurses-terminfo-base" # Recommend that runtime data is installed along with vim RRECOMMENDS_${BPN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" -ALTERNATIVE_${PN} = "vi vim xxd" +ALTERNATIVE_${PN} = "vi vim" ALTERNATIVE_PRIORITY = "100" ALTERNATIVE_TARGET = "${bindir}/${BPN}.${BPN}" ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" ALTERNATIVE_LINK_NAME[vim] = "${bindir}/vim" -ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" -ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" - -BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-support/vim/vim_8.1.1518.bb b/poky/meta/recipes-support/vim/vim_8.1.1518.bb new file mode 100644 index 0000000000..60946a181f --- /dev/null +++ b/poky/meta/recipes-support/vim/vim_8.1.1518.bb @@ -0,0 +1,10 @@ +require vim.inc + +PROVIDES = "xxd" + +PACKAGECONFIG_class-native = "" +BBCLASSEXTEND = "native" + +ALTERNATIVE_${PN}_append = " xxd" +ALTERNATIVE_TARGET[xxd] = "${bindir}/xxd" +ALTERNATIVE_LINK_NAME[xxd] = "${bindir}/xxd" diff --git a/poky/meta/recipes-support/vte/vte_0.56.1.bb b/poky/meta/recipes-support/vte/vte_0.56.1.bb index 3585e9ce57..702436b368 100644 --- a/poky/meta/recipes-support/vte/vte_0.56.1.bb +++ b/poky/meta/recipes-support/vte/vte_0.56.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Virtual terminal emulator GTK+ widget library" BUGTRACKER = "https://bugzilla.gnome.org/buglist.cgi?product=vte" -LICENSE = "GPLv3 & LGPLv2.1+" -LICENSE_libvte = "LGPLv2.1+" +LICENSE = "GPLv3 & LGPLv3+ & LGPLv2.1+" +LICENSE_libvte = "LGPLv3+" LIC_FILES_CHKSUM = " \ file://COPYING.GPL3;md5=2f31b266d3440dd7ee50f92cf67d8e6c \ diff --git a/poky/scripts/lib/recipetool/create_buildsys_python.py b/poky/scripts/lib/recipetool/create_buildsys_python.py index 1a38bd0b14..ac9bc9237c 100644 --- a/poky/scripts/lib/recipetool/create_buildsys_python.py +++ b/poky/scripts/lib/recipetool/create_buildsys_python.py @@ -31,11 +31,11 @@ def tinfoil_init(instance): class PythonRecipeHandler(RecipeHandler): - base_pkgdeps = ['python-core'] - excluded_pkgdeps = ['python-dbg'] - # os.path is provided by python-core + base_pkgdeps = ['python3-core'] + excluded_pkgdeps = ['python3-dbg'] + # os.path is provided by python3-core assume_provided = ['builtins', 'os.path'] - # Assumes that the host python builtin_module_names is sane for target too + # Assumes that the host python3 builtin_module_names is sane for target too assume_provided = assume_provided + list(sys.builtin_module_names) bbvar_map = { @@ -215,9 +215,9 @@ class PythonRecipeHandler(RecipeHandler): self.apply_info_replacements(info) if uses_setuptools: - classes.append('setuptools') + classes.append('setuptools3') else: - classes.append('distutils') + classes.append('distutils3') if license_str: for i, line in enumerate(lines_before): @@ -282,7 +282,7 @@ class PythonRecipeHandler(RecipeHandler): for feature, feature_reqs in extras_req.items(): unmapped_deps.difference_update(feature_reqs) - feature_req_deps = ('python-' + r.replace('.', '-').lower() for r in sorted(feature_reqs)) + feature_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(feature_reqs)) lines_after.append('PACKAGECONFIG[{}] = ",,,{}"'.format(feature.lower(), ' '.join(feature_req_deps))) inst_reqs = set() @@ -293,7 +293,7 @@ class PythonRecipeHandler(RecipeHandler): if inst_reqs: unmapped_deps.difference_update(inst_reqs) - inst_req_deps = ('python-' + r.replace('.', '-').lower() for r in sorted(inst_reqs)) + inst_req_deps = ('python3-' + r.replace('.', '-').lower() for r in sorted(inst_reqs)) lines_after.append('# WARNING: the following rdepends are from setuptools install_requires. These') lines_after.append('# upstream names may not correspond exactly to bitbake package names.') lines_after.append('RDEPENDS_${{PN}} += "{}"'.format(' '.join(inst_req_deps))) @@ -356,7 +356,7 @@ class PythonRecipeHandler(RecipeHandler): return info, 'setuptools' in imported_modules, non_literals, extensions def get_setup_args_info(self, setupscript='./setup.py'): - cmd = ['python', setupscript] + cmd = ['python3', setupscript] info = {} keys = set(self.bbvar_map.keys()) keys |= set(self.setuparg_list_fields) @@ -390,7 +390,7 @@ class PythonRecipeHandler(RecipeHandler): def get_setup_byline(self, fields, setupscript='./setup.py'): info = {} - cmd = ['python', setupscript] + cmd = ['python3', setupscript] cmd.extend('--' + self.setuparg_map.get(f, f.lower()) for f in fields) try: info_lines = self.run_command(cmd, cwd=os.path.dirname(setupscript)).splitlines() @@ -527,7 +527,7 @@ class PythonRecipeHandler(RecipeHandler): pkgdata_dir = tinfoil.config_data.getVar('PKGDATA_DIR') ldata = tinfoil.config_data.createCopy() - bb.parse.handle('classes/python-dir.bbclass', ldata, True) + bb.parse.handle('classes/python3-dir.bbclass', ldata, True) python_sitedir = ldata.getVar('PYTHON_SITEPACKAGES_DIR') dynload_dir = os.path.join(os.path.dirname(python_sitedir), 'lib-dynload') diff --git a/poky/scripts/lib/resulttool/manualexecution.py b/poky/scripts/lib/resulttool/manualexecution.py index df28e1d21e..ecb27c5933 100755 --- a/poky/scripts/lib/resulttool/manualexecution.py +++ b/poky/scripts/lib/resulttool/manualexecution.py @@ -181,11 +181,38 @@ class ManualTestRunner(object): write_json_file(config_options_file, config_options) logger.info('Configuration option file created at %s' % config_options_file) + def make_testcase_config_file(self, logger, case_file, testcase_config_file): + if testcase_config_file: + if os.path.exists(testcase_config_file): + print('\nTest configuration file with name %s already exists. Please provide a unique file name' % (testcase_config_file)) + return 0 + + if not testcase_config_file: + testcase_config_file = os.path.join(self._get_write_dir(), "testconfig_new.json") + + testcase_config = {} + cases = load_json_file(case_file) + new_test_module = self._get_test_module(case_file) + new_testcase_config = {} + new_testcase_config['testcases'] = [] + + print('\nAdd testcases for this configuration file:') + for case in cases: + print('\n' + case['test']['@alias']) + add_tc_config = self._get_true_false_input('\nDo you want to add this test case to test configuration : (Y)es/(N)o\n') + if add_tc_config: + new_testcase_config['testcases'].append(case['test']['@alias']) + write_json_file(testcase_config_file, new_testcase_config) + logger.info('Testcase Configuration file created at %s' % testcase_config_file) + def manualexecution(args, logger): testrunner = ManualTestRunner() if args.make_config_options_file: testrunner.make_config_option_file(logger, args.file, args.config_options_file) return 0 + if args.make_testcase_config_file: + testrunner.make_testcase_config_file(logger, args.file, args.testcase_config_file) + return 0 configurations, result_id, write_dir, test_results = testrunner.run_test(args.file, args.config_options_file, args.testcase_config_file) resultjsonhelper = OETestResultJSONHelper() resultjsonhelper.dump_testresult_file(write_dir, configurations, result_id, test_results) @@ -203,4 +230,6 @@ def register_commands(subparsers): parser_build.add_argument('-m', '--make-config-options-file', action='store_true', help='make the configuration options file based on provided inputs') parser_build.add_argument('-t', '--testcase-config-file', default='', - help='the testcase configuration file to enable user to run a selected set of test case')
\ No newline at end of file + help='the testcase configuration file to enable user to run a selected set of test case or make a testcase configuration file') + parser_build.add_argument('-d', '--make-testcase-config-file', action='store_true', + help='make the testcase configuration file to run a set of test cases based on user selection')
\ No newline at end of file diff --git a/poky/scripts/lib/resulttool/merge.py b/poky/scripts/lib/resulttool/merge.py index 70d23a48fd..18b4825a18 100644 --- a/poky/scripts/lib/resulttool/merge.py +++ b/poky/scripts/lib/resulttool/merge.py @@ -11,16 +11,23 @@ import json import resulttool.resultutils as resultutils def merge(args, logger): + configvars = {} + if not args.not_add_testseries: + configvars = resultutils.extra_configvars.copy() + if args.executed_by: + configvars['EXECUTED_BY'] = args.executed_by if resultutils.is_url(args.target_results) or os.path.isdir(args.target_results): - results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map) - resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map) + results = resultutils.load_resultsdata(args.target_results, configmap=resultutils.store_map, configvars=configvars) + resultutils.append_resultsdata(results, args.base_results, configmap=resultutils.store_map, configvars=configvars) resultutils.save_resultsdata(results, args.target_results) else: - results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map) + results = resultutils.load_resultsdata(args.base_results, configmap=resultutils.flatten_map, configvars=configvars) if os.path.exists(args.target_results): - resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map) + resultutils.append_resultsdata(results, args.target_results, configmap=resultutils.flatten_map, configvars=configvars) resultutils.save_resultsdata(results, os.path.dirname(args.target_results), fn=os.path.basename(args.target_results)) + logger.info('Merged results to %s' % os.path.dirname(args.target_results)) + return 0 def register_commands(subparsers): @@ -33,4 +40,7 @@ def register_commands(subparsers): help='the results file/directory/URL to import') parser_build.add_argument('target_results', help='the target file or directory to merge the base_results with') - + parser_build.add_argument('-t', '--not-add-testseries', action='store_true', + help='do not add testseries configuration to results') + parser_build.add_argument('-x', '--executed-by', default='', + help='add executed-by configuration to each result file') diff --git a/poky/scripts/lib/resulttool/report.py b/poky/scripts/lib/resulttool/report.py index cb6b1cf948..a48c59f632 100644 --- a/poky/scripts/lib/resulttool/report.py +++ b/poky/scripts/lib/resulttool/report.py @@ -24,16 +24,19 @@ class ResultsTextReport(object): 'skipped': ['SKIPPED', 'skipped']} - def handle_ptest_result(self, k, status, result): + def handle_ptest_result(self, k, status, result, machine): + if machine not in self.ptests: + self.ptests[machine] = {} + if k == 'ptestresult.sections': # Ensure tests without any test results still show up on the report for suite in result['ptestresult.sections']: - if suite not in self.ptests: - self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ptests[machine]: + self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} if 'duration' in result['ptestresult.sections'][suite]: - self.ptests[suite]['duration'] = result['ptestresult.sections'][suite]['duration'] + self.ptests[machine][suite]['duration'] = result['ptestresult.sections'][suite]['duration'] if 'timeout' in result['ptestresult.sections'][suite]: - self.ptests[suite]['duration'] += " T" + self.ptests[machine][suite]['duration'] += " T" return try: _, suite, test = k.split(".", 2) @@ -47,22 +50,25 @@ class ResultsTextReport(object): suite = suite + "." + suite1 except ValueError: pass - if suite not in self.ptests: - self.ptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ptests[machine]: + self.ptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} for tk in self.result_types: if status in self.result_types[tk]: - self.ptests[suite][tk] += 1 + self.ptests[machine][suite][tk] += 1 + + def handle_ltptest_result(self, k, status, result, machine): + if machine not in self.ltptests: + self.ltptests[machine] = {} - def handle_ltptest_result(self, k, status, result): if k == 'ltpresult.sections': # Ensure tests without any test results still show up on the report for suite in result['ltpresult.sections']: - if suite not in self.ltptests: - self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltptests[machine]: + self.ltptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} if 'duration' in result['ltpresult.sections'][suite]: - self.ltptests[suite]['duration'] = result['ltpresult.sections'][suite]['duration'] + self.ltptests[machine][suite]['duration'] = result['ltpresult.sections'][suite]['duration'] if 'timeout' in result['ltpresult.sections'][suite]: - self.ltptests[suite]['duration'] += " T" + self.ltptests[machine][suite]['duration'] += " T" return try: _, suite, test = k.split(".", 2) @@ -77,20 +83,23 @@ class ResultsTextReport(object): suite = suite + "." + suite1 except ValueError: pass - if suite not in self.ltptests: - self.ltptests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltptests[machine]: + self.ltptests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} for tk in self.result_types: if status in self.result_types[tk]: - self.ltptests[suite][tk] += 1 + self.ltptests[machine][suite][tk] += 1 + + def handle_ltpposixtest_result(self, k, status, result, machine): + if machine not in self.ltpposixtests: + self.ltpposixtests[machine] = {} - def handle_ltpposixtest_result(self, k, status, result): if k == 'ltpposixresult.sections': # Ensure tests without any test results still show up on the report for suite in result['ltpposixresult.sections']: - if suite not in self.ltpposixtests: - self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltpposixtests[machine]: + self.ltpposixtests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} if 'duration' in result['ltpposixresult.sections'][suite]: - self.ltpposixtests[suite]['duration'] = result['ltpposixresult.sections'][suite]['duration'] + self.ltpposixtests[machine][suite]['duration'] = result['ltpposixresult.sections'][suite]['duration'] return try: _, suite, test = k.split(".", 2) @@ -104,19 +113,13 @@ class ResultsTextReport(object): suite = suite + "." + suite1 except ValueError: pass - if suite not in self.ltpposixtests: - self.ltpposixtests[suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} + if suite not in self.ltpposixtests[machine]: + self.ltpposixtests[machine][suite] = {'passed': 0, 'failed': 0, 'skipped': 0, 'duration' : '-', 'failed_testcases': []} for tk in self.result_types: if status in self.result_types[tk]: - self.ltpposixtests[suite][tk] += 1 + self.ltpposixtests[machine][suite][tk] += 1 - def get_aggregated_test_result(self, logger, testresult): - test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} - def get_aggregated_test_result(self, logger, testresult): - test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} - def get_aggregated_test_result(self, logger, testresult): - test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} - def get_aggregated_test_result(self, logger, testresult): + def get_aggregated_test_result(self, logger, testresult, machine): test_count_report = {'passed': 0, 'failed': 0, 'skipped': 0, 'failed_testcases': []} result = testresult.get('result', []) for k in result: @@ -127,11 +130,11 @@ class ResultsTextReport(object): if test_status in self.result_types['failed']: test_count_report['failed_testcases'].append(k) if k.startswith("ptestresult."): - self.handle_ptest_result(k, test_status, result) + self.handle_ptest_result(k, test_status, result, machine) if k.startswith("ltpresult."): - self.handle_ltptest_result(k, test_status, result) + self.handle_ltptest_result(k, test_status, result, machine) if k.startswith("ltpposixresult."): - self.handle_ltpposixtest_result(k, test_status, result) + self.handle_ltpposixtest_result(k, test_status, result, machine) return test_count_report def print_test_report(self, template_file_name, test_count_reports): @@ -141,10 +144,8 @@ class ResultsTextReport(object): env = Environment(loader=file_loader, trim_blocks=True) template = env.get_template(template_file_name) havefailed = False - haveptest = bool(self.ptests) - haveltp = bool(self.ltptests) - haveltpposix = bool(self.ltpposixtests) reportvalues = [] + machines = [] cols = ['passed', 'failed', 'skipped'] maxlen = {'passed' : 0, 'failed' : 0, 'skipped' : 0, 'result_id': 0, 'testseries' : 0, 'ptest' : 0 ,'ltptest': 0, 'ltpposixtest': 0} for line in test_count_reports: @@ -162,21 +163,24 @@ class ResultsTextReport(object): reportvalues.append(vals) if line['failed_testcases']: havefailed = True - for ptest in self.ptests: - if len(ptest) > maxlen['ptest']: - maxlen['ptest'] = len(ptest) - for ltptest in self.ltptests: - if len(ltptest) > maxlen['ltptest']: - maxlen['ltptest'] = len(ltptest) - for ltpposixtest in self.ltpposixtests: - if len(ltpposixtest) > maxlen['ltpposixtest']: - maxlen['ltpposixtest'] = len(ltpposixtest) + if line['machine'] not in machines: + machines.append(line['machine']) + for (machine, report) in self.ptests.items(): + for ptest in self.ptests[machine]: + if len(ptest) > maxlen['ptest']: + maxlen['ptest'] = len(ptest) + for (machine, report) in self.ltptests.items(): + for ltptest in self.ltptests[machine]: + if len(ltptest) > maxlen['ltptest']: + maxlen['ltptest'] = len(ltptest) + for (machine, report) in self.ltpposixtests.items(): + for ltpposixtest in self.ltpposixtests[machine]: + if len(ltpposixtest) > maxlen['ltpposixtest']: + maxlen['ltpposixtest'] = len(ltpposixtest) output = template.render(reportvalues=reportvalues, havefailed=havefailed, - haveptest=haveptest, + machines=machines, ptests=self.ptests, - haveltp=haveltp, - haveltpposix=haveltpposix, ltptests=self.ltptests, ltpposixtests=self.ltpposixtests, maxlen=maxlen) @@ -200,7 +204,9 @@ class ResultsTextReport(object): for testsuite in testresults: for resultid in testresults[testsuite]: result = testresults[testsuite][resultid] - test_count_report = self.get_aggregated_test_result(logger, result) + machine = result['configuration']['MACHINE'] + test_count_report = self.get_aggregated_test_result(logger, result, machine) + test_count_report['machine'] = machine test_count_report['testseries'] = result['configuration']['TESTSERIES'] test_count_report['result_id'] = resultid test_count_reports.append(test_count_report) diff --git a/poky/scripts/lib/resulttool/resultutils.py b/poky/scripts/lib/resulttool/resultutils.py index ea4ab42d9a..e595c185df 100644 --- a/poky/scripts/lib/resulttool/resultutils.py +++ b/poky/scripts/lib/resulttool/resultutils.py @@ -42,10 +42,12 @@ def is_url(p): """ return p.startswith('http://') or p.startswith('https://') +extra_configvars = {'TESTSERIES': ''} + # # Load the json file and append the results data into the provided results dict # -def append_resultsdata(results, f, configmap=store_map): +def append_resultsdata(results, f, configmap=store_map, configvars=extra_configvars): if type(f) is str: if is_url(f): with urllib.request.urlopen(f) as response: @@ -61,12 +63,15 @@ def append_resultsdata(results, f, configmap=store_map): for res in data: if "configuration" not in data[res] or "result" not in data[res]: raise ValueError("Test results data without configuration or result section?") - if "TESTSERIES" not in data[res]["configuration"]: - data[res]["configuration"]["TESTSERIES"] = testseries + for config in configvars: + if config == "TESTSERIES" and "TESTSERIES" not in data[res]["configuration"]: + data[res]["configuration"]["TESTSERIES"] = testseries + continue + if config not in data[res]["configuration"]: + data[res]["configuration"][config] = configvars[config] testtype = data[res]["configuration"].get("TEST_TYPE") if testtype not in configmap: raise ValueError("Unknown test type %s" % testtype) - configvars = configmap[testtype] testpath = "/".join(data[res]["configuration"].get(i) for i in configmap[testtype]) if testpath not in results: results[testpath] = {} @@ -76,16 +81,16 @@ def append_resultsdata(results, f, configmap=store_map): # Walk a directory and find/load results data # or load directly from a file # -def load_resultsdata(source, configmap=store_map): +def load_resultsdata(source, configmap=store_map, configvars=extra_configvars): results = {} if is_url(source) or os.path.isfile(source): - append_resultsdata(results, source, configmap) + append_resultsdata(results, source, configmap, configvars) return results for root, dirs, files in os.walk(source): for name in files: f = os.path.join(root, name) if name == "testresults.json": - append_resultsdata(results, f, configmap) + append_resultsdata(results, f, configmap, configvars) return results def filter_resultsdata(results, resultid): diff --git a/poky/scripts/lib/resulttool/store.py b/poky/scripts/lib/resulttool/store.py index 06505aecc0..79c83dd8b7 100644 --- a/poky/scripts/lib/resulttool/store.py +++ b/poky/scripts/lib/resulttool/store.py @@ -21,16 +21,19 @@ import oeqa.utils.gitarchive as gitarchive def store(args, logger): tempdir = tempfile.mkdtemp(prefix='testresults.') try: + configvars = resultutils.extra_configvars.copy() + if args.executed_by: + configvars['EXECUTED_BY'] = args.executed_by results = {} logger.info('Reading files from %s' % args.source) if resultutils.is_url(args.source) or os.path.isfile(args.source): - resultutils.append_resultsdata(results, args.source) + resultutils.append_resultsdata(results, args.source, configvars=configvars) else: for root, dirs, files in os.walk(args.source): for name in files: f = os.path.join(root, name) if name == "testresults.json": - resultutils.append_resultsdata(results, f) + resultutils.append_resultsdata(results, f, configvars=configvars) elif args.all: dst = f.replace(args.source, tempdir + "/") os.makedirs(os.path.dirname(dst), exist_ok=True) @@ -93,4 +96,6 @@ def register_commands(subparsers): help='include all files, not just testresults.json files') parser_build.add_argument('-e', '--allow-empty', action='store_true', help='don\'t error if no results to store are found') + parser_build.add_argument('-x', '--executed-by', default='', + help='add executed-by configuration to each result file') diff --git a/poky/scripts/lib/resulttool/template/test_report_full_text.txt b/poky/scripts/lib/resulttool/template/test_report_full_text.txt index d2725b8d01..17c99cb4e7 100644 --- a/poky/scripts/lib/resulttool/template/test_report_full_text.txt +++ b/poky/scripts/lib/resulttool/template/test_report_full_text.txt @@ -9,54 +9,54 @@ Test Result Status Summary (Counts/Percentages sorted by testseries, ID) {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% if haveptest %} + +{% for machine in machines %} +{% if ptests[machine] %} ============================================================================================================== -PTest Result Summary +{{ machine }} PTest Result Summary ============================================================================================================== -------------------------------------------------------------------------------------------------------------- {{ 'Recipe'.ljust(maxlen['ptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -------------------------------------------------------------------------------------------------------------- -{% for ptest in ptests |sort %} -{{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[ptest]['duration']|string) }} +{% for ptest in ptests[machine] |sort %} +{{ ptest.ljust(maxlen['ptest']) }} | {{ (ptests[machine][ptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ptests[machine][ptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ptests[machine][ptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ptests[machine][ptest]['duration']|string) }} {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% else %} -There was no ptest data {% endif %} +{% endfor %} -{% if haveltp %} +{% for machine in machines %} +{% if ltptests[machine] %} ============================================================================================================== -Ltp Test Result Summary +{{ machine }} Ltp Test Result Summary ============================================================================================================== -------------------------------------------------------------------------------------------------------------- {{ 'Recipe'.ljust(maxlen['ltptest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -------------------------------------------------------------------------------------------------------------- -{% for ltptest in ltptests |sort %} -{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[ltptest]['duration']|string) }} +{% for ltptest in ltptests[machine] |sort %} +{{ ltptest.ljust(maxlen['ltptest']) }} | {{ (ltptests[machine][ltptest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltptests[machine][ltptest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltptests[machine][ltptest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltptests[machine][ltptest]['duration']|string) }} {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% else %} -There was no LTP Test data {% endif %} +{% endfor %} -{% if haveltpposix %} +{% for machine in machines %} +{% if ltpposixtests[machine] %} ============================================================================================================== -Ltp Posix Result Summary +{{ machine }} Ltp Posix Result Summary ============================================================================================================== -------------------------------------------------------------------------------------------------------------- {{ 'Recipe'.ljust(maxlen['ltpposixtest']) }} | {{ 'Passed'.ljust(maxlen['passed']) }} | {{ 'Failed'.ljust(maxlen['failed']) }} | {{ 'Skipped'.ljust(maxlen['skipped']) }} | {{ 'Time(s)'.ljust(10) }} -------------------------------------------------------------------------------------------------------------- -{% for ltpposixtest in ltpposixtests |sort %} -{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[ltpposixtest]['duration']|string) }} +{% for ltpposixtest in ltpposixtests[machine] |sort %} +{{ ltpposixtest.ljust(maxlen['ltpposixtest']) }} | {{ (ltpposixtests[machine][ltpposixtest]['passed']|string).ljust(maxlen['passed']) }} | {{ (ltpposixtests[machine][ltpposixtest]['failed']|string).ljust(maxlen['failed']) }} | {{ (ltpposixtests[machine][ltpposixtest]['skipped']|string).ljust(maxlen['skipped']) }} | {{ (ltpposixtests[machine][ltpposixtest]['duration']|string) }} {% endfor %} -------------------------------------------------------------------------------------------------------------- -{% else %} -There was no LTP Posix Test data {% endif %} - +{% endfor %} ============================================================================================================== diff --git a/poky/scripts/lib/wic/engine.py b/poky/scripts/lib/wic/engine.py index 42e93c3eb8..61939ad194 100644 --- a/poky/scripts/lib/wic/engine.py +++ b/poky/scripts/lib/wic/engine.py @@ -75,7 +75,8 @@ def find_canned_image(scripts_path, wks_file): for fname in files: if fname.endswith("~") or fname.endswith("#"): continue - if fname.endswith(".wks") and wks_file + ".wks" == fname: + if ((fname.endswith(".wks") and wks_file + ".wks" == fname) or \ + (fname.endswith(".wks.in") and wks_file + ".wks.in" == fname)): fullpath = os.path.join(canned_wks_dir, fname) return fullpath return None @@ -92,7 +93,7 @@ def list_canned_images(scripts_path): for fname in files: if fname.endswith("~") or fname.endswith("#"): continue - if fname.endswith(".wks"): + if fname.endswith(".wks") or fname.endswith(".wks.in"): fullpath = os.path.join(canned_wks_dir, fname) with open(fullpath) as wks: for line in wks: @@ -101,7 +102,7 @@ def list_canned_images(scripts_path): if idx != -1: desc = line[idx + len("short-description:"):].strip() break - basename = os.path.splitext(fname)[0] + basename = fname.split('.')[0] print(" %s\t\t%s" % (basename.ljust(30), desc)) diff --git a/poky/scripts/lib/wic/filemap.py b/poky/scripts/lib/wic/filemap.py index 244c07a71c..a3919fbcad 100644 --- a/poky/scripts/lib/wic/filemap.py +++ b/poky/scripts/lib/wic/filemap.py @@ -32,7 +32,10 @@ def get_block_size(file_obj): """ # Get the block size of the host file-system for the image file by calling # the FIGETBSZ ioctl (number 2). - binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0)) + try: + binary_data = fcntl.ioctl(file_obj, 2, struct.pack('I', 0)) + except OSError: + raise IOError("Unable to determine block size") bsize = struct.unpack('I', binary_data)[0] if not bsize: import os diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py index 652323fa77..d87db1f1b0 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -71,10 +71,17 @@ class BootimgEFIPlugin(SourcePlugin): grubefi_conf += "timeout=%s\n" % bootloader.timeout grubefi_conf += "menuentry '%s'{\n" % (title if title else "boot") - kernel = "/bzImage" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" - grubefi_conf += "linux %s root=%s rootwait %s\n" \ - % (kernel, creator.rootdev, bootloader.append) + label = source_params.get('label') + label_conf = "root=%s" % creator.rootdev + if label: + label_conf = "LABEL=%s" % label + + grubefi_conf += "linux /%s %s rootwait %s\n" \ + % (kernel, label_conf, bootloader.append) if initrd: grubefi_conf += "initrd /%s\n" % initrd @@ -138,14 +145,23 @@ class BootimgEFIPlugin(SourcePlugin): if not custom_cfg: # Create systemd-boot configuration using parameters from wks file - kernel = "/bzImage" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + title = source_params.get('title') boot_conf = "" boot_conf += "title %s\n" % (title if title else "boot") - boot_conf += "linux %s\n" % kernel - boot_conf += "options LABEL=Boot root=%s %s\n" % \ - (creator.rootdev, bootloader.append) + boot_conf += "linux /%s\n" % kernel + + label = source_params.get('label') + label_conf = "LABEL=Boot root=%s" % creator.rootdev + if label: + label_conf = "LABEL=%s" % label + + boot_conf += "options %s %s\n" % \ + (label_conf, bootloader.append) if initrd: boot_conf += "initrd /%s\n" % initrd @@ -198,8 +214,12 @@ class BootimgEFIPlugin(SourcePlugin): hdddir = "%s/hdd/boot" % cr_workdir - install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \ - (staging_kernel_dir, hdddir) + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + + install_cmd = "install -m 0644 %s/%s %s/%s" % \ + (staging_kernel_dir, kernel, hdddir, kernel) exec_cmd(install_cmd) diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 6c9f54a897..670d347747 100644 --- a/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/poky/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -149,8 +149,12 @@ class BootimgPcbiosPlugin(SourcePlugin): hdddir = "%s/hdd/boot" % cr_workdir - cmds = ("install -m 0644 %s/bzImage %s/vmlinuz" % - (staging_kernel_dir, hdddir), + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + + cmds = ("install -m 0644 %s/%s %s/vmlinuz" % + (staging_kernel_dir, kernel, hdddir), "install -m 444 %s/syslinux/ldlinux.sys %s/ldlinux.sys" % (bootimg_dir, hdddir), "install -m 0644 %s/syslinux/vesamenu.c32 %s/vesamenu.c32" % diff --git a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py index 96d07ff629..74d6f14519 100644 --- a/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py +++ b/poky/scripts/lib/wic/plugins/source/isoimage-isohybrid.py @@ -70,8 +70,10 @@ class IsoImagePlugin(SourcePlugin): syslinux_conf += "DEFAULT boot\n" syslinux_conf += "LABEL boot\n" - kernel = "/bzImage" - syslinux_conf += "KERNEL " + kernel + "\n" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + syslinux_conf += "KERNEL /" + kernel + "\n" syslinux_conf += "APPEND initrd=/initrd LABEL=boot %s\n" \ % bootloader.append @@ -114,9 +116,11 @@ class IsoImagePlugin(SourcePlugin): grubefi_conf += "\n" grubefi_conf += "menuentry 'boot'{\n" - kernel = "/bzImage" + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" - grubefi_conf += "linux %s rootwait %s\n" \ + grubefi_conf += "linux /%s rootwait %s\n" \ % (kernel, bootloader.append) grubefi_conf += "initrd /initrd \n" grubefi_conf += "}\n" @@ -268,9 +272,12 @@ class IsoImagePlugin(SourcePlugin): if os.path.isfile("%s/initrd.cpio.gz" % cr_workdir): os.remove("%s/initrd.cpio.gz" % cr_workdir) - # Install bzImage - install_cmd = "install -m 0644 %s/bzImage %s/bzImage" % \ - (kernel_dir, isodir) + kernel = get_bitbake_var("KERNEL_IMAGETYPE") + if not kernel: + kernel = "bzImage" + + install_cmd = "install -m 0644 %s/%s %s/%s" % \ + (kernel_dir, kernel, isodir, kernel) exec_cmd(install_cmd) #Create bootloader for efi boot diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index 39bed038d5..4079f2b17d 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -185,10 +185,11 @@ class BaseConfig(object): self.lock_descriptor = None self.bitbake_e = '' self.snapshot = False + self.wictypes = ('wic', 'wic.vmdk', 'wic.qcow2', 'wic.vdi') self.fstypes = ('ext2', 'ext3', 'ext4', 'jffs2', 'nfs', 'btrfs', 'cpio.gz', 'cpio', 'ramfs', 'tar.bz2', 'tar.gz') - self.vmtypes = ('hddimg', 'hdddirect', 'wic', 'wic.vmdk', - 'wic.qcow2', 'wic.vdi', 'iso') + self.vmtypes = ('hddimg', 'hdddirect', 'iso') + self.fsinfo = {} self.network_device = "-device e1000,netdev=net0,mac=@MAC@" # Use different mac section for tap and slirp to avoid # conflicts, e.g., when one is running with tap, the other is @@ -253,7 +254,7 @@ class BaseConfig(object): def check_arg_fstype(self, fst): """Check and set FSTYPE""" - if fst not in self.fstypes + self.vmtypes: + if fst not in self.fstypes + self.vmtypes + self.wictypes: logger.warning("Maybe unsupported FSTYPE: %s" % fst) if not self.fstype or self.fstype == fst: if fst == 'ramfs': @@ -390,7 +391,7 @@ class BaseConfig(object): unknown_arg = "" for arg in sys.argv[1:]: - if arg in self.fstypes + self.vmtypes: + if arg in self.fstypes + self.vmtypes + self.wictypes: self.check_arg_fstype(arg) elif arg == 'nographic': self.qemu_opt_script += ' -nographic' @@ -438,7 +439,7 @@ class BaseConfig(object): elif arg == 'publicvnc': self.qemu_opt_script += ' -vnc :0' elif arg.startswith('tcpserial='): - self.tcpserial_portnum = arg[len('tcpserial='):] + self.tcpserial_portnum = '%s' % arg[len('tcpserial='):] elif arg.startswith('biosdir='): self.custombiosdir = arg[len('biosdir='):] elif arg.startswith('biosfilename='): @@ -491,12 +492,13 @@ class BaseConfig(object): yocto_paravirt_kvm_wiki = "https://wiki.yoctoproject.org/wiki/Running_an_x86_Yocto_Linux_image_under_QEMU_KVM" dev_kvm = '/dev/kvm' dev_vhost = '/dev/vhost-net' - with open('/proc/cpuinfo', 'r') as f: - kvm_cap = re.search('vmx|svm', "".join(f.readlines())) - if not kvm_cap: - logger.error("You are trying to enable KVM on a cpu without VT support.") - logger.error("Remove kvm from the command-line, or refer:") - raise RunQemuError(yocto_kvm_wiki) + if self.qemu_system.endswith(('i386', 'x86_64')): + with open('/proc/cpuinfo', 'r') as f: + kvm_cap = re.search('vmx|svm', "".join(f.readlines())) + if not kvm_cap: + logger.error("You are trying to enable KVM on a cpu without VT support.") + logger.error("Remove kvm from the command-line, or refer:") + raise RunQemuError(yocto_kvm_wiki) if not os.path.exists(dev_kvm): logger.error("Missing KVM device. Have you inserted kvm modules?") @@ -535,6 +537,40 @@ class BaseConfig(object): else: raise RunQemuError("FSTYPE is NULL!") + # parse QB_FSINFO into dict, e.g. { 'wic': ['no-kernel-in-fs', 'a-flag'], 'ext4': ['another-flag']} + wic_fs = False + qb_fsinfo = self.get('QB_FSINFO') + if qb_fsinfo: + qb_fsinfo = qb_fsinfo.split() + for fsinfo in qb_fsinfo: + try: + fstype, fsflag = fsinfo.split(':') + + if fstype == 'wic': + if fsflag == 'no-kernel-in-fs': + wic_fs = True + elif fsflag == 'kernel-in-fs': + wic_fs = False + else: + logger.warn('Unknown flag "%s:%s" in QB_FSINFO', fstype, fsflag) + continue + else: + logger.warn('QB_FSINFO is not supported for image type "%s"', fstype) + continue + + if fstype in self.fsinfo: + self.fsinfo[fstype].append(fsflag) + else: + self.fsinfo[fstype] = [fsflag] + except Exception: + logger.error('Invalid parameter "%s" in QB_FSINFO', fsinfo) + + # treat wic images as vmimages (with kernel) or as fsimages (rootfs only) + if wic_fs: + self.fstypes = self.fstypes + self.wictypes + else: + self.vmtypes = self.vmtypes + self.wictypes + def check_rootfs(self): """Check and set rootfs""" @@ -681,10 +717,16 @@ class BaseConfig(object): def check_tcpserial(self): if self.tcpserial_portnum: + ports = self.tcpserial_portnum.split(':') + port = ports[0] if self.get('QB_TCPSERIAL_OPT'): - self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', self.tcpserial_portnum) + self.qemu_opt_script += ' ' + self.get('QB_TCPSERIAL_OPT').replace('@PORT@', port) else: - self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % self.tcpserial_portnum + self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port + + if len(ports) > 1: + for port in ports[1:]: + self.qemu_opt_script += ' -serial tcp:127.0.0.1:%s' % port def check_and_set(self): """Check configs sanity and set when needed""" @@ -703,6 +745,7 @@ class BaseConfig(object): else: os.putenv('QEMU_AUDIO_DRV', 'none') + self.check_qemu_system() self.check_kvm() self.check_fstype() self.check_rootfs() @@ -824,7 +867,11 @@ class BaseConfig(object): if self.dtb: print('DTB: [%s]' % self.dtb) print('MACHINE: [%s]' % self.get('MACHINE')) - print('FSTYPE: [%s]' % self.fstype) + try: + fstype_flags = ' (' + ', '.join(self.fsinfo[self.fstype]) + ')' + except KeyError: + fstype_flags = '' + print('FSTYPE: [%s%s]' % (self.fstype, fstype_flags)) if self.fstype == 'nfs': print('NFS_DIR: [%s]' % self.rootfs) else: @@ -1128,21 +1175,23 @@ class BaseConfig(object): return 'qemu-system-%s' % qbsys - def setup_final(self): + def check_qemu_system(self): qemu_system = self.get('QB_SYSTEM_NAME') if not qemu_system: qemu_system = self.guess_qb_system() if not qemu_system: raise RunQemuError("Failed to boot, QB_SYSTEM_NAME is NULL!") + self.qemu_system = qemu_system - qemu_bin = os.path.join(self.bindir_native, qemu_system) + def setup_final(self): + qemu_bin = os.path.join(self.bindir_native, self.qemu_system) # It is possible to have qemu-native in ASSUME_PROVIDED, and it won't # find QEMU in sysroot, it needs to use host's qemu. if not os.path.exists(qemu_bin): logger.info("QEMU binary not found in %s, trying host's QEMU" % qemu_bin) for path in (os.environ['PATH'] or '').split(':'): - qemu_bin_tmp = os.path.join(path, qemu_system) + qemu_bin_tmp = os.path.join(path, self.qemu_system) logger.info("Trying: %s" % qemu_bin_tmp) if os.path.exists(qemu_bin_tmp): qemu_bin = qemu_bin_tmp |