Bug 1039276

Summary: [abrt] yum-3.4.3-111.fc19: depsolve.py:984:_resolveRequires:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 11: ordinal not in range(128)
Product: [Fedora] Fedora Reporter: Frank Büttner <bugzilla>
Component: yumAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 19CC: admiller, bugzilla, ffesti, firas.alkafri, packaging-team-maint, zpavlas
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
URL: https://retrace.fedoraproject.org/faf/reports/bthash/3930e5cadba871dda17e2af808b311ba14f40c99
Whiteboard: abrt_hash:9899749f8f58f23684a18e196857ec8b2add7847
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-09 10:47:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
File: backtrace
none
File: environ none

Description Frank Büttner 2013-12-07 12:59:22 UTC
Description of problem:
try to install an package where the name contains latin1 characters.
for example:
yum install foo-äöü

Version-Release number of selected component:
yum-3.4.3-111.fc19

Additional info:
reporter:       libreport-2.1.9
cmdline:        /usr/bin/python /bin/yum install 'navit-zubeh\xc3\xb6r'
executable:     /bin/yum
kernel:         3.11.9-200.fc19.x86_64
runlevel:       N 5
type:           Python
uid:            0

Truncated backtrace:
depsolve.py:984:_resolveRequires:UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 11: ordinal not in range(128)

Traceback (most recent call last):
  File "/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 355, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 217, in main
    (result, resultmsgs) = base.buildTransaction()
  File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 1189, in buildTransaction
    (rescode, restring) = self.resolveDeps()
  File "/usr/lib/python2.7/site-packages/yum/depsolve.py", line 880, in resolveDeps
    CheckDeps, checkinstalls, checkremoves, missing = self._resolveRequires(errors)
  File "/usr/lib/python2.7/site-packages/yum/depsolve.py", line 984, in _resolveRequires
    _("Checking deps for %s") %(txmbr,))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 11: ordinal not in range(128)

Local variables in innermost frame:
CheckDeps: False
any_missing: False
dscb_ts_state: 'i'
self: <cli.YumBaseCli object at 0x2ae1c50>
errors: []
txmbr: <TransactionMember : navit-zubehör.x86_64 0:0.5.0-5723.fc19 - u (0x3d452d8)>
CheckInstalls: False
CheckRemoves: False

Comment 1 Frank Büttner 2013-12-07 12:59:29 UTC
Created attachment 833871 [details]
File: backtrace

Comment 2 Frank Büttner 2013-12-07 12:59:31 UTC
Created attachment 833872 [details]
File: environ

Comment 3 Zdeněk Pavlas 2013-12-09 08:48:10 UTC
> txmbr: <TransactionMember : navit-zubehör.x86_64 0:0.5.0-5723.fc19 - u (0x3d452d8)>

AFAIK Yum never officially supported non-ascii package names. Technically it should not be that hard to make it "mostly" ok, but fixing all the error paths would still be quite a challenge.

However, rpmbuild for at least a year *refuses* building a package with non-ascii package name, so there seems to be no point in doing so.

$ rpmbuild --version
RPM version 4.9.1.3
$ rpmbuild -bb dummy.spec
error: line 2: Illegal char in: Name: navit-zubehör

Comment 4 Frank Büttner 2013-12-09 08:59:28 UTC
Very interesting, on my system rpmbuild will build it.
rpmbuild --version
RPM-Version 4.11.1
rpmbuild -bs navit.spec 
Erstellt: /home/frank/RPM/SRPMS/navit-0.5.0-5725.fc19.src.rpm

Comment 5 Zdeněk Pavlas 2013-12-09 09:47:13 UTC
Maybe it has been changed.. or it's accepted in sub-package name but not in the package name (probably a bug).. Could you attach your .spec file?  Or maybe the following could be enough..

$ egrep '^(Name|%package)' navit.spec

Comment 6 Zdeněk Pavlas 2013-12-09 10:47:05 UTC
Confirmed that rpmbuild should reject this, filled rpm bug 1039520.

Comment 7 Red Hat Bugzilla 2023-09-14 01:55:02 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days