Como posso usar o checkinstall para substituir vários pacotes?

Como posso usar o checkinstall para substituir vários pacotes?

Estou construindo meu próprio ffmpegpacote usando checkinstall, com todas as diversas ffmpegbibliotecas incluídas. Nos repositórios de pacotes do Ubuntu, essas bibliotecas ffmpeg são divididas em muitos pacotes separados. Existe alguma maneira de dizer ao apt/dpkg que todos esses requisitos são atendidos pelo meu pacote ffmpeg. Dessa forma, por exemplo, instalar o Handbrake a partir dos repositórios não instalaria o repo package libavfilter7, o que quebraria minha ffmpegcompilação?

Até agora, tentei usar as opções --providesou --replaces checkinstallsem sucesso. Por exemplo:

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

Responder1

Você está no caminho certo. O problema é que se algum dos pacotes instalados especificar dependências com números de versão, você precisará especificar versões correspondentes no --providesparâmetro. Por exemplo:

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

Você precisará usar apt-cache show handbrakepara garantir que os números de versão especificados atendam aos requisitos desse pacote.

Fonte

informação relacionada