2011-06-16 15 views
14

Tengo una aplicación de Java que estoy empaquetando como un RPM. Idealmente, me gustaría especificar Java como una dependencia. Necesito instalar en ambos entornos Fedora y RHEL. El problema es que RHEL Java se llama 'java', mientras que Fedora no proporciona la distribución de Oracle/Sun, dejando uno para descargar manualmente desde el sitio web de Oracle. La distribución de Oracle de Oracles se llama 'jre' o 'jdk' dependiendo del paquete que seleccione.Especificación de alternativas en dependencias de RPM

Normalmente en un archivo RPM SPEC que iba a escribir:

Depende: java> = 1,6

Pero dado que el RHEL ofrece 'java', y Fedora a través de Sun/Oracle proporciona 'jre' o 'JDK '(y no puedo usar OpenJDK), estoy en un aprieto. La documentación hasta el momento no ha mostrado una forma de hacer 'java> = 1.6 || jre> = 1.6 || jdk> = 1.6 ', etc. Debido a que los paquetes de Java no están bajo mi control, no puedo simplemente cambiar uno u otro para especificar un' Provides: Java '.

En la actualidad veo sólo dos opciones:

  • Omitir Java como una dependencia
  • Crear una RPM para Fedora, una para RHEL

No estoy interesado en cualquiera de las opciones. ¿Hay alguna otra forma de lograr la dependencia de Java donde todos los proveedores tienen diferentes nombres?

Editar: Una tercera opción: crear mi propio paquete virtual de Java para Fedora que tiene una dependencia en JDK RPM de Sun.

Respuesta

7

He ido con la creación de mi propio paquete virtual de java para Fedora que tiene una dependencia en jdk rpm del sol.

parte pertinente del archivo de especificaciones en caso de que ayuda a nadie:

Name: fedora-virtual-java 
Version: 1.6 
Provides: java 
Requires: jdk > 1.6 
Cuestiones relacionadas