Oracle stellt ja bekanntlich auf seiner Homepage das JDK als RPM zur Verfügung. Alles gut soweit, bis man eine Software hat welche als Abhängigkeit JRE benötigt. Dann stellt man nämlich fest, dass Oracle dem JDK Package vergessen hat mitzugeben, dass es auch JRE bereitstellt. Wie fixed man das also?
Als erstes besorgen wir uns fpm. fpm ist ein Tool mit welchem man schnell und einfach Packages für unterschiedliche Systeme erstellen kann.
gem install fpm
Dann bauen wir uns ein virtual (leeres) Package welches JRE bereitstellt und einfach nur eine Abhängigkeit zu JDK hat:
fpm -s empty -t rpm -v 1.7.0_51 --iteration fcs --provides jre --depends 'jdk >= 1.7.0_51' -n jre-virtual
Dies sagt aus:
- -s: Es soll ein Package ohne Inhalt erstellt werden
- -t: Es soll ein RPM Package sein
- -v: Die Versionsnummer ist 1.7.0_51
- –iteration: Die Revisionsnummer(-string) lautet fcs
- –provides: Es stellt JRE bereit
- –depends: Es benötigt JDK in der Version 1.7.0_51 oder größer
- -n: Der Name des Packages soll jre-virtual sein
Dieses RPM packen wir nun in unser Repository oder rollen es manuell aus und schon wäre das Problem gelöst 🙂