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