Hello community,

here is the log from the commit of package fcitx for openSUSE:12.3 checked in 
at 2013-02-05 11:07:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.3/fcitx (Old)
 and      /work/SRC/openSUSE:12.3/.fcitx.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fcitx", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:12.3/fcitx/fcitx.changes 2013-01-31 01:16:06.000000000 
+0100
+++ /work/SRC/openSUSE:12.3/.fcitx.new/fcitx.changes    2013-02-05 
11:07:22.000000000 +0100
@@ -1,0 +2,9 @@
+Wed Jan 30 18:24:37 UTC 2013 - i...@marguerite.su
+
+- fix bnc#801318: xkeyboard-config symlink breaks fcitx in detecting xkb rule 
files.
+  * bnc801318-fcitx-4.2.7-xkb-rule-symlink-detection.patch
+  * remove next release
+- fix bnc#801319: invalid /etc/xdg/autostart/fcitx-autostart.desktop breaks 
ibus
+  * leave fcitx-autostart.desktop only for fedora.
+
+-------------------------------------------------------------------
@@ -4,0 +14,45 @@
+
+-------------------------------------------------------------------
+Sat Jan 26 05:03:20 UTC 2013 - i...@marguerite.su
+
+- update to 4.2.7
+  * new feature for user:
+    + qt im module support per window input context.
+    + quickphrase add new custom ui editor.
+    + all pinyin now support stroke.
+    + add clipboard input support (Ctrl + ; to use it)
+    + fcitx-diagnose script for diagnose the problem
+    + new dark skin which can also work for non-composite window manager 
(though
+      looks not the same)
+    + Helping xmodmap user to correct loading ~/.Xmodmap by default
+    + Bind one input method with specific key.
+    + Translation update (German, and some spanish).
+    + Add "up" and "down" to paging key by default
+    + fcitx-config now will comment out the value which is same as the default
+      value upon save, so default value can be controlled by upstream fcitx 
change.
+    + reload only one addon configuration
+
+  * new feature for developer:
+    + Big build system improvement
+    + remove intltool dependency
+    + auto-codegen tool for cross module function.
+    + add libfcitx-qt, containing dbus stuff and provides custom ui plugin
+      architecture.
+    + candidate window can be overriden to use horizontal / vertical by input
+      method. (kimpanel need KDE 4.10 to use this feature)
+    + paging can be override by custom function
+
+  * bug fix:
+    + fix for xim restart.
+    + add more locale to xim by default.
+    + compatible with lua 5.2
+    + some other misc bugfix
+- added patches
+  * fcitx-4.2.7-compat-12.2.patch
+    + fix 12.2 and below builds, remove next release
+  * fcitx-4.2.7-compat-qt474.patch
+    + fix qt 4.7 builds with 12.1 and below
+    + remove next release
+  * fcitx-4.2.7-compat-gcc46.patch
+    + fix gcc 4.6 builds with 12.1 and below
+    + remove next release 

Old:
----
  fcitx-4.2.6.1.tar.bz2
  fix_fcitx_googlecode_resolv_error.patch
  pinyin.tar.gz
  table.tar.gz

New:
----
  bnc801318-fcitx-4.2.7-xkb-rule-symlink-detection.patch
  fcitx-4.2.7-compat-12.2.patch
  fcitx-4.2.7-compat-gcc46.patch
  fcitx-4.2.7-compat-qt474.patch
  fcitx-4.2.7.tar.bz2

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

Other differences:
------------------
++++++ fcitx.spec ++++++
--- /var/tmp/diff_new_pack.vNgYLQ/_old  2013-02-05 11:07:22.000000000 +0100
+++ /var/tmp/diff_new_pack.vNgYLQ/_new  2013-02-05 11:07:22.000000000 +0100
@@ -16,10 +16,10 @@
 #
 
 
-%define libver -4_2_6
+%define libver -4_2_7
 
 Name:           fcitx
-Version:        4.2.6.1
+Version:        4.2.7
 Release:        0
 Summary:        Flexible Context-aware Input Tool with eXtension
 License:        GPL-2.0+
