最新 追記

ポケットを空にして。

1985|10|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2100|01|

「人の心に残るというのが大事」と言う話。

何か連絡がある場合はメールでどうぞ(過去の日記へのツッコミは基本的にみていません)
プレゼントは随時受け付けております :-) ここ最近のツッコミ/トラックバックリスト。

  1. nogajun (05-21)
  2. henrich (05-20)
  3. ただただし (05-19)


2012-05-08 [長年日記] この日を編集

calibre が起動しない

(python)henrich@hp:~/working/python$ calibre
Segmentation fault

原因を探す。

(python)henrich@hp:~/working/python$ querybts calibre
Querying Debian BTS for reports on calibre...
25 bug reports found:
 
Bugs with severity grave
   1) #668314  calibre: crash on start - python-sip api change related
   2) #671809  calibre: Calibre segfaults on startup. likely python-sip related
 
Bugs with severity serious
   3) #640021  contains copypasted descriptions of eg, comics without copyright  [RESOLVED]
 
Bugs with severity important
   4) #609705  Trying to "edit metadata" cause calibre to freeze
   5) #611194  calibre: Calibre freezes when I try to convert books
   6) #611242  strips out enumerated lists from RSS feeds
   7) #646128  Conversion to MOBI-format fails, if X Window System is not present
(1-7/25) What would you like to do next [N|b|m|r|q|f|e|?]? 

あー、いきなりあった。#668314#671809 ね。
直し方がパッと分からないが、とりあえず pbuilder でリビルドしてみるか。

$ apt-get source calibre
$ cd calibre-0.8.49+dfsg/
$ dch --nmu
$ debuild -S -us -uc
$ sudo pbuilder --create
$ sudo pbuilder --build ../calibre_0.8.49+dfsg-0.2.dsc
$ sudo dpkg -i /var/cache/pbuilder/results/calibre*.deb

…治ってしまった。なんだこれ。

calibre-debug というコマンドが起動しない。

henrich@hp:~/working/python$ calibre-debug
Traceback (most recent call last):
  File "/usr/bin/calibre-debug", line 19, in 
    sys.exit(main())
  File "/usr/lib/calibre/calibre/debug.py", line 248, in main
    ipython()
  File "/usr/lib/calibre/calibre/__init__.py", line 714, in ipython
    ipython(user_ns=user_ns)
  File "/usr/lib/calibre/calibre/utils/ipython.py", line 87, in ipython
    return old_ipython(user_ns=user_ns)
  File "/usr/lib/calibre/calibre/utils/ipython.py", line 76, in old_ipython
    from IPython.Shell import IPShellEmbed
ImportError: No module named IPython.Shell

単に iPython が入っていないだけ。忘れないうちにBug#672192として登録。


2012-05-14 [長年日記] この日を編集

商標移譲の作業諸々

あと一息?コンタクト取れるといいな

方針

さっさと決めないとね。とりあえず、体制アナウンスは出した


2012-05-16 [長年日記] この日を編集

XZでパッケージサイズが一割縮んだ

bug#672428を適用してもらったので、texlive-latex-extra-docパッケージのサイズが300->270MBに減りました


2012-05-18 [長年日記] この日を編集

tdiaryを3.1.3にしたら動作が変になってしまった

一旦3.0に戻す。h1 タグの前に出力されているのが

 < html lang="ja-JP" >
 < head >
 
 < /head >
 < body >
 < div class="whole-content" >

これだけ、というのは何ともおかしい。

本日のツッコミ(全2件) [ツッコミを入れる]

