FreeBSD/pkg 2.0 リリース

FreeBSD OS のユーザランドを管理するツールである "pkg" がメジャーアップデートされました。

### 2.0での変更

#### 主な変更点

* スケジューラを全面的に作り直した。
* 3 者間マージのための外部ツールのサポートを追加した。
* 移植性の大幅な向上: サポートされている OS であれば、どの OS 用にビルドされたパッケージでも pkg が扱えるようになった。
* pkg がタグ付けされた shlib を追跡できるようになった。
* libfoo.so.1.0.0 - ネイティブ (現状維持)
* libfoo.so.1.0.0:32 - 互換 32
* libfoo.so.1.0.0:Linux - Linux 互換
* libfoo.so.1.0.0:Linux:32 - 互換 Linux 32
* pkg は 32 ビット互換 shlib を追跡します (FreeBSD Foundation による後援)
* pkg は TRACK_LINUX_COMPAT_SHLIBS により Linux 互換の shlib を追跡可 (デフォルトでは無効)。
* 新しい SHLIB_REQUIRE_IGNORE_GLOB と SHLIB_REQUIRE_IGNORE_REGEX により、shlibs_required リストに追加するライブラリをフィルタリングできるようになった。
* ALTABIはもう使われず、非推奨とされ、ABIのみが考慮される。
* MACHOのサポートが全面的に書き換えられた。
* pkg は pkgbase と pkgbase 以外のセットアップの両方で FreeBSD の基本システムのライブラリを追跡するようになった。

## リリース後からの数日で・・・

2025/01/30 現在 2.0.5 にまで上がっています。

手元の機材 ( ansible で使う JAIL ) では 2.0.4 に上げた際
色々おかしな挙動がありました・・

```
[ansible] [36/39] Extracting xmlcatmgr-2.2_4: 100%
 + Removing /usr/local/share/sgml/catalog.  It is empty.
 + Removing /usr/local/share/xml/catalog.  It is empty.
 + Creating /usr/local/share/sgml/catalog
 + Registering CATALOG catalog.ports (SGML)
 + Creating /usr/local/share/xml/catalog
 + Registering nextCatalog catalog.ports (XML)
[ansible] [36/39] Installing docbook-xsl-1.79.1_1,1...
[ansible] [36/39] Extracting docbook-xsl-1.79.1_1,1: 100%

mlcatmgr: entry already exists for `/usr/local/share/xsl/docbook/catalog.xml' of type `nextCatalog'
pkg: POST-INSTALL script failed
[ansible] [37/39] Deinstalling w3m-0.5.3.20240916_1...
[ansible] [37/39] Deleting files for w3m-0.5.3.20240916_1: 100%
[ansible] [38/39] Deinstalling boehm-gc-8.2.8...
[ansible] [38/39] Deleting files for boehm-gc-8.2.8: 100%
[ansible] [38/39] Installing boehm-gc-8.2.8...
[ansible] [38/39] Extracting boehm-gc-8.2.8: 100%
[ansible] [39/39] Deinstalling gettext-runtime-0.23.1...
[ansible] [39/39] Deleting files for gettext-runtime-0.23.1: 100%
[ansible] [39/39] Installing gettext-runtime-0.23.1...
[ansible] [39/39] Extracting gettext-runtime-0.23.1: 100%
[ansible] [39/39] Installing bash-5.2.37...
[ansible] [39/39] Extracting bash-5.2.37: 100%
[ansible] [39/39] Installing bison-3.8.2_2,1...
[ansible] [39/39] Extracting bison-3.8.2_2,1: 100%
[ansible] [39/39] Installing gettext-tools-0.23.1...
[ansible] [39/39] Extracting gettext-tools-0.23.1: 100%
[ansible] [39/39] Installing libgpg-error-1.51...
[ansible] [39/39] Extracting libgpg-error-1.51: 100%
[ansible] [39/39] Installing libgcrypt-1.11.0...
[ansible] [39/39] Extracting libgcrypt-1.11.0: 100%
[ansible] [39/39] Installing postgresql17-client-17.2_1...
[ansible] [39/39] Extracting postgresql17-client-17.2_1: 100%
[ansible] [39/39] Installing sudo-1.9.16p2_1...
[ansible] [39/39] Extracting sudo-1.9.16p2_1: 100%
[ansible] [39/39] Installing texinfo-7.1_8,1...
[ansible] [39/39] Extracting texinfo-7.1_8,1: 100%
[ansible] [39/39] Installing vim-9.1.1043...
[ansible] [39/39] Extracting vim-9.1.1043: 100%
[ansible] [39/39] Installing w3m-0.5.3.20240916_1...
[ansible] [39/39] Extracting w3m-0.5.3.20240916_1: 100%
[ansible] [39/39] Installing xmlto-0.0.28_3...
[ansible] [39/39] Extracting xmlto-0.0.28_3: 100%
root@ansible:~ #  

```
とか出てまして、その前に ruby32-gemで変なエラーが出て暫く様子見？と思っていました矢先
ports の方で、　2.0.5　がリリースされていまして・・・

>> Changes
>>
>>    Allow ABI_FILE in pkg.conf(5)
>>    fix crash in case of conflicts
>>    restore flexibility for end user to replace directories with symlinks to
>>    directories
>>    Do not track absolute DT_NEEDED
>>    curl: more verbose error message

取り敢えず　"fix crash in case of conflicts" は解決されたのかと思いますが・・・
様子見が必要です。

以上