Image location: http://autobuilder.yoctoproject.org/pub/nightly/20130115-2/ Tree/Branch: poky/master Git Rev: 9eb88ceb39b7d0b8ddc6487e61ce8edadef10ec4 Some smart commands have the --yaml option, but this option doesn't work. ############## root@qemumips:~# smart channel --yaml Traceback (most recent call last): File "/usr/bin/smart", line 200, in <module> main(sys.argv[1:]) File "/usr/bin/smart", line 173, in main exitcode = iface.run(opts.command, opts.argv) File "/usr/lib/python2.7/site-packages/smart/interface.py", line 53, in run result = _command.main(self._ctrl, opts) File "/usr/lib/python2.7/site-packages/smart/commands/channel.py", line 342, in main import yaml ImportError: No module named yaml root@qemumips:~# root@qemumips:~# smart config --yaml Traceback (most recent call last): File "/usr/bin/smart", line 200, in <module> main(sys.argv[1:]) File "/usr/bin/smart", line 173, in main exitcode = iface.run(opts.command, opts.argv) File "/usr/lib/python2.7/site-packages/smart/interface.py", line 53, in run result = _command.main(self._ctrl, opts) File "/usr/lib/python2.7/site-packages/smart/commands/config.py", line 140, in main import yaml ImportError: No module named yaml root@qemumips:~# ##############
This is simply because the yaml python module isn't installed. I wouldn't consider this core functionality, so the question is do we want to add a dependency just for the sake of enabling this option?
Changing to NEEDINFO, see my above comment
yaml is a pretty common way of exporting information from an RPM repository. We likely should package up the yaml python module.. and then add a test in smart to see if it is installed. That way it works if the user needs it, but it's disabled (to save space) for the normal case.
Sounds like a sensible approach to me - thanks.
It turns out there's a python-pyyaml recipe in meta-oe, it just needed an update; I have sent a patch to update it and the libyaml recipe that is also there. I've also sent an OE-Core patch to ask the user to install PyYAML if it can't be imported instead of printing a python backtrace.
The OE-Core/Poky part of this patch is merged: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=0d85fa531b03f0e7b3ad3d2a5a4d92293b43b8ff The meta-oe part is still pending.
libyaml/python-pyyaml changes have now been merged into meta-oe: http://cgit.openembedded.org/meta-openembedded/commit/?id=9c824550785d96dda0e6aeb4a2a37bb2c30dc125 http://cgit.openembedded.org/meta-openembedded/commit/?id=f976a44387f45ac5ede7d74d511bef1228599597