[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem with tomcat6/7-common, default-jre-headless and with make-jpkg created "j2sdk1.7-oracle" packages



Hi Reiner,

This issue has been fixed in the latest version of java-package. The
updated package will be soon available as a backport for wheezy, but in
the meantime you can download it at:


http://ftp.debian.org/debian/pool/contrib/j/java-package/java-package_0.53_all.deb

and then install is with:

    dpkg -i java-package_0.53_all.deb

With this version make-jpkg will produce Java packages with the right
dependencies.

Emmanuel Bourg


Le 31/10/2013 18:33, Reiner Keller a écrit :
> Hello,
> 
> we are using at our company only Sun-Java/Oracle Java because our Java
> Devs need this plattform (I don't know the exact problems but they can't
> or won't use OpenJDK).
> 
> Problem is that on our servers the openJDK packages are automatically
> installed and setup as default java installation even if we installed
> OracleJ2SDK before Tomcat7 (and Tomcat7 would be removed with openJDK
> removal).
> 
> Do you have a good solution for it which can be packaged global?
> I think that many peoply have same needs as we have. Thanks.
> 
> Here my actual quick-fix for our setup and further hints what seems not
> ok from my sight:
> 
> 
> 
> I take a further look...  make-jpkg creates this package info/provides:
> 
>  Package: oracle-j2sdk1.7
>  Version: 1.7.0+update45
>  Replaces: oracle-j2sdk1.7debian
>  Provides: j2re1.7, j2sdk1.7, java-browser-plugin, java-compiler,
> java-runtime, java-runtime-headless, java-sdk, java-virtual-machine,
> java2-compiler, java2-runtime, java2-runtime-headless, java2-sdk
> 
> => seems not so good...
>    There seems the "provider" for java7-runtime, java7-runtime-headless
>    and perhaps more missing ?
> 
> 
> Same with JRE:
>  Package: oracle-j2re1.7
>  Version: 1.7.0+update45
>  Replaces: oracle-j2re1.7debian
>  Provides: j2re1.7, java-browser-plugin, java-runtime,
> java-runtime-headless, java-virtual-machine, java2-runtime,
> java2-runtime-headless
> 
> 
> Interesting is the compare to OpenJDK Package:
> 
> Package: openjdk-7-jre-headless
> Version: 7u25-2.3.10-1~deb7u1
> Breaks: icedtea-netx (< 1.4-2), icedtea-netx (< 1.4-2),
> openjdk-7-jre-headless (!= 7u25-2.3.10-1~deb7u1)
> Replaces: openjdk-7-jre-headless (< 7u25-2.3.10-1~deb7u1)
> Provides: java-runtime-headless, java2-runtime-headless,
> java5-runtime-headless, java6-runtime-headless, java7-runtime-headless
> 
> 
> => easy solution I finally checked out and it works nice as I see in
>    my first testing:
> 
> Patching the make-jpg to set right dependencies.
> Attention: I added here Break/Replaces for the unwanted packages:
> 	default-jre-headless,
> 	openjdk-6-jre-lib,
> 	openjdk-6-jre-headless
> 
> 
> --- /usr/share/java-package/j2re.sh.orig	2013-01-15 20:10:26.000000000 +0100
> +++ /usr/share/java-package/j2re.sh	2013-10-31 17:20:31.000000000 +0100
> @@ -6,8 +6,9 @@
>  Architecture: any
>  Depends: \${shlibs:Depends}
>  Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2
> -Provides: java-virtual-machine, java-runtime, java2-runtime,
> java-runtime-headless, java2-runtime-headless, java-browser-plugin,
> j2re${j2se_release}
> -Replaces: ${j2se_package}debian
> +Provides: java-virtual-machine, java-runtime, java2-runtime,
> java-runtime-headless, java2-runtime-headless, java5-runtime-headless,
> java6-runtime-headless, java7-runtime-headless, java-browser-plugin,
> j2re${j2se_release}
> +Breaks: ${j2se_package} (<< ${j2se_version}), default-jre-headless,
> openjdk-6-jre-lib, openjdk-6-jre-headless
> +Replaces: ${j2se_package}debian, ${j2se_package} (<= ${j2se_version}),
> default-jre-headless, openjdk-6-jre-lib, openjdk-6-jre-headless
>  Description: $j2se_title
>   The Java(TM) 2 Runtime Environment contains the Java virtual machine,
>   runtime class libraries, and Java application launcher that are
> 
> 
> 
> --- /usr/share/java-package/j2sdk.sh.orig	2013-01-15 20:10:26.000000000
> +0100
> +++ /usr/share/java-package/j2sdk.sh	2013-10-31 17:20:43.000000000 +0100
> @@ -6,8 +6,9 @@
>  Architecture: any
>  Depends: \${shlibs:Depends}
>  Recommends: netbase, libx11-6 | xlibs, libasound2, libgtk1.2, libstdc++5
> -Provides: java-virtual-machine, java-runtime, java2-runtime,
> java-browser-plugin, java-compiler, java2-compiler,
> java-runtime-headless, java2-runtime-headless, java-sdk, java2-sdk,
> j2sdk$j2se_release, j2re$j2se_release
> -Replaces: ${j2se_package}debian
> +Provides: java-virtual-machine, java-runtime, java2-runtime,
> java-browser-plugin, java-compiler, java2-compiler,
> java-runtime-headless, java2-runtime-headless, java5-runtime-headless,
> java6-runtime-headless, java7-runtime-headless, java-sdk, java2-sdk,
> j2sdk$j2se_release, j2re$j2se_release
> +Breaks: ${j2se_package} (<< ${j2se_version}), default-jre-headless,
> openjdk-6-jre-lib, openjdk-6-jre-headless
> +Replaces: ${j2se_package}debian, ${j2se_package} (<= ${j2se_version}),
> default-jre-headless, openjdk-6-jre-lib, openjdk-6-jre-headless
>  Description: $j2se_title
>   The Java(TM) 2 SDK is a development environment for building
>   applications, applets, and components that can be deployed on the
> 
> 
> 
> 
> I had taken before some further looks into the different packages and it
> seems that there also some rearrangement could be helpful ?
> 
> Tomcat6/7 needs additional Providers?:
> 
> Package: tomcat6-common
> Depends: libtomcat6-java (>= 6.0.35-6+deb7u1), default-jre-headless |
> java7-runtime-headless | java7-runtime |
>          java6-runtime-headless | java6-runtime | java5-runtime
> 
> Package: tomcat7-common
> Depends: libtomcat7-java (>= 7.0.28-4), default-jre-headless |
> java6-runtime-headless | java6-runtime | java-6-runtime
> 
> 
> => Here I got a little confused ;) ...
>    Why has Tomcat6 a java7-runtime / java7-runtime-headless as
>    dependencies and Tomcat7 not ?
> 
> 
> 
> 
> Therefore I first checked for the smallest redefinitions which could be
> made to get all dependencies satisified.
> 
> => openjdk-6-jre-headless / openjdk-7-jre-headless
>    which are in the dependency tree for
>    java6-runtime-headless / java7-runtime-headless
> 
>    needs also
> 
> Depends: ..., ca-certificates-java, ...
> 
> which itself also depends onto:
> 
> ca-certificates-java
> - Squeeze:
> 	openjdk-6-jre-headless (>= 6b16-1.6.1-2)
> 		OpenJDK Java runtime, using Hotspot JIT (headless)
> 	or java6-runtime-headless
> 		virtual package provided by default-jre-headless,
> openjdk-6-jre-headless, sun-java6-jre
> 
> - Wheezy:
> 	openjdk-6-jre-headless (>= 6b16-1.6.1-2)
> 		OpenJDK Java runtime, using Hotspot JIT (headless)
> 	or java6-runtime-headless
> 		virtual package provided by default-jre-headless,
> openjdk-6-jre-headless, openjdk-7-jre-headless
> 
> 
> => perhaps there should also alternate dependencies to
> 	java7-runtime-headless
> 
>    and perhaps some other Java packages?
> 
> 
> 
> My first ideas was before I found the make-jpg modifikation fix that the
> easiest way could be to manipulate the package default-jre-headless
> because its in all above dependencies listed.
> 
> But I guess that you won't have Sun/Oracle packages there listed
> (Sun6 is out of update phase and Oracle license is not compatible) ?
> And it seems to work without problem to remove it (fresh installation
> not yet tested).
> 
> =>
> default-jre-headless
> - Squeeze:
> 	openjdk-6-jre-headless (>= 6b14)
> - Wheezy:
> 	openjdk-6-jre-headless (>= 6b23~pre8-2~)
> 
> 
> Bests
> 
> 
> Reiner
> 
> 


Reply to: