The only workaround I can think of is something like: -------- %pre <new-name> if <package_is_being_installed>; then rpm -q <old-name> && touch /run/<new-name>/package-is-renamed fi %post <new-name> if ! test -e /run/<new-name>/package-is-renamed; then # Assign 2 to $1 and pretend that a package update is on going. set 2 fi %service_add_post sshd.service rm -f /run/<new-name>/package-is-renamed --------- and yes that's pretty hackish.