diff --git a/kbd-1.12-sparc.patch b/kbd-1.12-sparc.patch new file mode 100644 index 0000000..4fdfb5c --- /dev/null +++ b/kbd-1.12-sparc.patch @@ -0,0 +1,91 @@ +--- kbd-1.08/man/man8/kbdrate.8 2002-10-11 07:08:58.000000000 -0400 ++++ kbd-1.08/man/man8/kbdrate.8 2002-11-22 17:28:15.000000000 -0500 +@@ -22,7 +22,7 @@ + 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 @@ + .I /etc/rc.local + .br + .I /dev/port ++.br ++.I /dev/kbd +diff -u kbd-1.08/src/kbdrate.c kbd-1.12/src/kbdrate.c +--- kbd-1.08/src/kbdrate.c 2002-11-22 17:34:48.000000000 -0500 ++++ kbd-1.12/src/kbdrate.c 2006-07-08 05:16:33.000000000 -0500 +@@ -77,7 +77,6 @@ + + #ifdef __sparc__ + #include +-#include + #endif + + #ifndef KDKBDREP +@@ -104,8 +103,11 @@ + + 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. */ ++ 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. */ + struct kbd_repeat kbdrep_s; + + /* don't change, just test */ +@@ -150,6 +152,9 @@ + rate, kbdrep_s.delay ); + + return 1; /* success! */ ++#else /* no KDKBDREP or __sparc__ */ ++ return 0; ++#endif /* KDKBDREP */ + } + + static int +@@ -188,7 +193,7 @@ + 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 */ +@@ -238,8 +243,9 @@ + return 0; + + +- /* 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; +@@ -286,4 +292,6 @@ + valid_delays[ (value & 0x60) >> 5 ] ); + ++#endif ++ + return 0; + } +--- kbd-1.12-orig/src/setleds.c 2006-07-08 05:10:08.000000000 -0500 ++++ kbd-1.12/src/setleds.c 2006-07-08 05:10:36.000000000 -0500 +@@ -14,10 +14,6 @@ + #include "nls.h" + #include "version.h" + +-#ifdef __sparc__ +-#include +-#endif +- + static void + usage(void) + { diff --git a/kbd.spec b/kbd.spec index c21f703..8883fc2 100644 --- a/kbd.spec +++ b/kbd.spec @@ -1,7 +1,7 @@ Summary: Tools for configuring the console (keyboard, virtual terminals, etc.) Name: kbd Version: 1.12 -Release: 15 +Release: 16 License: GPL Group: System Environment/Base Source0: ftp://ftp.kernel.org/pub/linux/utils/kbd/kbd-%{version}.tar.bz2 @@ -12,7 +12,7 @@ Source4: kbd-latsun-fonts.tar.bz2 Requires: pam >= 0.66-4, /etc/pam.d/system-auth, usermode BuildRequires: bison, flex, gettext BuildRoot: %{_tmppath}/%{name}-root -Patch0: kbd-1.08-sparc.patch +Patch0: kbd-1.12-sparc.patch Patch1: kbd-1.08-compose.patch Patch2: kbd-1.08-terminal.patch Patch3: kbd-1.08-rukbd.patch @@ -124,6 +124,10 @@ install -c -m644 %{SOURCE3} \ %config %{_sysconfdir}/pam.d/* %changelog +* 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)