summaryrefslogtreecommitdiff
path: root/hwdb.d/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* meson: Use meson test suite featureJan Janssen2022-05-041-0/+1
| | | | | | This makes it easier to only test a subset of tests without having to specify them all on the command line: meson test -C build --suite headers
* Add AV production controllers to hwdb and add uaccessBe2022-03-141-0/+1
| | | | | | | | | | | | This adds support for AV production controller devices, such as DJ tables, music-oriented key pads, and others. The USB vendor and product IDs come from Mixxx, Ctlra, and Ardour. Fixes #20533 Co-developed-by: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
* meson: do not use split() in file listsZbigniew Jędrzejewski-Szmek2022-03-021-32/+30
| | | | | | | | | | | The approach to use '''…'''.split() instead of a list of strings was initially used when converting from automake because it allowed identical blocks of lines to be used for both, making the conversion easier. But over the years we have been using normal lists more and more, especially when there were just a few filenames listed. This converts the rest. No functional change.
* hwdb: add new database file for PDA devicesDavide Cavalca2022-01-311-0/+1
| | | | | | | | | Add a new database for handhelds (PDAs, calculators, etc.) that should be accessible the seat owner. The database is initially populated with Texas Instruments calculators and linking cables, which removes the need to installing dedicated udev rules for them.
* hwdb: Tag IR cameras as suchwip/hadess/webcamsBastien Nocera2021-10-271-0/+1
| | | | | | So that front-ends can ignore them if they wish to. See https://gitlab.gnome.org/GNOME/cheese/-/merge_requests/4
* hwdb: Allow end-users root-less access to USB analyzerswip/hadess/usb-analysers-uaccessBastien Nocera2021-09-021-0/+1
| | | | | | | | | | Procotol analyzers are external devices used to capture traffic over a wire so that it could be analysed. End-users at the console should be able to access those devices without requiring root access. This change obsoletes the need to install Total Phase's "Linux drivers", which are really just udev rules and hotplug usermap files to do that: https://www.totalphase.com/products/usb-drivers-linux/
* meson: use a/b instead of join_paths(a,b)Zbigniew Jędrzejewski-Szmek2021-07-271-1/+1
| | | | It is nicer and shorter.
* login: XGI Z7/Z9 (XG20 core) graphic chip requires master-of-seat to be setFranck Bui2021-07-051-0/+1
| | | | | | | | | | | | | This graphic chip doesn't have a DRM driver and fall back to vesa-framebuffer driver. Without this patch, users of such chip suddenly see their GUI broken without any indication or reason of what happened (no error message). Hence this regression is near to impossible to troubleshoot for end users. Such case was reported https://bugzilla.opensuse.org/show_bug.cgi?id=1187154. Rather than adding another exception in the udev rules to deal with such HWs, they instead get their own hwdb file '60-seat.hwdb'.
* meson: revert the change to unquote commands in add_install_scriptZbigniew Jędrzejewski-Szmek2021-05-141-2/+3
| | | | | | | | | Old meson fails with: Element not a string: [<Holder: <ExternalProgram 'sh' -> ['/bin/sh']>>, '-c', 'test -n "$DESTDIR" || /bin/journalctl --update-catalog'] I'm doing it as a revert so that it's easy to undo the revert when we require newer meson. The effect is not so bad, maybe a dozen or so lines about finding 'sh'.
* meson: call find_program() once and reuse the variable everywhereZbigniew Jędrzejewski-Szmek2021-05-141-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Meson 0.58 has gotten quite bad with emitting a message every time a quoted command is used: Program /home/zbyszek/src/systemd-work/tools/meson-make-symlink.sh found: YES (/home/zbyszek/src/systemd-work/tools/meson-make-symlink.sh) Program sh found: YES (/usr/bin/sh) Program sh found: YES (/usr/bin/sh) Program sh found: YES (/usr/bin/sh) Program sh found: YES (/usr/bin/sh) Program sh found: YES (/usr/bin/sh) Program sh found: YES (/usr/bin/sh) Program xsltproc found: YES (/usr/bin/xsltproc) Configuring custom-entities.ent using configuration Message: Skipping bootctl.1 because ENABLE_EFI is false Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Message: Skipping journal-remote.conf.5 because HAVE_MICROHTTPD is false Message: Skipping journal-upload.conf.5 because HAVE_MICROHTTPD is false Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Message: Skipping loader.conf.5 because ENABLE_EFI is false Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) Program ln found: YES (/usr/bin/ln) ... Let's suffer one message only for each command. Hopefully we can silence even this when https://github.com/mesonbuild/meson/issues/8642 is resolved.
* hwdb: add hardware database for unit of IEEE 1394Takashi Sakamoto2021-04-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Current udev rules configures group owner of firewire character device to video group, corresponding to nodes in IEEE 1394 in below cases: 1.the node with any unit for any minor version of IIDC version 1 specification defined by 1394 Trading Association 2.the node with any unit for specification defined by Point Grey Research 3.the node with any unit for AV/C device v1.0 defined by 1394 Trading Association 4.the node with any unit for vendor-unique protocol defined by 1394 Trading Association Nevertheless, case 3 and 4 can cover the node with any unit for audio function as well. In the cases, it's convenient to assign audio group. Additionally, some nodes are known to have layout different from the specification defined by 1394 Trading Association. In the case, it's required to add rules specific to them. Furthermore, some nodes have no fields for vendor name and model name in configuration ROM. In the case, it's required to add entries to hardware database for users convenience. For the above reasons, this commit adds rules to use information in hardware database for known units in IEEE 1394. One database entry corresponds to one unit. Two types of key are used to match the unit; customized key from node context, kernel modalias of unit context. The entry has the type of function, at least. Supplementally, it has vendor and model names. For your information, below statements with Python pyparsing module are expected to parse all of the custom key and module alias in the list: ``` subsystem_prefix = pp.Literal('ieee1394:').suppress() hex_to_int = lambda a: int(a[0], 16) node_prefix = pp.Literal('node:').suppress() prefixed_lower_hex = pp.Combine(pp.Literal('0x') + pp.Word(pp.srange('[a-z0-9]'), exact=6)).setParseAction(hex_to_int) ven_in_node = pp.dictOf(pp.Literal('ven'), prefixed_lower_hex) mo_in_node = pp.dictOf(pp.Literal('mo'), prefixed_lower_hex) unit_in_node = pp.Group(prefixed_lower_hex + pp.Literal(':').suppress() + prefixed_lower_hex) units_in_node = pp.Group(pp.Literal('units') + pp.ZeroOrMore(pp.Literal('*')).suppress() + unit_in_node + pp.ZeroOrMore(pp.Literal('*')).suppress()) node_parser = subsystem_prefix + node_prefix + ven_in_node + pp.Optional(mo_in_node) + units_in_node higher_hex = pp.Word(pp.srange('[A-Z0-9]'), exact=8).setParseAction(hex_to_int) ven_in_unit = pp.dictOf(pp.Literal('ven'), higher_hex) mo_literal_in_unit = pp.dictOf(pp.Literal('mo'), higher_hex) mo_in_unit = pp.dictOf(pp.Literal('mo'), higher_hex ^ pp.Literal('*')) sp_in_unit = pp.dictOf(pp.Literal('sp'), higher_hex) ver_in_unit = pp.dictOf(pp.Literal('ver'), higher_hex) unit_parser = subsystem_prefix + ven_in_unit + mo_in_unit + sp_in_unit + ver_in_unit key_parser = node_parser ^ unit_parser ``` Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
* Add READMEs in all .d directoriesZbigniew Jędrzejewski-Szmek2021-03-261-0/+1
|
* meson: rename target to update-hwdb-autosuspendZbigniew Jędrzejewski-Szmek2021-01-271-2/+2
| | | | | | | | | | | | | | | | | The script is renamed to match. Now all targets are named uniformly in a tab-completion-friendly fashion, with the exception of systemd-update-po which is generated by the i18n module automatically: $ ninja -C build -t targets | grep update systemd-update-po: phony update-syscall-tables: phony update-syscall-header: phony update-hwdb: phony update-hwdb-autosuspend: phony update-dbus-docs: CUSTOM_COMMAND update-man-rules: CUSTOM_COMMAND
* meson: rename target to update-hwdbZbigniew Jędrzejewski-Szmek2021-01-271-2/+2
| | | | | The goal is to have all "update-*" targets named uniformly so that tab-completion works. The script is renamed to match.
* hwdb: Pull autosuspend rules from upstream libfprintBenjamin Berg2021-01-201-0/+1
| | | | | | | | | libfprint includes a list of known fingerprint readers that can be autosuspended. Upstream libfprint generates this file from the USB IDs registered to drivers and a list of well-known readers that are currently unsupported. Closes: #17663
* tools: Pass source directory to autosuspend-update.shBenjamin Berg2021-01-191-1/+1
| | | | | This makes sense so that we can extend the script to also update other files.
* hwdb: Add dmi-id databaseFelipe Borges2020-12-041-0/+1
| | | | See #15493
* meson: add option to skip installing to $sysconfdirJörg Thalheim2020-11-121-5/+7
| | | | | | | | | | | | | | | | | | | | | This is useful for development where overwriting files out side the configured prefix will affect the host as well as stateless systems such as NixOS that don't let packages install to /etc but handle configuration on their own. Alternative to https://github.com/systemd/systemd/pull/17501 tested with: $ mkdir inst build && cd build $ meson \ -Dcreate-log-dirs=false \ -Dsysvrcnd-path=$(realpath ../inst)/etc/rc.d \ -Dsysvinit-path=$(realpath ../inst)/etc/init.d \ -Drootprefix=$(realpath ../inst) \ -Dinstall-sysconfdir=false \ --prefix=$(realpath ../inst) .. $ ninja install
* license: LGPL-2.1+ -> LGPL-2.1-or-laterYu Watanabe2020-11-091-1/+1
|
* hwdb: enable autosuspend for Wacom Pen and EMV Smartcard ReaderZbigniew Jędrzejewski-Szmek2020-06-221-0/+1
| | | | Replaces #16113.
* test: also verify the generated autosuspend hwdb fileZbigniew Jędrzejewski-Szmek2020-06-221-18/+25
| | | | Hint: meson test -C build parse-hwdb -v
* hwdb: generate a hwdb file instead of rules for autosuspendLennart Poettering2020-06-131-0/+8
|
* hwdb.d: actually install the 60-input-id.hwdbPeter Hutterer2020-02-201-0/+1
| | | | | | | This was added in ffac30349e9da91dbef7d4e0bf7cef58705c534e in 2017 but didn't get added to the meson.build thus never actually installing it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* meson: add target to update the chromiumos rulesZbigniew Jędrzejewski-Szmek2019-11-151-0/+4
| | | | | | | | There is no change in the file right now, but the download seems to work OK. It's funny that the biggest company in the world cannot provide a download link in plain text.
* Rename udev's hwdb/ to hwdb.d/Zbigniew Jędrzejewski-Szmek2019-10-101-0/+49
As in the parent commit, this makes the name consistent with the rest of the source tree and the actuall installation path.