rpm“ Release”中不允许使用哪些字符?

Tro*_*osh 0 rpm rpmbuild

机器1

#uname -r
Machine 1:3.2.45-0.6.wd.561.41.269.metal1.x86_64
#rpmbuild --version
RPM version 4.8.0
Run Code Online (Sandbox Code Playgroud)

在尝试rpmbuild时,我在以下版本中遇到了非法char''':版本:25.'4283295'.mybranch

我写的脚本中有错误,该脚本在数字后面加上了引号。

在机器2上

# uname -r
2.6.16.33-xenU
# rpmbuild --version
RPM version 4.4.2
Run Code Online (Sandbox Code Playgroud)

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

我收集到在较早的情况下版本中不允许使用单引号。我应始终避免使用哪些字符集?

rpmbuild版本是否存在差异?

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

Tho*_*key 5

问题似乎等同于版本发行标签。这些工具可以区别对待它们。

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

一般字母/数字,连字符(减号)和其他一些标点字符可以在各个领域中使用,但这些工具和政策,将进一步限制该规则。这些都是来自POSIX字符集的(似乎没有提到并且不受支持的是UTF-8)。

根据Fedora的说法,release标签必须是一个整数,后跟一个可选的 distribution标签。 另一个消息来源说连字符不能出现在发布标签中。两者在是否允许使用代字号方面有所不同,后者表示允许使用加号+和冒号:(但不允许使用前者)。

进一步阅读: