2011-06-16 3 views
14

J'ai une application Java que j'emballe en tant que RPM. Idéalement, je voudrais spécifier Java comme une dépendance. Je dois m'installer dans les environnements Fedora et RHEL. Le problème est RHEL Java est appelé 'java', tandis que Fedora ne fournit pas la distribution d'Oracle/Sun, laissant un téléchargement manuel à partir du site Web d'Oracle. La distribution d'oracles de Java est appelée 'jre' ou 'jdk' selon le paquet que vous sélectionnez.Spécification d'alternatives dans les dépendances RPM

Normalement dans un fichier SPEC RPM Je voudrais écrire:

Depends: java> = 1,6

Mais depuis le RHEL fournit 'java' et Fedora via Sun/Oracle fournit 'jre' ou « jdk '(et je ne peux pas utiliser OpenJDK), je suis un peu lié. Documentation jusqu'à présent n'a pas montré un moyen de faire 'java> = 1.6 || jre> = 1,6 || jdk> = 1.6 'etc. Parce que les paquets Java ne sont pas sous mon contrôle, je ne peux pas changer l'un ou l'autre pour spécifier un' Provides: Java '.

À l'heure actuelle, je ne vois que deux options:

  • Omettre Java en tant que dépendance
  • Créer un RPM pour Fedora, un pour RHEL

Je ne suis pas désireux de chaque option. Existe-t-il d'autres moyens d'atteindre la dépendance Java lorsque les fournisseurs ont tous des noms différents?

Éditer: Une troisième option - créer mon propre paquet virtuel Java pour Fedora qui dépend du RPM JDK de Sun.

Répondre

7

Je suis allé avec la création de mon propre paquet virtuel Java pour Fedora qui dépend du jdk rpm de sun.

partie pertinente du fichier SPEC dans le cas où il aide quelqu'un d'autre:

Name: fedora-virtual-java 
Version: 1.6 
Provides: java 
Requires: jdk > 1.6 
Questions connexes