以前,svn-buildpackageを使ったときの疑問点として,orig.tar.gzをtarballs/に突っ込むことを挙げている. trunk/にはupstreamのソースもあるし,branches/upstream/current/以下にもオリジナルのソースがあるにも関わらずである.
svn-buildpackageを使うにしてもmergeWithUpstreamモードであれば,orig.tar.gzを別に置いてtrunk/にはパッケージングに必要なファイルのみにできた. しかし,orig.tar.gzをリポジトリと別に管理するのは面倒である.
そこで,branches/upstream/<UPSTREAM-VERSION>/以下に置いたファイルからorig.tar.gzを自動生成するスクリプトを書いた. これにより,upstreamのファイルとパッケージングに必要なファイルを分離した上で,ファイルの重複といった無駄がないリポジトリができた.
本日記エントリではそのやりかたを紹介する.
svn-injectに-oオプションをつけて実行する.
% svn-inject -o -c0 ../rast_0.1.1-0.2.dsc svn+ssh://kusanagi.j96.org/home/yuya/SVNRepositories/debian-packages
こうすることで,trunk/debian/にmergeWithUpstreamという属性が値1でつく. svn propget で確認できる.
% svn propget mergeWithUpstream svn+ssh://kusanagi.j96.org/home/yuya/SVNRepositories/debian-packages/rast/trunk/debian 1
未確認だが手動でtrunk/debian/にmergeWithUpstream属性を付与すれば,既存のリポジトリが移行できるはずだ.
branches/upstream/<UPSTREAM-VERSION>へorig.tar.gzに入れるファイルを準備する.
upstreamのtarballを中に入れるパッケージングをする場合は以下のようになる.
% svn checkout svn+ssh://kusanagi.j96.org/home/yuya/SVNRepositories/debian-packages/rast/branches/upstream/0.1.1 upstream % cd upstream % cp path/to/rast-0.1.1.tar.bz2 path/to/rast-0.1.1.tar.bz2.asc . % svn add rast-0.1.1.tar.bz2 rast-0.1.1.tar.bz2.asc % svn commit -m "add upstream source."
trunk/を取得して,setup-orig-tarballを実行し,svn-buildpackageを実行する.
% svn checkout svn+ssh://kusanagi.j96.org/home/yuya/SVNRepositories/debian-packages/rast/trunk % cd trunk % setup-orig-tarball % svn-buildpackage -rfakeroot --svn-lintian (--svn-ignore-new)
../build-area/直下に.debパッケージができている.
パッケージを作ってさらにタグ打ちする場合は
% svn-buildpackage -rfakeroot --svn-lintian --svn-tag
単にタグ打ちだけする場合は
% svn-buildpackage --svn-tag-only
orig.tar.gzに入れるファイルを以下のように準備する.
% cp path/to/rast-0.2.0.tar.bz2 path/to/rast-0.2.0.tar.bz2.asc tmp-dir % svn import -m "new upstream release." tmp-dir svn+ssh://kusanagi.j96.org/home/yuya/SVNRepositories/debian-packages/rast/branches/upstream/0.2.0
trunkで普通に
% dch -i
などして修正し
% setup-orig-tarball % svn-buildpackage -rfakeroot --svn-lintian
としてdebパッケージを作る.
Debian | LOOX T70HN | Linux | Rails | Rast | Ruby | TYPE T VGN-TZ90HS | boat | hardware | music | p | snowboard | software | surfing | tDiary | その他 | ボウリング | 映画 | 家族 | 会社 | 管理 | 丸藤 | 高専 | 散歩 | 仕事 | 自分 | 鼕
"Yuya.Nishida." / 西田 雄也 <yuya at j96 dot org>