@@ -31,13 +31,18 @@
 Source1:        xim.d-fcitx
 Source2:        fcitx-README.suse
 Source3:        xim.fcitx.suse.template
-#Source5:        pinyin.tar.gz
-#Source6:        table.tar.gz
 # for fedora auto-start
 Source7:        xinput-fcitx
 Source8:        openSUSE-default.tar.gz
-#FIX-FOR-UPSTREAM i...@marguerite.su - dont download online
-#Patch1:         fix_fcitx_googlecode_resolv_error.patch
+# fix-for-openSUSE wen...@gmail.com - fix opensuse builds <= 1220
+Patch1:         fcitx-4.2.7-compat-12.2.patch
+# fix-for-openSUSE wen...@gmail.com - fix qt 4.7 builds
+Patch2:         fcitx-4.2.7-compat-qt474.patch
+# fix-for-openSUSE wen...@gmail.com - fix gcc 4.6 builds
+Patch3:         fcitx-4.2.7-compat-gcc46.patch
+# fix-for-openSUSE wen...@gmail.com - xkeyboard-config in SUSE use symlink for 
xkb rule files,
+# which caused fcitx unexpected behavior in keyboard layout handling.
+Patch4:         bnc801318-fcitx-4.2.7-xkb-rule-symlink-detection.patch
 BuildRequires:  cairo-devel
 %if 0%{?suse_version}
 BuildRequires:  dbus-1-devel
@@ -357,23 +362,32 @@
 
 %prep
 %setup -q -n %{name}-%{version}
-#%patch1 -p1
+%if 0%{?suse_version} <= 1220
+%patch1 -p1
+%endif
+%if 0%{?suse_version} <= 1210
+%patch2 -p1
+%patch3 -p1
+%endif
+%patch4 -p1
 
 %build
 mkdir build
 cd build
 
-cmake .. -DENABLE_GTK2_IM_MODULE=On \
+cmake .. \
 %if 0%{?suse_version} >= 1140 || 0%{?fedora_version}
          -DENABLE_GTK3_IM_MODULE=On \
 %endif
-%if 0%{?suse_version} > 1110 || 0%{?fedora_version}
-         -DENABLE_QT_IM_MODULE=On \
+%if 0%{?suse_version} <= 1210
+                -DENABLE_QT_GUI=Off \
+%endif
+%if 0%{?sles_version}
+                -DENABLE_QT=Off \
 %endif
          -DCMAKE_INSTALL_PREFIX=%{_prefix} \
          -DLIB_INSTALL_DIR=%{_libdir} \
         -DENABLE_DEBUG=On \
-        -DENABLE_OPENCC=On \
      -DENABLE_LUA=On
 
 # copy external data
@@ -455,6 +469,9 @@
         popd
     done
 popd
+
+# bnc#801319 remove the unneeded fcitx-autostart.desktop which blocks ibus 
from starting.
+rm -rf %{buildroot}%{_sysconfdir}/xdg/autostart/%{name}-autostart.desktop
 %endif
 
 %if 0%{?fedora_version}
@@ -556,12 +573,15 @@
 %files -f %{name}.lang
 %defattr(-,root,root)
 %{_bindir}/%{name}
-%{_bindir}/%{name}4-config
 %{_bindir}/%{name}-autostart
 %{_bindir}/%{name}-configtool
 %{_bindir}/%{name}-remote
 %{_bindir}/%{name}-skin-installer
 %{_bindir}/%{name}-dbus-watcher
+%{_bindir}/%{name}-diagnose
+%if 0%{?suse_version} >= 1220
+%{_bindir}/%{name}-qt-gui-wrapper
+%endif
 %{_datadir}/%{name}/
 %{_datadir}/applications/*.desktop
 %{_datadir}/icons/*
@@ -576,8 +596,8 @@
 %if 0%{?fedora_version}
 %config %{_sysconfdir}/X11/xinit/xinput.d/
 %{_docdir}/packages/%{name}/
-%endif
 %config %{_sysconfdir}/xdg/autostart/%{name}-autostart.desktop
+%endif
 
 # excludes
 %exclude %{_datadir}/%{name}/pinyin
@@ -727,6 +747,9 @@
 %files devel
 %defattr(-,root,root)
 %{_includedir}/*
+%{_bindir}/%{name}4-config
+%{_bindir}/%{name}-po-parser
+%{_bindir}/%{name}-scanner
 %{_libdir}/pkgconfig/*.pc
 %{_datadir}/cmake/
 %if 0%{?suse_version} >= 1140 || 0%{?fedora_version}

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.vNgYLQ/_old  2013-02-05 11:07:22.000000000 +0100
+++ /var/tmp/diff_new_pack.vNgYLQ/_new  2013-02-05 11:07:22.000000000 +0100
@@ -1,4 +1,4 @@
-libfcitx-4_2_6
+libfcitx-4_2_7
 fcitx-gtk2
 fcitx-gtk3
 fcitx-qt4
\ No newline at end of file

++++++ bnc801318-fcitx-4.2.7-xkb-rule-symlink-detection.patch ++++++
diff --git a/src/module/xkb/xkb.c b/src/module/xkb/xkb.c
index d5d928d..36025bb 100644
--- a/src/module/xkb/xkb.c
+++ b/src/module/xkb/xkb.c
@@ -176,37 +176,50 @@ static char* FcitxXkbFindXkbRulesFile(FcitxXkb* xkb)
         } else {
             int count = 0, i = 0;
             const char* base = XLIBDIR;
+            char *parent_to_free = NULL;
             while (base[i]) {
                 if (base[i] == '/')
                     count++;
                 i++;
             }
 
+            /**
+             * guess X11 data base directory.
+             **/
             if (count >= 3) {
                 // .../usr/lib/X11 -> /usr/share/X11/xkb vs
                 // .../usr/X11/lib -> /usr/X11/share/X11/xkb
                 const char* delta = StringEndsWith(base, "X11") ?
                     "/../../share/X11" : "/../share/X11";
-                char *tmppath;
-                fcitx_utils_alloc_cat_str(tmppath, base, delta,
-                                          "/xkb/rules/", rulesName, ".xml");
-                if(fcitx_utils_isreg(tmppath)) {
-                    rulesFile = realpath(tmppath, NULL);
-                    free(tmppath);
-                } else {
-                    fcitx_utils_alloc_cat_str(tmppath, base, "/X11/xkb/rules/",
-                                              rulesName, ".xml");
-                    if(fcitx_utils_isreg(tmppath)) {
-                        rulesFile = realpath(tmppath, NULL);
-                        free(tmppath);
+                fcitx_utils_alloc_cat_str(parent_to_free, base, delta);
+                if(!fcitx_utils_isdir(parent_to_free)) {
+                    // fallback to ${base}/X11
+                    fcitx_utils_set_cat_str(parent_to_free, base, "/X11");
+                    if(!fcitx_utils_isdir(parent_to_free)) {
+                        free(parent_to_free);
+                        parent_to_free = NULL;
                     }
                 }
             }
-            if(!rulesFile) {
-                fcitx_utils_alloc_cat_str(rulesFile,
-                                          "/usr/share/X11/xkb/rules/",
-                                          rulesName, ".xml");
+            const char *parent_path;
+            if (parent_to_free) {
+                /**
+                 * Found a existing dir, simplify it.
+                 * Using realpath() on rules files' name can change the base
+                 * name of the file (due to symlink), so it is only safe
+                 * to do it for directory's name. T-T..
+                 **/
+                char *tmp = realpath(parent_to_free, NULL);
+                parent_path = tmp;
+                free(parent_to_free);
+                parent_to_free = tmp;
+            } else {
+                // last fallback for known rules name.
+                parent_path = "/usr/share/X11";
             }
+            fcitx_utils_alloc_cat_str(rulesFile, parent_path,
+                                      "/xkb/rules/", rulesName, ".xml");
+            fcitx_utils_free(parent_to_free);
         }
         free(rulesName);
     } else {
++++++ fcitx-4.2.7-compat-12.2.patch ++++++
diff --git a/src/frontend/gtk2/client.c b/src/frontend/gtk2/client.c
index 8329071..52c5c9a 100644
--- a/src/frontend/gtk2/client.c
+++ b/src/frontend/gtk2/client.c
@@ -31,7 +31,6 @@
 #include "client.h"
 #include "marshall.h"
 
-#define LOG_LEVEL DEBUG
 #define IC_NAME_MAX 64
 
 #define PREEDIT_TYPE_STRING_INT \
@@ -129,7 +128,7 @@ FcitxIMClient* 
FcitxIMClientOpen(FcitxIMClientConnectCallback connectcb, FcitxIM
 
 static void _changed_cb(DBusGProxy* proxy, char* service, char* old_owner, 
char* new_owner, gpointer user_data)
 {
-    FcitxLog(LOG_LEVEL, "_changed_cb");
+    FcitxLog(DEBUG, "_changed_cb");
     FcitxIMClient* client = (FcitxIMClient*) user_data;
     if (g_str_equal(service, client->servicename)) {
         gboolean new_owner_good = new_owner && (new_owner[0] != '\0');
@@ -151,7 +150,7 @@ static void _changed_cb(DBusGProxy* proxy, char* service, 
char* old_owner, char*
 
 static void _destroy_cb(DBusGProxy *proxy, gpointer user_data)
 {
-    FcitxLog(LOG_LEVEL, "_destroy_cb");
+    FcitxLog(DEBUG, "_destroy_cb");
     FcitxIMClient* client = (FcitxIMClient*) user_data;
     if (client->proxy == proxy) {
         g_object_unref(client->proxy);
diff --git a/src/frontend/ipc/ipc.c b/src/frontend/ipc/ipc.c
index a29b1de..e126c4f 100644
--- a/src/frontend/ipc/ipc.c
+++ b/src/frontend/ipc/ipc.c
@@ -33,6 +33,10 @@
 
 #define GetIPCIC(ic) ((FcitxIPCIC*) (ic)->privateic)
 
+#ifndef DBUS_ERROR_UNKNOWN_PROPERTY
+#define DBUS_ERROR_UNKNOWN_PROPERTY           
"org.freedesktop.DBus.Error.UnknownProperty"
+#endif
+
 typedef struct _FcitxIPCCreateICPriv {
     DBusMessage* message;
     DBusConnection* conn;
diff --git a/src/lib/fcitx-qt/fcitxqtconnection.cpp 
b/src/lib/fcitx-qt/fcitxqtconnection.cpp
index 24fc6b6..08a17ea 100644
--- a/src/lib/fcitx-qt/fcitxqtconnection.cpp
+++ b/src/lib/fcitx-qt/fcitxqtconnection.cpp
@@ -28,8 +28,9 @@
 #include "fcitx-utils/utils.h"
 #include <QX11Info>
 #include <QFile>
-#include <qtimer.h>
+#include <QTimer>
 #include <QDir>
+#include <QCoreApplication>
 #include <X11/Xlib.h>
 
 FcitxQtConnection::FcitxQtConnection(QObject* parent): QObject(parent)
++++++ fcitx-4.2.7-compat-gcc46.patch ++++++
diff --git a/src/lib/fcitx/module.h b/src/lib/fcitx/module.h
index 28de64f..bae6601 100644
--- a/src/lib/fcitx/module.h
+++ b/src/lib/fcitx/module.h
@@ -109,7 +109,7 @@ extern "C" {
     void* FcitxModuleInvokeFunction(FcitxAddon* addon, int functionId, 
FcitxModuleFunctionArg args);
 #define FcitxModuleInvokeVaArgs(addon, functionId, ARGV...)             \
     (FcitxModuleInvokeFunction(addon, functionId,                       \
-                               (FcitxModuleFunctionArg){ .args = {ARGV} }))
+                               (FcitxModuleFunctionArg){ {ARGV} }))
 
     /**
      * invoke inter module function with addon name, returns NULL when fails 
(the function itself can also return NULL)
@@ -133,7 +133,7 @@ extern "C" {
 #define InvokeVaArgs(INST, MODULE, FUNC, ARGV...)                       \
     ((MODULE##_##FUNC##_RETURNTYPE)FcitxModuleInvokeFunctionByName(     \
         INST, MODULE##_NAME, MODULE##_##FUNC,                           \
-        (FcitxModuleFunctionArg){ .args = {ARGV} }))
+        (FcitxModuleFunctionArg){ {ARGV} }))
 
 /** add a function to a addon */
 #define AddFunction(ADDON, Realname)                                    \
@@ -215,7 +215,7 @@ extern "C" {
     }
 
 #define FCITX_DEF_MODULE_ARGS(var, ARGV...)             \
-    FcitxModuleFunctionArg var = { .args = {ARGV} }
+    FcitxModuleFunctionArg var = { {ARGV} }
     /* void *__##var##_array[] = {ARGV};                                   \ */
     /* size_t __##var##_length = sizeof(__##var##_array) / sizeof(void*);  \ */
     /* FcitxModuleFunctionArg var[] = { { .n = __##var##_length,           \ */
++++++ fcitx-4.2.7-compat-qt474.patch ++++++
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 370aa7a..26c86c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,8 +17,9 @@ option(ENABLE_DEBUG "Enable Debug" OFF)
 option(ENABLE_TABLE "Enable Table IM" ON)
 option(ENABLE_GTK2_IM_MODULE "Enable GTK2 IM Module" ON)
 option(ENABLE_GTK3_IM_MODULE "Enable GTK3 IM Module" OFF)
-option(ENABLE_QT "Enable Qt-based lib and configuration GUI" On)
+option(ENABLE_QT "Enable Qt-based lib" On)
 option(ENABLE_QT_IM_MODULE "Enable Qt IM Module" ON)
+option(ENABLE_QT_GUI "Enable Qt-based configuration GUI" On)
 option(ENABLE_OPENCC "Enable OpenCC for Chinese Transform" ON)
 option(FORCE_OPENCC
   "Enable opencc even if the library is not found at compile time" Off)
diff --git a/tools/gui/quickphrase-editor/CMakeLists.txt 
b/tools/gui/quickphrase-editor/CMakeLists.txt
index 9ef7e86..3fff180 100644
--- a/tools/gui/quickphrase-editor/CMakeLists.txt
+++ b/tools/gui/quickphrase-editor/CMakeLists.txt
@@ -16,7 +16,7 @@ fcitx_translate_add_sources(
   ${QUICKPHRASE_EDITOR_HDRS}
   ${QUICKPHRASE_EDITOR_SRCS})
 
-if(NOT ENABLE_QT)
+if(NOT (ENABLE_QT AND ENABLE_QT_GUI))
   return()
 endif()
 
diff --git a/tools/gui/wrapper/CMakeLists.txt b/tools/gui/wrapper/CMakeLists.txt
index ab1fbaa..b5bad62 100644
--- a/tools/gui/wrapper/CMakeLists.txt
+++ b/tools/gui/wrapper/CMakeLists.txt
@@ -11,7 +11,7 @@ fcitx_translate_add_sources(
   ${QT_WRAPPER_SRCS}
   ${QT_WRAPPER_HDRS})
 
-if(NOT ENABLE_QT)
+if(NOT (ENABLE_QT AND ENABLE_QT_GUI))
   return()
 endif()
 
++++++ fcitx-4.2.6.1.tar.bz2 -> fcitx-4.2.7.tar.bz2 ++++++
/work/SRC/openSUSE:12.3/fcitx/fcitx-4.2.6.1.tar.bz2 
/work/SRC/openSUSE:12.3/.fcitx.new/fcitx-4.2.7.tar.bz2 differ: char 11, line 1

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

Reply via email to