linux – RPM Epoch标题有任何限制吗?

RPM支持Epoch标头,以在版本比较不充分的情况下提供版本排序,例如2.0a3> 2.0.没有指定Epo​​ch的包被认为具有0或-1的Epoch,这取决于一些不明确的因素.文档表明Ep​​och从1开始并随每个版本递增.

Epoch值是否有任何大小限制?如果我使用32位或更大的值,这会导致任何类型的溢出吗?

解决方法:

这真的是一个问题吗?你需要很长时间才能获得2 ^ 32个版本!无论如何,我在rpm源中找到了这个:

int rpmVersionCompare(Header first, Header second)
{
    struct rpmtd_s one, two;
    static uint32_t zero = 0;
    uint32_t *epochOne = &zero, *epochTwo = &zero;

所以我要说不要使用64位的纪元号码. (还有更多的东西 – 它通过struct rpmtd_s读取,它有许多花哨的schmancy void指针,但是,是的,它是uint32.)

上一篇:c# – 如何卸载ClickOnce应用程序?


下一篇:打包应用程序,包括java war文件,Tomcat,DB