FS#42034 - [systemd] systemd-udev-hwdb-update.service fails due to ConditionNeedsUpdate

Attached to Project: Arch Linux
Opened by dhead666 (dhead666) - Saturday, 20 September 2014, 14:09 GMT
Last edited by Dave Reisner (falconindy) - Saturday, 20 September 2014, 14:17 GMT
Task Type Bug Report
Category Packages: Core
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

systemd-udev-hwdb-update.service fails due to "ConditionNeedsUpdate=/etc".

I've got a custom hwdb file ("61-keyboard-test.hwdb") in /etc/udev/hwdb.d so I expect the service will run once updating hwdb.bin but this doesn't happens.

I wasn't sure if I need to report this to upstream, maybe this is Arch specific issue.
(and I'm not quite sure what exactly ConditionNeedsUpdate checking).

Additional info:
* systemd 216-3
* 61-keyboard-test.hwdb content (changing F1 key to F4)
keyboard:usb:v*p*
keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*
KEYBOARD_KEY_3b=f4


Steps to reproduce:
Create 61-keyboard-test.hwd, reboot or restart systemd-udev-hwdb-update.service and systemd-udev-trigger.service
This task depends upon

Closed by  Dave Reisner (falconindy)
Saturday, 20 September 2014, 14:17 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Working as intended. ConditionNeedsUpdate=/etc is satisfied only when /usr has an mtime newer than /etc/.updated.
Comment by Dave Reisner (falconindy) - Saturday, 20 September 2014, 14:15 GMT
You'll need to rebuild the hwdb forcibly, like the systemd install scriptlet does.

ConditionNeedsUpdate doesn't work the way you think it does. I'd suggest reading its description in systemd.unit(5) to understand the relationship between /etc and /usr.

Loading...