最新 追記

ポケットを空にして。

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|

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

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


2012-07-01 [長年日記] この日を編集

通貨換算

1ニカラグアコルドバは 3.4円程度です。


2012-07-02 [長年日記] この日を編集

OpenStreetMap用Androidクライアント

ざっくり見た感じではOsmAndあたりがよさそう。他の方の意見も伺いたいところ。


2012-07-03 [長年日記] この日を編集

apacheのログ加工

Apacheのログを下ごしらえ。

$ for log in *.log; do cut -d' ' -f7,10 $log |grep pool >> whole-data.txt; done
 
/debian/pool/main/i/installation-report/installation-report_2.44_all.deb 18914
/pub/Linux/Debian/pool/main/b/bind9/libdns69_9.7.3.dfsg-1+b1_i386.deb 667369

あとはスクリプトで処理。


2012-07-12 [長年日記] この日を編集

どんなメール環境でも自由ですが、信用できないspamフィルタで誤爆ばかりしているのを理由にするのはどうかと思います。

1、2回ならあぁ、あるよねーですが。(私も誤爆しているのが0ではないので)
個人マターならどうでもいいんですが、グループで見ていることを前提にしていて責務があるような場合は何らかの手段を講じて欲しいところです。別手段を模索するのは、そんなにハイコストなんですかね?

追記:まぁちょっと気が立ってたかな…。意見は変わりませんが、コミュニケーションとるべきですね、私も。


2012-07-13 [長年日記] この日を編集

security.debian.org ミラーを日本で提供するためには。

A security mirror (as a mirror serving requests to security.debian.org) is a
machine :
* whose admin is DSA
* real machine not VM
* which as out-of-band access, like IP KVM, iLO
* not firewalled
* redundant disk/PSU/fans
* under warranty or support so that it gets fixed in case of failure
 
Still, it's a summary of DSA words on previous mails, and DSA has the last word
regarding whether a machine can become debian.org.

要件は上記のとおり。要件をクリアしていても最後はDSAの判断による。まぁでも要件が分かれば話はしやすい。

ウェブページの翻訳コーディネーター

Enricoさんのところから、 Debian ウェブページの翻訳コーディネータ、これ実状とあっているのかな…? MIAな人もいるような。

my first talk in DebConf BoF

初めてのDebConfでの発表、なんとか終わりました。発表後の議論はネイティブスピードでついていけなかったですが、まぁそれはそれ。

反省点:

  • 体揺らしすぎ。もっと落ち着いて。
  • 前かがみだなーもっと胸張って。
  • 言葉が出てこない。もっと練習、練習、練習。

まぁ、初めてにしては上出来だろうと自分で褒めてやろう、というぐらいにしておきましょう。うん。


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

Debian関連のウェブサイトについての見解の相違を話し合ってみた

忘れそうなのでタイトルだけ書いておく。後で書くメソッド発動。

to put subversion 1.7 to Wheezy

現状、blockされていた

# 20120627
# 1.7 causes breakage in reverse deps
# e.g. 678845 678203 678137 678791 678760 678559 678783 678773
block subversion
------------------------------------------------------------------------------
678845 was solved
678203 was solved
678791 was solved
678760 was solved
678783 was solved
678773 was solved
------------------------------------------------------------------------------
http://bugs.debian.org/678559 not solved
http://bugs.debian.org/678137 not solved

2012-07-17 [長年日記] この日を編集

vim+pythonでエラーが出るように

vi: symbol lookup error: vi: undefined symbol: init_hashlib

あれー、なんだろな。

追記: Bug#681599 だった様子。

発表にコメントをもらった

も一度パラメータを変えて実験実験。


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

Cableの語源

それなりに見る言葉の語源が。なるほど。

net-snmp パッケージ

なんか古いんですが…。
いつの間にかgitリポジトリに移行していた。5.7.1ブランチもあるようなんだが、なぜリリースしてないのか理解に苦しむ
とりあえず、ちょっと見てみることにしよう。

見た。messyなのでrulesをちょっと整理したり。dh 9使うとビルドこけるね…移行するか。
setup.pyでこける→ net-snmp-config が怪しそう

Software Design 2012/8号に記事を書きました。

Software Design 2012/8号

例によってDebianの紹介で、内容としては、1つは作られてしまった「パブリックイメージ」への反論を主としてみました。

  •  リリースって超不定期なんだよね?(→実際にはそうじゃないんだな)
  •  硬派な人しか使わない/使えない、ストイックなものなんだよね?(→全然ちゃうよー)

