Hello community,

here is the log from the commit of package lensfun for openSUSE:Factory
checked in at Tue Jun 14 12:16:56 CEST 2011.



--------
--- lensfun/lensfun.changes     2011-04-09 09:52:15.000000000 +0200
+++ /mounts/work_src_done/STABLE/lensfun/lensfun.changes        2011-06-13 
16:25:03.000000000 +0200
@@ -1,0 +2,7 @@
+Mon Jun 13 14:06:22 UTC 2011 - fcro...@suse.com
+
+- Add lensfun-fixcrash.patch: fix crash on malformed database (SVN)
+- Add lensfun-0.2.5-cpuid.patch: fix crash on cpu detection (SVN)
+- set GCC.LDFLAGS to avoid stripping and useless -debug* package.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  lensfun-0.2.5-cpuid.patch
  lensfun-fixcrash.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ lensfun.spec ++++++
--- /var/tmp/diff_new_pack.07LwEi/_old  2011-06-14 12:15:17.000000000 +0200
+++ /var/tmp/diff_new_pack.07LwEi/_new  2011-06-14 12:15:17.000000000 +0200
@@ -21,12 +21,16 @@
 Name:           lensfun
 Summary:        A photographic lens database and a library for accessing it
 Version:        0.2.5
-Release:        10
+Release:        12
 Url:            http://lensfun.berlios.de/
 Source0:        lensfun-%{version}.tar.bz2
 # This patch got created via
 # svn diff svn://svn.berlios.de/lensfun/tags/0.2.5/data 
svn://svn.berlios.de/lensfun/trunk/data > lens_database_update.diff
 Patch1:         lens_database_update.diff
+# PATCH-FIX-UPSTREAM lensfun-fixcrash.patch fcro...@suse.com -- fix crash on 
malformed databases (from svn)
+Patch2:         lensfun-fixcrash.patch
+# PATCH-FIX-UPSTREAM lensfun-0.2.5-cpuid.patch fcro...@suse.com -- fix crash 
on cpu detection (from svn)
+Patch3:         lensfun-0.2.5-cpuid.patch
 License:        LGPLv3
 Group:          System/Libraries
 Requires:       liblensfun0 = %{version}-%{release}
@@ -82,6 +86,8 @@
 
 %prep
 %setup -q -n %{name}-%{version}
+%patch2 -p1
+%patch3 -p1
 cd data
 %patch1 -p0
 
@@ -100,7 +106,8 @@
        --libdir=%{_libdir} \
        --includedir=%{_includedir} \
        --libexecdir=%{_libexecdir}
-make AUTODEP=0 %{?_smp_mflags} lensfun manual
+# set GCC.LDFLAGS to avoid stripping and useless -debuginfo
+make AUTODEP=0 GCC.LDFLAGS.release="" V=1 %{?_smp_mflags} lensfun manual
 
 %install
 make AUTODEP=0 INSTALL_PREFIX=%{?buildroot:%{buildroot}} install


++++++ lensfun-0.2.5-cpuid.patch ++++++
>From 9a3301bc3c239e0e74d6bc20f950b338d31457d9 Mon Sep 17 00:00:00 2001
From: zap <zap@2a61fa91-e63d-0410-b60c-e65103854af9>
Date: Sun, 9 May 2010 13:53:35 +0000
Subject: [PATCH]  * Modified a little the asm instructions for detecting CPU 
features
  * configure will now print the vectorization instrution sets which will be 
used

git-svn-id: svn://svn.berlios.de/lensfun/trunk@109 
2a61fa91-e63d-0410-b60c-e65103854af9
---
 configure              |    1 +
 libs/lensfun/cpuid.cpp |   28 ++++++++--------------------
 2 files changed, 9 insertions(+), 20 deletions(-)

diff --git a/configure b/configure
index 2439096..8cee50a 100755
--- a/configure
+++ b/configure
@@ -118,4 +118,5 @@ print "Target directory for data files:    " + tibs.DATADIR
 print "Target directory for libraries:     " + tibs.LIBDIR
 print "Target directory for include files: " + tibs.INCLUDEDIR
 print "Target directory for documentation: " + tibs.DOCDIR
