.rpmnew file not created on package upgrade?

What you observe is expected behaviour. A .rpmnew package is only created when both of the following conditions are met:

  1. the default configuration file in the new RPM package is different from the configuration file that was originally included in the current/previous version of the RPM package. (Changes to the defaults have been made by package maintainer.)
  2. the actual configuration file on disk has been changed from the default that was included the current/previous version of the package. (Changes from the defaults have been made by administrator.)

According to the Changelog:

commit e64bf5b93ab689e6031fce4489e4ae38ebaebef1
Author: Panu Matilainen
Date: Tue Aug 28 09:04:09 2007 +0300

Avoid .rpmnew when the file hasn't changed in package (rhbz#194246)

The current behavior of %config(noreplace) creates a .rpmnewfile iff the type of the current file has been changed wrto what was originally installed.

The patch changes this behavior so when old and new (in db and in package) is identical -> not changed, the function returns FA_SKIP -> it won't clobber anything, it simply skips installation of the file from the package. This patch handles also the opposite case when old and new packages contain %config symlink and we have regular file on disk.

Patch from Tomas Mraz.