Bug#469335: xkb-data: sun rules reference nonexistent symbols
Package: xkb-data
Version: 1.1~cvs.20080104.1-1
Severity: important
Both xorg rules model sun5 as sun rules model type5 reference
symbols sun_vndr/us(sun5), but symbols/sun_vndr/us has no
sun5, but only type5. (and the same for sun4 and sun6 in sun)
I guess this is the reason why I get a non-working keyboard and the
following error when starting X (approx, typed in):
Error: No Symbols named "sun5" in the include file "sun_vndr/us"
Exiting
Abondoning symbols file "default"
With the following patch the error is gone (I guess it still needs
modification to all the not-us files in symbols, as they seem to reference
sun5 instead of type5, too.
The keyboard mapping is also different (though my Sun type 5c keyboard
produce very absurd keys with it still, though they seem to be the same
as with the xkb-data-legacy package now)
Hochachtungsvoll,
Bernhard R. Link
--- /root/sun.orig 2008-03-04 18:59:03.000000000 +0100
+++ /usr/share/X11/xkb/rules/sun 2008-03-04 19:00:19.000000000 +0100
@@ -12,28 +12,28 @@
type6_unix_usb = sun(type6_usb) sun(type5unix)
! model layout = symbols
- type4 us = sun_vndr/us(sun4)
- type5 us = sun_vndr/us(sun5)
- type5_unix us = sun_vndr/us(sun5)
- type6 us = sun_vndr/us(sun6)
- type6_unix us = sun_vndr/us(sun6)
- type6_usb us = sun_vndr/us(sun6)
- type6_unix_usb us = sun_vndr/us(sun6)
- type4 en_US = sun_vndr/us(sun4)+iso9995-3(basic)
- type5 en_US = sun_vndr/us(sun5)+iso9995-3(basic)
- type5_unix en_US = sun_vndr/us(sun5)+iso9995-3(basic)
- type6 en_US = sun_vndr/us(sun6)+iso9995-3(basic)
- type6_unix en_US = sun_vndr/us(sun6)+iso9995-3(basic)
- type6_usb en_US = sun_vndr/us(sun6)+iso9995-3(basic)
- type6_unix_usb en_US = sun_vndr/us(sun6)+iso9995-3(basic)
- type4 * = sun_vndr/us(sun4)+%l%(v)
- type5 * = sun_vndr/us(sun5)+%l%(v)
- type5_euro * = sun_vndr/us(sun5)+%l%(v)
- type6 * = sun_vndr/us(sun6)+%l%(v)
- type6_unix * = sun_vndr/us(sun6)+%l%(v)
- type6_usb * = sun_vndr/us(sun6)+%l%(v)
- type6_unix_usb * = sun_vndr/us(sun6)+%l%(v)
- type6_euro * = sun_vndr/us(sun6)+%l%(v)
+ type4 us = sun_vndr/us(type4)
+ type5 us = sun_vndr/us(type5)
+ type5_unix us = sun_vndr/us(type5)
+ type6 us = sun_vndr/us(type6)
+ type6_unix us = sun_vndr/us(type6)
+ type6_usb us = sun_vndr/us(type6)
+ type6_unix_usb us = sun_vndr/us(type6)
+ type4 en_US = sun_vndr/us(type4)+iso9995-3(basic)
+ type5 en_US = sun_vndr/us(type5)+iso9995-3(basic)
+ type5_unix en_US = sun_vndr/us(type5)+iso9995-3(basic)
+ type6 en_US = sun_vndr/us(type6)+iso9995-3(basic)
+ type6_unix en_US = sun_vndr/us(type6)+iso9995-3(basic)
+ type6_usb en_US = sun_vndr/us(type6)+iso9995-3(basic)
+ type6_unix_usb en_US = sun_vndr/us(type6)+iso9995-3(basic)
+ type4 * = sun_vndr/us(type4)+%l%(v)
+ type5 * = sun_vndr/us(type5)+%l%(v)
+ type5_euro * = sun_vndr/us(type5)+%l%(v)
+ type6 * = sun_vndr/us(type6)+%l%(v)
+ type6_unix * = sun_vndr/us(type6)+%l%(v)
+ type6_usb * = sun_vndr/us(type6)+%l%(v)
+ type6_unix_usb * = sun_vndr/us(type6)+%l%(v)
+ type6_euro * = sun_vndr/us(type6)+%l%(v)
! model layout = compat types
* * = complete complete
--- /root/base.orig 2008-03-04 18:57:59.000000000 +0100
+++ /usr/share/X11/xkb/rules/base 2008-03-04 19:00:48.000000000 +0100
@@ -278,10 +278,10 @@
amiga * = xfree68_vndr/amiga(usa1)+%l%(v)
classmate us = pc+%l(classmate)
- sun4 $nonlatin = latin+sun_vndr/us(sun4)+%l%(v):2
- sun4 * = latin+sun_vndr/us(sun4)+%l%(v)
- sun5 $nonlatin = latin+sun_vndr/us(sun5)+%l%(v):2
- sun5 * = latin+sun_vndr/us(sun5)+%l%(v)
+ sun4 $nonlatin = latin+sun_vndr/us(type4)+%l%(v):2
+ sun4 * = latin+sun_vndr/us(type4)+%l%(v)
+ sun5 $nonlatin = latin+sun_vndr/us(type5)+%l%(v):2
+ sun5 * = latin+sun_vndr/us(type5)+%l%(v)
sun6 us = pc+sun_vndr/us(type6)
sun6 en_US = pc+sun_vndr/us(type6)+iso9995-3(basic)
sun6 * = pc+sun_vndr/us(type6)+%l%(v)
@@ -374,8 +374,8 @@
* yu(unicodeyz) = pc+srp(latinunicodeyz)
ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1])
amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1])
- sun4 * = latin+sun_vndr/us(sun4)+%l[1]%(v[1])
- sun5 * = latin+sun_vndr/us(sun5)+%l[1]%(v[1])
+ sun4 * = latin+sun_vndr/us(type4)+%l[1]%(v[1])
+ sun5 * = latin+sun_vndr/us(type5)+%l[1]%(v[1])
macintosh_old us = macintosh_vndr/us(oldmac)
macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1])
macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1])
Reply to: