Hello

Here's the thing. The console-client needs a few XKB related files with
support for VT actions like switching and scrolling. These files refer to
other assets installed by xkeyboard-config package like standard keymaps.
For instance the following is an excerpt from `keymap/hurd`

    default xkb_keymap "us" {
        ...
        xkb_symbols { include "pc(pc105)+us+hurd" };
        ...
    };

These includes are resolved relative to a common parent that can be set on
the command-line; and that by default is where Xorg puts its xkb data files.

So, the custom files have to be installed next to Xorg's standard files for
the console to work properly with default options. That's why configure.ac
does that little dance with pkg-config and xkeyboard-config to try to
figure out where that directory is.

And for that reason, the machine *building* the console client needs to
have a few Xorg dependencies installed. Under Debian, whatever the
following commands return:

  * dpkg -S $(locate x11.pc)
  * dpkg -S $(locate xkeyboard-config.pc)
  * dpkg -S $(locate xproto.pc)
  * dpkg -S $(locate keysymdef.h)

I now realize this is very inconvenient for package maintainers as the
build environment needs to replicate the target environment (i.e. the
installed xkeyboard-config.pc requires the same prefix as the target
system). :-(

Given that xkeyboard-config.pc also has a prefix variable, one possible
solution is to strip the build system's prefix from xkb_base and then
"prepend" the prefix passed to configure. I'm not sure how robust it is
though.

---
Diego

Reply via email to