我正在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
来确保您指定的版本号满足该包的要求。