FedoraにおいてPerlを勉強してみる

CPANについて

Perl において、既にある他の開発者が作ったモジュールを取得・利用する機構としてCPANというものが使われている。
CPANを使えば、他の開発者が作成した現状自分でもっていない機能などを追加することができる。

ただし、CPANで取得したモジュールと、パッケージの依存関係を管理するため、
CPANで取得管理するのではなく *cpan2rpm* を使ってcpanで取得するモジュールをパッケージにして追加できる。

Perl の CPAN モジュールを自動で RPM に変換する

エラー発生時のケーススタディ

cpan2rpm の利用方法について 各環境にもよるが それ通りに行かなかった点について

"%_gpg_name"でエラー発生

エラー: マクロファイル内で "%_gpg_name" を設定しなければなりません。
パスフレーズのチェックに失敗しました。

��3669 cpan2rpmでGeo::IPfree - Web Patio - Fedoraで自宅サーバー構築

上記のエラーが発生した場合には、cpan2rpm パラメータとして 「--no-sign」を付けて実行してみる

module導入時に試験エラーの発生

根本的な解決方法ではないかもしれないが、cpan2rpm パラメータとして 「--make-no-test」を付けて実行してみる

cpan2rpm 利用時に発生するパッケージ依存

module インストール時に 以下のエラー文言が発生した場合には、そもそも rpm-buildパッケージが欠如しているおそれがあります。

>エラー: 依存性の欠如:
> rpm-build は cpan2rpm-2.027-1.noarch に必要とされています

��598 Perlモジュールパッケージ管理システム導入 - Web Patio - CentOSで自宅サーバー構築

そのため、
Fedoraインストール時のRPMパッケージインストール単位である「パッケージグループ」でRPMパッケージをインストールする

$ yum grouplist
$ yum -y groupinstall "開発ツール" 

依存関係の解決

ひつじ帳

感想

fedoraCPANを利用するためには、様々な手段がある*1が結局は依存関係(パッケージとの依存関係?)を気にするよりは
、導入のしやすさや更新のしやすさを考えると、CPANから直接操作した方がはやいのではという意見。

ただし、モジュールをいろいろといれる場合には、依存関係が壊れた時が大変らしい。

皆さんが採用している CPAN の適切な管理方法を教えてください。… - 人力検索はてな

うーん。いろいろと、めんどくさい。

*1:いろいろありすぎる感