[Bug 1988078] Re: Please backport systemd-hwdb patches to support src:systemd-hwe tests
Nick Rosbrook
1988078 at bugs.launchpad.net
Mon Sep 12 19:53:13 UTC 2022
I have verified the fix using udev 249.11-0ubuntu3.6 from jammy-
proposed:
nr at clean-jammy-amd64:~$ apt-cache policy udev
udev:
Installed: 249.11-0ubuntu3.6
Candidate: 249.11-0ubuntu3.6
Version table:
*** 249.11-0ubuntu3.6 500
500 http://archive.ubuntu.com/ubuntu jammy-proposed/main amd64 Packages
100 /var/lib/dpkg/status
249.11-0ubuntu3.4 500
500 http://archive.ubuntu.com/ubuntu jammy-updates/main amd64 Packages
249.11-0ubuntu3 500
500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
nr at clean-jammy-amd64:~$ mkdir -p fakeroot/etc/udev/hwdb.d/
nr at clean-jammy-amd64:~$ tail -2 /lib/udev/hwdb.d/60-keyboard.hwdb > fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
nr at clean-jammy-amd64:~$ sed -i 's/chromebook/reserved/g' fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
nr at clean-jammy-amd64:~$ cat fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:*
XKB_FIXED_MODEL=reserved
nr at clean-jammy-amd64:~$ systemd-hwdb update --root fakeroot
nr at clean-jammy-amd64:~$ ls fakeroot/etc/udev/hwdb.bin
fakeroot/etc/udev/hwdb.bin
nr at clean-jammy-amd64:~$ systemd-hwdb query --root fakeroot evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:* | grep XKB_FIXED_MODEL
XKB_FIXED_MODEL=reserved
** Tags removed: verification-needed verification-needed-jammy
** Tags added: verification-done verification-done-jammy
** Description changed:
[Impact]
We plan to SRU src:systemd-hwe to Jammy[1] to provide an easier way to
SRU HWE hwdb rules to Ubuntu. The src:systemd-hwe package contains a
test script[2] to ensure that no redundant hwdb rules are added to the
package, i.e. rules that are already present in src:systemd. This test
requires patches to implement --root flag support for the `systemd-hwdb
query` command[3]. These patches are already present in kinetic.
Without these patches in Jammy, src:systemd-hwe would have to disable
these tests, which are important to maintaining HWE hwdb rules in
Ubuntu.
[1] https://bugs.launchpad.net/ubuntu/+source/systemd-hwe/+bug/1983996
[2] https://git.launchpad.net/~canonical-foundations/+git/systemd-hwe/tree/tests/hwdb-redundancy?h=main
[3] https://github.com/systemd/systemd/pull/23518
[Test plan]
* Create a new directory for testing hwdb rule queries:
- $ mkdir -p fakeroot/etc/udev/hdwb.d
+ $ mkdir -p fakeroot/etc/udev/hwdb.d
* Add a new .hwdb file to override an existing rule. For example, I
chose to override the last entry from /lib/udev/hdwb.d/60-keyboard.hwdb:
$ tail -2 /lib/udev/hwdb.d/60-keyboard.hwdb > fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
- $ sed -i 's/chromebook/reserved/g' fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
- $ cat fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
+ $ sed -i 's/chromebook/reserved/g' fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
+ $ cat fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:*
- XKB_FIXED_MODEL=reserved
+ XKB_FIXED_MODEL=reserved
* Create the hwdb.bin within fakeroot:
$ systemd-hwdb update --root fakeroot
- $ ls fakeroot/etc/udev/hwdb.bin
+ $ ls fakeroot/etc/udev/hwdb.bin
fakeroot/etc/udev/hwdb.bin
* Finally, attempt to query this new hwdb.bin using systemd-hwdb query.
On an unpatched system, we will see results from the system's hwdb.bin:
$ systemd-hwdb query --root fakeroot evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:* | grep XKB_FIXED_MODEL
XKB_FIXED_MODEL=chromebook
...and on a patched system we should see the overridden rule:
$ systemd-hwdb query --root fakeroot evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:* | grep XKB_FIXED_MODEL
- XKB_FIXED_MODEL=reserved
+ XKB_FIXED_MODEL=reserved
[Where problems could occur]
The patches add support for the --root flag when calling systemd-hwdb query, thus changing the behavior of this command (previously, query would always load the system's hwdb.bin). It is unlikely that existing scripts try to use the --root flag with `systemd-hwdb query`, but if they did, this is where we would see problems.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1988078
Title:
Please backport systemd-hwdb patches to support src:systemd-hwe tests
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Jammy:
Fix Committed
Bug description:
[Impact]
We plan to SRU src:systemd-hwe to Jammy[1] to provide an easier way to
SRU HWE hwdb rules to Ubuntu. The src:systemd-hwe package contains a
test script[2] to ensure that no redundant hwdb rules are added to the
package, i.e. rules that are already present in src:systemd. This test
requires patches to implement --root flag support for the `systemd-
hwdb query` command[3]. These patches are already present in kinetic.
Without these patches in Jammy, src:systemd-hwe would have to disable
these tests, which are important to maintaining HWE hwdb rules in
Ubuntu.
[1] https://bugs.launchpad.net/ubuntu/+source/systemd-hwe/+bug/1983996
[2] https://git.launchpad.net/~canonical-foundations/+git/systemd-hwe/tree/tests/hwdb-redundancy?h=main
[3] https://github.com/systemd/systemd/pull/23518
[Test plan]
* Create a new directory for testing hwdb rule queries:
$ mkdir -p fakeroot/etc/udev/hwdb.d
* Add a new .hwdb file to override an existing rule. For example, I
chose to override the last entry from
/lib/udev/hdwb.d/60-keyboard.hwdb:
$ tail -2 /lib/udev/hwdb.d/60-keyboard.hwdb > fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
$ sed -i 's/chromebook/reserved/g' fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
$ cat fakeroot/etc/udev/hwdb.d/60-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:*
XKB_FIXED_MODEL=reserved
* Create the hwdb.bin within fakeroot:
$ systemd-hwdb update --root fakeroot
$ ls fakeroot/etc/udev/hwdb.bin
fakeroot/etc/udev/hwdb.bin
* Finally, attempt to query this new hwdb.bin using systemd-hwdb
query. On an unpatched system, we will see results from the system's
hwdb.bin:
$ systemd-hwdb query --root fakeroot evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:* | grep XKB_FIXED_MODEL
XKB_FIXED_MODEL=chromebook
...and on a patched system we should see the overridden rule:
$ systemd-hwdb query --root fakeroot evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pnPeppy:* | grep XKB_FIXED_MODEL
XKB_FIXED_MODEL=reserved
[Where problems could occur]
The patches add support for the --root flag when calling systemd-hwdb query, thus changing the behavior of this command (previously, query would always load the system's hwdb.bin). It is unlikely that existing scripts try to use the --root flag with `systemd-hwdb query`, but if they did, this is where we would see problems.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1988078/+subscriptions
More information about the foundations-bugs
mailing list