I have encountered this problem with the CrossOver Office (http://www.codeweavers.com/products/cxoffice/) 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 gdebi instead gives me an error as if the Replaces directive was not there (this directive is described in section 7.5.2 of the Debian Policy Manual).
$ sudo gdebi foo_1.0.0-1_i386.deb
Reading package lists: Done
Reading state information: Done
Reading state information: Done
Reading state information: Done
Package for testing gdebi's Replaces support
This is the package to be replaced by the more 'sophisticated' version.
Do you want to install the software package? [y/N]:y
Selecting previously deselected package foo.
(Reading database ... 151236 files and directories currently installed.)
Unpacking foo (from foo_1.0.0-1_i386.deb) ...
Setting up foo (1.0.0-1) ...
$ sudo gdebi foo-pro_1.0.0-1_i386.deb
Reading package lists: Done
Reading state information: Done
Reading state information: Done
Reading state information: Done
This package is uninstallable
Conflicts with the installed package 'foo'
So gdebi does not want 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:
$ 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 ... 151239 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) ...
Binary package hint: gdebi
I have encountered this problem with the CrossOver Office (http:// www.codeweavers .com/products/ cxoffice/) 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 gdebi instead gives me an error as if the Replaces directive was not there (this directive is described in section 7.5.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: fgouget. free.fr/ tmp/gdebi/ foo-packages. tar.gz fgouget. free.fr/ tmp/gdebi/ foo_1.0. 0-1_i386. deb fgouget. free.fr/ tmp/gdebi/ foo-pro_ 1.0.0-1_ i386.deb
* source (1.4KB)
http://
* basic package (1.2KB)
http://
* sophisticated package (1.2KB)
http://
Here is how to reproduce the problem:
$ sudo gdebi foo_1.0. 0-1_i386. deb 0-1_i386. deb) ...
Reading package lists: Done
Reading state information: Done
Reading state information: Done
Reading state information: Done
Package for testing gdebi's Replaces support
This is the package to be replaced by the more 'sophisticated' version.
Do you want to install the software package? [y/N]:y
Selecting previously deselected package foo.
(Reading database ... 151236 files and directories currently installed.)
Unpacking foo (from foo_1.0.
Setting up foo (1.0.0-1) ...
$ sudo gdebi foo-pro_ 1.0.0-1_ i386.deb
Reading package lists: Done
Reading state information: Done
Reading state information: Done
Reading state information: Done
This package is uninstallable
Conflicts with the installed package 'foo'
So gdebi does not want 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:
$ dpkg -i foo-pro_ 1.0.0-1_ i386.deb 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 ... 151239 files and directories currently installed.)
Unpacking foo-pro (from foo-pro_
Setting up foo-pro (1.0.0-1) ...