]
トップ 最新 追記

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2012-07-01 [長年日記]

_ [Debian] memo 2012/03/08 Debian Lenny/Squeezeでのうるう秒対策まとめ

7/1の09:00に閏秒が挿入されて、いくつかのLinuxでは、Kernelが原因とされるCPU100%張り付きの不具合があった。それに関連して twitter で流れてきた Debian での閏秒対策の URL を貼り付けておく 2012/03/08 Debian Lenny/Squeezeでのうるう秒対策まとめ(http://d.hatena.ne.jp/labunix/20120308)


2012-07-02 [長年日記]

_ Bugs Stories

ソフトウェアの不具合のことを、ソフトウェア作成に関わる人たちは Bug(虫)といいます。そもそもは、リレー式のコンピュータに、蛾(Bug)が入り込んで不具合が発生して、引き継ぎレポートに貼り付けられた所からだという話は、本で読んだことがあります。

Bugハンター日記(Tobias Klein/新井 悠/長尾 高弘) Bugハンター日記(Tobias Klein/新井 悠/長尾 高弘)を購入した。積ん読リストに入った。Debconf 12へ飛ぶ途中には時間があるので、何冊か積ん読を解消できると思う。

上記に関連して、ハードなバグの発見をまとめようとしている link があるので、ついでにメモ BugStories(http://practical-scheme.net/wiliki/wiliki.cgi?BugStories)鵜飼さんや新部さんの対峙したbugもある


2012-07-03 [長年日記]

_ Linux用動画編集ツール

『OpenShot 1.0』はちゃんと使い物になるLinux用動画編集ツール(http://www.lifehacker.jp/2010/02/100208openshot_10linux.html) まだ使ったことがないが、HandyCamの動画編集につかえるだろうか?


2012-07-04 [長年日記]

_ タニタのバイブレーションタイマー

音でなく、振動でタイミングを知りたい場合がある。図書館の中や静かな事務所で、タイマーを使いたい。その用途にタニタのタイマーを購入した。(http://chalow.net/2003-02-23-1.html)


2012-07-05 [長年日記]

_ UMLの描画ツール umlet

sudo aptitude install umletでインストール、日本語も通る。Visioライク?


2012-07-06 [長年日記]

_ プロセスを凍結して、ファイルへ落とす

指定プロセスを、ノートパソコンのハイバネのようにfileへ落とす方法。CryoPID - A Process Freezer for Linux(http://cryopid.berlios.de/)

CryoPID allows you to capture the state of a running process in Linux and save it to a file. This file can then be used to resume the process later on, either after a reboot or even on another machine.

[CryoPID - A Process Freezer For Linuxより引用]

リブートや、別のマシンでも実行できる。

2012-07-07 [長年日記]

_ kvm cpu type

kvmは現状下記のCPUタイプが利用できる。使い分ける必要がある時には有用だ。

$ kvm -cpu ?
x86           qemu64
x86           phenom
x86         core2duo
x86            kvm64
x86           qemu32
x86          coreduo
x86              486
x86          pentium
x86         pentium2
x86         pentium3
x86           athlon
x86             n270


2012-07-09 [長年日記]

_ [Debian] Lintian W:debian-rules-missing-recommended-target

lintianで上記のエラーが出ているのなら、debian/rules を編集する。どのように編集するかは、lintian -iで表示される例でわかると思う。

build: build-arch build-indep
build-arch: build-stamp
build-indep: build-stamp
build-stamp: ......
と一手間をかけたほうがよさげ。

_ [Debian] Lintian W:format-3.0-but-debian-changes-patch

(http://lintian.debian.org/tags/format-3.0-but-debian-changes-patch.html)で出てくる奴、debian/source を 3.0 (qulit)にしたが、でっかい1つのpatch debian-changes-VERSION patch で運用されている場合にでる。

ケースバイケースだが、quiltで細かく分割するか、debian/source/optionに'single-debian-patch'を書く方法 --- 説明は、man dpkg-source の'debian/source/options'を参照せよ

後日談、結局 quilt rename -P orig newname でパッチの名前を変更して、DEP-3のフォーマットでパッチの記述を埋めて、ついでに sectionをeditorから lisp に変更して upload しておきました

_ [Debian] quilt は、debian/source/format が 3.0(quilt)の場合build時に必要なので、debian/control で記述される build-dep に入れる必要があるのではないか?

patchをquiltで管理するのでなければ、build-depにquiltを入れる必要なないのではないか?単にスタイルの話なので。という会話をした。

後日談、wiki.debian.org の 3.0 quilt の話で、そのままの QAがあった。のを発見

_ [Debian] hardening:dpkg-buildflags

hardening-checkプログラムで、strcpyやmemcpyなどの関数を使っていると、hardeningを使っていても、Fortify Source Fuctions:がNoになることがある。false positive。そのため、linitian の override をすることで lintian を黙らせる。

メンテナーガイド 5-13(http://www.debian.org/doc/manuals/maint-guide/dother.ja.html#lintian)を参照する。

ここでのtipsは、新しい形式のパッケージ(debhelper 7 and/or CDBS)でパッケージ作成を行う。または、旧式のパッケージ方式なら、dh_lintianをdh_md5sumおよびdh_builddebの前で実行する。です。


2012-07-10 [長年日記]

_ [Debian] Maintainer Dashboard

maintainer dashboadこれで、自分のパッケージのダッシュボード。自分のemail addressを入れる。


2012-07-11 [長年日記]

_ kvmで日本語変換キーを押下すると"no scancode found for keysym 0"と表示されて、日本語入力モードにならない。

kvm の -k ja オプションを使っていると発生する。たしかに外して起動すると日本語入力ができる。

_ RCバグの一覧

DebianのRCバグは、Release-critical bugs status(http://bugs.debian.org/release-critical/)よりは、Ultimate Debian Database (UDD) の "Bugs Search: multi-criteria search engine for bugs"を利用したほうがいいのね

_ 直すのが難しいなら、Request for Help(RFH)

対処しようとして、自分だけで対処できない bug なら、 Request For Help(RFH) をだして、助力が必要だというのも必要。

_ DayTrip参加せず

hacklabで体力温存、ほかに数名作業している。クーラーが効き過ぎな以外は静かだし、回線の調子も上々で快適だ。

_ [Debian] chromium-browserの拡張プログラムを Debian Squeeze でも開発するには、

chromeと同じように、あるディレクトリに、html、js,pngなどを配置して読み込む。

詳しくは、Google Chrome Extensions (拡張機能) を作ってみる(http://www.serendip.ws/archives/3823)を参照した。残念ならfastladderはサービスが止まっているので、実際に全機能は試せないが、どのようなファイルが必要でどんな関係なのか?がわかる。

_ [Debian] hardeningのお供に --- blhc, hardening-check

debuildなどのログをテンポラリーファイルに落として、そのログファイルをblhc --- build log hardening check に食わせると、コンパイル時およびリンカへの指示が、hardeningの意図どおりに渡されているかを確認できる。パッケージ名は、コマンドと同じ、blhcです。

hardening-checkは、バイナリがhardeningされているかどうかを確認できる。ただし、ある条件下で誤検知する場合があるので最終的には、strcpy,memcpyなどの関数が使われている場合は、プログラムを見て誤検知であると確信できたら、lintianに指示して誤検知のエラーを無視するように伝える。

もちろん、無視していることはログにも残るので、自分がエラーを抑制しているのは、記録に残る。パッケージ名は、hardening-includesに入っている。

_ [Debian] experimental

試験版(experimental)(http://www.debian.org/doc/manuals/developers-reference/resources.html#experimental)の記述だけだとピンとこないが、freezeしているときに、unstableに新しいパッケージを突っ込んで、バグがあるとリリースマネージャからおしかりをうける。

そのため、この期間中は、ITPするようなものは、experimentalにいれておくのが良いそうだ。

もちろん、新しいstableがリリースされたら、unstableへdputすること。


2012-07-12 [長年日記]

_ [Debian] git-buildpackage

手元で新しいパッケージを作るにあたって、ようやくgit-buildpackageを使い、パッケージ開発をしてみるテスト。タイミングを作ってやらないとダメね。

gitとquiltとの連携は、どうなるのかはちょっと使い込んでいくと判るのかな。

gitをそこそこ使ったことがあれば、git-buildpackageは快適に使える環境だと今のところは思う。これで git remoteなどを定義すれば、push/pullもできるしね

_ [Debian] scim-*をgtk2からgtk3へのtransition

岩松さんが作った scim-canna への patch をみると、scimがビルドできないRCバグの原因は、scimをgtk2からgtk3へtransitionさせる必要があるのにできていない点にある。ような感じ

例えば、scim-primeのソースコード中に、GtkOptionMenuが使われているが、こいつはgtk2.4までサポートされており、gtk3では削除されている。代わりにgtk3のGtkComboBox APIを使えってことらしい。他にもtooltipsやvbox,hboxなど他のディストリビューションのことも考えて、#if !GTK_CHECK_VERSION(2, 12, 0)とかでバージョンチェックをして、gtk2およびgtk3の両方でコンパイルさせる。


2012-07-13 [長年日記]

_ [Debian] sbuild

/var/lib/sbuild/build
/var/lib/sbuild/apt-keys
/usr/bin/sbuild-shell
/usr/bin/sbuild-upgrade
/usr/bin/sbuild-unhold
/usr/bin/sbuild-hold
/usr/bin/sbuild-checkpackages
/usr/bin/sbuild-abort
/usr/bin/sbuild-distupgrade
/usr/bin/sbuild-update
/usr/bin/sbuild-clean
/usr/bin/sbuild
/usr/bin/sbuild-apt
/usr/sbin/sbuild-createchroot
/usr/sbin/sbuild-adduser
/usr/share/man/man1/sbuild-checkpackages.1.gz
/usr/share/man/man1/sbuild-apt.1.gz
/usr/share/man/man1/sbuild-update.1.gz
/usr/share/man/man1/sbuild-abort.1.gz
/usr/share/man/man1/sbuild-shell.1.gz
/usr/share/man/man1/sbuild-hold.1.gz
/usr/share/man/man1/sbuild.1.gz
/usr/share/man/man1/sbuild-clean.1.gz
/usr/share/man/man1/sbuild-unhold.1.gz
/usr/share/man/man1/sbuild-upgrade.1.gz
/usr/share/man/man1/sbuild-distupgrade.1.gz
/usr/share/man/man5
/usr/share/man/man5/sbuild.conf.5.gz
/usr/share/man/man8
/usr/share/man/man8/sbuild-adduser.8.gz
/usr/share/man/man8/sbuild-createchroot.8.gz
/usr/share/man/man7
/usr/share/man/man7/sbuild-setup.7.gz

2012-07-14 [長年日記]

_ gtk_combo_box_text_append

gtk2からgtk3に移行する手助けのドキュメントとして、Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry(http://developer.gnome.org/gtk/2.24/gtk-migrating-GtkComboBox.html)を参考にした。このドキュメントの「存在」は、かなりありがたかったのですが、これを見ながら、patchを作ろうかと作業していました。

作業を進めていくと、

GtkWidget *combo_box;
combo_box = gtk_combo_box_text_new ();
gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo_box), "First Item");
gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo_box), "Second Item");
gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo_box), "Third Item");
の例でgtk_combo_box_text_append の関数を使う例があるわけですが、実際にコンパイルすると、
scim_prime_imengine_setup.cpp:848:78: error: too few arguments to function 'void gtk_combo_box_text_append(GtkComboBoxText*, const gchar*, const gchar*)'
In file included from /usr/include/gtk-3.0/gtk/gtk.h:84:0,
                 from scim_prime_imengine_setup.cpp:29:
/usr/include/gtk-3.0/gtk/gtkcomboboxtext.h:79:15: note: declared here
scim_prime_imengine_setup.cpp:849:68: error: too few arguments to function 'void gtk_combo_box_text_append(GtkComboBoxText*, const gchar*, const gchar*)'
In file included from /usr/include/gtk-3.0/gtk/gtk.h:84:0,
                 from scim_prime_imengine_setup.cpp:29:
/usr/include/gtk-3.0/gtk/gtkcomboboxtext.h:79:15: note: declared here
のようなエラーが出て、引数の数がちがうんじゃねーの?とか怒られてます。ということで、今となってはドキュメントをそのままパクってもダメなので、ちょっとヘッダーファイルを確認してから、実際の使い方を学ばねばなりません。