[Toaster] [PATCH] buildinfohelper: work around unicode exceptions
Smith, Elliot
elliot.smith at intel.com
Wed Apr 6 05:51:11 PDT 2016
Submitted to bitbake-devel and pushed to toaster-next.
Thanks.
Elliot
On 5 April 2016 at 12:02, Joshua Lock <joshua.g.lock at intel.com> wrote:
> We have been seeing UnicodeDecodeError's when handling the
> ImagePkgList MetadataEvent in ORMWrapper's
> save_target_file_information() if the event includes filenames
> that include non-ASCII characters.
>
> In the short term work around this by converting paths to the
> unicode type when passing them to Django's ORM. This is a bit of
> a hack but it's too late in the cycle to do anything more invasive.
>
> [YOCTO #9142]
>
> Signed-off-by: Joshua Lock <joshua.g.lock at intel.com>
> ---
> bitbake/lib/bb/ui/buildinfohelper.py | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/bitbake/lib/bb/ui/buildinfohelper.py
> b/bitbake/lib/bb/ui/buildinfohelper.py
> index ed43f4c..c211ec6 100644
> --- a/bitbake/lib/bb/ui/buildinfohelper.py
> +++ b/bitbake/lib/bb/ui/buildinfohelper.py
> @@ -483,7 +483,7 @@ class ORMWrapper(object):
> parent_obj = self._cached_get(Target_File, target =
> target_obj, path = parent_path, inodetype = Target_File.ITYPE_DIRECTORY)
> tf_obj = Target_File.objects.create(
> target = target_obj,
> - path = path,
> + path = unicode(path, 'utf-8'),
> size = size,
> inodetype = Target_File.ITYPE_DIRECTORY,
> permission = permission,
> @@ -508,7 +508,7 @@ class ORMWrapper(object):
>
> tf_obj = Target_File.objects.create(
> target = target_obj,
> - path = path,
> + path = unicode(path, 'utf-8'),
> size = size,
> inodetype = inodetype,
> permission = permission,
> @@ -539,7 +539,9 @@ class ORMWrapper(object):
> filetarget_path = "/".join(fcpl)
>
> try:
> - filetarget_obj = Target_File.objects.get(target =
> target_obj, path = filetarget_path)
> + filetarget_obj = Target_File.objects.get(
> + target = target_obj,
> + path = unicode(filetarget_path,
> 'utf-8'))
> except Target_File.DoesNotExist:
> # we might have an invalid link; no way to detect this.
> just set it to None
> filetarget_obj = None
> @@ -548,7 +550,7 @@ class ORMWrapper(object):
>
> tf_obj = Target_File.objects.create(
> target = target_obj,
> - path = path,
> + path = unicode(path, 'utf-8'),
> size = size,
> inodetype = Target_File.ITYPE_SYMLINK,
> permission = permission,
> --
> 2.5.5
>
> --
> _______________________________________________
> toaster mailing list
> toaster at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/toaster
>
--
Elliot Smith
Software Engineer
Intel Open Source Technology Centre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/toaster/attachments/20160406/708c87a2/attachment.html>
More information about the toaster
mailing list