debian パッケージ作成メモ
履歴
- 2021-11-25 高橋芳幸 新規作成
dennou style 6 (utf-8) の debian パッケージを作成
以下はログではあるが「動機」のあたりとか, 間違っているっぽい.
動機
debian style 6 の debian パッケージは文字コードが EUC である. UTF-8 用の debian パッケージがあると便利. 作ってみよう.
ということで, 目的のレベルを下げて, 「debian パッケージを作成」ではなく, 「debian パッケージを更新」する.
方針
<URL:http://www.gfd-dennou.org/library/cc-env/TeXmacro/dennou/> にある debian パッケージ <URL:http://www.gfd-dennou.org/library/cc-env/TeXmacro/dennou/dennou-sty-6_0.6.10-1.1_all.deb> をダウンロードし, 展開し, 中身を UTF-8 に書き換えて再パッケージする.
手順は「Debian パッケージとは? 中身を展開、再作成、インストール、アンインストール」に従う.
作業内容
既存パッケージをダウンロード
$ wget http://www.gfd-dennou.org/library/cc-env/TeXmacro/dennou/dennou-sty-6_0.6.10-1.1_all.deb $ ls -l 合計 260 -rw-r--r-- 1 yot yot 263222 8月 30 2014 dennou-sty-6_0.6.10-1.1_all.deb
展開
$ ar vx dennou-sty-6_0.6.10-1.1_all.deb x - debian-binary x - control.tar.gz x - data.tar.xz $ ls -l 合計 524 -rw-r--r-- 1 yot yot 1617 11月 25 15:05 control.tar.gz -rw-r--r-- 1 yot yot 261412 11月 25 15:05 data.tar.xz -rw-r--r-- 1 yot yot 4 11月 25 15:05 debian-binary -rw-r--r-- 1 yot yot 263222 8月 30 2014 dennou-sty-6_0.6.10-1.1_all.deb $ tar xvf data.tar.xz ./ ./usr/ ./usr/share/ ./usr/share/doc/ ./usr/share/doc/dennou-sty-6/ ./usr/share/doc/dennou-sty-6/Dennou.dvi.gz ./usr/share/doc/dennou-sty-6/changelog.Debian.gz ./usr/share/doc/dennou-sty-6/Dennou.pdf.gz ./usr/share/doc/dennou-sty-6/copyright ./usr/share/texmf/ ./usr/share/texmf/tex/ ./usr/share/texmf/tex/ptex/ ./usr/share/texmf/tex/ptex/dennou-sty-6/ ./usr/share/texmf/tex/ptex/dennou-sty-6/Dennou6.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6math.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6version.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6style.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6comment.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6prog.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6misc.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6graphicx.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6float.sty ./usr/share/texmf/tex/ptex/dennou-sty-6/D6select.sty $ tar xvf control.tar.gz ./ ./control ./postinst ./md5sums
展開した結果, debian-binary と control.tar.gz の中身に日本語が含まれないのでこれらのファイルは変更しない. 問題は data.tar.xz に含まれていた usr ディレクトリの中身.
文字コード変換
日本語が含まれる (と思われる) usr ディレクトリは下のような構造になっている.
usr `-- share |-- doc | `-- dennou-sty-6 | |-- Dennou.dvi.gz | |-- Dennou.pdf.gz | |-- changelog.Debian.gz | `-- copyright `-- texmf `-- tex `-- ptex `-- dennou-sty-6 |-- D6comment.sty |-- D6float.sty |-- D6graphicx.sty |-- D6math.sty |-- D6misc.sty |-- D6prog.sty |-- D6select.sty |-- D6style.sty |-- D6version.sty `-- Dennou6.sty
この中で, usr/share/doc/dennou-sty-6/copyright には日本語が含まれないので更新する必要があるのは以下のファイル.
usr/share/texmf/tex/ptex/dennou-sty-6/D6comment.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6float.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6graphicx.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6math.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6misc.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6prog.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6select.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6style.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6version.sty usr/share/texmf/tex/ptex/dennou-sty-6/Dennou6.sty
nkf で UTF-8 に変換.
$ nkf --overwrite -w usr/share/texmf/tex/ptex/dennou-sty-6/D* $ nkf -g usr/share/texmf/tex/ptex/dennou-sty-6/D* usr/share/texmf/tex/ptex/dennou-sty-6/D6comment.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6float.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6graphicx.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6math.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6misc.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6prog.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6select.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6style.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/D6version.sty: ISO-2022-JP usr/share/texmf/tex/ptex/dennou-sty-6/Dennou6.sty: ISO-2022-JP $ nkf --overwrite -w usr/share/texmf/tex/ptex/dennou-sty-6/D* $ nkf -g usr/share/texmf/tex/ptex/dennou-sty-6/D* usr/share/texmf/tex/ptex/dennou-sty-6/D6comment.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6float.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6graphicx.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6math.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6misc.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6prog.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6select.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6style.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/D6version.sty: UTF-8 usr/share/texmf/tex/ptex/dennou-sty-6/Dennou6.sty: UTF-8
再パッケージ
逆に辿る.
$ tar cvf data.tar usr usr/ usr/share/ usr/share/texmf/ usr/share/texmf/tex/ usr/share/texmf/tex/ptex/ usr/share/texmf/tex/ptex/dennou-sty-6/ usr/share/texmf/tex/ptex/dennou-sty-6/Dennou6.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6style.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6math.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6comment.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6version.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6misc.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6graphicx.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6float.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6select.sty usr/share/texmf/tex/ptex/dennou-sty-6/D6prog.sty usr/share/doc/ usr/share/doc/dennou-sty-6/ usr/share/doc/dennou-sty-6/Dennou.dvi.gz usr/share/doc/dennou-sty-6/copyright usr/share/doc/dennou-sty-6/changelog.Debian.gz usr/share/doc/dennou-sty-6/Dennou.pdf.gz $ xz data.tar $ ls -l 合計 528 -rw-r--r-- 1 yot yot 1617 11月 25 15:07 control.tar.gz -rw-r--r-- 1 yot yot 261496 11月 25 15:16 data.tar.xz -rw-r--r-- 1 yot yot 4 11月 25 15:07 debian-binary -rw-r--r-- 1 yot yot 263222 8月 30 2014 dennou-sty-6_0.6.10-1.1_all.deb drwxr-xr-x 3 yot yot 4096 8月 29 2014 usr
ar でパッケージ化. 順番は debian-binary, control.tar.gz, data.tar.xz でなければいけない*らしいのだが, なぜ?
$ ar r dennou-sty-6_0.6.10-1.1-utf8_all.deb debian-binary control.tar.gz data.tar.xz ar: dennou-sty-6_0.6.10-1.1-utf8_all.deb を作成しています $ ls -l 合計 788 -rw-r--r-- 1 yot yot 1617 11月 25 15:07 control.tar.gz -rw-r--r-- 1 yot yot 261496 11月 25 15:16 data.tar.xz -rw-r--r-- 1 yot yot 4 11月 25 15:07 debian-binary -rw-r--r-- 1 yot yot 263306 11月 25 15:18 dennou-sty-6_0.6.10-1.1-utf8_all.deb -rw-r--r-- 1 yot yot 263222 8月 30 2014 dennou-sty-6_0.6.10-1.1_all.deb drwxr-xr-x 3 yot yot 4096 8月 29 2014 usr
これで良い?