[opensuse-support] After upgrading to 15.0, I find rpmsave files identical to the original
I found these two: Telcontar:~ # diff -s /etc/fonts/conf.d/10-rendering-options.conf.rpmsave /etc/fonts/conf.d/10-rendering-options.conf Files /etc/fonts/conf.d/10-rendering-options.conf.rpmsave and /etc/fonts/conf.d/10-rendering-options.conf are identical Telcontar:~ # diff -s /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave /etc/fonts/conf.d/58-family-prefer-local.conf Files /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave and /etc/fonts/conf.d/58-family-prefer-local.conf are identical Telcontar:~ # If the new configuration file is the same as the old one, it is absurd to create the .rpmsave, and wastes admin time. I thought the check was automatic. Bug? -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
14.01.2019 22:31, Carlos E. R. пишет:
I found these two:
Telcontar:~ # diff -s /etc/fonts/conf.d/10-rendering-options.conf.rpmsave /etc/fonts/conf.d/10-rendering-options.conf Files /etc/fonts/conf.d/10-rendering-options.conf.rpmsave and /etc/fonts/conf.d/10-rendering-options.conf are identical Telcontar:~ # diff -s /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave /etc/fonts/conf.d/58-family-prefer-local.conf Files /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave and /etc/fonts/conf.d/58-family-prefer-local.conf are identical Telcontar:~ #
If the new configuration file is the same as the old one, it is absurd
Your choice of expression is remarkable.
to create the .rpmsave, and wastes admin time. I thought the check was automatic.
.rpmsave is also created on package removal.
Bug?
Unless you can reproduce exact sequence of events that lead to it and prove that .rpmsave was created during package *update*, you will be just wasting someone else time.
On 15/01/2019 05.43, Andrei Borzenkov wrote:
14.01.2019 22:31, Carlos E. R. пишет:
I found these two:
Telcontar:~ # diff -s /etc/fonts/conf.d/10-rendering-options.conf.rpmsave /etc/fonts/conf.d/10-rendering-options.conf Files /etc/fonts/conf.d/10-rendering-options.conf.rpmsave and /etc/fonts/conf.d/10-rendering-options.conf are identical Telcontar:~ # diff -s /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave /etc/fonts/conf.d/58-family-prefer-local.conf Files /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave and /etc/fonts/conf.d/58-family-prefer-local.conf are identical Telcontar:~ #
If the new configuration file is the same as the old one, it is absurd
Your choice of expression is remarkable.
to create the .rpmsave, and wastes admin time. I thought the check was automatic.
.rpmsave is also created on package removal.
And the new config file is created also on package removal? Telcontar:~ # rpm -qf /etc/fonts/conf.d/10-rendering-options.conf /etc/fonts/conf.d/58-family-prefer-local.conf fonts-config-20160921-lp150.2.3.noarch fonts-config-20160921-lp150.2.3.noarch Telcontar:~ # Obviously they were not removed. However, if zypper dup chose to first do a removal, and after do an install, that's not my doing. -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
Carlos E. R. wrote:
If the new configuration file is the same as the old one, it is absurd to create the .rpmsave, and wastes admin time. I thought the check was automatic.
Bug?
Not really sure, but I had the feeling that this kind of things *can* happen when you skip updates, i.e., only dup once in a while, and there had been several updates for a package in the meantime. -- To unsubscribe, e-mail: opensuse-support+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-support+owner@opensuse.org
On 15/01/2019 11.49, Peter Suetterlin wrote:
Carlos E. R. wrote:
If the new configuration file is the same as the old one, it is absurd to create the .rpmsave, and wastes admin time. I thought the check was automatic.
Bug?
Not really sure, but I had the feeling that this kind of things *can* happen when you skip updates, i.e., only dup once in a while, and there had been several updates for a package in the meantime.
Well, this is an upgrade from 42.3 to 15.0, so obviously a big jump. But I did not skip updates. It seems that zypper dup first removed the old package, then installed the new one, in two operations: <1.5> 2019-01-07 16:13:59 Telcontar RPM - - Transaction ID 5c336cb6 finished: 0 <1.5> 2019-01-07 16:13:59 Telcontar RPM - - Transaction ID 5c336cb7 started <1.5> 2019-01-07 16:13:59 Telcontar RPM - - erase google-carlito-fonts-1.1.03.beta1-6.1.noarch: success <1.5> 2019-01-07 16:13:59 Telcontar RPM - - install google-carlito-fonts-1.1.03.beta1-lp150.1.7.noarch: success <1.5> 2019-01-07 16:13:59 Telcontar RPM - - erase google-carlito-fonts-1.1.03.beta1-6.1.noarch: success <1.5> 2019-01-07 16:13:59 Telcontar RPM - - Transaction ID 5c336cb7 finished: 0 <1.5> 2019-01-07 16:13:59 Telcontar RPM - - Transaction ID 5c336cb7 started <1.5> 2019-01-07 16:13:59 Telcontar RPM - - erase fonts-config-20180430-7.6.1.noarch: success <1.5> 2019-01-07 16:14:00 Telcontar RPM - - install fonts-config-20160921-lp150.2.3.noarch: success <1.5> 2019-01-07 16:14:00 Telcontar RPM - - erase fonts-config-20180430-7.6.1.noarch: success <1.5> 2019-01-07 16:14:00 Telcontar RPM - - Transaction ID 5c336cb7 finished: 0 <1.5> 2019-01-07 16:14:00 Telcontar RPM - - Transaction ID 5c336cb8 started Thus it was not done as an upgrade and the config files were not detected. -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
14.01.2019 22:31, Carlos E. R. пишет:
I found these two:
Telcontar:~ # diff -s /etc/fonts/conf.d/10-rendering-options.conf.rpmsave /etc/fonts/conf.d/10-rendering-options.conf Files /etc/fonts/conf.d/10-rendering-options.conf.rpmsave and /etc/fonts/conf.d/10-rendering-options.conf are identical Telcontar:~ # diff -s /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave /etc/fonts/conf.d/58-family-prefer-local.conf Files /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave and /etc/fonts/conf.d/58-family-prefer-local.conf are identical Telcontar:~ #
If the new configuration file is the same as the old one,
a) Files are different from files in RPMDB because they are generated by scripts during installation. Files in RPMDB are of size 91 bytes. So from RPM point of view they are changed after installation. b) RPM cannot directly compare files in old and new packages, it can only compare file digests in RPMDB and in new package. And they are different (more precisely they are using different algorithms so cannot be compared so assumed different). And neither digest matches content of on-disk file either. bor@linux-99af:~/Downloads> rpm -q --dump -p fonts-config-20180430-7.6.1.noarch.rpm | fgrep conf.d/10-ren /etc/fonts/conf.d/10-rendering-options.conf 91 1545411859 39150c6aa26ca537c48a319685685695 0100644 root root 1 0 0 X bor@linux-99af:~/Downloads> rpm -q --dump -p fonts-config-20160921-lp150.2.3.noarch.rpm | fgrep conf.d/10-ren /etc/fonts/conf.d/10-rendering-options.conf 91 1519074400 f7faf868865e7f98b1f96c5bf33500d855337b4145ee66088796c09dc17e86db 0100644 root root 1 0 0 X bor@linux-99af:~/Downloads> So RPM quite correctly preserves old version of %config file. Further discussion whether it is possible to improve handling of such files should really go to opensuse-packaging.
15.01.2019 22:24, Andrei Borzenkov пишет:
14.01.2019 22:31, Carlos E. R. пишет:
I found these two:
Telcontar:~ # diff -s /etc/fonts/conf.d/10-rendering-options.conf.rpmsave /etc/fonts/conf.d/10-rendering-options.conf Files /etc/fonts/conf.d/10-rendering-options.conf.rpmsave and /etc/fonts/conf.d/10-rendering-options.conf are identical Telcontar:~ # diff -s /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave /etc/fonts/conf.d/58-family-prefer-local.conf Files /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave and /etc/fonts/conf.d/58-family-prefer-local.conf are identical Telcontar:~ #
If the new configuration file is the same as the old one,
a) Files are different from files in RPMDB because they are generated by scripts during installation. Files in RPMDB are of size 91 bytes. So from RPM point of view they are changed after installation.
b) RPM cannot directly compare files in old and new packages, it can only compare file digests in RPMDB and in new package. And they are different (more precisely they are using different algorithms so cannot be compared so assumed different). And neither digest matches content of on-disk file either.
bor@linux-99af:~/Downloads> rpm -q --dump -p fonts-config-20180430-7.6.1.noarch.rpm | fgrep conf.d/10-ren /etc/fonts/conf.d/10-rendering-options.conf 91 1545411859 39150c6aa26ca537c48a319685685695 0100644 root root 1 0 0 X bor@linux-99af:~/Downloads> rpm -q --dump -p fonts-config-20160921-lp150.2.3.noarch.rpm | fgrep conf.d/10-ren /etc/fonts/conf.d/10-rendering-options.conf 91 1519074400 f7faf868865e7f98b1f96c5bf33500d855337b4145ee66088796c09dc17e86db 0100644 root root 1 0 0 X bor@linux-99af:~/Downloads>
So RPM quite correctly preserves old version of %config file.
Further discussion whether it is possible to improve handling of such files should really go to opensuse-packaging.
And note that this happens only if old and new packages are using different digests. This should not happen in Leap 15 because RPMDB content will match updated package (files are the same, digests algorithms are the same) and I suspect we won't see SHA256 replaced by different algorithm by default soon so it will likely won't happen in Leap 15 successor either. IOW this is more or less corner case which hardly warrants time spent to fix it. Of course if you can come up with solution that is trivial to implement, by all means go ahead.
On 15/01/2019 20.49, Andrei Borzenkov wrote:
15.01.2019 22:24, Andrei Borzenkov пишет:
14.01.2019 22:31, Carlos E. R. пишет:
I found these two:
Telcontar:~ # diff -s /etc/fonts/conf.d/10-rendering-options.conf.rpmsave /etc/fonts/conf.d/10-rendering-options.conf Files /etc/fonts/conf.d/10-rendering-options.conf.rpmsave and /etc/fonts/conf.d/10-rendering-options.conf are identical Telcontar:~ # diff -s /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave /etc/fonts/conf.d/58-family-prefer-local.conf Files /etc/fonts/conf.d/58-family-prefer-local.conf.rpmsave and /etc/fonts/conf.d/58-family-prefer-local.conf are identical Telcontar:~ #
If the new configuration file is the same as the old one,
a) Files are different from files in RPMDB because they are generated by scripts during installation. Files in RPMDB are of size 91 bytes. So from RPM point of view they are changed after installation.
b) RPM cannot directly compare files in old and new packages, it can only compare file digests in RPMDB and in new package. And they are different (more precisely they are using different algorithms so cannot be compared so assumed different). And neither digest matches content of on-disk file either.
bor@linux-99af:~/Downloads> rpm -q --dump -p fonts-config-20180430-7.6.1.noarch.rpm | fgrep conf.d/10-ren /etc/fonts/conf.d/10-rendering-options.conf 91 1545411859 39150c6aa26ca537c48a319685685695 0100644 root root 1 0 0 X bor@linux-99af:~/Downloads> rpm -q --dump -p fonts-config-20160921-lp150.2.3.noarch.rpm | fgrep conf.d/10-ren /etc/fonts/conf.d/10-rendering-options.conf 91 1519074400 f7faf868865e7f98b1f96c5bf33500d855337b4145ee66088796c09dc17e86db 0100644 root root 1 0 0 X bor@linux-99af:~/Downloads>
So RPM quite correctly preserves old version of %config file.
Further discussion whether it is possible to improve handling of such files should really go to opensuse-packaging.
And note that this happens only if old and new packages are using different digests. This should not happen in Leap 15 because RPMDB content will match updated package (files are the same, digests algorithms are the same) and I suspect we won't see SHA256 replaced by different algorithm by default soon so it will likely won't happen in Leap 15 successor either. IOW this is more or less corner case which hardly warrants time spent to fix it.
Of course if you can come up with solution that is trivial to implement, by all means go ahead.
No, I'm fine with the explanation, thank you, I'm not going to do anything beyond possibly a bug report. But please consider it for an instant from my point of view. I run "rpmconfigcheck". This produces a list of more than a hundred configuration files that I have to manually verify, after doing a zypper dup. I do it via "meld disabled_config_file active_config_file". And sometimes, I get the warning "both files are the same". This is what I refer as wasted time, because software could have done this somehow and deleted the rpmsaved or rpmnew file and said nothing about it. What I will do is do a diff myself as part of my scripts and produce another list. -- Cheers / Saludos, Carlos E. R. (from 15.0 x86_64 at Telcontar)
participants (3)
-
Andrei Borzenkov
-
Carlos E. R.
-
Peter Suetterlin