RPM 4.16在数据库,运算符,宏等方面进行了改进

经过一年的发展, 波芬 发射 软件包管理器的稳定版本 “ RPM 4.16”,其中 进行了一些改进 有关运营商,新后端和其他更改的信息。

RPM4项目 由Red Hat开发 并用于RHEL(包括从CentOS,Scientific Linux,AsiaLinux,Red Flag Linux,Oracle Linux衍生的产品),Fedora,SUSE,openSUSE,ALT Linux,OpenMandriva,Mageia,PCLinuxOS,Tizen等发行版中。

以前,一个独立的开发团队开发了RPM5项目,该项目与RPM4没有直接关系,目前已被放弃(自2010年以来未更新)。 项目代码根据GPLv2许可证进行分发

RPM 4.16的主要新功能

在这个新发布的RPM 4.16软件包管理器版本中,实现了一个新的后端以将数据库存储在SQLite DBMS中,并计划在Fedora 33版本中使用该后端,而不是基于BerkeleyDB的后端。

已实施的另一项更改是 用于数据库存储的新的实验性只读后端 在BDB(Oracle Berkeley DB)。 该实现是从头开始编写的,并且不使用BerkeleyDB旧版后端代码,该代码已不建议使用,但默认情况下仍包含在内。

在宏和表达式方面 添加了对%ten运算符的“%If”支持 (%{expr:1 == 0?»是»:»否»})并提供内置版本比较('%[v»3:1.2-1''> v»2.0'']')和新版本的比较添加了宏%arm32,%arm64和%riscv来定义体系结构,并且还与它们一起使用了内置宏%{macrobody:…}以获取宏内容。

除此之外 提出了新版本的解析和比较API 适用于C和Python语言。

提供了Brp-strip执行并行化 以及测试套件的组件。 已对包生成过程的并行化进行了优化。

还向rpmdb实用程序添加了“ –salvagedb”选项以还原损坏的数据库(仅适用于NDB后端)。

禁止在表达式中使用未用引号引起来的单词。 例如,现在您需要写'»a»==»b»,而不是'a == b'。

表达式解析器实现语法“%[...]”以执行带有宏扩展的表达式(与“%{expr:...}”的区别在于首先执行宏)。

已添加 支持逻辑运算符和tenaries的短扩展 在表达式中(“%[0 && 1/0]”被视为0,并且不会由于尝试除以零而导致错误)。

添加 支持在任意上下文中使用逻辑NOT运算符 (!“%?Foo”)。

“ ||”运算符的行为并且“ &&”是Perl / Python / Ruby对齐的,即现在​​不返回布尔值,而是返回最后一个计算值(例如,“%[2 || 3]”将返回2)。

其他突出的变化 RPM 4.16的新版本:

  • 新增了验证数字签名和哈希的替代格式的功能。
  • 添加了对元依赖性的支持(Requires(元):somepkg),这不影响安装和删除的顺序。
  • 在rpmsign中添加了“ –rpmv3”选项,以强制执行RPM3数字签名。
  • 添加了安装选项“ -excludeartifacts”,以跳过文档,样本配置文件和其他相关数据的安装。
  • 对RPMv3以及beecrypt和NSS加密后端的过时支持。
  • 添加了对DSA2(gcrypt)和EdDSA的支持。
  • 基于LMDB的实验性后端数据库已删除。
  • 基于NDB存储声明的稳定的后端数据库。
  • 已经实现了根据文件的MIME内容类型对文件进行分类的支持。
  • 添加了使用参数宏生成依赖项的功能。

最后 如果您想了解更多, 您可以检查完整的变更日志 在下面的链接中。

至于新版本的实施,您必须等待将其放置在发行版的官方渠道中,或者如果您是发烧友,则可以编译该软件包。 的链接 下载是这个。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。