Gilles Filippini a écrit le 21/03/2015 11:29 :
> Hi,
> 
> On Tue, 17 Feb 2015 11:31:57 -0600 John Goerzen <jgoer...@complete.org> wrote:
>> Package: icedtea-netx
>> Version: 1.5-2
>> Severity: serious
>> Justification: Doesn't start
>>
>> $ javaws launch.jnlp 
>> /usr/bin/javaws: line 102:
>> /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java: No such file or directory
>>
>> It seems that this package depends on openjdk 6 or 7.  I did recently
>> remove version 6 from my system.  The dependencies for this package are
>> still met.  javaws should, in this case, either:
>>
>> 1) Be split into two packages, one depending on jdk 6 and the other
>> depending on jdk 7, or
>>
>> 2) have its script automatically detect which one to use.
>>
>> What's more, update-alternatives cannot even be comfigured to use JDK 7:
>>
>> # update-alternatives --config javaws
>> There is only one alternative in link group javaws (providing
>> /usr/bin/javaws): /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/javaws
>> Nothing to configure.
>> # ls -l /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws
>> -rwxr-xr-x 1 root root 2660 Jun 30  2014
>> /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws
> 
> Looking at icedtea-netx's postinst script it seems the alternatives are
> configured only if an alternative for openjdk 6 isn't previously set:
> 
> ...
> basedir=/usr/lib/jvm/java-6-openjdk-amd64
> ...
> base7dir=/usr/lib/jvm/java-7-openjdk-amd64
> ...
> case "$1" in
> configure)
> ...
>     if [ -n "$multiarch" ] && [ -n "$2" ]; then
>         for i in $tools; do
>             if [ -z "$(update-alternatives --list $i 2>/dev/null | grep 
> ^$basedir/)" ]; then
>                 update_alternatives=y
>                 break
>             fi
>         done
>     fi
> ...
> 
> Sounds like un old upgrade path bug.

The fix is pretty simple. In this line of debian/icedtea-netx.postinst.in:
  if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$basedir/)" ]; 
then

replace 'basedir' with base7dir:
  if [ -z "$(update-alternatives --list $i 2>/dev/null | grep ^$base7dir/)" ]; 
then

I've successfully tested it with manually editing
/var/lib/dpkg/info/icedtea-netx:amd64.postinst:

$ sudo update-alternatives --remove javaws 
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws
$ update-alternatives --list javaws
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/javaws
$ sudo dpkg-reconfigure icedtea-netx
update-alternatives: avertissement: forçage de la réinstallation de 
l'alternative /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings car le 
groupe de liens itweb-settings est cassé
update-alternatives: avertissement: /usr/share/man/man1/itweb-settings.1.gz ne 
sera pas remplacé par un lien
update-alternatives: utilisation de « 
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws » pour fournir « 
/usr/bin/javaws » (javaws) en mode automatique
update-alternatives: avertissement: forçage de la réinstallation de 
l'alternative /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/itweb-settings car le 
groupe de liens itweb-settings est cassé
update-alternatives: avertissement: /usr/share/man/man1/itweb-settings.1.gz ne 
sera pas remplacé par un lien
$ update-alternatives --list javaws
/usr/lib/jvm/java-6-openjdk-amd64/jre/bin/javaws
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/javaws
$ 

Thanks,

_g.


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to