Product SiteDocumentation Site

4. Fedora の変更点 - 開発者向け

4.1. 開発

4.1.1. Perl

4.1.1.1. Perl は バージョン5.16 へアップデート
Perl 5.16 では、以下の大きな変更がありました。
4.1.1.1.1. 新機能
  • Unicode 6.1
  • unicode_evalevalbytes 機能によって、eval がより一貫して制御できるようになりました。
  • 左辺値のコンテキストで呼ばれた、2あるいは3引数の substr は、元の文字列が変更された後でも評価されます。
  • 参照カウンターの減少を修正する、新しいT_*REF_REFCOUNT_FIXED XS タイプマップ
  • 問題のある is_utf8_char 関数の代わりとなる、新しい XS 呼び出し可能なis_utf8_char_buf 関数
  • $$ の値は書き込み可能です。
  • デバッガーの改善:トレースモードは、あるレベルに制限できます。ブレークポイントは一時的に無効にできます。ブレークポイントをファイル名で指定できます。
  • sort サブルーチンは、自動ロードできます。
  • $[ 変数は、 arybase モジュールによって提供されます。
  • メモリマップ PerlIO レイヤーは、別のモジュール PerlIO::mmap になりました。
4.1.1.1.2. 廃止された機能
  • ユニコードデータベースファイルの直接アクセスは廃止されました。Unicode::UCD を代わりに使って下さい。
  • Version::Requirements は廃止され、代わりに CPAN::Meta::Requirements を使って下さい。
4.1.1.1.3. 互換性のない変更
  • 特別のブロック (例えば、 BEGIN) は、ボイドコンテキストで呼ばれます。
  • 正規表現のオーバーロードされない文字列化は、式のリテラルを返しません。
  • T_DATAUNITT_CALLBACK XS タイプマップは削除されました。
  • ユーザー定義の大文字小文字変換は削除され、代わりに Unicode::Casing を使って下さい。
  • XSUB C 関数は静的となり、オブジェクトファイルからはエクスポートされなくなりました。
  • リードオンリーの参照は、弱められません。
  • $$, $<, $>, $(, そして $) は、値をキャッシュしません。
  • Perl コアから、Devel::DProf, Shell が削除されました。
  • 以下の perl4 ライブラリーは削除されました。 abbrev.pl, assert.pl, bigfloat.pl, bigint.pl, bigrat.pl, cacheout.pl, complete.pl, ctime.pl, dotsh.pl, exceptions.pl, fastcwd.pl, flush.pl, getcwd.pl, getopt.pl, getopts.pl, hostname.pl, importenv.pl, lib/find{,depth}.pl, look.pl, newgetopt.pl, open2.pl, open3.pl, pwd.pl, hellwords.pl, stat.pl, tainted.pl, termcap.pl, timelocal.pl
4.1.1.2. PCRE ライブラリーは 8.30 へアップデート
Fedora 18 では、 PCRE ( Perl-Compatible Regular Expression ) ライブラリーのバージョン 8.30 あるいはそれ以降 が提供されます。これは、UTF-16 サポートと、API の変更を伴います。ドキュメントは、/usr/share/doc/pcre*changelogNEWS にあります。

4.1.2. Python は バージョン3.3 へアップデート

システムの Python 3 スタックは、 3.3 に更新されました。(システムの Python 2 スタックは 2.7 のままです。), これによって、数百もの修正と改善があります。変更点のリストは、 http://docs.python.org/dev/whatsnew/3.3.html を参照下さい。

4.1.3. Ruby on Rails フレームワークのアップデート

Fedora 18 には、 Ruby on Rails フレームワークの最新版である、Ruby on Rails 3.2 が含まれます。開発者は最新の Ruby on Rails 機能を使うことができます。それは、プロジェクトのリリースノート http://guides.rubyonrails.org/3_2_release_notes.htmlhttp://guides.rubyonrails.org/3_1_release_notes.html に書かれています。

4.1.4. Leiningen や他のツールとともに Clojure が追加

Fedora 18 では、より完全な Clojure プログラミングスタックを提供します。それには、ビルドツール Leiningen が含まれます。これにより、将来、他の Clojure ライブラリーをパッケージするのが簡単になりました。

4.1.5. Git prompt change

An update to git in Fedora 18 has moved the file used by bash to include git branch information in the prompt. Users that take advantage of the git prompt in their bash configuration should add source /usr/share/doc/git-1.7.12/contrib/completion/git-prompt.sh to their ~/.bashrc in addition to PS1='[\u@\h`__git_ps1` \W]\$ '

4.2. 開発ツール

4.2.1. boost は実行速度面での改良を行いました。

Fedora 18 は、Boost バージョン 1.50 を含みます。著名な C ライブラリーのコレクションは、Fedora のリリースごとに、できる限り最新のものに更新されます。

4.2.2. Systemtap 2.0

Systemtap 2.0 は、新しいプロトタイプのバックエンドを採用しました。それは、ユーザー自身のバイナリーを実行時に書き換えるために、 DynInst を使います。この、オプショナルな、代替のバックエンドはカーネルモジュールを使わないため、ルート権限は不要です。ただし、スクリプトで使用するプローブの種類や、その他の要素については、制限があります。

4.2.3. LTTng を使ったトレーシング

ご自分のアプリケーションを改善しようとしている開発者の皆さんは、Fedora 18 のlttng-toolsltt-ust パッケージで、高速で効率良いトレースが可能となったことに気づかれるでしょう。トレーサーは、ユーザー空間とカーネル空間(もし、可能ならば)のトレースを簡単に採取できます。ナノ秒の精度のタイムスタンプを誇る LTTng は、わかりにくい遅延を探すのに特に有効です。http://lttng.org/quickstart にある、プロジェクトのドキュメントから、始めてみて下さい。

4.2.4. クラッシュレポートの改善

4.2.4.1. Debuginfo はデフォルトで含まれます
Fedora 18 は、デフォルトで、少量のデバッグ情報のサブセットを含んで出荷されます。完全なデバッグ情報は、今までどおり debuginfo で提供されます。
4.2.4.2. Debuginfo は、 DWARF で圧縮されます
DebuginfoDWARF 圧縮ツールdwzにより後処理されて、*.debugファイルのサイズが削減されます。 開発者はこのプログラムをご自分のバイナリに対して実行することができます。
4.2.4.3. ABRT Server 経由でシンプル化されたクラッシュ報告
Fedoraのバグ報告ツール ABRT はシンプル化されたバグ報告を使用しています。報告はABRT Serverによって処理され、統計と大量のバグ情報を提供し、メンテナンス者に問題についての正確なデータを提供します。

4.2.5. IPython はアップデートされました。

IPython はバージョン0.13 にアップデートされました。注目すべき機能は次のとおりです: ノートブック は新しいユーザーインタフェースとたくさんの新機能(長すぎる行の自動たたみこみや、ダッシュボードへの新しいノートブックのアップロード、開始されたクラスターの管理やツールチップスの管理など)が実装されました。ノートブックのフォーマットは変更になりました。古いバージョンのユーザーと、あなたのノートブックを共有したいと思った時に変換するスクリプトがあります。新しいセルマジックは %%bash%%ruby%%timeit、そのほか、多くあります。Qtコンソールはメニューが改善されました。また、JPEG画像も直接表示できるようになりました。

4.3. GCC ツール

4.3.1. DragonEggGCC を最適化

DragonEggGCC コンパイラに LLVM 最適化とコードジェネレーションフレームワークの機能を追加するプラグインです。 DragonEgg はソフトウェア開発者に GCC コンパイラ使用時に、更なるコード生成オプションを提供します。DragonEggGCCLLVM でサポートされているアーキテクチャをターゲットとしたクロスコンパイルを、特別なクロスコンパイル用のコンパイラパッケージを要求することなく可能にします。

4.4. D

D プログラミング言語が Fedora 18 において利用可能になりました。D はシンプルな構文を持ち、C/C++ に近い高性能な近代的言語です。C/C++ と Java の開発者は簡単に D に移行できます。Fedora 18 は最新の D ツールキットを提供します:
  • ldc コンパイラーを最新安定版コンパイラーにしました。
  • llvm 3.1 に対してビルドしました。
  • 標準ライブラリーを dmd front-end 2.060 にしました。
  • gtk3 サポートするよう gtkd を更新しました。
  • derelict をバージョン 3 に更新しました。
  • D において sqlite を使用するために DSQLITE を追加しました。
  • D 向け OpenGL Mathsgl3n を追加しました。
  • glamour (D プログラミング言語の OpenGL ラッパー) を追加しました。

4.5. Haskell

GHC がバージョン 7.4.1 に更新されました。また、haskell-platform が 2012.2.0.0 に更新されました。それ以外にも 200 個のパッケージが更新されました。
新しく Agda, cabal-rpm, おおよび snap-server を含むパッケージが追加されました。