2013年8月31日 7:23 1xx <itsango@gmail.com>:
2013年8月30日 22:41 ribbon <opensuse@ns.ribbon.or.jp>:
a.
update-canna-yubin というcommandで各自で最新の辞書を作る様にすればいいのかな、
これらの方式の欠点は 1) shell scriptで作ればとても簡単だけども、 package化しようと思えば、意外と面倒くさい 2) 今までbuild環境のみに入れれば良かったcanna-devel等のpackageが 辞書をinstallする環境にも必要になる
とりあえず方法a.で処理できないか考えます。
以下のようなbash scriptになりました。 canna-yubin.spec fileを参照して作ったので、 canna-yubinと同じ、 License: GPL-2.0+ and SUSE-Public-Domain で公開しようかと思います。 ここまでは簡単でした。 しかし、これをpackage化しようとすると面倒そうに見えます。 -------- BEGIN update-canna-yubin -------- #! /bin/bash -e ### Update canna yubin7 dictionary . export PATH='/bin:/usr/bin' ## define japanpost information . domain='www.post.japanpost.jp' ken_all='ken_all' jigyosyo='jigyosyo' ken_all_url="http://$domain/zipcode/dl/kogaki/zip/$ken_all.zip" jigyosyo_url="http://$domain/zipcode/dl/jigyosyo/zip/$jigyosyo.zip" ## define system environment information . canna_yubin_dir='/usr/share/canna-yubin-0.0.20011101/' canna_dic_dir='/var/lib/canna/dic/' canna_system_dic_dir="$canna_dic_dir/canna/" canna_user='wnn' workdir="/tmp/update-canna-yubin.$$/" trap "rm -r $workdir" EXIT mkdir "$workdir" cd "$workdir" wget "$ken_all_url" "$jigyosyo_url" unzip "$ken_all.zip" unzip "$jigyosyo.zip" mv 'KEN_ALL.CSV' 'ken_all.csv' mv 'JIGYOSYO.CSV' 'jigyosyo.csv' "$canna_yubin_dir/yu2can.pl" | nkf -Se >yubin7.ctd mkbindic -m yubin7.ctd echo " install -m 644 yubin7.cbd yubin7.cld $canna_system_dic_dir cd $canna_system_dic_dir chown $canna_user:root yubin7.cbd yubin7.cld " | sudo sh -e echo 'Please reload canna . ex: /sbin/service canna reload' exit -------- END update-canna-yubin -------- -------- 簡易test結果 -------- * 成功終了するか? OK: openSUSE13.1M4x64 * 終了した時 $workdir を削除するか? OK: openSUSE13.1M4x64 * "$canna_system_dic_dir/" のyubin7.cbd yubin7.cld が更新されているか? OK: openSUSE13.1M4x64 * yubin7.cbd yubin7.cldのownerは wnn:root になっているか? OK: openSUSE13.1M4x64 * (emacs+tamagoを起動、C-x RET C-\ でjapanese-egg-cannaを選択) OK: openSUSE13.1M4x64 * 郵便番号が住所に変換されるか? OK: openSUSE13.1M4x64 * update-canna-yubinの処理の途中で<Ctrl>+cで割り込み、 処理が途中で終了するか? OK: openSUSE13.1M4x64 * その時、exit statusは0以外か? OK: openSUSE13.1M4x64 * その時、$workdir を削除するか? OK: openSUSE13.1M4x64 -------- -- 1xx <ItSANgo@gmail.com> <https://twitter.com/ItSANgo> <http://d.hatena.ne.jp/Itisango/> -- To unsubscribe, e-mail: opensuse-ja+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-ja+owner@opensuse.org