Debian etch (32bit, legacy, orange) で生成する時は, debian/control から java 関連の build depend を一時削除する. fe:MathLibre-i386 へ copy される. OpenXM/bin/use-asir-mode.sh もあり. 2016.06.01 ;; Todo: Makefile-fix, cf. misc-2005/A2/knoppix-2006/Makefile-asir, .TeXmacs 関連. 注意: debian/openxm.postrm では, もともとの openxm*.deb でインストールされた以外のものを消す. OpenXM/bin が更新されたら注意. (bin/oxfetch.sh 以外) cf. /var/lib/dpkg/info/openxm.* Q. パッケージを新しくしたい. A. orange (32bit, etch), orange3m (64bit) で作業. (orange3c では asir の shared library まわりで変になる. ldd の値が変. 2016.02.12) 古い version で作成した方がよりおおいマシンで使える. 0. [MathLibre では java-package java-common, openjdk-11-jdk 2016.02.12->2020.02.19 (apt-get install sun-java5-jdk (unstable) をしておく --> jessie にはない. ) dpkg-dev, debhelper, fakeroot, texi2html, freeglut3-dev も必要. dpkg --list | grep freeglut3 等で調べる. nkf, texinfo 等は knoppix/math ならOK だが念のため確認. dpkg --list | grep texinfo dvipdfmx がうまくうごくこと. xpdf-japanese (xpdf-reader) --> evince へ. ] [OpenXM/rc/webasir を使うなら pstoimg が必要. apt-get install latex2html (non-free). latex2html が壊れていたら, 名前を変えてしまう. jarticle-->article で動くはず ] [knoppix/math: gpg --key-gen で .gnupg に changelog に対応する e-mail address の鍵を作成しておく. ~/.gnupg を orange2 等からコピーしておく. ] << Etch: waiting for lock on .... random_seed ==> dpkg-buildpackage -uc -us (add option of no signature) 又は export GNUPGHOME=nfs でない directory の .gnupg して, debian@math.kobe-u.ac.jp でサイン. -uc -us はとる.>> 1. すべての作業は source ./dot.bashrc (./を付けるのをわすれないこと) をしてから. (一部高山用) [ 2016.02.12 /usr/lib も LD_LIBRARY_PATH へ加えておかないとうまく行かない. ldd asir (理由は不明). dot.bashrc 変更済. ] export GNUPGHOME=/private/taka/.gnupg 等も忘れずに. cvs-passwd/gpg-debian.txt.asc export LC_ALL=C が sign に必要. (2020.02.19) 古い package は Old へ移動しておくこと. 変なファイルにサインされる. 2020.02.19 2. debian/changelog を修正. date は rfc822 format を守る事. ( dpkg-parsechangelog で check. 署名するには, mail address を gnupg のものと同一に. cvs-passwd/gpg-debian.txt.asc ) debian/files は消す? 3. Makefile の VERSION を変更. コメントにある他のファイルの VERSION も変更. make update-version を使うといいかも. major version up では debian/control も. 4. make clean 5. make [knoppix/math: make USER=taka ] << tar: file changed as we read it. 1.17 よりエラーコードを戻す. dpkg-deb make をもう一度やると, このエラーがでなくなる. 下のR参照. >> (orange では openjdk-7-jdk --> sun-java5-jdk, libtinfo-dev なので debian/control を書き直して, commit せず, build が終わったら rcvs update で元へ戻す) 6. make copy-tar-ball-and-asir [knoppix/math: make USER=taka copy-tar-ball-and-asir] (7. orange2 で /root/bin/mirror-pub http://fe.math.kobe-u.ac.jp/KnoppixMath の古い deb を Attic へ. KnoppixMath で Update-apt.sh (http://fe.math.kobe-u.ac.jp/KnoppixMath) ) 8. www.math.kobe-u.ac.jp/deb2 debian repositoryへの upload 方法は misc-2019/A2/debian/inst-dinstall.txt を参照. R. make の最後で, Debian2 が変更されたとかいってエラーがでたら, もう一度 make すれば良い. (or ./deb package ../deb package を rm して再度 make.) FTBFS package になるよ. はとりあえず無視. 2016.02.12 (Fails to Build From Source) or dpkg-buildpackage: info: full upload; Debian-native package (full source is included) signfile openxm_1.3.3-2.dsc gpg: signing failed: End of file gpg: dpkg-sign.81JvgDF6/openxm_1.3.3-2.dsc: clear-sign failed: End of file dpkg-buildpackage: error: failed to sign .dsc file make: *** [Makefile:21: build-package] Error 25 とエラーが出た場合は (2020.02.19) cd .. ; debsign -k debian@math.kobe-u.ac.jp openxm*.changes で signature を加える. or [2020.02.25] 1.3.3-3 の生成中に 1.3.3-2 の buildinfo を要求されたときは, これを .. においておく. --> 2021.07.27 debian/files を編集. ここにこのファイル名がある. dpkg-genchanges >../openxm_1.3.3-3_amd64.changes dpkg-genchanges: error: cannot fstat file ../openxm_1.3.3-2_amd64.buildinfo: No such file or directory dpkg-buildpackage: error: dpkg-genchanges subprocess returned exit status 255 Q. signfile openxm_1.3.3-2.dsc で sign ができないとエラー 2020.02.19 A. export LC_ALL=C としておくと何故か OK. Q. 各ステップでは何をやっていますか? 注意事項は? A. 1. source dot.bashrc 2. debian/changelog を修正. date は rfc822 format を守る事. 3. Makefile の VERSION を変更. コメントにある他のファイルの VERSION も変更. VERSION は OpenXM/download/version.txt としてコピーされる. 文末の空白等加えないように. version は ダウンロードするファイル名に反映される. 4. make clean 5. make fetch : work/OpenXM, work/OpenXM_contrib2 build: work/OpenXM で標準的な OpenXM を make install build-knoppix: OpenXM/bin/asir が /home/knoppix/.asir-tmp/asir への symbolic link に. OpenXM/lib/asir/FLL のライブラリも. asir-port.sh, asir-install.sh をインストール. tar を作成. md5 を work/OpenXM/lib/asir へ. make-tar-ball-2: work/OpenXM を tar ball に. tar する directory は Makefile をみよ. exclude-files.txt に除くファイルが. md5 を OpenXM/download へ. build: deb を生成. このプロセスは, OpenXM/download/*.md5 が与えれていれば他とは独立. 6. make copy-tar-ball-and-asir openxm*.deb, openxm-binary*.tar.gz (本体) asir* を ftp サーバへコピーする. (7. orange2 で /root/bin/mirror.ftp) Q. openxm-binary*.tar.gz をインストールする仕組みは? A. OpenXM/download/openxm-install.sh (OpenXM/bin/opennxm-install.sh) が oxfetch.sh で openxm-binary*.tar.gz をネットワークインストールします. $HOME/OpenXM_tmp (/root/OpenXM_tmp ) に openxm-binary*tar.gz が一時おかれます. このスクリプトは, Debian/openxm.postinst より起動されています. Q. OpenXM 部分の修正のみがあります. A. rm -f .fetch_done work/OpenXM 以下を修正. (必要があれば kerberos へ commit) make make copy-tar-ball-and-asir md5 を無視する場合は openxm*deb の修正は不要. openxm*deb は oxfetch.sh, openxm-install.sh (と OpenXM/download/*md5 ) の修正の時のみ修正. Q. openxm*deb のみ修正したい. A. make build-deb Q. パッケージのテスト. (開発者の環境では orange. source dot.bashrc してから export OpenXM_HOME= ) A. インストール. ln -s 書き込める場所 /home/knoppix/.asir-tmp rm -rf /home/knoppix/.asir-tmp/* sudo dpkg --install openxm*.deb 実行. openxm asir-port.sh 削除. sudo dpkg --purge openxm なお package のインストールで始めの質問に no と答えた場合, openxm-binary*.tar.gz がインストールされません. インストールするには, sudo update-menus sudo OpenXM_HOME=/usr/local/OpenXM /usr/local/OpenXM/download/openxm-install.sh sudo OpenXM_HOME=/usr/local/OpenXM ; /usr/local/bin/openxm asir-install.sh Q. kde の menu を /usr/lib/menu/openxm-binary から /usr/lib/menu/openxm に変更したい. A. work/OpenXM 以下にはすでに package build をしたコンパイル済みのソースが展開されていると仮定. OpenXM/rc/kde/openxm-binary-knoppix を debian/rules の install ターゲットで deb パッケージに コピーしている. work/OpenXM/rc/kde/openxm-knoppix を加えて. cvs でadd. (1) debian/changelog, Makefile, OpenXM/deoanload/Makefile work/OpenXM/src/asir-port/Makefile の minior version を上げる. (2) debian/rules で openxm を /usr/lib/menu へコピーするように設定変更. (3) Binary file やインストールされるライブラリには変更ないので, Full build は必要ない. Knoppix 独自の変更なので, rm .build-knoppix_done .make-tar-ball*done make で OK. (4) make copy-tar-ball-and-asir (orange2 で /root/bin/mirror.ftp) あとはテスト. うまくいかないときは, 修正のあと (3) にもどって繰り返す. (5) この directory で commit cd work/OpenXM で必要なものを commit. (*) OpenXM/download/version.txt は work/OpenXM/src/asir-port の Makefile で生成される. Q. deb file に入ってるものをとりだしたい. deb 解凍 A. dpkg-deb --extract xxxyyy.deb tmp-any dpkg-deb --control xxxyyy.deb Q. rm -f .build* .make* ; make で asir を work/OpenXM/bin へコピーするところで, エラーをおこします. [2006-02-11] A. work/OpenXM/bin/asir が /home/knoppix/.asir-tmp へのリンクとなってるのが原因で しょう. まず (cd work/OpenXM/asir/asir-port ; make uninstall-for-knoppix) をして下さい. Q. work/OpenXM/src/asir-contrib/packages/doc を更新しました. A. まず rm work/OpenXM/asir/asir-contrib/packages/doc/.*done してから make して下さい. Q. work/OpenXM/src/asir-doc/extract_func.c が更新された. work/OpenXM_contrib2/asir2000/ が更新された. A. rm .build*done .make*done (cd work/OpenXM/src/asir2000 ; rm .make*done .install*done) (cd work/OpenXM/src/asir-contrib/packages/doc ; rm .install*done) make make copy-tar-ball-and-asir # テストは以下のようにしてもできる. #(cd work/OpenXM/src/asir-port ; make uninstall-for-knoppix) #(cd work/OpenXM/rc ; make ; source dot.bashrc ; openxm asir など) Q. openxm asir-port.sh --> ファイルがないといわれます. A. /usr/local/bin/openxm が正しく生成されていないからであろう. (cd work/OpenXM/rc ; make clean) してから, tar ball を生成. [ Makefile もそのように更新した. rm .make*tar*done ; make ; make copy-tar-ball-and-asir ] Q. asir のソースコードに変更があった. A. rm -f work/OpenXM/src/asir2000/.make_done (cd work; rcvs update OpenXM_contrib2/asir2000) rm -f .build*done .make-tar* make make copy-tar-ball-and-asir Q. openxm の削除, 更新がうまくいきません. A. license 関連で特殊な構造のため, apt-get upgrade はできません. まず openxm package を削除します. (a) sudo dpkg --remove openxm (または sudo dpkg --purge openxm) (b) sudo rm -rf ~/OpenXM_tmp ~/.asir-tmp これらをおこなったあとでないと, apt-get install openxm や dpkg --install openxm*deb はうまくいきません. To update package, please do as follows. (a) sudo dpkg --purge openxm (b) (sudo) rm -rf ~/OpenXM_tmp ~/.asir-tmp (c) sudo apt-get update (d) sudo apt-get install openxm "apt-get update openxm" will not work, because of a special structure of the package due to a license restriction. Q. tar が file changed as we read it. というエラーを出力して止まります. A. もう一度 make して下さい. (途中からもう一度始めるとうまくいきます.) Q. emacs の中で make するとうまくいきません. A. make fetch のみ, 普通の shell でやって下さい. Q. Debian file の解凍. A. mkdir tmp dpkg-deb -x xxx.deb tmp Q. Cache の消去. Cache の状態表示 A. rm /var/cache/apt/archives/xxx.deb apt-cache show openxm apt-cache showpg openxm など. Q. *.deb の生成の debug 2019.02.19 A. 今回は *.deb に全部のファイルが含まれないトラブルが. fakeroot make -f Makefile-alien binary-arch を用いて解決策を探した. 結局 cp で debian/tmp/usr を強引に debian/openxm へコピー. fakeroot make -f debian/rules binary-arch で作成テスト. dpkg -c ../*.deb で中身があるか確認. gnupg の 秘密鍵は, どうやら一番目のものを決め打ちで使うので, /private/taka/.gnupg には debian@math.kobe-u.ac.jp の鍵しかおかないことにした. $OpenXM: OpenXM/misc/packages/Linux/Debian2/note-ja.txt,v 1.36 2021/07/27 01:33:35 takayama Exp $