RPM 4.16 发布

经过一年的发展 发生了 包管理器发布 RPM 4.16.0。 RPM4项目由Red Hat开发,用于RHEL(包括衍生项目CentOS、Scientific Linux、AsiaLinux、Red Flag Linux、Oracle Linux)、Fedora、SUSE、openSUSE、ALT Linux、OpenMandriva、Mageia、PCLinuxOS、蒂森和许多其他人。 此前独立开发团队 发达 项目 RPM5,与 RPM4 没有直接关系,目前已被放弃(自 2010 年以来未更新)。 项目代码 分发者 根据 GPLv2 和 LGPLv2 许可。

最值得注意的 改进 在 RPM 4.16 中:

  • 已经实现了一个新的后端,用于在 SQLite DBMS 中存储数据库。 这个后端 将会被使用 在 Fedora Linux 33 中,而不是基于 BerkeleyDB 的后端。
  • 已经实现了一个新的实验性后端,用于在 BDB(Oracle Berkeley DB)中存储数据库,以只读模式运行。 该实现是从头开始编写的,不使用遗留 BerkeleyDB 后端的代码,该后端已被弃用,但默认情况下仍然包含在内。
  • 基于 LMDB 的实验性数据库后端已被删除。
  • 基于NDB存储的后端数据库已宣布稳定。
  • 添加了对“%if”宏和表达式的支持 大鱼际算子 (%{expr:1==0?"yes":"no"}) 并提供内置版本比较功能 ('%[v"3:1.2-1″ > v"2.0″]')。
  • 已实现基于文件内容的 MIME 类型对文件进行分类的支持。
  • 添加了使用生成依赖项的功能 参数宏.
  • 已经提出了新版本的 C 和 Python 解析和比较 API。
  • 确保 brp-strip 和测试套件组件执行的并行化。 已对数据包生成过程的并行化进行了优化。
  • 转至 rpmdb 实用程序 添加 选项“—salvgedb”用于恢复损坏的数据库(仅适用于 NDB 后端)。
  • 添加了新的宏 %arm32、%arm64 和 %riscv 用于架构检测。 还添加了一个内置宏 %{macrobody:...} 来获取宏的内容。
  • 禁止在表达式中使用未用引号分隔的单词,即现在您需要编写“a == b”,而不是“a == b”。
  • 表达式解析器实现“%[...]”语法来执行带有宏扩展的表达式(它与“%{expr:...}”的不同之处在于首先执行宏)。
  • 添加了对表达式中逻辑和鱼际运算符的短扩展的支持(“%[0 && 1 / 0]”被视为 0,而不是由于尝试除以零而导致错误)。
  • 添加了对在任意上下文中使用 NOT 逻辑运算符 (!"%?foo") 的支持。
  • “||”运算符的行为“&&”与 Perl/Python/Ruby 保持一致,即现在,它不再返回布尔值,而是返回最后计算的值(例如,“%[2 || 3]”将返回 2)。
  • 添加了验证数字签名和哈希的替代格式的功能。
  • 添加了对元依赖项的支持(Requires(meta): somepkg),这不影响安装和删除的顺序。
  • 向 rpmsign 添加了“--rpmv3”选项,以强制使用 RPM3 格式的数字签名。
  • 添加了安装选项“--excludeartifacts”以跳过文档、示例配置文件和其他相关数据的安装。
  • 已弃用对 RPMv3 以及 beecrypt 和 NSS 加密后端的支持。
  • 添加了对 DSA2 (gcrypt) 和 EdDSA 的支持。

来源: opennet.ru

添加评论