TTA(The True Audio)のエンコーダ/デコーダttaencのUbuntu向けパッケージを作成
TTA(The True Audio)のエンコーダ/デコーダであるttaencはDebian/Ubuntuでもパッケージがないため、Ubuntu向けのパッケージを作成して「milkjfフォントとut(内海氏)版AnthyのUbuntu向けパッケージを作成(2010/11/20現在)」で書いているPPAリポジトリに公開した。少しのテストの後で安定パッケージ扱いとする予定。
(2010/12/3)安定パッケージ扱いとして「stable」のPPAリポジトリにコピーした。
パッケージ作成上のメモとして、使用したソースの書庫ファイルはttaenc-3.4.1-src.tgzでこれをttaenc_3.4.1.orig.tar.gzと名前変更して(ソースディレクトリツリーのルートと同じ階層に)配置する必要があるのだが、これを展開したときに作成されるディレクトリがttaenc-3.4.1-srcという名前で「[名前]-[バージョン]」の形式に合わないため、ttaenc-3.4.1-srcディレクトリをttaenc-3.4.1に名前変更し、その中にDebianパッケージ作成に関するファイルを含んだディレクトリdebianを配置することになった。
(元のレイアウト) +-ttaenc-3.4.1-src.tgz +-[ttaenc-3.4.1-src]-+-COPYING +-ChangeLog-3.4.1 +-Makefile ... (変更後のレイアウト) +-ttaenc_3.4.1.orig.tar.gz (ttaenc-3.4.1-src.tgzを名前変更) +-[ttaenc-3.4.1]----+-[debian]---------+-changelog (ttaenc-3.4.1-src +-COPYING +-compat を名前変更) +-ChangeLog-3.4.1 +-control +-Makefile ... ...
元のソースから生成されるディレクトリ名の形式が合わないからといってオリジナルのtarボールを展開して中のディレクトリ名を変更して固め直すというような作業は必要ない。
ソースパッケージ作成の処理(debuild -S)は名前変更後のディレクトリttaenc-3.4.1内で行う。
アップロードしたソースパッケージを取得する際には、.orig.tar.gzファイルの中身が
$ lesspipe ttaenc_3.4.1.orig.tar.gz drwxr-xr-x 501/users 0 2007-07-27 10:22 ttaenc-3.4.1-src/ -rw-r--r-- 501/users 15120 2007-07-26 17:19 ttaenc-3.4.1-src/COPYING -rw-r--r-- root/root 596 2007-07-27 10:19 ttaenc-3.4.1-src/ChangeLog-3.4.1 -rw-r--r-- 501/users 506 2007-07-26 17:19 ttaenc-3.4.1-src/Makefile -rw-r--r-- 501/users 2635 2007-07-26 17:19 ttaenc-3.4.1-src/README -rw-r--r-- 501/users 44022 2007-07-27 10:02 ttaenc-3.4.1-src/ttaenc.c -rw-r--r-- 501/users 3678 2007-07-27 10:20 ttaenc-3.4.1-src/ttaenc.h -rw-r--r-- 501/users 2685 2007-07-26 17:19 ttaenc-3.4.1-src/ttaenc.vcproj
このようになっていても、展開したときに生成されるディレクトリはttaenc-3.4.1に名前変更され、その中にdebianディレクトリが配置される。
(2010/12/1)上ではdebianディレクトリを配置するソースのディレクトリ(上の例ではttaenc-3.4.1-src)を名前変更したが、これは名前変更しなくても、ソースファイルの名前を「[パッケージ名]_[バージョン].orig.tar.[gzなど]」のようにさえすればソース/バイナリのどちらのパッケージの作成にも影響はないようで、ソースツリー内に行った変更点がソースパッケージ作成時に記録されるdebian/patches/以下の自動生成パッチに書かれるディレクトリ名も「[パッケージ名]-[バージョン]」形式に調整されたものが書き出されるようだ。ただ、上にも書いたように、ソースパッケージを取得した場合にはソースのディレクトリは自動的に名前変更される。
関連記事: