rpms/perl-Tk/devel perl-Tk-seg.patch, NONE, 1.1 perl-Tk.spec, 1.11, 1.12

Andreas Bierfert (awjb) fedora-extras-commits at redhat.com
Fri Jan 4 23:25:19 UTC 2008


Author: awjb

Update of /cvs/pkgs/rpms/perl-Tk/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv31043/devel

Modified Files:
	perl-Tk.spec 
Added Files:
	perl-Tk-seg.patch 
Log Message:
- add parts of debian patch
- add patch to fix #235666


perl-Tk-seg.patch:

--- NEW FILE perl-Tk-seg.patch ---
--- pTk/mTk/generic/tkConfig.c.orig	2008-01-04 18:50:58.000000000 +0100
+++ pTk/mTk/generic/tkConfig.c	2008-01-05 00:15:15.000000000 +0100
@@ -1210,11 +1210,12 @@
      * First, check to see if the object already has the answer cached.
      */
 
-    if (objPtr->typePtr == &tkOptionObjType) {
-        if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr) {
+/*    if (objPtr->typePtr == &tkOptionObjType) {
+        if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr
+	  && objPtr->internalRep.twoPtrValue.ptr2 != NULL) {
             return (Option *) objPtr->internalRep.twoPtrValue.ptr2;
         }
-    }
+    }*/
 
     /*
      * The answer isn't cached.
@@ -2277,9 +2278,19 @@
     if (optionPtr == NULL) {
 	return NULL;
     }
+
+    if (optionPtr->specPtr == NULL) {
+	return NULL;
+    }
+
+    if (!optionPtr->specPtr->type) {
+	return NULL;
+    }
+
     if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) {
 	optionPtr = optionPtr->extra.synonymPtr;
     }
+
     if (optionPtr->specPtr->objOffset >= 0) {
 	resultPtr = *((Tcl_Obj **) (recordPtr + optionPtr->specPtr->objOffset));
 	if (resultPtr == NULL) {
--- pTk/mTk/generic/tkFrame.c.orig	2008-01-04 22:52:12.000000000 +0100
+++ pTk/mTk/generic/tkFrame.c	2008-01-04 23:51:20.000000000 +0100
@@ -769,6 +769,7 @@
 	    result = TCL_ERROR;
 	    goto done;
 	}
+
 	objPtr = Tk_GetOptionValue(interp, (char *) framePtr,
 		framePtr->optionTable, objv[2], framePtr->tkwin);
 	if (objPtr == NULL) {


Index: perl-Tk.spec
===================================================================
RCS file: /cvs/pkgs/rpms/perl-Tk/devel/perl-Tk.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- perl-Tk.spec	2 Jan 2008 13:04:53 -0000	1.11
+++ perl-Tk.spec	4 Jan 2008 23:24:38 -0000	1.12
@@ -3,7 +3,7 @@
 
 Name:           perl-Tk
 Version:        804.028
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Perl Graphical User Interface ToolKit
 
 Group:          Development/Libraries
@@ -11,6 +11,10 @@
 URL:            http://search.cpan.org/dist/Tk/
 Source0:        http://cpan.org/modules/by-module/Tk/Tk-804.028.tar.gz
 Patch0:         perl-Tk-widget.patch
+# modified version of http://ftp.de.debian.org/debian/pool/main/p/perl-tk/perl-tk_804.027-8.diff.gz
+Patch1:         perl-Tk-debian.patch.gz
+# fix segfaults as in #235666 because of broken cashing code
+Patch2:         perl-Tk-seg.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 # Versions before this have Unicode issues
@@ -44,12 +48,19 @@
 %{__perl} -pi -e \
 's,\@demopath\@,%{_datadir}/doc/%{name}-%{version}/demos,g' \
 %{_builddir}/Tk-%{version}/demos/widget
+# debian patch
+%patch1 -p1
+# patch to fix #235666 ... seems like caching code is broken
+%patch2
 
 %build
-%{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=/usr/X11R6/%{_lib} XFT=1
+%{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=%{_libdir} XFT=1
 find . -name Makefile | xargs %{__perl} -pi -e 's/^\tLD_RUN_PATH=[^\s]+\s*/\t/'
 make %{?_smp_mflags}
 
+# disable because they need an x screen
+#%check
+#make test
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -85,6 +96,11 @@
 %exclude %{perl_vendorarch}/Tk/reindex.pl
 
 %changelog
+* Fri Jan 04 2008 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
+- 804.028-2
+- add relevant parts of debian patch
+- add patch for #235666
+
 * Wed Jan 02 2008 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
 - 804.028-1
 - version upgrade




More information about the fedora-extras-commits mailing list