Bug 1256232

Summary: dnf check-update shows obsoletes which it should not show (relaxngDatatype and msv packages with jpackage-generic repopo) IMHO
Product: [Fedora] Fedora Reporter: Jan Hutař <jhutar>
Component: dnfAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: 22CC: jsilhan, mluscon, packaging-team-maint, pnemade, rholy, tim.lauridsen, vmukhame
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-08-31 14:05:20 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 Jan Hutař 2015-08-24 06:46:27 UTC
Description of problem:
`dnf check-update` reports some obsoletes but on packages which IMHO
should not be updated.


Version-Release number of selected component (if applicable):
dnf-1.1.0-2.fc22.noarch
libsolv-0.6.11-2.fc22.x86_64
relaxngDatatype-2011.1-1.fc22.noarch
msv-1.2-0.20050722.6.jpp5.noarch


How reproducible:
always


Steps to Reproduce:
1. With packages installed 
2. # dnf check-update
   Obsoleting Packages
   relaxngDatatype.noarch   1.0-3.jpp5              jpackage-generic
       msv.noarch           1.2-0.20050722.6.jpp5   @System
3. # dnf upgrade
   Nothing to do.


Actual results:
`dnf check-update` complains abbout relaxngDatatype-1.0-3.jpp5 obsolete,
but I have relaxngDatatype-2011.1-1.fc22.noarch installed (which should
be of a newer version).


Expected results:
IMHO `dnf check-update` should only report issues with unrelated packages.


Additional info:
I do not know if this is dnf issue, libsolv issue or simply packaging
issue on JPackage of Fedora side. Also maybe this is just me reading
`dnf check-update` output incorrectly.

This is what these packages obsoletes:

# rpm -q relaxngDatatype-2011.1-1.fc22 --obsoletes
# rpm -qp relaxngDatatype-1.0-3.jpp5.noarch.rpm --obsoletes
msv

Just in case this is important - one of the package doesn't seem to
have epoch set but looks like dnf understands it correctly:

# rpm -qi relaxngDatatype-2011.1-1.fc22 | grep Epoch
# rpm -qpi relaxngDatatype-1.0-3.jpp5.noarch.rpm | grep Epoch
Epoch       : 0

# dnf info relaxngDatatype-2011.1-1.fc22 | grep -e 'Epoch' -e 'Repo' -e 'From repo'
This system is not registered with Spacewalk server.
Spacewalk based repositories will be disabled.
Epoch       : 0
Repo        : @System
From repo   : fedora
# dnf info relaxngDatatype-1.0-3.jpp5 | grep -e 'Epoch' -e 'Repo' -e 'From repo'
This system is not registered with Spacewalk server.
Spacewalk based repositories will be disabled.
Epoch       : 0
Repo        : jpackage-generic

And mine JPackage repo file is:

# cat /etc/yum.repos.d/jpackage-generic.repo 
[jpackage-generic]
name=JPackage generic
mirrorlist=http://www.jpackage.org/mirrorlist.php?dist=generic&type=free&release=5.0
enabled=1
gpgcheck=1
gpgkey=file:///mnt/tests/CoreOS/Spacewalk/Installer/setup-repos/jpackage-generic/jpackage.asc

Comment 1 Honza Silhan 2015-08-31 14:05:20 UTC
IIUC the relation is following:
msv (installed) < relaxngDatatype-1.0-3.jpp5 < relaxngDatatype-2011.1-1.fc22 (installed)

DNF couldn't know what state is better (more updated) for the user.
It could be "relaxngDatatype-1.0-3.jpp5" or "msv AND relaxngDatatype-2011.1-1.fc22".
(in any case at least one package is obsoleted / in lower version than package available)

Thanks DNF that you give hints and let the user decide!