It is impossible to interact with yum when in sr_RS.utf8 locale, where 'y', 'n', 'yes' and 'no' have been translated to local Cyrillic counterparts 'д', 'н', 'да', and 'не', all using UTF-8. This probably also affects other locales using non-ASCII characters. Output: Укупна величина преузимања: 110 k Да ли је ово у реду [д/Н]: д /usr/share/yum-cli/output.py:360: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal if len(choice) == 0 or choice in [_('y'), _('n'), _('yes'), _('no')]: Да ли је ово у реду [д/Н]:
Is this fixed if you do: choice = unicode(choice) ...just before the above lines?
Nope, got the following traceback: Да ли је ово у реду [д/Н]: д Traceback (most recent call last): File "/usr/bin/yum", line 29, in <module> yummain.user_main(sys.argv[1:], exit_code=True) File "/usr/share/yum-cli/yummain.py", line 241, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 193, in main base.doTransaction() File "/usr/share/yum-cli/cli.py", line 348, in doTransaction if not self.userconfirm(): File "/usr/share/yum-cli/output.py", line 360, in userconfirm choice = unicode(choice) UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
This was before the line: choice = choice.lower() ...?
The above report was for after, but the same error is reported when inserted before as well (just on line 359 instead of course).
If I place the line: choice = unicode(choice, 'utf-8', 'replace') after the line: choice = choice.lower() yum works well for bith sr_RS.UTF-8 language (Serbian) and en_US.UTF-8 (American English).
The above doesn't make much sense ... but I've checked in a fix which I think will help you, and it seems to work for me when I use LANG=sr_RS.utf8. It's upstream commit: d9a2fac4f73a867a70ff460f2416d38a577cc4e4 This should be fixed by 3.2.17, whenever that is released.