Jaunty: New version of kdebase-runtime contains kdesu, which causes conflicts with kdesudo and causes upgrades to fail

Bug #497477 reported by M. Vefa Bicakci on 2009-12-16
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
kdebase-runtime (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: kdebase-runtime

Hello,

I am using Kubuntu 9.04, which currently has the following packages installed:

kdebase-runtime 4:4.2.2-0ubuntu1
kdesudo 3.4.1-0ubuntu1

When I try to upgrade to kdebase-runtime 4:4.2.2-0ubuntu1.1, the upgrade fails
because unlike kdebase ...-0ubuntu1, kdebase ...-0ubuntu1.1 contains the file
"/usr/lib/kde4/libexec/kdesu", which is also a part of kdesudo.

This doesn't cause problems on systems that were installed from scratch, because
kdesudo includes a preinst script that sets up a diversion for kdesu, but only if it is
being installed. If kdesudo is being upgraded, it doesn't set up the diversion. So
Kubuntu 9.04 systems upgraded from previous Kubuntu versions do not have this
diversion set up.

The combination of these two problems causes upgrades on Kubuntu 9.04 systems
that were not installed from scratch (i.e. upgraded from previous Kubuntu versions)
to fail with the recent kdebase-runtime package update.

There two solutions to this problem:

1) Remove "/usr/lib/kde4/libexec/kdesu" from _kdebase-runtime_ package as it was
previously, and release a new kdebase-runtime package, OR

2) Modify kdesudo's preinst script so that it sets up diversions for kdesu even when
it is being upgraded.

This bug prevents me and at least two more users from upgrading kdebase-runtime
packages.

Please do not mark this bug as a duplicate of 345776, because even though this
bug is related to 345776, this bug is a new packaging problem which is not fixed yet.

Regards,

M. Vefa Bicakci
===

Here's the output of apt-get and dpkg:

=== 8< ===
# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  kdebase-runtime kdebase-runtime-bin-kde4
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/1967kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 239551 files and directories currently installed.)
Preparing to replace kdebase-runtime 4:4.2.2-0ubuntu1 (using .../kdebase-runtime_4%3a4.2.2-0ubuntu1.1_i386.deb) ...
Unpacking replacement kdebase-runtime ...
dpkg: error processing /var/cache/apt/archives/kdebase-runtime_4%3a4.2.2-0ubuntu1.1_i386.deb (--unpack):
 trying to overwrite `/usr/lib/kde4/libexec/kdesu', which is also in package kdesudo
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace kdebase-runtime-bin-kde4 4:4.2.2-0ubuntu1 (using .../kdebase-runtime-bin-kde4_4%3a4.2.2-0ubuntu1.1_i386.deb) ...
Unpacking replacement kdebase-runtime-bin-kde4 ...
Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/kdebase-runtime_4%3a4.2.2-0ubuntu1.1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
=== >8 ===

Here's kdesudo's preinst script. As you can see, it sets up a diversion only when
it is being installed. Upgrades do not set up the diversion.

=== 8< ===
#! /bin/sh

set -e

package_name=kdesudo

if [ -z "$package_name" ]; then
    print >&2 "Internal Error. Please report a bug."
    exit 1;
fi

case "$1" in
  install)
    dpkg-divert --package $package_name \
    --divert /usr/lib/kde4/libexec/kdesu.distrib \
    --rename /usr/lib/kde4/libexec/kdesu
    ;;
  abort-upgrade)
    ;;
  *) echo "$0: didn't understand being called with \`$1'" 1>&2
     exit 0;;
esac

exit 0
=== >8 ===

M. Vefa Bicakci (mvb) wrote :

Hello again,

I have found the following bug reports which report the same problem:

437683
496302
496450

I have made these bugs a duplicate of this bug, as I explained the cause
and fixes for this problem in detail.

These bugs used to be duplicates of 345776, but as I have explained above,
this bug is a new bug that was introduced because of a recent packaging
problem.

Changed in kdebase-runtime (Ubuntu):
status: New → Confirmed
Jonathan Thomas (echidnaman) wrote :

This is indeed bug 345776. kdesu was not added back in ubuntu1.1. Here's proof: https://edge.launchpad.net/ubuntu/+archive/primary/+files/kdebase-runtime_4:4.2.2-0ubuntu1_4:4.2.2-0ubuntu1.1.diff.gz
The file install manifests were not updated. This fits the description of bug 345776 perfectly, where an upgrade in the wrong order causes the dpkg diverts to fail.

emreakbas (emreakbas) wrote :

I have the same problem.

M. Vefa Bicakci (mvb) wrote :

I apologize for not investigating this issue in detail before reporting a bug and
for making false claims because of this. As Jonathan Thomas has mentioned,
I should have at least looked at the changes between the relevant versions
of kdebase-runtime.

Sorry.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers