FreeBSD Daily Topics

2009年10月14日FreeBSDステータスレポート200904-09 その1 - SoC成功17、Mono移植プロジェクト、BSDライセンスiconv、BSDライセンステキスト処理コマンド

heads-up

FreeBSD Quarterly Status Report 2009Q2-Q3

report - 2009年4月から9月までの6ヶ月間に実施されたプロジェクト報告がFreeBSD Quarterly Status Reportとして発表されました。次に興味深いトピックを紹介します。

Google Summer of Code 2009

2009年のGoogle Summer of Codeでは20のエントリのうち、17が成功を収めました。いくつかの成果物はFreeBSD 8.0に取り込まれていると説明があります。ほかの成果物は将来のリリースへ取り込んでいくようです。

The BSD# Project

Mono .NETフレームワークおよびアプリケーションをFreeBSDに移植するプロジェクトです。移植パッチのほとんどはすでにMonoリポジトリにマージされており、次期Mono 2.6リリースはそれらパッチが適用されたものがリリースされるとみられます。新しく追加されたり更新されたMonoアプリケーションのportとしての次の4つが紹介されています。

  • FreeBSDをASP .NETアプリケーションホスティングサーバとして活用するためのwww/xspおよびwww/mod_mono
  • Pythonに類似したCLIベースのプログラミング言語lang/boo
  • Mono向けに開発されたVisual Basic .NETフレームワークlang/mono-basic
  • .NET向け統合開発環境devel/monodevelop

今後の作業としてmono-debuggerの移植や、FreeBSDをインストールしていないMono開発者がデバッグや修正に取りかかりやすいようにデバッグ向けのFreeBSDライブイメージの提供などが紹介されています。

BSD-licensed iconv

2条項BSDライセンス版libiconvの開発。NetBSDのCitrus iconvを作業のベースとして取り組んだもの。FreeBSDのベースシステムにはBSDライセンスのlibiconvが用意されていないため、さまざまな場面での国際化が制限されています(たとえば可変長エンコーディングでのファイル名やディレクトリ名を含むファイルシステムをマウントするときに、エンコーディング変換が指定できない、など⁠⁠。

ベースシステムで活用できるlibiconvを提供することで、こうした問題へ取り組んでいこうというものです。なお現状、アプリケーションレベルではPorts CollectionからインストールするGNU libiconvが使われます。

GNU libiconvにはプラットフォームに特化したハックが含められているため、BSD libiconvではこうしたハックを含めず、FreeBSDに最適化されたコーディングを実施すると説明があります。サポートされるエンコーディングはASCII, ISO8859-family, UTF-family, CP1131, CP1251, ISCII-DEV, ARMSCII-8, SJIS, eucJP, PT154, CP949, eucKR, CP866, KOI8-R, KOI8-U, GB18030, GB2312, GBK, eucCN, Big5HKSCS, Big5などですBSD-licensed libiconv in base systemより抜粋⁠⁠。

今後の課題として次の項目が紹介されています。

  • Big5およびHZモジュールにおけるセグメンテーションフォールトの修正
  • 逆エンコーディングにおける変換処理の改善
  • 拡張機能を実装することによるGNU互換性の改善
  • POSIX互換検証
  • GNU互換検証
  • パフォーマンス検証
BSD-licensed text-processing tools

BSDライセンスgrep(1)、sort(1)、bc(1)、dc(1)の開発および移植状況の報告。BSD grep(1)のGNU grep(1)との互換性はかなり高いレベルへ到達しており、あとは誤った正規表現の場合でも動作するようにすることと、動作速度を向上させるフェーズに来たと報告があります。

GNU grep(1)は処理の中でショートカットを駆使して実行速度を向上させているものの、BSD grep(1)ではこうしたことはするべきではなく、grep(1)自身はシンプルで読みやすくし、正規表現処理は正規表現ライブラリで処理すべきだという説明があります。

BSD sort(1)はスクラッチから書き換えらたと報告されています。GNU sort(1)と比較していくつかの機能がまだ実装されていないほか、動作速度も改善する必要があるとされています。OpenBSDから移植されたbc(1)およびdc(1)はFreeBSD 9-CURRENTに追加したのち、STABLEへMFCが実施されると見られます。

おすすめ記事

記事・ニュース一覧