如何使软件包跨不同的 Ubuntu 版本?

如何使软件包跨不同的 Ubuntu 版本?

我是一些软件的作者,它依赖于 libxx6(在 ubuntu 11.10 中),但是在 12.04 中,软件包变成了 libxx7(7 不是 Ubuntu 版本号),因此依赖性成为一个问题。

我该如何解决这个问题?我正在管理一个 PPA,我想在 Ubuntu 12.04 发布之前修复它。

谢谢 !

答案1

如果存在您可以依赖的通用无版本软件包(例如 Java 案例:java-runtimevs. eg java6-runtime),则依赖该软件包。如果没有,则必须为不同版本的 Ubuntu 制作专用软件包。查看您依赖的软件包的文件control,看看是否有Provides您可以依赖的更通用的软件包。

答案2

假设您的软件包将针对libxx6和进行编译,只需在文件的字段中libxx7输入 us 即可。然后在字段 us中。这将自动替换为您的软件包构建所针对的共享库的版本。libxx-devBuild-Dependsdebian/controlDepends${shlibs:Depends}

有关共享库的更多详细信息,请参阅Debian 政策手册第 8 章。

答案3

如果所有版本都使用相同的源代码构建,那么就很容易了。您可以为每个 Ubuntu 版本单独构建(上传)。您必须使用略有不同的版本号,我建议添加~releasename1

相关内容