Ubuntu

software-center ignores Replaces directive in case of Conflict

Reported by Francois Gouget on 2012-02-17
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
software-center (Ubuntu)
Medium
Unassigned

Bug Description

I have encountered this problem with the CrossOver Office (http://www.codeweavers.com/products/) packages. They come in multiple flavors, but only one can be installed at a given time. The more capable flavors use the 'Replaces' directive to smoothly 'upgrade' the less capable ones. This works fine with dpkg, but software-center instead gives me an error as if the Replaces directive was not there (this directive is described in section 7.6.2 of the Debian Policy Manual).

I have reproduced the situation with dummy packages so you have all the details. You can get them there:
 * source (1.4KB)
   http://fgouget.free.fr/tmp/gdebi/foo-packages.tar.gz
 * basic package (1.2KB)
   http://fgouget.free.fr/tmp/gdebi/foo_1.0.0-1_i386.deb
 * sophisticated package (1.2KB)
   http://fgouget.free.fr/tmp/gdebi/foo-pro_1.0.0-1_i386.deb

Here is how to reproduce the problem:
 * Run: software-center foo_1.0.0-1_i386.deb
 * Install the 'foo' package. This is the package to be replaced by the more 'sophisticated' version.
 * Then run software-centeri foo-pro_1.0.0-1_i386.deb
 * You get the following message:
    > Breaks existing package 'foo' that conflict: 'foo-highlander'. But the
    > '/home/weaver/foo-pro_1.0.0-1_i386.deb' provides it via: 'foo-highlander'
 * The 'Install' button is enabled which is good, but when clicking on it disables the button and nothing seems to happen.
 * Indeed running 'dpkg -l foo-pro' shows the package has not been installed.

So software-center does not want or fails to replace the foo package with foo-pro. I think it should maybe warn the user but still allow him to proceed. With dpkg there is no issue:

$ sudo dpkg -i foo-pro_1.0.0-1_i386.deb
Selecting previously deselected package foo-pro.
dpkg: considering removing foo in favour of foo-pro ...
dpkg: yes, will remove foo in favour of foo-pro.
(Reading database ... 127365 files and directories currently installed.)
Unpacking foo-pro (from foo-pro_1.0.0-1_i386.deb) ...
Setting up foo-pro (1.0.0-1) ...

As a side not, the same issue plagued gdebi a long time ago and now plagues it again. See bug #146398.
https://bugs.launchpad.net/ubuntu/+source/gdebi/+bug/146398

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: software-center 5.0.1.4
ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
Uname: Linux 3.0.0-12-generic i686
ApportVersion: 1.23-0ubuntu3
Architecture: i386
Date: Thu Dec 29 12:41:39 2011
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
PackageArchitecture: all
ProcEnviron:
 PATH=(custom, no user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
SourcePackage: software-center
UpgradeStatus: No upgrade log present (probably fresh install)

Francois Gouget (fgouget) wrote :
Matthew Paul Thomas (mpt) wrote :

Thanks for the detailed bug report and test packages.

Changed in software-center (Ubuntu):
importance: Undecided → High
status: New → Triaged
Gary Lasker (gary-lasker) wrote :

Francois has clearly spent a good deal of effort to provide test files and steps to reproduce for this bug, and a such we should act on this one soon. I'll target this for 12.10.

Many thanks, Francois!

Changed in software-center (Ubuntu):
milestone: none → ubuntu-12.10
importance: High → Medium
Michael Vogt (mvo) wrote :

Adding the ca-escalted tag as this is targeted for precise-updates and has not seen any action so it needs to be evaluated on the next ca-escalated bug review.

tags: added: ca-escalated
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers