机器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名称/版本/发行版中找到允许的字符。 任何指针将非常感激。
答案 0 :(得分:4)
该问题似乎等同于版本和发布标记。这些工具可以区别对待。
在制作脚本时,单引号会被shell“吃掉”。在RPM数据库中存储的是实际字符。 RPM使用句点.
作为分隔符,因此您不能将那个用作版本/发布值的一部分。
通常在每个字段中使用字母/数字,连字符(减号)和一些其他标点字符 ,但工具和策略将进一步限制该规则。这些都来自POSIX字符集(未提及且不支持将是UTF-8,似乎)。
根据Fedora,release tag必须是整数,后跟可选分发标记。 Another source表示连字符不能出现在发布标记中。这两个关于是否允许波浪号是不同的,后者表示允许加+
和冒号:
(但不是前者)。
进一步阅读: