Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
47
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

Organization

野良ビルド管理 porg のメモ。

porg は野良ビルドのパッケージ管理用ツールです。以前は paco として開発されていたもので、現在は porg として開発が継続されています。

野良ビルドをインストールする時、専用コマンドを噛ませることでインストール内容を追跡記録してくれて、アンインストールを半自動化できるようになります。通常の make install だけでなく、gem, pip, pear などを含め、ありとあらゆるインストール作業の追跡が可能です。

残念ながら FreeBSD や Mac OS X では機能しないので、Linux 専用です。

ダウンロード

管理者権限で実行します。

curl -L http://jaist.dl.sourceforge.net/project/porg/porg-0.10.tar.gz | tar zxf - -C /usr/local/src

インストール

管理者権限で実行します。GUI はいらないので --disable-grop パラメータを付けます。

./configure --prefix=/usr/local --disable-grop
make && make install

アンインストール

管理者権限で実行します。porg 自身のコマンドで porg というパッケージ名で記録された自らを削除します。

porg -r porg

パッケージ管理

基本的にすべての作業は管理者権限での操作を想定しています。

パッケージのインストール

porg -lD make install
porg -lp <package_name> make install

野良ビルドのインストールコマンド make install の頭に porg を指定する事で、そのインストール作業を追跡できます。

  • -lD インストールを追跡し、カレントディレクトリ名をパッケージ名として記録します。
  • -lp <package_name> インストールを追跡し、<package_name> をパッケージ名として記録します。

例:

porg -lD python setup.py install  # カレントディレクトリ名をパッケージ名として記録
porg -lp pep8 easy_install pep8  # pep8 をパッケージ名として記録

上記のように make install 以外でもトラッキング可能です。

パッケージ一覧の確認

インストール済みの全パッケージを一覧表示:

porg -a

パッケージの確認

パッケージのメタ情報を確認:

porg -i <package_name>

パッケージの全ファイルを表示:

porg -f <package_name>

アンインストール時はこれらのファイル群が削除されます。

パッケージの削除

porg -r <package_name>

以上です。

この他に paco2porg というコマンドもインストールすると付いてくるので、paco からの移行もコマンド一発です。porg_bash_completion という Bash 用の入力補完スクリプトも付いてるみたいです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
47
Help us understand the problem. What are the problem?