From c0df4c5bf6bbea38dd5bf3578df778d0241f3a91 Mon Sep 17 00:00:00 2001 From: basebuilder_pel7x64builder0 Date: Tue, 27 Nov 2018 11:37:43 +0100 Subject: [PATCH] kbd package update Signed-off-by: basebuilder_pel7x64builder0 --- SOURCES/cz-map.patch | 61 ++ SOURCES/kbd-1.15-keycodes-man.patch | 52 ++ SOURCES/kbd-1.15-sparc.patch | 71 ++ SOURCES/kbd-1.15-unicode_start.patch | 21 + SOURCES/kbd-1.15.3-dumpkeys-man.patch | 18 + SOURCES/kbd-1.15.5-loadkeys-regression.patch | 38 ++ SOURCES/kbd-1.15.5-loadkeys-search-path.patch | 24 + ...kbd-1.15.5-man-and-usage-consistency.patch | 426 ++++++++++++ SOURCES/kbd-1.15.5-sg-decimal-separator.patch | 12 + SOURCES/kbd-1.15.5-vlock-more-pam.patch | 61 ++ SOURCES/kbdinfo.1 | 33 + SOURCES/us-map.patch | 11 + SOURCES/vlock.pamd | 3 + SOURCES/xml2lst.pl | 231 +++++++ SPECS/kbd.spec | 643 ++++++++++++++++++ 15 files changed, 1705 insertions(+) create mode 100644 SOURCES/cz-map.patch create mode 100644 SOURCES/kbd-1.15-keycodes-man.patch create mode 100644 SOURCES/kbd-1.15-sparc.patch create mode 100644 SOURCES/kbd-1.15-unicode_start.patch create mode 100644 SOURCES/kbd-1.15.3-dumpkeys-man.patch create mode 100644 SOURCES/kbd-1.15.5-loadkeys-regression.patch create mode 100644 SOURCES/kbd-1.15.5-loadkeys-search-path.patch create mode 100644 SOURCES/kbd-1.15.5-man-and-usage-consistency.patch create mode 100644 SOURCES/kbd-1.15.5-sg-decimal-separator.patch create mode 100644 SOURCES/kbd-1.15.5-vlock-more-pam.patch create mode 100644 SOURCES/kbdinfo.1 create mode 100644 SOURCES/us-map.patch create mode 100644 SOURCES/vlock.pamd create mode 100644 SOURCES/xml2lst.pl create mode 100644 SPECS/kbd.spec diff --git a/SOURCES/cz-map.patch b/SOURCES/cz-map.patch new file mode 100644 index 00000000..d1e45c4c --- /dev/null +++ b/SOURCES/cz-map.patch @@ -0,0 +1,61 @@ +--- cz.map.orig 2015-08-10 11:06:32.886124076 +0200 ++++ cz.map 2015-08-10 11:08:14.293787697 +0200 +@@ -39,7 +39,7 @@ + keycode 38 = +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+006c +U+004c +U+0141 +U+0141 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l +U+004c +U+006c +U+0142 +U+0142 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l + keycode 39 = +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016f U+0022 U+0024 dead_doubleacute +U+016f U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar +U+016e U+0022 U+0024 dead_doubleacute +U+016e U+0022 U+0024 dead_doubleacute Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar Meta_quotedbl Meta_quotedbl Meta_dollar Meta_dollar + keycode 40 = U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe U+00a7 U+0021 U+0027 +U+00df U+00a7 U+0021 U+0027 +U+00df Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe Meta_exclam Meta_exclam Meta_apostrophe Meta_apostrophe +-keycode 41 = U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum ++keycode 41 = U+003b dead_grave U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum U+003b U+00b0 U+0060 U+007e nul Control_asciicircum nul Control_asciicircum Meta_semicolon Meta_semicolon Meta_grave Meta_asciitilde Meta_nul Meta_Control_asciicircum Meta_nul Meta_Control_asciicircum + keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift + keycode 43 = dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash dead_diaeresis U+0027 U+005c U+007c Control_backslash Control_backslash Control_backslash Control_backslash Meta_apostrophe Meta_apostrophe Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash + keycode 44 = +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0079 +U+0059 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +U+0059 +U+0079 U+00b0 U+003c Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_less Meta_less Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y +@@ -108,3 +108,49 @@ + keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol + keycode 121 = KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period KP_Period + strings as usual ++# dead_grave ++compose '`' 'u' to U+016F ++compose '`' 'U' to U+016E ++compose '`' 'z' to U+00B0 ++compose '`' 'Z' to U+00B0 ++# dead_acute ++compose '\'' 'a' to U+00E1 ++compose '\'' 'A' to U+00C1 ++compose '\'' 'e' to U+00E9 ++compose '\'' 'E' to U+00C9 ++compose '\'' 'i' to U+00ED ++compose '\'' 'I' to U+00CD ++compose '\'' 'o' to U+00F3 ++compose '\'' 'O' to U+00D3 ++compose '\'' 'u' to U+00FA ++compose '\'' 'U' to U+00DA ++compose '\'' 'y' to U+00FD ++compose '\'' 'Y' to U+00DD ++# dead_caron ++compose '^' 'u' to U+016F ++compose '^' 'U' to U+016E ++compose '^' 'c' to U+010D ++compose '^' 'C' to U+010C ++compose '^' 'd' to U+010F ++compose '^' 'D' to U+010E ++compose '^' 'e' to U+011B ++compose '^' 'E' to U+011A ++compose '^' 'n' to U+0148 ++compose '^' 'N' to U+0147 ++compose '^' 'r' to U+0159 ++compose '^' 'R' to U+0158 ++compose '^' 's' to U+0161 ++compose '^' 'S' to U+0160 ++compose '^' 't' to U+0165 ++compose '^' 'T' to U+0164 ++compose '^' 'z' to U+017E ++compose '^' 'Z' to U+017D ++# dead_diaeresis ++compose '"' 'a' to U+00E4 ++compose '"' 'A' to U+00C4 ++compose '"' 'e' to U+00EB ++compose '"' 'E' to U+00CB ++compose '"' 'o' to U+00F6 ++compose '"' 'O' to U+00D6 ++compose '"' 'u' to U+00FC ++compose '"' 'U' to U+00DC diff --git a/SOURCES/kbd-1.15-keycodes-man.patch b/SOURCES/kbd-1.15-keycodes-man.patch new file mode 100644 index 00000000..cafa6f14 --- /dev/null +++ b/SOURCES/kbd-1.15-keycodes-man.patch @@ -0,0 +1,52 @@ +diff -up kbd-1.15.2/man/man1/showkey.1.orig kbd-1.15.2/man/man1/showkey.1 +--- kbd-1.15.2/man/man1/showkey.1.orig 2009-10-09 17:26:13.000000000 +0200 ++++ kbd-1.15.2/man/man1/showkey.1 2011-01-05 12:45:25.726030798 +0100 +@@ -80,6 +80,19 @@ corresponds to what the keyboard hardwar + to know the scan codes sent by various keys it is better to boot a + 2.4 kernel. Since 2.6.9 there also is the boot option atkbd.softraw=0 + that tells the 2.6 kernel to return the actual scan codes. ++ ++.SH NOTES ++The raw scan codes are available only on AT and PS/2 keyboards, ++and even then they are disabled unless the ++.B atkbd.softraw=0 ++kernel parameter is used. ++When the raw scan codes are not available, the kernel uses a fixed built-in ++table to produce scan codes from keycodes. Thus, ++.BR setkeycodes (8) ++can affect the output of ++.B showkey ++in scan code dump mode. ++ + .SH "SEE ALSO" + .BR loadkeys (1), + .BR dumpkeys (1), +diff -up kbd-1.15.2/man/man8/setkeycodes.8.orig kbd-1.15.2/man/man8/setkeycodes.8 +--- kbd-1.15.2/man/man8/setkeycodes.8.orig 2009-10-09 17:26:13.000000000 +0200 ++++ kbd-1.15.2/man/man8/setkeycodes.8 2011-01-05 12:47:46.894739942 +0100 +@@ -38,6 +38,10 @@ to showkey(1), the command + .RE + will assign the keycode 112 to it, and then loadkeys(1) can be used + to define the function of this key. ++ ++USB keyboards have standardized keycodes and ++.B setkeycodes ++doesn't affect them at all. + .LP + Some older kernels might hardwire a low scancode range to the + equivalent keycodes; setkeycodes will fail when you try to remap +@@ -56,6 +60,14 @@ None. + .SH BUGS + The keycodes of X have nothing to do with those of Linux. + Unusual keys can be made visible under Linux, but not under X. ++ ++.B setkeycodes ++affects only the "first" input device ++that has modifiable scancode-to-keycode mapping. ++If there is more than one such device, ++.B setkeycodes ++cannot change the mapping of other devices than the "first" one. ++ + .SH "SEE ALSO" + .I "dumpkeys (1), loadkeys (1), showkey (1), getkeycodes (8)" + diff --git a/SOURCES/kbd-1.15-sparc.patch b/SOURCES/kbd-1.15-sparc.patch new file mode 100644 index 00000000..68de519e --- /dev/null +++ b/SOURCES/kbd-1.15-sparc.patch @@ -0,0 +1,71 @@ +diff -up kbd-1.15.2/man/man8/kbdrate.8.orig kbd-1.15.2/man/man8/kbdrate.8 +--- kbd-1.15.2/man/man8/kbdrate.8.orig 2009-06-07 21:48:42.000000000 +0200 ++++ kbd-1.15.2/man/man8/kbdrate.8 2011-01-05 12:58:34.579706016 +0100 +@@ -22,7 +22,7 @@ Using + without any options will reset the repeat rate to 10.9 characters per second (cps) + and the delay to 250 milliseconds (ms) for Intel- and M68K-based systems. + These are the IBM defaults. On SPARC-based systems it will reset the repeat rate +-to 5 cps and the delay to 200 ms. ++to 20 cps and the delay to 200 ms. + + .SH OPTIONS + .TP +@@ -69,3 +69,5 @@ When these ioctls fail an ioport interfa + .I /etc/rc.local + .br + .I /dev/port ++.br ++.I /dev/kbd +diff -up kbd-1.15.2/src/kbdrate.c.orig kbd-1.15.2/src/kbdrate.c +--- kbd-1.15.2/src/kbdrate.c.orig 2011-01-05 12:53:45.186575833 +0100 ++++ kbd-1.15.2/src/kbdrate.c 2011-01-05 12:57:37.746753646 +0100 +@@ -108,9 +108,12 @@ static int valid_delays[] = { 250, 500, + + static int + KDKBDREP_ioctl_ok(double rate, int delay, int silent) { ++#if defined(KDKBDREP) && !defined(__sparc__) + /* + * This ioctl is defined in but is not + * implemented anywhere - must be in some m68k patches. ++ * We cannot blindly try unimplemented ioctls on sparc64 - ++ * the 32<->64bit transition layer does not like it. + * Since 2.4.9 also on i386. + */ + struct my_kbd_repeat kbdrep_s; +@@ -176,6 +179,9 @@ KDKBDREP_ioctl_ok(double rate, int delay + rate, kbdrep_s.delay ); + + return 1; /* success! */ ++#else /* no KDKBDREP or __sparc__ */ ++ return 0; ++#endif /* KDKBDREP */ + } + + #ifndef KIOCSRATE +@@ -226,7 +232,7 @@ sigalrmhandler( attr_unused int sig ) { + int + main( int argc, char **argv ) { + #ifdef __sparc__ +- double rate = 5.0; /* Default rate */ ++ double rate = 20.0; /* Default rate */ + int delay = 200; /* Default delay */ + #else + double rate = 10.9; /* Default rate */ +@@ -277,7 +283,9 @@ main( int argc, char **argv ) { + + + /* The ioport way */ ++ /* The ioport way - will crash on sparc */ + ++#ifndef __sparc__ + for (i = 0; i < RATE_COUNT; i++) + if (rate * 10 >= valid_rates[i]) { + value &= 0x60; +@@ -340,5 +348,7 @@ main( int argc, char **argv ) { + valid_rates[value & 0x1f] / 10.0, + valid_delays[ (value & 0x60) >> 5 ] ); + ++#endif ++ + return 0; + } diff --git a/SOURCES/kbd-1.15-unicode_start.patch b/SOURCES/kbd-1.15-unicode_start.patch new file mode 100644 index 00000000..119fe78d --- /dev/null +++ b/SOURCES/kbd-1.15-unicode_start.patch @@ -0,0 +1,21 @@ +diff -up kbd-1.15.2/src/unicode_start.orig kbd-1.15.2/src/unicode_start +--- kbd-1.15.2/src/unicode_start.orig 2011-01-05 13:28:22.079662644 +0100 ++++ kbd-1.15.2/src/unicode_start 2011-01-05 13:29:01.327353698 +0100 +@@ -72,6 +72,9 @@ stty iutf8 + # have a Unicode map attached, or explicitly specified, e.g., + # by giving `def.uni' as a second argument. + ++DEFAULT_UNICODE_FONT=latarcyrheb-sun16 ++# Also drdos8x16 is a good candidate. ++ + case "$#" in + 2) + setfont "$1" -u "$2" +@@ -80,6 +83,7 @@ case "$#" in + setfont "$1" + ;; + 0) ++ setfont $DEFAULT_UNICODE_FONT + ;; + *) + echo "usage: unicode_start [font [unicode map]]" diff --git a/SOURCES/kbd-1.15.3-dumpkeys-man.patch b/SOURCES/kbd-1.15.3-dumpkeys-man.patch new file mode 100644 index 00000000..e77718b4 --- /dev/null +++ b/SOURCES/kbd-1.15.3-dumpkeys-man.patch @@ -0,0 +1,18 @@ +diff -up kbd-1.15.3/man/man1/dumpkeys.1.in.orig kbd-1.15.3/man/man1/dumpkeys.1.in +--- kbd-1.15.3/man/man1/dumpkeys.1.in.orig 2011-08-23 13:06:16.905892768 +0200 ++++ kbd-1.15.3/man/man1/dumpkeys.1.in 2011-08-23 13:15:18.264853435 +0200 +@@ -156,6 +156,14 @@ output of + .BR dumpkeys . + .LP + .TP ++.B \-1 \-\-separate-lines ++This forces ++.B dumpkeys ++to write one line per (modifier,keycode) pair. It prefixes the word ++.I plain ++for plain keycodes. ++.LP ++.TP + .B \-\-funcs-only + When this option is given, + .B dumpkeys diff --git a/SOURCES/kbd-1.15.5-loadkeys-regression.patch b/SOURCES/kbd-1.15.5-loadkeys-regression.patch new file mode 100644 index 00000000..c40df225 --- /dev/null +++ b/SOURCES/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--; ++ } + } + [^"]|\"\"|\"[^"\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 + } + \" { + *p = '\0'; +- yy_pop_state(); +- state_ptr--; ++ while (state_ptr > 0) { ++ yy_pop_state(); ++ state_ptr--; ++ } + return(STRLITERAL); + } + . { diff --git a/SOURCES/kbd-1.15.5-loadkeys-search-path.patch b/SOURCES/kbd-1.15.5-loadkeys-search-path.patch new file mode 100644 index 00000000..f105d4e8 --- /dev/null +++ b/SOURCES/kbd-1.15.5-loadkeys-search-path.patch @@ -0,0 +1,24 @@ +diff -up kbd-1.15.5/src/loadkeys.c.orig kbd-1.15.5/src/loadkeys.c +--- kbd-1.15.5/src/loadkeys.c.orig 2013-11-19 10:03:28.544600690 +0100 ++++ kbd-1.15.5/src/loadkeys.c 2013-11-19 10:05:21.018542306 +0100 +@@ -168,7 +168,7 @@ static void attr_noreturn usage(void) + } + + char **dirpath; +-char *dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", KERNDIR "/", 0 }; ++char *dirpath1[] = { "", DATADIR "/" KEYMAPDIR "/**", DATADIR "/" XKBKEYMAPDIR "/", DATADIR "/" LEGACYKEYMAPDIR "/**", KERNDIR "/", 0 }; + char *dirpath2[] = { 0, 0 }; + char *suffixes[] = { "", ".kmap", ".map", 0 }; + +diff -up kbd-1.15.5/src/paths.h.orig kbd-1.15.5/src/paths.h +--- kbd-1.15.5/src/paths.h.orig 2013-11-19 10:02:07.117206075 +0100 ++++ kbd-1.15.5/src/paths.h 2013-11-19 10:03:07.900722065 +0100 +@@ -5,6 +5,8 @@ + * The following five subdirectories are defined: + */ + #define KEYMAPDIR "keymaps" ++#define XKBKEYMAPDIR "keymaps/xkb" ++#define LEGACYKEYMAPDIR "keymaps/legacy" + #define UNIMAPDIR "unimaps" + #define TRANSDIR "consoletrans" + #define VIDEOMODEDIR "videomodes" diff --git a/SOURCES/kbd-1.15.5-man-and-usage-consistency.patch b/SOURCES/kbd-1.15.5-man-and-usage-consistency.patch new file mode 100644 index 00000000..abf65379 --- /dev/null +++ b/SOURCES/kbd-1.15.5-man-and-usage-consistency.patch @@ -0,0 +1,426 @@ +diff -up kbd-1.15.5/man/man1/dumpkeys.1.in.orig kbd-1.15.5/man/man1/dumpkeys.1.in +--- kbd-1.15.5/man/man1/dumpkeys.1.in.orig 2018-06-19 10:36:33.232357789 +0200 ++++ kbd-1.15.5/man/man1/dumpkeys.1.in 2018-06-19 10:36:33.247357808 +0200 +@@ -5,10 +5,15 @@ dumpkeys \- dump keyboard translation ta + .SH SYNOPSIS + .B dumpkeys + [ +-.B \-hilfn ++.B \-1Vdfhiklnstv ++.B \-h \-\-help \-i \-\-short\-info \-l \-s \-\-long\-info ++.B \-n \-\-numeric \-f \-\-full\-table \-1 \-\-separate-lines ++.BI \-S shape ++.BI \-\-shape= shape ++.B \-t \-\-funcs\-only \-k \-\-keys\-only \-d \-\-compose\-only + .BI \-c charset +-.B \-\-help \-\-short\-info \-\-long\-info \-\-numeric \-\-full\-table \-\-funcs\-only \-\-keys\-only \-\-compose\-only + .BI \-\-charset= charset ++.B \-v \-\-verbose \-V \-\-version + ] + .SH DESCRIPTION + .IX "dumpkeys command" "" "\fLdumpkeys\fR command" +@@ -121,7 +126,7 @@ You can see you current function key def + .RE + .LP + .TP +-.B \-l \-\-long-info ++.B \-l \-s \-\-long-info + This option instructs + .B dumpkeys + to print a long information listing. The output is the same as with the +@@ -164,7 +169,10 @@ to write one line per (modifier,keycode) + for plain keycodes. + .LP + .TP +-.B \-\-funcs-only ++.BI \-S shape " " " " \-\-shape= shape ++.LP ++.TP ++.B \-t \-\-funcs-only + When this option is given, + .B dumpkeys + prints only the function key string definitions. Normally +@@ -172,7 +180,7 @@ prints only the function key string defi + prints both the key bindings and the string definitions. + .LP + .TP +-.B \-\-keys-only ++.B \-k \-\-keys-only + When this option is given, + .B dumpkeys + prints only the key bindings. Normally +@@ -180,7 +188,7 @@ prints only the key bindings. Normally + prints both the key bindings and the string definitions. + .LP + .TP +-.B \-\-compose-only ++.B \-d \-\-compose-only + When this option is given, + .B dumpkeys + prints only the compose key combinations. +@@ -205,6 +213,13 @@ This option produces an output line `cha + loadkeys how to interpret the keymap. (For example, "division" is + 0xf7 in iso-8859-1 but 0xba in iso-8859-8.) + .LP ++.TP ++.B \-v \-\-verbose ++.LP ++.TP ++.B \-V \-\-version ++Prints version number and exits. ++.LP + .SH FILES + .PD 0 + .TP 20 +diff -up kbd-1.15.5/man/man1/fgconsole.1.orig kbd-1.15.5/man/man1/fgconsole.1 +--- kbd-1.15.5/man/man1/fgconsole.1.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/man/man1/fgconsole.1 2018-06-19 10:36:33.247357808 +0200 +@@ -5,7 +5,13 @@ fgconsole \- print the number of the act + + .SH SYNOPSIS + .B fgconsole +-.BI [ "--help" | "--version" | "--next-available" ] ++.BI [ ++\-h \-\-help ++| ++\-V \-\-version ++| ++\-n \-\-next-available ++] + .SH DESCRIPTION + If the active Virtual Terminal is + .IR /dev/ttyN , +@@ -17,6 +23,12 @@ If the console is a serial console, then + "serial" + is printed instead. + .TP ++.I \-h \-\-help ++Prints short usage message and exits. ++.TP ++.I \-V \-\-version ++Prints version number and exits. ++.TP + .I \-\-next\-available + Will show the next unallocated virtual terminal. Normally 6 virtual + terminals are allocated, with number 7 used for X; this will return +diff -up kbd-1.15.5/man/man1/loadkeys.1.in.orig kbd-1.15.5/man/man1/loadkeys.1.in +--- kbd-1.15.5/man/man1/loadkeys.1.in.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/man/man1/loadkeys.1.in 2018-06-19 10:36:33.247357808 +0200 +@@ -5,6 +5,9 @@ loadkeys \- load keyboard translation ta + .SH SYNOPSIS + .B loadkeys + [ ++.I -a --ascii ++] [ ++[ + .I -b --bkeymap + ] [ + .I -c --clearcompose +@@ -19,6 +22,8 @@ loadkeys \- load keyboard translation ta + ] [ + .I -m --mktable + ] [ ++.I -p --parse ++] [ + .I -q --quiet + ] [ + .I -s --clearstrings +@@ -27,6 +32,8 @@ loadkeys \- load keyboard translation ta + ] [ + .I -v --verbose + ] [ ++.I -V --version ++] [ + .I filename... + ] + .LP +@@ -177,14 +184,25 @@ instead of using the + option. + .SH "OTHER OPTIONS" + .TP ++.B \-a \-\-ascii ++Force conversion to ASCII. ++.TP + .B \-h \-\-help + .B loadkeys + prints its version number and a short usage message to the programs + standard error output and exits. + .TP ++.B \-p \-\-parse ++.B loadkeys ++searchs and parses keymap without action. ++.TP + .B \-q \-\-quiet + .B loadkeys + suppresses all normal output. ++.TP ++.B \-V \-\-version ++.B loadkeys ++prints version number and exits. + .SH WARNING + Note that anyone having read access to + .B /dev/console +diff -up kbd-1.15.5/man/man1/showkey.1.orig kbd-1.15.5/man/man1/showkey.1 +--- kbd-1.15.5/man/man1/showkey.1.orig 2018-06-19 10:36:33.225357780 +0200 ++++ kbd-1.15.5/man/man1/showkey.1 2018-06-19 10:36:33.248357810 +0200 +@@ -3,7 +3,7 @@ + .SH NAME + showkey \- examine the codes sent by the keyboard + .SH SYNOPSIS +-showkey [\-h|\-\-help] [\-a|\-\-ascii] [\-s|\-\-scancodes] [\-k|\-\-keycodes] ++showkey [\-h|\-\-help] [\-a|\-\-ascii] [\-s|\-\-scancodes] [\-k|\-\-keycodes] [\-V|\-\-version] + .SH DESCRIPTION + .IX "showkey command" "" "\fLshowkey\fR command" + .LP +@@ -66,6 +66,10 @@ are present. + Starts + .B showkey + in `ascii' dump mode. ++.TP ++\-V \-\-version ++.B showkey ++prints version number and exits. + .SH "2.6 KERNELS" + In 2.6 kernels key codes lie in the range 1-255, instead of 1-127. + Key codes larger than 127 are returned as three bytes of which the +diff -up kbd-1.15.5/man/man8/kbdrate.8.orig kbd-1.15.5/man/man8/kbdrate.8 +--- kbd-1.15.5/man/man8/kbdrate.8.orig 2018-06-19 10:36:33.227357783 +0200 ++++ kbd-1.15.5/man/man8/kbdrate.8 2018-06-19 10:36:33.248357810 +0200 +@@ -48,7 +48,7 @@ For Intel-based systems, the allowable r + in 250 ms steps. For SPARC systems, possible values are between 10 ms and 1440 ms, + in 10 ms steps. + .TP +-.B \-V ++.B \-V \-\-version + Display a version number and exit. + .SH BUGS + Not all keyboards support all rates. +diff -up kbd-1.15.5/man/man8/mapscrn.8.in.orig kbd-1.15.5/man/man8/mapscrn.8.in +--- kbd-1.15.5/man/man8/mapscrn.8.in.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/man/man8/mapscrn.8.in 2018-06-19 10:36:33.248357810 +0200 +@@ -3,7 +3,7 @@ + .SH NAME + mapscrn \- load screen output mapping table + .SH SYNOPSIS +-.BR mapscrn " [" -v "] [" -o ++.BR mapscrn " [" -V "] [" -v "] [" -o + .IR map.orig ] + .I mapfile + .SH DESCRIPTION +@@ -96,6 +96,13 @@ Single (possibly multi-byte) UTF-8 chara + Note that control characters (with codes < 32) cannot be re-mapped with + .I mapscrn + because they have special meaning for the driver. ++.SH OTHER OPTIONS ++.TP ++.B \-V ++Prints version number and exits. ++.TP ++.B \-v ++Be verbose. + .SH FILES + .I @DATADIR@/consoletrans + is the default directory for screen mappings. +diff -up kbd-1.15.5/man/man8/setvtrgb.8.orig kbd-1.15.5/man/man8/setvtrgb.8 +--- kbd-1.15.5/man/man8/setvtrgb.8.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/man/man8/setvtrgb.8 2018-06-19 10:36:33.248357810 +0200 +@@ -4,7 +4,7 @@ + setvtrgb \- set the virtual terminal RGB colors + .SH SYNOPSIS + .B setvtrgb +-.I vga|FILE|\- ++.I \-h|\-V|vga|FILE|\- + .SH DESCRIPTION + The + .I setvtrgb +@@ -30,6 +30,14 @@ To seed a valid + And then edit the values in + .B FILE + ++.SH OTHER OPTIONS ++.TP ++\-h ++Prints usage message and exits. ++.TP ++\-V ++Prints version number and exists. ++ + .SH AUTHOR + The utility is written by Alexey Gladkov, Seth Forshee, Dustin Kirkland. + +diff -up kbd-1.15.5/man/man8/showconsolefont.8.orig kbd-1.15.5/man/man8/showconsolefont.8 +--- kbd-1.15.5/man/man8/showconsolefont.8.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/man/man8/showconsolefont.8 2018-06-19 10:36:33.248357810 +0200 +@@ -6,10 +6,12 @@ showconsolefont \- Show the current EGA/ + .SH SYNOPSIS + .B showconsolefont + [ +-.B \-V ++.B \-V | \-\-version + ] [ + .B \-v + ] [ ++.B \-i ++] [ + .B \-C + .I console + ] +@@ -20,6 +22,8 @@ The + command outputs the current console font to stdout. + The option \-v prints additional information, while + the option \-V prints the program version number. ++The option \-i doesn't print out the font table, ++just shows ROWSxCOLSxCOUNT and exits. + On Linux 2.6.1 and later, the option \-C allows one + to indicate the console involved. Its argument is a pathname. + +diff -up kbd-1.15.5/src/dumpkeys.c.orig kbd-1.15.5/src/dumpkeys.c +--- kbd-1.15.5/src/dumpkeys.c.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/src/dumpkeys.c 2018-06-19 10:36:33.248357810 +0200 +@@ -558,19 +558,24 @@ valid options are:\n\ + \n\ + -h --help display this help text\n\ + -i --short-info display information about keyboard driver\n\ +- -l --long-info display above and symbols known to loadkeys\n\ ++ -l -s --long-info display above and symbols known to loadkeys\n\ + -n --numeric display keytable in hexadecimal notation\n\ + -f --full-table don't use short-hand notations, one row per keycode\n\ + -1 --separate-lines one line per (modifier,keycode) pair\n\ +- --funcs-only display only the function key strings\n\ +- --keys-only display only key bindings\n\ +- --compose-only display only compose key combinations\n\ ++ -S --shape=\n\ ++ -t --funcs-only display only the function key strings\n\ ++ -k --keys-only display only key bindings\n\ ++ -d --compose-only display only compose key combinations\n\ + -c --charset=")); + list_charsets(stderr); + fprintf(stderr, _("\ + interpret character action codes to be from the\n\ + specified character set\n\ + ")); ++ fprintf(stderr, _("\ ++ -v --verbose\n\ ++ -V --version print version number\n\ ++")); + exit(1); + } + +diff -up kbd-1.15.5/src/kbdinfo.c.orig kbd-1.15.5/src/kbdinfo.c +--- kbd-1.15.5/src/kbdinfo.c.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/src/kbdinfo.c 2018-06-19 10:36:33.248357810 +0200 +@@ -18,7 +18,10 @@ usage(int code) { + _("Usage: %1$s [-C DEVICE] getmode [text|graphics]\n" + " or: %1$s [-C DEVICE] gkbmode [raw|xlate|mediumraw|unicode]\n" + " or: %1$s [-C DEVICE] gkbmeta [metabit|escprefix]\n" +- " or: %1$s [-C DEVICE] gkbled [scrolllock|numlock|capslock]\n"), ++ " or: %1$s [-C DEVICE] gkbled [scrolllock|numlock|capslock]\n" ++ "Other options:\n" ++ " -h print this usage message\n" ++ " -V print version number\n"), + progname); + exit(code); + } +diff -up kbd-1.15.5/src/kbdrate.c.orig kbd-1.15.5/src/kbdrate.c +--- kbd-1.15.5/src/kbdrate.c.orig 2018-06-19 10:36:33.227357783 +0200 ++++ kbd-1.15.5/src/kbdrate.c 2018-06-19 10:36:33.249357811 +0200 +@@ -257,7 +257,7 @@ main( int argc, char **argv ) { + (!strcmp(argv[1], "-V") || !strcmp(argv[1], "--version"))) + print_version_and_exit(); + +- while ( (c = getopt( argc, argv, "r:d:sv" )) != EOF ) { ++ while ( (c = getopt( argc, argv, "r:d:s" )) != EOF ) { + switch (c) { + case 'r': + rate = atof( optarg ); +@@ -270,7 +270,7 @@ main( int argc, char **argv ) { + break; + default: + fprintf(stderr, +- _("Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n")); ++ _("Usage: kbdrate [-V | --version] [-s] [-r rate] [-d delay]\n")); + exit(1); + } + } +diff -up kbd-1.15.5/src/loadkeys.c.orig kbd-1.15.5/src/loadkeys.c +--- kbd-1.15.5/src/loadkeys.c.orig 2018-06-19 10:36:33.244357804 +0200 ++++ kbd-1.15.5/src/loadkeys.c 2018-06-19 10:36:33.249357811 +0200 +@@ -162,7 +162,8 @@ static void attr_noreturn usage(void) + " -q --quiet suppress all normal output\n" + " -s --clearstrings clear kernel string table\n" + " -u --unicode force conversion to Unicode\n" +- " -v --verbose report the changes\n"), ++ " -v --verbose report the changes\n" ++ " -V --version print version number\n"), + PACKAGE_VERSION, DEFMAP); + exit(EXIT_FAILURE); + } +diff -up kbd-1.15.5/src/mapscrn.c.orig kbd-1.15.5/src/mapscrn.c +--- kbd-1.15.5/src/mapscrn.c.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/src/mapscrn.c 2018-06-19 10:36:33.249357811 +0200 +@@ -65,7 +65,7 @@ main(int argc, char *argv[]) { + } + + if (argc != 2) { +- fprintf(stderr, _("usage: %s [-v] [-o map.orig] map-file\n"), ++ fprintf(stderr, _("usage: %s [-V] [-v] [-o map.orig] map-file\n"), + progname); + exit(1); + } +diff -up kbd-1.15.5/src/setvtrgb.c.orig kbd-1.15.5/src/setvtrgb.c +--- kbd-1.15.5/src/setvtrgb.c.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/src/setvtrgb.c 2018-06-19 10:36:33.250357812 +0200 +@@ -39,7 +39,8 @@ static void attr_noreturn + usage(int code) + { + fprintf(stderr, +- _("Usage: %s vga|FILE|-\n" ++ _("Usage: %s [-h] [-V]\n" ++ " %s vga|FILE|-\n" + "\n" + "If you use the FILE parameter, FILE should be exactly 3 lines of\n" + "comma-separated decimal values for RED, GREEN, and BLUE.\n" +@@ -48,8 +49,12 @@ usage(int code) + " cat /sys/module/vt/parameters/default_{red,grn,blu} > FILE\n" + "\n" + "and then edit the values in FILE.\n" ++ "\n" ++ "Other options:\n" ++ " -h print this usage message\n" ++ " -V print version number\n" + "\n"), +- progname); ++ progname, progname); + exit(code); + } + +diff -up kbd-1.15.5/src/showconsolefont.c.orig kbd-1.15.5/src/showconsolefont.c +--- kbd-1.15.5/src/showconsolefont.c.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/src/showconsolefont.c 2018-06-19 10:37:06.169399318 +0200 +@@ -106,10 +106,11 @@ usage(void) { + "(probably after loading a font with `setfont font')\n" + "\n" + "Valid options are:\n" +- " -C tty Device to read the font from. Default: current tty.\n" +- " -v Be more verbose.\n" +- " -i Don't print out the font table, just show\n" +- " ROWSxCOLSxCOUNT and exit.\n")); ++ " -V --version Print version number and exit.\n" ++ " -C tty Device to read the font from. Default: current tty.\n" ++ " -v Be more verbose.\n" ++ " -i Don't print out the font table, just show\n" ++ " ROWSxCOLSxCOUNT and exit.\n")); + exit(1); + } + +diff -up kbd-1.15.5/src/showkey.c.orig kbd-1.15.5/src/showkey.c +--- kbd-1.15.5/src/showkey.c.orig 2012-12-01 22:41:38.000000000 +0100 ++++ kbd-1.15.5/src/showkey.c 2018-06-19 10:36:33.250357812 +0200 +@@ -85,6 +85,7 @@ usage(void) { + " -a --ascii display the decimal/octal/hex values of the keys\n" + " -s --scancodes display only the raw scan-codes\n" + " -k --keycodes display only the interpreted keycodes (default)\n" ++" -V --version print version number\n" + ), PACKAGE_VERSION); + exit(1); + } diff --git a/SOURCES/kbd-1.15.5-sg-decimal-separator.patch b/SOURCES/kbd-1.15.5-sg-decimal-separator.patch new file mode 100644 index 00000000..cb7398d5 --- /dev/null +++ b/SOURCES/kbd-1.15.5-sg-decimal-separator.patch @@ -0,0 +1,12 @@ +diff -up kbd-1.15.5/data/keymaps/i386/qwertz/sg.map.orig kbd-1.15.5/data/keymaps/i386/qwertz/sg.map +--- kbd-1.15.5/data/keymaps/i386/qwertz/sg.map.orig 2013-02-21 15:54:39.362799094 +0100 ++++ kbd-1.15.5/data/keymaps/i386/qwertz/sg.map 2013-02-21 15:54:46.448838554 +0100 +@@ -1,7 +1,7 @@ + keymaps 0-2,4-6,8,12 + include "qwertz-layout" + include "linux-with-alt-and-altgr.inc" +- plain keycode 83 = KP_Comma ++ plain keycode 83 = KP_Period + strings as usual + + keycode 1 = Escape Escape diff --git a/SOURCES/kbd-1.15.5-vlock-more-pam.patch b/SOURCES/kbd-1.15.5-vlock-more-pam.patch new file mode 100644 index 00000000..ba342550 --- /dev/null +++ b/SOURCES/kbd-1.15.5-vlock-more-pam.patch @@ -0,0 +1,61 @@ +--- a/src/vlock/auth.c ++++ b/src/vlock/auth.c +@@ -4,7 +4,7 @@ + PAM authentication routine for vlock, the VT locking program for linux. + + Copyright (C) 1994-1998 Michael K. Johnson +- Copyright (C) 2002, 2005 Dmitry V. Levin ++ Copyright (C) 2002, 2005, 2013 Dmitry V. Levin + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -36,6 +36,25 @@ + /* Unrecognized PAM error timeout. */ + #define ERROR_TIMEOUT 10 + ++static int ++do_account_password_management (pam_handle_t *pamh) ++{ ++ int rc; ++ ++ /* Whether the authenticated user is allowed to log in? */ ++ rc = pam_acct_mgmt (pamh, 0); ++ ++ /* Do we need to prompt the user for a new password? */ ++ if (rc == PAM_NEW_AUTHTOK_REQD) ++ rc = pam_chauthtok (pamh, PAM_CHANGE_EXPIRED_AUTHTOK); ++ ++ /* Extend the lifetime of the existing credentials. */ ++ if (rc == PAM_SUCCESS) ++ rc = pam_setcred (pamh, PAM_REFRESH_CRED); ++ ++ return rc; ++} ++ + int + get_password (pam_handle_t * pamh, const char *username, const char *tty) + { +@@ -84,6 +103,23 @@ get_password (pam_handle_t * pamh, const char *username, const char *tty) + switch (rc) + { + case PAM_SUCCESS: ++ rc = do_account_password_management (pamh); ++ ++ if (rc != PAM_SUCCESS) ++ { ++ /* ++ * The user was authenticated but ++ * either account or password management ++ * returned an error. ++ */ ++ printf ("%s.\n\n\n", ++ pam_strerror (pamh, rc)); ++ fflush (stdout); ++ pam_end (pamh, rc); ++ pamh = 0; ++ break; ++ } ++ + pam_end (pamh, rc); + /* Log the fact of console unlocking. */ + syslog (LOG_NOTICE, diff --git a/SOURCES/kbdinfo.1 b/SOURCES/kbdinfo.1 new file mode 100644 index 00000000..da84f765 --- /dev/null +++ b/SOURCES/kbdinfo.1 @@ -0,0 +1,33 @@ +.TH KBDINFO 1 "June 2011" +.SH NAME +kbdinfo \- obtain information about the status of a console +.SH SYNOPSIS +\fBkbdinfo\fR [\-C \fIDEVICE\fR] getmode [text|graphics] +.LP +\fBkbdinfo\fR [\-C \fIDEVICE\fR] gkbmode [raw|xlate|mediumraw|unicode] +.LP +\fBkbdinfo\fR [\-C \fIDEVICE\fR] gkbmeta [metabit|escprefix] +.LP +\fBkbdinfo\fR [\-C \fIDEVICE\fR] gkbled [scrolllock|numlock|capslock] +.SH DESCRIPTION +.B kbdinfo +is an interface to KDGETMODE, GKBMODE, GKBMETA and GKBLED ioctls. Its +primary use case is to query the status of the given +.I CONSOLE +(or the currently active one, if no \-C option is present) from a shell +script. +.LP +If the final value argument is not specified, +.B kbdinfo +will print the result of the desired ioctl to the standard output. +Otherwise, the given value is compared to the actual result, and the +utility will exit with a status code of 0 for a match, 1 otherwise. No +text is printed for this style of invocation. +.SH "SEE ALSO" +.BR kbd_mode (1) +.SH AUTHOR +kbdinfo is Copyright \(co 2011 Alexey Gladkov +. +.LP +This manual page was written by Michael Schutte for +the Debian GNU/Linux system (but may be used by others). diff --git a/SOURCES/us-map.patch b/SOURCES/us-map.patch new file mode 100644 index 00000000..c3d9d4f0 --- /dev/null +++ b/SOURCES/us-map.patch @@ -0,0 +1,11 @@ +--- us.map.orig 2018-06-18 13:35:17.614753797 +0200 ++++ us.map 2018-06-18 13:36:22.352828163 +0200 +@@ -56,7 +56,7 @@ + keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply Hex_C KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply + keycode 56 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt + keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul U+0020 U+0020 U+0020 U+0020 nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul +-keycode 58 = CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock CtrlL_Lock ++keycode 58 = Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock Caps_Lock + keycode 59 = F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 F1 F13 Console_13 Console_25 F25 F37 Console_13 Console_25 Console_1 Console_13 F1 F1 Console_1 Console_13 F1 F1 + keycode 60 = F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 F2 F14 Console_14 Console_26 F26 F38 Console_14 Console_26 Console_2 Console_14 F2 F2 Console_2 Console_14 F2 F2 + keycode 61 = F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 F3 F15 Console_15 Console_27 F27 F39 Console_15 Console_27 Console_3 Console_15 F3 F3 Console_3 Console_15 F3 F3 diff --git a/SOURCES/vlock.pamd b/SOURCES/vlock.pamd new file mode 100644 index 00000000..d2d47e5b --- /dev/null +++ b/SOURCES/vlock.pamd @@ -0,0 +1,3 @@ +#%PAM-1.0 +auth include system-auth +account required pam_permit.so diff --git a/SOURCES/xml2lst.pl b/SOURCES/xml2lst.pl new file mode 100644 index 00000000..96cf01e9 --- /dev/null +++ b/SOURCES/xml2lst.pl @@ -0,0 +1,231 @@ +#!/usr/bin/perl + +# converts the .xml file to the old format .lst file +# +# Usage: +# +# perl xml2lst.pl < filename.xml > filename.lst +# +# author Ivan Pascal +# modified by Vitezslav Crhonek + +$doc = new_document( 0, ''); +parse('', $doc); + +($reg) = node_by_name($doc, '/xkbConfigRegistry'); +@models = node_by_name($reg, 'modelList/model/configItem'); +@layouts = node_by_name($reg, 'layoutList/layout/configItem'); +@options = node_by_name($reg, 'optionList/group/configItem'); + +for $i (@layouts) { + ($name) = node_by_name($i, 'name'); + @variants = node_by_name($i, '../variantList/variant/configItem'); + for $v (@variants) { + ($variant) = node_by_name($v, 'name'); + printf("%s %s\n", text_child($name), text_child($variant)); + } +} + +sub with_attribute { + local ($nodelist, $attrexpr) = @_; + local ($attr, $value) = split (/=/, $attrexpr); + local ($node, $attrvalue); + if (defined $value && $value ne '') { + $value =~ s/"//g; + foreach $node (@{$nodelist}) { + $attrvalue = node_attribute($node, $attr); + if (defined $attrvalue && $attrvalue eq $value) { + return $node; + } + } + } else { + foreach $node (@{$nodelist}) { + if (! defined node_attribute($node, $attr)) { + return $node; + } + } + } + undef; +} + +# Subroutines + +sub parse { + local $intag = 0; + my (@node_stack, $parent); + $parent = @_[1]; + local ($tag, $text); + + while (<>) { + chomp; + @str = split /([<>])/; + shift @str if ($str[0] eq '' || $str[0] =~ /^[ \t]*$/); + + while (scalar @str) { + $token = shift @str; + if ($token eq '<') { + $intag = 1; + if (defined $text) { + add_text_node($parent, $text); + undef $text; + } + } elsif ($token eq '>') { + $intag = 0; + if ($tag =~ /^\/(.*)/) { # close tag + $parent = pop @node_stack; + } elsif ($tag =~ /^([^\/]*)\/$/) { + empty_tag($parent, $1); + } else { + if (defined ($node = open_tag($parent, $tag))) { + push @node_stack, $parent; + $parent = $node; + } + } + undef $tag; + } else { + if ($intag == 1) { + if (defined $tag) { + $tag .= ' '. $token; + } else { + $tag = $token; + } + } else { + if (defined $text) { + $text .= "\n" . $token; + } else { + $text = $token; + } + } + } + } + } +} + +sub new_document { + $doc = new_node( 0, '', 'DOCUMENT'); + $doc->{CHILDREN} = []; + return $doc; +} + +sub new_node { + local ($parent_node, $tag, $type) = @_; + + my %node; + $node{PARENT} = $parent_node; + $node{TYPE} = $type; + + if ($type eq 'COMMENT' || $type eq 'TEXT') { + $node{TEXT} = $tag; + $node{NAME} = $type; + return \%node; + } + + local ($tname, $attr) = split(' ', $tag, 2); + $node{NAME} = $tname; + + if (defined $attr && $attr ne '') { + my %attr_table; + local @attr_list = split ( /"/, $attr); + local ($name, $value); + while (scalar @attr_list) { + $name = shift @attr_list; + $name =~ s/[ =]//g; + next if ($name eq ''); + $value = shift @attr_list; + $attr_table{$name} =$value; + } + $node{ATTRIBUTES} = \%attr_table; + } + return \%node; +} + +sub add_node { + local ($parent_node, $node) = @_; + push @{$parent_node->{CHILDREN}}, $node; + + local $tname = $node->{NAME}; + if (defined $parent_node->{$tname}) { + push @{$parent_node->{$tname}}, $node + } else { + $parent_node->{$tname} = [ $node ]; + } +} + +sub empty_tag { + local ($parent_node, $tag) = @_; + local $node = new_node($parent_node, $tag, 'EMPTY'); + add_node($parent_node, $node); +} + +sub open_tag { + local ($parent_node, $tag) = @_; + local $node; + + if ($tag =~ /^\?.*/ || $tag =~ /^\!.*/) { + $node = new_node($parent_node, $tag, 'COMMENT'); + add_node($parent_node, $node); + undef; return; + } else { + $node = new_node($parent_node, $tag, 'NODE'); + $node->{CHILDREN} = []; + add_node($parent_node, $node); + return $node; + } +} + +sub add_text_node { + local ($parent_node, $text) = @_; + local $node = new_node($parent_node, $text, 'TEXT'); + add_node($parent_node, $node); +} + +sub node_by_name { + local ($node, $name) = @_; + local ($tagname, $path) = split(/\//, $name, 2); + + my @nodelist; + + if ($tagname eq '') { + while ($node->{PARENT} != 0) { + $node = $node->{PARENT}; + } + sublist_by_name($node, $path, \@nodelist); + } else { + sublist_by_name($node, $name, \@nodelist); + } + return @nodelist; +} + +sub sublist_by_name { + local ($node, $name, $res) = @_; + local ($tagname, $path) = split(/\//, $name, 2); + + if (! defined $path) { + push @{$res}, (@{$node->{$tagname}}); + return; + } + + if ($tagname eq '..' && $node->{PARENT} != 0) { + $node = $node->{PARENT}; + sublist_by_name($node, $path, $res); + } else { + local $n; + for $n (@{$node->{$tagname}}) { + sublist_by_name($n, $path, $res); + } + } +} + +sub node_attribute { + local $node = @_[0]; + if (defined $node->{ATTRIBUTES}) { + return $node->{ATTRIBUTES}{@_[1]}; + } + undef; +} + +sub text_child { + local ($node) = @_; + local ($child) = node_by_name($node, 'TEXT'); + return $child->{TEXT}; +} diff --git a/SPECS/kbd.spec b/SPECS/kbd.spec new file mode 100644 index 00000000..2425776a --- /dev/null +++ b/SPECS/kbd.spec @@ -0,0 +1,643 @@ +Name: kbd +Version: 1.15.5 +Release: 15%{?dist} +Summary: Tools for configuring the console (keyboard, virtual terminals, etc.) + +Group: System Environment/Base +License: GPLv2+ +URL: http://ftp.altlinux.org/pub/people/legion/kbd +Source0: ftp://ftp.altlinux.org/pub/people/legion/kbd/kbd-%{version}.tar.gz +Source2: kbd-latsun-fonts.tar.bz2 +Source3: kbd-latarcyrheb-16-fixed.tar.bz2 +Source4: fr-dvorak.tar.bz2 +Source5: kbd-latarcyrheb-32.tar.bz2 +Source6: xml2lst.pl +Source7: vlock.pamd +# Source8: eurlatgr font taken from recent upstream tarball +Source8: kbd-eurlatgr.tar.bz2 +# Source9: adds compose rules to generated cz.map +Source9: cz-map.patch +# Source10: replaces CtrlL_Lock with Caps_Lock in generated us.map +Source10: us-map.patch +# Source11: man page for kbdinfo +Source11: kbdinfo.1 +# Patch0: puts additional information into man pages +Patch0: kbd-1.15-keycodes-man.patch +# Patch1: sparc modifications +Patch1: kbd-1.15-sparc.patch +# Patch2: adds default unicode font to unicode_start script +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 +# Patch5: fixes decimal separator in Swiss German keyboard layout, bz 882529 +Patch5: kbd-1.15.5-sg-decimal-separator.patch +# Patch6: implement PAM account and password management, backported from upstream +Patch6: kbd-1.15.5-vlock-more-pam.patch +# Patch7: adds xkb and legacy keymaps subdirs to loadkyes search path, bz 1028207 +Patch7: kbd-1.15.5-loadkeys-search-path.patch +# Patch8: improves quality and coverage of kbd man pages and usage messages +Patch8: kbd-1.15.5-man-and-usage-consistency.patch + +BuildRequires: bison, flex, gettext, pam-devel +BuildRequires: console-setup, xkeyboard-config +Requires: initscripts >= 5.86-1 +Requires: %{name}-misc = %{version}-%{release} +Requires: %{name}-legacy = %{version}-%{release} +Provides: vlock = %{version} +Conflicts: vlock <= 1.3 +Obsoletes: vlock + +%description +The %{name} package contains tools for managing a Linux +system's console's behavior, including the keyboard, the screen +fonts, the virtual terminals and font files. + +%package misc +Summary: Data for kbd package +BuildArch: noarch + +%description misc +The %{name}-misc package contains data for kbd package - console fonts, +keymaps etc. Please note that %{name}-misc is not helpful without kbd. + +%package legacy +Summary: Legacy data for kbd package +BuildArch: noarch + +%description legacy +The %{name}-legacy package contains original keymaps for kbd package. +Please note that %{name}-legacy is not helpful without kbd. + +%prep +%setup -q -a 2 -a 3 -a 4 -a 5 -a 8 +cp -fp %{SOURCE6} . +cp -fp %{SOURCE9} . +cp -fp %{SOURCE10} . +%patch0 -p1 -b .keycodes-man +%patch1 -p1 -b .sparc +%patch2 -p1 -b .unicode_start +%patch3 -p1 -b .dumpkeys-man +%patch4 -p1 -b .loadkeys-regression +%patch5 -p1 -b .sg-decimal-separator +%patch6 -p1 -b .vlock-more-pam +%patch7 -p1 -b .loadkeys-search-path +%patch8 -p1 -b .man-and-usage-consistency + +# 7-bit maps are obsolete; so are non-euro maps +pushd data/keymaps/i386 +mv qwerty/fi.map qwerty/fi-old.map +cp qwerty/fi-latin9.map qwerty/fi.map +cp qwerty/pt-latin9.map qwerty/pt.map +cp qwerty/sv-latin1.map qwerty/se-latin1.map + +mv azerty/fr.map azerty/fr-old.map +cp azerty/fr-latin9.map azerty/fr.map + +cp azerty/fr-latin9.map azerty/fr-latin0.map # legacy alias + +# Rename conflicting keymaps +mv dvorak/no.map dvorak/no-dvorak.map +mv fgGIod/trf.map fgGIod/trf-fgGIod.map +mv olpc/es.map olpc/es-olpc.map +mv olpc/pt.map olpc/pt-olpc.map +mv qwerty/cz.map qwerty/cz-qwerty.map +popd + +# remove obsolete "gr" translation +pushd po +rm -f gr.po gr.gmo +popd + +# Convert to utf-8 +iconv -f iso-8859-1 -t utf-8 < "ChangeLog" > "ChangeLog_" +mv "ChangeLog_" "ChangeLog" + +%build +%configure --prefix=%{_prefix} --datadir=/lib/kbd --mandir=%{_mandir} --localedir=%{_datadir}/locale --enable-nls +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT + +# ro_win.map.gz is useless +rm -f $RPM_BUILD_ROOT/lib/kbd/keymaps/i386/qwerty/ro_win.map.gz + +# Create additional name for Serbian latin keyboard +ln -s sr-cy.map.gz $RPM_BUILD_ROOT/lib/kbd/keymaps/i386/qwerty/sr-latin.map.gz + +# The rhpl keyboard layout table is indexed by kbd layout names, so we need a +# Korean keyboard +ln -s us.map.gz $RPM_BUILD_ROOT/lib/kbd/keymaps/i386/qwerty/ko.map.gz + +# Move binaries which we use before /usr is mounted from %{_bindir} to /bin. +mkdir -p $RPM_BUILD_ROOT/bin +for binary in setfont dumpkeys kbd_mode unicode_start unicode_stop loadkeys ; do + mv $RPM_BUILD_ROOT%{_bindir}/$binary $RPM_BUILD_ROOT/bin/ +done + +# Some microoptimization +sed -i -e 's,\,/bin/kbd_mode,g;s,\,/bin/setfont,g' \ + $RPM_BUILD_ROOT/bin/unicode_start + +# Link open to openvt +ln -s openvt $RPM_BUILD_ROOT%{_bindir}/open +ln -s openvt.1.gz $RPM_BUILD_ROOT%{_mandir}/man1/open.1.gz + +# install kbdinfo manpage +gzip -c %SOURCE11 > $RPM_BUILD_ROOT/%{_mandir}/man1/kbdinfo.1.gz + +# Move locale files to correct place +cp -r $RPM_BUILD_ROOT/lib/kbd/locale/ $RPM_BUILD_ROOT%{_datadir}/locale +rm -rf $RPM_BUILD_ROOT/lib/kbd/locale + +# Install PAM configuration for vlock +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d +install -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/vlock + +# Move original keymaps to legacy directory +mkdir -p $RPM_BUILD_ROOT/lib/kbd/keymaps/legacy +mv $RPM_BUILD_ROOT/lib/kbd/keymaps/{amiga,atari,i386,include,mac,ppc,sun} $RPM_BUILD_ROOT/lib/kbd/keymaps/legacy + +# Convert X keyboard layouts to console keymaps +mkdir -p $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb +perl xml2lst.pl < /usr/share/X11/xkb/rules/base.xml > layouts-variants.lst +while read line; do + XKBLAYOUT=`echo "$line" | cut -d " " -f 1` + echo "$XKBLAYOUT" >> layouts-list.lst + XKBVARIANT=`echo "$line" | cut -d " " -f 2` + ckbcomp "$XKBLAYOUT" "$XKBVARIANT" | gzip > $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz +done < layouts-variants.lst + +# Convert X keyboard layouts (plain, no variant) +cat layouts-list.lst | sort -u >> layouts-list-uniq.lst +while read line; do + ckbcomp "$line" | gzip > $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/"$line".map.gz +done < layouts-list-uniq.lst + +# wipe converted layouts which cannot input ASCII (#1031848) +zgrep -L "U+0041" $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/* | xargs rm -f + +# Fix converted cz layout - add compose rules +gunzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/cz.map.gz +patch $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/cz.map < %{SOURCE9} +gzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/cz.map + +# Fix converted us layout - replace CtrlL_Lock with Caps_Lock +gunzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/us.map.gz +patch $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/us.map < %{SOURCE10} +gzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/us.map + +%find_lang %{name} + +%files -f %{name}.lang +%doc ChangeLog AUTHORS README COPYING doc/kbd.FAQ*.html doc/font-formats/*.html doc/utf/utf* doc/dvorak/* +/bin/* +%{_bindir}/* +%{_mandir}/*/* +%config(noreplace) %{_sysconfdir}/pam.d/vlock + +%files misc +/lib/kbd +%exclude /lib/kbd/keymaps/legacy + +%files legacy +/lib/kbd/keymaps/legacy + +%changelog +* Mon Aug 13 2018 Vitezslav Crhonek - 1.15.5-15 +- Add man page for kbdinfo, link open man page to openvt man page + Related: #949015 + +* Tue Jun 19 2018 Vitezslav Crhonek - 1.15.5-14 +- Replace CtrlL_Lock with Caps_Lock in generated us.map + Resolves: #1441411 +- Improve man pages and usage messages quality and consistency + Resolves: #949015 + +* Tue Feb 14 2017 Vitezslav Crhonek - 1.15.5-13 +- Add compose rules to generated cz.map + Resolves: #1181581 + +* Mon Apr 11 2016 Vitezslav Crhonek - 1.15.5-12 +- Add eurlatgr console font + Resolves: #1310286 + +* Thu Sep 25 2014 Vitezslav Crhonek - 1.15.5-11 +- Include xkb layouts from xkeyboard-config converted to console keymaps + Resolves: #1122058 + +* Fri Jan 24 2014 Daniel Mach - 1.15.5-10 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 1.15.5-9 +- Mass rebuild 2013-12-27 + +* Thu Dec 12 2013 Vitezslav Crhonek - 1.15.5-8 +- Fix vlock doesn't perform PAM account management or credential reinitialization + Resolves: #1032140 + +* Wed Nov 06 2013 Vitezslav Crhonek - 1.15.5-7 +- Add PAM config for vlock + Resolves: #1026819 + +* Thu May 23 2013 Vitezslav Crhonek - 1.15.5-6 +- Add vlock to obsoletes + +* Thu Feb 21 2013 Vitezslav Crhonek - 1.15.5-5 +- Fix decimal separator in Swiss German keyboard layout + Resolves: #882529 + +* Thu Feb 14 2013 Fedora Release Engineering - 1.15.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 22 2013 Vitezslav Crhonek - 1.15.5-3 +- Include xkb layouts from xkeyboard-config converted to console keymaps +- Add version to vlock provides + Resolves: #902564 + +* Mon Jan 21 2013 Vitezslav Crhonek - 1.15.5-2 +- Fix loadkeys regression + Resolves: #902259 + +* Mon Jan 14 2013 Vitezslav Crhonek - 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) + +* Thu Sep 13 2012 Vitezslav Crhonek - 1.15.3-8 +- Fix link to upstream tarball + +* Tue Aug 28 2012 Vitezslav Crhonek - 1.15.3-7 +- Fix issues found by fedora-review utility in the spec file + +* Thu Jul 19 2012 Fedora Release Engineering - 1.15.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.15.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Dec 13 2011 Vitezslav Crhonek - 1.15.3-4 +- Ship double scaled latarcyrheb console font for high resolution screens + (created by Tom Horsley) + Resolves: #617768 + +* Mon Oct 24 2011 Vitezslav Crhonek - 1.15.3-3 +* Fix loadkeys -d option (patch by Jaroslav Skarvada) + Resolves: #744567 + +* Tue Aug 23 2011 Vitezlsav Crhonek - 1.15.3-2 +- Add missing dumpkeys option to man page + Resolves: #732121 + +* Mon Aug 22 2011 Vitezslav Crhonek - 1.15.3-1 +- Update to kbd-1.15.3 + +* Thu Apr 21 2011 Vitezslav Crhonek - 1.15.2-3 +- Add French Canadian Dvorak keymap + Resolves: #680989 + +* Mon Feb 07 2011 Fedora Release Engineering - 1.15.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jan 5 2011 Vitezslav Crhonek - 1.15.2-1 +- Update to kbd-1.15.2 (removed kbd-1.15-quiet_doc.patch and romanian keymaps, both are + part of the upstream tarball now) + +* Thu Jun 24 2010 Vitezslav Crhonek - 1.15-11 +- Ship /lib/kbd in separate subpackage + +* Mon Jun 14 2010 Vitezslav Crhonek - 1.15-10 +- Fix name referring to default keymap + +* Wed Aug 26 2009 Karsten Hopp 1.15-9 +- drop excludearch s390x, we need this package to be able to build other packages on s390x + +* Fri Jul 24 2009 Fedora Release Engineering - 1.15-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Mar 5 2009 Vitezslav Crhonek - 1.15-7 +- Add loadkeys 'q' option to loadkeys manpage and --help + Resolves: #487538 + +* Mon Mar 2 2009 Vitezslav Crhonek - 1.15-6 +- Remove static loadkeys binary (it's not needed anymore) + +* Wed Feb 25 2009 Fedora Release Engineering - 1.15-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 6 2009 Vitezslav Crhonek - 1.15-4 +- Merge review (drop Provides/Obsoletes, change Prereq to Requires, + add URL, convert ChangeLog to utf-8, replace locale destination + with macro, add COPYING and add dvorak documentation) + Resolves: #225958 + +* Thu Jan 29 2009 Vitezslav Crhonek - 1.15-3 +- Rename conflicting keymaps to have unique names + Resolves: #481674 + +* Mon Jan 12 2009 Vitezslav Crhonek - 1.15-2 +- Move loadkeys to /bin + +* Thu Jan 8 2009 Vitezslav Crhonek - 1.15-1 +- Update to kbd-1.15 + +* Mon Sep 8 2008 Vitezslav Crhonek - 1.12-32 +- Rediff all patches to work with patch --fuzz=0 +- Add static loadkeys + Related: #451672 + +* Tue Feb 26 2008 Vitezslav Crhonek - 1.12-31 +- Fix trq.map + Resolves: #216710 + +* Fri Feb 22 2008 Vitezslav Crhonek - 1.12-30 +- Rebuild fo GCC 4.3 + +* Tue Nov 27 2007 Vitezslav Crhonek - 1.12-29 +- Stop kbdrate using consolehelper + Resolves: #393231 + +* Thu Nov 15 2007 Vitezslav Crhonek - 1.12-28 +- Fix ro.map.gz, add ro_std.map.gz, drop ro_win.map.gz, + add Lat2-Terminus16.psf console font (many thanks to Alexandru Szasz + ) + Resolves: #253892 + +* Wed Oct 17 2007 Vitezslav Crhonek - 1.12-27 +- Add resizecons (with man page) for x86_64 + Resolves: #333651 + +* Mon Oct 15 2007 Vitezslav Crhonek - 1.12-26 +- Fix ro.map to generate right unicode for s, S, t, T with comma +- Fix LatArCyrHeb-16 unicode mapping table to show comma-version + of s, S, t, T and cedilla-version of s, S, t, T as the same glyph + (because there is no font in kbd for comma-version) + Resolves: #329071 + +* Tue Sep 18 2007 Vitezslav Crhonek - 1.12-25 +- Add new romanian keymap + Resolves: #253892 + +* Mon Aug 27 2007 Vitezslav Crhonek - 1.12-24 +- Fix license +- Symlink sr-cy layout to sr-latin + Resolves: #253957 + +* Tue Jul 3 2007 Vitezslav Crhonek - 1.12-23 +- Rebuild + +* Tue Jul 3 2007 Vitezslav Crhonek - 1.12-22 +- Fix sun12x22 font missing unicode mapping table + Resolves: #244628 + +* Tue Jan 9 2007 Miloslav Trmac - 1.12-21 +- Add a "ko" (Korean) keyboard layout, equivalent to the "us" layout + Resolves: #220151 + +* Thu Dec 7 2006 Miloslav Trmac - 1.12-20 +- Document that setkeycodes doesn't affect USB keyboards and that the kernel + doesn't provide the raw scan codes by default + Resolves: #211803 + +* Tue Oct 31 2006 Miloslav Trmac - 1.12-19 +- Ship "el" translation instead of the obsolete "gr" translation + Resolves: #210749 +- Fix %% quoting in %%changelog + +* Fri Sep 29 2006 Miloslav Trmac - 1.12-18 +- Add a missing tilde to U+00E3 in latarcyrheb-sun16.psfu (#204470) + +* Fri Jul 14 2006 Jesse Keating - 1.12-17 +- Obsoletes/Provides open +- Create a symlink from open to openvt + +* Wed Jul 12 2006 Jesse Keating - 1.12-16.1 +- rebuild + +* Sun Jul 9 2006 Miloslav Trmac - 1.12-16 +- Don't include on SPARC (#198040, patch by Dennis Gilmore + ) + +* Mon May 29 2006 Miloslav Trmac - 1.12-15 +- Fix missing BuildRequires (#193406) + +* Mon Mar 27 2006 Miloslav Trmac - 1.12-14 +- Don't install resizecons.8 on non-x86 (#186877, patch by Keiichi Mori + ) + +* Fri Feb 10 2006 Jesse Keating - 1.12-13.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 1.12-13.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Fri Jan 20 2006 Miloslav Trmac - 1.12-13 +- Fix build with new coreutils +- Hardcode paths in unicode_start to avoid a few file lookups (#178329) +- Drop unnecessary Prereq: sed mktemp + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Thu Dec 1 2005 Miloslav Trmac - 1.12-12 +- Don't reload the keymap in unicode_start (#172425) + +* Fri Nov 11 2005 Miloslav Trmac - 1.12-11 +- Don't ship character set lists (they are already in glibc-common) and an + obsolete copy of kbd.FAQ + +* Fri May 20 2005 Miloslav Trmac - 1.12-10 +- Don't attempt to open directories as source files (#141634, original patch by + Paul Nasrat) + +* Tue May 17 2005 Miloslav Trmac - 1.12-9 +- Fix another violation of C aliasing rules (#157720, patch by Jan Kratochvil) + +* Sat Mar 12 2005 Miloslav Trmac - 1.12-8 +- Fix violation of C aliasing rules (#150440) + +* Sun Mar 6 2005 Miloslav Trmac - 1.12-7 +- Don't run ldconfig +- Don't strip executables + +* Fri Mar 4 2005 Miloslav Trmac - 1.12-6 +- Rebuild with gcc4 + +* Sun Feb 20 2005 Miloslav Trmac - 1.12-5 +- Put "Meta_acute" back in German keymaps, just ignore it in (loadkeys -u) + (patch by Jochen Schmitt) +- Don't ship patch backup files, simpler way + +* Sat Feb 19 2005 Miloslav Trmac - 1.12-4 +- Don't ship a patch backup file +- Mention in setfont.8 that 512-glyph fonts reduce the number of available + colors (#140935, patch by Dmitry Butskoj) +- Remove "Meta_acute" from German keymaps (#143124) +- Make the %%triggerun script condition more precise, ignore failure of the + script + +* Mon Feb 14 2005 Adrian Havill +- rebuilt + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Thu Feb 26 2004 Adrian Havill +- update to 1.12 + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Wed Jan 14 2004 Bill Nottingham 1.08-12 +- remove speakup patch at request of author + +* Wed Jan 14 2004 Bill Nottingham 1.08-12 +- remove speakup patch at request of author + +* Fri Oct 10 2003 Bill Nottingham 1.08-11 +- remove keytable init script (#106783) + +* Tue Aug 12 2003 Adrian Havill 1.08-10.1 +- bump for RHEL + +* Tue Aug 12 2003 Adrian Havill 1.08-10 +- apply the rukbd patch (#78218) + +* Thu Jul 31 2003 Adrian Havill 1.08-9 +- don't print "plus before..." warnings about non-supported capslock + in unimode (#81855) + +* Wed Jul 30 2003 Adrian Havill 1.08-8 +- replaced Russian keyboard map with working UTF-8 equivalent (#79338) + +* Thu Jul 24 2003 Adrian Havill 1.08-7 +- make euro/latin-9 the default instead of latin-1 and 7-bit (#97013) +- fix swedish keymap; se, not sv (#88791) +- add fr-latin0 legacy alias of fr-latin-9 (#88324) +- add ".map" ext to filename param of init script (#90562) + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Thu Mar 06 2003 Florian La Roche +- build new rpm + +* Fri Feb 21 2003 Florian La Roche +- ExcludeArch mainframe + +* Thu Jan 30 2003 Bill Nottingham 1.08-4 +- remove condrestart from initscript + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Fri Dec 6 2002 Nalin Dahyabhai 1.08-2 +- only output terminal unicode init sequence if both stdout and stderr are + connected to terminals, so that it doesn't show up when script outputs + get piped to files + +* Fri Nov 22 2002 Nalin Dahyabhai 1.08-1 +- update to 1.08 +- drop updates which went mainline + +* Mon Nov 11 2002 Nalin Dahyabhai 1.06-27 +- add detached signature +- remove directory names from PAM configuration so that the same config file + can be used for any arch on multilib systems + +* Wed Sep 4 2002 Bill Nottingham 1.06-26 +- don't munge /etc/sysconfig/i18n + +* Tue Sep 3 2002 Bill Nottingham 1.06-25 +- don't run setsysfont in upgrade trigger on console-tools + +* Thu Aug 29 2002 Jakub Jelinek 1.06-24 +- use cyr-sun16 cyrillic chars in latarcyrheb-sun16 font + instead of old LatArCyrHeb-16 chars +- add Euro character to latarcyrheb-sun16 +- use latarcyrheb-sun16 by default in unicode_start script + +* Tue Aug 27 2002 Jakub Jelinek 1.06-23 +- add back lat[02]-sun16 fonts plus latarcyrheb-sun16 font + +* Thu Aug 22 2002 Karsten Hopp +- needs to conflict with older util-linux packages + (kbdrate moved between packages) + +* Tue Aug 13 2002 Bill Nottingham 1.06-21 +- remove Evil Hack in favor of slightly-less-evil-hack in initscripts + +* Tue Jul 9 2002 Bill Nottingham 1.06-20 +- fix speakup keymap names + +* Tue Jul 09 2002 Phil Knirsch 1.06-19 +- Evil hack to make setfont work correctly on all consoles (#68018) + +* Thu Jun 27 2002 Bill Nottingham 1.06-18 +- move unicode_stop to /bin too +- fix path to loadkeys in keytable.init +- add in speakup keymaps + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Tue Jun 11 2002 Nalin Dahyabhai 1.06-16 +- fix incorrect path in console.apps configuration file + +* Thu May 30 2002 Bill Nottingham 1.06-14 +- move some more stuff to /bin (unicode_start and dependencies) + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Mon Feb 25 2002 Bernhard Rosenkraenzer 1.06-12 +- Rebuild in new environment + +* Wed Jan 30 2002 Bernhard Rosenkraenzer 1.06-11 +- Oops, actually list the pam files in %%files + +* Tue Jan 29 2002 Bernhard Rosenkraenzer 1.06-10 +- Add and consolehelper'ify kbdrate + +* Tue Jan 29 2002 Bernhard Rosenkraenzer 1.06-9 +- Re-remove kbdrate + +* Thu Jan 24 2002 Bernhard Rosenkraenzer 1.06-7 +- Fix build in current environment +- Get rid of kbdrate, it's in util-linux these days + +* Wed Jul 18 2001 Matt Wilson +- added a patch (Patch4) that allows --tty= in setfont +- modified patch not to break translations + +* Tue Jul 3 2001 Bernhard Rosenkraenzer 1.06-4 +- Add cyrillic patches from leon@geon.donetsk.ua (#47144) + +* Tue Jun 26 2001 Bernhard Rosenkraenzer 1.06-3 +- Fix "Alt+AltGr=Compose" in qwertz-keyboards + +* Mon Jun 25 2001 Bernhard Rosenkraenzer 1.06-2 +- Fix "make install" and init script (#45327) + +* Sat Jun 16 2001 Than Ngo +- update to 1.0.6 +- use %%{_tmppath} +- use find_lang +- support new gettext +- remove some patch files, which are included in 1.0.6 +- fix to use RPM_OPT_FLAGS + +* Thu May 3 2001 Bernhard Rosenkraenzer 1.05-3 +- Fix up resizecons + +* Wed May 2 2001 Bernhard Rosenkraenzer 1.05-2 +- Build everything, obsoletes console-tools +- s/Copyright:/License:/ +- License is GPL, not just distributable +- Add our compose mappings from old console-tools +- Add triggerpostun -- console-tools magic to get sane fonts and mappings + +* Tue Apr 17 2001 Erik Troan +- initial packaging for kbdrate