2

Я пытаюсь понять, как заставить мой пакет зависеть от всего, что обеспечивает "Java", но я не уверен, что даже искать. Очевидно, "yum обеспечивает" - это команда для определения того, какой пакет содержит определенный файл, а "информация о yum", по-видимому, не содержит информацию, которую я хочу.

По сути, в моей ОС есть пакет под названием «java-1.6.0-openjdk», и мой пакет требует некоторой реализации Java, но он прекрасно работает на Oracle Java или Java 7, поэтому я не хочу, чтобы это было так. конкретно об этом. Есть ли способ просто зависеть от всего, что обеспечивает Java?

2 ответа2

2

Тема немного старая, но не ответил ...

Вы можете найти то, что ваш java предоставляет с rpm:

[mdavis@x1pt01 yumrepo]$ rpm -q --provides java-1.5.0-gcj-1.5.0.0-29.fc12.x86_64
jaas = 1.5.0.0-29.fc12
java = 1.5.0
java-1.4.2-gcj-compat > 1.4.2.0-40jpp.111
java-1.5.0 = 1.5.0.0-29.fc12
java-gcj = 1.5.0.0-29.fc12
java-gcj-compat = 1.0.79
java-sasl = 1.5.0.0-29.fc12
jaxp_parser_impl = 1.5.0.0-29.fc12
jce = 1.5.0.0-29.fc12
jdbc-stdext = 1.5.0.0-29.fc12
jdbc-stdext = 3.0
jndi = 1.5.0.0-29.fc12
jndi-cos = 1.5.0.0-29.fc12
jndi-dns = 1.5.0.0-29.fc12
jndi-ldap = 1.5.0.0-29.fc12
jndi-rmi = 1.5.0.0-29.fc12
jre = 1.5.0
jre-1.5.0 = 1.5.0.0-29.fc12
jre-1.5.0-gcj = 1.5.0.0-29.fc12
jre-gcj = 1.5.0.0-29.fc12
jsse = 1.5.0.0-29.fc12
java-1.5.0-gcj = 1.5.0.0-29.fc12
java-1.5.0-gcj(x86-64) = 1.5.0.0-29.fc12

тогда вы можете просто "потребовать" минимальный Java, который вам нужен в спецификации файла.

Требуется: java> = 1.0

2

Я думаю, вам нужно найти шаблон имени, который подходит всем этим пакетам, например, если вам нужен jdk:

yum list installed '*openjdk*'

возможно, вам просто нужно найти a или b или c и т. д., если имена пакетов не могут быть обобщены с помощью уникального шаблона и избежать ложных срабатываний.

Я вижу, тогда вы можете создавать собственные мета (фиктивные) пакеты, каждый из которых затем требует один из подходящих пакетов и предоставляет что-то вроде "java-installed".

Тогда вашему rpm нужно только установить java и все готово.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .