From 381d98b2f8020ef57dac3f364901fb8f760d3769bf5514d9fc1fa3f01a248db5 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Fri, 22 Aug 2014 04:24:48 +0000 Subject: [PATCH 1/5] Accepting request 245689 from GNOME:Next - Update to version 0.4.3: + Fixed a bug which caused xkb_x11_keymap_new_from_device() to misrepresent modifiers for some keymaps. https://github.com/xkbcommon/libxkbcommon/issues/9 + Fixed a bug which caused xkb_x11_keymap_new_from_device() to ignore XKB PrivateAction's. + Modifiers are now always fully resolved after xkb_state_update_mask(). Previously the given state components were used as-is, without considering virtual modifier mappings. Note: this only affects non-standard uses of xkb_state_update_mask(). + Added a test for xkbcommon-x11, "x11comp". The test uses the system's Xvfb server and xkbcomp. If they do not exist or fail, the test is skipped. + Fixed memory leaks after parse errors in the XKB yacc parser. + The fix required changes which are currently incompatible with byacc. OBS-URL: https://build.opensuse.org/request/show/245689 OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libxkbcommon?expand=0&rev=18 --- libxkbcommon-0.4.2.tar.xz | 3 --- libxkbcommon-0.4.3.tar.xz | 3 +++ libxkbcommon.changes | 21 +++++++++++++++++++++ libxkbcommon.spec | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) delete mode 100644 libxkbcommon-0.4.2.tar.xz create mode 100644 libxkbcommon-0.4.3.tar.xz diff --git a/libxkbcommon-0.4.2.tar.xz b/libxkbcommon-0.4.2.tar.xz deleted file mode 100644 index bb3ddc6..0000000 --- a/libxkbcommon-0.4.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a0fc71b07eeddba4af62bd709e24cec219778bb6871384aa850b2f5798a48957 -size 552316 diff --git a/libxkbcommon-0.4.3.tar.xz b/libxkbcommon-0.4.3.tar.xz new file mode 100644 index 0000000..79a2404 --- /dev/null +++ b/libxkbcommon-0.4.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a52d5d0419e76c49c0ece86208c205ffacb1cf0ff8ffbaba98d3d4dd40c4e41 +size 556628 diff --git a/libxkbcommon.changes b/libxkbcommon.changes index 1bd2395..ee22890 100644 --- a/libxkbcommon.changes +++ b/libxkbcommon.changes @@ -1,3 +1,24 @@ +------------------------------------------------------------------- +Thu Aug 21 19:31:26 UTC 2014 - dimstar@opensuse.org + +- Update to version 0.4.3: + + Fixed a bug which caused xkb_x11_keymap_new_from_device() to + misrepresent modifiers for some keymaps. + https://github.com/xkbcommon/libxkbcommon/issues/9 + + Fixed a bug which caused xkb_x11_keymap_new_from_device() to + ignore XKB PrivateAction's. + + Modifiers are now always fully resolved after + xkb_state_update_mask(). Previously the given state components + were used as-is, without considering virtual modifier mappings. + Note: this only affects non-standard uses of + xkb_state_update_mask(). + + Added a test for xkbcommon-x11, "x11comp". The test uses the + system's Xvfb server and xkbcomp. If they do not exist or fail, + the test is skipped. + + Fixed memory leaks after parse errors in the XKB yacc parser. + + The fix required changes which are currently incompatible with + byacc. + ------------------------------------------------------------------- Thu Jul 24 15:46:08 UTC 2014 - jengelh@inai.de diff --git a/libxkbcommon.spec b/libxkbcommon.spec index 751fc18..536e7d8 100644 --- a/libxkbcommon.spec +++ b/libxkbcommon.spec @@ -17,7 +17,7 @@ Name: libxkbcommon -Version: 0.4.2 +Version: 0.4.3 Release: 0 Summary: Library for handling xkb descriptions License: MIT From 671db712bb2436c6b28a91baf700f472ab21804b6225b63536cd6a275b283d01 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 9 Sep 2014 16:38:24 +0000 Subject: [PATCH 2/5] Switch to library versioning supporting concurrent installation OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libxkbcommon?expand=0&rev=19 --- libxkbcommon.changes | 7 +++++++ libxkbcommon.spec | 34 ++++++++++++++++------------------ 2 files changed, 23 insertions(+), 18 deletions(-) diff --git a/libxkbcommon.changes b/libxkbcommon.changes index ee22890..d546bbc 100644 --- a/libxkbcommon.changes +++ b/libxkbcommon.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Tue Sep 9 16:36:07 UTC 2014 - jengelh@inai.de + +- Switch to library versioning as described in Shared Library + Packaging guidelines. This permits installation of multiple + libxkbcommons. + ------------------------------------------------------------------- Thu Aug 21 19:31:26 UTC 2014 - dimstar@opensuse.org diff --git a/libxkbcommon.spec b/libxkbcommon.spec index 536e7d8..fed5567 100644 --- a/libxkbcommon.spec +++ b/libxkbcommon.spec @@ -19,6 +19,7 @@ Name: libxkbcommon Version: 0.4.3 Release: 0 +%define lver 0_4_3 Summary: Library for handling xkb descriptions License: MIT Group: Development/Libraries/C and C++ @@ -51,11 +52,11 @@ should be perfectly usable for client toolkits, as well as alternative windowing systems, compositors and system-level clients such as Wayland and kmscon. -%package -n libxkbcommon0 +%package -n libxkbcommon-%lver Summary: Library for handling xkb descriptions Group: System/Libraries -%description -n libxkbcommon0 +%description -n libxkbcommon-%lver xkbcommon is a keymap handling library, which can parse XKB descriptions (e.g. from xkeyboard-config), and use this to help its users make sense of their keyboard input. Unfortunately, X11's @@ -64,18 +65,18 @@ should be perfectly usable for client toolkits, as well as alternative windowing systems, compositors and system-level clients such as Wayland and kmscon. -%package -n libxkbcommon-x11-0 +%package -n libxkbcommon-x11-%lver Summary: Library for handling xkb descriptions using XKB-X11 Group: System/Libraries -%description -n libxkbcommon-x11-0 +%description -n libxkbcommon-x11-%lver An addon library that supports creating keymaps with the XKB X11 protocol by querying the X server directly. %package devel Summary: Development files for the libxkbcommon library Group: Development/Libraries/C and C++ -Requires: libxkbcommon0 = %version-%release +Requires: libxkbcommon-%lver = %version-%release %description devel xkbcommon is a keymap handling library, which can parse XKB @@ -92,7 +93,7 @@ in libxkbcommon. %package x11-devel Summary: Development files for the libxkbcommon-x11 library Group: Development/Libraries/C and C++ -Requires: libxkbcommon-x11-0 = %version-%release +Requires: libxkbcommon-x11-%lver = %version-%release %description x11-devel xkbcommon is a keymap handling library, which can parse XKB @@ -116,24 +117,21 @@ extra_opts=--disable-x11 %endif # Ensure people will use pkgconfig to locate headers. %configure --disable-static --includedir="%_includedir/pkg/%name" $extra_opts -# libxkbcommon has added symbols between 0.2.0..0.4.2 without maintenance; -# force some versioning. -echo "V_%version { global: *; };" >xkb.sym -make %{?_smp_mflags} V=1 LDFLAGS="-Wl,--version-script=$PWD/xkb.sym" +make %{?_smp_mflags} V=1 AM_LDFLAGS="-release %version" %install make install DESTDIR="%buildroot"; rm -f "%buildroot/%_libdir"/*.la; -%post -n libxkbcommon0 -p /sbin/ldconfig -%postun -n libxkbcommon0 -p /sbin/ldconfig -%post -n libxkbcommon-x11-0 -p /sbin/ldconfig -%postun -n libxkbcommon-x11-0 -p /sbin/ldconfig +%post -n libxkbcommon-%lver -p /sbin/ldconfig +%postun -n libxkbcommon-%lver -p /sbin/ldconfig +%post -n libxkbcommon-x11-%lver -p /sbin/ldconfig +%postun -n libxkbcommon-x11-%lver -p /sbin/ldconfig -%files -n libxkbcommon0 +%files -n libxkbcommon-%lver %defattr(-,root,root) %doc COPYING NEWS -%_libdir/libxkbcommon.so.0* +%_libdir/libxkbcommon-%version.so %files devel %defattr(-,root,root) @@ -146,10 +144,10 @@ rm -f "%buildroot/%_libdir"/*.la; %_libdir/pkgconfig/xkbcommon.pc %if 0%{?suse_version} >= 1315 -%files -n libxkbcommon-x11-0 +%files -n libxkbcommon-x11-%lver %defattr(-,root,root) %doc COPYING NEWS -%_libdir/libxkbcommon-x11.so.* +%_libdir/libxkbcommon-x11-%version.so %endif %if 0%{?suse_version} >= 1315 From 464781c4847447960338c5a1582ab240c84473432a829e1874c6e49ddaa14220 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 9 Sep 2014 16:42:48 +0000 Subject: [PATCH 3/5] baselibs for that. OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libxkbcommon?expand=0&rev=20 --- baselibs.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/baselibs.conf b/baselibs.conf index 18a151d..bfec0e0 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,8 +1,8 @@ -libxkbcommon0 -libxkbcommon-x11-0 +libxkbcommon-0_4_3 +libxkbcommon-x11-0_4_3 libxkbcommon-devel requires -libxkbcommon- - requires "libxkbcommon0- = " + requires "libxkbcommon-0_4_3- = " libxkbcommon-x11-devel requires -libxkbcommon-x11- - requires "libxkbcommon-x11-0- = " + requires "libxkbcommon-x11-0_4_3- = " From 38a3eb4987263bbc5f3e14b5a135fa3d98391b470acee1a7fbbbf4a49b8f10b8 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 9 Sep 2014 16:48:13 +0000 Subject: [PATCH 4/5] Add back the comment OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libxkbcommon?expand=0&rev=21 --- libxkbcommon.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libxkbcommon.spec b/libxkbcommon.spec index fed5567..ceffa9a 100644 --- a/libxkbcommon.spec +++ b/libxkbcommon.spec @@ -117,6 +117,9 @@ extra_opts=--disable-x11 %endif # Ensure people will use pkgconfig to locate headers. %configure --disable-static --includedir="%_includedir/pkg/%name" $extra_opts +# libxkbcommon has added symbols between 0.2.0..0.4.2 without maintenance; +# force versioning so rpm can detect potentially incompatible mixtures +# of programs and libraries. make %{?_smp_mflags} V=1 AM_LDFLAGS="-release %version" %install From 4b36a832d1021932bcb55abfc5d30d555177afed055937e2156fd8b89ffcc7f8 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Thu, 11 Sep 2014 18:34:38 +0000 Subject: [PATCH 5/5] add xkbcommon-0.5.0 notes OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/libxkbcommon?expand=0&rev=22 --- libxkbcommon.changes | 6 ++++++ libxkbcommon.spec | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libxkbcommon.changes b/libxkbcommon.changes index d546bbc..363e88e 100644 --- a/libxkbcommon.changes +++ b/libxkbcommon.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Sep 11 18:33:56 UTC 2014 - jengelh@inai.de + +- Add commentary about upcoming symbol version support to + .spec file. + ------------------------------------------------------------------- Tue Sep 9 16:36:07 UTC 2014 - jengelh@inai.de diff --git a/libxkbcommon.spec b/libxkbcommon.spec index ceffa9a..1f04866 100644 --- a/libxkbcommon.spec +++ b/libxkbcommon.spec @@ -117,9 +117,11 @@ extra_opts=--disable-x11 %endif # Ensure people will use pkgconfig to locate headers. %configure --disable-static --includedir="%_includedir/pkg/%name" $extra_opts -# libxkbcommon has added symbols between 0.2.0..0.4.2 without maintenance; -# force versioning so rpm can detect potentially incompatible mixtures -# of programs and libraries. +# libxkbcommon has had changing symbols (for example between 0.2.0..0.4.2 +# and 0.4.3..0.5.0) without maintenance of the SO version; therefore, force +# a unique name for the openSUSE package. +# The next release (libxkbcommon-0.5.0) will have proper symbol versions, +# and we can drop this. make %{?_smp_mflags} V=1 AM_LDFLAGS="-release %version" %install