On 2012-10-06 19:44, Rene Engelhard wrote: > I added a Breaks: libgraphite2-2.0.0 and get this: > > rene@frodo:~/Debian/Pakete/graphite2$ sudo dpkg -i > libgraphite2-3_1.2.0-2_amd64.deb > rene@frodo:~/Debian/Pakete/graphite2$ sudo dpkg -i --auto-deconfigure > libgraphite2-3_1.2.0-2_amd64.deb > -> boom.
dpkg is not the right tool to test non-trivial upgrade scenarios. And Breaks/Replaces are non-trivial. In a minimal pbuilder sid chroot: # apt-get install libreoffice-core # that has a Depends: libgraphite2-2.0.0 [...] # # copy the debs to /tmp/debs and run dpkg-scanpackages there # echo deb file:///tmp/debs ./ > /etc/apt/sources.list.d/local.list # apt-get update # make the new packages available # apt-get install libgraphite2-3 Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: libgraphite2-2.0.0 The following NEW packages will be installed: libgraphite2-3 0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. Need to get 0 B/65.4 kB of archives. After this operation, 7168 B of additional disk space will be used. Do you want to continue [Y/n]? WARNING: The following packages cannot be authenticated! libgraphite2-3 Install these packages without verification [y/N]? y debconf: unable to initialize frontend: Dialog debconf: (No usable dialog-like program is installed, so the dialog based frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line 76, <> line 1.) debconf: falling back to frontend: Readline dpkg: libgraphite2-2.0.0: dependency problems, but removing anyway as you requested: libreoffice-core depends on libgraphite2-2.0.0. (Reading database ... 18591 files and directories currently installed.) Removing libgraphite2-2.0.0 ... Selecting previously unselected package libgraphite2-3. (Reading database ... 18585 files and directories currently installed.) Unpacking libgraphite2-3 (from .../libgraphite2-3_1.2.0-1.1_amd64.deb) ... Setting up libgraphite2-3 (1.2.0-1.1) ... # l /usr/lib/libgraphite2* lrwxrwxrwx 1 root root 17 Oct 6 18:34 /usr/lib/libgraphite2.so.2.0.0 -> libgraphite2.so.3 lrwxrwxrwx 1 root root 21 Oct 6 18:34 /usr/lib/libgraphite2.so.3 -> libgraphite2.so.3.0.1 -rw-r--r-- 1 root root 113496 Oct 6 18:34 /usr/lib/libgraphite2.so.3.0.1 # dpkg -s libgraphite2-3 Package: libgraphite2-3 Status: install ok installed Priority: optional Section: libs Installed-Size: 125 Maintainer: Debian LibreOffice Team <debian-openoff...@lists.debian.org> Architecture: amd64 Source: graphite2 Version: 1.2.0-1.1 Replaces: libgraphite2-2.0.0 (<< 1.2.0) Provides: libgraphite2-2.0.0 Depends: libc6 (>= 2.2.5) Breaks: libgraphite2-2.0.0 (<< 1.2.0) Description: Font rendering engine for Complex Scripts -- library everything is fine :-) I made both Breaks and Replaces versioned, and apt does the right thing - removes the obsolete libgraphite2-2.0.0 package and keeps libreoffice installed Provides: libgraphite2-2.0.0 -Replaces: libgraphite2-2.0.0 +Replaces: libgraphite2-2.0.0 (<< 1.2.0) +Breaks: libgraphite2-2.0.0 (<< 1.2.0) There is only one problem with your upgrade scenario: if only libgraphite2-2.0.0 is installed, and nothing adds a dependency on libgraphite2-3, apt sees no reason to install the new library and keeps the obsolete one installed instead. So you will either need a transition (binNMU libreoffice, probably sourceful update the two packages in Suggests, fonts-sil-padauk and grcompiler) or a transitional package. Having -dev installed would probably make the difference as it will add the dependency on 2-3. Andreas -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org