--- libxkbcommon-0.4.1.orig/ChangeLog
+++ libxkbcommon-0.4.1/ChangeLog
@@ -0,0 +1,2102 @@
+commit c19661b965c0058a525f439abd7ac4c5a3532c7d
+Author: Pekka Paalanen <ppaalanen@gmail.com>
+Date:   Fri Dec 16 12:52:00 2011 +0000
+
+    Add xkbc_free_keymap helper
+    
+    Which just calls XkbcFreeKeyboard with the only arguments you'd ever
+    pass it.
+    
+    Signed-off-by: Pekka Paalanen <ppaalanen@gmail.com>
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 99e29de22d40c5c9161a0fd28fa2a9c75328386a
+Author: Rob Bradford <rob@linux.intel.com>
+Date:   Thu Oct 27 14:30:21 2011 +0100
+
+    xkbcomp: Copy the string into the buffer rather than updating pointer
+    
+    Avoids assigning the global pointer to a value that may only have a stack
+    lifetime:
+    
+    Fixes valgrind warnings such as:
+    
+    ==24795== Invalid read of size 1
+    ==24795==    at 0x4A06E9A: strcpy (mc_replace_strmem.c:311)
+    ==24795==    by 0x4E54D68: ProcessIncludeFile (misc.c:73)
+    ==24795==    by 0x4E59726: HandleIncludeSymbols.constprop.3 (symbols.c:829)
+    ==24795==    by 0x4E59D8E: HandleSymbolsFile (symbols.c:1673)
+    ==24795==    by 0x4E5A068: CompileSymbols (symbols.c:2211)
+    ==24795==    by 0x4E51A61: CompileKeymap (keymap.c:155)
+    ==24795==    by 0x4E5B410: xkb_compile_keymap_from_components (xkbcomp.c:236)
+    ==24795==    by 0x4E5B587: xkb_compile_keymap_from_rules (xkbcomp.c:161)
+    ==24795==    by 0x405ED2: display_create (window.c:2007)
+    ==24795==    by 0x403732: main (desktop-shell.c:320)
+    ==24795==  Address 0x7fefff0a0 is just below the stack ptr.  To suppress, use:
+    --workaround-gcc296-bugs=yes
+    ==24795==
+    ==24795== Source and destination overlap in strcpy(0x7fefff430, 0x7fefff430)
+    ==24795==    at 0x4A06F3D: strcpy (mc_replace_strmem.c:311)
+    ==24795==    by 0x4E54D68: ProcessIncludeFile (misc.c:73)
+    ==24795==    by 0x4E59726: HandleIncludeSymbols.constprop.3 (symbols.c:829)
+    ==24795==    by 0x4E59D8E: HandleSymbolsFile (symbols.c:1673)
+    ==24795==    by 0x4E5A068: CompileSymbols (symbols.c:2211)
+    ==24795==    by 0x4E51A61: CompileKeymap (keymap.c:155)
+    ==24795==    by 0x4E5B410: xkb_compile_keymap_from_components (xkbcomp.c:236)
+    ==24795==    by 0x4E5B587: xkb_compile_keymap_from_rules (xkbcomp.c:161)
+    ==24795==    by 0x405ED2: display_create (window.c:2007)
+    ==24795==    by 0x403732: main (desktop-shell.c:320)
+
+commit f91afe4f3ebcac3fb65a402c6c85cf1df5e2b52a
+Author: Cyril Brulebois <kibi@debian.org>
+Date:   Fri Jun 3 17:19:09 2011 +0200
+
+    Add prototype for CheckDefaultMap().
+    
+    Those warnings disappear accordingly:
+    |   CC     parseutils.lo
+    | parseutils.c:742: warning: no previous prototype for ‘CheckDefaultMap’
+    |   CC     xkbscan.lo
+    | xkbscan.l: In function ‘XKBParseString’:
+    | xkbscan.l:220: warning: implicit declaration of function ‘CheckDefaultMap’
+    | xkbscan.l:220: warning: nested extern declaration of ‘CheckDefaultMap’
+    
+    Reviewed-by: Dirk Wallenstein <halsmit@t-online.de>
+    Signed-off-by: Cyril Brulebois <kibi@debian.org>
+
+commit 05f5be9f6d3b8dfbb3af3eeb2b26800ea0515de2
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Mon Apr 4 09:21:55 2011 -0400
+
+    Also update required kbproto version in .pc.in file
+
+commit 9dd7dc6d8884a4e02527ef16c299c6253ea468b9
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Mar 18 00:33:48 2011 -0400
+
+    configure: Lower kbproto requirement to 1.0.4
+    
+    There's nothing in 1.0.5 that we need.
+
+commit dd0e8b70fb11a19887f8d05d1ed0c10921424a43
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Sat Jan 29 14:06:39 2011 -0500
+
+    Revert "config: remove incorrectly implemented visibility compiler option"
+    
+    This reverts commit bf9fdceef63507da889a22eb1a583d2b6376f5ea.
+    
+    We really only want to expose symbols that we explicitly mark as part of
+    the API.  This may not work with other platforms or compilers, but the
+    fact that private symbols are not available on Linux+GCC is enough of an
+    incentive to not use those.
+    
+    Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
+
+commit 621c2a7a8c4a14a5ddfdd6add735b78efd950f2b
+Author: Cyril Brulebois <kibi@debian.org>
+Date:   Sat Jan 29 14:24:46 2011 +0100
+
+    Get rid of unneeded <X11/Xlib.h> include.
+    
+    There's no need for this xlib include:
+    |   YACC   xkbparse.c
+    |   CC     xkbparse.lo
+    | xkbparse.y:98:22: error: X11/Xlib.h: No such file or directory
+    
+    Signed-off-by: Cyril Brulebois <kibi@debian.org>
+    Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
+
+commit a63e82be2a63d82b5b3802ae40efae2538461512
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Dec 17 21:14:54 2010 -0500
+
+    Rename XkbcInternAtom() to xkb_intern_atom() and export
+    
+    Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
+
+commit b9b0011994c2887625cdb23633d67a8fefd6b7cb
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Sat Dec 11 19:25:09 2010 -0500
+
+    config: update COPYING for software licensing
+    
+    The Copyright statements must appear in full.
+    When only the year was different, I added it in an existing
+    Copyright statement.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 1b6e022c97df129b7106a54a366faee64062cfb3
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Sat Dec 11 18:56:21 2010 -0500
+
+    config: set the default xkb config root based on xkeyboard-config module
+    
+    The default value ${dataroot}/X11/xkb only works if xkeyboard-config
+    has created the keymaps in that directory. Let's obtain the true final
+    value of where the keymaps are and use that as a default. In a production
+    environment this is the only value that can work.
+    
+    This new default value also has the merit of making the 'check' target
+    to work in distcheck which does not have a copy of the xkeyboard-config
+    keymaps in its sandbox based on ${dataroot}/X11/xkb. The test data
+    cannot find the "include" keymaps it needs.
+    .../libxkbcommon-0.1.0/_inst/share/X11/xkb
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 5e43e7b46c9b231742d7cb4ac2473879756aefd9
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 9 19:51:41 2010 -0500
+
+    config: distribute the .sh test programs and test data
+    
+    The test programs and the test data are required in the tarball
+    and needed for distcheck.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit f424bd8f5ffb9c5fb26f52ed70bdfbebf28bcc7a
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 9 19:45:26 2010 -0500
+
+    config: make it easier to add TEST programs
+    
+    LDADD is a Makefile wide variable.
+    Automake matches prog name with .c file by default
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit ff8e8f696a111ed8db51bdb9707f6cad564aaec1
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 9 18:25:18 2010 -0500
+
+    config: include: use nobase_include_HEADERS
+    
+    Slightly simpler.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 2422c41b8ecec5ca8a461a247bbe3c75f440d1e2
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 9 16:28:52 2010 -0500
+
+    config: add keysymdef and xf86keysym as dependencies of ks_tables.h
+    
+    This would cover the scenario where these headers file are updated,
+    for example, a new version is installed. Running 'make' again
+    on libxkbcommon should rebuild ks_tables.h.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 69e52ad901d6bb323c11b01ac1745233a9521b68
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 9 16:22:17 2010 -0500
+
+    config: makekeys prog should stand alone in the makekeys directory
+    
+    This program is a utility to generated a header file.
+    The header file it generates should not be located in the
+    directory where this utility program is compiled.
+    
+    Move the /makekeys dir as a sibling of /src.
+    This reduces the number of bi-directional relationships
+    between directories.
+    
+    Make corresponding makefiles simplifications.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 89377d5cd1ea1dc0d5ce925cddf3260e08ba3b6a
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Wed Dec 8 21:20:46 2010 -0500
+
+    config: use existing variables KEYSYMDEF_H and XF86KEYSYM_H
+    
+    These automake variables are not currently used.
+    The variable KS_HEADERS is not required anymore.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit bf9fdceef63507da889a22eb1a583d2b6376f5ea
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Wed Dec 8 20:37:26 2010 -0500
+
+    config: remove incorrectly implemented visibility compiler option
+    
+    CFLAGS is a user variable which should never be set by the configuration.
+    It allows the user to alter the configuration compiler options.
+    
+    The visibility is only set for GNU compiler, leaving libraries built
+    with other compilers with the wrong visibility.
+    
+    All other xorg libraries set visibilty using _X_EXPORT or _X_HIDDEN.
+    
+    For the time being, all the symbols will have the default visibility
+    which does not break anything.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit ec3fbfdf6dd53e531c53b79f634ed89cd4e776f5
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 18:22:38 2010 -0500
+
+    config: use xproto pkgconfig includex11dir variable
+    
+    Rather than appending X11 to the include dir.
+    It should be safe to use as it has been added in 2005.
+    
+    Use a local variable name matching the pkgconfig name.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 3c570b7ce99d1d9fe8d0d696176c8c0d6cd5b171
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 18:17:29 2010 -0500
+
+    config: relocate library functions check and comment
+    
+    No functional changes.
+    Follow Automake suggested order.
+    
+    Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 41664ba237e073efe16d88e7ff6593677b6ce6c3
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 14:32:57 2010 -0500
+
+    config: remove PKG_PROG_PKG_CONFIG test
+    
+    If pkg-config is missing, the configuration fails while initializing
+    XORG_* macros:
+    
+    warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
+    line 11622: PKG_PROG_PKG_CONFIG: command not found
+    
+    The output is sufficient to locate the problem.
+    It is not possible, or very difficult, to not have pkg-config
+    installed as the whole desktop and countless other software
+    depends on it.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit f507660421c3f005dfba591166d5545464a5c282
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 11:09:13 2010 -0500
+
+    config: let Automake handle Lex and Yacc dist and cleaning
+    
+    BUILT_SOURCES and MAINTAINERCLEAN are not needed for lex and yacc
+    Note that xkbscan was missing on those lines.
+    
+    Automake generates all the rules to handle building, distribution
+    and cleaning.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit e2f9f51667cf88c398d4536cfcc6996e9d0aa62a
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 10:59:13 2010 -0500
+
+    config: allow to build tarball when yacc is missing
+    
+    Autoconf does not handle this scenario as well as Automake does.
+    If xkbparse.c is already there, do not abort the configuration
+    if yacc is missing as it is not needed.
+    
+    If both xkbparse.c and yacc are missing, abort configuration.
+    Yacc is a required tool to build the package.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 2c51e4b1957d331ec82019282d2f35f2ef19496d
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 10:42:21 2010 -0500
+
+    config: add the default README file.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 7ce1a6dca2ff55a0cda00c754a007f757fb5e37b
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 10:39:16 2010 -0500
+
+    config: add the INSTALL target for installation instructions
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 63e2719a8f1d61a4678207e9abcecd67087c31ac
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 10:33:23 2010 -0500
+
+    config: replace deprecated INCLUDES with AM_CPPFLAGS
+    
+    Fixes automake warning.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit ceba14dc3eebb288862f1e6c8a7863895af859cb
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Tue Dec 7 10:23:18 2010 -0500
+
+    config: update subdirs .gitignore
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit f75ff7d921d5807d1e5b0aaa248a4d86d8eccfc4
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Fri Dec 3 15:13:01 2010 -0500
+
+    config: remove m4/.gitignore now that toplevel one handles it all
+    
+    The -Im4 in Makefile.am will have to wait until the day
+    there is an m4 macro checked-in git in the m4 directory.
+    This does not prevent libtool to install its macros in m4.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 0bfae4149c684391e16b3b80443954691a209dff
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Fri Dec 3 14:50:14 2010 -0500
+
+    config: .gitignore: template with default values for components #24239
+    
+    This toplevel .gitignore covers all possible generated files
+    from autotools, compiler, linker, etc...
+    
+    It has been in use for over a year in all xorg modules and has
+    prevented a good number of patches.
+    
+    For example, in this module, src/stamp-h1 was not ignored even
+    if the .gitignore had just been updated. Files with a .patch
+    extension were not ignored which sometimes cause a patch to be
+    checked-in git accidentally.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 83f64da99332a2ccb1c4641a8a3848ef523d7f58
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Fri Dec 3 14:39:13 2010 -0500
+
+    config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
+    
+    XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
+    AC_PROG_C_C99. This sets gcc with -std=gnu99.
+    If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit a0512b28de3348d0e32295a77959fd2ed01ffb36
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 2 20:52:34 2010 -0500
+
+    config: initialize autoconf, automake and libtool
+    
+    Add missing AM_MAINTAINER_MODE, matching --enable-maintainer-mode
+    option in autogen.sh.
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 971d9a99556c66571b7eba3407c02178016248cd
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 2 20:42:34 2010 -0500
+
+    config: use XORG_DEFAULT_OPTION from util-macros version 1.8
+    
+    This will handle AM_SILENT_RULES such that it will not break
+    on earlier Autoconf versions.
+    It provides a host of other configuration items
+    
+    Acked-by: Daniel Stone <daniel@fooishbar.org>
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit 8562d9780813513a47bb7ff38acb6d7c2e45f3cc
+Author: Gaetan Nadon <memsize@videotron.ca>
+Date:   Thu Dec 2 20:35:35 2010 -0500
+
+    config: set Autoconf minimum version required to 2.60
+    
+    This is the current minimum version required for all X.Org modules.
+    The module can be configured with any higher version.
+    Autoconf features from version > 2.60 cannot be used.
+    
+    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+commit f0456a832fd406d7d0c6bbcceccfc57e78160279
+Author: Jan Engelhardt <jengelh@medozas.de>
+Date:   Thu Nov 11 23:28:29 2010 +0100
+
+    Update .gitignore
+    
+    Limit exclusion of files to their respective directory
+    that they can appear in.
+    
+    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
+
+commit f8301ebc5697ce6c865b5a7007aca72f31fd9686
+Author: Jan Engelhardt <jengelh@medozas.de>
+Date:   Thu Nov 11 23:27:21 2010 +0100
+
+    xkbscan: resolve build warning/rpmlint error
+    
+    xkbscan.l: In function 'setScanState':
+    xkbscan.l:201:1: warning: control reaches end of non-void function
+    I: Program returns random data in a function
+    E: libxkbcommon no-return-in-nonvoid-function xkbscan.l:201
+    
+    Change return type of setScanState to void, since a return value is
+    never used by its callers.
+    
+    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
+
+commit d84da95f69562c4801fa16b5fb797d28841c2ab1
+Author: Jan Engelhardt <jengelh@medozas.de>
+Date:   Thu Nov 11 23:05:33 2010 +0100
+
+    build: run autoupdate
+    
+    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
+
+commit b86fc752727a82547b4a06959658f9e5dfa886a9
+Author: Jan Engelhardt <jengelh@medozas.de>
+Date:   Thu Nov 11 23:03:43 2010 +0100
+
+    build: use proper quoting in autogen.sh
+    
+    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
+
+commit 2b36543ab1e7ed4a2c7d49dce1da043e6984cded
+Author: Jan Engelhardt <jengelh@medozas.de>
+Date:   Thu Nov 11 23:02:11 2010 +0100
+
+    build: use AC_CONFIG_MACRO_DIR as per libtoolize warning
+    
+    libtoolize: Consider adding "AC_CONFIG_MACRO_DIR([m4])" to configure.ac and
+    libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
+    libtoolize: Consider adding "-I m4" to ACLOCAL_AMFLAGS in Makefile.am.
+    
+    Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
+
+commit f94a64cc08b47cdbfdfea5b5756340246fc391ed
+Author: Jon TURNEY <jon.turney@dronecode.org.uk>
+Date:   Tue Oct 26 16:21:28 2010 +0100
+
+    Link with -no-undefined
+    
+    Use -no-undefined to assure libtool that the libxkbcommon library has
+    no unresolved symbols at link time, so that libtool will build a shared
+    library on platforms require that all symbols are resolved when the
+    library is linked.
+    
+    Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
+
+commit 8d2c522f3156c3381d8530ce2346d1ec84fafe8d
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Thu Oct 21 21:34:41 2010 -0400
+
+    Don't check for xlib, we don't need it
+
+commit c88439dbf076ade1f6500d04b2db30e28a81c2d3
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Oct 20 22:27:07 2010 -0400
+
+    Update xkb->ctrls->num_groups when copying the keysyms
+    
+    This used to be set when we read an XKM file.
+
+commit 125691573ce4b28a2c65a234c612f91ce573f838
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Oct 20 15:57:45 2010 -0400
+
+    Restore compatible action structs
+    
+    This unbreaks the X server code to serialize an xkb_desc, but loses the
+    32 bit vmod fields.  Needs some work...
+
+commit a84c08795e1090905d8ca349c1c1773db2fde065
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Tue Oct 19 21:57:59 2010 -0400
+
+    Use flex for generating the scanner, add support for parsing from strings
+    
+    Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
+
+commit a2f115581d14a02d93c2803d992ddb37a209fd6d
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Tue Oct 19 15:16:50 2010 -0400
+
+    Add struct xkb_state
+
+commit e879828717a8b7bdf12efbbf9a1baeb20e1fcdd2
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Oct 8 15:33:18 2010 -0400
+
+    Don't return a static buffer in public API
+
+commit d202bc4462b4cca91d438b19c3293671f62e15a3
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Oct 8 15:07:44 2010 -0400
+
+    Pull in XKB_COMMON_* version of modifier masks
+    
+    This way we can use libxkbcommon without having to include X.h.
+
+commit 73ca959d7b1832b266fce7a18d12b74d95180343
+Author: Adam Jackson <ajax@redhat.com>
+Date:   Mon Sep 27 16:05:52 2010 -0400
+
+    Dead code removal and static markup
+    
+    Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+commit fb05ee47bf02950aec63533587880461b70418fc
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Sep 3 20:35:28 2010 -0400
+
+    Remove libxkbfile dependency for real this time
+
+commit 20bfe1280d69702ea730bfe7ef6ee671deb923a1
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Sun Aug 29 21:30:10 2010 -0400
+
+    Use const char * in struct xkb_rule_names
+
+commit be2bd66181ce4b55a64d087ea875e99e1e3b856e
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Aug 25 14:51:52 2010 -0400
+
+    Pull in a few #defines from libxkbfile and lower kbproto requirement
+
+commit 351f8c6587bed26753370f8f5c351dd339aadbb0
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Jul 2 15:05:21 2010 -0400
+
+    Drop Bool type
+    
+    It's a nightmare trying to avoid double definitions.
+
+commit b3805a2360c9dd7c73333a91245762e66a38c2cb
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Jul 2 12:26:43 2010 -0400
+
+    Get rid of a few unused #defines in public header
+
+commit 97fbc348b00bd30faa934a8ae8145cbaac9db881
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Jul 2 12:14:03 2010 -0400
+
+    Rename XkbRMLVOSet to struct xkb_rule_names
+
+commit 15f259993ec63c2ea692ae1b1eb52a20c4983c1b
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Jul 2 12:10:05 2010 -0400
+
+    Move private structs and defines to private headers
+
+commit 3f0034a990acfa3587c975306a37f7b455fb3d62
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Jul 2 11:50:01 2010 -0400
+
+    Rename public entry points to lowercase and underscore
+
+commit 5669e1a82d24af8ebb6653f75a80f8b11279a6fc
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Fri Jul 2 11:43:56 2010 -0400
+
+    Compile with -fvisibility=hidden when possible
+
+commit 9f6026867a7a3543efdee5d3051f160e67c0edd3
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Thu Jul 1 14:35:24 2010 -0400
+
+    Pull in enough structs and defines from XKBstr.h to only need XKB.h
+    
+    We want to move away from sharing implementation structs and let libX11
+    and libxkbcommon use each their own set of structs.
+
+commit 9d55d5bbf647d23ffdffeecc9111481d3f37d422
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 17:32:54 2010 -0400
+
+    Drop Xmd.h include now that we're using uint32_t
+
+commit 8e653493d0b485eb96ae1191fab2b5814b209f73
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 17:31:34 2010 -0400
+
+    Fix warning from CARD32 -> uint32_t conversion
+
+commit e10e16ad2fc37d2941c0d2cb4cfdb61891a380e1
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 17:20:56 2010 -0400
+
+    Constify XkbcAtomText()
+    
+    Atoms aren't mutable and this lets us put tbGetBuffer() back in the box.
+
+commit d95b289367c4c6cd95042db35c88a6deb20c925b
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 17:13:21 2010 -0400
+
+    Make XkbcInitAtoms() call optional
+
+commit 0ece2cdbaf776a16f8864a7314ad2089a4b9980f
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 16:56:24 2010 -0400
+
+    Drop more malloc/free wrappers
+
+commit a76df86572a3227f118bfd2f9bbda7e731a31752
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 16:33:25 2010 -0400
+
+    Use the right action structs
+    
+    We were casting the union members to the wrong action structs (from kbproto).
+
+commit 1723ef1bc73fc24f242ac6fb428e8c9f3d29d98d
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 15:48:39 2010 -0400
+
+    Copy over missing action structs from kbproto
+
+commit 9258cc3dca504479233bcd4eaefb5a0930c998cb
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Wed Jun 30 13:31:21 2010 -0400
+
+    Rename Xkbc*Action to struct xkb_*_action
+
+commit 399d4bd6780778579c641d9c60040524327efeb7
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Mon Jun 28 06:58:01 2010 -0400
+
+    Drop malloc wrappers
+
+commit 47d3b3969b22aa8b59922363d1ca086d3c4156e6
+Author: Kristian Høgsberg <krh@bitplanet.net>
+Date:   Mon Jun 28 06:50:12 2010 -0400
+
+    Drop CARD32 and Opaque types
+
+commit 2fb329c9649a6e743416b6457bb0af9633ac1064
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jun 23 16:25:10 2010 +0100
+
+    Copy and duplicate XkbModsRec and XkbKTMapEntryRec
+    
+    Copy these types in so we can extend the vmod size.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit b74223eb50410941ec7589bffdc12183f4a23229
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Wed Jun 23 16:25:02 2010 +0100
+
+    fix mod size confusion
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 8693c2652c62211d98885bcaebb73877acbb125f
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 22 15:54:52 2010 +0100
+
+    Add really rudimentary rules caching support
+    
+    Keep the parsed form of the last-used rules file around, and reuse that
+    if we get asked for the same ruleset.  If not, bin it and cache the
+    other one.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 7257d4c89e52aa727df25564109cecc4d33b9543
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Mon Jun 21 14:28:34 2010 +0100
+
+    Use CARD32 instead of Atom, move geom headers in
+    
+    Use CARD32 instead of Atom/KeySym/et al to avoid type size confusion
+    between server and non-server code; relatedly, move the geometry headers
+    in from kbproto, so every non-simple type (i.e. structs containing
+    nothing more than basic types) is now copied into xkbcommon.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit b38525421f5b6f28b7f441ff8b2c3a97b047aae2
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Mon Jun 21 14:27:58 2010 +0100
+
+    Interp: More lazy keysym resolution
+    
+    Resolve the keysyms when we create an InterpDef, rather than directly
+    in the parser.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 2c4a045aca7c680a0315850a0e69784ac08f96a3
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Mon Jun 21 14:22:26 2010 +0100
+
+    Allow external atom databases
+    
+    Allow people to plug in an external atom database (e.g. the X server's),
+    so we don't have to migrate our own atoms over later.  We are a bit
+    over-keen on atoms at the moment, so it does pollute the atom database a
+    bit though.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 15b0db5492a2725d45011b8fef70006cc96fee0c
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Thu Jun 17 05:56:08 2010 +0100
+
+    Copy in XkbCompatMapRec and XkbSymInterpretRec
+    
+    These contain actions, so transition them ahead to XkbcAction and move
+    them into XKBcommon.h.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 60e7eeeba1d6c1b17cc71c36381251e633d6716e
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Thu Jun 17 03:16:09 2010 +0100
+
+    Use CARD32 instead of Atom, drag in XkbClientMapRec
+    
+    On 64-bit architectures, XID varies in size between the server (always
+    32 bits), and non-server (always unsigned long) for some inexplicable
+    reason.  Use CARD32 instead to avoid this horrible trap.
+    
+    This involves dragging in XkbClientMapRec so we don't get stuck in the
+    KeySym trap.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit d2d787df65d51c085dff0f9c4daf14bfffcaeeec
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Thu Jun 17 00:51:49 2010 +0100
+
+    Regroup actions into current vs. deprecated, resize vmod
+    
+    Use Xkbc* for all our actions that we intend to keep around, and Xkb*
+    for deprecated ones we can hopefully get rid of, at least internally.
+    
+    While we're at it, make vmods be a uint32_t.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit e564235b436159f23a77270752ffdee1867f27c8
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 19:43:14 2010 +0100
+
+    xkbcomp: Don't malloc() and free() most scanned tokens
+    
+    Use a constant buffer instead.  Sigh.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit f246db20f4d824b4286c00714b0c7e1b5a3d5b8f
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 19:40:31 2010 +0100
+
+    Fix compilation with DEBUG
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit acc467de9f8d96beea6d93a31fdb95b3a551cd11
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 19:39:15 2010 +0100
+
+    xkbcomp: Use fread() instead of getc()
+    
+    So, it turns out that if you're parsing a fairly large amount of data,
+    using getc() to get all the input rather than, say, read(), is some kind
+    of remarkably daft and unperformant idea.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 240a0c3409f2cd81394188175499087c37793a55
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 19:38:16 2010 +0100
+
+    xkbcomp: Lazy keysym parsing (avoid XStringToKeysym)
+    
+    Instead of calling XStringToKeysym on every keysym we parse, store it as
+    a string until we need to store it in an actual keymap.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 48baabeb38c0afc3dc071038662f43419b058cf4
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 19:30:30 2010 +0100
+
+    Atoms: Avoid allocations in XkbAtomText()
+    
+    XkbAtomGetString() returns a freshly-allocated string, whereas
+    XkbAtomText() returns the same in a temporary buffer.  XkbAtomText used
+    to call XkbAtomGetString() and then free the result, which seems quite
+    spectacularly pointless when you think about it.  Shuffle the atom code
+    around so we don't have to allocate for XkbAtomText().
+    
+    This changes semantics slightly wrt non-printable characters, but I
+    haven't been able to see any effect so far.  And it may well be ever so
+    slightly quicker.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 080a083fd26a05176b40f810f36ebe22b77d477c
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 16:43:10 2010 +0100
+
+    configure.ac: Enable automake silent rules by default
+    
+    This allows us to spot warnings much more easily.  Also, drop the
+    now-deprecated AM_MAINTAINER_MODE.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit a0e180b08382bb62415f2cd37c61ecfd99b00773
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 16:42:06 2010 +0100
+
+    Expose tbGetBuffer to the rest of libxkbcommon
+    
+    This will let us implement XkbAtomGetString on top of XkbAtomText,
+    instead of having the latter get a duplicated string, dump it into a
+    temporary buffer, and subsequently free it (sigh).
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 4346e0065b558a41957bcca670484cbe408717d3
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 16:41:10 2010 +0100
+
+    xkbcomp: keycodes: Silence gcc warnings
+    
+    It was right to warn us: some of these were actually bogus.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 5df3dff7412b3fafe1046880ed2356abd63fef0e
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:27:12 2010 +0100
+
+    xkbcomp: geometry: Plug numerous atom text & expr leaks
+    
+    This code is absolute misery.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 18039a6c0b7a20b05e1fff663981deb8473da218
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:25:40 2010 +0100
+
+    xkbcomp: Atom text and expr leak fixes part #973
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit a22386d402d9e40ca1a04406068458412d52b221
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:23:23 2010 +0100
+
+    xkbcomp: Don't leak atom text and string exprs, again
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 8904c6eea747628a93afcfc3017df537ab43223c
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:22:05 2010 +0100
+
+    xkbcomp: expr: Use XkbcAtomText instead of GetString
+    
+    This returns us a temporary string, rather than leaking the atom.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit ad0a3d7c52f94af306a29145560c9400fabf9f33
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:20:32 2010 +0100
+
+    xkbcomp: Don't leak atom text and string exprs
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit d20bdd3b9add0eae367dd666fba06378c195d687
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:14:58 2010 +0100
+
+    xkbcomp: vmod: Don't get and immediately intern atoms
+    
+    XkbcInternAtom(XkbcAtomGetString(atom)) has to be the most spectacularly
+    broken antipattern I've yet seen.  Just compare the atoms directly.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 50a037cacf75b106a2ee31680fb4588a8873a262
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Tue Jun 15 15:13:56 2010 +0100
+
+    xkbcomp: Replace open-coded strdup
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 5140250273ff02621ae286a68cd75b47a2695e43
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 18:15:02 2009 +1000
+
+    Add testcase for XkbcCanonicaliseComponents
+    
+    Should be reasonably thorough; the shell part is, however, quite
+    unpleasant.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 85b7f47d8a544dab204214de9c248f03e78261fe
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 18:13:52 2009 +1000
+
+    Add XkbcCanonicaliseComponents
+    
+    Canonicalises two sets of components (new and old), e.g.:
+    new: +bar
+    old: foo
+    result: foo+bar
+    
+    This is required as part of the spec, so clients can reuse part of the
+    device's old keymap.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 8ffa371395ac0f3c3942d60dd63509c534c877c0
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 18:13:24 2009 +1000
+
+    XKBcommon.h: Make header self-contained
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 8b5af79b7b3358783b3cfe5f023d01b58ce208e4
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:55:59 2009 +1000
+
+    Keysym: Add apallingly bad API documentation for keysym <-> string
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 70b64213ca620c0f4c50cd05b9a0667357b7d297
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:52:51 2009 +1000
+
+    Make keysym <-> string conversion public API
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 62eb167d56f021a1aa151c9431d320b16a0a3794
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:51:46 2009 +1000
+
+    XKB: Text: Use keysym <-> string conversion from keysym.c
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit a8bb86a48a9823ae1c0facfa3970e0854136b5a3
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:51:16 2009 +1000
+
+    Test: Keysym: Add tests for new keysym <-> string conversions
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit cdc735c8ca9ebc270429074cdf0205407d4b5d29
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:42:42 2009 +1000
+
+    Keysym: Fix conversion for Unicode and bare numbers
+    
+    Ensure that Unicode string representations are accepted and turned into
+    numbers, as well as hexadecimal numbers in 0xabcd1234 form; unknown
+    keysyms are output as 0xabcd1234 in string form.
+    
+    This also ensures that strings are never returned malloc()ed.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 8e3239a78f7e47321535a4917bddf4ce00d3d244
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:32:04 2009 +1000
+
+    KeySym: Actually handle NoSymbol
+    
+    Add NoSymbol into the keysym table, so keysym <-> string conversion works for
+    that, too; also eliminate special-casing of VoidSymbol.
+    
+    This will require special-casing in libX11 to preserve its API.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit a5ce9754dc3c8313e9d35bf86d31d78e8bf9653c
+Author: Daniel Stone <daniel@fooishbar.org>
+Date:   Sat Apr 25 14:29:23 2009 +1000
+
+    test: Fix srcdir != objdir build and test failures
+    
+    filecomp would fail because it couldn't find the input files, after
+    compilation failed due to missing includes.
+    
+    Signed-off-by: Daniel Stone <daniel@fooishbar.org>
+
+commit 4e854a21aa3d0dbb281db911849ed3d7cb73303c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Apr 21 23:22:25 2009 -0700
+
+    listing: Drop unused deviceSpec argument
+    
+    The server might care about this, but ListComponents is just reading xkb
+    files.
+
+commit 481deea178259dddd3f07ed22d525796d1a2648e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Mon Apr 20 06:40:34 2009 -0700
+
+    xkbcomp: Another fairly major rewrite of the listing mode
+    
+    The listing code in xkbcomp had been setup to allocate a set of buffers
+    with file paths and then later parse through them to find which maps were
+    needed.
+    
+    All the allocation (with the additional allocation for the components
+    list) was making it really slow, so this patch makes everything simpler
+    by just generating the components list as we walk the directory tree.
+
+commit 18b43f8dfe641bf951b92d074b1cc6cee71d9869
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 19 16:30:36 2009 -0700
+
+    Rewrite listing code to generate XkbComponentListPtr
+    
+    In xkbcomp, the listing code printed out the xkb files to stdout and the
+    caller would parse the output. Here, we can just generate a
+    XkbComponentListPtr and pass it back.
+    
+    This should be a series of smaller commits, but there was no clean way to
+    do it since it's basically a complete rewrite except for the core map
+    matching logic.
+    
+    A lot of code used for special printing modes in xkbcomp has been
+    shedded. Callers can massage the output as they please.
+
+commit 559305a5cb3e9735203d8fd8fc10d8ec487b101f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Apr 16 21:47:28 2009 -0700
+
+    xkbcomp: Kill unused listing code and make functions static
+    
+    Much of this was only called from xkbcomp and not used to generate
+    listings for the server.
+
+commit 5983a4e69d8f7ee85f6726b403b4bcc236c8d8b1
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Apr 16 20:01:13 2009 -0700
+
+    Scale back global variables
+    
+    Some of the global variables were either not used anymore or only used
+    in the listing code.
+
+commit 9520ea0eb3794228fc78844feb1f28f23b076432
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 12 12:30:12 2009 -0700
+
+    Add XkbNameMatchesPattern implementation from xkbfile
+    
+    The xkbcomp listing code matches a glob type pattern against installed
+    xkb files. This adds a Xkbc implementation of the pattern matching code.
+
+commit fa183ce354146d94a9e05402debdcfaf50fdde0f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 12 12:15:05 2009 -0700
+
+    xkbcomp: Fix use of removed macros
+
+commit 3d4c4d06d560228414ecdc4944e46486e70b075e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 12 11:13:52 2009 -0700
+
+    Revert "xkbcomp: Remove listing sources"
+    
+    This reverts commit c4c9e36fbf4019d802323d9053f54cbfa6d3d5e5. It turns
+    out that the listing code is used to support the X_kbListComponents
+    request (via XkbListComponents).
+    
+    This will have to be refactored into some reasonable interface instead
+    of the current usage where the server reads xkbcomp stdout. Gross.
+
+commit 3dee8ac99970f4d9dfabee19a271816f1cfc38da
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 12 12:14:36 2009 -0700
+
+    misc: Coding-style cleanup
+
+commit 53ead9b575608b087ca06879021411a4df19f35c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 11 10:35:44 2009 -0700
+
+    Use xkbpath API for locating rules
+    
+    Instead of hardcoding the XKB base directory when searching for rules in
+    the xkbcomp code, we can extend the xkbpath API to cover rules and reuse
+    it. That will make it more convenient if it's ever exposed so people can
+    set their XKB search paths in a reasonable way.
+
+commit c728d91bde2a05f8cd6b42bf1bc2c830ca75689b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 10 12:33:31 2009 -0700
+
+    Program and files for testing CompileKeymapFromFile
+    
+    A few simple test cases for verifying the operation of parsing a keymap
+    file and compiling a keyboard description from it.
+
+commit abbd14193502010cda1dcd2bc892343e29fe06b4
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 10 12:25:51 2009 -0700
+
+    Add interface to compile keyboard description from keymap files
+    
+    We need to support generating a keyboard description from a keymap file
+    because there are just some cases where RMLVO or ktcsg is not enough.
+    
+    The map choosing logic has been refactored into its own function and now
+    supports choosing a named or default keymap.
+
+commit e98eb80509476459f207d902a2a8052b967e2d93
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Apr 9 20:52:26 2009 -0700
+
+    test: Remove extraneous includes
+    
+    These programs don't actually use the internal API.
+
+commit 0280b10df90ff5fb5a38f9a61800338bcc15b8ca
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Apr 9 14:29:32 2009 -0700
+
+    Make XkbcInitAtoms externally accessible
+    
+    Applications (like the server) need to initialize the atoms system
+    before using the rest of the library. Maybe it should just init itself
+    implicitly.
+
+commit f5d37e279a807c6c0afd76910681e33152ed8efe
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Apr 8 17:59:15 2009 -0700
+
+    Constify public API
+    
+    There's no reason the arguments can't be const.
+
+commit babae389354e67b121a48894a82a62acc40b30ec
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Apr 8 17:54:55 2009 -0700
+
+    Change CompileKeymapFromRules to take XkbRMLVOSet
+    
+    Let's use a nice interface now that it's available from XKBrulescommon.h.
+
+commit 6a84a34d8689fb76b202f583452b97d57c68673d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Apr 8 07:46:25 2009 -0700
+
+    Remove all non-public API from XKBcommon.h header
+    
+    The noble intention was to expose all the new API and new generic types
+    in the split out kbproto headers through XKBcommon.h. It turns out that
+    would be a massive amount of work in the server. Someday, but first just
+    wedging in XkbCompileKeymap* would be good.
+    
+    Most of the API is in new internal xkb*.h headers. In order to allow the
+    XKBcommon.h header to be used from the server, we can't pull in other
+    headers from kbproto since the server has its own copies. However, types
+    that are different (XkbDescRec, XkbAction) still have Xkbc equivalents
+    here, and I think they should be used in the server.
+
+commit b4a3c39b7e5141642f1146d971c26f7f79f13037
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Apr 7 19:56:41 2009 -0700
+
+    Remove KS macros available in XKBfilecommon.h now
+    
+    A couple of the XkbcKS* macros become redundant with XKBfilecommon.h
+    split out in kbproto.
+
+commit 5889cef8090e785465b6fec10b7e6a446a8c1656
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 5 20:27:35 2009 -0700
+
+    Require strdup and remove utils wrapper
+    
+    This kills a couple warnings from using the uStringDup wrapper. If you
+    don't have strdup on your platform, you have bigger issues.
+
+commit 8b100fc0a981cdf01115dc85ab1984f604be5655
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 5 15:15:20 2009 -0700
+
+    Add action datatypes as defined in the server
+    
+    Some of the XkbAction types are defined differently in the server, so we
+    add those to XKBcommon.h and use them here like XkbcDescPtr. We'll have
+    to deal with the impedance mismatch on the client side later.
+
+commit e0e77b71de550c1d2ae053eda4a9ab55db649e62
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Apr 5 09:30:15 2009 -0700
+
+    Coding style cleanup on key allocation functions
+
+commit 713c8f418f4d04fbf4e776a57a3997e89b15711b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 12:54:44 2009 -0700
+
+    test: Exercise compiling from components
+    
+    This could probably use a lot more real world test cases, but it does
+    the job for now.
+
+commit a2e597675b9b760b7d9a0be383c46c17f463b4e5
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 12:50:27 2009 -0700
+
+    xkbcomp: Don't say we're exiting when we're not
+
+commit 85039a0d76fc2af076aea24bd06d3af33625e9c3
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 12:31:55 2009 -0700
+
+    xkbcomp: Give keymap file empty name if none supplied
+    
+    Ensure that the keymap file topName is not NULL since it gets blindly
+    dereferenced later.
+
+commit 125ce76f5b10e58c75e9a242362f57856b4aaf4f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 12:21:05 2009 -0700
+
+    xkbcomp: Ensure at least keycodes supplied in components
+    
+    It seems that at least a non-empty keycodes component is required to
+    compile a XkbcDescPtr.
+
+commit fdd8a9ec1b966785c2ff0e7124d485d323101b18
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 12:17:50 2009 -0700
+
+    xkbcomp: Don't dereference NULL VarDefsPtr
+
+commit 99d2f4a5eb858d3d906f3de1f78f1118e148e8d7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 12:16:04 2009 -0700
+
+    xkbcomp: Refactor keymap file generator
+
+commit 4f736db995a593e4fbb692a62aa1c9cf85843bba
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 11:04:35 2009 -0700
+
+    test: Minor refactor to allow $EXEEXT in program names
+
+commit 8f9a6129904660cb3a83086887b87e27d1f75169
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 10:52:23 2009 -0700
+
+    test: Add logging and some intentionally failing cases
+    
+    We want to log the output of the tests rather than letting them go to
+    stderr. This allows tests we expect to fail to be run.
+
+commit 8269cbce81958363b4e278e26e3db3f811d4a8aa
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 10:02:39 2009 -0700
+
+    xkbcomp: Generating components requires rules _and_ layout
+    
+    This came from trial and error, but it seems that you can generate a
+    valid keymap with only rules and layout.
+
+commit fa96602d0fd78085bfd8f407ff025d42ef10f872
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:51:33 2009 -0700
+
+    xkbcomp: Fail when converting rules to components returns an error
+    
+    XkbcRF_GetComponents was returning an error but leaving the generated
+    components alone. This ensures that the broken XkbComponentNamesPtr is
+    freed and the error is passed up to the caller.
+
+commit e72fc29f337db6d183b90dcb70e394fb08753f0c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:48:59 2009 -0700
+
+    xkbcomp: Cleanup error messages
+
+commit 83367a8d2d91bcfbb34080d64fc8b21b15c866c8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:46:20 2009 -0700
+
+    xkbcomp: Ensure user has supplied a rules name
+
+commit 95dbbb8a7bb23af57364d73d76dd3a4e147b29a8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:37:53 2009 -0700
+
+    rulescomp: Remove unneeded API
+
+commit 5d95a43ad06a43c07f91735ea46d43a944b735dc
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:29:43 2009 -0700
+
+    Refactor xkbpath so that it implicitly initializes
+    
+    Instead of requiring the user to call XkbInitIncludePath() and
+    XkbAddDefaultDirectoriesToPath(), all the path entry points now implicitly
+    initialize the path. When initializing, the default directories are added
+    so it's useful.
+    
+    This provides normal operation without exposing the xkbpath API. That
+    might happen later to allow apps to edit the XKB search path.
+
+commit 5c91062334dc9f2d902ea1d368d5374c9186a0ef
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:19:51 2009 -0700
+
+    Remove trailing spaces in source files
+
+commit 5cc55d7cbbb20971c2e8287a6fc95bd22a91ecdd
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 09:14:20 2009 -0700
+
+    Test compiler to simulate xkbcomp usage
+    
+    Added a test program, rulescomp, which takes a RMLVO set and generates a
+    XkbcDescPtr. This is essentially what the xserver will do, except that we
+    still need to access some xkbcomp internal API to make it work.
+
+commit 51eff3d939ccef896a548f9d50550045d140455d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Apr 4 08:52:17 2009 -0700
+
+    Fix cleanup error in names allocation
+    
+    A conditional got reversed during the coding style cleanup.
+
+commit c38cdc5dedba48f85ed651eb76af864c74ccdd73
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 3 21:18:58 2009 -0700
+
+    xkbcomp: Ignore generated parser
+
+commit 3a709e399ec6509bc332763270925bac16eeb0b7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 3 21:16:56 2009 -0700
+
+    xkbcomp: Don't segfault if the debug files aren't set
+    
+    Another interface that needs to be cleaned up.
+
+commit ec86ce1f1a9a0ad0c0891e320519431093c3cef7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 3 20:34:41 2009 -0700
+
+    xkbcomp: Declare global debugging vars
+    
+    These will need to be sanitized at some point, but for now let's just get
+    the code running.
+
+commit c14c60bb37c0e82e92465eb29179bd95e6585c7b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 3 20:33:01 2009 -0700
+
+    xkbcomp: Back out strdup warning cleanup
+    
+    There are some spots in the code that use strdup without checking the
+    argument, so we need this to not segfault. Cleanup later...
+
+commit 71baa3d85aa8feb2767ccf3cfade2e57d786f3bc
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Apr 3 19:35:01 2009 -0700
+
+    Fix install path for XKBcommon.h
+
+commit 5216f0c92f183274ff8f80eff012c0e85549f077
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Apr 2 06:37:16 2009 -0700
+
+    Drop keysym.h pollution from XKBcommon.h
+    
+    There's really no need to pull this into a public header.
+
+commit a9822d87209357170d05cc9f5c98d8ca9497a065
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Apr 1 06:22:06 2009 -0700
+
+    Add xkbcommon pkg-config file
+
+commit db03c9b7e93d380480466f7e426783a04a3bfb4d
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Mar 31 19:30:44 2009 -0700
+
+    xkbcomp: Clean up utils prototypes
+    
+    Includes using a macro for the gcc format attributes instead of repeated
+    ifdef's.
+
+commit a27e56b6fbeb5b09330f449340b5e7ad07cfd824
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Mar 31 07:21:20 2009 -0700
+
+    xkbcomp: Remove duplicated macros
+
+commit 05daf09f188eab153f8807e4103d1d581d0fa162
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Mar 31 07:09:47 2009 -0700
+
+    xkbcomp: Kill warnings about address always evaluating as true
+
+commit a1513292665a5f21fea62825f57d1cfb2c329e6a
+Merge: e128494 a8d936b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Mar 31 06:57:06 2009 -0700
+
+    Merge commit 'tilt/master'
+
+commit a8d936bda5fc226959ae4949fd018cae28f16348
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Mar 31 05:36:52 2009 -0700
+
+    Compile keyboard description from XKB rules, too
+    
+    XkbcCompileKeymapFromRules can be used to generate a XkbDescPtr from XKB
+    rules instead of using components. The previous XkbcCompileKeymap has
+    been renamed to XkbcCompileKeymapFromComponents.
+
+commit 94fd31746372226a62c5b0f80d32d47b3e9a77cb
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Mar 29 11:25:44 2009 -0700
+
+    Add rules file parsing from xkbfile
+    
+    Copy over the Xkb_RF* rules parsing functions from xkbfile's maprules.c.
+    Eventually, this will be tied into xkbcomp's path searching utilities so
+    you don't need to supply a full path to the rules file. Also, it this
+    should eventually incorporate the server's RMLVOSet.
+
+commit e1284944cfdb47c70dc59b051cafe32c70283483
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Mar 29 11:25:44 2009 -0700
+
+    Add rules rules file parsing from xkbfile
+    
+    Copy over the Xkb_RF* rules parsing functions from xkbfile's maprules.c.
+    Eventually, this will be tied into xkbcomp's path searching utilities so
+    you don't need to supply a full path to the rules file. Also, it this
+    should eventually incorporate the server's RMLVOSet.
+
+commit 3fc0dcc8167b2a306ba9a5146dade7b7b2387f63
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Mar 29 08:55:18 2009 -0700
+
+    Generate keyboard description from components
+    
+    Finally, we can generate a XkbcDescPtr from a XkbComponentNamesPtr. This
+    involves turning the components into a parsed XKB file and then passing
+    it into the compiler. This first conversion needs more error handling.
+
+commit 1115d55549aa6a2df3b1d1e7ad557638dd5addb0
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Mar 29 08:17:13 2009 -0700
+
+    xkbcomp: Include Xdefs.h for Atom in tokens.h
+
+commit 587a5d956f579fe779eea1d35a826410c71d0813
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Mar 29 08:15:27 2009 -0700
+
+    xkbcomp: Add missing includes for Bool in xkbpath
+
+commit e86b31ce923c3f9cb28d483e002234064b94c24b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sun Mar 29 08:11:25 2009 -0700
+
+    Add XKBlib resizing functions
+    
+    These were originally in XKBMalloc.c.
+
+commit d43a7bf02fcda0a43112ee6a69a5d8e647dfe1a6
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 19:21:18 2009 -0700
+
+    Copy xkbfile IsUpper/IsLower macros
+    
+    xkbcomp was using Xlib's XConvertCase to check upper/lowercase. That's a
+    lot of code, so hopefully the xkbfile macros using _XkbKSCheckCase are
+    good enough. This also required that <X11/keysym.h> is included to get
+    all the XK_* definitions.
+
+commit eff1c53873e1190b703ee5f84b4240f070dd0927
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 19:00:13 2009 -0700
+
+    Copy XkbEnsureSafeMapName from xkbfile
+
+commit c4c9e36fbf4019d802323d9053f54cbfa6d3d5e5
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 18:50:29 2009 -0700
+
+    xkbcomp: Remove listing sources
+    
+    The xkbcomp listing APIs were only needed for the "xkblist" mode, which
+    won't be supported here.
+
+commit fe94593d022633514c43c48455451985e71e2a09
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 18:17:34 2009 -0700
+
+    malloc/misc/xkb: Coding style cleanup
+
+commit 5315e5d14a11004798fd2ef98f568afc3d21ebf4
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 17:55:46 2009 -0700
+
+    Add XKBlib API to support keytypes
+    
+    Added common variants of XkbComputeEffectiveMap, XkbInitCanonicalKeyTypes
+    and all their needed functions. A couple functions that were in alloc.c
+    moved to malloc.c to mirror the libX11 sources better.
+    
+    Original code in
+    
+    libX11/src/xkb/XKBMalloc.c
+    libX11/src/xkb/XKBMisc.c
+    libX11/src/xkb/XKB.c
+
+commit baa9581d81196df87819840d7769945900f3a18a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 16:21:25 2009 -0700
+
+    geom: Coding-style cleanup
+
+commit 62482b9614112e1477264dc1d209ff3fb7ddd3fc
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 16:08:46 2009 -0700
+
+    Add geometry Compute API from XKBlib
+    
+    A small needed subset from libX11/src/xkb/XKBGeom.c.
+
+commit 28de09e51564f32fe96924889b32d08808b12677
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 15:51:06 2009 -0700
+
+    Add xkbcommon macro for XkbKSIsKeypad and XkbKSIsDeadKey(k)
+    
+    IsKeypad is used in symbols, but we'll just grab them both. It might be
+    better to split parts of XKBfile.h out eventually.
+
+commit a53b9b1ed397323bd2f0d2d2e9130fabad824b83
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 15:32:51 2009 -0700
+
+    Add XkbModIndexText replacement
+    
+    Now, I think we should have all the *Text functions we need.
+
+commit a59ce8f52575283bdb49c3f597807daa25a3492a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 15:24:06 2009 -0700
+
+    Drop another unneeded format argument
+    
+    Almost cleared of XkbMessage...
+
+commit 54aea7fe8bb5455040b836d09fae7fb0d352a08b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 15:12:30 2009 -0700
+
+    Add VMod Text functions from xkbfile
+
+commit 46e5e164d6611c88e422dcb9f3bae0b0d926a08c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 12:39:21 2009 -0700
+
+    Copy XkbAddGeom* functions from XKBlib
+    
+    These are needed by the geometry compiler in xkbcomp.
+
+commit b0acc97a9348ad1151416728ae391346df9d5b4e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 12:03:35 2009 -0700
+
+    xkbcomp: s/XStringToKeysym/XkbcStringToKeysym/
+
+commit 1f08ae1e56c8cd99485447146bfd8528e6576c2b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 11:56:35 2009 -0700
+
+    Expose all the geometry allocation subroutines
+    
+    We need a couple in xkbcomp, but they might also be needed externally,
+    too.
+
+commit 39d7be43c8056c4e81044d12cef652c528682bfe
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 11:45:05 2009 -0700
+
+    xkbcomp: Use xkbcommon allocation functions
+    
+    s/XkbAlloc/XkbcAlloc/ so we don't know XKBlib.
+
+commit b9335d5810e1504daa228cc21497aae511a0e3f3
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 14:09:36 2009 -0700
+
+    Kill off usage of Display
+    
+    The use of Display in xkbcomp always boiled down to passing it to
+    XkbInternAtom and XkbAtomGetString. This shouldn't be a problem here.
+
+commit 2671b777cf146d93f8963dac79964d9167c6de66
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 14:06:26 2009 -0700
+
+    Add more *Text functions from xkbfile
+    
+    This should cover all the usage in xkbcomp. The format arguments were
+    dropped except for the special case of XkbModMaskText, which needs to
+    write in XkbCFile format in HandleVModDef. This was just changed to a
+    Bool to avoid the need for the macros in XKBfile.h.
+    
+    The function prefixes have been renamed to be unique from xkbfile.
+
+commit 8544cde52e8b1e2cac21aa1ca9760c5a0f834472
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 06:56:26 2009 -0700
+
+    xkbcomp: Drop unused Display argument in Atom functions
+    
+    The xkbcommon Atom implementation doesn't take Display into account.
+
+commit 72df9bb35f1dde5ed0ef7aae048afeaf0cb8c961
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Sat Mar 28 06:32:08 2009 -0700
+
+    Move *Text APIs into libxkbcommon
+    
+    These seem like they might be generally useful, and more will be needed
+    from xkbfile.
+
+commit 18337008b5132d527d8c01bbc0da7571c17e6595
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 20:58:27 2009 -0700
+
+    libxkbcomp: Use the internal Atom implementation
+    
+    s/XkbInternAtom/XkbcInternAtom/ and s/XkbAtomGetString/XkbcAtomGetString/
+
+commit c277d3d438f0088420eedbc2badfe4ba021e6cc8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 20:53:26 2009 -0700
+
+    libxkbcomp: s/Status/int/ since we don't have Xlib.h
+
+commit d5a9be653bcd950db4000e3d9167f7eb5c89cbf1
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 20:32:33 2009 -0700
+
+    libxkbcomp: Drop unused format field for *Text functions
+
+commit 6a578de9cbac1645633b424630594bd90c53f27e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 20:20:01 2009 -0700
+
+    libxkbcomp: Add non-xkbfile XkbActionTypeText
+
+commit 4fe322aa99de2d56c28d5ded14e16a980edb332e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 20:13:22 2009 -0700
+
+    libxkbcomp: s/XPointer/char */
+    
+    Replace XPointer with its definition since we don't have the privilege
+    of using Xlib.h. Why this is char * and not void *, I'll never know.
+
+commit 37769b5a100498aa19926dff9517a3bc5a606183
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 20:01:32 2009 -0700
+
+    libxkbcomp: s/XkbDescPtr/XkbcDescPtr/
+    
+    We need to use the keyboard description structure from XKBcommon.h since
+    it doesn't have the Display field.
+
+commit dd25bbc9acfa132bc1008a8aa6e2910c9e797689
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 19:54:50 2009 -0700
+
+    libxkbcomp: Eradicate XkbFileInfo usage
+    
+    The only real usage was in the frontend to generate a .xkm file. The
+    rest of the code just operated on the attached XkbDescPtr. Note that
+    here we've replaced the usage of the defined field in CompileKeymap with
+    the equivalent field in a XkbcDescPtr.
+
+commit f3677538f4823cf0abd14eaef02858d7aa675c33
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 19:30:11 2009 -0700
+
+    libxkbcomp: Include X.h and Xdefs.h for Atom and Bool
+
+commit 30e01032161db141524a4ff8cb88ab21a987dd9e
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 19:25:14 2009 -0700
+
+    libxkbcomp: Remove usage of client-side headers
+    
+    This will surely break things. Let's see just what we need to replace.
+
+commit a3809b1340998a6babd13cb161bb24f06f21bdd7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 18:55:13 2009 -0700
+
+    xkbcomp: Add non-xkbfile XkbConfigText
+
+commit f2308e7e55233d843467067ac993bcd8fe30aeac
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 18:43:29 2009 -0700
+
+    Ignore files for xkbcomp
+
+commit 23caa60fa9638dc08da6d5ad3b77056130d65a43
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 18:43:12 2009 -0700
+
+    Ignore ks_tables.h in makekeys directory now
+
+commit 0c1bbb05d975cf7b3411259900500cc122fc136b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Mar 27 06:55:32 2009 -0700
+
+    Import xkbcomp sources for CompileKeymap
+    
+    A copy of the xkbcomp sources (except the frontend) have been copied in
+    to provide a means to compile a XkbDescPtr. This definitely doesn't
+    build or do the right thing yet.
+
+commit f4d8e2932cdd60653d2f762ad7502e6ec5710fe5
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 26 06:50:33 2009 -0700
+
+    Move ks_tables.h build into makekeys subdirectory
+    
+    This avoids the BUILT_SOURCES weirdness and forcing the build into the
+    makekeys subdirectory. Added a new make variable KS_HEADERS that lists
+    all the keysym headers we're going to parse.
+
+commit 4859304f6531b6bd5aa28ec0fb25ee3f537e8f48
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Mar 17 06:19:56 2009 -0700
+
+    Use X extern "C" guards around function declarations for public header
+
+commit 433a405c98f572c2620b614a1b8a1ef8d399b0e2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Mar 25 19:17:33 2009 -0700
+
+    atom: Coding-style cleanup and refactor
+    
+    Some coding style nits were cleaned up. Additionally, most of the
+    functions have been collapsed from the libxkbfile version where there's
+    distinction with the Xlib atom functions when Display was set. Finally,
+    the InitAtoms function tests whether the table has already been created
+    by testing the pointer rather than using a static int.
+
+commit c88c0ba72531c0d1dddbfad9d18cfa0cc919fca7
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Mar 25 19:00:49 2009 -0700
+
+    Borrow atom implementation from libxkbfile
+    
+    We need an atom implementation not relying on XInternAtom and friends.
+    The original code is in
+    
+    libxkbfile/src/xkbatom.c
+
+commit 46faf56dedadffb446fa22a53e8068fe1e6c0e69
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Mar 25 15:41:21 2009 -0700
+
+    alloc/galloc: Coding style cleanup
+    
+    Mostly tab-to-space conversion plus a few style nits. Dropped the
+    register keywords as I'm pretty sure modern compilers can be trusted to
+    do the right thing.
+
+commit 1ff77ecd368a41f7b84d885a4f072091e7d552a8
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 5 18:20:15 2009 -0800
+
+    Rename headers to XKBcommon* and install in extensions directory
+    
+    Following the kbproto convention, the headers will be named XKBcommon.h
+    and XKBcommonint.h. Furthermore, they'll be installed in X11/extensions
+    directory with the rest of the XKB headers.
+
+commit 74173104034ba0633276e0479cfb53586874abe3
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 19 16:57:01 2009 -0700
+
+    Add XkbDescRec initializers and destructors
+    
+    Copies the code to initialize and destroy an XkbDescRec from libX11. The
+    original code is in
+    
+    libX11/src/xkb/XKBAlloc.c
+    libX11/src/xkb/XKBGAlloc.c
+    libX11/src/xkb/XKBMAlloc.c
+
+commit 3a700f8123477f5f93cbc46ba3d367246f93775c
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 19 17:16:13 2009 -0700
+
+    Use common XKB headers and add common type XkbcDescRec
+    
+    Switched to the common XKB headers which don't contain Xlib pollution.
+    A new common keyboard description type, XkbcDescRec, has been added.
+    This is the XkbDescRec definitions in xkbstr.h in the xserver since it
+    contains the defined field we'll need.
+
+commit d4ddac2b8d83b94483009ecf1ba43d3d981d6336
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 19 15:10:14 2009 -0700
+
+    Use XKB alloc macros internally
+    
+    These are used throughout the XKB code, but are defined in XKBsrv.h,
+    which we'd like to avoid. Internal definitions for True/False have also
+    been added since they're in Xlib.h
+
+commit 6aa78dedb2dfecb781d1bff133d6778cc62e2587
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 5 18:21:57 2009 -0800
+
+    Ignore generated ChangeLog
+
+commit 036c23eaf2cd4b0cfa348cbae63908806b94e52f
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Jan 20 07:33:14 2009 -0800
+
+    Use generated config.h header
+
+commit a45cdf4b0e0f326bc7aea046ed418dd033fce328
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Jan 23 18:12:04 2009 -0800
+
+    makekeys: Fix warning about not returning from function
+    
+    If we've gotten through the for loop in the alias functions, then we
+    don't have a match.
+
+commit ffa0ccfad904acce75e7abfb5813fe93f6910942
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Jan 23 18:09:31 2009 -0800
+
+    Use XORG_CWARNFLAGS for more warnings
+
+commit d60166b507096ade932d0881555e99f4dc8836bb
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Jan 23 18:05:12 2009 -0800
+
+    makekeys: No need for strncat
+
+commit ba0b312ac835f3a660d610d73fba89c6f92f7efc
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 20:20:02 2009 -0800
+
+    test: Add tests for XFree86 special keys
+    
+    Since the XFree86 special keysyms contain an underscore after the XF86
+    prefix, check to make sure they're handled correctly.
+
+commit 176b9cf524e75a63f63aed6809247847f467a833
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 20:18:33 2009 -0800
+
+    test: Consistently use upper case hex
+
+commit 49a06f926d1740744334904a99fe3adb45e7b4df
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 20:10:19 2009 -0800
+
+    test: Add convenience functions for xkey.sh
+
+commit e8c7f6853936a6c752c4f64da4ce906add4af2e0
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 19:59:24 2009 -0800
+
+    makekeys: Handle XFree86 special action keys
+    
+    For some reason, there are a set of keys that have an underscore after
+    the XF86 prefix when Xlib gets them from XKeysymDB.
+
+commit c005d63c581c965f4733ad38857409f14d5fe349
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 18:09:51 2009 -0800
+
+    makekeys: Always continue when no alias match found
+
+commit 498935c1bce71433250346eadffca554360056f6
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 18:06:48 2009 -0800
+
+    makekeys: Handle aliases in convenience functions
+    
+    There's no need to pass the alias buffer down.
+
+commit 6518e5482d3cbaea37ad0e5f1e7c767291ec9942
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 18:01:13 2009 -0800
+
+    makekeys: Prepend XF86 to XFree86 keysyms
+
+commit 79ddd7e5309afddbfa6fab23e0796b555998a2cf
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 08:25:39 2009 -0800
+
+    Refactor makekeys with some convenience functions
+    
+    All the nested ifs in the parsing code were confusing me.
+
+commit 49cda1187f6d484f00b0ae1cf01344afd6537101
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Jan 22 07:16:12 2009 -0800
+
+    Move makekeys to separate subdir
+    
+    The build is a little cleaner when makekeys has its own Makefile.
+
+commit b2737e9bfb6ac542a34885012958ae2de23a3417
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Jan 20 18:57:22 2009 -0800
+
+    Testing harness for keysym functions
+    
+    A test program and script have been added for checking the XkbCommon
+    keysym functions. This has already highlighted an error in handling of
+    keysyms from XF86keysym.h.
+
+commit 732bade2341d79ddd48d47963a8abef1fd1889fa
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Jan 20 18:52:04 2009 -0800
+
+    Fix CC_FOR_BUILD detection
+
+commit 56c3e7440ed92e03e46d2b7b77f14b917d8d9c53
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 19 11:34:54 2009 -0700
+
+    keysym: Coding style cleanup
+    
+    Mostly tab-to-space conversion plus a few style nits. Dropped the
+    register keywords as I'm pretty sure modern compilers can be trusted to
+    do the right thing.
+
+commit 83f198f1ae5c26a2d9a37579c9590c0aaab0416a
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Jan 20 07:46:12 2009 -0800
+
+    Initial implementation of keysym handlers
+    
+    Add the xkbcommon implementations of XKeysymToString and XStringToKeysym.
+    These symbols have the namespace prefix of Xkbc and are declared in
+    X11/XkbCommon.h.
+    
+    The implementation is taken directly from Xlib, but does not include the
+    XKeysymDB parsing and hashing yet (if it ever will). A couple type
+    conversions were needed to keep from using Xlib.h. See original files:
+    
+    libX11/src/KeysymStr.c
+    libX11/src/StrKeysym.c
+
+commit d0a4291e74663508ab6549c59d2f6a57425580ff
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Fri Jan 16 07:28:30 2009 -0800
+
+    makekeys: Handle XF86XK_ keysyms in addition to XK_ keysyms
+
+commit fa6a3d122d57b3ae89076741ec90ec8c1b78ce6b
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Jan 14 18:00:10 2009 -0800
+
+    Generate keysym tables from X and XF86 keysym definitions
+    
+    The keysym hash table ks_tables.h is generated by makekeys from
+    keysymdef.h and XF86keysym.h.
+
+commit 7f64541c30e66f4fb172420a1107b73abf5a3020
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Jan 14 18:07:06 2009 -0800
+
+    ks_tables: Remove table-specific #ifdefs and add header guard
+    
+    Since we'll be including ks_tables.h in a single file, we don't need to
+    make parts conditional. A header guard has been added just to be safe.
+
+commit ddc31789597d75b9d7f77ba76b498a9252dcecb3
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Thu Mar 19 10:59:32 2009 -0700
+
+    makekeys: Coding style cleanup
+    
+    Mostly tab-to-space conversion, but a couple other nits, too.
+
+commit 27fe8d1657f329068c574f1bc869dc725708f3af
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Wed Jan 14 07:35:10 2009 -0800
+
+    Add makekeys for creating keysym hash tables
+    
+    The makekeys utility is used to generate the keysym hash tables during
+    the build. We try to detect a build machine native compiler so the
+    tables can be generated when cross compiling.
+
+commit b58a95d037d2b4c7b5b6166684d6670f381f55a2
+Author: Dan Nicholson <dbn.lists@gmail.com>
+Date:   Tue Jan 13 18:25:35 2009 -0800
+
+    Initial autotools commit
--- libxkbcommon-0.4.1.orig/debian/libxkbcommon-x11-dev.install
+++ libxkbcommon-0.4.1/debian/libxkbcommon-x11-dev.install
@@ -0,0 +1,5 @@
+# Use no wildcards to ensure we spot any update:
+usr/include/xkbcommon/xkbcommon-x11.h
+usr/lib/*/libxkbcommon-x11.a
+usr/lib/*/libxkbcommon-x11.so
+usr/lib/*/pkgconfig/xkbcommon-x11.pc
--- libxkbcommon-0.4.1.orig/debian/control
+++ libxkbcommon-0.4.1/debian/control
@@ -0,0 +1,106 @@
+Source: libxkbcommon
+Section: x11
+Priority: optional
+Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
+Uploaders: Cyril Brulebois <kibi@debian.org>, Michael Stapelberg <stapelberg@debian.org>
+Build-Depends:
+ debhelper (>= 9),
+ dh-autoreconf,
+ pkg-config,
+ xutils-dev (>= 7.5+4),
+ bison,
+ flex,
+ libx11-dev,
+ libxcb-xkb-dev (>= 1.10),
+ x11proto-core-dev,
+ x11proto-kb-dev (>= 1.0.5),
+ xkb-data,
+Standards-Version: 3.9.5
+Homepage: http://www.xkbcommon.org/
+Vcs-Git: git://anonscm.debian.org/pkg-xorg/lib/libxkbcommon
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-xorg/lib/libxkbcommon.git
+
+Package: libxkbcommon0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+ xkb-data,
+ ${shlibs:Depends},
+ ${misc:Depends},
+Description: library interface to the XKB compiler - shared library
+ This package provides a library to handle keyboard descriptions, including
+ loading them from disk, parsing them and handling their state. It's mainly
+ meant for client toolkits, window systems, and other system applications;
+ currently that includes Wayland, kmscon, GTK+, Clutter, and more.
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This module can be found at
+ git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon
+
+Package: libxkbcommon-dev
+Section: libdevel
+Architecture: any
+Priority: extra
+Depends:
+ libxkbcommon0 (= ${binary:Version}),
+ ${shlibs:Depends},
+ ${misc:Depends},
+Description: library interface to the XKB compiler - development files
+ xkbcommon is a library to handle keyboard descriptions, including loading them
+ from disk, parsing them and handling their state. It's mainly meant for client
+ toolkits, window systems, and other system applications; currently that
+ includes Wayland, kmscon, GTK+, Clutter, and more.
+ .
+ This package contains the development headers for the library found in
+ libxkbcommon0. Non-developers likely have little use for this package.
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This module can be found at
+ git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon
+
+Package: libxkbcommon-x11-0
+Section: libs
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends}
+Description: library to create keymaps with the XKB X11 protocol
+ This package provides an add-on library called xkbcommon-x11, to support
+ creating keymaps with the XKB X11 protocol, by querying the X server directly.
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This module can be found at
+ git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon
+
+Package: libxkbcommon-x11-dev
+Section: libdevel
+Architecture: any
+Priority: extra
+Pre-Depends: ${misc:Pre-Depends}
+Depends:
+ libxkbcommon-x11-0 (= ${binary:Version}),
+ ${shlibs:Depends},
+ ${misc:Depends}
+Description: library to create keymaps with the XKB X11 protocol - development files
+ This package provides an add-on library called xkbcommon-x11, to support
+ creating keymaps with the XKB X11 protocol, by querying the X server directly.
+ .
+ This package contains the development headers for the library found in
+ libxkbcommon-x11-0. Non-developers likely have little use for this package.
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This module can be found at
+ git://anongit.freedesktop.org/git/xorg/lib/libxkbcommon
--- libxkbcommon-0.4.1.orig/debian/libxkbcommon-x11-0.install
+++ libxkbcommon-0.4.1/debian/libxkbcommon-x11-0.install
@@ -0,0 +1,3 @@
+# Use no wildcards to ensure we spot any update:
+usr/lib/*/libxkbcommon-x11.so.0
+usr/lib/*/libxkbcommon-x11.so.0.0.0
--- libxkbcommon-0.4.1.orig/debian/libxkbcommon-x11-0.symbols
+++ libxkbcommon-0.4.1/debian/libxkbcommon-x11-0.symbols
@@ -0,0 +1,6 @@
+libxkbcommon-x11.so.0 libxkbcommon-x11-0 #MINVER#
+* Build-Depends-Package: libxkbcommon-x11-dev
+ xkb_x11_get_core_keyboard_device_id@Base 0.4.0
+ xkb_x11_keymap_new_from_device@Base 0.4.0
+ xkb_x11_setup_xkb_extension@Base 0.4.0
+ xkb_x11_state_new_from_device@Base 0.4.0
--- libxkbcommon-0.4.1.orig/debian/rules
+++ libxkbcommon-0.4.1/debian/rules
@@ -0,0 +1,24 @@
+#!/usr/bin/make -f
+
+# We need to point to xkb-data's files. The default should be OK but
+# let's be cautious:
+override_dh_auto_configure:
+	dh_auto_configure -- --disable-silent-rules --with-xkb-config-root=/usr/share/X11/xkb
+
+# Kill *.la files, and forget no-one:
+override_dh_install:
+	find debian/tmp -name '*.la' -delete
+	dh_install --fail-missing
+
+override_dh_makeshlibs:
+	dh_makeshlibs -- -c4
+
+%:
+	dh $@ --with autoreconf
+
+
+# For maintainer use only, generate a tarball
+gentarball: SOURCE=$(shell dpkg-parsechangelog|awk '/^Source:/ {print $$2}')
+gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//')
+gentarball:
+	git archive --format=tar upstream-unstable --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz
--- libxkbcommon-0.4.1.orig/debian/changelog
+++ libxkbcommon-0.4.1/debian/changelog
@@ -0,0 +1,95 @@
+libxkbcommon (0.4.1-0ubuntu1) precise; urgency=medium
+
+  * Sync from debian git. (LP: #1303706)
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Mon, 07 Apr 2014 12:49:38 +0300
+
+libxkbcommon (0.4.1-1) UNRELEASED; urgency=medium
+
+  * New upstream release.
+  * libxkbcommon0.symbols: Added three new symbols.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Thu, 03 Apr 2014 19:08:26 +0300
+
+libxkbcommon (0.4.0-1) unstable; urgency=low
+
+  * New upstream release. This introduces the new binary packages
+    libxkbcommon-x11-{0,dev} (Closes: #737391)
+  * Canonicalize Vcs-*
+  * Bump standards-version to 3.9.5 (no changes necessary)
+
+ -- Michael Stapelberg <stapelberg@debian.org>  Sun, 09 Feb 2014 18:34:46 +0100
+
+libxkbcommon (0.3.1-2) unstable; urgency=low
+
+  * Cherry-pick ec9a02 from upstream, fixes FTBFS on hurd. Closes: #717723.
+  * Re-enable the test suite on !linux. Thanks Pino Toscano. Closes: #715560.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org>  Tue, 10 Sep 2013 01:45:53 +0200
+
+libxkbcommon (0.3.1-1) unstable; urgency=low
+
+  * Team upload.
+
+  [ Timo Aaltonen ]
+  * New upstream release 0.2.0. (Closes: #691699)
+  * libxkbcommon-dev.install: Add new headers, rename existing.
+  * control: Update Standards-Version, no changes.
+  * watch: Updated.
+  * control: Remove the comments about the experimental status, this is
+    an actual release.
+  * control: Use debhelper 9 and convert to multiarch.
+  * control: Update the descriptions.
+  * rules: Don't hardcode shlibs to the package version, this is an actual
+    release now.
+  * Use source format 1.0.
+  * Add libxkbcommon0.symbols.
+  * copyright: Remove the note about no tarballs, add upstream url.
+  * control: Added homepage.
+  * rules: Replace old tarball target with generic gentarball target.
+  * rules: Don't run tests on !linux.
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/watch:
+    + Look for .xz tarballs.
+  * New upstream release 0.3.1.
+  * debian/libxkbcommon0.symbols:
+    + Add Build-Depends-Package field.
+    + Add new symbols.
+  * debian/rules:
+    + Pass -c4 to dpkg-gensymbols to abort the build if there are any
+      new or missing symbols.
+    + Make the build verbose.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org>  Sun, 09 Jun 2013 01:50:50 +0200
+
+libxkbcommon (0.1.0~1-1) experimental; urgency=low
+
+  [ Cyril Brulebois ]
+  * Fix short description for libxkbcommon-dev.
+
+  [ Timo Aaltonen ]
+  * Merge master up to c19661b965.
+
+ -- Cyril Brulebois <kibi@debian.org>  Fri, 10 Feb 2012 22:12:02 +0100
+
+libxkbcommon (0.1.0~0-1) experimental; urgency=low
+
+  * Initial release (Closes: #611401):
+    - Merge master up to b9b0011994.
+  * Since there's no upstream release yet, use 0.1.0~X-Y as version
+    numbers, with:
+    - 0.1.0: the version currently in configure.ac;
+    - X: an integer bumped everytime we create a snapshot;
+    - Y: Debian revision.
+  * Keep shlibs very strict: packages linking against libxkbcommon will
+    pick a dependency on the particular revision they were linked
+    against. Since users are likely to be only XServer and Wayland, that
+    shouldn't be too much of a hassle. (All of them will probably stay in
+    experimental for a while anyway, libxkbcommon support isn't merged in
+    XServer's master yet.)
+  * Write a “tarball” target to generate upstream tarballs for next
+    snapshots.
+  * Use xkb-data build-dep since it's needed for the test suite.
+
+ -- Cyril Brulebois <kibi@debian.org>  Mon, 31 Jan 2011 05:07:13 +0100
--- libxkbcommon-0.4.1.orig/debian/libxkbcommon-dev.install
+++ libxkbcommon-0.4.1/debian/libxkbcommon-dev.install
@@ -0,0 +1,8 @@
+# Use no wildcards to ensure we spot any update:
+usr/include/xkbcommon/xkbcommon.h
+usr/include/xkbcommon/xkbcommon-compat.h
+usr/include/xkbcommon/xkbcommon-keysyms.h
+usr/include/xkbcommon/xkbcommon-names.h
+usr/lib/*/libxkbcommon.a
+usr/lib/*/libxkbcommon.so
+usr/lib/*/pkgconfig/xkbcommon.pc
--- libxkbcommon-0.4.1.orig/debian/copyright
+++ libxkbcommon-0.4.1/debian/copyright
@@ -0,0 +1,69 @@
+Source: http://xkbcommon.org/
+
+Copyright 1985, 1987, 1988, 1990, 1998  The Open Group
+Copyright 2008, 2009  Dan Nicholson
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the "Software"),
+to deal in the Software without restriction, including without limitation
+the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Except as contained in this notice, the names of the authors or their
+institutions shall not be used in advertising or otherwise to promote the
+sale, use or other dealings in this Software without prior written
+authorization from the authors.
+
+Copyright (c) 1993, 1994, 1995, 1996 by Silicon Graphics Computer Systems, Inc.
+
+Permission to use, copy, modify, and distribute this
+software and its documentation for any purpose and without
+fee is hereby granted, provided that the above copyright
+notice appear in all copies and that both that copyright
+notice and this permission notice appear in supporting
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
+of the software without specific prior written permission.
+Silicon Graphics makes no representation about the suitability
+of this software for any purpose. It is provided "as is"
+without any express or implied warranty.
+
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
+THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
+
+                        All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of Digital not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
--- libxkbcommon-0.4.1.orig/debian/compat
+++ libxkbcommon-0.4.1/debian/compat
@@ -0,0 +1 @@
+9
--- libxkbcommon-0.4.1.orig/debian/watch
+++ libxkbcommon-0.4.1/debian/watch
@@ -0,0 +1,3 @@
+#git=git://anongit.freedesktop.org/xorg/lib/libxkbcommon
+version=3
+http://xkbcommon.org/download/libxkbcommon-(.*)\.tar\.xz
--- libxkbcommon-0.4.1.orig/debian/libxkbcommon0.symbols
+++ libxkbcommon-0.4.1/debian/libxkbcommon0.symbols
@@ -0,0 +1,94 @@
+libxkbcommon.so.0 libxkbcommon0 #MINVER#
+* Build-Depends-Package: libxkbcommon-dev
+ xkb_context_get_log_level@Base 0.2.0
+ xkb_context_get_log_verbosity@Base 0.2.0
+ xkb_context_get_user_data@Base 0.2.0
+ xkb_context_include_path_append@Base 0.2.0
+ xkb_context_include_path_append_default@Base 0.2.0
+ xkb_context_include_path_clear@Base 0.2.0
+ xkb_context_include_path_get@Base 0.2.0
+ xkb_context_include_path_reset_defaults@Base 0.2.0
+ xkb_context_new@Base 0.2.0
+ xkb_context_num_include_paths@Base 0.2.0
+ xkb_context_ref@Base 0.2.0
+ xkb_context_set_log_fn@Base 0.2.0
+ xkb_context_set_log_level@Base 0.2.0
+ xkb_context_set_log_verbosity@Base 0.2.0
+ xkb_context_set_user_data@Base 0.2.0
+ xkb_context_unref@Base 0.2.0
+ xkb_key_get_syms@Base 0.2.0
+ xkb_key_mod_index_is_consumed@Base 0.2.0
+ xkb_key_mod_mask_remove_consumed@Base 0.2.0
+ xkb_key_num_groups@Base 0.2.0
+ xkb_key_repeats@Base 0.2.0
+ xkb_keymap_get_as_string@Base 0.2.0
+ xkb_keymap_key_for_each@Base 0.3.1
+ xkb_keymap_key_get_syms_by_level@Base 0.2.0
+ xkb_keymap_key_repeats@Base 0.2.0
+ xkb_keymap_layout_get_index@Base 0.2.0
+ xkb_keymap_layout_get_name@Base 0.2.0
+ xkb_keymap_led_get_index@Base 0.2.0
+ xkb_keymap_led_get_name@Base 0.2.0
+ xkb_keymap_max_keycode@Base 0.3.1
+ xkb_keymap_min_keycode@Base 0.3.1
+ xkb_keymap_mod_get_index@Base 0.2.0
+ xkb_keymap_mod_get_name@Base 0.2.0
+ xkb_keymap_new_from_buffer@Base 0.3.1
+ xkb_keymap_new_from_file@Base 0.2.0
+ xkb_keymap_new_from_names@Base 0.2.0
+ xkb_keymap_new_from_string@Base 0.2.0
+ xkb_keymap_num_layouts@Base 0.2.0
+ xkb_keymap_num_layouts_for_key@Base 0.2.0
+ xkb_keymap_num_leds@Base 0.2.0
+ xkb_keymap_num_levels_for_key@Base 0.2.0
+ xkb_keymap_num_mods@Base 0.2.0
+ xkb_keymap_ref@Base 0.2.0
+ xkb_keymap_unref@Base 0.2.0
+ xkb_keysym_from_name@Base 0.2.0
+ xkb_keysym_get_name@Base 0.2.0
+ xkb_keysym_to_utf32@Base 0.2.0
+ xkb_keysym_to_utf8@Base 0.2.0
+ xkb_map_get_as_string@Base 0.2.0
+ xkb_map_group_get_index@Base 0.2.0
+ xkb_map_group_get_name@Base 0.2.0
+ xkb_map_led_get_index@Base 0.2.0
+ xkb_map_led_get_name@Base 0.2.0
+ xkb_map_mod_get_index@Base 0.2.0
+ xkb_map_mod_get_name@Base 0.2.0
+ xkb_map_new_from_file@Base 0.2.0
+ xkb_map_new_from_names@Base 0.2.0
+ xkb_map_new_from_string@Base 0.2.0
+ xkb_map_num_groups@Base 0.2.0
+ xkb_map_num_leds@Base 0.2.0
+ xkb_map_num_mods@Base 0.2.0
+ xkb_map_ref@Base 0.2.0
+ xkb_map_unref@Base 0.2.0
+ xkb_state_get_keymap@Base 0.2.0
+ xkb_state_get_map@Base 0.2.0
+ xkb_state_group_index_is_active@Base 0.2.0
+ xkb_state_group_name_is_active@Base 0.2.0
+ xkb_state_key_get_consumed_mods@Base 0.4.1
+ xkb_state_key_get_layout@Base 0.2.0
+ xkb_state_key_get_level@Base 0.2.0
+ xkb_state_key_get_one_sym@Base 0.2.0
+ xkb_state_key_get_syms@Base 0.2.0
+ xkb_state_key_get_utf32@Base 0.4.1
+ xkb_state_key_get_utf8@Base 0.4.1
+ xkb_state_layout_index_is_active@Base 0.2.0
+ xkb_state_layout_name_is_active@Base 0.2.0
+ xkb_state_led_index_is_active@Base 0.2.0
+ xkb_state_led_name_is_active@Base 0.2.0
+ xkb_state_mod_index_is_active@Base 0.2.0
+ xkb_state_mod_index_is_consumed@Base 0.2.0
+ xkb_state_mod_indices_are_active@Base 0.2.0
+ xkb_state_mod_mask_remove_consumed@Base 0.2.0
+ xkb_state_mod_name_is_active@Base 0.2.0
+ xkb_state_mod_names_are_active@Base 0.2.0
+ xkb_state_new@Base 0.2.0
+ xkb_state_ref@Base 0.2.0
+ xkb_state_serialize_group@Base 0.2.0
+ xkb_state_serialize_layout@Base 0.2.0
+ xkb_state_serialize_mods@Base 0.2.0
+ xkb_state_unref@Base 0.2.0
+ xkb_state_update_key@Base 0.2.0
+ xkb_state_update_mask@Base 0.2.0
--- libxkbcommon-0.4.1.orig/debian/libxkbcommon0.install
+++ libxkbcommon-0.4.1/debian/libxkbcommon0.install
@@ -0,0 +1,3 @@
+# Use no wildcards to ensure we spot any update:
+usr/lib/*/libxkbcommon.so.0
+usr/lib/*/libxkbcommon.so.0.0.0
--- libxkbcommon-0.4.1.orig/debian/source/format
+++ libxkbcommon-0.4.1/debian/source/format
@@ -0,0 +1 @@
+1.0