Bug 1086212

Summary: rpm is not replacing a changed file, and not creating rpmsave/rpmnew backups
Product: [openSUSE] openSUSE Tumbleweed Reporter: Peter Sütterlin <P.Suetterlin>
Component: BasesystemAssignee: Ludwig Nussel <lnussel>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: ro, werner
Version: Current   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Peter Sütterlin 2018-03-21 11:30:59 UTC
In the context of boo#1085834 it turned out that a changed configuration file was neither replaced by an update, nor the new version (with changes) stored anywhere:

As a test, I intentionally changed /etc/bash.bashrc by adding a comment line.
Then I did a 'zypper in -f aaa_base'

After that, the file was still my changed version, it had *not* been replaced with the one from the rpm archive (as is indicated in the file would happen during updates).
Neither was my file moved to *.rpmsave, nor was the new, proper version saved as .rpmnew.

There was also no error/warning reported from the zypper command.
Comment 1 Dr. Werner Fink 2018-05-28 09:09:19 UTC
> grep /etc/bash.bashrc aaa_base/*.spec
%config /etc/bash.bashrc

In other words: if the checksum *differs*, then there should be a /etc/bash.bashrc.rpmsave

Could be checked by

  sudo  rpm -qV aaa_base

With indicators

       S file Size differs
       M Mode differs (includes permissions and file type)
       5 digest (formerly MD5 sum) differs
       D Device major/minor number mismatch
       L readLink(2) path mismatch
       U User ownership differs
       G Group ownership differs
       T mTime differs
       P caPabilities differ

where T could be not enough for getting a /etc/bash.bashrc.rpmsave
Comment 2 Peter Sütterlin 2018-05-28 12:32:36 UTC
As I had tried to indicate in the report, this is what I would have expected.

But the file was different (ISTR that I had checked this with rpm -qV, too), and neither a .rpmsave nor a .rpmnew had been created....
That had been a re-install though - maybe things work different then?
Comment 3 Ludwig Nussel 2018-06-28 15:55:57 UTC
rpm does not create an .rpmnew file if the actually packaged config didn't change, see http://rpm.org/wiki/Releases/4.4.2.2

Wrt bash it's about time to move those "PLEASE DO NOT CHANGE" pseudo config files to /usr :-)