遅ればせながら OpenPGP 年次鍵の更新と pgpdump のビルド
OpenPGP の年次鍵が3月末に期限が切れていたのに更新してなかった。 ので,更新しました。
最近はめっきり GnuPG を使わなくなって,ルート鍵と運用鍵(年次鍵)を分けて運用する今の方法がちょっとうっとうしくなってきた。 SHA-3 が今年か来年には決まるはずなので,それにあわせて鍵運用も一新しようかなと考えている。
ところで,作成した公開鍵をチェックしようと pgpdump を起動しようと思ったが, Win7 環境には入れてなかった。 しかも昨年夏に 0.27 が出てるのにスルーしてるし(更に github で運用されてるじゃない)。 しょうがない,ソースを落としてビルドするか,と思ったらコンパイル環境もないじゃないか。 ちうわけで, MinGW をインストールするところから始めることになった(いや,今日は別のことする予定だったのに)。
MinGW のインストールについては以前紹介したが, MinGW はアレから更に進化し, mingw-get なるツールを使って更に簡単にインストールできるようになった。
まず mingw-get インストーラのダウンロードページへ行き,最新版をダウンロードする。
今回は mingw-get-inst-20110316.exe をダウンロードした。
ダウンロードしたインストーラを起動するとウィザード画面が表示される。
ここでユーザが決めておくのはインストール先のフォルダのみ(デフォルトでは C:\MinGW
にインストールされる)。
途中でインストールするモジュールを選択する画面になる。
インストール可能なモジュールは以下のとおりだ。
- MinGW Compiler Suite
- C Compiler (必須)
- C++ Compiler
- Fortran Compiler
- Objective C Compiler
- Ada Compiler
- MSYS Basic System
- MinGW Developer Toolkit (Includes MSYS Basic System)
pgpdump をビルドするには C コンパイラが必要だが, C コンパイラは必須オプションになっているので気にしなくていい。 他の言語についてはお好みのままに。 なお,ビルド環境をフルに揃えるには MinGW Developer Toolkit (msysDTK を含むパッケージ)を選択する必要がある。 ここだけ注意。 あとはインストーラにおまかせでしばらく待っていればインストールが完了する。 超簡単。
インストールが完了したらスタートメニューの MinGW から MinGW Shell を起動してみる。
うまく起動したらインストール成功だ。
なお,インストールしたフォルダ内の bin フォルダを環境変数 PATH に追加しておけば Windows のコマンド・プロンプトからもツールを起動できる。
例えば C:\MinGW
にインストールしたのであれば,以下のフォルダを PATH に加える。
C:\MinGW\bin
C:\MinGW\msys\1.0\bin
(MSYS をインストールした場合)
ちなみにドライブレターは MinGW Shell ではそのままディレクトリ名になっている。
例えば C:\MinGW
は /c/MinGW
としてアクセスできる。
インストール時に入れなかった言語は mingw-get コマンドであとから追加することも出来る。
$ mingw-get install fortran
Linux 等に慣れている方はピンとくると思うが, mingw-get は apt-get や yum の代替えとして機能する。 MinGW プロジェクトで管理されているツールであれば, mingw-get で簡単にインストールやアップグレードができるのだ。 超便利!
さてようやくビルド環境が出来たので pgpdump をビルドしてしまおう。 おっとその前に, libz と libbz2 の2つのライブラリをインストールしておかなければならない(なんで標準で入ってないんだろう?)。
$ mingw-get install libz $ mingw-get install libbz2
pgpdump のページからソース(pgpdump-0.27.tar.gz)をダウンロードするか github から環境を取得する。 そしてお馴染みの呪文でビルドを行う。
$ cd ~/pgpdump-0.27/ $ ./configure $ make $ strip pgpdump.exe
ただし,私の環境ではうまくいかなかった。 何故か gcc ではなく cc でコンパイルしようとするんだよね。 これは環境変数 CC に gcc をセットするか,Makefile.in の頭の方に
CC = @CC@
の行を追加してあげればうまくいく。 後者のほうがスマートな気がするが, Linux のお作法はいまいちよく分からないので,どうするかはお好みで。
MinGW でビルドしたものを「pgpdump (patched version)」に置いています。 ご利用の際は自己責任でお願いします。