gnupack 13.01-2015.05.10 リリース

gnupack 13.01-2015.05.10をリリースしました。



今回のリリースは、バグFixがメインになります。あと cygwinは早速マイナーバージョンアップされたcygwin 2.0.2になっています。


なお、明日5/11は、SourceForge.JPドメイン変更により11:00から正午前後の間、サイトに接続できない可能性があるようですので、ファイルをダウンロードする方はご注意ください。詳細はサイト名称変更に伴うURL、ドメインの変更についてのお知らせを参照ください。


変更ポイント

  • emacscygwinが起動しないバグを改修

     発生条件は見極められていませんが、環境、状況によって startup_cygwin.exe、startup_emacs.exeが失敗することがありました。(本件は、掲示板のstart_*.exe で64bit版のCygwinバイナリを起動できないで報告いただいた件です)

     事象発生時は、windowsパス→cygwinパス変換のために呼び出しているcygwin1.dllの提供関数で処理が停止していました。他プロセスを起動せずに実現できるcygwin1.dll提供関数での変換処理を理想と考えていますが、原因特定できるまでの暫定処置としてcygpathコマンドによるパス変換に一時的に変更しました。
  • /etc/fstabのフォーマットエラーの対応

     これまで、/etc/fstabの文字コードを BOM付きUTF-8としていたため、ash、dash起動時に「fstab read flags: invalid fstab option - 'description'」が表示されていました。(本件は、ハードなソフトの話のgnupack12: ashまたはdashで fstab のエラーが表示されるでまとめていただいた件です)

     startupプログラムのバグが原因で /etc/fstabが BOM付きUTF-8で作成されていたため、BOMなしUTF-8となるようにソースを回収しました。
  • perlのマニュアルをバンドル

     perl_manpages、perl_podsを追加バンドルしました。(本件、上記と同じくハードなソフトの話のgnupack 13: perldoc で perldoc が見つからない でまとめていただいた件です)


今回も nickchopperさんの情報(gnupack 13 リリースなのでgnupack12のまとめ)を参考にさせていただきました。まったくもって頭の下がる思いです。nickchopperさん、ありがとうございます。

gnupack 13.00-2015.05.02 リリース

gnupack 13.00-2015.05.xxをリリースしました。



今回のリリースの大きな変更点として、cygwinemacsを最新版にバージョンアップしました。加えて、他の方のブログで紹介されていた改善点を取り込ませいただきました。


変更ポイント

  • バンドル ソフトウェアを最新化

    cygwinを 2.0.1、emacsを 24.5にバージョンアップしました。その他のバンドルソフトウェアも 5/2時点の最新版にバージョンアップしました。
  • emacsの設定を見直し

    w32-alt-is-metaをデフォルトのtに変更しました。
  • cygwinトラブル対応のユーティリティツールをバンドル

    「Can't fork」問題などでよく使われる「rebaseall」「peflagsall」、権限設定の変更に使われる「takeown」「icacls」を実行するためのユーティリティツールをバンドルしました。


ユーティリティ ツールの使い方

今回追加したユーティリティ ツールは以下の3つです。実行する際には、gnupackに関連するすべてのプログラム、プロセスを終了してから一つずつ実行してください。処理は環境によっては数分かかる可能性があるので、注意してください。



  • run_rebaseall.exe

    startup_config.ini中の [run_rebaseall.exe] Cmdline_Imageに記載されているパスに対して rebaseallを行います。デフォルトでは、「/app/cygwin」「/home」を指定しています。ロジック本体は /app/script/run_rebaseall.shに実装しています。

  • run_peflagsall.exe

    run_rebaseall.exeと基本的な動作は同じで、peflagsallを行います。ロジック本体は /app/script/run_peflagsall.shに実装しています。

  • run_takeown_icacls.exe

    cygwin関連ファイルの所有者権限、アクセス権限を修正します。ツールを実行すると、所有者はログインユーザ、アクセス権限はフルコントロールに設定します。対象のフォルダは /app/cygwin配下すべてになります。