+print "Use vector instruction set(-s):     " + ", ".join (x for x in 
tibs.VECTORIZATION)
 print "--------------------------------------------------------------------"
diff --git a/libs/lensfun/cpuid.cpp b/libs/lensfun/cpuid.cpp
index ed0ecf9..d7f43b3 100644
--- a/libs/lensfun/cpuid.cpp
+++ b/libs/lensfun/cpuid.cpp
@@ -25,17 +25,13 @@
 guint _lf_detect_cpu_features ()
 {
 #define cpuid(cmd) \
-    asm ( \
-        "push %%"R_BX"\n" \
+    __asm volatile ( \
         "cpuid\n" \
-        "pop %%"R_BX"\n" \
        : "=a" (ax), "=c" (cx),  "=d" (dx) \
-       : "0" (cmd))
+       : "0" (cmd) \
+       : R_BX)
 
-    register __SIZE_TYPE__ ax asm (R_AX);
-    register __SIZE_TYPE__ bx asm (R_BX);
-    register __SIZE_TYPE__ dx asm (R_DX);
-    register __SIZE_TYPE__ cx asm (R_CX);
+    __SIZE_TYPE__ ax, cx, dx, tmp;
     static GStaticMutex lock = G_STATIC_MUTEX_INIT;
     static guint cpuflags = -1;
 
@@ -45,7 +41,7 @@ guint _lf_detect_cpu_features ()
         cpuflags = 0;
 
         /* Test cpuid presence by checking bit 21 of eflags */
-        asm (
+        __asm volatile (
             "pushf\n"
             "pop     %0\n"
             "mov     %0, %1\n"
@@ -57,7 +53,7 @@ guint _lf_detect_cpu_features ()
             "cmp     %0, %1\n"
             "setne   %%al\n"
             "movzb   %%al, %0\n"
-            : "=r" (ax), "=r" (bx));
+            : "=r" (ax), "=r" (tmp));
 
         if (ax)
         {
@@ -88,12 +84,12 @@ guint _lf_detect_cpu_features ()
                     cpuflags |= LF_CPU_FLAG_SSE4_2;
             }
 
-            /* Is there extensions */
+            /* Are there extensions? */
             cpuid (0x80000000);
 
             if (ax)
             {
-                /* Request for extensions */
+                /* Ask extensions */
                 cpuid (0x80000001);
 
                 if (dx & 0x80000000)
@@ -112,12 +108,4 @@ guint _lf_detect_cpu_features ()
 #undef cpuid
 }
 
-#else
-
-guint
-rs_detect_cpu_features()
-{
-    return 0;
-}
-
 #endif /* __i386__ || __x86_64__ */
-- 
1.7.2.3

>From 19a5478ec455de6a9201d5acf5e844a926761bdb Mon Sep 17 00:00:00 2001
From: zap <zap@2a61fa91-e63d-0410-b60c-e65103854af9>
Date: Wed, 12 May 2010 19:31:09 +0000
Subject: [PATCH]  * cpuid.cpp: push/pop ebx instead of marking it as clobbered, 
because gcc can't survive that when using -fPIC

git-svn-id: svn://svn.berlios.de/lensfun/trunk@110 
2a61fa91-e63d-0410-b60c-e65103854af9
---
 libs/lensfun/cpuid.cpp |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/libs/lensfun/cpuid.cpp b/libs/lensfun/cpuid.cpp
index d7f43b3..491412c 100644
--- a/libs/lensfun/cpuid.cpp
+++ b/libs/lensfun/cpuid.cpp
@@ -26,10 +26,11 @@ guint _lf_detect_cpu_features ()
 {
 #define cpuid(cmd) \
     __asm volatile ( \
+        "push %%"R_BX"\n" \
         "cpuid\n" \
+        "pop %%"R_BX"\n" \
        : "=a" (ax), "=c" (cx),  "=d" (dx) \
-       : "0" (cmd) \
-       : R_BX)
+       : "0" (cmd))
 
     __SIZE_TYPE__ ax, cx, dx, tmp;
     static GStaticMutex lock = G_STATIC_MUTEX_INIT;
-- 
1.7.2.3

++++++ lensfun-fixcrash.patch ++++++
--- trunk/libs/lensfun/database.cpp     2011/01/04 21:04:03     129
+++ trunk/libs/lensfun/database.cpp     2011/01/07 11:33:18     130
@@ -152,27 +152,28 @@
     }
     else if (!strcmp (element_name, "mount"))
     {
-        if (!strcmp (ctx, "lensdatabase"))
+        if (ctx && !strcmp (ctx, "lensdatabase"))
         {
             pd->mount = new lfMount ();
             goto chk_no_attrs;
         }
-        else if (!strcmp (ctx, "camera") ||
-                 !strcmp (ctx, "lens"))
+        else if (ctx &&
+                 (!strcmp (ctx, "camera") ||
+                  !strcmp (ctx, "lens")))
             goto chk_no_attrs;
         else
             goto bad_ctx;
     }
     else if (!strcmp (element_name, "camera"))
     {
-        if (strcmp (ctx, "lensdatabase"))
+        if (!ctx || strcmp (ctx, "lensdatabase"))
             goto bad_ctx;
         pd->camera = new lfCamera ();
         goto chk_no_attrs;
     }
     else if (!strcmp (element_name, "lens"))
     {
-        if (strcmp (ctx, "lensdatabase"))
+        if (!ctx || strcmp (ctx, "lensdatabase"))
             goto bad_ctx;
         pd->lens = new lfLens ();
         pd->lens->Type = LF_RECTILINEAR;
@@ -180,7 +181,7 @@
     }
     else if (!strcmp (element_name, "focal"))
     {
-        if (strcmp (ctx, "lens") || !pd->lens)
+        if (!ctx || strcmp (ctx, "lens") || !pd->lens)
             goto bad_ctx;
 
         for (i = 0; attribute_names [i]; i++)
@@ -195,7 +196,7 @@
     }
     else if (!strcmp (element_name, "aperture"))
     {
-        if (strcmp (ctx, "lens") || !pd->lens)
+        if (!ctx || strcmp (ctx, "lens") || !pd->lens)
             goto bad_ctx;
 
         for (i = 0; attribute_names [i]; i++)
@@ -210,7 +211,7 @@
     }
     else if (!strcmp (element_name, "center"))
     {
-        if (strcmp (ctx, "lens") || !pd->lens)
+        if (!ctx || strcmp (ctx, "lens") || !pd->lens)
             goto bad_ctx;
 
         for (i = 0; attribute_names [i]; i++)
@@ -223,7 +224,7 @@
     }
     else if (!strcmp (element_name, "cci"))
     {
-        if (strcmp (ctx, "lens") || !pd->lens)
+        if (!ctx || strcmp (ctx, "lens") || !pd->lens)
             goto bad_ctx;
 
         for (i = 0; attribute_names [i]; i++)
@@ -238,19 +239,19 @@
     }
     else if (!strcmp (element_name, "type"))
     {
-        if (strcmp (ctx, "lens") || !pd->lens)
+        if (!ctx || strcmp (ctx, "lens") || !pd->lens)
             goto bad_ctx;
         goto chk_no_attrs;
     }
     else if (!strcmp (element_name, "calibration"))
     {
-        if (strcmp (ctx, "lens"))
+        if (!ctx || strcmp (ctx, "lens"))
             goto bad_ctx;
         goto chk_no_attrs;
     }
     else if (!strcmp (element_name, "distortion"))
     {
-        if (strcmp (ctx, "calibration"))
+        if (!ctx || strcmp (ctx, "calibration"))
             goto bad_ctx;
 
         lfLensCalibDistortion dc;
@@ -301,7 +302,7 @@
     }
     else if (!strcmp (element_name, "tca"))
     {
-        if (strcmp (ctx, "calibration"))
+        if (!ctx || strcmp (ctx, "calibration"))
             goto bad_ctx;
 
         lfLensCalibTCA tcac;
@@ -342,7 +343,7 @@
     }
     else if (!strcmp (element_name, "vignetting"))
     {
-        if (strcmp (ctx, "calibration"))
+        if (!ctx || strcmp (ctx, "calibration"))
             goto bad_ctx;
 
         lfLensCalibVignetting vc;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to