Easy Package

Menu Menu

ソフトウェアはコンパイル/インストールが必要だが、それを一つにまとめたもの。

システムを構築する時に、その構築 Know How 自体をシステムとして残しておく。

外から rpm や パッケージを持ってくるだけではなく、自分のシステムに適合したパッケージを持つ。


Linux の rpm

Fedora Linux では yum があり、rpm を取得してインストールできる。

rpm は単なる tar だが、spec ファイルに package の中身が記述されている。

rpm command により作成やインストールを行う。

簡単なRPMの作り方 ソフトウェアだけでなく、設定なども rpm で管理することが可能。


EasyPackage

琉球大学情報工学科で管理している Mac OS X 用の Package システム


epkg

Perl script

   sudo epkg sync
   sudo epkg list
   sudo epkg install

package の作成/uploadにも使う。


epkg のinstall

EasyPackage のインストール command line を使う。


epkg server

Mac OS X のversion毎にある。epkg のindexやソースを管理している


EasyPackage の作り方

EasyPackage の作り方 ad-hoc に自分のマシンにソフトを入れるのではなく、他の人が最利用可能な形で入れる。ちょっとの手間でそれが可能になる。

既に install されていれば、その know how もわかる。


EasyPackage の仕組み

EasyPackage は、パッケージの記述と、Makefile の組から作成する。

Makefile 内に、

    ソフトウェアのダウンロード
    configure
    install

の手順を記述する。つまり、インストール手順が Makefile という形で know how になっている。

/usr/epkg で作業をする。

    /usr/epkg/SEPKG/lang/mysql.src.epkg 

に package が作られる。src.epkg は tgz 。src.epkg にはバイナリは入ってない。

配布するpackageは

    /usr/epkg/EPKG/lang/

に置かれる。.epkg は tgz 。EPKG には Makefile は入ってない。


簡単なまとめ

作る人

    (1) /usr/epkg に EPKGINFO Makefile を作る
    (2) package を make する
    (3) src.epkg を作る
    (4) upload する

使う人

    (1) epkg を使って /usr/epkg に .epkg をdownload
    (2) epkg が、それを tgz で展開
    (3) どのpackage が入っているかを管理


実際の build 手順

実際の build 手順 ここでは,jless を例に build 手順を記します. まずは epkg コマンドを使って souce package を取得します

    % epkg getsklx jless

次に,作業ディレクトリに移動し build してみます.

    % cd /usr/epkg/japanese/jless
    % make

すると,source file 取得後,build されるかと思います. 次に,plist を作成します

    % sudo make plist

plist が作成できたらインストールし,パッケージを作成します.

    % sudo make install
    % sudo make package

作成されたパッケージは /usr/epkg/EPKG/ 以下に配置されます.

    % sudo epkg mkpkg japanese/jless

で、src.epkg を作ります。


パッケージのアップロード方法

作成したパッケージをサーバにアップロードするには

    % epkg upload jless

のようにします. アップロードするには EasyPackage のサイトにアップロードユーザ登録されている必要があります. (ssh の public key を kono@ie.u-ryukyu.ac.jp まで、投げてくれれば登録します) アカウントをお持ちでない場合,自作パッケージから投稿お願いします.

    % sudo epkg sync
    % sudo epkg list

で、upload されていることを確認します。


Shinji KONO / Tue Jun 11 12:36:12 2013