summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKay Sievers <kay.sievers@vrfy.org>2012-04-03 21:24:46 +0200
committerKay Sievers <kay.sievers@vrfy.org>2012-04-04 05:05:07 +0200
commit3e2147858f21943d5f4a781c60f33ac22c6096ed (patch)
treecaf12dcef379e98278f7d67a816e0f2069c8fd87 /src
parentimport udev repository (diff)
downloadsystemd-3e2147858f21943d5f4a781c60f33ac22c6096ed.tar.xz
systemd-3e2147858f21943d5f4a781c60f33ac22c6096ed.zip
move imported udev into place
Diffstat (limited to 'src')
-rw-r--r--src/99-systemd.rules.in55
-rw-r--r--src/udev/.gitignore32
-rw-r--r--src/udev/COPYING339
-rw-r--r--src/udev/ChangeLog6387
-rw-r--r--src/udev/INSTALL44
-rw-r--r--src/udev/Makefile.am712
-rw-r--r--src/udev/NEWS1735
-rw-r--r--src/udev/README101
-rw-r--r--src/udev/TODO22
-rw-r--r--src/udev/accelerometer/61-accelerometer.rules (renamed from src/udev/src/accelerometer/61-accelerometer.rules)0
-rw-r--r--src/udev/accelerometer/accelerometer.c (renamed from src/udev/src/accelerometer/accelerometer.c)0
-rw-r--r--src/udev/ata_id/ata_id.c (renamed from src/udev/src/ata_id/ata_id.c)0
-rwxr-xr-xsrc/udev/autogen.sh44
-rw-r--r--src/udev/cdrom_id/60-cdrom_id.rules (renamed from src/udev/src/cdrom_id/60-cdrom_id.rules)0
-rw-r--r--src/udev/cdrom_id/cdrom_id.c (renamed from src/udev/src/cdrom_id/cdrom_id.c)0
-rw-r--r--src/udev/collect/collect.c (renamed from src/udev/src/collect/collect.c)0
-rw-r--r--src/udev/configure.ac242
-rw-r--r--src/udev/docs/.gitignore (renamed from src/udev/src/docs/.gitignore)1
-rw-r--r--src/udev/docs/Makefile.am (renamed from src/udev/src/docs/Makefile.am)6
-rw-r--r--src/udev/docs/libudev-docs.xml (renamed from src/udev/src/docs/libudev-docs.xml)0
-rw-r--r--src/udev/docs/libudev-sections.txt (renamed from src/udev/src/docs/libudev-sections.txt)0
-rw-r--r--src/udev/docs/libudev.types (renamed from src/udev/src/docs/libudev.types)0
-rw-r--r--src/udev/docs/version.xml.in (renamed from src/udev/src/docs/version.xml.in)0
-rw-r--r--src/udev/gudev/.gitignore (renamed from src/udev/src/gudev/.gitignore)0
-rw-r--r--src/udev/gudev/docs/.gitignore (renamed from src/udev/src/gudev/docs/.gitignore)1
-rw-r--r--src/udev/gudev/docs/Makefile.am (renamed from src/udev/src/gudev/docs/Makefile.am)10
-rw-r--r--src/udev/gudev/docs/gudev-docs.xml (renamed from src/udev/src/gudev/docs/gudev-docs.xml)0
-rw-r--r--src/udev/gudev/docs/gudev-sections.txt (renamed from src/udev/src/gudev/docs/gudev-sections.txt)0
-rw-r--r--src/udev/gudev/docs/gudev.types (renamed from src/udev/src/gudev/docs/gudev.types)0
-rw-r--r--src/udev/gudev/docs/version.xml.in (renamed from src/udev/src/gudev/docs/version.xml.in)0
-rwxr-xr-xsrc/udev/gudev/gjs-example.js (renamed from src/udev/src/gudev/gjs-example.js)0
-rw-r--r--src/udev/gudev/gudev-1.0.pc.in (renamed from src/udev/src/gudev/gudev-1.0.pc.in)0
-rw-r--r--src/udev/gudev/gudev.h (renamed from src/udev/src/gudev/gudev.h)0
-rw-r--r--src/udev/gudev/gudevclient.c (renamed from src/udev/src/gudev/gudevclient.c)0
-rw-r--r--src/udev/gudev/gudevclient.h (renamed from src/udev/src/gudev/gudevclient.h)0
-rw-r--r--src/udev/gudev/gudevdevice.c (renamed from src/udev/src/gudev/gudevdevice.c)0
-rw-r--r--src/udev/gudev/gudevdevice.h (renamed from src/udev/src/gudev/gudevdevice.h)0
-rw-r--r--src/udev/gudev/gudevenumerator.c (renamed from src/udev/src/gudev/gudevenumerator.c)0
-rw-r--r--src/udev/gudev/gudevenumerator.h (renamed from src/udev/src/gudev/gudevenumerator.h)0
-rw-r--r--src/udev/gudev/gudevenums.h (renamed from src/udev/src/gudev/gudevenums.h)0
-rw-r--r--src/udev/gudev/gudevenumtypes.c.template (renamed from src/udev/src/gudev/gudevenumtypes.c.template)0
-rw-r--r--src/udev/gudev/gudevenumtypes.h.template (renamed from src/udev/src/gudev/gudevenumtypes.h.template)0
-rw-r--r--src/udev/gudev/gudevmarshal.list (renamed from src/udev/src/gudev/gudevmarshal.list)0
-rw-r--r--src/udev/gudev/gudevprivate.h (renamed from src/udev/src/gudev/gudevprivate.h)0
-rw-r--r--src/udev/gudev/gudevtypes.h (renamed from src/udev/src/gudev/gudevtypes.h)0
-rwxr-xr-xsrc/udev/gudev/seed-example-enum.js (renamed from src/udev/src/gudev/seed-example-enum.js)0
-rwxr-xr-xsrc/udev/gudev/seed-example.js (renamed from src/udev/src/gudev/seed-example.js)0
-rw-r--r--src/udev/keymap/.gitignore (renamed from src/udev/src/keymap/.gitignore)0
-rw-r--r--src/udev/keymap/95-keyboard-force-release.rules (renamed from src/udev/src/keymap/95-keyboard-force-release.rules)0
-rw-r--r--src/udev/keymap/95-keymap.rules (renamed from src/udev/src/keymap/95-keymap.rules)0
-rw-r--r--src/udev/keymap/README.keymap.txt (renamed from src/udev/src/keymap/README.keymap.txt)0
-rwxr-xr-xsrc/udev/keymap/check-keymaps.sh (renamed from src/udev/src/keymap/check-keymaps.sh)0
-rwxr-xr-xsrc/udev/keymap/findkeyboards (renamed from src/udev/src/keymap/findkeyboards)0
-rw-r--r--src/udev/keymap/force-release-maps/common-volume-keys (renamed from src/udev/src/keymap/force-release-maps/common-volume-keys)0
-rw-r--r--src/udev/keymap/force-release-maps/dell-touchpad (renamed from src/udev/src/keymap/force-release-maps/dell-touchpad)0
-rw-r--r--src/udev/keymap/force-release-maps/hp-other (renamed from src/udev/src/keymap/force-release-maps/hp-other)0
-rw-r--r--src/udev/keymap/force-release-maps/samsung-90x3a (renamed from src/udev/src/keymap/force-release-maps/samsung-90x3a)0
-rw-r--r--src/udev/keymap/force-release-maps/samsung-other (renamed from src/udev/src/keymap/force-release-maps/samsung-other)0
-rwxr-xr-xsrc/udev/keymap/keyboard-force-release.sh.in (renamed from src/udev/src/keymap/keyboard-force-release.sh.in)0
-rw-r--r--src/udev/keymap/keymap.c (renamed from src/udev/src/keymap/keymap.c)2
-rw-r--r--src/udev/keymap/keymaps/acer (renamed from src/udev/src/keymap/keymaps/acer)0
-rw-r--r--src/udev/keymap/keymaps/acer-aspire_5720 (renamed from src/udev/src/keymap/keymaps/acer-aspire_5720)0
-rw-r--r--src/udev/keymap/keymaps/acer-aspire_5920g (renamed from src/udev/src/keymap/keymaps/acer-aspire_5920g)0
-rw-r--r--src/udev/keymap/keymaps/acer-aspire_6920 (renamed from src/udev/src/keymap/keymaps/acer-aspire_6920)0
-rw-r--r--src/udev/keymap/keymaps/acer-aspire_8930 (renamed from src/udev/src/keymap/keymaps/acer-aspire_8930)0
-rw-r--r--src/udev/keymap/keymaps/acer-travelmate_c300 (renamed from src/udev/src/keymap/keymaps/acer-travelmate_c300)0
-rw-r--r--src/udev/keymap/keymaps/asus (renamed from src/udev/src/keymap/keymaps/asus)0
-rw-r--r--src/udev/keymap/keymaps/compaq-e_evo (renamed from src/udev/src/keymap/keymaps/compaq-e_evo)0
-rw-r--r--src/udev/keymap/keymaps/dell (renamed from src/udev/src/keymap/keymaps/dell)0
-rw-r--r--src/udev/keymap/keymaps/dell-latitude-xt2 (renamed from src/udev/src/keymap/keymaps/dell-latitude-xt2)0
-rw-r--r--src/udev/keymap/keymaps/everex-xt5000 (renamed from src/udev/src/keymap/keymaps/everex-xt5000)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-amilo_li_2732 (renamed from src/udev/src/keymap/keymaps/fujitsu-amilo_li_2732)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-amilo_pa_2548 (renamed from src/udev/src/keymap/keymaps/fujitsu-amilo_pa_2548)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 (renamed from src/udev/src/keymap/keymaps/fujitsu-amilo_pro_edition_v3505)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-amilo_pro_v3205 (renamed from src/udev/src/keymap/keymaps/fujitsu-amilo_pro_v3205)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-amilo_si_1520 (renamed from src/udev/src/keymap/keymaps/fujitsu-amilo_si_1520)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v5 (renamed from src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v5)0
-rw-r--r--src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v6 (renamed from src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v6)0
-rw-r--r--src/udev/keymap/keymaps/genius-slimstar-320 (renamed from src/udev/src/keymap/keymaps/genius-slimstar-320)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard (renamed from src/udev/src/keymap/keymaps/hewlett-packard)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard-2510p_2530p (renamed from src/udev/src/keymap/keymaps/hewlett-packard-2510p_2530p)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard-compaq_elitebook (renamed from src/udev/src/keymap/keymaps/hewlett-packard-compaq_elitebook)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard-pavilion (renamed from src/udev/src/keymap/keymaps/hewlett-packard-pavilion)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard-presario-2100 (renamed from src/udev/src/keymap/keymaps/hewlett-packard-presario-2100)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard-tablet (renamed from src/udev/src/keymap/keymaps/hewlett-packard-tablet)0
-rw-r--r--src/udev/keymap/keymaps/hewlett-packard-tx2 (renamed from src/udev/src/keymap/keymaps/hewlett-packard-tx2)0
-rw-r--r--src/udev/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint (renamed from src/udev/src/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint)0
-rw-r--r--src/udev/keymap/keymaps/inventec-symphony_6.0_7.0 (renamed from src/udev/src/keymap/keymaps/inventec-symphony_6.0_7.0)0
-rw-r--r--src/udev/keymap/keymaps/lenovo-3000 (renamed from src/udev/src/keymap/keymaps/lenovo-3000)0
-rw-r--r--src/udev/keymap/keymaps/lenovo-ideapad (renamed from src/udev/src/keymap/keymaps/lenovo-ideapad)0
-rw-r--r--src/udev/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint (renamed from src/udev/src/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint)0
-rw-r--r--src/udev/keymap/keymaps/lenovo-thinkpad_x200_tablet (renamed from src/udev/src/keymap/keymaps/lenovo-thinkpad_x200_tablet)0
-rw-r--r--src/udev/keymap/keymaps/lenovo-thinkpad_x6_tablet (renamed from src/udev/src/keymap/keymaps/lenovo-thinkpad_x6_tablet)0
-rw-r--r--src/udev/keymap/keymaps/lg-x110 (renamed from src/udev/src/keymap/keymaps/lg-x110)0
-rw-r--r--src/udev/keymap/keymaps/logitech-wave (renamed from src/udev/src/keymap/keymaps/logitech-wave)0
-rw-r--r--src/udev/keymap/keymaps/logitech-wave-cordless (renamed from src/udev/src/keymap/keymaps/logitech-wave-cordless)0
-rw-r--r--src/udev/keymap/keymaps/logitech-wave-pro-cordless (renamed from src/udev/src/keymap/keymaps/logitech-wave-pro-cordless)0
-rw-r--r--src/udev/keymap/keymaps/maxdata-pro_7000 (renamed from src/udev/src/keymap/keymaps/maxdata-pro_7000)0
-rw-r--r--src/udev/keymap/keymaps/medion-fid2060 (renamed from src/udev/src/keymap/keymaps/medion-fid2060)0
-rw-r--r--src/udev/keymap/keymaps/medionnb-a555 (renamed from src/udev/src/keymap/keymaps/medionnb-a555)0
-rw-r--r--src/udev/keymap/keymaps/micro-star (renamed from src/udev/src/keymap/keymaps/micro-star)0
-rw-r--r--src/udev/keymap/keymaps/module-asus-w3j (renamed from src/udev/src/keymap/keymaps/module-asus-w3j)0
-rw-r--r--src/udev/keymap/keymaps/module-ibm (renamed from src/udev/src/keymap/keymaps/module-ibm)0
-rw-r--r--src/udev/keymap/keymaps/module-lenovo (renamed from src/udev/src/keymap/keymaps/module-lenovo)0
-rw-r--r--src/udev/keymap/keymaps/module-sony (renamed from src/udev/src/keymap/keymaps/module-sony)0
-rw-r--r--src/udev/keymap/keymaps/module-sony-old (renamed from src/udev/src/keymap/keymaps/module-sony-old)0
-rw-r--r--src/udev/keymap/keymaps/module-sony-vgn (renamed from src/udev/src/keymap/keymaps/module-sony-vgn)0
-rw-r--r--src/udev/keymap/keymaps/olpc-xo (renamed from src/udev/src/keymap/keymaps/olpc-xo)0
-rw-r--r--src/udev/keymap/keymaps/onkyo (renamed from src/udev/src/keymap/keymaps/onkyo)0
-rw-r--r--src/udev/keymap/keymaps/oqo-model2 (renamed from src/udev/src/keymap/keymaps/oqo-model2)0
-rw-r--r--src/udev/keymap/keymaps/samsung-90x3a (renamed from src/udev/src/keymap/keymaps/samsung-90x3a)0
-rw-r--r--src/udev/keymap/keymaps/samsung-other (renamed from src/udev/src/keymap/keymaps/samsung-other)0
-rw-r--r--src/udev/keymap/keymaps/samsung-sq1us (renamed from src/udev/src/keymap/keymaps/samsung-sq1us)0
-rw-r--r--src/udev/keymap/keymaps/samsung-sx20s (renamed from src/udev/src/keymap/keymaps/samsung-sx20s)0
-rw-r--r--src/udev/keymap/keymaps/toshiba-satellite_a100 (renamed from src/udev/src/keymap/keymaps/toshiba-satellite_a100)0
-rw-r--r--src/udev/keymap/keymaps/toshiba-satellite_a110 (renamed from src/udev/src/keymap/keymaps/toshiba-satellite_a110)0
-rw-r--r--src/udev/keymap/keymaps/toshiba-satellite_m30x (renamed from src/udev/src/keymap/keymaps/toshiba-satellite_m30x)0
-rw-r--r--src/udev/keymap/keymaps/zepto-znote (renamed from src/udev/src/keymap/keymaps/zepto-znote)0
-rw-r--r--src/udev/libudev-device-private.c (renamed from src/udev/src/libudev-device-private.c)0
-rw-r--r--src/udev/libudev-device.c (renamed from src/udev/src/libudev-device.c)0
-rw-r--r--src/udev/libudev-enumerate.c (renamed from src/udev/src/libudev-enumerate.c)0
-rw-r--r--src/udev/libudev-list.c (renamed from src/udev/src/libudev-list.c)0
-rw-r--r--src/udev/libudev-monitor.c (renamed from src/udev/src/libudev-monitor.c)0
-rw-r--r--src/udev/libudev-private.h (renamed from src/udev/src/libudev-private.h)2
-rw-r--r--src/udev/libudev-queue-private.c (renamed from src/udev/src/libudev-queue-private.c)0
-rw-r--r--src/udev/libudev-queue.c (renamed from src/udev/src/libudev-queue.c)0
-rw-r--r--src/udev/libudev-selinux-private.c (renamed from src/udev/src/libudev-selinux-private.c)0
-rw-r--r--src/udev/libudev-util-private.c (renamed from src/udev/src/libudev-util-private.c)0
-rw-r--r--src/udev/libudev-util.c (renamed from src/udev/src/libudev-util.c)0
-rw-r--r--src/udev/libudev.c (renamed from src/udev/src/libudev.c)2
-rw-r--r--src/udev/libudev.h (renamed from src/udev/src/libudev.h)0
-rw-r--r--src/udev/libudev.pc.in (renamed from src/udev/src/libudev.pc.in)0
-rw-r--r--src/udev/m4/.gitignore4
-rw-r--r--src/udev/mtd_probe/75-probe_mtd.rules (renamed from src/udev/src/mtd_probe/75-probe_mtd.rules)0
-rw-r--r--src/udev/mtd_probe/mtd_probe.c (renamed from src/udev/src/mtd_probe/mtd_probe.c)0
-rw-r--r--src/udev/mtd_probe/mtd_probe.h (renamed from src/udev/src/mtd_probe/mtd_probe.h)0
-rw-r--r--src/udev/mtd_probe/probe_smartmedia.c (renamed from src/udev/src/mtd_probe/probe_smartmedia.c)0
-rw-r--r--src/udev/rules/42-usb-hid-pm.rules49
-rw-r--r--src/udev/rules/50-udev-default.rules107
-rw-r--r--src/udev/rules/60-persistent-alsa.rules14
-rw-r--r--src/udev/rules/60-persistent-input.rules38
-rw-r--r--src/udev/rules/60-persistent-serial.rules20
-rw-r--r--src/udev/rules/60-persistent-storage-tape.rules25
-rw-r--r--src/udev/rules/60-persistent-storage.rules89
-rw-r--r--src/udev/rules/75-net-description.rules14
-rw-r--r--src/udev/rules/75-tty-description.rules14
-rw-r--r--src/udev/rules/78-sound-card.rules89
-rw-r--r--src/udev/rules/80-drivers.rules12
-rw-r--r--src/udev/rules/95-udev-late.rules4
-rw-r--r--src/udev/scsi_id/.gitignore (renamed from src/udev/src/scsi_id/.gitignore)0
-rw-r--r--src/udev/scsi_id/README (renamed from src/udev/src/scsi_id/README)0
-rw-r--r--src/udev/scsi_id/scsi.h (renamed from src/udev/src/scsi_id/scsi.h)0
-rw-r--r--src/udev/scsi_id/scsi_id.c (renamed from src/udev/src/scsi_id/scsi_id.c)0
-rw-r--r--src/udev/scsi_id/scsi_id.h (renamed from src/udev/src/scsi_id/scsi_id.h)0
-rw-r--r--src/udev/scsi_id/scsi_serial.c (renamed from src/udev/src/scsi_id/scsi_serial.c)0
-rw-r--r--src/udev/src/.gitignore5
-rw-r--r--src/udev/src/COPYING502
-rw-r--r--src/udev/src/floppy/60-floppy.rules4
-rw-r--r--src/udev/src/floppy/create_floppy_devices.c177
-rw-r--r--src/udev/src/gudev/COPYING502
-rw-r--r--src/udev/src/rule_generator/75-cd-aliases-generator.rules9
-rw-r--r--src/udev/src/rule_generator/75-persistent-net-generator.rules102
-rw-r--r--src/udev/src/rule_generator/rule_generator.functions113
-rw-r--r--src/udev/src/rule_generator/write_cd_rules126
-rw-r--r--src/udev/src/rule_generator/write_net_rules141
-rw-r--r--src/udev/src/scsi_id/scsi_id.8119
-rw-r--r--src/udev/src/sd-daemon.c530
-rw-r--r--src/udev/src/sd-daemon.h282
-rw-r--r--src/udev/src/udev-control.socket10
-rw-r--r--src/udev/src/udev-kernel.socket10
-rw-r--r--src/udev/src/udev-settle.service.in25
-rw-r--r--src/udev/src/udev-trigger.service.in10
-rw-r--r--src/udev/src/udev.service.in14
-rw-r--r--src/udev/src/udev.xml695
-rw-r--r--src/udev/src/udevadm.xml472
-rw-r--r--src/udev/src/udevd.xml151
-rw-r--r--src/udev/test-libudev.c (renamed from src/udev/src/test-libudev.c)0
-rw-r--r--src/udev/test-udev.c (renamed from src/udev/src/test-udev.c)0
-rwxr-xr-xsrc/udev/test/rules-test.sh2
-rw-r--r--src/udev/udev-builtin-blkid.c (renamed from src/udev/src/udev-builtin-blkid.c)0
-rw-r--r--src/udev/udev-builtin-firmware.c (renamed from src/udev/src/udev-builtin-firmware.c)0
-rw-r--r--src/udev/udev-builtin-hwdb.c (renamed from src/udev/src/udev-builtin-hwdb.c)0
-rw-r--r--src/udev/udev-builtin-input_id.c (renamed from src/udev/src/udev-builtin-input_id.c)0
-rw-r--r--src/udev/udev-builtin-kmod.c (renamed from src/udev/src/udev-builtin-kmod.c)0
-rw-r--r--src/udev/udev-builtin-path_id.c (renamed from src/udev/src/udev-builtin-path_id.c)0
-rw-r--r--src/udev/udev-builtin-usb_id.c (renamed from src/udev/src/udev-builtin-usb_id.c)0
-rw-r--r--src/udev/udev-builtin.c (renamed from src/udev/src/udev-builtin.c)0
-rw-r--r--src/udev/udev-ctrl.c (renamed from src/udev/src/udev-ctrl.c)0
-rw-r--r--src/udev/udev-event.c (renamed from src/udev/src/udev-event.c)2
-rw-r--r--src/udev/udev-node.c (renamed from src/udev/src/udev-node.c)0
-rw-r--r--src/udev/udev-rules.c (renamed from src/udev/src/udev-rules.c)0
-rw-r--r--src/udev/udev-watch.c (renamed from src/udev/src/udev-watch.c)0
-rw-r--r--src/udev/udev.conf (renamed from src/udev/src/udev.conf)0
-rw-r--r--src/udev/udev.h (renamed from src/udev/src/udev.h)0
-rw-r--r--src/udev/udev.pc.in (renamed from src/udev/src/udev.pc.in)0
-rw-r--r--src/udev/udevadm-control.c (renamed from src/udev/src/udevadm-control.c)0
-rw-r--r--src/udev/udevadm-info.c (renamed from src/udev/src/udevadm-info.c)0
-rw-r--r--src/udev/udevadm-monitor.c (renamed from src/udev/src/udevadm-monitor.c)0
-rw-r--r--src/udev/udevadm-settle.c (renamed from src/udev/src/udevadm-settle.c)0
-rw-r--r--src/udev/udevadm-test-builtin.c (renamed from src/udev/src/udevadm-test-builtin.c)0
-rw-r--r--src/udev/udevadm-test.c (renamed from src/udev/src/udevadm-test.c)0
-rw-r--r--src/udev/udevadm-trigger.c (renamed from src/udev/src/udevadm-trigger.c)0
-rw-r--r--src/udev/udevadm.c (renamed from src/udev/src/udevadm.c)0
-rw-r--r--src/udev/udevd.c (renamed from src/udev/src/udevd.c)2
-rw-r--r--src/udev/v4l_id/60-persistent-v4l.rules (renamed from src/udev/src/v4l_id/60-persistent-v4l.rules)0
-rw-r--r--src/udev/v4l_id/v4l_id.c (renamed from src/udev/src/v4l_id/v4l_id.c)0
206 files changed, 21 insertions, 14200 deletions
diff --git a/src/99-systemd.rules.in b/src/99-systemd.rules.in
deleted file mode 100644
index d306f71b63..0000000000
--- a/src/99-systemd.rules.in
+++ /dev/null
@@ -1,55 +0,0 @@
-# This file is part of systemd.
-#
-# systemd is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-
-ACTION=="remove", GOTO="systemd_end"
-
-SUBSYSTEM=="tty", KERNEL=="tty[0-9]|tty1[0-2]", TAG+="systemd"
-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd"
-
-KERNEL=="vport*", TAG+="systemd"
-
-SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd"
-SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
-
-# Ignore encrypted devices with no identified superblock on it, since
-# we are probably still calling mke2fs or mkswap on it.
-
-SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UUID}=="CRYPT-*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
-
-# We need a hardware independent way to identify network devices. We
-# use the /sys/subsystem path for this. Current vanilla kernels don't
-# actually support that hierarchy right now, however upcoming kernels
-# will. HAL and udev internally support /sys/subsystem already, hence
-# it should be safe to use this here, too. 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.
-#
-# http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=libudev/libudev-enumerate.c;h=da831449dcaf5e936a14409e8e68ab12d30a98e2;hb=HEAD#l742
-
-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"
-
-SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}="bluetooth.target"
-ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}="smartcard.target"
-SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}="sound.target"
-
-SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}="printer.target"
-SUBSYSTEM=="usb", KERNEL=="lp*", TAG+="systemd", ENV{SYSTEMD_WANTS}="printer.target"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", TAG+="systemd", ENV{SYSTEMD_WANTS}="printer.target"
-
-# Apply sysctl variables to network devices (and only to those) as they appear.
-
-SUBSYSTEM=="net", KERNEL!="lo", RUN+="@rootlibexecdir@/systemd-sysctl --prefix=/proc/sys/net/ipv4/conf/$name --prefix=/proc/sys/net/ipv4/neigh/$name --prefix=/proc/sys/net/ipv6/conf/$name --prefix=/proc/sys/net/ipv6/neigh/$name"
-
-# Asynchronously mount file systems implemented by these modules as
-# soon as they are loaded.
-
-SUBSYSTEM=="module", KERNEL=="fuse", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}="sys-fs-fuse-connections.mount"
-SUBSYSTEM=="module", KERNEL=="configfs", ACTION=="add", TAG+="systemd", ENV{SYSTEMD_WANTS}="sys-kernel-config.mount"
-
-LABEL="systemd_end"
diff --git a/src/udev/.gitignore b/src/udev/.gitignore
index fa3500ba96..e697a57ec3 100644
--- a/src/udev/.gitignore
+++ b/src/udev/.gitignore
@@ -1,31 +1,4 @@
-*~
-*.o
-*.a
-*.lo
-*.la
-.libs
-.deps
-.dirstamp
-Makefile
-Makefile.in
-/aclocal.m4
-/autom4te.cache
-/config.h
-/config.h.in
-/config.log
-/config.status
-/config.guess
-/config.sub
-/libtool
-/ltmain.sh
-/install-sh
-/missing
-/configure
-/stamp-h1
-/depcomp
/gtk-doc.make
-/build-aux
-/udev-test-install
/udevd
/udevadm
/test-udev
@@ -38,3 +11,8 @@ Makefile.in
/v4l_id
/keymap
/scsi_id
+*.[78]
+*.html
+udev.pc
+libudev.pc
+udev*.service
diff --git a/src/udev/COPYING b/src/udev/COPYING
deleted file mode 100644
index d159169d10..0000000000
--- a/src/udev/COPYING
+++ /dev/null
@@ -1,339 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/src/udev/ChangeLog b/src/udev/ChangeLog
deleted file mode 100644
index dd58138263..0000000000
--- a/src/udev/ChangeLog
+++ /dev/null
@@ -1,6387 +0,0 @@
-Summary of changes from v181 to v182
-============================================
-
-Kay Sievers (22):
- build-sys: unpack test sysfs only for 'make check'
- build-sys: add --disable-manpages
- update sd-daemon files
- test: remove outdated key attributes
- update TOO
- builtin: path_id - remove dead cciss code
- rules: do not create by-id/scsi-* links for ATA devices
- remove udev-acl
- udev.conf - do not set any value by default
- move src/extras subdirectories to src/
- rules: delete outdated 30-kernel-compat.rules
- rules: move 42-qemu-usb.rules to rules/ dir
- remove edd_id extra
- build-sys: remove empty directory
- rules: delete s390 rules, they will move to s390utils
- update TODO
- rules: move all rules to top level rules/ dir
- extras: path_id - skip ATA transport class devices
- extras: path_id - add comment about readdir() rebase logic
- extras: ata_id - do not log error if HDIO_GET_IDENTITY fails
- rules sort order: /lib, /run, /etc
- build-sys: place build binaries in the root
-
-Matthew Garrett (1):
- rules: Enable USB autosuspend on more USB HID devices
-
-
-Summary of changes from v180 to v181
-============================================
-
-Andreas Schwab (1):
- ata_id: fix identify string fixup
-
-Bruno Redondi (1):
- keymap: Add Fujitsu Siemens Amilo Li 2732
-
-James M. Leddy (1):
- keymap: Fix touchpad toggle button on Lenovo Ideapad
-
-Kay Sievers (4):
- configure: show ROOTPREFIX in firmware path option help text
- extras: cdrom_id - create /dev/cdrom and conditionally /dev/dvd for sr0
- extras: cdrom_id - create only /dev/cdrom
- ata_id: whitespace fixes
-
-Lucas De Marchi (1):
- builtin: kmod - depend on libkmod >= 5
-
-
-Summary of changes from v179 to v180
-============================================
-
-Kay Sievers (4):
- Makefile: update kernel.org hooks
- build-sys: we need to install shipped man pages without xsltproc installed
- builtin: blkid - add missing ID_ prefix for PART_ENTRY_* keys
- do not stop rule processing when device node is no longer around
-
-
-Summary of changes from v178 to v179
-============================================
-
-Kay Sievers (8):
- fix some fallout from tab removal
- use devnode() for $name not sysname(), device nodes might be in a subdirectory
- print warning when rules try to rename kernel device nodes
- move variable inside condition
- update TODO
- build-sys: enable everything for 'make distcheck'
- use sysname() for devices without a device node
- fix path to extras
-
-
-Summary of changes from v177 to v178
-============================================
-
-Evan Nemerson (1):
- gudev: several minor introspection fixes
-
-Kay Sievers (7):
- Makefile: update kernel.org doc hooks for kup
- builtin: blkid - add missing ID_ prefix
- udevd: kill hanging event processes after 30 seconds
- Makefile: switch from .asc to .sign
- rules: rtc - point /dev/rtc symlink to 'hctosys' device
- warn about deprecated RUN+="socket:" use
- libudev: do not set DEVNAME= twice
-
-Martin Pitt (4):
- keymap: Fix rfkill button on Hewlett-Packard HP ProBook
- keymap: Fix eject button on Samsung 700Z series
- keymap: Fix keyboard brightness keys on Samsung 700Z series
- keymap: Add Alienware M14xR1
-
-
-Summary of changes from v176 to v177
-============================================
-
-Kay Sievers (3):
- Makefile: update kernel.org sign and upload hook
- rule_generator: fix to install rules in rules.d/
- rule_generator: use += for dist_udevhome_DATA
-
-
-Summary of changes from v175 to v176
-============================================
-
-Alan Stern (1):
- [PATCH[ udev: ata_id: Fix length of INQUIRY command
-
-Kay Sievers (61):
- libudev: print log_fn address instead of ctx when setting logging function
- do not ship autogen.sh in the tarball
- man: clarify 'config file stack'
- rename 'init' directory to 'systemd'
- systemd: use PassCred=yes
- use libexecdir, bindir, sbindir, switch to /usr/lib/udev in documentation
- configure: fix typo
- make: do not (mis-)use the config file generator, create .xz tarball
- prepare builtins for blkid and kmod
- add builtin load/unload initializers
- build argv[] for builtin commands
- update blkid builtin
- rules: switch to built-in blkid
- rules: do not preprocess 60-persistent-storage.rules
- buildsys: disable tar.gz
- builtin: blkid - add missing newline
- builtin: blkid - add missing ID_FS_USAGE
- builtin: kmod - switch modprobe to builtin
- rules: do not preprocess 80-drivers.rules + 75-probe_mtd.rules
- builtin: apply format string
- remove last sbindir use
- update NEWS
- autogen.sh: moce CFLAGS from to configure.ac; print common ./configure options
- builtin: kmod - link against libkmod
- add copyright
- builtin: kmod - reload index when rules are reloaded
- builtin: rename load()/unload() to init()/exit()
- invalidate rules and kmod index with 'udevadm control --reload'
- update NEWS
- builtin: firmware - move 'firmware' tool to builtins
- builtin: firmware - add missing file
- builtin: kmod - hook up udev main logging to libkmod
- make: introduce --with-rootprefix=
- update NEWS
- move rules dirs to udev context; replace inotify with time-controlled stat()
- udevd: always create runtime dir
- builtin: move usb-db, pci-db to builtins
- builtin: kmod - switch to kmod_module_probe_insert_module()
- udevd: remove TIMEOUT= handling
- update README
- systemd: rename PassCred= to PsssCredentials=
- remove mknod() logic and rely on 'devtmpfs'
- builtin: kmod - hook up kmod_validate_resources()
- build-sys: use use ${ac_default_prefix}
- require kmod >= 3
- build-sys: use --libexecdir=/usr/lib instead of /usr/lib/udev
- autogen.sh: enable git pre-commit
- merge udev/, libudev/, systemd/ files in src/; move extras/ to src/
- replace unpacked sysfs test tree 'test/sys/' with packed tarball
- rules: delete arch specific rules
- doc: fix out of tree build (copy from libkmod)
- autogen.sh: add CFLAGS and print entire line, so that mouse copy/paste works
- build-sys: try to build without installed xsltproc
- add test/src to .gitignore
- tabs are as useful as a hole in the head
- autogen.sh: makedev() misteriously breaks with -O0 here, use -O1 for now
- fix debug message
- add .vimrc
- cdrom_id: int -> bool
- fix compiler warning
- man: mention that no daemons should be started by udev
-
-Lucas De Marchi (1):
- builtin: kmod - log if modules are blacklisted
-
-Luis Felipe Strano Moraes (1):
- Switch spawn_read to void and remove useless stores there.
-
-Martin Pitt (1):
- 75-persistent-net-generator.rules: Add Xen
-
-Mike Frysinger (1):
- hwdb: drop useless line freeing
-
-Sjoerd Simons (1):
- keymap: Add Lenovo Thinkpad X220 Tablet
-
-Ville Skyttä (1):
- man: spelling fix
-
-
-Summary of changes from v174 to v175
-============================================
-
-David Zeuthen (2):
- gudev: Use strtoul to parse unsigned 64-bit integers
- gudev: Use g_ascii_strtoull() instead of strtoul()
-
-Harald Hoyer (1):
- extras/keymap/findkeyboards: beautify shell code and get rid of grep
-
-Jerone Young (1):
- keymap: Fix micmute remap for Lenovo Thinkpads
-
-Kay Sievers (7):
- make: add gpg signing bits
- ignore entire rules line if unknown keys are used
- do not skip /dev/{disk,char}/M:m removal when the device node is already gone
- replace AC_DISABLE_STATIC with LT_INIT([disable-static])
- make: tweak some autofoo according to Flameeyes' recommendations for libabc
- rules: restore rule to set cdrom group for optical drives
- rules: fix typo
-
-Martin Pitt (8):
- check-keymaps.sh: Allow running separately
- extras/keymap/findkeyboards: Filter out non-event devices
- findkeyboards: Consistently use spaces instead of tabs
- keymap: Fix stuck keys on GIGABYTE i1520M
- keymap: More Asus module variants
- keymap: Fix "internet" key on HP G62
- keymap: Fix bluetooth key on Acer TravelMate 7720
- keymap: Fix stuck keys on BenQ nScreen
-
-
-Summary of changes from v173 to v174
-============================================
-
-David Zeuthen (1):
- ata_id: Check for Compact Flash card
-
-Jerone Young (1):
- Add mic mute keycode support for Lenovo Thinkpad USB keyboard
-
-Kay Sievers (34):
- gtk-doc: delete empty files
- libudev: list - use binary search for list lookup
- rules: move input_id to default rules
- implement path_id, usb_id, input_id as built-in command
- do not remove static nodes on module unload
- rules: remove legacy rules for cdrom and usb printer
- update TODO
- preserve 'sticky bit' on 'add/change' events
- libudev: util_get_sys_(subsystem,driver}() -> util_get_sys_core_link_value()
- export USEC_INITIALIZED= and take timestamp on message receive time
- libudev: udev_device_get_sysattr_value() return syspath of custom links
- libudev: list - properly sort linked list not only the index
- mknod: do not complain about existing node
- update README
- libudev: fix typo in documentation
- rules: fuse: do not mount fusectl from udev rules
- keymap: add genius keymap to Makefile
- update NEWS
- usb_id: can't use global variables when used as built-in
- remove 'udevadm trigger --type=failed' and SYSFS, ID, BUS keys
- libudev: export udev_util_encode_string()
- update TODO
- systemd: no not start udev in a container
- systemd: no not start udev in a container
- delete left-over files in extras/
- systemd: update drop-in sd-daemon files
- udevadm: control - use /run/udev/control socket instead of abstract namespace one
- udevd: control - no not delete socket file when --daemon is used
- udev_ctrl_cleanup()- accept NULL as argument
- update NEWS
- udevd: install into /lib/udev instead of /sbin
- udevd: add missing braces
- systemd: use ConditionCapability=CAP_MKNOD instead of ConditionVirtualization=!container
- rules: do not load sg module
-
-Kir Kolyshkin (1):
- keymap: add Genius SlimStar 320
-
-Martin Pitt (1):
- keymap: Update Acer Aspire 5920g
-
-Matthias Clasen (1):
- make: allow to pass ${ACLOCAL_FLAGS}
-
-Paul Fox (1):
- keymap: update the OLPC keymap for correct function key behavior
-
-Petr Uzel (1):
- udevadm: settle - return failure if unknown option is given
-
-Steve Langasek (1):
- udevd: exit - process events before signals in worker
-
-Thomas Hood (2):
- keymap: Support keymap overrides in /etc/udev/keymaps
- keymap: Support for microphone mute button on ThinkPad X220 et al
-
-
-Summary of changes from v172 to v173
-============================================
-
-Allin Cottrell (1):
- configure: allow to disable mtd_probe
-
-Kay Sievers (15):
- make: fix 'make tar-sync'
- udevd: use 'uptime' in debug timestamp
- udevd: fix (recently) broken static node permission setting
- rules: mount fuse filesystem only 'add'
- udevadm: move udevadm command descriptions into their files
- udev-acl: skip ACLs when systemd is running, disable by default
- do not delete database when renaming netif, the db name does not change anymore
- do not allow kernel properties to be set by udev rules
- configure: reorder options
- rules: input - do not create (broken) links for bluetooth devices
- rules: serial - do not export ID_PORT, use ID_USB_INTERFACE_NUM
- rules: sound - instead of ID_IFACE use standard ID_USB_INTERFACE_NUM
- keymap: do not run usb_id for bluetooth devices
- udevadm: trigger --type=failed - log deprecation warning
- udevd: debug - put timestamp in []
-
-Martin Pitt (4):
- gudev: Ship JavaScript examples
- scsi_id: Ship README
- Remove obsolete extras/scsi_id/scsi_id.config
- keymap: Only run on key devices
-
-
-Summary of changes from v171 to v172
-============================================
-
-Bastien Nocera (3):
- accelerometer: add orientation property
- udev-acl: fix memleak
- accelerometer: add documentation
-
-Harald Hoyer (2):
- udevadm-*.c: return != 0, if unknown option given
- udev/udevadm-monitor.c: fixed misplaced brace
-
-Kay Sievers (33):
- rules: apply 'audio' group of the static snd/{seq,timer} nodes
- Makefile: add tar-sync
- rules: static_node - use 0660 if group is given to get the cigar
- rule-syntax-check.py: use print()
- make: use 'git tag'
- rules: run input_id for main input devices too
- update TODO
- configure: add AC_CONFIG_AUX_DIR, AC_CONFIG_SRCDIR
- cdrom_id: add tray lock and eject handling
- rules: enable in-kernel media-presence polling
- update TODO
- delete mobile-action-modeswitch which has moved to usb_modeswitch
- libudev: enumerate - scan /sys/module
- rules: move polling rule above 'block' match
- libudev: monitor - update doc
- rules: set polling value only if it is disabled
- libudev: device - fix udev_device_get_tags_list_entry() to always load database
- rules: remove redundant MODE="0664" from lp rules
- rules: fix wrong wildcard match, we always need a ':*' at the end
- libudev: device - export udev_device_has_tag()
- path_id: add missing '-' to tape suffix
- path_id: add ID_PATH_TAG= to be used in udev tags
- enforce valid TAG+= names
- update TODO
- libudev: device - add udev_device_has_tag() to libudev.h and gtk-doc
- libudev: enumerate - add udev_enumerate_add_match_parent()
- libudev: enumerate - include parent device itself with match_parent()
- libudev: enumerate - clarify documentation
- path_id: recognize ACPI parent devices
- rules: input - call path_id for ACPI devices
- udevadm: monitor - use uptime to match the kernel's timestamp
- libudev: ctrl - move code to udev directory
- update sd-daemon.[ch]
-
-Keshav P.R (1):
- rules: support for gpt partition uuid/label
-
-Lee, Chun-Yi (1):
- Support more MSI notebook by using asterisk on dmi vendor name
-
-Marco d'Itri (1):
- Add missing commas to 95-keymap.rules
-
-Martin Pitt (3):
- keymap: Add Microsoft Natural Keyboard
- keymap: Add force-release quirk for Hannspree SN10.
- keymap: Add slight name variations of Toshiba Satellites
-
-Peter Jones (1):
- ata_id: show the error message when HDIO_GET_IDENTITY fails
-
-
-Summary of changes from v170 to v171
-============================================
-
-Kay Sievers (17):
- libudev: export symbols explicitely and individually from C code not from separate file or prefix match
- libudev: device - make a bunch of symbols static
- systemd: Replace Requires= with Wants=, run trigger in parallel
- systemd: sort trigger after socket
- systemd: trigger - run after udev.service (for now)
- systemd: set socket buffer size to 128 MB like udev has
- update TODO
- update TODO
- libudev: monitor - use SOCK_NONBLOCK
- systemd: split socket file
- systemd: add missing socket files
- rules: fix whitespace
- rules: implement TAGS== match
- libudev: enumerate - do not ignore other matches when add_match_tag() is used
- rules: support substitutions in TAG=
- path_id: allow to be asked about usb_devices not only usb_interfaces
- systemd: run udev.service and udev-trigger.service in parallel
-
-Scott James Remnant (1):
- configure: allow usb.ids location to be specified
-
-
-Summary of changes from v169 to v170
-============================================
-
-Kay Sievers (1):
- libudev: ctrl - properly wait for incoming message after connect
-
-Michal Soltys (1):
- configure.ac: fixes for rule_generator and modeswitch
-
-
-Summary of changes from v168 to v169
-============================================
-
-Kay Sievers (26):
- simplify rules file overwrite logic
- libudev: list - use bit flags for 'sort' and 'unique'
- libudev: queue - _unref() should return the object
- remove dead fstab_import files
- hid2hci: prepare move to bluez package
- set event timeout to 60 sec and settle timeout to 120
- udevd: improve error message in case exec() fails
- configure: allow to enable/disable extras individually
- delete hid2hci which moved to the bluez tree
- update TODO/NEWS
- bump requirement to Linux kernel 2.6.32 and ARM 2.6.36
- libudev: ctrl - log accept4() errors
- update NEWS
- update INSTALL, NEWS, configure comment, queue doc
- update TODO
- udevd: create queue file before daemonizing to reliably block 'settle'
- udevd: remove left-over SIGALRM
- gudev: silent gtk-doc warnings
- cdrom_id: remove unused --export switch to silent gcc
- libudev: queue - always rebuild queue file when nothing is queued anymore
- libudev: device - use DEVMODE from kernel as the default mode
- update TODO
- Merge branch 'docs/udev.xml' of git://github.com/mfwitten/udev
- udate TODO, NEWS, INSTALL
- build: use --gc-sections, -fvisibility=hidden
- udevadm: settle: wake up more often if --seq-start= or --exit-if-exists= is used
-
-Koen Kooi (1):
- configure: reintroduce introspection flags to fix crosscompilation
-
-Michael Witten (36):
- Docs: udev.xml: Offset daemon name with commas
- Docs: udev.xml: Remove commas (and unnecessary repetition)
- Docs: udev.xml: `are' -> `is'; the subject is `Access'
- Docs: udev.xml: Use present tense
- Docs: udev.xml: Clarification through proper wording
- Docs: udev.xml: `,' -> `;'
- Docs: udev.xml: `key value' -> `key-value'
- Docs: udev.xml: `,' -> `:'
- Docs: udev.xml: Use `assignment' consistently
- Docs: udev.xml: `comma-separated' is a better description
- Docs: udev.xml: Remove unnecessary repitition
- Docs: udev.xml: Add a few more words for context
- Docs: udev.xml: Use `unless' for clarity
- Docs: udev.xml: Clarify PROGRAM key
- Docs: udev.xml: `a shell style' -> `shell-style'
- Docs: udev.xml: Clean `*' description
- Docs: udev.xml: Clean character range description
- Docs: udev.xml: Clean up description of NAME assignment key
- Docs: udev.xml: Clean up description of SYMLINK assignment key
- Docs: udev.xml: Clean up description of ENV assignment key
- Docs: udev.xml: Clean up description of RUN assignment key
- Docs: udev.xml: Clean up description of LABEL assignment key
- Docs: udev.xml: Add missing `.'
- Docs: udev.xml: `which' -> `content of which'
- Docs: udev.xml: `commandline' -> `command line'
- Docs: udev.xml: Clean up WAIT_FOR description
- Docs: udev.xml: `a' -> `the'
- Docs: udev.xml: Clean up introduction to substitutions.
- Docs: udev.xml: Use normal sentence structure
- Docs: udev.xml: Actually make a separate paragraph
- Docs: udev.xml: Add comma
- Docs: udev.xml: `char' -> `character'
- Docs: udev.xml: `comma-separated' is a better description
- Docs: udev.xml: Clarify through a change in word ordering
- Docs: udev.xml: Improved word order
- Docs: udev.xml: Fix dangling modifier
-
-Nix (1):
- libudev: queue - accept NULL passed into udev_queue_export_cleanup()
-
-
-Summary of changes from v167 to v168
-============================================
-
-David Zeuthen (1):
- Run ata_id on non-removable USB devices
-
-Harald Hoyer (1):
- udevd: clarify worker exit status
-
-Kay Sievers (35):
- version bump
- systemd: let settle depend on trigger, do not block basic with trigger
- selinux: do not label files in runtime dir
- selinux: firmware - do not label files in runtime dir
- udevadm: control - add --exit
- trivial cleanups
- udevd: log warning if /run is not writable
- libudev: ctrl - fix refcounting in connection handling
- udevadm: settle - watch queue file
- libudev: bump revision
- udevadm: info --cleanup-db
- udevd: do not nice processes
- "db_persist=" -> "db_persist"
- udevd: move OOM disable into --daemon option
- systemd: add OOMScoreAdjust=-1000
- require explicit "db_persist" to exclude device info from --db-cleanup
- udevd: get netlink socket from systemd
- fix more warnings
- libudev: ctrl, monitor - use SOCK_NONBLOCK
- systemd: socket -> sockets
- udevadm: monitor - use epoll
- libudev: test - use epoll
- udevadm: test - use printf() instead of info() for non-debug output
- use 'else if' in epoll event array loop
- libudev: run_program() - select() -> epoll
- udevd: ppoll() -> epoll + signalfd
- Merge branch 'docs/README' of git://github.com/mfwitten/udev
- timeout handling without alarm()
- udevadm: settle - kill alarm()
- udevd: netif rename - use ifindex for temporary name
- udevd: always use udevd[] log prefix
- udevd: rules files - accept empty or /dev/null links
- udevd: log signal number when spawned processes fail
- systemd: Reqires= -> Wants=udev.socket
- udevd, udev-event: sync waitpid() error handling
-
-Lee, Chun-Yi (1):
- Add rule for Acer Aspire One ZG8 to use acer-aspire_5720 keymap
-
-Leonid Antonenkov (1):
- rule-generator: net - ignore Hyper-V virtual interfaces
-
-Martin Pitt (3):
- Revert "Do not build extras with --disable-extras"
- Avoid spinning up CD on pressing eject button
- keymap: Another ID for Logitech Wave keyboard
-
-Michael Reed (1):
- path_id: rework SAS device handling
-
-Michael Witten (12):
- Docs: README: `to replace' -> `replacing'
- Docs: README: `,' -> `;'
- Docs: README: Clean up a sentence
- Docs: README: Use present tense
- Docs: README: Add missing `and'
- Docs: README: Remove commas and use subjective mood
- Docs: README: Clean up `udev extras' requirements
- Docs: README: Clarify configuration of existing devices
- Docs: README: `does never apply' -> `never applies'
- Docs: README: Flip sentence structure to improve wording
- Docs: README: `set up' is the verb; `setup' is a noun
- Docs: README: Add a comma to offset the modifier
-
-Seth Forshee (1):
- keymap: Support Dell Latitude XT2 tablet-mode navigation keys
-
-Thomas Egerer (1):
- udevd: add 'N:' to optstring in getopt_long
-
-
-Summary of changes from v166 to v167
-============================================
-
-Andrey Borzenkov (1):
- udev-acl: add /dev/sgX nodes for CD-ROM
-
-David Zeuthen (1):
- cdrom_id: Don't ignore profiles when there is no media available
-
-Harald Hoyer (2):
- cdrom_id: cd_media_toc() extend toc size to 65536
- udev-acl/70-acl.rules: tag ID_REMOTE_CONTROL with acl
-
-Kay Sievers (29):
- version bump
- Merge branch 'master' of git+ssh://master.kernel.org/pub/scm/linux/hotplug/udev
- v4l_id: kill the v4l1 ioctl
- v4l_id: remove left-over variable
- update some comments
- test-libudev: add short options
- libudev: udev_device_get_sysattr_list_entry() update
- libudev: resolve ifindex in udev_device_new_from_id_filename()
- libudev: bump minor version
- udev-acl: move sg rule to optical drive rule
- move /dev/.udev/ to /dev/.run/udev/ and convert old udev database at udevd startup
- NEWS: clarify /dev/.run/ requirements
- input_id: silent gcc warnings
- fstab_import: disable build
- systemd: remove deprecated udev-retry.service
- fstab_import: remove from configure
- update sd-daemon.[ch]
- udevd: use facility == LOG_DAEMON when writing to /dev/kmsg
- udevd: initialize fds, for proper close() on exit
- use /run/udev/ if possible and fall back to /dev/.udev/
- rules: run ata_id only on SPC-3 or later optical drives
- systemd: bind udev control socket in systemd and split udev.service
- systemd: use sockets.target not socket.target
- man: remove trigger --type=failed handling
- libudev: export udev_get_run_path()
- libudev: docs - add udev_get_run_path()
- libudev: make valgrind happy
- systemd: do not enable udev-settle.service by default
- systemd: udev.socket - disable implicit dependencies
-
-Kei Tokunaga (1):
- udevadm: enumerate - update prev pointer properly
-
-Lee, Chun-Yi (2):
- Remap Acer WMI touchpad toggle key to F21 used by X
- Remap MSI Laptop touchpad on/off key to F22 and F23
-
-Martin Pitt (12):
- 60-persistent-input.rules: Support multiple interfaces
- Only build v4l_id if V4L1 header file is available
- 60-persistent-input.rules: Do not create duplicate links
- Fix building with --disable-extras
- Do not build extras with --disable-extras
- v4l_id: Drop videodev.h check again
- keymap: Fix Acer Aspire 5920G media key
- input_id: Consistently use tabs for indentation
- input_id: Add some debugging output
- input_id: Avoid memory overflow with too long capability masks
- input_id: Cover key devices which only have KEY_* > 255
- input_id: Rewrite debug logging to use standard udev info()
-
-Seth Forshee (1):
- keymap: continue reading keymap after invalid scancodes
-
-Thomas Egerer (3):
- libudev: allow to get list of all available sysfs attrs for a device
- libudev: use sysfs attr ilist interface for attribute walk
- udevadm: info - make attribute array static and const
-
-
-Summary of changes from v165 to v166
-============================================
-
-Chris Bagwell (1):
- Remap Eee PC touchpad toggle key to F21 used by X
-
-Gerd Hoffmann (1):
- extras: add rules for qemu guests
-
-Jürgen Kaiser (1):
- keymap: Add Acer Aspire 8930
-
-Kay Sievers (7):
- version bump
- man: generate html pages for www.kernel.org
- man: fix typo
- make: fix qemu rules file name
- extras: qemu - fix typo
- ata_id: do not print empty serial numbers to avoid unwanted trailing '_'
- update gitignore
-
-Martin Pitt (6):
- keymap: Add Acer TravelMate C310
- keymap: Update README.keymap.txt
- keymap: Add Lenovo ThinkPad X201 tablet
- keymap: Move reading of event in separate function
- keymap: More robust state machine
- keymap: Explain how to end the program
-
-Matthew Garrett (1):
- keymap: Remove wlan from Dell
-
-
-Summary of changes from v164 to v165
-============================================
-
-Andy Whitcroft (1):
- keymap: Add release quirks for two Zepto Znote models and AMILO Xi 2428
-
-Bastien Nocera (2):
- keymap: Add force release for HP touchpad off
- extras/keymap: Make touchpad buttons consistent
-
-David Henningsson (1):
- Add ACLs for FFADO supported sound cards
-
-David Zeuthen (6):
- ata_id: Support SG_IO version 4 interface
- Run scsi_id and ata_id on the scsi_device object
- Use ata_id, not scsi_id, on ATAPI devices
- Add GUdevEnumerator type and Device.get_tags() method
- Add g_udev_device_get_is_initialized() method
- gudev: Add Device.get_usec_since_initialized
-
-Harald Hoyer (2):
- udev-rules.c: change import property buffer to 16384 bytes
- 70-acl.rules: add ACLs for ID_PDA devices
-
-Jakub Wilk (1):
- man: udev - workaraound -> workaround
-
-Jan Drzewiecki (1):
- cdrom_id: Fix media state for unreadable DVDs
-
-Kay Sievers (19):
- version bump
- rules: 78-sound-card - remove specific hardware matches, they do not belong here
- rules: drop OSS audio rule
- rules: drop alsa jack-plug input devices
- rules: revert bsg use until the event ordering problem is sorted out
- libudev: do not overwrite path with readlink() call
- udevadm: info - honor --export and --export-prefix for property query
- udevadm: info - honor --export, --export-prefix=
- udevd: use dev_t or netif ifindex as database key
- udevd: always create /dev/{char,block}/$major:$minor
- udevd: simplify udev database and fix DEVNAME handling
- udevd: switch to common id_filename functions
- udevd: write full database file for (unsupported) renamed device nodes
- check ifindex > 0 instead of subsystem == "net"
- libudev: enumerate - allow to filter-out not-already-initialized devices
- libudev: fix renamed device nodes detection logic
- libudev: record and export "age" of device record
- gudev: bump minor version
- update NEWS
-
-Martin Pitt (5):
- keymap: Add Sony Vaio VGN71
- keymap: Add some more Sony Vaio VGN-* models
- Add ACL for media player USB devices
- keymap: Fix struck Touchpad key on Dell Latitude E series
- keymap: Fix struck Touchpad key on Dell Precision M series
-
-Michal Soltys (1):
- udevd: create static nodes before /dev/null is needed
-
-
-Summary of changes from v163 to v164
-============================================
-
-David Zeuthen (1):
- Install libgudev-1.0.so in prefix / instead of prefix /usr
-
-Harald Hoyer (1):
- cdrom_id: request the drive profile features with a dynamic length
-
-Kay Sievers (4):
- version bump
- udevd: do not wrongly delay events for devices with swapped names
- return proper error code in rename_netif()
- libudev: return kernel provided devnode when asked before we handled any rules
-
-Martin Pitt (2):
- keymap: Apply force-release rules to all Samsung models.
- keymap: Add Toshiba Satellite U500
-
-
-Summary of changes from v162 to v163
-============================================
-
-David Zeuthen (2):
- gudev: Deliver ::uevent signal in the thread-default main loop
- Bump required GLib version to 2.22
-
-Hannes Reinecke (1):
- scsi_id: export target port group
-
-Kay Sievers (5):
- version bump
- scsi_id: fix compiler warnings
- systemd: hook into basic.target instead of sysinit.target
- systemd: sort before basic.target
- udevd: add sd-daemon.c
-
-Lee, Chun-Yi (1):
- keymap: Add alternate MSI vendor name
-
-Martin Pitt (8):
- keymap: Add Lenovo Y550
- Clarify WAIT_FOR documentation
- fix various syntax errors in rules
- Add automatic rules syntax check
- cdrom_id: Try reading the medium if all MMC commands fail
- Revert "cdrom_id: Try reading the medium if all MMC commands fail"
- cdrom_id: Fall back to CDROM_DRIVE_STATUS if all MMC commands fail
- cdrom_id: Don't read beyond "last track" in TOC
-
-Torsten Schoenfeld (1):
- gudev: add a few annotations that newer gobject-introspection versions demand
-
-
-Summary of changes from v161 to v162
-============================================
-
-David Woodhouse (1):
- Add keymap for Lenovo IdeaPad S10-3
-
-Jan Drzewiecki (2):
- cdrom_id: Drop MEDIA_SESSION_NEXT for DVD-RW-RO
- cdrom_id: Fix DVD blank detection for sloppy firmware
-
-Kay Sievers (10):
- init: update systemd service files
- init: update systemd service files
- init: add 'udev -' to description in systemd service files
- udevd: add pid to kmsg logs
- init: edit systemd service descriptions
- version bump
- udevd: remove unneeded credential passing from init_notify()
- set SELinux context on 'add' but not on 'change' events
- systemd: enable all udev services unconditionally
- Revert "Add alternative KVM MAC address blacklist"
-
-Luca Tettamanti (1):
- Add support for oom_score_adj
-
-Marco d'Itri (2):
- udev-acl: do not mistake all SCSI "processor" devices for scanner
- do not create persistent name rules for KVM network interfaces
-
-Martin Pitt (12):
- cdrom_id: Add media status debugging
- udev(7): Point out required extension, and remove some confusion
- keymap: Add Onkyo PC
- keymap: Add HP G60
- keymap: Fix Sony VAIO VGN-SZ2HP/B
- udev(7) manpage: Fix description of $attr
- gudev: fix crash if netlink is not available
- keymap: Fix Acer TravelMate 4720
- cdrom_id: Fix DVD-RW media detection
- Fix KVM MAC address range
- do not create persistent name rules for VMWare network interfaces
- Add alternative KVM MAC address blacklist
-
-Michael Forney (1):
- Don't install systemd scripts with --without-systemdsystemunitdir
-
-Michal Soltys (1):
- ChangeLog fix
-
-
-Summary of changes from v160 to v161
-============================================
-
-Fortunato Ventre (1):
- keymap: Add force-release quirks for a lot more Samsung models
-
-Harald Hoyer (3):
- udev-event.c: rename interface to <src>-<dest>, if <dest> taken
- rule_generator/write_net_rules: prevent interface to be named "eth"
- cdrom_id: READ TOC before READ DISC INFORMATION fixes qemu
-
-Jan Drzewiecki (5):
- cdrom_id: Fix detection of reblanked DVD+RW and DVD-RAM
- cdrom_id: Handle pre-MMC2 drives
- cdrom_id: Also apply format check to DVD-RW
- cdrom_id: No "next session" for "other" media state
- cdrom_id: Fix state for fresh DVD-RW
-
-Jerone Young (1):
- Fix volume keys not releasing on Mivvy G310
-
-Kay Sievers (12):
- version bump
- rules: remove firewire rules for deprecated drivers
- udev-acl: update firewire matches to recent rule changes
- libudev: bump minor so version after adding symbols
- call util_delete_path() only when we actually deleted stuff
- udev-acl: properly handle CK change events for root user
- udev-acl: remove specific device matches from the rules file
- fix broken "compile warning fix"
- always log error when renaming a network interface fails
- do not rename the database on device rename
- cdrom_id: whitespace fix
- cdrom_id: do not bail out when we can not read the TOC like for empty CDRW
-
-Marco d'Itri (3):
- hid2hci: fix Logitech diNovo, MX5500 and other keyboards
- log an error when a message from the wrong version of udevadm is ignored
- hid2hci: fix for Logitech diNovo Edge keyboard
-
-Martin Pitt (1):
- keymap: Generalize Samsung keymaps
-
-Michal Schmidt (1):
- udev-acl: really fix ACL assignment in CK events
-
-Richard Hughes (1):
- udev-acl: add DDC_DEVICE to the types that are managed
-
-Stefan Richter (1):
- rules: add more FireWire IDs: Point Grey IIDC; AV/C + vendor unique
-
-Yin Kangkai (7):
- udevadm: fix short options in getopt()
- udevd: fix some memory leaks in error path
- malloc()+memset() -> calloc()
- udevd: fix short options in getopt()
- udevd: fix unref'ing of device in error path
- udevd: create static device links only when the target exists
- udev: fix compile warning
-
-
-Summary of changes from v159 to v160
-============================================
-
-Harald Hoyer (2):
- 60-persistent-storage-tape: s/path_id.sh/path_id/
- 60-persistent-storage-tape.rules: make own by-path symlink for nst tapes
-
-Kay Sievers (4):
- version bump
- rules: tape - remove WAIT_FOR instruction and don't export BSG_DEV
- allow final assignment for OPTIONS:="nowatch"
- udevd: init_notify() fix abstract namespace name handling
-
-Lennart Poettering (1):
- systemd: make service files readable by GKeyFile
-
-Martin Pitt (2):
- keymap: Find alternate Lenovo module
- keymap: Add Lenovo ThinkPad SL Series extra buttons
-
-
-Summary of changes from v158 to v159
-============================================
-
-Jerone Young (1):
- Fix stuck volume key presses for Toshiba Satellite U300 & U305models
-
-Kay Sievers (5):
- version bump
- add systemd service files
- make: pre-process and install systemd service files when needed
- make: fix 'make distcheck'
- switch a few left-over from GPLv2 to GPLv2 or later
-
-Lennart Poettering (1):
- systemd: update service files for newly introduced DefaultDependencies= option
-
-Martin Pitt (1):
- keymap: Add Logitech Cordless Wave Pro
-
-Matthew Garrett (1):
- keymap: Add support for IBM-branded USB devices
-
-Michael Meeks (1):
- gudev: respect possibly given LD_LIBRARY_PATH
-
-Ryan Harper (2):
- Add virtio-blk support to path_id
- Add virtio-blk by-id rules based on 'serial' attribute
-
-
-Summary of changes from v157 to v158
-============================================
-
-Harald Hoyer (1):
- extras/keymap: add Samsung N210 to keymap rules
-
-Kay Sievers (7):
- version bump
- libudev: fix fd leak in udev_enumerate_scan_devices() when tags are searched
- udevd: in case we don't daemonize, send READY message to /sbin/init
- delete last distro specific rules
- remove a few comments in file headers
- mtd_probe: add needed include, modprobe blacklist flag, and change some whitespace
- rules: remove unused subdir
-
-Martin Pitt (4):
- Fix hid2hci rules harder
- add Vala vapi for gudev-1.0
- Revert "add Vala vapi for gudev-1.0"
- Fix usb printer rule for multiple USB interfaces
-
-Maxim Levitsky (1):
- mtd_probe: add autodetection for xD cards
-
-Paul Bender (1):
- configure.ac: fix cross compilation
-
-
-Summary of changes from v156 to v157
-============================================
-
-Harald Hoyer (1):
- 40-redhat.rules: removed file
-
-Jerone Young (3):
- Fix wlan key on Inspirion 1210
- Fix wlan key on Inspiron 910
- Fix wlan key on Inspiron 1010 & 1110
-
-Kay Sievers (25):
- configure.ac: version bump
- Makefile.am: silent build mkdir
- rules: mount fuse control filesystem
- fix compilation with --enable-debug
- while (1) -> for (;;)
- childs -> children
- udevd: replace --debug-trace with --children-max
- udevd: fix comments
- rules: add -v to modprobe calls to be able see what will be loaded
- udevd: read debug settings from kernel commandline
- update NEWS
- rules: delete pilot rules and remove redhat directory
- man: add static device nodes and udevd debug options
- man: add kernel command line parameters
- man: udevd - update intro
- rules: rename packages -> arch
- rules: SUSE - move last distro rule to package
- rules: add misc/30-kernel-compat.rules
- make: mkdir /lib/udev/devices/
- make: fix rules/ subdir names
- udevd: set umask before creating files/directories
- add IMPORT{cmdline}
- IMPORT{cmdline}: start at first char after '='
- libudev: doc - fix typo
- update NEWS
-
-
-Summary of changes from v155 to v156
-============================================
-
-Bryan Kadzban (1):
- udevd: fix typo /proc/fd -> /proc/self/fd
-
-Kay Sievers (4):
- configure.ac: version bump
- cdrom_id: do not export ID_CDROM_MEDIA_SESSION_LAST_OFFSET= for single session media
- rules: optical drives - use ID_CDROM_MEDIA_TRACK_COUNT_DATA
- libudev: fix udev_queue_get_seqnum_sequence_is_finished() with empty queue file
-
-
-Summary of changes from v154 to v155
-============================================
-
-Kay Sievers (11):
- reset process priority before executing RUN+=
- configure.ac: version bump
- rules: SUSE - delete device-mapper rules
- libudev: add O_CLOEXEC
- use default mode of 0600 for nodes if gid == 0
- udevd: create standard symlinks and handle /lib/udev/devices
- update NEWS README
- fix tests and allow MODE=000
- create static nodes provided by kernel modules to allow module autoloading
- update NEWS
- man: directly use 'refentry'
-
-
-Summary of changes from v153 to v154
-============================================
-
-Harald Hoyer (2):
- Makefile.am: add LGPL COPYING file to EXTRA_DIST
- cdrom_id: only mark sr[0-9]* as ID_CDROM
-
-Jerone Young (1):
- Fix volume keys not releasing for Pegatron platform
-
-Kay Sievers (23):
- configure.ac: version bump
- more readlink buffer size handling
- remove left-over from ignore_remove and all_partitions
- fix previous commit
- udevadm: info --export-db -- remove watch handle export
- add TAG= to improve event filtering and device enumeration
- all to match against a given TAG==
- udev-acl: use a tag instead of a property to mark devices
- fix logic on-demand loading logic for db and uevent
- use the usual TAG+=, TAG= logic
- delete old tags when configuration changes
- libudev: accept NULL in udev_device_get_tags_list_entry()
- export tag functions
- export udev_device_get_tags_list_entry()
- udevd: always try to find an idle worker instead of forking a new one
- remove unused parameter from udev_node_mknod()
- remove debug output during rules parsing
- warn when renaming kernel-provided nodes instead of adding symlinks
- man: udevadm trigger - the default is "change" not "add"
- update README regarding kernel version and default rules
- add info message when empty NAME is given
- libudev: add documentation for recently added functions
- udevd: reload config only for *.rules files
-
-Martin Pitt (1):
- keymap: Fix Bluetooth key on Acer TravelMate 4720
-
-Mathias Nyman (1):
- remove buffer-overrun risk in readlink call
-
-Matthias Schwarzott (1):
- rules: Gentoo - remove old devfs compat rules
-
-Michael Thayer (1):
- fix device node deletion
-
-Robby Workman (1):
- configure.ac: move firmware-path setting out of extras section
-
-Yin Kangkai (2):
- keymap: Add keymap and force-release quirk for Samsung N128
- keymap: Add keymap quirk of WebCam key for MSI netbooks.
-
-
-Summary of changes from v152 to v153
-============================================
-
-Kay Sievers (1):
- configure.ac: version bump
-
-Robby Workman (1):
- configure.ac: fix broken firmware search path in configure.ac
-
-
-Summary of changes from v151 to v152
-============================================
-
-Adrian Bunk (1):
- udev needs automake 1.10
-
-Amit Shah (2):
- Fix virtio-ports rule to use $attr instead of $ATTR
- rules: virtio - fix is to check if the 'name' attribute is present
-
-Andy Whitcroft (2):
- keymap: Add Samsung Q210/P210 force-release quirk
- keymap: Add Fujitsu Amilo 1848+u force-release quirk
-
-Dan Williams (1):
- modeswitch: morph into tool that only switches Mobile Action cables
-
-David Zeuthen (3):
- Decrease buffer size when advancing past NUL byte
- Use UTIL_LINE_SIZE, not UTIL_PATH_SIZE to truncate properties
- Increase UTIL_LINE_SIZE from 2048 to 16384
-
-Harald Hoyer (1):
- cdrom_id: remove debugging code
-
-Jerone Young (6):
- Force key release for volume keys on Dell Studio 1557
- Fix Keymapping for upcoming Dell Laptops
- Add new Dell touchpad keycode
- Revert special casing 0xD8 to latitude XT only
- Fix Dell Studio 1558 volume keys not releasing
- Add support for another Dell touchpad toggle key
-
-Kamal Mostafa (3):
- keymap: Unite laptop models needing common volume-key release quirk
- keymap: Add force-release quirk for Coolbox QBook 270-02
- keymap: Add force-release quirk for Mitac 8050QDA
-
-Kay Sievers (43):
- libudev: bump minor version
- udevadm: fix untested and broken commit to set buffer size
- configure.ac: version bump
- udev-acl: no not encourage use of ACL_MANAGE outside of rules file
- replace utimes() with utimensat()
- libbudev-private: rename udev_list_entry_get_flag()
- udevadm: monitor - use / as separator in --subsystem-match=subsystem[/devtype]
- use major:minor as entries in symlink stack instead of devpath
- use major:minor as entries in watch directory
- libudev: docs - .gitignore backup files
- firmware: fix possible segfault when firmware device goes away while loading
- do not reset SELinux context when the node was not touched
- libudev: add udev_device_new_from_environment()
- add LGPL COPYING to libudev and GUdev
- cdrom_id: open non-mounted optical media with O_EXCL
- libudev: update documentation
- extras: mobile-action-modeswitch - update gitignore
- scsi_id: add rand() in retry loop
- cdrom_id: retry to open the device, if EBUSY
- cdrom_id: check mount state in retry loop
- cdrom_id: always set ID_CDROM regardless if we can run cdrom_id
- rules: delete outdated packagees rules
- rules: we do not have static devices which are renamed
- unify/cleanup event handling
- allow IMPORT{db}="KEY"
- usb-db: remove double '/'
- replace "add|change" with "!remove"
- update NEWS
- log info only if we actually delete the node
- udevadm: trigger - switch default action from "add" to "change"
- remove "all_partitions" option
- rules: call modprobe on all events but "remove"
- remove "ignore_remove" option
- update NEWS
- cdrom_id: rework feature/profiles buffer parsing
- cdrom_id: print more debug messages
- cdrom_id: debug - print feature values in hex
- cdrom_id: debug - print feature values in hex
- cdrom_id: set ID_CDROM_MEDIA=1 only for known media
- Revert "Fix switching Logitech bluetooth adapters into hci mode."
- add O_NOFOLLOW when creating files in link stack
- delete only device nodes, not symlinks when deleting a devtmpfs node
- doc: add section about how *not* to rename device nodes
-
-Marco d'Itri (3):
- rules: input - create by-path/ links for pci devices
- Fix switching Logitech bluetooth adapters into hci mode.
- doc: document the WAIT_FOR timeout
-
-Martin Pitt (12):
- keymap: Add Dell Inspiron 1011 (Mini 10)
- Fix brightness keys on MSI Wind U-100
- keymap: Fix LG X110
- keymap: Add Toshiba Satellite M30X
- udev-acl: Correctly handle ENV{ACL_MANAGE}==0
- input_id: Fix linking
- keymap: Add Acer TravelMate 6593G and Acer Aspire 1640
- keymap: Fix another key for Acer TravelMate 6593
- cdrom_id: Fix uninitialized variables
- cdrom_id: Fix uninitialized buffers
- cdrom_id: Do not ignore errors from scsi_cmd_run()
- cdrom_id: Swap media state and TOC info probing
-
-Mike Brudevold (1):
- cdrom_id: add missing profiles to feature_profiles
-
-Robert Hooker (1):
- keymap: Add support for Gateway AOA110/AOA150 clones.
-
-Scott James Remnant (2):
- libudev: export udev_monitor_set_receive_buffer_size()
- udevadm monitor: increase netlink buffer size
-
-Thomas Bächler (1):
- firmware: fix error reporting on missing firmware files
-
-Yury G. Kudryashov (3):
- configure.ac - fix typo in --with-pci-ids-path option
- hid2hci: include linux/types.h for __u32
- configure.ac: ddd --with-firmware-path option
-
-
-Summary of changes from v150 to v151
-============================================
-
-Amit Shah (1):
- rules: Add symlink rule for virtio ports
-
-Bryan Kadzban (1):
- Fix reverted floppy-device permissions
-
-Egbert Eich (1):
- rulews: suse - add do-not-load-KMS-modules rules
-
-Frederic Crozat (1):
- rules: acl - add COLOR_MEASUREMENT_DEVICE match
-
-Kay Sievers (11):
- configure.ac: version bump
- udevd: inotify - do not parse rules at create but at close
- do not remove device nodes of active kernel devices
- libudev: device - create db file atomically
- clarify message about not removed device node
- input_id: include limits.h
- keymap: include linux/limits.h
- keymap: linux/input.h - get absolute include path from gcc
- delete outdated and unmaintained writing_udev_rules
- update README and NEWS
- update tests
-
-Marco d'Itri (2):
- writing_udev_rules: update rules files names
- keymap: support for the Samsung N140 keyboard
-
-Martin Pitt (4):
- add ACL rule for Garmin GPSMap 60
- keymap: move force-release directory
- extras/keymap/check-keymaps.sh: Ignore comment-only lines
- keymap: Fix invalid map line
-
-
-Summary of changes from v149 to v150
-============================================
-
-Clemens Buchacher (2):
- add Samsung R70/R71 keymap
- keymap: Samsung R70/R71 force-release quirk
-
-Daniel Drake (2):
- keymap: Add OLPC XO key mappings
- keymap: Fix typo in compal rules
-
-Daniel Elstner (1):
- libudev: wrap in extern "C" block for C++
-
-David Zeuthen (1):
- Export ID_WWN_VENDOR_EXTENSION and ID_WWN_WITH_EXTENSION
-
-Jerone Young (1):
- keymap: Lenovo Thinkpad USB Keyboard with Tracepoint
-
-Johannes Stezenbach (2):
- keymap: add Samsung N130
- keymap: handle atkbd force_release quirk
-
-Kay Sievers (15):
- util_unlink_secure(): chmod() before chown()
- floppy: fix rule to create additional floppy device nodes
- configure.ac: version bump
- remove remaining support for CONFIG_SYSFS_DEPRECATED
- cdrom_id: remove deprecated device matches
- rules: add "block" match to floppy rule
- update mtime of nodes and links when we re-use them
- udevadm: info - fix info --root --query=name --path= for device without a device node
- remove remaining support for CONFIG_SYSFS_DEPRECATED
- fix typo in log message priority handling
- remove UDEV_RUN environment variable
- udevadm: logging - copy va_list and do not use it twice
- libudev: doc - add symbols to sections.txt
- work around gtk-doc which breaks distcheck
- gobject-introspection: use $datadir instead of $prefix
-
-Marco d'Itri (2):
- build: keymap - create subdir
- rules: udev-acl - add firewire video devices
-
-Martin Pitt (12):
- keymap: Add Acer Aspire 1810T
- 95-keymap.rules: Run on change events, too
- keymap: fix findkeyboards
- Speed up udev_enumerate_scan_*
- keymap: Add hotkey quirk for Acer Aspire One (AO531h/AO751h)
- Clarify RUN/IMPORT documentation
- keymap: Add Logitech S510 USB keyboard
- keymap: add Acer TravelMate 8471
- keymap: Add Acer Aspire 1810TZ
- keymap: Add LG X110
- keymap: Add Fujitsu Amilo Li 1718
- keymap: Document force-release
-
-Piter PUNK (1):
- firmware: convert shell script to C
-
-Scott James Remnant (1):
- 70-acl.rules: ACL manage Android G1 dev phones
-
-Thomas de Grenier de Latour (1):
- libudev: enumerate - fix move_later logic
-
-
-Summary of changes from v148 to v149
-============================================
-
-Daniel Elstner (1):
- really fix both in-tree and out-of-tree builds
-
-Dmitry Torokhov (1):
- input-id: identify touchscreens
-
-Kay Sievers (4):
- libudev: doc - use #NULL
- configure.ac: version bump
- really really fix both in-tree and out-of-tree builds
- fix both in-tree and out-of-tree builds
-
-Martin Pitt (6):
- input_id: Fix endless loop for non-input devices
- input_id: Do not tag non-input devices with ID_INPUT
- input_id: small optimization
- input_id: check event mask
- input_id: Check mouse button for ID_INPUT_MOUSE
- udev_device_get_parent_with_subsystem_devtype(): Clarify documentation
-
-
-Summary of changes from v147 to v148
-============================================
-
-Dan Williams (3):
- Revert "modem-modeswitch: add a device"
- Revert "extras/modem-modeswitch: Add Huawei E1550 GSM modem"
- modem-modeswitch: 61-option-modem-modeswitch.rules is only for Option NV devices
-
-Daniel Mierswa (1):
- Fix typo in NEWS, ConsoleKit-0.4.11 -> 0.4.1
-
-David Zeuthen (4):
- cdrom_id: Still check profiles even if there is no media
- scsi_id: Export WWN and Unit Serial Number
- Create /dev/disk/by-id/wwn-0x... symlinks
- Also create /dev/disk/by-id/wwn-0x..-part%n symlinks for partitions
-
-Dmitry Torokhov (1):
- extras/input_id: Correctly identify touchpads
-
-Harald Hoyer (1):
- modem-modeswitch: add a device
-
-Kay Sievers (8):
- rules: set mode of floppy device nodes to 0660
- remove "ignore_device"
- print warning for BUS=, SYSFS{}=, ID=
- test-udev: remove "ignore_device" code
- udev-test.pl: catch-up with recent changes
- rules: remove support for IDE (hd*) devices
- ata_id: skip ATA commands if we find an optical drive
- Revert "Fix out-of-tree builds"
-
-Martin Pitt (5):
- README.keymap.txt: small clarification
- extras: Add input_id
- 70-acl.rules: Use new-style input properties
- input: Deprecate ENV{ID_CLASS}
- input_id: code cleanup
-
-Scott James Remnant (1):
- Fix out-of-tree builds
-
-
-Summary of changes from v146 to v147
-============================================
-
-Alan Jenkins (1):
- udevd: queue-export - remove retry loop
-
-Andrew Church (1):
- fix wrong parameter size on ioctl FIONREAD
-
-Daniel Mierswa (2):
- don't compare a non-existing function with NULL
- use nanosleep() instead of usleep()
-
-David Zeuthen (4):
- gudev: remove G_UDEV_API_IS_SUBJECT_TO_CHANGE since API is now stable
- ata_id: export more advanced ATA features
- gudev: Fix up GUdevDeviceNumber
- gudev: Remove LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE from priv header
-
-Florian Zumbiehl (10):
- util_delete_path(): use util_strscpy()
- util_lookup_group(): fix memory leak if realloc() fails
- util_delete_path(): handle multiple leading slashes
- util_create_path(): fix possible out of bounds array access
- ude_rules.c: fix possible NULL pointer dereference in get_key()
- util_resolve_sys_link(): fix possible buffer overflow
- udev_util_encode_string(): fix possible buffer overflow
- udev-rules.c: parse_file() - fix possible buffer overflow
- udev_queue_get_seqnum_sequence_is_finished(): fix possible file handle leak
- util_run_program(): fix possible buffer overflow #2
-
-Harald Hoyer (2):
- scsi_id: prevent buffer overflow in check_fill_0x83_prespc3()
- rename interfaces to <iface>_rename if rename fails
-
-Jeremy Kerr (1):
- util_run_program: restore signal mask before executing event RUN commands
-
-Kay Sievers (45):
- make: sort Makefile.am per target/extra
- configure.ac: version bump
- udev-acl: allow to skip ACL handling
- rules: rfkill has no group, so use 0644
- rule_generator: net - fix MATCHDEVID
- make: add comment
- update NEWS
- print warning for NAME="%k" - it breaks the kernel supplied DEVNAME
- warn about non-readable or empty rules file
- change database file names
- assign errno for getgrnam_r()/getpwnam_r()
- doc: udevadm test *does* create nodes and links these days
- util_unlink_secure(): chmod() before chown()
- util_create_path(): fix errno usage
- inotify_add_watch(): do not store watch, if it failed
- update TODO
- update README
- rules: suse - use NAME for mapper/control
- libudev-util.c: get_sys_link() - return error for empty link target
- udev-rules.c: remove 'first_token' variable
- Revert "udev-rules.c: remove 'first_token' variable"
- test: catch possible bug in GOTO resolving
- udevadm: remove symlink support for old commands
- util_run_program(): skip multiple spaces in argv creation
- fix whitespace
- require 2.6.27 for proper signalfd handling
- fix randonm findings from llvm-clang-analyzer
- simplify "symlink name stack"
- reorder create_path() and node/link creation to be called in a direct sequence
- put util_create_path() and file creastion in a retry loop
- udevadm: control - remove compat code
- scsi_id: delete copy of bsg.h
- fix SYMLINK{} option parsing
- rules: remove remaining NAME="%k"
- rules: drop almost all NAME= keys
- update TODO, NEWS
- udevd: serialize events for with the same major/minor
- break loops if util_create_path() returns error
- remove "last_rule" option
- use CLOEXEC flags instead of fcntl()
- unblock signals we might want to handle
- udevd: create /dev/.udev/rules.d/ before watching it wit inotify
- gudev: fix pkg-config call to work with "make distcheck"
- update NEWS
- Revert "gudev: fix out-of-tree build"
-
-Lennart Poettering (5):
- pci-db: make sure we actually read the pci.ids file instead of usb.ids
- sound: recognize saa7134 TV card sound devices as TV cards
- sound: include ALSA sound card id in ID_ID property
- sound: include ALSA sound card id in /dev/snd/by-id/ links
- Revert "sound: include ALSA sound card id in /dev/snd/by-id/ links"
-
-Marco d'Itri (6):
- doc: writing_udev_rules updated for the new command names
- rules: sound - do not use /usr/bin/env
- udevadm: print all messages to stderr with priority higher or equal than LOG_ERR
- udevadmi: control = exit with rc=2 if there is some system error
- gudev: gir-scanner workaround for out of tree builds
- gudev: fix out-of-tree build
-
-Mario Limonciello (1):
- hid2hci: remove superfluous bmAttributes match
-
-Martin Pitt (24):
- extras/keymap: Add Acer Aspire 6920
- extras/modem-modeswitch: eject ZTE MF6xx fake CD-ROMs
- extras/keymap: Fix hold key on Acer Aspire 6920
- extras/keymap: Fix case matching for Micro-Star
- Revert "extras/keymap: Fix case matching for Micro-Star"
- make raw USB printer devices accessible for lp
- modem-modeswitch rules: Match more devices
- extras/keymap: fix hash table collisions
- extras/keymap: Rename KEY_COFFEE to KEY_SCREENLOCK
- fix single-session CD detection
- fix previous commit for CD detection
- make raw USB printer devices world-readable again
- 50-udev-default.rules: fix printer MODE
- keymap: Add Logitech Wave USB
- keymap: add missing map file
- keymap: fix usb_id invocation
- keymap: make USB keyboards really work
- keymap: Add Logitech Wave cordless
- keymap: add HP Pavillion dv6315ea
- keymap: add HP 2230s
- Makefile.am: fix build with mawk
- extras/keymap/README.keymap.txt: Fix bug report link
- fix major fd leak in link handling
- modem-modeswitch: fix ZTE MF6xx rule
-
-Matthias Schwarzott (2):
- rules: Gentoo update
- rules: Gentoo update
-
-Maxim Levitsky (1):
- keymap for Acer Aspire 5720
-
-Peter Rajnoha (1):
- libudev: allow to store negative values in the udev database
-
-Scott James Remnant (1):
- util_run_program: *really* restore signal mask before executing event RUN commands
-
-William Jon McCann (1):
- udev-acl: catch up with ConsoleKit 0.4.1
-
-
-Summary of changes from v145 to v146
-============================================
-
-Alan Jenkins (3):
- man: fix unused, inaccurate metadata
- man: SYMLINK can be matched as well as assigned
- fix spelling
-
-Anssi Hannula (2):
- rules: exclude digitizers from joystick class
- udev-acl: add joystick devices
-
-Diego Elio 'Flameeyes' Pettenò (21):
- Merge libudev, udev, and the unconditional extras in a single Makefile.am.
- Replace the custom test-run target with the standard make check.
- Also merge into the top-level Makefile.am the simpler extras.
- Change hook handling to be more portable.
- Merge keymap building in the top-level Makefile.am.
- Make keymap generation rules be silent (backward-compatible).
- Move pkg-config docs and man pages before conditionals.
- Finally, also merge gudev into the top-level Makefile.am.
- Make sure to clean up all the built sources.
- Make sure to use dependency/target variables.
- Add silent-rule support for the gudev rules.
- Fix building of introspection library on top-level Makefile.am.
- Fix another relative path for the new working directory.
- Include the correct directory for out-of-source builds.
- Add tests to the distribution; this fixes "make distcheck".
- Ask gperf to use ANSI-C for generation.
- Merge in Makefile.am.inc into Makefile.am
- Use the keymap check during “make distcheck” rather than “check”.
- Fix building of documentation when doing out-of-source builds.
- Fix “make distcheck” run outside of the source directory.
- Use LT_INIT to explicit that udev needs libtool series 2.
-
-Eric W. Biederman (1):
- fix util_lookup_group to handle large groups
-
-Erik Forsberg (1):
- extras/modem-modeswitch: Add Huawei E1550 GSM modem
-
-Kay Sievers (18):
- udevd: add timestamp to --debug output
- v4l_id: exit with 0 when --help is given
- configure.ac: version bump
- hid2hci: remove hid structures and include kernel header
- path_id: make global variable static
- udevadm: trigger - add --sysname-match=
- rules: serial - fix path_id call
- path_id: fix typo in comment
- format names are not case insensitive
- hid2hci: rewrite (and break) rules and device handling
- make: build internal tools against libudev-private.la
- update a few years of copyright
- libudev: silent gcc warning: may be used uninitialized in this function
- make: suppress enter/leaving directory messages
- re-enable failed event tracking
- "record_failed" -> "fail_event_on_error"
- udevd: block for 15 seconds after error when too old kernel is detected
- make: fix issues from non-recursive conversion
-
-Lennart Poettering (1):
- enumeration: move ALSA control devices to the end of the enumerated devices of each card
-
-Mario Limonciello (2):
- hid2hci: support to hid2hci for recovering Dell BT devices after S3
- hid2hci: install re-trigger for hid device when recovering from S3
-
-Martin Pitt (17):
- add keymap for Clevo D410J laptop
- extras/keymap: add Zepto ZNote
- extras/keymap: add Everex Stepnote XT5000T
- extras/keymap: add Compal Hel80i
- keymap tool: improve help
- keymap tool: support scancode/keycode pair arguments
- keymap: inline one-line key maps
- extras/keymap: fix check-keymaps.sh for inline mappings
- extras/keymap: add recently added keymap files to Makefile.am
- extras/keymap: Add HP Presario 2100
- extras/keymap: cover more Compaq Evo models
- extras/keymap: Add Fujitsu Amilo M
- extras/keymap: teach findkeyboards about USB keyboards
- extras/keymap: Add Samsung SX22S
- extras/keymap: Fix crash for unknown keys
- extras/keymap: Add Samsung NC20
- extras/keymap: Fix Bluetooth key on Acer Aspire 6920
-
-
-Summary of changes from v144 to v145
-============================================
-
-Ian Campbell (1):
- scsi_id: correct error handling in prepend_vendor_model
-
-Kay Sievers (10):
- README: add CONFIG_BLK_DEV_BSG
- use MIN() MAX() from param.h
- configure.ac: version bump
- libudev: device - free values before updating them
- libudev: enumerate - sort with qsort()
- udevd: detach event from worker if we kill a worker
- udevadm: info - add space after R:, A:, W: on database export
- udevd: make sure a worker finishes event handling before exiting
- udevd: handle SIGCHLD before the worker event message
- udevd: use bool
-
-
-Summary of changes from v143 to v144
-============================================
-
-Jon Masters (1):
- firmware: search for third party or sysadmin supplied firmware updates
-
-Kay Sievers (19):
- configure.ac: add AM_SILENT_RULES
- configure.ac: version bump
- TODO: add cleanup of ATA_COMPAT
- libudev: queue - add comments for queue format
- udev/.gitignore: add udev.pc
- configure.ac: version bump
- do not exports properties starting with a '.'
- scsi_id: --reformat_serial - use udev_util_replace_whitespace()
- ata_id: sync ID_SERIAL(_SHORT) with other *_id tools
- rules: make ata_id properties the default for all ATA block devices
- scsi_id: delete no longer needed config file
- update NEWS
- man: udev - add private properties like ENV{.FOO}="bar"
- Merge branch 'firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/jcm/udev-jcm
- udevadm: test - print list of properties
- build: do not delete .la files
- libudev: monitor - handle kernel supplied DEVNAME properly
- update NEWS
- build: add *exec* to the internal rootlibdir name
-
-Martin Pitt (2):
- hid2hci: narrow matches to real HCI devices
- extras/udev-acl: add smartcard readers
-
-Stefan Richter (1):
- rules: set group ownership of new firewire driver device files
-
-
-Summary of changes from v142 to v143
-============================================
-
-Alan Jenkins (5):
- udevadm: settle - fix timeout
- udevd: remove tiny bit of dead code
- udevd: implement a more efficient queue file format
- udev-selinux.c: remove libudev header
- udevd: queue-export - fix crash
-
-Benjamin Gilbert (1):
- test: check string substitutions in OWNER and GROUP
-
-Dan Williams (2):
- rules: tty/net - move from udev-extras
- extras/modem-modeswitch: move from udev-extras
-
-David Zeuthen (1):
- gudev: move from udev-extras
-
-Kay Sievers (95):
- version bump
- rules: v4l do not mix vbi and video nodes
- fix possible endless loop for GOTO to non-existent LABEL
- Revert "rules: v4l do not mix vbi and video nodes"
- rule-generator: cd - skip by-path links if we create by-id links
- remove format char string truncation syntax
- use more efficient string copying
- edd_id: use openat()
- use openat(), unlinkat(), fstatat()
- update TODO
- remove unused GL_FORMAT from rules parser
- require key names in uppercase
- keep the ifdef'd udevd testing/profiling hack
- fix location of database files
- udevadm: settle - make --timeout=0 working
- update NEWS
- rules: add SUBSYSTEM match to scsi rules
- cdrom_id: suppress ID_CDROM_MEDIA_STATE=blank for plain non-writable CDROM media
- udevadm: control - add comment to man page about --reload-rules
- cdrom_id: add error message if open() fails
- udevadm: settle - add --exit-if-exists=<file>
- udevd: remove check for dev_t, DEVPATH_OLD takes care of that
- str[sp]cpyl: add __attribute__ ((sentinel))
- udevd: convert to event worker processes
- udevd: close netlink socket in worker and set cloexec
- rules: do not call path_id for virtual devices
- udevd: use enum instead of char in struct declaration
- allow format substitution in path of ATTR{<path>}=="<value>"
- cleanup $attr{} substitution
- path_id: implement in C using libudev
- path_id: update SCSI handling
- path_id: add comments
- fix signed/unsigned warning
- libudev: enumerate - allow multiple keys with the same name
- udevadm: trigger - add --property-match=<key>:<value>
- udevadm: info - accept --query without a value and print properties
- udevadm: control - --env -> --property
- udevadm: monitor --environment -> --property
- path_id: handle fibre channel
- path_id: add iscsi support
- path_id: delete old shell script
- udevd: print error if worker dies unexpectedly
- path_id: rename scsi sub-fuctions
- libudev: add comments to libudev.h
- libudev: move to top-level directory
- fix libudev include in Makefile.am.in
- libudev: device_new() -> udev_device_new()
- udevd: log info for created/killed workers
- libudev: call log functions conditionally
- move syslog wrapper to libudev
- move common stuff from udev/ to private parts of libudev/
- libudev: rename private files to *-private.c
- rules: remove scsi ch module loading rule
- update NEWS
- udevadm: info -revert "accept --query without argument"
- README: add kernel options
- README: add INOTIFY and SIGNALFD
- USE_LOG -> ENABLE_LOGGING, DEBUG -> ENABLE_DEBUG, USE_SELINUX -> WITH_SELINUX
- libudev: add gtk-doc
- libudev: update documentation
- libudev: doc - add section headers
- libudev: doc - add enumerate
- libudev: doc - add queue
- update TODO
- libudev: doc - add namespace for index
- libudev: move .so version to libudev Makefile
- autogen.sh: simplify
- TODO: update
- libudev: remove prefix from .so version variables
- libudev: doc - add empty libudev.types
- udev-acl: move from udev-extras
- INSTALL: add --enable-extras
- udev-acl: handle missing action when called in CK mode
- v4l_id: move from udev-extras
- libudev: doc - libudev-docs.sgml -> libudev-doc.xml
- gudev: fix typo in configure option
- v4l_id: 70-v4l.rules -> 60-persistent-v4l.rules
- configure: enable all extras by default, provide --disable-extras
- autogen.sh: make "CFLAGS=-O0 ./autogen.sh" working
- NEWS: add --disable-extras
- cleanup ./configure installation directory options
- rules: remove MMC rule, 2.6.30 has the modalias
- configure.ac: print error if gperf is missing
- libudev: install in $libdir and move later to $rootlibdir
- extras/keymap: use LIBEXECDIR instead /lib/udev
- README: add /lib/udev/ is private
- rules: do not install usb-id/pci-id rules when --disable-extras is used
- extras: delete man pages for private udev tools
- README: update
- extras/keymap: install findkeyboards in /lib/udev
- INSTALL: use /sbin instead of %{sbindir}
- NEWS: update
- udev.pc: add
- Merge branch 'master' of git+ssh://master.kernel.org/pub/scm/linux/hotplug/udev
- docs: install writing_udev_rules
-
-Lennart Poettering (2):
- rules: sound - move from udev-extra
- usb-db: move from udev-extras
-
-Marcel Holtmann (1):
- rules: make RFKILL control device world readable
-
-Mario Limonciello (1):
- hid2hci: move from udev-extras
-
-Martin Pitt (5):
- keymap: move from udev-extras
- extras/keymap: Fix WLAN button on ThinkPads
- keymap: Update findkeyboard path in docs
- udev-acl: Manage hplip device permissions
- extras/keymap: Update findkeyboards location
-
-Matthias Schwarzott (3):
- rules: Gentoo update
- rules: Gentoo update
- rules: Gentoo update
-
-Scott James Remnant (1):
- OWNER/GROUP: fix if logic
-
-
-Summary of changes from v141 to v142
-============================================
-
-Andre Przywara (1):
- rules: create /dev/cpu/<n>/cpuid world readable
-
-Ian Campbell (1):
- path_id: support identification of Xen virtual block devices
-
-John Wright (1):
- edd_id: add cciss devices
-
-Kay Sievers (46):
- version bump
- libudev: path_encode - always return 0 if encoded string does not fit into size
- libudev: monitor - clarify socket handling documentation
- udevd: log error for too old kernels or CONFIG_SYSFS_DEPRECATED
- rules: remove DVB shell script
- update NEWS
- cdrom_id: add Xen cdrom support
- test-libudev: update monitor source
- TODO: add packet filter
- update NEWS
- cdrom_id: add and use ID_CDROM_MEDIA to decide if we run vol_id
- libudev: monitor - add client socket filter for subsystem value
- udevadm: monitor - print error if we can not bind to socket
- update TODO
- udevadm monitor - add --subsystem-match=
- libudev: monitor - use simpler hash
- libudev: monitor - switch to filter_add_match_subsystem_devtype()
- libudev: monitor - do not filter messages with wrong magic
- udevadm: monitor - add <subsytem>:<devtype> support
- libudev: monitor - add udev_monitor_filter_remove
- libudev: queue - fix get_seqnum_is_finished()
- cdrom_id: skip media tests if CDROM_DRIVE_STATUS != CDS_DISC_OK
- libudev: queue - clarify comments
- libudev: monitor - export filter_update()
- update NEWS
- drop "extern" keyword from non-static function
- rule_generator: net - fix usb comment generation
- rules: input - add links for USB/platform non-kbd/mouse devices
- rules: input - fix comments
- rules: add rfcomm* to group dialout
- accept DEVNAME from the kernel as a hint for the node name
- update TODO
- build: use AC_MSG_RESULT
- rules: add "event*" match
- udevd: revert initial device node creation
- rules: remove initramfs comment
- handle devtmpfs nodes
- oops, removed ppp entry from rules got committed
- remove all PHYSDEVPATH handling and warning about
- remove asmlinkage
- rules: fix ieee1394 rules
- add "static" back to the inline functions
- update TODO
- delete vol_id and require util-linux-ng's blkid
- delete libvolume_id
-
-Lubomir Rintel (1):
- rule-generator: net - whitelist NICs that violate MAC local scheme
-
-
-Summary of changes from v140 to v141
-============================================
-
-Adam Buchbinder (4):
- usb_id: add manpage
- cdrom_id: update manpage
- create_floppy_devices: expand manpage
- vol_id: fix language in manpage
-
-Alan Jenkins (1):
- avoid leaking netlink socket fd to external programs
-
-Borislav Petkov (1):
- rules: rename ide-floppy to ide-gd
-
-David Brownell (1):
- rules: exclude mtd* from persistent disk links
-
-Kay Sievers (15):
- rules: fix extra quote in 50-udev-default.rules
- version bump
- udevadm: test - handling trailing '/' in devpath
- udevadm: monitor - clarify printed header
- rules: remove ram* from persisten disk links blacklist
- rules: serial - support ttyACM devices
- rules: replace IDE driver with media match
- usb_id: add ID_VENDOR_ID, ID_MODEL_ID, ID_USB_INTERFACE_NUM, ID_USB_DRIVER
- libudev: GPL -> LGPL
- usb_id: remove unused variable
- send monitor events back to netlink socket
- "UDEV_MONITOR_KERNEL/UDEV" -> "kernel/udev"
- IMPORT: 2048 -> 4096 bytes buffer
- path_encode: fix max length calculation
- libudev: monitor - unify socket message handling
-
-Michal Soltys (1):
- rules: md-raid.rules fix
-
-Robby Workman (1):
- udevadm: trigger - add "--action" to --help
-
-Scott James Remnant (1):
- libudev: monitor - ignore messages from unusual sources
-
-
-Summary of changes from v139 to v140
-============================================
-
-Harald Hoyer (1):
- libvolume_id: bump age
-
-Kay Sievers (12):
- version bump
- update TODO
- volume_id: ntfs - fix uuid setting
- update TODO
- rules: Fedora update
- libudev: queue - use lstat() to check existence of symlink
- udevadm: settle - add --seq-start= --seq-end=
- udevd: switch watch symlinks to devpath
- udevadm: add text for new options to command and man page
- update TODO
- libudev: ctrl - return error after sending ctrl message
- udevadm: settle - use timeout signal, instead of loop counter
-
-Michael Prokop (1):
- fix compile error in debug mode
-
-Scott James Remnant (1):
- udevadm: settle - synchronise with the udev daemon
-
-
-Summary of changes from v138 to v139
-============================================
-
-Kay Sievers (11):
- version bump
- remove static local variable
- use the event udev_device to disable the watch on "remove"
- add "nowatch" to disable a default installed watch with a later rule
- add m4/ subdir
- use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE
- usb_id: add ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
- usb_id: return values if called directly for an usb_device
- usb_id: fix NULL string usage
- usb_id: fix comment
- udevadm: info - export all devices with --export-db
-
-Scott James Remnant (10):
- Don't add inotify watch until RUN rules processed.
- Clear existing inotify watch before processing.
- Cleanup a little.
- Allow watch handle to be stored in the udevdb.
- Store watch handle in db.
- Use the udevdb to speed up watch clearing.
- Put a log message in a more sensible place.
- Output watch handle in udevadm info.
- lookup the old watch handle; reload only if has a path
- Look at more inotify events in the buffer than just the first.
-
-
-Summary of changes from v137 to v138
-============================================
-
-David Zeuthen (1):
- *_id: add model/vendor enc strings
-
-Karel Zak (2):
- vol_id: fix ddf version string
- vol_id: add missing id->type to swap0
-
-Kay Sievers (13):
- man: fix grammar
- version bump
- fix NAME="" logic
- rules: dm - add escape for uuid links with whitespace
- test: add test for empty and non-existent ATTR
- rules: fix md "change"/"remove" handling
- autogen.sh: add more warnings
- fix NAME= and OPTION+="string_escape=..." logic
- rules: move OPTIONS to separate rule
- use global "reload_config" flag
- rules: add "watch" option to dm and md rules
- rules: include loop block devices in persistent links
- release 138
-
-Matthias Schwarzott (1):
- rules: Gentoo update
-
-Miklos Vajna (1):
- doc: writing udev rules - refer to 'udevadm info' instead of 'udevinfo'
-
-Scott James Remnant (2):
- udevd: optionally watch device nodes with inotify
- rules: update persistent storage rules to use inotify watches
-
-
-Summary of changes from v136 to v137
-============================================
-
-Alan Jenkins (2):
- man: typo fixes
- remove stray initializer
-
-Kay Sievers (17):
- version bump
- rules: fix typo in ide cd rule
- libudev: use 4096 bytes buffer for attribute reading
- rules: add drm devices to group "video"
- do not complain about a missing /etc/udev/rules.d/
- udevadm: test - remove --force option
- update NEWS
- remove name from index if the node name has changed
- cleanup old names before creating the new names
- open-code pollfd setup
- increase netif renaming timeout from 30 to 90 seconds
- Merge commit '5f03ed8a56d308af72db8a48ab66ed68667af2c6'
- Merge commit '9032f119f07ad3b5116b3d4858816d851d4127de'
- split up long line
- udevd: add back SA_RESTART
- usb_id: handle ATAPI devices like SCSI devices
- udevadm: settle - fix typo
-
-Lennart Poettering (1):
- fix naming for tape nst devices in /dev/tape/by-path/
-
-Olaf Kirch (2):
- udevd: use ppoll instead of signal pipes
- reap children faster
-
-Scott James Remnant (2):
- Allow user and group lookup to be disabled.
- Expose delayed name resolution
-
-Sven Jost (1):
- volume_id: support via raid version 2
-
-
-Summary of changes from v135 to v136
-============================================
-
-Adam Buchbinder (1):
- extras: fix mis-spelling of "environment"
-
-Harald Hoyer (1):
- rule_generator: fix enumeration for write_cd_rules
-
-Jeremy Higdon (1):
- path_id: rework SAS persistent names
-
-Karel Zak (1):
- volume_id: HPFS code clean up
-
-Kay Sievers (54):
- rules: ATA_COMPAT do not try to match on sr*, it will never have vendor ATA
- scsi_id: do not fail if no serial is found like for optical drives
- update configure and NEWS
- rules: fix isdn rules
- rules: add persistent /dev/serial/{by-id,by-path} rules
- make: install serial rules file
- make: do not delete autotools generated file with distclean
- udevadm: settle - allow --timeout=0 and --quiet
- rules: move aoe rules to default rules file
- volume_id: btrfs - update format
- rules: add "do not edit header"
- volume_id: support sub-uuid's and plug in btrfs device uuid
- libudev: include <sys/types.h>
- build: add -lsepol
- build: just use autoreconf -i
- rules: remove ide-scsi
- rules: first simple step merging with Ubuntu rules
- "'/sbin/modprobe abnormal' exit" - also print program options
- rules: more changes toward Ubuntu rules merge
- rules: more changes toward Ubuntu rules merge
- rules: remove /dev/raw/raxctl symlink, it's a devfs leftover
- rules: rtc - create rtc compat link only for cmos type rtc
- rules: remove legacy symlinks
- rules: do not put raw1394 in "video" group
- rules: second round merging with Ubuntu rules
- rules: remove /dev/dsp /dev/audio
- rules: put alsa in group "audio"
- rules: isdn - remove /dev/isdn/capi20 symlink
- rules: provide /dev/raw/rawctl
- if needed, store database entries also for devices which do not have a device node
- build: use autoreconf --symlink
- usb_id: add "image" class
- require non-SYSFS_DEPRECATED 2.6.20+ kernel
- build: default to --prefix=/usr --exec-prefix=""
- libudev: enumerate - add lookup by property
- rules: input - make sure needed variables are set
- libudev: device - read "uevent" only if info is not already loaded
- libudev: subsytem -> subsystem
- libudev: bump revision
- usb_id: use devtype lookup
- require 2.6.22+ kernel
- rules: Ubuntu merge - use group "cdrom"
- rules: Ubuntu merge - use group "tape"
- rules: replace DVB shell script rule
- rules: Ubuntu merge - s/uucp/dialout/
- update NEWS
- update NEWS
- enable skipping of "naming-only" rules
- usb_id: s/image/media/
- udevadm: s/udevinfo/udevadm info/
- rules: reorder block rules
- rules: zaptel - add "dialout" group
- libudev: device - add udev_device_get_property_value()
- libudev: test - add udev_device_get_property_value()
-
-Marcel Holtmann (3):
- libudev: device - add devtype support
- libudev: device - lookup subsystem and devtype together
- libudev: device - remove udev_device_get_parent_with_subsystem
-
-Michal Soltys (1):
- man: udev - update NAME assignment
-
-Ryan Thomas (1):
- rules: add rules for AoE devices
-
-
-Summary of changes from v134 to v135
-============================================
-
-Kay Sievers (6):
- usb_id: add "break" to currently unused case labels
- rules: fix cciss disk/by-id/ links
- rules: add infiniband rules
- rules: infiniband.rules -> 40-infiniband.rules
- fix network interface name swapping
- update configure and NEWS
-
-Marcel Holtmann (1):
- usb_id: fix switch statement for video type
-
-Piter PUNK (2):
- rules: /dev/null -> X0R
- rules: add usb device nodes
-
-
-Summary of changes from v133 to v134
-============================================
-
-Gabor Z. Papp (1):
- include errno.h in sysdeps.h
-
-Harald Hoyer (1):
- rules: add persistent rules for memory stick block devices
-
-Kay Sievers (19):
- autogen.sh: fix -print-multi-os-directory usage
- volume_id: update btrfs magic
- bump version
- rules: merge group "video" into default rules
- rules: v4l - add by-id/ links for USB devices
- libudev: accept NULL whitelist in util_replace_chars()
- usb_id: replace chars in returned strings
- ata_id: make sure, we do not have slashes in values
- scsi_id: make sure, we do not have slashes in values
- volume_id: remove unused usage types
- vol_id: if regular files are probed, use stat() for the size value
- volume_id: update btrfs
- volume_id: clear probing result before probing and do not probe a second time, if not needed
- path_id: fix fibre channel handling
- update NEWS TODO
- floppy: use ARRAY_SIZE()
- fix handling of swapping node name with symlink name
- silence PHYSDEV* warning for WAIT_FOR* rules
- rules: exclude "btibm" devices from vol_id calls
-
-Matthias Schwarzott (1):
- rules: Gentoo update
-
-Peter Breitenlohner (2):
- man: fix typos
- floppy: fix array bounds check and minor calculation
-
-
-Summary of changes from v132 to v133
-============================================
-
-Alan Jenkins (2):
- udevd: de-duplicate strings in rules
- scsi_id: we don't use DEVPATH env var anymore, update man page
-
-Karel Zak (1):
- volume_id: fat - move check for msdos signature (0x55 0xaa)
-
-Kay Sievers (22):
- silence "comparison between signed and unsigned"
- string index - split nodes and childs to allow and unlimited number of childs
- reserve child slot 0
- merge trie nodes, childs and root into a single array
- set errno = ENOSYS in inotify stub
- udevadm: info - unify -V and --version
- rules: remove DEVTYPE disk/partition
- rules: remove pnp shell script, acpi loads these modules properly
- update NEWS
- configure: add linux-hotplug mail address
- remove len == 0 check, the index root is always '\0'
- volume_id: bump revision
- volume_id: always check for all filesystem types and skip conflicting results
- volume_id: fat - accept empty FAT32 fsinfo signature
- fix spelling in comment
- volume_id: ntfs - mark as no other fs must match
- vol_id: clarify error message
- libudev: device - handle disk "device" link for partitions in deprecated sysfs layout
- limit $attr(<symlink>) magic to well-known links only
- udevd: fix cleanup of /dev/.udev/uevent_seqnum
- fix $links substitution for devices without any link
- update NEWS
-
-Sergey Vlasov (1):
- udevadm: fix option parsing breakage with klibc
-
-
-Summary of changes from v131 to v132
-============================================
-
-Kay Sievers (2):
- fix size_t compiler warning on 32 bit platforms
- convert debug string arrays to functions
-
-
-Summary of changes from v130 to v131
-============================================
-
-Alan Jenkins (17):
- libudev: fix sysnum logic for digit-only device names
- udevd: avoid overhead of calling rmdir on non-empty directories
- use more appropriate alternatives to malloc()
- libudev: util - optimize path_encode()
- libudev: allocate udev_device->envp[] dynamically
- replace strncpy() with strlcpy()
- use re-entrant variants of getpwnam and getgrnam
- udevd: fix memory leak
- udevd: fix WAIT_FOR_SYSFS execution order
- fix handling of string_escape option
- udevd: use a tighter loop for compare_devpath()
- udevd: avoid implicit memset in match_attr()
- kerneldoc comment fixes
- udevd: simplify rules execution loop
- udevd: fix termination of rule execution
- udevd: be more careful when matching against parents
- udevd: shrink struct token to 12 bytes
-
-Kay Sievers (113):
- remove outdated docs/README-gcov_for_udev
- libudev: device - add device lookup by subsystem:sysname
- libudev: also prefix non-exported functions with udev_*
- libudev: add udev_monitor_send_device()
- libudev: list - add flag
- libudev: device - generate DEVNAME and DEVLINKS properties
- vol_id: update README
- libudev: handle ! in sysname, add sysnum, return allocated list_entry on add
- delete simple-build-check.sh
- test: move global ENV{ENV_KEY_TEST}="test" to local rule
- libudev: monitor - fix send_device() property copying
- libudev: device - add get_envp() to construct envp from property list
- libudev: do not include ctrl in libudev.so
- libudev: monitor - do not mangle DEVLINKS property
- libudev: update DEVLINKS property when properties are read
- libudev: device - lookup "subsystem" and "driver" only once
- libudev: device - export properties when values are set
- libudev: list - handle update of key with NULL value
- libudev: ctrl - fix typo in set_env()
- libudev: add global property list
- libudev: device - copy global properties, unset empty properties
- volume_id: btrfs - update magic to latest disk format
- udevd: use libudev
- move udev_device_db to libudev
- rename udev source files
- libudev: always add UDEV_LOG
- libudev: monitor - export MAJOR/MINOR only if available
- udev-node: name_list -> udev_list
- udev-rules-parse: name_list -> udev_list
- delete name_list, move common file functions
- fix sorting of rules files
- run_program: prevent empty last argv entry
- update IMPORT= file/stdout property parsing
- update rules file parsing
- delete udev-util-file.c
- libudev: list - prepend udev_* to all functions
- libudev: add sysnum to test program
- test: fix a few unintentially wrongly written rules which cause parse errors
- libudev: monitor - add set_receive_buffer_size()
- libudev: ctrl - change magic to integer
- libudev: make list_node functions available
- udevd: use udev_list_node
- collect: use udev_list
- delete list.h
- merge udev-rules.c and udev-rules-parse.c
- make struct udev_rules opaque
- move run_program to util
- udev_event_run() -> udev_event_execute_rules()
- udev_rules_run() -> udev_event_execute_run();
- move udev_rules_apply_format() to udev-event.c
- udev_list_cleanup() -> udev_list_cleanup_entries()
- selinux_init(udev) -> udev_selinux_init(udev)
- prefix udev-util.c functions with util_*
- pass make distcheck
- libudev: device - get_attr_value() -> get_sysattr_value()
- cdrom_id: remove ARRAY_SIZE() declaration
- replace missing get_attr_value() -> get_sysattr_value()
- add "root" == 0 shortcuts to lookup_user/group()
- do not use the new work-in-progress parser rule matcher
- libudev: device - 128 -> ENVP_SIZE
- add util_resolve_subsys_kernel()
- handle numerical owner/group string in lookup_user/group()
- replace in-memory rules array with match/action token list
- do not create temporary node ($tempnode) if node already exists
- shrink struct udev_event
- shrink struct udev_event
- rule_generator: fix netif NAME= value extraction regex
- skip SYMLINK rules for devices without a device node
- rules: let empty strings added to buffer always return offset 0
- fix uninitialized variable warnings
- cache uid/gid during rule parsing
- distinguish "match" from "assign" by (op < OP_MATCH_MAX)
- determine at rule parse time if we need to call fnmatch()
- special-case "?*" match to skip fnmatch()
- libudev: monitor - replace far too expensive snprintf() with strlcpy()
- libudev: monitor - cache result of monitor send buffer
- fix "unused" warnings
- remove debug printf
- match KEY="A|B" without temporary string copy
- match_attr() - copy attr value only when needed
- do not init string arrays, just clear first byte
- fix $attr{[<subsystem>/<sysname>]<attribute>} substitution
- libudev: device - fill envp array while composing monitor buffer
- test: add RUN+="socket: ..." to a test to run monitor code
- libudev: device - allocate envp array only once
- update NEWS
- udevd: merge exec and run queue to minimize devpath string compares
- ATTR{}== always fails if the attribute does not exist
- rules: remove SCSI timeouts
- rules: remove "add" match from usb device node rule
- edd_id: add "change" event match
- fstab_import: add "change" event match
- write trace log to stderr
- log rules file and line number when NAME, SYMLINK, OWNER, GROUP, MODE, RUN is applied
- skip entire rule containing device naming keys, if no device can be named
- fix udev_node_update_old_links() logic
- move some info() to dbg()
- add "devel" and "install" switches to autogen.sh
- move debugging strings inside #ifdef DEBUG
- firmware.sh: record missing files in /dev/.udev/firmware-missing/
- fix list handling in enumerate and rules file sorting
- volume_id: btrfs update
- info() PROGRAM and IMPORT execution
- fix $links substitution
- fix cleanup of possible left-over symlinks
- do not import the "uevent" file when we only read the db to get old symlinks
- usb_id: MassStorage SubClass 6 is "scsi" not "disk"
- unify string replacement
- $links should be relative
- fix indentation
- rules: md - add mdadm 3 device naming
- cleanup /dev/.udev/queue on startup and exit
- udevadm: settle - exit if udevd exits
-
-Matthias Koenig (1):
- volume_id: swap - larger PAGE_SIZE support
-
-Steven Whitehouse (1):
- volume_id: support for GFS2 UUIDs
-
-
-Summary of changes from v129 to v130
-============================================
-
-Kay Sievers (26):
- fix compile error with --disable-logging
- libudev: enumerate - add_device() -> add_syspath()
- volume_id: hpfs - read label and uuid
- use no_argument, required_argument, optional_argument in longopts
- libudev: get rid of selinux
- libudev: device - add get_parent_with_subsystem()
- usb_id: use libudev
- udevadm: info - fix --query=all for devices without a device node
- vol_id: add size= option
- move selinux noops to udev.h
- volume_id: add dbg() as noop to check for compile errors
- vol_id: fix logging glue
- vol_id: always use the safe string versions for unencoded label and uuid
- volume_id: better DDF raid detection
- volume_id: add btrfs
- volume_id: use PRIu64i, PRIx64 macros
- udevd: clarify deprecated sysfs layout warning
- libudev: fix --enable-debug
- don not print error if GOTO jumps just to next rule
- volume_id: add more vfat debugging information
- libudev: libudev.pc remove selinux
- store node name and symlinks into db symlink target if they are small enough
- volume_id: more fat debugging
- libudev: fix typo in "multiple entries in symlink" handling
- connect /sys and /dev with /sys/dev/{block,char}/<maj>:<min> and /dev/{block,char}/<maj>:<min>
- replace spaces in dm and md name symlinks
-
-
-Summary of changes from v128 to v129
-============================================
-
-Alan Jenkins (7):
- udev-test.pl: set non-zero exitcode if tests fail
- scsi_id: compiler warning on 32-bit
- trivial cleanup in udev_rules_iter
- avoid repeated scans for goto targets (udev_iter_find_label)
- replace strerror() usage with threadsafe "%m" format string
- fix messages (inc. debug compile failure) introduced when optimizing "goto"
- allow compiler to check dbg() arguments on non-debug builds
-
-Kay Sievers (46):
- libudev: switch to "udev_device_get_parent"
- libudev: udev_device - add attribute cache
- libudev: handle "device" link as parent, handle "class" "block" as "subsystem"
- udevadm: info - fix lookup-by-name
- libudev: switch API from devpath to syspath
- libudev: rename ctrl_msg to ctrl_msg_wire
- vol_id: fix lib logging glue
- fix broken symlink resolving
- fix udevadm trigger
- libudev: pass udev_device in enumerate
- libudev: fix "subsystem" value
- always include config.h from Makefile
- libudev: udev_device_get_devname -> udev_device_get_devnode
- libudev: add udev_device_new_from_devnum()
- libudev: also import "uevent" file when reading udev database
- libudev: add userdata pointer
- libudev: replace awkward callback list interfaces with list iterators
- libudev: get devnum from uevent file
- libudev: enumerate_get_devices_list -> enumerate_get_list
- libudev: initialize selinux only when needed
- libudev: device - read database only when needed
- libudev: rework list handling
- libudev: more list rework
- lubudev: accept more sys directories as devices, and parent devices
- libudev: enumerate - accept list of subsystems to scan, or skip
- libudev: enumerate "subsystem"
- libudev: enumerate - scan /sys/block/ if needed
- libudev: enumerate - split new() and scan()
- test: replace ancient sysfs tree with recent one
- test: add missing pci directory because of .gitignore *.7
- gitignore: move *.8 to subdirs
- test: replace last reference of "/class/*" devpath
- fix dbg() callers
- libudev: enumerate - scan devices and subsystems, add subsystem and attribute filter
- udevadm: trigger: use libudev
- fix segfault caused by wrong pointer used in dbg()
- libudev: device_init() -> device_new()
- udevadm: trigger fix long option --type=
- libudev: add queue interface
- udevadm: settle - use libudev queue
- libudev: device - handle /sys/block/<disk-device-link>/<partition>
- libudev: enumerate - ignore regular files while scanning
- udevadm: trigger --type=failed - use libudev queue
- rules: ieee1394 - create both, by-id/scsi-* and by-id/ieee-* links
- build: include Makefile.am.inc in all Makefile.am
- udevd: print warning if CONFIG_SYSFS_DEPRECATED is used
-
-
-Summary of changes from v127 to v128
-============================================
-
-Alan Jenkins (8):
- fix uninitialized name_list error::ignore_error
- do not needlessly declare some local variables in udev_rules_parse.c as static
- remove deprecated envp[] in main()
- fix name compare bug name_list_key_add()
- remove redundant string copy in udev_rules_apply_format()
- remove redundant "remove trailing newlines" in udevadm info
- threadsafe rules iteration
- fix off-by-one in pass_env_to_socket()
-
-Kay Sievers (53):
- libudev: add monitor documentation
- libudev: fix --disable-log
- autogen.sh: add --with-selinux
- volume_id: hfs - calculate proper uuid
- fix dangling pointer returned by attr_get_by_subsys_id()
- udev-test.pl: add --valgrind option
- libudev: libudev.pc add Libs.private
- volume_id: fail on undefined __BYTE_ORDER
- remove FAQ
- libudev: fix monitor documentation
- libudev: add udev_device_get_syspath()
- udev_device_init() remove statically allocated device support
- udevadm: info - fix broken --device-id-of-file=
- udevadm: control - use getopt_long()
- udevadm: print warning to stderr if udevadm is called by symlink
- udev-test.pl: remove left-over comment from --valgrind option
- udevadm: rename source files
- udevadm: rename internal functions to udevadm_*
- udevadm: split out control functions
- udevadm: move init from commands to udevadm
- autogen.sh: add debug
- use libudev code, unify logging, pass udev context around everywhere
- volume_id: linux_raid - fix logic for volumes with size == 0
- vol_id: add --debug option
- udevadm: add --version --help options to man page, hide them as commands
- move udev_ctrl to libudev-private
- udev-test.pl: set udev_log="err"
- test-udev: cleanup libudev context and overridden rules file string
- test-udev: remove unused var
- add a bunch of private device properties to udev_device
- udevadm: monitor - use libudev for udev monitor
- libudev: monitor - add event properties to udev_device
- udevadm: log message if udevadm link is used
- udevd: remove max_childs_running logic
- libudev: monitor- add netlink uevent support
- udevadm: monitor - use libudev code to retrieve device data
- libudev: udev_device - read "driver" value
- libudev: rename enumerate function
- libudev: add selinux
- libudev: initialize selinux after logging
- volume_id: merge util.h in libvolume_id-private.h
- update file headers
- libudev: udev_device - add more properties
- libudev: do not use udev_db.c
- libudev: get rid of udev_sysfs.c
- libudev: get rid of udev_utils.c
- libudev: rename libudev-utils.c libudev-util.c
- libudev: do not use any udev source file
- extras: use libudev code
- convert to libudev and delete udev_utils_string.c
- get rid of udev_sysdeps.c
- use size definitions from libudev
- udevadm: info - use "udev_device"
-
-
-Summary of changes from v126 to v127
-============================================
-
-Karel Zak (2):
- build-sys: don't duplicate file names
- build-sys: remove non-POSIX variable names
-
-Kay Sievers (26):
- add inotify dummy definitions if inotify is not available
- build: remove autopoint check
- udevadm: trigger - add missing attr filter to synthesized "subsystem" register events
- ignore duplicated rules file names
- fix .gitignore
- rules: delete all distro rules which do not use default rules
- rules: add nvram
- rules: add isdn rules
- rules: Gentoo update
- add missing includes
- add some warnings
- update .gitignore
- add missing 'v' for "make changelog"
- build: fix "make dist"
- vol_id: make the --offset= argument optional
- rules: optical drives - probe at last session offset, do not probe for raid
- libudev: add library to access udev information
- libudev: split source files
- update INSTALL
- libudev: add udev event monitor API
- volume_id: remove deprecated functions and bump major version
- volume_id: remove left-over fd close()
- split udev_device.c to leave out rules handling from libudev
- libudev: link against selinux if needed
- firmware.sh: lookup lookup kernel provided firmware directory
- libudev: require LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE
-
-Michal Soltys (1):
- rules: fix md rules for partitioned devices
-
-
-Summary of changes from v125 to v126
-============================================
-
-Kay Sievers (9):
- delete all Makefiles and move udev source to udev/
- use autotools
- rules: mode 0660 for group "disk"
- rules: update Fedora rules
- update ChangeLog
- INSTALL: --enable-selinux not --with-selinux
- volume_id: move static lib to $prefix
- volume_id: create relative links
- rules: run vol_id on opticals only if media is found
-
-Marco d'Itri (1):
- rules: Debian update
-
-Thomas Koeller (1):
- use proper directory lib/lib64 for libvolume_id
-
-
-Summary of changes from v124 to v125
-============================================
-
-John Huttley (1):
- rules: tape rules - add nst to usb and 1394 links
-
-Karl O. Pinc (1):
- man: clarify $attr{} parent searching
-
-Kay Sievers (14):
- collect: fix size_t printf
- path_id: suppress trailing '-' like 'ID_PATH=pci-0000:05:01.0-'
- rules: add v4l persistent links
- docs: update some docs and delete outdated stuff
- scsi_id: fix fallback to sg v3 for sg nodes
- rules: fix cciss rules for partition numbers > 9
- udev.conf: udevcontrol -> udevadm control
- rules: use consistently OPTIONS+=
- scsi_id: the fallback fix broke error handling
- man: rebuild from xml
- do not touch node ownership and permissions, if already correct
- rules: tape rules - add nst to by-path/ links
- udevadm: info - add --export format to --device-id-of-file=
- move default rules from /etc/udev/rules.d/ to /lib/udev/rules.d/
-
-Marco d'Itri (7):
- rules_generator: net rules - do not print error if file is missing and ignore commented rules
- man: add link_priority default value
- scsi_id: man page fix
- udevadm: settle - add verbose output when running into timeout
- rules: Debian update
- rules: Debian update
- ignore rule with GOTO to a non-existent label
-
-Thomas Koeller (1):
- scsi_id: include sys/stat.h
-
-Tobias Klauser (1):
- collect: check realloc return value
-
-
-Summary of changes from v123 to v124
-============================================
-
-Kay Sievers (1):
- cdrom_id: fix recognition of blank media
-
-
-Summary of changes from v122 to v123
-============================================
-
-Erik van Konijnenburg (3):
- add substitution in MODE= field
- Makefile: use udevdir in "make install"
- volume_id: support for oracleasm
-
-Harald Hoyer (1):
- scsi_id: retry open() on -EBUSY
-
-Karel Zak (2):
- volume_id: remove unnecessary global variable
- volume_id: enable GFS probing code, add LABEL support
-
-Kay Sievers (5):
- edd_id: call it only for sd* and hd*
- rename WAIT_FOR_SYSFS to WAIT_FOR and accept an absolute path
- rules: tape rules - use bsg device nodes for SG_IO
- rules: persistent net - handle "locally administered" ibmveth MAC addresses
- cdrom_id: export ID_CDROM_MEDIA_TRACK_COUNT_AUDIO=, ID_CDROM_MEDIA_TRACK_COUNT_DATA=
-
-Michal Soltys (1):
- man: add NAME== match entry
-
-Xinwei Hu (2):
- collect: realloc buffer, if needed
- udevd: export .udev/queue/$seqnum before .udev/uevent_seqnum
-
-
-Summary of changes from v121 to v122
-============================================
-
-Hannes Reinecke (2):
- scsi_id: remove all sysfs dependencies
- scsi_id: add SGv4 support
-
-Karel Zak (1):
- volume_id: clean up linux_raid code
-
-Kay Sievers (8):
- scsi_id: update man page
- scsi_id: remove bus_id option
- scsi_id: add --sg-version= option
- rules: adapt to new scsi_id
- rules: adapt tape rules to new scsi_id
- scsi_id: add bsg.h
- volume_id: bump version
- Makefile: do not create udevcontrol, udevtrigger symlinks
-
-MUNEDA Takahiro (2):
- man: udevd- fix udev(8) reference
- man: scsi_id
-
-Matthias Schwarzott (1):
- cdrom_id: fix segfault
-
-
-Summary of changes from v120 to v121
-============================================
-
-Damjan Georgievski (1):
- libvolume_id: recognize swap partitions with a tuxonice hibernate image
-
-Daniel Drake (1):
- writing udev rules: fix rule typos
-
-David Woodhouse (1):
- rules_generator: net rules - add "dev_id" value to generated rules
-
-Harald Hoyer (1):
- selinux: more context settings
-
-Kay Sievers (21):
- udevinfo: do not replace chars when printing ATTR== matches
- vol_id: add --offset option
- cdrom_id: replace with version which also exports media properties
- udevd: at startup write message including version number to kernel log
- rules_generator: net rules - always add KERNEL== match to generated rules
- selinux: fix missing includes
- allow setting of MODE="0000"
- path_id: remove subsystem whitelist
- logging: add trailing newline to all strings
- scsi_id: initialize serial strings
- persistent device naming: also read unpartitioned media
- cdrom_id: add more help text
- add $links substitution
- fstab_import: add program to IMPORT matching fstab entry
- add OPTIONS+="event_timeout=<seconds>"
- write "event_timeout" to db
- udevadm: trigger - add --env= option
- udevadm: control - fix --env key to accept --env=<KEY>=<value>
- udevadm: info - do not print ATTR{dev}==
- persistent device naming: update tape rules
- rules: update md rules
-
-
-Summary of changes from v119 to v120
-============================================
-
-Kay Sievers (9):
- test: remove duplicated EXTRA entry
- rules: remove last WAIT_FOR_SYSFS, load ppdev, switch scsi_device
- udevadm: trigger - option to synthesize events and pass them to a socket
- udevadm: info - resolve devpath if symlink is given
- udevadm: remove old man page links and compat links for debugging tools
- udevadm: trigger - fix broken socket option check
- udevadm: trigger - fix --socket== + --verbose
- also accept real socket files for RUN+="socket:<path>"
- persistent device naming: cleanup storage rules
-
-Michael Kralka (1):
- udevd: serialize events if they refer to the same major:minor number
-
-
-Summary of changes from v118 to v119
-============================================
-
-Anthony L. Awtrey (1):
- do not skip RUN execution if device node removal fails
-
-Harald Hoyer (2):
- rules: Fedora update
- rules: do not set GROUP="disk" for scanners
-
-Jiri Slaby (1):
- rules_generator: add missing write_net_rules unlock
-
-Karel Zak (2):
- volume_id: fix UUID raw buffer usage
- volume_id: fix typo in function documentation
-
-Kay Sievers (10):
- switch mailing lists to linux-hotplug@vger.kernel.org
- rules: remove tty rule which can never run because of an earlier "last_rule"
- volume_id: update ext detection
- selinux: set context for real file name not the temp name
- hack to allow ATTR{block/*/uevent}="change"
- rules_generator: add KERNEL=="<netifname>*" to generated rules
- persistent device naming: also run on "change" event
- test: add "subsystem" links to all devices
- sysfs: depend on "subsystem" link
- extend hack to allow TEST=="*/start"
-
-Matthias Schwarzott (1):
- volume_id: respect LDFLAGS
-
-Neil Williams (1):
- volume_id: add prefix=, exec_prefix=
-
-Roy Marples (1):
- Makefile: do not require GNU install
-
-
-Summary of changes from v117 to v118
-============================================
-
-Daniel Drake (1):
- doc: update "writing udev rules"
-
-Hannes Reinecke (1):
- volume_id: LVM - add uuid
-
-Kay Sievers (9):
- remove udevstart
- rules_generator: do not create rules with insufficient matches
- man: udevadm settle - mention 180 seconds default timeout
- libvolume_id: squashfs - add endianess support for LZMA compression
- rules: add AOE rule
- volume_id: md - add metadata minor version
- volume_id: run only once into a timeout for unreadable devices
- create_floppy_devices: fix logic for more than one floppy device
- volume_id: also add readable check to probe_all()
-
-Matthias Schwarzott (1):
- rules: Gentoo update
-
-Michael Prokop (1):
- libvolume_id: squashfs+LZMA compression detection
-
-
-Summary of changes from v116 to v117
-============================================
-
-Dan Nicholson (2):
- extras: ignore built and generated files
- volume_id: create relative symlink when $(libdir) = $(usrlibdir)
-
-Kay Sievers (15):
- usb_id: fail if vendor/product can not be retrieved
- rules: SUSE update
- firmware: do not print error if logger is missing
- volume_id: vfat - allow all possible sector sizes
- volume_id: LUKS - export version
- volume_id: ntfs - rely on valid master file table
- volume_id: bump version
- udevinfo: exclude "uevent" file from --attribute-walk
- udevadm: merge all udev tools into a single binary
- udevadm: accept command as option, like --help, --version
- udevadm: add info option --device-id-of-file=<file>
- Makefile: fix bogus version number than got committed
- udevadm: also return major==0 results for --device-id-of-file
- man: udevd.8 - remove udevcontrol section
- udevadm: control - allow command to be passed as option
-
-MUNEDA Takahiro (1):
- man: fix udevadm.8 typo
-
-Matthias Schwarzott (2):
- firmware: remove hardcoded path to logger
- rules: Gentoo update
-
-VMiklos (1):
- rules: Frugalware update
-
-
-Summary of changes from v115 to v116
-============================================
-
-Bryan Kadzban (1):
- rules: fix typos
-
-Harald Hoyer (3):
- check line length after comment check and whitespace strip
- only install *.rules
- remove extra space from udevinfo symlink output
-
-Kay Sievers (29):
- rules: fix two trivial typos
- rules: random and urandom are 0666
- rules: add REMOVE_CMD rule
- track "move" events to rename database and failed files
- rules: Gentoo update
- rules: add i2o driver rule
- man: recreate man pages
- volume_id: fix linux_raid metadata version 1.0 detection
- add $name substitution
- do not delete the device node with ignore_remove, but handle the event
- print warning for invalid TEST operations
- rules: do not delete /lib/udev/devices/ nodes on "remove"
- rules: remove broken nvram group assignment without any permission
- add /dev/rtc symlink if new rtc drivers are used
- increase WAIT_FOR_SYSFS timeout to 10 seconds
- rules: put bsd nodes in /dev/bsd/ directory
- path_id: fix for stacked class devices
- ignore device node names while restoring symlinks from the stack
- use SEQNUM in /dev/.udev/queue/ instead of devpath
- rules: add memstick module loading
- udevinfo: simplify symlink printing logic
- prevent wrong symlink creation if database disagress with current rules
- fix wrong variable used in logged string
- update README
- rule_generator: move all policy from write_net_rules to the rules file
- rules: call usb_id only for SUBSYSTEMS=="usb"
- rules: split out and fix persistent tape rules
- fix debug output string
- rule_generator: always match netif type in generated rule
-
-Matthias Schwarzott (3):
- rules: Gentoo update
- rules: Gentoo update
- rules: Gentoo update
-
-Michael Morony (1):
- set buffer size if strlcpy/strlcat indicate truncation
-
-maximilian attems (1):
- correct includes in udev_selinux.c
-
-
-Summary of changes from v114 to v115
-============================================
-
-Harald Hoyer (1):
- rules: fix typo in 80-drivers.rules
-
-Kay Sievers (15):
- rules: add default rules
- rules: update SUSE rules
- rules: add packages rules
- rules: add ia64 rules
- rules: move md-raid rules to packages dir
- rules: run vol_id only for partitions
- rules: update Fedora rules
- edd_id: move persistent rules to its own file
- accept relative path for TEST
- rules: add iowarrior rule
- volume_id: fix sqashfs detection
- do not ignore dynamic rule if it is the last one in the list
- rule_generator: fix wrong DRIVERS!= logic
- rules: update Fedora
- Makefile: install default rules
-
-Marco d'Itri (3):
- rules_generator: remove policy from write_cd_rules
- rules_generator: fix write_cd_rules when similar names exist in the root directory
- rules: Debian update
-
-
-Summary of changes from v113 to v114
-============================================
-
-Hannes Reinecke (3):
- collect: extra to synchronize actions across events
- add $driver subtitution
- rules_generator: add S/390 persistent network support
-
-Kay Sievers (24):
- rules_generator: remove executable flag from include file
- always unlink temporary file before creating new one
- rules: SUSE update
- volume_id: ext4 detection
- udevtrigger: allow to specify action string
- add option to RUN key to ignore the return value of the program
- use global udev_log variable instead of parameter in run_program
- add udev_rules_run() to handle RUN list
- move udev_utils_run.c into udev_rules.c
- rules: SUSE update
- name_list: rename loop_name -> name_loop
- handle dynamic rules created in /dev/.udev/rules.d/
- allow SYMLINK== match
- libvolume_id: use /usr/$libdir in pc file
- Makefile: add --as-needed flag to ld
- restore behavior of NAME==
- rules_generator: remove "installation" function
- udevtrigger: trigger "driver" events
- rules: update SUSE
- rules: Fedora update
- rules: add "do not edit" comment
- rules: Fedora update
- rules_generator: skip random MAC addresses
- write changed network interface names to the kernel log
-
-Matthias Schwarzott (3):
- rules: Gentoo update
- fix inotify to work not only once
- rules: Gentoo update
-
-Richard Hughes (1):
- Makefile: add "make dist" for nightly snapshots
-
-
-Summary of changes from v112 to v113
-============================================
-
-David Zeuthen (1):
- vol_id: do not fail if unable to drop privileges
-
-Kay Sievers (12):
- add missing ChangeLog
- make ATTR{[$SUBSYSTEM/$KERNEL]<attr>}="<value>" working
- rules: recognize partitions and disk devices properly
- rules: SUSE update
- atomically replace existing nodes and symlinks
- do not try to create existing file
- info() for ignore_remove
- rules: SUSE update
- Makefile: check for missing ChangeLog or RELEASE-NOTES at release
- allow to disable the replacement of unusual characters
- no newline in log messages
- udevd: do not use syslog if --verbose (debugging) is used
-
-Tobias Klauser (1):
- fix typo in udev_utils_run.c
-
-
-Summary of changes from v111 to v112
-============================================
-
-Fabio Massimo Di Nitto (1):
- rules: ignore partitons that span the entire disk
-
-Hannes Reinecke (1):
- cciss device support
-
-Kay Sievers (34):
- udevd: close /proc/meminfo after reading
- create_floppy_devices: remove dead "unlink" code
- volume_id: add function documentation
- udev_db: escape path names with \x00 instead of %00
- udevsettle: use long options
- replace_chars: replace spaces in node name
- volume_id: add and export string encoding function
- vol_id: export encoded strings
- rules: use encoded strings instead of skipping characters
- udevtest: print message before log output
- volume_id: escape % character
- replace_chars: replace % character
- IMPORT: do not mangle whitespace
- scsi_id: do not install symlink in /sbin
- rules: SUSE update
- volume_id: terminate overlong label strings
- scsi_id: add long options
- rules: use long options for scsi_id
- path_id: skip subsystem directory
- rules: fix cciss rule
- rules: SUSE update
- scsi_id: fix typo in help text
- fix "do not access parent" warning for ATTR{}
- sysfs: add device lookup by $SUBSYSYTEM:$KERNEL
- events for "bus" and "class" registration must be matched as "subsystem"
- udevtest: add --subsystem option
- sysfs: change order of subsystem lookup
- add $sys substitution
- add TEST=="<file>" key
- add "[$SUBSYSTEM/$KERNEL]<attribute>" lookup
- sysfs: handle bus/class top-level directories
- sysfs: skip unknown sysfs directories
- rules: SUSE update
- release 112
-
-Miklos Vajna (2):
- create_floppy_devices: add man page
- path_id: remove on make uninstall
-
-Ryan Lortie (1):
- volume_id: support for long-filename based labels
-
-Scott James Remnant (2):
- replace_untrusted_chars: replace all whitespace with space
- run_program: log "info" not "error" if program is missing
-
-
-Summary of changes from v110 to v111
-============================================
-
-Kay Sievers (19):
- rules: SUSE update
- rules: Fedora update
- volume_id: use md native uuid format
- vol_id: use long options
- volume_id: add volume_id_get_* functions
- vol_id: use volume_id_get_*
- udevd: use fgets() to read /proc files
- volume_id: add internal UUID_STRING
- volume_id: add DDF support
- vol_id: README update
- volume_id: rename UUID_64BIT_LE/BE
- vol_id: add ID_FS_UUID_SAFE
- rules: use ID_FS_UUID_SAFE
- rules: SUSE update
- volume_id: give access to list of all available probers
- vol_id: use libvolume_id prober list for --probe-all
- volume_id: add remaining names for prober lookup by type
- rules: SUSE update
- volume_id: vol_id depends on libvolume_id
-
-Matthias Schwarzott (2):
- volume_id: fix Makefile for parallel make
- rules: Gentoo update
-
-
-Summary of changes from v109 to v110
-============================================
-
-Harald Hoyer (1):
- udevcontrol: allow to set global variables in udevd
-
-Kay Sievers (13):
- remove eventrecorder.sh
- update SUSE rules
- volume_id: add md metadata 1.0, 1.1, 1.2 support
- unset variable with ENV{VAR}=""
- delete copies of default rules in SUSE rules
- volume_id: ext - fix endianess in version number
- rules: Fedora update
- volume_id: old md metadata has only 32 bit for the uuid
- volume_id: minix version 3 support
- don't create $tempnode for devices without major
- usb_id: add <devpath> to help text
- ata_id: use getopt_long()
- rules: SUSE update
-
-Matthias Schwarzott (3):
- Makefile: respect CFLAGS/LDFLAGS
- rules: Gentoo update
- ata_id: don't log error for libata devices on older kernels
-
-
-Summary of changes from v108 to v109
-============================================
-
-Harald Hoyer (1):
- create_floppy_devices: create nodes with correct selinux context
-
-Kay Sievers (11):
- udevtest: export ACTION string if given as option
- update SUSE rules
- make ACTION!="add|change" working
- udevtest: import uevent variables if possible
- udevinfo: export all information stored in database
- default rules: add libata compat links
- create_path: don't fail if something else created the directory
- udevd: fix serialization of events
- path_id: remove broken example
- libvolume_id: do not install static library
- update SUSE rules
-
-Matthias Schwarzott (2):
- update Gentoo rules
- persistent device naming: add joystick links
-
-VMiklos (1):
- path_id: add man page
-
-
-Summary of changes from v107 to v108
-============================================
-
-Kay Sievers (3):
- udevinfo: relax check for the correct device if looked up by name
- don't write to sysfs files during test run
- finally remove the directory event-multiplexer crap
-
-Matthias Schwarzott (2):
- write_cd_rules: set default link type to "by-id" for usb and ieee1394 devices
- update Gentoo rules
-
-Pozsar Balazs (1):
- udevsettle: read udev not kernel seqnum first
-
-
-Summary of changes from v106 to v107
-============================================
-
-Jean Tourrilhes (1):
- udevtest: export UDEV_LOG if we changed it
-
-Kay Sievers (33):
- man: add missing options to various man pages
- man: fix typo
- create_floppy_devices: apply specified mode without umask
- man: spelling fixes
- udevmonitor: add switch for kernel and udev events
- default rules: wait for 0:0:0:0 scsi devices only
- update Fedora rules
- delete dasd_id, it moved to s390-tools
- update Gentoo rules
- encode db-file names, instead of just replacing '/'
- update internal variables if we see $DEVPATH during IMPORT
- increase /proc/stat buffer
- maintain index over device-names to devpath relation
- restore overwritten symlinks when the device goes away
- store devpath with the usual leading slash
- add link_priority to rule options, and store it in database
- pick actual valid device in udev_db_lookup_name
- cleanup already existing db-entries and db-index on device update
- selinux: move selinux_exit() to the main programs
- remove old error message
- read list of devices from index, make index private to database
- priority based symlink handling
- volume_id: get rid of compiler warning
- udevinfo: remove -d option
- update %n on netif name change
- if a node goes away, possibly restore a waiting symlink
- update TODO
- man: add "link_priority" option
- update SUSE rules
- udevtest: add --force mode
- udevinfo: print link priority
- usb_id: append target:lun to storage device serial
- run_directory: add final warning before removal
-
-Marco d'Itri (1):
- update Debian rules
-
-Matthias Schwarzott (2):
- udevd: cleanup std{in,our,err} on startup
- udevmonitor: fix swapped event switch descriptions
-
-
-Summary of changes from v105 to v106
-============================================
-
-A. Costa (1):
- man: fix typos in scsi_id and udevd
-
-Andrey Borzenkov (2):
- vol_id: add -L to print raw partition label
- vol_id: document -L
-
-Jamie Wellnitz (1):
- persistent device naming: tape devices and medium changers
-
-Kay Sievers (15):
- exclude parent devices from DRIVER== match
- volume_id: really fix endianess bug in linux_raid detection
- release 105
- man: correct udevinfo --export-db
- path_id: append LUN to iSCSI path
- create_floppy_devices: add option for owner/group
- update example rules
- apply format chars to ATTR before writing to sysfs
- add (subsystem) to udevmonitor output
- update DRIVER== changes
- remove --version from the udevinfo man page
- add test for an attribute which contains an operator char
- man: add note about parent matching behavior
- scsi_id: accept tabs in /etc/scsi_id.conf
- remove dead rule in persistent tape rules
-
-Matthias Schwarzott (4):
- correct typo in extras/scsi_id/scsi_id.conf
- fix retry-loop in netif-rename code
- add option --version to udevd
- rule_generator: fix for creating rules on read-only filesystem
-
-Peter Breitenlohner (1):
- fix INSTALL_PROGRAM vs. INSTALL_SCRIPT
-
-Sergey Vlasov (3):
- udevd: init signal pipe before daemonizing
- unlink old database file before creating a new one
- fix %c $string substitution
-
-Theodoros V. Kalamatianos (1):
- fix udev attribute names with a colon
-
-
-Summary of changes from v104 to v105
-============================================
-
-A. Costa (1):
- man: fix typos in scsi_id and udevd
-
-Andrey Borzenkov (2):
- vol_id: add -L to print raw partition label
- vol_id: document -L
-
-Kay Sievers (2):
- exclude parent devices from DRIVER== match
- volume_id: really fix endianess bug in linux_raid detection
-
-Matthias Schwarzott (2):
- correct typo in extras/scsi_id/scsi_id.conf
- fix retry-loop in netif-rename code
-
-Peter Breitenlohner (1):
- fix INSTALL_PROGRAM vs. INSTALL_SCRIPT
-
-Sergey Vlasov (3):
- udevd: init signal pipe before daemonizing
- unlink old database file before creating a new one
- fix %c $string substitution
-
-
-Summary of changes from v103 to v104
-============================================
-
-Kay Sievers (12):
- update Fedora rules
- update example rules
- update SUSE rules
- update SUSE rules
- volume_id: fix endianess bug in linux_raid detection
- man: fix udevmonitor text
- man: recreate from xml
- rename config "filename" to "dir"
- remove outdated documentation
- rename "udev.c" to "test-udev.c" - it is only for testing
- update Fedora rules
- use git-archive instead of git-tar-tree
-
-Kazuhiro Inaoka (1):
- inotify syscall definitions for M32R
-
-Marco d'Itri (2):
- write_cd_rules: identity-based persistence
- scsi_id: remove trailing garbage from ID_SERIAL_SHORT
-
-Russell Coker (1):
- SELinux: label created symlink instead of node
-
-
-Summary of changes from v102 to v103
-============================================
-
-Kay Sievers:
- persistent storage rules: skip gnbd devices
- volume_id: add checksum check to via_raid
- volume_id: add comment about hfs uuid conversion
- update SUSE rules
- update Fedora rules
-
-
-Summary of changes from v101 to v102
-============================================
-
-Daniel Drake:
- writing_udev_rules: fix typo in example rule
-
-Kay Sievers:
- create missing ChangeLog for version 101
- update SUSE rules
- update default rules
- first try "subsystem" link at a parent device, before guessing
- if /sys/subsystem exists, skip class, bus, block scanning
- scsi_id: export ID_SERIAL_SHORT without vendor/product
- update SUSE rules
-
-MUNEDA Takahiro:
- path_id: fix SAS disk handling
-
-
-Summary of changes from v100 to v101
-============================================
-
-Arjan Opmeer:
- fix udevinfo help text typo
-
-Bryan Kadzban:
- cleanup default rules
- add IMPORT operations to the udev man page
-
-Kay Sievers:
- remove Makefile magic for leading '0' in version
- udevd: use getopt_long()
- udevd: add --verbose option to log also to stdout
- udevd: add --debug-trace option
- rule_generator: improve net rule comment generation
- volume_id: correct iso9660 high sierra header
- warn if a PHYSEDV* key, the "device" link, or a parent attribute is used
- don't print PHYSDEV* warnings for old WAIT_FOR_SYSFS rules
- udevinfo: print error in --attribute-walk
- udev_sysfs: unify symlink resolving
- udevtrigger: trigger devices sorted by their dependency
- fix spelling in deprecation warning
- release 101
-
-Michał Bartoszkiewicz:
- udevtrigger: fix typo that prevents partition events
-
-Miles Lane:
- clarify "specified user/group unknown" error
-
-Piter PUNK:
- update slackware rules
-
-VMiklos:
- update Frugalware rules
-
-
-Summary of changes from v099 to v100
-============================================
-
-Kay Sievers:
- update SUSE rules
- fix messed up ChangeLog from release 099
- man: add $attr{} section about symlinks
- revert persistent-storage ata-serial '_' '-' replacement
-
-
-Summary of changes from v098 to v099
-============================================
-
-Greg KH:
- update Gentoo rules
-
-Kay Sievers:
- udev_db.c: include <sys/stat.h>
- use fnmatch() instead of our own pattern match code
- rename major/minor variable to maj/min to avoid warning
- update source file headers
- udevtest: print header that ENV{} can't work
- update TODO
- udevtrigger: options to filter by subsystem and sysfs attribute
- udevtrigger: remove unused longindex
- udevinfo: use long options
- udevd: use files instead of symlinks for /dev/.udev/queue,failed
- udevtrigger: fix pattern match
- reorder options in udevinfo man page
- udevinfo: fix SUBSYTEMS spelling error
- fix ENV{TEST}="Test: $env{TEST}"
- let $attr{symlink} return the last element of the path
- cdrom_id: add rules file to call cdrom_id
- udevinfo: do not show symlinks as attributes in --attribute-walk
- remove broken name_cdrom.pl
-
-Marco d'Itri:
- update Debian rules
- run_program: close pipe fd's which are connected to child process
- add persistent rules generator for net devices and optical drives
-
-MUNEDA Takahiro:
- changes rules for ata disk from '_' to '-'
-
-Sergey Vlasov:
- make struct option arrays static const
- fix "subsytem" typo
-
-
-Summary of changes from v097 to v098
-============================================
-
-Alex Merry:
- udevtest: allow /sys in the devpath paramter
-
-Harald Hoyer:
- selinux: init once in the daemon, not in every event process
-
-Kay Sievers:
- udevd: remove huge socket buffer on the control socket
- man page: fix typo
- rename udev_libc_wrapper -> udev_sysdeps
- db: store devpath - node relationship for all devices
- udevinfo: allow -a -n <node>
- udevinfo, udevtest: simplify '/sys' stripping from devpath argument
- lookup_user, lookup_group: report "unknown user" and "lookup failed"
- consistent key naming to match only the event device or include all parent devices
- skip rule, if too may keys of the same type are used
- introduce ATTR{file}="value" to set sysfs attributes
- update SUSE rules
- update default rules
- export DRIVER for older kernels as a replacement for PHYSDEVDRIVER
- fix typo in SUBSYSTEMS key parsing
- udevtrigger: add --retry-failed
- volume_id: add suspend partition detection
- vol_id: use primary group of 'nobody' instead of 'nogroup'
- remove built-in /etc/passwd /etc/group parser
- always expect KEY{value} on ATTR, ATTRS, ENV keys
- use new key names in test programs
- cleanup commandline argument handling
- db: don't create a db file for only a node name to store
- man: add ATTR{file}="value" assignment
-
-Lennart Poettering:
- volume_id: fix fat32 cluster chain traversal
-
-Marco d'Itri:
- fix 'unknow user' error from getpwnam/getgrnam
- fix rc when using udev --daemon
- update Debian rules
-
-Michał Bartoszkiewicz:
- man pages: fix typos
-
-
-Summary of changes from v096 to v097
-============================================
-
-Anssi Hannula:
- add joystick support to persistent input rules
-
-Kay Sievers:
- firmware.sh: remove needless '/'
- vol_id: add --skip-raid and --probe-all option
- switch uevent netlink socket to group 1 only
- increase /proc/stat read buffer
- use "change" instead of "online" events
- remove 'static' from local variable
- libvolume_id: add parameter 'size' to all probe functions
- man pages: replace 'device-path' by 'devpath'
- man pages: work around xmlto which tries to be smart
- refresh vol_id man page
- udevinfo: add DRIVER==
- Makefile: fix dependency
- libvolume_id: read ufs2 label
- switch ifdef __KLIBC__ to ifndef __GLIBC__
- report failing getpwnam/getgrnam as error
- rename udevcontrol message types and variables
- initialize unused sockets to -1
- udevd: remove useless udevinitsend parameter
- update README
- udevd: autotune max_childs/max_childs_running
- update frugalware rules
- update SUSE rules
- move default rules to etc/udev/rules.d/
- add 'crypto' devices to persistent storage rules
- add late.rules to default rules
- update Fedora rules
- don't report an error on overlong comment lines
- update SUSE rules
- udevd: read DRIVER from the environment
-
-Marco d'Itri:
- make rename_netif() error messages useful
- path_id: fix an harmless syntax error
-
-Piter PUNK:
- update slackware rules
-
-Richard Purdie:
- Fix inotify syscalls on ARM
-
-
-Summary of changes from v095 to v096
-============================================
-
-Kay Sievers:
- Makefiles: fix .PHONY for man page target
- allow longer devpath values
- path_id: prepare for new sysfs layout
-
-
-Summary of changes from v094 to v095
-============================================
-
-Kay Sievers:
- update SUSE rules
- don't remove symlinks if they are already there
- allow "online" events to create/update symlinks
- udevinfo: clarify parent device attribute use
- update SUSE rules
- netif rename: optimistic loop for the name to become free
- remove broken %e enumeration
-
-Tobias Klauser:
- print usage of udevcontrol when no or invalid command is given
-
-
-Summary of changes from v093 to v094
-============================================
-
-Daniel Drake:
- update "writing udev rules"
-
-Kay Sievers:
- libvolume_id: gfs + gfs2 support
- remove MODALIAS key and substitution
- add persistent-input.rules
-
-Marco d'Itri:
- update Debian rules
-
-
-Summary of changes from v092 to v093
-============================================
-
-Hannes Reinecke:
- path_id: add support for iSCSI devices
-
-Kay Sievers:
- libvolume_id: fat - check for signature at end of sector
- libvolume_id: add more software raid signatures
- update Fedora rules
- path_id: prevent endless loop for SAS devices on older kernels
- remove udevsend
- replace binary firmware helper with shell script
- skip device mapper devices for persistent links
-
-
-Summary of changes from v091 to v092
-============================================
-
-Kay Sievers:
- don't include stropts.h, some libc's don't like it
- udevd: create leading directories for /dev/.udev/uevent_seqnum
- vol_id: fix logging from libvolume_id's log function
- update SUSE rules
- update SUSE rules
- add more warnings for invalid key operations
- fix offsetof() build issue with recent glibc
- selinux: fix typo in block device node selection
- vol_id: add NetWare volume detection
- edd_id: fix "(null)" output if "mbr_signature" does not exist
- update Fedora rules
- libvolume_id: nss - use different uuid
-
-Libor Klepac:
- path_id: add platform and serio support
-
-Marco d'Itri:
- update Debian rules
- path_id: fix bashism
-
-
-Summary of changes from v090 to v091
-============================================
-
-Hannes Reinecke:
- path_id: fix SAS device path generation
-
-Kay Sievers:
- udevtest: don't try to delete symlinks
- persistent rules: fix typo in dm rule
- allow NAME=="value" to check for already assigned value
- udevd: export initial sequence number on startup
-
-
-Summary of changes from v089 to v090
-============================================
-
-Kay Sievers:
- udevd: export current seqnum and add udevsettle
- volume_id: fix endianess conversion typo for FAT32
- merge device event handling and make database content available on "remove"
- set default udevsettle timeout to 3 minutes
- export INTERFACE_OLD if we renamed a netif
- let udevmonitor show the possibly renamed devpath
- volume_id: move some debug to info level
- udevtrigger: fix event order
- usb_id: remove uneeded code
- remove old symlinks before creating current ones
- path_id: fix loop for SAS devices
- apply format char to variables exported by ENV
-
-Marco d'Itri:
- add inotify support for hppa and MIPS and log if inotify is not available
-
-Matt Kraai:
- fix typo in error message
-
-
-Summary of changes from v088 to v089
-============================================
-
-Hannes Reinecke:
- path_id: add bus to USB path
-
-Kay Sievers:
- change rule to skip removable IDE devices
- don't create uuid/label links for raid members
- volume_id: provide library
- fix rule order for persistent tape links
- update man page
- volume_id: provide a custom debug function
- volume_id: rename subdirectory
- volume_id: use shared library by default
- because is better than cause
- volume_id: remove some global symbols
- volume_id: define exported symbols
- remove all stripping code
- man pages: mention udev(7) not udev(8)
- update Debian rules
- move all *_id programs to /lib/udev/
- update Red Hat rules
- update SUSE rules
- pass CROSS_COMPILE to AR and RANLIB down to extras/
- volume_id: update README
- volume_id: generate man page from xml source
- update README
- fix symlink targets in Makefiles
-
-
-Summary of changes from v087 to v088
-============================================
-
-Hannes Reinecke:
- persistent links: add scsi tape links and usb path support
-
-Kay Sievers:
- volume_id: add squashfs detection
- reset signal handler in event process
- correct use of fcntl()
- add udevtrigger to request events for coldplug
- add ',' to trusted chars
- volume_id: remove partition table parsing code
- volume_id: remove all partition table support
- fix spelling error in debug string
- rename "persistent disk" to "persistent storage"
- fix output for USB path
-
-
-Summary of changes from v086 to v087
-============================================
-
-Hannes Reinecke:
- path_id: support SAS devices
-
-Kay Sievers:
- fix persistent disk rules to exclude removable IDE drives
- warn about %e, MODALIAS, $modalias
- remove devfs rules and scripts
-
-Masatake YAMATO:
- typo in debug text in udev_run_hotplugd.c
-
-
-Summary of changes from v085 to v086
-============================================
-
-Kay Sievers:
- volume_id: replace __packed__ by PACKED macro
- volume_id: split raid and filesystem detection
- volume_id: add missing return
- udevd: fix queue export for multiple events for the same device
-
-Kyle McMartin:
- workaround missing kernel headers for some architectures
-
-Nix:
- update to udev-084/doc/writing_udev_rules
-
-
-Summary of changes from v084 to v085
-============================================
-
-Andrey Borzenkov:
- Fix trivial spelling errors in RELEASE-NOTES
-
-Jeroen Roovers:
- fix typo in parisc support to path_id
-
-Kay Sievers:
- make WAIT_FOR_SYSFS usable in non "wait-only" rules
- fix typo in man page
- include sys/socket.h for klibc build
- cramfs detection for bigendian
- exit WAIT_FOR_SYSFS if the whole device goes away
- update SUSE rules
- update Red Hat rules
- update Gentoo rules
- include errno.h in udev_libc_wrapper.c
-
-
-Summary of changes from v083 to v084
-============================================
-
-Kay Sievers:
- update SUSE rules
- switch CROSS to CROSS_COMPILE
- replace fancy silent build program by simple kernel build like logic
- move manpages to top level
- remove UDEVD_UEVENT_INITSEND
- whitespace fixes
- scsi_id: remove dead files
- optimize sysfs device and attribute cache
- let SYSFS{} look at the device, not only the parent device
- add debug output to sysfs operations
-
-
-Summary of changes from v082 to v083
-============================================
-
-Andrey Borzenkov:
- man page: document when substitutions are applied for RUN and other keys
- check for ignore_device in loop looks redundant
-
-Kay Sievers:
- udevstart: fix NAME="" which prevents RUN from being executed
- find programs in /lib/udev for IMPORT if {program} is not given
- don't add $SUBSYSTEM automatically as $1 to programs
- remove redundant substitution of RUN key
-
-
-Summary of changes from v081 to v082
-============================================
-
-Andrey Borzenkov:
- substitute format chars in RUN after rule matching
-
-Kay Sievers:
- scsi_id, usb_id: request device parent by subsystem
- path_id: work with "all devices in /sys/devices"
- ignore all messages with missing devpath or action
- Makefile: remove dynamic config file generation
- path_id: handle fiber channel (Hannes Reinecke <hare@suse.de>)
- usb_id: don't fail on other subsytems than "scsi"
- don't do RUN if "ignore_device" is given
- increase kernel uevent buffer size
- move udev(8) manpage to udev(7)
- recreate man pages from xml source
- remove udev, udevstart, udevsend from the default installation
- update SUSE rules
- rename apply_format() cause it is public now
- udevtest: add udev_rules_apply_format() to RUN keys
- let "ignore_device" always return the event successfully
-
-Olivier Blin:
- fixes udev build with -fpie
-
-
-Summary of changes from v080 to v081
-============================================
-
-Kay Sievers:
- add DEVLINKS to "remove" event
- better log text and comments
- vol_id: probe volume as user nobody
- fix BUS, ID, $id usage
- prepare moving of /sys/class devices to /sys/devices
-
-
-Summary of changes from v079 to v080
-============================================
-
-Brent Cook:
- fix dependency for make -j2
-
-coly:
- fix man page typos
-
-Kay Sievers:
- update RELEASE-NOTES + TODO
- fix typo in man page
- update TODO
- update SUSE rules
- path_id: fix invalid character class
- replace libsysfs
-
-Marco d'Itri:
- udev_selinux.c: include udev.h
-
-
-Summary of changes from v078 to v079
-============================================
-
-Kay Sievers:
- don't log error if database does not exist
- use udev_root instead of "/dev"in selinux matchpathcon_init_prefix()
- scsi_id: read page 0x80 with libata drives
- update SUSE rules
- remove %e from man page
-
-
-Summary of changes from v077 to v078
-============================================
-
-Greg Kroah-Hartman:
- Update Gentoo udev main rule file.
- add parisc support to path_id
-
-Hannes Reinecke:
- scsi_id: -u fold multiple consecutive whitespace chars into single '_'
-
-Harald Hoyer:
- optimize SELinux path match
-
-Kay Sievers:
- update README
- allow C99 statements
- fix segfaulting create_floppy_devices
- update SUSE rules
- remove unused variables
- remove default settings in udev.conf
- clearenv() is now part of klibc
- add DEVLINKS to the event environment
-
-Kurt Garloff:
- scsi_id: support pre-SPC3 page 83 format
-
-
-Summary of changes from v076 to v077
-============================================
-
-Kay Sievers:
- merge two consecutive static strlcat's
- don't return an error, if "ignore_device" is used
- remove outdated and misleading stuff
- move SEQNUM event skipping to udevsend
- update RELEASE-NOTES
- update SUSE rules
- allow programs in /lib/udev called without the path
- update SUSE rules
- add target to to generate ChangeLog section
- update Red Hat rules
-
-Marco d'Itri:
- allow to overwrite the configured udev_root by exporting UDEV_ROOT
- let udevsend ignore events with SEQNUM set
- update Debian rules
-
-
-Summary of changes from v75 to v076
-============================================
-
-Kay Sievers:
- fix typo in eventrecorder
- volume_id: include stddef.h header
- remove misleading install instructions
- remove all built-in wait_for_sysfs logic
- add linux/types.h back, old glibc-kernel-headers want it
- volume_id: use glibc's byteswap
- udevd: ignore all messages without DEVPATH
- udevd: track exit status of event process
- udevd: export event queue and event state
- remove "udev_db" option from config file
- Makefile: remove exec_prefix and srcdir
- update README and RELEASE-NOTES
- udevd: track killed event processes as failed
- update README
- don't start udevd from udevsend
- udevd: add a missing return
- libvolume_id: fix weird fat volume recognition
- move some helpers from extras to /lib/udev
-
-Scott James Remnant:
- move delete_path() to utils
- clean-up empty queue directories
- Makefile: fail, if submake fails
-
-
-Summary of changes from v74 to v075
-============================================
-
-Greg Kroah-Hartman:
- Make run_directory.c stat the place it is going to try to run.
-
-Kay Sievers:
- forgot the ChangeLog for 074
- volume_id: provide libvolume_id.a file
- remove our own copy of klibc
- remove outdated HOWTO
- update TODO
- update SUSE rules
- remove completely useless start script
- fix tests and remove no longer useful stuff
- replace udeveventrecorder by a shell script
-
-
-Summary of changes from v73 to v074
-============================================
-
-Kay Sievers:
- never queue events with TIMEOUT set
- let NAME="" supress node creation, but do RUN keys
- remove udevinitsend
- update .gitignore
-
-Marco d'Itri:
- add strerror() to error logs
- move some logging from dbg() to info()
-
-
-Summary of changes from v72 to v073
-============================================
-
-Kay Sievers:
- udevd: depend on netlink and remove all sequence reorder logic
- print useconds in udevmonitor
- add RELEASE-NOTES, update TODO
-
-
-Summary of changes from v71 to v072
-============================================
-
-Ananth N Mavinakayanahalli:
- libsysfs: translate devpath of the symlinked class devices to its real path
-
-Jan Luebbe:
- add man pages for *_id programs
-
-Kay Sievers:
- volume_id: add OCFS Version 1
- volume_id: add Veritas fs
- volume_id: check ext fs for valid blocksize, cause magic is only 2 bytes
- volume_id: move blocksize validation to fix jbd recognition
- volume_id: fix typo in ocfs
- volume_id: add vxfs include
- volume_id: make FAT32 recognition more robust
- volume_id: Version 051
- volume_id: fix typo in ext blocksize check
- volume_id: Version 052
- FAQ: remove confusing statement about module loading
- cleanup compiler/linker flags
- use DESTDIR on uninstall, no need to pass prefix to submake
- allow to pass STRIPCMD, to skip stripping of binaries
- cleanup make release
- fix the new warnings I asked for
- move rules parsing into daemon
- "make STRIPCMD=" will disable the stripping of binaries
- remove no longer working udevd-test program
- "STRIPCMD=" for the EXTRAS
- add dummy inotify syscalls on unsupported architecture
- remove no longer needed waiting for "dev" file
- revert the "read symlink as device patch"
- use libsysfs to translate the class linke to the device path
- libsysfs: remove brute-force "bus", "driver" searching for old kernels
- test: add "driver" and "bus" links to test sysfs tree
- update RELEASE-NOTES
- udevd: don't daemonize before initialization
- log to console if syslog is not available
- udevd: disable OOM
- remove precompiled rules option
- export DEVNAME on "remove" only if we really got a node to remove
- fix typo in umask()
-
-
-Summary of changes from v70 to v071
-============================================
-
-Greg Kroah-Hartman:
- Remove the udev.spec file as no one uses it anymore
-
-John Hull:
- edd_id: check that EDD id is unique
-
-Kay Sievers:
- ata_id: open volume O_NONBLOCK
- add "Persistent Device Naming" rules file for disks
- scsi_id: switch temporary node creation to /dev
- volume_id: set reiser instead of reiserfs for filesystem type
- update devfs rules header
- update Debian rules
- update Fedora rules
- update Debian rules
- remove no longer needed includes
- switch tools and volume_id from LGPL to GPLv2
- add edd-*-part%n to the persistent.rules
- update Debian persistent rules
- clarify README
- udevd: fix initial timeout handling
- force event socket buffer size to 16MB
- udevd: move logging from err to info for non-hotplug uevent
- fix selinux compilation
- libsysfs: accept sysmlinks to directories instead of real directories
-
-Marco d'Itri:
- run_directory: fix typo in "make install"
-
-
-Summary of changes from v069 to v070
-============================================
-
-Amir Shalem:
- udevd: fix udevd read() calls to leave room for null byte
-
-Edward Goggin:
- scsi_id: derive a UID for a SCSI-2 not compliant with the page 83
-
-Greg Kroah-Hartman:
- fix nbd error messages with a gentoo rule hack
- fix scsi_id rule in gentoo config file
-
-Jürg Billeter:
- EXTRAS/Makefile: fix install targets to match main Makefile
-
-Kay Sievers:
- volume_id: fix error handling with failing read()
- EXTRAS: cleanup and sync all Makefiles
- add install test to 'make buildtest'
- update RELEASE-NOTES
-
-Olivier Blin:
- fix a debug text typo in udev_rules.c
-
-
-Summary of changes from v068 to v069
-============================================
-
-Amir Shalem:
- fix typo in firmware_helper
-
-Duncan Sands:
- firmware_helper: fix write count
-
-Kay Sievers:
- *_id: fix zero length in set_str()
- add program name to logged error
- fix exit code of udevinitsend and udevmonitor
- udevd: keep the right order for messages without SEQNUM
- volume_id: don't probe for mac_partition_maps
- udevmonitor: cleanup on exit
- path_id: remove SUSE specific PATH
- update SUSE rules
- add pci_express to bus list
- update SUSE rules
- store ENV{key}="value" exported keys in the database
- fix lookup for name in the udevdb, it should return the devpath
- prepare for new HAL udevdb dump
- print persistent data with "udevinfo -q all"
- change parameter order of udev_db_search_name()
- add and use name_list_cleanup() for cleaning up the string lists
- don't store devpath in udevdb, we don't need it
- add uft8 validation for safe volume label exporting
- start to enforce plain ascii or valid utf8
- use WRITE_END/READ_END for the pipe index
- remove not needed sig_flag for state of signal_pipe
- don't reenter get_udevd_msg() if message is ignored
- rename ...trailing_char() to ...trailing_chars()
- vol_id: ID_LABEL_SAFE will no longer contain fancy characters
- udevd: move some logging to "info" and "err"
- remove special TIMEOUT handling from incoming queue
- udev_test.pl: we replace untrusted chars with '_'
- check the udevdb before assigning a new %e
- update RELEASE-NOTES
- udevinfo: add database export
- write man page masters in DocBook XML
- udevinfo: rename dump() to export()
- test the automatic man page rebuild and checkin
- Makefile: remove all the duplicated rules
- all man pages rewritten to use DocBook XML
- add missing udevsend man page
- also forgot udevmonitor.8
- udevinfo: restore -d option
- scsi_id: rename SYSFS to LIBSYSFS
- add edd_id tool to match BIOS EDD disk information
- move and update libsysfs.txt
- klibc: update to version 1.1.1
- delete cdromsymlinks* - obsoleted by cdrom_id and IMPORT rules
- delete docs/persistent_naming - obsoleted by persistent disk names
- delete old Fedora html page
- add "totally outdated" header to docs/overview :)
- update SUSE rules
- fix useless but funny name_cdrom.pl script to work again
- update TODO
- Makefile: fix prerequisits for $(PROGRAMS)
- Makefile: cleanup install targets
- remove chassis_id program
- fic gcov use and move it into the Makefile
- FAQ: update things that have changed
-
-Thierry Vignaud:
- switch to '==' in raid-devfs.sh
-
-
-Summary of changes from v067 to v068
-============================================
-
-Greg Kroah-Hartman:
- add EXTRAS documentation to the README file.
- Always open the cdrom drive in non-blocking mode in cdrom_id
- cdrom_id: change err() to info() to help with debugging problems
-
-Kay Sievers:
- cleanup some debug output and move to info level + unify select() loops
- move udevmonitor to /usr/sbin
- ENV{TEST}=="1" compares and ENV{TEST}="1" sets the environment
- vol_id: fix sloppy error handling
- fix typo in cdrom_id syslog
- bring std(in|out|err) fd's in a sane state
- fix printed udevmonitor header
-
-
-Summary of changes from v066 to v067
-============================================
-
-Greg Kroah-Hartman:
- added the cdrom.h #defines directly into the cdrom_id.c file
-
-Kay Sievers:
- update SUSE rules
- fix make install, as we don't provide a default rule set anymore
- fix more compiler warnings ...
- fix udevstart event ordering, we want /dev/null very early
- don't fail too bad, if /dev/null does not exist
-
-
-Summary of changes from v065 to v066
-============================================
-
-Greg Kroah-Hartman:
- update gentoo rule file.
- Created cdrom_id program to make it easier to determine cdrom types
- added cdrom_id to the build check
- updated gentoo rule file to handle removable ide devices.
- changed cdrom_id exports to be easier to understand and consistant with other _id programs.
- fix klibc build issue in cdrom_id.c
- Change the gentoo rules to use cdrom_id instead of cdsymlink.sh
- changed location of gentoo helper apps to be /sbin instead of in scripts dir
- tweak the gentoo rules some more.
-
-Kay Sievers:
- add NETLINK define for the lazy distros
- read sysfs attribute also from parent class device
- switch some strlcpy's to memcpy
- allow clean shutdown of udevd
- add flag for reading of precompiled rules
- update distro rules files
- add SUSE rules
- update SUSE rules
- add firmware_helper to load firmware
- more distro rules updates
- update README
- remove example rules and put the dev.d stuff into the run_directory folder
- trivial text cleanups
- update SUSE rules
- split udev_util in several files
- update SUSE rules
- allow logging of all output from executed tools
- add Usage: to udevmonitor and udevcontrol
- move some logging to the info level
-
-Thierry Vignaud:
- fix udevinfo output
-
-
-Summary of changes from v064 to v065
-============================================
-
-Greg Kroah-Hartman:
- Added persistent name rules for block devices to gentoo rule file.
- Added horrible (but fun) path_id script to extras.
- Update gentoo rules file.
-
-Kay Sievers:
- update release notes for next version
- add udevmonitor, to debug netlink+udev events at the same time
- allow RUN to send the environment to a local socket
- fix GGC signed pointer warnings and switch volume_id to stdint
-
-
-Summary of changes from v063 to v064
-============================================
-
-Andre Masella:
- volume_id: add OCFS (Oracle Cluster File System) support
-
-Hannes Reinecke:
- usb_id: fix typo
- add ID_BUS to *_id programs
- create_floppy_devices: add tool to create floppy nodes based on sysfs info
-
-Kay Sievers:
- move code to its own files
- make SYSFS{} usable for all devices
- add padding to rules structure
- allow rules to have labels and skip to next label
- thread unknown ENV{key} match as empty value
-
-
-Summary of changes from v062 to v063
-============================================
-
-Anton Farygin:
- fix typo in GROUP value application
-
-Greg Kroah-Hartman:
- add 'make tests' as I'm always typing that one wrong...
- Really commit the udev_run_devd changes...
- Fixed udev_run_devd to run the /etc/dev.d/DEVNAME/ files too
- fix position of raw rules in gentoo config file
-
-Hannes Reinecke:
- dasd_id: add s390 disk-label prober
- fix usb_id and let scsi_id ignore "illegal request"
-
-Kay Sievers:
- volume_id: remove s390 dasd handling, it is dasd_id now
- trivial fixes for *_id programs
- IMPORT: add {parent} to import the persistent data of the parent device
- allow multiple values to be matched with KEY=="value1|value2"
- udevd: set incoming socket buffer SO_RCVBUF to maximum
- remember mapped rules state
- ata_id: check for empty serial number
- compile dasd only on s390
-
-Ville Skyttä:
- correct default mode documentation in udev
-
-
-Summary of changes from v061 to v062
-============================================
-
-Kay Sievers:
- fix symlink values separated by multiple spaces
- update RELEASE-NOTES
- fix typo in group assignment
- fix default-name handling and NAME="" rules
- add WAIT_FOR_SYSFS key to loop until a file in sysfs arrives
- fix unquoted strings in udevinitsend
-
-Summary of changes from v060 to v061
-============================================
-
-Greg Kroah-Hartman:
- Sync up the Debian rules files
- fix cdrom symlink problem in gentoo rules
- Fix ChangeLog titles
-
-Kay Sievers:
- update RELEASE-NOTES
- we want to provide OPTFLAGS
- rename ALARM_TIMEOUT to UDEV_ALARM_TIMEOUT
- udevd: optimize env-key parsing
- don't resolve OWNER, GROUP on precompile if string contains %, $
- set default device node to /dev
- create udevdb files only if somehting interesting happened
- pack parsed rules list
- replace useless defines by inline text
- move rule matches to function
- add usb_id program to generate usb-storage device identifiers
- add IEEE1394 rules to the gentoo rule file
- fake also kernel-name if we renamed a netif
- allow OPTIONS to be recognized for /sys/modules /sys/devices events
- switch gentoo rules to new operators
-
-
-Summary of changes from v059 to v060
-============================================
-
-Greg Kroah-Hartman:
- Fix the gentoo udev rules to allow the box to boot properly
-
-Gustavo Zacarias:
- Udev doesn't properly build with $CROSS
-
-Kay Sievers:
- Keep udevstart from skipping devices without a 'dev' file
-
-Marco d'Itri:
- #define NETLINK_KOBJECT_UEVENT
-
-
-Summary of changes from v058 to v059
-============================================
-
-Greg Kroah-Hartman:
- Update the gentoo rule file
- Fix udevinfo for empty sysfs directories
- Fix makefile to allow 'make release' to work with git
-
-Hannes Reinecke:
- udev: fix netdev RUN handling
- udevcontrol: fix exit code
-
-Kay Sievers:
- prepare RELEASE-NOTES
- add ID_TYPE to the id probers
- add -x to scsi_id to export the queried values in env format
- store the imported device information in the udevdb
- rename udev_volume_id to vol_id and add --export option
- add ata_id to read serial numbers from ATA drives
- IMPORT allow to import program returned keys into the env
- unify execute_command() and execute_program()
- IMPORT=<file> allow to import a shell-var style config-file
- allow rules to be compiled to one binary file
- fix the fix and change the file to wait for to the "bus" link
- fix udevstart and let all events trvel trough udev
- prepare for module loading rules and add MODALIAS key
- remove device node, when type block/char has changed
- Makefile: remove dev.d/ hotplug.d/ from install target
- udevcontrol: add max_childs command
- udevd: control log-priority of the running daemon with udevcontrol
- udeveventrecorder: add small program that writes an event to disk
- klibc: add missing files
- udevinitsend: handle replay messages correctly
- udev man page: add operators
- udevd: allow starting of udevd with stopped exec-queue
- klibc: version 1.0.14
- udev: handle all events - not only class and block devices
- volume_id: use udev-provided log-level
- udev: clear lists if a new value is assigned
- udev: move dev.d/ handling to external helper
- udev: allow final assignments :=
- udevd: improve timeout handling
- Makefile: fix DESTDIR
- udevd: add initsend
- udevd: add udevcontrol
- udevd: listen for netlink events
-
-Stefan Schweizer:
- Dialout group fix for capi devices in the gentoo rules file
-
-Summary of changes from v057 to v058
-============================================
-
-Daniel Drake:
- o Writing udev rules docs update
-
-Darren Salt:
- o update cdsymlinks to latest version
-
-Greg Kroah-Hartman:
- o remove detach_state files from the sysfs test tree
- o Update permissions on test scripts so they will run properly now
- o hopefully fix up the symlinks in the test directory
- o Removed klibc/klibc.spec as it is autogenerated
- o Added symlinks thanks to Kay's script and git hacking
- o add Red Hat/Fedora html documenation
- o Update Red Hat default udev rules
-
-Kay Sievers:
- o selinux: fix handling during creation of symlinks
- o Fedora udev.rules update
- o libsysfs: version 2.0
- o klibc: version 1.0.7
-
-Masanao Igarashi:
- o Fix libsysfs issue with relying on the detach_state file to be
-
-Summary of changes from v056 to v057
-============================================
-
-<tklauser:access.unizh.ch>:
- o fix stupid all_partitions bug
-
-Kay Sievers:
- o add test for make -j4 to build-check
- o klibc: version 1.0.6
- o update Debian rules
- o apply default permissions only for devices that will need it
- o adapt RELEASE-NOTES
- o udev_volume_id: fix endianess macros
- o udev-test.pl: add test for DEVNAME export to RUN environment
- o update the man page to reflect the recent changes
- o export DEVNAME to RUN-key executed programs
- o fix make -j4 and the local klibc-install
- o update RELEASE-NOTES
- o add RUN key to be able to run rule based notification
- o fix udevtest to print the error if logging is disabled
- o move execute_program to utils + add action to init_device
- o correct correction for error path for PROGRAM execution
- o correct error path for PROGRAM execution
- o klibc: version 1.0.5
- o check for strlen()==0 before accessing strlen()-1
- o allow to match against empty key values
- o read %s{}-sysfs values at any device in the chain
- o udev_rules.c: don't change sysfs_device while walking up the device chain
- o klibc: strlcpy/strlcat - don't alter destination if size == 0
- o fix klibc's broken strlcpy/strlcat
- o udevinfo: print SYSFS attribute the same way we match it
- o remove untrusted chars read from sysfs-values or returned by PROGRAM
- o udevinfo: print errors to stderr instead of stdout
- o klibc: version 1.0.4
- o support log-priority levels in udev.conf
- o test-suite: remove UDEV_TEST, it's not needed anymore
- o libsysfs: remove trailing slash on SYSFS_PATH override
-
-
-Summary of changes from v055 to v056
-============================================
-
-<tklauser:access.unizh.ch>:
- o fix header paths in udev_libc_wrapper.c
-
-Kay Sievers:
- o udev-test.pl: use more common user/group names
- o klibc: remove SCCS directories from the temporary klibc install
- o udev-test.pl: add a test where the group cannot be found in /etc/passwd
- o udev-test.pl: add check for textual uid/gid
- o fix bad typo that prevents the GROUP to be applied
- o udevd: don't delay events with TIMEOUT in the environment
- o klibc: use klcc wrapper instead of our own Makefile
- o change call_foreach_file to return a list
-
-
-Summary of changes from v054 to v055
-============================================
-
-<jkluebs:luebsphoto.com>:
- o This patch causes the remove handler to check that each symlink actually points to the correct devnode and skip it if it does not.
-
-<pebenito:gentoo.org>:
- o udev selinux fix
-
-<tklauser:access.unizh.ch>:
- o The following patch fixes some warnings when compiling volume_id from udev with the -Wall compiler flag. Define _GNU_SOURCE for strnlen() and correct the path to logging.h
- o The following patch fixes a warning when compiling chassis_id from udev with the -Wall compiler flag. There are too much conversions in the format string of sscanf(). One %d can be dropped.
-
-Greg Kroah-Hartman:
- o fix raid rules
- o added frugalware udev ruleset
- o merge selinux and Kay's symlink fixes together
-
-Hannes Reinecke:
- o volume_id: Fix label/uuid reading for reiserfs
-
-Kay Sievers:
- o add udevstart to the RELEASE-NOTES
- o volume_id: version 43
- o clarify the shortcomings of %e
- o correct rule match for devices without a physical device
- o remove unneeded code, libsysfs does this for us
- o add final release note
- o add ENV{} key to match agains environment variables
- o simplify sysfs_pair handling
- o add a test and simplify debug statement
- o support =, ==, !=, += for the key match and assignment
- o add OPTION="last_rule" to skip any later rule
- o rename namedev_dev to udev_rule
- o correct enum device_type
- o remove udevstart on make clean
- o volume_id: version 42
- o volume_id: version 41
- o remove unneeded include
- o The path to dlist.h is not correct
- o udevinfo -d: use '=' as separator, cause ':' may be a part of the devpath
- o klibc: version 1.0.3
- o add RELEASE-NOTES file
- o test suite: move "driver" link to physical device
- o remove PLACE key match
- o don't lookup "root" in the userdb
- o fix ia64 compile
- o fix segfaulting udev while DRIVER matching
- o cleanup list.h
- o klibc: version 0.214
- o rename device_list->list to device_list->node
- o replace strncpy()/strncat() by strlcpy()/strlcat()
- o split udev and udevstart
- o udev_volume_id: version 39
- o rename LOG to USE_LOG in all places
- o remove Makefile magic for klibc integration
- o klibc_fixups: remove no longer needed stuff
- o udev_volume_id: volume_id v38
- o use numeric owner/group as default values to avoid parsing userdb
- o fix up segfaulting binaries with new klibc
- o udevinfo -d: speed-up device dump
- o klibc: version 0.211
- o klibc_fixups: remove unneeded stuff
- o replace weird defines by real code
- o udev-test.pl: remove useless tests
- o allow unlimitied count of symlinks
- o unmap db-file after use
- o remove typedef for call_foreach_file() handler function
- o correct udev_init_device
- o rename attributes to options
- o kill stupid gcc4 warning
- o trivial clenaup of namedev code
- o klibc: check for gcc4
- o klibc: update v0.205
-
-Thierry Vignaud:
- o gentoo rule update for raid devices
-
-
-Summary of changes from v053 to v054
-============================================
-
-<tklauser:access.unizh.ch>:
- o udev_volume_id: add Reiser4 support
-
-Kay Sievers:
- o namedev: skip backslashes only if followed by newline
- o wait_for_sysfs: add joydev
- o udevinfo: print devpath -> node relationship for all devices
- o trivial rename of some variables
- o klibc v0.199
- o big libsysfs diet (pre 2.0 version)
- o udev_volume_id: volume_id v35
- o add "serio" to bus list
- o determine device type in udev_init_device()
- o move kernel name/number evaluation into udev_init_device()
- o detect NAME="" as ignore_device rule
- o trivial namedev cleanup
- o cleanup db functions
- o clean up match_place()
- o switch device type to enum
- o switch major/minor to dev_t
- o remove the device node only if the major/minor number matches
- o libsysfs: work around a klibc bug
- o introduce OPTIONS=ignore_device, ignore_remove, all_partitions" key
- o namedev: execute PROGRAM only once and not possibly for every physical device
-
-Patrick Mansfield:
- o update scsi_id to work with libsysfs changes
-
-
-Summary of changes from v052 to v053
-============================================
-
-Greg Kroah-Hartman:
- o fix gentoo fb permission issue
- o allow simple-build-check.sh to go faster if MAKEOPTS is set
- o make the release tarballs have writable files in them
- o remove gentoo permission file as it's not valid anymore
-
-Kay Sievers:
- o fix special file mode mask for temporary device node
- o udevstart: simplify "dev" file searching
- o udev_volume_id: remove temporary node creation and parent handling
- o add %P modifier to query the node name of the parent device
- o udev_volume_id: remove __packed__ from dasd structure as it does not work
- o create /block/*/range count of partitons for all_partitions
-
-Patrick Mansfield:
- o scsi_id changes for use with udev %N and %p
-
-
-Summary of changes from v051 to v052
-============================================
-
-<md:linux.it>:
- o debian: update rules files
- o raid-devfs.sh: devfs names for hardware RAID controllers
- o scsi_id: when udevstart is started, /tmp is not writeable
- o cdsymlinks.sh: trivial fix, the variable is initialized to '', not 0
-
-<sschweizer:gmail.com>:
- o gentoo/udev.rules: add default permissions for sound devices
-
-Greg Kroah-Hartman:
- o fix example comment in ide-devfs.sh
- o Add infiniband to gentoo rules
- o Another gentoo fix, adding dvb support
- o Fix gentoo bug #76056 (fb device group permissions.)
- o Fix gentoo bug #81102, device nodes for the pktcdvd device
-
-Kay Sievers:
- o provide temporary device node for callouts to access the device
- o udev_volume_id: fix dasd disklabel reading with -l option
- o udev_volume_id: volume_id version 034
- o udev_volume_id: rename probe_ibm into probe_dasd
- o udev_volume_id: volume_id version 032
- o Makefile: add some more warnings and prepare for clean gcc4 compile
- o Makefile: cleanup conditional config option sections
- o fix -Wsign-compare warnings
- o chassis_id: clean compilation and fix bad function parameter passing
- o simple_build_check: make it possible to pass KERNEL_DIR
- o selinux: cleanup udev integration
-
-Michael Buesch:
- o trivial: remove _all_ trailing slashes with no_trailing_slash()
- o trivial: fix signedness
- o namdev: allow symlink-only rules to specify node permissions
- o udevd: fix valgrind warning
-
-
-Summary of changes from v050 to v051
-============================================
-
-<roland:digitalvampire.org>:
- o This fixes a silly mistake in how udevinfo prints the major and minor numbers (right now it prints the minor next to "MAJOR" and the major next to "MINOR" ;)
-
-<tklauser:access.unizh.chbk>:
- o I tried to compile udev 050plus with the GCC 4.0 snapshot 200412119 and got two errors about possibly uninitialized structs, so I fixed this.
-
-Christian Bornträger:
- o udev_volume_id: fix -d option
-
-Greg Kroah-Hartman:
- o gentoo fb permission fix
- o fix gcc 2.96 issue in libsysfs
- o remove the lfs startup script on request of the author
- o clean up the aoe char device rules, and delete the block one as it's not needed
- o add aoe block and char device rules to the gentoo rule file
- o fix udev_volume_id build error
-
-Hannes Reinecke:
- o rearrange link order in Makefile
-
-Kay Sievers:
- o udev_volume_id: new version of volume_id
- o klibc: update to version 0.198
- o udev_volume_id: fix FAT label reading
- o klibc: update to version 0.196
- o udevd: throttle the forking of processes
- o udevd: add possible initialization of expected_seqnum
- o udevd: it's obviously not the brightest idea to exit a device node manager if it doesn't find /dev/null
- o udevd: separate socket handling to prepare for other event sources
- o udevd: support -d switch to become a daemon
- o udev_volume_id: version 27
- o udevd: split up message receiving an queueing
- o remove useless warning if udev.conf contains keys not read by udev itself
- o improve event sequence serialization
- o remove udevsend syslog noise on udevd startup
- o limit the initial timeout of the udevd event handling
- o correct detection of hotplug.d/ udevsend loop
- o correct log statement
- o remove default_* permissions from udev.conf file
- o update Fedora config files and add some more tests
- o allow permissions only rules
- o add SUBSYSTEM rule to catch all block devices and apply the disk permissions
- o update Fedora config files
- o handle renamed network interfaces properly if we manage hotplug.d/
- o allow multiline rules by backslash at the end of the line
- o add OnStream tape drive rules
- o simplify rules file by setting default mode to 0660
- o simplify permission application
- o I broke the extras/ again. Add simple build test script now
- o Merge vrfy.org:/home/kay/src/udev into vrfy.org:/home/kay/src/udev.kay
- o initial merge of fedora udev.permissions into udev.rules
- o remove permissions file mentioning from the udev man page
- o fix some typos in gentoo's udev.rules introduced by the merge
-
-Michael Buesch:
- o The attached patch fixes the code path if namedev_name_device() fails
-
-Summary of changes from v049 to v050
-============================================
-
-<harald:redhat.com>:
- o selinux patch
-
-<tklauser:access.unizh.ch>:
- o I made some more changes to the manpage of udev including
-
-Kay Sievers:
- o update libsysfs to CVS version and fix segfaulting attribute reading
- o klibc supports LOG_PID now, so remove our own implementation
- o avoid building klibc test programs and pass SUBDIRS= to klibc clean
-
-
-Summary of changes from v048 to v049
-============================================
-
-Greg Kroah-Hartman:
- o fix 'make clean' error in klibc
-
-Kay Sievers:
- o update klibc to 0.194
- o export DEVNAME regardless of the state of udev_dev_d
- o add class specific files for class/spi_transport and class/spi_host
- o udevd-test.pl: remove wrong date calculation
- o check earlier if we should run as udevstart
- o remove double initialization
- o include missing header to udevtest.c
- o add -V option to udev to print the version number
- o prevent udev node creatinon for "class" registration
- o udevd: serialization of the event sequence of a chain of devices
- o add a class/fc_host file to the list of what to wait for
- o udev_volume_id: links sysfs.a instead of all objects
-
-Martin Schlemmer:
- o remove leftover from udevinfo's -d option
-
-
-Summary of changes from v047 to v048
-============================================
-
-Greg Kroah-Hartman:
- o fix udev_volume_id so it will now build properly
- o fix scsi_id build errors due to changes in the main udev makefile
-
-
-Summary of changes from v046 to v047
-============================================
-
-<klauser:access.unizh.ch>:
- o Various typos and other litte errors in udev.8.in
-
-<sjoerd:spring.luon.net>:
- o DEVNAME on device removal
-
-<sschweizer:gmail.com>:
- o Allow GROUP to have modifiers in it
-
-Greg Kroah-Hartman:
- o add more debian rules files
- o move distro specific config files into their own directories
- o update debian rules files
- o added asterix rules to the gentoo file
- o use udevstart for udev.init.* files
- o delete a bunch of files no longer needed
- o fix gentoo scsi cdrom rule
- o Fix the multithreaded build again
- o merge
- o comment out ability to run udev-test.pl with valgrind
- o fix spurious valgrind warning in udev
- o fix udevinfo '-q path' option as it was not working
- o merge
- o fix parallel build error
-
-Kay Sievers:
- o update Fedora dev.d/ example and remove unused conf.d/ directory
- o don't install distribution specific init script on "make install"
- o restore OWNER/GROUP assignment in rule coming from RESULT
- o make gcov compile scripts working with recent gcc
- o fix udev-test/udev-test.pl to work with again
- o add net/atml and class/ppdev to the wait_for_sysfs exception list
- o add net/nlv* devices to the exception list
- o add "pcmcia" and "fc_transport" to the wait_for_sysfs lists
- o remove unused timestamp field
- o simplify permission handling
- o handle /etc/hotplug.d/ only if the event comes from udevd
- o trivial cleanups and change some comments
- o remove unused variables
- o udevsend/udevd handle events without a subsystem
- o use blacklist on device "remove" and remove dev.d/ call code duplication
- o update the man pages and correct Usage: hints
- o don't call the hotplug scripts with a test run
- o don't call dev.d/ scripts twice, if directory = subsystem
- o remove archive file if we changed something
- o link archive insted of objects
- o rename udev_lib to udev_utils and dev_d to udev_multiplex
- o handle whole hotplug event with udevd/udev
- o integrate wait_for_sysfs in udev
- o make the searched multiplex directories conditionally
- o add MANAGED_EVENT to the forked udev environment
- o export DEVNAME on remove event
- o export udev_log flag to the environment
- o remove my test code
- o add support for /devices-devices without any file to wait for
- o Patch from Alex Riesen <raa.lkml@gmail.com>
- o add a bunch of busses to the list of what to wait for
- o close connection to syslog in forked udevd child
- o udevd exit path cleanup
- o fix network device naming bug
-
-
-Summary of changes from v045 to v046
-============================================
-
-Greg Kroah-Hartman:
- o make spotless for releases
-
-Kay Sievers:
- o Don't try to print major/minor for devices without a dev file
- o remove get_device_type and merge that into udev_set_values()
- o prevent udevd crash if DEVPATH is not set
- o add ippp and bcrypt to the exception lists of wait_for_sysfs
- o let klibc add the trailing newline to syslog conditionally
- o disable logging for udevstart
- o add NAME{ignore_remove} attribute
- o remove historical SYSFS_attr="value" format
- o don't wait for sysfs if the kernel(2.6.10-rc2) tells us what not to expect
- o change key names in udevinfo sysfs walk to match the kernel
- o support DRIVER as a rule key
- o support SUBSYSTEM as a rule key
- o rename udevdb* to udev_db*
- o Make dev.d/ handling a separate processing stage
- o make the udev object available to more processing stages
- o remove udev_lib dependency from udevsend, which makes it smaller
- o add ACTION to udev object to expose it to the whole process
- o make udevinfo's -r option also workimg for symlink queries
- o let udev act as udevstart if argv[1] == "udevstart"
- o improve udevinfo sysfs info walk
- o add sysfs info walk to udevinfo
- o pass the whole event environment to udevd
- o replace tdb database by simple lockless file database
-
-
-Summary of changes from v044 to v045
-============================================
-
-Martin Schlemmer:
- o Some updates for Gentoo's udev rules
-
-
-Summary of changes from v043 to v044
-============================================
-
-Greg Kroah-Hartman:
- o add cdsymlinks.sh support to gentoo rules file
- o fix gentoo legacy tty rule
- o remove 'sudo' usage from the Makefile
- o make udev-test.pl test for root permissions before running
-
-Kay Sievers:
- o reduce syslog noise of udevsend if multiple instances try to start udevd
- o add i2c-dev to the list of devices without a bus
-
-
-Summary of changes from v042 to v043
-============================================
-
-Greg Kroah-Hartman:
- o add test target to makefile
- o add dumb script to show all sysfs devices in the system
-
-Kay Sievers:
- o Shut up wait_for_sysfs class/net failure messages, as it's not possible to
- get that right for all net devices. Kernels later than 2.6.10-rc1 will
- handle that by carrying the neccessary information in the hotplug event.
- o wait() for specific pid to return from fork()
- o Don't use any syslog() in signal handler, cause it may deadlock
- o Add support for highpoint ataraid to volume_id to suppress label reading on raid set members.
- o Add a bunch of devices without "device" symlinks
- o Exit, if udevtest cannot open the device (segfault)
- o Patches from Harald Hoyer <harald@redhat.com>
- o Apply the default permissions even if we found a entry in the permissions
- file. Correct one test, as the default is applied correctly now and the
- mode will no longer be 0000.
- o add test for format chars in multiple symlinks to replace
- o Add net/vmnet and class/zaptel to the list of devices without physical device
-
-
-Summary of changes from v040 to v042
-============================================
-
-Greg Kroah-Hartman:
- o add inotify to the rules for gentoo
-
-Kay Sievers:
- o skip waiting for device if we get a bad event for class creation and not for a device underneath it
- o add net/pan and net/bnep handling
- o switch wait for bus_file to stat() instead of open() add net/tun device handling add ieee1394 device handling
- o Remove the last klibc specific line from the main udev code Move _KLIBC_HAS_ARCH_SIG_ATOMIC_T to the fixup file which is automatically included by the Makefile is we build with klibc
- o ignore *.rej files from failed patches
- o update to libsysfs 1.2.0 and add some stuff klib_fixup Now we have only the sysfs.h file different from the upstream version to map our dbg() macro.
- o improve klibc fixup integration
- o cleanup udevd/udevstart
- o expose sysfs functions for sharing it
-
-
-Summary of changes from v039 to v040
-============================================
-
-<jk:blackdown.de>:
- o wait_for_sysfs update for dm devices
-
-Greg Kroah-Hartman:
- o sparse cleanups on the tree
- o fix stupid cut-and-paste error for msr devices on gentoo boxes
- o add *~ to bk ignore list
- o delete udevruler.c as per Kay's request
- o fix up the wait_for_sysfs_test script a bit
-
-Kay Sievers:
- o fix debug in volume id / fix clashing global var name
- o volume_id fix
- o $local user
- o cleanup netif handling and netif-dev.d/ events
- o big cleanup of internal udev api
- o don't wait for dummy devices
- o close the syslog
- o Fix ppp net devices in wait_for_sysfs
- o Fix wait_for_sysfs messages (more debugging info)
-
-
-Summary of changes from v038 to v039
-============================================
-
-Greg Kroah-Hartman:
- o Hopefully fix the vcs issue in wait_for_sysfs
- o take out & from wait_for_sysfs_test that I previously missed
- o add very nice cdsymlinks scripts
- o add some helper scripts for dvb and input devices
- o add debian config files
- o let the extras/ programs build "pretty" also
- o tweak the ccdv program to handle files in subdirectories being built
- o crap, I messed up the 'sed' instances pretty badly, this fixes the config and man page mess
- o fix broken 'make -j5' functionality
-
-Kay Sievers:
- o swich attribute open() to simple stat()
- o wait_for_sysfs update for /class/firmware and /class/net/irda devices
- o fix unusual sysfs behavior for pcmcia_socket
- o remove sleeps from udev as it is external now
- o delete udevruler?
- o Makefile fix
-
-Patrick Mansfield:
- o update udev to scsi_id 0.7
- o pass SYSFS setting down for extras builds
- o move assignments past local variables
-
-
-Summary of changes from v037 to v038
-============================================
-
-<andrew.patterson:hp.com>:
- o Re: Problem parsing %s in udev rules
-
-Greg Kroah-Hartman:
- o fix up error in building extras and libsysfs
-
-Summary of changes from v036 to v037
-============================================
-
-<md:linux.it>:
- o small udev patch
-
-Greg Kroah-Hartman:
- o fix compilation warning in tdb log message
- o Fix build error with klibc due to recent changes
- o merge
- o add wait_for_sysfs test script to the tarball to help people debug their boxes
- o add ipsec to wait_for_sysfs ignore list
- o added ccdv to bk ignore list
- o a few more Makefile tweaks for the quiet feature
- o Make the build silent, thanks to a helper program from ncftp
- o rename files to have '_' instead of '-' in them
- o change max time to wait in wait_for_sysfs to 10 seconds to hopefully handle some slow machines
- o add support for class/raw/ to wait_for_sysfs
- o fix up Makefile for wait_for_sysfs udev_version.h dependancy
- o remove the debian specific file, as they don't want to share with the rest of the world :(
-
-Kay Sievers:
- o prevent deadlocks on an corrupt udev database
- o wait_for_sysfs_update
-
-Michael Buesch:
- o fix asmlinkage
- o fix incompatible pointer type warning
-
-
-Summary of changes from v035 to v036
-============================================
-
-Greg Kroah-Hartman:
- o add the error number to the error message in wait_for_sysfs to help out in debugging problems
-
-Summary of changes from v034 to v035
-============================================
-
-Greg Kroah-Hartman:
- o added ieee1394 support to wait_for_sysfs
- o update wait_for_sysfs with a bunch more devices thanks to user reports
-
-Summary of changes from v033 to v034
-============================================
-
-Kay Sievers:
- o wait_for_sysfs bluetooth class update
-
-Greg Kroah-Hartman:
- o add comment in wait_for_sysfs to explain the structure better
- o Revert previous dev_d.c change, it's not what is causing HAL problems
- o hm, somethings odd with DEVPATH, see if this fixes it
- o 33_bk mark for the makefile
- o wait_for_sysfs: clean up the logic for the list of devices that we do not expect device symlinks for
- o get rid of annoying extra lines in the syslog for some libsysfs debug messages
- o added support for i2c devices in wait_for_sysfs.c
- o add support for i2c-adapter devices to wait_for_sysfs.c
-
-Summary of changes from v032 to v033
-============================================
-
-<harald:redhat.com>:
- o udev close on exec
- o some cleanups and security fixes
- o some cleanups and security fixes
- o selinux for udev
- o cleanup PATCH for extras/chassis_id/Makefile
-
-<kpfleming:backtobasicsmgmt.com>:
- o respect prefix= setting in built udev.conf (updated)
-
-Greg Kroah-Hartman:
- o add support for usb interfaces to wait_for_sysfs to keep it quiet
- o enable native tdb spinlocks on i386 platforms
- o delete extras/multipath-tools as per the author's request
- o be paranoid in dev_d.c
- o add USE_SELINUX to README documentation so people have a chance to see what is going on
- o update the selinux.h file to start to look sane
- o update bk ignore list for the wait_for_sysfs binary
- o kdetv wants to see device nodes in /dev
- o update comments in scsi-devfs.sh
- o fix up Makefiles to get the klibc build working properly
- o update bk ignore list for new klibc generated files
- o oops forgot to add the new klibc/include directory
- o update klibc to version 0.181
-
-Kay Sievers:
- o fix problems with dev.d and udevstart
- o wait_for_sysfs debug cleanup
- o fix problems using scsi_id with udevstart
- o update volume_id
- o finally solve the bad sysfs-timing for all of us
- o volume-id build fix and update
- o switch udev's seqnum to u64
- o add enum tests
- o fix udev segfaults with bad permissions file
-
-Patrick Mansfield:
- o update udev to include scsi_id 0.6
-
-
-Summary of changes from v031 to v032
-============================================
-
-<harald:redhat.com>:
- o udev parse bug
-
-Kay Sievers:
- o handle only block and class devices
- o fix udevstart badly broken in udev 031
-
-
-Summary of changes from v030 to v031
-============================================
-
-<arun:codemovers.org>:
- o udev - read long lines from config files overflow fix
-
-<ballarin.marc:gmx.de>:
- o Update the FAQ with info about hardlink security
-
-<david:fubar.dk>:
- o compatibility symlinks for udev
-
-David Weinehall:
- o Minor POSIX-fixes for udev
-
-Greg Kroah-Hartman:
- o add symlink for video rule
- o add a "first" list to udevstart and make it contain the class/mem/ devices
- o fix compiler warning in udevtest.c
- o Fix old-style pty breakage in rules file for tty device
- o add rules for i386 cpu devices
- o add permission for legotower usb devices
-
-Kay Sievers:
- o Fix naming ethernet devices in udevstart
- o update udev_volume_id
- o let /sbin/hotplug execute udev earlier
- o pass SEQNUM trough udevd
- o fix manpages based on esr's spambot
-
-Martin Schlemmer:
- o add microcode rule to permissions.gentoo file
-
-Michael Buesch:
- o Try to provide a bit of security for hardlinks to /dev entries
-
-Olaf Hering:
- o udevsend depends on udev_lib.o
-
-Tom Rini:
- o fix UDEV_NO_SLEEP
- o clean up start_udev a bit
- o Make udev/udevstart be one binary
- o Add 'asmlinkage' to udev-030
-
-
-Summary of changes from v029 to v030
-============================================
-
-Greg Kroah-Hartman:
- o fix stupid off-by-one bug that caused udevstart to die on x86-64 boxes
-
-
-Summary of changes from v028 to v029
-============================================
-
-Greg Kroah-Hartman:
- o add permission rule for jogdial device
- o fix dumb bug I added to udevstart
- o make a "last list" of devices for udevstart to operate on last
- o fix permission problem with input event and ts nodes for gentoo
- o change default perms of misc/rtc to be readable by anyone
-
-Olaf Hering:
- o allow NAME_SIZE > SYSFS_PATH_MAX
-
-
-Summary of changes from v027 to v028
-============================================
-
-<atul.sabharwal:intel.com>:
- o Patch for chassis_id exras module
-
-Daniel Drake:
- o Writing udev rules doc update
-
-Greg Kroah-Hartman:
- o clean up block whitelist search logic a bit
- o reverse order of scanning of udevstart to look at class before block
-
-Kay Sievers:
- o update udev_volume_id
-
-Leann Ogasawara:
- o udevstart performance increase
-
-Patrick Mansfield:
- o update udev scsi_id to scsi_id 0.5
-
-
-Summary of changes from v026 to v027
-============================================
-
-<fork0:users.sf.net>:
- o fix handle leak in udev_lib.c
-
-Greg Kroah-Hartman:
- o tweak the gentoo default permission rules as they are wrong for tty and misc devices
-
-
-Summary of changes from v025 to v026
-============================================
-
-Arnd Bergmann:
- o udev rpm fix
-
-Greg Kroah-Hartman:
- o add test for ! in partition name
- o 025_bk mark
- o Update to version 117 of klibc (from version 108)
- o add volume_id ignore rule for bk
- o add volume_id support to the udev.spec file
- o remove dbus and selinux stuff from the udev.spec file
- o delete udev_selinux as it doesn't work properly and is the wrong way to do it
- o Deleted the udev_dbus extra as it didn't really work properly and HAL has a real solution now
- o add udev.permissions.slackware file
- o udevstart: close open directories
-
-Kay Sievers:
- o fix udevd zombies
- o catchup with recent klibc
- o Re: udevsend fallback
- o udev_volume_id update
- o udev callout for reading filesystem labels
- o udev callout for reading filesystem labels
- o udev default config layout changes
-
-Leann Ogasawara:
- o evaluate getenv() return value for udev_config.c
-
-Summary of changes from v024 to v025
-============================================
-
-<md:linux.it>:
- o devfs.sh-ide-floppy
-
-<sjoerd:spring.luon.net>:
- o DEVNODE -> DEVNAME transition fixes
-
-Daniel Drake:
- o Update writing udev rules docs
-
-Greg Kroah-Hartman:
- o make dev.d call each directory in the directory chain of the device name, instead of just the whole name
- o add devd_test script
- o add more permissions based on SuSE's recommendations
- o added rules for tun and raw devices
- o add udev conf.d file
- o Switch the default config to point to a directory for the rules and permission files
- o update the Red Hat .dev files to work on other distros
- o add dbus.dev, pam_console.dev and selinux.dev files for /etc/dev.d/default/ usage
- o add hints for red hat users from Leann Ogasawara <ogasawara@osdl.org>
- o add scripts to run gcov for udev from Leann Ogasawara <ogasawara@osdl.org>
- o change permissions on udevd test scripts
- o Fix build process for users who have LC_ALL set to a non-english language
- o Added expanded tests to the test framework from Leann Ogasawara <ogasawara@osdl.org>
- o added execelent "writing udev rules" document from Daniel Drake <dan@reactivated.net>
- o added rule to put USB printers in their proper places
- o added rules for CAPI devices
- o added a dev.d alsa script to help people out
-
-Kay Sievers:
- o fix test regressions
- o udev_selinux changes
- o udevd test script
- o udev_dbus changes
- o fix devpath for netdev
-
-Leann Ogasawara:
- o gcov for udev
-
-
-Summary of changes from v023 to v024
-============================================
-
-<atul.sabharwal:intel.com>:
- o Add README for chassis_id
- o Add chassis_id program to extras directory
-
-<chris_friesen:sympatico.ca>:
- o udevd race conditions and performance, assorted cleanups
-
-<hare:suse.de>:
- o fix SEGV in libsysfs/dlist.c
-
-<maryedie:osdl.org>:
- o add OSDL documentation for persistent naming
-
-<md:linux.it>:
- o small ide-devfs.sh fix
-
-Greg Kroah-Hartman:
- o remove compiler warning from udevd.c
- o only generate udev.8 on the fly, not all other man pages
- o update bk ignore list some more
- o update bk ignore list
- o switch to generate the man pages during the normal build, not during the install
- o convert udev.8.in to use @udevdir@ macro for make install
- o first step of making man pages dynamically generated
- o add install and uninstall the etc/dev.d/net/hotplug.dev file to the Makefile
- o tweak net_test a bit
- o fix some segfaults when running udevtest for network devices
- o make a net_test test script using udevtest
- o handle the subsytem if provided in udevtest
- o add hotplug.dev script to handle renamed network devices
- o add a bunch of network class devices to the test sysfs tree
- o add udevruler to the bk ignore list
- o update RFC-dev.d docs due to DEVNODE to DEVNAME change
- o clean up chassis_id coding style
- o clean up the OSDL document formatting a bit
- o add netlink rules to devfs and gentoo rules files
- o added USB device rules to rules files
- o clean up the gentoo rules file a bit more, adding dri rules
- o fix up udev.rules to handle oss rules better
- o 023_bk mark
- o fix udev.spec file for where udevtest should be placed
-
-Kay Sievers:
- o tweak node unlink handling
- o switch udevd's msg_dump() to #define
- o handle netdev in udevruler
- o man page cleanup
- o put config info in db for netdev
- o increase udevd event timeout
- o udevstart fix
- o put netdev handling and dev.d/ in manpages
- o DEVPATH for netdev
- o netdev - udevdb+dev.d changes
- o udevd race conditions and performance, assorted cleanups - take 2
- o udevinfo patch
- o dev_d.c file sorting and cleanup
- o apply all_partitions rule to main block device only
-
-
-Summary of changes from v022 to v023
-============================================
-
-Kay Sievers:
- o hmm, handle net devices with udev?
- o correct apply_format() for symlink only rules
- o don't init namedev on remove
- o first stupid try for a rule compose gui
- o replace fgets() with mmap() and introduce udev_lib.[hc]
- o make udevtest a real program :)
-
-Daniel E. F. Stekloff:
- o udevinfo patch
-
-Greg Kroah-Hartman:
- o create the /etc/dev.d/ directories in 'make install'
- o actually have udev run files ending in .dev in the /etc/dev.d/ directory as documented
- o added RFC-dev.d document detailing how /etc/dev.d/ works
- o fixed up udev.spec to handle selinux stuff properly now
- o remove USE_DBUS and USE_SELINUX flags from the README as they are no longer present
- o remove selinux stuff from the main Makefile
- o move udev_selinux into extras/selinux
- o fix dbus build in the udev.spec file
- o remove dbus stuff from main Makefile
- o move udev_dbus to extras/dbus
- o udev_dbus can now compile properly, but linnking is another story
- o remove udev_dbus.h from Makefile
- o first cut at standalone udev_selinux program
- o remove selinux support from udev core as it's no longer needed
- o first cut at standalone udev_dbus program
- o add get_devnode() helper to udev_lib for udev_dbus program
- o remove dbus code from core udev code as it's no longer needed to be there
- o add /etc/dev.d/ support for udev add and remove events
- o fix build error in namedev.c caused by previous patch
- o 022_bk tag
- o fix 'make spotless' to really do that in klibc
- o add a question/answer about automounting usb devices to the FAQ
- o mark scsi-devfs.sh as executable
- o Increase the name size as requested by Richard Gooch <rgooch@ras.ucalgary.ca>
- o fix udevtest to build properly after the big udev_lib change
-
-Olaf Hering:
- o uninitialized variable for mknod and friend
-
-Richard Gooch:
- o SCSI logical and physical names for udev
-
-Theodore Y. T'so:
- o Trivial man page typo fixes to udev
-
-
-Summary of changes from v021 to v022
-============================================
-
-<ananth:in.ibm.com>:
- o more Libsysfs updates
- o Libsysfs updates
-
-<async:cc.gatech.edu>:
- o fix HOWTO-udev_for_dev for udevdir
-
-Kay Sievers:
- o udev-test.pl cleanup
- o add dev node test to udev-test.pl
- o add permission tests
- o "symlink only" test
- o callout part selector tweak
- o cleanup callout fork
- o allow to specify node permissions in the rule
- o man page beauty
- o put symlink only rules to the man page
- o rename strn*() macros to strmax
- o conditional remove of trailing sysfs whitespace
- o clarify udevinfo text
- o better fix for NAME="foo-%c{N}" gets a truncated name
- o overall trivial trivial cleanup
- o fix NAME="foo-%c{N}" gets a truncated name
- o cleanup mult field string handling
-
-<ken:cgi101.com>:
- o fix a type in docs/libsysfs.txt
- o Added line to udev.permissions.redhat
- o Include more examples in the docs area for gentoo and redhat
-
-<md:linux.it>:
- o udevstart fixes
-
-Greg Kroah-Hartman:
- o add big major tests to udev-test.pl
- o add a test for a minor over 255
- o udev-test.pl: print out major:minor and perm test "ok" if is ok
- o make perm and major:minor test errors be reported properly
- o remove extra ; in namedev_parse.c
- o Added multipath-tools 0.1.1 release
- o deleted current extras/multipath directory
- o 021_bk mark
- o fix the build for older versions of gcc
-
-Hanna V. Linder:
- o Small fix to remove extra "will" in man page
-
-Olaf Hering:
- o make spotless
- o udev* segfaults with new klibc
-
-Patrick Mansfield:
- o add tests for NAME="foo-%c{N}"
-
-Summary of changes from v020 to v021
-============================================
-
-Kay Sievers:
- o install udevinfo in /usr/bin
- o blacklist pcmcia_socket
-
-Greg Kroah-Hartman:
- o fix udev.spec to find udevinfo now that it has moved to /usr/bin
- o Fix another problem with Makefile installing initscript
- o fix the Makefile to install the init script into the proper directory
- o make spec file turn off selinux support by default
-
-
-Summary of changes from v019 to v020
-============================================
-
-<christophe.varoqui:free.fr>:
- o multipath update
-
-Kay Sievers:
- o man page udevstart
- o cleanup udevstart
- o bugfix for local user
- o unlink bugfix
- o TODO update
- o clarify udevinfo device walk
- o udevinfo symlink reverse query
- o fix stroul endptr use
- o add $local user spport for permissions
- o udev - man page update
- o udev - fix debug info for multiple rule file config
- o udev - kill udevd on install
- o udev - activate formt length attribute
- o udev - safer sprintf() use
-
-<md:linux.it>:
- o no error on enoent
- o escape dashes in man pages
- o remove usage of expr in ide-devfs.sh
-
-<rml:ximian.com>:
- o automatically install correct initscript
- o update documetation for $local
-
-Andrey Borzenkov:
- o Add symlink only rules support
-
-Greg Kroah-Hartman:
- o update the TODO list as we already have a devfs config file
- o make start_udev use udevstart binary
- o install udevstart
- o Remove Debian permission files as the Debian maintainer doesn't seem to want to share :(
- o update the Gentoo rules files
- o Add Red Hat rules and permissions files
- o add udevstart to the ignore list
- o add udevstart program based on a old patch from Harald Hoyer <harald@redhat.com>
- o unlink the file before we try to create it
- o Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev
-
-
-Summary of changes from v018 to v019
-============================================
-
-Kay Sievers:
- o TODO update
- o udev - correct relative symlink
- o udev - safer string handling - part four
- o udev - safer string handling - part three
- o udev - safer string handling - part two
- o udev - man page update
- o udev - safer string handling all over the place
- o manpage update
- o udev - allow all files in a directory as the config
- o udev - simple klibc textual uid/gid handling
-
-Andrey Borzenkov:
- o do not remove real .udev.tdb during RPM build
-
-Greg Kroah-Hartman:
- o add new TODO item about local user permissions
- o Add initial SELinux support for udev
- o fix build for very old versions of make
- o remove limit of the number of args passed to PROGRAM
- o force udev to include the internal version of libsysfs and never the external one
- o fix up libsysfs header file usage to fix bug reports from users that have sysfsutils installed already
- o remove udevtest on 'make clean'
- o remove udevd priority TODO item, as it's not needed at all
-
-Patrick Mansfield:
- o update udev scsi_id to scsi_id 0.4
-
-
-Summary of changes from v017 to v018
-============================================
-
-<ext.devoteam.varoqui:sncf.fr>:
- o [PATCH] symlink dm-[0-9]* rule
- o update extras/multipath
-
-<john-hotplug:fjellstad.org>:
- o init.d debian patch
-
-Kay Sievers:
- o udev - TODO update
- o udev - add %s{filename} to man page
- o udev - udevd/udevsend man page
- o udev - switch callout part selector to {attribute}
- o udev - switch SYSFS_file to SYSFS{file}
- o udev - create all partitions of blockdevice
- o allow SYSFS{file}
- o Adding '%s' format specifier to NAME and SYMLINK
-
-Greg Kroah-Hartman:
- o added some scsi_id files to the bk ignore file
- o added scsi_id and some more documentation to the udev.spec file
- o update udev.rules.gentoo with new config file format
- o Update the Gentoo udev.rules and udev.permissions files
- o Create a udev.rules.examples file to hold odd udev.rules
- o add udevd priority issue to the TODO list
- o more HOWTO cleanups
- o add HOWTO detailing how to use udev to manage /dev
- o mv libsysfs/libsysfs.h to libsysfs/sysfs/libsysfs.h to make it easier to use
- o add start_udev init script
- o add support for UDEV_NO_SLEEP env variable so Gentoo people will be happy
- o start up udevd ourselves in the init script to give it some good priorities
- o update the red hat init script to handle nodes that are not present
- o add a "old style" SYSFS_attribute test to udev-test.pl
- o Have udevsend report more info in debug mode
- o Have udevd report it's version in debug mode
- o fix up bug created for udevtest in previous partition creation patch
- o update the udev.spec to add udevtest and make some more Red Hat suggested changes
- o add ability to install udevtest to Makefile
- o 017_bk mark
- o Add another test to udev-test.pl and fix a bug when only running 1 test
- o Fix bug where we did not use the "converted" kernel name if we had no rule
-
-Patrick Mansfield:
- o udev use new libsysfs header file location
- o udev add some ID tests
-
-
-Summary of changes from v016 to v017
-============================================
-
-<azarah:nosferatu.za.org>:
- o make logging a config option
-
-<christophe.varoqui:free.fr>:
- o more udev-016/extras/multipath
- o more udev-016/extras/multipath
- o update extras/multipath
-
-Kay Sievers:
- o udev - keep private data out of the database?
- o better credential patch
- o udevd - client access authorization
- o compile udevd with klibc
- o udev - fix "ignore method"
- o udev - fix cdrom symlink rule
- o convert udevsend/udevd to DGRAM and single-threaded
- o udevd - kill the lockfile
- o udevd - fix socket path length
- o udevd - switch socket path to abstract namespace
- o udevd - allow to bypass sequence number
- o include used function
-
-Greg Kroah-Hartman:
- o add udev_log to the documentation
- o fix offsetof() define in klibc
- o add some .spec file changes from Red Hat
- o update the init.d udev script based on a patch from Red Hat
- o remove the .udev.tdb when installing or uninstalling to be safe
- o remove the database at startup
- o fix bug in permission handling
- o update klibc to version .107
- o update the bitkeeper ignore file list
- o add udevtest program to build
- o fix problem where usb devices can be either the main device or the interface
- o more logging.h cleanups to be a bit more flexible
- o stop using mode_t as different libcs define it in different ways :(
- o remove some more KLIBC fixups that are no longer needed
- o let udev-test.pl run an individual test if you ask it to
- o Handle the '!' character that some block devices have
- o add a block device with a ! in the name, and a test for this
- o fix up 'make release' to use bk to build the export tree
- o fix log option code so that it actually works for all udev programs
- o finish syncing up with klibc
- o sync with latest version of klibc (0.107)
- o fix up Makefile dependancies for udev_version.h
-
-Patrick Mansfield:
- o udev add wild card compare for ID
- o udev kill extra bus_id compares in match_id
-
-
-Summary of changes from v015 to v016
-============================================
-
-<elkropac:students.zcu.cz>:
- o get_dev_number() in extras/ide-devfs.sh
-
-<rrm3:rrm3.org>:
- o FAQ udev.rules.devfs
-
-Greg Kroah-Hartman:
- o add udevd and udevsend to the spec file
- o make /etc/hotplug.d/default/udev.hotplug symlink point to udevsend now
- o add KERNEL_DIR option so that the distros will be happy
- o make udevsend binary even smaller
- o udevsend now almost compiles with klibc, struct sockaddr_un is only problem now
- o fix up logging code so that it can be built without it being enabled
- o rework the logging code so that each program logs with the proper name in the syslog
- o remove logging.c as it's no longer needed
- o kill the last examples that contained the %D option
- o remove a __KLIBC__ tests in libsysfs, as klibc now supports getpagesize()
- o udevd - remove stupid locking error I wrote
- o update to klibc version 0.101, fixing the stdin bug
- o fix Makefile typo for USE_LSB install
- o allow dbus code to actually build again
-
-Kay Sievers:
- o let udevsend build with klibc
- o udevd - config cleanup
- o udevd - cleanup and better timeout handling
- o fix possible buffer overflow
- o udevd - next round of fixes
- o udevinfo - missing options for man page
- o udev - trivial style cleanup
-
-
-Summary of changes from v014 to v015
-============================================
-
-<mbuesch:freenet.de>:
- o LFS init script update
-
-Greg Kroah-Hartman:
- o update klibc to version 0.98
- o clean up udevinfo on 'make clean'
- o add udevinfo man page to spec file
- o remove command line documentation from udev man page
- o create initial version of udevinfo man page
- o added URL to spec file
- o add udevinfo to udev.spec file
- o add udevinfo to install target of Makefile
- o rip out command line code from udev, now that we have udevinfo
- o udevinfo doesn't need to declare main_envp
- o move get_pair to udev_config.c because udevinfo doesn't need all of namedev.o
- o more makefile cleanups
- o move udevinfo into the main build and clean up the main Makefile a bit
- o clean up compiler warnings if building using klibc
- o make udevd only have one instance running at a time
- o new testd.block script for debugging
- o udevsnd : clean up message creation logic a bit
- o make bk ignore udevd and udevsend binaries
- o whitespace cleanups
- o remove TODO item about BUS value, as it is now done
- o add support for figuring out which device on the sysfs "chain" the rule applies to
-
-Kay Sievers:
- o udevinfo - now a real program :)
- o udevd - cleanup and better timeout handling
- o udev - next round of udev event order daemon
- o fix udevd exec
- o udev - udevinfo with device chain walk
- o spilt udev into pieces
-
-
-Summary of changes from v013 to v014
-============================================
-
-<ananthmg:rediffmail.com>:
- o libsysfs update for refresh + namedev.c changes
-
-<christophe.varoqui:free.fr>:
- o udev-013/extras/multipath update
-
-<flamingice:sourmilk.net>:
- o minor patch for devfs rules
-
-Kay Sievers:
- o udev - program to query all device attributes to build a rule
- o set default owner/group in db - update
- o udev - reverse user query options
- o udev - kill %D from udev-test.pl
- o add udev logging to info log
- o udev - mention format string escape char in man page
-
-Greg Kroah-Hartman:
- o misc code cleanups
- o fixup logging.h to handle different logging options properly
- o clean up the logging patch a bit to make the option more like the other options
- o remove the %D modifier as it is not longer needed
- o remove unneeded keyboard rule
- o add usb_host and pci_bus to the class blacklist
- o added input device rules to udev.rules and udev.rules.devfs
- o 013_bk mark
-
-Hanna V. Linder:
- o set default owner/group in db
- o small cut n paste error fix
-
-Patrick Mansfield:
- o update udev scsi_id to scsi_id 0.3
-
-
-Summary of changes from v012 to v013
-============================================
-
-<eike-hotplug:sf-tec.de>:
- o LSB init script and other stuff
-
-<elkropac:students.zcu.cz>:
- o fix udev directory for Debian init script
-
-<tiggi:infa.abo.fi>:
- o udev 012 old gcc fixup
-
-Christophe Saout:
- o add IGNORE rule type
- o small cleanup
-
-Greg Kroah-Hartman:
- o update TODO with some new, small items
- o Cset exclude: greg@kroah.com|ChangeSet|20040113010256|48515
- o update the README in a few places
- o fix -d typo in the manpage update
- o Fix stupid gcc "optimization" of 1 character printk() calls.... Ick
- o oops, forgot to fix up the PROGRAM result from ID to RESULT in the config files
- o Add alsa device rules and a few other devfs rules
- o fix a few stale comments in namedev.c
- o convert the default rules files to the new format
- o convert the test shell scripts to the config file format
- o add bus test for usb-serial bus
- o Add some helpful messages if the user uses the older config file format
- o added dri rule to the default config file
- o added init.d udev script for debian
- o add a script that tests the IGNORE rule
- o add silly script that names cdrom drives based on the cd in them
- o add cdrom rule for ide cdrom
- o replace list_for_each with list_for_each_entry, saving a few lines of code
- o add a blacklist of class devices we do not want to look at
-
-Kay Sievers:
- o fix klibc with printf() and gcc
- o udev - small script optimization
- o udev - introduce format escape char
- o udev - more CALLOUT is PROGRAM now
- o udev - CALLOUT is PROGRAM now
- o update documentation for new config file format
- o more advanced user query options
- o udev - simple debug tweak
- o udev - drop all methods :)
- o udev - advanced user query options
- o udev - Makefile error
- o udev - make exec_callout() reusable
- o udev - exec status fix for klibc
- o fix Silly udev script
-
-
-Summary of changes from v011 to v012
-============================================
-
-<azarah:nosferatu.za.org>:
- o make symlink work properly if there is already a file in its place
- o Fix udev gcc-2.95.4 compat
-
-<christophe.varoqui:free.fr>:
- o extras multipath update
- o extras multipath update
-
-Kay Sievers:
- o mention user callable udev + options in man page
- o make udev user callable to query the database
- o depend on all .h files
- o cleanup namedev_parse debug text
- o extend exec_program[]
- o ide-devfs.sh update
- o fix for apply_format()
- o check for empty symlink string
- o 'ide' missing in bus_files[]
- o small trivial cleanup of latest changes
-
-<mbuesch:freenet.de>:
- o introduce signal handler
-
-<rml:ximian.com>:
- o udev spec file update
-
-Greg Kroah-Hartman:
- o minor grammer fixes for the udev_vs_devfs document
- o move the dbus config file to etc/dbus-1/system.d/
- o move the config files to etc/udev to clean up main directory a bit
- o add Gentoo versions of the rules and permissions files
- o if using glibc, link dynamically, as no one like 500Kb udev binaries
- o minor change to udev_vs_devfs document
- o added udev vs devfs supid document to the tree
- o move the signal handling registration to after we have initialized enough stuff
- o make ide-devfs.sh executable in the tree
- o udev.permissions.debian - forgot the dm nodes
- o update the udev.permissions.debian file with new entries
- o added udev.init script for the Linux From Scratch project
-
-
-
-Summary of changes from v010 to v011
-============================================
-
-<mbuesch:freenet.de>:
- o proper cleanup on udevdb_init() failure
-
-<mh:nadir.org>:
- o patch udev 009-010 rpm spec file
-
-<svetljo:gmx.de>:
- o fix udev sed Makefile usage
-
-Greg Kroah-Hartman:
- o add documentation about the BUS key being optional for the LABEL rule
- o add tests for LABEL rule with a device that has no bus
- o Don't require the BUS value for the LABEL rule
- o If a LABEL rule has a BUS id, then we must check to see if the device is on a bus
- o add documentation about the BUS key being optional for the CALLOUT rule
- o If a CALLOUT rule has a BUS id, then we must check to see if the device is on a bus
- o Don't require the BUS value for the CALLOUT rule
- o add test for callout rule with a device that has no bus
- o 010_bk stamp
- o added different build options to the rpm udev.spec file
- o add pci to the bus_files list
- o check for empty line a bit better in the parser
- o more init script cleanups, the stop target now calls udev to cleanup instead of just removing the whole /udev directory
- o make udev init script run udev in the background to let startup go much faster
- o fix long delay for all devices in namedev
-
-
-Summary of changes from v009 to v010
-============================================
-
-<ananth:in.ibm.com>:
- o change pgsize
-
-<christophe.varoqui:free.fr>:
- o extras multipath update
- o extras multipath update
- o extras multipath update
- o extras multipath update
-
-Kay Sievers:
- o fix udev-test.pl
- o small cleanup udev-remove.c
- o experimental CALLOUT script for devfs ide node creation with cd, disc, part
- o add any valid device
- o introduce format char 'k' for kernel-name
- o trivial make fixes
- o don't overwrite old config on install
- o udev-remove.c cleanups
- o bug in udev-remove.c
- o trivial cleanup parser changes
-
-<roman.kagan:itep.ru>:
- o fix comment and whitespace handling in config files
-
-Adam Kropelin:
- o Allow build with empty EXTRAS
-
-Daniel E. F. Stekloff:
- o libsysfs 0.4.0 patch
- o fix scsi_id segfault with udev-009
- o add libsysfs docs
-
-David T. Hollis:
- o mark config files as such in the rpm spec file
-
-Greg Kroah-Hartman:
- o fix complier warning in namedev.c
- o add documentation for the new '%k' modifier (kernel name replacement)
- o add documentation about the multiple sysfs values that are now allowed for the LABEL rule
- o add tests for multi-file LABEL rules
- o add ability to have up to 5 SYSFS_ file/value pairs for the LABEL rule
- o Just live with a sleep(1) in namedev for now until libsysfs is fixed up
- o try to wait until the proper device file shows up in sysfs
- o remove unneeded TODO and FIXME entry
- o clean up the stand-alone tests to work properly on other people's machines
- o add tests to catch whitespace and comment config file parsing errors
-
-
-Summary of changes from v008 to v009
-============================================
-
-<christophe.varoqui:free.fr>:
- o more extras/multipath changes
- o and more extras/multipath updates
- o more extras/multipath updates
- o yet more extras/multipath
- o more extras/multipath updates
- o extras/multipath update
-
-<david:fubar.dk>:
- o D-BUS patch for udev-008
-
-<eike-hotplug:sf-tec.de>:
- o add init.d/udev to "make install"
- o add init.d/udev to the spec file
-
-Kay Sievers:
- o don't rely on field order in namedev_parse
- o get part of callout return string
- o remove '\n' from end of callout return
- o man-page mention multiple symlinks
- o allow multiple symlinks
- o cleanup man & remove symlink comment
- o experimental (very simple) SYMLINK creation
- o man page beauty
- o pattern match for label method
- o a bug in linefeed removal
-
-<rml:ximian.com>:
- o remove udev from runlevels on uninstall
- o install initscript in udev rpm
-
-Daniel E. F. Stekloff:
- o pre-libsysfs-0.4.0 patch
-
-Greg Kroah-Hartman:
- o signal fixes due to klibc update
- o sync klibc with release 0.95
- o add mol permissions to the debian permissions file
- o update the FAQ with info about bad modprobe events from the devfs scheme
- o some cleanups due to the need for LABEL rules to use "SYSFS_" now
- o Add restart target to the etc/init.d/udev script
- o tweak the config file generation portion of the Makefile a bit
- o change devfs disk name rule from 'disk' to 'disc'
- o add vc support to udev.rules.devfs
- o added a devfs udev config file from Marco d'Itri <md@Linux.IT>
- o set default mode to 0600 to be safer
- o Makefile tweaks for the DBUS build
- o update the FAQ due to the latest devfs mess on lkml and also due to symlinks now working
- o document the different Makefile config options that we have
- o change USE_DBUS to DBUS in Makefile, and disable it by default as it's still to hard to build on all systems
- o fix formatting of udev_dbus.c to use tabs. Also get it to build properly now
- o move all of the DBUS logic into one file and remove all of the #ifdef crud from the main code
-
-Olaf Hering:
- o dump latest klibc into the udev build tree
- o use udevdir in udev.conf
-
-Patrick Mansfield:
- o better allow builds of extras programs under udev
- o update udev extras/scsi_id to version 0.2
-
-
-Summary of changes from v007 to v008
-============================================
-
-<azarah:nosferatu.za.org>:
- o more config file parsing robustness
-
-<christophe.varoqui:free.fr>:
- o udev-007/extras/multipath update
-
-Arnd Bergmann:
- o Build failure - missing linux/limits.h include?
- o Add format modifier for devfs like naming
- o klibc makefile fixes
-
-Daniel E. F. Stekloff:
- o another patch for path problem
- o quick fix for libsysfs bus
- o libsysfs changes for sysfsutils 0.3.0
-
-Greg Kroah-Hartman:
- o fix up some duplicated function compiler warnings in libsysfs
- o fix some compiler warnings in the tdb code
- o Added Kay's name to the man page
- o update the wildcard documentation in the man page to show the new styles supported
- o fix permission handling logic
- o enable default_mode ability to actually build
- o add support for the default_mode variable, as it is documented
- o show permissions and groups in the label_test
- o remove some items off of the TODO list, as they are now done
- o fix up the tests to work without all of the environ variables
- o get rid of the majority of the debug environment variables
- o Update the man page to show the new config file, it's format, and how to use it
- o fix up the tests to support the rules file name change
- o add support for a main udev config file, udev.conf
- o turn debugging messages off by default
- o split out the namedev config parsing logic to namedev_parse.c
- o rename namedev's get_attr() to be main namedev_name_device() as that's what it really is
- o add devfs like tty rules as an example in the default config file
- o operate on the rules in the order they are in the config file (within the rule type) instead of operating on them backwards.
- o Cset exclude: dsteklof@us.ibm.com|ChangeSet|20031126173159|56255
- o add test for checking the BUS value
- o fix problem where we were not looking at the BUS value
- o add scsi and pci bus links in the test sysfs tree
- o add test and documentation for new %D devfs format modifier
- o changed the default location of the database to /udev/.udev.tdb to be LSB compliant
- o get rid of functions in klibc_fixups that are now in klibc
- o sync up with the 0.84 version of klibc
- o fix udev init.d script to handle all class devices in sysfs
- o fix the test.block and test.tty scripts due to their moveing. Also add a test.all script
- o 007_bk version change to Makefile
-
-Kay Sievers:
- o pattern matching for namedev
- o catch replace device by wildcard
- o udev.8 tweak numeric id text
- o udev-test.pl add subdir test
- o namedev.c strcat tweak
- o overall whitespace + debug text conditioning
- o udev-test.pl - tweaks
-
-Martin Hicks:
- o Add -nodefaultlibs while compiling against klibc
-
-Olaf Hering:
- o ARCH detection for ppc
-
-Patrick Mansfield:
- o fix udev parallel builds with klibc
-
-
-Summary of changes from v006 to v007
-============================================
-
-<md:linux.it>:
- o fix segfault in parsing bad udev.permissions file
-
-Greg Kroah-Hartman:
- o update default config file with a CALLOUT rule, and more documentation
- o updated the man page with the latest format specifier changes
- o added ability to put format specifiers in the CALLOUT program string
- o tweak udev-test.pl to report '0' errors if that's what happened
- o only build klibc_fixups.c if we are actually using klibc
- o add support for string group and string user names in udev.permissions
- o add getgrnam and getpwnam to klibc_fixups files
- o remove Makefile.klibc
- o add udev-test perl script from Kay Sievers <kay.sievers@vrfy.org> which blows away my puny shell scripts
- o added debian's version of udev.permissions
- o change to 006_bk version
-
-Kay Sievers:
- o format char for CALLOUT output
- o more namedev whitespace cleanups
- o support arguments in callout exec
- o namedev.c - change order of fields in CALLOUT
- o namedev.c whitespace + debug text cleanup
- o man page with udev.permissions wildcard
-
-Olaf Hering:
- o static klibc udev does not link against crt0.o
-
-Summary of changes from v005 to v006
-============================================
-
-<chris_friesen:sympatico.ca>:
- o faster test scripts
-
-Arnd Bergmann:
- o more robust config file parsing in namedev.c
- o add bus id modifier
-
-Daniel E. F. Stekloff:
- o patch for libsysfs sysfs directory handling
-
-Greg Kroah-Hartman:
- o add another line to udev.permissions in the proper format
- o tweak replace_test
- o fix permissions to work properly now
- o add real udev.permissions file to test directory
- o fix namedev.c to build with older version of gcc
- o add dumb test for all of the different modifiers
- o update the TODO list with more items that people can easily do
- o move the test.block and test.tty scripts to the test/ directory
- o add remove actions to the test scripts
- o turn DEBUG_PARSER off by default
- o add some documentation for the %b modifier to the default config file
- o fix make install rule for when the udev symlink is already there
- o change release target in makefile
- o change debug level on printf values for now
- o updated demo config file
- o add some documentation of the modifiers to the default config file
- o add demo config file
- o updated bk ignore list for klibc generated files
- o add printf option to label test to verify it works
- o fix up printf-like functionality due to previous changes
- o get the major/minor number before we name the device
- o add scsi_id "extra" program from Patrick Mansfield <patmans@us.ibm.com>
- o Add multipath "extra" program from Christophe Varoqui, <christophe.varoqui@free.fr>
- o trailing whitespace cleanups
- o splig LABEL and NUMBER into separate functions
- o add TOPO regression test
- o move TOPOLOGY rule to it's own function
- o fix bug where NUMBER and TOPOLOGY would not work for partitions
- o clean up the way we find the sysdevice for a block device for namedev
- o updated label test script (tests for partitions now.)
- o split REPLACE and CALLOUT into separate functions
- o add debug line for REPLACE call
- o add replace test
- o add more sysfs test tree files
- o change UDEV_SYSFS_PATH environment variable due to libsysfs change
- o fix bug in klibc's isspace function
- o fix udev-add.c to build properly with older versions of gcc
- o add prototype for ftruncate to klibc
- o Remove a few items from the TODO list that are already done
- o version number to 005_bk
- o pull some klibc stuff into the make Makefile to try to stay in sync
- o klibc build fixes
-
-Kay Sievers:
- o apply permissions.conf support for wildcard and default name
- o man page with included placeholder list
- o implement printf-like placeholder support for NAME
- o more manpage tweaks
- o add support for subdirs
- o add uid/gid to nodes
-
-Olaf Hering:
- o DESTDIR for udev
-
-Paul Mundt:
- o Fixup path for kernel includes when building with klibc
-
-Robert Love:
- o udev init script
-
-
-Summary of changes from v004 to v005
-============================================
-
-<kay:vrfy.org>:
- o namedev.c comments + debug patch
- o man page update
-
-Greg Kroah-Hartman:
- o ignore the klibc/linux symlink
- o add klibc linux symlink info to the README
- o get 'make release' to work properly again
- o added README info for how to build using klibc
- o turn off debugging if we are building with klibc
- o turn off debugging in namedev
- o added vsyslog support to klibc
- o add ftruncate to klibc
- o klibc specific tweaks
- o libsysfs does not need mntent.h in it's header file
- o udev build tweaks to tdb's spinlock code
- o klibc makefile changes
- o build tdb and libsysfs from the same makefile as udev
- o udev-add build cleanups for other libc versions
- o tweak tdb to build within udev better
- o make libsysfs spit debug messages to the same place as the rest of udev
- o make libsysfs build cleanly
- o updated bk ignore list
- o added klibc version 0.82 (cvs tree) to the udev tree
- o makefile fix for now
- o Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev
- o hm, makefile bug with so many files... will fix later
- o regression tests starting to be added
- o fix LABEL bug for device files (not class files.)
- o more warning flags to the build
- o got rid of struct device_attr
- o rename namedev.permissions and namedev.config to udev.permissions and udev.config
- o fix dbg line in namedev.c
- o more overrides of config info with env variables if in test mode
- o Fix bug causing udev to sleep forever waiting for dev file to show up
- o change version to 004_bk
- o make config files, sysfs root, and udev root configurable from config variables
-
-Robert Love:
- o udev: sleep_for_dev() bits
- o udev: another canidate for static
-
-
-Summary of changes from v003 to v004
-============================================
-
-Daniel E. F. Stekloff:
- o new version of libsysfs patch
-
-Greg Kroah-Hartman:
- o 004 release
- o major database cleanups
- o Changed test.block and test.tty to take ACTION from the command line
- o don't sleep if 'dev' file is already present on device add
- o fix comment about how the "dev" file is made up
- o more database work. Now we only store the info we really need right now
- o add BUS= bug to TODO list so it will not get forgotten
- o spec file changes
- o test.block changes
- o ok, rpm likes the "_" character instead of "-" better
- o change the version to 003-bk to keep things sane with people using the bk tree
- o got "remove of named devices" working
- o fix segfaults when dealing with partitions
-
-Kay Sievers:
- o man file update
- o man page update
-
-Robert Love:
- o udev: mode should be mode_t
- o udev: trivial trivialities
- o udev: cool test scripts again
- o udev spec file symlink support
- o udev: cool test scripts
- o udev spec file bits
-
-
-Summary of changes from v0.2 to v003
-============================================
-
-Daniel E. F. Stekloff:
- o udevdb patch
- o udevdb prototype
-
-Greg Kroah-Hartman:
- o update the spec file for the new version and install process
- o fix makefile release rule to not drop tdb.h file
- o Add FAQ for udev
- o removed AUTHORS and INSTALL files as they were pretty pointless
- o copyright updates
- o Add AUTHORS and INSTALL files
- o TODO updates
- o Updatd the README
- o updated the TODO list
- o add udev man page (basically just a place holder for now.)
- o added uninstall support
- o added install target for makefile so people don't have to do it by hand anymore
- o add version to debug log on startup
- o tell the user what mknod() we are trying to do
- o add dbg_parse() to cut down on parse file debugging statements
- o put config files and database in /etc/udev by default
- o add ols 2003 udev paper to docs/
- o clean up some debugging stuff in namedev.c
- o do not build the tdb binary programs, only the objects
- o merge tdb into the build process
- o Added tdb code from latest cvs version in the samba tree
- o added my name to the .spec file
- o minor cleanups
- o cleanup the mknod code a bit
- o remove mknod callout
- o handle new major:minor format of dev files that showed up in 2.6.0-test2-bk3 or so
- o oops, everything was getting created as 000 mode, try to fix this up, but fail...
- o more test stuff
-
-Olaf Hering:
- o print udev pid
-
-Patrick Mansfield:
- o add callout config type to udev
-
-Paul Mundt:
- o Fix TDB cross compilation
- o udev spec file
- o udev/libsysfs cross compile fixes
-
-
-Summary of changes from v0.1 to v0.2
-============================================
-
-Greg Kroah-Hartman:
- o more test stuff
- o removed unneeded stuff from udev.h
- o added 0.2 change log info
- o start working on label support, and fix some segfaults for block devices
- o test config file changes
- o add NUMBER support (basically same logic as TOPOLOGY, perhaps we should
- merge this...)
- o added topology support
- o got REPLACE to work properly
- o make struct config_device contain a struct device_attr instead of
- duplicating the mess
- o block test
- o split the tests up into different files
- o split udev main logic into udev-add and udev-remove
- o Clean up the namedev interface a bit, making the code smaller
- o bk: update ignore list
- o update the tests to handle block devices too
- o add initial libsysfs support
- o added libsysfs to the build
- o added libsysfs code from sysutils-0.1.1-071803 release
- o namedev config files are fully parsed
- o more permission tests
- o make log_message spit out warnings so I don't have to spend forever
- chasing down stupid bugs that aren't there...
- o added klibc makefile
- o Initial namedev parsing of config files
- o sleep for 2 seconds to give the kernel a chance to actually create the
- files we need
- o pick a better default UDEV_ROOT
- o fix up the test to actually work
- o added more documentation in README and TODO files
-
-
-Summary of changes up to v0.1
-============================================
-
-Greg Kroah-Hartman:
- o added more documentation in README and TODO files
- o updated the documentation
- o cleaned up the makefile a bit
- o remove now works!
- o restructure code to be able to actually get remove_node() to work
- o Creating nodes actually works
- o added stupid test script for debugging
- o added initial documentation and gpl license
- o enabled debugging
- o updated ignore list
- o added initial files
- o fixed up config
- o Initial repository create
- o BitKeeper file /home/greg/src/udev/udev/ChangeSet
-
diff --git a/src/udev/INSTALL b/src/udev/INSTALL
deleted file mode 100644
index 0a34e77df2..0000000000
--- a/src/udev/INSTALL
+++ /dev/null
@@ -1,44 +0,0 @@
-The options used usually look like:
- %configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --bindir=/usr/bin \
- --libdir=/usr/lib64 \
- --libexecdir=/usr/lib \
- --with-systemdsystemunitdir=/usr/lib/systemd/system \
- --with-selinux
-
-The options used in a RPM spec file look like:
- %configure \
- --prefix=%{_prefix} \
- --sysconfdir=%{_sysconfdir} \
- --bindir=%{_bindir} \
- --libdir=%{_libdir} \
- --libexecdir=%{_prefix}/lib \
- --with-systemdsystemunitdir=%{_prefix}/lib/systemd/system \
- --with-selinux
-
-The options to install udev in the rootfs instead of /usr,
-and udevadm in /sbin:
- --prefix=%{_prefix} \
- --with-rootprefix= \
- --sysconfdir=%{_sysconfdir} \
- --bindir=/sbin \
- --libdir=%{_libdir} \
- --with-rootlibdir=/lib64 \
- --libexecdir=/lib \
- --with-systemdsystemunitdir=/lib/systemd/system \
- --with-selinux
-
-Some tools expect udevadm in 'sbin'. A symlink to udevadm in 'bin'
-needs to be manually created if needed.
-
-The defined location for scripts and binaries which are called
-from rules is (/usr)/lib/udev/ on all systems and architectures. Any
-other location will break other packages, who rightfully expect
-the (/usr)/lib/udev/ directory, to install their rule helper and udev
-rule files.
-
-Default udev rules and persistent device naming rules may be required
-by other software that depends on the data udev collects from the
-devices.
diff --git a/src/udev/Makefile.am b/src/udev/Makefile.am
deleted file mode 100644
index 1c7f86b081..0000000000
--- a/src/udev/Makefile.am
+++ /dev/null
@@ -1,712 +0,0 @@
-# Copyright (C) 2008-2012 Kay Sievers <kay.sievers@vrfy.org>
-# Copyright (C) 2009 Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>
-
-SUBDIRS = .
-
-ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
-
-AM_MAKEFLAGS = --no-print-directory
-
-LIBUDEV_CURRENT=13
-LIBUDEV_REVISION=2
-LIBUDEV_AGE=13
-
-LIBGUDEV_CURRENT=1
-LIBGUDEV_REVISION=1
-LIBGUDEV_AGE=1
-
-AM_CPPFLAGS = \
- -include $(top_builddir)/config.h \
- -I$(top_srcdir)/src \
- -DSYSCONFDIR=\""$(sysconfdir)"\" \
- -DPKGLIBEXECDIR=\""$(libexecdir)/udev"\"
-
-AM_CFLAGS = \
- ${my_CFLAGS} \
- -fvisibility=hidden \
- -ffunction-sections \
- -fdata-sections
-
-AM_LDFLAGS = \
- -Wl,--gc-sections \
- -Wl,--as-needed
-
-DISTCHECK_CONFIGURE_FLAGS = \
- --enable-debug \
- --enable-rule_generator \
- --enable-floppy \
- --with-selinux \
- --enable-gtk-doc \
- --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
-
-BUILT_SOURCES =
-EXTRA_DIST =
-CLEANFILES =
-INSTALL_EXEC_HOOKS =
-INSTALL_DATA_HOOKS =
-UNINSTALL_EXEC_HOOKS =
-DISTCHECK_HOOKS =
-DISTCLEAN_LOCAL_HOOKS =
-
-udevhomedir = $(libexecdir)/udev
-udevhome_SCRIPTS =
-dist_udevhome_SCRIPTS =
-dist_udevhome_DATA =
-dist_man_MANS =
-
-SED_PROCESS = \
- $(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(SED) \
- -e 's,@VERSION\@,$(VERSION),g' \
- -e 's,@prefix\@,$(prefix),g' \
- -e 's,@rootprefix\@,$(rootprefix),g' \
- -e 's,@exec_prefix\@,$(exec_prefix),g' \
- -e 's,@libdir\@,$(libdir),g' \
- -e 's,@includedir\@,$(includedir),g' \
- -e 's,@bindir\@,$(bindir),g' \
- -e 's,@pkglibexecdir\@,$(libexecdir)/udev,g' \
- < $< > $@ || rm $@
-
-%.pc: %.pc.in Makefile
- $(SED_PROCESS)
-
-%.rules: %.rules.in Makefile
- $(SED_PROCESS)
-
-%.service: %.service.in Makefile
- $(SED_PROCESS)
-
-%.sh: %.sh.in Makefile
- $(SED_PROCESS)
- $(AM_V_GEN)chmod +x $@
-
-%.pl: %.pl.in Makefile
- $(SED_PROCESS)
- $(AM_V_GEN)chmod +x $@
-
-# ------------------------------------------------------------------------------
-SUBDIRS += src/docs
-
-include_HEADERS = src/libudev.h
-lib_LTLIBRARIES = libudev.la
-noinst_LTLIBRARIES = libudev-private.la
-
-libudev_la_SOURCES =\
- src/libudev-private.h \
- src/libudev.c \
- src/libudev-list.c \
- src/libudev-util.c \
- src/libudev-device.c \
- src/libudev-enumerate.c \
- src/libudev-monitor.c \
- src/libudev-queue.c
-
-libudev_la_LDFLAGS = \
- $(AM_LDFLAGS) \
- -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE)
-
-libudev_private_la_SOURCES =\
- $(libudev_la_SOURCES) \
- src/libudev-util-private.c \
- src/libudev-device-private.c \
- src/libudev-queue-private.c
-
-if WITH_SELINUX
-libudev_private_la_SOURCES += src/libudev-selinux-private.c
-libudev_private_la_LIBADD = $(SELINUX_LIBS)
-endif
-
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = src/libudev.pc
-EXTRA_DIST += src/libudev.pc.in
-CLEANFILES += src/libudev.pc
-
-EXTRA_DIST += src/COPYING
-# move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
-libudev-install-move-hook:
- if test "$(libdir)" != "$(rootlib_execdir)"; then \
- mkdir -p $(DESTDIR)$(rootlib_execdir) && \
- so_img_name=$$(readlink $(DESTDIR)$(libdir)/libudev.so) && \
- so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
- ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libudev.so && \
- mv $(DESTDIR)$(libdir)/libudev.so.* $(DESTDIR)$(rootlib_execdir); \
- fi
-
-libudev-uninstall-move-hook:
- rm -f $(DESTDIR)$(rootlib_execdir)/libudev.so*
-
-INSTALL_EXEC_HOOKS += libudev-install-move-hook
-UNINSTALL_EXEC_HOOKS += libudev-uninstall-move-hook
-
-# ------------------------------------------------------------------------------
-udev-confdirs:
- -mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
- -mkdir -p $(DESTDIR)$(libexecdir)/udev/devices
-
-INSTALL_DATA_HOOKS += udev-confdirs
-
-udevrulesdir = $(libexecdir)/udev/rules.d
-dist_udevrules_DATA = \
- rules/42-usb-hid-pm.rules \
- rules/50-udev-default.rules \
- rules/60-persistent-storage-tape.rules \
- rules/60-persistent-serial.rules \
- rules/60-persistent-input.rules \
- rules/60-persistent-alsa.rules \
- rules/60-persistent-storage.rules \
- rules/75-net-description.rules \
- rules/75-tty-description.rules \
- rules/78-sound-card.rules \
- rules/80-drivers.rules \
- rules/95-udev-late.rules
-
-udevconfdir = $(sysconfdir)/udev
-dist_udevconf_DATA = src/udev.conf
-
-sharepkgconfigdir = $(datadir)/pkgconfig
-sharepkgconfig_DATA = src/udev.pc
-EXTRA_DIST += src/udev.pc.in
-CLEANFILES += src/udev.pc
-
-if WITH_SYSTEMD
-dist_systemdsystemunit_DATA = \
- src/udev-control.socket \
- src/udev-kernel.socket
-
-systemdsystemunit_DATA = \
- src/udev.service \
- src/udev-trigger.service \
- src/udev-settle.service
-
-EXTRA_DIST += \
- src/udev.service.in \
- src/udev-trigger.service.in \
- src/udev-settle.service.in
-
-CLEANFILES += \
- src/udev.service \
- src/udev-trigger.service \
- src/udev-settle.service
-
-systemd-install-hook:
- mkdir -p $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants
- ln -sf ../udev-control.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/udev-control.socket
- ln -sf ../udev-kernel.socket $(DESTDIR)$(systemdsystemunitdir)/sockets.target.wants/udev-kernel.socket
- mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
- ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
- ln -sf ../udev-trigger.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-trigger.service
-
-INSTALL_DATA_HOOKS += systemd-install-hook
-endif
-
-bin_PROGRAMS = \
- udevadm
-
-pkglibexec_PROGRAMS = \
- udevd
-
-udev_common_sources = \
- src/udev.h \
- src/udev-event.c \
- src/udev-watch.c \
- src/udev-node.c \
- src/udev-rules.c \
- src/udev-ctrl.c \
- src/udev-builtin.c \
- src/udev-builtin-blkid.c \
- src/udev-builtin-firmware.c \
- src/udev-builtin-hwdb.c \
- src/udev-builtin-input_id.c \
- src/udev-builtin-kmod.c \
- src/udev-builtin-path_id.c \
- src/udev-builtin-usb_id.c
-
-udev_common_CFLAGS = \
- $(BLKID_CFLAGS) \
- $(KMOD_CFLAGS)
-
-udev_common_LDADD = \
- libudev-private.la \
- $(BLKID_LIBS) \
- $(KMOD_LIBS)
-
-udev_common_CPPFLAGS = \
- $(AM_CPPFLAGS) \
- -DFIRMWARE_PATH="$(FIRMWARE_PATH)" \
- -DUSB_DATABASE=\"$(USB_DATABASE)\" -DPCI_DATABASE=\"$(PCI_DATABASE)\"
-
-udevd_SOURCES = \
- $(udev_common_sources) \
- src/udevd.c \
- src/sd-daemon.h \
- src/sd-daemon.c
-udevd_CFLAGS = $(udev_common_CFLAGS)
-udevd_LDADD = $(udev_common_LDADD)
-udevd_CPPFLAGS = $(udev_common_CPPFLAGS)
-
-udevadm_SOURCES = \
- $(udev_common_sources) \
- src/udevadm.c \
- src/udevadm-info.c \
- src/udevadm-control.c \
- src/udevadm-monitor.c \
- src/udevadm-settle.c \
- src/udevadm-trigger.c \
- src/udevadm-test.c \
- src/udevadm-test-builtin.c
-udevadm_CFLAGS = $(udev_common_CFLAGS)
-udevadm_LDADD = $(udev_common_LDADD)
-udevadm_CPPFLAGS = $(udev_common_CPPFLAGS)
-
-# ------------------------------------------------------------------------------
-if ENABLE_MANPAGES
-dist_man_MANS += \
- src/udev.7 \
- src/udevadm.8 \
- src/udevd.8
-endif
-
-EXTRA_DIST += \
- src/udev.xml \
- src/udevadm.xml \
- src/udevd.xml
-
-if HAVE_XSLTPROC
-dist_noinst_DATA = \
- src/udev.html \
- src/udevadm.html \
- src/udevd.html
-
-src/%.7 src/%.8 : src/%.xml
- $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
-
-src/%.html : src/%.xml
- $(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
-endif
-
-# ------------------------------------------------------------------------------
-TESTS = \
- test/udev-test.pl \
- test/rules-test.sh
-
-check_PROGRAMS = \
- test-libudev \
- test-udev
-
-test_libudev_SOURCES = src/test-libudev.c
-test_libudev_LDADD = libudev.la
-
-test_udev_SOURCES = \
- $(udev_common_sources) \
- src/test-udev.c
-test_udev_CFLAGS = $(udev_common_CFLAGS)
-test_udev_LDADD = $(udev_common_LDADD)
-test_udev_CPPFLAGS = $(udev_common_CPPFLAGS)
-test_udev_DEPENDENCIES = test/sys
-
-# packed sysfs test tree
-test/sys:
- $(AM_V_GEN)mkdir -p test && tar -C test/ -xJf $(top_srcdir)/test/sys.tar.xz
-
-test-sys-distclean:
- -rm -rf test/sys
-DISTCLEAN_LOCAL_HOOKS += test-sys-distclean
-
-EXTRA_DIST += test/sys.tar.xz
-
-# ------------------------------------------------------------------------------
-ata_id_SOURCES = src/ata_id/ata_id.c
-ata_id_LDADD = libudev-private.la
-pkglibexec_PROGRAMS += ata_id
-
-# ------------------------------------------------------------------------------
-cdrom_id_SOURCES = src/cdrom_id/cdrom_id.c
-cdrom_id_LDADD = libudev-private.la
-pkglibexec_PROGRAMS += cdrom_id
-dist_udevrules_DATA += src/cdrom_id/60-cdrom_id.rules
-
-# ------------------------------------------------------------------------------
-collect_SOURCES = src/collect/collect.c
-collect_LDADD = libudev-private.la
-pkglibexec_PROGRAMS += collect
-
-# ------------------------------------------------------------------------------
-scsi_id_SOURCES =\
- src/scsi_id/scsi_id.c \
- src/scsi_id/scsi_serial.c \
- src/scsi_id/scsi.h \
- src/scsi_id/scsi_id.h
-scsi_id_LDADD = libudev-private.la
-pkglibexec_PROGRAMS += scsi_id
-dist_man_MANS += src/scsi_id/scsi_id.8
-EXTRA_DIST += src/scsi_id/README
-
-# ------------------------------------------------------------------------------
-v4l_id_SOURCES = src/v4l_id/v4l_id.c
-v4l_id_LDADD = libudev-private.la
-pkglibexec_PROGRAMS += v4l_id
-dist_udevrules_DATA += src/v4l_id/60-persistent-v4l.rules
-
-# ------------------------------------------------------------------------------
-accelerometer_SOURCES = src/accelerometer/accelerometer.c
-accelerometer_LDADD = libudev-private.la -lm
-pkglibexec_PROGRAMS += accelerometer
-dist_udevrules_DATA += src/accelerometer/61-accelerometer.rules
-
-# ------------------------------------------------------------------------------
-if ENABLE_GUDEV
-SUBDIRS += src/gudev/docs
-
-libgudev_includedir=$(includedir)/gudev-1.0/gudev
-libgudev_include_HEADERS = \
- src/gudev/gudev.h \
- src/gudev/gudevenums.h \
- src/gudev/gudevenumtypes.h \
- src/gudev/gudevtypes.h \
- src/gudev/gudevclient.h \
- src/gudev/gudevdevice.h \
- src/gudev/gudevenumerator.h
-
-lib_LTLIBRARIES += libgudev-1.0.la
-
-pkgconfig_DATA += src/gudev/gudev-1.0.pc
-EXTRA_DIST += src/gudev/gudev-1.0.pc.in
-CLEANFILES += src/gudev/gudev-1.0.pc
-
-libgudev_1_0_la_SOURCES = \
- src/gudev/gudevenums.h \
- src/gudev/gudevenumtypes.h \
- src/gudev/gudevenumtypes.h\
- src/gudev/gudevtypes.h \
- src/gudev/gudevclient.h \
- src/gudev/gudevclient.c \
- src/gudev/gudevdevice.h \
- src/gudev/gudevdevice.c \
- src/gudev/gudevenumerator.h \
- src/gudev/gudevenumerator.c \
- src/gudev/gudevprivate.h
-
-nodist_libgudev_1_0_la_SOURCES = \
- src/gudev/gudevmarshal.h \
- src/gudev/gudevmarshal.c \
- src/gudev/gudevenumtypes.h \
- src/gudev/gudevenumtypes.c
-BUILT_SOURCES += $(nodist_libgudev_1_0_la_SOURCES)
-
-libgudev_1_0_la_CPPFLAGS = \
- $(AM_CPPFLAGS) \
- -I$(top_builddir)/src\
- -I$(top_srcdir)/src\
- -I$(top_builddir)/src/gudev \
- -I$(top_srcdir)/src/gudev \
- -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
- -D_GUDEV_COMPILATION \
- -DG_LOG_DOMAIN=\"GUdev\"
-
-libgudev_1_0_la_CFLAGS = \
- -fvisibility=default \
- $(GLIB_CFLAGS)
-
-libgudev_1_0_la_LIBADD = libudev.la $(GLIB_LIBS)
-
-libgudev_1_0_la_LDFLAGS = \
- -version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
- -export-dynamic -no-undefined \
- -export-symbols-regex '^g_udev_.*'
-
-EXTRA_DIST += \
- src/gudev/COPYING \
- src/gudev/gudevmarshal.list \
- src/gudev/gudevenumtypes.h.template \
- src/gudev/gudevenumtypes.c.template \
- src/gudev/gjs-example.js \
- src/gudev/seed-example-enum.js \
- src/gudev/seed-example.js
-
-src/gudev/gudevmarshal.h: src/gudev/gudevmarshal.list
- $(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
-
-src/gudev/gudevmarshal.c: src/gudev/gudevmarshal.list
- $(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \
- glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
-
-src/gudev/gudevenumtypes.h: src/gudev/gudevenumtypes.h.template src/gudev/gudevenums.h
- $(AM_V_GEN)glib-mkenums --template $^ > \
- $@.tmp && mv $@.tmp $@
-
-src/gudev/gudevenumtypes.c: src/gudev/gudevenumtypes.c.template src/gudev/gudevenums.h
- $(AM_V_GEN)glib-mkenums --template $^ > \
- $@.tmp && mv $@.tmp $@
-
-if ENABLE_INTROSPECTION
-src/gudev/GUdev-1.0.gir: libgudev-1.0.la $(G_IR_SCANNER)
- $(AM_V_GEN)$(G_IR_SCANNER) -v \
- --warn-all \
- --namespace GUdev \
- --nsversion=1.0 \
- --include=GObject-2.0 \
- --library=gudev-1.0 \
- --library-path=$(top_builddir)/src \
- --library-path=$(top_builddir)/src/gudev \
- --output $@ \
- --pkg=glib-2.0 \
- --pkg=gobject-2.0 \
- --pkg-export=gudev-1.0 \
- --c-include=gudev/gudev.h \
- -I$(top_srcdir)/src/\
- -I$(top_builddir)/src/\
- -D_GUDEV_COMPILATION \
- -D_GUDEV_WORK_AROUND_DEV_T_BUG \
- $(top_srcdir)/src/gudev/gudev.h \
- $(top_srcdir)/src/gudev/gudevtypes.h \
- $(top_srcdir)/src/gudev/gudevenums.h \
- $(or $(wildcard $(top_builddir)/src/gudev/gudevenumtypes.h),$(top_srcdir)/src/gudev/gudevenumtypes.h) \
- $(top_srcdir)/src/gudev/gudevclient.h \
- $(top_srcdir)/src/gudev/gudevdevice.h \
- $(top_srcdir)/src/gudev/gudevenumerator.h \
- $(top_srcdir)/src/gudev/gudevclient.c \
- $(top_srcdir)/src/gudev/gudevdevice.c \
- $(top_srcdir)/src/gudev/gudevenumerator.c
-
-src/gudev/GUdev-1.0.typelib: src/gudev/GUdev-1.0.gir $(G_IR_COMPILER)
- $(AM_V_GEN)g-ir-compiler $< -o $@
-
-girdir = $(GIRDIR)
-gir_DATA = src/gudev/GUdev-1.0.gir
-
-typelibsdir = $(GIRTYPELIBDIR)
-typelibs_DATA = src/gudev/GUdev-1.0.typelib
-
-CLEANFILES += $(gir_DATA) $(typelibs_DATA)
-endif # ENABLE_INTROSPECTION
-
-# move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
-libgudev-install-move-hook:
- if test "$(libdir)" != "$(rootlib_execdir)"; then \
- mkdir -p $(DESTDIR)$(rootlib_execdir) && \
- so_img_name=$$(readlink $(DESTDIR)$(libdir)/libgudev-1.0.so) && \
- so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
- ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \
- mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlib_execdir); \
- fi
-
-libgudev-uninstall-move-hook:
- rm -f $(DESTDIR)$(rootlib_execdir)/libgudev-1.0.so*
-
-INSTALL_EXEC_HOOKS += libgudev-install-move-hook
-UNINSTALL_EXEC_HOOKS += libgudev-uninstall-move-hook
-endif
-
-# ------------------------------------------------------------------------------
-if ENABLE_KEYMAP
-keymap_SOURCES = src/keymap/keymap.c
-keymap_CPPFLAGS = $(AM_CPPFLAGS) -I src/keymap
-nodist_keymap_SOURCES = \
- src/keymap/keys-from-name.h \
- src/keymap/keys-to-name.h
-BUILT_SOURCES += $(nodist_keymap_SOURCES)
-
-pkglibexec_PROGRAMS += keymap
-dist_doc_DATA = src/keymap/README.keymap.txt
-
-dist_udevrules_DATA += \
- src/keymap/95-keymap.rules \
- src/keymap/95-keyboard-force-release.rules
-
-dist_udevhome_SCRIPTS += src/keymap/findkeyboards
-udevhome_SCRIPTS += src/keymap/keyboard-force-release.sh
-
-EXTRA_DIST += \
- src/keymap/check-keymaps.sh \
- src/keymap/keyboard-force-release.sh.in
-
-CLEANFILES += \
- src/keymap/keys.txt \
- src/keymap/keys-from-name.gperf \
- src/keymap/keyboard-force-release.sh
-
-udevkeymapdir = $(libexecdir)/udev/keymaps
-dist_udevkeymap_DATA = \
- src/keymap/keymaps/acer \
- src/keymap/keymaps/acer-aspire_5720 \
- src/keymap/keymaps/acer-aspire_8930 \
- src/keymap/keymaps/acer-aspire_5920g \
- src/keymap/keymaps/acer-aspire_6920 \
- src/keymap/keymaps/acer-travelmate_c300 \
- src/keymap/keymaps/asus \
- src/keymap/keymaps/compaq-e_evo \
- src/keymap/keymaps/dell \
- src/keymap/keymaps/dell-latitude-xt2 \
- src/keymap/keymaps/everex-xt5000 \
- src/keymap/keymaps/fujitsu-amilo_li_2732 \
- src/keymap/keymaps/fujitsu-amilo_pa_2548 \
- src/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
- src/keymap/keymaps/fujitsu-amilo_pro_v3205 \
- src/keymap/keymaps/fujitsu-amilo_si_1520 \
- src/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
- src/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
- src/keymap/keymaps/genius-slimstar-320 \
- src/keymap/keymaps/hewlett-packard \
- src/keymap/keymaps/hewlett-packard-2510p_2530p \
- src/keymap/keymaps/hewlett-packard-compaq_elitebook \
- src/keymap/keymaps/hewlett-packard-pavilion \
- src/keymap/keymaps/hewlett-packard-presario-2100 \
- src/keymap/keymaps/hewlett-packard-tablet \
- src/keymap/keymaps/hewlett-packard-tx2 \
- src/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
- src/keymap/keymaps/inventec-symphony_6.0_7.0 \
- src/keymap/keymaps/lenovo-3000 \
- src/keymap/keymaps/lenovo-ideapad \
- src/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
- src/keymap/keymaps/lenovo-thinkpad_x6_tablet \
- src/keymap/keymaps/lenovo-thinkpad_x200_tablet \
- src/keymap/keymaps/lg-x110 \
- src/keymap/keymaps/logitech-wave \
- src/keymap/keymaps/logitech-wave-cordless \
- src/keymap/keymaps/logitech-wave-pro-cordless \
- src/keymap/keymaps/maxdata-pro_7000 \
- src/keymap/keymaps/medion-fid2060 \
- src/keymap/keymaps/medionnb-a555 \
- src/keymap/keymaps/micro-star \
- src/keymap/keymaps/module-asus-w3j \
- src/keymap/keymaps/module-ibm \
- src/keymap/keymaps/module-lenovo \
- src/keymap/keymaps/module-sony \
- src/keymap/keymaps/module-sony-old \
- src/keymap/keymaps/module-sony-vgn \
- src/keymap/keymaps/olpc-xo \
- src/keymap/keymaps/onkyo \
- src/keymap/keymaps/oqo-model2 \
- src/keymap/keymaps/samsung-other \
- src/keymap/keymaps/samsung-90x3a \
- src/keymap/keymaps/samsung-sq1us \
- src/keymap/keymaps/samsung-sx20s \
- src/keymap/keymaps/toshiba-satellite_a100 \
- src/keymap/keymaps/toshiba-satellite_a110 \
- src/keymap/keymaps/toshiba-satellite_m30x \
- src/keymap/keymaps/zepto-znote
-
-udevkeymapforcereldir = $(libexecdir)/udev/keymaps/force-release
-dist_udevkeymapforcerel_DATA = \
- src/keymap/force-release-maps/dell-touchpad \
- src/keymap/force-release-maps/hp-other \
- src/keymap/force-release-maps/samsung-other \
- src/keymap/force-release-maps/samsung-90x3a \
- src/keymap/force-release-maps/common-volume-keys
-
-src/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
- $(AM_V_at)mkdir -p src/keymap
- $(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
-
-src/keymap/keys-from-name.gperf: src/keymap/keys.txt
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
-
-src/keymap/keys-from-name.h: src/keymap/keys-from-name.gperf Makefile
- $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
-
-src/keymap/keys-to-name.h: src/keymap/keys.txt Makefile
- $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
-
-keymaps-distcheck-hook: src/keymap/keys.txt
- $(top_srcdir)/src/keymap/check-keymaps.sh $(top_srcdir) $^
-DISTCHECK_HOOKS += keymaps-distcheck-hook
-endif
-
-if ENABLE_MTD_PROBE
-# ------------------------------------------------------------------------------
-mtd_probe_SOURCES = \
- src/mtd_probe/mtd_probe.c \
- src/mtd_probe/mtd_probe.h \
- src/mtd_probe/probe_smartmedia.c
-mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
-dist_udevrules_DATA += src/mtd_probe/75-probe_mtd.rules
-pkglibexec_PROGRAMS += mtd_probe
-endif
-
-# ------------------------------------------------------------------------------
-if ENABLE_RULE_GENERATOR
-dist_udevhome_SCRIPTS += \
- src/rule_generator/write_cd_rules \
- src/rule_generator/write_net_rules
-
-dist_udevhome_DATA += \
- src/rule_generator/rule_generator.functions
-
-dist_udevrules_DATA += \
- src/rule_generator/75-cd-aliases-generator.rules \
- src/rule_generator/75-persistent-net-generator.rules
-endif
-
-# ------------------------------------------------------------------------------
-if ENABLE_FLOPPY
-create_floppy_devices_SOURCES = src/floppy/create_floppy_devices.c
-create_floppy_devices_LDADD = libudev-private.la
-pkglibexec_PROGRAMS += create_floppy_devices
-dist_udevrules_DATA += src/floppy/60-floppy.rules
-endif
-
-# ------------------------------------------------------------------------------
-clean-local:
- rm -rf udev-test-install
-
-distclean-local:
- rm -rf autom4te.cache
-
-EXTRA_DIST += \
- $(TESTS) \
- test/rule-syntax-check.py
-
-CLEANFILES += \
- $(BUILT_SOURCES)
-
-install-exec-hook: $(INSTALL_EXEC_HOOKS)
-
-install-data-hook: $(INSTALL_DATA_HOOKS)
-
-uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
-
-distcheck-hook: $(DISTCHECK_HOOKS)
-
-distclean-local: $(DISTCLEAN_LOCAL_HOOKS)
-
-# ------------------------------------------------------------------------------
-PREVIOUS_VERSION = `expr $(VERSION) - 1`
-changelog:
- @ head -1 ChangeLog | grep -q "to v$(PREVIOUS_VERSION)"
- @ mv ChangeLog ChangeLog.tmp
- @ echo "Summary of changes from v$(PREVIOUS_VERSION) to v$(VERSION)" >> ChangeLog
- @ echo "============================================" >> ChangeLog
- @ echo >> ChangeLog
- @ git log --pretty=short $(PREVIOUS_VERSION)..HEAD | git shortlog >> ChangeLog
- @ echo >> ChangeLog
- @ cat ChangeLog
- @ cat ChangeLog.tmp >> ChangeLog
- @ rm ChangeLog.tmp
-
-test-install:
- rm -rf $(PWD)/udev-test-install/
- make DESTDIR=$(PWD)/udev-test-install install
- tree $(PWD)/udev-test-install/
-
-git-release:
- head -1 ChangeLog | grep -q "to v$(VERSION)"
- head -1 NEWS | grep -q "udev $(VERSION)"
- git commit -a -m "release $(VERSION)"
- git tag -m "udev $(VERSION)" -s $(VERSION)
- git gc --prune=0
-
-git-sync:
- git push
- git push --tags
-
-tar-sync:
- rm -f udev-$(VERSION).tar.sign
- xz -d -c udev-$(VERSION).tar.xz | gpg --armor --detach-sign --output udev-$(VERSION).tar.sign
- kup put udev-$(VERSION).tar.xz udev-$(VERSION).tar.sign /pub/linux/utils/kernel/hotplug/
-
-doc-sync:
- for i in src/*.html; do rm -f $$i.sign; gpg --armor --detach-sign --output=$$i.sign $$i; done
- for i in src/*.html; do echo $$i; kup put $$i $$i.sign /pub/linux/utils/kernel/hotplug/udev/; done
- for i in src/docs/html/*.{html,css,png}; do rm -f $$i.sign; gpg --armor --detach-sign --output=$$i.sign $$i; done
- for i in src/docs/html/*.{html,css,png}; do echo $$i; kup put $$i $$i.sign /pub/linux/utils/kernel/hotplug/libudev/; done
- for i in src/gudev/docs/html/*.{html,css,png}; do rm -f $$i.sign; gpg --armor --detach-sign --output=$$i.sign $$i; done
- for i in src/gudev/docs/html/*.{html,css,png}; do echo $$i; kup put $$i $$i.sign /pub/linux/utils/kernel/hotplug/gudev/; done
diff --git a/src/udev/NEWS b/src/udev/NEWS
deleted file mode 100644
index f4f6f4e327..0000000000
--- a/src/udev/NEWS
+++ /dev/null
@@ -1,1735 +0,0 @@
-udev 182
-========
-Rules files in /etc/udev/rules.s/ with the same name as rules files in
-/run/udev/rules.d/ now always have precedence. The stack of files is now:
-/usr/lib (package), /run (runtime, auto-generated), /etc (admin), while
-the later ones override the earlier ones. In other words: the admin has
-always the last say.
-
-USB auto-suspend is now enabled by default for some built-in USB HID
-devices.
-
-/dev/disk/by-path/ links are no longer created for ATA devices behind
-an 'ATA transport class', the logic to extract predictable numbers does
-not exist in the kernel at this moment.
-
-/dev/disk/by-id/scsi-* compatibility links are no longer created for
-ATA devices, they have their own ata-* prefix.
-
-The s390 rule to set mode == 0666 for /dev/z90crypt is is removed from
-the udev tree and will be part of s390utils (or alternatively could be
-done by the kernel driver itself).
-
-The udev-acl tool is no longer provided, it will be part of a future
-ConsoleKit release. On systemd systems, advanced ConsoleKit and udev-acl
-functionality are provided by systemd.
-
-udev 181
-========
-Require kmod version 5.
-
-Provide /dev/cdrom symlink for /dev/sr0.
-
-udev 180
-========
-Fix for ID_PART_ENTRY_* property names, added by the blkid built-in. The
-fix is needed for udisk2 to operate properly.
-
-Fix for skipped rule execution when the kernel has removed the device
-node in /dev again, before the event was even started. The fix is needed
-to run device-mapper/LVM events properly.
-
-Fix for the man page installation, which was skipped when xsltproc was not
-installed.
-
-udev 179
-========
-Bugfix for $name resolution, which broke at least some keymap handling.
-
-udev 178
-========
-Bugfix for the firmware loading behavior with kernel modules which
-try to load firmware in the module_init() path. The blocked event
-runs into a timout now, which should allow the firmware to be loaded.
-
-Bugfix for a wrong DEVNAME= export, which breaks at least the udev-acl
-tool.
-
-Bugfix for missing ID_ properties for GPT partitions.
-
-The RUN+="socket:.." option is deprecated and should not be used. A warning
-during rules parsing is printed now. Services which listen to udev events,
-need to subscribe to the netlink messages with libudev and not let udev block
-in the rules execution until the message is delivered.
-
-udev 177
-========
-Bugfix for rule_generator instalation.
-
-udev 176
-========
-The 'devtmpfs' filesystem is required now, udev will not create or delete
-device nodes anymore, it only adjusts permissions and ownership of device
-nodes and maintains additional symlinks.
-
-A writable /run directory (ususally tmpfs) is required now for a fully
-functional udev, there is no longer a fallback to /dev/.udev.
-
-The default 'configure' install locations have changed. Packages for systems
-with the historic / vs. /usr split need to be adapted, otherwise udev will
-be installed in /usr and not work properly. Example configuration options
-to install things the traditional way are in INSTALL.
-
-The default install location of the 'udevadm' tool moved from 'sbin'
-to /usr/bin. Some tools expect udevadm in 'sbin', a symlink to udevadm
-needs to be manually created if needed, or --bindir=/sbin be specified.
-
-The expected value of '--libexecdir=' has changed and must no longer contain
-the 'udev' directory.
-
-Kernel modules are now loaded directly by linking udev to 'libkmod'. The
-'modprobe' tool is no longer executed by udev.
-
-The 'blkid' tool is no longer executed from udev rules. Udev links
-directly to libblkid now.
-
-Firmware is loaded natively by udev now, the external 'firmware' binary
-is no longer used.
-
-All built-in tools can be listed and tested with 'udevadm test-builtin'.
-
-The 'udevadm control --reload-rules' option has been renamed to '--reload'.
-It now also reloads the kernel module configuration.
-
-The systemd socket files use PassCredentials=yes, which is available in
-systemd version 38.
-
-The udev build system only creates a .xz tarball now.
-
-All tabs in the source code used for indentation are replaced by spaces now. :)
-
-udev 175
-========
-Bugfixes.
-
-udev 174
-========
-Bugfixes.
-
-The udev daemon moved to /lib/udev/udevd. Non-systemd init systems
-and non-dracut initramfs image generators need to change the init
-scripts. Alternatively the udev build needs to move udevd back to
-/sbin or create a symlink in /sbin, which is not done by default.
-
-The path_id, usb_id, input_id tools are built-in commands now and
-the stand-alone tools do not exist anymore. Static lists of file in
-initramfs generators need to be updated. For testing, the commands
-can still be executed standalone with 'udevadm test-builtin <cmd>'.
-
-The fusectl filesystem is no longer mounted directly from udev.
-Systemd systems will take care of mounting fusectl and configfs
-now. Non-systemd systems need to ship their own rule if they
-need these filesystems auto-mounted.
-
-The long deprecated keys: SYSFS=, ID=, BUS= have been removed.
-
-The support for 'udevadm trigger --type=failed, and the
-RUN{fail_event_on_error} attribute was removed.
-
-The udev control socket is now created in /run/udev/control
-and no longer as an abstract namespace one.
-
-The rules to create persistent network interface and cdrom link
-rules automatically in /etc/udev/rules.d/ have been disabled by
-default. Explicit configuration will be required for these use
-cases, udev will no longer try to write any persistent system
-configuration from a device hotplug path.
-
-udev 173
-========
-Bugfixes.
-
-The udev-acl extra is no longer enabled by default now. To enable it,
---enable-udev_acl needs to be given at ./configure time. On systemd
-systems, the udev-acl rules prevent it from running as the functionality
-has moved to systemd.
-
-udev 172
-========
-Bugfixes.
-
-Udev now enables kernel media-presence polling if available. Part
-of udisks optical drive tray-handling moved to cdrom_id: The tray
-is locked as soon as a media is detected to enable the receiving
-of media-eject-request events. Media-eject-request events will
-eject the media.
-
-Libudev enumerate is now able to enumerate a subtree of a given
-device.
-
-The mobile-action-modeswitch modeswitch tool was deleted. The
-functionality is provided by usb_modeswitch now.
-
-udev 171
-========
-Bugfixes.
-
-The systemd service files require systemd version 28. The systemd
-socket activation make it possible now to start 'udevd' and 'udevadm
-trigger' in parallel.
-
-udev 170
-========
-Fix bug in control message handling, which can lead to a failing
-udevadm control --exit. Thanks to Jürg Billeter for help tracking
-it down.
-
-udev 169
-========
-Bugfixes.
-
-We require at least Linux kernel 2.6.32 now. Some platforms might
-require a later kernel that supports accept4() and similar, or
-need to backport the trivial syscall wiring to the older kernels.
-
-The hid2hci tool moved to the bluez package and was removed.
-
-Many of the extras can be --enable/--disabled at ./configure
-time. The --disable-extras option was removed. Some extras have
-been disabled by default. The current options and their defaults
-can be checked with './configure --help'.
-
-udev 168
-========
-Bugfixes.
-
-Udev logs a warning now if /run is not writable at udevd
-startup. It will still fall back to /dev/.udev, but this is
-now considered a bug.
-
-The running udev daemon can now cleanly shut down with:
- udevadm control --exit
-
-Udev in initramfs should clean the state of the udev database
-with: udevadm info --cleanup-db which will remove all state left
-behind from events/rules in initramfs. If initramfs uses
---cleanup-db and device-mapper/LVM, the rules in initramfs need
-to add OPTIONS+="db_persist" for all dm devices. This will
-prevent removal of the udev database for these devices.
-
-Spawned programs by PROGRAM/IMPORT/RUN now have a hard timeout of
-120 seconds per process. If that timeout is reached the spawned
-process will be killed. The event timeout can be overwritten with
-udev rules.
-
-If systemd is used, udev gets now activated by netlink data.
-Systemd will bind the netlink socket which will buffer all data.
-If needed, such setup allows a seemless update of the udev daemon,
-where no event can be lost during a udevd update/restart.
-Packages need to make sure to: systemctl stop udev.socket udev.service
-or 'mask' udev.service during the upgrade to prevent any unwanted
-auto-spawning of udevd.
-This version of udev conflicts with systemd version below 25. The
-unchanged service files will not wirk correctly.
-
-udev 167
-========
-Bugfixes.
-
-The udev runtime data moved from /dev/.udev/ to /run/udev/. The
-/run mountpoint is supposed to be a tmpfs mounted during early boot,
-available and writable to for all tools at any time during bootup,
-it replaces /var/run/, which should become a symlink some day.
-
-If /run does not exist, or is not writable, udev will fall back using
-/dev/.udev/.
-
-On systemd systems with initramfs and LVM used, packagers must
-make sure, that the systemd and initramfs versions match. The initramfs
-needs to create the /run mountpoint for udev to store the data, and
-mount this tmpfs to /run in the rootfs, so the that the udev database
-is preserved for the udev version started in the rootfs.
-
-The command 'udevadm info --convert-db' is gone. The udev daemon
-itself, at startup, converts any old database version if necessary.
-
-The systemd services files have been reorganized. The udev control
-socket is bound by systemd and passed to the started udev daemon.
-The udev-settle.service is no longer active by default. Services which
-can not handle hotplug setups properly need to actively pull it in, to
-act like a barrier. Alternatively the settle service can be unconditionally
-'systemctl'enabled, and act like a barrier for basic.target.
-
-The fstab_import callout is no longer built or installed. Udev
-should not be used to mount, does not watch changes to fstab, and
-should not mirror fstab values in the udev database.
-
-udev 166
-========
-Bugfixes.
-
-New and updated keymaps.
-
-udev 165
-========
-Bugfixes.
-
-The udev database has changed, After installation of a new udev
-version, 'udevadm info --convert-db' should be called, to let the new
-udev/libudev version read the already stored data.
-
-udevadm now supports quoting of property values, and prefixing of
-key names:
- $ udevadm info --export --export-prefix=MY_ --query=property -n sda
- MY_MAJOR='259'
- MY_MINOR='0'
- MY_DEVNAME='/dev/sda'
- MY_DEVTYPE='disk'
- ...
-
-libudev now supports:
- udev_device_get_is_initialized()
- udev_enumerate_add_match_is_initialized()
-to be able to skip devices the kernel has created , but udev has
-not already handled.
-
-libudev now supports:
- udev_device_get_usec_since_initialized()
-to retrieve the "age" of a udev device record.
-
-GUdev supports a more generic GUdevEnumerator class, udev TAG
-handling, device initialization and timestamp now.
-
-The counterpart of /sys/dev/{char,block}/$major:$minor,
-/dev/{char,block}/$major:$minor symlinks are now unconditionally
-created, even when no rule files exist.
-
-New and updated keymaps.
-
-udev 164
-========
-Bugfixes.
-
-GUdev moved from /usr to /.
-
-udev 163
-========
-Bugfixes.
-
-udev 162
-========
-Bugfixes.
-
-Persistent network naming rules are disabled inside of Qemu/KVM now.
-
-New and updated keymaps.
-
-Udev gets unconditionally enabled on systemd installations now. There
-is no longer the need to to run 'systemctl enable udev.service'.
-
-udev 161
-========
-Bugfixes.
-
-udev 160
-========
-Bugfixes.
-
-udev 159
-========
-Bugfixes.
-
-New and fixed keymaps.
-
-Install systemd service files if applicable.
-
-udev 158
-========
-Bugfixes.
-
-All distribution specific rules are removed from the udev source tree,
-most of them are no longer needed. The Gentoo rules which allow to support
-older kernel versions, which are not covered by the default rules anymore
-has moved to rules/misc/30-kernel-compat.rules.
-
-udev 157
-========
-Bugfixes.
-
-The option --debug-trace and the environemnt variable UDEVD_MAX_CHILDS=
-was removed from udevd.
-
-Udevd now checks the kernel commandline for the following variables:
- udev.log-priority=<syslog priority>
- udev.children-max=<maximum number of workers>
- udev.exec-delay=<seconds to delay the execution of RUN=>
-to help debuging coldplug setups where the loading of a kernel
-module crashes the system.
-
-The subdirectory in the source tree rules/packages has been renamed to
-rules/arch, anc contains only architecture specific rules now.
-
-udev 156
-========
-Bugfixes.
-
-udev 155
-========
-Bugfixes.
-
-Now the udev daemon itself, does on startup:
- - copy the content of /lib/udev/devices to /dev
- - create the standard symlinks like /dev/std{in,out,err},
- /dev/core, /dev/fd, ...
- - use static node information provided by kernel modules
- and creates these nodes to allow module on-demand loading
- - possibly apply permissions to all ststic nodes from udev
- rules which are annotated to match a static node
-
-The default mode for a device node is 0600 now to match the kernel
-created devtmpfs defaults. If GROUP= is specified and no MODE= is
-given the default will be 0660.
-
-udev 154
-========
-Bugfixes.
-
-Udev now gradually starts to pass control over the primary device nodes
-and their names to the kernel, and will in the end only manage the
-permissions of the node, and possibly create additional symlinks.
-As a first step NAME="" will be ignored, and NAME= setings with names
-other than the kernel provided name will result in a logged warning.
-Kernels that don't provide device names, or devtmpfs is not used, will
-still work as they did before, but it is strongly recommended to use
-only the same names for the primary device node as the recent kernel
-provides for all devices.
-
-udev 153
-========
-Fix broken firmware loader search path.
-
-udev 152
-========
-Bugfixes.
-
-"udevadm trigger" defaults to "change" events now instead of "add"
-events. The "udev boot script" might need to add "--action=add" to
-the trigger command if not already there, in case the initial coldplug
-events are expected as "add" events.
-
-The option "all_partitons" was removed from udev. This should not be
-needed for usual hardware. Udev can not safely make assumptions
-about non-existing partition major/minor numbers, and therefore no
-longer provide this unreliable and unsafe option.
-
-The option "ignore_remove" was removed from udev. With devtmpfs
-udev passed control over device nodes to the kernel. This option
-should not be needed, or can not work as advertised. Neither
-udev nor the kernel will remove device nodes which are copied from
-the /lib/udev/devices/ directory.
-
-All "add|change" matches are replaced by "!remove" in the rules and
-in the udev logic. All types of events will update possible symlinks
-and permissions, only "remove" is handled special now.
-
-The modem modeswitch extra was removed and the external usb_modeswitch
-program should be used instead.
-
-New and fixed keymaps.
-
-udev 151
-========
-Bugfixes.
-
-udev 150
-========
-Bugfixes.
-
-Kernels with SYSFS_DEPRECATED=y are not supported since a while. Many users
-depend on the current sysfs layout and the information not available in the
-deprecated layout. All remaining support for the deprecated sysfs layout is
-removed now.
-
-udev 149
-========
-Fix for a possible endless loop in the new input_id program.
-
-udev 148
-========
-Bugfixes.
-
-The option "ignore_device" does no longer exist. There is no way to
-ignore an event, as libudev events can not be suppressed by rules.
-It only prevented RUN keys from being executed, which results in an
-inconsistent behavior in current setups.
-
-BUS=, SYSFS{}=, ID= are long deprecated and should be SUBSYSTEM(S)=,
-ATTR(S){}=, KERNEL(S)=. It will cause a warning once for every rule
-file from now on.
-
-The support for the deprecated IDE devices has been removed from the
-default set of rules. Distros who still care about non-libata drivers
-need to add the rules to the compat rules file.
-
-The ID_CLASS property on input devices has been replaced by the more accurate
-set of flags ID_INPUT_{KEYBOARD,KEY,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. These are
-determined by the new "input_id" prober now. Some devices, such as touchpads,
-can have several classes. So if you previously had custom udev rules which e. g.
-checked for ENV{ID_CLASS}=="kbd", you need to replace this with
-ENV{ID_INPUT_KEYBOARD}=="?*".
-
-udev 147
-========
-Bugfixes.
-
-To support DEVPATH strings larger than the maximum file name length, the
-private udev database format has changed. If some software still reads the
-private files in /dev/.udev/, which it shouldn't, now it's time to fix it.
-Please do not port anything to the new format again, everything in /dev/.udev
-is and always was private to udev, and may and will change any time without
-prior notice.
-
-Multiple devices claiming the same names in /dev are limited to symlinks
-only now. Mixing identical symlink names and node names is not supported.
-This reduces the amount of data in the database significantly.
-
-NAME="%k" causes a warning now. It's is and always was completely superfluous.
-It will break kernel supplied DEVNAMEs and therefore it needs to be removed
-from all rules.
-
-Most NAME= instructions got removed. Kernel 2.6.31 supplies the needed names
-if they are not the default. To support older kernels, the NAME= rules need to
-be added to the compat rules file.
-
-Symlinks to udevadm with the old command names are no longer resolved to
-the udevadm commands.
-
-The udev-acl tool got adopted to changes in ConsoleKit. Version 0.4.1 is
-required now.
-
-The option "last_rule" does no longer exist. Its use breaks too many
-things which expect to be run from independent later rules, and is an idication
-that something needs to be fixed properly instead.
-
-The gudev API is no longer marked as experimental,
-G_UDEV_API_IS_SUBJECT_TO_CHANGE is no longer needed. The gudev introspection
-is enabled by default now. Various projects already depend on introspection
-information to bind dynamic languages to the gudev interfaces.
-
-udev 146
-========
-Bugfixes.
-
-The udevadm trigger "--retry-failed" option, which is replaced since quite
-a while by "--type=failed" is removed.
-
-The failed tracking was not working at all for a few releases. The RUN
-option "ignore_error" is replaced by a "fail_event_on_error" option, and the
-default is not to track any failing RUN executions.
-
-New keymaps, new modem, hid2hci updated.
-
-udev 145
-========
-Fix possible crash in udevd when worker processes are busy, rules are
-changed at the same time, and workers get killed to reload the rules.
-
-udev 144
-========
-Bugfixes.
-
-Properties set with ENV{.FOO}="bar" are marked private by starting the
-name with a '.'. They will not be stored in the database, and not be
-exported with the event.
-
-Firmware files are looked up in:
- /lib/firmware/updates/$(uname -r)
- /lib/firmware/updates
- /lib/firmware/$(uname -r)
- /lib/firmware"
-now.
-
-ATA devices switched the property from ID_BUS=scsi to ID_BUS=ata.
-ata_id, instead of scsi_id, is the default tool now for ATA devices.
-
-udev 143
-========
-Bugfixes.
-
-The configure options have changed because another library needs to be
-installed in a different location. Instead of exec_prefix and udev_prefix,
-libdir, rootlibdir and libexecdir are used. The Details are explained in
-the README file.
-
-Event processes now get re-used after they handled an event. This reduces
-the number of forks and the pressure on the CPU significantly, because
-cloned event processes no longer cause page faults in the main daemon.
-After the events have settled, a few worker processes stay around for
-future events, all others get cleaned up.
-
-To be able to use signalfd(), udev depends on kernel version 2.6.25 now.
-Also inotify support is mandatory now to run udev.
-
-The format of the queue exported by the udev damon has changed. There is
-no longer a /dev/.udev/queue/ directory. The current event queue can be
-accessed with udevadm settle and libudedv.
-
-Libudev does not have the unstable API header anymore. From now on,
-incompatible changes will be handled by bumping the library major version.
-
-To build udev from the git tree gtk-doc is needed now. The tarballs will
-build without it and contain the pre-built documentation. An online copy
-is available here:
- http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
-
-The tools from the udev-extras repository have been merged into the main
-udev repository. Some of the extras have larger external dependencies, and
-they can be disabled with the configure switch --disable-extras.
-
-udev 142
-========
-Bugfixes.
-
-The program vol_id and the library libvolume_id are removed from the
-repository. Libvolume_id is merged with libblkid from the util-linux-ng
-package. Persistent disk links for label and uuid depend on the
-util-linux-ng version (2.15) of blkid now. Older versions of blkid
-can not be used with udev.
-
-Libudev allows to subscribe to udev events. To prevent unwanted messages
-to be delivered, and waking up the subscribing process, a filter can be
-installed, to drop messages inside a kernel socket filter. The filters
-match on the <subsytem>:<devtype> properties of the device.
- This is part of the ongoing effort to replace HAL, and switch current
-users over to directly use libudev.
- Libudev is still marked as experimental, and its interface might
-eventually change if needed, but no major changes of the currently exported
-interface are expected anymore, and a first stable release should happen
-soon.
-
-A too old kernel (2.6.21) or a kernel with CONFIG_SYSFS_DEPRECATED
-is not supported since while and udevd will log an error message at
-startup. It should still be able to boot-up, but advanced rules and system
-services which depend on the information not available in the old sysfs
-format will fail to work correctly.
-
-DVB device naming is supplied by the kernel now. In case older kernels
-need to be supported, the old shell script should be added to a compat
-rules file.
-
-udev 141
-========
-Bugfixes.
-
-The processed udev events get send back to the netlink socket. Libudev
-provides access to these events. This is work-in-progress, to replace
-the DeviceKit daemon functionality directly with libudev. There are
-upcoming kernel changes to allow non-root users to subcribe to these
-events.
-
-udev 140
-========
-Bugfixes.
-
-"udevadm settle" now optionally accepts a range of events to wait for,
-instead of waiting for "all" events.
-
-udev 139
-========
-Bugfixes.
-
-The installed watch for block device metadata changes is now removed
-during event hadling, because some (broken) tools may be called from udev
-rules and (wrongly) open the device with write access. After the finished
-event handling the watch is restored.
-
-udev 138
-========
-Bugfixes.
-
-Device nodes can be watched for changes with inotify with OPTIONS="watch".
-If closed after being opened for writing, a "change" uevent will occur.
-/dev/disk/by-{label,uuid}/* symlinks will be automatically updated.
-
-udev 137
-========
-Bugfixes.
-
-The udevadm test command has no longer a --force option, nodes and symlinks
-are always updated with a test run now.
-
-The udevd daemon can be started with --resolve-names=never to avoid all user
-and group lookups (e.g. in cut-down systems) or --resolve-names=late to
-lookup user and groups every time events are handled.
-
-udev 136
-========
-Bugfixes.
-
-We are currently merging the Ubuntu rules in the udev default rules,
-and get one step closer to provide a common Linux /dev setup, regarding
-device names, symlinks, and default device permissions. On udev startup,
-we now expect the following groups to be resolvable to their ids with
-glibc's getgrnam():
- disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, kmem.
-LDAP setups need to make sure, that these groups are always resolvable at
-bootup, with only the rootfs mounted, and without network access available.
-
-Some systems may need to add some new, currently not used groups, or need
-to add some users to new groups, but the cost of this change is minimal,
-compared to the pain the current, rather random, differences between the
-various distributions cause for upstream projects and third-party vendors.
-
-In general, "normal" users who log into a machine should never be a member
-of any such group, but the device-access should be managed by dynamic ACLs,
-which get added and removed for the specific users on login/logout and
-session activity/inactivity. These groups are only provided for custom setups,
-and mainly system services, to allow proper privilege separation.
-A video-streaming daemon uid would be a member of "audio" and "video", to get
-access to the sound and video devices, but no "normal" user should ever belong
-to the "audio" group, because he could listen to the built-in microphone with
-any ssh-session established from the other side of the world.
-
-/dev/serial/by-{id,path}/ now contains links for ttyUSB devices,
-which do not depend on the kernel device name. As usual, unique
-devices - only a single one per product connected, or a real
-USB serial number in the device - are always found with the same
-name in the by-id/ directory.
-Completely identical devices may overwrite their names in by-id/
-and can only be found reliably in the by-path/ directory. Devices
-specified by by-path/ must not change their connection, like the
-USB port number they are plugged in, to keep their name.
-
-To support some advanced features, Linux 2.6.22 is the oldest supported
-version now. The kernel config with enabled SYSFS_DEPRECATED is no longer
-supported. Older kernels should still work, and devices nodes should be
-reliably created, but some rules and libudev will not work correctly because
-the old kernels do not provide the expected information or interfaces.
-
-udev 135
-========
-Bugfixes.
-
-Fix for a possible segfault while swapping network interface names in udev
-versions 131-134.
-
-udev 134
-========
-Bugfixes.
-
-The group "video" is part of the default rules now.
-
-udev 133
-========
-Bugfix for kernels using SYSFS_DEPRECATED* option and finding parent
-block devices in some cases. No common distro uses this option anymore,
-and we do not get enough testing for this and recent udev versions. If
-this option is not needed to run some old distro with a new kernel,
-it should be disabled in the kernel config.
-
-Bugfix for the $links substitution variable, which may crash if no links
-are created. This should not happen in usual setups because we always
-create /dev/{block,char}/ links.
-
-The strings of the parsed rules, which are kept in memory, no longer
-contain duplicate entries, or duplicate tails of strings. This, and the
-new rules parsing/matching code reduces the total in-memory size of
-a huge distro rule sets to 0.08 MB, compared to the 1.2MB of udev
-version 130.
-
-The export of DEVTYPE=disk/partition got removed from the default
-rules. This value is available from the kernel. The pnp shell script
-modprobe hack is removed from the default rules. ACPI devices have _proper_
-modalias support and take care of the same functionality.
-Installations which support old kernels, but install current default
-udev rules may want to add that to the compat rules file.
-
-Libvolume_id now always probes for all known filesystems, and does not
-stop at the first match. Some filesystems are marked as "exclusive probe",
-and if any other filesytem type matches at the same time, libvolume_id
-will, by default, not return any probing result. This is intended to prevent
-mis-detection with conflicting left-over signatures found from earlier
-file system formats. That way, we no longer depend on the probe-order
-in case of multiple competing signatures. In some setups the kernel allows
-to mount a volume with just the old filesystem signature still in place.
-This may damage the new filesystem and cause data-loss, just by mounting
-it. Because volume_id can not decide which one the correct signature is,
-the wrong signatures need to be removed manually from the volume, or the
-volume needs to be reformatted, to enable filesystem detection and possible
-auto-mounting.
-
-udev 132
-========
-Fix segfault if compiled without optimization and dbg() does not get
-compiled out and uses variables which are not available.
-
-udev 131
-========
-Bugfixes. (And maybe new bugs. :))
-
-The rule matching engine got converted from a rule list to a token
-array which reduced the in-memory rules representation of a full
-featured distros with thousends of udev rules from 1.2MB to 0.12 MB.
-Limits like 5 ENV and ATTR matches, and one single instance for most
-other keys per rule are gone.
-
-The NAME assignment is no longer special cased. If later rules assign
-a NAME value again, the former value will be overwritten. As usual
-for most other keys, the NAME value can be protected by doing a final
-assignment with NAME:="<value>".
-
-All udev code now uses libudev, which is also exported. The library
-is still under development, marked as experimental, and its interface
-may change as long as the DeviceKit integration is not finished.
-
-Many thanks to Alan Jenkins for his continuous help, and finding and
-optimizing some of the computing expensive parts.
-
-udev 130
-========
-Bugfixes.
-
-Kernel devices and device nodes are connected now by reverse indizes in
-/sys and /dev. A device number retrieved by a stat() or similar, the
-kernel device directory can be found by looking up:
- /sys/dev/{block,char}/<maj>:<min>
-and the device node of the same device by looking up:
- /dev/{block,char}/<maj>:<min>
-
-udev 129
-========
-Fix recently introduced bug, which caused a compilation without large
-file support, where vol_id does not recognize raid signatures at the end
-of a volume.
-
-Firewire disks now create both, by-id/scsi-* and by-id/ieee-* links.
-Seems some kernel versions prevent the creation of the ieee-* links,
-so people used the scsi-* link which disappeared now.
-
-More libudev work. Almost all udevadm functionality comes from libudev
-now.
-
-udevadm trigger has a new option --type, which allows to trigger events
-for "devices", for "subsystems", or "failed" devices. The old option
---retry-failed" still works, but is no longer mentioned in the man page.
-
-udev 128
-========
-Bugfixes.
-
-The udevadm info --device-id-of-file= output has changed to use
-the obvious format. Possible current users should use the --export
-option which is not affected.
-
-The old udev commands symlinks to udevadm are not installed, if
-these symlinks are used, a warning is printed.
-
-udev 127
-========
-Bugfixes.
-
-Optical drive's media is no longer probed for raid signatures,
-reading the end of the device causes some devices to malfunction.
-Also the offset of the last session found is used now to probe
-for the filesystem.
-
-The volume_id library got a major version number update to 1,
-some deprecated functions are removed.
-
-A shared library "libudev" gets installed now to provide access
-to udev device information. DeviceKit, the successor of HAL, will
-need this library to access the udev database and search sysfs for
-devices.
-The library is currently in an experimental state, also the API is
-expected to change, as long as the DeviceKit integration is not
-finished.
-
-udev 126
-========
-We use ./configure now. See INSTALL for details. Current
-options are:
- --prefix=
- "/usr" - prefix for man pages, include files
- --exec-prefix=
- "" - the root filesystem, prefix for libs and binaries
- --sysconfdir=
- "/etc"
- --with-libdir-name=
- "lib" - directory name for libraries, not a path name
- multilib 64bit systems may use "lib64" instead of "lib"
- --enable-debug
- compile-in verbose debug messages
- --disable-logging
- disable all logging and compile-out all log strings
- --with-selinux
- link against SELInux libraries, to set the expected context
- for created files
-
-In the default rules, the group "disk" gets permissions 0660 instead
-of 0640. One small step closer to unify distro rules. Some day, all
-distros hopefully end up with the same set of rules.
-
-No symlinks to udevadm are installed anymore, if they are still needed,
-they should be provided by the package.
-
-udev 125
-========
-Bugfixes.
-
-Default udev rules, which are not supposed to be edited by the user, should
-be placed in /lib/udev/rules.d/ now, to make it clear that they are private to
-the udev package and will be replaced with an update. Udev will pick up rule
-files from:
- /lib/udev/rules.d/ - default installed rules
- /etc/udev/rules.d/ - user rules + on-the-fly generated rules
- /dev/.udev/rules.d/ - temporary non-persistent rules created after bootup
-It does not matter in which directory a rule file lives, all files are sorted
-in lexical order.
-
-To help creating /dev/root, we have now:
- $ udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/
- ROOT_MAJOR=8
- ROOT_MINOR=5
-In case the current --device-id-of-file is already used, please switch to
-the --export format version, it saves the output parsing and the old
-format will be changed to use ':' as a separator, like the format in the
-sysfs 'dev' file.
-
-udev 124
-========
-Fix cdrom_id to properly recognize blank media.
-
-udev 123
-========
-Bugfixes.
-
-Tape drive id-data is queried from /dev/bsg/* instead of the tape
-nodes. This avoids rewinding tapes on open().
-
-udev 122
-========
-Bugfixes.
-
-The symlinks udevcontrol and udevtrigger are no longer installed by
-the Makefile.
-
-The scsi_id program does not depend on sysfs anymore. It can speak
-SGv4 now, so /dev/bsg/* device nodes can be used, to query SCSI device
-data, which should solve some old problems with tape devices, where
-we better do not open all tape device nodes to identify the device.
-
-udev 121
-========
-Many bugfixes.
-
-The cdrom_id program is replaced by an advanced version, which can
-detect most common device types, and also properties of the inserted
-media. This is part of moving some basic functionality from HAL into
-udev (and the kernel).
-
-udev 120
-========
-Bugfixes.
-
-The last WAIT_FOR_SYSFS rule is removed from the default rules.
-
-The symlinks to udevadm for the debugging tools: udevmonitor and
-udevtest are no longer created.
-
-The symlinks to the udevadm man page for the old tool names are
-no longer created.
-
-Abstract namespace sockets paths in RUN+="socket:@<path>" rules,
-should be prefixed with '@' to indicate that the path is not a
-real file.
-
-udev 119
-========
-Bugfixes.
-
-udev 118
-========
-Bugfixes.
-
-Udevstart is removed from the tree, it did not get installed for
-a long time now, and is long replaced by trigger and settle.
-
-udev 117
-========
-Bugfixes.
-
-All udev tools are merged into a single binary called udevadm.
-The old names of the tools are built-in commands in udevadm now.
-Symlinks to udevadm, with the names of the old tools, provide
-the same functionality as the standalone tools. There is also
-only a single udevadm.8 man page left for all tools.
-
-Tools like mkinitramfs should be checked, if they need to include
-udevadm in the list of files.
-
-udev 116
-========
-Bugfixes.
-
-udev 115
-========
-Bugfixes.
-
-The etc/udev/rules.d/ directory now contains a default set of basic
-udev rules. This initial version is the result of a rules file merge
-of Fedora and openSUSE. For these both distros only a few specific
-rules are left in their own file, named after the distro. Rules which
-are optionally installed, because they are only valid for a specific
-architecture, or rules for subsystems which are not always used are
-in etc/udev/packages/.
-
-udev 114
-========
-Bugfixes.
-
-Dynamic rules can be created in /dev/.udev/rules.d/ to trigger
-actions by dynamically created rules.
-
-SYMLINK=="<value>" matches agains the entries in the list of
-currently defined symlinks. The links are not created in the
-filesystem at that point in time, but the values can be matched.
-
-RUN{ignore_error}+="<program>" will ignore any exit code from the
-program and not record as a failed event.
-
-udev 113
-========
-Bugfixes.
-
-Final merge of patches/features from the Ubuntu package.
-
-udev 112
-========
-Bugfixes.
-
-Control characters in filesystem label strings are no longer silenty
-removed, but hex-encoded, to be able to uniquely identify the device
-by its symlink in /dev/disk/by-label/.
-If libvolume_id is used by mount(8), LABEL= will work as expected,
-if slashes or other characters are used in the label string.
-
-To test the existence of a file, TEST=="<file>" and TEST!="<file>"
-can be specified now. The TEST key accepts an optional mode mask
-TEST{0100}=="<is executable file>".
-
-Scsi_id now supports a mode without expecting scsi-specific sysfs
-entries to allow the extraction of cciss-device persistent properties.
-
-udev 111
-========
-Bugfixes.
-
-In the future, we may see uuid's which are just simple character
-strings (see the DDF Raid Specification). For that reason vol_id now
-exports ID_FS_UUID_SAFE, just like ID_FS_LABEL_SAFE. For things like
-the creation of symlinks, the *_SAFE values ensure, that no control
-or whitespace characters are used in the filename.
-
-Possible users of libvolume_id, please use the volume_id_get_* functions.
-The public struct will go away in a future release of the library.
-
-udev 110
-========
-Bugfixes.
-
-Removal of useless extras/eventrecorder.sh.
-
-udev 109
-========
-Bugfixes.
-
-udev 108
-========
-Bugfixes.
-
-The directory multiplexer for dev.d/ and hotplug.d are finally removed
-from the udev package.
-
-udev 107
-========
-Bugfixes.
-
-Symlinks can have priorities now, the priority is assigned to the device
-and specified with OPTIONS="link_priority=100". Devices with higher
-priorities overwrite the symlinks of devices with lower priorities.
-If the device that currently owns the link, goes away, the symlink
-will be removed, and recreated, pointing to the next device with the
-highest actual priority. This should make /dev/disk/by-{label,uuid,id}
-more reliable, if multiple devices contain the same metadata and overwrite
-these symlinks.
-
-The dasd_id program is removed from the udev tree, and dasdinfo, with the
-needed rules, are part of the s390-tools now.
-
-Please add KERNEL=="[0-9]*:[0-9]*" to the scsi wait-for-sysfs rule,
-we may get the scsi sysfs mess fixed some day, and this will only catch
-the devices we are looking for.
-
-USB serial numbers for storage devices have the target:lun now appended,
-to make it possibble to distinguish broken multi-lun devices with all
-the same SCSI identifiers.
-
-Note: The extra "run_directory" which searches and executes stuff in
-/etc/hotplug.d/ and /etc/dev.d/ is long deprecated, and will be removed
-with the next release. Make sure, that you don't use it anymore, or
-provides your own implementation of that inefficient stuff.
-We are tired of reports about a "slow udev", because these directories
-contain stuff, that runs with _every_ event, instead of using rules,
-that run programs only for the matching events.
-
-udev 106
-========
-Bugfixes.
-
-udev 105
-========
-Bugfixes.
-
-DRIVER== will match only for devices that actually have a real
-driver. DRIVERS== must be used, if parent devices should be
-included in the match.
-
-Libvolume_id's "linux_raid" detection needed another fix.
-
-udev 104
-========
-Bugfixes.
-
-udev 103
-========
-Add additional check to volume_id detection of via_raid, cause
-some company decided to put a matching pattern all over the empty
-storage area of their music players.
-
-udev 102
-========
-Fix path_id for SAS devices.
-
-udev 101
-========
-The udev daemon can be started with --debug-trace now, which will
-execute all events serialized to get a chance to catch a possible
-action that crashes the box.
-
-A warning is logged, if PHYSDEV* keys, the "device" link, or a parent
-device attribute like $attr{../file} is used, only WAIT_FOR_SYSFS rules
-are excluded from the warning. Referencing parent attributes directly
-may break when something in the kernel driver model changes. Udev will
-just find the attribute by walking up the parent chain.
-
-Udevtrigger now sorts the list of devices depending on the device
-dependency, so a "usb" device is triggered after the parent "pci"
-device.
-
-udev 100
-========
-Revert persistent-storage ata-serial '_' '-' replacement.
-
-udev 099
-========
-Bugfixes.
-
-Udevtrigger can now filter the list of devices to be triggered. Matches
-for subsystems or sysfs attributes can be specified.
-
-The entries in /dev/.udev/queue and /dev/.udev/failed have changed to
-zero-sized files to avoid pointing to /sys and confuse broken tools which
-scan the /dev directory. To retry failed events, udevtrigger --retry-failed
-should be used now.
-
-The rules and scripts to create udev rules for persistent network
-devices and optical drives are in the extras/rules_generator directory
-now. If you use something similar, please consider replacing your own
-version with this, to share the support effort. The rule_generator
-installs its own rules into /etc/udev/rules.d.
-
-The cdrom_id tool installs its own rule now in /etc/udev/rules.d, cause
-the rule_generator depends on cdrom_id to be called in an earlier rule.
-
-udev 098
-========
-Bugfixes.
-
-Renaming of some key names (the old names still work):
-BUS -> SUBSYSTEMS, ID -> KERNELS, SYSFS -> ATTRS, DRIVER -> DRIVERS.
-(The behavior of the key DRIVER will change soon in one of the next
-releases, to match only the event device, please switch to DRIVERS
-instead. If DRIVER is used, it will behave like DRIVERS, but an error
-is logged.
-With the new key names, we have a more consistent and simpler scheme.
-We can match the properties of the event device only, with: KERNEL,
-SUBSYSTEM, ATTR, DRIVER. Or include all the parent devices in the match,
-with: KERNELS, SUBSYSTEMS, ATTRS, DRIVERS. ID, BUS, SYSFS, DRIVER are no
-longer mentioned in the man page and should be switched in the rule
-files.
-
-ATTR{file}="value" can be used now, to write to a sysfs file of the
-event device. Instead of:
- ..., SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
-we now can do:
- ..., ATTR{type}=="0|7|14", ATTR{timeout}="60"
-
-All the PHYSDEV* keys are deprecated and will be removed from a
-future kernel:
- PHYDEVPATH - is the path of a parent device and should not be
- needed at all.
- PHYSDEVBUS - is just a SUBSYSTEM value of a parent, and can be
- matched with SUBSYSTEMS==
- PHYSDEVDRIVER - for bus devices it is available as ENV{DRIVER}.
- Newer kernels will have DRIVER in the environment,
- for older kernels udev puts in. Class device will
- no longer carry this property of a parent and
- DRIVERS== can be used to match such a parent value.
-Note that ENV{DRIVER} is only available for a few bus devices, where
-the driver is already bound at device event time. On coldplug, the
-events for a lot devices are already bound to a driver, and they will have
-that value set. But on hotplug, at the time the kernel creates the device,
-it can't know what driver may claim the device after that, therefore
-in most cases it will be empty.
-
-Failed events should now be re-triggered with:
- udevtrigger --retry-failed.
-Please switch to this command, so we keep the details of the /dev/.udev/failed/
-files private to the udev tools. We may need to switch the current symlink
-target, cause some obviously broken tools try to scan all files in /dev
-including /dev/.udev/, find the links to /sys and end up stat()'ing sysfs files
-million times. This takes ages on slow boxes.
-
-The udevinfo attribute walk (-a) now works with giving a device node
-name (-n) instead of a devpath (-p). The query now always works, also when
-no database file was created by udev.
-
-The built-in /etc/passwd /etc/group parser is removed, we always depend on
-getpwnam() and getgrnam() now. One of the next releases will depend on
-fnmatch() and may use getopt_long().
-
-udev 097
-========
-Bugfixes and small improvements.
-
-udev 096
-========
-Fix path_id for recent kernels.
-
-udev 095
-========
-%e is finally gone.
-
-Added support for swapping network interface names, by temporarily
-renaming the device and wait for the target name to become free.
-
-udev 094
-========
-The built-in MODALIAS key and substitution is removed.
-
-udev 093
-========
-The binary firmware helper is replaced by the usual simple
-shell script. Udevsend is removed from the tree.
-
-udev 092
-========
-Bugfix release.
-
-udev 091
-========
-Some more keys require the correct use of '==' and '=' depending
-on the kind of operation beeing an assignment or a match. Rules
-with invalid operations are skipped and logged to syslog. Please
-test with udevtest if the parsing of your rules throws errors and
-fix possibly broken rules.
-
-udev 090
-========
-Provide "udevsettle" to wait for all current udev events to finish.
-It also watches the current kernel netlink queue by comparing the
-even sequence number to make sure that there are no current pending
-events that have not already arrived in the daemon.
-
-udev 089
-========
-Fix rule to skip persistent rules for removable IDE devices, which
-also skipped optical IDE drives.
-
-All *_id program are installed in /lib/udev/ by default now.
-
-No binary is stripped anymore as this should be done in the
-packaging process and not at build time.
-
-libvolume_id is provided as a shared library now and vol_id is
-linked against it. Also one of the next HAL versions will require
-this library, and the HAL build process will also require the
-header file to be installed. The copy of the same code in HAL will
-be removed to have only a single copy left on the system.
-
-udev 088
-========
-Add persistent links for SCSI tapes. The rules file is renamed
-to 60-persistent-storage.rules.
-
-Create persistent path for usb devices. Can be used for all sorts
-of devices that can't be distinguished by other properties like
-multiple identical keyboards and mice connected to the same box.
-
-Provide "udevtrigger" program to request events on coldplug. The
-shell script is much too slow with thousends of devices.
-
-udev 087
-========
-Fix persistent disk rules to exclude removable IDE drives.
-
-Warn if %e, $modalias or MODALIAS is used.
-
-udev 086
-========
-Fix queue export, which wasn't correct for subsequent add/remove
-events for the same device.
-
-udev 085
-========
-Fix cramfs detection on big endian.
-
-Make WAIT_FOR_SYSFS usable in "normal" rules and silent if the whole
-device goes away.
-
-udev 084
-========
-If BUS== and SYSFS{}== have been used in the same rule, the sysfs
-attributes were only checked at the parent device that matched the
-by BUS requested subsystem. Fix it to also look at the device we
-received the event for.
-
-Build variable CROSS has changed to CROSS_COMPILE to match the kernel
-build name.
-
-udev 083
-========
-Fix a bug where NAME="" would prevent RUN from beeing executed.
-
-RUN="/bin/program" does not longer automatically add the subsystem
-as the first parameter. This is from the days of /sbin/hotplug
-which is dead now and it's just confusing to need to add a space at
-the end of the program name to prevent this.
-If you use rules that need the subsystem as the first parameter,
-like the old "udev_run_hotlugd" and "udev_run_devd", add the subsystem
-to the key like RUN+="/bin/program $env{SUBSYSTEM}".
-
-udev 082
-========
-The udev man page has moved to udev(7) as it does not describe a command
-anymore. The programs udev, udevstart and udevsend are no longer installed
-by default and must be copied manually, if they should be installed or
-included in a package.
-
-Fix a bug where "ignore_device" could run earlier collected RUN keys before
-the ignore rule was applied.
-
-More preparation for future sysfs changes. usb_id and scsi_id no longer
-depend on a magic order of devices in the /devices chain. Specific devices
-should be requested by their subsytem.
-
-This will always find the scsi parent device without depending on a specific
-path position:
- dev = sysfs_device_get(devpath);
- dev_usb = sysfs_device_get_parent_with_subsystem(dev, "scsi");
-
-The "device" link in the current sysfs layout will be automatically
-_resolved_ as a parent and in the new sysfs layout it will just _be_ the
-parent in the devpath. If a device is requested by it's symlink, like all
-class devices in the new sysfs layout will look like, it gets automatically
-resolved and substituted with the real devpath and not the symlink path.
-
-Note:
-A similar logic must be applied to _all_ sysfs users, including
-scripts, that search along parent devices in sysfs. The explicit use of
-the "device" link must be avoided. With the future sysfs layout all
-DEVPATH's will start with /devices/ and have a "subsystem" symlink poiting
-back to the "class" or the "bus". The layout of the parent devices in
-/devices is not necessarily expected to be stable across kernel releases and
-searching for parents by their subsystem should make sysfs users tolerant
-for changed parent chains.
-
-udev 081
-========
-Prepare udev to work with the experimental kernel patch, that moves
-/sys/class devices to /sys/devices and /sys/block to /sys/class/block.
-
-Clarify BUS, ID, $id usage and fix $id behavior. This prepares for
-moving the class devices to /sys/devices.
-
-Thanks again to Marco for help finding a hopefully nice compromise
-to make %b simpler and working again.
-
-udev 080
-========
-Complete removal of libsysfs, replaced by simple helper functions
-which are much simpler and a bit faster. The udev daemon operatesentirely
-on event parameters and does not use sysfs for simple rules anymore.
-Please report any new bugs/problems, that may be caused by this big
-change. They will be fixed immediately.
-
-The enumeration format character '%e' is deprecated and will be
-removed sometimes from a future udev version. It never worked correctly
-outside of udevstart, so we can't use it with the new parallel
-coldplug. A simple enumeration is as useless as the devfs naming
-scheme, just get rid of both if you still use it.
-
-MODALIAS and $modalias is not needed and will be removed from one of
-the next udev versions, replace it in all rules with ENV{MODALIAS} or
-the sysfs "modalias" value.
-
-Thanks a lot to Marco for all his help on finding and fixing bugs.
-
-udev 079
-========
-Let scsi_id request libata drive serial numbers from page 0x80.
-
-Renamed etc/udev/persistent.rules to persistent-disk.rules and
-added /dev/disk/by-name/* for device mapper device names.
-
-Removed %e from the man page. It never worked reliably outside
-of udevstart and udevstart is no longer recommended to use.
-
-udev 078
-========
-Symlinks are now exported to the event environment. Hopefully it's no
-longer needed to run udevinfo from an event process, like it was
-mentioned on the hotplug list:
- UDEV [1134776873.702967] add@/block/sdb
- ...
- DEVNAME=/dev/sdb
- DEVLINKS=/dev/disk/by-id/usb-IBM_Memory_Key_0218B301030027E8 /dev/disk/by-path/usb-0218B301030027E8:0:0:0
-
-udev 077
-========
-Fix a problem if udevsend is used as the hotplug handler and tries to use
-syslog, which causes a "vc" event loop. 2.6.15 will make udevsend obsolete
-and this kind of problems will hopefully go away soon.
-
-udev 076
-========
-All built-in logic to work around bad sysfs timing is removed with this
-version. The need to wait for sysfs files is almost fixed with a kernel
-version that doesn't work with this udev version anyway. Until we fix
-the timing of the "bus" link creation, the former integrated logic should
-be emulated by a rule placed before all other rules:
- ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
-
-The option "udev_db" does no longer exist. All udev state will be in
-/$udev_root/.udev/ now, there is no longer an option to set this
-to anything else.
-If the init script or something else used this value, just depend on
-this hardcoded path. But remember _all_content_ of this directory is
-still private to udev and can change at any time.
-
-Default location for rule sripts and helper programs is now: /lib/udev/.
-Everything that is not useful on the commandline should go into this
-directory. Some of the helpers in the extras folder are installed there
-now. The rules need to be changed, to find the helpers there.
-
-Also /lib/udev/devices is recommended as a directory where packages or
-the user can place real device nodes, which get copied over to /dev at
-every boot. This should replace the various solutions with custom config
-files.
-
-Udevsend does no longer start the udev daemon. This must be done with
-the init script that prepares /dev on tmpfs and creates the initial nodes,
-before starting the daemon.
-
-udev 075
-========
-Silent a too verbose error logging for the old hotplug.d/ dev.d/
-emulation.
-
-The copy of klibc is removed. A systemwide installed version of klibc
-should be used to build a klibc udev now.
-
-udev 074
-========
-NAME="" will not create any nodes, but execute RUN keys. To completely
-ignore an event the OPTION "ignore_device" should be used.
-
-After removal of the reorder queue, events with a TIMEOUT can be executed
-without any queuing now.
-
-udev 073
-========
-Fixed bug in udevd, if inotify is not available. We depend on netlink
-uevents now, kernels without that event source will not work with that
-version of udev anymore.
-
-udev 072
-========
-The rule parsing happens now in the daemon once at startup, all udev
-event processes inherit the already parsed rules from the daemon.
-It is shipped with SUSE10.0 and reduces heavily the system load at
-startup. The option to save precompiled rules and let the udev process
-pick the them up is removed, as it's no longer needed.
-
-Kernel 2.6.15 will have symlinks at /class/input pointing to the real
-device. Libsysfs is changed to "translate" the requested link into the
-real device path, as it would happen with the hotplug event. Otherwise
-device removal and the udev database will not work.
-
-Using 'make STRIPCMD=' will leave the binaries unstripped for debugging
-and packaging.
-
-A few improvements for vol_id, the filesytem probing code.
-
-udev 071
-========
-Fix a stupid typo in extras/run_directory for "make install".
-
-scsi_id creates the temporary devnode now in /dev for usage with a
-non-writable /tmp directory.
-
-The uevent kernel socket buffer can carry app. 50.000 events now,
-let's see who can break this again. :)
-
-The upcoming kernel will have a new input driver core integration.
-Some class devices are now symlinks to the real device. libsysfs
-needs a fix for this to work correctly. Udevstart of older udev
-versions will _not_ create these devices!
-
-udev 070
-========
-Fix a 'install' target in the Makefile, that prevents EXTRAS from
-beeing installed.
-
-udev 069
-========
-A bunch of mostly trivial bugfixes. From now on no node name or
-symlink name can contain any character than plain whitelisted ascii
-characters or validated utf8 byte-streams. This is needed for the
-/dev/disk/by-label/* links, because we import untrusted data and
-export it to the filesystem.
-
-udev 068
-========
-More bugfixes. If udevd was started from the kernel, we don't
-have stdin/stdout/stderr, which broke the forked tools in some
-situations.
-
-udev 067
-========
-Bugfix. udevstart event ordering was broken for a long time.
-The new run_program() uncovered it, because /dev/null was not
-available while we try to run external programs.
-Now udevstart should create it before we run anything.
-
-udev 066
-========
-Minor bugfixes and some distro rules updates. If you don't have the
-persistent disk rules in /dev/disk/by-*/* on your distro, just
-grab it from here. :)
-
-udev 065
-========
-We can use socket communication now to pass events from udev to
-other programs:
- RUN+="socket:/org/freedesktop/hal/udev_event"
-will pass the whole udev event to the HAL daemon without the need
-for a forked helper. (See ChangeLog for udevmonitor, as an example)
-
-udev 064
-========
-Mostly bugfixes and see ChangeLog.
-
-The test for the existence of an environment value should be
-switched from:
- ENV{KEY}=="*" to ENV{KEY}=="?*"
-because "*" will not fail anymore, if the key does not exist or
-is empty.
-
-udev 063
-========
-Bugfixes and a few tweaks described in the ChangeLog.
-
-udev 062
-========
-Mostly a Bugfix release.
-
-Added WAIT_FOR_SYSFS="<attribute>" to be able to fight against the sysfs
-timing with custom rules.
-
-udev 061
-========
-We changed the internal rule storage format. Our large rule files took
-2 MB of RAM, with the change we are down to 99kB.
-
-If the device-node has been created with default name and no symlink or
-options are to remenber, it is not longer stored in the udevdb. HAL will
-need to be updated to work correctly with that change.
-
-To overrride optimization flags, OPTFLAGS may be used now.
-
-udev 060
-========
-Bugfix release.
-
-udev 059
-========
-Major changes happened with this release. The goal is to take over the
-complete kernel-event handling and provide a more efficient way to dispatch
-kernel events. Replacing most of the current shell script logic and the
-kernel forked helper with a netlink-daemon and a rule-based event handling.
-
-o udevd listens to netlink events now. The first valid netlink event
- will make udevd ignore any message from udevsend that contains a
- SEQNUM, to avoid duplicate events. The forked events can be disabled
- with:
- echo "" > /proc/sys/kernel/hotplug
- For full support, the broken input-subsytem needs to be fixed, not to
- bypass the driver core.
-
-o /etc/dev.d/ + /etc/hotplug.d/ directory multiplexing is completely
- removed from udev itself and must be emulated by calling small
- helper binaries provided in the extras folder:
- make EXTRAS=extras/run_directory/
- will build udev_run_devd and udev_run_hotplugd, which can be called
- from a rule if needed:
- RUN+="/sbin/udev_run_hotplugd"
- The recommended way to handle this is to convert all the calls from
- the directories to explicit udev rules and get completely rid of the
- multiplexing. (To catch a ttyUSB event, you now no longer need to
- fork and exit 300 tty script instances you are not interested in, it
- is just one rule that matches exactly the device.)
-
-o udev handles now _all_ events not just events for class and block
- devices, this way it is possible to control the complete event
- behavior with udev rules. Especially useful for rules like:
- ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
-
-o As used in the modalias rule, udev supports now textual
- substitution placeholder along with the usual format chars. This
- needs to be documented, for now it's only visible in udev_rules_parse.c.
-
-o The rule keys support now more operations. This is documented in the
- man page. It is possible to add values to list-keys like the SYMLINK
- and RUN list with KEY+="value" and to clear the list by assigning KEY="".
- Also "final"-assignments are supported by using KEY:="value", which will
- prevent changing the key by any later rule.
-
-o kernel 2.6.12 has the "detached_state" attribute removed from
- sysfs, which was used to recognize sysfs population. We switched that
- to wait for the "bus" link, which is only available in kernels after 2.6.11.
- Running this udev version on older kernels may cause a short delay for
- some events.
-
-o To provide infrastructure for persistent device naming, the id programs:
- scsi_id, vol_id (former udev_volume_id), and ata_id (new) are able now
- to export the probed data in environment key format:
- pim:~ # /sbin/ata_id --export /dev/hda
- ID_MODEL=HTS726060M9AT00
- ID_SERIAL=MRH401M4G6UM9B
- ID_REVISION=MH4OA6BA
-
- The following rules:
- KERNEL="hd*[!0-9]", IMPORT="/sbin/ata_id --export $tempnode"
- KERNEL="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_MODEL}_$env{ID_SERIAL}"
-
- Will create:
- kay@pim:~> tree /dev/disk
- /dev/disk
- |-- by-id
- | |-- HTS726060M9AT00_MRH401M4G6UM9B -> ../../hda
- | `-- IBM-Memory_Key -> ../../sda
- |-- by-label
- | |-- swap -> ../../hda1
- | |-- date -> ../../sda1
- | `-- home -> ../../hda3
- `-- by-uuid
- |-- 2E08712B0870F2E7 -> ../../hda3
- |-- 9352cfef-7687-47bc-a2a3-34cf136f72e1 -> ../../hda1
- |-- E845-7A89 -> ../../sda1
- `-- b2a61681-3812-4f13-a4ff-920d70604299 -> ../../hda2
-
- The IMPORT= operation will import these keys in the environment and make
- it available for later PROGRAM= and RUN= executed programs. The keys are
- also stored in the udevdb and can be queried from there with one of the
- next udev versions.
-
-o A few binaries are silently added to the repository, which can be used
- to replay kernel events from initramfs instead of using coldplug. udevd
- can be instructed now to queue-up events while the stored events from
- initramfs are filled into the udevd-queue. This code is still under
- development and there is no documentation now besides the code itself.
- The additional binaries get compiled, but are not installed by default.
-
-o There is also a temporary fix for a performance problem where too many
- events happen in parallel and every event needs to parse the rules.
- udev can now read precompiled rules stored on disk. This is likely to be
- replaced by a more elegant solution in a future udev version.
-
-udev 058
-========
-With kernel version 2.6.12, the sysfs file "detached_state" was removed.
-Fix for libsysfs not to expect this file was added.
-
-udev 057
-========
-All rules are applied now, but only the first matching rule with a NAME-key
-will be applied. All later rules with NAME-key are completely ignored. This
-way system supplied symlinks or permissions gets applied to user-defined
-naming rules.
-
-Note:
-Please check your rules setup, if you may need to add OPTIONS="last_rule"
-to some rules, to keep the old behavior.
-
-The rules are read on "remove"-events too. That makes is possible to match
-with keys that are available on remove (KERNEL, SUBSYSTEM, ID, ENV, ...) to
-instruct udev to ignore an event (OPTIONS="ignore_device").
-The new ACTION-key may be used to let a rule act only at a "remove"-event.
-
-The new RUN-key supports rule-based execution of programs after device-node
-handling. This is meant as a general replacement for the dev.d/-directories
-to give fine grained control over the execution of programs.
-
-The %s{}-sysfs format char replacement values are searched at any of the
-devices in the device chain now, not only at the class-device.
-
-We support log priority levels now. The value udev_log in udev.conf is used
-to determine what is printed to syslog. This makes it possible to
-run a version with compiled-in debug messages in a production environment
-which is sometimes needed to find a bug.
-It is still possible to supress the inclusion of _any_ syslog usage with
-USE_LOG=false to create the smallest possible binaries if needed.
-The configured udev_log value can be overridden with the environment variable
-UDEV_LOG.
-
-udev 056
-========
-Possible use of a system-wide klibc:
- make USE_KLIBC=true KLCC=/usr/bin/klcc all
-will link against an external klibc and our own version will be ignored.
-
-udev 055
-========
-We support an unlimited count of symlinks now.
-
-If USE_STATIC=true is passed to a glibc build, we link statically and use
-a built-in userdb parser to resolve user and group names.
-
-The PLACE= key is gone. It can be replaced by an ID= for a long time, because
-we walk up the chain of physical devices to find a match.
-
-The KEY="<value>" format supports '=', '==', '!=,' , '+=' now. This makes it
-easy to skip certain attribute matches without composing rules with weird
-character class negations like:
- KERNEL="[!s][!c][!d]*"
-this can now be replaced with:
- KERNEL!="scd*"
-The current simple '=' is still supported, and should work as it does today,
-but existing rules should be converted if possible, to be better readable.
-
-We have new ENV{}== key now, to match against a maximum of 5 environment
-variables.
-
-udevstart is its own binary again, because we don't need co carry this araound
-with every forked event.
diff --git a/src/udev/README b/src/udev/README
deleted file mode 100644
index 38459c6b22..0000000000
--- a/src/udev/README
+++ /dev/null
@@ -1,101 +0,0 @@
-udev - Linux userspace device management
-
-Integrating udev in the system has complex dependencies and may differ from
-distribution to distribution. A system may not be able to boot up or work
-reliably without a properly installed udev version. The upstream udev project
-does not recommend replacing a distro's udev installation with the upstream
-version.
-
-The upstream udev project's set of default rules may require a most recent
-kernel release to work properly.
-
-Tools and rules shipped by udev are not public API and may change at any time.
-Never call any private tool in /usr/lib/udev from any external application; it
-might just go away in the next release. Access to udev information is only offered
-by udevadm and libudev. Tools and rules in /usr/lib/udev and the entire contents
-of the /run/udev directory are private to udev and do change whenever needed.
-
-Requirements:
- - Version 2.6.34 of the Linux kernel with sysfs, procfs, signalfd, inotify,
- unix domain sockets, networking and hotplug enabled
-
- - Some architectures might need a later kernel, that supports accept4(),
- or need to backport the accept4() syscall wiring in the kernel.
-
- - These options are required:
- CONFIG_DEVTMPFS=y
- CONFIG_HOTPLUG=y
- CONFIG_INOTIFY_USER=y
- CONFIG_NET=y
- CONFIG_PROC_FS=y
- CONFIG_SIGNALFD=y
- CONFIG_SYSFS=y
- CONFIG_SYSFS_DEPRECATED*=n
- CONFIG_UEVENT_HELPER_PATH=""
-
- - These options might be needed:
- CONFIG_BLK_DEV_BSG=y (SCSI devices)
- CONFIG_TMPFS_POSIX_ACL=y (user ACLs for device nodes)
-
- - The /dev directory needs the 'devtmpfs' filesystem mounted.
- Udev only manages the permissions and ownership of the
- kernel-provided device nodes, and possibly creates additional symlinks.
-
- - Udev requires /run to be writable, which is usually done by mounting a
- 'tmpfs' filesystem.
-
- - This version of udev does not work properly with the CONFIG_SYSFS_DEPRECATED*
- option enabled.
-
- - The deprecated hotplug helper /sbin/hotplug should be disabled in the
- kernel configuration, it is not needed today, and may render the system
- unusable because the kernel may create too many processes in parallel
- so that the system runs out-of-memory.
-
- - The proc filesystem must be mounted on /proc, and the sysfs filesystem must
- be mounted at /sys. No other locations are supported by a standard
- udev installation.
-
- - The default rule sset requires the following group names resolvable at udev startup:
- disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, and kmem.
- Especially in LDAP setups, it is required that getgrnam() be able to resolve
- these group names with only the rootfs mounted and while no network is
- available.
-
- - Some udev extras have external dependencies like:
- libglib2, usbutils, pciutils, and gperf.
- All these extras can be disabled with configure options.
-
-Setup:
- - The udev daemon should be started to handle device events sent by the kernel.
- During bootup, the events for already existing devices can be replayed, so
- that they are configured by udev. The systemd service files contain the
- needed commands to start the udev daemon and the coldplug sequence.
-
- - Restarting the daemon never applies any rules to existing devices.
-
- - New/changed rule files are picked up automatically; there is usually no
- daemon restart or signal needed.
-
-Operation:
- - Based on events the kernel sends out on device creation/removal, udev
- creates/removes device nodes and symlinks in the /dev directory.
-
- - All kernel events are matched against a set of specified rules, which
- possibly hook into the event processing and load required kernel
- modules to set up devices. For all devices, the kernel exports a major/minor
- number; if needed, udev creates a device node with the default kernel
- device name. If specified, udev applies permissions/ownership to the device
- node, creates additional symlinks pointing to the node, and executes
- programs to handle the device.
-
- - The events udev handles, and the information udev merges into its device
- database, can be accessed with libudev:
- http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
- http://www.kernel.org/pub/linux/utils/kernel/hotplug/gudev/
-
-For more details about udev and udev rules, see the udev man pages:
- http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev/
-
-Please direct any comment/question to the linux-hotplug mailing list at:
- linux-hotplug@vger.kernel.org
diff --git a/src/udev/TODO b/src/udev/TODO
deleted file mode 100644
index 8b8b9c8f8c..0000000000
--- a/src/udev/TODO
+++ /dev/null
@@ -1,22 +0,0 @@
- - find a way to tell udev to not cancel firmware
- requests in initramfs
-
- - scsi_id -> sg3_utils?
-
- - make gtk-doc optional like kmod
-
- - move /usr/lib/udev/devices/ to tmpfiles
-
- - trigger --subsystem-match=usb/usb_device
-
- - kill rules_generator
-
- - have a $attrs{} ?
-
- - remove RUN+="socket:"
-
- - libudev.so.1
- - symbol versioning
- - return object with *_unref()
- - udev_monitor_from_socket()
- - udev_queue_get_failed_list_entry()
diff --git a/src/udev/src/accelerometer/61-accelerometer.rules b/src/udev/accelerometer/61-accelerometer.rules
index a6a2bfd088..a6a2bfd088 100644
--- a/src/udev/src/accelerometer/61-accelerometer.rules
+++ b/src/udev/accelerometer/61-accelerometer.rules
diff --git a/src/udev/src/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c
index bc9715b264..bc9715b264 100644
--- a/src/udev/src/accelerometer/accelerometer.c
+++ b/src/udev/accelerometer/accelerometer.c
diff --git a/src/udev/src/ata_id/ata_id.c b/src/udev/ata_id/ata_id.c
index 846a73b547..846a73b547 100644
--- a/src/udev/src/ata_id/ata_id.c
+++ b/src/udev/ata_id/ata_id.c
diff --git a/src/udev/autogen.sh b/src/udev/autogen.sh
deleted file mode 100755
index 55ee03afd1..0000000000
--- a/src/udev/autogen.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh -e
-
-if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
- cp -p .git/hooks/pre-commit.sample .git/hooks/pre-commit && \
- chmod +x .git/hooks/pre-commit && \
- echo "Activated pre-commit hook."
-fi
-
-gtkdocize
-autoreconf --install --symlink
-
-libdir() {
- echo $(cd $1/$(gcc -print-multi-os-directory); pwd)
-}
-
-args="$args \
---prefix=/usr \
---sysconfdir=/etc \
---libdir=$(libdir /usr/lib) \
---with-selinux \
---enable-gtk-doc"
-
-if [ -L /bin ]; then
-args="$args \
---libexecdir=/usr/lib \
---with-systemdsystemunitdir=/usr/lib/systemd/system \
-"
-else
-args="$args \
---with-rootprefix= \
----with-rootlibdir=$(libdir /lib) \
---bindir=/sbin \
---libexecdir=/lib \
---with-systemdsystemunitdir=/lib/systemd/system \
-"
-fi
-
-echo
-echo "----------------------------------------------------------------"
-echo "Initialized build system. For a common configuration please run:"
-echo "----------------------------------------------------------------"
-echo
-echo "./configure CFLAGS='-g -O1' $args"
-echo
diff --git a/src/udev/src/cdrom_id/60-cdrom_id.rules b/src/udev/cdrom_id/60-cdrom_id.rules
index 6eaf76a72c..6eaf76a72c 100644
--- a/src/udev/src/cdrom_id/60-cdrom_id.rules
+++ b/src/udev/cdrom_id/60-cdrom_id.rules
diff --git a/src/udev/src/cdrom_id/cdrom_id.c b/src/udev/cdrom_id/cdrom_id.c
index f90d52ec9c..f90d52ec9c 100644
--- a/src/udev/src/cdrom_id/cdrom_id.c
+++ b/src/udev/cdrom_id/cdrom_id.c
diff --git a/src/udev/src/collect/collect.c b/src/udev/collect/collect.c
index 076fe479e2..076fe479e2 100644
--- a/src/udev/src/collect/collect.c
+++ b/src/udev/collect/collect.c
diff --git a/src/udev/configure.ac b/src/udev/configure.ac
deleted file mode 100644
index b31b62f289..0000000000
--- a/src/udev/configure.ac
+++ /dev/null
@@ -1,242 +0,0 @@
-AC_PREREQ(2.60)
-AC_INIT([udev],
- [182],
- [linux-hotplug@vger.kernel.org],
- [udev],
- [http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html])
-AC_CONFIG_SRCDIR([src/udevd.c])
-AC_CONFIG_AUX_DIR([build-aux])
-AM_INIT_AUTOMAKE([check-news foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects])
-AC_USE_SYSTEM_EXTENSIONS
-AC_SYS_LARGEFILE
-AC_CONFIG_MACRO_DIR([m4])
-AM_SILENT_RULES([yes])
-LT_INIT([disable-static])
-AC_PROG_AWK
-AC_PROG_SED
-AC_PROG_MKDIR_P
-GTK_DOC_CHECK(1.10)
-AC_PREFIX_DEFAULT([/usr])
-
-AC_PATH_PROG([XSLTPROC], [xsltproc])
-AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x)
-
-AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([POSIX RT library not found])])
-
-PKG_CHECK_MODULES(BLKID, blkid >= 2.20)
-
-PKG_CHECK_MODULES(KMOD, libkmod >= 5)
-
-AC_ARG_WITH([rootprefix],
- AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]),
- [], [with_rootprefix=${ac_default_prefix}])
-AC_SUBST([rootprefix], [$with_rootprefix])
-
-AC_ARG_WITH([rootlibdir],
- AS_HELP_STRING([--with-rootlibdir=DIR], [rootfs directory to install shared libraries]),
- [], [with_rootlibdir=$libdir])
-AC_SUBST([rootlib_execdir], [$with_rootlibdir])
-
-AC_ARG_WITH([selinux],
- AS_HELP_STRING([--with-selinux], [enable SELinux support]),
- [], [with_selinux=no])
-AS_IF([test "x$with_selinux" = "xyes"], [
- LIBS_save=$LIBS
- AC_CHECK_LIB(selinux, getprevcon,
- [],
- AC_MSG_ERROR([SELinux selected but libselinux not found]))
- LIBS=$LIBS_save
- SELINUX_LIBS="-lselinux -lsepol"
- AC_DEFINE(WITH_SELINUX, [1] ,[SELinux support.])
-])
-AC_SUBST([SELINUX_LIBS])
-AM_CONDITIONAL(WITH_SELINUX, [test "x$with_selinux" = "xyes"])
-
-AC_ARG_ENABLE([debug],
- AS_HELP_STRING([--enable-debug], [enable debug messages @<:@default=disabled@:>@]),
- [], [enable_debug=no])
-AS_IF([test "x$enable_debug" = "xyes"], [ AC_DEFINE(ENABLE_DEBUG, [1], [Debug messages.]) ])
-
-AC_ARG_ENABLE([logging],
- AS_HELP_STRING([--disable-logging], [disable system logging @<:@default=enabled@:>@]),
- [], enable_logging=yes)
-AS_IF([test "x$enable_logging" = "xyes"], [ AC_DEFINE(ENABLE_LOGGING, [1], [System logging.]) ])
-
-AC_ARG_ENABLE([manpages],
- AS_HELP_STRING([--disable-manpages], [disable man pages @<:@default=enabled@:>@]),
- [], enable_manpages=yes)
-AM_CONDITIONAL([ENABLE_MANPAGES], [test "x$enable_manpages" = "xyes"])
-
-if test "x$cross_compiling" = "xno" ; then
- AC_CHECK_FILES([/usr/share/pci.ids], [pciids=/usr/share/pci.ids])
- AC_CHECK_FILES([/usr/share/hwdata/pci.ids], [pciids=/usr/share/hwdata/pci.ids])
- AC_CHECK_FILES([/usr/share/misc/pci.ids], [pciids=/usr/share/misc/pci.ids])
-fi
-
-AC_ARG_WITH(usb-ids-path,
- [AS_HELP_STRING([--with-usb-ids-path=DIR], [Path to usb.ids file])],
- [USB_DATABASE=${withval}],
- [if test -n "$usbids" ; then
- USB_DATABASE="$usbids"
- else
- PKG_CHECK_MODULES(USBUTILS, usbutils >= 0.82)
- AC_SUBST([USB_DATABASE], [$($PKG_CONFIG --variable=usbids usbutils)])
- fi])
-AC_MSG_CHECKING([for USB database location])
-AC_MSG_RESULT([$USB_DATABASE])
-AC_SUBST(USB_DATABASE)
-
-AC_ARG_WITH(pci-ids-path,
- [AS_HELP_STRING([--with-pci-ids-path=DIR], [Path to pci.ids file])],
- [PCI_DATABASE=${withval}],
- [if test -n "$pciids" ; then
- PCI_DATABASE="$pciids"
- else
- AC_MSG_ERROR([pci.ids not found, try --with-pci-ids-path=])
- fi])
-AC_MSG_CHECKING([for PCI database location])
-AC_MSG_RESULT([$PCI_DATABASE])
-AC_SUBST(PCI_DATABASE)
-
-AC_ARG_WITH(firmware-path,
- AS_HELP_STRING([--with-firmware-path=DIR[[[:DIR[...]]]]],
- [Firmware search path (default=ROOTPREFIX/lib/firmware/updates:ROOTPREFIX/lib/firmware)]),
- [], [with_firmware_path="$rootprefix/lib/firmware/updates:$rootprefix/lib/firmware"])
-OLD_IFS=$IFS
-IFS=:
-for i in $with_firmware_path; do
- if test "x${FIRMWARE_PATH}" = "x"; then
- FIRMWARE_PATH="\\\"${i}/\\\""
- else
- FIRMWARE_PATH="${FIRMWARE_PATH}, \\\"${i}/\\\""
- fi
-done
-IFS=$OLD_IFS
-AC_SUBST([FIRMWARE_PATH], [$FIRMWARE_PATH])
-
-AC_ARG_WITH([systemdsystemunitdir],
- AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
- [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
-AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ])
-AM_CONDITIONAL(WITH_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != "xno" ])
-
-# ------------------------------------------------------------------------------
-# GUdev - libudev gobject interface
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([gudev],
- AS_HELP_STRING([--disable-gudev], [disable Gobject libudev support @<:@default=enabled@:>@]),
- [], [enable_gudev=yes])
-AS_IF([test "x$enable_gudev" = "xyes"], [ PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.22.0 gobject-2.0 >= 2.22.0]) ])
-
-AC_ARG_ENABLE([introspection],
- AS_HELP_STRING([--disable-introspection], [disable GObject introspection @<:@default=enabled@:>@]),
- [], [enable_introspection=yes])
-AS_IF([test "x$enable_introspection" = "xyes"], [
- PKG_CHECK_MODULES([INTROSPECTION], [gobject-introspection-1.0 >= 0.6.2])
- AC_DEFINE([ENABLE_INTROSPECTION], [1], [enable GObject introspection support])
- AC_SUBST([G_IR_SCANNER], [$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)])
- AC_SUBST([G_IR_COMPILER], [$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)])
- AC_SUBST([G_IR_GENERATE], [$($PKG_CONFIG --variable=g_ir_generate gobject-introspection-1.0)])
- AC_SUBST([GIRDIR], [$($PKG_CONFIG --define-variable=datadir=${datadir} --variable=girdir gobject-introspection-1.0)])
- AC_SUBST([GIRTYPELIBDIR], [$($PKG_CONFIG --define-variable=libdir=${libdir} --variable=typelibdir gobject-introspection-1.0)])
-])
-AM_CONDITIONAL([ENABLE_INTROSPECTION], [test "x$enable_introspection" = "xyes"])
-AM_CONDITIONAL([ENABLE_GUDEV], [test "x$enable_gudev" = "xyes"])
-
-# ------------------------------------------------------------------------------
-# keymap - map custom hardware's multimedia keys
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([keymap],
- AS_HELP_STRING([--disable-keymap], [disable keymap fixup support @<:@default=enabled@:>@]),
- [], [enable_keymap=yes])
-AS_IF([test "x$enable_keymap" = "xyes"], [
- AC_PATH_PROG([GPERF], [gperf])
- if test -z "$GPERF"; then
- AC_MSG_ERROR([gperf is needed])
- fi
-
- AC_CHECK_HEADER([linux/input.h], [:], AC_MSG_ERROR([kernel headers not found]))
- AC_SUBST([INCLUDE_PREFIX], [$(echo '#include <linux/input.h>' | eval $ac_cpp -E - | sed -n '/linux\/input.h/ {s:.*"\(.*\)/linux/input.h".*:\1:; p; q}')])
-])
-AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = "xyes"])
-
-# ------------------------------------------------------------------------------
-# mtd_probe - autoloads FTL module for mtd devices
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([mtd_probe],
- AS_HELP_STRING([--disable-mtd_probe], [disable MTD support @<:@default=enabled@:>@]),
- [], [enable_mtd_probe=yes])
-AM_CONDITIONAL([ENABLE_MTD_PROBE], [test "x$enable_mtd_probe" = "xyes"])
-
-# ------------------------------------------------------------------------------
-# rule_generator - persistent network and optical device rule generator
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([rule_generator],
- AS_HELP_STRING([--enable-rule_generator], [enable persistent network + cdrom links support @<:@default=disabled@:>@]),
- [], [enable_rule_generator=no])
-AM_CONDITIONAL([ENABLE_RULE_GENERATOR], [test "x$enable_rule_generator" = "xyes"])
-
-# ------------------------------------------------------------------------------
-# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
-# ------------------------------------------------------------------------------
-AC_ARG_ENABLE([floppy],
- AS_HELP_STRING([--enable-floppy], [enable legacy floppy support @<:@default=disabled@:>@]),
- [], [enable_floppy=no])
-AM_CONDITIONAL([ENABLE_FLOPPY], [test "x$enable_floppy" = "xyes"])
-
-my_CFLAGS="-Wall \
--Wmissing-declarations -Wmissing-prototypes \
--Wnested-externs -Wpointer-arith \
--Wpointer-arith -Wsign-compare -Wchar-subscripts \
--Wstrict-prototypes -Wshadow \
--Wformat-security -Wtype-limits"
-AC_SUBST([my_CFLAGS])
-
-AC_CONFIG_HEADERS(config.h)
-AC_CONFIG_FILES([
- Makefile
- src/docs/Makefile
- src/docs/version.xml
- src/gudev/docs/Makefile
- src/gudev/docs/version.xml
-])
-
-AC_OUTPUT
-AC_MSG_RESULT([
- $PACKAGE $VERSION
- ========
-
- prefix: ${prefix}
- rootprefix: ${rootprefix}
- sysconfdir: ${sysconfdir}
- bindir: ${bindir}
- libdir: ${libdir}
- rootlibdir: ${rootlib_execdir}
- libexecdir: ${libexecdir}
- datarootdir: ${datarootdir}
- mandir: ${mandir}
- includedir: ${includedir}
- include_prefix: ${INCLUDE_PREFIX}
- systemdsystemunitdir: ${systemdsystemunitdir}
- firmware path: ${FIRMWARE_PATH}
- usb.ids: ${USB_DATABASE}
- pci.ids: ${PCI_DATABASE}
-
- compiler: ${CC}
- cflags: ${CFLAGS}
- ldflags: ${LDFLAGS}
- xsltproc: ${XSLTPROC}
- gperf: ${GPERF}
-
- logging: ${enable_logging}
- debug: ${enable_debug}
- selinux: ${with_selinux}
-
- man pages ${enable_manpages}
- gudev: ${enable_gudev}
- gintrospection: ${enable_introspection}
- keymap: ${enable_keymap}
- mtd_probe: ${enable_mtd_probe}
- rule_generator: ${enable_rule_generator}
- floppy: ${enable_floppy}
-])
diff --git a/src/udev/src/docs/.gitignore b/src/udev/docs/.gitignore
index dca700a998..1fb9c51424 100644
--- a/src/udev/src/docs/.gitignore
+++ b/src/udev/docs/.gitignore
@@ -1,3 +1,4 @@
+Makefile
libudev-overrides.txt
html/
tmpl/
diff --git a/src/udev/src/docs/Makefile.am b/src/udev/docs/Makefile.am
index 07d06eb14f..7cd4f9742c 100644
--- a/src/udev/src/docs/Makefile.am
+++ b/src/udev/docs/Makefile.am
@@ -21,7 +21,7 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=$(top_srcdir)/src
+DOC_SOURCE_DIR=$(top_srcdir)/src/udev
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
@@ -48,8 +48,8 @@ FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/src/libudev*.h
-CFILE_GLOB=$(top_srcdir)/src/libudev*.c
+HFILE_GLOB=$(top_srcdir)/src/udev/libudev*.h
+CFILE_GLOB=$(top_srcdir)/src/udev/libudev*.c
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
diff --git a/src/udev/src/docs/libudev-docs.xml b/src/udev/docs/libudev-docs.xml
index b7feb45529..b7feb45529 100644
--- a/src/udev/src/docs/libudev-docs.xml
+++ b/src/udev/docs/libudev-docs.xml
diff --git a/src/udev/src/docs/libudev-sections.txt b/src/udev/docs/libudev-sections.txt
index 15c3e934b5..15c3e934b5 100644
--- a/src/udev/src/docs/libudev-sections.txt
+++ b/src/udev/docs/libudev-sections.txt
diff --git a/src/udev/src/docs/libudev.types b/src/udev/docs/libudev.types
index e69de29bb2..e69de29bb2 100644
--- a/src/udev/src/docs/libudev.types
+++ b/src/udev/docs/libudev.types
diff --git a/src/udev/src/docs/version.xml.in b/src/udev/docs/version.xml.in
index d78bda9342..d78bda9342 100644
--- a/src/udev/src/docs/version.xml.in
+++ b/src/udev/docs/version.xml.in
diff --git a/src/udev/src/gudev/.gitignore b/src/udev/gudev/.gitignore
index d20fa523e4..d20fa523e4 100644
--- a/src/udev/src/gudev/.gitignore
+++ b/src/udev/gudev/.gitignore
diff --git a/src/udev/src/gudev/docs/.gitignore b/src/udev/gudev/docs/.gitignore
index 8eada6d409..5d7d73d9a6 100644
--- a/src/udev/src/gudev/docs/.gitignore
+++ b/src/udev/gudev/docs/.gitignore
@@ -1,3 +1,4 @@
+Makefile
gudev-overrides.txt
gudev-decl-list.txt
gudev-decl.txt
diff --git a/src/udev/src/gudev/docs/Makefile.am b/src/udev/gudev/docs/Makefile.am
index cfe696c503..036ef43026 100644
--- a/src/udev/src/gudev/docs/Makefile.am
+++ b/src/udev/gudev/docs/Makefile.am
@@ -21,7 +21,7 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
# e.g. DOC_SOURCE_DIR=../../../gtk
-DOC_SOURCE_DIR=$(top_srcdir)/src
+DOC_SOURCE_DIR=$(top_srcdir)/src/udev/gudev
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
@@ -48,8 +48,8 @@ FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
-HFILE_GLOB=$(top_srcdir)/src/gudev/*.h
-CFILE_GLOB=$(top_srcdir)/src/gudev/*.c
+HFILE_GLOB=$(top_srcdir)/src/udev/gudev/*.h
+CFILE_GLOB=$(top_srcdir)/src/udev/gudev/*.c
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
@@ -80,8 +80,8 @@ expand_content_files=
GTKDOC_CFLAGS = \
$(DBUS_GLIB_CFLAGS) \
$(GLIB_CFLAGS) \
- -I$(top_srcdir)/src/gudev \
- -I$(top_builddir)/src/gudev
+ -I$(top_srcdir)/src/udev/gudev \
+ -I$(top_builddir)/src/udev/gudev
GTKDOC_LIBS = \
$(GLIB_LIBS) \
diff --git a/src/udev/src/gudev/docs/gudev-docs.xml b/src/udev/gudev/docs/gudev-docs.xml
index f876c3bc05..f876c3bc05 100644
--- a/src/udev/src/gudev/docs/gudev-docs.xml
+++ b/src/udev/gudev/docs/gudev-docs.xml
diff --git a/src/udev/src/gudev/docs/gudev-sections.txt b/src/udev/gudev/docs/gudev-sections.txt
index 213e1a7465..213e1a7465 100644
--- a/src/udev/src/gudev/docs/gudev-sections.txt
+++ b/src/udev/gudev/docs/gudev-sections.txt
diff --git a/src/udev/src/gudev/docs/gudev.types b/src/udev/gudev/docs/gudev.types
index a89857a04d..a89857a04d 100644
--- a/src/udev/src/gudev/docs/gudev.types
+++ b/src/udev/gudev/docs/gudev.types
diff --git a/src/udev/src/gudev/docs/version.xml.in b/src/udev/gudev/docs/version.xml.in
index d78bda9342..d78bda9342 100644
--- a/src/udev/src/gudev/docs/version.xml.in
+++ b/src/udev/gudev/docs/version.xml.in
diff --git a/src/udev/src/gudev/gjs-example.js b/src/udev/gudev/gjs-example.js
index 5586fd6a61..5586fd6a61 100755
--- a/src/udev/src/gudev/gjs-example.js
+++ b/src/udev/gudev/gjs-example.js
diff --git a/src/udev/src/gudev/gudev-1.0.pc.in b/src/udev/gudev/gudev-1.0.pc.in
index 058262d767..058262d767 100644
--- a/src/udev/src/gudev/gudev-1.0.pc.in
+++ b/src/udev/gudev/gudev-1.0.pc.in
diff --git a/src/udev/src/gudev/gudev.h b/src/udev/gudev/gudev.h
index a313460817..a313460817 100644
--- a/src/udev/src/gudev/gudev.h
+++ b/src/udev/gudev/gudev.h
diff --git a/src/udev/src/gudev/gudevclient.c b/src/udev/gudev/gudevclient.c
index 2b94102ac5..2b94102ac5 100644
--- a/src/udev/src/gudev/gudevclient.c
+++ b/src/udev/gudev/gudevclient.c
diff --git a/src/udev/src/gudev/gudevclient.h b/src/udev/gudev/gudevclient.h
index b425d03d48..b425d03d48 100644
--- a/src/udev/src/gudev/gudevclient.h
+++ b/src/udev/gudev/gudevclient.h
diff --git a/src/udev/src/gudev/gudevdevice.c b/src/udev/gudev/gudevdevice.c
index 62a26f99b7..62a26f99b7 100644
--- a/src/udev/src/gudev/gudevdevice.c
+++ b/src/udev/gudev/gudevdevice.c
diff --git a/src/udev/src/gudev/gudevdevice.h b/src/udev/gudev/gudevdevice.h
index d4873bad0f..d4873bad0f 100644
--- a/src/udev/src/gudev/gudevdevice.h
+++ b/src/udev/gudev/gudevdevice.h
diff --git a/src/udev/src/gudev/gudevenumerator.c b/src/udev/gudev/gudevenumerator.c
index db09074625..db09074625 100644
--- a/src/udev/src/gudev/gudevenumerator.c
+++ b/src/udev/gudev/gudevenumerator.c
diff --git a/src/udev/src/gudev/gudevenumerator.h b/src/udev/gudev/gudevenumerator.h
index 3fddccf573..3fddccf573 100644
--- a/src/udev/src/gudev/gudevenumerator.h
+++ b/src/udev/gudev/gudevenumerator.h
diff --git a/src/udev/src/gudev/gudevenums.h b/src/udev/gudev/gudevenums.h
index c3a0aa8747..c3a0aa8747 100644
--- a/src/udev/src/gudev/gudevenums.h
+++ b/src/udev/gudev/gudevenums.h
diff --git a/src/udev/src/gudev/gudevenumtypes.c.template b/src/udev/gudev/gudevenumtypes.c.template
index fc30b39e2e..fc30b39e2e 100644
--- a/src/udev/src/gudev/gudevenumtypes.c.template
+++ b/src/udev/gudev/gudevenumtypes.c.template
diff --git a/src/udev/src/gudev/gudevenumtypes.h.template b/src/udev/gudev/gudevenumtypes.h.template
index d0ab3393e6..d0ab3393e6 100644
--- a/src/udev/src/gudev/gudevenumtypes.h.template
+++ b/src/udev/gudev/gudevenumtypes.h.template
diff --git a/src/udev/src/gudev/gudevmarshal.list b/src/udev/gudev/gudevmarshal.list
index 7e665999e8..7e665999e8 100644
--- a/src/udev/src/gudev/gudevmarshal.list
+++ b/src/udev/gudev/gudevmarshal.list
diff --git a/src/udev/src/gudev/gudevprivate.h b/src/udev/gudev/gudevprivate.h
index 8866f52b88..8866f52b88 100644
--- a/src/udev/src/gudev/gudevprivate.h
+++ b/src/udev/gudev/gudevprivate.h
diff --git a/src/udev/src/gudev/gudevtypes.h b/src/udev/gudev/gudevtypes.h
index 888482783d..888482783d 100644
--- a/src/udev/src/gudev/gudevtypes.h
+++ b/src/udev/gudev/gudevtypes.h
diff --git a/src/udev/src/gudev/seed-example-enum.js b/src/udev/gudev/seed-example-enum.js
index 66206ad806..66206ad806 100755
--- a/src/udev/src/gudev/seed-example-enum.js
+++ b/src/udev/gudev/seed-example-enum.js
diff --git a/src/udev/src/gudev/seed-example.js b/src/udev/gudev/seed-example.js
index e2ac324d23..e2ac324d23 100755
--- a/src/udev/src/gudev/seed-example.js
+++ b/src/udev/gudev/seed-example.js
diff --git a/src/udev/src/keymap/.gitignore b/src/udev/keymap/.gitignore
index 4567584f4e..4567584f4e 100644
--- a/src/udev/src/keymap/.gitignore
+++ b/src/udev/keymap/.gitignore
diff --git a/src/udev/src/keymap/95-keyboard-force-release.rules b/src/udev/keymap/95-keyboard-force-release.rules
index 03d56e8aa4..03d56e8aa4 100644
--- a/src/udev/src/keymap/95-keyboard-force-release.rules
+++ b/src/udev/keymap/95-keyboard-force-release.rules
diff --git a/src/udev/src/keymap/95-keymap.rules b/src/udev/keymap/95-keymap.rules
index bbf311a17a..bbf311a17a 100644
--- a/src/udev/src/keymap/95-keymap.rules
+++ b/src/udev/keymap/95-keymap.rules
diff --git a/src/udev/src/keymap/README.keymap.txt b/src/udev/keymap/README.keymap.txt
index 52d50ed2de..52d50ed2de 100644
--- a/src/udev/src/keymap/README.keymap.txt
+++ b/src/udev/keymap/README.keymap.txt
diff --git a/src/udev/src/keymap/check-keymaps.sh b/src/udev/keymap/check-keymaps.sh
index 405168c667..405168c667 100755
--- a/src/udev/src/keymap/check-keymaps.sh
+++ b/src/udev/keymap/check-keymaps.sh
diff --git a/src/udev/src/keymap/findkeyboards b/src/udev/keymap/findkeyboards
index 9ce27429b2..9ce27429b2 100755
--- a/src/udev/src/keymap/findkeyboards
+++ b/src/udev/keymap/findkeyboards
diff --git a/src/udev/src/keymap/force-release-maps/common-volume-keys b/src/udev/keymap/force-release-maps/common-volume-keys
index 3a7654d735..3a7654d735 100644
--- a/src/udev/src/keymap/force-release-maps/common-volume-keys
+++ b/src/udev/keymap/force-release-maps/common-volume-keys
diff --git a/src/udev/src/keymap/force-release-maps/dell-touchpad b/src/udev/keymap/force-release-maps/dell-touchpad
index 18e9bdee66..18e9bdee66 100644
--- a/src/udev/src/keymap/force-release-maps/dell-touchpad
+++ b/src/udev/keymap/force-release-maps/dell-touchpad
diff --git a/src/udev/src/keymap/force-release-maps/hp-other b/src/udev/keymap/force-release-maps/hp-other
index 6621370095..6621370095 100644
--- a/src/udev/src/keymap/force-release-maps/hp-other
+++ b/src/udev/keymap/force-release-maps/hp-other
diff --git a/src/udev/src/keymap/force-release-maps/samsung-90x3a b/src/udev/keymap/force-release-maps/samsung-90x3a
index 65707effb7..65707effb7 100644
--- a/src/udev/src/keymap/force-release-maps/samsung-90x3a
+++ b/src/udev/keymap/force-release-maps/samsung-90x3a
diff --git a/src/udev/src/keymap/force-release-maps/samsung-other b/src/udev/keymap/force-release-maps/samsung-other
index c51123a0b6..c51123a0b6 100644
--- a/src/udev/src/keymap/force-release-maps/samsung-other
+++ b/src/udev/keymap/force-release-maps/samsung-other
diff --git a/src/udev/src/keymap/keyboard-force-release.sh.in b/src/udev/keymap/keyboard-force-release.sh.in
index dd040cebc3..dd040cebc3 100755
--- a/src/udev/src/keymap/keyboard-force-release.sh.in
+++ b/src/udev/keymap/keyboard-force-release.sh.in
diff --git a/src/udev/src/keymap/keymap.c b/src/udev/keymap/keymap.c
index 92ec67b3a6..4c30ccf314 100644
--- a/src/udev/src/keymap/keymap.c
+++ b/src/udev/keymap/keymap.c
@@ -423,7 +423,7 @@ int main(int argc, char **argv)
if (f) {
merge_table(fd, f);
} else {
- snprintf(keymap_path, sizeof(keymap_path), "%s%s", PKGLIBEXECDIR "/keymaps/", filearg);
+ snprintf(keymap_path, sizeof(keymap_path), "%s%s", UDEVLIBEXECDIR "/keymaps/", filearg);
f = fopen(keymap_path, "r");
if (f)
merge_table(fd, f);
diff --git a/src/udev/src/keymap/keymaps/acer b/src/udev/keymap/keymaps/acer
index 4e7c297dea..4e7c297dea 100644
--- a/src/udev/src/keymap/keymaps/acer
+++ b/src/udev/keymap/keymaps/acer
diff --git a/src/udev/src/keymap/keymaps/acer-aspire_5720 b/src/udev/keymap/keymaps/acer-aspire_5720
index 1496d63a52..1496d63a52 100644
--- a/src/udev/src/keymap/keymaps/acer-aspire_5720
+++ b/src/udev/keymap/keymaps/acer-aspire_5720
diff --git a/src/udev/src/keymap/keymaps/acer-aspire_5920g b/src/udev/keymap/keymaps/acer-aspire_5920g
index 633c4e854c..633c4e854c 100644
--- a/src/udev/src/keymap/keymaps/acer-aspire_5920g
+++ b/src/udev/keymap/keymaps/acer-aspire_5920g
diff --git a/src/udev/src/keymap/keymaps/acer-aspire_6920 b/src/udev/keymap/keymaps/acer-aspire_6920
index 699c954b4e..699c954b4e 100644
--- a/src/udev/src/keymap/keymaps/acer-aspire_6920
+++ b/src/udev/keymap/keymaps/acer-aspire_6920
diff --git a/src/udev/src/keymap/keymaps/acer-aspire_8930 b/src/udev/keymap/keymaps/acer-aspire_8930
index fb27bfb4f5..fb27bfb4f5 100644
--- a/src/udev/src/keymap/keymaps/acer-aspire_8930
+++ b/src/udev/keymap/keymaps/acer-aspire_8930
diff --git a/src/udev/src/keymap/keymaps/acer-travelmate_c300 b/src/udev/keymap/keymaps/acer-travelmate_c300
index bfef4cf868..bfef4cf868 100644
--- a/src/udev/src/keymap/keymaps/acer-travelmate_c300
+++ b/src/udev/keymap/keymaps/acer-travelmate_c300
diff --git a/src/udev/src/keymap/keymaps/asus b/src/udev/keymap/keymaps/asus
index 2a5995f982..2a5995f982 100644
--- a/src/udev/src/keymap/keymaps/asus
+++ b/src/udev/keymap/keymaps/asus
diff --git a/src/udev/src/keymap/keymaps/compaq-e_evo b/src/udev/keymap/keymaps/compaq-e_evo
index 5fbc573aa4..5fbc573aa4 100644
--- a/src/udev/src/keymap/keymaps/compaq-e_evo
+++ b/src/udev/keymap/keymaps/compaq-e_evo
diff --git a/src/udev/src/keymap/keymaps/dell b/src/udev/keymap/keymaps/dell
index 4f907b3eef..4f907b3eef 100644
--- a/src/udev/src/keymap/keymaps/dell
+++ b/src/udev/keymap/keymaps/dell
diff --git a/src/udev/src/keymap/keymaps/dell-latitude-xt2 b/src/udev/keymap/keymaps/dell-latitude-xt2
index 39872f559d..39872f559d 100644
--- a/src/udev/src/keymap/keymaps/dell-latitude-xt2
+++ b/src/udev/keymap/keymaps/dell-latitude-xt2
diff --git a/src/udev/src/keymap/keymaps/everex-xt5000 b/src/udev/keymap/keymaps/everex-xt5000
index 4823a832f5..4823a832f5 100644
--- a/src/udev/src/keymap/keymaps/everex-xt5000
+++ b/src/udev/keymap/keymaps/everex-xt5000
diff --git a/src/udev/src/keymap/keymaps/fujitsu-amilo_li_2732 b/src/udev/keymap/keymaps/fujitsu-amilo_li_2732
index 9b8b36a170..9b8b36a170 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-amilo_li_2732
+++ b/src/udev/keymap/keymaps/fujitsu-amilo_li_2732
diff --git a/src/udev/src/keymap/keymaps/fujitsu-amilo_pa_2548 b/src/udev/keymap/keymaps/fujitsu-amilo_pa_2548
index f7b0c52444..f7b0c52444 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-amilo_pa_2548
+++ b/src/udev/keymap/keymaps/fujitsu-amilo_pa_2548
diff --git a/src/udev/src/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 b/src/udev/keymap/keymaps/fujitsu-amilo_pro_edition_v3505
index d2e38cbb23..d2e38cbb23 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-amilo_pro_edition_v3505
+++ b/src/udev/keymap/keymaps/fujitsu-amilo_pro_edition_v3505
diff --git a/src/udev/src/keymap/keymaps/fujitsu-amilo_pro_v3205 b/src/udev/keymap/keymaps/fujitsu-amilo_pro_v3205
index 43e3199d59..43e3199d59 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-amilo_pro_v3205
+++ b/src/udev/keymap/keymaps/fujitsu-amilo_pro_v3205
diff --git a/src/udev/src/keymap/keymaps/fujitsu-amilo_si_1520 b/src/udev/keymap/keymaps/fujitsu-amilo_si_1520
index 1419bd9b5e..1419bd9b5e 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-amilo_si_1520
+++ b/src/udev/keymap/keymaps/fujitsu-amilo_si_1520
diff --git a/src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v5 b/src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v5
index d3d056b366..d3d056b366 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v5
+++ b/src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v5
diff --git a/src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v6 b/src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v6
index 52c70c50cb..52c70c50cb 100644
--- a/src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v6
+++ b/src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v6
diff --git a/src/udev/src/keymap/keymaps/genius-slimstar-320 b/src/udev/keymap/keymaps/genius-slimstar-320
index d0a3656dd8..d0a3656dd8 100644
--- a/src/udev/src/keymap/keymaps/genius-slimstar-320
+++ b/src/udev/keymap/keymaps/genius-slimstar-320
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard b/src/udev/keymap/keymaps/hewlett-packard
index 4461fa2ce5..4461fa2ce5 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard
+++ b/src/udev/keymap/keymaps/hewlett-packard
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard-2510p_2530p b/src/udev/keymap/keymaps/hewlett-packard-2510p_2530p
index 41ad2e9b5a..41ad2e9b5a 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard-2510p_2530p
+++ b/src/udev/keymap/keymaps/hewlett-packard-2510p_2530p
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard-compaq_elitebook b/src/udev/keymap/keymaps/hewlett-packard-compaq_elitebook
index 42007c5483..42007c5483 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard-compaq_elitebook
+++ b/src/udev/keymap/keymaps/hewlett-packard-compaq_elitebook
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard-pavilion b/src/udev/keymap/keymaps/hewlett-packard-pavilion
index 3d3cefc8e6..3d3cefc8e6 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard-pavilion
+++ b/src/udev/keymap/keymaps/hewlett-packard-pavilion
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard-presario-2100 b/src/udev/keymap/keymaps/hewlett-packard-presario-2100
index 1df39dcbd2..1df39dcbd2 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard-presario-2100
+++ b/src/udev/keymap/keymaps/hewlett-packard-presario-2100
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard-tablet b/src/udev/keymap/keymaps/hewlett-packard-tablet
index d19005ab90..d19005ab90 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard-tablet
+++ b/src/udev/keymap/keymaps/hewlett-packard-tablet
diff --git a/src/udev/src/keymap/keymaps/hewlett-packard-tx2 b/src/udev/keymap/keymaps/hewlett-packard-tx2
index 36a690fcf6..36a690fcf6 100644
--- a/src/udev/src/keymap/keymaps/hewlett-packard-tx2
+++ b/src/udev/keymap/keymaps/hewlett-packard-tx2
diff --git a/src/udev/src/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint b/src/udev/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint
index 027e50bf88..027e50bf88 100644
--- a/src/udev/src/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint
+++ b/src/udev/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint
diff --git a/src/udev/src/keymap/keymaps/inventec-symphony_6.0_7.0 b/src/udev/keymap/keymaps/inventec-symphony_6.0_7.0
index 4a8b4ba5a7..4a8b4ba5a7 100644
--- a/src/udev/src/keymap/keymaps/inventec-symphony_6.0_7.0
+++ b/src/udev/keymap/keymaps/inventec-symphony_6.0_7.0
diff --git a/src/udev/src/keymap/keymaps/lenovo-3000 b/src/udev/keymap/keymaps/lenovo-3000
index 5bd165654a..5bd165654a 100644
--- a/src/udev/src/keymap/keymaps/lenovo-3000
+++ b/src/udev/keymap/keymaps/lenovo-3000
diff --git a/src/udev/src/keymap/keymaps/lenovo-ideapad b/src/udev/keymap/keymaps/lenovo-ideapad
index fc339839f2..fc339839f2 100644
--- a/src/udev/src/keymap/keymaps/lenovo-ideapad
+++ b/src/udev/keymap/keymaps/lenovo-ideapad
diff --git a/src/udev/src/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint b/src/udev/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
index 47e8846a68..47e8846a68 100644
--- a/src/udev/src/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
+++ b/src/udev/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint
diff --git a/src/udev/src/keymap/keymaps/lenovo-thinkpad_x200_tablet b/src/udev/keymap/keymaps/lenovo-thinkpad_x200_tablet
index 31ea3b2c70..31ea3b2c70 100644
--- a/src/udev/src/keymap/keymaps/lenovo-thinkpad_x200_tablet
+++ b/src/udev/keymap/keymaps/lenovo-thinkpad_x200_tablet
diff --git a/src/udev/src/keymap/keymaps/lenovo-thinkpad_x6_tablet b/src/udev/keymap/keymaps/lenovo-thinkpad_x6_tablet
index 6fd16b5662..6fd16b5662 100644
--- a/src/udev/src/keymap/keymaps/lenovo-thinkpad_x6_tablet
+++ b/src/udev/keymap/keymaps/lenovo-thinkpad_x6_tablet
diff --git a/src/udev/src/keymap/keymaps/lg-x110 b/src/udev/keymap/keymaps/lg-x110
index ba08cba3fe..ba08cba3fe 100644
--- a/src/udev/src/keymap/keymaps/lg-x110
+++ b/src/udev/keymap/keymaps/lg-x110
diff --git a/src/udev/src/keymap/keymaps/logitech-wave b/src/udev/keymap/keymaps/logitech-wave
index caa5d5d310..caa5d5d310 100644
--- a/src/udev/src/keymap/keymaps/logitech-wave
+++ b/src/udev/keymap/keymaps/logitech-wave
diff --git a/src/udev/src/keymap/keymaps/logitech-wave-cordless b/src/udev/keymap/keymaps/logitech-wave-cordless
index a10dad5e4d..a10dad5e4d 100644
--- a/src/udev/src/keymap/keymaps/logitech-wave-cordless
+++ b/src/udev/keymap/keymaps/logitech-wave-cordless
diff --git a/src/udev/src/keymap/keymaps/logitech-wave-pro-cordless b/src/udev/keymap/keymaps/logitech-wave-pro-cordless
index e7aa02206c..e7aa02206c 100644
--- a/src/udev/src/keymap/keymaps/logitech-wave-pro-cordless
+++ b/src/udev/keymap/keymaps/logitech-wave-pro-cordless
diff --git a/src/udev/src/keymap/keymaps/maxdata-pro_7000 b/src/udev/keymap/keymaps/maxdata-pro_7000
index c0e4f77af4..c0e4f77af4 100644
--- a/src/udev/src/keymap/keymaps/maxdata-pro_7000
+++ b/src/udev/keymap/keymaps/maxdata-pro_7000
diff --git a/src/udev/src/keymap/keymaps/medion-fid2060 b/src/udev/keymap/keymaps/medion-fid2060
index 5a76c76799..5a76c76799 100644
--- a/src/udev/src/keymap/keymaps/medion-fid2060
+++ b/src/udev/keymap/keymaps/medion-fid2060
diff --git a/src/udev/src/keymap/keymaps/medionnb-a555 b/src/udev/keymap/keymaps/medionnb-a555
index c3b5dfa60b..c3b5dfa60b 100644
--- a/src/udev/src/keymap/keymaps/medionnb-a555
+++ b/src/udev/keymap/keymaps/medionnb-a555
diff --git a/src/udev/src/keymap/keymaps/micro-star b/src/udev/keymap/keymaps/micro-star
index 4a438698ed..4a438698ed 100644
--- a/src/udev/src/keymap/keymaps/micro-star
+++ b/src/udev/keymap/keymaps/micro-star
diff --git a/src/udev/src/keymap/keymaps/module-asus-w3j b/src/udev/keymap/keymaps/module-asus-w3j
index 773e0b3e82..773e0b3e82 100644
--- a/src/udev/src/keymap/keymaps/module-asus-w3j
+++ b/src/udev/keymap/keymaps/module-asus-w3j
diff --git a/src/udev/src/keymap/keymaps/module-ibm b/src/udev/keymap/keymaps/module-ibm
index a92dfa2506..a92dfa2506 100644
--- a/src/udev/src/keymap/keymaps/module-ibm
+++ b/src/udev/keymap/keymaps/module-ibm
diff --git a/src/udev/src/keymap/keymaps/module-lenovo b/src/udev/keymap/keymaps/module-lenovo
index 8e38883091..8e38883091 100644
--- a/src/udev/src/keymap/keymaps/module-lenovo
+++ b/src/udev/keymap/keymaps/module-lenovo
diff --git a/src/udev/src/keymap/keymaps/module-sony b/src/udev/keymap/keymaps/module-sony
index 7c000131d1..7c000131d1 100644
--- a/src/udev/src/keymap/keymaps/module-sony
+++ b/src/udev/keymap/keymaps/module-sony
diff --git a/src/udev/src/keymap/keymaps/module-sony-old b/src/udev/keymap/keymaps/module-sony-old
index 596a34258a..596a34258a 100644
--- a/src/udev/src/keymap/keymaps/module-sony-old
+++ b/src/udev/keymap/keymaps/module-sony-old
diff --git a/src/udev/src/keymap/keymaps/module-sony-vgn b/src/udev/keymap/keymaps/module-sony-vgn
index c8ba001516..c8ba001516 100644
--- a/src/udev/src/keymap/keymaps/module-sony-vgn
+++ b/src/udev/keymap/keymaps/module-sony-vgn
diff --git a/src/udev/src/keymap/keymaps/olpc-xo b/src/udev/keymap/keymaps/olpc-xo
index 34434a121d..34434a121d 100644
--- a/src/udev/src/keymap/keymaps/olpc-xo
+++ b/src/udev/keymap/keymaps/olpc-xo
diff --git a/src/udev/src/keymap/keymaps/onkyo b/src/udev/keymap/keymaps/onkyo
index ee864ade4d..ee864ade4d 100644
--- a/src/udev/src/keymap/keymaps/onkyo
+++ b/src/udev/keymap/keymaps/onkyo
diff --git a/src/udev/src/keymap/keymaps/oqo-model2 b/src/udev/keymap/keymaps/oqo-model2
index b7f4851abe..b7f4851abe 100644
--- a/src/udev/src/keymap/keymaps/oqo-model2
+++ b/src/udev/keymap/keymaps/oqo-model2
diff --git a/src/udev/src/keymap/keymaps/samsung-90x3a b/src/udev/keymap/keymaps/samsung-90x3a
index 8b65eb6d03..8b65eb6d03 100644
--- a/src/udev/src/keymap/keymaps/samsung-90x3a
+++ b/src/udev/keymap/keymaps/samsung-90x3a
diff --git a/src/udev/src/keymap/keymaps/samsung-other b/src/udev/keymap/keymaps/samsung-other
index 3ac0c2f10c..3ac0c2f10c 100644
--- a/src/udev/src/keymap/keymaps/samsung-other
+++ b/src/udev/keymap/keymaps/samsung-other
diff --git a/src/udev/src/keymap/keymaps/samsung-sq1us b/src/udev/keymap/keymaps/samsung-sq1us
index ea2141ef84..ea2141ef84 100644
--- a/src/udev/src/keymap/keymaps/samsung-sq1us
+++ b/src/udev/keymap/keymaps/samsung-sq1us
diff --git a/src/udev/src/keymap/keymaps/samsung-sx20s b/src/udev/keymap/keymaps/samsung-sx20s
index 9d954ee415..9d954ee415 100644
--- a/src/udev/src/keymap/keymaps/samsung-sx20s
+++ b/src/udev/keymap/keymaps/samsung-sx20s
diff --git a/src/udev/src/keymap/keymaps/toshiba-satellite_a100 b/src/udev/keymap/keymaps/toshiba-satellite_a100
index 22007be71b..22007be71b 100644
--- a/src/udev/src/keymap/keymaps/toshiba-satellite_a100
+++ b/src/udev/keymap/keymaps/toshiba-satellite_a100
diff --git a/src/udev/src/keymap/keymaps/toshiba-satellite_a110 b/src/udev/keymap/keymaps/toshiba-satellite_a110
index 1429409351..1429409351 100644
--- a/src/udev/src/keymap/keymaps/toshiba-satellite_a110
+++ b/src/udev/keymap/keymaps/toshiba-satellite_a110
diff --git a/src/udev/src/keymap/keymaps/toshiba-satellite_m30x b/src/udev/keymap/keymaps/toshiba-satellite_m30x
index ae8e34941b..ae8e34941b 100644
--- a/src/udev/src/keymap/keymaps/toshiba-satellite_m30x
+++ b/src/udev/keymap/keymaps/toshiba-satellite_m30x
diff --git a/src/udev/src/keymap/keymaps/zepto-znote b/src/udev/keymap/keymaps/zepto-znote
index cf72fda47b..cf72fda47b 100644
--- a/src/udev/src/keymap/keymaps/zepto-znote
+++ b/src/udev/keymap/keymaps/zepto-znote
diff --git a/src/udev/src/libudev-device-private.c b/src/udev/libudev-device-private.c
index 13fdb8eb57..13fdb8eb57 100644
--- a/src/udev/src/libudev-device-private.c
+++ b/src/udev/libudev-device-private.c
diff --git a/src/udev/src/libudev-device.c b/src/udev/libudev-device.c
index 10f28b8cd5..10f28b8cd5 100644
--- a/src/udev/src/libudev-device.c
+++ b/src/udev/libudev-device.c
diff --git a/src/udev/src/libudev-enumerate.c b/src/udev/libudev-enumerate.c
index 034d96feba..034d96feba 100644
--- a/src/udev/src/libudev-enumerate.c
+++ b/src/udev/libudev-enumerate.c
diff --git a/src/udev/src/libudev-list.c b/src/udev/libudev-list.c
index 4bdef35ae8..4bdef35ae8 100644
--- a/src/udev/src/libudev-list.c
+++ b/src/udev/libudev-list.c
diff --git a/src/udev/src/libudev-monitor.c b/src/udev/libudev-monitor.c
index 77dc55572f..77dc55572f 100644
--- a/src/udev/src/libudev-monitor.c
+++ b/src/udev/libudev-monitor.c
diff --git a/src/udev/src/libudev-private.h b/src/udev/libudev-private.h
index 5f5c64a63d..4bbd8422fb 100644
--- a/src/udev/src/libudev-private.h
+++ b/src/udev/libudev-private.h
@@ -194,7 +194,7 @@ unsigned long long ts_usec(const struct timespec *ts);
unsigned long long now_usec(void);
/* libudev-selinux-private.c */
-#ifndef WITH_SELINUX
+#ifndef HAVE_SELINUX
static inline void udev_selinux_init(struct udev *udev) {}
static inline void udev_selinux_exit(struct udev *udev) {}
static inline void udev_selinux_lsetfilecon(struct udev *udev, const char *file, unsigned int mode) {}
diff --git a/src/udev/src/libudev-queue-private.c b/src/udev/libudev-queue-private.c
index 71771950aa..71771950aa 100644
--- a/src/udev/src/libudev-queue-private.c
+++ b/src/udev/libudev-queue-private.c
diff --git a/src/udev/src/libudev-queue.c b/src/udev/libudev-queue.c
index 0e82cb6ae8..0e82cb6ae8 100644
--- a/src/udev/src/libudev-queue.c
+++ b/src/udev/libudev-queue.c
diff --git a/src/udev/src/libudev-selinux-private.c b/src/udev/libudev-selinux-private.c
index 0f2a617b18..0f2a617b18 100644
--- a/src/udev/src/libudev-selinux-private.c
+++ b/src/udev/libudev-selinux-private.c
diff --git a/src/udev/src/libudev-util-private.c b/src/udev/libudev-util-private.c
index 08f0ba2228..08f0ba2228 100644
--- a/src/udev/src/libudev-util-private.c
+++ b/src/udev/libudev-util-private.c
diff --git a/src/udev/src/libudev-util.c b/src/udev/libudev-util.c
index 7e345f0fb6..7e345f0fb6 100644
--- a/src/udev/src/libudev-util.c
+++ b/src/udev/libudev-util.c
diff --git a/src/udev/src/libudev.c b/src/udev/libudev.c
index d954daef68..dcba15de41 100644
--- a/src/udev/src/libudev.c
+++ b/src/udev/libudev.c
@@ -256,7 +256,7 @@ UDEV_EXPORT struct udev *udev_new(void)
if (udev->rules_path[0] == NULL) {
/* /usr/lib/udev -- system rules */
- udev->rules_path[0] = strdup(PKGLIBEXECDIR "/rules.d");
+ udev->rules_path[0] = strdup(UDEVLIBEXECDIR "/rules.d");
if (!udev->rules_path[0])
goto err;
diff --git a/src/udev/src/libudev.h b/src/udev/libudev.h
index 10e098d4f7..10e098d4f7 100644
--- a/src/udev/src/libudev.h
+++ b/src/udev/libudev.h
diff --git a/src/udev/src/libudev.pc.in b/src/udev/libudev.pc.in
index c9a47fc9b8..c9a47fc9b8 100644
--- a/src/udev/src/libudev.pc.in
+++ b/src/udev/libudev.pc.in
diff --git a/src/udev/m4/.gitignore b/src/udev/m4/.gitignore
deleted file mode 100644
index 0ca2c03722..0000000000
--- a/src/udev/m4/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-libtool.m4
-lt*m4
-gtk-doc.m4
-
diff --git a/src/udev/src/mtd_probe/75-probe_mtd.rules b/src/udev/mtd_probe/75-probe_mtd.rules
index c0e0839785..c0e0839785 100644
--- a/src/udev/src/mtd_probe/75-probe_mtd.rules
+++ b/src/udev/mtd_probe/75-probe_mtd.rules
diff --git a/src/udev/src/mtd_probe/mtd_probe.c b/src/udev/mtd_probe/mtd_probe.c
index 1aa08d3851..1aa08d3851 100644
--- a/src/udev/src/mtd_probe/mtd_probe.c
+++ b/src/udev/mtd_probe/mtd_probe.c
diff --git a/src/udev/src/mtd_probe/mtd_probe.h b/src/udev/mtd_probe/mtd_probe.h
index 2a37ede578..2a37ede578 100644
--- a/src/udev/src/mtd_probe/mtd_probe.h
+++ b/src/udev/mtd_probe/mtd_probe.h
diff --git a/src/udev/src/mtd_probe/probe_smartmedia.c b/src/udev/mtd_probe/probe_smartmedia.c
index b3cdefc633..b3cdefc633 100644
--- a/src/udev/src/mtd_probe/probe_smartmedia.c
+++ b/src/udev/mtd_probe/probe_smartmedia.c
diff --git a/src/udev/rules/42-usb-hid-pm.rules b/src/udev/rules/42-usb-hid-pm.rules
deleted file mode 100644
index d5d5897c31..0000000000
--- a/src/udev/rules/42-usb-hid-pm.rules
+++ /dev/null
@@ -1,49 +0,0 @@
-#
-# Enable autosuspend for qemu emulated usb hid devices.
-#
-# Note that there are buggy qemu versions which advertise remote
-# wakeup support but don't actually implement it correctly. This
-# is the reason why we need a match for the serial number here.
-# The serial number "42" is used to tag the implementations where
-# remote wakeup is working.
-#
-
-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Mouse", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto"
-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Tablet", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto"
-ACTION=="add", SUBSYSTEM=="usb", ATTR{product}=="QEMU USB Keyboard", ATTR{serial}=="42", TEST=="power/control", ATTR{power/control}="auto"
-
-#
-# Enable autosuspend for KVM and iLO usb hid devices. These are
-# effectively self-powered (despite what some claim in their USB
-# profiles) and so it's safe to do so.
-#
-
-# AMI 046b:ff10
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="046b", ATTR{idProduct}=="ff10", TEST=="power/control", ATTR{power/control}="auto"
-
-#
-# Catch-all for Avocent HID devices. Keyed off interface in order to only
-# trigger on HID class devices.
-#
-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0624", ATTR{bInterfaceClass}=="03", TEST=="../power/control", ATTR{../power/control}="auto"
-
-# Dell DRAC 4
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="2500", TEST=="power/control", ATTR{power/control}="auto"
-
-# Dell DRAC 5
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="413c", ATTR{idProduct}=="0000", TEST=="power/control", ATTR{power/control}="auto"
-
-# Hewlett Packard iLO
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="7029", TEST=="power/control", ATTR{power/control}="auto"
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", ATTR{idProduct}=="1027", TEST=="power/control", ATTR{power/control}="auto"
-
-# IBM remote access
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4001", TEST=="power/control", ATTR{power/control}="auto"
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04b3", ATTR{idProduct}=="4002", TEST=="power/control", ATTR{power/control}="auto"
-ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto"
-
-# Raritan Computer, Inc KVM.
-ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
-
-# USB HID devices that are internal to the machine should also be safe to autosuspend
-ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
diff --git a/src/udev/rules/50-udev-default.rules b/src/udev/rules/50-udev-default.rules
deleted file mode 100644
index 5ad787fc76..0000000000
--- a/src/udev/rules/50-udev-default.rules
+++ /dev/null
@@ -1,107 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-KERNEL=="pty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
-KERNEL=="tty[pqrstuvwxyzabcdef][0123456789abcdef]", GROUP="tty", MODE="0660"
-KERNEL=="ptmx", GROUP="tty", MODE="0666"
-KERNEL=="tty", GROUP="tty", MODE="0666"
-KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
-KERNEL=="vcs|vcs[0-9]*|vcsa|vcsa[0-9]*", GROUP="tty"
-
-# serial
-KERNEL=="tty[A-Z]*[0-9]|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
-KERNEL=="mwave", GROUP="dialout"
-KERNEL=="hvc*|hvsi*", GROUP="dialout"
-
-# virtio serial / console ports
-KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
-
-# mem
-KERNEL=="null|zero|full|random|urandom", MODE="0666"
-KERNEL=="mem|kmem|port|nvram", GROUP="kmem", MODE="0640"
-
-# input
-SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id"
-KERNEL=="mouse*|mice|event*", MODE="0640"
-KERNEL=="ts[0-9]*|uinput", MODE="0640"
-KERNEL=="js[0-9]*", MODE="0644"
-
-# video4linux
-SUBSYSTEM=="video4linux", GROUP="video"
-KERNEL=="vttuner*", GROUP="video"
-KERNEL=="vtx*|vbi*", GROUP="video"
-KERNEL=="winradio*", GROUP="video"
-
-# graphics
-KERNEL=="agpgart", GROUP="video"
-KERNEL=="pmu", GROUP="video"
-KERNEL=="nvidia*|nvidiactl*", GROUP="video"
-SUBSYSTEM=="graphics", GROUP="video"
-SUBSYSTEM=="drm", GROUP="video"
-
-# sound
-SUBSYSTEM=="sound", GROUP="audio", \
- OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
-
-# DVB (video)
-SUBSYSTEM=="dvb", GROUP="video"
-
-# FireWire (firewire-core driver: IIDC devices, AV/C devices)
-SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
-SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
-SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
-SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
-
-# 'libusb' device nodes
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id"
-
-# printer
-KERNEL=="parport[0-9]*", GROUP="lp"
-SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
-SUBSYSTEM=="ppdev", GROUP="lp"
-KERNEL=="lp[0-9]*", GROUP="lp"
-KERNEL=="irlpt[0-9]*", GROUP="lp"
-SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
-
-# block
-SUBSYSTEM=="block", GROUP="disk"
-
-# floppy
-SUBSYSTEM=="block", KERNEL=="fd[0-9]", GROUP="floppy"
-
-# cdrom
-SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
-KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
-KERNEL=="pktcdvd", GROUP="cdrom"
-
-# tape
-KERNEL=="ht[0-9]*|nht[0-9]*", GROUP="tape"
-KERNEL=="pt[0-9]*|npt[0-9]*|pht[0-9]*", GROUP="tape"
-SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
-
-# block-related
-KERNEL=="sch[0-9]*", GROUP="disk"
-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
-KERNEL=="pg[0-9]*", GROUP="disk"
-KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
-KERNEL=="rawctl", GROUP="disk"
-SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
-SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
-SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
-
-# network
-KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
-KERNEL=="rfkill", MODE="0644"
-
-# CPU
-KERNEL=="cpu[0-9]*", MODE="0444"
-
-KERNEL=="fuse", ACTION=="add", MODE="0666", OPTIONS+="static_node=fuse"
-
-SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
-KERNEL=="mmtimer", MODE="0644"
-KERNEL=="rflash[0-9]*", MODE="0400"
-KERNEL=="rrom[0-9]*", MODE="0400"
-
-SUBSYSTEM=="firmware", ACTION=="add", IMPORT{builtin}="firmware"
diff --git a/src/udev/rules/60-persistent-alsa.rules b/src/udev/rules/60-persistent-alsa.rules
deleted file mode 100644
index 8154e2dbb5..0000000000
--- a/src/udev/rules/60-persistent-alsa.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="persistent_alsa_end"
-SUBSYSTEM!="sound", GOTO="persistent_alsa_end"
-KERNEL!="controlC[0-9]*", GOTO="persistent_alsa_end"
-
-SUBSYSTEMS=="usb", ENV{ID_MODEL}=="", IMPORT{builtin}="usb_id"
-ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", SYMLINK+="snd/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}"
-ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", SYMLINK+="snd/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-
-IMPORT{builtin}="path_id"
-ENV{ID_PATH}=="?*", SYMLINK+="snd/by-path/$env{ID_PATH}"
-
-LABEL="persistent_alsa_end"
diff --git a/src/udev/rules/60-persistent-input.rules b/src/udev/rules/60-persistent-input.rules
deleted file mode 100644
index fb798ddb05..0000000000
--- a/src/udev/rules/60-persistent-input.rules
+++ /dev/null
@@ -1,38 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="persistent_input_end"
-SUBSYSTEM!="input", GOTO="persistent_input_end"
-SUBSYSTEMS=="bluetooth", GOTO="persistent_input_end"
-
-SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{builtin}="usb_id"
-
-# determine class name for persistent symlinks
-ENV{ID_INPUT_KEYBOARD}=="?*", ENV{.INPUT_CLASS}="kbd"
-ENV{ID_INPUT_MOUSE}=="?*", ENV{.INPUT_CLASS}="mouse"
-ENV{ID_INPUT_TOUCHPAD}=="?*", ENV{.INPUT_CLASS}="mouse"
-ENV{ID_INPUT_TABLET}=="?*", ENV{.INPUT_CLASS}="mouse"
-ENV{ID_INPUT_JOYSTICK}=="?*", ENV{.INPUT_CLASS}="joystick"
-DRIVERS=="pcspkr", ENV{.INPUT_CLASS}="spkr"
-ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{.INPUT_CLASS}="ir"
-
-# fill empty serial number
-ENV{.INPUT_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
-
-# by-id links
-KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{.INPUT_CLASS}"
-KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", ATTRS{bInterfaceNumber}=="?*", ATTRS{bInterfaceNumber}!="00", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$attr{bInterfaceNumber}-$env{.INPUT_CLASS}"
-KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{.INPUT_CLASS}"
-KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", ATTRS{bInterfaceNumber}=="?*", ATTRS{bInterfaceNumber}!="00", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$attr{bInterfaceNumber}-event-$env{.INPUT_CLASS}"
-# allow empty class for USB devices, by appending the interface number
-SUBSYSTEMS=="usb", ENV{ID_BUS}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", ATTRS{bInterfaceNumber}=="?*", \
- SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-if$attr{bInterfaceNumber}"
-
-# by-path
-SUBSYSTEMS=="pci|usb|platform|acpi", IMPORT{builtin}="path_id"
-ENV{ID_PATH}=="?*", KERNEL=="mouse*|js*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{.INPUT_CLASS}"
-ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{.INPUT_CLASS}"
-# allow empty class for platform and usb devices; platform supports only a single interface that way
-SUBSYSTEMS=="usb|platform", ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", \
- SYMLINK+="input/by-path/$env{ID_PATH}-event"
-
-LABEL="persistent_input_end"
diff --git a/src/udev/rules/60-persistent-serial.rules b/src/udev/rules/60-persistent-serial.rules
deleted file mode 100644
index 2948200c53..0000000000
--- a/src/udev/rules/60-persistent-serial.rules
+++ /dev/null
@@ -1,20 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="persistent_serial_end"
-SUBSYSTEM!="tty", GOTO="persistent_serial_end"
-KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="persistent_serial_end"
-
-SUBSYSTEMS=="usb-serial", ENV{.ID_PORT}="$attr{port_number}"
-
-IMPORT{builtin}="path_id"
-ENV{ID_PATH}=="?*", ENV{.ID_PORT}=="", SYMLINK+="serial/by-path/$env{ID_PATH}"
-ENV{ID_PATH}=="?*", ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-path/$env{ID_PATH}-port$env{.ID_PORT}"
-
-IMPORT{builtin}="usb_id"
-ENV{ID_SERIAL}=="", GOTO="persistent_serial_end"
-SUBSYSTEMS=="usb", ENV{ID_USB_INTERFACE_NUM}="$attr{bInterfaceNumber}"
-ENV{ID_USB_INTERFACE_NUM}=="", GOTO="persistent_serial_end"
-ENV{.ID_PORT}=="", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}"
-ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}-port$env{.ID_PORT}"
-
-LABEL="persistent_serial_end"
diff --git a/src/udev/rules/60-persistent-storage-tape.rules b/src/udev/rules/60-persistent-storage-tape.rules
deleted file mode 100644
index f2eabd92a8..0000000000
--- a/src/udev/rules/60-persistent-storage-tape.rules
+++ /dev/null
@@ -1,25 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# persistent storage links: /dev/tape/{by-id,by-path}
-
-ACTION=="remove", GOTO="persistent_storage_tape_end"
-
-# type 8 devices are "Medium Changers"
-SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="8", IMPORT{program}="scsi_id --sg-version=3 --export --whitelisted -d $devnode", \
- SYMLINK+="tape/by-id/scsi-$env{ID_SERIAL}"
-
-SUBSYSTEM!="scsi_tape", GOTO="persistent_storage_tape_end"
-
-KERNEL=="st*[0-9]|nst*[0-9]", ATTRS{ieee1394_id}=="?*", ENV{ID_SERIAL}="$attr{ieee1394_id}", ENV{ID_BUS}="ieee1394"
-KERNEL=="st*[0-9]|nst*[0-9]", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
-KERNEL=="st*[0-9]|nst*[0-9]", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", KERNELS=="[0-9]*:*[0-9]", ENV{.BSG_DEV}="$root/bsg/$id"
-KERNEL=="st*[0-9]|nst*[0-9]", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --whitelisted --export --device=$env{.BSG_DEV}", ENV{ID_BUS}="scsi"
-KERNEL=="st*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="nst*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}-nst"
-
-# by-path (parent device path)
-KERNEL=="st*[0-9]|nst*[0-9]", IMPORT{builtin}="path_id"
-KERNEL=="st*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="tape/by-path/$env{ID_PATH}"
-KERNEL=="nst*[0-9]", ENV{ID_PATH}=="?*", SYMLINK+="tape/by-path/$env{ID_PATH}-nst"
-
-LABEL="persistent_storage_tape_end"
diff --git a/src/udev/rules/60-persistent-storage.rules b/src/udev/rules/60-persistent-storage.rules
deleted file mode 100644
index b74821edd4..0000000000
--- a/src/udev/rules/60-persistent-storage.rules
+++ /dev/null
@@ -1,89 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# persistent storage links: /dev/disk/{by-id,by-uuid,by-label,by-path}
-# scheme based on "Linux persistent device names", 2004, Hannes Reinecke <hare@suse.de>
-
-# forward scsi device event to corresponding block device
-ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block", ATTR{block/*/uevent}="change"
-
-ACTION=="remove", GOTO="persistent_storage_end"
-
-# enable in-kernel media-presence polling
-ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_poll_msecs}=="0", ATTR{parameters/events_dfl_poll_msecs}="2000"
-
-SUBSYSTEM!="block", GOTO="persistent_storage_end"
-
-# skip rules for inappropriate block devices
-KERNEL=="fd*|mtd*|nbd*|gnbd*|btibm*|dm-*|md*", GOTO="persistent_storage_end"
-
-# ignore partitions that span the entire disk
-TEST=="whole_disk", GOTO="persistent_storage_end"
-
-# for partitions import parent information
-ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*"
-
-# virtio-blk
-KERNEL=="vd*[!0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}"
-KERNEL=="vd*[0-9]", ATTRS{serial}=="?*", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/virtio-$env{ID_SERIAL}-part%n"
-
-# ATA devices with their own "ata" kernel subsystem
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="ata", IMPORT{program}="ata_id --export $devnode"
-# ATA devices using the "scsi" subsystem
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{vendor}=="ATA", IMPORT{program}="ata_id --export $devnode"
-# ATA/ATAPI devices (SPC-3 or later) using the "scsi" subsystem
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="scsi", ATTRS{type}=="5", ATTRS{scsi_level}=="[6-9]*", IMPORT{program}="ata_id --export $devnode"
-
-# Run ata_id on non-removable USB Mass Storage (SATA/PATA disks in enclosures)
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", ATTR{removable}=="0", SUBSYSTEMS=="usb", IMPORT{program}="ata_id --export $devnode"
-# Otherwise fall back to using usb_id for USB devices
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
-
-# scsi devices
-KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi"
-KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss"
-KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}"
-KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n"
-
-# firewire
-KERNEL=="sd*[!0-9]|sr*", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}"
-KERNEL=="sd*[0-9]", ATTRS{ieee1394_id}=="?*", SYMLINK+="disk/by-id/ieee1394-$attr{ieee1394_id}-part%n"
-
-KERNEL=="mmcblk[0-9]", SUBSYSTEMS=="mmc", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}"
-KERNEL=="mmcblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/mmc-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
-KERNEL=="mspblk[0-9]", SUBSYSTEMS=="memstick", ATTRS{name}=="?*", ATTRS{serial}=="?*", ENV{ID_NAME}="$attr{name}", ENV{ID_SERIAL}="$attr{serial}", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}"
-KERNEL=="mspblk[0-9]p[0-9]", ENV{ID_NAME}=="?*", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/memstick-$env{ID_NAME}_$env{ID_SERIAL}-part%n"
-
-# by-path (parent device path)
-ENV{DEVTYPE}=="disk", DEVPATH!="*/virtual/*", IMPORT{builtin}="path_id"
-ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}"
-ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="?*", SYMLINK+="disk/by-path/$env{ID_PATH}-part%n"
-
-# skip unpartitioned removable media devices from drivers which do not send "change" events
-ENV{DEVTYPE}=="disk", KERNEL!="sd*|sr*", ATTR{removable}=="1", GOTO="persistent_storage_end"
-
-# probe filesystem metadata of optical drives which have a media inserted
-KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="?*", \
- IMPORT{builtin}="blkid --offset=$env{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}"
-# single-session CDs do not have ID_CDROM_MEDIA_SESSION_LAST_OFFSET
-KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \
- IMPORT{builtin}="blkid --noraid"
-
-# probe filesystem metadata of disks
-KERNEL!="sr*", IMPORT{builtin}="blkid"
-
-# watch metadata changes by tools closing the device after writing
-KERNEL!="sr*", OPTIONS+="watch"
-
-# by-label/by-uuid links (filesystem metadata)
-ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
-ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
-
-# by-id (World Wide Name)
-ENV{DEVTYPE}=="disk", ENV{ID_WWN_WITH_EXTENSION}=="?*", SYMLINK+="disk/by-id/wwn-$env{ID_WWN_WITH_EXTENSION}"
-ENV{DEVTYPE}=="partition", ENV{ID_WWN_WITH_EXTENSION}=="?*", SYMLINK+="disk/by-id/wwn-$env{ID_WWN_WITH_EXTENSION}-part%n"
-
-# by-partlabel/by-partuuid links (partition metadata)
-ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_UUID}=="?*", SYMLINK+="disk/by-partuuid/$env{ID_PART_ENTRY_UUID}"
-ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="disk/by-partlabel/$env{ID_PART_ENTRY_NAME}"
-
-LABEL="persistent_storage_end"
diff --git a/src/udev/rules/75-net-description.rules b/src/udev/rules/75-net-description.rules
deleted file mode 100644
index ce57d48e86..0000000000
--- a/src/udev/rules/75-net-description.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="net_end"
-SUBSYSTEM!="net", GOTO="net_end"
-
-SUBSYSTEMS=="usb", ENV{ID_MODEL}=="", IMPORT{builtin}="usb_id"
-SUBSYSTEMS=="usb", IMPORT{builtin}="usb-db"
-SUBSYSTEMS=="usb", ATTRS{idVendor}!="", ATTRS{idProduct}!="", ENV{ID_VENDOR_ID}="$attr{idVendor}", ENV{ID_MODEL_ID}="$attr{idProduct}"
-SUBSYSTEMS=="usb", GOTO="net_end"
-
-SUBSYSTEMS=="pci", IMPORT{builtin}="pci-db"
-SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
-
-LABEL="net_end"
diff --git a/src/udev/rules/75-tty-description.rules b/src/udev/rules/75-tty-description.rules
deleted file mode 100644
index 2e63e140cb..0000000000
--- a/src/udev/rules/75-tty-description.rules
+++ /dev/null
@@ -1,14 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="tty_end"
-SUBSYSTEM!="tty", GOTO="tty_end"
-
-SUBSYSTEMS=="usb", ENV{ID_MODEL}=="", IMPORT{builtin}="usb_id"
-SUBSYSTEMS=="usb", IMPORT{builtin}="usb-db"
-SUBSYSTEMS=="usb", ATTRS{idVendor}!="", ATTRS{idProduct}!="", ENV{ID_VENDOR_ID}="$attr{idVendor}", ENV{ID_MODEL_ID}="$attr{idProduct}"
-SUBSYSTEMS=="usb", GOTO="tty_end"
-
-SUBSYSTEMS=="pci", IMPORT{builtin}="pci-db"
-SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
-
-LABEL="tty_end"
diff --git a/src/udev/rules/78-sound-card.rules b/src/udev/rules/78-sound-card.rules
deleted file mode 100644
index e564441893..0000000000
--- a/src/udev/rules/78-sound-card.rules
+++ /dev/null
@@ -1,89 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM!="sound", GOTO="sound_end"
-
-ACTION=="add|change", KERNEL=="controlC*", ATTR{../uevent}="change"
-ACTION!="change", GOTO="sound_end"
-
-# Ok, we probably need a little explanation here for what the two lines above
-# are good for.
-#
-# The story goes like this: when ALSA registers a new sound card it emits a
-# series of 'add' events to userspace, for the main card device and for all the
-# child device nodes that belong to it. udev relays those to applications,
-# however only maintains the order between father and child, but not between
-# the siblings. The control device node creation can be used as synchronization
-# point. All other devices that belong to a card are created in the kernel
-# before it. However unfortunately due to the fact that siblings are forwarded
-# out of order by udev this fact is lost to applications.
-#
-# OTOH before an application can open a device it needs to make sure that all
-# its device nodes are completely created and set up.
-#
-# As a workaround for this issue we have added the udev rule above which will
-# generate a 'change' event on the main card device from the 'add' event of the
-# card's control device. Due to the ordering semantics of udev this event will
-# only be relayed after all child devices have finished processing properly.
-# When an application needs to listen for appearing devices it can hence look
-# for 'change' events only, and ignore the actual 'add' events.
-#
-# When the application is initialized at the same time as a device is plugged
-# in it may need to figure out if the 'change' event has already been triggered
-# or not for a card. To find that out we store the flag environment variable
-# SOUND_INITIALIZED on the device which simply tells us if the card 'change'
-# event has already been processed.
-
-KERNEL!="card*", GOTO="sound_end"
-
-ENV{SOUND_INITIALIZED}="1"
-
-SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
-SUBSYSTEMS=="usb", IMPORT{builtin}="usb-db"
-SUBSYSTEMS=="usb", GOTO="skip_pci"
-
-SUBSYSTEMS=="firewire", ATTRS{vendor_name}=="?*", ATTRS{model_name}=="?*", \
- ENV{ID_BUS}="firewire", ENV{ID_VENDOR}="$attr{vendor_name}", ENV{ID_MODEL}="$attr{model_name}"
-SUBSYSTEMS=="firewire", ATTRS{guid}=="?*", ENV{ID_ID}="firewire-$attr{guid}"
-SUBSYSTEMS=="firewire", GOTO="skip_pci"
-
-
-SUBSYSTEMS=="pci", IMPORT{builtin}="pci-db"
-SUBSYSTEMS=="pci", ENV{ID_BUS}="pci", ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}"
-
-LABEL="skip_pci"
-
-ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="?*", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_USB_INTERFACE_NUM}-$attr{id}"
-ENV{ID_SERIAL}=="?*", ENV{ID_USB_INTERFACE_NUM}=="", ENV{ID_ID}="$env{ID_BUS}-$env{ID_SERIAL}-$attr{id}"
-
-IMPORT{builtin}="path_id"
-
-# The values used here for $SOUND_FORM_FACTOR and $SOUND_CLASS should be kept
-# in sync with those defined for PulseAudio's src/pulse/proplist.h
-# PA_PROP_DEVICE_FORM_FACTOR, PA_PROP_DEVICE_CLASS properties.
-
-# If the first PCM device of this card has the pcm class 'modem', then the card is a modem
-ATTR{pcmC%nD0p/pcm_class}=="modem", ENV{SOUND_CLASS}="modem", GOTO="sound_end"
-
-# Identify cards on the internal PCI bus as internal
-SUBSYSTEMS=="pci", DEVPATH=="*/0000:00:??.?/sound/*", ENV{SOUND_FORM_FACTOR}="internal", GOTO="sound_end"
-
-# Devices that also support Image/Video interfaces are most likely webcams
-SUBSYSTEMS=="usb", ENV{ID_USB_INTERFACES}=="*:0e????:*", ENV{SOUND_FORM_FACTOR}="webcam", GOTO="sound_end"
-
-# Matching on the model strings is a bit ugly, I admit
-ENV{ID_MODEL}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR}="speaker", GOTO="sound_end"
-ENV{ID_MODEL_FROM_DATABASE}=="*[Ss]peaker*", ENV{SOUND_FORM_FACTOR}="speaker", GOTO="sound_end"
-
-ENV{ID_MODEL}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR}="headphone", GOTO="sound_end"
-ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadphone*", ENV{SOUND_FORM_FACTOR}="headphone", GOTO="sound_end"
-
-ENV{ID_MODEL}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR}="headset", GOTO="sound_end"
-ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]eadset*", ENV{SOUND_FORM_FACTOR}="headset", GOTO="sound_end"
-
-ENV{ID_MODEL}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR}="handset", GOTO="sound_end"
-ENV{ID_MODEL_FROM_DATABASE}=="*[Hh]andset*", ENV{SOUND_FORM_FACTOR}="handset", GOTO="sound_end"
-
-ENV{ID_MODEL}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR}="microphone", GOTO="sound_end"
-ENV{ID_MODEL_FROM_DATABASE}=="*[Mm]icrophone*", ENV{SOUND_FORM_FACTOR}="microphone", GOTO="sound_end"
-
-LABEL="sound_end"
diff --git a/src/udev/rules/80-drivers.rules b/src/udev/rules/80-drivers.rules
deleted file mode 100644
index 38ebfeb0e6..0000000000
--- a/src/udev/rules/80-drivers.rules
+++ /dev/null
@@ -1,12 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-ACTION=="remove", GOTO="drivers_end"
-
-DRIVER!="?*", ENV{MODALIAS}=="?*", IMPORT{builtin}="kmod load $env{MODALIAS}"
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="SD", IMPORT{builtin}="kmod load tifm_sd"
-SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", IMPORT{builtin}="kmod load tifm_ms"
-SUBSYSTEM=="memstick", IMPORT{builtin}="kmod load ms_block mspro_block"
-SUBSYSTEM=="i2o", IMPORT{builtin}="kmod load i2o_block"
-SUBSYSTEM=="module", KERNEL=="parport_pc", IMPORT{builtin}="kmod load ppdev"
-
-LABEL="drivers_end"
diff --git a/src/udev/rules/95-udev-late.rules b/src/udev/rules/95-udev-late.rules
deleted file mode 100644
index eca0faa5c5..0000000000
--- a/src/udev/rules/95-udev-late.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# run a command on remove events
-ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
diff --git a/src/udev/src/scsi_id/.gitignore b/src/udev/scsi_id/.gitignore
index 6aebddd809..6aebddd809 100644
--- a/src/udev/src/scsi_id/.gitignore
+++ b/src/udev/scsi_id/.gitignore
diff --git a/src/udev/src/scsi_id/README b/src/udev/scsi_id/README
index 9cfe73991c..9cfe73991c 100644
--- a/src/udev/src/scsi_id/README
+++ b/src/udev/scsi_id/README
diff --git a/src/udev/src/scsi_id/scsi.h b/src/udev/scsi_id/scsi.h
index c423cac574..c423cac574 100644
--- a/src/udev/src/scsi_id/scsi.h
+++ b/src/udev/scsi_id/scsi.h
diff --git a/src/udev/src/scsi_id/scsi_id.c b/src/udev/scsi_id/scsi_id.c
index 9bb0d7f538..9bb0d7f538 100644
--- a/src/udev/src/scsi_id/scsi_id.c
+++ b/src/udev/scsi_id/scsi_id.c
diff --git a/src/udev/src/scsi_id/scsi_id.h b/src/udev/scsi_id/scsi_id.h
index 828a98305f..828a98305f 100644
--- a/src/udev/src/scsi_id/scsi_id.h
+++ b/src/udev/scsi_id/scsi_id.h
diff --git a/src/udev/src/scsi_id/scsi_serial.c b/src/udev/scsi_id/scsi_serial.c
index f1d63f40cc..f1d63f40cc 100644
--- a/src/udev/src/scsi_id/scsi_serial.c
+++ b/src/udev/scsi_id/scsi_serial.c
diff --git a/src/udev/src/.gitignore b/src/udev/src/.gitignore
deleted file mode 100644
index beb8604bc6..0000000000
--- a/src/udev/src/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*.[78]
-*.html
-udev.pc
-libudev.pc
-udev*.service
diff --git a/src/udev/src/COPYING b/src/udev/src/COPYING
deleted file mode 100644
index d2e31278b0..0000000000
--- a/src/udev/src/COPYING
+++ /dev/null
@@ -1,502 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/src/udev/src/floppy/60-floppy.rules b/src/udev/src/floppy/60-floppy.rules
deleted file mode 100644
index 53e4a9e59a..0000000000
--- a/src/udev/src/floppy/60-floppy.rules
+++ /dev/null
@@ -1,4 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-SUBSYSTEM=="block", KERNEL=="fd[0-9]", ACTION=="add", ATTRS{cmos}=="?*", ENV{CMOS_TYPE}="$attr{cmos}", \
- RUN+="create_floppy_devices -c -t $env{CMOS_TYPE} -m %M -M 0660 -G floppy $root/%k"
diff --git a/src/udev/src/floppy/create_floppy_devices.c b/src/udev/src/floppy/create_floppy_devices.c
deleted file mode 100644
index f71ef0d809..0000000000
--- a/src/udev/src/floppy/create_floppy_devices.c
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Create all possible floppy device based on the CMOS type.
- * Based upon code from drivers/block/floppy.c
- *
- * Copyright(C) 2005, SUSE Linux Products GmbH
- *
- * Author: Hannes Reinecke <hare@suse.de>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <string.h>
-#include <pwd.h>
-#include <grp.h>
-
-#include "libudev.h"
-#include "libudev-private.h"
-
-static char *table[] = {
- "", "d360", "h1200", "u360", "u720", "h360", "h720",
- "u1440", "u2880", "CompaQ", "h1440", "u1680", "h410",
- "u820", "h1476", "u1722", "h420", "u830", "h1494", "u1743",
- "h880", "u1040", "u1120", "h1600", "u1760", "u1920",
- "u3200", "u3520", "u3840", "u1840", "u800", "u1600",
- NULL
-};
-
-static int t360[] = { 1, 0 };
-static int t1200[] = { 2, 5, 6, 10, 12, 14, 16, 18, 20, 23, 0 };
-static int t3in[] = { 8, 9, 26, 27, 28, 7, 11, 15, 19, 24, 25, 29, 31, 3, 4, 13, 17, 21, 22, 30, 0 };
-static int *table_sup[] = { NULL, t360, t1200, t3in+5+8, t3in+5, t3in, t3in };
-
-static void log_fn(struct udev *udev, int priority,
- const char *file, int line, const char *fn,
- const char *format, va_list args)
-{
- vsyslog(priority, format, args);
-}
-
-int main(int argc, char **argv)
-{
- struct udev *udev;
- char *dev;
- char *devname;
- char node[64];
- int type = 0, i, fdnum, c;
- int major = 2, minor;
- uid_t uid = 0;
- gid_t gid = 0;
- mode_t mode = 0660;
- int create_nodes = 0;
- int print_nodes = 0;
- int is_err = 0;
-
- udev = udev_new();
- if (udev == NULL)
- goto exit;
-
- udev_log_init("create_floppy_devices");
- udev_set_log_fn(udev, log_fn);
- udev_selinux_init(udev);
-
- while ((c = getopt(argc, argv, "cudm:U:G:M:t:")) != -1) {
- switch (c) {
- case 'c':
- create_nodes = 1;
- break;
- case 'd':
- print_nodes = 1;
- break;
- case 'U':
- uid = util_lookup_user(udev, optarg);
- break;
- case 'G':
- gid = util_lookup_group(udev, optarg);
- break;
- case 'M':
- mode = strtol(optarg, NULL, 0);
- mode = mode & 0666;
- break;
- case 'm':
- major = strtol(optarg, NULL, 0);
- break;
- case 't':
- type = strtol(optarg, NULL, 0);
- break;
- default:
- is_err++;
- break;
- }
- }
-
- if (is_err || optind >= argc) {
- printf("Usage: %s [OPTION] device\n"
- " -c create\n"
- " -d debug\n"
- " -m Major number\n"
- " -t floppy type number\n"
- " -U device node user ownership\n"
- " -G device node group owner\n"
- " -M device node mode\n"
- "\n", argv[0]);
- return 1;
- }
-
- dev = argv[optind];
- devname = strrchr(dev, '/');
- if (devname != NULL)
- devname = &devname[1];
- else
- devname = dev;
- if (strncmp(devname, "fd", 2) != 0) {
- fprintf(stderr,"Device '%s' is not a floppy device\n", dev);
- return 1;
- }
-
- fdnum = strtol(&devname[2], NULL, 10);
- if (fdnum < 0 || fdnum > 7) {
- fprintf(stderr,"Floppy device number %d out of range (0-7)\n", fdnum);
- return 1;
- }
- if (fdnum > 3)
- fdnum += 124;
-
- if (major < 1) {
- fprintf(stderr,"Invalid major number %d\n", major);
- return 1;
- }
-
- if (type < 0 || type >= (int) ARRAY_SIZE(table_sup)) {
- fprintf(stderr,"Invalid CMOS type %d\n", type);
- return 1;
- }
-
- if (type == 0)
- return 0;
-
- i = 0;
- while (table_sup[type][i]) {
- sprintf(node, "%s%s", dev, table[table_sup[type][i]]);
- minor = (table_sup[type][i] << 2) + fdnum;
- if (print_nodes)
- printf("%s b %.4o %d %d\n", node, mode, major, minor);
- if (create_nodes) {
- unlink(node);
- udev_selinux_setfscreatecon(udev, node, S_IFBLK | mode);
- mknod(node, S_IFBLK | mode, makedev(major,minor));
- udev_selinux_resetfscreatecon(udev);
- chown(node, uid, gid);
- chmod(node, S_IFBLK | mode);
- }
- i++;
- }
-
- udev_selinux_exit(udev);
- udev_unref(udev);
- udev_log_close();
-exit:
- return 0;
-}
diff --git a/src/udev/src/gudev/COPYING b/src/udev/src/gudev/COPYING
deleted file mode 100644
index da97db2bd0..0000000000
--- a/src/udev/src/gudev/COPYING
+++ /dev/null
@@ -1,502 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library 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.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
diff --git a/src/udev/src/rule_generator/75-cd-aliases-generator.rules b/src/udev/src/rule_generator/75-cd-aliases-generator.rules
deleted file mode 100644
index e6da0101d6..0000000000
--- a/src/udev/src/rule_generator/75-cd-aliases-generator.rules
+++ /dev/null
@@ -1,9 +0,0 @@
-# these rules generate rules for the /dev/{cdrom,dvd,...} symlinks
-
-# the "path" of usb/ieee1394 devices changes frequently, use "id"
-ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb|ieee1394", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", \
- PROGRAM="write_cd_rules by-id", SYMLINK+="%c", GOTO="persistent_cd_end"
-
-ACTION=="add", SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", PROGRAM="write_cd_rules", SYMLINK+="%c"
-
-LABEL="persistent_cd_end"
diff --git a/src/udev/src/rule_generator/75-persistent-net-generator.rules b/src/udev/src/rule_generator/75-persistent-net-generator.rules
deleted file mode 100644
index 4f80573478..0000000000
--- a/src/udev/src/rule_generator/75-persistent-net-generator.rules
+++ /dev/null
@@ -1,102 +0,0 @@
-# do not edit this file, it will be overwritten on update
-
-# these rules generate rules for persistent network device naming
-#
-# variables used to communicate:
-# MATCHADDR MAC address used for the match
-# MATCHID bus_id used for the match
-# MATCHDRV driver name used for the match
-# MATCHIFTYPE interface type match
-# COMMENT comment to add to the generated rule
-# INTERFACE_NAME requested name supplied by external tool
-# INTERFACE_NEW new interface name returned by rule writer
-
-ACTION!="add", GOTO="persistent_net_generator_end"
-SUBSYSTEM!="net", GOTO="persistent_net_generator_end"
-
-# ignore the interface if a name has already been set
-NAME=="?*", GOTO="persistent_net_generator_end"
-
-# device name whitelist
-KERNEL!="eth*|ath*|wlan*[0-9]|msh*|ra*|sta*|ctc*|lcs*|hsi*", GOTO="persistent_net_generator_end"
-
-# ignore Xen virtual interfaces
-SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"
-
-# read MAC address
-ENV{MATCHADDR}="$attr{address}"
-
-# match interface type
-ENV{MATCHIFTYPE}="$attr{type}"
-
-# ignore KVM virtual interfaces
-ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end"
-# ignore VMWare virtual interfaces
-ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end"
-# ignore Hyper-V virtual interfaces
-ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end"
-
-# These vendors are known to violate the local MAC address assignment scheme
-# Interlan, DEC (UNIBUS or QBUS), Apollo, Cisco, Racal-Datacom
-ENV{MATCHADDR}=="02:07:01:*", GOTO="globally_administered_whitelist"
-# 3Com
-ENV{MATCHADDR}=="02:60:60:*", GOTO="globally_administered_whitelist"
-# 3Com IBM PC; Imagen; Valid; Cisco; Apple
-ENV{MATCHADDR}=="02:60:8c:*", GOTO="globally_administered_whitelist"
-# Intel
-ENV{MATCHADDR}=="02:a0:c9:*", GOTO="globally_administered_whitelist"
-# Olivetti
-ENV{MATCHADDR}=="02:aa:3c:*", GOTO="globally_administered_whitelist"
-# CMC Masscomp; Silicon Graphics; Prime EXL
-ENV{MATCHADDR}=="02:cf:1f:*", GOTO="globally_administered_whitelist"
-# Prominet Corporation Gigabit Ethernet Switch
-ENV{MATCHADDR}=="02:e0:3b:*", GOTO="globally_administered_whitelist"
-# BTI (Bus-Tech, Inc.) IBM Mainframes
-ENV{MATCHADDR}=="02:e6:d3:*", GOTO="globally_administered_whitelist"
-# Realtek
-ENV{MATCHADDR}=="52:54:00:*", GOTO="globally_administered_whitelist"
-# Novell 2000
-ENV{MATCHADDR}=="52:54:4c:*", GOTO="globally_administered_whitelist"
-# Realtec
-ENV{MATCHADDR}=="52:54:ab:*", GOTO="globally_administered_whitelist"
-# Kingston Technologies
-ENV{MATCHADDR}=="e2:0c:0f:*", GOTO="globally_administered_whitelist"
-# Xensource
-ENV{MATCHADDR}=="00:16:3e:*", GOTO="globally_administered_whitelist"
-
-# match interface dev_id
-ATTR{dev_id}=="?*", ENV{MATCHDEVID}="$attr{dev_id}"
-
-# do not use "locally administered" MAC address
-ENV{MATCHADDR}=="?[2367abef]:*", ENV{MATCHADDR}=""
-
-# do not use empty address
-ENV{MATCHADDR}=="00:00:00:00:00:00", ENV{MATCHADDR}=""
-
-LABEL="globally_administered_whitelist"
-
-# build comment line for generated rule:
-SUBSYSTEMS=="pci", ENV{COMMENT}="PCI device $attr{vendor}:$attr{device} ($driver)"
-SUBSYSTEMS=="usb", ATTRS{idVendor}=="?*", ENV{COMMENT}="USB device 0x$attr{idVendor}:0x$attr{idProduct} ($driver)"
-SUBSYSTEMS=="pcmcia", ENV{COMMENT}="PCMCIA device $attr{card_id}:$attr{manf_id} ($driver)"
-SUBSYSTEMS=="ieee1394", ENV{COMMENT}="Firewire device $attr{host_id})"
-
-# ibmveth likes to use "locally administered" MAC addresses
-DRIVERS=="ibmveth", ENV{MATCHADDR}="$attr{address}", ENV{COMMENT}="ibmveth ($id)"
-
-# S/390 uses id matches only, do not use MAC address match
-SUBSYSTEMS=="ccwgroup", ENV{COMMENT}="S/390 $driver device at $id", ENV{MATCHID}="$id", ENV{MATCHDRV}="$driver", ENV{MATCHADDR}=""
-
-# see if we got enough data to create a rule
-ENV{MATCHADDR}=="", ENV{MATCHID}=="", ENV{INTERFACE_NAME}=="", GOTO="persistent_net_generator_end"
-
-# default comment
-ENV{COMMENT}=="", ENV{COMMENT}="net device ($attr{driver})"
-
-# write rule
-DRIVERS=="?*", IMPORT{program}="write_net_rules"
-
-# rename interface if needed
-ENV{INTERFACE_NEW}=="?*", NAME="$env{INTERFACE_NEW}"
-
-LABEL="persistent_net_generator_end"
diff --git a/src/udev/src/rule_generator/rule_generator.functions b/src/udev/src/rule_generator/rule_generator.functions
deleted file mode 100644
index 2eec1b6abf..0000000000
--- a/src/udev/src/rule_generator/rule_generator.functions
+++ /dev/null
@@ -1,113 +0,0 @@
-# functions used by the udev rule generator
-
-# Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-PATH='/usr/bin:/bin:/usr/sbin:/sbin'
-
-# Read a single line from file $1 in the $DEVPATH directory.
-# The function must not return an error even if the file does not exist.
-sysread() {
- local file="$1"
- [ -e "/sys$DEVPATH/$file" ] || return 0
- local value
- read value < "/sys$DEVPATH/$file" || return 0
- echo "$value"
-}
-
-sysreadlink() {
- local file="$1"
- [ -e "/sys$DEVPATH/$file" ] || return 0
- readlink -f /sys$DEVPATH/$file 2> /dev/null || true
-}
-
-# Return true if a directory is writeable.
-writeable() {
- if ln -s test-link $1/.is-writeable 2> /dev/null; then
- rm -f $1/.is-writeable
- return 0
- else
- return 1
- fi
-}
-
-# Create a lock file for the current rules file.
-lock_rules_file() {
- RUNDIR=$(udevadm info --run)
- [ -e "$RUNDIR" ] || return 0
-
- RULES_LOCK="$RUNDIR/.lock-${RULES_FILE##*/}"
-
- retry=30
- while ! mkdir $RULES_LOCK 2> /dev/null; do
- if [ $retry -eq 0 ]; then
- echo "Cannot lock $RULES_FILE!" >&2
- exit 2
- fi
- sleep 1
- retry=$(($retry - 1))
- done
-}
-
-unlock_rules_file() {
- [ "$RULES_LOCK" ] || return 0
- rmdir $RULES_LOCK || true
-}
-
-# Choose the real rules file if it is writeable or a temporary file if not.
-# Both files should be checked later when looking for existing rules.
-choose_rules_file() {
- RUNDIR=$(udevadm info --run)
- local tmp_rules_file="$RUNDIR/tmp-rules--${RULES_FILE##*/}"
- [ -e "$RULES_FILE" -o -e "$tmp_rules_file" ] || PRINT_HEADER=1
-
- if writeable ${RULES_FILE%/*}; then
- RO_RULES_FILE='/dev/null'
- else
- RO_RULES_FILE=$RULES_FILE
- RULES_FILE=$tmp_rules_file
- fi
-}
-
-# Return the name of the first free device.
-raw_find_next_available() {
- local links="$1"
-
- local basename=${links%%[ 0-9]*}
- local max=-1
- for name in $links; do
- local num=${name#$basename}
- [ "$num" ] || num=0
- [ $num -gt $max ] && max=$num
- done
-
- local max=$(($max + 1))
- # "name0" actually is just "name"
- [ $max -eq 0 ] && return
- echo "$max"
-}
-
-# Find all rules matching a key (with action) and a pattern.
-find_all_rules() {
- local key="$1"
- local linkre="$2"
- local match="$3"
-
- local search='.*[[:space:],]'"$key"'"('"$linkre"')".*'
- echo $(sed -n -r -e 's/^#.*//' -e "${match}s/${search}/\1/p" \
- $RO_RULES_FILE \
- $([ -e $RULES_FILE ] && echo $RULES_FILE) \
- 2>/dev/null)
-}
diff --git a/src/udev/src/rule_generator/write_cd_rules b/src/udev/src/rule_generator/write_cd_rules
deleted file mode 100644
index 645b9cd521..0000000000
--- a/src/udev/src/rule_generator/write_cd_rules
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/bin/sh -e
-
-# This script is run if an optical drive lacks a rule for persistent naming.
-#
-# It adds symlinks for optical drives based on the device class determined
-# by cdrom_id and used ID_PATH to identify the device.
-
-# (C) 2006 Marco d'Itri <md@Linux.IT>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# debug, if UDEV_LOG=<debug>
-if [ -n "$UDEV_LOG" ]; then
- if [ "$UDEV_LOG" -ge 7 ]; then
- set -x
- fi
-fi
-
-RULES_FILE="/etc/udev/rules.d/70-persistent-cd.rules"
-
-. /lib/udev/rule_generator.functions
-
-find_next_available() {
- raw_find_next_available "$(find_all_rules 'SYMLINK\+=' "$1")"
-}
-
-write_rule() {
- local match="$1"
- local link="$2"
- local comment="$3"
-
- {
- if [ "$PRINT_HEADER" ]; then
- PRINT_HEADER=
- echo "# This file was automatically generated by the $0"
- echo "# program, run by the cd-aliases-generator.rules rules file."
- echo "#"
- echo "# You can modify it, as long as you keep each rule on a single"
- echo "# line, and set the \$GENERATED variable."
- echo ""
- fi
-
- [ "$comment" ] && echo "# $comment"
- echo "$match, SYMLINK+=\"$link\", ENV{GENERATED}=\"1\""
- } >> $RULES_FILE
- SYMLINKS="$SYMLINKS $link"
-}
-
-if [ -z "$DEVPATH" ]; then
- echo "Missing \$DEVPATH." >&2
- exit 1
-fi
-if [ -z "$ID_CDROM" ]; then
- echo "$DEVPATH is not a CD reader." >&2
- exit 1
-fi
-
-if [ "$1" ]; then
- METHOD="$1"
-else
- METHOD='by-path'
-fi
-
-case "$METHOD" in
- by-path)
- if [ -z "$ID_PATH" ]; then
- echo "$DEVPATH not supported by path_id. by-id may work." >&2
- exit 1
- fi
- RULE="ENV{ID_PATH}==\"$ID_PATH\""
- ;;
-
- by-id)
- if [ "$ID_SERIAL" ]; then
- RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
- elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
- RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
- else
- echo "$DEVPATH not supported by ata_id. by-path may work." >&2
- exit 1
- fi
- ;;
-
- *)
- echo "Invalid argument (must be either by-path or by-id)." >&2
- exit 1
- ;;
-esac
-
-# Prevent concurrent processes from modifying the file at the same time.
-lock_rules_file
-
-# Check if the rules file is writeable.
-choose_rules_file
-
-link_num=$(find_next_available 'cdrom[0-9]*')
-
-match="SUBSYSTEM==\"block\", ENV{ID_CDROM}==\"?*\", $RULE"
-
-comment="$ID_MODEL ($ID_PATH)"
-
- write_rule "$match" "cdrom$link_num" "$comment"
-[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \
- write_rule "$match" "cdrw$link_num"
-[ "$ID_CDROM_DVD" ] && \
- write_rule "$match" "dvd$link_num"
-[ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
- write_rule "$match" "dvdrw$link_num"
-echo >> $RULES_FILE
-
-unlock_rules_file
-
-echo $SYMLINKS
-
-exit 0
diff --git a/src/udev/src/rule_generator/write_net_rules b/src/udev/src/rule_generator/write_net_rules
deleted file mode 100644
index bcea4b09dc..0000000000
--- a/src/udev/src/rule_generator/write_net_rules
+++ /dev/null
@@ -1,141 +0,0 @@
-#!/bin/sh -e
-
-# This script is run to create persistent network device naming rules
-# based on properties of the device.
-# If the interface needs to be renamed, INTERFACE_NEW=<name> will be printed
-# on stdout to allow udev to IMPORT it.
-
-# variables used to communicate:
-# MATCHADDR MAC address used for the match
-# MATCHID bus_id used for the match
-# MATCHDEVID dev_id used for the match
-# MATCHDRV driver name used for the match
-# MATCHIFTYPE interface type match
-# COMMENT comment to add to the generated rule
-# INTERFACE_NAME requested name supplied by external tool
-# INTERFACE_NEW new interface name returned by rule writer
-
-# Copyright (C) 2006 Marco d'Itri <md@Linux.IT>
-# Copyright (C) 2007 Kay Sievers <kay.sievers@vrfy.org>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# debug, if UDEV_LOG=<debug>
-if [ -n "$UDEV_LOG" ]; then
- if [ "$UDEV_LOG" -ge 7 ]; then
- set -x
- fi
-fi
-
-RULES_FILE='/etc/udev/rules.d/70-persistent-net.rules'
-
-. /lib/udev/rule_generator.functions
-
-interface_name_taken() {
- local value="$(find_all_rules 'NAME=' $INTERFACE)"
- if [ "$value" ]; then
- return 0
- else
- return 1
- fi
-}
-
-find_next_available() {
- raw_find_next_available "$(find_all_rules 'NAME=' "$1")"
-}
-
-write_rule() {
- local match="$1"
- local name="$2"
- local comment="$3"
-
- {
- if [ "$PRINT_HEADER" ]; then
- PRINT_HEADER=
- echo "# This file was automatically generated by the $0"
- echo "# program, run by the persistent-net-generator.rules rules file."
- echo "#"
- echo "# You can modify it, as long as you keep each rule on a single"
- echo "# line, and change only the value of the NAME= key."
- fi
-
- echo ""
- [ "$comment" ] && echo "# $comment"
- echo "SUBSYSTEM==\"net\", ACTION==\"add\"$match, NAME=\"$name\""
- } >> $RULES_FILE
-}
-
-if [ -z "$INTERFACE" ]; then
- echo "missing \$INTERFACE" >&2
- exit 1
-fi
-
-# Prevent concurrent processes from modifying the file at the same time.
-lock_rules_file
-
-# Check if the rules file is writeable.
-choose_rules_file
-
-# the DRIVERS key is needed to not match bridges and VLAN sub-interfaces
-if [ "$MATCHADDR" ]; then
- match="$match, DRIVERS==\"?*\", ATTR{address}==\"$MATCHADDR\""
-fi
-
-if [ "$MATCHDRV" ]; then
- match="$match, DRIVERS==\"$MATCHDRV\""
-fi
-
-if [ "$MATCHDEVID" ]; then
- match="$match, ATTR{dev_id}==\"$MATCHDEVID\""
-fi
-
-if [ "$MATCHID" ]; then
- match="$match, KERNELS==\"$MATCHID\""
-fi
-
-if [ "$MATCHIFTYPE" ]; then
- match="$match, ATTR{type}==\"$MATCHIFTYPE\""
-fi
-
-if [ -z "$match" ]; then
- echo "missing valid match" >&2
- unlock_rules_file
- exit 1
-fi
-
-basename=${INTERFACE%%[0-9]*}
-match="$match, KERNEL==\"$basename*\""
-
-if [ "$INTERFACE_NAME" ]; then
- # external tools may request a custom name
- COMMENT="$COMMENT (custom name provided by external tool)"
- if [ "$INTERFACE_NAME" != "$INTERFACE" ]; then
- INTERFACE=$INTERFACE_NAME;
- echo "INTERFACE_NEW=$INTERFACE"
- fi
-else
- # if a rule using the current name already exists, find a new name
- if interface_name_taken; then
- INTERFACE="$basename$(find_next_available "$basename[0-9]*")"
- # prevent INTERFACE from being "eth" instead of "eth0"
- [ "$INTERFACE" = "${INTERFACE%%[ \[\]0-9]*}" ] && INTERFACE=${INTERFACE}0
- echo "INTERFACE_NEW=$INTERFACE"
- fi
-fi
-
-write_rule "$match" "$INTERFACE" "$COMMENT"
-
-unlock_rules_file
-
-exit 0
diff --git a/src/udev/src/scsi_id/scsi_id.8 b/src/udev/src/scsi_id/scsi_id.8
deleted file mode 100644
index 0d4dba9149..0000000000
--- a/src/udev/src/scsi_id/scsi_id.8
+++ /dev/null
@@ -1,119 +0,0 @@
-.TH SCSI_ID 8 "December 2003" "" "Linux Administrator's Manual"
-.SH NAME
-scsi_id \- retrieve and generate a unique SCSI identifier
-.SH SYNOPSIS
-.BI scsi_id
-[\fIoptions\fP]
-.SH "DESCRIPTION"
-.B scsi_id
-queries a SCSI device via the SCSI INQUIRY vital product data (VPD) page 0x80 or
-0x83 and uses the resulting data to generate a value that is unique across
-all SCSI devices that properly support page 0x80 or page 0x83.
-
-If a result is generated it is sent to standard output, and the program
-exits with a zero value. If no identifier is output, the program exits
-with a non\-zero value.
-
-\fBscsi_id\fP is primarily for use by other utilities such as \fBudev\fP
-that require a unique SCSI identifier.
-
-By default all devices are assumed black listed, the \fB\-\-whitelisted\fP option must
-be specified on the command line or in the config file for any useful
-behaviour.
-
-SCSI commands are sent directly to the device via the SG_IO ioctl
-interface.
-
-In order to generate unique values for either page 0x80 or page 0x83, the
-serial numbers or world wide names are prefixed as follows.
-
-Identifiers based on page 0x80 are prefixed by the character 'S', the SCSI
-vendor, the SCSI product (model) and then the the serial number returned
-by page 0x80. For example:
-
-.sp
-.nf
-# /usr/lib/udev/scsi_id \-\-page=0x80 \-\-whitelisted \-\-device=/dev/sda
-SIBM 3542 1T05078453
-.fi
-.P
-
-Identifiers based on page 0x83 are prefixed by the identifier type
-followed by the page 0x83 identifier. For example, a device with a NAA
-(Name Address Authority) type of 3 (also in this case the page 0x83
-identifier starts with the NAA value of 6):
-
-.sp
-.nf
-# /usr/lib/udev/scsi_id \-\-page=0x83 \-\-whitelisted \-\-device=/dev/sda
-3600a0b80000b174b000000d63efc5c8c
-.fi
-.P
-
-.SH OPTIONS
-.TP
-.BI \-\-blacklisted
-The default behaviour \- treat the device as black listed, and do nothing
-unless a white listed device is found in the scsi_id config\-file.
-.TP
-.BI \-\-device=\| device\^
-Send SG_IO commands to \fBdevice\fP, such as \fB/dev/sdc\fP.
-.TP
-.BI \-\-config=\| config\-file
-Read configuration and black/white list entries from
-.B config\-file
-rather than the default
-.B /etc/scsi_id.config
-file.
-.TP
-.BI \-\-whitelisted
-Treat the device as white listed. The \fB\-\-whitelisted\fP option must be specified
-on the command line or in the scsi_id configuration file for
-.B scsi_id
-to generate any output.
-.TP
-.BI \-\-page=\| 0x80 | 0x83 | pre-spc3-83
-Use SCSI INQUIRY VPD page code 0x80, 0x83, or pre-spc3-83.
-.sp
-The default
-behaviour is to query the available VPD pages, and use page 0x83 if found,
-else page 0x80 if found, else nothing.
-.sp
-Page pre-spc3-83 should only be utilized for those scsi devices which
-are not compliant with the SPC-2 or SPC-3 format for page 83. While this
-option is used for older model 4, 5, and 6 EMC Symmetrix devices, its
-use with SPC-2 or SPC-3 compliant devices will fallback to the page 83
-format supported by these devices.
-.TP
-.BI \-\-replace-whitespace
-Reformat the output : replace all whitespaces by underscores.
-.TP
-.BI \-\-export
-Export all data in KEY=<value> format used to import in other programs.
-.TP
-.BI \-\-verbose
-Generate verbose debugging output.
-.TP
-.BI \-\-version
-Display version number and exit.
-.RE
-
-.SH "FILES"
-.nf
-.ft B
-.ft
-.TP
-\fI/etc/scsi_id.config\fP
-Configuration of black/white list entries and per device options:
-# one config per line, short match strings match longer strings
-# vendor=string[,model=string],options=<per-device scsi_id command line options>
-vendor="ATA",options=-p 0x80
-.RE
-.fi
-.LP
-.SH "SEE ALSO"
-.BR udev (7)
-.SH AUTHORS
-Developed by Patrick Mansfield <patmans@us.ibm.com> based on SCSI ID
-source included in earlier linux 2.5 kernels, sg_utils source, and SCSI
-specifications.
diff --git a/src/udev/src/sd-daemon.c b/src/udev/src/sd-daemon.c
deleted file mode 100644
index 763e079b4e..0000000000
--- a/src/udev/src/sd-daemon.c
+++ /dev/null
@@ -1,530 +0,0 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-/***
- Copyright 2010 Lennart Poettering
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-***/
-
-#ifndef _GNU_SOURCE
-#define _GNU_SOURCE
-#endif
-
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#ifdef __BIONIC__
-#include <linux/fcntl.h>
-#else
-#include <sys/fcntl.h>
-#endif
-#include <netinet/in.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <unistd.h>
-#include <string.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <limits.h>
-
-#if defined(__linux__)
-#include <mqueue.h>
-#endif
-
-#include "sd-daemon.h"
-
-#if (__GNUC__ >= 4)
-#ifdef SD_EXPORT_SYMBOLS
-/* Export symbols */
-#define _sd_export_ __attribute__ ((visibility("default")))
-#else
-/* Don't export the symbols */
-#define _sd_export_ __attribute__ ((visibility("hidden")))
-#endif
-#else
-#define _sd_export_
-#endif
-
-_sd_export_ int sd_listen_fds(int unset_environment) {
-
-#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
- return 0;
-#else
- int r, fd;
- const char *e;
- char *p = NULL;
- unsigned long l;
-
- if (!(e = getenv("LISTEN_PID"))) {
- r = 0;
- goto finish;
- }
-
- errno = 0;
- l = strtoul(e, &p, 10);
-
- if (errno != 0) {
- r = -errno;
- goto finish;
- }
-
- if (!p || *p || l <= 0) {
- r = -EINVAL;
- goto finish;
- }
-
- /* Is this for us? */
- if (getpid() != (pid_t) l) {
- r = 0;
- goto finish;
- }
-
- if (!(e = getenv("LISTEN_FDS"))) {
- r = 0;
- goto finish;
- }
-
- errno = 0;
- l = strtoul(e, &p, 10);
-
- if (errno != 0) {
- r = -errno;
- goto finish;
- }
-
- if (!p || *p) {
- r = -EINVAL;
- goto finish;
- }
-
- for (fd = SD_LISTEN_FDS_START; fd < SD_LISTEN_FDS_START + (int) l; fd ++) {
- int flags;
-
- if ((flags = fcntl(fd, F_GETFD)) < 0) {
- r = -errno;
- goto finish;
- }
-
- if (flags & FD_CLOEXEC)
- continue;
-
- if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) < 0) {
- r = -errno;
- goto finish;
- }
- }
-
- r = (int) l;
-
-finish:
- if (unset_environment) {
- unsetenv("LISTEN_PID");
- unsetenv("LISTEN_FDS");
- }
-
- return r;
-#endif
-}
-
-_sd_export_ int sd_is_fifo(int fd, const char *path) {
- struct stat st_fd;
-
- if (fd < 0)
- return -EINVAL;
-
- memset(&st_fd, 0, sizeof(st_fd));
- if (fstat(fd, &st_fd) < 0)
- return -errno;
-
- if (!S_ISFIFO(st_fd.st_mode))
- return 0;
-
- if (path) {
- struct stat st_path;
-
- memset(&st_path, 0, sizeof(st_path));
- if (stat(path, &st_path) < 0) {
-
- if (errno == ENOENT || errno == ENOTDIR)
- return 0;
-
- return -errno;
- }
-
- return
- st_path.st_dev == st_fd.st_dev &&
- st_path.st_ino == st_fd.st_ino;
- }
-
- return 1;
-}
-
-_sd_export_ int sd_is_special(int fd, const char *path) {
- struct stat st_fd;
-
- if (fd < 0)
- return -EINVAL;
-
- if (fstat(fd, &st_fd) < 0)
- return -errno;
-
- if (!S_ISREG(st_fd.st_mode) && !S_ISCHR(st_fd.st_mode))
- return 0;
-
- if (path) {
- struct stat st_path;
-
- if (stat(path, &st_path) < 0) {
-
- if (errno == ENOENT || errno == ENOTDIR)
- return 0;
-
- return -errno;
- }
-
- if (S_ISREG(st_fd.st_mode) && S_ISREG(st_path.st_mode))
- return
- st_path.st_dev == st_fd.st_dev &&
- st_path.st_ino == st_fd.st_ino;
- else if (S_ISCHR(st_fd.st_mode) && S_ISCHR(st_path.st_mode))
- return st_path.st_rdev == st_fd.st_rdev;
- else
- return 0;
- }
-
- return 1;
-}
-
-static int sd_is_socket_internal(int fd, int type, int listening) {
- struct stat st_fd;
-
- if (fd < 0 || type < 0)
- return -EINVAL;
-
- if (fstat(fd, &st_fd) < 0)
- return -errno;
-
- if (!S_ISSOCK(st_fd.st_mode))
- return 0;
-
- if (type != 0) {
- int other_type = 0;
- socklen_t l = sizeof(other_type);
-
- if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &other_type, &l) < 0)
- return -errno;
-
- if (l != sizeof(other_type))
- return -EINVAL;
-
- if (other_type != type)
- return 0;
- }
-
- if (listening >= 0) {
- int accepting = 0;
- socklen_t l = sizeof(accepting);
-
- if (getsockopt(fd, SOL_SOCKET, SO_ACCEPTCONN, &accepting, &l) < 0)
- return -errno;
-
- if (l != sizeof(accepting))
- return -EINVAL;
-
- if (!accepting != !listening)
- return 0;
- }
-
- return 1;
-}
-
-union sockaddr_union {
- struct sockaddr sa;
- struct sockaddr_in in4;
- struct sockaddr_in6 in6;
- struct sockaddr_un un;
- struct sockaddr_storage storage;
-};
-
-_sd_export_ int sd_is_socket(int fd, int family, int type, int listening) {
- int r;
-
- if (family < 0)
- return -EINVAL;
-
- if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
- return r;
-
- if (family > 0) {
- union sockaddr_union sockaddr;
- socklen_t l;
-
- memset(&sockaddr, 0, sizeof(sockaddr));
- l = sizeof(sockaddr);
-
- if (getsockname(fd, &sockaddr.sa, &l) < 0)
- return -errno;
-
- if (l < sizeof(sa_family_t))
- return -EINVAL;
-
- return sockaddr.sa.sa_family == family;
- }
-
- return 1;
-}
-
-_sd_export_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port) {
- union sockaddr_union sockaddr;
- socklen_t l;
- int r;
-
- if (family != 0 && family != AF_INET && family != AF_INET6)
- return -EINVAL;
-
- if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
- return r;
-
- memset(&sockaddr, 0, sizeof(sockaddr));
- l = sizeof(sockaddr);
-
- if (getsockname(fd, &sockaddr.sa, &l) < 0)
- return -errno;
-
- if (l < sizeof(sa_family_t))
- return -EINVAL;
-
- if (sockaddr.sa.sa_family != AF_INET &&
- sockaddr.sa.sa_family != AF_INET6)
- return 0;
-
- if (family > 0)
- if (sockaddr.sa.sa_family != family)
- return 0;
-
- if (port > 0) {
- if (sockaddr.sa.sa_family == AF_INET) {
- if (l < sizeof(struct sockaddr_in))
- return -EINVAL;
-
- return htons(port) == sockaddr.in4.sin_port;
- } else {
- if (l < sizeof(struct sockaddr_in6))
- return -EINVAL;
-
- return htons(port) == sockaddr.in6.sin6_port;
- }
- }
-
- return 1;
-}
-
-_sd_export_ int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length) {
- union sockaddr_union sockaddr;
- socklen_t l;
- int r;
-
- if ((r = sd_is_socket_internal(fd, type, listening)) <= 0)
- return r;
-
- memset(&sockaddr, 0, sizeof(sockaddr));
- l = sizeof(sockaddr);
-
- if (getsockname(fd, &sockaddr.sa, &l) < 0)
- return -errno;
-
- if (l < sizeof(sa_family_t))
- return -EINVAL;
-
- if (sockaddr.sa.sa_family != AF_UNIX)
- return 0;
-
- if (path) {
- if (length <= 0)
- length = strlen(path);
-
- if (length <= 0)
- /* Unnamed socket */
- return l == offsetof(struct sockaddr_un, sun_path);
-
- if (path[0])
- /* Normal path socket */
- return
- (l >= offsetof(struct sockaddr_un, sun_path) + length + 1) &&
- memcmp(path, sockaddr.un.sun_path, length+1) == 0;
- else
- /* Abstract namespace socket */
- return
- (l == offsetof(struct sockaddr_un, sun_path) + length) &&
- memcmp(path, sockaddr.un.sun_path, length) == 0;
- }
-
- return 1;
-}
-
-_sd_export_ int sd_is_mq(int fd, const char *path) {
-#if !defined(__linux__)
- return 0;
-#else
- struct mq_attr attr;
-
- if (fd < 0)
- return -EINVAL;
-
- if (mq_getattr(fd, &attr) < 0)
- return -errno;
-
- if (path) {
- char fpath[PATH_MAX];
- struct stat a, b;
-
- if (path[0] != '/')
- return -EINVAL;
-
- if (fstat(fd, &a) < 0)
- return -errno;
-
- strncpy(stpcpy(fpath, "/dev/mqueue"), path, sizeof(fpath) - 12);
- fpath[sizeof(fpath)-1] = 0;
-
- if (stat(fpath, &b) < 0)
- return -errno;
-
- if (a.st_dev != b.st_dev ||
- a.st_ino != b.st_ino)
- return 0;
- }
-
- return 1;
-#endif
-}
-
-_sd_export_ int sd_notify(int unset_environment, const char *state) {
-#if defined(DISABLE_SYSTEMD) || !defined(__linux__) || !defined(SOCK_CLOEXEC)
- return 0;
-#else
- int fd = -1, r;
- struct msghdr msghdr;
- struct iovec iovec;
- union sockaddr_union sockaddr;
- const char *e;
-
- if (!state) {
- r = -EINVAL;
- goto finish;
- }
-
- if (!(e = getenv("NOTIFY_SOCKET")))
- return 0;
-
- /* Must be an abstract socket, or an absolute path */
- if ((e[0] != '@' && e[0] != '/') || e[1] == 0) {
- r = -EINVAL;
- goto finish;
- }
-
- if ((fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0)) < 0) {
- r = -errno;
- goto finish;
- }
-
- memset(&sockaddr, 0, sizeof(sockaddr));
- sockaddr.sa.sa_family = AF_UNIX;
- strncpy(sockaddr.un.sun_path, e, sizeof(sockaddr.un.sun_path));
-
- if (sockaddr.un.sun_path[0] == '@')
- sockaddr.un.sun_path[0] = 0;
-
- memset(&iovec, 0, sizeof(iovec));
- iovec.iov_base = (char*) state;
- iovec.iov_len = strlen(state);
-
- memset(&msghdr, 0, sizeof(msghdr));
- msghdr.msg_name = &sockaddr;
- msghdr.msg_namelen = offsetof(struct sockaddr_un, sun_path) + strlen(e);
-
- if (msghdr.msg_namelen > sizeof(struct sockaddr_un))
- msghdr.msg_namelen = sizeof(struct sockaddr_un);
-
- msghdr.msg_iov = &iovec;
- msghdr.msg_iovlen = 1;
-
- if (sendmsg(fd, &msghdr, MSG_NOSIGNAL) < 0) {
- r = -errno;
- goto finish;
- }
-
- r = 1;
-
-finish:
- if (unset_environment)
- unsetenv("NOTIFY_SOCKET");
-
- if (fd >= 0)
- close(fd);
-
- return r;
-#endif
-}
-
-_sd_export_ int sd_notifyf(int unset_environment, const char *format, ...) {
-#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
- return 0;
-#else
- va_list ap;
- char *p = NULL;
- int r;
-
- va_start(ap, format);
- r = vasprintf(&p, format, ap);
- va_end(ap);
-
- if (r < 0 || !p)
- return -ENOMEM;
-
- r = sd_notify(unset_environment, p);
- free(p);
-
- return r;
-#endif
-}
-
-_sd_export_ int sd_booted(void) {
-#if defined(DISABLE_SYSTEMD) || !defined(__linux__)
- return 0;
-#else
-
- struct stat a, b;
-
- /* We simply test whether the systemd cgroup hierarchy is
- * mounted */
-
- if (lstat("/sys/fs/cgroup", &a) < 0)
- return 0;
-
- if (lstat("/sys/fs/cgroup/systemd", &b) < 0)
- return 0;
-
- return a.st_dev != b.st_dev;
-#endif
-}
diff --git a/src/udev/src/sd-daemon.h b/src/udev/src/sd-daemon.h
deleted file mode 100644
index fe51159ee6..0000000000
--- a/src/udev/src/sd-daemon.h
+++ /dev/null
@@ -1,282 +0,0 @@
-/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
-
-#ifndef foosddaemonhfoo
-#define foosddaemonhfoo
-
-/***
- Copyright 2010 Lennart Poettering
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-***/
-
-#include <sys/types.h>
-#include <inttypes.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- Reference implementation of a few systemd related interfaces for
- writing daemons. These interfaces are trivial to implement. To
- simplify porting we provide this reference implementation.
- Applications are welcome to reimplement the algorithms described
- here if they do not want to include these two source files.
-
- The following functionality is provided:
-
- - Support for logging with log levels on stderr
- - File descriptor passing for socket-based activation
- - Daemon startup and status notification
- - Detection of systemd boots
-
- You may compile this with -DDISABLE_SYSTEMD to disable systemd
- support. This makes all those calls NOPs that are directly related to
- systemd (i.e. only sd_is_xxx() will stay useful).
-
- Since this is drop-in code we don't want any of our symbols to be
- exported in any case. Hence we declare hidden visibility for all of
- them.
-
- You may find an up-to-date version of these source files online:
-
- http://cgit.freedesktop.org/systemd/systemd/plain/src/systemd/sd-daemon.h
- http://cgit.freedesktop.org/systemd/systemd/plain/src/sd-daemon.c
-
- This should compile on non-Linux systems, too, but with the
- exception of the sd_is_xxx() calls all functions will become NOPs.
-
- See sd-daemon(7) for more information.
-*/
-
-#ifndef _sd_printf_attr_
-#if __GNUC__ >= 4
-#define _sd_printf_attr_(a,b) __attribute__ ((format (printf, a, b)))
-#else
-#define _sd_printf_attr_(a,b)
-#endif
-#endif
-
-/*
- Log levels for usage on stderr:
-
- fprintf(stderr, SD_NOTICE "Hello World!\n");
-
- This is similar to printk() usage in the kernel.
-*/
-#define SD_EMERG "<0>" /* system is unusable */
-#define SD_ALERT "<1>" /* action must be taken immediately */
-#define SD_CRIT "<2>" /* critical conditions */
-#define SD_ERR "<3>" /* error conditions */
-#define SD_WARNING "<4>" /* warning conditions */
-#define SD_NOTICE "<5>" /* normal but significant condition */
-#define SD_INFO "<6>" /* informational */
-#define SD_DEBUG "<7>" /* debug-level messages */
-
-/* The first passed file descriptor is fd 3 */
-#define SD_LISTEN_FDS_START 3
-
-/*
- Returns how many file descriptors have been passed, or a negative
- errno code on failure. Optionally, removes the $LISTEN_FDS and
- $LISTEN_PID file descriptors from the environment (recommended, but
- problematic in threaded environments). If r is the return value of
- this function you'll find the file descriptors passed as fds
- SD_LISTEN_FDS_START to SD_LISTEN_FDS_START+r-1. Returns a negative
- errno style error code on failure. This function call ensures that
- the FD_CLOEXEC flag is set for the passed file descriptors, to make
- sure they are not passed on to child processes. If FD_CLOEXEC shall
- not be set, the caller needs to unset it after this call for all file
- descriptors that are used.
-
- See sd_listen_fds(3) for more information.
-*/
-int sd_listen_fds(int unset_environment);
-
-/*
- Helper call for identifying a passed file descriptor. Returns 1 if
- the file descriptor is a FIFO in the file system stored under the
- specified path, 0 otherwise. If path is NULL a path name check will
- not be done and the call only verifies if the file descriptor
- refers to a FIFO. Returns a negative errno style error code on
- failure.
-
- See sd_is_fifo(3) for more information.
-*/
-int sd_is_fifo(int fd, const char *path);
-
-/*
- Helper call for identifying a passed file descriptor. Returns 1 if
- the file descriptor is a special character device on the file
- system stored under the specified path, 0 otherwise.
- If path is NULL a path name check will not be done and the call
- only verifies if the file descriptor refers to a special character.
- Returns a negative errno style error code on failure.
-
- See sd_is_special(3) for more information.
-*/
-int sd_is_special(int fd, const char *path);
-
-/*
- Helper call for identifying a passed file descriptor. Returns 1 if
- the file descriptor is a socket of the specified family (AF_INET,
- ...) and type (SOCK_DGRAM, SOCK_STREAM, ...), 0 otherwise. If
- family is 0 a socket family check will not be done. If type is 0 a
- socket type check will not be done and the call only verifies if
- the file descriptor refers to a socket. If listening is > 0 it is
- verified that the socket is in listening mode. (i.e. listen() has
- been called) If listening is == 0 it is verified that the socket is
- not in listening mode. If listening is < 0 no listening mode check
- is done. Returns a negative errno style error code on failure.
-
- See sd_is_socket(3) for more information.
-*/
-int sd_is_socket(int fd, int family, int type, int listening);
-
-/*
- Helper call for identifying a passed file descriptor. Returns 1 if
- the file descriptor is an Internet socket, of the specified family
- (either AF_INET or AF_INET6) and the specified type (SOCK_DGRAM,
- SOCK_STREAM, ...), 0 otherwise. If version is 0 a protocol version
- check is not done. If type is 0 a socket type check will not be
- done. If port is 0 a socket port check will not be done. The
- listening flag is used the same way as in sd_is_socket(). Returns a
- negative errno style error code on failure.
-
- See sd_is_socket_inet(3) for more information.
-*/
-int sd_is_socket_inet(int fd, int family, int type, int listening, uint16_t port);
-
-/*
- Helper call for identifying a passed file descriptor. Returns 1 if
- the file descriptor is an AF_UNIX socket of the specified type
- (SOCK_DGRAM, SOCK_STREAM, ...) and path, 0 otherwise. If type is 0
- a socket type check will not be done. If path is NULL a socket path
- check will not be done. For normal AF_UNIX sockets set length to
- 0. For abstract namespace sockets set length to the length of the
- socket name (including the initial 0 byte), and pass the full
- socket path in path (including the initial 0 byte). The listening
- flag is used the same way as in sd_is_socket(). Returns a negative
- errno style error code on failure.
-
- See sd_is_socket_unix(3) for more information.
-*/
-int sd_is_socket_unix(int fd, int type, int listening, const char *path, size_t length);
-
-/*
- Helper call for identifying a passed file descriptor. Returns 1 if
- the file descriptor is a POSIX Message Queue of the specified name,
- 0 otherwise. If path is NULL a message queue name check is not
- done. Returns a negative errno style error code on failure.
-*/
-int sd_is_mq(int fd, const char *path);
-
-/*
- Informs systemd about changed daemon state. This takes a number of
- newline separated environment-style variable assignments in a
- string. The following variables are known:
-
- READY=1 Tells systemd that daemon startup is finished (only
- relevant for services of Type=notify). The passed
- argument is a boolean "1" or "0". Since there is
- little value in signaling non-readiness the only
- value daemons should send is "READY=1".
-
- STATUS=... Passes a single-line status string back to systemd
- that describes the daemon state. This is free-from
- and can be used for various purposes: general state
- feedback, fsck-like programs could pass completion
- percentages and failing programs could pass a human
- readable error message. Example: "STATUS=Completed
- 66% of file system check..."
-
- ERRNO=... If a daemon fails, the errno-style error code,
- formatted as string. Example: "ERRNO=2" for ENOENT.
-
- BUSERROR=... If a daemon fails, the D-Bus error-style error
- code. Example: "BUSERROR=org.freedesktop.DBus.Error.TimedOut"
-
- MAINPID=... The main pid of a daemon, in case systemd did not
- fork off the process itself. Example: "MAINPID=4711"
-
- WATCHDOG=1 Tells systemd to update the watchdog timestamp.
- Services using this feature should do this in
- regular intervals. A watchdog framework can use the
- timestamps to detect failed services.
-
- Daemons can choose to send additional variables. However, it is
- recommended to prefix variable names not listed above with X_.
-
- Returns a negative errno-style error code on failure. Returns > 0
- if systemd could be notified, 0 if it couldn't possibly because
- systemd is not running.
-
- Example: When a daemon finished starting up, it could issue this
- call to notify systemd about it:
-
- sd_notify(0, "READY=1");
-
- See sd_notifyf() for more complete examples.
-
- See sd_notify(3) for more information.
-*/
-int sd_notify(int unset_environment, const char *state);
-
-/*
- Similar to sd_notify() but takes a format string.
-
- Example 1: A daemon could send the following after initialization:
-
- sd_notifyf(0, "READY=1\n"
- "STATUS=Processing requests...\n"
- "MAINPID=%lu",
- (unsigned long) getpid());
-
- Example 2: A daemon could send the following shortly before
- exiting, on failure:
-
- sd_notifyf(0, "STATUS=Failed to start up: %s\n"
- "ERRNO=%i",
- strerror(errno),
- errno);
-
- See sd_notifyf(3) for more information.
-*/
-int sd_notifyf(int unset_environment, const char *format, ...) _sd_printf_attr_(2,3);
-
-/*
- Returns > 0 if the system was booted with systemd. Returns < 0 on
- error. Returns 0 if the system was not booted with systemd. Note
- that all of the functions above handle non-systemd boots just
- fine. You should NOT protect them with a call to this function. Also
- note that this function checks whether the system, not the user
- session is controlled by systemd. However the functions above work
- for both user and system services.
-
- See sd_booted(3) for more information.
-*/
-int sd_booted(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/udev/src/udev-control.socket b/src/udev/src/udev-control.socket
deleted file mode 100644
index f80f774427..0000000000
--- a/src/udev/src/udev-control.socket
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=udev Control Socket
-DefaultDependencies=no
-ConditionCapability=CAP_MKNOD
-
-[Socket]
-Service=udev.service
-ListenSequentialPacket=/run/udev/control
-SocketMode=0600
-PassCredentials=yes
diff --git a/src/udev/src/udev-kernel.socket b/src/udev/src/udev-kernel.socket
deleted file mode 100644
index 23fa9d5e11..0000000000
--- a/src/udev/src/udev-kernel.socket
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=udev Kernel Socket
-DefaultDependencies=no
-ConditionCapability=CAP_MKNOD
-
-[Socket]
-Service=udev.service
-ReceiveBuffer=134217728
-ListenNetlink=kobject-uevent 1
-PassCredentials=yes
diff --git a/src/udev/src/udev-settle.service.in b/src/udev/src/udev-settle.service.in
deleted file mode 100644
index b0a4964f76..0000000000
--- a/src/udev/src/udev-settle.service.in
+++ /dev/null
@@ -1,25 +0,0 @@
-# This service is usually not enabled by default. If enabled, it
-# acts as a barrier for basic.target -- so all later services will
-# wait for udev completely finishing its coldplug run.
-#
-# If needed, to work around broken or non-hotplug-aware services,
-# it might be enabled unconditionally, or pulled-in on-demand by
-# the services that assume a fully populated /dev at startup. It
-# should not be used or pulled-in ever on systems without such
-# legacy services running.
-
-[Unit]
-Description=udev Wait for Complete Device Initialization
-DefaultDependencies=no
-Wants=udev.service
-After=udev-trigger.service
-Before=basic.target
-
-[Service]
-Type=oneshot
-TimeoutSec=180
-RemainAfterExit=yes
-ExecStart=@bindir@/udevadm settle
-
-[Install]
-WantedBy=basic.target
diff --git a/src/udev/src/udev-trigger.service.in b/src/udev/src/udev-trigger.service.in
deleted file mode 100644
index cd81945c88..0000000000
--- a/src/udev/src/udev-trigger.service.in
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=udev Coldplug all Devices
-Wants=udev.service
-After=udev-kernel.socket udev-control.socket
-DefaultDependencies=no
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=@bindir@/udevadm trigger --type=subsystems --action=add ; @bindir@/udevadm trigger --type=devices --action=add
diff --git a/src/udev/src/udev.service.in b/src/udev/src/udev.service.in
deleted file mode 100644
index c27eb1baf5..0000000000
--- a/src/udev/src/udev.service.in
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=udev Kernel Device Manager
-Wants=udev-control.socket udev-kernel.socket
-After=udev-control.socket udev-kernel.socket
-Before=basic.target
-DefaultDependencies=no
-ConditionCapability=CAP_MKNOD
-
-[Service]
-Type=notify
-OOMScoreAdjust=-1000
-Sockets=udev-control.socket udev-kernel.socket
-Restart=on-failure
-ExecStart=@pkglibexecdir@/udevd
diff --git a/src/udev/src/udev.xml b/src/udev/src/udev.xml
deleted file mode 100644
index 8eb583a823..0000000000
--- a/src/udev/src/udev.xml
+++ /dev/null
@@ -1,695 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="udev">
- <refentryinfo>
- <title>udev</title>
- <productname>udev</productname>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>udev</refentrytitle>
- <manvolnum>7</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>udev</refname>
- <refpurpose>Linux dynamic device management</refpurpose>
- </refnamediv>
-
- <refsect1><title>Description</title>
- <para>udev supplies the system software with device events, manages permissions
- of device nodes and may create additional symlinks in the <filename>/dev</filename>
- directory, or renames network interfaces. The kernel usually just assigns unpredictable
- device names based on the order of discovery. Meaningful symlinks or network device
- names provide a way to reliably identify devices based on their properties or
- current configuration.</para>
-
- <para>The udev daemon, <citerefentry><refentrytitle>udevd</refentrytitle>
- <manvolnum>8</manvolnum></citerefentry>, receives device uevents directly from
- the kernel whenever a device is added or removed from the system, or it changes its
- state. When udev receives a device event, it matches its configured set of rules
- against various device attributes to identify the device. Rules that match may
- provide additional device information to be stored in the udev database or
- to be used to create meaningful symlink names.</para>
-
- <para>All device information udev processes is stored in the udev database and
- sent out to possible event subscribers. Access to all stored data and the event
- sources is provided by the library libudev.</para>
- </refsect1>
-
- <refsect1><title>Configuration</title>
- <para>udev configuration files are placed in <filename>/etc/udev</filename>
- and <filename>/usr/lib/udev</filename>. All empty lines or lines beginning with
- '#' are ignored.</para>
-
- <refsect2><title>Configuration file</title>
- <para>udev expects its main configuration file at <filename>/etc/udev/udev.conf</filename>.
- It consists of a set of variables allowing the user to override default udev values.
- The following variables can be set:</para>
- <variablelist>
- <varlistentry>
- <term><option>udev_root</option></term>
- <listitem>
- <para>Specifies where to place the device nodes in the filesystem.
- The default value is <filename>/dev</filename>.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>udev_log</option></term>
- <listitem>
- <para>The logging priority. Valid values are the numerical syslog priorities
- or their textual representations: <option>err</option>, <option>info</option>
- and <option>debug</option>.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>Rules files</title>
- <para>The udev rules are read from the files located in the
- system rules directory <filename>/usr/lib/udev/rules.d</filename>,
- the volatile runtime directory <filename>/run/udev/rules.d</filename>
- and the local administration directory <filename>/etc/udev/rules.d</filename>.
- All rules files are collectively sorted and processed in lexical order,
- regardless of the directories in which they live. However, files with
- identical file names replace each other. Files in <filename>/etc</filename>
- have the highest priority, files in <filename>/run</filename> take precedence
- over files with the same name in <filename>/lib</filename>. This can be
- used to override a system-supplied rules file with a local file if needed;
- a symlink in <filename>/etc</filename> with the same name as a rules file in
- <filename>/lib</filename>, pointing to <filename>/dev/null</filename>,
- disables the rules file entirely.</para>
-
- <para>Rule files must have the extension <filename>.rules</filename>; other
- extensions are ignored.</para>
-
- <para>Every line in the rules file contains at least one key-value pair.
- There are two kind of keys: match and assignment.
- If all match keys are matching against its value, the rule gets applied and the
- assignment keys get the specified value assigned.</para>
-
- <para>A matching rule may rename a network interface, add symlinks
- pointing to the device node, or run a specified program as part of
- the event handling.</para>
-
- <para>A rule consists of a comma-separated list of one or more key-value pairs.
- Each key has a distinct operation, depending on the used operator. Valid
- operators are:</para>
- <variablelist>
- <varlistentry>
- <term><option>==</option></term>
- <listitem>
- <para>Compare for equality.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>!=</option></term>
- <listitem>
- <para>Compare for inequality.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>=</option></term>
- <listitem>
- <para>Assign a value to a key. Keys that represent a list are reset
- and only this single value is assigned.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>+=</option></term>
- <listitem>
- <para>Add the value to a key that holds a list of entries.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>:=</option></term>
- <listitem>
- <para>Assign a value to a key finally; disallow any later changes.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>The following key names can be used to match against device properties.
- Some of the keys also match against properties of the parent devices in sysfs,
- not only the device that has generated the event. If multiple keys that match
- a parent device are specified in a single rule, all these keys must match at
- one and the same parent device.</para>
- <variablelist>
- <varlistentry>
- <term><option>ACTION</option></term>
- <listitem>
- <para>Match the name of the event action.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>DEVPATH</option></term>
- <listitem>
- <para>Match the devpath of the event device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>KERNEL</option></term>
- <listitem>
- <para>Match the name of the event device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>NAME</option></term>
- <listitem>
- <para>Match the name of a network interface. It can be used once the
- NAME key has been set in one of the preceding rules.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>SYMLINK</option></term>
- <listitem>
- <para>Match the name of a symlink targeting the node. It can
- be used once a SYMLINK key has been set in one of the preceding
- rules. There may be multiple symlinks; only one needs to match.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>SUBSYSTEM</option></term>
- <listitem>
- <para>Match the subsystem of the event device.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>DRIVER</option></term>
- <listitem>
- <para>Match the driver name of the event device. Only set this key for devices
- which are bound to a driver at the time the event is generated.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>ATTR{<replaceable>filename</replaceable>}</option></term>
- <listitem>
- <para>Match sysfs attribute values of the event device. Trailing
- whitespace in the attribute values is ignored unless the specified match
- value itself contains trailing whitespace.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>KERNELS</option></term>
- <listitem>
- <para>Search the devpath upwards for a matching device name.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>SUBSYSTEMS</option></term>
- <listitem>
- <para>Search the devpath upwards for a matching device subsystem name.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>DRIVERS</option></term>
- <listitem>
- <para>Search the devpath upwards for a matching device driver name.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ATTRS{<replaceable>filename</replaceable>}</option></term>
- <listitem>
- <para>Search the devpath upwards for a device with matching sysfs attribute values.
- If multiple <option>ATTRS</option> matches are specified, all of them
- must match on the same device. Trailing whitespace in the attribute values is ignored
- unless the specified match value itself contains trailing whitespace.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>TAGS</option></term>
- <listitem>
- <para>Search the devpath upwards for a device with matching tag.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ENV{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>Match against a device property value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>TAG</option></term>
- <listitem>
- <para>Match against a device tag.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>TEST{<replaceable>octal mode mask</replaceable>}</option></term>
- <listitem>
- <para>Test the existence of a file. An octal mode mask can be specified
- if needed.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>PROGRAM</option></term>
- <listitem>
- <para>Execute a program to determine whether there
- is a match; the key is true if the program returns
- successfully. The device properties are made available to the
- executed program in the environment. The program's stdout
- is available in the RESULT key.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>RESULT</option></term>
- <listitem>
- <para>Match the returned string of the last PROGRAM call. This key can
- be used in the same or in any later rule after a PROGRAM call.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>Most of the fields support shell-style pattern matching. The following
- pattern characters are supported:</para>
- <variablelist>
- <varlistentry>
- <term><option>*</option></term>
- <listitem>
- <para>Matches zero or more characters.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>?</option></term>
- <listitem>
- <para>Matches any single character.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>[]</option></term>
- <listitem>
- <para>Matches any single character specified within the brackets. For
- example, the pattern string 'tty[SR]' would match either 'ttyS' or 'ttyR'.
- Ranges are also supported via the '-' character.
- For example, to match on the range of all digits, the pattern [0-9] could
- be used. If the first character following the '[' is a '!', any characters
- not enclosed are matched.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>The following keys can get values assigned:</para>
- <variablelist>
- <varlistentry>
- <term><option>NAME</option></term>
- <listitem>
- <para>The name to use for a network interface. The name of a device node
- can not be changed by udev, only additional symlinks can be created.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>SYMLINK</option></term>
- <listitem>
- <para>The name of a symlink targeting the node. Every matching rule adds
- this value to the list of symlinks to be created. Multiple symlinks may be
- specified by separating the names by the space character. In case multiple
- devices claim the same name, the link always points to the device with
- the highest link_priority. If the current device goes away, the links are
- re-evaluated and the device with the next highest link_priority becomes the owner of
- the link. If no link_priority is specified, the order of the devices (and
- which one of them owns the link) is undefined. Also, symlink names must
- never conflict with the kernel's default device node names, as that would
- result in unpredictable behavior.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>OWNER, GROUP, MODE</option></term>
- <listitem>
- <para>The permissions for the device node. Every specified value overrides
- the compiled-in default value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ATTR{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>The value that should be written to a sysfs attribute of the
- event device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>ENV{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>Set a device property value. Property names with a leading '.'
- are neither stored in the database nor exported to events or
- external tools (run by, say, the PROGRAM match key).</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>TAG</option></term>
- <listitem>
- <para>Attach a tag to a device. This is used to filter events for users
- of libudev's monitor functionality, or to enumerate a group of tagged
- devices. The implementation can only work efficiently if only a few
- tags are attached to a device. It is only meant to be used in
- contexts with specific device filter requirements, and not as a
- general-purpose flag. Excessive use might result in inefficient event
- handling.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>RUN</option></term>
- <listitem>
- <para>Add a program to the list of programs to be executed for a specific
- device.</para>
- <para>If no absolute path is given, the program is expected to live in
- /usr/lib/udev, otherwise the absolute path must be specified. The program
- name and following arguments are separated by spaces. Single quotes can
- be used to specify arguments with spaces.</para>
- <para>This can only be used for very short running tasks. Running an
- event process for a long period of time may block all further events for
- this or a dependent device. Starting daemons or other long running processes
- is not appropriate for udev.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>LABEL</option></term>
- <listitem>
- <para>A named label to which a GOTO may jump.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>GOTO</option></term>
- <listitem>
- <para>Jumps to the next LABEL with a matching name.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>IMPORT{<replaceable>type</replaceable>}</option></term>
- <listitem>
- <para>Import a set of variables as device properties,
- depending on <replaceable>type</replaceable>:</para>
- <variablelist>
- <varlistentry>
- <term><option>program</option></term>
- <listitem>
- <para>Execute an external program specified as the assigned value and
- import its output, which must be in environment key
- format. Path specification, command/argument separation,
- and quoting work like in <option>RUN</option>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>file</option></term>
- <listitem>
- <para>Import a text file specified as the assigned value, the content
- of which must be in environment key format.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>db</option></term>
- <listitem>
- <para>Import a single property specified as the assigned value from the
- current device database. This works only if the database is already populated
- by an earlier event.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>cmdline</option></term>
- <listitem>
- <para>Import a single property from the kernel command line. For simple flags
- the value of the property is set to '1'.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>parent</option></term>
- <listitem>
- <para>Import the stored keys from the parent device by reading
- the database entry of the parent device. The value assigned to
- <option>IMPORT{parent}</option> is used as a filter of key names
- to import (with the same shell-style pattern matching used for
- comparisons).</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>WAIT_FOR</option></term>
- <listitem>
- <para>Wait for a file to become available or until a timeout of
- 10 seconds expires. The path is relative to the sysfs device;
- if no path is specified, this waits for an attribute to appear.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>OPTIONS</option></term>
- <listitem>
- <para>Rule and device options:</para>
- <variablelist>
- <varlistentry>
- <term><option>link_priority=<replaceable>value</replaceable></option></term>
- <listitem>
- <para>Specify the priority of the created symlinks. Devices with higher
- priorities overwrite existing symlinks of other devices. The default is 0.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>event_timeout=</option></term>
- <listitem>
- <para>Number of seconds an event waits for operations to finish before
- giving up and terminating itself.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>string_escape=<replaceable>none|replace</replaceable></option></term>
- <listitem>
- <para>Usually control and other possibly unsafe characters are replaced
- in strings used for device naming. The mode of replacement can be specified
- with this option.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>static_node=</option></term>
- <listitem>
- <para>Apply the permissions specified in this rule to the static device node with
- the specified name. Static device nodes might be provided by kernel modules
- or copied from <filename>/usr/lib/udev/devices</filename>. These nodes might not have
- a corresponding kernel device at the time udevd is started; they can trigger
- automatic kernel module loading.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>watch</option></term>
- <listitem>
- <para>Watch the device node with inotify; when the node is closed after being opened for
- writing, a change uevent is synthesized.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>nowatch</option></term>
- <listitem>
- <para>Disable the watching of a device node with inotify.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <para>The <option>NAME</option>, <option>SYMLINK</option>, <option>PROGRAM</option>,
- <option>OWNER</option>, <option>GROUP</option>, <option>MODE</option> and <option>RUN</option>
- fields support simple string substitutions. The <option>RUN</option>
- substitutions are performed after all rules have been processed, right before the program
- is executed, allowing for the use of device properties set by earlier matching
- rules. For all other fields, substitutions are performed while the individual rule is
- being processed. The available substitutions are:</para>
- <variablelist>
- <varlistentry>
- <term><option>$kernel</option>, <option>%k</option></term>
- <listitem>
- <para>The kernel name for this device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$number</option>, <option>%n</option></term>
- <listitem>
- <para>The kernel number for this device. For example, 'sda3' has
- kernel number of '3'</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$devpath</option>, <option>%p</option></term>
- <listitem>
- <para>The devpath of the device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$id</option>, <option>%b</option></term>
- <listitem>
- <para>The name of the device matched while searching the devpath upwards for
- <option>SUBSYSTEMS</option>, <option>KERNELS</option>, <option>DRIVERS</option> and <option>ATTRS</option>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$driver</option></term>
- <listitem>
- <para>The driver name of the device matched while searching the devpath upwards for
- <option>SUBSYSTEMS</option>, <option>KERNELS</option>, <option>DRIVERS</option> and <option>ATTRS</option>.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$attr{<replaceable>file</replaceable>}</option>, <option>%s{<replaceable>file</replaceable>}</option></term>
- <listitem>
- <para>The value of a sysfs attribute found at the device where
- all keys of the rule have matched. If the matching device does not have
- such an attribute, and a previous KERNELS, SUBSYSTEMS, DRIVERS, or
- ATTRS test selected a parent device, then the attribute from that
- parent device is used.</para>
- <para>If the attribute is a symlink, the last element of the symlink target is
- returned as the value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$env{<replaceable>key</replaceable>}</option>, <option>%E{<replaceable>key</replaceable>}</option></term>
- <listitem>
- <para>A device property value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$major</option>, <option>%M</option></term>
- <listitem>
- <para>The kernel major number for the device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$minor</option>, <option>%m</option></term>
- <listitem>
- <para>The kernel minor number for the device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$result</option>, <option>%c</option></term>
- <listitem>
- <para>The string returned by the external program requested with PROGRAM.
- A single part of the string, separated by a space character, may be selected
- by specifying the part number as an attribute: <option>%c{N}</option>.
- If the number is followed by the '+' character, this part plus all remaining parts
- of the result string are substituted: <option>%c{N+}</option></para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$parent</option>, <option>%P</option></term>
- <listitem>
- <para>The node name of the parent device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$name</option></term>
- <listitem>
- <para>The current name of the device. If not changed by a rule, it is the
- name of the kernel device.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$links</option></term>
- <listitem>
- <para>A space-separated list of the current symlinks. The value is
- only set during a remove event or if an earlier rule assigned a value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$root</option>, <option>%r</option></term>
- <listitem>
- <para>The udev_root value.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$sys</option>, <option>%S</option></term>
- <listitem>
- <para>The sysfs mount point.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$devnode</option>, <option>%N</option></term>
- <listitem>
- <para>The name of the device node.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>%%</option></term>
- <listitem>
- <para>The '%' character itself.</para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>$$</option></term>
- <listitem>
- <para>The '$' character itself.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
- </refsect1>
-
- <refsect1><title>Author</title>
- <para>Written by Greg Kroah-Hartman <email>greg@kroah.com</email> and
- Kay Sievers <email>kay.sievers@vrfy.org</email>. With much help from
- Dan Stekloff and many others.</para>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para><citerefentry>
- <refentrytitle>udevd</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry>,
- <citerefentry>
- <refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry></para>
- </refsect1>
-</refentry>
diff --git a/src/udev/src/udevadm.xml b/src/udev/src/udevadm.xml
deleted file mode 100644
index 455ce80ca9..0000000000
--- a/src/udev/src/udevadm.xml
+++ /dev/null
@@ -1,472 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="udevadm">
- <refentryinfo>
- <title>udevadm</title>
- <productname>udev</productname>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>udevadm</refentrytitle>
- <manvolnum>8</manvolnum>
- <refmiscinfo class="version"></refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>udevadm</refname><refpurpose>udev management tool</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>udevadm</command>
- <arg><option>--debug</option></arg>
- <arg><option>--version</option></arg>
- <arg><option>--help</option></arg>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm info <replaceable>options</replaceable></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm trigger <optional>options</optional></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm settle <optional>options</optional></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm control <replaceable>command</replaceable></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm monitor <optional>options</optional></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm test <optional>options</optional> <replaceable>devpath</replaceable></command>
- </cmdsynopsis>
- <cmdsynopsis>
- <command>udevadm test-builtin <optional>options</optional> <replaceable>command</replaceable> <replaceable>devpath</replaceable></command>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1><title>Description</title>
- <para>udevadm expects a command and command specific options. It
- controls the runtime behavior of udev, requests kernel events,
- manages the event queue, and provides simple debugging mechanisms.</para>
- </refsect1>
-
- <refsect1><title>OPTIONS</title>
- <variablelist>
- <varlistentry>
- <term><option>--debug</option></term>
- <listitem>
- <para>Print debug messages to stderr.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--version</option></term>
- <listitem>
- <para>Print version number.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
-
- <refsect2><title>udevadm info <replaceable>options</replaceable></title>
- <para>Queries the udev database for device information
- stored in the udev database. It can also query the properties
- of a device from its sysfs representation to help creating udev
- rules that match this device.</para>
- <variablelist>
- <varlistentry>
- <term><option>--query=<replaceable>type</replaceable></option></term>
- <listitem>
- <para>Query the database for specified type of device data. It needs the
- <option>--path</option> or <option>--name</option> to identify the specified
- device. Valid queries are:
- <command>name</command>, <command>symlink</command>, <command>path</command>,
- <command>property</command>, <command>all</command>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--path=<replaceable>devpath</replaceable></option></term>
- <listitem>
- <para>The devpath of the device to query.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--name=<replaceable>file</replaceable></option></term>
- <listitem>
- <para>The name of the device node or a symlink to query</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--root</option></term>
- <listitem>
- <para>The udev root directory: <filename>/dev</filename>. If used in conjunction
- with a <command>name</command> or <command>symlink</command> query, the
- query returns the absolute path including the root directory.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--run</option></term>
- <listitem>
- <para>The udev runtime directory: <filename>/run/udev</filename>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--attribute-walk</option></term>
- <listitem>
- <para>Print all sysfs properties of the specified device that can be used
- in udev rules to match the specified device. It prints all devices
- along the chain, up to the root of sysfs that can be used in udev rules.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--export</option></term>
- <listitem>
- <para>Print output as key/value pairs. Values are enclosed in single quotes.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--export-prefix=<replaceable>name</replaceable></option></term>
- <listitem>
- <para>Add a prefix to the key name of exported values.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--device-id-of-file=<replaceable>file</replaceable></option></term>
- <listitem>
- <para>Print major/minor numbers of the underlying device, where the file
- lives on.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--export-db</option></term>
- <listitem>
- <para>Export the content of the udev database.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--cleanup-db</option></term>
- <listitem>
- <para>Cleanup the udev database.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--version</option></term>
- <listitem>
- <para>Print version.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>udevadm trigger <optional>options</optional></title>
- <para>Request device events from the kernel. Primarily used to replay events at system coldplug time.</para>
- <variablelist>
- <varlistentry>
- <term><option>--verbose</option></term>
- <listitem>
- <para>Print the list of devices which will be triggered.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--dry-run</option></term>
- <listitem>
- <para>Do not actually trigger the event.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--type=<replaceable>type</replaceable></option></term>
- <listitem>
- <para>Trigger a specific type of devices. Valid types are:
- <command>devices</command>, <command>subsystems</command>.
- The default value is <command>devices</command>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--action=<replaceable>action</replaceable></option></term>
- <listitem>
- <para>Type of event to be triggered. The default value is <command>change</command>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--subsystem-match=<replaceable>subsystem</replaceable></option></term>
- <listitem>
- <para>Trigger events for devices which belong to a matching subsystem. This option
- can be specified multiple times and supports shell style pattern matching.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--subsystem-nomatch=<replaceable>subsystem</replaceable></option></term>
- <listitem>
- <para>Do not trigger events for devices which belong to a matching subsystem. This option
- can be specified multiple times and supports shell style pattern matching.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--attr-match=<replaceable>attribute</replaceable>=<replaceable>value</replaceable></option></term>
- <listitem>
- <para>Trigger events for devices with a matching sysfs attribute. If a value is specified
- along with the attribute name, the content of the attribute is matched against the given
- value using shell style pattern matching. If no value is specified, the existence of the
- sysfs attribute is checked. This option can be specified multiple times.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--attr-nomatch=<replaceable>attribute</replaceable>=<replaceable>value</replaceable></option></term>
- <listitem>
- <para>Do not trigger events for devices with a matching sysfs attribute. If a value is
- specified along with the attribute name, the content of the attribute is matched against
- the given value using shell style pattern matching. If no value is specified, the existence
- of the sysfs attribute is checked. This option can be specified multiple times.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--property-match=<replaceable>property</replaceable>=<replaceable>value</replaceable></option></term>
- <listitem>
- <para>Trigger events for devices with a matching property value. This option can be
- specified multiple times and supports shell style pattern matching.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--tag-match=<replaceable>property</replaceable></option></term>
- <listitem>
- <para>Trigger events for devices with a matching tag. This option can be
- specified multiple times.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--sysname-match=<replaceable>name</replaceable></option></term>
- <listitem>
- <para>Trigger events for devices with a matching sys device name. This option can be
- specified multiple times and supports shell style pattern matching.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--parent-match=<replaceable>syspath</replaceable></option></term>
- <listitem>
- <para>Trigger events for all children of a given device.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>udevadm settle <optional>options</optional></title>
- <para>Watches the udev event queue, and exits if all current events are handled.</para>
- <variablelist>
- <varlistentry>
- <term><option>--timeout=<replaceable>seconds</replaceable></option></term>
- <listitem>
- <para>Maximum number of seconds to wait for the event queue to become empty.
- The default value is 120 seconds. A value of 0 will check if the queue is empty
- and always return immediately.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--seq-start=<replaceable>seqnum</replaceable></option></term>
- <listitem>
- <para>Wait only for events after the given sequence number.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--seq-end=<replaceable>seqnum</replaceable></option></term>
- <listitem>
- <para>Wait only for events before the given sequence number.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--exit-if-exists=<replaceable>file</replaceable></option></term>
- <listitem>
- <para>Stop waiting if file exists.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--quiet</option></term>
- <listitem>
- <para>Do not print any output, like the remaining queue entries when reaching the timeout.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>udevadm control <replaceable>command</replaceable></title>
- <para>Modify the internal state of the running udev daemon.</para>
- <variablelist>
- <varlistentry>
- <term><option>--exit</option></term>
- <listitem>
- <para>Signal and wait for udevd to exit.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--log-priority=<replaceable>value</replaceable></option></term>
- <listitem>
- <para>Set the internal log level of udevd. Valid values are the numerical
- syslog priorities or their textual representations: <option>err</option>,
- <option>info</option> and <option>debug</option>.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--stop-exec-queue</option></term>
- <listitem>
- <para>Signal udevd to stop executing new events. Incoming events
- will be queued.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--start-exec-queue</option></term>
- <listitem>
- <para>Signal udevd to enable the execution of events.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--reload</option></term>
- <listitem>
- <para>Signal udevd to reload the rules files and other databases like the kernel
- module index. Reloading rules and databases does not apply any changes to already
- existing devices; the new configuration will only be applied to new events.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--property=<replaceable>KEY</replaceable>=<replaceable>value</replaceable></option></term>
- <listitem>
- <para>Set a global property for all events.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--children-max=</option><replaceable>value</replaceable></term>
- <listitem>
- <para>Set the maximum number of events, udevd will handle at the
- same time.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--timeout=</option><replaceable>seconds</replaceable></term>
- <listitem>
- <para>The maximum number seconds to wait for a reply from udevd.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>udevadm monitor <optional>options</optional></title>
- <para>Listens to the kernel uevents and events sent out by a udev rule
- and prints the devpath of the event to the console. It can be used to analyze the
- event timing, by comparing the timestamps of the kernel uevent and the udev event.
- </para>
- <variablelist>
- <varlistentry>
- <term><option>--kernel</option></term>
- <listitem>
- <para>Print the kernel uevents.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--udev</option></term>
- <listitem>
- <para>Print the udev event after the rule processing.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--property</option></term>
- <listitem>
- <para>Also print the properties of the event.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--subsystem-match=<replaceable>string[/string]</replaceable></option></term>
- <listitem>
- <para>Filter events by subsystem[/devtype]. Only udev events with a matching subsystem value will pass.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--tag-match=<replaceable>string</replaceable></option></term>
- <listitem>
- <para>Filter events by property. Only udev events with a given tag attached will pass.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>udevadm test <optional>options</optional> <replaceable>devpath</replaceable></title>
- <para>Simulate a udev event run for the given device, and print debug output.</para>
- <variablelist>
- <varlistentry>
- <term><option>--action=<replaceable>string</replaceable></option></term>
- <listitem>
- <para>The action string.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--subsystem=<replaceable>string</replaceable></option></term>
- <listitem>
- <para>The subsystem string.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
-
- <refsect2><title>udevadm test-builtin <optional>options</optional> <replaceable>command</replaceable> <replaceable>devpath</replaceable></title>
- <para>Run a built-in command for the given device, and print debug output.</para>
- <variablelist>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect2>
- </refsect1>
-
- <refsect1><title>Author</title>
- <para>Written by Kay Sievers <email>kay.sievers@vrfy.org</email>.</para>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para><citerefentry>
- <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
- </citerefentry>
- <citerefentry>
- <refentrytitle>udevd</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry></para>
- </refsect1>
-</refentry>
diff --git a/src/udev/src/udevd.xml b/src/udev/src/udevd.xml
deleted file mode 100644
index c516eb9793..0000000000
--- a/src/udev/src/udevd.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version='1.0'?>
-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"?>
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<refentry id="udevd">
- <refentryinfo>
- <title>udevd</title>
- <productname>udev</productname>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>udevd</refentrytitle>
- <manvolnum>8</manvolnum>
- <refmiscinfo class="version"></refmiscinfo>
- </refmeta>
-
- <refnamediv>
- <refname>udevd</refname><refpurpose>event managing daemon</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>udevd</command>
- <arg><option>--daemon</option></arg>
- <arg><option>--debug</option></arg>
- <arg><option>--children-max=</option></arg>
- <arg><option>--exec-delay=</option></arg>
- <arg><option>--resolve-names=early|late|never</option></arg>
- <arg><option>--version</option></arg>
- <arg><option>--help</option></arg>
- </cmdsynopsis>
- </refsynopsisdiv>
-
- <refsect1><title>Description</title>
- <para>udevd listens to kernel uevents. For every event, udevd executes matching
- instructions specified in udev rules. See <citerefentry>
- <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
- </citerefentry>.</para>
- <para>On startup the content of the directory <filename>/usr/lib/udev/devices</filename>
- is copied to <filename>/dev</filename>. If kernel modules specify static device
- nodes, these nodes are created even without a corresponding kernel device, to
- allow on-demand loading of kernel modules. Matching permissions specified in udev
- rules are applied to these static device nodes.</para>
- <para>The behavior of the running daemon can be changed with
- <command>udevadm control</command>.</para>
- </refsect1>
-
- <refsect1><title>Options</title>
- <variablelist>
- <varlistentry>
- <term><option>--daemon</option></term>
- <listitem>
- <para>Detach and run in the background.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--debug</option></term>
- <listitem>
- <para>Print debug messages to stderr.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--children-max=</option></term>
- <listitem>
- <para>Limit the number of parallel executed events.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--exec-delay=</option></term>
- <listitem>
- <para>Number of seconds to delay the execution of RUN instructions.
- This might be useful when debugging system crashes during coldplug
- cause by loading non-working kernel modules.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--resolve-names=</option></term>
- <listitem>
- <para>Specify when udevd should resolve names of users and groups.
- When set to <option>early</option> (the default) names will be
- resolved when the rules are parsed. When set to
- <option>late</option> names will be resolved for every event.
- When set to <option>never</option> names will never be resolved
- and all devices will be owned by root.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--version</option></term>
- <listitem>
- <para>Print version number.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><option>--help</option></term>
- <listitem>
- <para>Print help text.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1><title>Environment</title>
- <variablelist>
- <varlistentry>
- <term><varname>UDEV_LOG=</varname></term>
- <listitem>
- <para>Set the logging priority.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1><title>Kernel command line</title>
- <variablelist>
- <varlistentry>
- <term><varname>udev.log-priority=</varname></term>
- <listitem>
- <para>Set the logging priority.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>udev.children-max=</varname></term>
- <listitem>
- <para>Limit the number of parallel executed events.</para>
- </listitem>
- </varlistentry>
- <varlistentry>
- <term><varname>udev.exec-delay=</varname></term>
- <listitem>
- <para>Number of seconds to delay the execution of RUN instructions.
- This might be useful when debugging system crashes during coldplug
- cause by loading non-working kernel modules.</para>
- </listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
- <refsect1><title>Author</title>
- <para>Written by Kay Sievers <email>kay.sievers@vrfy.org</email>.</para>
- </refsect1>
-
- <refsect1>
- <title>See Also</title>
- <para><citerefentry>
- <refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum>
- </citerefentry>, <citerefentry>
- <refentrytitle>udevadm</refentrytitle><manvolnum>8</manvolnum>
- </citerefentry></para>
- </refsect1>
-</refentry>
diff --git a/src/udev/src/test-libudev.c b/src/udev/test-libudev.c
index 6161fb3e31..6161fb3e31 100644
--- a/src/udev/src/test-libudev.c
+++ b/src/udev/test-libudev.c
diff --git a/src/udev/src/test-udev.c b/src/udev/test-udev.c
index c9712e974d..c9712e974d 100644
--- a/src/udev/src/test-udev.c
+++ b/src/udev/test-udev.c
diff --git a/src/udev/test/rules-test.sh b/src/udev/test/rules-test.sh
index 1e224ff8b5..5b3acea31f 100755
--- a/src/udev/test/rules-test.sh
+++ b/src/udev/test/rules-test.sh
@@ -12,4 +12,4 @@ type python >/dev/null 2>&1 || {
exit 0
}
-$srcdir/test/rule-syntax-check.py `find $srcdir/rules -name '*.rules'`
+$srcdir/src/udev/test/rule-syntax-check.py `find $srcdir/rules -name '*.rules'`
diff --git a/src/udev/src/udev-builtin-blkid.c b/src/udev/udev-builtin-blkid.c
index e57f03e5a1..e57f03e5a1 100644
--- a/src/udev/src/udev-builtin-blkid.c
+++ b/src/udev/udev-builtin-blkid.c
diff --git a/src/udev/src/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c
index d212c64b4d..d212c64b4d 100644
--- a/src/udev/src/udev-builtin-firmware.c
+++ b/src/udev/udev-builtin-firmware.c
diff --git a/src/udev/src/udev-builtin-hwdb.c b/src/udev/udev-builtin-hwdb.c
index aa996f375d..aa996f375d 100644
--- a/src/udev/src/udev-builtin-hwdb.c
+++ b/src/udev/udev-builtin-hwdb.c
diff --git a/src/udev/src/udev-builtin-input_id.c b/src/udev/udev-builtin-input_id.c
index a062ef7c7a..a062ef7c7a 100644
--- a/src/udev/src/udev-builtin-input_id.c
+++ b/src/udev/udev-builtin-input_id.c
diff --git a/src/udev/src/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c
index 57e813f863..57e813f863 100644
--- a/src/udev/src/udev-builtin-kmod.c
+++ b/src/udev/udev-builtin-kmod.c
diff --git a/src/udev/src/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
index a8559d2dd4..a8559d2dd4 100644
--- a/src/udev/src/udev-builtin-path_id.c
+++ b/src/udev/udev-builtin-path_id.c
diff --git a/src/udev/src/udev-builtin-usb_id.c b/src/udev/udev-builtin-usb_id.c
index 85828e32d7..85828e32d7 100644
--- a/src/udev/src/udev-builtin-usb_id.c
+++ b/src/udev/udev-builtin-usb_id.c
diff --git a/src/udev/src/udev-builtin.c b/src/udev/udev-builtin.c
index 5bc5fa68f6..5bc5fa68f6 100644
--- a/src/udev/src/udev-builtin.c
+++ b/src/udev/udev-builtin.c
diff --git a/src/udev/src/udev-ctrl.c b/src/udev/udev-ctrl.c
index 5556f1a77c..5556f1a77c 100644
--- a/src/udev/src/udev-ctrl.c
+++ b/src/udev/udev-ctrl.c
diff --git a/src/udev/src/udev-event.c b/src/udev/udev-event.c
index 45dd77ba2e..40a6b7d33e 100644
--- a/src/udev/src/udev-event.c
+++ b/src/udev/udev-event.c
@@ -727,7 +727,7 @@ int udev_event_spawn(struct udev_event *event,
/* allow programs in /usr/lib/udev/ to be called without the path */
if (argv[0][0] != '/') {
- util_strscpyl(program, sizeof(program), PKGLIBEXECDIR "/", argv[0], NULL);
+ util_strscpyl(program, sizeof(program), UDEVLIBEXECDIR "/", argv[0], NULL);
argv[0] = program;
}
diff --git a/src/udev/src/udev-node.c b/src/udev/udev-node.c
index 7a01a479ee..7a01a479ee 100644
--- a/src/udev/src/udev-node.c
+++ b/src/udev/udev-node.c
diff --git a/src/udev/src/udev-rules.c b/src/udev/udev-rules.c
index 8a85eae717..8a85eae717 100644
--- a/src/udev/src/udev-rules.c
+++ b/src/udev/udev-rules.c
diff --git a/src/udev/src/udev-watch.c b/src/udev/udev-watch.c
index 228d18fedf..228d18fedf 100644
--- a/src/udev/src/udev-watch.c
+++ b/src/udev/udev-watch.c
diff --git a/src/udev/src/udev.conf b/src/udev/udev.conf
index f39253eb67..f39253eb67 100644
--- a/src/udev/src/udev.conf
+++ b/src/udev/udev.conf
diff --git a/src/udev/src/udev.h b/src/udev/udev.h
index bc051c9b65..bc051c9b65 100644
--- a/src/udev/src/udev.h
+++ b/src/udev/udev.h
diff --git a/src/udev/src/udev.pc.in b/src/udev/udev.pc.in
index 0b04c02ef6..0b04c02ef6 100644
--- a/src/udev/src/udev.pc.in
+++ b/src/udev/udev.pc.in
diff --git a/src/udev/src/udevadm-control.c b/src/udev/udevadm-control.c
index cafa214944..cafa214944 100644
--- a/src/udev/src/udevadm-control.c
+++ b/src/udev/udevadm-control.c
diff --git a/src/udev/src/udevadm-info.c b/src/udev/udevadm-info.c
index ee9b59fea8..ee9b59fea8 100644
--- a/src/udev/src/udevadm-info.c
+++ b/src/udev/udevadm-info.c
diff --git a/src/udev/src/udevadm-monitor.c b/src/udev/udevadm-monitor.c
index 5997dd8e18..5997dd8e18 100644
--- a/src/udev/src/udevadm-monitor.c
+++ b/src/udev/udevadm-monitor.c
diff --git a/src/udev/src/udevadm-settle.c b/src/udev/udevadm-settle.c
index b168defd90..b168defd90 100644
--- a/src/udev/src/udevadm-settle.c
+++ b/src/udev/udevadm-settle.c
diff --git a/src/udev/src/udevadm-test-builtin.c b/src/udev/udevadm-test-builtin.c
index 3a49f7ce9c..3a49f7ce9c 100644
--- a/src/udev/src/udevadm-test-builtin.c
+++ b/src/udev/udevadm-test-builtin.c
diff --git a/src/udev/src/udevadm-test.c b/src/udev/udevadm-test.c
index 6275cff899..6275cff899 100644
--- a/src/udev/src/udevadm-test.c
+++ b/src/udev/udevadm-test.c
diff --git a/src/udev/src/udevadm-trigger.c b/src/udev/udevadm-trigger.c
index 3cce23dfb2..3cce23dfb2 100644
--- a/src/udev/src/udevadm-trigger.c
+++ b/src/udev/udevadm-trigger.c
diff --git a/src/udev/src/udevadm.c b/src/udev/udevadm.c
index 224ece0bb7..224ece0bb7 100644
--- a/src/udev/src/udevadm.c
+++ b/src/udev/udevadm.c
diff --git a/src/udev/src/udevd.c b/src/udev/udevd.c
index 170221790a..694e758777 100644
--- a/src/udev/src/udevd.c
+++ b/src/udev/udevd.c
@@ -982,7 +982,7 @@ static void static_dev_create_from_devices(struct udev *udev, DIR *dir)
{
DIR *dir_from;
- dir_from = opendir(PKGLIBEXECDIR "/devices");
+ dir_from = opendir(UDEVLIBEXECDIR "/devices");
if (dir_from == NULL)
return;
copy_dev_dir(udev, dir_from, dir, 8);
diff --git a/src/udev/src/v4l_id/60-persistent-v4l.rules b/src/udev/v4l_id/60-persistent-v4l.rules
index 93c5ee8c27..93c5ee8c27 100644
--- a/src/udev/src/v4l_id/60-persistent-v4l.rules
+++ b/src/udev/v4l_id/60-persistent-v4l.rules
diff --git a/src/udev/src/v4l_id/v4l_id.c b/src/udev/v4l_id/v4l_id.c
index a2a80b5f43..a2a80b5f43 100644
--- a/src/udev/src/v4l_id/v4l_id.c
+++ b/src/udev/v4l_id/v4l_id.c