Bug 1536202

Summary: file conflicts between python2-productmd and filesystem packages
Product: [Fedora] Fedora Reporter: George R. Goffe <grgoffe>
Component: python-productmdAssignee: Lubomír Sedlář <lsedlar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: bkabrda, cstratak, dennis, dmach, dmalcolm, lsedlar, mcyprian, mhroncok, pviktori, rkuska, tomspur, torsava
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-01-19 07:03:53 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: 1535692, 1536231    
Bug Blocks:    

Description George R. Goffe 2018-01-18 21:23:43 UTC
Description of problem:

Attempting to upgrade this system but received this message:


Error: Transaction check error:
  file /usr/lib from install of python2-productmd-1.10-1.fc28.noarch conflicts with file from package filesystem-3.8-1.fc28.x86_64

Version-Release number of selected component (if applicable):

python2-productmd-1.9-1.fc28.noarch
How reproducible:
always

Steps to Reproduce:
1.dnf upgrade
2.
3.

Actual results:
see above

Expected results:
clean upgrade

Additional info:

Comment 1 Miro Hrončok 2018-01-18 23:30:54 UTC
$ sudo dnf repoquery --releasever=rawhide --list python2-productmd
/usr
/usr/lib
/usr/lib/python2.7
/usr/lib/python2.7/site-packages
/usr/lib/python2.7/site-packages/productmd
/usr/lib/python2.7/site-packages/productmd-1.10-py2.7.egg-info
/usr/lib/python2.7/site-packages/productmd-1.10-py2.7.egg-info/PKG-INFO
/usr/lib/python2.7/site-packages/productmd-1.10-py2.7.egg-info/SOURCES.txt
/usr/lib/python2.7/site-packages/productmd-1.10-py2.7.egg-info/dependency_links.txt
/usr/lib/python2.7/site-packages/productmd-1.10-py2.7.egg-info/requires.txt
/usr/lib/python2.7/site-packages/productmd-1.10-py2.7.egg-info/top_level.txt
/usr/lib/python2.7/site-packages/productmd/__init__.py
/usr/lib/python2.7/site-packages/productmd/__init__.pyc
/usr/lib/python2.7/site-packages/productmd/__init__.pyo
/usr/lib/python2.7/site-packages/productmd/common.py
/usr/lib/python2.7/site-packages/productmd/common.pyc
/usr/lib/python2.7/site-packages/productmd/common.pyo
/usr/lib/python2.7/site-packages/productmd/compose.py
/usr/lib/python2.7/site-packages/productmd/compose.pyc
/usr/lib/python2.7/site-packages/productmd/compose.pyo
/usr/lib/python2.7/site-packages/productmd/composeinfo.py
/usr/lib/python2.7/site-packages/productmd/composeinfo.pyc
/usr/lib/python2.7/site-packages/productmd/composeinfo.pyo
/usr/lib/python2.7/site-packages/productmd/discinfo.py
/usr/lib/python2.7/site-packages/productmd/discinfo.pyc
/usr/lib/python2.7/site-packages/productmd/discinfo.pyo
/usr/lib/python2.7/site-packages/productmd/images.py
/usr/lib/python2.7/site-packages/productmd/images.pyc
/usr/lib/python2.7/site-packages/productmd/images.pyo
/usr/lib/python2.7/site-packages/productmd/rpms.py
/usr/lib/python2.7/site-packages/productmd/rpms.pyc
/usr/lib/python2.7/site-packages/productmd/rpms.pyo
/usr/lib/python2.7/site-packages/productmd/treeinfo.py
/usr/lib/python2.7/site-packages/productmd/treeinfo.pyc
/usr/lib/python2.7/site-packages/productmd/treeinfo.pyo
/usr/lib/python3.6
/usr/lib/python3.6/site-packages
/usr/lib/python3.6/site-packages/productmd
/usr/lib/python3.6/site-packages/productmd-1.10-py3.6.egg-info
/usr/lib/python3.6/site-packages/productmd-1.10-py3.6.egg-info/PKG-INFO
/usr/lib/python3.6/site-packages/productmd-1.10-py3.6.egg-info/SOURCES.txt
/usr/lib/python3.6/site-packages/productmd-1.10-py3.6.egg-info/dependency_links.txt
/usr/lib/python3.6/site-packages/productmd-1.10-py3.6.egg-info/requires.txt
/usr/lib/python3.6/site-packages/productmd-1.10-py3.6.egg-info/top_level.txt
/usr/lib/python3.6/site-packages/productmd/__init__.py
/usr/lib/python3.6/site-packages/productmd/__pycache__
/usr/lib/python3.6/site-packages/productmd/__pycache__/__init__.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/__init__.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/common.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/common.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/compose.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/compose.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/composeinfo.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/composeinfo.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/discinfo.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/discinfo.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/images.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/images.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/rpms.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/rpms.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/treeinfo.cpython-36.opt-1.pyc
/usr/lib/python3.6/site-packages/productmd/__pycache__/treeinfo.cpython-36.pyc
/usr/lib/python3.6/site-packages/productmd/common.py
/usr/lib/python3.6/site-packages/productmd/compose.py
/usr/lib/python3.6/site-packages/productmd/composeinfo.py
/usr/lib/python3.6/site-packages/productmd/discinfo.py
/usr/lib/python3.6/site-packages/productmd/images.py
/usr/lib/python3.6/site-packages/productmd/rpms.py
/usr/lib/python3.6/site-packages/productmd/treeinfo.py
/usr/share/doc/python2-productmd
/usr/share/doc/python2-productmd/AUTHORS
/usr/share/licenses/python2-productmd
/usr/share/licenses/python2-productmd/LICENSE
/usr/lib/python2.7/site-packages/productmd
/usr/lib/python2.7/site-packages/productmd-1.9-py2.7.egg-info
/usr/lib/python2.7/site-packages/productmd-1.9-py2.7.egg-info/PKG-INFO
/usr/lib/python2.7/site-packages/productmd-1.9-py2.7.egg-info/SOURCES.txt
/usr/lib/python2.7/site-packages/productmd-1.9-py2.7.egg-info/dependency_links.txt
/usr/lib/python2.7/site-packages/productmd-1.9-py2.7.egg-info/requires.txt
/usr/lib/python2.7/site-packages/productmd-1.9-py2.7.egg-info/top_level.txt
/usr/lib/python2.7/site-packages/productmd/__init__.py
/usr/lib/python2.7/site-packages/productmd/__init__.pyc
/usr/lib/python2.7/site-packages/productmd/__init__.pyo
/usr/lib/python2.7/site-packages/productmd/common.py
/usr/lib/python2.7/site-packages/productmd/common.pyc
/usr/lib/python2.7/site-packages/productmd/common.pyo
/usr/lib/python2.7/site-packages/productmd/compose.py
/usr/lib/python2.7/site-packages/productmd/compose.pyc
/usr/lib/python2.7/site-packages/productmd/compose.pyo
/usr/lib/python2.7/site-packages/productmd/composeinfo.py
/usr/lib/python2.7/site-packages/productmd/composeinfo.pyc
/usr/lib/python2.7/site-packages/productmd/composeinfo.pyo
/usr/lib/python2.7/site-packages/productmd/discinfo.py
/usr/lib/python2.7/site-packages/productmd/discinfo.pyc
/usr/lib/python2.7/site-packages/productmd/discinfo.pyo
/usr/lib/python2.7/site-packages/productmd/images.py
/usr/lib/python2.7/site-packages/productmd/images.pyc
/usr/lib/python2.7/site-packages/productmd/images.pyo
/usr/lib/python2.7/site-packages/productmd/rpms.py
/usr/lib/python2.7/site-packages/productmd/rpms.pyc
/usr/lib/python2.7/site-packages/productmd/rpms.pyo
/usr/lib/python2.7/site-packages/productmd/treeinfo.py
/usr/lib/python2.7/site-packages/productmd/treeinfo.pyc
/usr/lib/python2.7/site-packages/productmd/treeinfo.pyo
/usr/share/doc/python2-productmd
/usr/share/doc/python2-productmd/AUTHORS
/usr/share/licenses/python2-productmd
/usr/share/licenses/python2-productmd/LICENSE

