[oden@n5 bin]$ cat update_pear.sh #!/bin/sh #set -x if ! [ -x /usr/bin/pear ]; then exit 0; fi pear list-all > ~/tmp/pear_stuff for i in /SRPMS/main/release/php-pear-*; do PEAR_NAME=`rpm --nosignature -qp --queryformat '[%{name}\n]' $i|sed -e 's/^php-pear-//'` LOCAL_VERSION=`rpm -qp --nosignature --queryformat '[%{version}\n]' $i` # REMOTE_VERSION=`pear list-all|grep "^${PEAR_NAME}\ "|awk '{ print $2 }'` REMOTE_VERSION=`cat ~/tmp/pear_stuff|grep "^${PEAR_NAME}\ "|awk '{ print $2 }'` string1=`echo $LOCAL_VERSION | perl -pi -e 's|\.||g'` string2=`echo $REMOTE_VERSION | perl -pi -e 's|\.||g'` echo "********************************************************************************" echo "Pear name: $PEAR_NAME" echo "Local version: $LOCAL_VERSION (${string1})" echo "Remote version: $REMOTE_VERSION (${string1})" if [ "${string2}" -gt "${string1}" ]; then echo "$LOCAL_VERSION is older than $REMOTE_VERSION" echo "Rebuilding with the new $REMOTE_VERSION version" rpmbuildupdate --changelog "- %%VERSION" php-pear-${PEAR_NAME} ${REMOTE_VERSION} fi done