Quiero instalar un paquete con yum y no usar rpm pero con el mismo comportamiento que --replacefiles
en rpm. Tengo un paquete que tiene conflictos de archivos con otro y necesito instalar forcing con yum. Este paquete es mío, así que puedo modificar el archivo de especificaciones.
Respuesta1
Puedes usardesencadenar scriptletspara esto.
A modo de ilustración, digamos que el archivo /etc/contested
es propiedad de un rpm llamado generally
y usted tiene otro paquete ( specifically
) que quiere forzar la sobrescritura del mismo archivo.
En specifically.spec
, instala la nueva versión del archivo %{_datadir}/%{name}/etc.contested
y utiliza este scriptlet activador para instalarlo en /etc
:
%triggerin -- generally install -m 0644 %{_datadir}/%{name}/etc.contested %{_sysconfdir}/contested
El scriptlet se ejecutará cada vez que generally
se instale o actualice, así como cada vez que specifically
se instale o actualice.
RPM aún notará que el archivo no es como se esperaba, pero no le impedirá instalarlo o desinstalarlo.
Respuesta2
Si puede modificar el archivo de especificaciones, ¿tal vez pueda eliminar los archivos que entran en conflicto en la sección de archivos? ¿Especificas una carpeta en esa sección? o archivo por archivo?