NetBSD Problem Report #44456

From  Tue Jan 25 00:56:43 2011
Return-Path: <>
Received: from ( [])
	by (Postfix) with ESMTP id C538063B873
	for <>; Tue, 25 Jan 2011 00:56:42 +0000 (UTC)
Message-Id: <>
Date: Tue, 25 Jan 2011 01:56:38 +0100 (CET)
Subject: /usr/X11R7/lib/X11/xkb/compiled should be empty directory
X-Send-Pr-Version: 3.95

>Number:         44456
>Category:       xsrc
>Synopsis:       /usr/X11R7/lib/X11/xkb/compiled should be empty directory
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    mrg
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 25 01:00:00 +0000 2011
>Last-Modified:  Tue Jan 25 07:33:42 +0000 2011
>Originator:     Rhialto
>Release:        NetBSD 5.1


System: NetBSD 5.1 NetBSD 5.1 (Radl-s_Pervasion_of_the_Incorrect_Chord) #0: Mon Jan 24 20:25:13 CET 2011 amd64
Architecture: x86_64
Machine: amd64
	/usr/X11R7/lib/X11/xkb/compiled should be empty directory

	I had re-extracted the X tarballs from NetBSD/amd64 5.0.1.
	Then I had problems with xkb keyboard options and layouts
	(meaning: they failed to work at all).
	After some hair-pulling, while comparing with a backup of a
	previously working installation, I discovered that I didn't have
	the directory /usr/X11R7/lib/X11/xkb/compiled.

	I looked in the tarballs of some previous releases. This is what
	I found:

	4.0: present (as X11R6), with a README inside
	5.0: missing
	5.0.1: missing
	5.1: bad symlink: ./usr/X11R7/lib/X11/xkb/compiled ->
	    /usr/X11R7/lib/X11/xkb. It is bad for multiple reasons:
	    - absolute path, where relative is better;
	    - points to existing directory, which is bad for access
	      control, and any files created in it may clash with the
	      files that are already present.

	This make the 4.0 release the last one that had it right.
	The README explains:

	    The X server uses this directory to store the compiled version of the
	    current keymap and/or any scratch keymaps used by clients.  The X server
	    or some other tool might destroy or replace the files in this directory,
	    so it is not a safe place to store compiled keymaps for long periods of
	    time.  The default keymap for any server is usually stored in:
	    where <num> is the display number of the server in question, which makes
	    it possible for several servers *on the same host* to share the same 

	    Unless the X server is modified, sharing this directory between servers on
	    different hosts could cause problems.

	re-extract x*.tgz tarballs from distribution
	# rm /usr/X11R7/lib/X11/xkb/compiled
	# mkdir /usr/X11R7/lib/X11/xkb/compiled

	Add something to LAST_MINUTE.txt.

___ Olaf 'Rhialto' Seibert  -- There's no point being grown-up if you 
\X/ rhialto/at/    -- can't be childish sometimes. -The 4th Doctor



Responsible-Changed-From-To: xsrc-manager->mrg
Responsible-Changed-When: Tue, 25 Jan 2011 07:33:42 +0000
argh, i thought i had this fixed.  it is supposed to point to something in
/var, not forcing /usr to being writeable.

i'll see what is up.  thanks for the PR.


NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD:,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.