rpms/perl-Alien-wxWidgets/devel perl-Alien-wxWidgets-SONAME.patch, 1.1, 1.2 perl-Alien-wxWidgets.spec, 1.22, 1.23

Štěpán Kasal kasal at fedoraproject.org
Tue Aug 25 09:29:32 UTC 2009


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 at redhat.com> - 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 at redhat.com>
-	
+2009-08-24  Stepan Kasal  <skasal at redhat.com>
+
+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 at redhat.com>
+
 	* 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 at redhat.com> - 0.44-2
+- fix the soname patch
+
 * Thu Aug 20 2009 Stepan Kasal <skasal at redhat.com> - 0.44-1
 - new upstream version
 - add patch to remember the canonical sonames of libraries, so that




More information about the fedora-extras-commits mailing list