わざわざリポジトリを作るまでもないと思うので、Debian GNU/Linux 12 (Bookworm) および 11 (Bullseye)、10 (Buster) 向けに亀山が作り直した OpenDX 関係の deb パッケージを置いておきます。
OpenDX を実行するのに最低限必要なもの。 この2つをダウンロード・インストールすれば使えます。
- Debian 12 (bookworm) 用
- dx_4.4.4-15.1 [dx_4.4.4-15.1_amd64.deb, dx_4.4.4-15.1_i386.deb ]
- libdx4_4.4.4-15.1 [libdx4_4.4.4-15.1_amd64.deb, libdx4_4.4.4-15.1_i386.deb ]
- Debian 11 (bullseye) 用
- dx_4.4.4-13.1 [dx_4.4.4-13.1_amd64.deb, dx_4.4.4-13.1_i386.deb]
- libdx4_4.4.4-13.1 [libdx4_4.4.4-13.1_amd64.deb, libdx4_4.4.4-13.1_i386.deb]
- Debian 10 (buster) 用
- dx_4.4.4-12.1 [dx_4.4.4-12.1_amd64.deb, dx_4.4.4-12.1_i386.deb]
- libdx4_4.4.4-12.1 [libdx4_4.4.4-12.1_amd64.deb, libdx4_4.4.4-12.1_i386.deb]
# apt install ./dx_4.4.4-15.1_amd64.deb ./libdx4_4.4.4-15.1_amd64.deb以下はなくてもいいもの。
- Debian 12 (bookworm) 用
- dx-doc_4.4.4-15.1 [dx-doc_4.4.4-15.1_all.deb]
- libdx4-dev_4.4.4-15.1 [libdx4-dev_4.4.4-15.1_amd64.deb, libdx4-dev_4.4.4-15.1_i386.deb]
- dx-dbgsym_4.4.4-15.1 [dx-dbgsym_4.4.4-15.1_amd64.deb, dx-dbgsym_4.4.4-15.1_i386.deb]
- libdx4-dbgsym_4.4.4-15.1 [libdx4-dbgsym_4.4.4-15.1_amd64.deb, libdx4-dbgsym_4.4.4-15.1_i386.deb]
- Debian 11 (bullseye) 用
- dx-doc_4.4.4-13.1 [dx-doc_4.4.4-13.1_all.deb]
- libdx4-dev_4.4.4-13.1 [libdx4-dev_4.4.4-13.1_amd64.deb, libdx4-dev_4.4.4-13.1_i386.deb]
- dx-dbgsym_4.4.4-13.1 [dx-dbgsym_4.4.4-13.1_amd64.deb, dx-dbgsym_4.4.4-13.1_i386.deb]
- libdx4-dbgsym_4.4.4-13.1 [libdx4-dbgsym_4.4.4-13.1_amd64.deb, libdx4-dbgsym_4.4.4-13.1_i386.deb]
- Debian 10 (buster) 用
- dx-doc_4.4.4-12.1 [dx-doc_4.4.4-12.1_all.deb]
- libdx4-dev_4.4.4-12.1 [libdx4-dev_4.4.4-12.1_amd64.deb, libdx4-dev_4.4.4-12.1_i386.deb]
- dx-dbgsym_4.4.4-12.1 [dx-dbgsym_4.4.4-12.1_amd64.deb, dx-dbgsym_4.4.4-12.1_i386.deb]
- libdx4-dbgsym_4.4.4-12.1 [libdx4-dbgsym_4.4.4-12.1_amd64.deb, libdx4-dbgsym_4.4.4-12.1_i386.deb]
Debian の公式パッケージの OpenDX には、行儀よく (reset server してから) 終了させないと dxexec のプロセスが残ったままになってしまうという不便さ (バグか?) がある。 上の deb パッケージはこの不便さを解消させたものである。
やったこと
- 必要なパッケージのインストール。sudo apt-get install dpkg-dev devscripts quilt により、dpkg-dev と devscripts と quilt をインストール。
- ソースパッケージの入手。apt-get source dx とすると、リポジトリからソースパッケージがダウンロードされるとともに、コマンドを実行したディレクトリにパッケージ作成作業に使われる作業ディレクトリが作成され、ソースコードの展開からパッチ当てなどが行われる。
- パッケージに手を入れる。
修正は http://www.opendx.org/cgi-bin/forum/YaBB.pl?num=1176042404 (リンク切れ?) の通り。
具体的には
$ cat 99_src_exec_dpexec_lex.patch Index: dx-4.4.4/src/exec/dpexec/lex.c =================================================================== --- dx-4.4.4.orig/src/exec/dpexec/lex.c +++ dx-4.4.4/src/exec/dpexec/lex.c @@ -504,7 +504,7 @@ int yylex(YYSTYPE *lvalp) for (;;) { yyleng = 0; - + errno = 0; c = input(); switch (c)
にあるように、src/exec/dpexec/lex.c に1行追加するだけだが、それを quilt で管理させる。- 作業ディレクトリに移動。
- quilt new 99_src_exec_dpexec_lex.patch としてパッチ名を設定。
- quilt add src/exec/dpexec/lex.c として変更されるファイルを宣言した後に、エディターで src/exec/dpexec/lex.c を開いて修正。
- quilt diff で内容を確認し、quilt refresh で修正の内容を 99_src_exec_dpexec_lex.patch に記録。
- dch -i で新しいリビジョンを追加とともに changelog を編集。
- パッケージのビルド。sudo apt-get build-dep dx としてビルド時に必要なパッケージをインストールする。そこでいよいよ debuild -uc -us -b とすれば、1つ上のディレクトリにバイナリパッケージができている。