如何使用 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来确保您指定的版本号满足该包的要求。

来源

相关内容