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