如何使用 checkinstall 取代多個軟體包?

如何使用 checkinstall 取代多個軟體包?

我正在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來確保您指定的版本號碼符合該套件的要求。

來源

相關內容