Showing posts with label Leopard. Show all posts
Showing posts with label Leopard. Show all posts

Friday, April 11, 2008

My Spotlight in Leopard goes mad

数日前から Spotlight が index を何度も作成しようと試みるようになった。



コンソールにはこんなログが

08/04/11 4/11(金)16:18:04 mds[2477] /SourceCache/Spotlight/Spotlight-398.7/index/ContentIndex/FlatStore.c:706: failed assertion 'pageSize > 0' /.Spotlight-V100/Store-V1/Stores/E67A0F96-8AFF-43AF-B2AD-6665DE9CAD94/2.indexArrays flat store
08/04/11 4/11(金)16:18:04 mds[2477] (/)(Error) IndexCI in mergeIndexDataTrampoline:Caught mach exception. Fun Fun Fun.
08/04/11 4/11(金)16:18:04 mds[2477] /SourceCache/Spotlight/Spotlight-398.7/index/ContentIndex/CIMerging.c:216: failed assertion '!buffers->badIndex' /.Spotlight-V100/Store-V1/Stores/E67A0F96-8AFF-43AF-B2AD-6665DE9CAD94/0.indexHead corrupt ro index need to rebuild 0.
08/04/11 4/11(金)16:18:07 ReportCrash[2635] Formulating crash report for process mds[2477]


残念ながら、いろいろ調べてみたけど解決しないので、Leopard を再インストールすることに決めました。

Thursday, March 6, 2008

public.generic-pc.icns

Leopard の Finder には Windowsファイル共有のホストが見つかると PC を表すアイコンが表示されます。
通常は Finder のサイドバーに小さく表示されているだけなのであまり気にしてなかったのですが、ある日じっくり見てみると...。



Tiger までのアイコンの最大サイズは 128x128 だったんですが、Leopard から 512x512 になって (たぶん)640x480で表示されるあの画面の文字が辛うじて読み取れます。

アイコンファイルはココにあります。
/System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/public.generic-pc.icns

Wednesday, February 20, 2008

VirtualBox beta3

MacWindows.com に VirtualBox beta3 がリリースされ、ホストOSとして Leopard もサポートされたと書いてあったので早速試してみた。



GUI はヤバイくらいダサく(OS9時代に作ったのか?)、メニュー項目に "About" が無く、Windows版と同じリソースを使っているのかショートカットのアルファベットが書いてあったり、かなりダメだが、



Parallels 2.0 のように Linux ゲストの時計を同期させる機能が欠如していたり(3.0 では対応したらしい)、VMWare のように VMWare tools を入れるという面倒なことをしなくても時計はホストと同期がとれているようだ。

Ubuntu の iso で起動させてみただけで、まだ分からないけど、Parallels も VMWare もMac 版は無料ではないので VirtualBox でもよいかもしれない。

Sunday, January 27, 2008

NSPreferredMailCharset on Leopard

Apple の Mail.app にはユーザーがデフォルトで使用する送信メールのエンコーディングを選択できないという欠陥があります。新規にメールを作成する毎にはメニューから選択することにより変更できますが、環境設定の項目にはありません。

Tiger では defaults コマンドで NSPreferredMailCharset を設定することにより送信メールのデフォルトエンコーディングを設定することができたのですが(Apple のサポート情報)、Leopard ではその機能が縮退してしまっているようで動作しません。

日本語環境で利用している場合にメールを新規作成すると初期のエンコーディングは「自動」となっていて、たいていの場合はよろしくやってくれる(たぶんutf-8になる)のですが、たまに "簡体字中国語(Big 5)" で送ってくれたりしやがるので、「ヒロシさんまたメールが文字化けしてるんですけど」というクレームに Mac ユーザーとして恥ずかしくなり、デフォルトのエンコーディングを設定するプラグインを作りました。

自分だけが利用する分には ISO-2022-JP 固定で問題ないので、現状のバージョン (0.1) ではソースコードにハードコーディングしてしまっていますが、他のエンコーディングにしたい人はリクエストください。

Apple の日本やヨーロッパの法人がその問題に気がついていないのか、力が弱いのかわかりませんが、Mac の svn で濁点などが含まれるファイル名を扱うときの問題といい、 Apple のアメリカ人的考え(ascii, latin-1 以外のエンコーディングのことをまじめに考えていない)には残念に思います。

Friday, November 23, 2007

Subversion Precomposed UTF-8 patch

前回 Rails on Leopard で紹介したノートの一部でもパッチをあてた Subversion のビルド方法を書いたけど、もう少し詳しく解説します。

簡単に言うと、 Windows を使っている人と Mac を使っている人が Subversion のリポジトリを共有している場合に、 Windows からリポジトリに追加した日本語ファイル名のファイルを Mac で checkout すると svn status などを実行したときにファイルがダブっているように見えて正常に扱えないことがあります。(Mac -> Win の場合でも同様の問題が発生する)

Mac OS X ではファイル名を UTF-8 で保存するときに濁点、半濁点などを decompose (分解) してから保存してしまうために、リポジトリ内のファイル名の文字列と一致しなくなってしまうのが原因。

例えば、「ステージングテスト.xls」という Windows からリポジトリに追加されたファイルを Mac で checkout すると、「ジ」と「グ」は濁点が別の文字として切り離されてファイルシステムに保存されてしまい、リポジトリとワーキングコピーを比較するようなコマンドを実行すると、別々のファイルとして扱われてしまう。

ちょっと話は変わりますが、
僕は仕事で rails のアプリケーションを開発していまして、Tiger のときは VMWare に CentOS(Linux) を入れて、ターミナルから全ての作業をやってましたけど、 Leopard には最初から Rails がインストールされていたりするので、 Mac をネイティブに rails の開発環境として使おうと決心しました。
この Subversion の問題は致命的でした。

Subversion のバグトラッキングシステムには、すでにこの問題(issue - 2464)が2005年12月の段階で指摘されているのにまだ修正(改善?)されていないので、他力本願ではダメだと思い、解決方法を調べてみました。

なんとか到達した僕の解決方法は、svn コマンドが Mac 上でファイル名を扱う時には、ファイルシステムから得られたファイル名の分解された濁点を合成してから行うという方法です。

Apple が配布するバージョンの Subversion へのパッチを当てたバイナリのビルド方法は http://tagnote.yakitara.com/notes/193 に書いあります。

手前味噌ですが、Mac から日本語ファイル名を含む Subversion リポジトリにアクセスする必要のある人にとっては必須だと思うので使ってください。

Sunday, November 11, 2007

Rails on Leopard

I had little trouble when I got Leopard ready for my daily task, coding rails applications. I share my notes with hope you think them useful.

Leopard で rails の開発作業ができるまでに多少トラブったので、そのメモを公開します。

http://tagnote.yakitara.com/notes/192