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:
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:
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 jvm/java- 7-openjdk- i386/src. zip java/openjdk- 7-source jvm/java- 7-openjdk- i386/src. zip ~/ubuntu/ dists/trusty- updates/ Contents- i386.gz jvm/java- 7-openjdk- i386/src. zip java/openjdk-7-jdk jvm/java- 7-openjdk- i386/src. zip ~/ubuntu/ dists/utopic/ Contents- i386.gz jvm/java- 7-openjdk- i386/src. zip java/openjdk-7-jdk
usr/lib/
$ zgrep usr/lib/
usr/lib/
$ zgrep usr/lib/
usr/lib/
$
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 pool/main/ o/openjdk- 7/openjdk- 7-jdk_7u65- 2.5.2-4_ i386.deb |grep Replaces
$ dpkg -I ~/ubuntu/
$
If this is a deliberate move of the file between packages, then you need to declare this in debian/control.