gpt4 book ai didi

rpm - rpm "Release"中不允许使用哪些字符?

转载 作者:行者123 更新时间:2023-12-02 15:22:01 27 4
gpt4 key购买 nike

机器 1

#uname -r
Machine 1:3.2.45-0.6.wd.561.41.269.metal1.x86_64
#rpmbuild --version
RPM version 4.8.0

我在尝试 rpmbuild 时遇到非法字符 ''' in: Release: 25.'4283295'.mybranch

我写的脚本有错误,它在数字周围附加了引号。

在机器 2 上

# uname -r
2.6.16.33-xenU
# rpmbuild --version
RPM version 4.4.2

这里 rpmbuild 似乎可以在名称中使用单引号:myapp-1.4.25.'4283295'.mybranch.x86_64.rpm

我了解到在之前的案例中 Release 中不允许使用单引号。我应该始终避免的字符集是什么?

是否因 rpmbuild 版本而存在差异?

我未能在 rpm 名称/版本/发行版中找到允许的字符。任何指针将不胜感激。

最佳答案

问题似乎等同于 versionrelease 标签。这些工具可以区别对待这些。

在编写脚本时,单引号会被 shell“吃掉”。 RPM 数据库中存储 的是实际字符。 RPM 使用句点 . 作为分隔符,因此您不能将 that 用作版本/发布值的一部分。

通常每个字段中都可以使用字母/数字、连字符(减号)和一些其他标点字符,但工具和策略将进一步限制该规则。这些都是来自 POSIX 字符集(未提及且不支持的似乎是 UTF-8)。

根据 Fedora,release tag必须是一个整数 后跟一个可选 分发标签。 Another source说连字符不能出现在发布标签中。两者在波浪符是否被允许方面有所不同,后者指出加号 + 和冒号 : 是允许的(但前者不是)。

进一步阅读:

关于rpm - rpm "Release"中不允许使用哪些字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35053495/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com