# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/udev/remove-hwdb-rules.patch # Copyright (C) 2025 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- --- systemd-257/rules.d/meson.build.vanilla 2025-01-10 13:21:12.643333328 +0100 +++ systemd-257/rules.d/meson.build 2025-01-10 13:23:09.226666667 +0100 @@ -10,7 +10,6 @@ '60-cdrom_id.rules', '60-dmi-id.rules', '60-drm.rules', - '60-evdev.rules', '60-fido-id.rules', '60-infiniband.rules', '60-input-id.rules', @@ -19,12 +18,7 @@ '60-persistent-storage-mtd.rules', '60-persistent-storage-tape.rules', '60-persistent-v4l.rules', - '60-sensor.rules', '60-serial.rules', - '70-camera.rules', - '70-joystick.rules', - '70-mouse.rules', - '70-touchpad.rules', '75-net-description.rules', '75-probe_mtd.rules', '78-sound-card.rules', @@ -57,7 +52,6 @@ ['50-udev-default.rules'], ['60-persistent-storage.rules'], ['64-btrfs.rules'], - ['99-systemd.rules'], ['70-uaccess.rules', enable_logind and conf.get('HAVE_ACL') == 1], ['71-seat.rules', enable_logind], --- systemd-257/rules.d/50-udev-default.rules.in.vanilla 2025-01-10 12:46:53.283333334 +0100 +++ systemd-257/rules.d/50-udev-default.rules.in 2025-01-10 12:49:13.409999996 +0100 @@ -14,10 +14,7 @@ SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc" SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100" -SUBSYSTEM=="hidraw", IMPORT{builtin}="hwdb" -SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb" -ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}" # Before c43ff248f94266cfc93e300a2d3d163ed805e55b, the following line in # 60-drm.rules also sets ID_PATH for all pci, usb, and platform devices: @@ -68,12 +65,6 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664" -SUBSYSTEM=="firewire", TEST=="units", TEST=="model", \ - IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}mo$attr{model}units$attr{units}'" - -SUBSYSTEM=="firewire", TEST=="units", TEST!="model", \ - IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}units$attr{units}'" - SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", GROUP="audio" SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", GROUP="audio" SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", GROUP="video" --- systemd-257/rules.d/60-evdev.rules 2025-01-10 12:46:53.310000000 +0100 +++ /dev/null 2025-01-10 12:54:48.756666649 +0100 @@ -1,30 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="evdev_end" -KERNEL!="event*", GOTO="evdev_end" - -# Execute the match patterns below, from least-to-most specific. - -# Device matching the modalias string (bustype, vendor, product, version, other properties) -IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=evdev:", \ - ENV{.HAVE_HWDB_PROPERTIES}="1" - -# AT keyboard matching by the machine's DMI data -DRIVERS=="atkbd", \ - IMPORT{builtin}="hwdb 'evdev:atkbd:$attr{[dmi/id]modalias}'", \ - ENV{.HAVE_HWDB_PROPERTIES}="1" - -# Device matching the input device name and the machine's DMI data -KERNELS=="input*", \ - IMPORT{builtin}="hwdb 'evdev:name:$attr{name}:$attr{[dmi/id]modalias}'", \ - ENV{.HAVE_HWDB_PROPERTIES}="1" - -# Device matching the input device name + properties + the machine's DMI data -KERNELS=="input*", \ - IMPORT{builtin}="hwdb 'evdev:name:$attr{name}:phys:$attr{phys}:ev:$attr{capabilities/ev}:$attr{[dmi/id]modalias}'", \ - ENV{.HAVE_HWDB_PROPERTIES}="1" - -ENV{.HAVE_HWDB_PROPERTIES}=="1", \ - IMPORT{builtin}="keyboard" - -LABEL="evdev_end" --- systemd-257/rules.d/60-input-id.rules.vanilla 2025-01-10 12:46:53.323333333 +0100 +++ systemd-257/rules.d/60-input-id.rules 2025-01-10 12:47:10.966666667 +0100 @@ -3,6 +3,5 @@ ACTION=="remove", GOTO="id_input_end" SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id" -SUBSYSTEM=="input", IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=id-input:modalias:" LABEL="id_input_end" --- systemd-257/rules.d/60-sensor.rules.vanilla 2025-01-10 12:46:53.353333333 +0100 +++ systemd-257/rules.d/60-sensor.rules 2025-01-10 13:11:38.846666663 +0100 @@ -1,34 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="sensor_end" - -# device matching the sensor's label, name and the machine's DMI data for IIO devices -SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="usb|i2c|platform", ATTR{label}!="", \ - IMPORT{builtin}="hwdb 'sensor:$attr{label}:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \ - GOTO="sensor_end" - -# Before Linux v6.0, cros-ec-accel used a non-standard 'location' sysfs file -SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="platform", \ - ATTR{name}=="cros-ec-accel|cros-ec-accel-legacy", ATTR{location}=="base", \ - IMPORT{builtin}="hwdb 'sensor:accel-base:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \ - GOTO="sensor_end" - -SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="platform", \ - ATTR{name}=="cros-ec-accel|cros-ec-accel-legacy", ATTR{location}=="lid", \ - IMPORT{builtin}="hwdb 'sensor:accel-display:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \ - GOTO="sensor_end" - -# device matching the sensor's name and the machine's DMI data for IIO devices -SUBSYSTEM=="iio", KERNEL=="iio*", SUBSYSTEMS=="usb|i2c|platform", \ - IMPORT{builtin}="hwdb 'sensor:modalias:$attr{modalias}:$attr{[dmi/id]modalias}'", \ - GOTO="sensor_end" - -SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", SUBSYSTEMS=="acpi", \ - IMPORT{builtin}="hwdb 'sensor:modalias:acpi:$attr{hid}:$attr{[dmi/id]modalias}'", \ - GOTO="sensor_end" - -SUBSYSTEM=="input", ENV{ID_INPUT_ACCELEROMETER}=="1", SUBSYSTEMS=="platform", \ - IMPORT{builtin}="hwdb 'sensor:modalias:platform:$id:$attr{[dmi/id]modalias}'", \ - GOTO="sensor_end" - -LABEL="sensor_end" --- systemd-257/rules.d/60-serial.rules.vanilla 2025-01-10 12:46:53.356666666 +0100 +++ systemd-257/rules.d/60-serial.rules 2025-01-10 12:47:10.966666667 +0100 @@ -3,10 +3,5 @@ ACTION=="remove", GOTO="serial_end" SUBSYSTEM!="tty", GOTO="serial_end" - -SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb" -SUBSYSTEMS=="pci", ENV{ID_BUS}=="", ENV{ID_BUS}="pci", \ - ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}", \ - IMPORT{builtin}="hwdb --subsystem=pci" # /dev/serial/by-path/, /dev/serial/by-id/ for USB devices KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end" --- systemd-257/rules.d/70-camera.rules 2025-01-10 12:46:53.363333332 +0100 +++ /dev/null 2025-01-10 13:13:49.630000002 +0100 @@ -1,9 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="camera_end" - -SUBSYSTEM=="video4linux", ENV{ID_BUS}="usb", \ - IMPORT{builtin}="hwdb 'camera:usb:v$env{ID_VENDOR_ID}p$env{ID_MODEL_ID}:name:$attr{name}:'", \ - GOTO="camera_end" - -LABEL="camera_end" --- systemd-257/rules.d/70-joystick.rules 2025-01-10 12:46:53.366666666 +0100 +++ /dev/null 2025-01-10 13:07:22.610000003 +0100 @@ -1,12 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="joystick_end" -ENV{ID_INPUT_JOYSTICK}=="", GOTO="joystick_end" -KERNEL!="event*", GOTO="joystick_end" - -# joystick::vp:name::* -KERNELS=="input*", ENV{ID_BUS}!="", \ - IMPORT{builtin}="hwdb 'joystick:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'", \ - GOTO="joystick_end" - -LABEL="joystick_end" --- systemd-257/rules.d/70-mouse.rules 2025-01-10 12:46:53.373333333 +0100 +++ /dev/null 2025-01-10 13:09:37.486666659 +0100 @@ -1,18 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="mouse_end" -KERNEL!="event*", GOTO="mouse_end" -ENV{ID_INPUT_MOUSE}=="", GOTO="mouse_end" - -# mouse::vp:name::* -KERNELS=="input*", ENV{ID_BUS}=="usb", \ - IMPORT{builtin}="hwdb 'mouse:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'", \ - GOTO="mouse_end" -KERNELS=="input*", ENV{ID_BUS}=="bluetooth", \ - IMPORT{builtin}="hwdb 'mouse:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'", \ - GOTO="mouse_end" -DRIVERS=="psmouse", SUBSYSTEMS=="serio", \ - IMPORT{builtin}="hwdb 'mouse:ps2::name:$attr{device/name}:'", \ - GOTO="mouse_end" - -LABEL="mouse_end" --- systemd-257/rules.d/70-touchpad.rules 2025-01-10 12:46:53.379999999 +0100 +++ /dev/null 2025-01-10 12:55:03.816666662 +0100 @@ -1,13 +0,0 @@ -# do not edit this file, it will be overwritten on update - -ACTION=="remove", GOTO="touchpad_end" -ENV{ID_INPUT}=="", GOTO="touchpad_end" -ENV{ID_INPUT_TOUCHPAD}=="", GOTO="touchpad_end" -KERNEL!="event*", GOTO="touchpad_end" - -# touchpad::vp:name::* -KERNELS=="input*", ENV{ID_BUS}!="", \ - IMPORT{builtin}="hwdb 'touchpad:$env{ID_BUS}:v$attr{id/vendor}p$attr{id/product}:name:$attr{name}:'", \ - GOTO="touchpad_end" - -LABEL="touchpad_end" --- systemd-257/rules.d/71-seat.rules.in.vanilla 2025-01-10 12:46:53.386666666 +0100 +++ systemd-257/rules.d/71-seat.rules.in 2025-01-10 12:47:10.966666667 +0100 @@ -28,8 +28,6 @@ ENV{DRIVER}=="", IMPORT{cmdline}="nomodeset", TAG+="seat", TAG+="master-of-seat" # Synthesize a seat for graphic devices without DRM and that fall back to fb -# device instead. Such HWs are listed in hwdb. -SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", ATTRS{modalias}=="?*", IMPORT{builtin}="hwdb fb:$attr{modalias}" ENV{ID_TAG_MASTER_OF_SEAT}=="1", TAG+="master-of-seat" SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="seat", TAG+="master-of-seat" --- systemd-257/rules.d/75-net-description.rules.vanilla 2025-01-10 12:46:53.396666666 +0100 +++ systemd-257/rules.d/75-net-description.rules 2025-01-10 12:47:10.966666667 +0100 @@ -3,14 +3,10 @@ ACTION=="remove", GOTO="net_end" SUBSYSTEM!="net", GOTO="net_end" -IMPORT{builtin}="hwdb 'net:naming:dr$env{ID_NET_DRIVER}:'" - IMPORT{builtin}="net_id" -SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb" SUBSYSTEMS=="usb", GOTO="net_end" SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}" -SUBSYSTEMS=="pci", IMPORT{builtin}="hwdb --subsystem=pci" LABEL="net_end" --- systemd-257/rules.d/78-sound-card.rules.vanilla 2025-01-10 12:46:53.403333332 +0100 +++ systemd-257/rules.d/78-sound-card.rules 2025-01-10 12:47:10.966666667 +0100 @@ -37,7 +37,6 @@ ENV{SOUND_INITIALIZED}="1" -IMPORT{builtin}="hwdb" SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id" SUBSYSTEMS=="usb", GOTO="skip_pci" --- systemd-257/rules.d/82-net-auto-link-local.rules.vanilla 2025-01-10 12:46:53.416666666 +0100 +++ systemd-257/rules.d/82-net-auto-link-local.rules 2025-01-10 12:47:10.966666667 +0100 @@ -7,7 +7,6 @@ # makes sense, because they almost certainy will point to another host, not an # internet router. -# (Note: matches against VID/PID go into 82-net-auto-link-local.hwdb instead) # Thunderbolt host-to-host connections DRIVERS=="thunderbolt-net", ENV{ID_NET_AUTO_LINK_LOCAL_ONLY}="1" --- systemd-257/rules.d/90-iocost.rules.vanilla 2025-01-10 12:46:53.419999999 +0100 +++ systemd-257/rules.d/90-iocost.rules 2025-01-10 12:47:10.966666667 +0100 @@ -15,7 +15,6 @@ ENV{ID_MODEL}!="", ENV{.MODEL}="$env{ID_MODEL}" ENV{ID_MODEL_FROM_DATABASE}!="", ENV{.MODEL}="$env{ID_MODEL_FROM_DATABASE}" -ENV{.MODEL}!="", IMPORT{builtin}="hwdb 'block::name:$env{.MODEL}:fwrev:$env{ID_REVISION}:'" ENV{IOCOST_SOLUTIONS}!="", RUN+="iocost apply $env{DEVNAME}" --- systemd-257/rules.d/99-systemd.rules.in 2025-01-10 12:46:53.429999999 +0100 +++ /dev/null 2025-01-10 12:54:31.679999992 +0100 @@ -1,94 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later -# -# This file is part of systemd. -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. - -ACTION=="remove", GOTO="systemd_end" - -SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd" -# Exclude 8250 serial ports with a zero IO port, as they are not usable until "setserial /dev/ttySxxx port …" is invoked. -SUBSYSTEM=="tty", KERNEL=="ttyS*", DRIVERS=="serial8250", ATTR{port}=="0x0", ATTR{iomem_base}=="0x0", ENV{SYSTEMD_READY}="0" -KERNEL=="vport*", TAG+="systemd" - -SUBSYSTEM=="ptp", TAG+="systemd" - -SUBSYSTEM=="mtd", TAG+="systemd" - -SUBSYSTEM=="ubi", TAG+="systemd" - -SUBSYSTEM=="block", TAG+="systemd" - -# When a dm device is first created, it's just an empty container. Ignore it. -# DM_NAME is not set in this case, but it's set on spurious "add" events that occur later. -SUBSYSTEM=="block", ACTION=="add", KERNEL=="dm-*", ENV{DM_NAME}!="?*", ENV{SYSTEMD_READY}="0" - -# DM_UDEV_DISABLE_OTHER_RULES_FLAG==1 means that the device shouldn't be probed. -# Import previous SYSTEMD_READY state. -SUBSYSTEM=="block", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}=="", IMPORT{db}="SYSTEMD_READY" - -# Ignore encrypted devices with no identified superblock on it, since -# we are probably still calling mke2fs or mkswap on it. -SUBSYSTEM=="block", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0" - -# add symlink to GPT root disk -SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}!="crypto_LUKS", SYMLINK+="gpt-auto-root" -SUBSYSTEM=="block", ENV{ID_PART_GPT_AUTO_ROOT}=="1", ENV{ID_FS_TYPE}=="crypto_LUKS", SYMLINK+="gpt-auto-root-luks" -SUBSYSTEM=="block", ENV{DM_UUID}=="CRYPT-*", ENV{DM_NAME}=="root", SYMLINK+="gpt-auto-root" - -# Ignore raid devices that are not yet assembled and started -SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", TEST!="md/array_state", ENV{SYSTEMD_READY}="0" -SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", KERNEL=="md*", ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0" - -# Ignore loop devices that don't have any file attached -SUBSYSTEM=="block", KERNEL=="loop[0-9]*", ENV{DEVTYPE}=="disk", TEST!="loop/backing_file", ENV{SYSTEMD_READY}="0" - -# Ignore nbd devices until the PID file exists (which signals a connected device) -SUBSYSTEM=="block", KERNEL=="nbd*", ENV{DEVTYPE}=="disk", TEST!="pid", ENV{SYSTEMD_READY}="0" - -# We need a hardware independent way to identify network devices. We -# use the /sys/subsystem/ path for this. Kernel "bus" and "class" names -# should be treated as one namespace, like udev handles it. This is mostly -# just an identification string for systemd, so whether the path actually is -# accessible or not does not matter as long as it is unique and in the -# filesystem namespace. - -SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/net/devices/$name" -SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}+="/sys/subsystem/bluetooth/devices/%k", \ - ENV{SYSTEMD_WANTS}+="bluetooth.target", ENV{SYSTEMD_USER_WANTS}+="bluetooth.target" - -ENV{ID_SMARTCARD_READER}=="?*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="smartcard.target", ENV{SYSTEMD_USER_WANTS}+="smartcard.target" -SUBSYSTEM=="sound", KERNEL=="controlC*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sound.target", ENV{SYSTEMD_USER_WANTS}+="sound.target" - -SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target", ENV{SYSTEMD_USER_WANTS}+="printer.target" -SUBSYSTEM=="usb", KERNEL=="lp*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target", ENV{SYSTEMD_USER_WANTS}+="printer.target" -SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="printer.target", ENV{SYSTEMD_USER_WANTS}+="printer.target" - -SUBSYSTEM=="udc", TAG+="systemd", ENV{SYSTEMD_WANTS}+="usb-gadget.target" - -# Apply sysctl variables to network devices (and only to those) as they appear. -ACTION=="add", SUBSYSTEM=="net", KERNEL!="lo", RUN+="{{LIBEXECDIR}}/systemd-sysctl --prefix=/net/ipv4/conf/$name --prefix=/net/ipv4/neigh/$name --prefix=/net/ipv6/conf/$name --prefix=/net/ipv6/neigh/$name" - -{% if ENABLE_BACKLIGHT %} -# Pull in backlight save/restore for all backlight devices and -# keyboard backlights -SUBSYSTEM=="backlight", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@backlight:$name.service" -SUBSYSTEM=="leds", KERNEL=="*kbd_backlight*", TAG+="systemd", IMPORT{builtin}="path_id", ENV{SYSTEMD_WANTS}+="systemd-backlight@leds:$name.service" -{% endif %} - -# Pull in rfkill save/restore for all rfkill devices -SUBSYSTEM=="rfkill", ENV{SYSTEMD_RFKILL}="1" -SUBSYSTEM=="rfkill", IMPORT{builtin}="path_id" -SUBSYSTEM=="misc", KERNEL=="rfkill", TAG+="systemd", ENV{SYSTEMD_WANTS}+="systemd-rfkill.socket" - -# Asynchronously mount file systems implemented by these modules as soon as they are loaded. -SUBSYSTEM=="module", KERNEL=="fuse", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-fs-fuse-connections.mount" -SUBSYSTEM=="module", KERNEL=="configfs", TAG+="systemd", ENV{SYSTEMD_WANTS}+="sys-kernel-config.mount" - -# Pull in tpm2.target whenever /dev/tpmrm* shows up -SUBSYSTEM=="tpmrm", KERNEL=="tpmrm[0-9]*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="tpm2.target" - -LABEL="systemd_end"