自分用portscout.orgを構築してupstreamの更新情報を素早く把握する

portscout.orgがまたアクセスできなくなっていた。さすがにこうもアクセス不能だと不便なので、ports-mgmt/portscoutを使って自分用のportscout.orgを構築した。portscoutには、メンテナのメールアドレスで調査対象を絞り込む機能があるので、自分用のportscout.orgは簡単に作成できる。

portscoutのインストール

ports-mgmt/portscoutからportscoutをインストールする。portscoutは、データ格納先としてPostgreSQLかSQLite3を選択できる。今回はお手軽にSQLite3を選択した。SQLite3を使うと、処理の並列実行ができなくなるので、大規模なportscout.orgを運用する場合はPostgreSQLを選択すること。今回は自分用で小規模のため、お手軽なSQLite3を選択した。

portscoutの設定

/usr/local/etc/portscout.confに設定ファイルがある。今回の用途で変更する必要があるのは、wwwdirとrestrict maintainerの2カ所。wwwdirは、portscoutの各種htmlファイル類が出力されるディレクトリを指定する。指定したディレクトリに、portscoutディレクトリが作成される。

wwwdir = %(prefix)/www
restrict maintainer = "メンテナのメールアドレス"

portscoutの初期設定

portscoutの初期設定は、インストールされたportscoutコマンドを使って管理する。ports treeは最新にしておくこと。
まずは、各種情報の管理先DBを初期化する。

# sqlite3 /var/db/portscout.db < /usr/local/share/portscout/sql/sqlite_init.sql

次に、管理DBへ各種情報を書き込む。

# portscout build

各種情報が準備できたら、portsより新しいバージョンのdistfileがあるかどうか調査する。

# portscout check

調査が終われば、htmlファイルを生成する。

# portscout generate

portscoutの閲覧設定

portscoutが生成したhtmlファイルをhttpで閲覧できるように設定した。WebサーバはApacheを使っていたので

Alias /portscout /usr/local/www/portscout
<Directory "/usr/local/www/portscout">
  Options +FollowSymLinks
</Directory>

こんな設定を追加した。

portscoutの更新

ports treeを更新した場合は、このコマンドを実行する。

# portscout rebuild

あとは適当な間隔でportscout checkとportscout generateを実行すればOK。