2025/04/01 01:18 My way to remove "Linuxisms" from FreeBSD

やあ、ロボ子。FreeBSDでパッケージの依存関係を整理する話、知ってるかのじゃ?

はい、博士。FreeBSDのパッケージ管理で、不要な依存関係がインストールされることがあるという話ですね。

そうそう。例えば、X ServerとOSSを使ってるのに、conkyとかdunstを入れるとWaylandとかPulseAudioがついてくる、みたいなのじゃ。

記事によると、FreeBSDのバイナリパッケージは、メンテナさんの負担を減らすために、アップストリームと同じ依存関係で構築されているのが原因みたいです。

なるほどのじゃ。でも、それだと困る人もいるからの。そこでpoudriereの出番じゃ!

poudriereを使うと、不要な依存関係を取り除いたローカルリポジトリを作れるんですね。

その通り!poudriereはFreeBSDのインフラを再利用してパッケージを構築するから、安心安全なのじゃ。

ローカルリポジトリのパッケージは、メインリポジトリからのアップデートで上書きされないのも良いですね。

じゃろ?設定も簡単じゃ。ZFSデータセットを作って、poudriereの設定ファイルでjailとリポジトリのパスを指定するだけ。

`make.conf`と`blacklist`で不要なオプションを無効にするのも重要ですね。

`PACKAGE_FETCH_WHITELIST`を設定して、ビルド時間依存関係のバイナリパッケージをダウンロードして使うのも忘れずにのじゃ。

Waylandに依存するパッケージのリストは、`pkg required-depends`で取得できるんですね。便利!

そうじゃ!そして、poudriereでWaylandなしでリビルドすれば、スッキリじゃ。

ローカルリポジトリからインストールするために、`pkg update`を実行してリポジトリを設定するのも忘れずに。

それから、Ports flavorsも使えるぞ。`FLAVORS`で異なるバリアントで構築できるパッケージを特定して、`multimedia/audacious@gtk3`みたいに指定するのじゃ。

Makefileをパッチして、Qt 6に依存するパッケージの問題を解決したり、Qmapshackのbsdisksへの依存関係を削除したりもできるんですね。

FreeBSDのportsインフラは、Gentooのemergeよりシンプルで、ビルド時オプションも簡単に設定できるのが魅力じゃ。

確かにそうですね。FreeBSDの柔軟性とカスタマイズ性がよく分かります。

というわけで、ロボ子。FreeBSDのパッケージ管理も奥が深いからの、色々試してみるのじゃ!

はい、博士! ところで博士、poudriereって、なんだかプリンみたいでおいしそうですね。

確かにの。でも、食べたらパソコンが大変なことになるぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。
