Bug 1251593 - dnf and rpm out of sync - claim installed pkgs are not installed
dnf and rpm out of sync - claim installed pkgs are not installed
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: dnf (Show other bugs)
22
x86_64 Linux
unspecified Severity high
: ---
: ---
Assigned To: Michael Mráka
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-07 16:23 EDT by Leek Soup
Modified: 2015-08-10 17:11 EDT (History)
8 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-08-10 04:19:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Leek Soup 2015-08-07 16:23:51 EDT
Description of problem:
I've been trying to get xsane 32-bit to work on my x86_64 hardware. It has always worked in the past for me, but this time with F22, it's severely broken. I've already filed a few bugs in the process.

This time, the problem is I was trying to use rpm with direct http:// link to the 32-bit packages that dnf would not find. It seems that they are not communicating properly, maybe rpm DB is getting out of sync with one or other.


Version-Release number of selected component (if applicable):
dnf.noarch   1.0.1-2.fc22
rpm.x86_64   4.12.0.1-12.fc22


How reproducible:
Happened several times as I was trying to install all packages for xsane.i686 and my scanner.


Steps to Reproduce:
1. sudo dnf install sane-backends-libs.i686
2. rpm -Uvh http://mirror.sfo12.us.leaseweb.net/fedora/linux/releases/22/Everything/i386/os/Packages/s/sane-backends-1.0.24-13.fc22.i686.rpm
3. sudo dnf list sane-backends-libs


Actual results:
1. sudo dnf install sane-backends-libs.i686
Last metadata expiration check performed 2:43:45 ago on Thu Aug  6 13:20:30 2015.
Dependencies resolved.
================================================================================
 Package                  Arch       Version                Repository     Size
================================================================================
Installing:
 sane-backends-libs       i686       1.0.24-14.fc22         updates       101 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 101 k
Installed size: 183 k
Is this ok [y/N]: y
Downloading Packages:
sane-backends-libs-1.0.24-14.fc22.i686.rpm      171 kB/s | 101 kB     00:00    
--------------------------------------------------------------------------------
Total                                            48 kB/s | 101 kB     00:02     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Installing  : sane-backends-libs-1.0.24-14.fc22.i686                      1/1 
  Verifying   : sane-backends-libs-1.0.24-14.fc22.i686                      1/1 

Installed:
  sane-backends-libs.i686 1.0.24-14.fc22                                        

Complete!


2. rpm -Uvh http://mirror.sfo12.us.leaseweb.net/fedora/linux/releases/22/Everything/i386/os/Packages/s/sane-backends-1.0.24-13.fc22.i686.rpm
Retrieving http://mirror.sfo12.us.leaseweb.net/fedora/linux/releases/22/Everything/i386/os/Packages/s/sane-backends-1.0.24-13.fc22.i686.rpm
error: Failed dependencies:
	sane-backends-libs(x86-32) = 1.0.24-13.fc22 is needed by sane-backends-1.0.24-13.fc22.i686


3. sudo dnf list sane-backends-libs
Last metadata expiration check performed 2:45:58 ago on Thu Aug  6 13:20:30 2015.
Installed Packages
sane-backends-libs.i686                   1.0.24-14.fc22                 @System
sane-backends-libs.x86_64                 1.0.24-14.fc22                 @System


Expected results:
If a package is installed it should be recognized as installed by both rpm and dnf. Here clearly dnf installed the sane-backends-libs.i686 package, but rpm did not find it installed.


Additional info:
After this, I tried using rpm to install both sane-backends and sane-backends-libs. At this point, rpm informed me that the libs were already installed ....
$ sudo rpm -Uvh http://mirror.us.leaseweb.net/fedora/linux/updates/22/i386/s/sane-backends-1.0.24-14.fc22.i686.rpm http://mirror.us.leaseweb.net/fedora/linux/updates/22/i386/s/sane-backends-libs-1.0.24-14.fc22.i686.rpm
Retrieving http://mirror.us.leaseweb.net/fedora/linux/updates/22/i386/s/sane-backends-1.0.24-14.fc22.i686.rpm
Retrieving http://mirror.us.leaseweb.net/fedora/linux/updates/22/i386/s/sane-backends-libs-1.0.24-14.fc22.i686.rpm
Preparing...                          ################################# [100%]
	package sane-backends-libs-1.0.24-14.fc22.i686 is already installed

And then, I tried installing the scanner's driver, only to find that rpm had forgotten the sane-backends it had JUST INSTALLED.
$ rpm -Uvh cndrvsane-p150-1.00-0.2.i386.rpm 
error: Failed dependencies:
	sane-backends >= 1.0.14 is needed by cndrvsane-p150-1.00-0.2.i386

Oh, and dnf wouldn't acknowledge it, either:
$ sudo dnf list sane-backends
Last metadata expiration check performed 2:49:20 ago on Thu Aug  6 13:20:30 2015.
Available Packages
sane-backends.x86_64                   1.0.24-14.fc22                    updates
Comment 1 Michael Mráka 2015-08-10 04:19:01 EDT
(In reply to Leek Soup from comment #0)
> Actual results:
> 1. sudo dnf install sane-backends-libs.i686
...
> Installed:
>   sane-backends-libs.i686 1.0.24-14.fc22                                    
> Complete!
> 
> 2. rpm -Uvh http://mirror.sfo12.us.leaseweb.net/fedora/linux/releases/22/Everything/i386/os/Packages/s/sane-backends-1.0.24-13.fc22.i686.rpm
...
error: Failed dependencies:
> 	sane-backends-libs(x86-32) = 1.0.24-13.fc22 is needed by sane-backends-1.0.24-13.fc22.i686
> 
> 3. sudo dnf list sane-backends-libs
> Last metadata expiration check performed 2:45:58 ago on Thu Aug  6 13:20:30 2015.
> Installed Packages
> sane-backends-libs.i686                   1.0.24-14.fc22                @System
> sane-backends-libs.x86_64                 1.0.24-14.fc22                @System
> 
> 
> Expected results:
> If a package is installed it should be recognized as installed by both rpm
> and dnf. Here clearly dnf installed the sane-backends-libs.i686 package, but
> rpm did not find it installed.

As you can see from listing above dnf installed sane-backends-libs.i686 1.0.24-14.fc22.
While you tried to install -13.fc22.i686 with rpm (one release older) so rpm reported broken dependencies.
This is correct behaviour and it will work if you install -14.fc22.i686 package with rpm.
Comment 2 Leek Soup 2015-08-10 17:11:53 EDT
Sorry, you are right. I missed that detail. And the reason for the other strange behavior (in Additional info) was that rpm does not install any package if one of them listed is already installed. I thought it was like dnf or yum and would install those that were not installed.

My mistake.

Note You need to log in before you can comment on or make changes to this bug.