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

これで良い?

参考ページ

その他