经过近两年的发展
最值得注意的
- 添加了对 chroot 环境中非特权程序集的实验性支持;
-
实施的 支持多核系统上的包组装并行化。 线程数量的限制是通过宏“%_smp_build_ncpus”和$RPM_BUILD_NCPUS 变量设置的。 为了确定CPU的数量,建议使用宏“%getncpus”; - 规范文件现在支持条件运算符“%elif”(else if),以及用于绑定到发行版和架构的选项“%elifos”和“%elifarch”;
-
添加 新部分“%patchlist”和“%sourcelist”,可用于通过简单地列出名称而不指定条目号来添加补丁和源(例如,而不是
“Patch0: popt-1.16-pkgconfig.patch”在 %patchlist 部分中您可以指定“popt-1.16-pkgconfig.patch”); - 在 rpmbuild 中
添加 支持动态组装依赖项并将其包含在 src.rpm 中。 在spec文件中,添加了对“%generate_buildrequires”部分的支持,该部分的内容被处理为依赖项列表(BuildRequires),需要验证(如果缺少依赖项,将显示错误)。 -
实施的 “^”运算符用于检查早于给定日期的版本,其作用与“~”运算符相反。 例如,
“1.1^20160101”将涵盖1.1版本以及1年2016月XNUMX日之后添加的补丁; - 添加了“--scm”选项以启用“%autosetup SCM”模式;
- 添加了内置宏“%{expr:...}”用于计算任意表达式(几天前还有
建议的 格式“%[expr]”); - 确保标头中字符串数据的默认编码为 UTF-8;
- 添加了全局宏 %build_cflags、%build_cxxflags、%build_fflags 和 %build_ldflags,以及编译器和链接器的标志;
- 添加宏“%dnl”(丢弃到下一行)用于插入注释;
- Python 3 的绑定确保字符串作为转义的 UTF-8 序列而不是字节数据返回;
- 添加了虚拟数据库后端以改进对没有 rpmdb 的系统(例如 Debian)的支持;
- 改进了ARM架构检测并增加了对armv8的支持;
- 为Lua 5.2-5.3提供无缝支持,不需要在代码中定义compat。
来源: opennet.ru