謝辞

今回のバージョンアップでは、nickchopperさんのハードなソフトの話を大いに参考にさせていただきました。nickchopperさん、ありがとうございます。

gnupack 12.03-2015.02.01 リリース

gnupack 12.03-2015.02.01をリリースしました。



変更ポイント

主な変更点は以下のとおりです。詳細はリリースノートを参照ください。



  • emacs未実行でもemacsclientでファイルオープンできるよう機能改修

    emacsclientを使うには、事前にemacsを実行する必要がありました。本バージョンのemacsclientではemacsの実行有無を判断し、emacs未実行時はemacsを起動するように作りこみました。

gnupack 12.02-2015.01.17 リリース

gnupackを 12.02にマイナーバージョンアップしました.



変更ポイント

主な変更点は以下のとおりです.詳細はリリースノートを参照ください.



  • 共有サーバ上のファイルへの関連付けが動作するよう機能改善

    emacs startupプログラムで,「\\server_name\file_path」のような共有サーバ上のファイルに対するファイル関連付けが正しく動作するように改修しました.

  • 一部の /etcファイルでシンボリックリンクが参照できない問題を修正

    cygwinにおけるドライブの prefixを「/cygdrive」から「/」に変更している影響でリンク切れを起こしていた/etc/{hosts,protocols,services,networks}のシンボリックリンクを修正しました.



次回バージョンアップ予定

emacsclientの利用には emacs serverの起動が前提となっているため,startup_emacs.exeと startup_emacsclient.exeを使い分ける必要があります.

そこで startupプログラムを改修し,emacsclient利用時は startup_emacsclient.exeだけで完結できるようにする予定です.リリースは今月中を目標としています.

gnupack 12.01-2015.01.11 リリース

gnupackを 12.01にマイナーバージョンアップしました.



変更ポイント

主な変更点は以下のとおりです.詳細はリリースノートを参照ください.



  • startup_emacs.exeのファイル関連付けが動作するよう機能改善

    emacs startupプログラムの引数で渡された Windows形式のパスを Cygwin形式のパスに変換することで実現しています.emacs自体は何も変更していないため,emacs起動後はこれまでどおり Windowsパス形式を認識できないので注意ください.
     
  • emacsclientの設定を追加

    emacsclientは,従来のemacsが提供する機能と同じです.gnupackで emacsclientを使うには,初回 startup_emacs.exeを実行し,以降 startup_emacsclient.exeを実行してください.


前バージョン(12.00)の startup設定ファイルをそのまま使うこともできますが,上記の機能を有効にするため,本バージョン同梱のstartup設定ファイルの利用をお奨めします.



startupプログラムの分離

gnupackのフォルダパスが変わった場合,startupプログラムのショートカットを合わせて修正する必要があります.バージョンアップを行う場合,この手間が煩わしいと思うのではないでしょうか.

これらの手間は,startupプログラムとgnupack本体を分離することで,少なくすることができます.



  1. インストールフォルダ直下のstartupプログラム関連ファイルを任意のフォルダにコピーします.

    - startupプログラム(startup_*.exe)

    - startup設定ファイル(startup_config.ini)

    - DLLファイル(startup_lib.dll)
     
  2. コピーしたstartup設定ファイルの「ROOT_DIR」にgnupackインストールフォルダのフルパスを追記します.例えば,gnupackを「C:\gnupack_basic-12.01-2015.01.11」にインストールしている場合,以下のように修正します.

    修正前

    [Reserved Variable]
    ROOT_DIR =
    修正後

    [Reserved Variable]
    ROOT_DIR = C:\gnupack_basic-12.01-2015.01.11
     
  3. コピーした startupプログラムから各ソフトウェアを起動します(必要に応じ,コピーしたstartupプログラムのショートカットを作成)


これにより別のgnupackへの切り替えには,startup設定ファイルの ROOT_DIRの変更だけで,ショートカットのメンテナンスは不要になります.

