オフィスのファイル置き場になってるウェブサーバで、rpmパッケージのメタ情報が表示される仕組みを作った。
Rewriteは以下のような感じでphpに飛ばすけど、phpで生成したページから本当にrpmをダウンロード出来ないと困るので、HTTP_REFERERでRewriteを制限。HTTP_USER_AGENTはAnacondaとかが困らないように^Mozillaだけ。
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} ^Mozilla
RewriteCond %{HTTP_REFERER} /$
RewriteRule \.rpm$ rpm.php
ページを生成するphpでは、DLするためのリンク、そのrpmのソースコードへのリンク(オフィス内の別のサーバ)、rpmコマンドの各種クエリへのリンクを張って、サーバ上でrpmパッケージに対してrpmコマンドを実行させたりする、と。rpm -qplの中のmanファイルはオンラインで表示出来るように、これもサーバ上でrpm2cpio、cpio、gunzip、groffを実行する。さらに、rpm -qp –changelog中のBugzillaへのリンクも入れ込んで、一応完成。
これ、一度作ると、rpmパッケージをウェブサーバ上に置くだけでメタデータが表示出来るようになるので、結構便利。なんか、誰かが作ってそうだけど、思いついてサクサクっと出来ちゃったので、これで良いか(^^ゞ