Linuxザウルスでお手軽にセルフ開発、GUIプログラミングができるRuby/Qteですが、こんどはLinuxザウルス用ソフトの配布用パッケージであるipkgの情報を表示するスクリプトを作ってみました。
起動すると、インストール済みのipkgと、本体メモリ、SDカード、CFカードのDocuments/Install_Filesにあるipkファイルを一覧表示します。
各行をクリックすると、メニューがポップアップし、controlファイル、インストールされるファイルの一覧、インストールされたファイルの一覧が閲覧できます。
自分でipkgを作るときの参考に、配布されている他のipkgのcontrolファイルを覗いてみたいときや、どんなファイルがインストールされる(された)のかを確認したいときに役立つと思います。
(以上、2003-01-07 12:15:47)
(追記) スクリーンショットを追加。
(以上、2003-01-08 00:46:47)
(追記) ファイル名をipkginfo.rb に変更し、ipkg化しました。
http://noir.s7.xrea.com/pub/zaurus/ruby-ipkginfo_0.0.5.arm.ipk
(以上、2003-01-16 15:36:00)
(追記) 0.0.2 にバージョンアップしました。詳細表示中に他のウィンドウに切り替え、戻ったときに詳細表示ウィンドウが隠れてしまうのを直しました。
なお、0.0.1をVFATフォーマットのSDカード、CFカードにインストールしていた場合は、アンインストールすると、以下のファイルが残ってしまいます。
/var/mnt/card/QtPalmtop/share/doc/ipkginfo/copying
(CFカードの場合は /var/mnt/cf)
0.0.2をインストールする前に、まずこのファイルを削除しておいてください。
(以上、2003-02-02 18:12:00)
(追記) handskk_nojisyo のように、Package名に _ があると、情報取得に必要なファイルが見つからなくて落ちてしまうのを、とりあえず直しました。(0.0.3)
(以上、2003-08-11 21:55:00)
(追記) desktopファイルにC700用のパラメータを加えておきました (0.0.4)。
(以上、2003-09-01 23:35:00)
(追記) Ruby 1.8.0, Ruby/Qte 0.5で動作するように修正しました。うまく動かなかったのは、Dir.globのパターンに空白を含めたときの解釈の違いが原因でした。ついでにソースを大幅に見直しました。
Posted by Hiroyuki KUROSAKI at 2003年09月16日 18:46control.tar.gz中のpreinst, postinst, prerm, postrmも、あれば表示するようにしました (Revision 1.3)。ポップアップメニューが出てくるまで少し時間がかかるようになってしまいましたが…。また、自分のマシンにはこれらが含まれているipkはみあたりませんでした。
Posted by: noir on 2003年01月07日 15:04HIDAKAさんのリクエストにより、1カラム目でインストール先 (M = 本体メモリ、S = SDカード、C = CFカード、n = インストールされていない) を表示するようにしてみました (Revision 1.5)。
Posted by: noir on 2003年01月07日 21:56ポップアップメニュー表示の高速化、インストールした日時と*.ipkファイルのタイムスタンプの表示追加を行いました。(Revision 1.7)
Posted by: noir on 2003年01月08日 07:18遅ればせながら C700 で試しました。control の改行コードがCRLFのパッケージがあると、
/usr/lib/ipkg/info/q2chrcedit\r.list みたいなファイルを
オープンしようとしてエラーで落ちるという問題がありました。
でも、CRLFのパッケージが悪いような気がしますし実際自分で作ったもの以外で
そんなのなかったので、急いで対処するものでもないとは思います。
http://www25.big.or.jp/~t-rie/bbs/WalWiki/wiki.cgi?SL%2DC700
ここでも話題に出てますし、よかったらipkg化しませんか?
Posted by: hdk on 2003年01月16日 04:06ひだかさん、ありがとうございます。
改行コードの問題、対処しました。たぶん status ファイルに \r が書き込まれているためだと思いますが、とりあえずあちこちで \r を削除・無視するようにしてみました。
また、インストール済みのパッケージの prerm, postrm があれば表示できるようにしました。(Revision 1.12)
それから後になって気がついたんですが、パッケージ名に _ (アンダーバー) を含めることはできないんですよね。ちょっと今手がこんでいるので、後で ipkginfo.rb に改名して、ruby-ipkginfo という名前で ipkg化してみます。
Posted by: noir on 2003年01月16日 10:14はじめまして。
ipkginfo落とさせていただきました。
自分、大量のアプリを運用しており少しでも管理を楽にしたいと思いまして。
ひとつ、不具合の報告です。
ホーム画面からの起動が出来ない状態です。
コンソールやファイラーからの起動はできるのですが。
機種はB500、ruby/qteも最新版を入れております。
同様にrqgrepも使わせていただいておりますが、こちらは起動に全く問題なしです。
この辺りの調査願えませんでしょうか。
Posted by: 磐 on 2003年08月24日 03:02磐さん、こんにちは。
コンソールから起動したときに、何かエラーメッセージのようなものが出ていませんでしょうか。
インストールされているパッケージによっては、予想外のエラーで起動できないことがあります。
あるいは、「大量のアプリを運用」されているということなので、パッケージの情報を読み込み中にメモリ不足になって起動できないのかもしれません。
Posted by: noir on 2003年09月01日 23:48Ruby/Qte 0.5がリリースされて、ipkginfo.rbをruby 1.8.0上で動かしてみたところ、パッケージ名をクリックしてもメニューが出てこないようになってしまいました。
実はipkginfo.rbではevalを多用しているのですが、これが Ruby 1.6.8 → 1.8.0 での変更にひっかかってしまったようです。全面的にコードを見直す必要がありそうです。
Posted by: noir on 2003年09月16日 08:33良いソフトだと思うのですが、ソフトが多量にインストールされている場合、取りこぼしがあるようです良かったらご確認下さい。
Posted by: tower on 2006年05月03日 14:16towerさん、ありがとうございます。
確認してみます。
サイン・インを確認しました、 さん。コメントしてください。 (サイン・アウト)
(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)