Proporcionando un package de rpm en el package de rpm virtual

Deseo proporcionar algunos packages RPM en un package RPM virtual que no incluye files.

El caso es que creo un sistema integrado con buildroot y luego RPM toma la responsabilidad del control de versiones. Por esta razón, las imágenes de buildroot siempre tienen físicamente el último contenido de los packages de RPM, pero alguien debería decirle a RPM que ya existen.

Sé que los files se pueden proporcionar en un package virtual base con la palabra key 'Provides:' en el file de especificaciones de RPM. Quiero proporcionar packages con número de versión en lugar de files individuales en un package de rpm.

Ex.

App1.0-1.rpm requires lib3.0-4.rpm and they already exist on my package server. The buildroot image already includes files that lib3.0-4.rpm provides. I want to define a package with name buildrootbase2.0-1.rpm parallel to my root file system image that prevents reinstallation of lib3.0-4.rpm while App1.0-1.rpm is installed. 

Provides: se usa más comúnmente con packages que con files y es compatible con la verificación de versiones:

 Provides: foo-bar = 2.1.3-2b 

La segunda pregunta es más difícil de responder. Tendrá que usar triggers para lograr lo que está tratando de hacer.

Los desencadenantes tienen una syntax especial diseñada para darle control sobre cuándo y qué hacer en function de los packages existentes y el estado en que se encuentra rpmdb antes y después de la installation / desinstallation de un package de destino o más

No conozco un buen tutorial para usar desencadenadores, pero puede leer este PDF que los usa para algo "inusual" y explica cómo funcionan en el process:

http://www.networkinghat.com/promo/summit/2010/presentations/summit/opensource-for-it-leaders/thurs/pwaterma-2-rpm/RPM-ifying-System-Configurations.pdf

La explicación activa de los triggers comienza alnetworkingedor de la página 23

    Intereting Posts