【问题标题】:What characters are not allowed in the rpm "Release" ?rpm "Release" 中不允许使用哪些字符?
【发布时间】:2016-05-05 08:33:52
【问题描述】:

机器 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 名称/版本/发行版中找到允许的字符。 任何指针将不胜感激。

【问题讨论】:

    标签: rpm rpmbuild


    【解决方案1】:

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

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

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

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

    进一步阅读:

    【讨论】:

    • 我的团队中有人出于某种原因有一个名为“=a”的分支,我们发现= 也是不允许的。
    猜你喜欢
    • 1970-01-01
    • 2010-12-30
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 2021-10-18
    相关资源
    最近更新 更多