XNUMX年の開発の後、 ポルフィン の発売 パッケージマネージャーの安定バージョン 「RPM4.16」、 その中で いくつかの改善が行われました オペレーター、新しいバックエンド、その他の変更について。
RPM4プロジェクト RedHatによって開発されました RHEL(CentOS、Scientific Linux、AsiaLinux、Red Flag Linux、Oracle Linuxから派生したものを含む)、Fedora、SUSE、openSUSE、ALT Linux、OpenMandriva、Mageia、PCLinuxOS、Tizenなどのディストリビューションで使用されています。
以前は、独立した開発チームがRPM5プロジェクトを開発しましたが、これはRPM4とは直接関係がなく、現在は放棄されています(2010年以降更新されていません)。 プロジェクトコードはGPLv2ライセンスの下で配布されます
RPM4.16の主な新機能
RPM 4.16パッケージマネージャーのこの新しいリリースバージョンでは、データベースをSQLite DBMSに格納するための新しいバックエンドが実装されました。このバックエンドでは、Fedora33バージョンがBerkeleyDBベースのバックエンドの代わりにこれを利用する予定です。
実装された別の変更は データベースストレージ用の新しい実験的な読み取り専用バックエンド BDB(Oracle Berkeley DB)で。 実装は最初から作成されており、BerkeleyDBのレガシーバックエンドコードは使用されていません。このコードは非推奨ですが、デフォルトで含まれています。
マクロと式の側で テナリー演算子の「%If」サポートが追加されました (%{expr:1 == 0?»yes»:»no»})そして組み込みバージョン比較( '%[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:...}」とは異なります)。
追加されました 論理演算子とテナリーの短い拡張のサポート 式内( "%[0 && 1/0]"は0として扱われ、ゼロ除算の試みによるエラーにはなりません)。
追加 任意のコンテキストでの論理NOT演算子の使用のサポート (! "%?Foo")。
「||」演算子の動作「&&」はPerl / Python / Rubyで整列されます。つまり、ブール値を返す代わりに、最後に計算された値を返すようになりました(たとえば、「%[2 || 3]」は2を返します)。
の 目立つ他の変更 RPM4.16のこの新しいバージョンの:
- デジタル署名とハッシュの代替形式を検証する機能が追加されました。
- インストールと削除の順序に影響を与えないメタ依存関係(Requires(meta):somepkg)のサポートが追加されました。
- RPM3デジタル署名を適用するためにrpmsignに「–rpmv3」オプションを追加しました。
- ドキュメント、サンプル構成ファイル、およびその他の関連データのインストールをスキップするためのインストールオプション「–excludeartifacts」を追加しました。
- RPMv3およびbeecrypt暗号化バックエンドとNSSの廃止されたサポート。
- DSA2(gcrypt)とEdDSAのサポートが追加されました。
- LMDBベースの実験的なバックエンドデータベースが削除されました。
- NDBストレージに基づく安定した宣言済みバックエンドデータベース。
- MIMEコンテンツタイプに従ってファイルを分類するためのサポートが実装されました。
- パラメトリックマクロを使用して依存関係を生成する機能が追加されました。
最後に あなたがそれについてもっと知りたいのなら、 完全な変更ログを確認できます 次のリンクで。
新しいバージョンの実装については、ディストリビューションの公式チャネル内に配置されるのを待つ必要があります。または、熱狂的なファンの場合は、パッケージをコンパイルできます。 のリンク ダウンロードはこちらです。