Comment 8 for bug 1359078

Revision history for this message
Steve Langasek (vorlon) wrote :

Bill,

The issue here is that the version of openjdk-7 in trusty ships /usr/lib/jvm/java-7-openjdk-i386/src.zip in the openjdk-7-source binary package, and the version of openjdk-7 in both trusty-updates and utopic ships that file in the openjdk-7-jdk binary package:

$ zgrep usr/lib/jvm/java-7-openjdk-i386/src.zip ~/ubuntu/dists/trusty/Contents-i386.gz
usr/lib/jvm/java-7-openjdk-i386/src.zip java/openjdk-7-source
$ zgrep usr/lib/jvm/java-7-openjdk-i386/src.zip ~/ubuntu/dists/trusty-updates/Contents-i386.gz
usr/lib/jvm/java-7-openjdk-i386/src.zip java/openjdk-7-jdk
$ zgrep usr/lib/jvm/java-7-openjdk-i386/src.zip ~/ubuntu/dists/utopic/Contents-i386.gz
usr/lib/jvm/java-7-openjdk-i386/src.zip java/openjdk-7-jdk
$

When files move between packages, this needs to be declared with a Replaces: field (see ubuntu policy).

Neither the utopic nor the trusty-proposed versions of openjdk-7-jdk declare a Replaces against the versions of openjdk-7-source that previously ship this file:

$ dpkg -I ~/ubuntu/pool/main/o/openjdk-7/openjdk-7-jdk_7u65-2.5.2-3~14.04_i386.deb |grep Replaces
$ dpkg -I ~/ubuntu/pool/main/o/openjdk-7/openjdk-7-jdk_7u65-2.5.2-4_i386.deb |grep Replaces
$

If this is a deliberate move of the file between packages, then you need to declare this in debian/control.