經過一年的發展
最值得注意的
- 已經實作了一個新的後端,用於在 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