首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >deb版本是"git tag+git提交散列“= apt从我的apt回购中下载错误版本。

deb版本是"git tag+git提交散列“= apt从我的apt回购中下载错误版本。
EN

Unix & Linux用户
提问于 2021-03-20 16:52:15
回答 1查看 867关注 0票数 1

我制作了一个脚本,它编译一个程序(box86),每周将它打包成一个debian包,并将它上传到我的apt回购 (托管在github上)。

对于每个包的版本,我使用git标记(例如0.2.1)和git提交散列(例如638b341),并将它们放在下面这样的位置: tag+sha1 (例如0.2.1+638b341)。请注意,用于打包的checkinstall将向末尾添加一个-1,因此在我的示例中,版本将是0.2.1+638b341-1

在将回购添加到我的apt源代码之后,apt得到了错误的版本。我尝试了几个修复方法,包括添加一个“划时代”,增加-1,并在每个版本(1-version)中添加一个数字。但它们都没有起作用(或者说是可行的)。

我很确定我必须在这个版本中添加一些东西,但我不知道是什么。

任何帮助都是非常感谢的。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-03-20 17:12:35

在其他条件相同的情况下,apt更倾向于更晚的版本。因为散列不会随着时间的推移而增加,所以在版本中使用它们可能会导致您所看到的问题。

有两个常见的解决办法:在散列之前添加一个单调递增的数字。将日期添加到散列之前。

采用后一种方法,对于今天完成的构建,您将得到0.2.1+20210320.hash-1,并酌情替换“the散列”。更好的是,你可以用

代码语言:javascript
复制
git log --date=format:%Y%m%d --pretty=0.0~git%cd.%h

以生成版本号;这是uscan支持的,并可用于自动更新到git存储库的当前头。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/640237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档