pkgsrc-wip 上での作業

公式サイト

公式サイトはThe pkgsrc-wip project

The pkgsrc-wip project -- committer access には,pkgsrc-wip 開発者の登録からパッケージの作成まで様々な情報が書かれている.これを読んでおけばwip の作業は問題ない.

パッケージのバージョンアップデート実例

pkgsrc-wip にて,basepkg のバージョンを1.2 から1.3 に変更したときの作業手順を述べる.

Makefile の更新

# diff -u Makefile.org Makefile
--- Makefile.org        2018-02-07 17:00:46.000000000 +0900
+++ Makefile    2018-02-07 16:08:41.000000000 +0900
@@ -2,7 +2,7 @@

 DEPENDS+=      pkg_install>=20170419:../../pkgtools/pkg_install

-DISTNAME=      basepkg-1.2
+DISTNAME=      basepkg-1.3
 CATEGORIES=    pkgtools
 MASTER_SITES=  ${MASTER_SITE_GITHUB:=user340/}

@@ -15,7 +15,7 @@
 NO_BUILD=      yes
 AUTO_MKDIRS=   yes

-WRKSRC=                ${WRKDIR}/basepkg-1.2
+WRKSRC=                ${WRKDIR}/basepkg-1.3
 USE_LANGUAGES= # none
 USE_TOOLS+=    pax

DISTNAME 変数とWRKSRC 変数を編集した.

distinfo の更新

Makefile を編集したのちに,make distinfo を実行する.

PLIST の更新

make package を実行したのちに,make print-PLIST > PLIST を実行する.

テスト

がすべて正常に動作するかを確認する. pkgtools/pkglint を使って警告も確認する.

すべて確認したら,make clean で作業用ディレクトリを削除する.

コミット

変更したファイルを対象にgit add を実行する.今回の例では以下のようになる.

# git add Makefile distinfo PLIST

git commit でcommit する.アップデートのさいのコミットメッセージは以下のようにする.このコミットメッセージはメーリングリストに流れるため,慎重に分かりやすく書くこと.

basepkg: Update wip/basepkg to 1.3

Changes:
 * New two meta data, +SIZE_PKG and +SIZE_ALL.

pkgsrc-wip リポジトリの運用はmaster ブランチ一本運用なので,git push する前にgit pull -r でローカルにclone されたwip リポジトリの更新をおこなう.

作業のまとめ

# cd /usr/pkgsrc/wip/basepkg
# vim Makefile
    ...バージョン番号の変更...
# make distinfo
    ...distinfo の更新...
# make package
    ...パッケージを作成する...
# make print-PLIST > PLIST
    ...PLIST の更新...
# make clean
    ...一旦,作業ディレクトリを削除する...
# make install
    ...[デバッグ] システムにインストールしてみる...
# make deinstall
    ...[デバッグ] アンインストールしてみる...
# make clean
    ...作業ディレクトリを削除する...
# pkglint
    ...警告を確認し,Makefile などに不備がないかを調べる...
# git add Makefile distinfo PLIST
# git commit
    ...commit メッセージを書く...
# git pull -r
    ...リポジトリの更新...
# git push
    ...リポジトリへ変更を反映させる...