自分用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。