wiki:SpecControl

Version 3 (modified by tanakanata, 8 years ago) (diff)

add "adding new pkg spec", add "treat touch obsolete"

Spec の管理方法について

spec ファイルは trac 上で subversion を使用して管理しています。
spec の管理状況は trac ナビゲーションの [リポジトリブラウザ] のページで以下のツリー下に参照できます。

 * project
   * specs
     * trunk

  • 各 spec ファイルはアルファベット順に管理しています
  • 大文字と小文字は分けています
  • install-assist パッケージ、self-build パッケージは「non-free」カテゴリに置いています
  • lib パッケージは lib 以下にアルファベット順に管理しています

新規パッケージ作成時の spec ファイルの登録手順

以下は Linux での手順。

  1. パッケージ名称の 親カテゴリ をローカルにチェックアウトします。
    例: 新規パッケージ「for-example」の spec ファイル「for-example-vine.spec」を登録するなら、「f」のディレクトリを以下のようにチェックアウトします。
    svn co http://trac.vinelinux.org/repos/projects/specs/trunk/f
    
  1. チェックアウトした /f 以下に新規ディレクトリ /for-example を作ります。
  2. /f/for-example に for-example-vine.spec を置きます。
  3. Subversion に上記ディレクトリ、ファイルを追加します。
    以下は /f をカレントにした場合です。
    svn add /for-example 
    
  4. コミットして Vine Linux リポジトリに送信します。
    svn commit -m "パッケージ説明など"
    
  5. trac のリポジトリブラウザに spec が追加されていることを確認します。

パッケージ 更新時の spec ファイルの更新手順

Linux 編

  1. 任意のディレクトリにspecファイルをチェックアウトします。
    例:
    svn co http://trac.vinelinux.org/repos/projects/specs/trunk/h/hostapd
    
  1. specファイルの編集を行います。
  1. 編集内容の確認を行います。
    rpmbuild/vbuilder等を使用してbuildを行う。
    完成したrpmをテスト環境などにインストールしてみる。
  1. 問題なければspecファイルをコミットします。
    例:
    svn commit -m "編集内容など"
    
    または
    svn ci -m "編集内容など"
    
    ※ ci は commit の別名なので機能に差異はありません。

Windows 編

※この例ではTortoiseSVNを使用します。

  1. 任意のフォルダに編集したいspecファイルをチェックアウトします。
    例:
    1. 任意のフォルダを右クリックし、チェックアウトを選択します。
    2. 表示されたダイアログの内容を確認し [OK] を押します。
  1. specファイルの編集を行います。 保存するときに改行コード(LF)や文字コード(UTF-8)に注意してください。
  1. 編集内容の確認を行います。
    rpmbuild/vbuilder等を使用してbuildを行う。
    完成したrpmをテスト環境などにインストールしてみる。
    ※ Linux 上で行う必要があります。
  1. 問題なければspecファイルをコミットします。
    例:
    1. 任意のフォルダを右クリックし、コミットを選択します。
    2. 表示されたダイアログの内容を確認し [OK] を押します。

廃止したパッケージの処理

以下は Linux での手順。spec ファイルを置いたディレクトリをカレントにした場合です。
参考:wiki:MonthlyIrcMeeting/51st http://ml.vinelinux.org/vineseed/msg09120.html

  1. 以下のコマンドを実行します。
    タイムスタンプが更新され、「obsolete」という 0 バイトファイルが作られます。
     touch obsolete
    
  2. Subversion に obsolete ファイルを追加します。
    svn add obsolete
    
  3. コミットして Vine Linux リポジトリに送信します。
    svn commit -m "パッケージ廃止理由など"
    
  4. trac のリポジトリブラウザに obsolete ファイルが追加されていることを確認します。

Attachments