#! /bin/sh # all=$(rpm -qa | sed ) # URG. Stripping version from an rpm is not as easy as s/_.*//, consider # SuSEfirewall2-3.6_SVNr183-10 # gpg-pubkey-1abd1afb-450ef738 # hal-32bit-0.5.9_git20070831-13 # iso-codes-1.0a-49 # libopenssl0_9_8-32bit-0.9.8e-45.5 all=$(rpm -qa --queryformat='%{NAME}\n' | sort) for i in $all; do info=$(rpm -qi $i); d=$(echo "$info" | grep '^Distribution:' | grep -v 'openSUSE 10.3 (X86-64)'\ | awk -F : '{print $2}'|sed -e 's/^ *//' -e 's/ *//'); if test -n "$d"; then zypper install --force -y $i fi; done