2006年07月21日

Unison 更新、rsync、rsnapshot

ザウルスと母艦のファイル同期に常用している Unison ですが、現時点での最新版 (2.13.16) をザウルス用にビルド、ipk にしました。

さらに、同様のツールとして、rsyncrsnapshot も ipk にしてみました。

ダウンロード:

Unison 2.13.16
unison_2.13.16-1_arm.ipk

rsync 2.6.8
rsync_2.6.8-1_arm.ipk

rsnapshot 1.2.9 (perl と rsync が必要)
rsnapshot_1.2.9-1_arm.ipk
追記 (2006-07-21): ザウルス用perlの入手先: Linuxザウルス/Perl - Walrus, Visit.

Unison の使い方等については過去記事をご覧ください。

*Unisonを使ってみる (2004-02-16)
*Unisonを使ってみる(2) (2004-02-21)
*Unisonの再コンパイル (2004-11-22)

追記 (2006-07-21): 参考: ハチハチイチナナイチ - Unisonマニュアル私的日本語訳

Unison のビルド環境について:

1. OCaml のセルフビルドとインストール

今回は最新版の 3.09.2 を使用しました。

一応 ipk 化したので置いておきます。展開すると20MBほど容量を食います。インストールにも7〜8分かかります。

ocaml_3.09.2-1_arm.ipk

これもすんなりとはビルドできず、いくつか対策が必要でした。

*/tmp の容量拡大。/root/etc/rc.d/rc.rofilesys の

mount -t tmpfs -o size=1m none /dev/shm

という行(3箇所ある)の size=1m を size=4m に書き換えて再起動。

*/lib/libdl.so から /lib/libdl.so.2 へシンボリックリンクを張る。

*libc_nonshared.a (シャープ提供のクロス開発環境の /opt/Embedix/tools/arm-linux/lib にある) を /usr/local/lib にコピーし、/usr/lib/libc.so を

GROUP( /lib/libc.so.6 libc_nonshared.a )

に書き換えて、ldconfig する (参考: SL-C7x0をhttp proxyにする)。

今回は binutils は必要ありませんでした。

./configure -prefix /opt/QtPalmtop
make world
make opt

config/Makefile の PREFIX=/opt/QtPalmtop を PREFIX=$(DESTDIR)/opt/QtPalmtop に書き換えて、

su
make install DESTDIR=/home/zaurus/Documents/work/ocaml/dst

dst/CONTROL/control ファイルを用意し、ipkg-safelink を使ってシンボリックリンクの問題を解決してから、ipkg-build。

2. Unison のセルフビルド

*/usr/lib/libutil.so から /lib/libutil.so.1 へシンボリックリンクを張る。

*pty.c の修正。セルフ開発用 gcc のバージョンが古いため、変数宣言を途中にもってくることができない。

diff -u pty.c.orig pty.c
--- pty.c.orig	2005-05-30 21:15:43.000000000 +0900
+++ pty.c	2006-07-21 08:46:51.000000000 +0900
@@ -40,9 +40,10 @@
 /* c_openpty: unit -> (int * Unix.file_descr) */
 CAMLprim value c_openpty() {
   int master,slave;
+  value pair;
   if (openpty(&master,&slave,NULL,NULL,NULL) < 0)
     uerror("openpty", (value) 0);
-  value pair = alloc_tuple(2);
+  pair = alloc_tuple(2);
   Store_field(pair,0,Val_int(master));
   Store_field(pair,1,Val_int(slave));
   return pair;
make THREADS=true UISTYLE=text
strip unison

余談:

今回 Unison を更新したのは、母艦を MacBook にしたのがきっかけです。それまでも Cygwin などで次第に旧版の 2.9.1 より新しいバージョンを目にするようになっていましたが、DarwinPorts に登録されているのが最新版の 2.13.16 のみだったので、ザウルスをこちらに合わせたというわけです。

それにしても、ここではじめて Unison を紹介してからもう2年も経つのか……。当時よく参考にさせていただいたサイトも、更新が停滞していたりして (その最たるものは、当のシャープのザウルス宝箱Proでしょう。Qt/Embedded, Qtopia フリー版へのリンクが切れていて、元のTrolltechのftpサイトでもすでに該当バージョンのものが公開されていない)、ちょっと寂しいものがあります。そういう意味でも、LinuX zaurus Toybox 〜りなざうおもちゃばこ〜 という新しいサイトにはとても期待しています。

Posted by Hiroyuki KUROSAKI at 2006年07月21日 15:54 このエントリーを含むはてなブックマーク
この記事の TrackBack URL:
http://noir.s7.xrea.com/mt/mt-tb.cgi/237
Comments
Post a comment

サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?