This commit is contained in:
Matthias Clasen 2009-03-19 05:11:55 +00:00
parent 0a7d7115e2
commit 7160bd8dcf
12 changed files with 12 additions and 281 deletions

View File

@ -1 +1 @@
libxklavier-3.8.tar.bz2
libxklavier-3.9.tar.bz2

View File

@ -1,22 +0,0 @@
--- libxklavier-1.14/libxklavier/Makefile.am.werror 2005-02-01 11:24:34.684925000 -0500
+++ libxklavier-1.14/libxklavier/Makefile.am 2005-02-01 11:24:44.044556000 -0500
@@ -14,7 +14,7 @@
ENABLE_XMM_SUPPORT_CFLAG = -DDISABLE_XMM_SUPPORT=1
endif
-AM_CFLAGS=-Wall -Werror -DDATA_DIR=\"$(datadir)/$(PACKAGE)\" \
+AM_CFLAGS=-Wall -DDATA_DIR=\"$(datadir)/$(PACKAGE)\" \
-I. -I$(includedir) $(XML_CFLAGS) -I$(x_includes) -I$(top_srcdir) \
$(XKB_HEADERS_PRESENT_CFLAG) \
$(ENABLE_XKB_SUPPORT_CFLAG) \
--- libxklavier-1.14/libxklavier/Makefile.in.werror 2005-02-01 11:25:24.981578000 -0500
+++ libxklavier-1.14/libxklavier/Makefile.in 2005-02-01 11:25:35.528023000 -0500
@@ -205,7 +205,7 @@
@ENABLE_XKB_SUPPORT_TRUE@ENABLE_XKB_SUPPORT_CFLAG = -DENABLE_XKB_SUPPORT=1
@ENABLE_XMM_SUPPORT_FALSE@ENABLE_XMM_SUPPORT_CFLAG = -DDISABLE_XMM_SUPPORT=1
@ENABLE_XMM_SUPPORT_TRUE@ENABLE_XMM_SUPPORT_CFLAG = -DENABLE_XMM_SUPPORT=1
-AM_CFLAGS = -Wall -Werror -DDATA_DIR=\"$(datadir)/$(PACKAGE)\" \
+AM_CFLAGS = -Wall -DDATA_DIR=\"$(datadir)/$(PACKAGE)\" \
-I. -I$(includedir) $(XML_CFLAGS) -I$(x_includes) -I$(top_srcdir) \
$(XKB_HEADERS_PRESENT_CFLAG) \
$(ENABLE_XKB_SUPPORT_CFLAG) \

View File

