From: Kay Sievers Date: Tue, 3 Apr 2012 19:24:46 +0000 (+0200) Subject: move imported udev into place X-Git-Tag: v183~455 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=3e2147858f21943d5f4a781c60f33ac22c6096ed move imported udev into place --- diff --git a/.gitignore b/.gitignore index f36dd8a81..16a6f583b 100644 --- a/.gitignore +++ b/.gitignore @@ -107,3 +107,14 @@ ltmain.sh *.tar.gz *.tar.bz2 libtool +/accelerometer +/ata_id +/cdrom_id +/collect +/gtk-doc.make +/keymap +/mtd_probe +/scsi_id +/udevadm +/udevd +/v4l_id diff --git a/Makefile.am b/Makefile.am index 219d8ded8..74e14d2f2 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # This file is part of systemd. # -# Copyright 2011 Lennart Poettering -# Copyright 2011 Kay Sievers +# Copyright 2010-2012 Lennart Poettering +# Copyright 2010-2012 Kay Sievers # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -16,9 +16,18 @@ # You should have received a copy of the GNU General Public License # along with systemd; If not, see . -ACLOCAL_AMFLAGS = -I m4 +ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} +AM_MAKEFLAGS = --no-print-directory -SUBDIRS = po +SUBDIRS = . po + +LIBUDEV_CURRENT=13 +LIBUDEV_REVISION=2 +LIBUDEV_AGE=13 + +LIBGUDEV_CURRENT=1 +LIBGUDEV_REVISION=1 +LIBGUDEV_AGE=1 LIBSYSTEMD_LOGIN_CURRENT=2 LIBSYSTEMD_LOGIN_REVISION=1 @@ -41,7 +50,6 @@ dbuspolicydir=@dbuspolicydir@ dbussessionservicedir=@dbussessionservicedir@ dbussystemservicedir=@dbussystemservicedir@ dbusinterfacedir=@dbusinterfacedir@ -udevrulesdir=@udevrulesdir@ pamlibdir=@pamlibdir@ pkgconfigdatadir=$(datadir)/pkgconfig pkgconfiglibdir=$(libdir)/pkgconfig @@ -55,6 +63,7 @@ tmpfilesdir=$(prefix)/lib/tmpfiles.d sysctldir=$(prefix)/lib/sysctl.d usergeneratordir=$(pkglibexecdir)/user-generators pkgincludedir=$(includedir)/systemd +udevlibexecdir=$(rootprefix)/lib/udev # And these are the special ones for / rootprefix=@rootprefix@ @@ -66,17 +75,28 @@ systemunitdir=$(rootprefix)/lib/systemd/system CLEANFILES = EXTRA_DIST = +BUILT_SOURCES = INSTALL_EXEC_HOOKS = UNINSTALL_EXEC_HOOKS = INSTALL_DATA_HOOKS = +DISTCHECK_HOOKS = +DISTCLEAN_LOCAL_HOOKS = pkginclude_HEADERS = lib_LTLIBRARIES = +include_HEADERS = pkgconfiglib_DATA = polkitpolicy_in_files = dist_udevrules_DATA = +nodist_udevrules_DATA = +udevhomedir = $(libexecdir)/udev +udevhome_SCRIPTS = +dist_udevhome_SCRIPTS = +dist_udevhome_DATA = +dist_man_MANS = AM_CPPFLAGS = \ -include $(top_builddir)/config.h \ + -DSYSCONFDIR=\""$(sysconfdir)"\" \ -DSYSTEM_CONFIG_FILE=\"$(pkgsysconfdir)/system.conf\" \ -DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \ -DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \ @@ -99,12 +119,14 @@ AM_CPPFLAGS = \ -DUSER_GENERATOR_PATH=\"$(usergeneratordir)\" \ -DSYSTEM_SHUTDOWN_PATH=\"$(systemshutdowndir)\" \ -DSYSTEMD_KBD_MODEL_MAP=\"$(pkgdatadir)/kbd-model-map\" \ - -DX_SERVER=\"$(bindir)/X\" \ + -DX_SERVER=\"$(bindir)/X\" \ + -DUDEVLIBEXECDIR=\""$(libexecdir)/udev"\" \ -I $(top_srcdir)/src \ -I $(top_srcdir)/src/readahead \ -I $(top_srcdir)/src/login \ -I $(top_srcdir)/src/journal \ - -I $(top_srcdir)/src/systemd + -I $(top_srcdir)/src/systemd \ + -I $(top_srcdir)/src/udev AM_CFLAGS = $(WARNINGFLAGS) AM_LDFLAGS = $(GCLDFLAGS) @@ -221,9 +243,6 @@ dist_dbuspolicy_DATA = \ dist_dbussystemservice_DATA = \ src/org.freedesktop.systemd1.service -nodist_udevrules_DATA = \ - src/99-systemd.rules - dbusinterface_DATA = \ org.freedesktop.systemd1.Manager.xml \ org.freedesktop.systemd1.Job.xml \ @@ -299,7 +318,9 @@ dist_systemunit_DATA = \ units/quotaon.service \ units/systemd-ask-password-wall.path \ units/systemd-ask-password-console.path \ - units/syslog.target + units/syslog.target \ + units/udev-control.socket \ + units/udev-kernel.socket nodist_systemunit_DATA = \ units/getty@.service \ @@ -323,7 +344,10 @@ nodist_systemunit_DATA = \ units/fsck@.service \ units/fsck-root.service \ units/rescue.service \ - units/user@.service + units/user@.service \ + units/udev.service \ + units/udev-trigger.service \ + units/udev-settle.service dist_userunit_DATA = \ units/user/default.target \ @@ -356,9 +380,11 @@ EXTRA_DIST += \ units/fsck@.service.in \ units/fsck-root.service.in \ units/user@.service.in \ + units/udev.service \ + units/udev-trigger.service \ + units/udev-settle.service \ src/systemd.pc.in \ introspect.awk \ - src/99-systemd.rules.in \ man/custom-html.xsl if TARGET_FEDORA @@ -422,7 +448,7 @@ endif dist_doc_DATA = \ README \ - NEWS \ + NEWS \ LICENSE \ DISTRO_PORTING @@ -535,7 +561,6 @@ EXTRA_DIST += \ libsystemd_core_la_CFLAGS = \ $(AM_CFLAGS) \ $(DBUS_CFLAGS) \ - $(UDEV_CFLAGS) \ $(LIBWRAP_CFLAGS) \ $(PAM_CFLAGS) \ $(AUDIT_CFLAGS) \ @@ -543,8 +568,8 @@ libsystemd_core_la_CFLAGS = \ libsystemd_core_la_LIBADD = \ libsystemd-basic.la \ + libudev.la \ $(DBUS_LIBS) \ - $(UDEV_LIBS) \ $(LIBWRAP_LIBS) \ $(PAM_LIBS) \ $(AUDIT_LIBS) \ @@ -642,9 +667,9 @@ EXTRA_DIST += \ src/spawn-agent.h \ src/acl-util.h \ src/logs-show.h \ - src/utf8.h \ - src/journal/sparse-endian.h \ - src/ima-setup.h + src/utf8.h \ + src/journal/sparse-endian.h \ + src/ima-setup.h MANPAGES = \ man/systemd.1 \ @@ -687,7 +712,10 @@ MANPAGES = \ man/systemd-cat.1 \ man/systemd-machine-id-setup.1 \ man/journald.conf.5 \ - man/journalctl.1 + man/journalctl.1 \ + man/udev.7 \ + man/udevadm.8 \ + man/udevd.8 MANPAGES_ALIAS = \ man/reboot.8 \ @@ -721,8 +749,7 @@ systemd_SOURCES = \ systemd_CFLAGS = \ $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ - $(UDEV_CFLAGS) + $(DBUS_CFLAGS) systemd_LDADD = \ libsystemd-core.la @@ -843,13 +870,9 @@ systemd_shutdown_SOURCES = \ src/umount.c \ src/shutdown.c -systemd_shutdown_CFLAGS = \ - $(AM_CFLAGS) \ - $(UDEV_CFLAGS) - systemd_shutdown_LDADD = \ libsystemd-basic.la \ - $(UDEV_LIBS) + libudev.la systemd_modules_load_SOURCES = \ src/modules-load.c @@ -887,12 +910,11 @@ systemd_fsck_SOURCES = \ systemd_fsck_CFLAGS = \ $(AM_CFLAGS) \ - $(UDEV_CFLAGS) \ $(DBUS_CFLAGS) systemd_fsck_LDADD = \ libsystemd-basic.la \ - $(UDEV_LIBS) \ + libudev.la \ $(DBUS_LIBS) systemd_timestamp_SOURCES = \ @@ -904,13 +926,9 @@ systemd_timestamp_LDADD = \ systemd_ac_power_SOURCES = \ src/ac-power.c -systemd_ac_power_CFLAGS = \ - $(AM_CFLAGS) \ - $(UDEV_CFLAGS) - systemd_ac_power_LDADD = \ libsystemd-basic.la \ - $(UDEV_LIBS) + libudev.la systemd_detect_virt_SOURCES = \ src/detect-virt.c @@ -1102,6 +1120,620 @@ EXTRA_DIST += \ src/libsystemd-daemon.pc.in \ src/libsystemd-daemon.sym +# ------------------------------------------------------------------------------ +SUBDIRS += \ + src/udev/docs + +include_HEADERS += \ + src/udev/libudev.h + +lib_LTLIBRARIES += \ + libudev.la + +noinst_LTLIBRARIES += \ + libudev-private.la + +libudev_la_SOURCES =\ + src/udev/libudev-private.h \ + src/udev/libudev.c \ + src/udev/libudev-list.c \ + src/udev/libudev-util.c \ + src/udev/libudev-device.c \ + src/udev/libudev-enumerate.c \ + src/udev/libudev-monitor.c \ + src/udev/libudev-queue.c + +libudev_la_LDFLAGS = \ + $(AM_LDFLAGS) \ + -version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) + +libudev_private_la_SOURCES =\ + $(libudev_la_SOURCES) \ + src/udev/libudev-util-private.c \ + src/udev/libudev-device-private.c \ + src/udev/libudev-queue-private.c \ + src/udev/libudev-selinux-private.c + +libudev_private_la_LIBADD = \ + $(SELINUX_LIBS) + +pkgconfiglib_DATA += \ + src/udev/libudev.pc + +EXTRA_DIST += \ + src/udev/libudev.pc.in + +CLEANFILES += \ + src/udev/libudev.pc + +# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed +libudev-install-move-hook: + if test "$(libdir)" != "$(rootlibdir)"; then \ + mkdir -p $(DESTDIR)$(rootlibdir) && \ + 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$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libudev.so && \ + mv $(DESTDIR)$(libdir)/libudev.so.* $(DESTDIR)$(rootlibdir); \ + fi + +libudev-uninstall-move-hook: + rm -f $(DESTDIR)$(rootlibdir)/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/99-systemd.rules \ + 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/udev.conf + +sharepkgconfigdir = $(datadir)/pkgconfig +sharepkgconfig_DATA = \ + src/udev/udev.pc + +EXTRA_DIST += \ + rules/99-systemd.rules.in \ + src/udev/udev.pc.in + +CLEANFILES += \ + rules/99-systemd.rules \ + src/udev/udev.pc + +EXTRA_DIST += \ + units/udev.service.in \ + units/udev-trigger.service.in \ + units/udev-settle.service.in + +CLEANFILES += \ + units/udev.service \ + units/udev-trigger.service \ + units/udev-settle.service + +systemd-install-hook: + mkdir -p $(DESTDIR)$(systemunitdir)/sockets.target.wants + ln -sf ../udev-control.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/udev-control.socket + ln -sf ../udev-kernel.socket $(DESTDIR)$(systemunitdir)/sockets.target.wants/udev-kernel.socket + mkdir -p $(DESTDIR)$(systemunitdir)/basic.target.wants + ln -sf ../udev.service $(DESTDIR)$(systemunitdir)/basic.target.wants/udev.service + ln -sf ../udev-trigger.service $(DESTDIR)$(systemunitdir)/basic.target.wants/udev-trigger.service + +INSTALL_DATA_HOOKS += systemd-install-hook + +bin_PROGRAMS += \ + udevadm + +udevlibexec_PROGRAMS = \ + udevd + +udev_common_sources = \ + src/udev/udev.h \ + src/udev/udev-event.c \ + src/udev/udev-watch.c \ + src/udev/udev-node.c \ + src/udev/udev-rules.c \ + src/udev/udev-ctrl.c \ + src/udev/udev-builtin.c \ + src/udev/udev-builtin-blkid.c \ + src/udev/udev-builtin-firmware.c \ + src/udev/udev-builtin-hwdb.c \ + src/udev/udev-builtin-input_id.c \ + src/udev/udev-builtin-kmod.c \ + src/udev/udev-builtin-path_id.c \ + src/udev/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/udev/udevd.c \ + src/systemd/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/udev/udevadm.c \ + src/udev/udevadm-info.c \ + src/udev/udevadm-control.c \ + src/udev/udevadm-monitor.c \ + src/udev/udevadm-settle.c \ + src/udev/udevadm-trigger.c \ + src/udev/udevadm-test.c \ + src/udev/udevadm-test-builtin.c + +udevadm_CFLAGS = \ + $(udev_common_CFLAGS) + +udevadm_LDADD = \ + $(udev_common_LDADD) + +udevadm_CPPFLAGS = \ + $(udev_common_CPPFLAGS) + +# ------------------------------------------------------------------------------ +TESTS = \ + src/udev/test/udev-test.pl \ + src/udev/test/rules-test.sh + +check_PROGRAMS = \ + test-libudev \ + test-udev + +test_libudev_SOURCES = \ + src/udev/test-libudev.c + +test_libudev_LDADD = \ + libudev.la + +test_udev_SOURCES = \ + $(udev_common_sources) \ + src/udev/test-udev.c + +test_udev_CFLAGS = \ + $(udev_common_CFLAGS) + +test_udev_LDADD = \ + $(udev_common_LDADD) + +test_udev_CPPFLAGS = \ + $(udev_common_CPPFLAGS) + +test_udev_DEPENDENCIES = \ + src/udev/test/sys + +# packed sysfs test tree +src/udev/test/sys: + $(AM_V_GEN)mkdir -p src/udev/test && tar -C src/udev/test/ -xJf $(top_srcdir)/src/udev/test/sys.tar.xz + +test-sys-distclean: + -rm -rf src/udev/test/sys +DISTCLEAN_LOCAL_HOOKS += test-sys-distclean + +EXTRA_DIST += \ + src/udev/test/sys.tar.xz \ + $(TESTS) \ + src/udev/test/rule-syntax-check.py + +# ------------------------------------------------------------------------------ +ata_id_SOURCES = \ + src/udev/ata_id/ata_id.c + +ata_id_LDADD = \ + libudev-private.la + +udevlibexec_PROGRAMS += \ + ata_id + +# ------------------------------------------------------------------------------ +cdrom_id_SOURCES = \ + src/udev/cdrom_id/cdrom_id.c + +cdrom_id_LDADD = \ + libudev-private.la + +udevlibexec_PROGRAMS += \ + cdrom_id + +dist_udevrules_DATA += \ + src/udev/cdrom_id/60-cdrom_id.rules + +# ------------------------------------------------------------------------------ +collect_SOURCES = \ + src/udev/collect/collect.c + +collect_LDADD = \ + libudev-private.la + +udevlibexec_PROGRAMS += \ + collect + +# ------------------------------------------------------------------------------ +scsi_id_SOURCES =\ + src/udev/scsi_id/scsi_id.c \ + src/udev/scsi_id/scsi_serial.c \ + src/udev/scsi_id/scsi.h \ + src/udev/scsi_id/scsi_id.h + +scsi_id_LDADD = \ + libudev-private.la + +udevlibexec_PROGRAMS += \ + scsi_id + +EXTRA_DIST += \ + src/udev/scsi_id/README + +# ------------------------------------------------------------------------------ +v4l_id_SOURCES = \ + src/udev/v4l_id/v4l_id.c + +v4l_id_LDADD = \ + libudev-private.la + +udevlibexec_PROGRAMS += \ + v4l_id + +dist_udevrules_DATA += \ + src/udev/v4l_id/60-persistent-v4l.rules + +# ------------------------------------------------------------------------------ +accelerometer_SOURCES = \ + src/udev/accelerometer/accelerometer.c + +accelerometer_LDADD = \ + libudev-private.la -lm + +udevlibexec_PROGRAMS += \ + accelerometer + +dist_udevrules_DATA += \ + src/udev/accelerometer/61-accelerometer.rules + +# ------------------------------------------------------------------------------ +if ENABLE_GUDEV +SUBDIRS += \ + src/udev/gudev/docs + +libgudev_includedir = \ + $(includedir)/gudev-1.0/gudev + +libgudev_include_HEADERS = \ + src/udev/gudev/gudev.h \ + src/udev/gudev/gudevenums.h \ + src/udev/gudev/gudevenumtypes.h \ + src/udev/gudev/gudevtypes.h \ + src/udev/gudev/gudevclient.h \ + src/udev/gudev/gudevdevice.h \ + src/udev/gudev/gudevenumerator.h + +lib_LTLIBRARIES += libgudev-1.0.la + +pkgconfiglib_DATA += \ + src/udev/gudev/gudev-1.0.pc + +EXTRA_DIST += \ + src/udev/gudev/gudev-1.0.pc.in + +CLEANFILES += \ + src/udev/gudev/gudev-1.0.pc + +libgudev_1_0_la_SOURCES = \ + src/udev/gudev/gudevenums.h \ + src/udev/gudev/gudevenumtypes.h \ + src/udev/gudev/gudevenumtypes.h\ + src/udev/gudev/gudevtypes.h \ + src/udev/gudev/gudevclient.h \ + src/udev/gudev/gudevclient.c \ + src/udev/gudev/gudevdevice.h \ + src/udev/gudev/gudevdevice.c \ + src/udev/gudev/gudevenumerator.h \ + src/udev/gudev/gudevenumerator.c \ + src/udev/gudev/gudevprivate.h + +nodist_libgudev_1_0_la_SOURCES = \ + src/udev/gudev/gudevmarshal.h \ + src/udev/gudev/gudevmarshal.c \ + src/udev/gudev/gudevenumtypes.h \ + src/udev/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/udev/gudev \ + -I$(top_srcdir)/src/udev/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/udev/gudev/gudevmarshal.list \ + src/udev/gudev/gudevenumtypes.h.template \ + src/udev/gudev/gudevenumtypes.c.template \ + src/udev/gudev/gjs-example.js \ + src/udev/gudev/seed-example-enum.js \ + src/udev/gudev/seed-example.js + +CLEANFILES += \ + $(nodist_libgudev_1_0_la_SOURCES) + +src/udev/gudev/gudevmarshal.h: src/udev/gudev/gudevmarshal.list + $(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@ + +src/udev/gudev/gudevmarshal.c: src/udev/gudev/gudevmarshal.list + $(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \ + glib-genmarshal $< --prefix=g_udev_marshal --body >> $@ + +src/udev/gudev/gudevenumtypes.h: src/udev/gudev/gudevenumtypes.h.template src/udev/gudev/gudevenums.h + $(AM_V_GEN)glib-mkenums --template $^ > \ + $@.tmp && mv $@.tmp $@ + +src/udev/gudev/gudevenumtypes.c: src/udev/gudev/gudevenumtypes.c.template src/udev/gudev/gudevenums.h + $(AM_V_GEN)glib-mkenums --template $^ > \ + $@.tmp && mv $@.tmp $@ + +if ENABLE_INTROSPECTION +src/udev/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/udev \ + --library-path=$(top_builddir)/src/udev/gudev \ + --output $@ \ + --pkg=glib-2.0 \ + --pkg=gobject-2.0 \ + --pkg-export=gudev-1.0 \ + --c-include=gudev/gudev.h \ + -I$(top_srcdir)/src/udev \ + -I$(top_builddir)/src/udev \ + -D_GUDEV_COMPILATION \ + -D_GUDEV_WORK_AROUND_DEV_T_BUG \ + $(top_srcdir)/src/udev/gudev/gudev.h \ + $(top_srcdir)/src/udev/gudev/gudevtypes.h \ + $(top_srcdir)/src/udev/gudev/gudevenums.h \ + $(or $(wildcard $(top_builddir)/src/udev/gudev/gudevenumtypes.h),$(top_srcdir)/src/udev/gudev/gudevenumtypes.h) \ + $(top_srcdir)/src/udev/gudev/gudevclient.h \ + $(top_srcdir)/src/udev/gudev/gudevdevice.h \ + $(top_srcdir)/src/udev/gudev/gudevenumerator.h \ + $(top_srcdir)/src/udev/gudev/gudevclient.c \ + $(top_srcdir)/src/udev/gudev/gudevdevice.c \ + $(top_srcdir)/src/udev/gudev/gudevenumerator.c + +src/udev/gudev/GUdev-1.0.typelib: src/udev/gudev/GUdev-1.0.gir $(G_IR_COMPILER) + $(AM_V_GEN)g-ir-compiler $< -o $@ + +girdir = $(GIRDIR) +gir_DATA = \ + src/udev/gudev/GUdev-1.0.gir + +typelibsdir = $(GIRTYPELIBDIR) +typelibs_DATA = \ + src/udev/gudev/GUdev-1.0.typelib + +CLEANFILES += $(gir_DATA) $(typelibs_DATA) +endif # ENABLE_INTROSPECTION + +# move lib from $(libdir) to $(rootlibdir) and update devel link, if needed +libgudev-install-move-hook: + if test "$(libdir)" != "$(rootlibdir)"; then \ + mkdir -p $(DESTDIR)$(rootlibdir) && \ + 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$(rootlibdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \ + mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlibdir); \ + fi + +libgudev-uninstall-move-hook: + rm -f $(DESTDIR)$(rootlibdir)/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/udev/keymap/keymap.c + +keymap_CPPFLAGS = \ + $(AM_CPPFLAGS) -I src/udev/keymap + +nodist_keymap_SOURCES = \ + src/udev/keymap/keys-from-name.h \ + src/udev/keymap/keys-to-name.h + +BUILT_SOURCES += \ + $(nodist_keymap_SOURCES) + +udevlibexec_PROGRAMS += \ + keymap + +dist_doc_DATA += \ + src/udev/keymap/README.keymap.txt + +dist_udevrules_DATA += \ + src/udev/keymap/95-keymap.rules \ + src/udev/keymap/95-keyboard-force-release.rules + +dist_udevhome_SCRIPTS += \ + src/udev/keymap/findkeyboards + +udevhome_SCRIPTS += \ + src/udev/keymap/keyboard-force-release.sh + +EXTRA_DIST += \ + src/udev/keymap/check-keymaps.sh \ + src/udev/keymap/keyboard-force-release.sh.in + +CLEANFILES += \ + $(nodist_keymap_SOURCES) \ + src/udev/keymap/keys.txt \ + src/udev/keymap/keys-from-name.gperf \ + src/udev/keymap/keyboard-force-release.sh + +udevkeymapdir = $(libexecdir)/udev/keymaps +dist_udevkeymap_DATA = \ + src/udev/keymap/keymaps/acer \ + src/udev/keymap/keymaps/acer-aspire_5720 \ + src/udev/keymap/keymaps/acer-aspire_8930 \ + src/udev/keymap/keymaps/acer-aspire_5920g \ + src/udev/keymap/keymaps/acer-aspire_6920 \ + src/udev/keymap/keymaps/acer-travelmate_c300 \ + src/udev/keymap/keymaps/asus \ + src/udev/keymap/keymaps/compaq-e_evo \ + src/udev/keymap/keymaps/dell \ + src/udev/keymap/keymaps/dell-latitude-xt2 \ + src/udev/keymap/keymaps/everex-xt5000 \ + src/udev/keymap/keymaps/fujitsu-amilo_li_2732 \ + src/udev/keymap/keymaps/fujitsu-amilo_pa_2548 \ + src/udev/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \ + src/udev/keymap/keymaps/fujitsu-amilo_pro_v3205 \ + src/udev/keymap/keymaps/fujitsu-amilo_si_1520 \ + src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v5 \ + src/udev/keymap/keymaps/fujitsu-esprimo_mobile_v6 \ + src/udev/keymap/keymaps/genius-slimstar-320 \ + src/udev/keymap/keymaps/hewlett-packard \ + src/udev/keymap/keymaps/hewlett-packard-2510p_2530p \ + src/udev/keymap/keymaps/hewlett-packard-compaq_elitebook \ + src/udev/keymap/keymaps/hewlett-packard-pavilion \ + src/udev/keymap/keymaps/hewlett-packard-presario-2100 \ + src/udev/keymap/keymaps/hewlett-packard-tablet \ + src/udev/keymap/keymaps/hewlett-packard-tx2 \ + src/udev/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \ + src/udev/keymap/keymaps/inventec-symphony_6.0_7.0 \ + src/udev/keymap/keymaps/lenovo-3000 \ + src/udev/keymap/keymaps/lenovo-ideapad \ + src/udev/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \ + src/udev/keymap/keymaps/lenovo-thinkpad_x6_tablet \ + src/udev/keymap/keymaps/lenovo-thinkpad_x200_tablet \ + src/udev/keymap/keymaps/lg-x110 \ + src/udev/keymap/keymaps/logitech-wave \ + src/udev/keymap/keymaps/logitech-wave-cordless \ + src/udev/keymap/keymaps/logitech-wave-pro-cordless \ + src/udev/keymap/keymaps/maxdata-pro_7000 \ + src/udev/keymap/keymaps/medion-fid2060 \ + src/udev/keymap/keymaps/medionnb-a555 \ + src/udev/keymap/keymaps/micro-star \ + src/udev/keymap/keymaps/module-asus-w3j \ + src/udev/keymap/keymaps/module-ibm \ + src/udev/keymap/keymaps/module-lenovo \ + src/udev/keymap/keymaps/module-sony \ + src/udev/keymap/keymaps/module-sony-old \ + src/udev/keymap/keymaps/module-sony-vgn \ + src/udev/keymap/keymaps/olpc-xo \ + src/udev/keymap/keymaps/onkyo \ + src/udev/keymap/keymaps/oqo-model2 \ + src/udev/keymap/keymaps/samsung-other \ + src/udev/keymap/keymaps/samsung-90x3a \ + src/udev/keymap/keymaps/samsung-sq1us \ + src/udev/keymap/keymaps/samsung-sx20s \ + src/udev/keymap/keymaps/toshiba-satellite_a100 \ + src/udev/keymap/keymaps/toshiba-satellite_a110 \ + src/udev/keymap/keymaps/toshiba-satellite_m30x \ + src/udev/keymap/keymaps/zepto-znote + +udevkeymapforcereldir = $(libexecdir)/udev/keymaps/force-release +dist_udevkeymapforcerel_DATA = \ + src/udev/keymap/force-release-maps/dell-touchpad \ + src/udev/keymap/force-release-maps/hp-other \ + src/udev/keymap/force-release-maps/samsung-other \ + src/udev/keymap/force-release-maps/samsung-90x3a \ + src/udev/keymap/force-release-maps/common-volume-keys + +src/udev/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/udev/keymap/keys-from-name.gperf: src/udev/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/udev/keymap/keys-from-name.h: src/udev/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/udev/keymap/keys-to-name.h: src/udev/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/udev/keymap/keys.txt + $(top_srcdir)/src/udev/keymap/check-keymaps.sh $(top_srcdir) $^ +DISTCHECK_HOOKS += keymaps-distcheck-hook +endif + +# ------------------------------------------------------------------------------ +mtd_probe_SOURCES = \ + src/udev/mtd_probe/mtd_probe.c \ + src/udev/mtd_probe/mtd_probe.h \ + src/udev/mtd_probe/probe_smartmedia.c + +mtd_probe_CPPFLAGS = \ + $(AM_CPPFLAGS) + +dist_udevrules_DATA += \ + src/udev/mtd_probe/75-probe_mtd.rules + +udevlibexec_PROGRAMS += \ + mtd_probe + # ------------------------------------------------------------------------------ libsystemd_id128_la_SOURCES = \ src/sd-id128.c @@ -1467,24 +2099,16 @@ systemd_readahead_collect_SOURCES = \ systemd_readahead_collect_LDADD = \ libsystemd-basic.la \ libsystemd-daemon.la \ - $(UDEV_LIBS) - -systemd_readahead_collect_CFLAGS = \ - $(AM_CFLAGS) \ - $(UDEV_CFLAGS) + libudev.la systemd_readahead_replay_SOURCES = \ src/readahead/readahead-replay.c \ src/readahead/readahead-common.c -systemd_readahead_replay_CFLAGS = \ - $(AM_CFLAGS) \ - $(UDEV_CFLAGS) - systemd_readahead_replay_LDADD = \ libsystemd-basic.la \ libsystemd-daemon.la \ - $(UDEV_LIBS) + libudev.la rootlibexec_PROGRAMS += \ systemd-readahead-collect \ @@ -1579,12 +2203,11 @@ systemd_cryptsetup_SOURCES = \ systemd_cryptsetup_CFLAGS = \ $(AM_CFLAGS) \ - $(LIBCRYPTSETUP_CFLAGS) \ - $(UDEV_CFLAGS) + $(LIBCRYPTSETUP_CFLAGS) systemd_cryptsetup_LDADD = \ $(LIBCRYPTSETUP_LIBS) \ - $(UDEV_LIBS) \ + libudev.la \ libsystemd-basic.la systemd_cryptsetup_generator_SOURCES = \ @@ -1797,14 +2420,13 @@ endif systemd_logind_CFLAGS = \ $(AM_CFLAGS) \ $(DBUS_CFLAGS) \ - $(UDEV_CFLAGS) \ $(ACL_CFLAGS) systemd_logind_LDADD = \ libsystemd-basic.la \ libsystemd-daemon.la \ + libudev.la \ $(DBUS_LIBS) \ - $(UDEV_LIBS) \ $(ACL_LIBS) systemd_user_sessions_SOURCES = \ @@ -1828,13 +2450,12 @@ loginctl_SOURCES = \ loginctl_CFLAGS = \ $(AM_CFLAGS) \ - $(DBUS_CFLAGS) \ - $(UDEV_CFLAGS) + $(DBUS_CFLAGS) loginctl_LDADD = \ libsystemd-basic.la \ - $(DBUS_LIBS) \ - $(UDEV_LIBS) + libudev.la \ + $(DBUS_LIBS) rootbin_PROGRAMS += \ loginctl @@ -1955,13 +2576,9 @@ INSTALL_DATA_HOOKS += \ systemd_multi_seat_x_SOURCES = \ src/login/multi-seat-x.c -systemd_multi_seat_x_CFLAGS = \ - $(AM_CFLAGS) \ - $(UDEV_CFLAGS) - systemd_multi_seat_x_LDADD = \ libsystemd-basic.la \ - $(UDEV_LIBS) + libudev.la rootlibexec_PROGRAMS += \ systemd-multi-seat-x @@ -1977,14 +2594,13 @@ endif systemd_uaccess_CFLAGS = \ $(AM_CFLAGS) \ - $(UDEV_CFLAGS) \ $(ACL_CFLAGS) systemd_uaccess_LDADD = \ libsystemd-basic.la \ libsystemd-daemon.la \ libsystemd-login.la \ - $(UDEV_LIBS) \ + libudev.la \ $(ACL_LIBS) rootlibexec_PROGRAMS += \ @@ -2088,6 +2704,9 @@ SED_PROCESS = \ -e 's,@exec_prefix\@,$(exec_prefix),g' \ -e 's,@libdir\@,$(libdir),g' \ -e 's,@includedir\@,$(includedir),g' \ + -e 's,@VERSION\@,$(VERSION),g' \ + -e 's,@rootprefix\@,$(rootprefix),g' \ + -e 's,@udevlibexecdir\@,$(libexecdir)/udev,g' \ < $< > $@ || rm $@ units/%: units/%.in Makefile @@ -2105,9 +2724,13 @@ sysctl.d/%: sysctl.d/%.in Makefile src/%.policy.in: src/%.policy.in.in Makefile $(SED_PROCESS) -src/%.rules: src/%.rules.in Makefile +%.rules: %.rules.in Makefile $(SED_PROCESS) +%.sh: %.sh.in Makefile + $(SED_PROCESS) + $(AM_V_GEN)chmod +x $@ + src/%.c: src/%.gperf $(AM_V_GEN)$(MKDIR_P) $(dir $@) && \ $(GPERF) < $< > $@ @@ -2143,8 +2766,7 @@ CLEANFILES += \ $(nodist_polkitpolicy_DATA) \ src/load-fragment-gperf.gperf \ src/load-fragment-gperf.c \ - src/load-fragment-gperf-nulstr.c \ - src/99-systemd.rules + src/load-fragment-gperf-nulstr.c if HAVE_XSLTPROC XSLTPROC_FLAGS = \ @@ -2424,15 +3046,19 @@ uninstall-hook: $(UNINSTALL_EXEC_HOOKS) install-data-hook: systemd-install-data-hook $(INSTALL_DATA_HOOKS) +distcheck-hook: $(DISTCHECK_HOOKS) + +distclean-local: $(DISTCLEAN_LOCAL_HOOKS) + DISTCHECK_CONFIGURE_FLAGS = \ --with-dbuspolicydir=$$dc_install_base/$(dbuspolicydir) \ --with-dbussessionservicedir=$$dc_install_base/$(dbussessionservicedir) \ --with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \ --with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \ - --with-udevrulesdir=$$dc_install_base/$(udevrulesdir) \ --with-pamlibdir=$$dc_install_base/$(pamlibdir) \ - --with-rootprefix=$$dc_install_base \ - --disable-split-usr + --with-rootprefix=$$dc_install_base \ + --disable-split-usr \ + --enable-gtk-doc upload: all distcheck cp -v systemd-$(VERSION).tar.xz /home/lennart/git.fedora/systemd/ diff --git a/TODO b/TODO index 4f3b15704..c12190e58 100644 --- a/TODO +++ b/TODO @@ -342,3 +342,28 @@ Regularly: * pahole * set_put(), hashmap_put() return values check. i.e. == 0 doesn't free()! + +udev: + - 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/autogen.sh b/autogen.sh index 9ca53772a..fba3dc08b 100755 --- a/autogen.sh +++ b/autogen.sh @@ -21,6 +21,7 @@ if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then echo "Activated pre-commit hook." fi +gtkdocize intltoolize --force --automake autoreconf --force --install --symlink @@ -32,7 +33,8 @@ args="\ --sysconfdir=/etc \ --localstatedir=/var \ --libdir=$(libdir /usr/lib) \ ---libexecdir=/usr/lib" +--libexecdir=/usr/lib \ +--enable-gtk-doc" if [ ! -L /bin ]; then args="$args \ diff --git a/configure.ac b/configure.ac index 9a9a78923..9baebef1c 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,7 @@ # This file is part of systemd. # -# Copyright 2010 Lennart Poettering +# Copyright 2010-2012 Lennart Poettering +# Copyright 2010-2012 Kay Sievers # # systemd is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -18,6 +19,7 @@ AC_PREREQ(2.63) AC_INIT([systemd],[44],[systemd-devel@lists.freedesktop.org]) +AC_SUBST(PACKAGE_URL, [http://www.freedesktop.org/wiki/Software/systemd]) AC_CONFIG_SRCDIR([src/main.c]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_HEADERS([config.h]) @@ -25,16 +27,15 @@ AC_USE_SYSTEM_EXTENSIONS AC_SYS_LARGEFILE AC_PREFIX_DEFAULT([/usr]) AM_INIT_AUTOMAKE([foreign 1.11 -Wall -Wno-portability silent-rules tar-pax no-dist-gzip dist-xz subdir-objects check-news]) - -AC_SUBST(PACKAGE_URL, [http://www.freedesktop.org/wiki/Software/systemd]) - +AM_SILENT_RULES([yes]) AC_CANONICAL_HOST AC_DEFINE_UNQUOTED([CANONICAL_HOST], "$host", [Canonical host string.]) AS_IF([test "x$host_cpu" = "xmips" || test "x$host_cpu" = "xmipsel" || test "x$host_cpu" = "xmips64" || test "x$host_cpu" = "xmips64el"], [AC_DEFINE(ARCH_MIPS, [], [Whether on mips arch])]) -AM_SILENT_RULES([yes]) +LT_PREREQ(2.2) +LT_INIT # i18n stuff for the PolicyKit policy files IT_PROG_INTLTOOL([0.40.0]) @@ -53,6 +54,9 @@ AC_PROG_CC_C99 AM_PROG_CC_C_O AC_PROG_GCC_TRADITIONAL +AC_PATH_PROG([M4], [m4]) +GTK_DOC_CHECK(1.10) + AC_CHECK_TOOL(OBJCOPY, objcopy) AC_CHECK_TOOL(STRINGS, strings) AC_CHECK_TOOL(GPERF, gperf) @@ -110,9 +114,6 @@ CC_CHECK_FLAGS_APPEND([with_ldflags], [LDFLAGS], [\ -Wl,--gc-sections]) AC_SUBST([GCLDFLAGS], $with_ldflags) -LT_PREREQ(2.2) -LT_INIT - AC_SEARCH_LIBS([clock_gettime], [rt], [], [AC_MSG_ERROR([*** POSIX RT library not found])]) AC_SEARCH_LIBS([dlsym], [dl], [], [AC_MSG_ERROR([*** Dynamic linking loader library not found])]) @@ -127,10 +128,11 @@ AC_SUBST(CAP_LIBS) # This makes sure pkg.m4 is available. m4_pattern_forbid([^_?PKG_[A-Z_]+$],[*** pkg.m4 missing, please install pkg-config]) -PKG_CHECK_MODULES(UDEV, [ libudev >= 172 ]) -PKG_CHECK_MODULES(DBUS, [ dbus-1 >= 1.3.2 ]) -PKG_CHECK_MODULES(KMOD, [ libkmod >= 5 ]) +PKG_CHECK_MODULES(DBUS, [dbus-1 >= 1.3.2]) +PKG_CHECK_MODULES(KMOD, [libkmod >= 5]) +PKG_CHECK_MODULES(BLKID,[blkid >= 2.20]) +# ------------------------------------------------------------------------------ have_ima=yes AC_ARG_ENABLE([ima], AS_HELP_STRING([--disable-ima],[Disable optional IMA support]), [case "${enableval}" in @@ -144,6 +146,7 @@ if test "x${have_ima}" != xno ; then AC_DEFINE(HAVE_IMA, 1, [Define if IMA is available]) fi +# ------------------------------------------------------------------------------ have_selinux=no AC_ARG_ENABLE(selinux, AS_HELP_STRING([--disable-selinux], [Disable optional SELINUX support])) if test "x$enable_selinux" != "xno"; then @@ -155,6 +158,7 @@ if test "x$enable_selinux" != "xno"; then fi AM_CONDITIONAL(HAVE_SELINUX, [test "$have_selinux" = "yes"]) +# ------------------------------------------------------------------------------ have_xz=no AC_ARG_ENABLE(xz, AS_HELP_STRING([--disable-xz], [Disable optional XZ support])) if test "x$enable_xz" != "xno"; then @@ -166,6 +170,7 @@ if test "x$enable_xz" != "xno"; then fi AM_CONDITIONAL(HAVE_XZ, [test "$have_xz" = "yes"]) +# ------------------------------------------------------------------------------ AC_ARG_ENABLE([tcpwrap], AS_HELP_STRING([--disable-tcpwrap],[Disable optional TCP wrappers support]), [case "${enableval}" in @@ -190,6 +195,7 @@ else fi AC_SUBST(LIBWRAP_LIBS) +# ------------------------------------------------------------------------------ AC_ARG_ENABLE([pam], AS_HELP_STRING([--disable-pam],[Disable optional PAM support]), [case "${enableval}" in @@ -227,6 +233,7 @@ fi AC_SUBST(PAM_LIBS) AM_CONDITIONAL([HAVE_PAM], [test "x$have_pam" != xno]) +# ------------------------------------------------------------------------------ AC_ARG_ENABLE([acl], AS_HELP_STRING([--disable-acl],[Disable optional ACL support]), [case "${enableval}" in @@ -264,6 +271,7 @@ fi AC_SUBST(ACL_LIBS) AM_CONDITIONAL([HAVE_ACL], [test "x$have_acl" != xno]) +# ------------------------------------------------------------------------------ AC_ARG_ENABLE([audit], AS_HELP_STRING([--disable-audit],[Disable optional AUDIT support]), [case "${enableval}" in @@ -300,6 +308,7 @@ else fi AC_SUBST(AUDIT_LIBS) +# ------------------------------------------------------------------------------ have_libcryptsetup=no AC_ARG_ENABLE(libcryptsetup, AS_HELP_STRING([--disable-libcryptsetup], [disable libcryptsetup tools])) if test "x$enable_libcryptsetup" != "xno"; then @@ -311,6 +320,7 @@ if test "x$enable_libcryptsetup" != "xno"; then fi AM_CONDITIONAL(HAVE_LIBCRYPTSETUP, [test "$have_libcryptsetup" = "yes"]) +# ------------------------------------------------------------------------------ have_binfmt=no AC_ARG_ENABLE(binfmt, AS_HELP_STRING([--disable-binfmt], [disable binfmt tool])) if test "x$enable_binfmt" != "xno"; then @@ -318,6 +328,7 @@ if test "x$enable_binfmt" != "xno"; then fi AM_CONDITIONAL(ENABLE_BINFMT, [test "$have_binfmt" = "yes"]) +# ------------------------------------------------------------------------------ have_vconsole=no AC_ARG_ENABLE(vconsole, AS_HELP_STRING([--disable-vconsole], [disable vconsole tool])) if test "x$enable_vconsole" != "xno"; then @@ -325,6 +336,7 @@ if test "x$enable_vconsole" != "xno"; then fi AM_CONDITIONAL(ENABLE_VCONSOLE, [test "$have_vconsole" = "yes"]) +# ------------------------------------------------------------------------------ have_readahead=no AC_ARG_ENABLE(readahead, AS_HELP_STRING([--disable-readahead], [disable readahead tools])) if test "x$enable_readahead" != "xno"; then @@ -332,6 +344,7 @@ if test "x$enable_readahead" != "xno"; then fi AM_CONDITIONAL(ENABLE_READAHEAD, [test "$have_readahead" = "yes"]) +# ------------------------------------------------------------------------------ have_quotacheck=no AC_ARG_ENABLE(quotacheck, AS_HELP_STRING([--disable-quotacheck], [disable quotacheck tools])) if test "x$enable_quotacheck" != "xno"; then @@ -339,6 +352,7 @@ if test "x$enable_quotacheck" != "xno"; then fi AM_CONDITIONAL(ENABLE_QUOTACHECK, [test "$have_quotacheck" = "yes"]) +# ------------------------------------------------------------------------------ have_randomseed=no AC_ARG_ENABLE(randomseed, AS_HELP_STRING([--disable-randomseed], [disable randomseed tools])) if test "x$enable_randomseed" != "xno"; then @@ -346,6 +360,7 @@ if test "x$enable_randomseed" != "xno"; then fi AM_CONDITIONAL(ENABLE_RANDOMSEED, [test "$have_randomseed" = "yes"]) +# ------------------------------------------------------------------------------ have_logind=no AC_ARG_ENABLE(logind, AS_HELP_STRING([--disable-logind], [disable login daemon])) if test "x$enable_logind" != "xno"; then @@ -354,6 +369,7 @@ fi AM_CONDITIONAL(ENABLE_LOGIND, [test "$have_logind" = "yes"]) AS_IF([test "$have_logind" = "yes"], [ AC_DEFINE(HAVE_LOGIND, [1], [Logind support available]) ]) +# ------------------------------------------------------------------------------ have_hostnamed=no AC_ARG_ENABLE(hostnamed, AS_HELP_STRING([--disable-hostnamed], [disable hostname daemon])) if test "x$enable_hostnamed" != "xno"; then @@ -361,6 +377,7 @@ if test "x$enable_hostnamed" != "xno"; then fi AM_CONDITIONAL(ENABLE_HOSTNAMED, [test "$have_hostnamed" = "yes"]) +# ------------------------------------------------------------------------------ have_timedated=no AC_ARG_ENABLE(timedated, AS_HELP_STRING([--disable-timedated], [disable timedate daemon])) if test "x$enable_timedated" != "xno"; then @@ -368,6 +385,7 @@ if test "x$enable_timedated" != "xno"; then fi AM_CONDITIONAL(ENABLE_TIMEDATED, [test "$have_timedated" = "yes"]) +# ------------------------------------------------------------------------------ have_localed=no AC_ARG_ENABLE(localed, AS_HELP_STRING([--disable-localed], [disable locale daemon])) if test "x$enable_localed" != "xno"; then @@ -375,6 +393,7 @@ if test "x$enable_localed" != "xno"; then fi AM_CONDITIONAL(ENABLE_LOCALED, [test "$have_localed" = "yes"]) +# ------------------------------------------------------------------------------ have_coredump=no AC_ARG_ENABLE(coredump, AS_HELP_STRING([--disable-coredump], [disable coredump hook])) if test "x$enable_coredump" != "xno"; then @@ -382,6 +401,92 @@ if test "x$enable_coredump" != "xno"; then fi AM_CONDITIONAL(ENABLE_COREDUMP, [test "$have_coredump" = "yes"]) +# ------------------------------------------------------------------------------ +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_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"]) + +# ------------------------------------------------------------------------------ +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 ' | 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"]) + +# ------------------------------------------------------------------------------ have_manpages=no AC_ARG_ENABLE(manpages, AS_HELP_STRING([--disable-manpages], [disable manpages])) if test "x$enable_manpages" != "xno"; then @@ -389,11 +494,10 @@ if test "x$enable_manpages" != "xno"; then fi AM_CONDITIONAL(ENABLE_MANPAGES, [test "$have_manpages" = "yes"]) +# ------------------------------------------------------------------------------ AC_PATH_PROG([XSLTPROC], [xsltproc]) AM_CONDITIONAL(HAVE_XSLTPROC, test x"$XSLTPROC" != x) -AC_PATH_PROG([M4], [m4]) - AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO],[Specify the distribution to target: One of fedora, suse, debian, ubuntu, arch, gentoo, slackware, altlinux, mandriva, meego, mageia, angstrom or other])) if test "z$with_distro" = "z"; then if test "$cross_compiling" = yes; then @@ -572,11 +676,6 @@ AC_ARG_WITH([dbusinterfacedir], [], [with_dbusinterfacedir=`pkg-config --variable=session_bus_services_dir dbus-1`/../interfaces]) -AC_ARG_WITH([udevrulesdir], - AS_HELP_STRING([--with-udevrulesdir=DIR], [Directory for udev rules]), - [], - [with_udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d]) - AC_ARG_WITH([rootprefix], AS_HELP_STRING([--with-rootprefix=DIR], [rootfs directory prefix for config files and kernel modules]), [], [with_rootprefix=${ac_default_prefix}]) @@ -608,12 +707,18 @@ AC_SUBST([dbuspolicydir], [$with_dbuspolicydir]) AC_SUBST([dbussessionservicedir], [$with_dbussessionservicedir]) AC_SUBST([dbussystemservicedir], [$with_dbussystemservicedir]) AC_SUBST([dbusinterfacedir], [$with_dbusinterfacedir]) -AC_SUBST([udevrulesdir], [$with_udevrulesdir]) AC_SUBST([pamlibdir], [$with_pamlibdir]) AC_SUBST([rootprefix], [$with_rootprefix]) AC_SUBST([rootlibdir], [$with_rootlibdir]) -AC_CONFIG_FILES([Makefile po/Makefile.in]) +AC_CONFIG_FILES([ + Makefile po/Makefile.in + src/udev/docs/Makefile + src/udev/docs/version.xml + src/udev/gudev/docs/Makefile + src/udev/gudev/docs/version.xml +]) + AC_OUTPUT AC_MSG_RESULT([ $PACKAGE_NAME $VERSION @@ -641,13 +746,23 @@ AC_MSG_RESULT([ localed: ${have_localed} coredump: ${have_coredump} plymouth: ${have_plymouth} + firmware path: ${FIRMWARE_PATH} + usb.ids: ${USB_DATABASE} + pci.ids: ${PCI_DATABASE} + gudev: ${enable_gudev} + gintrospection: ${enable_introspection} + keymap: ${enable_keymap} + prefix: ${prefix} rootprefix: ${with_rootprefix} + sysconf dir: ${sysconfdir} + datarootdir: ${datarootdir} + includedir: ${includedir} + include_prefix: ${INCLUDE_PREFIX} libexec dir: ${libexecdir} lib dir: ${libdir} rootlib dir: ${with_rootlibdir} PAM modules dir: ${with_pamlibdir} - udev rules dir: ${with_udevrulesdir} D-Bus policy dir: ${with_dbuspolicydir} D-Bus session dir: ${with_dbussessionservicedir} D-Bus system dir: ${with_dbussystemservicedir} diff --git a/m4/.gitignore b/m4/.gitignore index 55eaa803a..cf35a86e8 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -4,3 +4,4 @@ ltoptions.m4 ltsugar.m4 ltversion.m4 lt~obsolete.m4 +gtk-doc.m4 diff --git a/src/udev/src/udev.xml b/man/udev.xml similarity index 100% rename from src/udev/src/udev.xml rename to man/udev.xml diff --git a/src/udev/src/udevadm.xml b/man/udevadm.xml similarity index 100% rename from src/udev/src/udevadm.xml rename to man/udevadm.xml diff --git a/src/udev/src/udevd.xml b/man/udevd.xml similarity index 100% rename from src/udev/src/udevd.xml rename to man/udevd.xml diff --git a/rules/.gitignore b/rules/.gitignore new file mode 100644 index 000000000..93a50ddd8 --- /dev/null +++ b/rules/.gitignore @@ -0,0 +1 @@ +/99-systemd.rules diff --git a/src/udev/rules/42-usb-hid-pm.rules b/rules/42-usb-hid-pm.rules similarity index 100% rename from src/udev/rules/42-usb-hid-pm.rules rename to rules/42-usb-hid-pm.rules diff --git a/src/udev/rules/50-udev-default.rules b/rules/50-udev-default.rules similarity index 100% rename from src/udev/rules/50-udev-default.rules rename to rules/50-udev-default.rules diff --git a/src/udev/rules/60-persistent-alsa.rules b/rules/60-persistent-alsa.rules similarity index 100% rename from src/udev/rules/60-persistent-alsa.rules rename to rules/60-persistent-alsa.rules diff --git a/src/udev/rules/60-persistent-input.rules b/rules/60-persistent-input.rules similarity index 100% rename from src/udev/rules/60-persistent-input.rules rename to rules/60-persistent-input.rules diff --git a/src/udev/rules/60-persistent-serial.rules b/rules/60-persistent-serial.rules similarity index 100% rename from src/udev/rules/60-persistent-serial.rules rename to rules/60-persistent-serial.rules diff --git a/src/udev/rules/60-persistent-storage-tape.rules b/rules/60-persistent-storage-tape.rules similarity index 100% rename from src/udev/rules/60-persistent-storage-tape.rules rename to rules/60-persistent-storage-tape.rules diff --git a/src/udev/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules similarity index 100% rename from src/udev/rules/60-persistent-storage.rules rename to rules/60-persistent-storage.rules diff --git a/src/udev/rules/75-net-description.rules b/rules/75-net-description.rules similarity index 100% rename from src/udev/rules/75-net-description.rules rename to rules/75-net-description.rules diff --git a/src/udev/rules/75-tty-description.rules b/rules/75-tty-description.rules similarity index 100% rename from src/udev/rules/75-tty-description.rules rename to rules/75-tty-description.rules diff --git a/src/udev/rules/78-sound-card.rules b/rules/78-sound-card.rules similarity index 100% rename from src/udev/rules/78-sound-card.rules rename to rules/78-sound-card.rules diff --git a/src/udev/rules/80-drivers.rules b/rules/80-drivers.rules similarity index 100% rename from src/udev/rules/80-drivers.rules rename to rules/80-drivers.rules diff --git a/src/udev/rules/95-udev-late.rules b/rules/95-udev-late.rules similarity index 100% rename from src/udev/rules/95-udev-late.rules rename to rules/95-udev-late.rules diff --git a/src/99-systemd.rules.in b/rules/99-systemd.rules.in similarity index 100% rename from src/99-systemd.rules.in rename to rules/99-systemd.rules.in diff --git a/src/udev/.gitignore b/src/udev/.gitignore index fa3500ba9..e697a57ec 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 d159169d1..000000000 --- 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. - - - Copyright (C) - - 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. - - , 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 dd5813826..000000000 --- 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 -, if 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 _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= - 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{}=="" - 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=: - 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//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 : 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 - 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() 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{[/]} 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}/: and /dev/{block,char}/: - 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// - 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=" - write "event_timeout" to db - udevadm: trigger - add --env= option - udevadm: control - fix --env key to accept --env== - 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:" - 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=="*" 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= - 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]}="" 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=="" key - add "[$SUBSYSTEM/$KERNEL]" 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 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 - 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 - 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 ) - 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= 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 -============================================ - -: - 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 -============================================ - -: - 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 -============================================ - -: - 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. - -: - o udev selinux fix - -: - 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 -============================================ - -: - 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 -============================================ - -: - 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 - -: - 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 -============================================ - -: - 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" ;) - -: - 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 -============================================ - -: - o selinux patch - -: - 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 -============================================ - -: - o Various typos and other litte errors in udev.8.in - -: - o DEVNAME on device removal - -: - 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 - 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 - 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 -============================================ - -: - 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 -============================================ - -: - 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 -============================================ - -: - 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 -============================================ - -: - 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 - -: - 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 -============================================ - -: - 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 -============================================ - -: - o udev - read long lines from config files overflow fix - -: - o Update the FAQ with info about hardlink security - -: - 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 -============================================ - -: - 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 -============================================ - -: - 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 -============================================ - -: - o devfs.sh-ide-floppy - -: - 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 - o add scripts to run gcov for udev from Leann Ogasawara - 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 - o added execelent "writing udev rules" document from Daniel Drake - 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 -============================================ - -: - o Add README for chassis_id - o Add chassis_id program to extras directory - -: - o udevd race conditions and performance, assorted cleanups - -: - o fix SEGV in libsysfs/dlist.c - -: - o add OSDL documentation for persistent naming - -: - 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 - 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 -============================================ - -: - o more Libsysfs updates - o Libsysfs updates - -: - 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 - -: - 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 - -: - 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 -============================================ - -: - 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 - -: - o no error on enoent - o escape dashes in man pages - o remove usage of expr in ide-devfs.sh - -: - 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 - 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 -============================================ - -: - o [PATCH] symlink dm-[0-9]* rule - o update extras/multipath - -: - 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 -============================================ - -: - o make logging a config option - -: - 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 -============================================ - -: - o get_dev_number() in extras/ide-devfs.sh - -: - 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 -============================================ - -: - 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 -============================================ - -: - o libsysfs update for refresh + namedev.c changes - -: - o udev-013/extras/multipath update - -: - 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 -============================================ - -: - o LSB init script and other stuff - -: - o fix udev directory for Debian init script - -: - 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 -============================================ - -: - o make symlink work properly if there is already a file in its place - o Fix udev gcc-2.95.4 compat - -: - 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 - -: - o introduce signal handler - -: - 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 -============================================ - -: - o proper cleanup on udevdb_init() failure - -: - o patch udev 009-010 rpm spec file - -: - 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 -============================================ - -: - o change pgsize - -: - 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 - -: - 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 -============================================ - -: - 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 - -: - o D-BUS patch for udev-008 - -: - 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 - -: - 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 - 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 -============================================ - -: - o more config file parsing robustness - -: - 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 -============================================ - -: - 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 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 -============================================ - -: - 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 - o Add multipath "extra" program from Christophe Varoqui, - 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 -============================================ - -: - 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 0a34e77df..000000000 --- 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 1c7f86b08..000000000 --- a/src/udev/Makefile.am +++ /dev/null @@ -1,712 +0,0 @@ -# Copyright (C) 2008-2012 Kay Sievers -# Copyright (C) 2009 Diego Elio 'Flameeyes' Pettenò - -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 f4f6f4e32..000000000 --- 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 '. - -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= - udev.children-max= - udev.exec-delay= -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 : 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:="". - -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}/: -and the device node of the same device by looking up: - /dev/{block,char}/: - -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:@" 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=="" 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}+="" 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=="" and TEST!="" -can be specified now. The TEST key accepts an optional mode mask -TEST{0100}=="". - -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="" 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="" 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 38459c6b2..000000000 --- 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 8b8b9c8f8..000000000 --- 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 similarity index 100% rename from src/udev/src/accelerometer/61-accelerometer.rules rename to src/udev/accelerometer/61-accelerometer.rules diff --git a/src/udev/src/accelerometer/accelerometer.c b/src/udev/accelerometer/accelerometer.c similarity index 100% rename from src/udev/src/accelerometer/accelerometer.c rename to src/udev/accelerometer/accelerometer.c diff --git a/src/udev/src/ata_id/ata_id.c b/src/udev/ata_id/ata_id.c similarity index 100% rename from src/udev/src/ata_id/ata_id.c rename to src/udev/ata_id/ata_id.c diff --git a/src/udev/autogen.sh b/src/udev/autogen.sh deleted file mode 100755 index 55ee03afd..000000000 --- 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 similarity index 100% rename from src/udev/src/cdrom_id/60-cdrom_id.rules rename to 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 similarity index 100% rename from src/udev/src/cdrom_id/cdrom_id.c rename to src/udev/cdrom_id/cdrom_id.c diff --git a/src/udev/src/collect/collect.c b/src/udev/collect/collect.c similarity index 100% rename from src/udev/src/collect/collect.c rename to src/udev/collect/collect.c diff --git a/src/udev/configure.ac b/src/udev/configure.ac deleted file mode 100644 index b31b62f28..000000000 --- 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 ' | 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 similarity index 96% rename from src/udev/src/docs/.gitignore rename to src/udev/docs/.gitignore index dca700a99..1fb9c5142 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 similarity index 96% rename from src/udev/src/docs/Makefile.am rename to src/udev/docs/Makefile.am index 07d06eb14..7cd4f9742 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 similarity index 100% rename from src/udev/src/docs/libudev-docs.xml rename to src/udev/docs/libudev-docs.xml diff --git a/src/udev/src/docs/libudev-sections.txt b/src/udev/docs/libudev-sections.txt similarity index 100% rename from src/udev/src/docs/libudev-sections.txt rename to src/udev/docs/libudev-sections.txt diff --git a/src/udev/src/docs/libudev.types b/src/udev/docs/libudev.types similarity index 100% rename from src/udev/src/docs/libudev.types rename to src/udev/docs/libudev.types diff --git a/src/udev/src/docs/version.xml.in b/src/udev/docs/version.xml.in similarity index 100% rename from src/udev/src/docs/version.xml.in rename to src/udev/docs/version.xml.in diff --git a/src/udev/src/gudev/.gitignore b/src/udev/gudev/.gitignore similarity index 100% rename from src/udev/src/gudev/.gitignore rename to src/udev/gudev/.gitignore diff --git a/src/udev/src/gudev/docs/.gitignore b/src/udev/gudev/docs/.gitignore similarity index 96% rename from src/udev/src/gudev/docs/.gitignore rename to src/udev/gudev/docs/.gitignore index 8eada6d40..5d7d73d9a 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 similarity index 94% rename from src/udev/src/gudev/docs/Makefile.am rename to src/udev/gudev/docs/Makefile.am index cfe696c50..036ef4302 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 similarity index 100% rename from src/udev/src/gudev/docs/gudev-docs.xml rename to 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 similarity index 100% rename from src/udev/src/gudev/docs/gudev-sections.txt rename to src/udev/gudev/docs/gudev-sections.txt diff --git a/src/udev/src/gudev/docs/gudev.types b/src/udev/gudev/docs/gudev.types similarity index 100% rename from src/udev/src/gudev/docs/gudev.types rename to 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 similarity index 100% rename from src/udev/src/gudev/docs/version.xml.in rename to src/udev/gudev/docs/version.xml.in diff --git a/src/udev/src/gudev/gjs-example.js b/src/udev/gudev/gjs-example.js similarity index 100% rename from src/udev/src/gudev/gjs-example.js rename to 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 similarity index 100% rename from src/udev/src/gudev/gudev-1.0.pc.in rename to src/udev/gudev/gudev-1.0.pc.in diff --git a/src/udev/src/gudev/gudev.h b/src/udev/gudev/gudev.h similarity index 100% rename from src/udev/src/gudev/gudev.h rename to src/udev/gudev/gudev.h diff --git a/src/udev/src/gudev/gudevclient.c b/src/udev/gudev/gudevclient.c similarity index 100% rename from src/udev/src/gudev/gudevclient.c rename to src/udev/gudev/gudevclient.c diff --git a/src/udev/src/gudev/gudevclient.h b/src/udev/gudev/gudevclient.h similarity index 100% rename from src/udev/src/gudev/gudevclient.h rename to src/udev/gudev/gudevclient.h diff --git a/src/udev/src/gudev/gudevdevice.c b/src/udev/gudev/gudevdevice.c similarity index 100% rename from src/udev/src/gudev/gudevdevice.c rename to src/udev/gudev/gudevdevice.c diff --git a/src/udev/src/gudev/gudevdevice.h b/src/udev/gudev/gudevdevice.h similarity index 100% rename from src/udev/src/gudev/gudevdevice.h rename to src/udev/gudev/gudevdevice.h diff --git a/src/udev/src/gudev/gudevenumerator.c b/src/udev/gudev/gudevenumerator.c similarity index 100% rename from src/udev/src/gudev/gudevenumerator.c rename to src/udev/gudev/gudevenumerator.c diff --git a/src/udev/src/gudev/gudevenumerator.h b/src/udev/gudev/gudevenumerator.h similarity index 100% rename from src/udev/src/gudev/gudevenumerator.h rename to src/udev/gudev/gudevenumerator.h diff --git a/src/udev/src/gudev/gudevenums.h b/src/udev/gudev/gudevenums.h similarity index 100% rename from src/udev/src/gudev/gudevenums.h rename to src/udev/gudev/gudevenums.h diff --git a/src/udev/src/gudev/gudevenumtypes.c.template b/src/udev/gudev/gudevenumtypes.c.template similarity index 100% rename from src/udev/src/gudev/gudevenumtypes.c.template rename to src/udev/gudev/gudevenumtypes.c.template diff --git a/src/udev/src/gudev/gudevenumtypes.h.template b/src/udev/gudev/gudevenumtypes.h.template similarity index 100% rename from src/udev/src/gudev/gudevenumtypes.h.template rename to src/udev/gudev/gudevenumtypes.h.template diff --git a/src/udev/src/gudev/gudevmarshal.list b/src/udev/gudev/gudevmarshal.list similarity index 100% rename from src/udev/src/gudev/gudevmarshal.list rename to src/udev/gudev/gudevmarshal.list diff --git a/src/udev/src/gudev/gudevprivate.h b/src/udev/gudev/gudevprivate.h similarity index 100% rename from src/udev/src/gudev/gudevprivate.h rename to src/udev/gudev/gudevprivate.h diff --git a/src/udev/src/gudev/gudevtypes.h b/src/udev/gudev/gudevtypes.h similarity index 100% rename from src/udev/src/gudev/gudevtypes.h rename to src/udev/gudev/gudevtypes.h diff --git a/src/udev/src/gudev/seed-example-enum.js b/src/udev/gudev/seed-example-enum.js similarity index 100% rename from src/udev/src/gudev/seed-example-enum.js rename to src/udev/gudev/seed-example-enum.js diff --git a/src/udev/src/gudev/seed-example.js b/src/udev/gudev/seed-example.js similarity index 100% rename from src/udev/src/gudev/seed-example.js rename to src/udev/gudev/seed-example.js diff --git a/src/udev/src/keymap/.gitignore b/src/udev/keymap/.gitignore similarity index 100% rename from src/udev/src/keymap/.gitignore rename to 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 similarity index 100% rename from src/udev/src/keymap/95-keyboard-force-release.rules rename to 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 similarity index 100% rename from src/udev/src/keymap/95-keymap.rules rename to src/udev/keymap/95-keymap.rules diff --git a/src/udev/src/keymap/README.keymap.txt b/src/udev/keymap/README.keymap.txt similarity index 100% rename from src/udev/src/keymap/README.keymap.txt rename to src/udev/keymap/README.keymap.txt diff --git a/src/udev/src/keymap/check-keymaps.sh b/src/udev/keymap/check-keymaps.sh similarity index 100% rename from src/udev/src/keymap/check-keymaps.sh rename to src/udev/keymap/check-keymaps.sh diff --git a/src/udev/src/keymap/findkeyboards b/src/udev/keymap/findkeyboards similarity index 100% rename from src/udev/src/keymap/findkeyboards rename to 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 similarity index 100% rename from src/udev/src/keymap/force-release-maps/common-volume-keys rename to 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 similarity index 100% rename from src/udev/src/keymap/force-release-maps/dell-touchpad rename to 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 similarity index 100% rename from src/udev/src/keymap/force-release-maps/hp-other rename to 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 similarity index 100% rename from src/udev/src/keymap/force-release-maps/samsung-90x3a rename to 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 similarity index 100% rename from src/udev/src/keymap/force-release-maps/samsung-other rename to 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 similarity index 100% rename from src/udev/src/keymap/keyboard-force-release.sh.in rename to src/udev/keymap/keyboard-force-release.sh.in diff --git a/src/udev/src/keymap/keymap.c b/src/udev/keymap/keymap.c similarity index 99% rename from src/udev/src/keymap/keymap.c rename to src/udev/keymap/keymap.c index 92ec67b3a..4c30ccf31 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 similarity index 100% rename from src/udev/src/keymap/keymaps/acer rename to src/udev/keymap/keymaps/acer diff --git a/src/udev/src/keymap/keymaps/acer-aspire_5720 b/src/udev/keymap/keymaps/acer-aspire_5720 similarity index 100% rename from src/udev/src/keymap/keymaps/acer-aspire_5720 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/acer-aspire_5920g rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/acer-aspire_6920 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/acer-aspire_8930 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/acer-travelmate_c300 rename to src/udev/keymap/keymaps/acer-travelmate_c300 diff --git a/src/udev/src/keymap/keymaps/asus b/src/udev/keymap/keymaps/asus similarity index 100% rename from src/udev/src/keymap/keymaps/asus rename to src/udev/keymap/keymaps/asus diff --git a/src/udev/src/keymap/keymaps/compaq-e_evo b/src/udev/keymap/keymaps/compaq-e_evo similarity index 100% rename from src/udev/src/keymap/keymaps/compaq-e_evo rename to src/udev/keymap/keymaps/compaq-e_evo diff --git a/src/udev/src/keymap/keymaps/dell b/src/udev/keymap/keymaps/dell similarity index 100% rename from src/udev/src/keymap/keymaps/dell rename to src/udev/keymap/keymaps/dell diff --git a/src/udev/src/keymap/keymaps/dell-latitude-xt2 b/src/udev/keymap/keymaps/dell-latitude-xt2 similarity index 100% rename from src/udev/src/keymap/keymaps/dell-latitude-xt2 rename to src/udev/keymap/keymaps/dell-latitude-xt2 diff --git a/src/udev/src/keymap/keymaps/everex-xt5000 b/src/udev/keymap/keymaps/everex-xt5000 similarity index 100% rename from src/udev/src/keymap/keymaps/everex-xt5000 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-amilo_li_2732 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-amilo_pa_2548 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-amilo_pro_v3205 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-amilo_si_1520 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v5 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/fujitsu-esprimo_mobile_v6 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/genius-slimstar-320 rename to src/udev/keymap/keymaps/genius-slimstar-320 diff --git a/src/udev/src/keymap/keymaps/hewlett-packard b/src/udev/keymap/keymaps/hewlett-packard similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard-2510p_2530p rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard-compaq_elitebook rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard-pavilion rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard-presario-2100 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard-tablet rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/hewlett-packard-tx2 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/inventec-symphony_6.0_7.0 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/lenovo-3000 rename to src/udev/keymap/keymaps/lenovo-3000 diff --git a/src/udev/src/keymap/keymaps/lenovo-ideapad b/src/udev/keymap/keymaps/lenovo-ideapad similarity index 100% rename from src/udev/src/keymap/keymaps/lenovo-ideapad rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/lenovo-thinkpad_x200_tablet rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/lenovo-thinkpad_x6_tablet rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/lg-x110 rename to src/udev/keymap/keymaps/lg-x110 diff --git a/src/udev/src/keymap/keymaps/logitech-wave b/src/udev/keymap/keymaps/logitech-wave similarity index 100% rename from src/udev/src/keymap/keymaps/logitech-wave rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/logitech-wave-cordless rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/logitech-wave-pro-cordless rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/maxdata-pro_7000 rename to src/udev/keymap/keymaps/maxdata-pro_7000 diff --git a/src/udev/src/keymap/keymaps/medion-fid2060 b/src/udev/keymap/keymaps/medion-fid2060 similarity index 100% rename from src/udev/src/keymap/keymaps/medion-fid2060 rename to src/udev/keymap/keymaps/medion-fid2060 diff --git a/src/udev/src/keymap/keymaps/medionnb-a555 b/src/udev/keymap/keymaps/medionnb-a555 similarity index 100% rename from src/udev/src/keymap/keymaps/medionnb-a555 rename to src/udev/keymap/keymaps/medionnb-a555 diff --git a/src/udev/src/keymap/keymaps/micro-star b/src/udev/keymap/keymaps/micro-star similarity index 100% rename from src/udev/src/keymap/keymaps/micro-star rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/module-asus-w3j rename to src/udev/keymap/keymaps/module-asus-w3j diff --git a/src/udev/src/keymap/keymaps/module-ibm b/src/udev/keymap/keymaps/module-ibm similarity index 100% rename from src/udev/src/keymap/keymaps/module-ibm rename to src/udev/keymap/keymaps/module-ibm diff --git a/src/udev/src/keymap/keymaps/module-lenovo b/src/udev/keymap/keymaps/module-lenovo similarity index 100% rename from src/udev/src/keymap/keymaps/module-lenovo rename to src/udev/keymap/keymaps/module-lenovo diff --git a/src/udev/src/keymap/keymaps/module-sony b/src/udev/keymap/keymaps/module-sony similarity index 100% rename from src/udev/src/keymap/keymaps/module-sony rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/module-sony-old rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/module-sony-vgn rename to src/udev/keymap/keymaps/module-sony-vgn diff --git a/src/udev/src/keymap/keymaps/olpc-xo b/src/udev/keymap/keymaps/olpc-xo similarity index 100% rename from src/udev/src/keymap/keymaps/olpc-xo rename to src/udev/keymap/keymaps/olpc-xo diff --git a/src/udev/src/keymap/keymaps/onkyo b/src/udev/keymap/keymaps/onkyo similarity index 100% rename from src/udev/src/keymap/keymaps/onkyo rename to src/udev/keymap/keymaps/onkyo diff --git a/src/udev/src/keymap/keymaps/oqo-model2 b/src/udev/keymap/keymaps/oqo-model2 similarity index 100% rename from src/udev/src/keymap/keymaps/oqo-model2 rename to src/udev/keymap/keymaps/oqo-model2 diff --git a/src/udev/src/keymap/keymaps/samsung-90x3a b/src/udev/keymap/keymaps/samsung-90x3a similarity index 100% rename from src/udev/src/keymap/keymaps/samsung-90x3a rename to src/udev/keymap/keymaps/samsung-90x3a diff --git a/src/udev/src/keymap/keymaps/samsung-other b/src/udev/keymap/keymaps/samsung-other similarity index 100% rename from src/udev/src/keymap/keymaps/samsung-other rename to src/udev/keymap/keymaps/samsung-other diff --git a/src/udev/src/keymap/keymaps/samsung-sq1us b/src/udev/keymap/keymaps/samsung-sq1us similarity index 100% rename from src/udev/src/keymap/keymaps/samsung-sq1us rename to src/udev/keymap/keymaps/samsung-sq1us diff --git a/src/udev/src/keymap/keymaps/samsung-sx20s b/src/udev/keymap/keymaps/samsung-sx20s similarity index 100% rename from src/udev/src/keymap/keymaps/samsung-sx20s rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/toshiba-satellite_a100 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/toshiba-satellite_a110 rename to 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 similarity index 100% rename from src/udev/src/keymap/keymaps/toshiba-satellite_m30x rename to src/udev/keymap/keymaps/toshiba-satellite_m30x diff --git a/src/udev/src/keymap/keymaps/zepto-znote b/src/udev/keymap/keymaps/zepto-znote similarity index 100% rename from src/udev/src/keymap/keymaps/zepto-znote rename to src/udev/keymap/keymaps/zepto-znote diff --git a/src/udev/src/libudev-device-private.c b/src/udev/libudev-device-private.c similarity index 100% rename from src/udev/src/libudev-device-private.c rename to src/udev/libudev-device-private.c diff --git a/src/udev/src/libudev-device.c b/src/udev/libudev-device.c similarity index 100% rename from src/udev/src/libudev-device.c rename to src/udev/libudev-device.c diff --git a/src/udev/src/libudev-enumerate.c b/src/udev/libudev-enumerate.c similarity index 100% rename from src/udev/src/libudev-enumerate.c rename to src/udev/libudev-enumerate.c diff --git a/src/udev/src/libudev-list.c b/src/udev/libudev-list.c similarity index 100% rename from src/udev/src/libudev-list.c rename to src/udev/libudev-list.c diff --git a/src/udev/src/libudev-monitor.c b/src/udev/libudev-monitor.c similarity index 100% rename from src/udev/src/libudev-monitor.c rename to src/udev/libudev-monitor.c diff --git a/src/udev/src/libudev-private.h b/src/udev/libudev-private.h similarity index 99% rename from src/udev/src/libudev-private.h rename to src/udev/libudev-private.h index 5f5c64a63..4bbd8422f 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 similarity index 100% rename from src/udev/src/libudev-queue-private.c rename to src/udev/libudev-queue-private.c diff --git a/src/udev/src/libudev-queue.c b/src/udev/libudev-queue.c similarity index 100% rename from src/udev/src/libudev-queue.c rename to src/udev/libudev-queue.c diff --git a/src/udev/src/libudev-selinux-private.c b/src/udev/libudev-selinux-private.c similarity index 100% rename from src/udev/src/libudev-selinux-private.c rename to src/udev/libudev-selinux-private.c diff --git a/src/udev/src/libudev-util-private.c b/src/udev/libudev-util-private.c similarity index 100% rename from src/udev/src/libudev-util-private.c rename to src/udev/libudev-util-private.c diff --git a/src/udev/src/libudev-util.c b/src/udev/libudev-util.c similarity index 100% rename from src/udev/src/libudev-util.c rename to src/udev/libudev-util.c diff --git a/src/udev/src/libudev.c b/src/udev/libudev.c similarity index 99% rename from src/udev/src/libudev.c rename to src/udev/libudev.c index d954daef6..dcba15de4 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 similarity index 100% rename from src/udev/src/libudev.h rename to src/udev/libudev.h diff --git a/src/udev/src/libudev.pc.in b/src/udev/libudev.pc.in similarity index 100% rename from src/udev/src/libudev.pc.in rename to src/udev/libudev.pc.in diff --git a/src/udev/m4/.gitignore b/src/udev/m4/.gitignore deleted file mode 100644 index 0ca2c0372..000000000 --- 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 similarity index 100% rename from src/udev/src/mtd_probe/75-probe_mtd.rules rename to 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 similarity index 100% rename from src/udev/src/mtd_probe/mtd_probe.c rename to 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 similarity index 100% rename from src/udev/src/mtd_probe/mtd_probe.h rename to 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 similarity index 100% rename from src/udev/src/mtd_probe/probe_smartmedia.c rename to src/udev/mtd_probe/probe_smartmedia.c diff --git a/src/udev/src/scsi_id/.gitignore b/src/udev/scsi_id/.gitignore similarity index 100% rename from src/udev/src/scsi_id/.gitignore rename to src/udev/scsi_id/.gitignore diff --git a/src/udev/src/scsi_id/README b/src/udev/scsi_id/README similarity index 100% rename from src/udev/src/scsi_id/README rename to src/udev/scsi_id/README diff --git a/src/udev/src/scsi_id/scsi.h b/src/udev/scsi_id/scsi.h similarity index 100% rename from src/udev/src/scsi_id/scsi.h rename to 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 similarity index 100% rename from src/udev/src/scsi_id/scsi_id.c rename to 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 similarity index 100% rename from src/udev/src/scsi_id/scsi_id.h rename to 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 similarity index 100% rename from src/udev/src/scsi_id/scsi_serial.c rename to src/udev/scsi_id/scsi_serial.c diff --git a/src/udev/src/.gitignore b/src/udev/src/.gitignore deleted file mode 100644 index beb8604bc..000000000 --- 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 d2e31278b..000000000 --- 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. - - - Copyright (C) - - 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. - - , 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 53e4a9e59..000000000 --- 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 f71ef0d80..000000000 --- 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 - * - * 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 . - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#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 da97db2bd..000000000 --- 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. - - - Copyright (C) - - 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. - - , 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 e6da0101d..000000000 --- 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 4f8057347..000000000 --- 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 2eec1b6ab..000000000 --- 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 - -# 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 . - -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 645b9cd52..000000000 --- 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 -# -# 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 . - -# debug, if UDEV_LOG= -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 bcea4b09d..000000000 --- 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= 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 -# Copyright (C) 2007 Kay Sievers -# -# 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 . - -# debug, if UDEV_LOG= -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 0d4dba914..000000000 --- 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= 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= -vendor="ATA",options=-p 0x80 -.RE -.fi -.LP -.SH "SEE ALSO" -.BR udev (7) -.SH AUTHORS -Developed by Patrick Mansfield 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 763e079b4..000000000 --- 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 -#include -#include -#include -#ifdef __BIONIC__ -#include -#else -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(__linux__) -#include -#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 fe51159ee..000000000 --- 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 -#include - -#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/test-libudev.c b/src/udev/test-libudev.c similarity index 100% rename from src/udev/src/test-libudev.c rename to src/udev/test-libudev.c diff --git a/src/udev/src/test-udev.c b/src/udev/test-udev.c similarity index 100% rename from src/udev/src/test-udev.c rename to src/udev/test-udev.c diff --git a/src/udev/test/rules-test.sh b/src/udev/test/rules-test.sh index 1e224ff8b..5b3acea31 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 similarity index 100% rename from src/udev/src/udev-builtin-blkid.c rename to src/udev/udev-builtin-blkid.c diff --git a/src/udev/src/udev-builtin-firmware.c b/src/udev/udev-builtin-firmware.c similarity index 100% rename from src/udev/src/udev-builtin-firmware.c rename to src/udev/udev-builtin-firmware.c diff --git a/src/udev/src/udev-builtin-hwdb.c b/src/udev/udev-builtin-hwdb.c similarity index 100% rename from src/udev/src/udev-builtin-hwdb.c rename to 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 similarity index 100% rename from src/udev/src/udev-builtin-input_id.c rename to src/udev/udev-builtin-input_id.c diff --git a/src/udev/src/udev-builtin-kmod.c b/src/udev/udev-builtin-kmod.c similarity index 100% rename from src/udev/src/udev-builtin-kmod.c rename to 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 similarity index 100% rename from src/udev/src/udev-builtin-path_id.c rename to 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 similarity index 100% rename from src/udev/src/udev-builtin-usb_id.c rename to src/udev/udev-builtin-usb_id.c diff --git a/src/udev/src/udev-builtin.c b/src/udev/udev-builtin.c similarity index 100% rename from src/udev/src/udev-builtin.c rename to src/udev/udev-builtin.c diff --git a/src/udev/src/udev-ctrl.c b/src/udev/udev-ctrl.c similarity index 100% rename from src/udev/src/udev-ctrl.c rename to src/udev/udev-ctrl.c diff --git a/src/udev/src/udev-event.c b/src/udev/udev-event.c similarity index 99% rename from src/udev/src/udev-event.c rename to src/udev/udev-event.c index 45dd77ba2..40a6b7d33 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 similarity index 100% rename from src/udev/src/udev-node.c rename to src/udev/udev-node.c diff --git a/src/udev/src/udev-rules.c b/src/udev/udev-rules.c similarity index 100% rename from src/udev/src/udev-rules.c rename to src/udev/udev-rules.c diff --git a/src/udev/src/udev-watch.c b/src/udev/udev-watch.c similarity index 100% rename from src/udev/src/udev-watch.c rename to src/udev/udev-watch.c diff --git a/src/udev/src/udev.conf b/src/udev/udev.conf similarity index 100% rename from src/udev/src/udev.conf rename to src/udev/udev.conf diff --git a/src/udev/src/udev.h b/src/udev/udev.h similarity index 100% rename from src/udev/src/udev.h rename to src/udev/udev.h diff --git a/src/udev/src/udev.pc.in b/src/udev/udev.pc.in similarity index 100% rename from src/udev/src/udev.pc.in rename to src/udev/udev.pc.in diff --git a/src/udev/src/udevadm-control.c b/src/udev/udevadm-control.c similarity index 100% rename from src/udev/src/udevadm-control.c rename to src/udev/udevadm-control.c diff --git a/src/udev/src/udevadm-info.c b/src/udev/udevadm-info.c similarity index 100% rename from src/udev/src/udevadm-info.c rename to src/udev/udevadm-info.c diff --git a/src/udev/src/udevadm-monitor.c b/src/udev/udevadm-monitor.c similarity index 100% rename from src/udev/src/udevadm-monitor.c rename to src/udev/udevadm-monitor.c diff --git a/src/udev/src/udevadm-settle.c b/src/udev/udevadm-settle.c similarity index 100% rename from src/udev/src/udevadm-settle.c rename to src/udev/udevadm-settle.c diff --git a/src/udev/src/udevadm-test-builtin.c b/src/udev/udevadm-test-builtin.c similarity index 100% rename from src/udev/src/udevadm-test-builtin.c rename to src/udev/udevadm-test-builtin.c diff --git a/src/udev/src/udevadm-test.c b/src/udev/udevadm-test.c similarity index 100% rename from src/udev/src/udevadm-test.c rename to src/udev/udevadm-test.c diff --git a/src/udev/src/udevadm-trigger.c b/src/udev/udevadm-trigger.c similarity index 100% rename from src/udev/src/udevadm-trigger.c rename to src/udev/udevadm-trigger.c diff --git a/src/udev/src/udevadm.c b/src/udev/udevadm.c similarity index 100% rename from src/udev/src/udevadm.c rename to src/udev/udevadm.c diff --git a/src/udev/src/udevd.c b/src/udev/udevd.c similarity index 99% rename from src/udev/src/udevd.c rename to src/udev/udevd.c index 170221790..694e75877 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 similarity index 100% rename from src/udev/src/v4l_id/60-persistent-v4l.rules rename to 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 similarity index 100% rename from src/udev/src/v4l_id/v4l_id.c rename to src/udev/v4l_id/v4l_id.c diff --git a/units/.gitignore b/units/.gitignore index 94412d52e..f3b3cef13 100644 --- a/units/.gitignore +++ b/units/.gitignore @@ -40,3 +40,6 @@ systemd-update-utmp-runlevel.service systemd-update-utmp-shutdown.service test-env-replace systemd-binfmt.service +/udev-settle.service +/udev-trigger.service +/udev.service diff --git a/src/udev/src/udev-control.socket b/units/udev-control.socket similarity index 100% rename from src/udev/src/udev-control.socket rename to units/udev-control.socket diff --git a/src/udev/src/udev-kernel.socket b/units/udev-kernel.socket similarity index 100% rename from src/udev/src/udev-kernel.socket rename to units/udev-kernel.socket diff --git a/src/udev/src/udev-settle.service.in b/units/udev-settle.service.in similarity index 100% rename from src/udev/src/udev-settle.service.in rename to units/udev-settle.service.in diff --git a/src/udev/src/udev-trigger.service.in b/units/udev-trigger.service.in similarity index 100% rename from src/udev/src/udev-trigger.service.in rename to units/udev-trigger.service.in diff --git a/src/udev/src/udev.service.in b/units/udev.service.in similarity index 100% rename from src/udev/src/udev.service.in rename to units/udev.service.in