[opensuse-packaging] RPM bug when updating or something I should know?
From the reports at http://forums.opensuse.org/applications/multimedia/396626-mplayer-error-late...
When Packman updated libcaca from 0.99beta14 to 0.99beta15 with zypper up -t package I found that I had some missing files ("rpm -ql" was different from real filesystem). Reinstalling the package (zypper in -f) fixed the problem. Since I don't have the old package to retest I can't say exactly what happened. Now even if I use openSUSE 11.0 x86_64 I have found 10.3 i586 versions of these packages (well, not exactly the sames, the beta15 package is newer than the one I had the first problem with). http://www.filefactory.com/file/3a10d3/n/libcaca-0_9_0_99_beta14-0_pm_0_i586... http://www.filefactory.com/file/e2a52c/n/libcaca0-0_9_0_99_beta15-0_pm_5_i58... the problem seems to happen also with Smart. Now I install the beta14 package and "rpm -qV libcaca" doesn't complains. Then I update directly with rpm (rpm -U libcaca0-0.9_0.99.beta15-0.pm.5.i586.rpm) and libcaca (beta14) is removed to install libcaca0 (beta15). But "rpm -qV libcaca0" returns: ....L... /usr/lib/libcaca.so.0 ....L... /usr/lib/libcucul.so.0 A "rpm -i --replacepkgs libcaca0-0.9_0.99.beta15-0.pm.5.i586.rpm" fixes the problem. What "rpm -qV" complains about is: $ rpm -qvl libcaca0 lrwxrwxrwx 1 root root 20 sep 30 21:26 /usr/lib/libcaca++.so.0 -> libcaca++.so.0.99.15 -rwxr-xr-x 1 root root 26428 sep 30 21:26 /usr/lib/libcaca++.so.0.99.15 lrwxrwxrwx 1 root root 18 sep 30 21:26 /usr/lib/libcaca.so.0 -> libcaca.so.0.99.15 -rwxr-xr-x 1 root root 675948 sep 30 21:26 /usr/lib/libcaca.so.0.99.15 lrwxrwxrwx 1 root root 14 sep 30 21:26 /usr/lib/libcucul++.so.0 -> libcaca++.so.0 lrwxrwxrwx 1 root root 12 sep 30 21:26 /usr/lib/libcucul.so.0 -> libcaca.so.0 $ l /usr/lib/libc[au]c* lrwxrwxrwx 1 root root 13 oct 3 01:31 /usr/lib/libcaca.so.0 -> libcucul.so.0 lrwxrwxrwx 1 root root 20 oct 3 01:31 /usr/lib/libcaca++.so.0 -> libcaca++.so.0.99.15* -rwxr-xr-x 1 root root 675948 sep 30 21:26 /usr/lib/libcaca.so.0.99.15* -rwxr-xr-x 1 root root 26428 sep 30 21:26 /usr/lib/libcaca++.so.0.99.15* lrwxrwxrwx 1 root root 19 oct 3 01:31 /usr/lib/libcucul.so.0 -> libcucul.so.0.99.14 lrwxrwxrwx 1 root root 14 oct 3 01:31 /usr/lib/libcucul++.so.0 -> libcaca++.so.0* So, there is something about symbolic links and updates that I should know or this is a RPM bug? Thanks. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Fri, 3 Oct 2008, Christian Morales Vega wrote:
....L... /usr/lib/libcaca.so.0 ....L... /usr/lib/libcucul.so.0
$ rpm -qvl libcaca0 lrwxrwxrwx 1 root root 18 sep 30 21:26 /usr/lib/libcaca.so.0 -> libcaca.so.0.99.15 lrwxrwxrwx 1 root root 12 sep 30 21:26 /usr/lib/libcucul.so.0 -> libcaca.so.0 $ l /usr/lib/libc[au]c* lrwxrwxrwx 1 root root 13 oct 3 01:31 /usr/lib/libcaca.so.0 -> libcucul.so.0 -rwxr-xr-x 1 root root 675948 sep 30 21:26 /usr/lib/libcaca.so.0.99.15* lrwxrwxrwx 1 root root 19 oct 3 01:31 /usr/lib/libcucul.so.0 -> libcucul.so.0.99.14
That's even a broken link (libcucul.so.0.99.14 doesn't exist). I think that's pretty clearly an RPM bug. The generated files don't match what's in the rpm. Hmm, or (just maybe) it might be ldconfig breaking this. E.g. rpm installing the files and softlinks just fine, but then ldconfig (perhaps mislead by wrong SONAMEs in the DSOs) generates wrong targets? On reflection this can't really happen, but something to try. Perhaps an strace of rpm while updating this package reveals something interesting.
So, there is something about symbolic links and updates that I should know or this is a RPM bug?
The latter I think. Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Wed, Oct 08, 2008 at 01:46:09PM +0200, Michael Matz wrote:
On Fri, 3 Oct 2008, Christian Morales Vega wrote:
....L... /usr/lib/libcaca.so.0 ....L... /usr/lib/libcucul.so.0
$ rpm -qvl libcaca0 lrwxrwxrwx 1 root root 18 sep 30 21:26 /usr/lib/libcaca.so.0 -> libcaca.so.0.99.15 lrwxrwxrwx 1 root root 12 sep 30 21:26 /usr/lib/libcucul.so.0 -> libcaca.so.0 $ l /usr/lib/libc[au]c* lrwxrwxrwx 1 root root 13 oct 3 01:31 /usr/lib/libcaca.so.0 -> libcucul.so.0 -rwxr-xr-x 1 root root 675948 sep 30 21:26 /usr/lib/libcaca.so.0.99.15* lrwxrwxrwx 1 root root 19 oct 3 01:31 /usr/lib/libcucul.so.0 -> libcucul.so.0.99.14
That's even a broken link (libcucul.so.0.99.14 doesn't exist). I think that's pretty clearly an RPM bug. The generated files don't match what's in the rpm.
Hmm, or (just maybe) it might be ldconfig breaking this. E.g. rpm installing the files and softlinks just fine, but then ldconfig (perhaps mislead by wrong SONAMEs in the DSOs) generates wrong targets? On reflection this can't really happen, but something to try. Perhaps an strace of rpm while updating this package reveals something interesting.
My experience is that it's ldconfig medling with the library links. I doubt that it's a rpm bug. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
Hi, On Wed, 8 Oct 2008, Michael Schroeder wrote:
That's even a broken link (libcucul.so.0.99.14 doesn't exist). I think that's pretty clearly an RPM bug. The generated files don't match what's in the rpm.
Hmm, or (just maybe) it might be ldconfig breaking this. E.g. rpm installing the files and softlinks just fine, but then ldconfig (perhaps mislead by wrong SONAMEs in the DSOs) generates wrong targets? On reflection this can't really happen, but something to try. Perhaps an strace of rpm while updating this package reveals something interesting.
My experience is that it's ldconfig medling with the library links. I doubt that it's a rpm bug.
We will know once we see an strace. If the SONAMEs aren't completely unreasonable ldconfig shouldn't lead to the above situation either. Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Wed, Oct 08, 2008 at 04:09:53PM +0200, Michael Matz wrote:
Hi,
On Wed, 8 Oct 2008, Michael Schroeder wrote:
That's even a broken link (libcucul.so.0.99.14 doesn't exist). I think that's pretty clearly an RPM bug. The generated files don't match what's in the rpm.
Hmm, or (just maybe) it might be ldconfig breaking this. E.g. rpm installing the files and softlinks just fine, but then ldconfig (perhaps mislead by wrong SONAMEs in the DSOs) generates wrong targets? On reflection this can't really happen, but something to try. Perhaps an strace of rpm while updating this package reveals something interesting.
My experience is that it's ldconfig medling with the library links. I doubt that it's a rpm bug.
We will know once we see an strace. If the SONAMEs aren't completely unreasonable ldconfig shouldn't lead to the above situation either.
My guess is that /usr/lib/libcaca.so.0.99.15 has a soname of 0.99.14... M. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
2008/10/8 Michael Schroeder
On Wed, Oct 08, 2008 at 04:09:53PM +0200, Michael Matz wrote:
We will know once we see an strace. If the SONAMEs aren't completely unreasonable ldconfig shouldn't lead to the above situation either.
My guess is that /usr/lib/libcaca.so.0.99.15 has a soname of 0.99.14...
strace available at http://www.filefactory.com/file/9941bc/n/rpm_test_bz2 ldconfig is who changes the /usr/lib/libcucul.so.0 symlink to point to libcucul.so.0.99.14 (line 10653 of strace) rpm previously has correctly set it to libcaca.so.0 (line 3615). But rpm first calls ldconfig and *after* unlinks libcucul.so.0.99.14, "confusing" ldconfig. I don't know how the update process in rpm or ldconfig are supposed to work, but is this normal? The sonames are normal: "libcaca.so.0" and "libcucul.so.0" in beta14, and "libcaca.so.0" and "libcaca++.so.0" in beta 15. Some things to note: - beta 14 has /usr/lib/libcaca.so.0 -> libcaca.so.0.99.14 /usr/lib/libcaca.so.0.99.14 /usr/lib/libcucul.so.0 -> libcucul.so.0.99.14 /usr/lib/libcucul.so.0.99.14 while beta 15 has /usr/lib/libcaca++.so.0 -> libcaca++.so.0.99.15 /usr/lib/libcaca++.so.0.99.15 /usr/lib/libcaca.so.0 -> libcaca.so.0.99.15 /usr/lib/libcaca.so.0.99.15 /usr/lib/libcucul++.so.0 -> libcaca++.so.0 /usr/lib/libcucul.so.0 -> libcaca.so.0 - beta 14 package name is libcaca and beta 15 package name is libcaca0. ...don't know if it makes any difference. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
On Wed, Oct 08, 2008 at 06:30:34PM +0200, Christian Morales Vega wrote:
2008/10/8 Michael Schroeder
: On Wed, Oct 08, 2008 at 04:09:53PM +0200, Michael Matz wrote:
We will know once we see an strace. If the SONAMEs aren't completely unreasonable ldconfig shouldn't lead to the above situation either.
My guess is that /usr/lib/libcaca.so.0.99.15 has a soname of 0.99.14...
strace available at http://www.filefactory.com/file/9941bc/n/rpm_test_bz2 ldconfig is who changes the /usr/lib/libcucul.so.0 symlink to point to libcucul.so.0.99.14 (line 10653 of strace) rpm previously has correctly set it to libcaca.so.0 (line 3615). But rpm first calls ldconfig and *after* unlinks libcucul.so.0.99.14, "confusing" ldconfig. I don't know how the update process in rpm or ldconfig are supposed to work, but is this normal?
Yes, that's perfectly normal. Ah, you're symlinking library names. Though, I never was successful with that. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-packaging+help@opensuse.org
participants (3)
-
Christian Morales Vega
-
Michael Matz
-
Michael Schroeder