Bug 1446294

Summary: No such file or directory: '/usr/bin/yum-deprecated'
Product: [Fedora] Fedora Reporter: Vít Ondruch <vondruch>
Component: mockAssignee: Miroslav Suchý <msuchy>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: jdisnard, mebrown, msimacek, msuchy, praiskup, williams
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mock-1.4.2-1.fc26 mock-1.4.2-1.fc25 mock-1.4.2-1.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-25 16:19:42 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Vít Ondruch 2017-04-27 15:22:30 UTC
Description of problem:
Mock cannot work with RHEL6 buildroot anymore:

~~~
$ mock -r rhel-6-x86_64 --scrub all
INFO: mock.py version 1.4.1 starting (python version = 3.6.1)...
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: run
Start: scrub ['all']
INFO: removing +mock.rhel-6-x86_64.head volume
INFO: removing mock.rhel-6-x86_64.postinit volume
INFO: scrubbing everything for rhel-6-x86_64
Finish: scrub ['all']
Finish: run


$ mock -r rhel-6-x86_64 --init --old-chroot
INFO: mock.py version 1.4.1 starting (python version = 3.6.1)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
Start: clean chroot
Finish: clean chroot
Start: chroot init
INFO: rolled back to postinit snapshot
INFO: LVM plugin enabled. Allocated pool data: 56.28%. Allocated metadata: 31.04%.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
INFO: enabled HW Info plugin
Mock Version: 1.4.1
INFO: Mock Version: 1.4.1
Finish: chroot init
Start: chroot init
INFO: LVM plugin enabled. Allocated pool data: 56.93%. Allocated metadata: 31.43%.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled yum cache
Start: cleaning yum metadata
Finish: cleaning yum metadata
INFO: enabled HW Info plugin
Mock Version: 1.4.1
INFO: Mock Version: 1.4.1
Start: yum install
Traceback (most recent call last):
  File "/usr/libexec/mock/mock", line 920, in <module>
    main()
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/libexec/mock/mock", line 733, in main
    run_command(options, args, config_opts, commands, buildroot, state)
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/libexec/mock/mock", line 760, in run_command
    commands.init()
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/backend.py", line 155, in init
    self.buildroot.initialize(**kwargs)
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/buildroot.py", line 91, in initialize
    self._init(prebuild=prebuild, do_log=do_log)
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/buildroot.py", line 147, in _init
    self._init_pkg_management()
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/buildroot.py", line 244, in _init_pkg_management
    self.pkg_manager.init_install_output = self.pkg_manager.execute(*cmd, returnOutput=1)
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/package_manager.py", line 117, in execute
    out = util.do(invocation, env=env, chrootPath=self.bootstrap_buildroot.make_chroot_path(), **kwargs)
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/plugins/selinux.py", line 102, in _selinuxDoYum
    return self._originalUtilDo(command, *args, **kargs)
  File "/usr/lib/python3.6/site-packages/mockbuild/trace_decorator.py", line 96, in trace
    result = func(*args, **kw)
  File "/usr/lib/python3.6/site-packages/mockbuild/util.py", line 543, in do
    preexec_fn=preexec,
  File "/usr/lib64/python3.6/subprocess.py", line 707, in __init__
    restore_signals, start_new_session)
  File "/usr/lib64/python3.6/subprocess.py", line 1326, in _execute_child
    raise child_exception_type(errno_num, err_msg)
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/yum-deprecated'

$ /usr/bin/yum-deprecated --version
Yum command has been deprecated, use dnf instead.
See 'man dnf' and 'man yum2dnf' for more information.

3.4.3
  Installed: rpm-4.13.0.1-20.fc27.x86_64 at 2017-04-27 10:53
  Built    : Fedora Project at 2017-04-25 15:51
  Committed: Mark Wielaard <mjw> at 2017-04-25

  Installed: yum-3.4.3-512.fc26.noarch at 2017-02-16 13:11
  Built    : Fedora Project at 2017-02-12 06:04
  Committed: Fedora Release Engineering <releng> at 2017-02-11
~~~


Version-Release number of selected component (if applicable):
$ rpm -q mock
mock-1.4.1-1.fc27.noarch

$ rpm -q yum
yum-3.4.3-512.fc26.noarch


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:
/usr/bin/yum-deprecated is not discovered and mock fails



Expected results:
Mock works


Additional info:
Isn't this related to "## Bootstrap chroot" ? I.e. the "Yum" command in the outer chroot is actually just "yum" instead of "yum-deprecated"?

Comment 1 Vít Ondruch 2017-04-27 15:25:57 UTC
(In reply to Vít Ondruch from comment #0)
> Isn't this related to "## Bootstrap chroot" ? I.e. the "Yum" command in the
> outer chroot is actually just "yum" instead of "yum-deprecated"?

Yep, it seems that "--no-bootstrap-chroot" helps ...

Comment 2 Vít Ondruch 2017-04-27 15:53:48 UTC
Ok, this is the root cause of the issue:

$ cat ~/.config/mock.cfg | grep yum
config_opts['yum_command'] = '/usr/bin/yum-deprecated'

The reason is of course that the "yum" command on Fedora is not actually "yum" but it is "dnf" in fact. So I had the mock configured to use the real YUM (this is probably not needed since [1]). With the bootstrap chroot, I think this is less of the issue.

Going to close this now, but it could be recorded somewhere anyway ....


[1]: https://github.com/rpm-software-management/mock/commit/53f1475c1ec6a23d39a1e88c17aafa01ef44e6ce

Comment 3 Miroslav Suchý 2017-04-28 08:58:02 UTC
Hmm I think I can do something about it. Reopening.

Comment 4 Miroslav Suchý 2017-05-09 15:34:56 UTC
Fixed in commit:
* e7cd1a4 (HEAD -> devel) do not call yum-deprecated from bootstrap chroot [RHBZ#1446294]

Comment 5 Fedora Update System 2017-06-19 07:12:39 UTC
mock-1.4.2-1.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-21b345dd60

Comment 6 Fedora Update System 2017-06-19 07:13:40 UTC
mock-1.4.2-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-3d88d9f8b5

Comment 7 Fedora Update System 2017-06-19 07:14:33 UTC
mock-1.4.2-1.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-65be829503

Comment 8 Fedora Update System 2017-06-19 14:52:47 UTC
mock-1.4.2-1.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-65be829503

Comment 9 Fedora Update System 2017-06-19 15:52:20 UTC
mock-1.4.2-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-21b345dd60

Comment 10 Fedora Update System 2017-06-19 19:24:31 UTC
mock-1.4.2-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-3d88d9f8b5

Comment 11 Fedora Update System 2017-06-25 16:19:42 UTC
mock-1.4.2-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2017-07-04 01:51:40 UTC
mock-1.4.2-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 13 Fedora Update System 2017-07-06 05:19:15 UTC
mock-1.4.2-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.