Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 558980 - sys-apps/hwids: udev hwdb in wrong location
Summary: sys-apps/hwids: udev hwdb in wrong location
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo systemd Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-08-28 00:35 UTC by Randolph Maaßen
Modified: 2015-08-28 10:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Randolph Maaßen 2015-08-28 00:35:26 UTC
After upgrading systemd on my laptop I recognized that the keyboard scancode mapping was broken, eg. I could not use the back light control keys anymore. After some debugging I recognized that the hwdb didn't load correctly, so I had a closer look. After removing the /etc/udev/hwdb.d/00-keyboard.hwdb file nothing changed so the problem was somewhere else. While reading man hwdb I recognized the path /usr/lib/udev/hwdb.bin and I tried to look it up: surprise the path /usr/lib/udev doesn't even exist. Searching for the path I found it in /lib/udev and symlinking the directorz to /usr/lib/udev resolved my problem.

tl;dr: systemd-udev expects the hwdb in /usr/lib/udev/ nut it is in /lib/udev

Reproducible: Always

Steps to Reproduce:
1. alter the keymap in /lib/udev/hwdb.d/60-keymap.hwdb
2. reload the hwdb with udevadm hwdb --update and udevadm trigger
Actual Results:  
the change won't apply

Expected Results:  
the change should apply
Comment 1 Mike Gilbert gentoo-dev 2015-08-28 02:20:49 UTC
What does this command output on your system?

pkg-config --variable=udevdir udev
Comment 2 Mike Gilbert gentoo-dev 2015-08-28 02:36:33 UTC
Also, what does strace show when you run that udevadm hwdb command? I get the following.

# strace -e file udevadm hwdb -u
...
open("/lib/udev/hwdb.d/20-OUI.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-acpi-vendor.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-bluetooth-vendor-product.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-net-ifname.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-pci-classes.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-pci-vendor-model.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-sdio-classes.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-sdio-vendor-model.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-usb-classes.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-usb-media-players.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/20-usb-vendor-model.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/60-evdev.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/60-keyboard.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/61-oldkeyboard.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/69-libmtp.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/70-mouse.hwdb", O_RDONLY|O_CLOEXEC) = 3
open("/lib/udev/hwdb.d/70-pointingstick.hwdb", O_RDONLY|O_CLOEXEC) = 3

So it certainly seems to be looking at /lib/udev/hwdb.d on my system.
Comment 3 Randolph Maaßen 2015-08-28 10:32:13 UTC
pkg-config --variable=udevdir udev
gives /lib/udev and strace is accessing the files. After a reboot without the symlink everything works.

It looks like bug chasing at 4:00am is not a good idea. Sorry for the noise