¿Es posible establecer requisitos de versión de dependencia como este:
Required: somepackage >= 0.5.0 AND somepackage < 0.6.0
Por lo tanto, solo algunos paquetes 0.5.x se instalarán automáticamente.
Sí, muy fácil hacerlo.
Solo escribe:
Requires: somepackage >= 0.5.0, somepackage < 0.6.0
en tu .spec
archivo.
Agregar requisitos de versión
Cuando un paquete tiene necesidades un poco más estrictas, es posible requerir ciertas versiones de un paquete. Todo lo que es necesario es agregar el número de versión deseado, precedido por uno de los siguientes operadores de comparación:
Requiere paquete con una versión inferior a la versión especificada.
Requiere paquete con una versión menor o igual a la versión especificada.
Requiere paquete con una versión igual a la versión especificada.
Requiere un paquete con una versión igual o mayor que la versión especificada.
Requiere paquete con una versión mayor que la versión especificada.
Continuando con nuestro ejemplo, supongamos que la versión requerida de la barra de paquetes realmente debe ser al menos 2.7, y que el paquete baz debe ser la versión 2.1; ninguna otra versión funcionará. Así es como se vería la línea de etiqueta requerida: requiere: barra> = 2.7, baz = 2.1
Fuente: http://rpm.org/user_doc/more_dependencies.html
El sistema descrito anteriormente funciona para la mayoría de los paquetes; sin embargo, si el paquete que desea solicitar se proporciona como una [capacidad virtual] [1] o se proporciona de otra manera (es decir, "Proporciona:" palabra clave) mediante paquetes de diferentes nombres (que no entren en conflicto entre sí), entonces usted puede terminar con dos paquetes diferentes instalados, cada uno de los cuales satisface individualmente uno de sus requisitos. Por ejemplo, si su archivo de especificaciones contiene:
Requires: postgresql-server >= 8.4, postgresql-server < 9.0
Puede provocar (si tiene estos paquetes disponibles para yum) la instalación de:
Pero no instalará postgresql84-server, que probablemente sea el paquete que habría esperado tener instalado.
(En este caso, la solución sería simplemente requerir postgresql84-server; sin embargo, es probable que haya otros ejemplos que no tengan una solución fácil).
No está claro para mí si está intentando construir un paquete o instalar un paquete y "limitar" sus dependencias.
No veo una manera de hacer el segundo caso sin reconstruir el paquete.
Puede recuperar el SRPM y editar el archivo de especificaciones y agregar / modificar la entrada Requiere (desea un paquete 0.5.x, ¿no?) A algo como esto:
y luego reconstruir con
Si nunca lo hiciste, parece intimidante pero resuelve tu problema. Tenga en cuenta que si está creando un paquete público para una distribución, es posible que desee leer su guía porque generalmente no se recomienda establecer la dependencia de esta manera.
fuente