我正在ffmpeg
使用 建立我自己的包checkinstall
,其中包含所有各種ffmpeg
庫。在 Ubuntu 軟體包儲存庫中,這些 ffmpeg 庫被分成許多單獨的軟體包。有沒有辦法告訴 apt/dpkg 我的 ffmpeg 套件滿足所有這些要求。這樣,例如,從儲存庫安裝 Handbrake 就不會安裝儲存庫包libavfilter7
,這會破壞我的ffmpeg
建置?
到目前為止,我已經嘗試使用--provides
或--replaces
checkinstall
選項但沒有成功。例如:
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
答案1
你走在正確的軌道上。問題是,如果您安裝的任何軟體包指定了版本號的依賴項,則您需要在參數中指定匹配的版本--provides
。例如:
checkinstall --provides="libavcodec58 \(= x.y.z\),libavdevice58 \(= x.y.z\)"
您需要使用它apt-cache show handbrake
來確保您指定的版本號碼符合該套件的要求。