There are two ways to detect if it's an update or not:

1) check $1 in the postun script, it contains the number of left
   packages with the same name. Thus, if it's zero, it's a delete,
   otherwise it's an update
2) check for the existance of some crucial file. If it's no longer
   there, it's a delete.

Method 2) has the advantage that it also works with package renames.

The real problem you have is that there's no way to fix the bugs in
scriptlets of the installed packages.


thanks - i put this in the %postun

# Only remove symlink if we are erasing package
if [ $1 = 0 ]; then
   if [ -h /usr/java/latest ] ; then
           rm -f /usr/java/latest ;
   fi
fi

but on an upgrade the symlink still got wiped out. I was sure that looked right when compared to

         install   erase   upgrade  reinstall
%pre         1        -         2         2
%post        1        -         2         2
%preun       -        0         1         -

but seemingly not!
%postun      -        0         1         -


_______________________________________________
Rpm-maint mailing list
[email protected]
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to