🐥

NetBSD pkgsrc-wip を使う

2 min read

pkgsrc-wip とはなんぞや

The pkgsrc-wip project

What is pkgsrc-wip?
pkgsrc-wip (work in progress) is a project to get more people actively involved with creating packages for pkgsrc, a portable packaging system coming from NetBSD.

パッケージが pkgsrc ( NetBSD 標準のパッケージマネージャ )に取り込まれる前の作業リポジトリです。

本家 pkgsrc と違い、 wip なので誰でも軽率にアクセス権を貰えてパッケージを追加できます。

また、本家 pkgsrc に取り込まれる前に pkgsrc-wip でパッケージを洗練させ( lint のエラーや警告を無くしたり ) その後 本家 pkgsrc に send-pr する、という作業手順が推奨されているようです( 要出典 )

ユーザーとして使う

pkgsrc-wip とはいえ中身は pkgsrc と同じなので、 pkgsrc のパッケージと同じように管理します。

慣習として wip は /usr/pkgsrc/wip に設置します。パッケージは wip/<パッケージ> という PATH にあります。 本家 pkgsrc のパッケージは /usr/pkgsrc/<カテゴリ>/<パッケージ> という PATH にありますが、 pkgsrc-wip は wip/ の 直下にパッケージがあります。

では実際に使ってみます。

git clone で取得します。

% cd /usr/pkgsrc/
% git clone git://wip.pkgsrc.org/pkgsrc-wip.git wip

あとは普通に make します。これだけです。

% cd wip/<パッケージ>
% make install 

開発者として使う

パッケージを pkgsrc-wip に追加したくなったら pkgsrc-wip へのコミット権を申請します。

コミット権を申請する

pkgsrc-wip は git で管理されているので、リポジトリにアクセスできるようにコミット権を貰います。 手順は The pkgsrc-wip project -- committer access にあるとおりです。 鍵を生成し、 公開鍵を Thomas Klausner へ送付れば OK です。

「○○というパッケージを pkgsrc-wip に追加したいんだけど」等と書いてメールを送ると Thomas から「いいよ!バシバシやってくれよ!」といった返事とともに、割りと気軽にコミット権をくれます。

作業

git の操作については上記ページに書いてあるとおりにやります。

開発者ユーザーを wip/.git/config に書いておきます。

[remote "origin"]
        url = <username>@wip.pkgsrc.org:/pkgsrc-wip.git

ここではホームディレクトリに pkgsrc-wip を clone して git の作業し、 make は /usr/pkgsrc/wip でおこなう、ということとします。( たんに /usr/pkgsrc/wip で git 作業する手段を見つけてないだけです。こうしないといけないわけではありません )

上記のような場合は union mount しておくと便利です。

% cd ~/
% git clone <username>@wip.pkgsrc.org:/pkgsrc-wip.git wip
% sudo mkdir /usr/pkgsrc/wip
% sudo mount_union /home/rin/wip /usr/pkgsrc/wip

ビルドするときはいつも通りにこうします。

% cd /usr/pkgsrc/wip/<パッケージ>
% make install

パッケージを git 操作するときは ~/wip で作業します。 git の master ブランチで作業するのでガンガン push しましょう。

% cd ~/wip
% git add <パッケージ>/Makefile
% git commit
% git push

Discussion

ログインするとコメントできます