¿Cómo puedo usar checkinstall para reemplazar varios paquetes?

¿Cómo puedo usar checkinstall para reemplazar varios paquetes?

Estoy creando mi propio ffmpegpaquete usando checkinstall, con todas las ffmpegbibliotecas incluidas. En los repositorios de paquetes de Ubuntu, estas bibliotecas ffmpeg se dividen en muchos paquetes separados. ¿Hay alguna forma de decirle a apt/dpkg que mi paquete ffmpeg cumple todos estos requisitos? De esa manera, por ejemplo, instalar Handbrake desde los repositorios no instalaría el paquete de repositorio libavfilter7, lo que interrumpiría mi ffmpegcompilación.

Hasta ahora, he intentado usar las opciones --provideso --replaces checkinstallsin éxito. Por ejemplo:

sudo checkinstall -y --deldoc=yes --requires=libc6,libsdl2-2.0-0 --pkgversion=10:$ffmpeg_version  --provides=ffmpeg,libavcodec58,libavdevice58,libavfilter7,libavformat58,libavresample4,libavutil56,libpostproc55,libswresample3,libswresample3,ffmpeg-doc

Respuesta1

Estás en el camino correcto. El problema es que si alguno de los paquetes que instala especifica dependencias con números de versión, deberá especificar versiones coincidentes en el --providesparámetro. Por ejemplo:

checkinstall --provides="libavcodec58 \(= x.y.z\),libavdevice58 \(= x.y.z\)"

Deberá utilizar apt-cache show handbrakepara asegurarse de que los números de versión que especifique cumplan con los requisitos de ese paquete.

Fuente

información relacionada