My guts?

%{python_sitelib}/* got evaluated to /*?

%{python_sitelib} was not defined during the build. That's weird, but maybe use %{python2_sitelib} instead as a wrokaround (if it helps), as that should be used anyway.

Comment 2 Miro Hrončok 2018-01-18 23:42:18 UTC
This is from a rawhide mock:


# rpm --eval '%{python_sitelib}'
/usr/bin/python: can't open file '/usr/lib/rpm/python-macro-helper': [Errno 2] No such file or directory


<mock-chroot> sh-4.4# grep python /usr/lib/rpm/macros
%__python		/usr/bin/python
#	at the python prompt for example, after "import rpm".
# Useful python macros for determining python version and paths
%python_sitelib %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitelib)
%python_sitearch %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper sitearch)
%python_version %(%{__python} -Es %{_rpmconfigdir}/python-macro-helper version)



And this is my Fedora 27 machine:

$ rpm --eval '%{python_sitelib}'
/usr/lib/python2.7/site-packages


$ grep python /usr/lib/rpm/macros 
%__python		/usr/bin/python
#	at the python prompt for example, after "import rpm".
# Useful python macros for determining python version and paths
%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())")
%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1))")
%python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])")

Comment 3 Miro Hrončok 2018-01-18 23:51:51 UTC
Alright, this has been fixed in rpm, so all you need is a rebuild. While rebuilding, consider switching to %{python2_sitelib} anyway.

Comment 4 Lubomír Sedlář 2018-01-19 07:03:53 UTC
Rebuilt in Rawhide (and switched to python2_sitelib as suggested). python2-productmd no longer owns /usr
https://koji.fedoraproject.org/koji/buildinfo?buildID=1019008