rpm -e --allmatches $pkgs
if [ -f /usr/bin/pkgcmd ]; then
for pkg in $pkgs; do
- info=$(pkgcmd -l --global | grep $pkg)
- pkgid=$(echo ${info#*pkgid} | awk -F ' ' '{print $1}' | sed 's/.*\\[\\(.*\\)\\].*/\\1/')
+ result=$(pkgcmd -l --global | grep -m 1 $pkg)
+ pkgid=$(echo ${result#*pkgid} | awk -F ' ' '{print $1}' | sed 's/.*\\[\\(.*\\)\\].*/\\1/')
if [ -n "$pkgid" ]; then
- pkgtype=$(echo ${info#*pkg_type} | awk -F ' ' '{print $1}' | sed 's/.*\\[\\(.*\\)\\].*/\\1/')
echo "Uninstalling preload $pkgtype package $pkgid ..."
+ pkginfo=$(pkginfo --pkg $pkgid)
+ pkgtype=$(echo "$pkginfo" | grep "Type:" | awk -F ': ' '{print $2}')
+ preload=$(echo "$pkginfo" | grep "Preload:" | awk -F ': ' '{print $2}')
+ readonly=$(echo "$pkginfo" | grep "Readonly:" | awk -F ': ' '{print $2}')
+ options=""
if [[ $pkgtype == 'tpk' ]]; then
cmd='/usr/bin/tpk-backend'
elif [[ $pkgtype == 'wgt' ]]; then
else
cmd='/usr/bin/unified-backend'
fi
+ if [[ $preload == "1" ]]; then
+ if [[ $readonly == "1" ]]; then
+ options="--preload"
+ else
+ options="--preload-rw"
+ fi
+ fi
if [ -f $cmd ]; then
- $cmd -d $pkg --preload --force-remove
+ $cmd -d $pkg $options --force-remove
else
echo "$cmd is not installed"
exit 1