Spec の管理方法について
spec ファイルは trac 上で subversion を使用して管理しています。
spec の管理状況は trac ナビゲーションの [リポジトリブラウザ] のページで以下のツリー下に参照できます。
* project
* specs
* trunk
- 各 spec ファイルはアルファベット順に管理しています
- 大文字と小文字は分けています
- install-assist パッケージ、self-build パッケージは「non-free」カテゴリに置いています
- lib パッケージは lib 以下にアルファベット順に管理しています
新規パッケージ作成時の spec ファイルの登録手順
以下は Linux での手順。
- パッケージ名称の 親カテゴリ をローカルにチェックアウトします。
例:
新規パッケージ「for-example」の spec ファイル「for-example-vine.spec」を登録するなら、「f」のディレクトリを以下のようにチェックアウトします。
svn co http://trac.vinelinux.org/repos/projects/specs/trunk/f
- チェックアウトした /f 以下に新規ディレクトリ /for-example を作ります。
- /f/for-example に for-example-vine.spec を置きます。
- Subversion に上記ディレクトリ、ファイルを追加します。
以下は /f をカレントにした場合です。
svn add /for-example
- コミットして Vine Linux リポジトリに送信します。
svn commit -m "パッケージ説明など"
- trac のリポジトリブラウザに spec が追加されていることを確認します。
パッケージ 更新時の spec ファイルの更新手順
Linux 編
- 任意のディレクトリにspecファイルをチェックアウトします。
例:
svn co http://trac.vinelinux.org/repos/projects/specs/trunk/h/hostapd
- specファイルの編集を行います。
- 編集内容の確認を行います。
rpmbuild/vbuilder等を使用してbuildを行う。
完成したrpmをテスト環境などにインストールしてみる。
- 問題なければspecファイルをコミットします。
例:
svn commit -m "編集内容など"
または
svn ci -m "編集内容など"
※ ci は commit の別名なので機能に差異はありません。
Windows 編
※この例ではTortoiseSVNを使用します。
- 任意のフォルダに編集したいspecファイルをチェックアウトします。
例:
- 任意のフォルダを右クリックし、チェックアウトを選択します。
- 表示されたダイアログの内容を確認し [OK] を押します。
- specファイルの編集を行います。
保存するときに改行コード(LF)や文字コード(UTF-8)に注意してください。
- 編集内容の確認を行います。
rpmbuild/vbuilder等を使用してbuildを行う。
完成したrpmをテスト環境などにインストールしてみる。
※ Linux 上で行う必要があります。
- 問題なければspecファイルをコミットします。
例:
- 任意のフォルダを右クリックし、コミットを選択します。
- 表示されたダイアログの内容を確認し [OK] を押します。
廃止したパッケージの処理
以下は Linux での手順。spec ファイルを置いたディレクトリをカレントにした場合です。
参考:wiki:MonthlyIrcMeeting/51st 、 http://ml.vinelinux.org/vineseed/msg09120.html
- 以下のコマンドを実行します。
タイムスタンプが更新され、「obsolete」という 0 バイトファイルが作られます。
touch obsolete
- Subversion に obsolete ファイルを追加します。
svn add obsolete
- コミットして Vine Linux リポジトリに送信します。
svn commit -m "パッケージ廃止理由など"
- trac のリポジトリブラウザに obsolete ファイルが追加されていることを確認します。