[kbd] Fix loadkeys regression

vcrhonek vcrhonek at fedoraproject.org
Mon Jan 21 10:33:21 UTC 2013


commit 0adac6327a3ea777199dcf23769d971c48dfcc3d
Author: Vitezslav Crhonek <vcrhonek at redhat.com>
Date:   Mon Jan 21 11:33:11 2013 +0100

    Fix loadkeys regression

 kbd-1.15.5-loadkeys-regression.patch |   38 ++++++++++++++++++++++++++++++++++
 kbd.spec                             |   11 ++++++++-
 2 files changed, 47 insertions(+), 2 deletions(-)
---
diff --git a/kbd-1.15.5-loadkeys-regression.patch b/kbd-1.15.5-loadkeys-regression.patch
new file mode 100644
index 0000000..c40df22
--- /dev/null
+++ b/kbd-1.15.5-loadkeys-regression.patch
@@ -0,0 +1,38 @@
+diff -up kbd-1.15.5/src/loadkeys.analyze.l.orig kbd-1.15.5/src/loadkeys.analyze.l
+--- kbd-1.15.5/src/loadkeys.analyze.l.orig	2013-01-21 11:22:51.374582275 +0100
++++ kbd-1.15.5/src/loadkeys.analyze.l	2013-01-21 11:25:29.278331267 +0100
+@@ -307,8 +307,10 @@ To                      to|To|TO
+ 				char *s = xstrndup(yytext+1, strlen(yytext)-2);
+ 				/* use static pathname to store *s ? */
+ 				open_include(s);
+-				yy_pop_state();
+-				state_ptr--;
++				while (state_ptr > 0) {
++					yy_pop_state();
++					state_ptr--;
++				}
+ 			}
+ <INCLSTR>[^"]|\"\"|\"[^"\n]*{Eol}	{
+ 				yyerror(_("expected filename between quotes"));
+@@ -323,7 +325,7 @@ To                      to|To|TO
+ 			}
+ {Eol}			{
+ 				line_nr++;
+-				if (state_ptr > 0) {
++				while (state_ptr > 0) {
+ 					yy_pop_state();
+ 					state_ptr--;
+ 				}
+@@ -428,8 +430,10 @@ To                      to|To|TO
+ 			}
+ <STR>\"			{
+ 				*p = '\0';
+-				yy_pop_state();
+-				state_ptr--;
++				while (state_ptr > 0) {
++					yy_pop_state();
++					state_ptr--;
++				}
+ 				return(STRLITERAL);
+ 			}
+ .			{
diff --git a/kbd.spec b/kbd.spec
index 05d5770..df2fba4 100644
--- a/kbd.spec
+++ b/kbd.spec
@@ -1,6 +1,6 @@
 Name:           kbd
 Version:        1.15.5
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Tools for configuring the console (keyboard, virtual terminals, etc.)
 
 Group:          System Environment/Base
@@ -19,6 +19,8 @@ Patch1:         kbd-1.15-sparc.patch
 Patch2:         kbd-1.15-unicode_start.patch
 # Patch3: add missing dumpkeys option to man page
 Patch3:         kbd-1.15.3-dumpkeys-man.patch
+# Patch4: fixes loadkeys regression (already upstream)
+Patch4:         kbd-1.15.5-loadkeys-regression.patch
 
 BuildRequires:  bison, flex, gettext, pam-devel
 Requires:       initscripts >= 5.86-1
@@ -45,6 +47,7 @@ keymaps etc. Please note that %{name}-misc is not helpful without kbd.
 %patch1 -p1 -b .sparc
 %patch2 -p1 -b .unicode_start
 %patch3 -p1 -b .dumpkeys-man
+%patch4 -p1 -b .loadkeys-regression
 
 # 7-bit maps are obsolete; so are non-euro maps
 pushd data/keymaps/i386
@@ -121,7 +124,11 @@ rm -rf $RPM_BUILD_ROOT/lib/kbd/locale
 /lib/kbd
 
 %changelog
-* Mon Jan 014 2013 Vitezslav Crhonek <vcrhonek at redhat.com> - 1.15.5-1
+* Mon Jan 21 2013 Vitezslav Crhonek <vcrhonek at redhat.com> - 1.15.5-2
+- Fix loadkeys regression
+  Resolves: #902259
+
+* Mon Jan 14 2013 Vitezslav Crhonek <vcrhonek at redhat.com> - 1.15.5-1
 - Update to kbd-1.15.5 (removed kbd-1.15-resizecon-x86_64.patch,
   kbd-1.15-defkeymap.patch, kbd-1.15.3-fix-es-translation.patch,
   kbd-1.15.3-loadkeys-d.patch)


More information about the scm-commits mailing list