Bug 277881 - apt check deps differently than rpm
apt check deps differently than rpm
Status: CLOSED UPSTREAM
Product: Fedora
Classification: Fedora
Component: apt (Show other bugs)
7
All Linux
medium Severity low
: ---
: ---
Assigned To: Axel Thimm
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-09-05 03:04 EDT by Leszek Matok
Modified: 2007-11-30 17:12 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-09-05 12:13:14 EDT
Type: ---
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 Leszek Matok 2007-09-05 03:04:41 EDT
# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following packages will be upgraded
   popt (1.10.2-46.fc7 => 1.10.2.1-1.fc7)
   rpm (4.4.2-46.fc7 => 4.4.2.1-1.fc7)
   rpm-build (4.4.2-46.fc7 => 4.4.2.1-1.fc7)
   rpm-devel (4.4.2-46.fc7 => 4.4.2.1-1.fc7)
   rpm-libs (4.4.2-46.fc7 => 4.4.2.1-1.fc7)
   rpm-python (4.4.2-46.fc7 => 4.4.2.1-1.fc7)
The following packages have been kept back
   rpmdevtools (5.4-1.fc7 => 6.1-0.1.fc7)
6 upgraded, 0 newly installed, 0 removed and 1 not upgraded.
Need to get 0B/8615kB of archives.
After unpacking 32,5MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Checking GPG signatures...  ########################################### [100%]
Committing changes...
Preparing...                ########################################### [100%]
        file /usr/lib/rpm/check-rpaths-worker from install of
rpm-build-4.4.2.1-1.fc7 conflicts with file from package rpmdevtools-5.4-1.fc7
E: Error while running transaction
E: Handler silently failed


It's easy to reproduce, all you have to do is have old versions of rpm (4.4.2)
and rpmdevtools (5.4) and disable "Everything" repo, leaving only "Updates".
This way, rpmdevtools can't be upgraded to 6.1 (because repos lack fakeroot), so
apt decides to keep it at 5.4. I guess it could be reproduced with apt-shell,
telling it to keep rpmdevtools, but I can't test that myself.

Expected behavior would be noticing the conflict and simply keeping rpm at 4.4.2
(which I did in order to update rest of the system), just like other dependent
packages are "kept" alongside the one that has to be.

I've also seen this behavior on Rawhide (without messing with the repos!) some
time ago, but forgot to copy apt output. This is the second time I see it and
this time, I'm reporting it.
Comment 1 Panu Matilainen 2007-09-05 03:33:59 EDT
Apt (and yum and probably smartpm too) don't check for implicit file conflicts.
The bug here isn't really in apt but in rpm 4.4.2.1 packaging which should have
had "conflicts: rpmdevtools < 6.1" in rpm-build subpackage to avoid this. This
doesn't normally happen though as rpmdevtools 6.1 requires rpm >= 4.4.2.1 to fix
precisely this issue but like you noticed, in exceptional situations things can
go wrong with the "optimistic" packaging that was done to avoid use of conflicts.
Comment 2 Ville Skyttä 2007-09-05 12:13:14 EDT
Thanks for the comment, Panu.  I don't think there's anything that the Fedora
apt maintainers can do about this and upstream (Panu) obviously is aware of the
issue, so closing UPSTREAM.

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