Shiki’s Weblog

ESウェブブラウザ通信 - escort バージョン 0.2.1 公開

2012/07/24 #ESウェブブラウザ通信

escort バージョン 0.2.1 を Google Code から公開しました。このバージョンは先日公開したバージョン 0.2.0 のバグフィックス版です。また今回から Fedora 用のyum レポジトリを合わせて用意しました。Fedora に関しては、これまでよりも簡単にインストールしたりアンインストールしたりできるようになっていると思います。

修正内容

主な修正内容は、

です。
r2859では、iframe 中のクリッピング処理が正しく行えていなかった問題を修正しました。これによって、Google の検索結果のページの表示が崩れたりしていた問題などが修正されています。

r2858 (子ウィンドウのクリッピング処理が崩れていました)r2858 (子ウィンドウのクリッピング処理が崩れていました)

r2859 (修正済)r2859 (修正済)

r2864では、HTTPリダイレクトに対応しています。いままで日本から www.google.com にアクセスすると、302 Movedの画面が表示されて自分でリンクをクリックして www.google.co.jp にアクセスし直さないといけなかったのですが、r2864ではescortブラウザが自動的にリダイレクトするようになりました。

r2863 (HTTPリダイレクトの未対応)r2863 (HTTPリダイレクトの未対応)

r2864 (自動的に www.google.co.jp にジャンプします)r2864 (自動的に www.google.co.jp にジャンプします)

yum レポジトリの利用方法

escort ブラウザ等、ES オペレーティング システム プロジェクト用のレポジトリ サイト http://download.esrille.org/ を用意しました。現在は Fedora のみの対応ですが、今後他のディストリビューションにも対応していければと考えています。
この yum レポジトリを利用する場合は、root で、

# yum-config-manager --add-repo http://download.esrille.org/fedora/esrille.repo

のように実行してレポジトリをお使いのコンピューターに追加してください。
一度、レポジトリを追加しておけば、コマンドラインから yum を使って、

# yum install escort

のように escort ブラウザをインストールしたりアップデートしたりすることができます。GUI版のApper(KDEの場合)のようなツールを使ってインストールすることもできます。

Apper から escort をインストールApper から escort をインストール

yum レポジトリからパッケージを公開するまでの作業手順 (参考)

参考までに Fedora 用のパッケージを yum レポジトリから公開するまでの作業手順を紹介しておきます。
前々回の ES ウェブブラウザ通信では、一般的な rpm パッケージを作る方法についてまとめましたが、Fedora の場合は直接 rpmbuild コマンドを使うのではなくて、Mockというツールを利用することができます。Mock を使うと、SPEC ファイルに記述した依存関係に誤りがないかをチェックしたり、利用している PC とは別のアーキテクチャ用のパッケージを簡単に作ったりすることができます。
1)tarball を作る
ビルドディレクトリで、

% make dist

を実行します。ビルドディレクトリ中に escort-0.2.1.tar.gz のような tarball が作られます。escort の tarball には SPEC ファイルが含まれているので、この tarball を使って RPM ファイルを作れる、というところまでは前々回説明した通りです。

2)ソース RPM パッケージを作る
Mock を使う場合はソース RPM パッケージが必要になります(その他のパッケージは Mock が作成します)。

% rpmbuild -ts escort-0.2.1.tar.gz

-ts オプションを指定して rpmbuild コマンドを実行すると、~/rpmbuild/SRPMS の中に escort-0.2.1-1.fc17.src.rpm のようなソース RPM パッケージが作られます。ソース RPM パッケージを作るだけなのでこのコマンドの実行はすぐに完了します。

3)mock レポジトリの初期化

% mock --init -r fedora-17-i386

x86_64用のパッケージを作る場合は、 fedora-17-i386 の部分を fedora-17-x86_64 に置き換えます。これで /var/lib/mock/fedora-17-i386/root の中にまっさらな Fedora 17 の chroot が作られます。(はじめて実行する場合は、すこし時間がかかることがあります。)

4)chroot に esidl をインストールする

% mock -r fedora-17-i386 --install esidl-0.2.0-1.fc17.i686.rpm

escort のビルドには esidl が必要になるので、これだけはあらかじめインストールしておきます。(esidl-0.2.0-1.fc17.i686.rpm は現在配布中のものです。)

補足 : esidl もソース RPM からビルドする場合は以下のようにします:

% mock -r fedora-17-i386 rebuild esidl-0.2.0-1.fc17.src.rpm

ディレクトリ /var/lib/mock/fedora-17-i386/result の中に esidl の RPM パッケージが生成されています。
5)escort をビルドする

% mock -r fedora-17-i386 --no-clean rebuild escort-0.2.1-1.fc17.src.rpm

--no-clean オプションを使って、esidl を残したまま、escort をビルドします。 mock が完了すると、ディレクトリ /var/lib/mock/fedora-17-i386/result の中に escort の RPM パッケージが生成されています。

% ls /var/lib/mock/fedora-17-i386/result
build.log
escort-0.2.1-1.fc17.i686.rpm
escort-0.2.1-1.fc17.src.rpm
escort-debuginfo-0.2.1-1.fc17.i686.rpm
root.log
state.log

依存しているパッケージが増えているのに SPEC ファイルがそれに合わせて更新されていなかったりするとビルドに失敗するので、その場合は SPEC ファイルを修正して 1)のステップからやり直します。
6)ローカルに yum レポジトリを作る
インターネットからパッケージを公開する前に、ローカルに yum レポジトリを作っておきます。

% cp /var/lib/mock/fedora-17-i386/result/*.rpm /var/yum
% cp /var/lib/mock/fedora-17-x86_64/result/*.rpm /var/yum
(/var/yum は一例です。ローカルなルールに従って置き換えてください。)

createrepoコマンドを実行して、レポジトリのメタデータを更新します。

% createrepo /var/yum

/var/yum/repodata の中にメタデータが生成されます。
補足 : 下のように local.repo のようなファイルを作成して、/etc/yum.repos.d ディレクトリに置いておくと、この /var/yum レポジトリを使ってテストすることもできます。

 [local]
name=local yum
baseurl=file:///var/yum
enable=1
gpgcheck=0

7)ローカルの yum レポジトリをウェブ サーバーにコピーする。
この手順はお使いのウェブ サーバーの管理マニュアル等を参考にしてください。download.esrille.org は今のところGoogle AppsGoogle Sitesを使って運営しています。Google Sites を使ったファイルのアップロード方法はこちらを参考に(ファイル キャビネットを使うのが簡単だと思います)。

8)repo ファイルを公開する。(はじめて公開するときなど)
yum レポジトリの中に .repo ファイルを合わせて置いておくと、ユーザーが yum-config-manager コマンドを使って簡単にレポジトリを追加することができて便利です。download.esrille.org では以下のような esrille.repo ファイルを置いてあります。

 [esrille]
name=Esrille Inc.
baseurl=http://download.esrille.org/fedora
enabled=1
gpgcheck=0

参考 : 4.3.5,Adding, Enabling, and Disabling a Yum Repository, Fedora Documentation.

まとめ

escort バージョン 0.2.1では 0.2.0 版に残っていた基本的なバグをひとまず修正しました。次回からはバージョン 0.2.2 に向けて CSS の実装の改善などを進めていく予定です。