Description of problem: Switched mock to use dnf. The "no, will not use Python 3" bug appeared again: Traceback (most recent call last): File "/usr/sbin/mock", line 809, in <module> main() File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 647, in main run_command(options, args, config_opts, commands, buildroot, state) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 722, in run_command do_rebuild(config_opts, commands, buildroot, args) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 493, in do_rebuild post=createrepo_on_rpms, clean=clean) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 446, in rebuild_generic ret = cmd(item) File "/usr/sbin/mock", line 481, in build check=config_opts['check']) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/backend.py", line 216, in build rebuilt_srpm = self.rebuild_installed_srpm(spec_path, timeout) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/backend.py", line 396, in rebuild_installed_srpm printOutput=True) File "/usr/lib/python2.7/site-packages/mockbuild/buildroot.py", line 165, in doChroot env=self.env, shell=shell, *args, **kargs) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 421, in do printOutput=printOutput, child=child, chrootPath=chrootPath) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 332, in logOutput print(input, end='') UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-7: ordinal not in range(128) Version-Release number of selected component (if applicable): dnf.noarch 0.6.2-1.fc22 mock.noarch 1.2.0-1.fc22 How reproducible: randomly Steps to Reproduce: 1. fedpkg clone -a gettext 2. cd gettext 3. fedpkg srpm 4. mock --verbose --dnf *src.rpm Actual results: fails with traceback above Expected results: just works Additional info: Time to switch to Python3 with dnf in Fedora?
I am getting such a failure reliably, without the --dnf option. Downgrade to mock-1.1.41-3.fc20.noarch makes it work again. A minimal example follows: $ mock --init $ mock --chroot "printf '\x80'" > /dev/null INFO: mock.py version 1.2.0 starting (python version = 2.7.5)... Start: init plugins INFO: selinux enabled Finish: init plugins Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled yum cache Start: cleaning yum metadata Finish: cleaning yum metadata INFO: enabled ccache Finish: chroot init INFO: Running in chroot: printf '\x80' Start: chroot printf '\x80' Finish: chroot printf '\x80' ERROR: 'ascii' codec can't encode character u'\ufffd' in position 0: ordinal not in range(128) Traceback (most recent call last): File "/usr/sbin/mock", line 809, in <module> main() File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 647, in main run_command(options, args, config_opts, commands, buildroot, state) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/sbin/mock", line 686, in run_command commands.chroot(args, options) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/backend.py", line 289, in chroot self.buildroot.doChroot(args, shell=shell, cwd=options.cwd, printOutput=True) File "/usr/lib/python2.7/site-packages/mockbuild/buildroot.py", line 165, in doChroot env=self.env, shell=shell, *args, **kargs) File "/usr/lib/python2.7/site-packages/mockbuild/trace_decorator.py", line 84, in trace result = func(*args, **kw) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 421, in do printOutput=printOutput, child=child, chrootPath=chrootPath) File "/usr/lib/python2.7/site-packages/mockbuild/util.py", line 332, in logOutput print(input, end='') UnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in position 0: ordinal not in range(128)
Fix commited to master as 5ed45a8. Contributed by Michael Šimáček.
mock-1.2.1-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/mock-1.2.1-1.fc21
mock-1.2.1-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.2.1-1.fc20
mock-1.2.1-1.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/mock-1.2.1-1.el7
mock-1.2.1-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/mock-1.2.1-1.el6
Package mock-1.2.1-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing mock-1.2.1-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-15217/mock-1.2.1-1.fc20 then log in and leave karma (feedback).
mock-1.2.3-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/mock-1.2.3-1.fc21
mock-1.2.3-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/mock-1.2.3-1.fc20
mock-1.2.3-1.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/mock-1.2.3-1.el7
mock-1.2.3-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.2.3-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.
mock-1.2.3-1.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.