I've updated the iconcache proposal:
http://fedoraproject.org/wiki/PackagingDrafts/ScriptletSnippets/iconcache
per the suggestions made at the recent fedora-packaging meeting.
In short, simplify to use xdg-utils, and add (when needed):
Requires(post): xdg-utils
Requires(postun): xdg-utils
We could likely optimize %postun to include
if [ $1 -eq 0 ]; then
...
fi
but I'm not sure if it's worth it.
-- Rex