萌えハッカーニュースリーダー

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

出典: https://eugene-andrienko.com/en/it/2025/03/30/freebsd-pkgs-wout-unwanted-deps
hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

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

roboko
ロボ子

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

hakase
博士

確かにの。でも、食べたらパソコンが大変なことになるぞ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search