それから、「継続的にオンラインのみならず、face to faceでも活動をしている」コミュニティの紹介。ググるだけでは見えない部分にも触れています。

他の記事もごく一部を除いて自分の使うOS/distroへの愛に溢れています。
とりあえず、お手に取ってみてください。出来ればコメントなど頂けるとうれしいです。

実は査読時にダメ出しして、「俺にも書かせろ!」という展開だったのは秘密だよ。ひどい人ですねー


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

80000行のdiffを含む New upstream release を Freeze の後で Wheezy に入れてもらう方法

やあ (´・ω・`)
ようこそ。

このニカラグア産のラムはサービスだから、まず飲んで落ち着いて欲しい…ってぐらいにタイトルは釣りです。

その前に

E: python-svn-dbg: binary-or-shlib-defines-rpath usr/lib/python2.6/dist-packages/pysvn/_pysvn_2_6_d.so /usr/lib/x86_64-linux-gnu
E: python-svn: binary-or-shlib-defines-rpath usr/lib/python2.6/dist-packages/pysvn/_pysvn_2_6.so /usr/lib/x86_64-linux-gnu
E: python-svn: binary-or-shlib-defines-rpath usr/lib/python2.7/dist-packages/pysvn/_pysvn_2_7.so /usr/lib/x86_64-linux-gnu

を直さないといけなさそう→回避した

さて、RCバグの一覧を見ていたら pysvn パッケージのバグを見つけました。Subversion1.7 だとビルドに失敗するという内容です。で、upstream では新しいバージョンの 1.7.6 がリリースされていて、これは1.7に対応しているとのこと。
では、ということで1.7.6のパッケージを作ってみました。そしてdebdiffでdiffを…って80000行もあるわけですよ、これが。ここで二重の意味(フリーズ期間なのに新しいバージョンを入れる&差分が超でかい)で諦めそうになりますが、debdiffの内容を見ると、内包しているライブラリのバージョンが上がっていてその分肥大しているだけで、しかもそのライブラリはDebianパッケージでは外部のパッケージを参照していることに気づきました。そして、残りの大部分もWin32やMacOSX用の変更でした。

ここで、debian-release メーリングリストに対してメールを書きました
簡単にまとめると以下のようなものです。

  • Pros/Cons でメリットデメリットを述べて、メリットの方が大きいと説明
  • Subversion1.7 の block バグであり、解決すると 1.7 の導入に進むこと
  • 付記で pysvn 自体は安定しているはず、という見解を追記

これで、リリースマネージャーがやる気を見せて「pysvnに依存しているパッケージに悪影響がない?」と返信が。正直に「まだ分からない。とりあえず experimental に放り込んで、依存パッケージのメンテナにテストを呼びかけて、問題ない様であれば unstable に入れて unblock リクエストを BTS します」と返信。で、「いいね!」と来たのでアップロードしたのでした。

今回の教訓

  • フリーズ初期であれば RC を直すために new upstream release を入れることも可能ではある
  • その場合は、「必要な」差分があまりに大きすぎないこと
  • Pros/Cons をあげ、なぜメリットが大きいと判断したのかを述べる
  • いきなりunstableに突っ込むようなことをせず、experimentalへ入れて依存関係パッケージを確認するステップを忘れない

まだ実験は続く

gzip -9 (default) -> xz -0 (minimum compression)
 
henrich@hp:~$ du -sh ~/tmp/debian-mirror/
341G	/home/henrich/tmp/debian-mirror/
 
henrich@hp:~$ du -sh ~/tmp/recompressed-debian-mirror
310G	/home/henrich/tmp/recompressed-debian-mirror
 
xz -0 cuts 31GB for repository, reduce 10%.
 
With opneclipart-png 2.0 package
 
$ time tar xf data.tar.xz 
 
real	0m39.352s
user	0m39.058s
sys	0m1.496s
 
$ time xz -d data.tar.xz 
 
real	0m41.236s
user	0m37.746s
sys	0m0.728s
 
$ time tar xf data.tar.gz 
 
real	0m6.539s
user	0m6.224s
sys	0m1.528s
 
$ time gzip -d data.tar.gz 
 
real	0m5.945s
user	0m5.280s
sys	0m0.484s
 
$ du -k openclipart-png_2.0-2_all.deb
611912	openclipart-png_2.0-2_all.deb
 
henrich@hp:/tmp$ du -k openclipart-png_2.0-2_all.deb 
622192	openclipart-png_2.0-2_all.deb
 
"xz -0" compression is better than "gzip -9"
decompression is still worth, 7 times gzip -9 spend

libmtp の changelog に目を留めた結果、Sony Tablet P1 のサポートを(手元では)追加できた

色々とデバイスに対応追加してるのね。手持ちのには対応してるかな?
changelog の内容から Nexus で適当にソースを grep する。あ、debian/patches 以下で src/music-players.h に対してパッチ当ててる。じゃぁこれだ。

  { "Samsung", 0x04e8,
      "GT P7310/P7510/N7000/I9070/I9100/I9300 Galaxy Tab 7.7/10.1/S2/S3/Nexus/Note/Y", 0x6860,
      DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL |
      DEVICE_FLAG_UNLOAD_DRIVER |
      DEVICE_FLAG_LONG_TIMEOUT |
      DEVICE_FLAG_PROPLIST_OVERRIDES_OI },

ふむ。
で、Androidデバイスをつなげたときに何かログ出てないかなーと探したら /var/log/messages にあった。

Jul 19 02:12:23 x121e kernel: [56590.760150] usb 1-1: new high-speed USB device number 83 using ehci_hcd
Jul 19 02:12:23 x121e kernel: [56591.264182] usb 3-1: new full-speed USB device number 9 using ohci_hcd
Jul 19 02:12:23 x121e kernel: [56591.423583] usb 3-1: not running at top speed; connect to a high speed hub
Jul 19 02:12:23 x121e kernel: [56591.441066] usb 3-1: New USB device found, idVendor=04e8, idProduct=6860
Jul 19 02:12:23 x121e kernel: [56591.441079] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jul 19 02:12:23 x121e kernel: [56591.441087] usb 3-1: Product: SAMSUNG_Android
Jul 19 02:12:23 x121e kernel: [56591.441093] usb 3-1: Manufacturer: SAMSUNG

突きつけ合わせると、多分 USB ID から判別して処理してるんだろうねぇ。
では、Sony Tabletはどうかな?

Jul 19 02:26:57 x121e kernel: [57465.236504] usb 1-1: new high-speed USB device number 84 using ehci_hcd
Jul 19 02:26:57 x121e kernel: [57465.384326] usb 1-1: New USB device found, idVendor=054c, idProduct=04d1
Jul 19 02:26:57 x121e kernel: [57465.384339] usb 1-1: New USB device strings: Mfr=2, Product=3, SerialNumber=4
Jul 19 02:26:57 x121e kernel: [57465.384348] usb 1-1: Product: Sony_Tablet
Jul 19 02:26:57 x121e kernel: [57465.384354] usb 1-1: Manufacturer: SONY

あ、USB IDの方は問題なく出てきますね。プロダクトIDの0x04d1はlibmtpの方にあるのかな? grep してみる

  { "Nokia", 0x0421, "N73 Mobile Phone", 0x04d1, DEVICE_FLAG_UNLOAD_DRIVER },

あれ、これだけしかでてこない。登録されてません。
libmtp と "Sony Tablet" で適当にぐぐってみる。git repositoryに追加したぜ、とあるな。

1329   // Reported by ghalambaz 
1330   { "Sony", 0x054c, "Sony Tablet S1", 0x05b4,
1331       DEVICE_FLAGS_ANDROID_BUGS },

ん?これ 0x04d1 じゃないね。あ、手持ちのは「Sony Tablet P1」でした。
じゃ、パッチしてみよう

  // Reported by Hideki Yamane 
  { "Sony", 0x054c, "Sony Tablet P1", 0x04d1,
      DEVICE_FLAGS_ANDROID_BUGS },

これだけ。
どうやらID 登録依頼のトラッカーがあるので、 そちらに登録すればいいかな→やりました

Rhythmbox 変

Androidデバイスのプロパティを確認しようとすると落ちる…

henrich@x121e:~$ LANG=C rhythmbox
 
(rhythmbox:21898): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed
Segmentation fault

あと訳がおかしい部分がある。デバイスのはずなのに「iPodのプロパティ」と決め打ちになってるっぽい。

diff -urN rhythmbox-2.97.orig/po/ja.po rhythmbox-2.97/po/ja.po
--- rhythmbox-2.97.orig/po/ja.po	2012-06-03 17:03:43.000000000 +0900
+++ rhythmbox-2.97/po/ja.po	2012-07-19 17:58:22.866699843 +0900
@@ -1768,7 +1768,7 @@
 #: ../plugins/generic-player/rb-generic-player-plugin.c:97
 #: ../plugins/mtpdevice/rb-mtp-plugin.c:123
 msgid "Display device properties"
-msgstr "iPodのプロパティを表示"
+msgstr "デバイスのプロパティを表示"
 
 #: ../plugins/generic-player/rb-generic-player-source.c:1383
 #: ../plugins/ipod/rb-ipod-source.c:2006

GNOME の方を見ても同じなので、後でやっとこ→やっときました

これかなぁ…?

#define DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL 0x00000001
/**
 * This means that under Linux, another kernel module may
 * be using this device's USB interface, so we need to detach
 * it if it is. Typically this is on dual-mode devices that
 * will present both an MTP compliant interface and device
 * descriptor *and* a USB mass storage interface. If the USB
 * mass storage interface is in use, other apps (like our
 * userspace libmtp through libusb access path) cannot get in
 * and get cosy with it. So we can remove the offending
 * application. Typically this means you have to run the program
 * as root as well.
 */

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

手元でLucidな環境を作った。

pbuilder 使ってお手軽に。keyring見にいかない設定で4、5分ハマった。ubuntuのkeyringも入れてくれればいいのに。

sudo pbuilder --create --basetgz ~/tmp/lucid.tgz --distribution lucid --mirror http://ubuntu.mithril-linux.org/archives --debootstrapopts --no-check-gpg

で、LPにあったバグをとりあえず確認して、手元ではワークアラウンド処置を施しました。まだ作業途中なので、アップロードは後日。git 使って機能毎にブランチ切るようにしないとダメかもね…。

80000行の(略)、続き

$ grep-dctrl -F Depends python-svn -s Source -s Package /var/lib/apt/lists/*_Packages|sort|uniq
 
rabbitvcs-core@packages.debian.org
svn-load@packages.debian.org
svn-workbench@packages.debian.org
w3af-console@packages.debian.org

上記にメール。一週間反応待つかな。

net-snmp パッケージをアップデートしてもらうとしたらこんな感じ?

Pros)
 - net-snmp 5.7.1 is "LTS" by upstream. If we would put it to Wheezy, providing 
   security support is easier than 5.4.3 in current testing/unstable version.
   see http://www.net-snmp.org/download.html
 - It contains many bug fix since 5.4.3.
 - It also contains many MIBS, it'll help users.
 
Cons)
 - it is not suitable for basic freeze rule
 
note)
 - 5.7.1 is released 28th Sep 2011, almost 9 month ago, before Wheezy freeze.
   Any patches haven't been released since then.

Maintainer Dashboardを見て、debian/watchファイルがmasterブランチを見ていることに気づいた

で、tagsを見るように変えたら…アップデートされてるじゃないですか!追随してねぇ…orz
依存するパッケージも同様にしたり、アップデートもしたり、lintian warning潰したりしました。

Freeze 期間で FTBFS とかも起こしたくなかったので、experimental に突っ込みます。

あ、同じJavaパッケージチームのパッケージでいくつかまともにwatchしてないのがあったので、リストアップだけして送りつけておきました。作業は誰かやってくれるでしょう…

upstreamでは直したのでDebianパッケージに適用したい時は?

勉強会の後の宴会で質問が出たのでメモ

$ cd package-1.0-1 && patch -p1 < ../upstream_fix.patch
$ dpkg-source --commit
(メッセージが出るので適当なパッチ名にする)
(DEP3形式のパッチができるので適当にモディファイする)
(その他、debianディレクトリ以下のファイルで必要な変更を加える)
$ dch -i
$ debuild -S -us -uc && cd ../
$ debdiff package_1.0-1.dsc package_1.0-2.dsc > package1.0-1_package1.0-2.diff
(Debian BTS に Tags: patch で登録する)

2012-07-23 [長年日記] この日を編集

ubuntuのkeyringも入れてくれればいいのに

と先日も書いたが、前にもBTSにコメントしていた気がする…あ、あった、Bug#457899。議論と作業が止まったままである。とりあえずもう一言追記してつついておくことにする。

ttf-opensymbol という名前がアップデートの際に出てきて気になった

$ grep-dctrl -F Depends ttf-opensymbol -s Source -s Package /var/lib/apt/lists/*_Packages|sort|uniq

として、依存するパッケージを洗い出して BTS した。

次のターゲット

$ LANG=C apt-cache search ttf- | grep ^ttf- | grep -iv dummy| grep -iv transitional| sort | cut -d' ' -f1
ttf-adf-accanthis
ttf-adf-baskervald
ttf-adf-berenis
ttf-adf-gillius
ttf-adf-ikarius
ttf-adf-irianis
ttf-adf-libris
ttf-adf-mekanus
ttf-adf-oldania
ttf-adf-romande
ttf-adf-switzera
ttf-adf-tribun
ttf-adf-universalis
ttf-adf-verana
ttf-aenigma
ttf-alee
ttf-ancient-fonts
ttf-anonymous-pro
ttf-atarismall
ttf-bitstream-vera
ttf-dejavu
ttf-dejavu-core
ttf-dejavu-extra
ttf-denemo
ttf-engadget
ttf-essays1743
ttf-femkeklaver
ttf-georgewilliams
ttf-goudybookletter
ttf-isabella
ttf-jsmath
ttf-kochi-gothic
ttf-kochi-gothic-naga10
ttf-kochi-mincho
ttf-kochi-mincho-naga10
ttf-marvosym
ttf-mscorefonts-installer
ttf-radisnoir
ttf-root-installer
ttf-sazanami-gothic
ttf-sazanami-mincho
ttf-sjfonts
ttf-staypuft
ttf-summersby
ttf-tagbanwa
ttf-tiresias
ttf-unifont
ttf-wqy-microhei
ttf-wqy-zenhei
ttf-xfree86-nonfree
ttf-xfree86-nonfree-syriac

2012-07-25 [長年日記] この日を編集

subversion1.7 を Wheezy へ入れ込むための戦い

WheezyのFreezeより結構前にsubversion1.7がパッケージングされてunstableに入ったから、Wheezyのsubversionは1.7だよね、とか思ってたそこの人。甘い。ニカラグアのマックで出されるアイスコーヒーより甘い
実はリリースマネージャーが「1.7入れると動かなくなるパッケージ結構あるからリリースに入らないようブロックなー」と手動でblock対象にしてたんですな。

で、それを見つけたので関連するバグを確認して、該当パッケージの一つをexperimentaへアップデートしました。
次のステップは関連パッケージが最低限動くことを確認。svnload は問題無しrabbitvcs は今のところ問題無し、残りはsvn-workbenchとw3af-consoleとなりました。

これが確認が終われば各パッケージをunstableに突っ込み、2週間ぐらいしてバグ出てこなければ unblock requestでpysvn関連は終了ですね。

そして後一つバグ潰せば、晴れてblocklist対象がなくなって subversion1.7 は Wheezy に入ります。

で、svn-workbench

Orphan されてんでやんの…で、よく見たらpysvnと同じところでリリースされてたんですね。最新版なら対応してるよ、と。
またリリースチームにお手紙を書くだけの仕事が始まったぉ。。。


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

Debian関連のウェブサイトについての見解の相違を話し合ってみた、の続き。

だいぶ忘れているのだけど、書いてみることにした。
まず、私は現在の debian.org のウェブサイトが見やすいとは思っていません。 これはデザインの欠如だよな、と感じています。
修正しようとしても、現在持っているコンテンツの移行、利用している技術(wmlやcvs) などの絡みでかなり面倒であるという認識です。

CDのページを見ても、 パッと何がなんだかわからないのです。ダウンロードのページ までたどり着いても、アーキテクチャの一覧で戸惑うのではないか、と思います。私はここで

  • アーキテクチャを基本意識させない(i386 -> 32bit版、amd64 -> 64bit版 などで表示)
  • 後はその他で別ページにする

という意見を述べました。これは

  • 利用者は圧倒的な割合で i386 と amd64 を求めてきている。
    これは以前にパッケージのダウンロードを分析した際にも明らかになっている。コンビニの商品棚のように適切なページサイズに表示できるものの量は限られている。求められているものをまず表示すべき。
  • 分かっていない人に選択肢を与えすぎるのは不幸。「アーキテクチャ」で混乱させるべきではない。
  • IA64 を、「Intel の 64bit だから」とダウンロードして使おうとする人もでるだろう。不幸なので別ページに分けておくほうがよい。間違えられるような可能性がかなりあり、かつ利用者が少ないので、この方が好ましいはず。また、本当にIA64が欲しいような層の人には適切な閾値であり、問題ではない。

という考えに基づくものです。

矢吹さんは、これに対して反論されたのですが、私の意見は上記のとおりでした。 実際、こんな例(「amd64ってデスクトップ版なのかな」)もあるようですし。

自分と意見が違う人と議論するのは、結構面白いです。