Stack trace when integrating a local plugin
Summary
A stack trace is produced when trying to build with a local plugin installed.
Steps to reproduce
Install collect_manifest.bst from bst-external
What is the current bug behavior?
Produces a stack trace.
What is the expected correct behavior?
Fail with a helpful error message
Relevant logs and/or screenshots
Failure Summary
platform-manifest.bst:
[00:00:01][06efeae7][build:platform-manifest.bst ] BUG Build
An unhandled exception occured:
Traceback (most recent call last):
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_scheduler/jobs/job.py", line 415, in _child_action
result = self.child_process()
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_scheduler/jobs/elementjob.py", line 94, in child_process
return self._action_cb(self._element)
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_scheduler/queues/buildqueue.py", line 35, in process
return element._assemble()
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/element.py", line 1498, in _assemble
collect = self.assemble(sandbox)
File "/home/adds68/git-repos/freedesktop-sdk/plugins/elements/collect_manifest.py", line 145, in assemble
self.set_public_data('cpe-manifest', manifest)
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/element.py", line 855, in set_public_data
data = _yaml.node_copy(data)
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 1082, in node_copy
copy[key] = list_copy(value)
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 1097, in list_copy
copy.append(node_copy(item))
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 1080, in node_copy
copy[key] = node_copy(value)
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 1084, in node_copy
copy[key] = value.clone()
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 105, in clone
for member_name, member in self.members.items()
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 105, in <dictcomp>
for member_name, member in self.members.items()
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 130, in clone
provenance.elements = [e.clone() for e in self.elements]
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 130, in <listcomp>
provenance.elements = [e.clone() for e in self.elements]
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 155, in clone
provenance.elements = [e.clone for e in self.elements]
File "/home/adds68/.local/lib/python3.7/site-packages/buildstream/_yaml.py", line 155, in <listcomp>
provenance.elements = [e.clone for e in self.elements]
AttributeError: 'function' object has no attribute 'clone'
Possible fixes
Other relevant information
.bst file where is fails
kind: collect_manifest
config:
path: "%{prefix}/manifest.json"
depends:
- filename: desktop-platform.bst
type: build
- filename: bootstrap-manifest.bst
junction: bootstrap-junction.bst
type: build
- BuildStream version affected: /milestone %BuildStream_v1.2.3