Bug 468602 - rpm failes to install with gnome-open due to UnicodeDecodeError in yumBackend
Summary: rpm failes to install with gnome-open due to UnicodeDecodeError in yumBackend
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: PackageKit
Version: rawhide
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Robin Norwood
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 460913 468674 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-10-26 17:13 UTC by Sergey Kurtsev
Modified: 2009-03-26 19:38 UTC (History)
8 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-10-27 13:02:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Sergey Kurtsev 2008-10-26 17:13:47 UTC
Description of problem:
.rpm file located in cyrillic directories can not be installed with gnome-open either from nautilus or from any other application due to 'exceptions.UnicodeDecodeError'

Version-Release number of selected component (if applicable):
PackageKit-0.3.8-6.fc10.i386
yum-3.2.19-6.fc10.noarch
rpm-4.6.0-0.rc1.5.i386

How reproducible:
Always

Steps to Reproduce:
1. Relocate any .rpm file into cyrillic (or I suppose any other non-english) directory
2. Open directory in nautilus 
3. Either run .rpm file from nautilus or execute 'gnome-open some.rpm' from console
  
Actual results:
Fails to install rpm. Displays error window with the following stacktrace:
Error Type: <type 'exceptions.UnicodeDecodeError'>
Error Value: 'ascii' codec can't decode byte 0xd0 in position 54: ordinal not in range(128)
File : /usr/share/PackageKit/helpers/yum/yumBackend.py, line 2150, in <module>
main()
File : /usr/share/PackageKit/helpers/yum/yumBackend.py, line 2147, in main
backend.dispatcher(sys.argv[1:])
File : /usr/lib/python2.5/site-packages/packagekit/backend.py, line 599, in dispatcher
self.dispatch_command(args[0], args[1:])
File : /usr/lib/python2.5/site-packages/packagekit/backend.py, line 512, in dispatch_command
self.install_files(trusted, files_to_inst)
File : /usr/share/PackageKit/helpers/yum/yumBackend.py, line 1337, in install_files
self.error(ERROR_LOCAL_INSTALL_FAILED, "Can't install $s" $ inst_file)
File : /usr/lib/python2.5/site-packages/packagekit/backend.py, line 87, in error
print "error\t$s\t$s" $ (err, description)
File : /usr/lib/python2.5/codecs.py, line 303, in write
data, consumed = self.encode(object, self.errors)

Comment 1 Sergey Kurtsev 2008-10-26 17:18:28 UTC
This bug is not hard to bump in, because when after Fedora installation user switches to his own language and later manually downloads any .rpm into default Downloads folder (which is called 'Загрузки' in Russian) - the user won't be able to install it (from any of the following: Nautilus, Opera, Firefox) without going to console.

Comment 2 Richard Hughes 2008-10-26 18:09:40 UTC
*** Bug 460913 has been marked as a duplicate of this bug. ***

Comment 3 Richard Hughes 2008-10-27 08:03:14 UTC
I've fixed this upstream in:

commit 50cc67b36d2eb71fec08995c31373b5b4d31065f
Author: Richard Hughes <richard>
Date:   Sun Oct 26 18:10:40 2008 +0000

    yum: handle utf8 error values to fix non English locales. Fixes rh#468602

I switched my system language to French and then created a Загрузки directory
with an rpm in it. This now works. I'll upload a new version to rawhide on
Monday.

Are there any other operations you've noticed that fail in a non-English
locale? Thanks.

Comment 4 Sergey Kurtsev 2008-10-27 09:24:06 UTC
Thank you. If I find any other failures - I'll let you know.

Comment 5 Richard Hughes 2008-10-27 13:00:50 UTC
*** Bug 468674 has been marked as a duplicate of this bug. ***

Comment 6 Alexey 2009-03-26 19:38:49 UTC
fc10 in russian language it remains actual problem.

PackageKit-yum-0.3.14-1.fc10.i386
PackageKit-0.3.14-1.fc10.i386
PackageKit-yum-plugin-0.3.14-1.fc10.i386
PackageKit-glib-0.3.14-1.fc10.i386
PackageKit-udev-helper-0.3.14-1.fc10.i386


Note You need to log in before you can comment on or make changes to this bug.