さらに応用として,「Process Variable」セクションの「HOME」を書き換えることで,startupプログラムと同様にユーザホームも分離することができます.

gnupack 12.00-2014.12.29 リリース

かなりの時間が空いてしまいましたが,gnupackをバージョンアップしました.


今回のバージョンアップでは,全体的に構成を見直しました.特に大きなポイントは以下のとおり。

  • emacsバイナリについて

     これまでWindowsバイナリを配布していましたが,関連ライブラリ更新の手間,cygwinとの親和性の2点から配布バイナリの形式を cygwinバイナリに変更しました.

     パッチは,rzl24ozi氏が公開されている emacs-24.4-w32-imeemacs-24.4-cygwin-rsvg,emacs-24.4-disable-w32-imeを適用しています.

  • gvimバイナリについて

     ビルドの手間と品質を考えた結果,独自ビルドをやめ,KaoriYa氏の提供バイナリを利用させていただくことにしました.

  • startupプログラムについて

     今回のバージョンアップで UNICODEに対応しました.その結果,cygwinのフォルダパスに日本語が含まれていても一応動作するようになりました(推奨するわけではないですが...)

     また,合わせて設定ファイルの設定方法を見直しました.過去バージョンのgnupackで使っていた config.iniは使えないので注意ください.

  • バージョン番号について

     バージョンアップの考え方を少し見直しました.大雑把にいえば,上位互換の有無でメジャーバージョンアップ,マイナーバージョンアップを使い分けることに加え,バンドル ソフトウェアの単純アップデートのメンテナンスバージョンアップを追加しました.

詳細な情報は,ユーザガイドを参照ください.



私が更新をさぼっていた間に,独自にバージョンアップしてくださった方がいたようです(OSSはアルミニウムの翼で飛ぶ).私の提供バイナリと違いフル64bit版のようですので,もし興味があれば,そちらもご覧になられてはいかがでしょうか.

もしかして,この方ってRedhatの中の人ですか?

ime-enable-document-feed有効時のフリーズ問題解消?


NTEmacsスレ3の499さんが新しいパッチを公開していたので,パッチに取り込み,ビルドしました.今回も扱いは pretestにしています.経過観察で問題がないようなら,次回で正式リリースにできると思います.

emacs-24.3

ビルド時のオプションは以下のとおりです.



configure.bat
--no-debug --with-gcc --enable-w32-ime --with-svg
--cflags -DRECONVERSION
--cflags -DDOCUMENTFEED
--cflags " -DIMR_DOCUMENTFEED=7"
--cflags -IC:/gnupack_devel/app/libs/gnome-binaries-win32/include
--ldflags -LC:/gnupack_devel/app/libs/gnome-binaries-win32/lib
--cflags -IC:/gnupack_devel/app/libs/gnutls/include
--ldflags -LC:/gnupack_devel/app/libs/gnutls/lib
--cflags -IC:/gnupack_devel/app/libs/gnuwin32/include
--ldflags -LC:/gnupack_devel/app/libs/gnuwin32/lib
--cflags -IC:/gnupack_devel/app/libs/libxpm/include
--ldflags -LC:/gnupack_devel/app/libs/libxpm/lib

mingw32-make bootstrap
mingw32-make install INSTALL_DIR=/c/emacs-24.3-20130503

使用した各種ライブラリのバージョンは以下のとおりです.


atk 1.32.0-2
cairo 1.10.2-2
expat 2.1.0-1
fontconfig 2.8.0-2
freetype 2.4.10-1
gdk-pixbuf 2.24.0-1
gettext-runtime 0.18.1.1-2
glib 2.28.8-1
gtk+ 2.24.10-1
jpeg 8d-1
libcroco 0.6.2-1
libpng 1.4.12-1
librsvg 2.32.1-1
libtiff 3.9.2-1
libxml2 2.9.0-1
pango 1.29.4-1
zlib 1.2.5-2
gnutls 3.1.5
giflib 4.1.4-1
libxpm 3.5.8