svn-buildpackage のメモ

既存のパッケージを svn に import

  1. パッケージを import する
        % svn-inject -c0 package.dsc svn+ssh://tach@tach.arege.net/home/tach/work/svn/debian
    
  2. パッケージを checkout する
        % svn co svn+ssh://tach@tach.arege.net/home/tach/work/svn/debian/package
    
  3. tarballs を commit する
        % mv tarballs package
        % cd package
        % svn add tarballs
        % svn commit -m 'add orig.tar.gz'
    

パッケージのビルド

  1. パッケージを checkout する
  2. trunk でビルドする
        % cd package/trunk
        % svn-buildpackage -rfakeroot
    
    ../build-area にパッケージができている
  3. 実際にリリースする段階になったら、--svn-tag オプション付きでビルド
        % svn-buildpackage --svn-tag -rfakeroot
    

New upstream release

  1. パッケージを checkout する
  2. 新しいパッケージをダウンロードする
  3. trunk で svn-upgrade を実行する
        % svn-upgrade newpackage.tar.gz
    
    • このとき、zip だと「Unknown compression method!」といわれるので、tar.gz に直しておく必要がある。
    • 「-V」オプションでバージョンの指定ができる(uupdate と同じか)
  4. トップディレクトリで update する
        % cd ..
        % svn update
    
  5. 前からの変更点をとりあえず commit しておく
        % svn commit -m 'New upstream release'
    
  6. あとはふつうに修正してビルド(上記参照)

注意するポイント

  • tarballs を add & commit しておくのを忘れない
    • add & commit しなくても良いのだが,この位置に存在しないと,Native package とみなされてしまう
    • lintian で「W: package-name source: native-package-with-dash-version」が出たら NG
    • svn-upgrade では適切に処理してくれるので気にしなくて良い.svn-inject のときだけ
  • 特定のバージョンのビルド
    • tags/version 以下で svn-buildpackage する
    • HOWTO には必ず trunk 以下でやれとあるが,問題はない
    • upstream tarball を見つけられないので,tarballs を tags の下に symlink する
    • あるいは .svn/deb-layout に「origDir=」で指定する

参考