_ ただただし [headの中身はすべてプラグイン(00default.rb)が生成しているので、プラグインが実行されない(もしくは見..]

_ henrich [おー、その通りですね! 00default.rb がパッケージに入っていません。後で直しておきます。]


2012-05-19 [長年日記] この日を編集

00default.rbが無かった→バグ報告へ

たださんの指摘がピンポイントで大変ありがたい。さっそくDebian BTSへバグ報告した。
で、直そうと思ったのだが、他のバグも踏む。こっちはよろしくないなぁ。 今回のアップデートでもう一つのと合わせて3つ踏んだ。

…いや、もう一個あった。

東京エリアDebian勉強会参加

自分の発表の時は眠くてまったく何話しているか全然わからん状態だったことをここに告白します。

その他、キーワードだけ

  • Ruby -> たのしいRuby がおすすめ
  • プログラム設計の着想 / 続・プログラム設計の着想
  • shebang の /usr/bin/env ruby みたいなのは harmfull なんじゃね? → でもシチュエーションが限られていたりすると変更コストに見合わねんじゃね?

2012-05-20 [長年日記] この日を編集

m-a で broadcom-sta-source がビルドできなかった

--- modass/compliant.list	2011-06-30 05:27:27.000000000 +0900
+++ ../compliant.list	2012-05-20 23:35:41.179282236 +0900
@@ -2,6 +2,7 @@
 acx100-source
 alsa-source
 bcm5700-source
+broadcom-sta-source
 cdfs-src
 cloop-src
 comedi-source

できた。一体いつからできなかった?…というか、前はどうしたんだろうか。dkmsでやっていたのかな。
→とりあえずwishlistでバグ登録しておいた

dkmsって今動いているカーネルに合わせてビルドするんだっけ

新しく入ったカーネルにも合わせてビルドもしてくれるんだっけ。記憶曖昧。

LiveCDから適切に日本語デスクトップ環境をインストールするにはどうするのがよいか

メタバグ的。のがじゅんさんところのエントリをみて、忘れないようにメモだけ。
Debian Wikiの方にも追記した。

本日のツッコミ(全1件) [ツッコミを入れる]

_ nogajun [live-installerは一度、諦めて投げたのですが、またちょっと頑張ってみます。 あとLiveCD自体の日本語..]


2012-05-21 [長年日記] この日を編集

debian BTSの問題点

  • メールインターフェイスしか無い点。
  • 武骨な画面
  • コードレビューシステムの欠如

2012-05-24 [長年日記] この日を編集

lintian fix

build-depends-on-obsolete-package
build-depends: dpatch

quiltへの移行がめんどいな…
何も知らない頃に tarball in tarball な形にしてしまっているので、debian/rules 内で展開してから dpatch で当てるようにしてしまっている。うーん、version-revisionからepochを付けて 1:version-revision にして、ソースを展開しなおす方が良いだろうか。

dh_builddeb -- -Zxz の効果

フォントパッケージだが、かなり縮むものがある。2〜4割ぐらい縮む。2、30MBぐらいのやつとか、使っておく。

誤検出?

Finished running lintian.
 
WARNING generated by debuild:
Making debian/rules executable!

当然というか何というか、debian/rules は +x されているし、複数回すると出てこない。

poppler-data パッケージをアップデートしました。

cmap-adobe-* と gs-cjk-resource のメンテナである武藤さんから許可をもらったので、変更を加えて unstable に投入しました。

poppler-data パッケージのデータは cmap-adobe-* と gs-cjk-resource と重複します。なので、整理をする必要がありました。方法としては

  1. cmap-adobe-* を一番の大本として poppler-data パッケージがそれに依存するダミーパッケージにする
  2. poppler-data パッケージ側で全データを提供して cmap-adobe-* と gs-cjk-resource は不要にする

のどちらかでしたが、後者を選んでいます。
理由としては

  • cmap-adobe* は確かに upstream ではあるのだが、バージョン番号つけてないのでトラッキングしにくい
  • poppler-data パッケージは、デスクトップ環境を選ぶと入るようになっているので、ユーザー側の利便性が高い
というところです。

binary hardening

loqui の更新版を build したが、lintian が hardening flag が有効になってないよーと warning を吐く。別のツールを使ってみたが、同様の結果。lintian が正しいようである…。
ちょっとみてみると、直接 CPPFLAGS がいくつかの Makefile.am に書いてあった。とりあえず追記して patch にしたら Okay になったようにみえた、が、実際有効になってない orz

$ hardening-check /usr/bin/loqui 
/usr/bin/loqui:
 Position Independent Executable: yes
 Stack protected: yes
 Fortify Source functions: no, only unprotected functions found!
 Read-only relocations: yes
 Immediate binding: yes

もう少し作業してみよう


2012-05-26 [長年日記] この日を編集

リハビリ…間に合うかな

lintian warningを潰すだけのアップデートをちょこちょこと。binary-without-manpage は正直しょうがないので放置。

piuparts バグは今のところ無いので大丈夫。

debcheck はどこで一覧があったっけ…

Bug はあとからチェックして潰す方向で

build hardening は、面倒そう

なるべく最新版を入れる…のはできた。

debパッケージをxz圧縮するのはどんなトレードオフがあるか

d-d-a でのメールより

Please remember that packages in the base system[1] (and dependencies)
*must* currently use gzip as otherwise debootstrap will be unable to
install a system.
 
Additionally please only use xz (or bzip2 for that matter) if your
package really profits from its usage (for example, it provides a
significant space saving). While those methods may compress better they
often use more CPU time to do so and a very small decrease in package
size is hardly worth the extra effort placed on slower systems. Think of
both user systems and the Debian buildds which will waste more time - an
especially bad problem on slower architectures.
  • base system では gzip 使わないと debootstrap が動かねぇ
  • 効果があるときだけ使え
  • buildd の CPU 時間を浪費させんな - 特に遅いアーキテクチャで

うーん。でも今のところ、arch:all なファイルは結構割合いいんだよね… buildd のことも考えなくても良いし。

arch: all, i386, amd64 だけ有効にしちゃうっていうアプローチはないのかな

arch: all パッケージをまず全部取ってきて hook しかけて xz でビルドするようにするとわかりやすい?


2012-05-27 [長年日記] この日を編集

pbuilder の hook

bash指定しなければいけないというのを踏んだ。直るといいな。

loqui hardening

libloqui/Makefile.am:110: `:='-style assignments are not portable
libloqui/Makefile.am:28: `CPPFLAGS' is a user variable, you should not override it;
libloqui/Makefile.am:28: use `AM_CPPFLAGS' instead.
libloqui/protocols/jabber/Makefile.am:36: `:='-style assignments are not portable
libloqui/protocols/jabber/Makefile.am:27: `CPPFLAGS' is a user variable, you should not override it;
libloqui/protocols/jabber/Makefile.am:27: use `AM_CPPFLAGS' instead.
src/Makefile.am:75: `:='-style assignments are not portable
src/Makefile.am:43: `CPPFLAGS' is a user variable, you should not override it;
src/Makefile.am:43: use `AM_CPPFLAGS' instead.

というログが出てきたので、こんなパッチ。

Index: loqui-0.5.3/libloqui/Makefile.am
===================================================================
--- loqui-0.5.3.orig/libloqui/Makefile.am       2012-05-27 03:44:52.188412512 +0900
+++ loqui-0.5.3/libloqui/Makefile.am    2012-05-27 03:50:19.996933067 +0900
@@ -25,7 +25,7 @@
 SUBDIRS = . protocols
 
 INCLUDES = $(GLIB_CFLAGS) $(GNET_CFLAGS) $(EXTRA_WARNING_CFLAGS) -I$(includedir) -I$(top_srcdir) -DG_LOG_DOMAIN=\"libloqui\"
-CPPFLAGS = -g -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes
+AM_CPPFLAGS = -g -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes
 
 %.c %.h %-private.h: %.gob
        gob2 --always-private-header $<
Index: loqui-0.5.3/libloqui/protocols/jabber/Makefile.am
===================================================================
--- loqui-0.5.3.orig/libloqui/protocols/jabber/Makefile.am      2012-05-27 03:44:52.188412512 +0900
+++ loqui-0.5.3/libloqui/protocols/jabber/Makefile.am   2012-05-27 03:50:40.108964981 +0900
@@ -24,7 +24,7 @@
 
 INCLUDES = $(GLIB_CFLAGS) $(GNET_CFLAGS) $(EXTRA_WARNING_CFLAGS) -I$(includedir) -I$(top_srcdir) -DG_LOG_DOMAIN=\"libloqui\"
 
-CPPFLAGS = -g -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes
+AM_CPPFLAGS = -g -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes
 
 %.c %.h %-private.h: %.gob
        gob2 --always-private-header $<
Index: loqui-0.5.3/src/Makefile.am
===================================================================
--- loqui-0.5.3.orig/src/Makefile.am    2012-05-27 03:44:52.188412512 +0900
+++ loqui-0.5.3/src/Makefile.am 2012-05-27 03:50:05.548910139 +0900
@@ -40,7 +40,7 @@
 bin_PROGRAMS = loqui
 
 INCLUDES = -I$(includedir) -I$(top_srcdir)/libloqui -I$(top_builddir)/libloqui -I$(top_srcdir) -I$(top_builddir) -DG_LOG_DOMAIN=\"Loqui\"
-CPPFLAGS =  $(GTK_CFLAGS) $(EXTRA_WARNING_CFLAGS) -g -DDATADIR=\""$(datadir)"\" $(GNET_CFLAGS) -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes
+AM_CPPFLAGS =  $(GTK_CFLAGS) $(EXTRA_WARNING_CFLAGS) -g -DDATADIR=\""$(datadir)"\" $(GNET_CFLAGS) -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes
 
 
 loqui_SOURCES = \

で、build時には -D_FORTIFY_SOURCE=2 使おうとしているように見えるのだが、

gcc -DHAVE_CONFIG_H -I. -I.. -I/usr/include -I../libloqui -I../libloqui -I.. -I.. -DG_LOG_DOMAIN=\"Loqui\" -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12    -g -DDATADIR=\""/usr/share"\"  -Wall -Wredundant-decls -Wmissing-declarations -Wmissing-prototypes -D_FORTIFY_SOURCE=2  -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -c loqui-channel-entry-ui-data.c

ダメなんですなー

Setting up lintian (2.5.7) ...
+++ lintian output +++
I: loqui source: quilt-patch-missing-description CPPFLAGS
W: loqui: hardening-no-fortify-functions usr/bin/loqui
W: loqui: binary-without-manpage usr/bin/loqui
+++ end of lintian output +++

追記: AM_CPPFLAGS じゃなくて AM_CFLAGS 使う方がいいよ、と教えて貰った。あと今回の場合は hardening-no-fortify-functions でも大丈夫っぽい。

hardening、また別のパッケージでハマる

基本的には debhelper (>= 9) を使っていれば基本的なフラグが有効になる。
加えて、debian/rules に以下を記述していると使えるフラグが全有効になる。

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

「Additionally there are two features, which are not enabled by default:」

  • Position independent executables (not enabled by default due to potential build failures)
  • -z now (not enabled by default due to potential application startup slowdown)

potential failure とか slowdownとか。ひっかかるなー

結論: man dpkg-buildflags せよ!

Multi-Arch 対応

Debian Wiki のページみればできるよ!


2012-05-28 [長年日記] この日を編集

続: poppler-data パッケージ

前回に引き続きちょこちょこ直す。
あとはバグレポートも貰っている description の更新かな、パッケージ内容も若干変わってるし。でも英語苦手…

デカめのフォントパッケージは xz 圧縮するべきではないかと思い始めている

日本語フォントパッケージはあらかたやる方が良いと思ったので、気づいたら作業かな。

あとで proposal 作って投げておこう…


2012-05-29 [長年日記] この日を編集

ReleaseGoals: RunDirectory

やっかいなの(理解するのが面倒なの)があるな…

please consider to compress your package with xz

とりあえず投げました

$ du -m fonts-*.deb
(snip)
43      fonts-horai-umefont_439-1_all.deb
25      fonts-horai-umefont_439-2_all.deb
13      fonts-mikachan_9.1-6_all.deb
5       fonts-mikachan_9.1-7_all.deb
20      fonts-unfonts-core_1.0.2-080608-5_all.deb
15      fonts-unfonts-core_1.0.2-080608-6_all.deb
11      fonts-unfonts-extra_1.0.2-080608-4_all.deb
7       fonts-unfonts-extra_1.0.2-080608-5_all.deb
42      fonts-yozvox-yozfont-antique_13.08~beta17-dfsg-1_all.deb
30      fonts-yozvox-yozfont-antique_13.08~beta18-dfsg-1_all.deb
29      fonts-yozvox-yozfont-cute_13.08~beta17-dfsg-1_all.deb
21      fonts-yozvox-yozfont-cute_13.08~beta18-dfsg-1_all.deb
30      fonts-yozvox-yozfont-edu_13.08~beta17-dfsg-1_all.deb
21      fonts-yozvox-yozfont-edu_13.08~beta18-dfsg-1_all.deb
30      fonts-yozvox-yozfont-new-kana_13.08~beta17-dfsg-1_all.deb
21      fonts-yozvox-yozfont-new-kana_13.08~beta18-dfsg-1_all.deb
41      fonts-yozvox-yozfont-standard-kana_13.08~beta17-dfsg-1_all.deb
30      fonts-yozvox-yozfont-standard-kana_13.08~beta18-dfsg-1_all.deb

有効さは上記で分かるかと。

追記: Kan-Ru と Christian は乗り気の様子


2012-05-30 [長年日記] この日を編集

Debianパッケージで xz 圧縮というのは3つの意味がある

というのを投げた。

lintianの誤検出修正らしく

    + [NT] Skip hardening-no-fortify-functions for binaries only
      using the unprotected memcpy.  This greatly reduces the
      number of false positives for binaries compiled with
      gcc-4.7 -O2 (or higher optimization).  (Closes: #673112)

おー、もう一度引っ掛けてみるかな。

blhc

build log を見て本当に hardening を有効にしているのか確認してくれるツール
いつの間にかまたアップデートされているな。