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

时间:2016-01-28 05:28:54

标签: 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

在尝试rpmbuild时我遇到了 Illegal char'''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

我收集的是,在早期案例的版本中不允许使用单引号。 我应该总是避免使用什么角色?

rpmbuild版本是否存在差异?

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

1 个答案:

答案 0 :(得分:4)

该问题似乎等同于版本发布标记。这些工具可以区别对待。

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

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

根据Fedora,release tag必须是整数,后跟可选分发标记。 Another source表示连字符不能出现在发布标记中。这两个关于是否允许波浪号是不同的,后者表示允许加+和冒号:(但不是前者)。

进一步阅读: