#!/bin/sh # # Versione del 2001-10-02 # # Estrae tutte le info dai package *.rpm su /cd e li invia su stdout # Come parametro indicare la directory dove risiedono i pacchetti. # Genera il rapporto su stdout. progname=$( basename $0 ) function usage() { echo echo "Usage: $progname " } if [ $# -ne 1 ]; then echo "$progname: Bad parameters" >&2 usage exit 1 fi if [ ! -d "$1" ]; then echo "$progname: $1: not a directory" >&2 usage exit 1 fi function estrai() { while read -r p ; do echo echo "----------------------------------------------------------" echo "Package `basename "$p"` :" echo "----------------------------------------------------------" # quell'imbranato di rpm fa il word splitting anche se racchiudo # il nome del file tra doppi apici; rimediamo: sp=$( echo "$p" | sed 's/ /\\ /g' ) echo -e "\nINFO ON $p:" rpm -qpi -- "$sp" echo -e "\nFILES ON $p:" rpm -qpls --provides -- "$sp" #echo -e "\nDEPENDENCIES OF $p:" #rpm -qp --requires $sp done } find "$1" -name "*.rpm" | estrai | sed 's/(no state) *//'