This is the exception generated by reading CONTENTS expecting valid UTF-8 encoded
text (while it currently is raw_unicode_escape):
stacktrace: Traceback (most recent call last):
File "/usr/bin/equo", line 15, in <module>
main()
File "/usr/lib/entropy/client/solo/main.py", line 333, in main
exit_st = func(*func_args)
File "/usr/lib/entropy/client/solo/commands/command.py", line 335, in _call_locked
return func(client)
File "/usr/lib/entropy/client/solo/commands/install.py", line 183, in _install
relaxed, multifetch, packages)
File "/usr/lib/entropy/client/solo/commands/install.py", line 609, in _install_action
exit_st = pkg.run(xterm_header=xterm_header)
File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 4266, in run
rc = self._stepper(xterm_header)
File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 4251, in _stepper
rc = steps_data.get(step)()
File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 4153, in do_install_spm
self.pkgmeta['installed_package_id'])
File "/usr/lib/entropy/lib/entropy/client/interfaces/package.py", line 2262, in _spm_install_package
spm_uid = Spm.add_installed_package(self.pkgmeta)
File "/usr/lib/entropy/lib/entropy/spm/plugins/interfaces/portage_plugin/__init__.py", line 3078, in add_installed_package
splitdebug_dirs)
File "/usr/lib/entropy/lib/entropy/spm/plugins/interfaces/portage_plugin/__init__.py", line 2859, in __splitdebug_update_contents_file
line = cont_f.readline()
File "/usr/lib64/python2.7/codecs.py", line 675, in readline
return self.reader.readline(size)
File "/usr/lib64/python2.7/codecs.py", line 530, in readline
data = self.read(readsize, firstline=True)
File "/usr/lib64/python2.7/codecs.py", line 477, in read
newchars, decodedbytes = self.decode(data, self.errors)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xee in position 30: invalid continuation byte
etpConst['clientdbid'] is kept for backward compatibility, but will be removed soon
While etpConst['serverdbid'] and etpConst['clientserverrepoid'] are gone.
This commit dramatically improves the speed of _get_missing_libraries,
by using provided_libs metadata instead of content, removing any live
system dependencies (collect_linker_paths()), and improving method
readability.
This makes phase execution and error handling more fine grained and on the
long run more robust as well.
Any exception raised by SPM is now considered fatal, while phase execution
failures (execution with error code != 0) are still considered non-fatal for now.