Author: kasal Update of /cvs/extras/rpms/perl-Alien-wxWidgets/devel In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29605 Modified Files: perl-Alien-wxWidgets-SONAME.patch perl-Alien-wxWidgets.spec Log Message: * Mon Aug 24 2009 Stepan Kasal <skasal@xxxxxxxxxx> - 0.44-2 - fix the soname patch perl-Alien-wxWidgets-SONAME.patch: Any_wx_config_Bakefile.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) Index: perl-Alien-wxWidgets-SONAME.patch =================================================================== RCS file: /cvs/extras/rpms/perl-Alien-wxWidgets/devel/perl-Alien-wxWidgets-SONAME.patch,v retrieving revision 1.1 retrieving revision 1.2 diff -u -p -r1.1 -r1.2 --- perl-Alien-wxWidgets-SONAME.patch 20 Aug 2009 15:19:20 -0000 1.1 +++ perl-Alien-wxWidgets-SONAME.patch 25 Aug 2009 09:29:32 -0000 1.2 @@ -1,27 +1,35 @@ -2009-08-20 Stepan Kasal <skasal@xxxxxxxxxx> - +2009-08-24 Stepan Kasal <skasal@xxxxxxxxxx> + +perl-Wx did not run if wxGTK-devel was not installed. + +The problem was that the package containes list of dynamic libraries +to open, and that it had the *.so links, that are normally used by ld +only, not by the dynamic linker. Consequently, these links go to the +devel subpackage in every sane distro. + +soname can be displayed by objdump or eu-readelf. But first, we need +the full path name; for standard paths, gcc can help. + +2009-08-24 Stepan Kasal <skasal@xxxxxxxxxx> + * inc/My/Build/Any_wx_config_Bakefile.pm: convert the lib*.so - file name to the canonical name (soname); the *.so symlink - usually belongs to package *-devel and may not be available at - runtime. - ---- Alien-wxWidgets-0.42/inc/My/Build/Any_wx_config_Bakefile.pm.orig 2008-11-08 00:52:22.000000000 +0100 -+++ Alien-wxWidgets-0.42/inc/My/Build/Any_wx_config_Bakefile.pm 2009-08-20 15:51:52.000000000 +0200 -@@ -32,6 +32,17 @@ + file name to the canonical soname. + +--- Alien-wxWidgets-0.44/inc/My/Build/Any_wx_config_Bakefile.pm.soname 2009-08-09 13:13:40.000000000 +0200 ++++ Alien-wxWidgets-0.44/inc/My/Build/Any_wx_config_Bakefile.pm 2009-08-24 15:44:10.000000000 +0200 +@@ -35,7 +35,14 @@ && $lib =~ m/(?:gtk2?|mac)[ud]{0,2}-/; my $dll = "lib${name}." . $self->awx_dlext; -+ open PIPE1, "ldconfig -p |"; -+ while (<PIPE1>) { -+ if (s/^\s+${dll}\s(.*\s)?=>\s+//) { -+ for (`objdump -p $_`) { -+ if (s/^\s+SONAME\s+//) { chomp; $dll = $_; } -+ } -+ last; -+ } +- $data{dlls}{$key} = { dll => $dll, ++ my $dll_path = `gcc -print-file-name=$dll`; ++ chomp $dll_path; ++ my $dll_soname = 'not_found'; ++ if ( -r "$dll_path" && `objdump -p $dll_path` =~ m/^\s+SONAME\s+(\S+)/m) { ++ $dll_soname = $1; + } -+ close PIPE1; + - $data{dlls}{$key} = { dll => $dll, ++ $data{dlls}{$key} = { dll => $dll_soname, link => $lib }; } + if( $self->awx_is_monolithic ) { Index: perl-Alien-wxWidgets.spec =================================================================== RCS file: /cvs/extras/rpms/perl-Alien-wxWidgets/devel/perl-Alien-wxWidgets.spec,v retrieving revision 1.22 retrieving revision 1.23 diff -u -p -r1.22 -r1.23 --- perl-Alien-wxWidgets.spec 20 Aug 2009 15:19:20 -0000 1.22 +++ perl-Alien-wxWidgets.spec 25 Aug 2009 09:29:32 -0000 1.23 @@ -1,6 +1,6 @@ Name: perl-Alien-wxWidgets Version: 0.44 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Building, finding and using wxWidgets binaries Group: Development/Libraries @@ -59,6 +59,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Aug 24 2009 Stepan Kasal <skasal@xxxxxxxxxx> - 0.44-2 +- fix the soname patch + * Thu Aug 20 2009 Stepan Kasal <skasal@xxxxxxxxxx> - 0.44-1 - new upstream version - add patch to remember the canonical sonames of libraries, so that -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl Fedora-perl-devel-list mailing list Fedora-perl-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-perl-devel-list