如何讓套件跨不同的 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添加我們即可。然後在外地我們。這將自動替換為您的套件建置所針對的共享庫的版本。libxx-devBuild-Dependsdebian/controlDepends${shlibs:Depends}

有關共享庫的更多詳細資訊可以在Debian 政策手冊第 8 章。

答案3

如果相同的來源將建置在所有版本上,那麼這非常容易。您可以為每個 Ubuntu 版本單獨建置(上傳)它。您必須使用略有不同的版本號,我建議附加~releasename1

相關內容