Bug 1213859

Summary: Use dnf as default package manager
Product: [Fedora] Fedora Reporter: Lukas Slebodnik <lslebodn>
Component: mockAssignee: Clark Williams <williams>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 22CC: jdisnard, lslebodn, mebrown, msimacek, msuchy, praiskup, robatino, williams
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-04-21 15:57:01 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:
Bug Depends On:    
Bug Blocks: 1043130    

Description Lukas Slebodnik 2015-04-21 13:03:16 UTC
Description of problem:
One of the recent changes in fedora 22 is replacing yum with dnf. It is caused by new package dnf-yum. So currently /usr/bin/yum will call /usr/bin/dnf and warning is printed.

 DEBUG package_manager.py:62:  ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-22-x86_64/root/', '--releasever', '22', 'install', '@buildsys-build']
DEBUG util.py:518:  child environment: None
DEBUG util.py:452:  Executing command: ['/usr/bin/yum', '--installroot', '/var/lib/mock/fedora-22-x86_64/root/', '--releasever', '22', 'install', '@buildsys-build', '--setopt=tsflags=noc
ontexts'] with env {'LANG': 'en_US.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'LC_MESSAGES': 'C', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'prin
tf "\x1b]0;<mock-chroot>\x07<mock-chroot>"', 'HOME': '/builddir', 'CCACHE_DIR': '/tmp/ccache', 'CCACHE_UMASK': '002'} and shell False
DEBUG util.py:388:  Yum command has been deprecated, use dnf instead.
DEBUG util.py:388:  See 'man dnf' and 'man yum2dnf' for more information.
DEBUG util.py:388:  To transfer transaction metadata from yum to DNF, run 'dnf migrate'Redirecting to '/usr/bin/dnf --installroot /var/lib/mock/fedora-22-x86_64/root/ --releasever 22 ins
tall @buildsys-build --setopt=tsflags=nocontexts'

mock assumes it will use tum as package manager but actually it will use dnf.
As a result of this I'm not bale to use mock on fedora 22.


[build@host mock]$ mock --root fedora-22-x86_64 --resultdir . --rebuild ./sssd-1.12.90-0.fc22.src.rpm 
INFO: mock.py version 1.2.7 starting (python version = 2.7.9)...
Start: init plugins
INFO: selinux enabled
Finish: init plugins
Start: run
INFO: Start(./sssd-1.12.90-0.fc22.src.rpm)  Config(fedora-22-x86_64)
Start: clean chroot
Finish: clean chroot
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
Mock Version: 1.2.7
INFO: Mock Version: 1.2.7
Start: yum install
Yum command has been deprecated, use dnf instead.
See 'man dnf' and 'man yum2dnf' for more information.
To transfer transaction metadata from yum to DNF, run 'dnf migrate'Redirecting to '/usr/bin/dnf --installroot /var/lib/mock/fedora-22-x86_64/root/ --releasever 22 install @buildsys-build --setopt=tsflags=nocontexts'

Version-Release number of selected component (if applicable):
dnf-yum-0.6.5-1.fc22.noarch

//snip
ERROR: Exception(./sssd-1.12.90-0.fc22.src.rpm) Config(fedora-22-x86_64) 0 minutes 28 seconds
INFO: Results and/or logs in: .
INFO: Cleaning up build root ('cleanup_on_failure=True')
Start: clean chroot
Finish: clean chroot
ERROR: Command failed. See logs for output.
 # /usr/bin/yum --installroot /var/lib/mock/fedora-22-x86_64/root/ --releasever 22 install @buildsys-build --setopt=tsflags=nocontexts

mock can be used for building packages in rawhide because there is explicitly used dnf as package manager.
[build@host mock]$ grep package_manager /etc/mock/fedora-rawhide-x86_64.cfg 
config_opts['package_manager'] = 'dnf'

How reproducible:
Deterministic

Steps to Reproduce:
1. rebuild srpm in fedora-22-x86_64  chroot


Actual results:
it failed

Expected results:
packages are built from srpm. 

Additional info:
I tried to add option "config_opts['package_manager'] = 'dnf'" to fedora and epel-{6,7} mock configuration files and it works. This is the reason of bug summary.

The another alternative is to directly use /usr/bin/yum-deprecated. 
But yum-deprecated is not recognized as a valid package manager.

Comment 1 Fedora Blocker Bugs Application 2015-04-21 13:07:51 UTC
Proposed as a Blocker for 22-final by Fedora user lslebodn using the blocker tracking app because:

 Mock cannot be used for building packages. It only works with fedora rawhide chroot.

Comment 2 Miroslav Suchý 2015-04-21 15:57:01 UTC

*** This bug has been marked as a duplicate of bug 1211978 ***