switch from udev keymaps to hwdb
also remove keymaps-force-release directory
keymap: re-add Logitech USB corded/cordless models

These add back are the remaining 3 udev keymap rules which used name based
instead of ID based matching.
update TODO
journalctl: Add support for showing messages from a previous boot

Hi,

I redid the boot ID look up to use enumerate_unique.

This is quite fast if the cache is warm but painfully slow if
it isn't. It has a slight chance of returning the wrong order if
realtime clock jumps around.

This one has to do n searches for every boot ID there is plus
a sort, so it depends heavily on cache hotness. This is in contrast
to the other way of look-up through filtering by a MESSAGE_ID,
which only needs about 1 seek + whatever amount of relative IDs
you want to walk.

I also have a linked-list + (in-place) mergesort version of this
patch, which has pretty much the same runtime. But since this one
is using libc sorting and armortized allocation, I prefer this
one.

To summarize: The MESSAGE_ID way is a *lot* faster but can be
incomplete due to rotation, while the enumerate+sort will find
every boot ID out there but will be painfully slow for large
journals and cold caches.

You choose :P

Jan
man: use HTTPS links for links that support it
man: improve readability of --output options in journalctl(1)

The list and descriptions of valid output options was difficult to read,
so break up the long block of text into discrete man page list items to
improve readability.
Do not set LANG=C in every child environment.

LANG does not have to be set and setting it to default to the default
does not add any value.
test-tables: allow sparse tables and check mapping for -1

Jan: test-tables fails on my system. The one it's failing on is:
    syscall: 222 → (null) → -1
... and indeed, our own tables should not have holes, but syscall
tables certainly might.
journal: return -ECHILD after a fork

A few asserts are replaced with 'return -EINVAL'. I think that
assert should not be used to check argument in public functions.

Fields in struct sd_journal are rearranged to make it less
swiss-cheesy.
60-keyboard.hwdb: Fix syntax error

Add missing '='.
rpm: add RPM macro for creating tmpfiles entries after package installation
update
util.c:is_locale_utf8(): check, if "C" was set on purpose

If you have a ASCII only terminal, there is no way to set the charmap to
ANSI_X3.4-1968, other than using LC_CTYPE=C.

We don't want to assume a UTF-8 capable terminal in this case and only
do so, if LANG, LC_ALL and LC_CTYPE are unset.
udev: export tags of "dead" device nodes to /run/udev/static_node-tags/

Based on a patch by Kay Sievers.

A tag is exported at boot as a symlinks to the device node in the folder
/run/udev/static_node-tags/<tagname>/, if the device node exists.

These tags are cleaned up by udevadm info --cleanup-db, but are otherwise
never removed.
logind: apply ACL's to "dead" device nodes

Based on a patch by Kay Sievers.

When a dead device nodes is tagged with "uaccess" using the static_node mechanism,
it's ACL's are managed by logind in the same way as "live" device nodes.

This allows in particular /dev/snd/{seq,timer} to cause modules to be loaded
on-demand when accessed by a non-privileged user.
logind-acl: use macros

Simplify by using FOREACH_DIRENT and _cleanup_closedir_ macros.
logind: remove "if (0)" left-over
update TODO
util: make some gcc versions shut up regarding unintialized variable access