NetBSD pkgsrc開発者情報
概要
pkgsrcフリーズガイドライン
パッケージをアップデートまたはインポートする
バルクビルド
毎週のpkgsrc確認
その他
概要
はじめに (トップ)
このページは様々なpkgsrcに関連する情報への糸口を集めています。 このページの情報は、pkgsrc開発者にとって最も役立つものになるでしょう。
状況 (トップ)
NetBSDパッケージコレクションは、現在 フリーズされていません。 最新の安定ブランチはpkgsrc-2012Q3です。
pkgsrcフリーズガイドライン
ゴール (トップ)
pkgsrcフリーズの第一のゴールは、次のpkgsrcの安定ブランチを作ることです。 フリーズ中のpkgsrc HEADへのコミットは、openなpkgsrcに関連するPRの数を減らしたり、 バルクビルドで壊れているパッケージを修正することに限られます。
ルール (トップ)
-
基盤の変更や新しいパッケージの追加はコミットできません。
これには、些細でない
buildlink3.mk
ファイルの 変更を含みます。 - パッケージのアップデートは、リーフパッケージか、 セキュリティー上の問題のあるパッケージのみ許されます。 リーフパッケージでないパッケージについては、 pkgsrc開発者メーリングリスト で確認し、pkgsrc-pmcに承認を受けてください。
-
pkgsrc開発者メーリングリスト
への承認リクエストは、以下の質問に答えたものでなくてはなりません。
- 来たるブランチにとって、このパッケージをアップデートすることが重要なのはなぜか?
- 現在のバージョンとアップデートされたバージョンの間の、予想される変更は何か?
- コミットは、移植性の問題やビルドの問題を修正するか、 openなPRを扱うものだけであるべきです。
-
コミットメッセージは、なぜコミットがフリーズ期間中にされたのか、
必要であれば、誰の承認を得たのかを明確に記載すべきです。
例えば、
- “Updated during the freeze to fix security issue noted at http://...; approved by ...”
- “Updated during the freeze to fix problem noted n pkg/NNNNN; approved by ...”
- “Fix build on Darwin due to issues with
namesrv8_compat.h
”
- pkgsrcの“regress”と“doc”カテゴリーは フリーズの影響を受けません。
ブランチする時にすべきこと (トップ)
-
アナウンスを
<netbsd-announce@NetBSD.org>
に送ってください。 -
アナウンスを
<www@NetBSD.org>
に送るか、 自分でウェブサイトのアナウンスを作ってください (このリンクを 参照してください)。 -
htdocs/share/xml/misc.ent
をアップデートし、htdocs/docs/software/packages.html
を再生成し、 コミットします -
htdocs/developers/pkgsrc/index.xml
を アップデートし、index.xml
をコミットし、index.html
を再生成し、 コミットします。
パッケージをアップデートまたはインポートする
新しいパッケージのインポート方法と、パッケージのアップデート方法 (トップ)
これは、 pkgsrc Guide に詳細に説明されています。
ブランチにアップデートをプルアップする (トップ)
重大がバグ修正、セキュリティーアップデート、ビルドの修正は、 最新の安定ブランチにプルアップすることができます。 “cvs commit”のメールをpkgsrc-changesメーリングリスト からプルアップアドレス に転送してください。
pkgsrcプルアップチケットのサマリーは、“index-pkgsrc.html”を http://releng.NetBSD.org/ に足したURLで見ることができます (自動的な電子メールアドレスの収集を避けるために直接リンクしていません)
バルクビルド
バルクビルドをセットアップする (トップ)
pkgsrc guideの バルクビルドの章に どのようにバルクビルドをセットアップするのかが説明されています。
現在入手可能なバルクビルドの結果 (トップ)
様々なバルクビルドの結果は、 pkgsrc-bulk メーリングリストに投稿されます。
ftp.NetBSD.orgへバイナリーパッケージを提供する(バルクパッケージ) (トップ)
私たちは、できるだけ多くのarch/osrev用の バイナリーパッケージを提供するために、協力しあわなくてはいけません。
インストール時の衝突を防ぐため、バイナリーパッケージは一貫した 条件で生成されるようにしなくてはなりません。 これを実現する最も実用的な方法は、バルクビルドシステムを使い、 各ビルドのごとに、完全なセットのパッケージをアップロードすることです。
バイナリーパッケージの提供に協力したい開発者(全員が誘われています)は、
<pkgsrc-bulk@NetBSD.org>
メーリングリストを購読し、
入手可能なarch/osrevを確認するためにするために
localsrc/admin/bulk-packages
を見るべきです。
- あるarch/osrevを引き継ぐときには、ビルドビルドを一から開始するか、 あらかじめビルドプロセスの準備をしておくために、 ftp.NetBSD.orgから現在のバイナリーパッケージ一式をダウンロード してください(遅いアーキテクチャーには最も有効です)。
- パッケージをアップロードする時には、 rsyncで完全なセットのバルクビルドパッケージをアップロードし、 ftp.NetBSD.orgから、そのarch/osrevの他のパッケージを削除してください。
-
ビルドができなくなったら、
localsrc/admin/bulk-packages
から項目を削除し、pkgsrc-bulkに知らせてください。 - どの開発者でも、アップデートされた/新しい/セキュリティーの問題の修正された パッケージをftp.NetBSD.orgにアップロードすることができますが、 すでにそのarch/osrevに存在するパッケージに対してビルドされたものでなくては、 なりません。
- マシンは、最新のマイナーリリースまたは、リリースブランチ(おすすめ)を 実行しているべきです。
Note
これは、新しいバージョンのバイナリーパッケージがユーザーがすでに インストールしている環境にインストールできなかったり、 他のすでにインストールされているパッケージをアップロードしなくては いけなくなるような問題を防ぐためです。
現在のそれに対するオプションは、 タグの打たれたバイナリーパッケージをフリーズするか、 複数のバイナリーパッケージをarch/osrevごとに持つということです。 前者は、バイナリーパッケージの有用性を下げますし、 後者は、私たちが一つの一貫したツリーをarch/osrevごとに 持つことができるようになるまで考慮しなくてかまいません。
毎週のpkgsrc確認
毎週のpkgsrcスクリプト (トップ)
Dan McMahillが 様々なpkgsrcの一貫性を確認するために週に一回実行させるスクリプトを メンテナンスしています。現在確認している項目は、以下のようです。
-
DEPENDS
— 全ての{BUILD_}DEPENDS
が正しいバージョンに設定されているかを 確認します。 -
distinfo
— 配布物のチェックサムとサイズと、全てのパッチのチェックサムを確認します。 - カテゴリーのMakefile — 全てのパッケージがカテゴリーのMakefileに記載されているか確認します。
- 制限されたバイナリーパッケージ — 全ての制限されたバイナリーパッケージを警告します。
- 脆弱性のあるパッケージ — 全ての脆弱性のあるパッケージを確認します。
これらの確認の結果は、NetBSD pkgsrc開発者に電子メールで送られます。
その他
TODOリストの扱い (トップ)
TODOリストがpkgsrc docディレクトリーに存在します。 自由に追加したり削除したりしてください(もちろん問題を解決したらです)。
The pkg-bug-handlerグループ (トップ)
日々報告されるpkgsrcに関連する多数の問題に対処するために、 “pkg-bug-handler”グループが作られました。 詳細は、このページを 参照してください。
Back to NetBSD開発者ドキュメンテーション