GnuTLS を 3.4.0 にアップグレードすると、リビルドが必要

今更の話題だが、GnuTLS http://www.gnutls.org/ が西暦4月8日に 3.4.0 にバージョンアップした。 ちなみに、 GnuTLS の前提となる libnettle (Nettle) http://www.lysator.liu.se/~nisse/nettle/ も同時期にアップグレードをした。

GnuTLSにしても、 Nettle にしても、ライブラリであり、アプリケーション・ソフトウェアではない。

GnuTLS 3.4.x シリーズは、 3.3.x シリーズとは ABI compatible ではない 。 そのため、 GnuTLS に dependent なソフトウェアもリビルドをしなければならない

さらに、 3.4.0 では、 一部の API が変えられた 。 そのため、dependent なソフトウェアの一部は、 code を書き換えねばビルド不能。


Gentoo では、gnutls-3.4.0 を gentoo リポジトリに入れた後に気づき、あわてて hard mask を掛けるという間抜けな事態 になった。 要は、安易に gnutls-3.4.0 をインストールすると、他のリビルドもしなければならず大変なのみならず、 GnuTLS 3.4.x 未対応のソフトウェアはリビルドに失敗するという凄惨な事態に陥る わけである。 順って、対応をさせるためのパッチを作成するか、 upstream がバージョンアップするのを待たねばならない。

この件については、 ウェブサイトなどでの広報は不十分 であるように思われる。 「hard mask かけたからいいだろう」、と思っているのだろう。

しかし考えるに、どのパッケージを改修せねばならないか、パッチを書いたりするには、相当の労力が要る。 広報して、より多くの人にバグリポートを投稿してもらったほうが早いだろう。 そういう力の入れ方をしたがらないところが、閉鎖的、あるいは拒絶的なのだ。 また、 English だけで、バグリポやせいぜいフォーラムでガタガタやっているだけだから、人が集まるのにも限りがある。

中国人や韓国人や日本人や、その他大勢を無視しているわけである。

言い換えれば、「英語を いつも 読む人でなければ管理をしえない」ということだ。

ちなみに私は、GnuTLSをアップグレードしたが、 API 変更に対応させるためのパッチを書くのが面倒なので、不要なソフトウェアをアンインストールして解決をした。


Gentoo でなくとも、自分でビルドをしていれば、嵌る。

例えば Arch の AUR がそうだ。

Arch は早くにアップグレードをしてくれるのが、利点でもあり欠点でもある。 sudo pacman -Syu なんてやっているだけで、ガンガンとアップグレードをしてくれ、 驚異的な新鮮さのディストリビューションだ。

Arch でも、 AUR を用いなければ引っかからない。 GnuTLS にしてもそうだが、 dependent のパッケージもリビルドしてバイナリで撒いてくれているから。

私のところでは、 Libav を AUR を用いて code からビルドしていたので、それが引っかかった。 (Arch では通常は ffmpeg であるから、 Libav はビルドする。)

Arch に関しても、 GnuTLS の件はアナウンスが足りない。 尤もArchについては、「自分でビルドしたんだから自分でなんとかしろ」という論理はある。 Arch のシンプリシティ(簡単さ=単純さ)という理念からすれば、そもそも AUR を用いることは良くはない。

しかし そもそも Arch の "Latest News" の最新記事は、 "xorg-server 1.17.1 is now available "(2015-02-15) である(2015-04-30 現在) 。 やる気あるのか?

比較すれば、Gentoo なんて、4月馬鹿に、(笑えない)うるさいウェブサイトを一日以上晒していたくらいだ。 Gentooは、やる気のもち方を根本的に間違えている

公開日時:

wjn's repos' info.

  Japenese , English