@ -1,24 +0,0 @@
--- libxklavier-2.1/libxklavier/xklavier_util.orig Wed Feb 27 20:14:01 2008
+++ libxklavier-2.1/libxklavier/xklavier_util.c Wed Feb 27 20:16:52 2008
@@ -114,7 +114,10 @@ xkl_get_debug_window_title(XklEngine * e
static gchar sname[33];
gchar *name;
strcpy(sname, "NULL");
- if (win != (Window) NULL) {
+
+ if (win == (Window *) PointerRoot) {
+ strcpy(sname, "ROOT");
+ } else if (win != (Window *) None) {
name = xkl_engine_get_window_title(engine, win);
if (name != NULL) {
snprintf(sname, sizeof(sname), "%.32s", name);
--- libxklavier-2.1/libxklavier/xklavier_toplevel.orig Wed Feb 27 20:36:09 2008
+++ libxklavier-2.1/libxklavier/xklavier_toplevel.c Wed Feb 27 20:36:14 2008
@@ -205,6 +205,7 @@ xkl_engine_find_toplevel_window(XklEngin
gboolean rv;
if (win == (Window) NULL
+ || win == (Window *) PointerRoot
|| win == xkl_engine_priv(engine, root_window)) {
*toplevel_win_out = (Window) NULL;
xkl_last_error_message = "The window is either 0 or root";

View File

@ -1,51 +0,0 @@
This patch is generated from running autogen.sh after applying
the upstream patch to configure.in (see libxklaver-2.1-xkb-path.patch)
and then removing the portions which are not relevant. These include
changes to whitespace, quoting, line numbers, etc.
diff -u config.h.in.xkb-path-autogen config.h.in
--- config.h.in.xkb-path-autogen 2005-12-27 13:21:11.000000000 -0400
+++ config.h.in 2005-12-27 18:02:40.000000000 -0400
@@ -75,6 +75,9 @@
/* Base for XKB configuration */
#undef XKB_BASE
+/* Base for XKB executables */
+#undef XKB_BIN_BASE
+
/* Default XKB set of rules */
#undef XKB_DEFAULT_RULESET
diff -u configure.xkb-path-autogen configure
--- configure.xkb-path-autogen 2005-12-27 13:21:11.000000000 -0400
+++ configure 2005-12-27 18:02:41.000000000 -0400
@@ -1068,6 +1068,7 @@
--without-libiconv-prefix don't search for libiconv in includedir and libdir
--with-x use the X Window System
--with-xkb-base=DIR XKB base path (by default it is /usr/X11R6/lib/X11/xkb)
+ --with-xkb-bin-base=DIR XKB executables base path
--with-xkb-default-ruleset=RULES XKB default set of rules (by default it is base)
--with-xmodmap-base=DIR xmodmap base path (by default it is /usr/share/xmodmap)
@@ -20693,6 +20744,21 @@
+# Check whether --with-xkb_bin_base or --without-xkb_bin_base was given.
+if test "${with_xkb_bin_base+set}" = set; then
+ withval="$with_xkb_bin_base"
+ xkb_bin_base="$withval"
+else
+ xkb_bin_base="$xkb_base"
+fi;
+
+
+cat >>confdefs.h <<_ACEOF
+#define XKB_BIN_BASE "${xkb_bin_base}"
+_ACEOF
+
+
+
# Check whether --with-xkb_default_ruleset or --without-xkb_default_ruleset was given.
if test "${with_xkb_default_ruleset+set}" = set; then
withval="$with_xkb_default_ruleset"

View File

@ -1,60 +0,0 @@
Index: configure.in
===================================================================
RCS file: /cvs/xklavier/libxklavier/configure.in,v
retrieving revision 1.26
retrieving revision 1.27
diff -d -u -p -r1.26 -r1.27
--- configure.in 11 Dec 2005 02:51:19 -0000 1.26
+++ configure.in 26 Dec 2005 18:55:32 -0000 1.27
@@ -57,9 +57,16 @@ AC_ARG_WITH( xkb_base,
[ --with-xkb-base=DIR XKB base path (by default it is /usr/X11R6/lib/X11/xkb)],
xkb_base="$withval",
xkb_base="$x_libraries/X11/xkb" )
-
+
AC_DEFINE_UNQUOTED(XKB_BASE,"${xkb_base}",Base for XKB configuration)
+AC_ARG_WITH( xkb_bin_base,
+ [ --with-xkb-bin-base=DIR XKB executables base path],
+ xkb_bin_base="$withval",
+ xkb_bin_base="$xkb_base" )
+
+AC_DEFINE_UNQUOTED(XKB_BIN_BASE,"${xkb_bin_base}",Base for XKB executables)
+
AC_ARG_WITH( xkb_default_ruleset,
[ --with-xkb-default-ruleset=RULES XKB default set of rules (by default it is base)],
xkb_default_ruleset="$withval",
Index: libxklavier/xklavier_config_xkb.c
===================================================================
RCS file: /cvs/xklavier/libxklavier/libxklavier/xklavier_config_xkb.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -d -u -p -r1.30 -r1.31
--- libxklavier/xklavier_config_xkb.c 3 Dec 2005 13:31:58 -0000 1.30
+++ libxklavier/xklavier_config_xkb.c 26 Dec 2005 18:55:32 -0000 1.31
@@ -24,7 +24,7 @@
/* For "bad" X servers we hold our own copy */
#define XML_CFG_FALLBACK_PATH ( DATA_DIR "/xfree86.xml" )
-#define XKBCOMP ( XKB_BASE "/xkbcomp" )
+#define XKBCOMP ( XKB_BIN_BASE "/xkbcomp" )
#define XK_XKB_KEYS
#include <X11/keysymdef.h>
Index: ChangeLog
===================================================================
RCS file: /cvs/xklavier/libxklavier/ChangeLog,v
retrieving revision 1.31
retrieving revision 1.32
diff -d -u -p -r1.31 -r1.32
--- ChangeLog 11 Dec 2005 02:51:19 -0000 1.31
+++ ChangeLog 26 Dec 2005 18:55:32 -0000 1.32
@@ -1,3 +1,8 @@
+2005-12-26 svu
+
+ * configure.in, libxklavier/xklavier_config_xkb.c: adding XKB_BIN_BASE,
+ closing https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=174361
+
2005-12-10 svu
* NEWS: update for 2.1

View File

@ -1,42 +0,0 @@
--- libxklavier-2.1.0.2006.02.23/libxklavier/xklavier_config_xkb.c.trap-x-error 2006-03-09 15:10:56.000000000 -0500
+++ libxklavier-2.1.0.2006.02.23/libxklavier/xklavier_config_xkb.c 2006-03-09 15:35:13.000000000 -0500
@@ -158,6 +158,20 @@ void _XklXkbConfigCleanupNative( XkbComp
free(componentNamesPtr->symbols);
free(componentNamesPtr->geometry);
}
+static int (* _XklTrapBeforeXkbWriteToServer) (Display *, XErrorEvent *);
+
+static int _XklXkbWriteToServerTrap (Display *dpy,
+ XErrorEvent *error_event)
+{
+ if (error_event->error_code != 0 &&
+ error_event->error_code != BadValue &&
+ _XklTrapBeforeXkbWriteToServer != NULL)
+ {
+ return _XklTrapBeforeXkbWriteToServer (dpy, error_event);
+ }
+
+ return 0;
+}
static XkbDescPtr _XklConfigGetKeyboard( XkbComponentNamesPtr componentNamesPtr, Bool activate )
{
@@ -243,8 +257,17 @@ static XkbDescPtr _XklConfigGetKeyboard(
XklDebug( 150, "Loaded legal keymap\n" );
if( activate )
{
+ Bool config_was_written = False;
+
XklDebug( 150, "Activating it...\n" );
- if( XkbWriteToServer(&result) )
+
+ _XklTrapBeforeXkbWriteToServer = XSetErrorHandler (_XklXkbWriteToServerTrap);
+
+ config_was_written = XkbWriteToServer (&result);
+
+ XSetErrorHandler (_XklTrapBeforeXkbWriteToServer);
+
+ if (config_was_written)
{
XklDebug( 150, "Updating the keyboard...\n" );
xkb = result.xkb;

View File

@ -1,11 +0,0 @@
--- libxklavier-3.1/libxklavier/xklavier_config.c.crash 2006-11-04 22:56:24.000000000 -0500
+++ libxklavier-3.1/libxklavier/xklavier_config.c 2006-11-04 22:56:54.000000000 -0500
@@ -280,7 +280,7 @@
return FALSE;
nodes = xpath_obj->nodesetval;
- if (nodes != NULL && nodes->nodeTab != NULL) {
+ if (nodes != NULL && nodes->nodeTab != NULL && *nodes->nodeTab != NULL) {
rv = xkl_read_config_item(config, *nodes->nodeTab, pitem);
if (pnode != NULL) {
*pnode = *nodes->nodeTab;

View File

@ -1,7 +1,7 @@
Summary: High-level API for X Keyboard Extension
Name: libxklavier
Version: 3.8
Release: 4%{?dist}
Version: 3.9
Release: 1%{?dist}
License: LGPLv2+
Group: Development/Libraries
URL: http://gswitchit.sourceforge.net/
@ -13,15 +13,11 @@ BuildRequires: libXi-devel
BuildRequires: libxml2-devel
BuildRequires: glib2-devel >= 2.6.0
BuildRequires: iso-codes-devel
Source: http://download.gnome.org/sources/libxklavier/3.8/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# https://bugs.freedesktop.org/show_bug.cgi?id=17651
Patch0: sax-leak.patch
Patch1: xkbcomp-spew.patch
Source: http://download.gnome.org/sources/libxklavier/3.9/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%description
libxklavier is a library providing a high-level API for the X Keyboard
libxklavier is a library providing a high-level API for the X Keyboard
Extension (XKB). This library is intended to support XFree86 and other
commercial X servers. It is useful for creating XKB-related software
(layout indicators etc).
@ -40,13 +36,11 @@ needed to develop libxklavier applications.
%prep
%setup -q
%patch0 -p1 -b .sax-leak
%patch1 -p1 -b .xkbcomp-spew
%build
%configure --disable-doxygen --with-xkb-base='%{_datadir}/X11/xkb' --with-xkb-bin-base='%{_bindir}'
make
make
%install
rm -rf $RPM_BUILD_ROOT
@ -65,7 +59,7 @@ rm -rf %{buildroot}
%files
%defattr(-, root, root)
%doc AUTHORS NEWS README COPYING.LIB
%doc AUTHORS NEWS README COPYING.LIB
%{_libdir}/lib*.so.*
%files devel
@ -77,6 +71,9 @@ rm -rf %{buildroot}
%{_datadir}/gtk-doc/html/libxklavier/
%changelog
* Thu Mar 19 2009 Matthias Clasen <mclasen@redhat.com> - 3.9-1
- Update to 3.9
* Sat Mar 7 2009 Matthias Clasen <mclasen@redhat.com> - 3.8-4
- Suppress xkbcomp spew in .xsession-errors

View File

@ -1,23 +0,0 @@
diff -up libxklavier-3.7/libxklavier/xklavier_config.c.sax-leak libxklavier-3.7/libxklavier/xklavier_config.c
--- libxklavier-3.7/libxklavier/xklavier_config.c.sax-leak 2008-09-19 00:25:10.000000000 -0400
+++ libxklavier-3.7/libxklavier/xklavier_config.c 2008-09-19 00:25:41.000000000 -0400
@@ -480,15 +480,13 @@ xkl_config_registry_load_from_file(XklCo
const gchar * file_name)
{
xmlParserCtxtPtr ctxt = xmlNewParserCtxt();
- xmlSAXHandler *saxh = g_new0(xmlSAXHandler, 1);
xkl_debug(100, "Loading XML registry from file %s\n", file_name);
/* Filter out all unneeded languages! */
- xmlSAX2InitDefaultSAXHandler(saxh, TRUE);
- saxh->startElementNs = xkl_xml_sax_start_element_ns;
- saxh->endElementNs = xkl_xml_sax_end_element_ns;
- saxh->characters = xkl_xml_sax_characters;
- ctxt->sax = saxh;
+ xmlSAX2InitDefaultSAXHandler(ctxt->sax, TRUE);
+ ctxt->sax->startElementNs = xkl_xml_sax_start_element_ns;
+ ctxt->sax->endElementNs = xkl_xml_sax_end_element_ns;
+ ctxt->sax->characters = xkl_xml_sax_characters;
xkl_config_registry_priv(config, doc) =
xmlCtxtReadFile(ctxt, file_name, NULL, XML_PARSE_NOBLANKS);

View File

@ -1 +1 @@
e4f1b9e600c4159f39d38ab94d56cf9b libxklavier-3.8.tar.bz2
c8ff3ba6daf899be7ec2a626894852b9 libxklavier-3.9.tar.bz2

View File

@ -1,15 +0,0 @@
diff -up libxklavier-3.6/libxklavier/xklavier_util.c.vnc-bug libxklavier-3.6/libxklavier/xklavier_util.c
--- libxklavier-3.6/libxklavier/xklavier_util.c.vnc-bug 2008-03-01 16:42:49.000000000 -0500
+++ libxklavier-3.6/libxklavier/xklavier_util.c 2008-08-30 12:43:27.000000000 -0400
@@ -118,7 +118,10 @@ xkl_get_debug_window_title(XklEngine * e
static gchar sname[33];
gchar *name;
strcpy(sname, "NULL");
- if (win != (Window) NULL) {
+
+ if (win == (Window *) PointerRoot) {
+ strcpy(sname, "ROOT");
+ } else if (win != (Window *) None) {
name = xkl_engine_get_window_title(engine, win);
if (name != NULL) {
snprintf(sname, sizeof(sname), "%.32s", name);

View File

@ -1,18 +0,0 @@
diff -up libxklavier-3.8/libxklavier/xklavier_config_xkb.c.warn-spew libxklavier-3.8/libxklavier/xklavier_config_xkb.c
--- libxklavier-3.8/libxklavier/xklavier_config_xkb.c.warn-spew 2009-03-07 15:11:15.940524703 -0500
+++ libxklavier-3.8/libxklavier/xklavier_config_xkb.c 2009-03-07 15:14:27.436489725 -0500
@@ -243,11 +243,11 @@ xkl_config_get_keyboard(XklEngine * engi
case 0:
/* child */
xkl_debug(160, "Executing %s\n", XKBCOMP);
- xkl_debug(160, "%s %s %s %s %s %s %s\n",
- XKBCOMP, XKBCOMP, "-I",
+ xkl_debug(160, "%s %s %s %s %s %s %s %s\n",
+ XKBCOMP, XKBCOMP, "-w0", "-I",
"-I" XKB_BASE, "-xkm", xkb_fn,
xkm_fn);
- execl(XKBCOMP, XKBCOMP, "-I",
+ execl(XKBCOMP, XKBCOMP, "-w0", "-I",
"-I" XKB_BASE, "-xkm", xkb_fn,
xkm_fn, NULL);
xkl_debug(0, "Could not exec %s: %d\n",