我有一个依赖于 openssl 的软件包,但我观察到 Ubuntu 20.04 及更早版本附带 openssl 1.1.x,而 ubuntu 22.04 及更高版本附带 openssl 3.0.x。因此,我不得不为我的产品构建 2 个软件包,一个依赖于 ubuntu 22.04 及更高版本的 openssl 3.x,另一个依赖于 ubuntu 20.04 及更早版本的 openssl 1.x。但是,产品版本保持不变,只有发布字符串不同,例如:secure-dev-gen-1.1.0.5-0(适用于 ubuntu >=22.04)secure-dev-gen-1.1.0.5-1(适用于 ubuntu <=20.04)
但对于这两个包,orig.tar.gz 文件具有相同的名称:secure-dev-gen-1.1.0.5.orig.tar.gz
现在,当我将软件包推送到相应的版本(即 Jammy 和 Focal)时,第一次上传成功,而后续上传失败,并显示一封错误电子邮件,提示 orig.tar.gz 文件已经存在,但内容不同...我无法使软件包版本不同,因为源代码相同,只链接到不同的 openssl 库版本。
有人能建议如何解决这个问题吗?
更新:
我从启动板找到了这个帮助主题: https://help.launchpad.net/Packaging/PPA/Uploading
If your package does need to be recompiled to support multiple Ubuntu series, then you should add a suffix of the series version to the version number. So a package for Ubuntu 17.04 could be named myapp_1.0-2~ppa1~ubuntu17.04.1 and for Ubuntu 16.04 myapp_1.0-2~ppa1~ubuntu16.04.1. (The exact spelling of the suffix is not very important, but it should be based on the series version rather than the series name, since series names aren't guaranteed to sort lexicographically.) If you need to release an updated package, increment the ~ppan suffix. Specifying the series version here doesn't change the series that you are targetting; this must still be set correctly as described in the Ubuntu packaging guide's section on the changelog file.
我对上述方法不太满意,但是这种方法有效...有人能建议更好的方法吗?