#! /bin/bash # Jun NISHII # Time-stamp: <2000-03-09 12:12:22 vine> LANG=ja_JP.ujis LANGUAGE=ja export LANG LANGUAGE showUsage() { cat <) option: --nolink: rpm へのリンクはつくらない --nodesc: 名前とSummary のみを表示 dirname: RPMS/{i386,noarch} の RPMS のディレクトリを指定 ex) % listrpm.sh /usr/src/redhat/RPMS この場合、各ファイルへのリンクは*絶対パス*になる ex2) % cd /usr/src/redhat/RPMS % listrpm.sh . この場合、各ファイルへのリンクはカレント・ディレクトリからの*相対パス*になる。 top: ftpサイトのディレクトリ指定をしたいときは、ここで そのトップ (.../RPMS/...の RPMS のある場所)を指定 ex) % listrpm.sh ftp://ftp.jaist.ac.jp/pub/os/linux/Vine/VinePlus/RPMS rpm/RPMS これで、./rpm/RPMS 以下のパッケージ・リストを作成し、パッケージへのリンクは ftp://ftp.jaist.ac.jp/pub/os/linux/Vine/VinePlus/RPMS/ 以下にはられる。 EOF } makeHead(){ cat <

RPMパッケージ一覧

Last modified: `date`

EOF } makeTail(){ cat < EOF } if [ $# = 0 ]; then showUsage $0 exit 1 fi for arg in $* ; do case $arg in --nodesc) short=1; shift ;; --nolink) nolink=1; shift ;; esac done if [ $# = 2 ]; then top=$1/ shift else top=${1%.} fi makeHead for arch in i386/ ppc/ sparc/ alpha/ noarch/ ""; do for i in `ls $1/${arch}*.rpm 2>/dev/null`; do link=${top}${arch}${i##*/} name=${i##*/} if [ ${nolink:-0} = 0 ]; then echo "

$name

" echo "
" else echo "

$name

" echo "
" fi if [ ${short:-0} = 0 ]; then rpm -qp --queryformat \ ""%{SUMMARY}"
"%{DESCRIPTION}"
" \ $i |nkf -e else rpm -qp --queryformat \ ""%{SUMMARY}"" \ $i |nkf -e fi echo "
" done done makeTail exit