我想构建并打包一个特定的Go程序。与我从上游获得的相比,Ubuntu 18.04和Debian 9.5(实际上是PVE 5.2)提供的上述程序的打包版本都相当老。
正确获取我的构建的依赖关系不是问题,构建Debian软件包也不是问题(到此为止)。
我需要知道的是如何为软件包分配一个版本-不会发布给其他任何人-这样,如果软件包维护者发布的版本比软件包的版本新,它将被安装并替换我的软件包。自己的软件包(这种情况可能是Ubuntu的一种do-release-upgrade
)。
是否有某种方法可以在不破坏内部版本比较(dpkg --compare-versions
)的情况下以这种方式“标记”软件包?
我知道bpo
软件包名称(通常是版本号)中的反向端口,但是很难找到所有类似“标记”的完整列表,因此我在想也许已经有一种方法可以实现此目的,并且避免冲突。因此,主要目标是遵守规则,同时获得我所能获得的最新版本。
由于您要打包新的上游版本,因此我建议您使用该表格的一个版本
1.0-0~c0000022l+1
其中1.0是上游版本。这里的想法如下:
0ubuntu
在此处看到);bpo
移植,deb
用于Debian稳定更新...);然后,如果您只需要提供包含软件包修订的较新软件包,则可以按+1。如果打包较新的上游版本,则将相应地更改上游版本,然后再次从+1开始。
如果相同的上游或较新的上游最终被“官方”打包,则它将是您本地版本的有效升级候选者:如果是Ubuntu软件包,则1.0-0ubuntu ...会在1.0-0〜之后排序,如果是Debian软件包,则1.0-1将在1.0-0之后排序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句