nDiki
2006年7月3日 (月)
■ 自前 PPM リポジトリの管理

Windows Perl アプリケーション用に PPM リポジトリを久しぶりに整理。
自分が使用する PPM パッケージは以下の理由から、以前より基本的に自前でビルド/保存し PPM リポジトリをローカルに作成するようにしている。
- 後でオフラインでインストールできるようにする。
- 「公開リポジトリが無くなった」あるいは「公開リポジトリに欲しいパッケージが無くなった」時に困らないようにする。
- 動作確認された組み合わせでの PPM パッケージセットを作成・保持できるようにする。
- ライセンス的にクリアなものだけを含むリポジトリを用意する。 (芋蔓式インストールで、ライセンス的にクリアでないパッケージが入ってしまうのを防ぐ)。
@ 手元では以下のように管理
PPM
|-- <category>
| `-- 8xx
| |-- <projects A> [ 公開 / export ]
| | |-- module1.ppd -> (A)
| | |-- module1.tar.gz -> (B)
| | `-- ...
| `-- ...
`-- pool
|-- module1-x.yy
| |-- module1.x.yy.tar.gz
| |-- some documents...
| `-- build817
| |-- module1.ppd (A)
| `-- module1.tar.gz (B)
`-- ...
@ pool
- pool ディレクトリに「[モジュール]-[バージョン]」ディレクトリを作成する。同じバージョンでも、異なるバージョンは両方とも別々にキープしておく。
- その下にソース tarball を置く。
- ライセンス情報ファイルなども置く (touch Perl-License 等空のファイルを作成しておく)
- PPM パッケージを PPM::Make で作成し、その時に使用した ActivePerl のビルド番号別にサブディレクトリを作って .tar.gz と .ppd を置く。
@ リポジトリ
- ActivePerl のビルド番号別にリポジトリを作成する。基本的には 6xx 系、8xx 系それぞれの中ではバイナリ互換性がある (PAR などは、ビルド番号に1対1でしか互換性がない)。
- 必要に応じてカテゴリ別サブディレクトリを用意 (アクセス制限の都合などにより)
- 必要に応じてプロジェクト毎にサブディレクトリを用意 (プロジェクト毎にパッケージセットを作るため)
- リポジトリディレクトリからは pool 内の .ppd、.tar.gz へシンボリックリンクを張る。欲しいモジュールのバージョン、ビルド番号を選んでリンクする。
@ 公開
- Samba、Apache などで、PPM ディレクトリ全部あるいは特定のリポジトリ部分を公開する。
- 必要なら export して別サーバに置く。rsync や cp の -L オプションでシンボリックリンクを実ファイルに置き換えてアーカイブを作成する。
- PAR::Repository でビルド済み Perl モジュールをネット... (2006-12-12)
- ActivePerl をやめて Strawberry Perl へ (2009-08-25)
- ActivePerl で Ming (2005-02-23)
- [ Perl ] PDL::PP で C extension を書く (2004-02-19)
- XAMPP で WiKicker を動かしてみた。PPM インストール OK。 (2007-02-09)
■注目キーワード
購入 買った 発売日 フリー 無料 価格 値段 作り方 選び方 使い方 方法 設定 サンプル ダウンロード 限定 在庫 予約 穴場 比較 検証 レビュー 感想 評価 評判 使用感 使ってみた 口コミ 噂 最新 MP3 動画 意味 お薦め お勧め おすすめ 便利 Blog ブログ mixi 修理 デザイン ビックカメラProcess Time: 0.194169s / load averages: 0.13, 0.15, 0.15
nDiki by WATANABE Yoshimasa (profile)
Powered by DiKicker
Base theme by Nana (for tDiary)




◇ Twitter やってます。この記事が気にいったらぜひ twitter.com/Naney の follower になってください。