Project import
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..32ce613
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,136 @@
+#
+#    Copyright (c) 2010-2012 Nest Labs, Inc.
+#    All rights reserved.
+#
+#    This document is the property of Nest. It is considered
+#    confidential and proprietary information.
+#
+#    This document may not be reproduced or transmitted in any form,
+#    in whole or in part, without the express written permission of
+#    Nest.
+#
+#    Description:
+#      This file is the makefile for udev, the dynamic device node
+#      manager for Linux.
+#
+
+BuildConfigSpecialized	:= No
+BuildProductSpecialized	:= No
+
+include pre.mak
+
+PackageName		:= udev
+
+PackageExtension	:= tar.bz2
+PackageSeparator	:= -
+
+PackagePatchArgs	:= -p1
+
+PackageArchive		:= $(PackageName).$(PackageExtension)
+PackageSourceDir	:= $(PackageName)$(PackageSeparator)$(PackageVersion)
+
+PackageBuildMakefile	= $(call GenerateBuildPaths,Makefile)
+
+CleanPaths		+= $(PackageLicenseFile)
+
+GlibDir			:= sw/tps/glib
+GlibIncDir      	:= $(call GenerateResultPaths,$(GlibDir),usr/include)
+GlibLibDir      	:= $(call GenerateResultPaths,$(GlibDir),usr/lib)
+
+LinuxIncDir		:= $(call GenerateResultPaths,sw/tps/linux,include)
+
+all: $(PackageDefaultGoal)
+
+# Generate the package license contents.
+
+$(PackageSourceDir)/COPYING: source
+
+$(PackageLicenseFile): $(PackageSourceDir)/COPYING
+	$(copy-result)
+
+# Extract the source from the archive and apply patches, if any.
+
+$(PackageSourceDir): $(PackageArchive) $(PackagePatchPaths)
+	$(expand-and-patch-package)
+
+# Prepare the sources.
+
+.PHONY: source
+source: | $(PackageSourceDir)
+
+# Patch the sources, if necessary.
+
+.PHONY: patch
+patch: source
+
+# Generate the package build makefile.
+
+$(PackageBuildMakefile): | $(PackageSourceDir) $(BuildDirectory) $(ResultDirectory)
+	$(Verbose)cd $(BuildDirectory) && \
+	$(CURDIR)/$(PackageSourceDir)/configure \
+	CC="$(CC)" CXX="$(CXX)" AR=$(AR) NM=$(NM) RANLIB=$(RANLIB) STRIP=$(STRIP) \
+	INSTALL="$(INSTALL) $(INSTALLFLAGS)" \
+	CPPFLAGS="-I$(LinuxIncDir)" \
+	GLIB_CFLAGS="-I$(GlibIncDir)" \
+	GLIB_LIBS="-L$(GlibLibDir)" \
+	--build=$(HostTuple) \
+	--host=$(TargetTuple) \
+	--disable-extras \
+	--disable-introspection \
+	--disable-static \
+	--enable-shared \
+	--without-selinux \
+	--prefix=/usr \
+	--sysconfdir=/etc \
+	--sbindir=/sbin \
+	--libdir=/usr/lib \
+	--with-rootlibdir=/lib \
+	--libexecdir=/lib/udev \
+	--localstatedir=/var
+
+# Configure the source for building.
+
+.PHONY: configure
+configure: source $(PackageBuildMakefile)
+
+# Build the source.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+
+.PHONY: build
+build: configure
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) all
+
+# Stage the build to a temporary installation area.
+#
+# We have to unset MAKEFLAGS since they confuse the package build otherwise.
+#
+# We explictly remove 'libfoo.la' because some packages that depend on
+# these libraries use libtool. If libtool finds a 'libfoo.la' file for
+# a library, it uses the value of 'libdir=<dir>' it finds. In our
+# case, since '--prefix=/usr' this value is '/usr/lib'. It then
+# resolves '-lfoo'. In a cross-compilation environment, this is likely
+# to be neither the right architecture nor the right version to link
+# against. In short, we lose.
+#
+# We could also handle this by removing DESTDIR and setting the prefix
+# to $(ResultDirectory); however, that results in libtool hard-coding
+# $(ResultDirectory) as the RPATH in the linked executables which is
+# NOT what we want either. We lose again.
+#
+# By removing the '*.la' file, we win by ensuring neither a misdirected
+# link nor an RPATH.
+
+.PHONY: stage
+stage: build | $(ResultDirectory)
+	$(Verbose)unset MAKEFLAGS && \
+	$(MAKE) $(JOBSFLAG) -C $(BuildDirectory) DESTDIR=$(ResultDirectory) install
+	$(Verbose)$(RM) $(RMFLAGS) $(call GenerateResultPaths,,usr/lib/libudev.la)
+
+clean:
+	$(Verbose)$(RM) $(RMFLAGS) -r $(PackageSourceDir)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(BuildDirectory)
+	$(Verbose)$(RM) $(RMFLAGS) -r $(ResultDirectory)
+
+include post.mak
diff --git a/udev-166/COPYING b/udev-166/COPYING
new file mode 100644
index 0000000..d511905
--- /dev/null
+++ b/udev-166/COPYING
@@ -0,0 +1,339 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/udev-166/ChangeLog b/udev-166/ChangeLog
new file mode 100644
index 0000000..1b8caab
--- /dev/null
+++ b/udev-166/ChangeLog
@@ -0,0 +1,5728 @@
+Summary of changes from v165 to v166
+============================================
+
+Chris Bagwell (1):
+      Remap Eee PC touchpad toggle key to F21 used by X
+
+Gerd Hoffmann (1):
+      extras: add rules for qemu guests
+
+Jürgen Kaiser (1):
+      keymap: Add Acer Aspire 8930
+
+Kay Sievers (7):
+      version bump
+      man: generate html pages for www.kernel.org
+      man: fix typo
+      make: fix qemu rules file name
+      extras: qemu - fix typo
+      ata_id: do not print empty serial numbers to avoid unwanted trailing '_'
+      update gitignore
+
+Martin Pitt (6):
+      keymap: Add Acer TravelMate C310
+      keymap: Update README.keymap.txt
+      keymap: Add Lenovo ThinkPad X201 tablet
+      keymap: Move reading of event in separate function
+      keymap: More robust state machine
+      keymap: Explain how to end the program
+
+Matthew Garrett (1):
+      keymap: Remove wlan from Dell
+
+
+Summary of changes from v164 to v165
+============================================
+
+Andy Whitcroft (1):
+      keymap: Add release quirks for two Zepto Znote models and AMILO Xi 2428
+
+Bastien Nocera (2):
+      keymap: Add force release for HP touchpad off
+      extras/keymap: Make touchpad buttons consistent
+
+David Henningsson (1):
+      Add ACLs for FFADO supported sound cards
+
+David Zeuthen (6):
+      ata_id: Support SG_IO version 4 interface
+      Run scsi_id and ata_id on the scsi_device object
+      Use ata_id, not scsi_id, on ATAPI devices
+      Add GUdevEnumerator type and Device.get_tags() method
+      Add g_udev_device_get_is_initialized() method
+      gudev: Add Device.get_usec_since_initialized
+
+Harald Hoyer (2):
+      udev-rules.c: change import property buffer to 16384 bytes
+      70-acl.rules: add ACLs for ID_PDA devices
+
+Jakub Wilk (1):
+      man: udev - workaraound -> workaround
+
+Jan Drzewiecki (1):
+      cdrom_id: Fix media state for unreadable DVDs
+
+Kay Sievers (19):
+      version bump
+      rules: 78-sound-card - remove specific hardware matches, they do not belong here
+      rules: drop OSS audio rule
+      rules: drop alsa jack-plug input devices
+      rules: revert bsg use until the event ordering problem is sorted out
+      libudev: do not overwrite path with readlink() call
+      udevadm: info - honor --export and --export-prefix for property query
+      udevadm: info - honor --export, --export-prefix=
+      udevd: use dev_t or netif ifindex as database key
+      udevd: always create /dev/{char,block}/$major:$minor
+      udevd: simplify udev database and fix DEVNAME handling
+      udevd: switch to common id_filename functions
+      udevd: write full database file for (unsupported) renamed device nodes
+      check ifindex > 0 instead of subsystem == "net"
+      libudev: enumerate - allow to filter-out not-already-initialized devices
+      libudev: fix renamed device nodes detection logic
+      libudev: record and export "age" of device record
+      gudev: bump minor version
+      update NEWS
+
+Martin Pitt (5):
+      keymap: Add Sony Vaio VGN71
+      keymap: Add some more Sony Vaio VGN-* models
+      Add ACL for media player USB devices
+      keymap: Fix struck Touchpad key on Dell Latitude E series
+      keymap: Fix struck Touchpad key on Dell Precision M series
+
+Michal Soltys (1):
+      udevd: create static nodes before /dev/null is needed
+
+
+Summary of changes from v163 to v164
+============================================
+
+David Zeuthen (1):
+      Install libgudev-1.0.so in prefix / instead of prefix /usr
+
+Harald Hoyer (1):
+      cdrom_id: request the drive profile features with a dynamic length
+
+Kay Sievers (4):
+      version bump
+      udevd: do not wrongly delay events for devices with swapped names
+      return proper error code in rename_netif()
+      libudev: return kernel provided devnode when asked before we handled any rules
+
+Martin Pitt (2):
+      keymap: Apply force-release rules to all Samsung models.
+      keymap: Add Toshiba Satellite U500
+
+
+Summary of changes from v162 to v163
+============================================
+
+David Zeuthen (2):
+      gudev: Deliver ::uevent signal in the thread-default main loop
+      Bump required GLib version to 2.22
+
+Hannes Reinecke (1):
+      scsi_id: export target port group
+
+Kay Sievers (5):
+      version bump
+      scsi_id: fix compiler warnings
+      systemd: hook into basic.target instead of sysinit.target
+      systemd: sort before basic.target
+      udevd: add sd-daemon.c
+
+Lee, Chun-Yi (1):
+      keymap: Add alternate MSI vendor name
+
+Martin Pitt (8):
+      keymap: Add Lenovo Y550
+      Clarify WAIT_FOR documentation
+      fix various syntax errors in rules
+      Add automatic rules syntax check
+      cdrom_id: Try reading the medium if all MMC commands fail
+      Revert "cdrom_id: Try reading the medium if all MMC commands fail"
+      cdrom_id: Fall back to CDROM_DRIVE_STATUS if all MMC commands fail
+      cdrom_id: Don't read beyond "last track" in TOC
+
+Torsten Schoenfeld (1):
+      gudev: add a few annotations that newer gobject-introspection versions demand
+
+
+Summary of changes from v161 to v162
+============================================
+
+David Woodhouse (1):
+      Add keymap for Lenovo IdeaPad S10-3
+
+Jan Drzewiecki (2):
+      cdrom_id: Drop MEDIA_SESSION_NEXT for DVD-RW-RO
+      cdrom_id: Fix DVD blank detection for sloppy firmware
+
+Kay Sievers (10):
+      init: update systemd service files
+      init: update systemd service files
+      init: add 'udev -' to description in systemd service files
+      udevd: add pid to kmsg logs
+      init: edit systemd service descriptions
+      version bump
+      udevd: remove unneeded credential passing from init_notify()
+      set SELinux context on 'add' but not on 'change' events
+      systemd: enable all udev services unconditionally
+      Revert "Add alternative KVM MAC address blacklist"
+
+Luca Tettamanti (1):
+      Add support for oom_score_adj
+
+Marco d'Itri (2):
+      udev-acl: do not mistake all SCSI "processor" devices for scanner
+      do not create persistent name rules for KVM network interfaces
+
+Martin Pitt (12):
+      cdrom_id: Add media status debugging
+      udev(7): Point out required extension, and remove some confusion
+      keymap: Add Onkyo PC
+      keymap: Add HP G60
+      keymap: Fix Sony VAIO VGN-SZ2HP/B
+      udev(7) manpage: Fix description of $attr
+      gudev: fix crash if netlink is not available
+      keymap: Fix Acer TravelMate 4720
+      cdrom_id: Fix DVD-RW media detection
+      Fix KVM MAC address range
+      do not create persistent name rules for VMWare network interfaces
+      Add alternative KVM MAC address blacklist
+
+Michael Forney (1):
+      Don't install systemd scripts with --without-systemdsystemunitdir
+
+Michal Soltys (1):
+      ChangeLog fix
+
+
+Summary of changes from v160 to v161
+============================================
+
+Fortunato Ventre (1):
+      keymap: Add force-release quirks for a lot more Samsung models
+
+Harald Hoyer (3):
+      udev-event.c: rename interface to <src>-<dest>, if <dest> taken
+      rule_generator/write_net_rules: prevent interface to be named "eth"
+      cdrom_id: READ TOC before READ DISC INFORMATION fixes qemu
+
+Jan Drzewiecki (5):
+      cdrom_id: Fix detection of reblanked DVD+RW and DVD-RAM
+      cdrom_id: Handle pre-MMC2 drives
+      cdrom_id: Also apply format check to DVD-RW
+      cdrom_id: No "next session" for "other" media state
+      cdrom_id: Fix state for fresh DVD-RW
+
+Jerone Young (1):
+      Fix volume keys not releasing on Mivvy G310
+
+Kay Sievers (12):
+      version bump
+      rules: remove firewire rules for deprecated drivers
+      udev-acl: update firewire matches to recent rule changes
+      libudev: bump minor so version after adding symbols
+      call util_delete_path() only when we actually deleted stuff
+      udev-acl: properly handle CK change events for root user
+      udev-acl: remove specific device matches from the rules file
+      fix broken "compile warning fix"
+      always log error when renaming a network interface fails
+      do not rename the database on device rename
+      cdrom_id: whitespace fix
+      cdrom_id: do not bail out when we can not read the TOC like for empty CDRW
+
+Marco d'Itri (3):
+      hid2hci: fix Logitech diNovo, MX5500 and other keyboards
+      log an error when a message from the wrong version of udevadm is ignored
+      hid2hci: fix for Logitech diNovo Edge keyboard
+
+Martin Pitt (1):
+      keymap: Generalize Samsung keymaps
+
+Michal Schmidt (1):
+      udev-acl: really fix ACL assignment in CK events
+
+Richard Hughes (1):
+      udev-acl: add DDC_DEVICE to the types that are managed
+
+Stefan Richter (1):
+      rules: add more FireWire IDs: Point Grey IIDC; AV/C + vendor unique
+
+Yin Kangkai (7):
+      udevadm: fix short options in getopt()
+      udevd: fix some memory leaks in error path
+      malloc()+memset() -> calloc()
+      udevd: fix short options in getopt()
+      udevd: fix unref'ing of device in error path
+      udevd: create static device links only when the target exists
+      udev: fix compile warning
+
+
+Summary of changes from v159 to v160
+============================================
+
+Harald Hoyer (2):
+      60-persistent-storage-tape: s/path_id.sh/path_id/
+      60-persistent-storage-tape.rules: make own by-path symlink for nst tapes
+
+Kay Sievers (4):
+      version bump
+      rules: tape - remove WAIT_FOR instruction and don't export BSG_DEV
+      allow final assignment for OPTIONS:="nowatch"
+      udevd: init_notify() fix abstract namespace name handling
+
+Lennart Poettering (1):
+      systemd: make service files readable by GKeyFile
+
+Martin Pitt (2):
+      keymap: Find alternate Lenovo module
+      keymap: Add Lenovo ThinkPad SL Series extra buttons
+
+
+Summary of changes from v158 to v159
+============================================
+
+Jerone Young (1):
+      Fix stuck volume key presses for Toshiba Satellite U300 & U305models
+
+Kay Sievers (5):
+      version bump
+      add systemd service files
+      make: pre-process and install systemd service files when needed
+      make: fix 'make distcheck'
+      switch a few left-over from GPLv2 to GPLv2 or later
+
+Lennart Poettering (1):
+      systemd: update service files for newly introduced DefaultDependencies= option
+
+Martin Pitt (1):
+      keymap: Add Logitech Cordless Wave Pro
+
+Matthew Garrett (1):
+      keymap: Add support for IBM-branded USB devices
+
+Michael Meeks (1):
+      gudev: respect possibly given LD_LIBRARY_PATH
+
+Ryan Harper (2):
+      Add virtio-blk support to path_id
+      Add virtio-blk by-id rules based on 'serial' attribute
+
+
+Summary of changes from v157 to v158
+============================================
+
+Harald Hoyer (1):
+      extras/keymap: add Samsung N210 to keymap rules
+
+Kay Sievers (7):
+      version bump
+      libudev: fix fd leak in udev_enumerate_scan_devices() when tags are searched
+      udevd: in case we don't daemonize, send READY message to /sbin/init
+      delete last distro specific rules
+      remove a few comments in file headers
+      mtd_probe: add needed include, modprobe blacklist flag, and change some whitespace
+      rules: remove unused subdir
+
+Martin Pitt (4):
+      Fix hid2hci rules harder
+      add Vala vapi for gudev-1.0
+      Revert "add Vala vapi for gudev-1.0"
+      Fix usb printer rule for multiple USB interfaces
+
+Maxim Levitsky (1):
+      mtd_probe: add autodetection for xD cards
+
+Paul Bender (1):
+      configure.ac: fix cross compilation
+
+
+Summary of changes from v156 to v157
+============================================
+
+Harald Hoyer (1):
+      40-redhat.rules: removed file
+
+Jerone Young (3):
+      Fix wlan key on Inspirion 1210
+      Fix wlan key on Inspiron 910
+      Fix wlan key on Inspiron 1010 & 1110
+
+Kay Sievers (25):
+      configure.ac: version bump
+      Makefile.am: silent build mkdir
+      rules: mount fuse control filesystem
+      fix compilation with --enable-debug
+      while (1) -> for (;;)
+      childs -> children
+      udevd: replace --debug-trace with --children-max
+      udevd: fix comments
+      rules: add -v to modprobe calls to be able see what will be loaded
+      udevd:  read debug settings from kernel commandline
+      update NEWS
+      rules: delete pilot rules and remove redhat directory
+      man: add static device nodes and udevd debug options
+      man: add kernel command line parameters
+      man: udevd - update intro
+      rules: rename packages -> arch
+      rules: SUSE - move last distro rule to package
+      rules: add misc/30-kernel-compat.rules
+      make: mkdir /lib/udev/devices/
+      make: fix rules/ subdir names
+      udevd: set umask before creating files/directories
+      add IMPORT{cmdline}
+      IMPORT{cmdline}: start at first char after '='
+      libudev: doc - fix typo
+      update NEWS
+
+
+Summary of changes from v155 to v156
+============================================
+
+Bryan Kadzban (1):
+      udevd: fix typo /proc/fd -> /proc/self/fd
+
+Kay Sievers (4):
+      configure.ac: version bump
+      cdrom_id: do not export ID_CDROM_MEDIA_SESSION_LAST_OFFSET= for single session media
+      rules: optical drives - use ID_CDROM_MEDIA_TRACK_COUNT_DATA
+      libudev: fix udev_queue_get_seqnum_sequence_is_finished() with empty queue file
+
+
+Summary of changes from v154 to v155
+============================================
+
+Kay Sievers (11):
+      reset process priority before executing RUN+=
+      configure.ac: version bump
+      rules: SUSE - delete device-mapper rules
+      libudev: add O_CLOEXEC
+      use default mode of 0600 for nodes if gid == 0
+      udevd: create standard symlinks and handle /lib/udev/devices
+      update NEWS README
+      fix tests and allow MODE=000
+      create static nodes provided by kernel modules to allow module autoloading
+      update NEWS
+      man: directly use 'refentry'
+
+
+Summary of changes from v153 to v154
+============================================
+
+Harald Hoyer (2):
+      Makefile.am: add LGPL COPYING file to EXTRA_DIST
+      cdrom_id: only mark sr[0-9]* as ID_CDROM
+
+Jerone Young (1):
+      Fix volume keys not releasing for Pegatron platform
+
+Kay Sievers (23):
+      configure.ac: version bump
+      more readlink buffer size handling
+      remove left-over from ignore_remove and all_partitions
+      fix previous commit
+      udevadm: info --export-db -- remove watch handle export
+      add TAG= to improve event filtering and device enumeration
+      all to match against a given TAG==
+      udev-acl: use a tag instead of a property to mark devices
+      fix logic on-demand loading logic for db and uevent
+      use the usual TAG+=, TAG= logic
+      delete old tags when configuration changes
+      libudev: accept NULL in udev_device_get_tags_list_entry()
+      export tag functions
+      export udev_device_get_tags_list_entry()
+      udevd: always try to find an idle worker instead of forking a new one
+      remove unused parameter from udev_node_mknod()
+      remove debug output during rules parsing
+      warn when renaming kernel-provided nodes instead of adding symlinks
+      man: udevadm trigger - the default is "change" not "add"
+      update README regarding kernel version and default rules
+      add info message when empty NAME is given
+      libudev: add documentation for recently added functions
+      udevd: reload config only for *.rules files
+
+Martin Pitt (1):
+      keymap: Fix Bluetooth key on Acer TravelMate 4720
+
+Mathias Nyman (1):
+      remove buffer-overrun risk in readlink call
+
+Matthias Schwarzott (1):
+      rules: Gentoo - remove old devfs compat rules
+
+Michael Thayer (1):
+      fix device node deletion
+
+Robby Workman (1):
+      configure.ac: move firmware-path setting out of extras section
+
+Yin Kangkai (2):
+      keymap: Add keymap and force-release quirk for Samsung N128
+      keymap: Add keymap quirk of WebCam key for MSI netbooks.
+
+
+Summary of changes from v152 to v153
+============================================
+
+Kay Sievers (1):
+      configure.ac: version bump
+
+Robby Workman (1):
+      configure.ac: fix broken firmware search path in configure.ac
+
+
+Summary of changes from v151 to v152
+============================================
+
+Adrian Bunk (1):
+      udev needs automake 1.10
+
+Amit Shah (2):
+      Fix virtio-ports rule to use $attr instead of $ATTR
+      rules: virtio - fix is to check if the 'name' attribute is present
+
+Andy Whitcroft (2):
+      keymap: Add Samsung Q210/P210 force-release quirk
+      keymap: Add Fujitsu Amilo 1848+u  force-release quirk
+
+Dan Williams (1):
+      modeswitch: morph into tool that only switches Mobile Action cables
+
+David Zeuthen (3):
+      Decrease buffer size when advancing past NUL byte
+      Use UTIL_LINE_SIZE, not UTIL_PATH_SIZE to truncate properties
+      Increase UTIL_LINE_SIZE from 2048 to 16384
+
+Harald Hoyer (1):
+      cdrom_id: remove debugging code
+
+Jerone Young (6):
+      Force key release for volume keys on Dell Studio 1557
+      Fix Keymapping for upcoming Dell Laptops
+      Add new Dell touchpad keycode
+      Revert special casing 0xD8 to latitude XT only
+      Fix Dell Studio 1558 volume keys not releasing
+      Add support for another Dell touchpad toggle key
+
+Kamal Mostafa (3):
+      keymap: Unite laptop models needing common volume-key release quirk
+      keymap: Add force-release quirk for Coolbox QBook 270-02
+      keymap: Add force-release quirk for Mitac 8050QDA
+
+Kay Sievers (43):
+      libudev: bump minor version
+      udevadm: fix untested and broken commit to set buffer size
+      configure.ac: version bump
+      udev-acl: no not encourage use of ACL_MANAGE outside of rules file
+      replace utimes() with utimensat()
+      libbudev-private: rename udev_list_entry_get_flag()
+      udevadm: monitor - use / as separator in --subsystem-match=subsystem[/devtype]
+      use major:minor as entries in symlink stack instead of devpath
+      use major:minor as entries in watch directory
+      libudev: docs - .gitignore backup files
+      firmware: fix possible segfault when firmware device goes away while loading
+      do not reset SELinux context when the node was not touched
+      libudev: add udev_device_new_from_environment()
+      add LGPL COPYING to libudev and GUdev
+      cdrom_id: open non-mounted optical media with O_EXCL
+      libudev: update documentation
+      extras: mobile-action-modeswitch - update gitignore
+      scsi_id: add rand() in retry loop
+      cdrom_id: retry to open the device, if EBUSY
+      cdrom_id: check mount state in retry loop
+      cdrom_id: always set ID_CDROM regardless if we can run cdrom_id
+      rules: delete outdated packagees rules
+      rules: we do not have static devices which are renamed
+      unify/cleanup event handling
+      allow IMPORT{db}="KEY"
+      usb-db: remove double '/'
+      replace "add|change" with "!remove"
+      update NEWS
+      log info only if we actually delete the node
+      udevadm: trigger - switch default action from "add" to "change"
+      remove "all_partitions" option
+      rules: call modprobe on all events but "remove"
+      remove "ignore_remove" option
+      update NEWS
+      cdrom_id: rework feature/profiles buffer parsing
+      cdrom_id: print more debug messages
+      cdrom_id: debug - print feature values in hex
+      cdrom_id: debug - print feature values in hex
+      cdrom_id: set ID_CDROM_MEDIA=1 only for known media
+      Revert "Fix switching Logitech bluetooth adapters into hci mode."
+      add O_NOFOLLOW when creating files in link stack
+      delete only device nodes, not symlinks when deleting a devtmpfs node
+      doc: add section about how *not* to rename device nodes
+
+Marco d'Itri (3):
+      rules: input - create by-path/ links for pci devices
+      Fix switching Logitech bluetooth adapters into hci mode.
+      doc: document the WAIT_FOR timeout
+
+Martin Pitt (12):
+      keymap: Add Dell Inspiron 1011 (Mini 10)
+      Fix brightness keys on MSI Wind U-100
+      keymap: Fix LG X110
+      keymap: Add Toshiba Satellite M30X
+      udev-acl: Correctly handle ENV{ACL_MANAGE}==0
+      input_id: Fix linking
+      keymap: Add Acer TravelMate 6593G and Acer Aspire 1640
+      keymap: Fix another key for Acer TravelMate 6593
+      cdrom_id: Fix uninitialized variables
+      cdrom_id: Fix uninitialized buffers
+      cdrom_id: Do not ignore errors from scsi_cmd_run()
+      cdrom_id: Swap media state and TOC info probing
+
+Mike Brudevold (1):
+      cdrom_id: add missing profiles to feature_profiles
+
+Robert Hooker (1):
+      keymap: Add support for Gateway AOA110/AOA150 clones.
+
+Scott James Remnant (2):
+      libudev: export udev_monitor_set_receive_buffer_size()
+      udevadm monitor: increase netlink buffer size
+
+Thomas Bächler (1):
+      firmware: fix error reporting on missing firmware files
+
+Yury G. Kudryashov (3):
+      configure.ac - fix typo in --with-pci-ids-path option
+      hid2hci: include linux/types.h for __u32
+      configure.ac: ddd --with-firmware-path option
+
+
+Summary of changes from v150 to v151
+============================================
+
+Amit Shah (1):
+      rules: Add symlink rule for virtio ports
+
+Bryan Kadzban (1):
+      Fix reverted floppy-device permissions
+
+Egbert Eich (1):
+      rulews: suse - add do-not-load-KMS-modules rules
+
+Frederic Crozat (1):
+      rules: acl - add COLOR_MEASUREMENT_DEVICE match
+
+Kay Sievers (11):
+      configure.ac: version bump
+      udevd: inotify - do not parse rules at create but at close
+      do not remove device nodes of active kernel devices
+      libudev: device - create db file atomically
+      clarify message about not removed device node
+      input_id: include limits.h
+      keymap: include linux/limits.h
+      keymap: linux/input.h - get absolute include path from gcc
+      delete outdated and unmaintained writing_udev_rules
+      update README and NEWS
+      update tests
+
+Marco d'Itri (2):
+      writing_udev_rules: update rules files names
+      keymap: support for the Samsung N140 keyboard
+
+Martin Pitt (4):
+      add ACL rule for Garmin GPSMap 60
+      keymap: move force-release directory
+      extras/keymap/check-keymaps.sh: Ignore comment-only lines
+      keymap: Fix invalid map line
+
+
+Summary of changes from v149 to v150
+============================================
+
+Clemens Buchacher (2):
+      add Samsung R70/R71 keymap
+      keymap: Samsung R70/R71 force-release quirk
+
+Daniel Drake (2):
+      keymap: Add OLPC XO key mappings
+      keymap: Fix typo in compal rules
+
+Daniel Elstner (1):
+      libudev: wrap in extern "C" block for C++
+
+David Zeuthen (1):
+      Export ID_WWN_VENDOR_EXTENSION and ID_WWN_WITH_EXTENSION
+
+Jerone Young (1):
+      keymap: Lenovo Thinkpad USB Keyboard with Tracepoint
+
+Johannes Stezenbach (2):
+      keymap: add Samsung N130
+      keymap: handle atkbd force_release quirk
+
+Kay Sievers (15):
+      util_unlink_secure(): chmod() before chown()
+      floppy: fix rule to create additional floppy device nodes
+      configure.ac: version bump
+      remove remaining support for CONFIG_SYSFS_DEPRECATED
+      cdrom_id: remove deprecated device matches
+      rules: add "block" match to floppy rule
+      update mtime of nodes and links when we re-use them
+      udevadm: info - fix info --root --query=name --path= for device without a device node
+      remove remaining support for CONFIG_SYSFS_DEPRECATED
+      fix typo in log message priority handling
+      remove UDEV_RUN environment variable
+      udevadm: logging - copy va_list and do not use it twice
+      libudev: doc - add symbols to sections.txt
+      work around gtk-doc which breaks distcheck
+      gobject-introspection: use $datadir instead of $prefix
+
+Marco d'Itri (2):
+      build: keymap - create subdir
+      rules: udev-acl - add firewire video devices
+
+Martin Pitt (12):
+      keymap: Add Acer Aspire 1810T
+      95-keymap.rules: Run on change events, too
+      keymap: fix findkeyboards
+      Speed up udev_enumerate_scan_*
+      keymap: Add hotkey quirk for Acer Aspire One (AO531h/AO751h)
+      Clarify RUN/IMPORT documentation
+      keymap: Add Logitech S510 USB keyboard
+      keymap: add Acer TravelMate 8471
+      keymap: Add Acer Aspire 1810TZ
+      keymap: Add LG X110
+      keymap: Add Fujitsu Amilo Li 1718
+      keymap: Document force-release
+
+Piter PUNK (1):
+      firmware: convert shell script to C
+
+Scott James Remnant (1):
+      70-acl.rules: ACL manage Android G1 dev phones
+
+Thomas de Grenier de Latour (1):
+      libudev: enumerate - fix move_later logic
+
+
+Summary of changes from v148 to v149
+============================================
+
+Daniel Elstner (1):
+      really fix both in-tree and out-of-tree builds
+
+Dmitry Torokhov (1):
+      input-id: identify touchscreens
+
+Kay Sievers (4):
+      libudev: doc - use #NULL
+      configure.ac: version bump
+      really really fix both in-tree and out-of-tree builds
+      fix both in-tree and out-of-tree builds
+
+Martin Pitt (6):
+      input_id: Fix endless loop for non-input devices
+      input_id: Do not tag non-input devices with ID_INPUT
+      input_id: small optimization
+      input_id: check event mask
+      input_id: Check mouse button for ID_INPUT_MOUSE
+      udev_device_get_parent_with_subsystem_devtype(): Clarify documentation
+
+
+Summary of changes from v147 to v148
+============================================
+
+Dan Williams (3):
+      Revert "modem-modeswitch: add a device"
+      Revert "extras/modem-modeswitch: Add Huawei E1550 GSM modem"
+      modem-modeswitch: 61-option-modem-modeswitch.rules is only for Option NV devices
+
+Daniel Mierswa (1):
+      Fix typo in NEWS, ConsoleKit-0.4.11 -> 0.4.1
+
+David Zeuthen (4):
+      cdrom_id: Still check profiles even if there is no media
+      scsi_id: Export WWN and Unit Serial Number
+      Create /dev/disk/by-id/wwn-0x... symlinks
+      Also create /dev/disk/by-id/wwn-0x..-part%n symlinks for partitions
+
+Dmitry Torokhov (1):
+      extras/input_id: Correctly identify touchpads
+
+Harald Hoyer (1):
+      modem-modeswitch: add a device
+
+Kay Sievers (8):
+      rules: set mode of floppy device nodes to 0660
+      remove "ignore_device"
+      print warning for BUS=, SYSFS{}=, ID=
+      test-udev: remove "ignore_device" code
+      udev-test.pl: catch-up with recent changes
+      rules: remove support for IDE (hd*) devices
+      ata_id: skip ATA commands if we find an optical drive
+      Revert "Fix out-of-tree builds"
+
+Martin Pitt (5):
+      README.keymap.txt: small clarification
+      extras: Add input_id
+      70-acl.rules: Use new-style input properties
+      input: Deprecate ENV{ID_CLASS}
+      input_id: code cleanup
+
+Scott James Remnant (1):
+      Fix out-of-tree builds
+
+
+Summary of changes from v146 to v147
+============================================
+
+Alan Jenkins (1):
+      udevd: queue-export - remove retry loop
+
+Andrew Church (1):
+      fix wrong parameter size on ioctl FIONREAD
+
+Daniel Mierswa (2):
+      don't compare a non-existing function with NULL
+      use nanosleep() instead of usleep()
+
+David Zeuthen (4):
+      gudev: remove G_UDEV_API_IS_SUBJECT_TO_CHANGE since API is now stable
+      ata_id: export more advanced ATA features
+      gudev: Fix up GUdevDeviceNumber
+      gudev: Remove LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE from priv header
+
+Florian Zumbiehl (10):
+      util_delete_path(): use util_strscpy()
+      util_lookup_group(): fix memory leak if realloc() fails
+      util_delete_path(): handle multiple leading slashes
+      util_create_path(): fix possible out of bounds array access
+      ude_rules.c: fix possible NULL pointer dereference in get_key()
+      util_resolve_sys_link(): fix possible buffer overflow
+      udev_util_encode_string(): fix possible buffer overflow
+      udev-rules.c: parse_file() - fix possible buffer overflow
+      udev_queue_get_seqnum_sequence_is_finished(): fix possible file handle leak
+      util_run_program(): fix possible buffer overflow #2
+
+Harald Hoyer (2):
+      scsi_id: prevent buffer overflow in check_fill_0x83_prespc3()
+      rename interfaces to <iface>_rename if rename fails
+
+Jeremy Kerr (1):
+      util_run_program: restore signal mask before executing event RUN commands
+
+Kay Sievers (45):
+      make: sort Makefile.am per target/extra
+      configure.ac: version bump
+      udev-acl: allow to skip ACL handling
+      rules: rfkill has no group, so use 0644
+      rule_generator: net - fix MATCHDEVID
+      make: add comment
+      update NEWS
+      print warning for NAME="%k" - it breaks the kernel supplied DEVNAME
+      warn about non-readable or empty rules file
+      change database file names
+      assign errno for getgrnam_r()/getpwnam_r()
+      doc: udevadm test *does* create nodes and links these days
+      util_unlink_secure(): chmod() before chown()
+      util_create_path(): fix errno usage
+      inotify_add_watch(): do not store watch, if it failed
+      update TODO
+      update README
+      rules: suse - use NAME for mapper/control
+      libudev-util.c: get_sys_link() - return error for empty link target
+      udev-rules.c: remove 'first_token' variable
+      Revert "udev-rules.c: remove 'first_token' variable"
+      test: catch possible bug in GOTO resolving
+      udevadm: remove symlink support for old commands
+      util_run_program(): skip multiple spaces in argv creation
+      fix whitespace
+      require 2.6.27 for proper signalfd handling
+      fix randonm findings from llvm-clang-analyzer
+      simplify "symlink name stack"
+      reorder create_path() and node/link creation to be called in a direct sequence
+      put util_create_path() and file creastion in a retry loop
+      udevadm: control - remove compat code
+      scsi_id: delete copy of bsg.h
+      fix SYMLINK{} option parsing
+      rules: remove remaining NAME="%k"
+      rules: drop almost all NAME= keys
+      update TODO, NEWS
+      udevd: serialize events for with the same major/minor
+      break loops if util_create_path() returns error
+      remove "last_rule" option
+      use CLOEXEC flags instead of fcntl()
+      unblock signals we might want to handle
+      udevd: create /dev/.udev/rules.d/ before watching it wit inotify
+      gudev: fix pkg-config call to work with "make distcheck"
+      update NEWS
+      Revert "gudev: fix out-of-tree build"
+
+Lennart Poettering (5):
+      pci-db: make sure we actually read the pci.ids file instead of usb.ids
+      sound: recognize saa7134 TV card sound devices as TV cards
+      sound: include ALSA sound card id in ID_ID property
+      sound: include ALSA sound card id in /dev/snd/by-id/ links
+      Revert "sound: include ALSA sound card id in /dev/snd/by-id/ links"
+
+Marco d'Itri (6):
+      doc: writing_udev_rules updated for the new command names
+      rules: sound - do not use /usr/bin/env
+      udevadm: print all messages to stderr with priority higher or equal than LOG_ERR
+      udevadmi: control = exit with rc=2 if there is some system error
+      gudev: gir-scanner workaround for out of tree builds
+      gudev: fix out-of-tree build
+
+Mario Limonciello (1):
+      hid2hci: remove superfluous bmAttributes match
+
+Martin Pitt (24):
+      extras/keymap: Add Acer Aspire 6920
+      extras/modem-modeswitch: eject ZTE MF6xx fake CD-ROMs
+      extras/keymap: Fix hold key on Acer Aspire 6920
+      extras/keymap: Fix case matching for Micro-Star
+      Revert "extras/keymap: Fix case matching for Micro-Star"
+      make raw USB printer devices accessible for lp
+      modem-modeswitch rules: Match more devices
+      extras/keymap: fix hash table collisions
+      extras/keymap: Rename KEY_COFFEE to KEY_SCREENLOCK
+      fix single-session CD detection
+      fix previous commit for CD detection
+      make raw USB printer devices world-readable again
+      50-udev-default.rules: fix printer MODE
+      keymap: Add Logitech Wave USB
+      keymap: add missing map file
+      keymap: fix usb_id invocation
+      keymap: make USB keyboards really work
+      keymap: Add Logitech Wave cordless
+      keymap: add HP Pavillion dv6315ea
+      keymap: add HP 2230s
+      Makefile.am: fix build with mawk
+      extras/keymap/README.keymap.txt: Fix bug report link
+      fix major fd leak in link handling
+      modem-modeswitch: fix ZTE MF6xx rule
+
+Matthias Schwarzott (2):
+      rules: Gentoo update
+      rules: Gentoo update
+
+Maxim Levitsky (1):
+      keymap for Acer Aspire 5720
+
+Peter Rajnoha (1):
+      libudev: allow to store negative values in the udev database
+
+Scott James Remnant (1):
+      util_run_program: *really* restore signal mask before executing event RUN commands
+
+William Jon McCann (1):
+      udev-acl: catch up with ConsoleKit 0.4.1
+
+
+Summary of changes from v145 to v146
+============================================
+
+Alan Jenkins (3):
+      man: fix unused, inaccurate metadata
+      man: SYMLINK can be matched as well as assigned
+      fix spelling
+
+Anssi Hannula (2):
+      rules: exclude digitizers from joystick class
+      udev-acl: add joystick devices
+
+Diego Elio 'Flameeyes' Pettenò (21):
+      Merge libudev, udev, and the unconditional extras in a single Makefile.am.
+      Replace the custom test-run target with the standard make check.
+      Also merge into the top-level Makefile.am the simpler extras.
+      Change hook handling to be more portable.
+      Merge keymap building in the top-level Makefile.am.
+      Make keymap generation rules be silent (backward-compatible).
+      Move pkg-config docs and man pages before conditionals.
+      Finally, also merge gudev into the top-level Makefile.am.
+      Make sure to clean up all the built sources.
+      Make sure to use dependency/target variables.
+      Add silent-rule support for the gudev rules.
+      Fix building of introspection library on top-level Makefile.am.
+      Fix another relative path for the new working directory.
+      Include the correct directory for out-of-source builds.
+      Add tests to the distribution; this fixes "make distcheck".
+      Ask gperf to use ANSI-C for generation.
+      Merge in Makefile.am.inc into Makefile.am
+      Use the keymap check during “make distcheck” rather than “check”.
+      Fix building of documentation when doing out-of-source builds.
+      Fix “make distcheck” run outside of the source directory.
+      Use LT_INIT to explicit that udev needs libtool series 2.
+
+Eric W. Biederman (1):
+      fix util_lookup_group to handle large groups
+
+Erik Forsberg (1):
+      extras/modem-modeswitch: Add Huawei E1550 GSM modem
+
+Kay Sievers (18):
+      udevd: add timestamp to --debug output
+      v4l_id: exit with 0 when --help is given
+      configure.ac: version bump
+      hid2hci: remove hid structures and include kernel header
+      path_id: make global variable static
+      udevadm: trigger - add --sysname-match=
+      rules: serial - fix path_id call
+      path_id: fix typo in comment
+      format names are not case insensitive
+      hid2hci: rewrite (and break) rules and device handling
+      make: build internal tools against libudev-private.la
+      update a few years of copyright
+      libudev: silent gcc warning: may be used uninitialized in this function
+      make: suppress enter/leaving directory messages
+      re-enable failed event tracking
+      "record_failed" -> "fail_event_on_error"
+      udevd: block for 15 seconds after error when too old kernel is detected
+      make: fix issues from non-recursive conversion
+
+Lennart Poettering (1):
+      enumeration: move ALSA control devices to the end of the enumerated devices of each card
+
+Mario Limonciello (2):
+      hid2hci: support to hid2hci for recovering Dell BT devices after S3
+      hid2hci: install re-trigger for hid device when recovering from S3
+
+Martin Pitt (17):
+      add keymap for Clevo D410J laptop
+      extras/keymap: add Zepto ZNote
+      extras/keymap: add Everex Stepnote XT5000T
+      extras/keymap: add Compal Hel80i
+      keymap tool: improve help
+      keymap tool: support scancode/keycode pair arguments
+      keymap: inline one-line key maps
+      extras/keymap: fix check-keymaps.sh for inline mappings
+      extras/keymap: add recently added keymap files to Makefile.am
+      extras/keymap: Add HP Presario 2100
+      extras/keymap: cover more Compaq Evo models
+      extras/keymap: Add Fujitsu Amilo M
+      extras/keymap: teach findkeyboards about USB keyboards
+      extras/keymap: Add Samsung SX22S
+      extras/keymap: Fix crash for unknown keys
+      extras/keymap: Add Samsung NC20
+      extras/keymap: Fix Bluetooth key on Acer Aspire 6920
+
+
+Summary of changes from v144 to v145
+============================================
+
+Ian Campbell (1):
+      scsi_id: correct error handling in prepend_vendor_model
+
+Kay Sievers (10):
+      README: add CONFIG_BLK_DEV_BSG
+      use MIN() MAX() from param.h
+      configure.ac: version bump
+      libudev: device - free values before updating them
+      libudev: enumerate - sort with qsort()
+      udevd: detach event from worker if we kill a worker
+      udevadm: info - add space after R:, A:, W: on database export
+      udevd: make sure a worker finishes event handling before exiting
+      udevd: handle SIGCHLD before the worker event message
+      udevd: use bool
+
+
+Summary of changes from v143 to v144
+============================================
+
+Jon Masters (1):
+      firmware: search for third party or sysadmin supplied firmware updates
+
+Kay Sievers (19):
+      configure.ac: add AM_SILENT_RULES
+      configure.ac: version bump
+      TODO: add cleanup of ATA_COMPAT
+      libudev: queue - add comments for queue format
+      udev/.gitignore: add udev.pc
+      configure.ac: version bump
+      do not exports properties starting with a '.'
+      scsi_id: --reformat_serial - use udev_util_replace_whitespace()
+      ata_id: sync ID_SERIAL(_SHORT) with other *_id tools
+      rules: make ata_id properties the default for all ATA block devices
+      scsi_id: delete no longer needed config file
+      update NEWS
+      man: udev - add private properties like ENV{.FOO}="bar"
+      Merge branch 'firmware' of git://git.kernel.org/pub/scm/linux/kernel/git/jcm/udev-jcm
+      udevadm: test - print list of properties
+      build: do not delete .la files
+      libudev: monitor - handle kernel supplied DEVNAME properly
+      update NEWS
+      build: add *exec* to the internal rootlibdir name
+
+Martin Pitt (2):
+      hid2hci: narrow matches to real HCI devices
+      extras/udev-acl: add smartcard readers
+
+Stefan Richter (1):
+      rules: set group ownership of new firewire driver device files
+
+
+Summary of changes from v142 to v143
+============================================
+
+Alan Jenkins (5):
+      udevadm: settle - fix timeout
+      udevd: remove tiny bit of dead code
+      udevd: implement a more efficient queue file format
+      udev-selinux.c: remove libudev header
+      udevd: queue-export - fix crash
+
+Benjamin Gilbert (1):
+      test: check string substitutions in OWNER and GROUP
+
+Dan Williams (2):
+      rules: tty/net - move from udev-extras
+      extras/modem-modeswitch: move from udev-extras
+
+David Zeuthen (1):
+      gudev: move from udev-extras
+
+Kay Sievers (95):
+      version bump
+      rules: v4l do not mix vbi and video nodes
+      fix possible endless loop for GOTO to non-existent LABEL
+      Revert "rules: v4l do not mix vbi and video nodes"
+      rule-generator: cd - skip by-path links if we create by-id links
+      remove format char string truncation syntax
+      use more efficient string copying
+      edd_id: use openat()
+      use openat(), unlinkat(), fstatat()
+      update TODO
+      remove unused GL_FORMAT from rules parser
+      require key names in uppercase
+      keep the ifdef'd udevd testing/profiling hack
+      fix location of database files
+      udevadm: settle - make --timeout=0 working
+      update NEWS
+      rules: add SUBSYSTEM match to scsi rules
+      cdrom_id: suppress ID_CDROM_MEDIA_STATE=blank for plain non-writable CDROM media
+      udevadm: control - add comment to man page about --reload-rules
+      cdrom_id: add error message if open() fails
+      udevadm: settle - add --exit-if-exists=<file>
+      udevd: remove check for dev_t, DEVPATH_OLD takes care of that
+      str[sp]cpyl: add __attribute__ ((sentinel))
+      udevd: convert to event worker processes
+      udevd: close netlink socket in worker and set cloexec
+      rules: do not call path_id for virtual devices
+      udevd: use enum instead of char in struct declaration
+      allow format substitution in path of ATTR{<path>}=="<value>"
+      cleanup $attr{} substitution
+      path_id: implement in C using libudev
+      path_id: update SCSI handling
+      path_id: add comments
+      fix signed/unsigned warning
+      libudev: enumerate - allow multiple keys with the same name
+      udevadm: trigger - add --property-match=<key>:<value>
+      udevadm: info - accept --query without a value and print properties
+      udevadm: control - --env -> --property
+      udevadm: monitor --environment -> --property
+      path_id: handle fibre channel
+      path_id: add iscsi support
+      path_id: delete old shell script
+      udevd: print error if worker dies unexpectedly
+      path_id: rename scsi sub-fuctions
+      libudev: add comments to libudev.h
+      libudev: move to top-level directory
+      fix libudev include in Makefile.am.in
+      libudev: device_new() -> udev_device_new()
+      udevd: log info for created/killed workers
+      libudev: call log functions conditionally
+      move syslog wrapper to libudev
+      move common stuff from udev/ to private parts of libudev/
+      libudev: rename private files to *-private.c
+      rules: remove scsi ch module loading rule
+      update NEWS
+      udevadm: info -revert "accept --query without argument"
+      README: add kernel options
+      README: add INOTIFY and SIGNALFD
+      USE_LOG -> ENABLE_LOGGING, DEBUG -> ENABLE_DEBUG, USE_SELINUX -> WITH_SELINUX
+      libudev: add gtk-doc
+      libudev: update documentation
+      libudev: doc - add section headers
+      libudev: doc - add enumerate
+      libudev: doc - add queue
+      update TODO
+      libudev: doc - add namespace for index
+      libudev: move .so version to libudev Makefile
+      autogen.sh: simplify
+      TODO: update
+      libudev: remove prefix from .so version variables
+      libudev: doc - add empty libudev.types
+      udev-acl: move from udev-extras
+      INSTALL: add --enable-extras
+      udev-acl: handle missing action when called in CK mode
+      v4l_id: move from udev-extras
+      libudev: doc - libudev-docs.sgml -> libudev-doc.xml
+      gudev: fix typo in configure option
+      v4l_id: 70-v4l.rules -> 60-persistent-v4l.rules
+      configure: enable all extras by default, provide --disable-extras
+      autogen.sh: make "CFLAGS=-O0 ./autogen.sh" working
+      NEWS: add --disable-extras
+      cleanup ./configure installation directory options
+      rules: remove MMC rule, 2.6.30 has the modalias
+      configure.ac: print error if gperf is missing
+      libudev: install in $libdir and move later to $rootlibdir
+      extras/keymap: use LIBEXECDIR instead /lib/udev
+      README: add /lib/udev/ is private
+      rules: do not install usb-id/pci-id rules when --disable-extras is used
+      extras: delete man pages for private udev tools
+      README: update
+      extras/keymap: install findkeyboards in /lib/udev
+      INSTALL: use /sbin instead of %{sbindir}
+      NEWS: update
+      udev.pc: add
+      Merge branch 'master' of git+ssh://master.kernel.org/pub/scm/linux/hotplug/udev
+      docs: install writing_udev_rules
+
+Lennart Poettering (2):
+      rules: sound - move from udev-extra
+      usb-db: move from udev-extras
+
+Marcel Holtmann (1):
+      rules: make RFKILL control device world readable
+
+Mario Limonciello (1):
+      hid2hci: move from udev-extras
+
+Martin Pitt (5):
+      keymap: move from udev-extras
+      extras/keymap: Fix WLAN button on ThinkPads
+      keymap: Update findkeyboard path in docs
+      udev-acl: Manage hplip device permissions
+      extras/keymap: Update findkeyboards location
+
+Matthias Schwarzott (3):
+      rules: Gentoo update
+      rules: Gentoo update
+      rules: Gentoo update
+
+Scott James Remnant (1):
+      OWNER/GROUP: fix if logic
+
+
+Summary of changes from v141 to v142
+============================================
+
+Andre Przywara (1):
+      rules: create /dev/cpu/<n>/cpuid world readable
+
+Ian Campbell (1):
+      path_id: support identification of Xen virtual block devices
+
+John Wright (1):
+      edd_id: add cciss devices
+
+Kay Sievers (46):
+      version bump
+      libudev: path_encode - always return 0 if encoded string does not fit into size
+      libudev: monitor - clarify socket handling documentation
+      udevd: log error for too old kernels or CONFIG_SYSFS_DEPRECATED
+      rules: remove DVB shell script
+      update NEWS
+      cdrom_id: add Xen cdrom support
+      test-libudev: update monitor source
+      TODO: add packet filter
+      update NEWS
+      cdrom_id: add and use ID_CDROM_MEDIA to decide if we run vol_id
+      libudev: monitor - add client socket filter for subsystem value
+      udevadm: monitor - print error if we can not bind to socket
+      update TODO
+      udevadm monitor - add --subsystem-match=
+      libudev: monitor - use simpler hash
+      libudev: monitor - switch to filter_add_match_subsystem_devtype()
+      libudev: monitor - do not filter messages with wrong magic
+      udevadm: monitor - add <subsytem>:<devtype> support
+      libudev: monitor - add udev_monitor_filter_remove
+      libudev: queue - fix get_seqnum_is_finished()
+      cdrom_id: skip media tests if CDROM_DRIVE_STATUS != CDS_DISC_OK
+      libudev: queue - clarify comments
+      libudev: monitor - export filter_update()
+      update NEWS
+      drop "extern" keyword from non-static function
+      rule_generator: net - fix usb comment generation
+      rules: input - add links for USB/platform non-kbd/mouse devices
+      rules: input - fix comments
+      rules: add rfcomm* to group dialout
+      accept DEVNAME from the kernel as a hint for the node name
+      update TODO
+      build: use AC_MSG_RESULT
+      rules: add "event*" match
+      udevd: revert initial device node creation
+      rules: remove initramfs comment
+      handle devtmpfs nodes
+      oops, removed ppp entry from rules got committed
+      remove all PHYSDEVPATH handling and warning about
+      remove asmlinkage
+      rules: fix ieee1394 rules
+      add "static" back to the inline functions
+      update TODO
+      delete vol_id and require util-linux-ng's blkid
+      delete libvolume_id
+
+Lubomir Rintel (1):
+      rule-generator: net - whitelist NICs that violate MAC local scheme
+
+
+Summary of changes from v140 to v141
+============================================
+
+Adam Buchbinder (4):
+      usb_id: add manpage
+      cdrom_id: update manpage
+      create_floppy_devices: expand manpage
+      vol_id: fix language in manpage
+
+Alan Jenkins (1):
+      avoid leaking netlink socket fd to external programs
+
+Borislav Petkov (1):
+      rules: rename ide-floppy to ide-gd
+
+David Brownell (1):
+      rules: exclude mtd* from persistent disk links
+
+Kay Sievers (15):
+      rules: fix extra quote in 50-udev-default.rules
+      version bump
+      udevadm: test - handling trailing '/' in devpath
+      udevadm: monitor - clarify printed header
+      rules: remove ram* from persisten disk links blacklist
+      rules: serial - support ttyACM devices
+      rules: replace IDE driver with media match
+      usb_id: add ID_VENDOR_ID, ID_MODEL_ID, ID_USB_INTERFACE_NUM, ID_USB_DRIVER
+      libudev: GPL -> LGPL
+      usb_id: remove unused variable
+      send monitor events back to netlink socket
+      "UDEV_MONITOR_KERNEL/UDEV" -> "kernel/udev"
+      IMPORT: 2048 -> 4096 bytes buffer
+      path_encode: fix max length calculation
+      libudev: monitor - unify socket message handling
+
+Michal Soltys (1):
+      rules: md-raid.rules fix
+
+Robby Workman (1):
+      udevadm: trigger - add "--action" to --help
+
+Scott James Remnant (1):
+      libudev: monitor - ignore messages from unusual sources
+
+
+Summary of changes from v139 to v140
+============================================
+
+Harald Hoyer (1):
+      libvolume_id: bump age
+
+Kay Sievers (12):
+      version bump
+      update TODO
+      volume_id: ntfs - fix uuid setting
+      update TODO
+      rules: Fedora update
+      libudev: queue - use lstat() to check existence of symlink
+      udevadm: settle - add --seq-start= --seq-end=
+      udevd: switch watch symlinks to devpath
+      udevadm: add text for new options to command and man page
+      update TODO
+      libudev: ctrl - return error after sending ctrl message
+      udevadm: settle - use timeout signal, instead of loop counter
+
+Michael Prokop (1):
+      fix compile error in debug mode
+
+Scott James Remnant (1):
+      udevadm: settle - synchronise with the udev daemon
+
+
+Summary of changes from v138 to v139
+============================================
+
+Kay Sievers (11):
+      version bump
+      remove static local variable
+      use the event udev_device to disable the watch on "remove"
+      add "nowatch" to disable a default installed watch with a later rule
+      add m4/ subdir
+      use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE
+      usb_id: add ID_USB_INTERFACES=:0e0100:0e0200:010100:010200:
+      usb_id: return values if called directly for an usb_device
+      usb_id: fix NULL string usage
+      usb_id: fix comment
+      udevadm: info - export all devices with --export-db
+
+Scott James Remnant (10):
+      Don't add inotify watch until RUN rules processed.
+      Clear existing inotify watch before processing.
+      Cleanup a little.
+      Allow watch handle to be stored in the udevdb.
+      Store watch handle in db.
+      Use the udevdb to speed up watch clearing.
+      Put a log message in a more sensible place.
+      Output watch handle in udevadm info.
+      lookup the old watch handle; reload only if has a path
+      Look at more inotify events in the buffer than just the first.
+
+
+Summary of changes from v137 to v138
+============================================
+
+David Zeuthen (1):
+      *_id: add model/vendor enc strings
+
+Karel Zak (2):
+      vol_id: fix ddf version string
+      vol_id: add missing id->type to swap0
+
+Kay Sievers (13):
+      man: fix grammar
+      version bump
+      fix NAME="" logic
+      rules: dm - add escape for uuid links with whitespace
+      test: add test for empty and non-existent ATTR
+      rules: fix md "change"/"remove" handling
+      autogen.sh: add more warnings
+      fix NAME= and OPTION+="string_escape=..." logic
+      rules: move OPTIONS to separate rule
+      use global "reload_config" flag
+      rules: add "watch" option to dm and md rules
+      rules: include loop block devices in persistent links
+      release 138
+
+Matthias Schwarzott (1):
+      rules: Gentoo update
+
+Miklos Vajna (1):
+      doc: writing udev rules - refer to 'udevadm info' instead of 'udevinfo'
+
+Scott James Remnant (2):
+      udevd: optionally watch device nodes with inotify
+      rules: update persistent storage rules to use inotify watches
+
+
+Summary of changes from v136 to v137
+============================================
+
+Alan Jenkins (2):
+      man: typo fixes
+      remove stray initializer
+
+Kay Sievers (17):
+      version bump
+      rules: fix typo in ide cd rule
+      libudev: use 4096 bytes buffer for attribute reading
+      rules: add drm devices to group "video"
+      do not complain about a missing /etc/udev/rules.d/
+      udevadm: test - remove --force option
+      update NEWS
+      remove name from index if the node name has changed
+      cleanup old names before creating the new names
+      open-code pollfd setup
+      increase netif renaming timeout from 30 to 90 seconds
+      Merge commit '5f03ed8a56d308af72db8a48ab66ed68667af2c6'
+      Merge commit '9032f119f07ad3b5116b3d4858816d851d4127de'
+      split up long line
+      udevd: add back SA_RESTART
+      usb_id: handle ATAPI devices like SCSI devices
+      udevadm: settle - fix typo
+
+Lennart Poettering (1):
+      fix naming for tape nst devices in /dev/tape/by-path/
+
+Olaf Kirch (2):
+      udevd: use ppoll instead of signal pipes
+      reap children faster
+
+Scott James Remnant (2):
+      Allow user and group lookup to be disabled.
+      Expose delayed name resolution
+
+Sven Jost (1):
+      volume_id: support via raid version 2
+
+
+Summary of changes from v135 to v136
+============================================
+
+Adam Buchbinder (1):
+      extras: fix mis-spelling of "environment"
+
+Harald Hoyer (1):
+      rule_generator: fix enumeration for write_cd_rules
+
+Jeremy Higdon (1):
+      path_id: rework SAS persistent names
+
+Karel Zak (1):
+      volume_id: HPFS code clean up
+
+Kay Sievers (54):
+      rules: ATA_COMPAT do not try to match on sr*, it will never have vendor ATA
+      scsi_id: do not fail if no serial is found like for optical drives
+      update configure and NEWS
+      rules: fix isdn rules
+      rules: add persistent /dev/serial/{by-id,by-path} rules
+      make: install serial rules file
+      make: do not delete autotools generated file with distclean
+      udevadm: settle - allow --timeout=0 and --quiet
+      rules: move aoe rules to default rules file
+      volume_id: btrfs - update format
+      rules: add "do not edit header"
+      volume_id: support sub-uuid's and plug in btrfs device uuid
+      libudev: include <sys/types.h>
+      build: add -lsepol
+      build: just use autoreconf -i
+      rules: remove ide-scsi
+      rules: first simple step merging with Ubuntu rules
+      "'/sbin/modprobe abnormal' exit" - also print program options
+      rules: more changes toward Ubuntu rules merge
+      rules: more changes toward Ubuntu rules merge
+      rules: remove /dev/raw/raxctl symlink, it's a devfs leftover
+      rules: rtc - create rtc compat link only for cmos type rtc
+      rules: remove legacy symlinks
+      rules: do not put raw1394 in "video" group
+      rules: second round merging with Ubuntu rules
+      rules: remove /dev/dsp /dev/audio
+      rules: put alsa in group "audio"
+      rules: isdn - remove /dev/isdn/capi20 symlink
+      rules: provide /dev/raw/rawctl
+      if needed, store database entries also for devices which do not have a device node
+      build: use autoreconf --symlink
+      usb_id: add "image" class
+      require non-SYSFS_DEPRECATED 2.6.20+ kernel
+      build: default to --prefix=/usr --exec-prefix=""
+      libudev: enumerate - add lookup by property
+      rules: input - make sure needed variables are set
+      libudev: device - read "uevent" only if info is not already loaded
+      libudev: subsytem -> subsystem
+      libudev: bump revision
+      usb_id: use devtype lookup
+      require 2.6.22+ kernel
+      rules: Ubuntu merge - use group "cdrom"
+      rules: Ubuntu merge - use group "tape"
+      rules: replace DVB shell script rule
+      rules: Ubuntu merge - s/uucp/dialout/
+      update NEWS
+      update NEWS
+      enable skipping of "naming-only" rules
+      usb_id: s/image/media/
+      udevadm: s/udevinfo/udevadm info/
+      rules: reorder block rules
+      rules: zaptel - add "dialout" group
+      libudev: device - add udev_device_get_property_value()
+      libudev: test - add udev_device_get_property_value()
+
+Marcel Holtmann (3):
+      libudev: device - add devtype support
+      libudev: device - lookup subsystem and devtype together
+      libudev: device - remove udev_device_get_parent_with_subsystem
+
+Michal Soltys (1):
+      man: udev - update NAME assignment
+
+Ryan Thomas (1):
+      rules: add rules for AoE devices
+
+
+Summary of changes from v134 to v135
+============================================
+
+Kay Sievers (6):
+      usb_id: add "break" to currently unused case labels
+      rules: fix cciss disk/by-id/ links
+      rules: add infiniband rules
+      rules: infiniband.rules -> 40-infiniband.rules
+      fix network interface name swapping
+      update configure and NEWS
+
+Marcel Holtmann (1):
+      usb_id: fix switch statement for video type
+
+Piter PUNK (2):
+      rules: /dev/null -> X0R
+      rules: add usb device nodes
+
+
+Summary of changes from v133 to v134
+============================================
+
+Gabor Z. Papp (1):
+      include errno.h in sysdeps.h
+
+Harald Hoyer (1):
+      rules: add persistent rules for memory stick block devices
+
+Kay Sievers (19):
+      autogen.sh: fix -print-multi-os-directory usage
+      volume_id: update btrfs magic
+      bump version
+      rules: merge group "video" into default rules
+      rules: v4l - add by-id/ links for USB devices
+      libudev: accept NULL whitelist in util_replace_chars()
+      usb_id: replace chars in returned strings
+      ata_id: make sure, we do not have slashes in values
+      scsi_id: make sure, we do not have slashes in values
+      volume_id: remove unused usage types
+      vol_id: if regular files are probed, use stat() for the size value
+      volume_id: update btrfs
+      volume_id: clear probing result before probing and do not probe a second time, if not needed
+      path_id: fix fibre channel handling
+      update NEWS TODO
+      floppy: use ARRAY_SIZE()
+      fix handling of swapping node name with symlink name
+      silence PHYSDEV* warning for WAIT_FOR* rules
+      rules: exclude "btibm" devices from vol_id calls
+
+Matthias Schwarzott (1):
+      rules: Gentoo update
+
+Peter Breitenlohner (2):
+      man: fix typos
+      floppy: fix array bounds check and minor calculation
+
+
+Summary of changes from v132 to v133
+============================================
+
+Alan Jenkins (2):
+      udevd: de-duplicate strings in rules
+      scsi_id: we don't use DEVPATH env var anymore, update man page
+
+Karel Zak (1):
+      volume_id: fat - move check for msdos signature (0x55 0xaa)
+
+Kay Sievers (22):
+      silence "comparison between signed and unsigned"
+      string index - split nodes and childs to allow and unlimited number of childs
+      reserve child slot 0
+      merge trie nodes, childs and root into a single array
+      set errno = ENOSYS in inotify stub
+      udevadm: info - unify -V and --version
+      rules: remove DEVTYPE disk/partition
+      rules: remove pnp shell script, acpi loads these modules properly
+      update NEWS
+      configure: add linux-hotplug mail address
+      remove len == 0 check, the index root is always '\0'
+      volume_id: bump revision
+      volume_id: always check for all filesystem types and skip conflicting results
+      volume_id: fat - accept empty FAT32 fsinfo signature
+      fix spelling in comment
+      volume_id: ntfs - mark as no other fs must match
+      vol_id: clarify error message
+      libudev: device - handle disk "device" link for partitions in deprecated sysfs layout
+      limit $attr(<symlink>) magic to well-known links only
+      udevd: fix cleanup of /dev/.udev/uevent_seqnum
+      fix $links substitution for devices without any link
+      update NEWS
+
+Sergey Vlasov (1):
+      udevadm: fix option parsing breakage with klibc
+
+
+Summary of changes from v131 to v132
+============================================
+
+Kay Sievers (2):
+      fix size_t compiler warning on 32 bit platforms
+      convert debug string arrays to functions
+
+
+Summary of changes from v130 to v131
+============================================
+
+Alan Jenkins (17):
+      libudev: fix sysnum logic for digit-only device names
+      udevd: avoid overhead of calling rmdir on non-empty directories
+      use more appropriate alternatives to malloc()
+      libudev: util - optimize path_encode()
+      libudev: allocate udev_device->envp[] dynamically
+      replace strncpy() with strlcpy()
+      use re-entrant variants of getpwnam and getgrnam
+      udevd: fix memory leak
+      udevd: fix WAIT_FOR_SYSFS execution order
+      fix handling of string_escape option
+      udevd: use a tighter loop for compare_devpath()
+      udevd: avoid implicit memset in match_attr()
+      kerneldoc comment fixes
+      udevd: simplify rules execution loop
+      udevd: fix termination of rule execution
+      udevd: be more careful when matching against parents
+      udevd: shrink struct token to 12 bytes
+
+Kay Sievers (113):
+      remove outdated docs/README-gcov_for_udev
+      libudev: device - add device lookup by subsystem:sysname
+      libudev: also prefix non-exported functions with udev_*
+      libudev: add udev_monitor_send_device()
+      libudev: list - add flag
+      libudev: device - generate DEVNAME and DEVLINKS properties
+      vol_id: update README
+      libudev: handle ! in sysname, add sysnum, return allocated list_entry on add
+      delete simple-build-check.sh
+      test: move global ENV{ENV_KEY_TEST}="test" to local rule
+      libudev: monitor - fix send_device() property copying
+      libudev: device - add get_envp() to construct envp from property list
+      libudev: do not include ctrl in libudev.so
+      libudev: monitor - do not mangle DEVLINKS property
+      libudev: update DEVLINKS property when properties are read
+      libudev: device - lookup "subsystem" and "driver" only once
+      libudev: device - export properties when values are set
+      libudev: list - handle update of key with NULL value
+      libudev: ctrl - fix typo in set_env()
+      libudev: add global property list
+      libudev: device - copy global properties, unset empty properties
+      volume_id: btrfs - update magic to latest disk format
+      udevd: use libudev
+      move udev_device_db to libudev
+      rename udev source files
+      libudev: always add UDEV_LOG
+      libudev: monitor - export MAJOR/MINOR only if available
+      udev-node: name_list -> udev_list
+      udev-rules-parse: name_list -> udev_list
+      delete name_list, move common file functions
+      fix sorting of rules files
+      run_program: prevent empty last argv entry
+      update IMPORT= file/stdout property parsing
+      update rules file parsing
+      delete udev-util-file.c
+      libudev: list - prepend udev_* to all functions
+      libudev: add sysnum to test program
+      test: fix a few unintentially wrongly written rules which cause parse errors
+      libudev: monitor - add set_receive_buffer_size()
+      libudev: ctrl - change magic to integer
+      libudev: make list_node functions available
+      udevd: use udev_list_node
+      collect: use udev_list
+      delete list.h
+      merge udev-rules.c and udev-rules-parse.c
+      make struct udev_rules opaque
+      move run_program to util
+      udev_event_run() -> udev_event_execute_rules()
+      udev_rules_run() -> udev_event_execute_run();
+      move udev_rules_apply_format() to udev-event.c
+      udev_list_cleanup() -> udev_list_cleanup_entries()
+      selinux_init(udev) -> udev_selinux_init(udev)
+      prefix udev-util.c functions with util_*
+      pass make distcheck
+      libudev: device - get_attr_value() -> get_sysattr_value()
+      cdrom_id: remove ARRAY_SIZE() declaration
+      replace missing get_attr_value() -> get_sysattr_value()
+      add "root" == 0 shortcuts to lookup_user/group()
+      do not use the new work-in-progress parser rule matcher
+      libudev: device - 128 -> ENVP_SIZE
+      add util_resolve_subsys_kernel()
+      handle numerical owner/group string in lookup_user/group()
+      replace in-memory rules array with match/action token list
+      do not create temporary node ($tempnode) if node already exists
+      shrink struct udev_event
+      shrink struct udev_event
+      rule_generator: fix netif NAME= value extraction regex
+      skip SYMLINK rules for devices without a device node
+      rules: let empty strings added to buffer always return offset 0
+      fix uninitialized variable warnings
+      cache uid/gid during rule parsing
+      distinguish "match" from "assign" by (op < OP_MATCH_MAX)
+      determine at rule parse time if we need to call fnmatch()
+      special-case "?*" match to skip fnmatch()
+      libudev: monitor - replace far too expensive snprintf() with strlcpy()
+      libudev: monitor - cache result of monitor send buffer
+      fix "unused" warnings
+      remove debug printf
+      match KEY="A|B" without temporary string copy
+      match_attr() - copy attr value only when needed
+      do not init string arrays, just clear first byte
+      fix $attr{[<subsystem>/<sysname>]<attribute>} substitution
+      libudev: device - fill envp array while composing monitor buffer
+      test: add RUN+="socket: ..." to a test to run monitor code
+      libudev: device - allocate envp array only once
+      update NEWS
+      udevd: merge exec and run queue to minimize devpath string compares
+      ATTR{}== always fails if the attribute does not exist
+      rules: remove SCSI timeouts
+      rules: remove "add" match from usb device node rule
+      edd_id: add "change" event match
+      fstab_import: add "change" event match
+      write trace log to stderr
+      log rules file and line number when NAME, SYMLINK, OWNER, GROUP, MODE, RUN is applied
+      skip entire rule containing device naming keys, if no device can be named
+      fix udev_node_update_old_links() logic
+      move some info() to dbg()
+      add "devel" and "install" switches to autogen.sh
+      move debugging strings inside #ifdef DEBUG
+      firmware.sh: record missing files in /dev/.udev/firmware-missing/
+      fix list handling in enumerate and rules file sorting
+      volume_id: btrfs update
+      info() PROGRAM and IMPORT execution
+      fix $links substitution
+      fix cleanup of possible left-over symlinks
+      do not import the "uevent" file when we only read the db to get old symlinks
+      usb_id: MassStorage SubClass 6 is "scsi" not "disk"
+      unify string replacement
+      $links should be relative
+      fix indentation
+      rules: md - add mdadm 3 device naming
+      cleanup /dev/.udev/queue on startup and exit
+      udevadm: settle - exit if udevd exits
+
+Matthias Koenig (1):
+      volume_id: swap - larger PAGE_SIZE support
+
+Steven Whitehouse (1):
+      volume_id: support for GFS2 UUIDs
+
+
+Summary of changes from v129 to v130
+============================================
+
+Kay Sievers (26):
+      fix compile error with --disable-logging
+      libudev: enumerate - add_device() -> add_syspath()
+      volume_id: hpfs - read label and uuid
+      use no_argument, required_argument, optional_argument in longopts
+      libudev: get rid of selinux
+      libudev: device - add get_parent_with_subsystem()
+      usb_id: use libudev
+      udevadm: info - fix --query=all for devices without a device node
+      vol_id: add size= option
+      move selinux noops to udev.h
+      volume_id: add dbg() as noop to check for compile errors
+      vol_id: fix logging glue
+      vol_id: always use the safe string versions for unencoded label and uuid
+      volume_id: better DDF raid detection
+      volume_id: add btrfs
+      volume_id: use PRIu64i, PRIx64 macros
+      udevd: clarify deprecated sysfs layout warning
+      libudev: fix --enable-debug
+      don not print error if GOTO jumps just to next rule
+      volume_id: add more vfat debugging information
+      libudev: libudev.pc remove selinux
+      store node name and symlinks into db symlink target if they are small enough
+      volume_id: more fat debugging
+      libudev: fix typo in "multiple entries in symlink" handling
+      connect /sys and /dev with /sys/dev/{block,char}/<maj>:<min> and /dev/{block,char}/<maj>:<min>
+      replace spaces in dm and md name symlinks
+
+
+Summary of changes from v128 to v129
+============================================
+
+Alan Jenkins (7):
+      udev-test.pl: set non-zero exitcode if tests fail
+      scsi_id: compiler warning on 32-bit
+      trivial cleanup in udev_rules_iter
+      avoid repeated scans for goto targets (udev_iter_find_label)
+      replace strerror() usage with threadsafe "%m" format string
+      fix messages (inc. debug compile failure) introduced when optimizing "goto"
+      allow compiler to check dbg() arguments on non-debug builds
+
+Kay Sievers (46):
+      libudev: switch to "udev_device_get_parent"
+      libudev: udev_device - add attribute cache
+      libudev: handle "device" link as parent, handle "class" "block" as "subsystem"
+      udevadm: info - fix lookup-by-name
+      libudev: switch API from devpath to syspath
+      libudev: rename ctrl_msg to ctrl_msg_wire
+      vol_id: fix lib logging glue
+      fix broken symlink resolving
+      fix udevadm trigger
+      libudev: pass udev_device in enumerate
+      libudev: fix "subsystem" value
+      always include config.h from Makefile
+      libudev: udev_device_get_devname -> udev_device_get_devnode
+      libudev: add udev_device_new_from_devnum()
+      libudev: also import "uevent" file when reading udev database
+      libudev: add userdata pointer
+      libudev: replace awkward callback list interfaces with list iterators
+      libudev: get devnum from uevent file
+      libudev: enumerate_get_devices_list -> enumerate_get_list
+      libudev: initialize selinux only when needed
+      libudev: device - read database only when needed
+      libudev: rework list handling
+      libudev: more list rework
+      lubudev: accept more sys directories as devices, and parent devices
+      libudev: enumerate - accept list of subsystems to scan, or skip
+      libudev: enumerate "subsystem"
+      libudev: enumerate - scan /sys/block/ if needed
+      libudev: enumerate - split new() and scan()
+      test: replace ancient sysfs tree with recent one
+      test: add missing pci directory because of .gitignore *.7
+      gitignore: move *.8 to subdirs
+      test: replace last reference of "/class/*" devpath
+      fix dbg() callers
+      libudev: enumerate - scan devices and subsystems, add subsystem and attribute filter
+      udevadm: trigger: use libudev
+      fix segfault caused by wrong pointer used in dbg()
+      libudev: device_init() -> device_new()
+      udevadm: trigger fix long option --type=
+      libudev: add queue interface
+      udevadm: settle - use libudev queue
+      libudev: device - handle /sys/block/<disk-device-link>/<partition>
+      libudev: enumerate - ignore regular files while scanning
+      udevadm: trigger --type=failed - use libudev queue
+      rules: ieee1394 - create both, by-id/scsi-* and by-id/ieee-* links
+      build: include Makefile.am.inc in all Makefile.am
+      udevd: print warning if CONFIG_SYSFS_DEPRECATED is used
+
+
+Summary of changes from v127 to v128
+============================================
+
+Alan Jenkins (8):
+      fix uninitialized name_list error::ignore_error
+      do not needlessly declare some local variables in udev_rules_parse.c as static
+      remove deprecated envp[] in main()
+      fix name compare bug name_list_key_add()
+      remove redundant string copy in udev_rules_apply_format()
+      remove redundant "remove trailing newlines" in udevadm info
+      threadsafe rules iteration
+      fix off-by-one in pass_env_to_socket()
+
+Kay Sievers (53):
+      libudev: add monitor documentation
+      libudev: fix --disable-log
+      autogen.sh: add --with-selinux
+      volume_id: hfs - calculate proper uuid
+      fix dangling pointer returned by attr_get_by_subsys_id()
+      udev-test.pl: add --valgrind option
+      libudev: libudev.pc add Libs.private
+      volume_id: fail on undefined __BYTE_ORDER
+      remove FAQ
+      libudev: fix monitor documentation
+      libudev: add udev_device_get_syspath()
+      udev_device_init() remove statically allocated device support
+      udevadm: info - fix broken --device-id-of-file=
+      udevadm: control - use getopt_long()
+      udevadm: print warning to stderr if udevadm is called by symlink
+      udev-test.pl: remove left-over comment from --valgrind option
+      udevadm: rename source files
+      udevadm: rename internal functions to udevadm_*
+      udevadm: split out control functions
+      udevadm: move init from commands to udevadm
+      autogen.sh: add debug
+      use libudev code, unify logging, pass udev context around everywhere
+      volume_id: linux_raid - fix logic for volumes with size == 0
+      vol_id: add --debug option
+      udevadm: add --version --help options to man page, hide them as commands
+      move udev_ctrl to libudev-private
+      udev-test.pl: set udev_log="err"
+      test-udev: cleanup libudev context and overridden rules file string
+      test-udev: remove unused var
+      add a bunch of private device properties to udev_device
+      udevadm: monitor - use libudev for udev monitor
+      libudev: monitor - add event properties to udev_device
+      udevadm: log message if udevadm link is used
+      udevd: remove max_childs_running logic
+      libudev: monitor- add netlink uevent support
+      udevadm: monitor - use libudev code to retrieve device data
+      libudev: udev_device - read "driver" value
+      libudev: rename enumerate function
+      libudev: add selinux
+      libudev: initialize selinux after logging
+      volume_id: merge util.h in libvolume_id-private.h
+      update file headers
+      libudev: udev_device - add more properties
+      libudev: do not use udev_db.c
+      libudev: get rid of udev_sysfs.c
+      libudev: get rid of udev_utils.c
+      libudev: rename libudev-utils.c libudev-util.c
+      libudev: do not use any udev source file
+      extras: use libudev code
+      convert to libudev and delete udev_utils_string.c
+      get rid of udev_sysdeps.c
+      use size definitions from libudev
+      udevadm: info - use "udev_device"
+
+
+Summary of changes from v126 to v127
+============================================
+
+Karel Zak (2):
+      build-sys: don't duplicate file names
+      build-sys: remove non-POSIX variable names
+
+Kay Sievers (26):
+      add inotify dummy definitions if inotify is not available
+      build: remove autopoint check
+      udevadm: trigger - add missing attr filter to synthesized "subsystem" register events
+      ignore duplicated rules file names
+      fix .gitignore
+      rules: delete all distro rules which do not use default rules
+      rules: add nvram
+      rules: add isdn rules
+      rules: Gentoo update
+      add missing includes
+      add some warnings
+      update .gitignore
+      add missing 'v' for "make changelog"
+      build: fix "make dist"
+      vol_id: make the --offset= argument optional
+      rules: optical drives - probe at last session offset, do not probe for raid
+      libudev: add library to access udev information
+      libudev: split source files
+      update INSTALL
+      libudev: add udev event monitor API
+      volume_id: remove deprecated functions and bump major version
+      volume_id: remove left-over fd close()
+      split udev_device.c to leave out rules handling from libudev
+      libudev: link against selinux if needed
+      firmware.sh: lookup lookup kernel provided firmware directory
+      libudev: require LIBUDEV_I_KNOW_THE_API_IS_SUBJECT_TO_CHANGE
+
+Michal Soltys (1):
+      rules: fix md rules for partitioned devices
+
+
+Summary of changes from v125 to v126
+============================================
+
+Kay Sievers (9):
+      delete all Makefiles and move udev source to udev/
+      use autotools
+      rules: mode 0660 for group "disk"
+      rules: update Fedora rules
+      update ChangeLog
+      INSTALL: --enable-selinux not --with-selinux
+      volume_id: move static lib to $prefix
+      volume_id: create relative links
+      rules: run vol_id on opticals only if media is found
+
+Marco d'Itri (1):
+      rules: Debian update
+
+Thomas Koeller (1):
+      use proper directory lib/lib64 for libvolume_id
+
+
+Summary of changes from v124 to v125
+============================================
+
+John Huttley (1):
+      rules: tape rules - add nst to usb and 1394 links
+
+Karl O. Pinc (1):
+      man: clarify $attr{} parent searching
+
+Kay Sievers (14):
+      collect: fix size_t printf
+      path_id: suppress trailing '-' like 'ID_PATH=pci-0000:05:01.0-'
+      rules: add v4l persistent links
+      docs: update some docs and delete outdated stuff
+      scsi_id: fix fallback to sg v3 for sg nodes
+      rules: fix cciss rules for partition numbers > 9
+      udev.conf: udevcontrol -> udevadm control
+      rules: use consistently OPTIONS+=
+      scsi_id: the fallback fix broke error handling
+      man: rebuild from xml
+      do not touch node ownership and permissions, if already correct
+      rules: tape rules - add nst to by-path/ links
+      udevadm: info - add --export format to --device-id-of-file=
+      move default rules from /etc/udev/rules.d/ to /lib/udev/rules.d/
+
+Marco d'Itri (7):
+      rules_generator: net rules - do not print error if file is missing and ignore commented rules
+      man: add link_priority default value
+      scsi_id: man page fix
+      udevadm: settle - add verbose output when running into timeout
+      rules: Debian update
+      rules: Debian update
+      ignore rule with GOTO to a non-existent label
+
+Thomas Koeller (1):
+      scsi_id: include sys/stat.h
+
+Tobias Klauser (1):
+      collect: check realloc return value
+
+
+Summary of changes from v123 to v124
+============================================
+
+Kay Sievers (1):
+      cdrom_id: fix recognition of blank media
+
+
+Summary of changes from v122 to v123
+============================================
+
+Erik van Konijnenburg (3):
+      add substitution in MODE= field
+      Makefile: use udevdir in "make install"
+      volume_id: support for oracleasm
+
+Harald Hoyer (1):
+      scsi_id: retry open() on -EBUSY
+
+Karel Zak (2):
+      volume_id: remove unnecessary global variable
+      volume_id: enable GFS probing code, add LABEL support
+
+Kay Sievers (5):
+      edd_id: call it only for sd* and hd*
+      rename WAIT_FOR_SYSFS to WAIT_FOR and accept an absolute path
+      rules: tape rules - use bsg device nodes for SG_IO
+      rules: persistent net - handle "locally administered" ibmveth MAC addresses
+      cdrom_id: export ID_CDROM_MEDIA_TRACK_COUNT_AUDIO=, ID_CDROM_MEDIA_TRACK_COUNT_DATA=
+
+Michal Soltys (1):
+      man: add NAME== match entry
+
+Xinwei Hu (2):
+      collect: realloc buffer, if needed
+      udevd: export .udev/queue/$seqnum before .udev/uevent_seqnum
+
+
+Summary of changes from v121 to v122
+============================================
+
+Hannes Reinecke (2):
+      scsi_id: remove all sysfs dependencies
+      scsi_id: add SGv4 support
+
+Karel Zak (1):
+      volume_id: clean up linux_raid code
+
+Kay Sievers (8):
+      scsi_id:  update man page
+      scsi_id: remove bus_id option
+      scsi_id: add --sg-version= option
+      rules: adapt to new scsi_id
+      rules: adapt tape rules to new scsi_id
+      scsi_id: add bsg.h
+      volume_id: bump version
+      Makefile: do not create udevcontrol, udevtrigger symlinks
+
+MUNEDA Takahiro (2):
+      man: udevd- fix udev(8) reference
+      man: scsi_id
+
+Matthias Schwarzott (1):
+      cdrom_id: fix segfault
+
+
+Summary of changes from v120 to v121
+============================================
+
+Damjan Georgievski (1):
+      libvolume_id: recognize swap partitions with a tuxonice hibernate image
+
+Daniel Drake (1):
+      writing udev rules: fix rule typos
+
+David Woodhouse (1):
+      rules_generator: net rules - add "dev_id" value to generated rules
+
+Harald Hoyer (1):
+      selinux: more context settings
+
+Kay Sievers (21):
+      udevinfo: do not replace chars when printing ATTR== matches
+      vol_id: add --offset option
+      cdrom_id: replace with version which also exports media properties
+      udevd: at startup write message including version number to kernel log
+      rules_generator: net rules - always add KERNEL== match to generated rules
+      selinux: fix missing includes
+      allow setting of MODE="0000"
+      path_id: remove subsystem whitelist
+      logging: add trailing newline to all strings
+      scsi_id: initialize serial strings
+      persistent device naming: also read unpartitioned media
+      cdrom_id: add more help text
+      add $links substitution
+      fstab_import: add program to IMPORT matching fstab entry
+      add OPTIONS+="event_timeout=<seconds>"
+      write "event_timeout" to db
+      udevadm: trigger - add --env= option
+      udevadm: control - fix --env key to accept --env=<KEY>=<value>
+      udevadm: info - do not print ATTR{dev}==
+      persistent device naming: update tape rules
+      rules: update md rules
+
+
+Summary of changes from v119 to v120
+============================================
+
+Kay Sievers (9):
+      test: remove duplicated EXTRA entry
+      rules: remove last WAIT_FOR_SYSFS, load ppdev, switch scsi_device
+      udevadm: trigger - option to synthesize events and pass them to a socket
+      udevadm: info - resolve devpath if symlink is given
+      udevadm: remove old man page links and compat links for debugging tools
+      udevadm: trigger - fix broken socket option check
+      udevadm: trigger - fix --socket== + --verbose
+      also accept real socket files for RUN+="socket:<path>"
+      persistent device naming: cleanup storage rules
+
+Michael Kralka (1):
+      udevd: serialize events if they refer to the same major:minor number
+
+
+Summary of changes from v118 to v119
+============================================
+
+Anthony L. Awtrey (1):
+      do not skip RUN execution if device node removal fails
+
+Harald Hoyer (2):
+      rules: Fedora update
+      rules: do not set GROUP="disk" for scanners
+
+Jiri Slaby (1):
+      rules_generator: add missing write_net_rules unlock
+
+Karel Zak (2):
+      volume_id: fix UUID raw buffer usage
+      volume_id: fix typo in function documentation
+
+Kay Sievers (10):
+      switch mailing lists to linux-hotplug@vger.kernel.org
+      rules: remove tty rule which can never run because of an earlier "last_rule"
+      volume_id: update ext detection
+      selinux: set context for real file name not the temp name
+      hack to allow ATTR{block/*/uevent}="change"
+      rules_generator: add KERNEL=="<netifname>*" to generated rules
+      persistent device naming: also run on "change" event
+      test: add "subsystem" links to all devices
+      sysfs: depend on "subsystem" link
+      extend hack to allow TEST=="*/start"
+
+Matthias Schwarzott (1):
+      volume_id: respect LDFLAGS
+
+Neil Williams (1):
+      volume_id: add prefix=, exec_prefix=
+
+Roy Marples (1):
+      Makefile: do not require GNU install
+
+
+Summary of changes from v117 to v118
+============================================
+
+Daniel Drake (1):
+      doc: update "writing udev rules"
+
+Hannes Reinecke (1):
+      volume_id: LVM - add uuid
+
+Kay Sievers (9):
+      remove udevstart
+      rules_generator: do not create rules with insufficient matches
+      man: udevadm settle - mention 180 seconds default timeout
+      libvolume_id: squashfs - add endianess support for LZMA compression
+      rules: add AOE rule
+      volume_id: md - add metadata minor version
+      volume_id: run only once into a timeout for unreadable devices
+      create_floppy_devices: fix logic for more than one floppy device
+      volume_id: also add readable check to probe_all()
+
+Matthias Schwarzott (1):
+      rules: Gentoo update
+
+Michael Prokop (1):
+      libvolume_id: squashfs+LZMA compression detection
+
+
+Summary of changes from v116 to v117
+============================================
+
+Dan Nicholson (2):
+      extras: ignore built and generated files
+      volume_id: create relative symlink when $(libdir) = $(usrlibdir)
+
+Kay Sievers (15):
+      usb_id: fail if vendor/product can not be retrieved
+      rules: SUSE update
+      firmware: do not print error if logger is missing
+      volume_id: vfat - allow all possible sector sizes
+      volume_id: LUKS - export version
+      volume_id: ntfs - rely on valid master file table
+      volume_id: bump version
+      udevinfo: exclude "uevent" file from --attribute-walk
+      udevadm: merge all udev tools into a single binary
+      udevadm: accept command as option, like --help, --version
+      udevadm: add info option --device-id-of-file=<file>
+      Makefile: fix bogus version number than got committed
+      udevadm: also return major==0 results for --device-id-of-file
+      man: udevd.8 - remove udevcontrol section
+      udevadm: control - allow command to be passed as option
+
+MUNEDA Takahiro (1):
+      man: fix udevadm.8 typo
+
+Matthias Schwarzott (2):
+      firmware: remove hardcoded path to logger
+      rules: Gentoo update
+
+VMiklos (1):
+      rules: Frugalware update
+
+
+Summary of changes from v115 to v116
+============================================
+
+Bryan Kadzban (1):
+      rules: fix typos
+
+Harald Hoyer (3):
+      check line length after comment check and whitespace strip
+      only install *.rules
+      remove extra space from udevinfo symlink output
+
+Kay Sievers (29):
+      rules: fix two trivial typos
+      rules: random and urandom are 0666
+      rules: add REMOVE_CMD rule
+      track "move" events to rename database and failed files
+      rules: Gentoo update
+      rules: add i2o driver rule
+      man: recreate man pages
+      volume_id: fix linux_raid metadata version 1.0 detection
+      add $name substitution
+      do not delete the device node with ignore_remove, but handle the event
+      print warning for invalid TEST operations
+      rules: do not delete /lib/udev/devices/ nodes on "remove"
+      rules: remove broken nvram group assignment without any permission
+      add /dev/rtc symlink if new rtc drivers are used
+      increase WAIT_FOR_SYSFS timeout to 10 seconds
+      rules: put bsd nodes in /dev/bsd/ directory
+      path_id: fix for stacked class devices
+      ignore device node names while restoring symlinks from the stack
+      use SEQNUM in /dev/.udev/queue/ instead of devpath
+      rules: add memstick module loading
+      udevinfo: simplify symlink printing logic
+      prevent wrong symlink creation if database disagress with current rules
+      fix wrong variable used in logged string
+      update README
+      rule_generator: move all policy from write_net_rules to the rules file
+      rules: call usb_id only for SUBSYSTEMS=="usb"
+      rules: split out and fix persistent tape rules
+      fix debug output string
+      rule_generator: always match netif type in generated rule
+
+Matthias Schwarzott (3):
+      rules: Gentoo update
+      rules: Gentoo update
+      rules: Gentoo update
+
+Michael Morony (1):
+      set buffer size if strlcpy/strlcat indicate truncation
+
+maximilian attems (1):
+      correct includes in udev_selinux.c
+
+
+Summary of changes from v114 to v115
+============================================
+
+Harald Hoyer (1):
+      rules: fix typo in 80-drivers.rules
+
+Kay Sievers (15):
+      rules: add default rules
+      rules: update SUSE rules
+      rules: add packages rules
+      rules: add ia64 rules
+      rules: move md-raid rules to packages dir
+      rules: run vol_id only for partitions
+      rules: update Fedora rules
+      edd_id: move persistent rules to its own file
+      accept relative path for TEST
+      rules: add iowarrior rule
+      volume_id: fix sqashfs detection
+      do not ignore dynamic rule if it is the last one in the list
+      rule_generator: fix wrong DRIVERS!= logic
+      rules: update Fedora
+      Makefile: install default rules
+
+Marco d'Itri (3):
+      rules_generator: remove policy from write_cd_rules
+      rules_generator: fix write_cd_rules when similar names exist in the root directory
+      rules: Debian update
+
+
+Summary of changes from v113 to v114
+============================================
+
+Hannes Reinecke (3):
+      collect: extra to synchronize actions across events
+      add $driver subtitution
+      rules_generator: add S/390 persistent network support
+
+Kay Sievers (24):
+      rules_generator: remove executable flag from include file
+      always unlink temporary file before creating new one
+      rules: SUSE update
+      volume_id: ext4 detection
+      udevtrigger: allow to specify action string
+      add option to RUN key to ignore the return value of the program
+      use global udev_log variable instead of parameter in run_program
+      add udev_rules_run() to handle RUN list
+      move udev_utils_run.c into udev_rules.c
+      rules: SUSE update
+      name_list: rename loop_name -> name_loop
+      handle dynamic rules created in /dev/.udev/rules.d/
+      allow SYMLINK== match
+      libvolume_id: use /usr/$libdir in pc file
+      Makefile: add --as-needed flag to ld
+      restore behavior of NAME==
+      rules_generator: remove "installation" function
+      udevtrigger: trigger "driver" events
+      rules: update SUSE
+      rules: Fedora update
+      rules: add "do not edit" comment
+      rules: Fedora update
+      rules_generator: skip random MAC addresses
+      write changed network interface names to the kernel log
+
+Matthias Schwarzott (3):
+      rules: Gentoo update
+      fix inotify to work not only once
+      rules: Gentoo update
+
+Richard Hughes (1):
+      Makefile: add "make dist" for nightly snapshots
+
+
+Summary of changes from v112 to v113
+============================================
+
+David Zeuthen (1):
+      vol_id: do not fail if unable to drop privileges
+
+Kay Sievers (12):
+      add missing ChangeLog
+      make ATTR{[$SUBSYSTEM/$KERNEL]<attr>}="<value>" working
+      rules: recognize partitions and disk devices properly
+      rules: SUSE update
+      atomically replace existing nodes and symlinks
+      do not try to create existing file
+      info() for ignore_remove
+      rules: SUSE update
+      Makefile: check for missing ChangeLog or RELEASE-NOTES at release
+      allow to disable the replacement of unusual characters
+      no newline in log messages
+      udevd: do not use syslog if --verbose (debugging) is used
+
+Tobias Klauser (1):
+      fix typo in udev_utils_run.c
+
+
+Summary of changes from v111 to v112
+============================================
+
+Fabio Massimo Di Nitto (1):
+      rules: ignore partitons that span the entire disk
+
+Hannes Reinecke (1):
+      cciss device support
+
+Kay Sievers (34):
+      udevd: close /proc/meminfo after reading
+      create_floppy_devices: remove dead "unlink" code
+      volume_id: add function documentation
+      udev_db: escape path names with \x00 instead of %00
+      udevsettle: use long options
+      replace_chars: replace spaces in node name
+      volume_id: add and export string encoding function
+      vol_id: export encoded strings
+      rules: use encoded strings instead of skipping characters
+      udevtest: print message before log output
+      volume_id: escape % character
+      replace_chars: replace % character
+      IMPORT: do not mangle whitespace
+      scsi_id: do not install symlink in /sbin
+      rules: SUSE update
+      volume_id: terminate overlong label strings
+      scsi_id: add long options
+      rules: use long options for scsi_id
+      path_id: skip subsystem directory
+      rules: fix cciss rule
+      rules: SUSE update
+      scsi_id: fix typo in help text
+      fix "do not access parent" warning for ATTR{}
+      sysfs: add device lookup by $SUBSYSYTEM:$KERNEL
+      events for "bus" and "class" registration must be matched as "subsystem"
+      udevtest: add --subsystem option
+      sysfs: change order of subsystem lookup
+      add $sys substitution
+      add TEST=="<file>" key
+      add "[$SUBSYSTEM/$KERNEL]<attribute>" lookup
+      sysfs: handle bus/class top-level directories
+      sysfs: skip unknown sysfs directories
+      rules: SUSE update
+      release 112
+
+Miklos Vajna (2):
+      create_floppy_devices: add man page
+      path_id: remove on make uninstall
+
+Ryan Lortie (1):
+      volume_id: support for long-filename based labels
+
+Scott James Remnant (2):
+      replace_untrusted_chars: replace all whitespace with space
+      run_program: log "info" not "error" if program is missing
+
+
+Summary of changes from v110 to v111
+============================================
+
+Kay Sievers (19):
+      rules: SUSE update
+      rules: Fedora update
+      volume_id: use md native uuid format
+      vol_id: use long options
+      volume_id: add volume_id_get_* functions
+      vol_id: use volume_id_get_*
+      udevd: use fgets() to read /proc files
+      volume_id: add internal UUID_STRING
+      volume_id: add DDF support
+      vol_id: README update
+      volume_id: rename UUID_64BIT_LE/BE
+      vol_id: add ID_FS_UUID_SAFE
+      rules: use ID_FS_UUID_SAFE
+      rules: SUSE update
+      volume_id: give access to list of all available probers
+      vol_id: use libvolume_id prober list for --probe-all
+      volume_id: add remaining names for prober lookup by type
+      rules: SUSE update
+      volume_id: vol_id depends on libvolume_id
+
+Matthias Schwarzott (2):
+      volume_id: fix Makefile for parallel make
+      rules: Gentoo update
+
+
+Summary of changes from v109 to v110
+============================================
+
+Harald Hoyer (1):
+      udevcontrol: allow to set global variables in udevd
+
+Kay Sievers (13):
+      remove eventrecorder.sh
+      update SUSE rules
+      volume_id: add md metadata 1.0, 1.1, 1.2 support
+      unset variable with ENV{VAR}=""
+      delete copies of default rules in SUSE rules
+      volume_id: ext - fix endianess in version number
+      rules: Fedora update
+      volume_id: old md metadata has only 32 bit for the uuid
+      volume_id: minix version 3 support
+      don't create $tempnode for devices without major
+      usb_id: add <devpath> to help text
+      ata_id: use getopt_long()
+      rules: SUSE update
+
+Matthias Schwarzott (3):
+      Makefile: respect CFLAGS/LDFLAGS
+      rules: Gentoo update
+      ata_id: don't log error for libata devices on older kernels
+
+
+Summary of changes from v108 to v109
+============================================
+
+Harald Hoyer (1):
+      create_floppy_devices: create nodes with correct selinux context
+
+Kay Sievers (11):
+      udevtest: export ACTION string if given as option
+      update SUSE rules
+      make ACTION!="add|change" working
+      udevtest: import uevent variables if possible
+      udevinfo: export all information stored in database
+      default rules: add libata compat links
+      create_path: don't fail if something else created the directory
+      udevd: fix serialization of events
+      path_id: remove broken example
+      libvolume_id: do not install static library
+      update SUSE rules
+
+Matthias Schwarzott (2):
+      update Gentoo rules
+      persistent device naming: add joystick links
+
+VMiklos (1):
+      path_id: add man page
+
+
+Summary of changes from v107 to v108
+============================================
+
+Kay Sievers (3):
+      udevinfo: relax check for the correct device if looked up by name
+      don't write to sysfs files during test run
+      finally remove the directory event-multiplexer crap
+
+Matthias Schwarzott (2):
+      write_cd_rules: set default link type to "by-id" for usb and ieee1394 devices
+      update Gentoo rules
+
+Pozsar Balazs (1):
+      udevsettle: read udev not kernel seqnum first
+
+
+Summary of changes from v106 to v107
+============================================
+
+Jean Tourrilhes (1):
+      udevtest: export UDEV_LOG if we changed it
+
+Kay Sievers (33):
+      man: add missing options to various man pages
+      man: fix typo
+      create_floppy_devices: apply specified mode without umask
+      man: spelling fixes
+      udevmonitor: add switch for kernel and udev events
+      default rules: wait for 0:0:0:0 scsi devices only
+      update Fedora rules
+      delete dasd_id, it moved to s390-tools
+      update Gentoo rules
+      encode db-file names, instead of just replacing '/'
+      update internal variables if we see $DEVPATH during IMPORT
+      increase /proc/stat buffer
+      maintain index over device-names to devpath relation
+      restore overwritten symlinks when the device goes away
+      store devpath with the usual leading slash
+      add link_priority to rule options, and store it in database
+      pick actual valid device in udev_db_lookup_name
+      cleanup already existing db-entries and db-index on device update
+      selinux: move selinux_exit() to the main programs
+      remove old error message
+      read list of devices from index, make index private to database
+      priority based symlink handling
+      volume_id: get rid of compiler warning
+      udevinfo: remove -d option
+      update %n on netif name change
+      if a node goes away, possibly restore a waiting symlink
+      update TODO
+      man: add "link_priority" option
+      update SUSE rules
+      udevtest: add --force mode
+      udevinfo: print link priority
+      usb_id: append target:lun to storage device serial
+      run_directory: add final warning before removal
+
+Marco d'Itri (1):
+      update Debian rules
+
+Matthias Schwarzott (2):
+      udevd: cleanup std{in,our,err} on startup
+      udevmonitor: fix swapped event switch descriptions
+
+
+Summary of changes from v105 to v106
+============================================
+
+A. Costa (1):
+      man: fix typos in scsi_id and udevd
+
+Andrey Borzenkov (2):
+      vol_id: add -L to print raw partition label
+      vol_id: document -L
+
+Jamie Wellnitz (1):
+      persistent device naming: tape devices and medium changers
+
+Kay Sievers (15):
+      exclude parent devices from DRIVER== match
+      volume_id: really fix endianess bug in linux_raid detection
+      release 105
+      man: correct udevinfo --export-db
+      path_id: append LUN to iSCSI path
+      create_floppy_devices: add option for owner/group
+      update example rules
+      apply format chars to ATTR before writing to sysfs
+      add (subsystem) to udevmonitor output
+      update DRIVER== changes
+      remove --version from the udevinfo man page
+      add test for an attribute which contains an operator char
+      man: add note about parent matching behavior
+      scsi_id: accept tabs in /etc/scsi_id.conf
+      remove dead rule in persistent tape rules
+
+Matthias Schwarzott (4):
+      correct typo in extras/scsi_id/scsi_id.conf
+      fix retry-loop in netif-rename code
+      add option --version to udevd
+      rule_generator: fix for creating rules on read-only filesystem
+
+Peter Breitenlohner (1):
+      fix INSTALL_PROGRAM vs. INSTALL_SCRIPT
+
+Sergey Vlasov (3):
+      udevd: init signal pipe before daemonizing
+      unlink old database file before creating a new one
+      fix %c $string substitution
+
+Theodoros V. Kalamatianos (1):
+      fix udev attribute names with a colon
+
+
+Summary of changes from v104 to v105
+============================================
+
+A. Costa (1):
+      man: fix typos in scsi_id and udevd
+
+Andrey Borzenkov (2):
+      vol_id: add -L to print raw partition label
+      vol_id: document -L
+
+Kay Sievers (2):
+      exclude parent devices from DRIVER== match
+      volume_id: really fix endianess bug in linux_raid detection
+
+Matthias Schwarzott (2):
+      correct typo in extras/scsi_id/scsi_id.conf
+      fix retry-loop in netif-rename code
+
+Peter Breitenlohner (1):
+      fix INSTALL_PROGRAM vs. INSTALL_SCRIPT
+
+Sergey Vlasov (3):
+      udevd: init signal pipe before daemonizing
+      unlink old database file before creating a new one
+      fix %c $string substitution
+
+
+Summary of changes from v103 to v104
+============================================
+
+Kay Sievers (12):
+      update Fedora rules
+      update example rules
+      update SUSE rules
+      update SUSE rules
+      volume_id: fix endianess bug in linux_raid detection
+      man: fix udevmonitor text
+      man: recreate from xml
+      rename config "filename" to "dir"
+      remove outdated documentation
+      rename "udev.c" to "test-udev.c" - it is only for testing
+      update Fedora rules
+      use git-archive instead of git-tar-tree
+
+Kazuhiro Inaoka (1):
+      inotify syscall definitions for M32R
+
+Marco d'Itri (2):
+      write_cd_rules: identity-based persistence
+      scsi_id: remove trailing garbage from ID_SERIAL_SHORT
+
+Russell Coker (1):
+      SELinux: label created symlink instead of node
+
+
+Summary of changes from v102 to v103
+============================================
+
+Kay Sievers:
+      persistent storage rules: skip gnbd devices
+      volume_id: add checksum check to via_raid
+      volume_id: add comment about hfs uuid conversion
+      update SUSE rules
+      update Fedora rules
+
+
+Summary of changes from v101 to v102
+============================================
+
+Daniel Drake:
+      writing_udev_rules: fix typo in example rule
+
+Kay Sievers:
+      create missing ChangeLog for version 101
+      update SUSE rules
+      update default rules
+      first try "subsystem" link at a parent device, before guessing
+      if /sys/subsystem exists, skip class, bus, block scanning
+      scsi_id: export ID_SERIAL_SHORT without vendor/product
+      update SUSE rules
+
+MUNEDA Takahiro:
+      path_id: fix SAS disk handling
+
+
+Summary of changes from v100 to v101
+============================================
+
+Arjan Opmeer:
+      fix udevinfo help text typo
+
+Bryan Kadzban:
+      cleanup default rules
+      add IMPORT operations to the udev man page
+
+Kay Sievers:
+      remove Makefile magic for leading '0' in version
+      udevd: use getopt_long()
+      udevd: add --verbose option to log also to stdout
+      udevd: add --debug-trace option
+      rule_generator: improve net rule comment generation
+      volume_id: correct iso9660 high sierra header
+      warn if a PHYSEDV* key, the "device" link, or a parent attribute is used
+      don't print PHYSDEV* warnings for old WAIT_FOR_SYSFS rules
+      udevinfo: print error in --attribute-walk
+      udev_sysfs: unify symlink resolving
+      udevtrigger: trigger devices sorted by their dependency
+      fix spelling in deprecation warning
+      release 101
+
+Michał Bartoszkiewicz:
+      udevtrigger: fix typo that prevents partition events
+
+Miles Lane:
+      clarify "specified user/group unknown" error
+
+Piter PUNK:
+      update slackware rules
+
+VMiklos:
+      update Frugalware rules
+
+
+Summary of changes from v099 to v100
+============================================
+
+Kay Sievers:
+      update SUSE rules
+      fix messed up ChangeLog from release 099
+      man: add $attr{} section about symlinks
+      revert persistent-storage ata-serial '_' '-' replacement
+
+
+Summary of changes from v098 to v099
+============================================
+
+Greg KH:
+      update Gentoo rules
+
+Kay Sievers:
+      udev_db.c: include <sys/stat.h>
+      use fnmatch() instead of our own pattern match code
+      rename major/minor variable to maj/min to avoid warning
+      update source file headers
+      udevtest: print header that ENV{} can't work
+      update TODO
+      udevtrigger: options to filter by subsystem and sysfs attribute
+      udevtrigger: remove unused longindex
+      udevinfo: use long options
+      udevd: use files instead of symlinks for /dev/.udev/queue,failed
+      udevtrigger: fix pattern match
+      reorder options in udevinfo man page
+      udevinfo: fix SUBSYTEMS spelling error
+      fix ENV{TEST}="Test: $env{TEST}"
+      let $attr{symlink} return the last element of the path
+      cdrom_id: add rules file to call cdrom_id
+      udevinfo: do not show symlinks as attributes in --attribute-walk
+      remove broken name_cdrom.pl
+
+Marco d'Itri:
+      update Debian rules
+      run_program: close pipe fd's which are connected to child process
+      add persistent rules generator for net devices and optical drives
+
+MUNEDA Takahiro:
+      changes rules for ata disk from '_' to '-'
+
+Sergey Vlasov:
+      make struct option arrays static const
+      fix "subsytem" typo
+
+
+Summary of changes from v097 to v098
+============================================
+
+Alex Merry:
+      udevtest: allow /sys in the devpath paramter
+
+Harald Hoyer:
+      selinux: init once in the daemon, not in every event process
+
+Kay Sievers:
+      udevd: remove huge socket buffer on the control socket
+      man page: fix typo
+      rename udev_libc_wrapper -> udev_sysdeps
+      db: store devpath - node relationship for all devices
+      udevinfo: allow -a -n <node>
+      udevinfo, udevtest: simplify '/sys' stripping from devpath argument
+      lookup_user, lookup_group: report "unknown user" and "lookup failed"
+      consistent key naming to match only the event device or include all parent devices
+      skip rule, if too may keys of the same type are used
+      introduce ATTR{file}="value" to set sysfs attributes
+      update SUSE rules
+      update default rules
+      export DRIVER for older kernels as a replacement for PHYSDEVDRIVER
+      fix typo in SUBSYSTEMS key parsing
+      udevtrigger: add --retry-failed
+      volume_id: add suspend partition detection
+      vol_id: use primary group of 'nobody' instead of 'nogroup'
+      remove built-in /etc/passwd /etc/group parser
+      always expect KEY{value} on ATTR, ATTRS, ENV keys
+      use new key names in test programs
+      cleanup commandline argument handling
+      db: don't create a db file for only a node name to store
+      man: add ATTR{file}="value" assignment
+
+Lennart Poettering:
+      volume_id: fix fat32 cluster chain traversal
+
+Marco d'Itri:
+      fix 'unknow user' error from getpwnam/getgrnam
+      fix rc when using udev --daemon
+      update Debian rules
+
+Michał Bartoszkiewicz:
+      man pages: fix typos
+
+
+Summary of changes from v096 to v097
+============================================
+
+Anssi Hannula:
+      add joystick support to persistent input rules
+
+Kay Sievers:
+      firmware.sh: remove needless '/'
+      vol_id: add --skip-raid and --probe-all option
+      switch uevent netlink socket to group 1 only
+      increase /proc/stat read buffer
+      use "change" instead of "online" events
+      remove 'static' from local variable
+      libvolume_id: add parameter 'size' to all probe functions
+      man pages: replace 'device-path' by 'devpath'
+      man pages: work around xmlto which tries to be smart
+      refresh vol_id man page
+      udevinfo: add DRIVER==
+      Makefile: fix dependency
+      libvolume_id: read ufs2 label
+      switch ifdef __KLIBC__ to ifndef __GLIBC__
+      report failing getpwnam/getgrnam as error
+      rename udevcontrol message types and variables
+      initialize unused sockets to -1
+      udevd: remove useless udevinitsend parameter
+      update README
+      udevd: autotune max_childs/max_childs_running
+      update frugalware rules
+      update SUSE rules
+      move default rules to etc/udev/rules.d/
+      add 'crypto' devices to persistent storage rules
+      add late.rules to default rules
+      update Fedora rules
+      don't report an error on overlong comment lines
+      update SUSE rules
+      udevd: read DRIVER from the environment
+
+Marco d'Itri:
+      make rename_netif() error messages useful
+      path_id: fix an harmless syntax error
+
+Piter PUNK:
+      update slackware rules
+
+Richard Purdie:
+      Fix inotify syscalls on ARM
+
+
+Summary of changes from v095 to v096
+============================================
+
+Kay Sievers:
+      Makefiles: fix .PHONY for man page target
+      allow longer devpath values
+      path_id: prepare for new sysfs layout
+
+
+Summary of changes from v094 to v095
+============================================
+
+Kay Sievers:
+      update SUSE rules
+      don't remove symlinks if they are already there
+      allow "online" events to create/update symlinks
+      udevinfo: clarify parent device attribute use
+      update SUSE rules
+      netif rename: optimistic loop for the name to become free
+      remove broken %e enumeration
+
+Tobias Klauser:
+      print usage of udevcontrol when no or invalid command is given
+
+
+Summary of changes from v093 to v094
+============================================
+
+Daniel Drake:
+      update "writing udev rules"
+
+Kay Sievers:
+      libvolume_id: gfs + gfs2 support
+      remove MODALIAS key and substitution
+      add persistent-input.rules
+
+Marco d'Itri:
+      update Debian rules
+
+
+Summary of changes from v092 to v093
+============================================
+
+Hannes Reinecke:
+      path_id: add support for iSCSI devices
+
+Kay Sievers:
+      libvolume_id: fat - check for signature at end of sector
+      libvolume_id: add more software raid signatures
+      update Fedora rules
+      path_id: prevent endless loop for SAS devices on older kernels
+      remove udevsend
+      replace binary firmware helper with shell script
+      skip device mapper devices for persistent links
+
+
+Summary of changes from v091 to v092
+============================================
+
+Kay Sievers:
+      don't include stropts.h, some libc's don't like it
+      udevd: create leading directories for /dev/.udev/uevent_seqnum
+      vol_id: fix logging from libvolume_id's log function
+      update SUSE rules
+      update SUSE rules
+      add more warnings for invalid key operations
+      fix offsetof() build issue with recent glibc
+      selinux: fix typo in block device node selection
+      vol_id: add NetWare volume detection
+      edd_id: fix "(null)" output if "mbr_signature" does not exist
+      update Fedora rules
+      libvolume_id: nss - use different uuid
+
+Libor Klepac:
+      path_id: add platform and serio support
+
+Marco d'Itri:
+      update Debian rules
+      path_id: fix bashism
+
+
+Summary of changes from v090 to v091
+============================================
+
+Hannes Reinecke:
+      path_id: fix SAS device path generation
+
+Kay Sievers:
+      udevtest: don't try to delete symlinks
+      persistent rules: fix typo in dm rule
+      allow NAME=="value" to check for already assigned value
+      udevd: export initial sequence number on startup
+
+
+Summary of changes from v089 to v090
+============================================
+
+Kay Sievers:
+      udevd: export current seqnum and add udevsettle
+      volume_id: fix endianess conversion typo for FAT32
+      merge device event handling and make database content available on "remove"
+      set default udevsettle timeout to 3 minutes
+      export INTERFACE_OLD if we renamed a netif
+      let udevmonitor show the possibly renamed devpath
+      volume_id: move some debug to info level
+      udevtrigger: fix event order
+      usb_id: remove uneeded code
+      remove old symlinks before creating current ones
+      path_id: fix loop for SAS devices
+      apply format char to variables exported by ENV
+
+Marco d'Itri:
+      add inotify support for hppa and MIPS and log if inotify is not available
+
+Matt Kraai:
+      fix typo in error message
+
+
+Summary of changes from v088 to v089
+============================================
+
+Hannes Reinecke:
+      path_id: add bus to USB path
+
+Kay Sievers:
+      change rule to skip removable IDE devices
+      don't create uuid/label links for raid members
+      volume_id: provide library
+      fix rule order for persistent tape links
+      update man page
+      volume_id: provide a custom debug function
+      volume_id: rename subdirectory
+      volume_id: use shared library by default
+      because is better than cause
+      volume_id: remove some global symbols
+      volume_id: define exported symbols
+      remove all stripping code
+      man pages: mention udev(7) not udev(8)
+      update Debian rules
+      move all *_id programs to /lib/udev/
+      update Red Hat rules
+      update SUSE rules
+      pass CROSS_COMPILE to AR and RANLIB down to extras/
+      volume_id: update README
+      volume_id: generate man page from xml source
+      update README
+      fix symlink targets in Makefiles
+
+
+Summary of changes from v087 to v088
+============================================
+
+Hannes Reinecke:
+      persistent links: add scsi tape links and usb path support
+
+Kay Sievers:
+      volume_id: add squashfs detection
+      reset signal handler in event process
+      correct use of fcntl()
+      add udevtrigger to request events for coldplug
+      add ',' to trusted chars
+      volume_id: remove partition table parsing code
+      volume_id: remove all partition table support
+      fix spelling error in debug string
+      rename "persistent disk" to "persistent storage"
+      fix output for USB path
+
+
+Summary of changes from v086 to v087
+============================================
+
+Hannes Reinecke:
+      path_id: support SAS devices
+
+Kay Sievers:
+      fix persistent disk rules to exclude removable IDE drives
+      warn about %e, MODALIAS, $modalias
+      remove devfs rules and scripts
+
+Masatake YAMATO:
+      typo in debug text in udev_run_hotplugd.c
+
+
+Summary of changes from v085 to v086
+============================================
+
+Kay Sievers:
+      volume_id: replace __packed__ by PACKED macro
+      volume_id: split raid and filesystem detection
+      volume_id: add missing return
+      udevd: fix queue export for multiple events for the same device
+
+Kyle McMartin:
+      workaround missing kernel headers for some architectures
+
+Nix:
+      update to udev-084/doc/writing_udev_rules
+
+
+Summary of changes from v084 to v085
+============================================
+
+Andrey Borzenkov:
+      Fix trivial spelling errors in RELEASE-NOTES
+
+Jeroen Roovers:
+      fix typo in parisc support to path_id
+
+Kay Sievers:
+      make WAIT_FOR_SYSFS usable in non "wait-only" rules
+      fix typo in man page
+      include sys/socket.h for klibc build
+      cramfs detection for bigendian
+      exit WAIT_FOR_SYSFS if the whole device goes away
+      update SUSE rules
+      update Red Hat rules
+      update Gentoo rules
+      include errno.h in udev_libc_wrapper.c
+
+
+Summary of changes from v083 to v084
+============================================
+
+Kay Sievers:
+      update SUSE rules
+      switch CROSS to CROSS_COMPILE
+      replace fancy silent build program by simple kernel build like logic
+      move manpages to top level
+      remove UDEVD_UEVENT_INITSEND
+      whitespace fixes
+      scsi_id: remove dead files
+      optimize sysfs device and attribute cache
+      let SYSFS{} look at the device, not only the parent device
+      add debug output to sysfs operations
+
+
+Summary of changes from v082 to v083
+============================================
+
+Andrey Borzenkov:
+      man page: document when substitutions are applied for RUN and other keys
+      check for ignore_device in loop looks redundant
+
+Kay Sievers:
+      udevstart: fix NAME="" which prevents RUN from being executed
+      find programs in /lib/udev for IMPORT if {program} is not given
+      don't add $SUBSYSTEM automatically as $1 to programs
+      remove redundant substitution of RUN key
+
+
+Summary of changes from v081 to v082
+============================================
+
+Andrey Borzenkov:
+      substitute format chars in RUN after rule matching
+
+Kay Sievers:
+      scsi_id, usb_id: request device parent by subsystem
+      path_id: work with "all devices in /sys/devices"
+      ignore all messages with missing devpath or action
+      Makefile: remove dynamic config file generation
+      path_id: handle fiber channel (Hannes Reinecke <hare@suse.de>)
+      usb_id: don't fail on other subsytems than "scsi"
+      don't do RUN if "ignore_device" is given
+      increase kernel uevent buffer size
+      move udev(8) manpage to udev(7)
+      recreate man pages from xml source
+      remove udev, udevstart, udevsend from the default installation
+      update SUSE rules
+      rename apply_format() cause it is public now
+      udevtest: add udev_rules_apply_format() to RUN keys
+      let "ignore_device" always return the event successfully
+
+Olivier Blin:
+      fixes udev build with -fpie
+
+
+Summary of changes from v080 to v081
+============================================
+
+Kay Sievers:
+      add DEVLINKS to "remove" event
+      better log text and comments
+      vol_id: probe volume as user nobody
+      fix BUS, ID, $id usage
+      prepare moving of /sys/class devices to /sys/devices
+
+
+Summary of changes from v079 to v080
+============================================
+
+Brent Cook:
+      fix dependency for make -j2
+
+coly:
+      fix man page typos
+
+Kay Sievers:
+      update RELEASE-NOTES + TODO
+      fix typo in man page
+      update TODO
+      update SUSE rules
+      path_id: fix invalid character class
+      replace libsysfs
+
+Marco d'Itri:
+      udev_selinux.c: include udev.h
+
+
+Summary of changes from v078 to v079
+============================================
+
+Kay Sievers:
+      don't log error if database does not exist
+      use udev_root instead of "/dev"in selinux matchpathcon_init_prefix()
+      scsi_id: read page 0x80 with libata drives
+      update SUSE rules
+      remove %e from man page
+
+
+Summary of changes from v077 to v078
+============================================
+
+Greg Kroah-Hartman:
+      Update Gentoo udev main rule file.
+      add parisc support to path_id
+
+Hannes Reinecke:
+      scsi_id: -u fold multiple consecutive whitespace chars into single '_'
+
+Harald Hoyer:
+      optimize SELinux path match
+
+Kay Sievers:
+      update README
+      allow C99 statements
+      fix segfaulting create_floppy_devices
+      update SUSE rules
+      remove unused variables
+      remove default settings in udev.conf
+      clearenv() is now part of klibc
+      add DEVLINKS to the event environment
+
+Kurt Garloff:
+      scsi_id: support pre-SPC3 page 83 format
+
+
+Summary of changes from v076 to v077
+============================================
+
+Kay Sievers:
+      merge two consecutive static strlcat's
+      don't return an error, if "ignore_device" is used
+      remove outdated and misleading stuff
+      move SEQNUM event skipping to udevsend
+      update RELEASE-NOTES
+      update SUSE rules
+      allow programs in /lib/udev called without the path
+      update SUSE rules
+      add target to to generate ChangeLog section
+      update Red Hat rules
+
+Marco d'Itri:
+      allow to overwrite the configured udev_root by exporting UDEV_ROOT
+      let udevsend ignore events with SEQNUM set
+      update Debian rules
+
+
+Summary of changes from v75 to v076
+============================================
+
+Kay Sievers:
+      fix typo in eventrecorder
+      volume_id: include stddef.h header
+      remove misleading install instructions
+      remove all built-in wait_for_sysfs logic
+      add linux/types.h back, old glibc-kernel-headers want it
+      volume_id: use glibc's byteswap
+      udevd: ignore all messages without DEVPATH
+      udevd: track exit status of event process
+      udevd: export event queue and event state
+      remove "udev_db" option from config file
+      Makefile: remove exec_prefix and srcdir
+      update README and RELEASE-NOTES
+      udevd: track killed event processes as failed
+      update README
+      don't start udevd from udevsend
+      udevd: add a missing return
+      libvolume_id: fix weird fat volume recognition
+      move some helpers from extras to /lib/udev
+
+Scott James Remnant:
+      move delete_path() to utils
+      clean-up empty queue directories
+      Makefile: fail, if submake fails
+
+
+Summary of changes from v74 to v075
+============================================
+
+Greg Kroah-Hartman:
+      Make run_directory.c stat the place it is going to try to run.
+
+Kay Sievers:
+      forgot the ChangeLog for 074
+      volume_id: provide libvolume_id.a file
+      remove our own copy of klibc
+      remove outdated HOWTO
+      update TODO
+      update SUSE rules
+      remove completely useless start script
+      fix tests and remove no longer useful stuff
+      replace udeveventrecorder by a shell script
+
+
+Summary of changes from v73 to v074
+============================================
+
+Kay Sievers:
+      never queue events with TIMEOUT set
+      let NAME="" supress node creation, but do RUN keys
+      remove udevinitsend
+      update .gitignore
+
+Marco d'Itri:
+      add strerror() to error logs
+      move some logging from dbg() to info()
+
+
+Summary of changes from v72 to v073
+============================================
+
+Kay Sievers:
+      udevd: depend on netlink and remove all sequence reorder logic
+      print useconds in udevmonitor
+      add RELEASE-NOTES, update TODO
+
+
+Summary of changes from v71 to v072
+============================================
+
+Ananth N Mavinakayanahalli:
+  libsysfs: translate devpath of the symlinked class devices to its real path
+
+Jan Luebbe:
+  add man pages for *_id programs
+
+Kay Sievers:
+  volume_id: add OCFS Version 1
+  volume_id: add Veritas fs
+  volume_id: check ext fs for valid blocksize, cause magic is only 2 bytes
+  volume_id: move blocksize validation to fix jbd recognition
+  volume_id: fix typo in ocfs
+  volume_id: add vxfs include
+  volume_id: make FAT32 recognition more robust
+  volume_id: Version 051
+  volume_id: fix typo in ext blocksize check
+  volume_id: Version 052
+  FAQ: remove confusing statement about module loading
+  cleanup compiler/linker flags
+  use DESTDIR on uninstall, no need to pass prefix to submake
+  allow to pass STRIPCMD, to skip stripping of binaries
+  cleanup make release
+  fix the new warnings I asked for
+  move rules parsing into daemon
+  "make STRIPCMD=" will disable the stripping of binaries
+  remove no longer working udevd-test program
+  "STRIPCMD=" for the EXTRAS
+  add dummy inotify syscalls on unsupported architecture
+  remove no longer needed waiting for "dev" file
+  revert the "read symlink as device patch"
+  use libsysfs to translate the class linke to the device path
+  libsysfs: remove brute-force "bus", "driver" searching for old kernels
+  test: add "driver" and "bus" links to test sysfs tree
+  update RELEASE-NOTES
+  udevd: don't daemonize before initialization
+  log to console if syslog is not available
+  udevd: disable OOM
+  remove precompiled rules option
+  export DEVNAME on "remove" only if we really got a node to remove
+  fix typo in umask()
+
+
+Summary of changes from v70 to v071
+============================================
+
+Greg Kroah-Hartman:
+      Remove the udev.spec file as no one uses it anymore
+
+John Hull:
+      edd_id: check that EDD id is unique
+
+Kay Sievers:
+      ata_id: open volume O_NONBLOCK
+      add "Persistent Device Naming" rules file for disks
+      scsi_id: switch temporary node creation to /dev
+      volume_id: set reiser instead of reiserfs for filesystem type
+      update devfs rules header
+      update Debian rules
+      update Fedora rules
+      update Debian rules
+      remove no longer needed includes
+      switch tools and volume_id from LGPL to GPLv2
+      add edd-*-part%n to the persistent.rules
+      update Debian persistent rules
+      clarify README
+      udevd: fix initial timeout handling
+      force event socket buffer size to 16MB
+      udevd: move logging from err to info for non-hotplug uevent
+      fix selinux compilation
+      libsysfs: accept sysmlinks to directories instead of real directories
+
+Marco d'Itri:
+      run_directory: fix typo in "make install"
+
+
+Summary of changes from v069 to v070
+============================================
+
+Amir Shalem:
+  udevd: fix udevd read() calls to leave room for null byte
+
+Edward Goggin:
+  scsi_id: derive a UID for a SCSI-2 not compliant with the page 83
+
+Greg Kroah-Hartman:
+  fix nbd error messages with a gentoo rule hack
+  fix scsi_id rule in gentoo config file
+
+Jürg Billeter:
+  EXTRAS/Makefile: fix install targets to match main Makefile
+
+Kay Sievers:
+  volume_id: fix error handling with failing read()
+  EXTRAS: cleanup and sync all Makefiles
+  add install test to 'make buildtest'
+  update RELEASE-NOTES
+
+Olivier Blin:
+  fix a debug text typo in udev_rules.c
+
+
+Summary of changes from v068 to v069
+============================================
+
+Amir Shalem:
+  fix typo in firmware_helper
+
+Duncan Sands:
+  firmware_helper: fix write count
+
+Kay Sievers:
+  *_id: fix zero length in set_str()
+  add program name to logged error
+  fix exit code of udevinitsend and udevmonitor
+  udevd: keep the right order for messages without SEQNUM
+  volume_id: don't probe for mac_partition_maps
+  udevmonitor: cleanup on exit
+  path_id: remove SUSE specific PATH
+  update SUSE rules
+  add pci_express to bus list
+  update SUSE rules
+  store ENV{key}="value" exported keys in the database
+  fix lookup for name in the udevdb, it should return the devpath
+  prepare for new HAL udevdb dump
+  print persistent data with "udevinfo -q all"
+  change parameter order of udev_db_search_name()
+  add and use name_list_cleanup() for cleaning up the string lists
+  don't store devpath in udevdb, we don't need it
+  add uft8 validation for safe volume label exporting
+  start to enforce plain ascii or valid utf8
+  use WRITE_END/READ_END for the pipe index
+  remove not needed sig_flag for state of signal_pipe
+  don't reenter get_udevd_msg() if message is ignored
+  rename ...trailing_char() to ...trailing_chars()
+  vol_id: ID_LABEL_SAFE will no longer contain fancy characters
+  udevd: move some logging to "info" and "err"
+  remove special TIMEOUT handling from incoming queue
+  udev_test.pl: we replace untrusted chars with '_'
+  check the udevdb before assigning a new %e
+  update RELEASE-NOTES
+  udevinfo: add database export
+  write man page masters in DocBook XML
+  udevinfo: rename dump() to export()
+  test the automatic man page rebuild and checkin
+  Makefile: remove all the duplicated rules
+  all man pages rewritten to use DocBook XML
+  add missing udevsend man page
+  also forgot udevmonitor.8
+  udevinfo: restore -d option
+  scsi_id: rename SYSFS to LIBSYSFS
+  add edd_id tool to match BIOS EDD disk information
+  move and update libsysfs.txt
+  klibc: update to version 1.1.1
+  delete cdromsymlinks* - obsoleted by cdrom_id and IMPORT rules
+  delete docs/persistent_naming - obsoleted by persistent disk names
+  delete old Fedora html page
+  add "totally outdated" header to docs/overview :)
+  update SUSE rules
+  fix useless but funny name_cdrom.pl script to work again
+  update TODO
+  Makefile: fix prerequisits for $(PROGRAMS)
+  Makefile: cleanup install targets
+  remove chassis_id program
+  fic gcov use and move it into the Makefile
+  FAQ: update things that have changed
+
+Thierry Vignaud:
+  switch to '==' in raid-devfs.sh
+
+
+Summary of changes from v067 to v068
+============================================
+
+Greg Kroah-Hartman:
+  add EXTRAS documentation to the README file.
+  Always open the cdrom drive in non-blocking mode in cdrom_id
+  cdrom_id: change err() to info() to help with debugging problems
+
+Kay Sievers:
+  cleanup some debug output and move to info level + unify select() loops
+  move udevmonitor to /usr/sbin
+  ENV{TEST}=="1" compares and ENV{TEST}="1" sets the environment
+  vol_id: fix sloppy error handling
+  fix typo in cdrom_id syslog
+  bring std(in|out|err) fd's in a sane state
+  fix printed udevmonitor header
+
+
+Summary of changes from v066 to v067
+============================================
+
+Greg Kroah-Hartman:
+  added the cdrom.h #defines directly into the cdrom_id.c file
+
+Kay Sievers:
+  update SUSE rules
+  fix make install, as we don't provide a default rule set anymore
+  fix more compiler warnings ...
+  fix udevstart event ordering, we want /dev/null very early
+  don't fail too bad, if /dev/null does not exist
+
+
+Summary of changes from v065 to v066
+============================================
+
+Greg Kroah-Hartman:
+  update gentoo rule file.
+  Created cdrom_id program to make it easier to determine cdrom types
+  added cdrom_id to the build check
+  updated gentoo rule file to handle removable ide devices.
+  changed cdrom_id exports to be easier to understand and consistant with other _id programs.
+  fix klibc build issue in cdrom_id.c
+  Change the gentoo rules to use cdrom_id instead of cdsymlink.sh
+  changed location of gentoo helper apps to be /sbin instead of in scripts dir
+  tweak the gentoo rules some more.
+
+Kay Sievers:
+  add NETLINK define for the lazy distros
+  read sysfs attribute also from parent class device
+  switch some strlcpy's to memcpy
+  allow clean shutdown of udevd
+  add flag for reading of precompiled rules
+  update distro rules files
+  add SUSE rules
+  update SUSE rules
+  add firmware_helper to load firmware
+  more distro rules updates
+  update README
+  remove example rules and put the dev.d stuff into the run_directory folder
+  trivial text cleanups
+  update SUSE rules
+  split udev_util in several files
+  update SUSE rules
+  allow logging of all output from executed tools
+  add Usage: to udevmonitor and udevcontrol
+  move some logging to the info level
+
+Thierry Vignaud:
+  fix udevinfo output
+
+
+Summary of changes from v064 to v065
+============================================
+
+Greg Kroah-Hartman:
+  Added persistent name rules for block devices to gentoo rule file.
+  Added horrible (but fun) path_id script to extras.
+  Update gentoo rules file.
+
+Kay Sievers:
+  update release notes for next version
+  add udevmonitor, to debug netlink+udev events at the same time
+  allow RUN to send the environment to a local socket
+  fix GGC signed pointer warnings and switch volume_id to stdint
+
+
+Summary of changes from v063 to v064
+============================================
+
+Andre Masella:
+  volume_id: add OCFS (Oracle Cluster File System) support
+
+Hannes Reinecke:
+  usb_id: fix typo
+  add ID_BUS to *_id programs
+  create_floppy_devices: add tool to create floppy nodes based on sysfs info
+
+Kay Sievers:
+  move code to its own files
+  make SYSFS{} usable for all devices
+  add padding to rules structure
+  allow rules to have labels and skip to next label
+  thread unknown ENV{key} match as empty value
+
+
+Summary of changes from v062 to v063
+============================================
+
+Anton Farygin:
+  fix typo in GROUP value application
+
+Greg Kroah-Hartman:
+  add 'make tests' as I'm always typing that one wrong...
+  Really commit the udev_run_devd changes...
+  Fixed udev_run_devd to run the /etc/dev.d/DEVNAME/ files too
+  fix position of raw rules in gentoo config file
+
+Hannes Reinecke:
+  dasd_id: add s390 disk-label prober
+  fix usb_id and let scsi_id ignore "illegal request"
+
+Kay Sievers:
+  volume_id: remove s390 dasd handling, it is dasd_id now
+  trivial fixes for *_id programs
+  IMPORT: add {parent} to import the persistent data of the parent device
+  allow multiple values to be matched with KEY=="value1|value2"
+  udevd: set incoming socket buffer SO_RCVBUF to maximum
+  remember mapped rules state
+  ata_id: check for empty serial number
+  compile dasd only on s390
+
+Ville Skyttä:
+  correct default mode documentation in udev
+
+
+Summary of changes from v061 to v062
+============================================
+
+Kay Sievers:
+  fix symlink values separated by multiple spaces
+  update RELEASE-NOTES
+  fix typo in group assignment
+  fix default-name handling and NAME="" rules
+  add WAIT_FOR_SYSFS key to loop until a file in sysfs arrives
+  fix unquoted strings in udevinitsend
+
+Summary of changes from v060 to v061
+============================================
+
+Greg Kroah-Hartman:
+  Sync up the Debian rules files
+  fix cdrom symlink problem in gentoo rules
+  Fix ChangeLog titles
+
+Kay Sievers:
+  update RELEASE-NOTES
+  we want to provide OPTFLAGS
+  rename ALARM_TIMEOUT to UDEV_ALARM_TIMEOUT
+  udevd: optimize env-key parsing
+  don't resolve OWNER, GROUP on precompile if string contains %, $
+  set default device node to /dev
+  create udevdb files only if somehting interesting happened
+  pack parsed rules list
+  replace useless defines by inline text
+  move rule matches to function
+  add usb_id program to generate usb-storage device identifiers
+  add IEEE1394 rules to the gentoo rule file
+  fake also kernel-name if we renamed a netif
+  allow OPTIONS to be recognized for /sys/modules /sys/devices events
+  switch gentoo rules to new operators
+
+
+Summary of changes from v059 to v060
+============================================
+
+Greg Kroah-Hartman:
+  Fix the gentoo udev rules to allow the box to boot properly
+
+Gustavo Zacarias:
+  Udev doesn't properly build with $CROSS
+
+Kay Sievers:
+  Keep udevstart from skipping devices without a 'dev' file
+
+Marco d'Itri:
+  #define NETLINK_KOBJECT_UEVENT
+
+
+Summary of changes from v058 to v059
+============================================
+
+Greg Kroah-Hartman:
+  Update the gentoo rule file
+  Fix udevinfo for empty sysfs directories
+  Fix makefile to allow 'make release' to work with git
+
+Hannes Reinecke:
+  udev: fix netdev RUN handling
+  udevcontrol: fix exit code
+
+Kay Sievers:
+  prepare RELEASE-NOTES
+  add ID_TYPE to the id probers
+  add -x to scsi_id to export the queried values in env format
+  store the imported device information in the udevdb
+  rename udev_volume_id to vol_id and add --export option
+  add ata_id to read serial numbers from ATA drives
+  IMPORT allow to import program returned keys into the env
+  unify execute_command() and execute_program()
+  IMPORT=<file> allow to import a shell-var style config-file
+  allow rules to be compiled to one binary file
+  fix the fix and change the file to wait for to the "bus" link
+  fix udevstart and let all events trvel trough udev
+  prepare for module loading rules and add MODALIAS key
+  remove device node, when type block/char has changed
+  Makefile: remove dev.d/ hotplug.d/ from install target
+  udevcontrol: add max_childs command
+  udevd: control log-priority of the running daemon with udevcontrol
+  udeveventrecorder: add small program that writes an event to disk
+  klibc: add missing files
+  udevinitsend: handle replay messages correctly
+  udev man page: add operators
+  udevd: allow starting of udevd with stopped exec-queue
+  klibc: version 1.0.14
+  udev: handle all events - not only class and block devices
+  volume_id: use udev-provided log-level
+  udev: clear lists if a new value is assigned
+  udev: move dev.d/ handling to external helper
+  udev: allow final assignments :=
+  udevd: improve timeout handling
+  Makefile: fix DESTDIR
+  udevd: add initsend
+  udevd: add udevcontrol
+  udevd: listen for netlink events
+
+Stefan Schweizer:
+  Dialout group fix for capi devices in the gentoo rules file
+
+Summary of changes from v057 to v058
+============================================
+
+Daniel Drake:
+  o Writing udev rules docs update
+
+Darren Salt:
+  o update cdsymlinks to latest version
+
+Greg Kroah-Hartman:
+  o remove detach_state files from the sysfs test tree
+  o Update permissions on test scripts so they will run properly now
+  o hopefully fix up the symlinks in the test directory
+  o Removed klibc/klibc.spec as it is autogenerated
+  o Added symlinks thanks to Kay's script and git hacking
+  o add Red Hat/Fedora html documenation
+  o Update Red Hat default udev rules
+
+Kay Sievers:
+  o selinux: fix handling during creation of symlinks
+  o Fedora udev.rules update
+  o libsysfs: version 2.0
+  o klibc: version 1.0.7
+
+Masanao Igarashi:
+  o Fix libsysfs issue with relying on the detach_state file to be
+
+Summary of changes from v056 to v057
+============================================
+
+<tklauser:access.unizh.ch>:
+  o fix stupid all_partitions bug
+
+Kay Sievers:
+  o add test for make -j4 to build-check
+  o klibc: version 1.0.6
+  o update Debian rules
+  o apply default permissions only for devices that will need it
+  o adapt RELEASE-NOTES
+  o udev_volume_id: fix endianess macros
+  o udev-test.pl: add test for DEVNAME export to RUN environment
+  o update the man page to reflect the recent changes
+  o export DEVNAME to RUN-key executed programs
+  o fix make -j4 and the local klibc-install
+  o update RELEASE-NOTES
+  o add RUN key to be able to run rule based notification
+  o fix udevtest to print the error if logging is disabled
+  o move execute_program to utils + add action to init_device
+  o correct correction for error path for PROGRAM execution
+  o correct error path for PROGRAM execution
+  o klibc: version 1.0.5
+  o check for strlen()==0 before accessing strlen()-1
+  o allow to match against empty key values
+  o read %s{}-sysfs values at any device in the chain
+  o udev_rules.c: don't change sysfs_device while walking up the device chain
+  o klibc: strlcpy/strlcat - don't alter destination if size == 0
+  o fix klibc's broken strlcpy/strlcat
+  o udevinfo: print SYSFS attribute the same way we match it
+  o remove untrusted chars read from sysfs-values or returned by PROGRAM
+  o udevinfo: print errors to stderr instead of stdout
+  o klibc: version 1.0.4
+  o support log-priority levels in udev.conf
+  o test-suite: remove UDEV_TEST, it's not needed anymore
+  o libsysfs: remove trailing slash on SYSFS_PATH override
+
+
+Summary of changes from v055 to v056
+============================================
+
+<tklauser:access.unizh.ch>:
+  o fix header paths in udev_libc_wrapper.c
+
+Kay Sievers:
+  o udev-test.pl: use more common user/group names
+  o klibc: remove SCCS directories from the temporary klibc install
+  o udev-test.pl: add a test where the group cannot be found in /etc/passwd
+  o udev-test.pl: add check for textual uid/gid
+  o fix bad typo that prevents the GROUP to be applied
+  o udevd: don't delay events with TIMEOUT in the environment
+  o klibc: use klcc wrapper instead of our own Makefile
+  o change call_foreach_file to return a list
+
+
+Summary of changes from v054 to v055
+============================================
+
+<jkluebs:luebsphoto.com>:
+  o This patch causes the remove handler to check that each symlink actually points to the correct devnode and skip it if it does not.
+
+<pebenito:gentoo.org>:
+  o udev selinux fix
+
+<tklauser:access.unizh.ch>:
+  o The following patch fixes some warnings when compiling volume_id from udev with the -Wall compiler flag. Define _GNU_SOURCE for strnlen() and correct the path to logging.h
+  o The following patch fixes a warning when compiling chassis_id from udev with the -Wall compiler flag. There are too much conversions in the format string of sscanf(). One %d can be dropped.
+
+Greg Kroah-Hartman:
+  o fix raid rules
+  o added frugalware udev ruleset
+  o merge selinux and Kay's symlink fixes together
+
+Hannes Reinecke:
+  o volume_id: Fix label/uuid reading for reiserfs
+
+Kay Sievers:
+  o add udevstart to the RELEASE-NOTES
+  o volume_id: version 43
+  o clarify the shortcomings of %e
+  o correct rule match for devices without a physical device
+  o remove unneeded code, libsysfs does this for us
+  o add final release note
+  o add ENV{} key to match agains environment variables
+  o simplify sysfs_pair handling
+  o add a test and simplify debug statement
+  o support =, ==, !=, += for the key match and assignment
+  o add OPTION="last_rule" to skip any later rule
+  o rename namedev_dev to udev_rule
+  o correct enum device_type
+  o remove udevstart on make clean
+  o volume_id: version 42
+  o volume_id: version 41
+  o remove unneeded include
+  o The path to dlist.h is not correct
+  o udevinfo -d: use '=' as separator, cause ':' may be a part of the devpath
+  o klibc: version 1.0.3
+  o add RELEASE-NOTES file
+  o test suite: move "driver" link to physical device
+  o remove PLACE key match
+  o don't lookup "root" in the userdb
+  o fix ia64 compile
+  o fix segfaulting udev while DRIVER matching
+  o cleanup list.h
+  o klibc: version 0.214
+  o rename device_list->list to device_list->node
+  o replace strncpy()/strncat() by strlcpy()/strlcat()
+  o split udev and udevstart
+  o udev_volume_id: version 39
+  o rename LOG to USE_LOG in all places
+  o remove Makefile magic for klibc integration
+  o klibc_fixups: remove no longer needed stuff
+  o udev_volume_id: volume_id v38
+  o use numeric owner/group as default values to avoid parsing userdb
+  o fix up segfaulting binaries with new klibc
+  o udevinfo -d: speed-up device dump
+  o klibc: version 0.211
+  o klibc_fixups: remove unneeded stuff
+  o replace weird defines by real code
+  o udev-test.pl: remove useless tests
+  o allow unlimitied count of symlinks
+  o unmap db-file after use
+  o remove typedef for call_foreach_file() handler function
+  o correct udev_init_device
+  o rename attributes to options
+  o kill stupid gcc4 warning
+  o trivial clenaup of namedev code
+  o klibc: check for gcc4
+  o klibc: update v0.205
+
+Thierry Vignaud:
+  o gentoo rule update for raid devices
+
+
+Summary of changes from v053 to v054
+============================================
+
+<tklauser:access.unizh.ch>:
+  o udev_volume_id: add Reiser4 support
+
+Kay Sievers:
+  o namedev: skip backslashes only if followed by newline
+  o wait_for_sysfs: add joydev
+  o udevinfo: print devpath -> node relationship for all devices
+  o trivial rename of some variables
+  o klibc v0.199
+  o big libsysfs diet (pre 2.0 version)
+  o udev_volume_id: volume_id v35
+  o add "serio" to bus list
+  o determine device type in udev_init_device()
+  o move kernel name/number evaluation into udev_init_device()
+  o detect NAME="" as ignore_device rule
+  o trivial namedev cleanup
+  o cleanup db functions
+  o clean up match_place()
+  o switch device type to enum
+  o switch major/minor to dev_t
+  o remove the device node only if the major/minor number matches
+  o libsysfs: work around a klibc bug
+  o introduce OPTIONS=ignore_device, ignore_remove, all_partitions" key
+  o namedev: execute PROGRAM only once and not possibly for every physical device
+
+Patrick Mansfield:
+  o update scsi_id to work with libsysfs changes
+
+
+Summary of changes from v052 to v053
+============================================
+
+Greg Kroah-Hartman:
+  o fix gentoo fb permission issue
+  o allow simple-build-check.sh to go faster if MAKEOPTS is set
+  o make the release tarballs have writable files in them
+  o remove gentoo permission file as it's not valid anymore
+
+Kay Sievers:
+  o fix special file mode mask for temporary device node
+  o udevstart: simplify "dev" file searching
+  o udev_volume_id: remove temporary node creation and parent handling
+  o add %P modifier to query the node name of the parent device
+  o udev_volume_id: remove __packed__ from dasd structure as it does not work
+  o create /block/*/range count of partitons for all_partitions
+
+Patrick Mansfield:
+  o scsi_id changes for use with udev %N and %p
+
+
+Summary of changes from v051 to v052
+============================================
+
+<md:linux.it>:
+  o debian: update rules files
+  o raid-devfs.sh: devfs names for hardware RAID controllers
+  o scsi_id: when udevstart is started, /tmp is not writeable
+  o cdsymlinks.sh: trivial fix, the variable is initialized to '', not 0
+
+<sschweizer:gmail.com>:
+  o gentoo/udev.rules: add default permissions for sound devices
+
+Greg Kroah-Hartman:
+  o fix example comment in ide-devfs.sh
+  o Add infiniband to gentoo rules
+  o Another gentoo fix, adding dvb support
+  o Fix gentoo bug #76056 (fb device group permissions.)
+  o Fix gentoo bug #81102, device nodes for the pktcdvd device
+
+Kay Sievers:
+  o provide temporary device node for callouts to access the device
+  o udev_volume_id: fix dasd disklabel reading with -l option
+  o udev_volume_id: volume_id version 034
+  o udev_volume_id: rename probe_ibm into probe_dasd
+  o udev_volume_id: volume_id version 032
+  o Makefile: add some more warnings and prepare for clean gcc4 compile
+  o Makefile: cleanup conditional config option sections
+  o fix -Wsign-compare warnings
+  o chassis_id: clean compilation and fix bad function parameter passing
+  o simple_build_check: make it possible to pass KERNEL_DIR
+  o selinux: cleanup udev integration
+
+Michael Buesch:
+  o trivial: remove _all_ trailing slashes with no_trailing_slash()
+  o trivial: fix signedness
+  o namdev: allow symlink-only rules to specify node permissions
+  o udevd: fix valgrind warning
+
+
+Summary of changes from v050 to v051
+============================================
+
+<roland:digitalvampire.org>:
+  o This fixes a silly mistake in how udevinfo prints the major and minor numbers (right now it prints the minor next to "MAJOR" and the major next to "MINOR" ;)
+
+<tklauser:access.unizh.chbk>:
+  o I tried to compile udev 050plus with the GCC 4.0 snapshot 200412119 and got two errors about possibly uninitialized structs, so I fixed this. 
+
+Christian Bornträger:
+  o udev_volume_id: fix -d option
+
+Greg Kroah-Hartman:
+  o gentoo fb permission fix
+  o fix gcc 2.96 issue in libsysfs
+  o remove the lfs startup script on request of the author
+  o clean up the aoe char device rules, and delete the block one as it's not needed
+  o add aoe block and char device rules to the gentoo rule file
+  o fix udev_volume_id build error
+
+Hannes Reinecke:
+  o rearrange link order in Makefile
+
+Kay Sievers:
+  o udev_volume_id: new version of volume_id
+  o klibc: update to version 0.198
+  o udev_volume_id: fix FAT label reading
+  o klibc: update to version 0.196
+  o udevd: throttle the forking of processes
+  o udevd: add possible initialization of expected_seqnum
+  o udevd: it's obviously not the brightest idea to exit a device node manager if it doesn't find /dev/null
+  o udevd: separate socket handling to prepare for other event sources
+  o udevd: support -d switch to become a daemon
+  o udev_volume_id: version 27
+  o udevd: split up message receiving an queueing
+  o remove useless warning if udev.conf contains keys not read by udev itself
+  o improve event sequence serialization
+  o remove udevsend syslog noise on udevd startup
+  o limit the initial timeout of the udevd event handling
+  o correct detection of hotplug.d/ udevsend loop
+  o correct log statement
+  o remove default_* permissions from udev.conf file
+  o update Fedora config files and add some more tests
+  o allow permissions only rules
+  o add SUBSYSTEM rule to catch all block devices and apply the disk permissions
+  o update Fedora config files
+  o handle renamed network interfaces properly if we manage hotplug.d/
+  o allow multiline rules by backslash at the end of the line
+  o add OnStream tape drive rules
+  o simplify rules file by setting default mode to 0660
+  o simplify permission application
+  o I broke the extras/ again. Add simple build test script now
+  o Merge vrfy.org:/home/kay/src/udev into vrfy.org:/home/kay/src/udev.kay
+  o initial merge of fedora udev.permissions into udev.rules
+  o remove permissions file mentioning from the udev man page
+  o fix some typos in gentoo's udev.rules introduced by the merge
+
+Michael Buesch:
+  o The attached patch fixes the code path if namedev_name_device() fails
+
+Summary of changes from v049 to v050
+============================================
+
+<harald:redhat.com>:
+  o selinux patch
+
+<tklauser:access.unizh.ch>:
+  o I made some more changes to the manpage of udev including
+
+Kay Sievers:
+  o update libsysfs to CVS version and fix segfaulting attribute reading
+  o klibc supports LOG_PID now, so remove our own implementation
+  o avoid building klibc test programs and pass SUBDIRS= to klibc clean
+
+
+Summary of changes from v048 to v049
+============================================
+
+Greg Kroah-Hartman:
+  o fix 'make clean' error in klibc
+
+Kay Sievers:
+  o update klibc to 0.194
+  o export DEVNAME regardless of the state of udev_dev_d
+  o add class specific files for class/spi_transport and class/spi_host
+  o udevd-test.pl: remove wrong date calculation
+  o check earlier if we should run as udevstart
+  o remove double initialization
+  o include missing header to udevtest.c
+  o add -V option to udev to print the version number
+  o prevent udev node creatinon for "class" registration
+  o udevd: serialization of the event sequence of a chain of devices
+  o add a class/fc_host file to the list of what to wait for
+  o udev_volume_id: links sysfs.a instead of all objects
+
+Martin Schlemmer:
+  o remove leftover from udevinfo's -d option
+
+
+Summary of changes from v047 to v048
+============================================
+
+Greg Kroah-Hartman:
+  o fix udev_volume_id so it will now build properly
+  o fix scsi_id build errors due to changes in the main udev makefile
+
+
+Summary of changes from v046 to v047
+============================================
+
+<klauser:access.unizh.ch>:
+  o Various typos and other litte errors in udev.8.in
+
+<sjoerd:spring.luon.net>:
+  o DEVNAME on device removal
+
+<sschweizer:gmail.com>:
+  o Allow GROUP to have modifiers in it
+
+Greg Kroah-Hartman:
+  o add more debian rules files
+  o move distro specific config files into their own directories
+  o update debian rules files
+  o added asterix rules to the gentoo file
+  o use udevstart for udev.init.* files
+  o delete a bunch of files no longer needed
+  o fix gentoo scsi cdrom rule
+  o Fix the multithreaded build again
+  o merge
+  o comment out ability to run udev-test.pl with valgrind
+  o fix spurious valgrind warning in udev
+  o fix udevinfo '-q path' option as it was not working
+  o merge
+  o fix parallel build error
+
+Kay Sievers:
+  o update Fedora dev.d/ example and remove unused conf.d/ directory
+  o don't install distribution specific init script on "make install"
+  o restore OWNER/GROUP assignment in rule coming from RESULT
+  o make gcov compile scripts working with recent gcc
+  o fix udev-test/udev-test.pl to work with again
+  o add net/atml and class/ppdev to the wait_for_sysfs exception list
+  o add net/nlv* devices to the exception list
+  o add "pcmcia" and "fc_transport" to the wait_for_sysfs lists
+  o remove unused timestamp field
+  o simplify permission handling
+  o handle /etc/hotplug.d/ only if the event comes from udevd
+  o trivial cleanups and change some comments
+  o remove unused variables
+  o udevsend/udevd handle events without a subsystem
+  o use blacklist on device "remove" and remove dev.d/ call code duplication
+  o update the man pages and correct Usage: hints
+  o don't call the hotplug scripts with a test run
+  o don't call dev.d/ scripts twice, if directory = subsystem
+  o remove archive file if we changed something
+  o link archive insted of objects
+  o rename udev_lib to udev_utils and dev_d to udev_multiplex
+  o handle whole hotplug event with udevd/udev
+  o integrate wait_for_sysfs in udev
+  o make the searched multiplex directories conditionally
+  o add MANAGED_EVENT to the forked udev environment
+  o export DEVNAME on remove event
+  o export udev_log flag to the environment
+  o remove my test code
+  o add support for /devices-devices without any file to wait for
+  o Patch from Alex Riesen <raa.lkml@gmail.com>
+  o add a bunch of busses to the list of what to wait for
+  o close connection to syslog in forked udevd child
+  o udevd exit path cleanup
+  o fix network device naming bug
+
+
+Summary of changes from v045 to v046
+============================================
+
+Greg Kroah-Hartman:
+  o make spotless for releases
+
+Kay Sievers:
+  o Don't try to print major/minor for devices without a dev file
+  o remove get_device_type and merge that into udev_set_values()
+  o prevent udevd crash if DEVPATH is not set
+  o add ippp and bcrypt to the exception lists of wait_for_sysfs
+  o let klibc add the trailing newline to syslog conditionally
+  o disable logging for udevstart
+  o add NAME{ignore_remove} attribute
+  o remove historical SYSFS_attr="value" format
+  o don't wait for sysfs if the kernel(2.6.10-rc2) tells us what not to expect
+  o change key names in udevinfo sysfs walk to match the kernel
+  o support DRIVER as a rule key
+  o support SUBSYSTEM as a rule key
+  o rename udevdb* to udev_db*
+  o Make dev.d/ handling a separate processing stage
+  o make the udev object available to more processing stages
+  o remove udev_lib dependency from udevsend, which makes it smaller
+  o add ACTION to udev object to expose it to the whole process
+  o make udevinfo's -r option also workimg for symlink queries
+  o let udev act as udevstart if argv[1] == "udevstart"
+  o improve udevinfo sysfs info walk
+  o add sysfs info walk to udevinfo
+  o pass the whole event environment to udevd
+  o replace tdb database by simple lockless file database
+
+
+Summary of changes from v044 to v045
+============================================
+
+Martin Schlemmer:
+  o Some updates for Gentoo's udev rules
+
+
+Summary of changes from v043 to v044
+============================================
+
+Greg Kroah-Hartman:
+  o add cdsymlinks.sh support to gentoo rules file
+  o fix gentoo legacy tty rule
+  o remove 'sudo' usage from the Makefile
+  o make udev-test.pl test for root permissions before running
+
+Kay Sievers:
+  o reduce syslog noise of udevsend if multiple instances try to start udevd
+  o add i2c-dev to the list of devices without a bus
+
+
+Summary of changes from v042 to v043
+============================================
+
+Greg Kroah-Hartman:
+  o add test target to makefile
+  o add dumb script to show all sysfs devices in the system
+
+Kay Sievers:
+  o Shut up wait_for_sysfs class/net failure messages, as it's not possible to
+    get that right for all net devices. Kernels later than 2.6.10-rc1 will
+    handle that by carrying the neccessary information in the hotplug event.  
+  o wait() for specific pid to return from fork()
+  o Don't use any syslog() in signal handler, cause it may deadlock
+  o Add support for highpoint ataraid to volume_id to suppress label reading on raid set members.
+  o Add a bunch of devices without "device" symlinks
+  o Exit, if udevtest cannot open the device (segfault)
+  o Patches from Harald Hoyer <harald@redhat.com>
+  o Apply the default permissions even if we found a entry in the permissions
+    file. Correct one test, as the default is applied correctly now and the
+    mode will no longer be 0000.
+  o add test for format chars in multiple symlinks to replace
+  o Add net/vmnet and class/zaptel to the list of devices without physical device
+
+
+Summary of changes from v040 to v042
+============================================
+
+Greg Kroah-Hartman:
+  o add inotify to the rules for gentoo
+
+Kay Sievers:
+  o skip waiting for device if we get a bad event for class creation and not for a device underneath it
+  o add net/pan and net/bnep handling
+  o switch wait for bus_file to stat() instead of open() add net/tun device handling add ieee1394 device handling
+  o Remove the last klibc specific line from the main udev code Move _KLIBC_HAS_ARCH_SIG_ATOMIC_T to the fixup file which is automatically included by the Makefile is we build with klibc
+  o ignore *.rej files from failed patches
+  o update to libsysfs 1.2.0 and add some stuff klib_fixup Now we have only the sysfs.h file different from the upstream version to map our dbg() macro.
+  o improve klibc fixup integration
+  o cleanup udevd/udevstart
+  o expose sysfs functions for sharing it
+
+
+Summary of changes from v039 to v040
+============================================
+
+<jk:blackdown.de>:
+  o wait_for_sysfs update for dm devices
+
+Greg Kroah-Hartman:
+  o sparse cleanups on the tree
+  o fix stupid cut-and-paste error for msr devices on gentoo boxes
+  o add *~ to bk ignore list
+  o delete udevruler.c as per Kay's request
+  o fix up the wait_for_sysfs_test script a bit
+
+Kay Sievers:
+  o fix debug in volume id / fix clashing global var name
+  o volume_id fix
+  o $local user
+  o cleanup netif handling and netif-dev.d/ events
+  o big cleanup of internal udev api
+  o don't wait for dummy devices
+  o close the syslog
+  o Fix ppp net devices in wait_for_sysfs
+  o Fix wait_for_sysfs messages (more debugging info)
+
+
+Summary of changes from v038 to v039
+============================================
+
+Greg Kroah-Hartman:
+  o Hopefully fix the vcs issue in wait_for_sysfs
+  o take out & from wait_for_sysfs_test that I previously missed
+  o add very nice cdsymlinks scripts
+  o add some helper scripts for dvb and input devices
+  o add debian config files
+  o let the extras/ programs build "pretty" also
+  o tweak the ccdv program to handle files in subdirectories being built
+  o crap, I messed up the 'sed' instances pretty badly, this fixes the config and man page mess
+  o fix broken 'make -j5' functionality
+
+Kay Sievers:
+  o swich attribute open() to simple stat()
+  o wait_for_sysfs update for /class/firmware and /class/net/irda devices
+  o fix unusual sysfs behavior for pcmcia_socket
+  o remove sleeps from udev as it is external now
+  o delete udevruler?
+  o Makefile fix
+
+Patrick Mansfield:
+  o update udev to scsi_id 0.7
+  o pass SYSFS setting down for extras builds
+  o move assignments past local variables
+
+
+Summary of changes from v037 to v038
+============================================
+
+<andrew.patterson:hp.com>:
+  o Re: Problem parsing %s in udev rules
+
+Greg Kroah-Hartman:
+  o fix up error in building extras and libsysfs
+
+Summary of changes from v036 to v037
+============================================
+
+<md:linux.it>:
+  o small udev patch
+
+Greg Kroah-Hartman:
+  o fix compilation warning in tdb log message
+  o Fix build error with klibc due to recent changes
+  o merge
+  o add wait_for_sysfs test script to the tarball to help people debug their boxes
+  o add ipsec to wait_for_sysfs ignore list
+  o added ccdv to bk ignore list
+  o a few more Makefile tweaks for the quiet feature
+  o Make the build silent, thanks to a helper program from ncftp
+  o rename files to have '_' instead of '-' in them
+  o change max time to wait in wait_for_sysfs to 10 seconds to hopefully handle some slow machines
+  o add support for class/raw/ to wait_for_sysfs
+  o fix up Makefile for wait_for_sysfs udev_version.h dependancy
+  o remove the debian specific file, as they don't want to share with the rest of the world :(
+
+Kay Sievers:
+  o prevent deadlocks on an corrupt udev database
+  o wait_for_sysfs_update
+
+Michael Buesch:
+  o fix asmlinkage
+  o fix incompatible pointer type warning
+
+
+Summary of changes from v035 to v036
+============================================
+
+Greg Kroah-Hartman:
+  o add the error number to the error message in wait_for_sysfs to help out in debugging problems
+
+Summary of changes from v034 to v035
+============================================
+
+Greg Kroah-Hartman:
+  o added ieee1394 support to wait_for_sysfs
+  o update wait_for_sysfs with a bunch more devices thanks to user reports
+
+Summary of changes from v033 to v034
+============================================
+
+Kay Sievers:
+  o wait_for_sysfs bluetooth class update
+
+Greg Kroah-Hartman:
+  o add comment in wait_for_sysfs to explain the structure better
+  o Revert previous dev_d.c change, it's not what is causing HAL problems
+  o hm, somethings odd with DEVPATH, see if this fixes it
+  o 33_bk mark for the makefile
+  o wait_for_sysfs: clean up the logic for the list of devices that we do not expect device symlinks for
+  o get rid of annoying extra lines in the syslog for some libsysfs debug messages
+  o added support for i2c devices in wait_for_sysfs.c
+  o add support for i2c-adapter devices to wait_for_sysfs.c
+
+Summary of changes from v032 to v033
+============================================
+
+<harald:redhat.com>:
+  o udev close on exec
+  o some cleanups and security fixes
+  o some cleanups and security fixes
+  o selinux for udev
+  o cleanup PATCH for extras/chassis_id/Makefile
+
+<kpfleming:backtobasicsmgmt.com>:
+  o respect prefix= setting in built udev.conf (updated)
+
+Greg Kroah-Hartman:
+  o add support for usb interfaces to wait_for_sysfs to keep it quiet
+  o enable native tdb spinlocks on i386 platforms
+  o delete extras/multipath-tools as per the author's request
+  o be paranoid in dev_d.c
+  o add USE_SELINUX to README documentation so people have a chance to see what is going on
+  o update the selinux.h file to start to look sane
+  o update bk ignore list for the wait_for_sysfs binary
+  o kdetv wants to see device nodes in /dev
+  o update comments in scsi-devfs.sh
+  o fix up Makefiles to get the klibc build working properly
+  o update bk ignore list for new klibc generated files
+  o oops forgot to add the new klibc/include directory
+  o update klibc to version 0.181
+
+Kay Sievers:
+  o fix problems with dev.d and udevstart
+  o wait_for_sysfs debug cleanup
+  o fix problems using scsi_id with udevstart
+  o update volume_id
+  o finally solve the bad sysfs-timing for all of us
+  o volume-id build fix and update
+  o switch udev's seqnum to u64
+  o add enum tests
+  o fix udev segfaults with bad permissions file
+
+Patrick Mansfield:
+  o update udev to include scsi_id 0.6
+
+
+Summary of changes from v031 to v032
+============================================
+
+<harald:redhat.com>:
+  o udev parse bug
+
+Kay Sievers:
+  o handle only block and class devices
+  o fix udevstart badly broken in udev 031
+
+
+Summary of changes from v030 to v031
+============================================
+
+<arun:codemovers.org>:
+  o udev - read long lines from config files overflow fix
+
+<ballarin.marc:gmx.de>:
+  o Update the FAQ with info about hardlink security
+
+<david:fubar.dk>:
+  o compatibility symlinks for udev
+
+David Weinehall:
+  o Minor POSIX-fixes for udev
+
+Greg Kroah-Hartman:
+  o add symlink for video rule
+  o add a "first" list to udevstart and make it contain the class/mem/ devices
+  o fix compiler warning in udevtest.c
+  o Fix old-style pty breakage in rules file for tty device
+  o add rules for i386 cpu devices
+  o add permission for legotower usb devices
+
+Kay Sievers:
+  o Fix naming ethernet devices in udevstart
+  o update udev_volume_id
+  o let /sbin/hotplug execute udev earlier
+  o pass SEQNUM trough udevd
+  o fix manpages based on esr's spambot
+
+Martin Schlemmer:
+  o add microcode rule to permissions.gentoo file
+
+Michael Buesch:
+  o Try to provide a bit of security for hardlinks to /dev entries
+
+Olaf Hering:
+  o udevsend depends on udev_lib.o
+
+Tom Rini:
+  o fix UDEV_NO_SLEEP
+  o clean up start_udev a bit
+  o Make udev/udevstart be one binary
+  o Add 'asmlinkage' to udev-030
+
+
+Summary of changes from v029 to v030
+============================================
+
+Greg Kroah-Hartman:
+  o fix stupid off-by-one bug that caused udevstart to die on x86-64 boxes
+
+
+Summary of changes from v028 to v029
+============================================
+
+Greg Kroah-Hartman:
+  o add permission rule for jogdial device
+  o fix dumb bug I added to udevstart
+  o make a "last list" of devices for udevstart to operate on last
+  o fix permission problem with input event and ts nodes for gentoo
+  o change default perms of misc/rtc to be readable by anyone
+
+Olaf Hering:
+  o allow NAME_SIZE > SYSFS_PATH_MAX
+
+
+Summary of changes from v027 to v028
+============================================
+
+<atul.sabharwal:intel.com>:
+  o Patch for chassis_id exras module
+
+Daniel Drake:
+  o Writing udev rules doc update
+
+Greg Kroah-Hartman:
+  o clean up block whitelist search logic a bit
+  o reverse order of scanning of udevstart to look at class before block
+
+Kay Sievers:
+  o update udev_volume_id
+
+Leann Ogasawara:
+  o udevstart performance increase
+
+Patrick Mansfield:
+  o update udev scsi_id to scsi_id 0.5
+
+
+Summary of changes from v026 to v027
+============================================
+
+<fork0:users.sf.net>:
+  o fix handle leak in udev_lib.c
+
+Greg Kroah-Hartman:
+  o tweak the gentoo default permission rules as they are wrong for tty and misc devices
+
+
+Summary of changes from v025 to v026
+============================================
+
+Arnd Bergmann:
+  o udev rpm fix
+
+Greg Kroah-Hartman:
+  o add test for ! in partition name
+  o 025_bk mark
+  o Update to version 117 of klibc (from version 108)
+  o add volume_id ignore rule for bk
+  o add volume_id support to the udev.spec file
+  o remove dbus and selinux stuff from the udev.spec file
+  o delete udev_selinux as it doesn't work properly and is the wrong way to do it
+  o Deleted the udev_dbus extra as it didn't really work properly and HAL has a real solution now
+  o add udev.permissions.slackware file
+  o udevstart: close open directories
+
+Kay Sievers:
+  o fix udevd zombies
+  o catchup with recent klibc
+  o Re: udevsend fallback
+  o udev_volume_id update
+  o udev callout for reading filesystem labels
+  o udev callout for reading filesystem labels
+  o udev default config layout changes
+
+Leann Ogasawara:
+  o evaluate getenv() return value for udev_config.c
+
+Summary of changes from v024 to v025
+============================================
+
+<md:linux.it>:
+  o devfs.sh-ide-floppy
+
+<sjoerd:spring.luon.net>:
+  o DEVNODE -> DEVNAME transition fixes
+
+Daniel Drake:
+  o Update writing udev rules docs
+
+Greg Kroah-Hartman:
+  o make dev.d call each directory in the directory chain of the device name, instead of just the whole name
+  o add devd_test script
+  o add more permissions based on SuSE's recommendations
+  o added rules for tun and raw devices
+  o add udev conf.d file
+  o Switch the default config to point to a directory for the rules and permission files
+  o update the Red Hat .dev files to work on other distros
+  o add dbus.dev, pam_console.dev and selinux.dev files for /etc/dev.d/default/ usage
+  o add hints for red hat users from Leann Ogasawara <ogasawara@osdl.org>
+  o add scripts to run gcov for udev from Leann Ogasawara <ogasawara@osdl.org>
+  o change permissions on udevd test scripts
+  o Fix build process for users who have LC_ALL set to a non-english language
+  o Added expanded tests to the test framework from Leann Ogasawara <ogasawara@osdl.org>
+  o added execelent "writing udev rules" document from Daniel Drake <dan@reactivated.net>
+  o added rule to put USB printers in their proper places
+  o added rules for CAPI devices
+  o added a dev.d alsa script to help people out
+
+Kay Sievers:
+  o fix test regressions
+  o udev_selinux changes
+  o udevd test script
+  o udev_dbus changes
+  o fix devpath for netdev
+
+Leann Ogasawara:
+  o gcov for udev
+
+
+Summary of changes from v023 to v024
+============================================
+
+<atul.sabharwal:intel.com>:
+  o Add README for chassis_id
+  o Add chassis_id program to extras directory
+
+<chris_friesen:sympatico.ca>:
+  o udevd race conditions and performance,  assorted cleanups
+
+<hare:suse.de>:
+  o fix SEGV in libsysfs/dlist.c
+
+<maryedie:osdl.org>:
+  o add OSDL documentation for persistent naming
+
+<md:linux.it>:
+  o small ide-devfs.sh fix
+
+Greg Kroah-Hartman:
+  o remove compiler warning from udevd.c
+  o only generate udev.8 on the fly, not all other man pages
+  o update bk ignore list some more
+  o update bk ignore list
+  o switch to generate the man pages during the normal build, not during the install
+  o convert udev.8.in to use @udevdir@ macro for make install
+  o first step of making man pages dynamically generated
+  o add install and uninstall the etc/dev.d/net/hotplug.dev file to the Makefile
+  o tweak net_test a bit
+  o fix some segfaults when running udevtest for network devices
+  o make a net_test test script using udevtest
+  o handle the subsytem if provided in udevtest
+  o add hotplug.dev script to handle renamed network devices
+  o add a bunch of network class devices to the test sysfs tree
+  o add udevruler to the bk ignore list
+  o update RFC-dev.d docs due to DEVNODE to DEVNAME change
+  o clean up chassis_id coding style
+  o clean up the OSDL document formatting a bit
+  o add netlink rules to devfs and gentoo rules files
+  o added USB device rules to rules files
+  o clean up the gentoo rules file a bit more, adding dri rules
+  o fix up udev.rules to handle oss rules better
+  o 023_bk mark
+  o fix udev.spec file for where udevtest should be placed
+
+Kay Sievers:
+  o tweak node unlink handling
+  o switch udevd's msg_dump() to #define
+  o handle netdev in udevruler
+  o man page cleanup
+  o put config info in db for netdev
+  o increase udevd event timeout
+  o udevstart fix
+  o put netdev handling and dev.d/ in manpages
+  o DEVPATH for netdev
+  o netdev - udevdb+dev.d changes
+  o udevd race conditions and performance,  assorted cleanups - take 2
+  o udevinfo patch
+  o dev_d.c file sorting and cleanup
+  o apply all_partitions rule to main block device only
+
+
+Summary of changes from v022 to v023
+============================================
+
+Kay Sievers:
+  o hmm, handle net devices with udev?
+  o correct apply_format() for symlink only rules
+  o don't init namedev on remove
+  o first stupid try for a rule compose gui
+  o replace fgets() with mmap() and introduce udev_lib.[hc]
+  o make udevtest a real program :)
+
+Daniel E. F. Stekloff:
+  o udevinfo patch
+
+Greg Kroah-Hartman:
+  o create the /etc/dev.d/ directories in 'make install'
+  o actually have udev run files ending in .dev in the /etc/dev.d/ directory as documented
+  o added RFC-dev.d document detailing how /etc/dev.d/ works
+  o fixed up udev.spec to handle selinux stuff properly now
+  o remove USE_DBUS and USE_SELINUX flags from the README as they are no longer present
+  o remove selinux stuff from the main Makefile
+  o move udev_selinux into extras/selinux
+  o fix dbus build in the udev.spec file
+  o remove dbus stuff from main Makefile
+  o move udev_dbus to extras/dbus
+  o udev_dbus can now compile properly, but linnking is another story
+  o remove udev_dbus.h from Makefile
+  o first cut at standalone udev_selinux program
+  o remove selinux support from udev core as it's no longer needed
+  o first cut at standalone udev_dbus program
+  o add get_devnode() helper to udev_lib for udev_dbus program
+  o remove dbus code from core udev code as it's no longer needed to be there
+  o add /etc/dev.d/ support for udev add and remove events
+  o fix build error in namedev.c caused by previous patch
+  o 022_bk tag
+  o fix 'make spotless' to really do that in klibc
+  o add a question/answer about automounting usb devices to the FAQ
+  o mark scsi-devfs.sh as executable
+  o Increase the name size as requested by Richard Gooch <rgooch@ras.ucalgary.ca>
+  o fix udevtest to build properly after the big udev_lib change
+
+Olaf Hering:
+  o uninitialized variable for mknod and friend
+
+Richard Gooch:
+  o SCSI logical and physical names for udev
+
+Theodore Y. T'so:
+  o Trivial man page typo fixes to udev
+
+
+Summary of changes from v021 to v022
+============================================
+
+<ananth:in.ibm.com>:
+  o more Libsysfs updates
+  o Libsysfs updates
+
+<async:cc.gatech.edu>:
+  o fix HOWTO-udev_for_dev for udevdir
+
+Kay Sievers:
+  o udev-test.pl cleanup
+  o add dev node test to udev-test.pl
+  o add permission tests
+  o "symlink only" test
+  o callout part selector tweak
+  o cleanup callout fork
+  o allow to specify node permissions in the rule
+  o man page beauty
+  o put symlink only rules to the man page
+  o rename strn*() macros to strmax
+  o conditional remove of trailing sysfs whitespace
+  o clarify udevinfo text
+  o better fix for NAME="foo-%c{N}" gets a truncated name
+  o overall trivial trivial cleanup
+  o fix NAME="foo-%c{N}" gets a truncated name
+  o cleanup mult field string handling
+
+<ken:cgi101.com>:
+  o fix a type in docs/libsysfs.txt
+  o Added line to udev.permissions.redhat
+  o Include more examples in the docs area for gentoo and redhat
+
+<md:linux.it>:
+  o udevstart fixes
+
+Greg Kroah-Hartman:
+  o add big major tests to udev-test.pl
+  o add a test for a minor over 255
+  o udev-test.pl: print out major:minor and perm test "ok" if is ok
+  o make perm and major:minor test errors be reported properly
+  o remove extra ; in namedev_parse.c
+  o Added multipath-tools 0.1.1 release
+  o deleted current extras/multipath directory
+  o 021_bk mark
+  o fix the build for older versions of gcc
+
+Hanna V. Linder:
+  o Small fix to remove extra "will" in man page
+
+Olaf Hering:
+  o make spotless
+  o udev* segfaults with new klibc
+
+Patrick Mansfield:
+  o add tests for NAME="foo-%c{N}"
+
+Summary of changes from v020 to v021
+============================================
+
+Kay Sievers:
+  o install udevinfo in /usr/bin
+  o blacklist pcmcia_socket
+
+Greg Kroah-Hartman:
+  o fix udev.spec to find udevinfo now that it has moved to /usr/bin
+  o Fix another problem with Makefile installing initscript
+  o fix the Makefile to install the init script into the proper directory
+  o make spec file turn off selinux support by default
+
+
+Summary of changes from v019 to v020
+============================================
+
+<christophe.varoqui:free.fr>:
+  o multipath update
+
+Kay Sievers:
+  o man page udevstart
+  o cleanup udevstart
+  o bugfix for local user
+  o unlink bugfix
+  o TODO update
+  o clarify udevinfo device walk
+  o udevinfo symlink reverse query
+  o fix stroul endptr use
+  o add $local user spport for permissions
+  o udev - man page update
+  o udev - fix debug info for multiple rule file config
+  o udev - kill udevd on install
+  o udev - activate formt length attribute
+  o udev - safer sprintf() use
+
+<md:linux.it>:
+  o no error on enoent
+  o escape dashes in man pages
+  o remove usage of expr in ide-devfs.sh
+
+<rml:ximian.com>:
+  o automatically install correct initscript
+  o update documetation for $local
+
+Andrey Borzenkov:
+  o Add symlink only rules support
+
+Greg Kroah-Hartman:
+  o update the TODO list as we already have a devfs config file
+  o make start_udev use udevstart binary
+  o install udevstart
+  o Remove Debian permission files as the Debian maintainer doesn't seem to want to share :(
+  o update the Gentoo rules files
+  o Add Red Hat rules and permissions files
+  o add udevstart to the ignore list
+  o add udevstart program based on a old patch from Harald Hoyer <harald@redhat.com>
+  o unlink the file before we try to create it
+  o Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev
+
+
+Summary of changes from v018 to v019
+============================================
+
+Kay Sievers:
+  o TODO update
+  o udev - correct relative symlink
+  o udev - safer string handling - part four
+  o udev - safer string handling - part three
+  o udev - safer string handling - part two
+  o udev - man page update
+  o udev - safer string handling all over the place
+  o manpage update
+  o udev - allow all files in a directory as the config
+  o udev - simple klibc textual uid/gid handling
+
+Andrey Borzenkov:
+  o do not remove real .udev.tdb during RPM build
+
+Greg Kroah-Hartman:
+  o add new TODO item about local user permissions
+  o Add initial SELinux support for udev
+  o fix build for very old versions of make
+  o remove limit of the number of args passed to PROGRAM
+  o force udev to include the internal version of libsysfs and never the external one
+  o fix up libsysfs header file usage to fix bug reports from users that have sysfsutils installed already
+  o remove udevtest on 'make clean'
+  o remove udevd priority TODO item, as it's not needed at all
+
+Patrick Mansfield:
+  o update udev scsi_id to scsi_id 0.4
+
+
+Summary of changes from v017 to v018
+============================================
+
+<ext.devoteam.varoqui:sncf.fr>:
+  o [PATCH] symlink dm-[0-9]* rule
+  o update extras/multipath
+
+<john-hotplug:fjellstad.org>:
+  o init.d debian patch
+
+Kay Sievers:
+  o udev - TODO update
+  o udev - add %s{filename} to man page
+  o udev - udevd/udevsend man page
+  o udev - switch callout part selector to {attribute}
+  o udev - switch SYSFS_file to SYSFS{file}
+  o udev - create all partitions of blockdevice
+  o allow SYSFS{file}
+  o Adding '%s' format specifier to NAME and SYMLINK
+
+Greg Kroah-Hartman:
+  o added some scsi_id files to the bk ignore file
+  o added scsi_id and some more documentation to the udev.spec file
+  o update udev.rules.gentoo with new config file format
+  o Update the Gentoo udev.rules and udev.permissions files
+  o Create a udev.rules.examples file to hold odd udev.rules
+  o add udevd priority issue to the TODO list
+  o more HOWTO cleanups
+  o add HOWTO detailing how to use udev to manage /dev
+  o mv libsysfs/libsysfs.h to libsysfs/sysfs/libsysfs.h to make it easier to use
+  o add start_udev init script
+  o add support for UDEV_NO_SLEEP env variable so Gentoo people will be happy
+  o start up udevd ourselves in the init script to give it some good priorities
+  o update the red hat init script to handle nodes that are not present
+  o add a "old style" SYSFS_attribute test to udev-test.pl
+  o Have udevsend report more info in debug mode
+  o Have udevd report it's version in debug mode
+  o fix up bug created for udevtest in previous partition creation patch
+  o update the udev.spec to add udevtest and make some more Red Hat suggested changes
+  o add ability to install udevtest to Makefile
+  o 017_bk mark
+  o Add another test to udev-test.pl and fix a bug when only running 1 test
+  o Fix bug where we did not use the "converted" kernel name if we had no rule
+
+Patrick Mansfield:
+  o udev use new libsysfs header file location
+  o udev add some ID tests
+
+
+Summary of changes from v016 to v017
+============================================
+
+<azarah:nosferatu.za.org>:
+  o make logging a config option
+
+<christophe.varoqui:free.fr>:
+  o more udev-016/extras/multipath
+  o more udev-016/extras/multipath
+  o update extras/multipath
+
+Kay Sievers:
+  o udev - keep private data out of the database?
+  o better credential patch
+  o udevd - client access authorization
+  o compile udevd with klibc
+  o udev - fix "ignore method"
+  o udev - fix cdrom symlink rule
+  o convert udevsend/udevd to DGRAM and single-threaded
+  o udevd - kill the lockfile
+  o udevd - fix socket path length
+  o udevd - switch socket path to abstract namespace
+  o udevd - allow to bypass sequence number
+  o include used function
+
+Greg Kroah-Hartman:
+  o add udev_log to the documentation
+  o fix offsetof() define in klibc
+  o add some .spec file changes from Red Hat
+  o update the init.d udev script based on a patch from Red Hat
+  o remove the .udev.tdb when installing or uninstalling to be safe
+  o remove the database at startup
+  o fix bug in permission handling
+  o update klibc to version .107
+  o update the bitkeeper ignore file list
+  o add udevtest program to build
+  o fix problem where usb devices can be either the main device or the interface
+  o more logging.h cleanups to be a bit more flexible
+  o stop using mode_t as different libcs define it in different ways :(
+  o remove some more KLIBC fixups that are no longer needed
+  o let udev-test.pl run an individual test if you ask it to
+  o Handle the '!' character that some block devices have
+  o add a block device with a ! in the name, and a test for this
+  o fix up 'make release' to use bk to build the export tree
+  o fix log option code so that it actually works for all udev programs
+  o finish syncing up with klibc
+  o sync with latest version of klibc (0.107)
+  o fix up Makefile dependancies for udev_version.h
+
+Patrick Mansfield:
+  o udev add wild card compare for ID
+  o udev kill extra bus_id compares in match_id
+
+
+Summary of changes from v015 to v016
+============================================
+
+<elkropac:students.zcu.cz>:
+  o get_dev_number() in extras/ide-devfs.sh
+
+<rrm3:rrm3.org>:
+  o FAQ udev.rules.devfs
+
+Greg Kroah-Hartman:
+  o add udevd and udevsend to the spec file
+  o make /etc/hotplug.d/default/udev.hotplug symlink point to udevsend now
+  o add KERNEL_DIR option so that the distros will be happy
+  o make udevsend binary even smaller
+  o udevsend now almost compiles with klibc, struct sockaddr_un is only problem now
+  o fix up logging code so that it can be built without it being enabled
+  o rework the logging code so that each program logs with the proper name in the syslog
+  o remove logging.c as it's no longer needed
+  o kill the last examples that contained the %D option
+  o remove a __KLIBC__ tests in libsysfs, as klibc now supports getpagesize()
+  o udevd - remove stupid locking error I wrote
+  o update to klibc version 0.101, fixing the stdin bug
+  o fix Makefile typo for USE_LSB install
+  o allow dbus code to actually build again
+
+Kay Sievers:
+  o let udevsend build with klibc
+  o udevd - config cleanup
+  o udevd - cleanup and better timeout handling
+  o fix possible buffer overflow
+  o udevd - next round of fixes
+  o udevinfo - missing options for man page
+  o udev - trivial style cleanup
+
+
+Summary of changes from v014 to v015
+============================================
+
+<mbuesch:freenet.de>:
+  o LFS init script update
+
+Greg Kroah-Hartman:
+  o update klibc to version 0.98
+  o clean up udevinfo on 'make clean'
+  o add udevinfo man page to spec file
+  o remove command line documentation from udev man page
+  o create initial version of udevinfo man page
+  o added URL to spec file
+  o add udevinfo to udev.spec file
+  o add udevinfo to install target of Makefile
+  o rip out command line code from udev, now that we have udevinfo
+  o udevinfo doesn't need to declare main_envp
+  o move get_pair to udev_config.c because udevinfo doesn't need all of namedev.o
+  o more makefile cleanups
+  o move udevinfo into the main build and clean up the main Makefile a bit
+  o clean up compiler warnings if building using klibc
+  o make udevd only have one instance running at a time
+  o new testd.block script for debugging
+  o udevsnd : clean up message creation logic a bit
+  o make bk ignore udevd and udevsend binaries
+  o whitespace cleanups
+  o remove TODO item about BUS value, as it is now done
+  o add support for figuring out which device on the sysfs "chain" the rule applies to
+
+Kay Sievers:
+  o udevinfo - now a real program :)
+  o udevd - cleanup and better timeout handling
+  o udev - next round of udev event order daemon
+  o fix udevd exec
+  o udev - udevinfo with device chain walk
+  o spilt udev into pieces
+
+
+Summary of changes from v013 to v014
+============================================
+
+<ananthmg:rediffmail.com>:
+  o libsysfs update for refresh + namedev.c changes
+
+<christophe.varoqui:free.fr>:
+  o udev-013/extras/multipath update
+
+<flamingice:sourmilk.net>:
+  o minor patch for devfs rules
+
+Kay Sievers:
+  o udev - program to query all device attributes to build a rule
+  o set default owner/group in db - update
+  o udev - reverse user query options
+  o udev - kill %D from udev-test.pl
+  o add udev logging to info log
+  o udev - mention format string escape char in man page
+
+Greg Kroah-Hartman:
+  o misc code cleanups
+  o fixup logging.h to handle different logging options properly
+  o clean up the logging patch a bit to make the option more like the other options
+  o remove the %D modifier as it is not longer needed
+  o remove unneeded keyboard rule
+  o add usb_host and pci_bus to the class blacklist
+  o added input device rules to udev.rules and udev.rules.devfs
+  o 013_bk mark
+
+Hanna V. Linder:
+  o set default owner/group in db
+  o small cut n paste error fix
+
+Patrick Mansfield:
+  o update udev scsi_id to scsi_id 0.3
+
+
+Summary of changes from v012 to v013
+============================================
+
+<eike-hotplug:sf-tec.de>:
+  o LSB init script and other stuff
+
+<elkropac:students.zcu.cz>:
+  o fix udev directory for Debian init script
+
+<tiggi:infa.abo.fi>:
+  o udev 012 old gcc fixup
+
+Christophe Saout:
+  o add IGNORE rule type
+  o small cleanup
+
+Greg Kroah-Hartman:
+  o update TODO with some new, small items
+  o Cset exclude: greg@kroah.com|ChangeSet|20040113010256|48515
+  o update the README in a few places
+  o fix -d typo in the manpage update
+  o Fix stupid gcc "optimization" of 1 character printk() calls.... Ick
+  o oops, forgot to fix up the PROGRAM result from ID to RESULT in the config files
+  o Add alsa device rules and a few other devfs rules
+  o fix a few stale comments in namedev.c
+  o convert the default rules files to the new format
+  o convert the test shell scripts to the config file format
+  o add bus test for usb-serial bus
+  o Add some helpful messages if the user uses the older config file format
+  o added dri rule to the default config file
+  o added init.d udev script for debian
+  o add a script that tests the IGNORE rule
+  o add silly script that names cdrom drives based on the cd in them
+  o add cdrom rule for ide cdrom
+  o replace list_for_each with list_for_each_entry, saving a few lines of code
+  o add a blacklist of class devices we do not want to look at
+
+Kay Sievers:
+  o fix klibc with printf() and gcc
+  o udev - small script optimization
+  o udev - introduce format escape char
+  o udev - more CALLOUT is PROGRAM now
+  o udev - CALLOUT is PROGRAM now
+  o update documentation for new config file format
+  o more advanced user query options
+  o udev - simple debug tweak
+  o udev - drop all methods :)
+  o udev - advanced user query options
+  o udev - Makefile error
+  o udev - make exec_callout() reusable
+  o udev - exec status fix for klibc
+  o fix Silly udev script
+
+
+Summary of changes from v011 to v012
+============================================
+
+<azarah:nosferatu.za.org>:
+  o make symlink work properly if there is already a file in its place
+  o Fix udev gcc-2.95.4 compat
+
+<christophe.varoqui:free.fr>:
+  o extras multipath update
+  o extras multipath update
+
+Kay Sievers:
+  o mention user callable udev + options in man page
+  o make udev user callable to query the database
+  o depend on all .h files
+  o cleanup namedev_parse debug text
+  o extend exec_program[]
+  o ide-devfs.sh update
+  o fix for apply_format()
+  o check for empty symlink string
+  o 'ide' missing in bus_files[]
+  o small trivial cleanup of latest changes
+
+<mbuesch:freenet.de>:
+  o introduce signal handler
+
+<rml:ximian.com>:
+  o udev spec file update
+
+Greg Kroah-Hartman:
+  o minor grammer fixes for the udev_vs_devfs document
+  o move the dbus config file to etc/dbus-1/system.d/
+  o move the config files to etc/udev to clean up main directory a bit
+  o add Gentoo versions of the rules and permissions files
+  o if using glibc, link dynamically, as no one like 500Kb udev binaries
+  o minor change to udev_vs_devfs document
+  o added udev vs devfs supid document to the tree
+  o move the signal handling registration to after we have initialized enough stuff
+  o make ide-devfs.sh executable in the tree
+  o udev.permissions.debian - forgot the dm nodes
+  o update the udev.permissions.debian file with new entries
+  o added udev.init script for the Linux From Scratch project
+
+
+
+Summary of changes from v010 to v011
+============================================
+
+<mbuesch:freenet.de>:
+  o proper cleanup on udevdb_init() failure
+
+<mh:nadir.org>:
+  o patch udev 009-010 rpm spec file
+
+<svetljo:gmx.de>:
+  o fix udev sed Makefile usage
+
+Greg Kroah-Hartman:
+  o add documentation about the BUS key being optional for the LABEL rule
+  o add tests for LABEL rule with a device that has no bus
+  o Don't require the BUS value for the LABEL rule
+  o If a LABEL rule has a BUS id, then we must check to see if the device is on a bus
+  o add documentation about the BUS key being optional for the CALLOUT rule
+  o If a CALLOUT rule has a BUS id, then we must check to see if the device is on a bus
+  o Don't require the BUS value for the CALLOUT rule
+  o add test for callout rule with a device that has no bus
+  o 010_bk stamp
+  o added different build options to the rpm udev.spec file
+  o add pci to the bus_files list
+  o check for empty line a bit better in the parser
+  o more init script cleanups, the stop target now calls udev to cleanup instead of just removing the whole /udev directory
+  o make udev init script run udev in the background to let startup go much faster
+  o fix long delay for all devices in namedev
+
+
+Summary of changes from v009 to v010
+============================================
+
+<ananth:in.ibm.com>:
+  o change pgsize
+
+<christophe.varoqui:free.fr>:
+  o extras multipath update
+  o extras multipath update
+  o extras multipath update
+  o extras multipath update
+
+Kay Sievers:
+  o fix udev-test.pl
+  o small cleanup udev-remove.c
+  o experimental CALLOUT script for devfs ide node creation with cd, disc, part
+  o add any valid device
+  o introduce format char 'k' for kernel-name
+  o trivial make fixes
+  o don't overwrite old config on install
+  o udev-remove.c cleanups
+  o bug in udev-remove.c
+  o trivial cleanup parser changes
+
+<roman.kagan:itep.ru>:
+  o fix comment and whitespace handling in config files
+
+Adam Kropelin:
+  o Allow build with empty EXTRAS
+
+Daniel E. F. Stekloff:
+  o libsysfs 0.4.0 patch
+  o fix scsi_id segfault with udev-009
+  o add libsysfs docs
+
+David T. Hollis:
+  o mark config files as such in the rpm spec file
+
+Greg Kroah-Hartman:
+  o fix complier warning in namedev.c
+  o add documentation for the new '%k' modifier (kernel name replacement)
+  o add documentation about the multiple sysfs values that are now allowed for the LABEL rule
+  o add tests for multi-file LABEL rules
+  o add ability to have up to 5 SYSFS_ file/value pairs for the LABEL rule
+  o Just live with a sleep(1) in namedev for now until libsysfs is fixed up
+  o try to wait until the proper device file shows up in sysfs
+  o remove unneeded TODO and FIXME entry
+  o clean up the stand-alone tests to work properly on other people's machines
+  o add tests to catch whitespace and comment config file parsing errors
+
+
+Summary of changes from v008 to v009
+============================================
+
+<christophe.varoqui:free.fr>:
+  o more extras/multipath changes
+  o and more extras/multipath updates
+  o more extras/multipath updates
+  o yet more extras/multipath
+  o more extras/multipath updates
+  o extras/multipath update
+
+<david:fubar.dk>:
+  o D-BUS patch for udev-008
+
+<eike-hotplug:sf-tec.de>:
+  o add init.d/udev to "make install"
+  o add init.d/udev to the spec file
+
+Kay Sievers:
+  o don't rely on field order in namedev_parse
+  o get part of callout return string
+  o remove '\n' from end of callout return
+  o man-page mention multiple symlinks
+  o allow multiple symlinks
+  o cleanup man & remove symlink comment
+  o experimental (very simple) SYMLINK creation
+  o man page beauty
+  o pattern match for label method
+  o a bug in linefeed removal
+
+<rml:ximian.com>:
+  o remove udev from runlevels on uninstall
+  o install initscript in udev rpm
+
+Daniel E. F. Stekloff:
+  o pre-libsysfs-0.4.0 patch
+
+Greg Kroah-Hartman:
+  o signal fixes due to klibc update
+  o sync klibc with release 0.95
+  o add mol permissions to the debian permissions file
+  o update the FAQ with info about bad modprobe events from the devfs scheme
+  o some cleanups due to the need for LABEL rules to use "SYSFS_" now
+  o Add restart target to the etc/init.d/udev script
+  o tweak the config file generation portion of the Makefile a bit
+  o change devfs disk name rule from 'disk' to 'disc'
+  o add vc support to udev.rules.devfs
+  o added a devfs udev config file from Marco d'Itri <md@Linux.IT>
+  o set default mode to 0600 to be safer
+  o Makefile tweaks for the DBUS build
+  o update the FAQ due to the latest devfs mess on lkml and also due to symlinks now working
+  o document the different Makefile config options that we have
+  o change USE_DBUS to DBUS in Makefile, and disable it by default as it's still to hard to build on all systems
+  o fix formatting of udev_dbus.c to use tabs.  Also get it to build properly now
+  o move all of the DBUS logic into one file and remove all of the #ifdef crud from the main code
+
+Olaf Hering:
+  o dump latest klibc into the udev build tree
+  o use udevdir in udev.conf
+
+Patrick Mansfield:
+  o better allow builds of extras programs under udev
+  o update udev extras/scsi_id to version 0.2
+
+
+Summary of changes from v007 to v008
+============================================
+
+<azarah:nosferatu.za.org>:
+  o more config file parsing robustness
+
+<christophe.varoqui:free.fr>:
+  o udev-007/extras/multipath update
+
+Arnd Bergmann:
+  o Build failure - missing linux/limits.h include?
+  o Add format modifier for devfs like naming
+  o klibc makefile fixes
+
+Daniel E. F. Stekloff:
+  o another patch for path problem
+  o quick fix for libsysfs bus
+  o libsysfs changes for sysfsutils 0.3.0
+
+Greg Kroah-Hartman:
+  o fix up some duplicated function compiler warnings in libsysfs
+  o fix some compiler warnings in the tdb code
+  o Added Kay's name to the man page
+  o update the wildcard documentation in the man page to show the new styles supported
+  o fix permission handling logic
+  o enable default_mode ability to actually build
+  o add support for the default_mode variable, as it is documented
+  o show permissions and groups in the label_test
+  o remove some items off of the TODO list, as they are now done
+  o fix up the tests to work without all of the environ variables
+  o get rid of the majority of the debug environment variables
+  o Update the man page to show the new config file, it's format, and how to use it
+  o fix up the tests to support the rules file name change
+  o add support for a main udev config file, udev.conf
+  o turn debugging messages off by default
+  o split out the namedev config parsing logic to namedev_parse.c
+  o rename namedev's get_attr() to be main namedev_name_device() as that's what it really is
+  o add devfs like tty rules as an example in the default config file
+  o operate on the rules in the order they are in the config file (within the rule type) instead of operating on them backwards.
+  o Cset exclude: dsteklof@us.ibm.com|ChangeSet|20031126173159|56255
+  o add test for checking the BUS value
+  o fix problem where we were not looking at the BUS value
+  o add scsi and pci bus links in the test sysfs tree
+  o add test and documentation for new %D devfs format modifier
+  o changed the default location of the database to /udev/.udev.tdb to be LSB compliant
+  o get rid of functions in klibc_fixups that are now in klibc
+  o sync up with the 0.84 version of klibc
+  o fix udev init.d script to handle all class devices in sysfs
+  o fix the test.block and test.tty scripts due to their moveing.  Also add a test.all script
+  o 007_bk version change to Makefile
+
+Kay Sievers:
+  o pattern matching for namedev
+  o catch replace device by wildcard
+  o udev.8 tweak numeric id text
+  o udev-test.pl add subdir test
+  o namedev.c strcat tweak
+  o overall whitespace + debug text conditioning
+  o udev-test.pl - tweaks
+
+Martin Hicks:
+  o Add -nodefaultlibs while compiling against klibc
+
+Olaf Hering:
+  o ARCH detection for ppc
+
+Patrick Mansfield:
+  o fix udev parallel builds with klibc
+
+
+Summary of changes from v006 to v007
+============================================
+
+<md:linux.it>:
+  o fix segfault in parsing bad udev.permissions file
+
+Greg Kroah-Hartman:
+  o update default config file with a CALLOUT rule, and more documentation
+  o updated the man page with the latest format specifier changes
+  o added ability to put format specifiers in the CALLOUT program string
+  o tweak udev-test.pl to report '0' errors if that's what happened
+  o only build klibc_fixups.c if we are actually using klibc
+  o add support for string group and string user names in udev.permissions
+  o add getgrnam and getpwnam to klibc_fixups files
+  o remove Makefile.klibc
+  o add udev-test perl script from Kay Sievers <kay.sievers@vrfy.org> which blows away my puny shell scripts
+  o added debian's version of udev.permissions
+  o change to 006_bk version
+
+Kay Sievers:
+  o format char for CALLOUT output
+  o more namedev whitespace cleanups
+  o support arguments in callout exec
+  o namedev.c - change order of fields in CALLOUT
+  o namedev.c whitespace + debug text cleanup
+  o man page with udev.permissions wildcard
+
+Olaf Hering:
+  o static klibc udev does not link against crt0.o
+
+Summary of changes from v005 to v006
+============================================
+
+<chris_friesen:sympatico.ca>:
+  o faster test scripts
+
+Arnd Bergmann:
+  o more robust config file parsing in namedev.c
+  o add bus id modifier
+
+Daniel E. F. Stekloff:
+  o patch for libsysfs sysfs directory handling
+
+Greg Kroah-Hartman:
+  o add another line to udev.permissions in the proper format
+  o tweak replace_test
+  o fix permissions to work properly now
+  o add real udev.permissions file to test directory
+  o fix namedev.c to build with older version of gcc
+  o add dumb test for all of the different modifiers
+  o update the TODO list with more items that people can easily do
+  o move the test.block and test.tty scripts to the test/ directory
+  o add remove actions to the test scripts
+  o turn DEBUG_PARSER off by default
+  o add some documentation for the %b modifier to the default config file
+  o fix make install rule for when the udev symlink is already there
+  o change release target in makefile
+  o change debug level on printf values for now
+  o updated demo config file
+  o add some documentation of the modifiers to the default config file
+  o add demo config file
+  o updated bk ignore list for klibc generated files
+  o add printf option to label test to verify it works
+  o fix up printf-like functionality due to previous changes
+  o get the major/minor number before we name the device
+  o add scsi_id "extra" program from Patrick Mansfield <patmans@us.ibm.com>
+  o Add multipath "extra" program from Christophe Varoqui, <christophe.varoqui@free.fr>
+  o trailing whitespace cleanups
+  o splig LABEL and NUMBER into separate functions
+  o add TOPO regression test
+  o move TOPOLOGY rule to it's own function
+  o fix bug where NUMBER and TOPOLOGY would not work for partitions
+  o clean up the way we find the sysdevice for a block device for namedev
+  o updated label test script (tests for partitions now.)
+  o split REPLACE and CALLOUT into separate functions
+  o add debug line for REPLACE call
+  o add replace test
+  o add more sysfs test tree files
+  o change UDEV_SYSFS_PATH environment variable due to libsysfs change
+  o fix bug in klibc's isspace function
+  o fix udev-add.c to build properly with older versions of gcc
+  o add prototype for ftruncate to klibc
+  o Remove a few items from the TODO list that are already done
+  o version number to 005_bk
+  o pull some klibc stuff into the make Makefile to try to stay in sync
+  o klibc build fixes
+
+Kay Sievers:
+  o apply permissions.conf support for wildcard and default name
+  o man page with included placeholder list
+  o implement printf-like placeholder support for NAME
+  o more manpage tweaks
+  o add support for subdirs
+  o add uid/gid to nodes
+
+Olaf Hering:
+  o DESTDIR for udev
+
+Paul Mundt:
+  o Fixup path for kernel includes when building with klibc
+
+Robert Love:
+  o udev init script
+
+
+Summary of changes from v004 to v005
+============================================
+
+<kay:vrfy.org>:
+  o namedev.c comments + debug patch
+  o man page update
+
+Greg Kroah-Hartman:
+  o ignore the klibc/linux symlink
+  o add klibc linux symlink info to the README
+  o get 'make release' to work properly again
+  o added README info for how to build using klibc
+  o turn off debugging if we are building with klibc
+  o turn off debugging in namedev
+  o added vsyslog support to klibc
+  o add ftruncate to klibc
+  o klibc specific tweaks
+  o libsysfs does not need mntent.h in it's header file
+  o udev build tweaks to tdb's spinlock code
+  o klibc makefile changes
+  o build tdb and libsysfs from the same makefile as udev
+  o udev-add build cleanups for other libc versions
+  o tweak tdb to build within udev better
+  o make libsysfs spit debug messages to the same place as the rest of udev
+  o make libsysfs build cleanly
+  o updated bk ignore list
+  o added klibc version 0.82 (cvs tree) to the udev tree
+  o makefile fix for now
+  o Merge greg@bucket:/home/greg/src/udev into kroah.com:/home/greg/src/udev
+  o hm, makefile bug with so many files...  will fix later
+  o regression tests starting to be added
+  o fix LABEL bug for device files (not class files.)
+  o more warning flags to the build
+  o got rid of struct device_attr
+  o rename namedev.permissions and namedev.config to udev.permissions and udev.config
+  o fix dbg line in namedev.c
+  o more overrides of config info with env variables if in test mode
+  o Fix bug causing udev to sleep forever waiting for dev file to show up
+  o change version to 004_bk
+  o make config files, sysfs root, and udev root configurable from config variables
+
+Robert Love:
+  o udev: sleep_for_dev() bits
+  o udev: another canidate for static
+
+
+Summary of changes from v003 to v004
+============================================
+
+Daniel E. F. Stekloff:
+  o new version of libsysfs patch
+
+Greg Kroah-Hartman:
+  o 004 release
+  o major database cleanups
+  o Changed test.block and test.tty to take ACTION from the command line
+  o don't sleep if 'dev' file is already present on device add
+  o fix comment about how the "dev" file is made up
+  o more database work.  Now we only store the info we really need right now
+  o add BUS= bug to TODO list so it will not get forgotten
+  o spec file changes
+  o test.block changes
+  o ok, rpm likes the "_" character instead of "-" better
+  o change the version to 003-bk to keep things sane with people using the bk tree
+  o got "remove of named devices" working
+  o fix segfaults when dealing with partitions
+
+Kay Sievers:
+  o man file update
+  o man page update
+
+Robert Love:
+  o udev: mode should be mode_t
+  o udev: trivial trivialities
+  o udev: cool test scripts again
+  o udev spec file symlink support
+  o udev: cool test scripts
+  o udev spec file bits
+
+
+Summary of changes from v0.2 to v003
+============================================
+
+Daniel E. F. Stekloff:
+  o udevdb patch
+  o udevdb prototype
+
+Greg Kroah-Hartman:
+  o update the spec file for the new version and install process
+  o fix makefile release rule to not drop tdb.h file
+  o Add FAQ for udev
+  o removed AUTHORS and INSTALL files as they were pretty pointless
+  o copyright updates
+  o Add AUTHORS and INSTALL files
+  o TODO updates
+  o Updatd the README
+  o updated the TODO list
+  o add udev man page (basically just a place holder for now.)
+  o added uninstall support
+  o added install target for makefile so people don't have to do it by hand anymore
+  o add version to debug log on startup
+  o tell the user what mknod() we are trying to do
+  o add dbg_parse() to cut down on parse file debugging statements
+  o put config files and database in /etc/udev by default
+  o add ols 2003 udev paper to docs/
+  o clean up some debugging stuff in namedev.c
+  o do not build the tdb binary programs, only the objects
+  o merge tdb into the build process
+  o Added tdb code from latest cvs version in the samba tree
+  o added my name to the .spec file
+  o minor cleanups
+  o cleanup the mknod code a bit
+  o remove mknod callout
+  o handle new major:minor format of dev files that showed up in 2.6.0-test2-bk3 or so
+  o oops, everything was getting created as 000 mode, try to fix this up, but fail...
+  o more test stuff
+
+Olaf Hering:
+  o print udev pid
+
+Patrick Mansfield:
+  o add callout config type to udev
+
+Paul Mundt:
+  o Fix TDB cross compilation
+  o udev spec file
+  o udev/libsysfs cross compile fixes
+
+
+Summary of changes from v0.1 to v0.2
+============================================
+
+Greg Kroah-Hartman:
+  o more test stuff
+  o removed unneeded stuff from udev.h
+  o added 0.2 change log info
+  o start working on label support, and fix some segfaults for block devices
+  o test config file changes
+  o add NUMBER support (basically same logic as TOPOLOGY, perhaps we should
+    merge this...)
+  o added topology support
+  o got REPLACE to work properly
+  o make struct config_device contain a struct device_attr instead of
+    duplicating the mess
+  o block test
+  o split the tests up into different files
+  o split udev main logic into udev-add and udev-remove
+  o Clean up the namedev interface a bit, making the code smaller
+  o bk: update ignore list
+  o update the tests to handle block devices too
+  o add initial libsysfs support
+  o added libsysfs to the build
+  o added libsysfs code from sysutils-0.1.1-071803 release
+  o namedev config files are fully parsed
+  o more permission tests
+  o make log_message spit out warnings so I don't have to spend forever
+    chasing down stupid bugs that aren't there...
+  o added klibc makefile
+  o Initial namedev parsing of config files
+  o sleep for 2 seconds to give the kernel a chance to actually create the
+    files we need
+  o pick a better default UDEV_ROOT
+  o fix up the test to actually work
+  o added more documentation in README and TODO files
+
+
+Summary of changes up to v0.1
+============================================
+
+Greg Kroah-Hartman:
+  o added more documentation in README and TODO files
+  o updated the documentation
+  o cleaned up the makefile a bit
+  o remove now works!
+  o restructure code to be able to actually get remove_node() to work
+  o Creating nodes actually works
+  o added stupid test script for debugging
+  o added initial documentation and gpl license
+  o enabled debugging
+  o updated ignore list
+  o added initial files
+  o fixed up config
+  o Initial repository create
+  o BitKeeper file /home/greg/src/udev/udev/ChangeSet
+
diff --git a/udev-166/INSTALL b/udev-166/INSTALL
new file mode 100644
index 0000000..02ad55f
--- /dev/null
+++ b/udev-166/INSTALL
@@ -0,0 +1,59 @@
+Usual options for udev installed in the root filesystem are:
+  ./configure \
+    --prefix=/usr \
+    --sysconfdir=/etc \
+    --sbindir=/sbin \
+    --libdir=/usr/lib64 \
+    --with-rootlibdir=/lib64 \
+    --libexecdir=/lib/udev \
+    --with-selinux
+
+All options:
+  --prefix=
+      Usually /usr, prefix for man pages, include files.
+  --sysconfdir=
+      Usually /etc.
+  --sbindir=
+      Usually /sbin, the place for udevd and udevadm.
+  --libexecdir=
+      Usually /lib/udev, the udev private directory.
+  --enable-debug
+      Compile-in verbose debug messages. Usually not needed,
+      it increases the size of the binaries.
+  --disable-logging
+      Disable all logging and compile-out all log strings. This
+      is not recommended, as it makes it almost impossible to debug
+      udev in the running system.
+  --with-selinux
+      Link against SELinux libraries to set the expected context
+      for created files.
+  --disable-extras
+      Disable the build of all extras which have larger external
+      dependencies like glib, libacl, libusb, ...
+
+The options used in a RPM spec file usually look like:
+  %configure \
+    --prefix=%{_prefix} \
+    --sysconfdir=%{_sysconfdir} \
+    --sbindir=/sbin \
+    --libdir=%{_libdir} \
+    --with-rootlibdir=/%{_lib} \
+    --libexecdir=/lib/udev \
+    --with-selinux
+
+The defined location for scripts and binaries which are called
+from rules is /lib/udev/ on all systems and architectures. Any
+other location will break other packages, who rightfully expect
+the /lib/udev/ directory, to install their rule helper and udev
+rule files.
+
+It is recommended to use the /lib/udev/devices/ directory to place
+device nodes, directories and symlinks, which are copied to /dev/
+at every bootup. That way, nodes for devices which can not be
+detected automatically, or are activated on-demand by opening the
+pre-existing device node, will be available.
+
+Default udev rules and persistent device naming rules are required
+by other software that depends on the data udev collects from the
+devices, and should therefore be installed by default with every udev
+installation.
diff --git a/udev-166/Makefile.am b/udev-166/Makefile.am
new file mode 100644
index 0000000..df426f7
--- /dev/null
+++ b/udev-166/Makefile.am
@@ -0,0 +1,704 @@
+# ------------------------------------------------------------------------------
+# Copyright (C) 2008-2009 Kay Sievers <kay.sievers@vrfy.org>
+# Copyright (C) 2009 Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>
+# ------------------------------------------------------------------------------
+
+SUBDIRS = .
+
+EXTRA_DIST = autogen.sh
+
+ACLOCAL_AMFLAGS = -I m4
+
+AM_MAKEFLAGS = --no-print-directory
+
+AM_CPPFLAGS = \
+	-include $(top_builddir)/config.h \
+	-I$(top_srcdir)/libudev \
+	-DSYSCONFDIR=\""$(sysconfdir)"\" \
+	-DLIBEXECDIR=\""$(libexecdir)"\"
+
+AM_LDFLAGS = \
+	-Wl,--as-needed
+
+DISTCHECK_CONFIGURE_FLAGS = \
+	--enable-gtk-doc \
+	--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
+CLEANFILES =
+
+INSTALL_EXEC_HOOKS =
+INSTALL_DATA_HOOKS =
+UNINSTALL_EXEC_HOOKS =
+DISTCHECK_HOOKS =
+
+# ------------------------------------------------------------------------------
+# libudev
+# ------------------------------------------------------------------------------
+LIBUDEV_CURRENT=10
+LIBUDEV_REVISION=0
+LIBUDEV_AGE=10
+
+SUBDIRS += libudev/docs
+
+include_HEADERS = libudev/libudev.h
+lib_LTLIBRARIES = libudev/libudev.la
+
+libudev_libudev_la_SOURCES =\
+	libudev/libudev-private.h \
+	libudev/libudev.c \
+	libudev/libudev-list.c \
+	libudev/libudev-util.c \
+	libudev/libudev-device.c \
+	libudev/libudev-enumerate.c \
+	libudev/libudev-monitor.c \
+	libudev/libudev-queue.c
+
+libudev_libudev_la_LDFLAGS = \
+	-version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
+	-export-symbols $(top_srcdir)/libudev/exported_symbols
+
+noinst_LTLIBRARIES = \
+	libudev/libudev-private.la
+
+libudev_libudev_private_la_SOURCES =\
+	$(libudev_libudev_la_SOURCES) \
+	libudev/libudev-ctrl.c \
+	libudev/libudev-util-private.c \
+	libudev/libudev-device-private.c \
+	libudev/libudev-queue-private.c
+
+if WITH_SELINUX
+libudev_libudev_private_la_SOURCES += libudev/libudev-selinux-private.c
+libudev_libudev_private_la_LIBADD = $(SELINUX_LIBS)
+endif
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libudev/libudev.pc
+
+EXTRA_DIST += libudev/exported_symbols libudev/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
+
+# ------------------------------------------------------------------------------
+# main udev
+# ------------------------------------------------------------------------------
+udev-confdirs:
+	-mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
+	-mkdir -p $(DESTDIR)$(libexecdir)/devices
+
+INSTALL_DATA_HOOKS += udev-confdirs
+
+EXTRA_DIST += \
+	rules/arch \
+	rules/misc
+
+udevrulesdir = $(libexecdir)/rules.d
+dist_udevrules_DATA = \
+	rules/rules.d/50-udev-default.rules \
+	rules/rules.d/60-persistent-storage.rules \
+	rules/rules.d/60-persistent-storage-tape.rules \
+	rules/rules.d/60-persistent-serial.rules \
+	rules/rules.d/60-persistent-input.rules \
+	rules/rules.d/60-persistent-alsa.rules \
+	rules/rules.d/80-drivers.rules \
+	rules/rules.d/95-udev-late.rules
+
+udevconfdir = $(sysconfdir)/udev
+dist_udevconf_DATA = udev.conf
+
+sharepkgconfigdir = $(datadir)/pkgconfig
+sharepkgconfig_DATA = udev/udev.pc
+
+if WITH_SYSTEMD
+systemdsystemunit_DATA = \
+	init/udev.service \
+	init/udev-settle.service \
+	init/udev-retry.service
+
+systemd-install-hook:
+	mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
+	ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
+	ln -sf ../udev-settle.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-settle.service
+	ln -sf ../udev-retry.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-retry.service
+
+INSTALL_DATA_HOOKS += systemd-install-hook
+endif
+
+sbin_PROGRAMS = \
+	udev/udevd \
+	udev/udevadm
+
+udev_common_sources =\
+	udev/udev.h \
+	udev/udev-event.c \
+	udev/udev-watch.c \
+	udev/udev-node.c \
+	udev/udev-rules.c
+
+udev_udevd_SOURCES = \
+	$(udev_common_sources) \
+	udev/udevd.c \
+	udev/sd-daemon.h \
+	udev/sd-daemon.c
+udev_udevd_LDADD = libudev/libudev-private.la
+
+udev_udevadm_SOURCES = \
+	$(udev_common_sources) \
+	udev/udevadm.c \
+	udev/udevadm-info.c \
+	udev/udevadm-control.c \
+	udev/udevadm-test.c \
+	udev/udevadm-monitor.c \
+	udev/udevadm-settle.c \
+	udev/udevadm-trigger.c
+udev_udevadm_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# udev man pages
+# ------------------------------------------------------------------------------
+dist_man_MANS = \
+	udev/udev.7 \
+	udev/udevadm.8 \
+	udev/udevd.8
+
+dist_noinst_DATA = \
+	udev/udev.html \
+	udev/udevadm.html \
+	udev/udevd.html
+
+EXTRA_DIST += \
+	udev/udev.xml \
+	udev/udevadm.xml \
+	udev/udevd.xml
+
+udev/%.7 udev/%.8 : udev/%.xml
+	$(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+udev/%.html : udev/%.xml
+	$(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
+
+# ------------------------------------------------------------------------------
+# udev tests
+# ------------------------------------------------------------------------------
+TESTS = test/udev-test.pl test/rules-test.sh
+
+check_PROGRAMS = \
+	libudev/test-libudev \
+	udev/test-udev
+
+libudev_test_libudev_SOURCES = libudev/test-libudev.c
+libudev_test_libudev_LDADD = libudev/libudev.la
+
+udev_test_udev_SOURCES = \
+	$(udev_common_sources) \
+	udev/test-udev.c
+udev_test_udev_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# rule_generator - persistent network and optical device rule generator
+# ------------------------------------------------------------------------------
+dist_libexec_SCRIPTS = \
+	extras/rule_generator/write_cd_rules \
+	extras/rule_generator/write_net_rules
+
+udevhomedir = $(libexecdir)
+dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
+
+dist_udevrules_DATA += \
+	extras/rule_generator/75-cd-aliases-generator.rules \
+	extras/rule_generator/75-persistent-net-generator.rules
+
+# ------------------------------------------------------------------------------
+# firmware - firmware loading
+# ------------------------------------------------------------------------------
+extras_firmware_firmware_SOURCES = extras/firmware/firmware.c
+extras_firmware_firmware_LDADD = libudev/libudev-private.la
+extras_firmware_firmware_CPPFLAGS = $(AM_CPPFLAGS) -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
+dist_udevrules_DATA += extras/firmware/50-firmware.rules
+libexec_PROGRAMS = extras/firmware/firmware
+
+# ------------------------------------------------------------------------------
+# ata_id - ATA identify
+# ------------------------------------------------------------------------------
+extras_ata_id_ata_id_SOURCES = extras/ata_id/ata_id.c
+extras_ata_id_ata_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/ata_id/ata_id
+
+# ------------------------------------------------------------------------------
+# cdrom_id - optical drive/media capability
+# ------------------------------------------------------------------------------
+extras_cdrom_id_cdrom_id_SOURCES = extras/cdrom_id/cdrom_id.c
+extras_cdrom_id_cdrom_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/cdrom_id/cdrom_id
+dist_udevrules_DATA += extras/cdrom_id/60-cdrom_id.rules
+
+# ------------------------------------------------------------------------------
+# collect - trigger action when a collection of devices appeared
+# ------------------------------------------------------------------------------
+extras_collect_collect_SOURCES = extras/collect/collect.c
+extras_collect_collect_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/collect/collect
+
+# ------------------------------------------------------------------------------
+# edd_id - BIOS EDD block device match
+# ------------------------------------------------------------------------------
+extras_edd_id_edd_id_SOURCES = extras/edd_id/edd_id.c
+extras_edd_id_edd_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/edd_id/edd_id
+dist_udevrules_DATA += extras/edd_id/61-persistent-storage-edd.rules
+
+# ------------------------------------------------------------------------------
+# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
+# ------------------------------------------------------------------------------
+extras_floppy_create_floppy_devices_SOURCES = extras/floppy/create_floppy_devices.c
+extras_floppy_create_floppy_devices_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/floppy/create_floppy_devices
+dist_udevrules_DATA += extras/floppy/60-floppy.rules
+
+# ------------------------------------------------------------------------------
+# input_id - import input device class
+# ------------------------------------------------------------------------------
+extras_input_id_input_id_SOURCES = extras/input_id/input_id.c
+extras_input_id_input_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/input_id/input_id
+
+# ------------------------------------------------------------------------------
+# path_id - compose identifier of persistent elements of the parent buses
+# ------------------------------------------------------------------------------
+extras_path_id_path_id_SOURCES = extras/path_id/path_id.c
+extras_path_id_path_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/path_id/path_id
+
+# ------------------------------------------------------------------------------
+# fstab_import - import /etc/fstab entry for block device
+# ------------------------------------------------------------------------------
+extras_fstab_import_fstab_import_SOURCES = extras/fstab_import/fstab_import.c
+extras_fstab_import_fstab_import_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/fstab_import/fstab_import
+dist_udevrules_DATA += extras/fstab_import/79-fstab_import.rules
+
+# ------------------------------------------------------------------------------
+# scsi_id - SCSI inquiry to get various serial numbers
+# ------------------------------------------------------------------------------
+extras_scsi_id_scsi_id_SOURCES =\
+	extras/scsi_id/scsi_id.c \
+	extras/scsi_id/scsi_serial.c \
+	extras/scsi_id/scsi.h \
+	extras/scsi_id/scsi_id.h
+extras_scsi_id_scsi_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/scsi_id/scsi_id
+dist_man_MANS += extras/scsi_id/scsi_id.8
+
+# ------------------------------------------------------------------------------
+# usb_id - USB device property import
+# ------------------------------------------------------------------------------
+extras_usb_id_usb_id_SOURCES = extras/usb_id/usb_id.c
+extras_usb_id_usb_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb_id/usb_id
+
+# ------------------------------------------------------------------------------
+# v4l_id - video4linux capabilities
+# ------------------------------------------------------------------------------
+extras_v4l_id_v4l_id_SOURCES = extras/v4l_id/v4l_id.c
+extras_v4l_id_v4l_id_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/v4l_id/v4l_id
+dist_udevrules_DATA += extras/v4l_id/60-persistent-v4l.rules
+
+# ------------------------------------------------------------------------------
+# qemu -- qemu/kvm guest tweaks
+# ------------------------------------------------------------------------------
+dist_udevrules_DATA += extras/qemu/42-qemu-usb.rules
+
+if ENABLE_EXTRAS
+# ------------------------------------------------------------------------------
+# conditional extras (need glib, libusb, libacl, ...)
+# ------------------------------------------------------------------------------
+dist_udevrules_DATA += \
+	rules/rules.d/75-net-description.rules \
+	rules/rules.d/75-tty-description.rules \
+	rules/rules.d/78-sound-card.rules
+
+# ------------------------------------------------------------------------------
+# GUdev - libudev gobject interface
+# ------------------------------------------------------------------------------
+LIBGUDEV_CURRENT=1
+LIBGUDEV_REVISION=0
+LIBGUDEV_AGE=1
+
+SUBDIRS += extras/gudev/docs
+
+libgudev_includedir=$(includedir)/gudev-1.0/gudev
+libgudev_include_HEADERS = \
+	extras/gudev/gudev.h \
+	extras/gudev/gudevenums.h \
+	extras/gudev/gudevenumtypes.h \
+	extras/gudev/gudevtypes.h \
+	extras/gudev/gudevclient.h \
+	extras/gudev/gudevdevice.h \
+	extras/gudev/gudevenumerator.h
+
+lib_LTLIBRARIES += extras/gudev/libgudev-1.0.la
+pkgconfig_DATA += extras/gudev/gudev-1.0.pc
+
+extras_gudev_libgudev_1_0_la_SOURCES = \
+	extras/gudev/gudevenums.h \
+	extras/gudev/gudevenumtypes.h \
+	extras/gudev/gudevenumtypes.h\
+	extras/gudev/gudevtypes.h \
+	extras/gudev/gudevclient.h \
+	extras/gudev/gudevclient.c \
+	extras/gudev/gudevdevice.h \
+	extras/gudev/gudevdevice.c \
+	extras/gudev/gudevenumerator.h \
+	extras/gudev/gudevenumerator.c \
+	extras/gudev/gudevprivate.h
+
+dist_extras_gudev_libgudev_1_0_la_SOURCES = \
+	extras/gudev/gudevmarshal.h \
+	extras/gudev/gudevmarshal.c \
+	extras/gudev/gudevenumtypes.h \
+	extras/gudev/gudevenumtypes.c
+BUILT_SOURCES = $(dist_extras_gudev_libgudev_1_0_la_SOURCES)
+
+extras_gudev_libgudev_1_0_la_CPPFLAGS = \
+	$(AM_CPPFLAGS) \
+	-I$(top_builddir)/extras \
+	-I$(top_srcdir)/extras \
+	-I$(top_builddir)/extras/gudev \
+	-I$(top_srcdir)/extras/gudev \
+	-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
+	-D_GUDEV_COMPILATION \
+	-DG_LOG_DOMAIN=\"GUdev\"
+extras_gudev_libgudev_1_0_la_CFLAGS = $(GLIB_CFLAGS)
+extras_gudev_libgudev_1_0_la_LIBADD = libudev/libudev.la $(GLIB_LIBS)
+
+extras_gudev_libgudev_1_0_la_LDFLAGS = \
+	-version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
+	-export-dynamic -no-undefined \
+	-export-symbols-regex '^g_udev_.*'
+
+EXTRA_DIST += \
+	extras/gudev/COPYING \
+	extras/gudev/gudevmarshal.list \
+	extras/gudev/gudevenumtypes.h.template \
+	extras/gudev/gudevenumtypes.c.template
+
+extras/gudev/gudevmarshal.h: extras/gudev/gudevmarshal.list
+	$(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
+
+extras/gudev/gudevmarshal.c: extras/gudev/gudevmarshal.list
+	$(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \
+	glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
+
+extras/gudev/gudevenumtypes.h: extras/gudev/gudevenumtypes.h.template extras/gudev/gudevenums.h
+	$(AM_V_GEN)glib-mkenums --template $^ > \
+	    $@.tmp && mv $@.tmp $@
+
+extras/gudev/gudevenumtypes.c: extras/gudev/gudevenumtypes.c.template extras/gudev/gudevenums.h
+	$(AM_V_GEN)glib-mkenums --template $^ > \
+	    $@.tmp && mv $@.tmp $@
+
+if ENABLE_INTROSPECTION
+extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) Makefile.am
+	$(AM_V_GEN)PKG_CONFIG_PATH=$(top_builddir)/data:$$PKG_CONFIG_PATH \
+	LD_LIBRARY_PATH=$(top_builddir)/extras/gudev:$$LD_LIBRARY_PATH \
+	$(G_IR_SCANNER) -v \
+		--namespace GUdev \
+		--nsversion=1.0 \
+		--include=GObject-2.0 \
+		--library=gudev-1.0 \
+		--library-path=extras/gudev \
+		--output $@ \
+		--pkg=glib-2.0 \
+		--pkg=gobject-2.0 \
+		-I$(top_builddir)/extras \
+		-I$(top_srcdir)/extras \
+		-D_GUDEV_COMPILATION \
+		-D_GUDEV_WORK_AROUND_DEV_T_BUG \
+		$(top_srcdir)/extras/gudev/gudev.h \
+		$(top_srcdir)/extras/gudev/gudevtypes.h \
+		$(top_srcdir)/extras/gudev/gudevenums.h \
+		$(or $(wildcard $(top_builddir)/extras/gudev/gudevenumtypes.h),$(top_srcdir)/extras/gudev/gudevenumtypes.h) \
+		$(top_srcdir)/extras/gudev/gudevclient.h \
+		$(top_srcdir)/extras/gudev/gudevdevice.h \
+		$(top_srcdir)/extras/gudev/gudevenumerator.h \
+		$(top_srcdir)/extras/gudev/gudevclient.c \
+		$(top_srcdir)/extras/gudev/gudevdevice.c \
+		$(top_srcdir)/extras/gudev/gudevenumerator.c
+
+extras/gudev/GUdev-1.0.typelib: extras/gudev/GUdev-1.0.gir $(G_IR_COMPILER)
+	$(AM_V_GEN)g-ir-compiler $< -o $@
+
+girdir = $(GIRDIR)
+gir_DATA = extras/gudev/GUdev-1.0.gir
+
+typelibsdir = $(GIRTYPELIBDIR)
+typelibs_DATA = extras/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
+
+# ------------------------------------------------------------------------------
+# Bluetooth HID devices with special magic to switch the device
+# ------------------------------------------------------------------------------
+extras_hid2hci_hid2hci_SOURCES = extras/hid2hci/hid2hci.c
+extras_hid2hci_hid2hci_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
+extras_hid2hci_hid2hci_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
+dist_udevrules_DATA += extras/hid2hci/70-hid2hci.rules
+libexec_PROGRAMS += extras/hid2hci/hid2hci
+
+# ------------------------------------------------------------------------------
+# udev_acl - apply ACLs for users with local forground sessions
+# ------------------------------------------------------------------------------
+extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
+extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
+extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
+dist_udevrules_DATA += extras/udev-acl/70-acl.rules
+libexec_PROGRAMS += extras/udev-acl/udev-acl
+
+udevacl-install-hook:
+	mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
+	ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
+
+INSTALL_EXEC_HOOKS += udevacl-install-hook
+
+# ------------------------------------------------------------------------------
+# usb-db - read USB vendor/device string database
+# ------------------------------------------------------------------------------
+extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
+extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
+extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb-db/usb-db
+
+# ------------------------------------------------------------------------------
+# pci-db - read PCI vendor/device string database
+# ------------------------------------------------------------------------------
+extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
+extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
+extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
+libexec_PROGRAMS += extras/usb-db/pci-db
+
+# ------------------------------------------------------------------------------
+# mobile-action-modeswitch - switch Mobile Action cables into serial mode
+# ------------------------------------------------------------------------------
+extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES =\
+	extras/mobile-action-modeswitch/mobile-action-modeswitch.c \
+	extras/mobile-action-modeswitch/utils.c \
+	extras/mobile-action-modeswitch/utils.h \
+	extras/mobile-action-modeswitch/ma8280p_us.c \
+	extras/mobile-action-modeswitch/ma8280p_us.h
+extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
+extras_mobile_action_modeswitch_mobile_action_modeswitch_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
+
+dist_udevrules_DATA += \
+	extras/mobile-action-modeswitch/61-mobile-action.rules
+
+libexec_PROGRAMS += extras/mobile-action-modeswitch/mobile-action-modeswitch
+
+# ------------------------------------------------------------------------------
+# mtd_probe - autoloads FTL module for mtd devices
+# ------------------------------------------------------------------------------
+extras_mtd_probe_mtd_probe_SOURCES =  \
+							extras/mtd_probe/mtd_probe.c \
+							extras/mtd_probe/mtd_probe.h \
+							extras/mtd_probe/probe_smartmedia.c
+
+extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
+
+dist_udevrules_DATA += extras/mtd_probe/75-probe_mtd.rules
+
+libexec_PROGRAMS += extras/mtd_probe/mtd_probe
+ 
+
+# ------------------------------------------------------------------------------
+# keymap - map custom hardware's multimedia keys
+# ------------------------------------------------------------------------------
+extras_keymap_keymap_SOURCES = extras/keymap/keymap.c
+extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I extras/keymap
+nodist_extras_keymap_keymap_SOURCES = \
+	extras/keymap/keys-from-name.h \
+	extras/keymap/keys-to-name.h
+BUILT_SOURCES += $(nodist_extras_keymap_keymap_SOURCES)
+
+EXTRA_DIST += extras/keymap/check-keymaps.sh
+dist_udevrules_DATA += extras/keymap/95-keymap.rules
+dist_udevrules_DATA += extras/keymap/95-keyboard-force-release.rules
+libexec_PROGRAMS += extras/keymap/keymap
+dist_libexec_SCRIPTS += extras/keymap/findkeyboards
+dist_libexec_SCRIPTS += extras/keymap/keyboard-force-release.sh
+dist_doc_DATA = extras/keymap/README.keymap.txt
+
+CLEANFILES += \
+	extras/keymap/keys.txt \
+	extras/keymap/keys-from-name.gperf
+
+udevkeymapdir = $(libexecdir)/keymaps
+dist_udevkeymap_DATA = \
+	extras/keymap/keymaps/acer \
+	extras/keymap/keymaps/acer-aspire_5720 \
+	extras/keymap/keymaps/acer-aspire_8930 \
+	extras/keymap/keymaps/acer-aspire_5920g \
+	extras/keymap/keymaps/acer-aspire_6920 \
+	extras/keymap/keymaps/acer-travelmate_c300 \
+	extras/keymap/keymaps/asus \
+	extras/keymap/keymaps/compaq-e_evo \
+	extras/keymap/keymaps/dell \
+	extras/keymap/keymaps/everex-xt5000 \
+	extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
+	extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
+	extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \
+	extras/keymap/keymaps/fujitsu-amilo_si_1520 \
+	extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
+	extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
+	extras/keymap/keymaps/hewlett-packard \
+	extras/keymap/keymaps/hewlett-packard-2510p_2530p \
+	extras/keymap/keymaps/hewlett-packard-compaq_elitebook \
+	extras/keymap/keymaps/hewlett-packard-pavilion \
+	extras/keymap/keymaps/hewlett-packard-presario-2100 \
+	extras/keymap/keymaps/hewlett-packard-tablet \
+	extras/keymap/keymaps/hewlett-packard-tx2 \
+	extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
+	extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
+	extras/keymap/keymaps/lenovo-3000 \
+	extras/keymap/keymaps/lenovo-ideapad \
+	extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
+	extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
+	extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
+	extras/keymap/keymaps/lg-x110 \
+	extras/keymap/keymaps/logitech-wave \
+	extras/keymap/keymaps/logitech-wave-cordless \
+	extras/keymap/keymaps/logitech-wave-pro-cordless \
+	extras/keymap/keymaps/maxdata-pro_7000 \
+	extras/keymap/keymaps/medion-fid2060 \
+	extras/keymap/keymaps/medionnb-a555 \
+	extras/keymap/keymaps/micro-star \
+	extras/keymap/keymaps/module-asus-w3j \
+	extras/keymap/keymaps/module-ibm \
+	extras/keymap/keymaps/module-lenovo \
+	extras/keymap/keymaps/module-sony \
+	extras/keymap/keymaps/module-sony-old \
+	extras/keymap/keymaps/module-sony-vgn \
+	extras/keymap/keymaps/olpc-xo \
+	extras/keymap/keymaps/onkyo \
+	extras/keymap/keymaps/oqo-model2 \
+	extras/keymap/keymaps/samsung-other \
+	extras/keymap/keymaps/samsung-sq1us \
+	extras/keymap/keymaps/samsung-sx20s \
+	extras/keymap/keymaps/toshiba-satellite_a100 \
+	extras/keymap/keymaps/toshiba-satellite_a110 \
+	extras/keymap/keymaps/toshiba-satellite_m30x \
+	extras/keymap/keymaps/zepto-znote
+
+udevkeymapforcereldir = $(libexecdir)/keymaps/force-release
+dist_udevkeymapforcerel_DATA = \
+	extras/keymap/force-release-maps/dell-touchpad \
+	extras/keymap/force-release-maps/hp-other \
+	extras/keymap/force-release-maps/samsung-other \
+	extras/keymap/force-release-maps/common-volume-keys
+
+extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
+	$(AM_V_at)mkdir -p extras/keymap
+	$(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
+
+extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt
+	$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
+
+extras/keymap/keys-from-name.h: extras/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 < $< > $@
+
+extras/keymap/keys-to-name.h: extras/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: extras/keymap/keys.txt
+	$(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
+DISTCHECK_HOOKS += keymaps-distcheck-hook
+
+endif # ENABLE_EXTRAS
+
+# ------------------------------------------------------------------------------
+# install, uninstall, clean hooks
+# ------------------------------------------------------------------------------
+clean-local:
+	rm -rf udev-test-install
+
+distclean-local:
+	rm -rf autom4te.cache
+
+CLEANFILES += \
+	udev-$(VERSION).tar.gz \
+	udev-$(VERSION).tar.bz2 \
+	$(BUILT_SOURCES)
+
+EXTRA_DIST += $(TESTS)
+EXTRA_DIST += test/rule-syntax-check.py
+
+install-exec-hook: $(INSTALL_EXEC_HOOKS)
+
+install-data-hook: $(INSTALL_DATA_HOOKS)
+
+uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
+
+distcheck-hook: $(DISTCHECK_HOOKS)
+
+# ------------------------------------------------------------------------------
+# custom release helpers
+# ------------------------------------------------------------------------------
+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)"
+	cat .git/refs/heads/master > .git/refs/tags/$(VERSION)
+	git gc
+	git prune
+
+doc-sync:
+	rsync -av udev/*.html master.kernel.org:/pub/linux/utils/kernel/hotplug/udev/
+	rsync -av --delete libudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/libudev/
+	rsync -av --delete extras/gudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/gudev/
diff --git a/udev-166/Makefile.in b/udev-166/Makefile.in
new file mode 100644
index 0000000..12a74f1
--- /dev/null
+++ b/udev-166/Makefile.in
@@ -0,0 +1,3249 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# ------------------------------------------------------------------------------
+# Copyright (C) 2008-2009 Kay Sievers <kay.sievers@vrfy.org>
+# Copyright (C) 2009 Diego Elio 'Flameeyes' Pettenò <flameeyes@gmail.com>
+# ------------------------------------------------------------------------------
+
+
+
+
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+@WITH_SELINUX_TRUE@am__append_1 = libudev/libudev-selinux-private.c
+@WITH_SYSTEMD_TRUE@am__append_2 = systemd-install-hook
+sbin_PROGRAMS = udev/udevd$(EXEEXT) udev/udevadm$(EXEEXT)
+check_PROGRAMS = libudev/test-libudev$(EXEEXT) udev/test-udev$(EXEEXT)
+libexec_PROGRAMS = extras/firmware/firmware$(EXEEXT) \
+	extras/ata_id/ata_id$(EXEEXT) \
+	extras/cdrom_id/cdrom_id$(EXEEXT) \
+	extras/collect/collect$(EXEEXT) extras/edd_id/edd_id$(EXEEXT) \
+	extras/floppy/create_floppy_devices$(EXEEXT) \
+	extras/input_id/input_id$(EXEEXT) \
+	extras/path_id/path_id$(EXEEXT) \
+	extras/fstab_import/fstab_import$(EXEEXT) \
+	extras/scsi_id/scsi_id$(EXEEXT) extras/usb_id/usb_id$(EXEEXT) \
+	extras/v4l_id/v4l_id$(EXEEXT) $(am__EXEEXT_1)
+
+# ------------------------------------------------------------------------------
+# conditional extras (need glib, libusb, libacl, ...)
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@am__append_3 =  \
+@ENABLE_EXTRAS_TRUE@	rules/rules.d/75-net-description.rules \
+@ENABLE_EXTRAS_TRUE@	rules/rules.d/75-tty-description.rules \
+@ENABLE_EXTRAS_TRUE@	rules/rules.d/78-sound-card.rules \
+@ENABLE_EXTRAS_TRUE@	extras/hid2hci/70-hid2hci.rules \
+@ENABLE_EXTRAS_TRUE@	extras/udev-acl/70-acl.rules \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/61-mobile-action.rules \
+@ENABLE_EXTRAS_TRUE@	extras/mtd_probe/75-probe_mtd.rules \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/95-keymap.rules \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/95-keyboard-force-release.rules
+@ENABLE_EXTRAS_TRUE@am__append_4 = extras/gudev/docs
+@ENABLE_EXTRAS_TRUE@am__append_5 = extras/gudev/libgudev-1.0.la
+@ENABLE_EXTRAS_TRUE@am__append_6 = extras/gudev/gudev-1.0.pc
+@ENABLE_EXTRAS_TRUE@am__append_7 = extras/gudev/COPYING \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevmarshal.list \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.h.template \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.c.template \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/check-keymaps.sh
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@am__append_8 = $(gir_DATA) $(typelibs_DATA)
+@ENABLE_EXTRAS_TRUE@am__append_9 = libgudev-install-move-hook \
+@ENABLE_EXTRAS_TRUE@	udevacl-install-hook
+@ENABLE_EXTRAS_TRUE@am__append_10 = libgudev-uninstall-move-hook
+@ENABLE_EXTRAS_TRUE@am__append_11 = extras/hid2hci/hid2hci \
+@ENABLE_EXTRAS_TRUE@	extras/udev-acl/udev-acl \
+@ENABLE_EXTRAS_TRUE@	extras/usb-db/usb-db extras/usb-db/pci-db \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/mobile-action-modeswitch \
+@ENABLE_EXTRAS_TRUE@	extras/mtd_probe/mtd_probe \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymap
+@ENABLE_EXTRAS_TRUE@am__append_12 = extras/keymap/findkeyboards \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keyboard-force-release.sh
+@ENABLE_EXTRAS_TRUE@am__append_13 = \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keys.txt \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keys-from-name.gperf
+
+@ENABLE_EXTRAS_TRUE@am__append_14 = keymaps-distcheck-hook
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(am__dist_doc_DATA_DIST) \
+	$(am__dist_libexec_SCRIPTS_DIST) \
+	$(am__dist_udevkeymap_DATA_DIST) \
+	$(am__dist_udevkeymapforcerel_DATA_DIST) \
+	$(am__dist_udevrules_DATA_DIST) \
+	$(am__libgudev_include_HEADERS_DIST) $(dist_man_MANS) \
+	$(dist_noinst_DATA) $(dist_udevconf_DATA) \
+	$(dist_udevhome_DATA) $(include_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure \
+	$(top_srcdir)/extras/gudev/gudev-1.0.pc.in \
+	$(top_srcdir)/init/udev-retry.service.in \
+	$(top_srcdir)/init/udev-settle.service.in \
+	$(top_srcdir)/init/udev.service.in \
+	$(top_srcdir)/libudev/libudev.pc.in \
+	$(top_srcdir)/udev/udev.pc.in COPYING ChangeLog INSTALL NEWS \
+	TODO config.guess config.sub depcomp install-sh ltmain.sh \
+	missing
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
+	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = udev/udev.pc init/udev.service \
+	init/udev-settle.service init/udev-retry.service \
+	libudev/libudev.pc extras/gudev/gudev-1.0.pc
+CONFIG_CLEAN_VPATH_FILES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libexecdir)" \
+	"$(DESTDIR)$(sbindir)" "$(DESTDIR)$(libexecdir)" \
+	"$(DESTDIR)$(man7dir)" "$(DESTDIR)$(man8dir)" \
+	"$(DESTDIR)$(docdir)" "$(DESTDIR)$(udevconfdir)" \
+	"$(DESTDIR)$(udevhomedir)" "$(DESTDIR)$(udevkeymapdir)" \
+	"$(DESTDIR)$(udevkeymapforcereldir)" \
+	"$(DESTDIR)$(udevrulesdir)" "$(DESTDIR)$(girdir)" \
+	"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(sharepkgconfigdir)" \
+	"$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(typelibsdir)" \
+	"$(DESTDIR)$(includedir)" "$(DESTDIR)$(libgudev_includedir)"
+LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
+am__DEPENDENCIES_1 =
+@ENABLE_EXTRAS_TRUE@extras_gudev_libgudev_1_0_la_DEPENDENCIES =  \
+@ENABLE_EXTRAS_TRUE@	libudev/libudev.la $(am__DEPENDENCIES_1)
+am__extras_gudev_libgudev_1_0_la_SOURCES_DIST =  \
+	extras/gudev/gudevenums.h extras/gudev/gudevenumtypes.h \
+	extras/gudev/gudevtypes.h extras/gudev/gudevclient.h \
+	extras/gudev/gudevclient.c extras/gudev/gudevdevice.h \
+	extras/gudev/gudevdevice.c extras/gudev/gudevenumerator.h \
+	extras/gudev/gudevenumerator.c extras/gudev/gudevprivate.h
+am__dirstamp = $(am__leading_dot)dirstamp
+@ENABLE_EXTRAS_TRUE@am_extras_gudev_libgudev_1_0_la_OBJECTS = extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo
+am__dist_extras_gudev_libgudev_1_0_la_SOURCES_DIST =  \
+	extras/gudev/gudevmarshal.h extras/gudev/gudevmarshal.c \
+	extras/gudev/gudevenumtypes.h extras/gudev/gudevenumtypes.c
+@ENABLE_EXTRAS_TRUE@dist_extras_gudev_libgudev_1_0_la_OBJECTS = extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo
+extras_gudev_libgudev_1_0_la_OBJECTS =  \
+	$(am_extras_gudev_libgudev_1_0_la_OBJECTS) \
+	$(dist_extras_gudev_libgudev_1_0_la_OBJECTS)
+AM_V_lt = $(am__v_lt_$(V))
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
+am__v_lt_0 = --silent
+extras_gudev_libgudev_1_0_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) \
+	$(extras_gudev_libgudev_1_0_la_LDFLAGS) $(LDFLAGS) -o $@
+@ENABLE_EXTRAS_TRUE@am_extras_gudev_libgudev_1_0_la_rpath = -rpath \
+@ENABLE_EXTRAS_TRUE@	$(libdir)
+@WITH_SELINUX_TRUE@libudev_libudev_private_la_DEPENDENCIES =  \
+@WITH_SELINUX_TRUE@	$(am__DEPENDENCIES_1)
+am__libudev_libudev_private_la_SOURCES_DIST =  \
+	libudev/libudev-private.h libudev/libudev.c \
+	libudev/libudev-list.c libudev/libudev-util.c \
+	libudev/libudev-device.c libudev/libudev-enumerate.c \
+	libudev/libudev-monitor.c libudev/libudev-queue.c \
+	libudev/libudev-ctrl.c libudev/libudev-util-private.c \
+	libudev/libudev-device-private.c \
+	libudev/libudev-queue-private.c \
+	libudev/libudev-selinux-private.c
+am__objects_1 = libudev/libudev.lo libudev/libudev-list.lo \
+	libudev/libudev-util.lo libudev/libudev-device.lo \
+	libudev/libudev-enumerate.lo libudev/libudev-monitor.lo \
+	libudev/libudev-queue.lo
+@WITH_SELINUX_TRUE@am__objects_2 = libudev/libudev-selinux-private.lo
+am_libudev_libudev_private_la_OBJECTS = $(am__objects_1) \
+	libudev/libudev-ctrl.lo libudev/libudev-util-private.lo \
+	libudev/libudev-device-private.lo \
+	libudev/libudev-queue-private.lo $(am__objects_2)
+libudev_libudev_private_la_OBJECTS =  \
+	$(am_libudev_libudev_private_la_OBJECTS)
+libudev_libudev_la_LIBADD =
+am_libudev_libudev_la_OBJECTS = libudev/libudev.lo \
+	libudev/libudev-list.lo libudev/libudev-util.lo \
+	libudev/libudev-device.lo libudev/libudev-enumerate.lo \
+	libudev/libudev-monitor.lo libudev/libudev-queue.lo
+libudev_libudev_la_OBJECTS = $(am_libudev_libudev_la_OBJECTS)
+libudev_libudev_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(AM_CFLAGS) $(CFLAGS) $(libudev_libudev_la_LDFLAGS) \
+	$(LDFLAGS) -o $@
+@ENABLE_EXTRAS_TRUE@am__EXEEXT_1 = extras/hid2hci/hid2hci$(EXEEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/udev-acl/udev-acl$(EXEEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/usb-db/usb-db$(EXEEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/usb-db/pci-db$(EXEEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/mobile-action-modeswitch$(EXEEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/mtd_probe/mtd_probe$(EXEEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymap$(EXEEXT)
+PROGRAMS = $(libexec_PROGRAMS) $(sbin_PROGRAMS)
+am_extras_ata_id_ata_id_OBJECTS = extras/ata_id/ata_id.$(OBJEXT)
+extras_ata_id_ata_id_OBJECTS = $(am_extras_ata_id_ata_id_OBJECTS)
+extras_ata_id_ata_id_DEPENDENCIES = libudev/libudev-private.la
+am_extras_cdrom_id_cdrom_id_OBJECTS =  \
+	extras/cdrom_id/cdrom_id.$(OBJEXT)
+extras_cdrom_id_cdrom_id_OBJECTS =  \
+	$(am_extras_cdrom_id_cdrom_id_OBJECTS)
+extras_cdrom_id_cdrom_id_DEPENDENCIES = libudev/libudev-private.la
+am_extras_collect_collect_OBJECTS = extras/collect/collect.$(OBJEXT)
+extras_collect_collect_OBJECTS = $(am_extras_collect_collect_OBJECTS)
+extras_collect_collect_DEPENDENCIES = libudev/libudev-private.la
+am_extras_edd_id_edd_id_OBJECTS = extras/edd_id/edd_id.$(OBJEXT)
+extras_edd_id_edd_id_OBJECTS = $(am_extras_edd_id_edd_id_OBJECTS)
+extras_edd_id_edd_id_DEPENDENCIES = libudev/libudev-private.la
+am_extras_firmware_firmware_OBJECTS =  \
+	extras/firmware/extras_firmware_firmware-firmware.$(OBJEXT)
+extras_firmware_firmware_OBJECTS =  \
+	$(am_extras_firmware_firmware_OBJECTS)
+extras_firmware_firmware_DEPENDENCIES = libudev/libudev-private.la
+am_extras_floppy_create_floppy_devices_OBJECTS =  \
+	extras/floppy/create_floppy_devices.$(OBJEXT)
+extras_floppy_create_floppy_devices_OBJECTS =  \
+	$(am_extras_floppy_create_floppy_devices_OBJECTS)
+extras_floppy_create_floppy_devices_DEPENDENCIES =  \
+	libudev/libudev-private.la
+am_extras_fstab_import_fstab_import_OBJECTS =  \
+	extras/fstab_import/fstab_import.$(OBJEXT)
+extras_fstab_import_fstab_import_OBJECTS =  \
+	$(am_extras_fstab_import_fstab_import_OBJECTS)
+extras_fstab_import_fstab_import_DEPENDENCIES =  \
+	libudev/libudev-private.la
+am__extras_hid2hci_hid2hci_SOURCES_DIST = extras/hid2hci/hid2hci.c
+@ENABLE_EXTRAS_TRUE@am_extras_hid2hci_hid2hci_OBJECTS = extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.$(OBJEXT)
+extras_hid2hci_hid2hci_OBJECTS = $(am_extras_hid2hci_hid2hci_OBJECTS)
+@ENABLE_EXTRAS_TRUE@extras_hid2hci_hid2hci_DEPENDENCIES =  \
+@ENABLE_EXTRAS_TRUE@	libudev/libudev-private.la \
+@ENABLE_EXTRAS_TRUE@	$(am__DEPENDENCIES_1)
+am_extras_input_id_input_id_OBJECTS =  \
+	extras/input_id/input_id.$(OBJEXT)
+extras_input_id_input_id_OBJECTS =  \
+	$(am_extras_input_id_input_id_OBJECTS)
+extras_input_id_input_id_DEPENDENCIES = libudev/libudev-private.la
+am__extras_keymap_keymap_SOURCES_DIST = extras/keymap/keymap.c
+@ENABLE_EXTRAS_TRUE@am_extras_keymap_keymap_OBJECTS = extras/keymap/extras_keymap_keymap-keymap.$(OBJEXT)
+nodist_extras_keymap_keymap_OBJECTS =
+extras_keymap_keymap_OBJECTS = $(am_extras_keymap_keymap_OBJECTS) \
+	$(nodist_extras_keymap_keymap_OBJECTS)
+extras_keymap_keymap_LDADD = $(LDADD)
+am__extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES_DIST =  \
+	extras/mobile-action-modeswitch/mobile-action-modeswitch.c \
+	extras/mobile-action-modeswitch/utils.c \
+	extras/mobile-action-modeswitch/utils.h \
+	extras/mobile-action-modeswitch/ma8280p_us.c \
+	extras/mobile-action-modeswitch/ma8280p_us.h
+@ENABLE_EXTRAS_TRUE@am_extras_mobile_action_modeswitch_mobile_action_modeswitch_OBJECTS = extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.$(OBJEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.$(OBJEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.$(OBJEXT)
+extras_mobile_action_modeswitch_mobile_action_modeswitch_OBJECTS = $(am_extras_mobile_action_modeswitch_mobile_action_modeswitch_OBJECTS)
+@ENABLE_EXTRAS_TRUE@extras_mobile_action_modeswitch_mobile_action_modeswitch_DEPENDENCIES =  \
+@ENABLE_EXTRAS_TRUE@	libudev/libudev-private.la \
+@ENABLE_EXTRAS_TRUE@	$(am__DEPENDENCIES_1)
+am__extras_mtd_probe_mtd_probe_SOURCES_DIST =  \
+	extras/mtd_probe/mtd_probe.c extras/mtd_probe/mtd_probe.h \
+	extras/mtd_probe/probe_smartmedia.c
+@ENABLE_EXTRAS_TRUE@am_extras_mtd_probe_mtd_probe_OBJECTS = extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.$(OBJEXT) \
+@ENABLE_EXTRAS_TRUE@	extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.$(OBJEXT)
+extras_mtd_probe_mtd_probe_OBJECTS =  \
+	$(am_extras_mtd_probe_mtd_probe_OBJECTS)
+extras_mtd_probe_mtd_probe_LDADD = $(LDADD)
+am_extras_path_id_path_id_OBJECTS = extras/path_id/path_id.$(OBJEXT)
+extras_path_id_path_id_OBJECTS = $(am_extras_path_id_path_id_OBJECTS)
+extras_path_id_path_id_DEPENDENCIES = libudev/libudev-private.la
+am_extras_scsi_id_scsi_id_OBJECTS = extras/scsi_id/scsi_id.$(OBJEXT) \
+	extras/scsi_id/scsi_serial.$(OBJEXT)
+extras_scsi_id_scsi_id_OBJECTS = $(am_extras_scsi_id_scsi_id_OBJECTS)
+extras_scsi_id_scsi_id_DEPENDENCIES = libudev/libudev-private.la
+am__extras_udev_acl_udev_acl_SOURCES_DIST =  \
+	extras/udev-acl/udev-acl.c
+@ENABLE_EXTRAS_TRUE@am_extras_udev_acl_udev_acl_OBJECTS = extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.$(OBJEXT)
+extras_udev_acl_udev_acl_OBJECTS =  \
+	$(am_extras_udev_acl_udev_acl_OBJECTS)
+@ENABLE_EXTRAS_TRUE@extras_udev_acl_udev_acl_DEPENDENCIES =  \
+@ENABLE_EXTRAS_TRUE@	libudev/libudev-private.la \
+@ENABLE_EXTRAS_TRUE@	$(am__DEPENDENCIES_1)
+am__extras_usb_db_pci_db_SOURCES_DIST = extras/usb-db/usb-db.c
+@ENABLE_EXTRAS_TRUE@am_extras_usb_db_pci_db_OBJECTS = extras/usb-db/extras_usb_db_pci_db-usb-db.$(OBJEXT)
+extras_usb_db_pci_db_OBJECTS = $(am_extras_usb_db_pci_db_OBJECTS)
+@ENABLE_EXTRAS_TRUE@extras_usb_db_pci_db_DEPENDENCIES =  \
+@ENABLE_EXTRAS_TRUE@	libudev/libudev-private.la
+am__extras_usb_db_usb_db_SOURCES_DIST = extras/usb-db/usb-db.c
+@ENABLE_EXTRAS_TRUE@am_extras_usb_db_usb_db_OBJECTS = extras/usb-db/extras_usb_db_usb_db-usb-db.$(OBJEXT)
+extras_usb_db_usb_db_OBJECTS = $(am_extras_usb_db_usb_db_OBJECTS)
+@ENABLE_EXTRAS_TRUE@extras_usb_db_usb_db_DEPENDENCIES =  \
+@ENABLE_EXTRAS_TRUE@	libudev/libudev-private.la
+am_extras_usb_id_usb_id_OBJECTS = extras/usb_id/usb_id.$(OBJEXT)
+extras_usb_id_usb_id_OBJECTS = $(am_extras_usb_id_usb_id_OBJECTS)
+extras_usb_id_usb_id_DEPENDENCIES = libudev/libudev-private.la
+am_extras_v4l_id_v4l_id_OBJECTS = extras/v4l_id/v4l_id.$(OBJEXT)
+extras_v4l_id_v4l_id_OBJECTS = $(am_extras_v4l_id_v4l_id_OBJECTS)
+extras_v4l_id_v4l_id_DEPENDENCIES = libudev/libudev-private.la
+am_libudev_test_libudev_OBJECTS = libudev/test-libudev.$(OBJEXT)
+libudev_test_libudev_OBJECTS = $(am_libudev_test_libudev_OBJECTS)
+libudev_test_libudev_DEPENDENCIES = libudev/libudev.la
+am__objects_3 = udev/udev-event.$(OBJEXT) udev/udev-watch.$(OBJEXT) \
+	udev/udev-node.$(OBJEXT) udev/udev-rules.$(OBJEXT)
+am_udev_test_udev_OBJECTS = $(am__objects_3) udev/test-udev.$(OBJEXT)
+udev_test_udev_OBJECTS = $(am_udev_test_udev_OBJECTS)
+udev_test_udev_DEPENDENCIES = libudev/libudev-private.la
+am_udev_udevadm_OBJECTS = $(am__objects_3) udev/udevadm.$(OBJEXT) \
+	udev/udevadm-info.$(OBJEXT) udev/udevadm-control.$(OBJEXT) \
+	udev/udevadm-test.$(OBJEXT) udev/udevadm-monitor.$(OBJEXT) \
+	udev/udevadm-settle.$(OBJEXT) udev/udevadm-trigger.$(OBJEXT)
+udev_udevadm_OBJECTS = $(am_udev_udevadm_OBJECTS)
+udev_udevadm_DEPENDENCIES = libudev/libudev-private.la
+am_udev_udevd_OBJECTS = $(am__objects_3) udev/udevd.$(OBJEXT) \
+	udev/sd-daemon.$(OBJEXT)
+udev_udevd_OBJECTS = $(am_udev_udevd_OBJECTS)
+udev_udevd_DEPENDENCIES = libudev/libudev-private.la
+am__dist_libexec_SCRIPTS_DIST = extras/rule_generator/write_cd_rules \
+	extras/rule_generator/write_net_rules \
+	extras/keymap/findkeyboards \
+	extras/keymap/keyboard-force-release.sh
+SCRIPTS = $(dist_libexec_SCRIPTS)
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_$(V))
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
+am__v_CC_0 = @echo "  CC    " $@;
+AM_V_at = $(am__v_at_$(V))
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
+am__v_at_0 = @
+CCLD = $(CC)
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_$(V))
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
+am__v_CCLD_0 = @echo "  CCLD  " $@;
+AM_V_GEN = $(am__v_GEN_$(V))
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
+am__v_GEN_0 = @echo "  GEN   " $@;
+SOURCES = $(extras_gudev_libgudev_1_0_la_SOURCES) \
+	$(dist_extras_gudev_libgudev_1_0_la_SOURCES) \
+	$(libudev_libudev_private_la_SOURCES) \
+	$(libudev_libudev_la_SOURCES) $(extras_ata_id_ata_id_SOURCES) \
+	$(extras_cdrom_id_cdrom_id_SOURCES) \
+	$(extras_collect_collect_SOURCES) \
+	$(extras_edd_id_edd_id_SOURCES) \
+	$(extras_firmware_firmware_SOURCES) \
+	$(extras_floppy_create_floppy_devices_SOURCES) \
+	$(extras_fstab_import_fstab_import_SOURCES) \
+	$(extras_hid2hci_hid2hci_SOURCES) \
+	$(extras_input_id_input_id_SOURCES) \
+	$(extras_keymap_keymap_SOURCES) \
+	$(nodist_extras_keymap_keymap_SOURCES) \
+	$(extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES) \
+	$(extras_mtd_probe_mtd_probe_SOURCES) \
+	$(extras_path_id_path_id_SOURCES) \
+	$(extras_scsi_id_scsi_id_SOURCES) \
+	$(extras_udev_acl_udev_acl_SOURCES) \
+	$(extras_usb_db_pci_db_SOURCES) \
+	$(extras_usb_db_usb_db_SOURCES) \
+	$(extras_usb_id_usb_id_SOURCES) \
+	$(extras_v4l_id_v4l_id_SOURCES) \
+	$(libudev_test_libudev_SOURCES) $(udev_test_udev_SOURCES) \
+	$(udev_udevadm_SOURCES) $(udev_udevd_SOURCES)
+DIST_SOURCES = $(am__extras_gudev_libgudev_1_0_la_SOURCES_DIST) \
+	$(am__dist_extras_gudev_libgudev_1_0_la_SOURCES_DIST) \
+	$(am__libudev_libudev_private_la_SOURCES_DIST) \
+	$(libudev_libudev_la_SOURCES) $(extras_ata_id_ata_id_SOURCES) \
+	$(extras_cdrom_id_cdrom_id_SOURCES) \
+	$(extras_collect_collect_SOURCES) \
+	$(extras_edd_id_edd_id_SOURCES) \
+	$(extras_firmware_firmware_SOURCES) \
+	$(extras_floppy_create_floppy_devices_SOURCES) \
+	$(extras_fstab_import_fstab_import_SOURCES) \
+	$(am__extras_hid2hci_hid2hci_SOURCES_DIST) \
+	$(extras_input_id_input_id_SOURCES) \
+	$(am__extras_keymap_keymap_SOURCES_DIST) \
+	$(am__extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES_DIST) \
+	$(am__extras_mtd_probe_mtd_probe_SOURCES_DIST) \
+	$(extras_path_id_path_id_SOURCES) \
+	$(extras_scsi_id_scsi_id_SOURCES) \
+	$(am__extras_udev_acl_udev_acl_SOURCES_DIST) \
+	$(am__extras_usb_db_pci_db_SOURCES_DIST) \
+	$(am__extras_usb_db_usb_db_SOURCES_DIST) \
+	$(extras_usb_id_usb_id_SOURCES) \
+	$(extras_v4l_id_v4l_id_SOURCES) \
+	$(libudev_test_libudev_SOURCES) $(udev_test_udev_SOURCES) \
+	$(udev_udevadm_SOURCES) $(udev_udevd_SOURCES)
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+man7dir = $(mandir)/man7
+man8dir = $(mandir)/man8
+NROFF = nroff
+MANS = $(dist_man_MANS)
+am__dist_doc_DATA_DIST = extras/keymap/README.keymap.txt
+am__dist_udevkeymap_DATA_DIST = extras/keymap/keymaps/acer \
+	extras/keymap/keymaps/acer-aspire_5720 \
+	extras/keymap/keymaps/acer-aspire_8930 \
+	extras/keymap/keymaps/acer-aspire_5920g \
+	extras/keymap/keymaps/acer-aspire_6920 \
+	extras/keymap/keymaps/acer-travelmate_c300 \
+	extras/keymap/keymaps/asus extras/keymap/keymaps/compaq-e_evo \
+	extras/keymap/keymaps/dell extras/keymap/keymaps/everex-xt5000 \
+	extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
+	extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
+	extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \
+	extras/keymap/keymaps/fujitsu-amilo_si_1520 \
+	extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
+	extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
+	extras/keymap/keymaps/hewlett-packard \
+	extras/keymap/keymaps/hewlett-packard-2510p_2530p \
+	extras/keymap/keymaps/hewlett-packard-compaq_elitebook \
+	extras/keymap/keymaps/hewlett-packard-pavilion \
+	extras/keymap/keymaps/hewlett-packard-presario-2100 \
+	extras/keymap/keymaps/hewlett-packard-tablet \
+	extras/keymap/keymaps/hewlett-packard-tx2 \
+	extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
+	extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
+	extras/keymap/keymaps/lenovo-3000 \
+	extras/keymap/keymaps/lenovo-ideapad \
+	extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
+	extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
+	extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
+	extras/keymap/keymaps/lg-x110 \
+	extras/keymap/keymaps/logitech-wave \
+	extras/keymap/keymaps/logitech-wave-cordless \
+	extras/keymap/keymaps/logitech-wave-pro-cordless \
+	extras/keymap/keymaps/maxdata-pro_7000 \
+	extras/keymap/keymaps/medion-fid2060 \
+	extras/keymap/keymaps/medionnb-a555 \
+	extras/keymap/keymaps/micro-star \
+	extras/keymap/keymaps/module-asus-w3j \
+	extras/keymap/keymaps/module-ibm \
+	extras/keymap/keymaps/module-lenovo \
+	extras/keymap/keymaps/module-sony \
+	extras/keymap/keymaps/module-sony-old \
+	extras/keymap/keymaps/module-sony-vgn \
+	extras/keymap/keymaps/olpc-xo extras/keymap/keymaps/onkyo \
+	extras/keymap/keymaps/oqo-model2 \
+	extras/keymap/keymaps/samsung-other \
+	extras/keymap/keymaps/samsung-sq1us \
+	extras/keymap/keymaps/samsung-sx20s \
+	extras/keymap/keymaps/toshiba-satellite_a100 \
+	extras/keymap/keymaps/toshiba-satellite_a110 \
+	extras/keymap/keymaps/toshiba-satellite_m30x \
+	extras/keymap/keymaps/zepto-znote
+am__dist_udevkeymapforcerel_DATA_DIST =  \
+	extras/keymap/force-release-maps/dell-touchpad \
+	extras/keymap/force-release-maps/hp-other \
+	extras/keymap/force-release-maps/samsung-other \
+	extras/keymap/force-release-maps/common-volume-keys
+am__dist_udevrules_DATA_DIST = rules/rules.d/50-udev-default.rules \
+	rules/rules.d/60-persistent-storage.rules \
+	rules/rules.d/60-persistent-storage-tape.rules \
+	rules/rules.d/60-persistent-serial.rules \
+	rules/rules.d/60-persistent-input.rules \
+	rules/rules.d/60-persistent-alsa.rules \
+	rules/rules.d/80-drivers.rules \
+	rules/rules.d/95-udev-late.rules \
+	extras/rule_generator/75-cd-aliases-generator.rules \
+	extras/rule_generator/75-persistent-net-generator.rules \
+	extras/firmware/50-firmware.rules \
+	extras/cdrom_id/60-cdrom_id.rules \
+	extras/edd_id/61-persistent-storage-edd.rules \
+	extras/floppy/60-floppy.rules \
+	extras/fstab_import/79-fstab_import.rules \
+	extras/v4l_id/60-persistent-v4l.rules \
+	extras/qemu/42-qemu-usb.rules \
+	rules/rules.d/75-net-description.rules \
+	rules/rules.d/75-tty-description.rules \
+	rules/rules.d/78-sound-card.rules \
+	extras/hid2hci/70-hid2hci.rules extras/udev-acl/70-acl.rules \
+	extras/mobile-action-modeswitch/61-mobile-action.rules \
+	extras/mtd_probe/75-probe_mtd.rules \
+	extras/keymap/95-keymap.rules \
+	extras/keymap/95-keyboard-force-release.rules
+DATA = $(dist_doc_DATA) $(dist_noinst_DATA) $(dist_udevconf_DATA) \
+	$(dist_udevhome_DATA) $(dist_udevkeymap_DATA) \
+	$(dist_udevkeymapforcerel_DATA) $(dist_udevrules_DATA) \
+	$(gir_DATA) $(pkgconfig_DATA) $(sharepkgconfig_DATA) \
+	$(systemdsystemunit_DATA) $(typelibs_DATA)
+am__libgudev_include_HEADERS_DIST = extras/gudev/gudev.h \
+	extras/gudev/gudevenums.h extras/gudev/gudevenumtypes.h \
+	extras/gudev/gudevtypes.h extras/gudev/gudevclient.h \
+	extras/gudev/gudevdevice.h extras/gudev/gudevenumerator.h
+HEADERS = $(include_HEADERS) $(libgudev_include_HEADERS)
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
+ETAGS = etags
+CTAGS = ctags
+am__tty_colors = \
+red=; grn=; lgn=; blu=; std=
+DIST_SUBDIRS = . libudev/docs extras/gudev/docs
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AR = @AR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FIRMWARE_PATH = @FIRMWARE_PATH@
+GIRDIR = @GIRDIR@
+GIRTYPELIBDIR = @GIRTYPELIBDIR@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_LIBS = @GLIB_LIBS@
+GPERF = @GPERF@
+GREP = @GREP@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+G_IR_COMPILER = @G_IR_COMPILER@
+G_IR_GENERATE = @G_IR_GENERATE@
+G_IR_SCANNER = @G_IR_SCANNER@
+HTML_DIR = @HTML_DIR@
+INCLUDE_PREFIX = @INCLUDE_PREFIX@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
+INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
+LIBUSB_LIBS = @LIBUSB_LIBS@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PCI_DATABASE = @PCI_DATABASE@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+RANLIB = @RANLIB@
+SED = @SED@
+SELINUX_LIBS = @SELINUX_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USBUTILS_CFLAGS = @USBUTILS_CFLAGS@
+USBUTILS_LIBS = @USBUTILS_LIBS@
+USB_DATABASE = @USB_DATABASE@
+VERSION = @VERSION@
+XSLTPROC = @XSLTPROC@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+lt_ECHO = @lt_ECHO@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+rootlib_execdir = @rootlib_execdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+systemdsystemunitdir = @systemdsystemunitdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = . libudev/docs $(am__append_4)
+EXTRA_DIST = autogen.sh libudev/exported_symbols libudev/COPYING \
+	rules/arch rules/misc udev/udev.xml udev/udevadm.xml \
+	udev/udevd.xml $(am__append_7) $(TESTS) \
+	test/rule-syntax-check.py
+ACLOCAL_AMFLAGS = -I m4
+AM_MAKEFLAGS = --no-print-directory
+AM_CPPFLAGS = \
+	-include $(top_builddir)/config.h \
+	-I$(top_srcdir)/libudev \
+	-DSYSCONFDIR=\""$(sysconfdir)"\" \
+	-DLIBEXECDIR=\""$(libexecdir)"\"
+
+AM_LDFLAGS = \
+	-Wl,--as-needed
+
+DISTCHECK_CONFIGURE_FLAGS = \
+	--enable-gtk-doc \
+	--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
+
+CLEANFILES = $(am__append_8) $(am__append_13) udev-$(VERSION).tar.gz \
+	udev-$(VERSION).tar.bz2 $(BUILT_SOURCES)
+INSTALL_EXEC_HOOKS = libudev-install-move-hook $(am__append_9)
+INSTALL_DATA_HOOKS = udev-confdirs $(am__append_2)
+UNINSTALL_EXEC_HOOKS = libudev-uninstall-move-hook $(am__append_10)
+DISTCHECK_HOOKS = $(am__append_14)
+
+# ------------------------------------------------------------------------------
+# libudev
+# ------------------------------------------------------------------------------
+LIBUDEV_CURRENT = 10
+LIBUDEV_REVISION = 0
+LIBUDEV_AGE = 10
+include_HEADERS = libudev/libudev.h
+lib_LTLIBRARIES = libudev/libudev.la $(am__append_5)
+libudev_libudev_la_SOURCES = \
+	libudev/libudev-private.h \
+	libudev/libudev.c \
+	libudev/libudev-list.c \
+	libudev/libudev-util.c \
+	libudev/libudev-device.c \
+	libudev/libudev-enumerate.c \
+	libudev/libudev-monitor.c \
+	libudev/libudev-queue.c
+
+libudev_libudev_la_LDFLAGS = \
+	-version-info $(LIBUDEV_CURRENT):$(LIBUDEV_REVISION):$(LIBUDEV_AGE) \
+	-export-symbols $(top_srcdir)/libudev/exported_symbols
+
+noinst_LTLIBRARIES = \
+	libudev/libudev-private.la
+
+libudev_libudev_private_la_SOURCES = $(libudev_libudev_la_SOURCES) \
+	libudev/libudev-ctrl.c libudev/libudev-util-private.c \
+	libudev/libudev-device-private.c \
+	libudev/libudev-queue-private.c $(am__append_1)
+@WITH_SELINUX_TRUE@libudev_libudev_private_la_LIBADD = $(SELINUX_LIBS)
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libudev/libudev.pc $(am__append_6)
+udevrulesdir = $(libexecdir)/rules.d
+
+# ------------------------------------------------------------------------------
+# qemu -- qemu/kvm guest tweaks
+# ------------------------------------------------------------------------------
+dist_udevrules_DATA = rules/rules.d/50-udev-default.rules \
+	rules/rules.d/60-persistent-storage.rules \
+	rules/rules.d/60-persistent-storage-tape.rules \
+	rules/rules.d/60-persistent-serial.rules \
+	rules/rules.d/60-persistent-input.rules \
+	rules/rules.d/60-persistent-alsa.rules \
+	rules/rules.d/80-drivers.rules \
+	rules/rules.d/95-udev-late.rules \
+	extras/rule_generator/75-cd-aliases-generator.rules \
+	extras/rule_generator/75-persistent-net-generator.rules \
+	extras/firmware/50-firmware.rules \
+	extras/cdrom_id/60-cdrom_id.rules \
+	extras/edd_id/61-persistent-storage-edd.rules \
+	extras/floppy/60-floppy.rules \
+	extras/fstab_import/79-fstab_import.rules \
+	extras/v4l_id/60-persistent-v4l.rules \
+	extras/qemu/42-qemu-usb.rules $(am__append_3)
+udevconfdir = $(sysconfdir)/udev
+dist_udevconf_DATA = udev.conf
+sharepkgconfigdir = $(datadir)/pkgconfig
+sharepkgconfig_DATA = udev/udev.pc
+@WITH_SYSTEMD_TRUE@systemdsystemunit_DATA = \
+@WITH_SYSTEMD_TRUE@	init/udev.service \
+@WITH_SYSTEMD_TRUE@	init/udev-settle.service \
+@WITH_SYSTEMD_TRUE@	init/udev-retry.service
+
+udev_common_sources = \
+	udev/udev.h \
+	udev/udev-event.c \
+	udev/udev-watch.c \
+	udev/udev-node.c \
+	udev/udev-rules.c
+
+udev_udevd_SOURCES = \
+	$(udev_common_sources) \
+	udev/udevd.c \
+	udev/sd-daemon.h \
+	udev/sd-daemon.c
+
+udev_udevd_LDADD = libudev/libudev-private.la
+udev_udevadm_SOURCES = \
+	$(udev_common_sources) \
+	udev/udevadm.c \
+	udev/udevadm-info.c \
+	udev/udevadm-control.c \
+	udev/udevadm-test.c \
+	udev/udevadm-monitor.c \
+	udev/udevadm-settle.c \
+	udev/udevadm-trigger.c
+
+udev_udevadm_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# udev man pages
+# ------------------------------------------------------------------------------
+dist_man_MANS = udev/udev.7 udev/udevadm.8 udev/udevd.8 \
+	extras/scsi_id/scsi_id.8
+dist_noinst_DATA = \
+	udev/udev.html \
+	udev/udevadm.html \
+	udev/udevd.html
+
+
+# ------------------------------------------------------------------------------
+# udev tests
+# ------------------------------------------------------------------------------
+TESTS = test/udev-test.pl test/rules-test.sh
+libudev_test_libudev_SOURCES = libudev/test-libudev.c
+libudev_test_libudev_LDADD = libudev/libudev.la
+udev_test_udev_SOURCES = \
+	$(udev_common_sources) \
+	udev/test-udev.c
+
+udev_test_udev_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# rule_generator - persistent network and optical device rule generator
+# ------------------------------------------------------------------------------
+dist_libexec_SCRIPTS = extras/rule_generator/write_cd_rules \
+	extras/rule_generator/write_net_rules $(am__append_12)
+udevhomedir = $(libexecdir)
+dist_udevhome_DATA = extras/rule_generator/rule_generator.functions
+
+# ------------------------------------------------------------------------------
+# firmware - firmware loading
+# ------------------------------------------------------------------------------
+extras_firmware_firmware_SOURCES = extras/firmware/firmware.c
+extras_firmware_firmware_LDADD = libudev/libudev-private.la
+extras_firmware_firmware_CPPFLAGS = $(AM_CPPFLAGS) -DFIRMWARE_PATH="$(FIRMWARE_PATH)"
+
+# ------------------------------------------------------------------------------
+# ata_id - ATA identify
+# ------------------------------------------------------------------------------
+extras_ata_id_ata_id_SOURCES = extras/ata_id/ata_id.c
+extras_ata_id_ata_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# cdrom_id - optical drive/media capability
+# ------------------------------------------------------------------------------
+extras_cdrom_id_cdrom_id_SOURCES = extras/cdrom_id/cdrom_id.c
+extras_cdrom_id_cdrom_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# collect - trigger action when a collection of devices appeared
+# ------------------------------------------------------------------------------
+extras_collect_collect_SOURCES = extras/collect/collect.c
+extras_collect_collect_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# edd_id - BIOS EDD block device match
+# ------------------------------------------------------------------------------
+extras_edd_id_edd_id_SOURCES = extras/edd_id/edd_id.c
+extras_edd_id_edd_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# create_floppy_devices - historical floppy kernel device nodes (/dev/fd0h1440, ...)
+# ------------------------------------------------------------------------------
+extras_floppy_create_floppy_devices_SOURCES = extras/floppy/create_floppy_devices.c
+extras_floppy_create_floppy_devices_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# input_id - import input device class
+# ------------------------------------------------------------------------------
+extras_input_id_input_id_SOURCES = extras/input_id/input_id.c
+extras_input_id_input_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# path_id - compose identifier of persistent elements of the parent buses
+# ------------------------------------------------------------------------------
+extras_path_id_path_id_SOURCES = extras/path_id/path_id.c
+extras_path_id_path_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# fstab_import - import /etc/fstab entry for block device
+# ------------------------------------------------------------------------------
+extras_fstab_import_fstab_import_SOURCES = extras/fstab_import/fstab_import.c
+extras_fstab_import_fstab_import_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# scsi_id - SCSI inquiry to get various serial numbers
+# ------------------------------------------------------------------------------
+extras_scsi_id_scsi_id_SOURCES = \
+	extras/scsi_id/scsi_id.c \
+	extras/scsi_id/scsi_serial.c \
+	extras/scsi_id/scsi.h \
+	extras/scsi_id/scsi_id.h
+
+extras_scsi_id_scsi_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# usb_id - USB device property import
+# ------------------------------------------------------------------------------
+extras_usb_id_usb_id_SOURCES = extras/usb_id/usb_id.c
+extras_usb_id_usb_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# v4l_id - video4linux capabilities
+# ------------------------------------------------------------------------------
+extras_v4l_id_v4l_id_SOURCES = extras/v4l_id/v4l_id.c
+extras_v4l_id_v4l_id_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# GUdev - libudev gobject interface
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@LIBGUDEV_CURRENT = 1
+@ENABLE_EXTRAS_TRUE@LIBGUDEV_REVISION = 0
+@ENABLE_EXTRAS_TRUE@LIBGUDEV_AGE = 1
+@ENABLE_EXTRAS_TRUE@libgudev_includedir = $(includedir)/gudev-1.0/gudev
+@ENABLE_EXTRAS_TRUE@libgudev_include_HEADERS = \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudev.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenums.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevtypes.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevclient.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevdevice.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumerator.h
+
+@ENABLE_EXTRAS_TRUE@extras_gudev_libgudev_1_0_la_SOURCES = \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenums.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.h\
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevtypes.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevclient.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevclient.c \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevdevice.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevdevice.c \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumerator.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumerator.c \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevprivate.h
+
+@ENABLE_EXTRAS_TRUE@dist_extras_gudev_libgudev_1_0_la_SOURCES = \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevmarshal.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevmarshal.c \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.h \
+@ENABLE_EXTRAS_TRUE@	extras/gudev/gudevenumtypes.c
+
+@ENABLE_EXTRAS_TRUE@BUILT_SOURCES = $(dist_extras_gudev_libgudev_1_0_la_SOURCES) \
+@ENABLE_EXTRAS_TRUE@	$(nodist_extras_keymap_keymap_SOURCES)
+@ENABLE_EXTRAS_TRUE@extras_gudev_libgudev_1_0_la_CPPFLAGS = \
+@ENABLE_EXTRAS_TRUE@	$(AM_CPPFLAGS) \
+@ENABLE_EXTRAS_TRUE@	-I$(top_builddir)/extras \
+@ENABLE_EXTRAS_TRUE@	-I$(top_srcdir)/extras \
+@ENABLE_EXTRAS_TRUE@	-I$(top_builddir)/extras/gudev \
+@ENABLE_EXTRAS_TRUE@	-I$(top_srcdir)/extras/gudev \
+@ENABLE_EXTRAS_TRUE@	-D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT \
+@ENABLE_EXTRAS_TRUE@	-D_GUDEV_COMPILATION \
+@ENABLE_EXTRAS_TRUE@	-DG_LOG_DOMAIN=\"GUdev\"
+
+@ENABLE_EXTRAS_TRUE@extras_gudev_libgudev_1_0_la_CFLAGS = $(GLIB_CFLAGS)
+@ENABLE_EXTRAS_TRUE@extras_gudev_libgudev_1_0_la_LIBADD = libudev/libudev.la $(GLIB_LIBS)
+@ENABLE_EXTRAS_TRUE@extras_gudev_libgudev_1_0_la_LDFLAGS = \
+@ENABLE_EXTRAS_TRUE@	-version-info $(LIBGUDEV_CURRENT):$(LIBGUDEV_REVISION):$(LIBGUDEV_AGE) \
+@ENABLE_EXTRAS_TRUE@	-export-dynamic -no-undefined \
+@ENABLE_EXTRAS_TRUE@	-export-symbols-regex '^g_udev_.*'
+
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@girdir = $(GIRDIR)
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@gir_DATA = extras/gudev/GUdev-1.0.gir
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@typelibsdir = $(GIRTYPELIBDIR)
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@typelibs_DATA = extras/gudev/GUdev-1.0.typelib
+
+# ------------------------------------------------------------------------------
+# Bluetooth HID devices with special magic to switch the device
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_hid2hci_hid2hci_SOURCES = extras/hid2hci/hid2hci.c
+@ENABLE_EXTRAS_TRUE@extras_hid2hci_hid2hci_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
+@ENABLE_EXTRAS_TRUE@extras_hid2hci_hid2hci_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
+
+# ------------------------------------------------------------------------------
+# udev_acl - apply ACLs for users with local forground sessions
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_udev_acl_udev_acl_SOURCES = extras/udev-acl/udev-acl.c
+@ENABLE_EXTRAS_TRUE@extras_udev_acl_udev_acl_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS)
+@ENABLE_EXTRAS_TRUE@extras_udev_acl_udev_acl_LDADD = libudev/libudev-private.la -lacl $(GLIB_LIBS)
+
+# ------------------------------------------------------------------------------
+# usb-db - read USB vendor/device string database
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_usb_db_usb_db_SOURCES = extras/usb-db/usb-db.c
+@ENABLE_EXTRAS_TRUE@extras_usb_db_usb_db_CPPFLAGS = $(AM_CPPFLAGS) -DUSB_DATABASE=\"$(USB_DATABASE)\" -DBUILD_FOR_USB
+@ENABLE_EXTRAS_TRUE@extras_usb_db_usb_db_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# pci-db - read PCI vendor/device string database
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_usb_db_pci_db_SOURCES = extras/usb-db/usb-db.c
+@ENABLE_EXTRAS_TRUE@extras_usb_db_pci_db_CPPFLAGS = $(AM_CPPFLAGS) -DPCI_DATABASE=\"$(PCI_DATABASE)\" -DBUILD_FOR_PCI
+@ENABLE_EXTRAS_TRUE@extras_usb_db_pci_db_LDADD = libudev/libudev-private.la
+
+# ------------------------------------------------------------------------------
+# mobile-action-modeswitch - switch Mobile Action cables into serial mode
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_mobile_action_modeswitch_mobile_action_modeswitch_SOURCES = \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/mobile-action-modeswitch.c \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/utils.c \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/utils.h \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/ma8280p_us.c \
+@ENABLE_EXTRAS_TRUE@	extras/mobile-action-modeswitch/ma8280p_us.h
+
+@ENABLE_EXTRAS_TRUE@extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUSB_CFLAGS)
+@ENABLE_EXTRAS_TRUE@extras_mobile_action_modeswitch_mobile_action_modeswitch_LDADD = libudev/libudev-private.la $(LIBUSB_LIBS)
+
+# ------------------------------------------------------------------------------
+# mtd_probe - autoloads FTL module for mtd devices
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_mtd_probe_mtd_probe_SOURCES = \
+@ENABLE_EXTRAS_TRUE@							extras/mtd_probe/mtd_probe.c \
+@ENABLE_EXTRAS_TRUE@							extras/mtd_probe/mtd_probe.h \
+@ENABLE_EXTRAS_TRUE@							extras/mtd_probe/probe_smartmedia.c
+
+@ENABLE_EXTRAS_TRUE@extras_mtd_probe_mtd_probe_CPPFLAGS = $(AM_CPPFLAGS)
+
+# ------------------------------------------------------------------------------
+# keymap - map custom hardware's multimedia keys
+# ------------------------------------------------------------------------------
+@ENABLE_EXTRAS_TRUE@extras_keymap_keymap_SOURCES = extras/keymap/keymap.c
+@ENABLE_EXTRAS_TRUE@extras_keymap_keymap_CPPFLAGS = $(AM_CPPFLAGS) -I extras/keymap
+@ENABLE_EXTRAS_TRUE@nodist_extras_keymap_keymap_SOURCES = \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keys-from-name.h \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keys-to-name.h
+
+@ENABLE_EXTRAS_TRUE@dist_doc_DATA = extras/keymap/README.keymap.txt
+@ENABLE_EXTRAS_TRUE@udevkeymapdir = $(libexecdir)/keymaps
+@ENABLE_EXTRAS_TRUE@dist_udevkeymap_DATA = \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/acer \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/acer-aspire_5720 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/acer-aspire_8930 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/acer-aspire_5920g \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/acer-aspire_6920 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/acer-travelmate_c300 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/asus \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/compaq-e_evo \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/dell \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/everex-xt5000 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/fujitsu-amilo_pa_2548 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/fujitsu-amilo_pro_edition_v3505 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/fujitsu-amilo_pro_v3205 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/fujitsu-amilo_si_1520 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/fujitsu-esprimo_mobile_v5 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/fujitsu-esprimo_mobile_v6 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard-2510p_2530p \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard-compaq_elitebook \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard-pavilion \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard-presario-2100 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard-tablet \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/hewlett-packard-tx2 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/ibm-thinkpad-usb-keyboard-trackpoint \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/inventec-symphony_6.0_7.0 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/lenovo-3000 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/lenovo-ideapad \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/lenovo-thinkpad_x6_tablet \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/lenovo-thinkpad_x200_tablet \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/lg-x110 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/logitech-wave \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/logitech-wave-cordless \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/logitech-wave-pro-cordless \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/maxdata-pro_7000 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/medion-fid2060 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/medionnb-a555 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/micro-star \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/module-asus-w3j \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/module-ibm \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/module-lenovo \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/module-sony \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/module-sony-old \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/module-sony-vgn \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/olpc-xo \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/onkyo \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/oqo-model2 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/samsung-other \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/samsung-sq1us \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/samsung-sx20s \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/toshiba-satellite_a100 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/toshiba-satellite_a110 \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/toshiba-satellite_m30x \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/keymaps/zepto-znote
+
+@ENABLE_EXTRAS_TRUE@udevkeymapforcereldir = $(libexecdir)/keymaps/force-release
+@ENABLE_EXTRAS_TRUE@dist_udevkeymapforcerel_DATA = \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/force-release-maps/dell-touchpad \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/force-release-maps/hp-other \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/force-release-maps/samsung-other \
+@ENABLE_EXTRAS_TRUE@	extras/keymap/force-release-maps/common-volume-keys
+
+
+# ------------------------------------------------------------------------------
+# custom release helpers
+# ------------------------------------------------------------------------------
+PREVIOUS_VERSION = `expr $(VERSION) - 1`
+all: $(BUILT_SOURCES) config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+.SUFFIXES: .c .lo .o .obj
+am--refresh:
+	@:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --foreign Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in:  $(am__configure_deps) 
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+udev/udev.pc: $(top_builddir)/config.status $(top_srcdir)/udev/udev.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+init/udev.service: $(top_builddir)/config.status $(top_srcdir)/init/udev.service.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+init/udev-settle.service: $(top_builddir)/config.status $(top_srcdir)/init/udev-settle.service.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+init/udev-retry.service: $(top_builddir)/config.status $(top_srcdir)/init/udev-retry.service.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+libudev/libudev.pc: $(top_builddir)/config.status $(top_srcdir)/libudev/libudev.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+extras/gudev/gudev-1.0.pc: $(top_builddir)/config.status $(top_srcdir)/extras/gudev/gudev-1.0.pc.in
+	cd $(top_builddir) && $(SHELL) ./config.status $@
+install-libLTLIBRARIES: $(lib_LTLIBRARIES)
+	@$(NORMAL_INSTALL)
+	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	list2=; for p in $$list; do \
+	  if test -f $$p; then \
+	    list2="$$list2 $$p"; \
+	  else :; fi; \
+	done; \
+	test -z "$$list2" || { \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
+	}
+
+uninstall-libLTLIBRARIES:
+	@$(NORMAL_UNINSTALL)
+	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
+	for p in $$list; do \
+	  $(am__strip_dir) \
+	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
+	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
+	done
+
+clean-libLTLIBRARIES:
+	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
+	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+
+clean-noinstLTLIBRARIES:
+	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
+	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
+	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
+	  test "$$dir" != "$$p" || dir=.; \
+	  echo "rm -f \"$${dir}/so_locations\""; \
+	  rm -f "$${dir}/so_locations"; \
+	done
+extras/gudev/$(am__dirstamp):
+	@$(MKDIR_P) extras/gudev
+	@: > extras/gudev/$(am__dirstamp)
+extras/gudev/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/gudev/$(DEPDIR)
+	@: > extras/gudev/$(DEPDIR)/$(am__dirstamp)
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo:  \
+	extras/gudev/$(am__dirstamp) \
+	extras/gudev/$(DEPDIR)/$(am__dirstamp)
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo:  \
+	extras/gudev/$(am__dirstamp) \
+	extras/gudev/$(DEPDIR)/$(am__dirstamp)
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo:  \
+	extras/gudev/$(am__dirstamp) \
+	extras/gudev/$(DEPDIR)/$(am__dirstamp)
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo:  \
+	extras/gudev/$(am__dirstamp) \
+	extras/gudev/$(DEPDIR)/$(am__dirstamp)
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo:  \
+	extras/gudev/$(am__dirstamp) \
+	extras/gudev/$(DEPDIR)/$(am__dirstamp)
+extras/gudev/libgudev-1.0.la: $(extras_gudev_libgudev_1_0_la_OBJECTS) $(extras_gudev_libgudev_1_0_la_DEPENDENCIES) extras/gudev/$(am__dirstamp)
+	$(AM_V_CCLD)$(extras_gudev_libgudev_1_0_la_LINK) $(am_extras_gudev_libgudev_1_0_la_rpath) $(extras_gudev_libgudev_1_0_la_OBJECTS) $(extras_gudev_libgudev_1_0_la_LIBADD) $(LIBS)
+libudev/$(am__dirstamp):
+	@$(MKDIR_P) libudev
+	@: > libudev/$(am__dirstamp)
+libudev/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) libudev/$(DEPDIR)
+	@: > libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-list.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-util.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-device.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-enumerate.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-monitor.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-queue.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-ctrl.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-util-private.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-device-private.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-queue-private.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-selinux-private.lo: libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/libudev-private.la: $(libudev_libudev_private_la_OBJECTS) $(libudev_libudev_private_la_DEPENDENCIES) libudev/$(am__dirstamp)
+	$(AM_V_CCLD)$(LINK)  $(libudev_libudev_private_la_OBJECTS) $(libudev_libudev_private_la_LIBADD) $(LIBS)
+libudev/libudev.la: $(libudev_libudev_la_OBJECTS) $(libudev_libudev_la_DEPENDENCIES) libudev/$(am__dirstamp)
+	$(AM_V_CCLD)$(libudev_libudev_la_LINK) -rpath $(libdir) $(libudev_libudev_la_OBJECTS) $(libudev_libudev_la_LIBADD) $(LIBS)
+
+clean-checkPROGRAMS:
+	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+install-libexecPROGRAMS: $(libexec_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
+	@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-libexecPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(libexec_PROGRAMS)'; test -n "$(libexecdir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
+
+clean-libexecPROGRAMS:
+	@list='$(libexec_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+install-sbinPROGRAMS: $(sbin_PROGRAMS)
+	@$(NORMAL_INSTALL)
+	test -z "$(sbindir)" || $(MKDIR_P) "$(DESTDIR)$(sbindir)"
+	@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+	for p in $$list; do echo "$$p $$p"; done | \
+	sed 's/$(EXEEXT)$$//' | \
+	while read p p1; do if test -f $$p || test -f $$p1; \
+	  then echo "$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
+	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+	sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
+	    else { print "f", $$3 "/" $$4, $$1; } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	    test -z "$$files" || { \
+	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(sbindir)$$dir'"; \
+	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(sbindir)$$dir" || exit $$?; \
+	    } \
+	; done
+
+uninstall-sbinPROGRAMS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(sbin_PROGRAMS)'; test -n "$(sbindir)" || list=; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+	      -e 's/$$/$(EXEEXT)/' `; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(sbindir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(sbindir)" && rm -f $$files
+
+clean-sbinPROGRAMS:
+	@list='$(sbin_PROGRAMS)'; test -n "$$list" || exit 0; \
+	echo " rm -f" $$list; \
+	rm -f $$list || exit $$?; \
+	test -n "$(EXEEXT)" || exit 0; \
+	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
+	echo " rm -f" $$list; \
+	rm -f $$list
+extras/ata_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/ata_id
+	@: > extras/ata_id/$(am__dirstamp)
+extras/ata_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/ata_id/$(DEPDIR)
+	@: > extras/ata_id/$(DEPDIR)/$(am__dirstamp)
+extras/ata_id/ata_id.$(OBJEXT): extras/ata_id/$(am__dirstamp) \
+	extras/ata_id/$(DEPDIR)/$(am__dirstamp)
+extras/ata_id/ata_id$(EXEEXT): $(extras_ata_id_ata_id_OBJECTS) $(extras_ata_id_ata_id_DEPENDENCIES) extras/ata_id/$(am__dirstamp)
+	@rm -f extras/ata_id/ata_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_ata_id_ata_id_OBJECTS) $(extras_ata_id_ata_id_LDADD) $(LIBS)
+extras/cdrom_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/cdrom_id
+	@: > extras/cdrom_id/$(am__dirstamp)
+extras/cdrom_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/cdrom_id/$(DEPDIR)
+	@: > extras/cdrom_id/$(DEPDIR)/$(am__dirstamp)
+extras/cdrom_id/cdrom_id.$(OBJEXT): extras/cdrom_id/$(am__dirstamp) \
+	extras/cdrom_id/$(DEPDIR)/$(am__dirstamp)
+extras/cdrom_id/cdrom_id$(EXEEXT): $(extras_cdrom_id_cdrom_id_OBJECTS) $(extras_cdrom_id_cdrom_id_DEPENDENCIES) extras/cdrom_id/$(am__dirstamp)
+	@rm -f extras/cdrom_id/cdrom_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_cdrom_id_cdrom_id_OBJECTS) $(extras_cdrom_id_cdrom_id_LDADD) $(LIBS)
+extras/collect/$(am__dirstamp):
+	@$(MKDIR_P) extras/collect
+	@: > extras/collect/$(am__dirstamp)
+extras/collect/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/collect/$(DEPDIR)
+	@: > extras/collect/$(DEPDIR)/$(am__dirstamp)
+extras/collect/collect.$(OBJEXT): extras/collect/$(am__dirstamp) \
+	extras/collect/$(DEPDIR)/$(am__dirstamp)
+extras/collect/collect$(EXEEXT): $(extras_collect_collect_OBJECTS) $(extras_collect_collect_DEPENDENCIES) extras/collect/$(am__dirstamp)
+	@rm -f extras/collect/collect$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_collect_collect_OBJECTS) $(extras_collect_collect_LDADD) $(LIBS)
+extras/edd_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/edd_id
+	@: > extras/edd_id/$(am__dirstamp)
+extras/edd_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/edd_id/$(DEPDIR)
+	@: > extras/edd_id/$(DEPDIR)/$(am__dirstamp)
+extras/edd_id/edd_id.$(OBJEXT): extras/edd_id/$(am__dirstamp) \
+	extras/edd_id/$(DEPDIR)/$(am__dirstamp)
+extras/edd_id/edd_id$(EXEEXT): $(extras_edd_id_edd_id_OBJECTS) $(extras_edd_id_edd_id_DEPENDENCIES) extras/edd_id/$(am__dirstamp)
+	@rm -f extras/edd_id/edd_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_edd_id_edd_id_OBJECTS) $(extras_edd_id_edd_id_LDADD) $(LIBS)
+extras/firmware/$(am__dirstamp):
+	@$(MKDIR_P) extras/firmware
+	@: > extras/firmware/$(am__dirstamp)
+extras/firmware/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/firmware/$(DEPDIR)
+	@: > extras/firmware/$(DEPDIR)/$(am__dirstamp)
+extras/firmware/extras_firmware_firmware-firmware.$(OBJEXT):  \
+	extras/firmware/$(am__dirstamp) \
+	extras/firmware/$(DEPDIR)/$(am__dirstamp)
+extras/firmware/firmware$(EXEEXT): $(extras_firmware_firmware_OBJECTS) $(extras_firmware_firmware_DEPENDENCIES) extras/firmware/$(am__dirstamp)
+	@rm -f extras/firmware/firmware$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_firmware_firmware_OBJECTS) $(extras_firmware_firmware_LDADD) $(LIBS)
+extras/floppy/$(am__dirstamp):
+	@$(MKDIR_P) extras/floppy
+	@: > extras/floppy/$(am__dirstamp)
+extras/floppy/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/floppy/$(DEPDIR)
+	@: > extras/floppy/$(DEPDIR)/$(am__dirstamp)
+extras/floppy/create_floppy_devices.$(OBJEXT):  \
+	extras/floppy/$(am__dirstamp) \
+	extras/floppy/$(DEPDIR)/$(am__dirstamp)
+extras/floppy/create_floppy_devices$(EXEEXT): $(extras_floppy_create_floppy_devices_OBJECTS) $(extras_floppy_create_floppy_devices_DEPENDENCIES) extras/floppy/$(am__dirstamp)
+	@rm -f extras/floppy/create_floppy_devices$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_floppy_create_floppy_devices_OBJECTS) $(extras_floppy_create_floppy_devices_LDADD) $(LIBS)
+extras/fstab_import/$(am__dirstamp):
+	@$(MKDIR_P) extras/fstab_import
+	@: > extras/fstab_import/$(am__dirstamp)
+extras/fstab_import/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/fstab_import/$(DEPDIR)
+	@: > extras/fstab_import/$(DEPDIR)/$(am__dirstamp)
+extras/fstab_import/fstab_import.$(OBJEXT):  \
+	extras/fstab_import/$(am__dirstamp) \
+	extras/fstab_import/$(DEPDIR)/$(am__dirstamp)
+extras/fstab_import/fstab_import$(EXEEXT): $(extras_fstab_import_fstab_import_OBJECTS) $(extras_fstab_import_fstab_import_DEPENDENCIES) extras/fstab_import/$(am__dirstamp)
+	@rm -f extras/fstab_import/fstab_import$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_fstab_import_fstab_import_OBJECTS) $(extras_fstab_import_fstab_import_LDADD) $(LIBS)
+extras/hid2hci/$(am__dirstamp):
+	@$(MKDIR_P) extras/hid2hci
+	@: > extras/hid2hci/$(am__dirstamp)
+extras/hid2hci/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/hid2hci/$(DEPDIR)
+	@: > extras/hid2hci/$(DEPDIR)/$(am__dirstamp)
+extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.$(OBJEXT):  \
+	extras/hid2hci/$(am__dirstamp) \
+	extras/hid2hci/$(DEPDIR)/$(am__dirstamp)
+extras/hid2hci/hid2hci$(EXEEXT): $(extras_hid2hci_hid2hci_OBJECTS) $(extras_hid2hci_hid2hci_DEPENDENCIES) extras/hid2hci/$(am__dirstamp)
+	@rm -f extras/hid2hci/hid2hci$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_hid2hci_hid2hci_OBJECTS) $(extras_hid2hci_hid2hci_LDADD) $(LIBS)
+extras/input_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/input_id
+	@: > extras/input_id/$(am__dirstamp)
+extras/input_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/input_id/$(DEPDIR)
+	@: > extras/input_id/$(DEPDIR)/$(am__dirstamp)
+extras/input_id/input_id.$(OBJEXT): extras/input_id/$(am__dirstamp) \
+	extras/input_id/$(DEPDIR)/$(am__dirstamp)
+extras/input_id/input_id$(EXEEXT): $(extras_input_id_input_id_OBJECTS) $(extras_input_id_input_id_DEPENDENCIES) extras/input_id/$(am__dirstamp)
+	@rm -f extras/input_id/input_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_input_id_input_id_OBJECTS) $(extras_input_id_input_id_LDADD) $(LIBS)
+extras/keymap/$(am__dirstamp):
+	@$(MKDIR_P) extras/keymap
+	@: > extras/keymap/$(am__dirstamp)
+extras/keymap/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/keymap/$(DEPDIR)
+	@: > extras/keymap/$(DEPDIR)/$(am__dirstamp)
+extras/keymap/extras_keymap_keymap-keymap.$(OBJEXT):  \
+	extras/keymap/$(am__dirstamp) \
+	extras/keymap/$(DEPDIR)/$(am__dirstamp)
+extras/keymap/keymap$(EXEEXT): $(extras_keymap_keymap_OBJECTS) $(extras_keymap_keymap_DEPENDENCIES) extras/keymap/$(am__dirstamp)
+	@rm -f extras/keymap/keymap$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_keymap_keymap_OBJECTS) $(extras_keymap_keymap_LDADD) $(LIBS)
+extras/mobile-action-modeswitch/$(am__dirstamp):
+	@$(MKDIR_P) extras/mobile-action-modeswitch
+	@: > extras/mobile-action-modeswitch/$(am__dirstamp)
+extras/mobile-action-modeswitch/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/mobile-action-modeswitch/$(DEPDIR)
+	@: > extras/mobile-action-modeswitch/$(DEPDIR)/$(am__dirstamp)
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.$(OBJEXT):  \
+	extras/mobile-action-modeswitch/$(am__dirstamp) \
+	extras/mobile-action-modeswitch/$(DEPDIR)/$(am__dirstamp)
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.$(OBJEXT):  \
+	extras/mobile-action-modeswitch/$(am__dirstamp) \
+	extras/mobile-action-modeswitch/$(DEPDIR)/$(am__dirstamp)
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.$(OBJEXT):  \
+	extras/mobile-action-modeswitch/$(am__dirstamp) \
+	extras/mobile-action-modeswitch/$(DEPDIR)/$(am__dirstamp)
+extras/mobile-action-modeswitch/mobile-action-modeswitch$(EXEEXT): $(extras_mobile_action_modeswitch_mobile_action_modeswitch_OBJECTS) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_DEPENDENCIES) extras/mobile-action-modeswitch/$(am__dirstamp)
+	@rm -f extras/mobile-action-modeswitch/mobile-action-modeswitch$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_OBJECTS) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_LDADD) $(LIBS)
+extras/mtd_probe/$(am__dirstamp):
+	@$(MKDIR_P) extras/mtd_probe
+	@: > extras/mtd_probe/$(am__dirstamp)
+extras/mtd_probe/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/mtd_probe/$(DEPDIR)
+	@: > extras/mtd_probe/$(DEPDIR)/$(am__dirstamp)
+extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.$(OBJEXT):  \
+	extras/mtd_probe/$(am__dirstamp) \
+	extras/mtd_probe/$(DEPDIR)/$(am__dirstamp)
+extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.$(OBJEXT):  \
+	extras/mtd_probe/$(am__dirstamp) \
+	extras/mtd_probe/$(DEPDIR)/$(am__dirstamp)
+extras/mtd_probe/mtd_probe$(EXEEXT): $(extras_mtd_probe_mtd_probe_OBJECTS) $(extras_mtd_probe_mtd_probe_DEPENDENCIES) extras/mtd_probe/$(am__dirstamp)
+	@rm -f extras/mtd_probe/mtd_probe$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_mtd_probe_mtd_probe_OBJECTS) $(extras_mtd_probe_mtd_probe_LDADD) $(LIBS)
+extras/path_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/path_id
+	@: > extras/path_id/$(am__dirstamp)
+extras/path_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/path_id/$(DEPDIR)
+	@: > extras/path_id/$(DEPDIR)/$(am__dirstamp)
+extras/path_id/path_id.$(OBJEXT): extras/path_id/$(am__dirstamp) \
+	extras/path_id/$(DEPDIR)/$(am__dirstamp)
+extras/path_id/path_id$(EXEEXT): $(extras_path_id_path_id_OBJECTS) $(extras_path_id_path_id_DEPENDENCIES) extras/path_id/$(am__dirstamp)
+	@rm -f extras/path_id/path_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_path_id_path_id_OBJECTS) $(extras_path_id_path_id_LDADD) $(LIBS)
+extras/scsi_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/scsi_id
+	@: > extras/scsi_id/$(am__dirstamp)
+extras/scsi_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/scsi_id/$(DEPDIR)
+	@: > extras/scsi_id/$(DEPDIR)/$(am__dirstamp)
+extras/scsi_id/scsi_id.$(OBJEXT): extras/scsi_id/$(am__dirstamp) \
+	extras/scsi_id/$(DEPDIR)/$(am__dirstamp)
+extras/scsi_id/scsi_serial.$(OBJEXT): extras/scsi_id/$(am__dirstamp) \
+	extras/scsi_id/$(DEPDIR)/$(am__dirstamp)
+extras/scsi_id/scsi_id$(EXEEXT): $(extras_scsi_id_scsi_id_OBJECTS) $(extras_scsi_id_scsi_id_DEPENDENCIES) extras/scsi_id/$(am__dirstamp)
+	@rm -f extras/scsi_id/scsi_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_scsi_id_scsi_id_OBJECTS) $(extras_scsi_id_scsi_id_LDADD) $(LIBS)
+extras/udev-acl/$(am__dirstamp):
+	@$(MKDIR_P) extras/udev-acl
+	@: > extras/udev-acl/$(am__dirstamp)
+extras/udev-acl/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/udev-acl/$(DEPDIR)
+	@: > extras/udev-acl/$(DEPDIR)/$(am__dirstamp)
+extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.$(OBJEXT):  \
+	extras/udev-acl/$(am__dirstamp) \
+	extras/udev-acl/$(DEPDIR)/$(am__dirstamp)
+extras/udev-acl/udev-acl$(EXEEXT): $(extras_udev_acl_udev_acl_OBJECTS) $(extras_udev_acl_udev_acl_DEPENDENCIES) extras/udev-acl/$(am__dirstamp)
+	@rm -f extras/udev-acl/udev-acl$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_udev_acl_udev_acl_OBJECTS) $(extras_udev_acl_udev_acl_LDADD) $(LIBS)
+extras/usb-db/$(am__dirstamp):
+	@$(MKDIR_P) extras/usb-db
+	@: > extras/usb-db/$(am__dirstamp)
+extras/usb-db/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/usb-db/$(DEPDIR)
+	@: > extras/usb-db/$(DEPDIR)/$(am__dirstamp)
+extras/usb-db/extras_usb_db_pci_db-usb-db.$(OBJEXT):  \
+	extras/usb-db/$(am__dirstamp) \
+	extras/usb-db/$(DEPDIR)/$(am__dirstamp)
+extras/usb-db/pci-db$(EXEEXT): $(extras_usb_db_pci_db_OBJECTS) $(extras_usb_db_pci_db_DEPENDENCIES) extras/usb-db/$(am__dirstamp)
+	@rm -f extras/usb-db/pci-db$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_usb_db_pci_db_OBJECTS) $(extras_usb_db_pci_db_LDADD) $(LIBS)
+extras/usb-db/extras_usb_db_usb_db-usb-db.$(OBJEXT):  \
+	extras/usb-db/$(am__dirstamp) \
+	extras/usb-db/$(DEPDIR)/$(am__dirstamp)
+extras/usb-db/usb-db$(EXEEXT): $(extras_usb_db_usb_db_OBJECTS) $(extras_usb_db_usb_db_DEPENDENCIES) extras/usb-db/$(am__dirstamp)
+	@rm -f extras/usb-db/usb-db$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_usb_db_usb_db_OBJECTS) $(extras_usb_db_usb_db_LDADD) $(LIBS)
+extras/usb_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/usb_id
+	@: > extras/usb_id/$(am__dirstamp)
+extras/usb_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/usb_id/$(DEPDIR)
+	@: > extras/usb_id/$(DEPDIR)/$(am__dirstamp)
+extras/usb_id/usb_id.$(OBJEXT): extras/usb_id/$(am__dirstamp) \
+	extras/usb_id/$(DEPDIR)/$(am__dirstamp)
+extras/usb_id/usb_id$(EXEEXT): $(extras_usb_id_usb_id_OBJECTS) $(extras_usb_id_usb_id_DEPENDENCIES) extras/usb_id/$(am__dirstamp)
+	@rm -f extras/usb_id/usb_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_usb_id_usb_id_OBJECTS) $(extras_usb_id_usb_id_LDADD) $(LIBS)
+extras/v4l_id/$(am__dirstamp):
+	@$(MKDIR_P) extras/v4l_id
+	@: > extras/v4l_id/$(am__dirstamp)
+extras/v4l_id/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) extras/v4l_id/$(DEPDIR)
+	@: > extras/v4l_id/$(DEPDIR)/$(am__dirstamp)
+extras/v4l_id/v4l_id.$(OBJEXT): extras/v4l_id/$(am__dirstamp) \
+	extras/v4l_id/$(DEPDIR)/$(am__dirstamp)
+extras/v4l_id/v4l_id$(EXEEXT): $(extras_v4l_id_v4l_id_OBJECTS) $(extras_v4l_id_v4l_id_DEPENDENCIES) extras/v4l_id/$(am__dirstamp)
+	@rm -f extras/v4l_id/v4l_id$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(extras_v4l_id_v4l_id_OBJECTS) $(extras_v4l_id_v4l_id_LDADD) $(LIBS)
+libudev/test-libudev.$(OBJEXT): libudev/$(am__dirstamp) \
+	libudev/$(DEPDIR)/$(am__dirstamp)
+libudev/test-libudev$(EXEEXT): $(libudev_test_libudev_OBJECTS) $(libudev_test_libudev_DEPENDENCIES) libudev/$(am__dirstamp)
+	@rm -f libudev/test-libudev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(libudev_test_libudev_OBJECTS) $(libudev_test_libudev_LDADD) $(LIBS)
+udev/$(am__dirstamp):
+	@$(MKDIR_P) udev
+	@: > udev/$(am__dirstamp)
+udev/$(DEPDIR)/$(am__dirstamp):
+	@$(MKDIR_P) udev/$(DEPDIR)
+	@: > udev/$(DEPDIR)/$(am__dirstamp)
+udev/udev-event.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udev-watch.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udev-node.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udev-rules.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/test-udev.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/test-udev$(EXEEXT): $(udev_test_udev_OBJECTS) $(udev_test_udev_DEPENDENCIES) udev/$(am__dirstamp)
+	@rm -f udev/test-udev$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(udev_test_udev_OBJECTS) $(udev_test_udev_LDADD) $(LIBS)
+udev/udevadm.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm-info.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm-control.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm-test.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm-monitor.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm-settle.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm-trigger.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevadm$(EXEEXT): $(udev_udevadm_OBJECTS) $(udev_udevadm_DEPENDENCIES) udev/$(am__dirstamp)
+	@rm -f udev/udevadm$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(udev_udevadm_OBJECTS) $(udev_udevadm_LDADD) $(LIBS)
+udev/udevd.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/sd-daemon.$(OBJEXT): udev/$(am__dirstamp) \
+	udev/$(DEPDIR)/$(am__dirstamp)
+udev/udevd$(EXEEXT): $(udev_udevd_OBJECTS) $(udev_udevd_DEPENDENCIES) udev/$(am__dirstamp)
+	@rm -f udev/udevd$(EXEEXT)
+	$(AM_V_CCLD)$(LINK) $(udev_udevd_OBJECTS) $(udev_udevd_LDADD) $(LIBS)
+install-dist_libexecSCRIPTS: $(dist_libexec_SCRIPTS)
+	@$(NORMAL_INSTALL)
+	test -z "$(libexecdir)" || $(MKDIR_P) "$(DESTDIR)$(libexecdir)"
+	@list='$(dist_libexec_SCRIPTS)'; test -n "$(libexecdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
+	done | \
+	sed -e 'p;s,.*/,,;n' \
+	    -e 'h;s|.*|.|' \
+	    -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \
+	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \
+	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+	    if ($$2 == $$4) { files[d] = files[d] " " $$1; \
+	      if (++n[d] == $(am__install_max)) { \
+		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
+	    else { print "f", d "/" $$4, $$1 } } \
+	  END { for (d in files) print "f", d, files[d] }' | \
+	while read type dir files; do \
+	     if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+	     test -z "$$files" || { \
+	       echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(libexecdir)$$dir'"; \
+	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(libexecdir)$$dir" || exit $$?; \
+	     } \
+	; done
+
+uninstall-dist_libexecSCRIPTS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_libexec_SCRIPTS)'; test -n "$(libexecdir)" || exit 0; \
+	files=`for p in $$list; do echo "$$p"; done | \
+	       sed -e 's,.*/,,;$(transform)'`; \
+	test -n "$$list" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(libexecdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(libexecdir)" && rm -f $$files
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+	-rm -f extras/ata_id/ata_id.$(OBJEXT)
+	-rm -f extras/cdrom_id/cdrom_id.$(OBJEXT)
+	-rm -f extras/collect/collect.$(OBJEXT)
+	-rm -f extras/edd_id/edd_id.$(OBJEXT)
+	-rm -f extras/firmware/extras_firmware_firmware-firmware.$(OBJEXT)
+	-rm -f extras/floppy/create_floppy_devices.$(OBJEXT)
+	-rm -f extras/fstab_import/fstab_import.$(OBJEXT)
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.$(OBJEXT)
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.$(OBJEXT)
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.$(OBJEXT)
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.$(OBJEXT)
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.$(OBJEXT)
+	-rm -f extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo
+	-rm -f extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.$(OBJEXT)
+	-rm -f extras/input_id/input_id.$(OBJEXT)
+	-rm -f extras/keymap/extras_keymap_keymap-keymap.$(OBJEXT)
+	-rm -f extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.$(OBJEXT)
+	-rm -f extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.$(OBJEXT)
+	-rm -f extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.$(OBJEXT)
+	-rm -f extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.$(OBJEXT)
+	-rm -f extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.$(OBJEXT)
+	-rm -f extras/path_id/path_id.$(OBJEXT)
+	-rm -f extras/scsi_id/scsi_id.$(OBJEXT)
+	-rm -f extras/scsi_id/scsi_serial.$(OBJEXT)
+	-rm -f extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.$(OBJEXT)
+	-rm -f extras/usb-db/extras_usb_db_pci_db-usb-db.$(OBJEXT)
+	-rm -f extras/usb-db/extras_usb_db_usb_db-usb-db.$(OBJEXT)
+	-rm -f extras/usb_id/usb_id.$(OBJEXT)
+	-rm -f extras/v4l_id/v4l_id.$(OBJEXT)
+	-rm -f libudev/libudev-ctrl.$(OBJEXT)
+	-rm -f libudev/libudev-ctrl.lo
+	-rm -f libudev/libudev-device-private.$(OBJEXT)
+	-rm -f libudev/libudev-device-private.lo
+	-rm -f libudev/libudev-device.$(OBJEXT)
+	-rm -f libudev/libudev-device.lo
+	-rm -f libudev/libudev-enumerate.$(OBJEXT)
+	-rm -f libudev/libudev-enumerate.lo
+	-rm -f libudev/libudev-list.$(OBJEXT)
+	-rm -f libudev/libudev-list.lo
+	-rm -f libudev/libudev-monitor.$(OBJEXT)
+	-rm -f libudev/libudev-monitor.lo
+	-rm -f libudev/libudev-queue-private.$(OBJEXT)
+	-rm -f libudev/libudev-queue-private.lo
+	-rm -f libudev/libudev-queue.$(OBJEXT)
+	-rm -f libudev/libudev-queue.lo
+	-rm -f libudev/libudev-selinux-private.$(OBJEXT)
+	-rm -f libudev/libudev-selinux-private.lo
+	-rm -f libudev/libudev-util-private.$(OBJEXT)
+	-rm -f libudev/libudev-util-private.lo
+	-rm -f libudev/libudev-util.$(OBJEXT)
+	-rm -f libudev/libudev-util.lo
+	-rm -f libudev/libudev.$(OBJEXT)
+	-rm -f libudev/libudev.lo
+	-rm -f libudev/test-libudev.$(OBJEXT)
+	-rm -f udev/sd-daemon.$(OBJEXT)
+	-rm -f udev/test-udev.$(OBJEXT)
+	-rm -f udev/udev-event.$(OBJEXT)
+	-rm -f udev/udev-node.$(OBJEXT)
+	-rm -f udev/udev-rules.$(OBJEXT)
+	-rm -f udev/udev-watch.$(OBJEXT)
+	-rm -f udev/udevadm-control.$(OBJEXT)
+	-rm -f udev/udevadm-info.$(OBJEXT)
+	-rm -f udev/udevadm-monitor.$(OBJEXT)
+	-rm -f udev/udevadm-settle.$(OBJEXT)
+	-rm -f udev/udevadm-test.$(OBJEXT)
+	-rm -f udev/udevadm-trigger.$(OBJEXT)
+	-rm -f udev/udevadm.$(OBJEXT)
+	-rm -f udev/udevd.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@extras/ata_id/$(DEPDIR)/ata_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/cdrom_id/$(DEPDIR)/cdrom_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/collect/$(DEPDIR)/collect.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/edd_id/$(DEPDIR)/edd_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/floppy/$(DEPDIR)/create_floppy_devices.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/fstab_import/$(DEPDIR)/fstab_import.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevclient.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevdevice.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumerator.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumtypes.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevmarshal.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/input_id/$(DEPDIR)/input_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/path_id/$(DEPDIR)/path_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/scsi_id/$(DEPDIR)/scsi_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/scsi_id/$(DEPDIR)/scsi_serial.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/usb_id/$(DEPDIR)/usb_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@extras/v4l_id/$(DEPDIR)/v4l_id.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-ctrl.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-device-private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-device.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-enumerate.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-list.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-monitor.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-queue-private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-queue.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-selinux-private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-util-private.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev-util.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/libudev.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@libudev/$(DEPDIR)/test-libudev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/sd-daemon.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/test-udev.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udev-event.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udev-node.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udev-rules.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udev-watch.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm-control.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm-info.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm-monitor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm-settle.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm-test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm-trigger.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevadm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@udev/$(DEPDIR)/udevd.Po@am__quote@
+
+.c.o:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c -o $@ $<
+
+.c.obj:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+.c.lo:
+@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
+@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
+
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo: extras/gudev/gudevclient.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -MT extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo -MD -MP -MF extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevclient.Tpo -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo `test -f 'extras/gudev/gudevclient.c' || echo '$(srcdir)/'`extras/gudev/gudevclient.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevclient.Tpo extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevclient.Plo
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/gudev/gudevclient.c' object='extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevclient.lo `test -f 'extras/gudev/gudevclient.c' || echo '$(srcdir)/'`extras/gudev/gudevclient.c
+
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo: extras/gudev/gudevdevice.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -MT extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo -MD -MP -MF extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevdevice.Tpo -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo `test -f 'extras/gudev/gudevdevice.c' || echo '$(srcdir)/'`extras/gudev/gudevdevice.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevdevice.Tpo extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevdevice.Plo
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/gudev/gudevdevice.c' object='extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevdevice.lo `test -f 'extras/gudev/gudevdevice.c' || echo '$(srcdir)/'`extras/gudev/gudevdevice.c
+
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo: extras/gudev/gudevenumerator.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -MT extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo -MD -MP -MF extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumerator.Tpo -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo `test -f 'extras/gudev/gudevenumerator.c' || echo '$(srcdir)/'`extras/gudev/gudevenumerator.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumerator.Tpo extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumerator.Plo
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/gudev/gudevenumerator.c' object='extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumerator.lo `test -f 'extras/gudev/gudevenumerator.c' || echo '$(srcdir)/'`extras/gudev/gudevenumerator.c
+
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo: extras/gudev/gudevmarshal.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -MT extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo -MD -MP -MF extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevmarshal.Tpo -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo `test -f 'extras/gudev/gudevmarshal.c' || echo '$(srcdir)/'`extras/gudev/gudevmarshal.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevmarshal.Tpo extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevmarshal.Plo
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/gudev/gudevmarshal.c' object='extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevmarshal.lo `test -f 'extras/gudev/gudevmarshal.c' || echo '$(srcdir)/'`extras/gudev/gudevmarshal.c
+
+extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo: extras/gudev/gudevenumtypes.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -MT extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo -MD -MP -MF extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumtypes.Tpo -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo `test -f 'extras/gudev/gudevenumtypes.c' || echo '$(srcdir)/'`extras/gudev/gudevenumtypes.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumtypes.Tpo extras/gudev/$(DEPDIR)/extras_gudev_libgudev_1_0_la-gudevenumtypes.Plo
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/gudev/gudevenumtypes.c' object='extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_gudev_libgudev_1_0_la_CPPFLAGS) $(CPPFLAGS) $(extras_gudev_libgudev_1_0_la_CFLAGS) $(CFLAGS) -c -o extras/gudev/extras_gudev_libgudev_1_0_la-gudevenumtypes.lo `test -f 'extras/gudev/gudevenumtypes.c' || echo '$(srcdir)/'`extras/gudev/gudevenumtypes.c
+
+extras/firmware/extras_firmware_firmware-firmware.o: extras/firmware/firmware.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_firmware_firmware_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/firmware/extras_firmware_firmware-firmware.o -MD -MP -MF extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Tpo -c -o extras/firmware/extras_firmware_firmware-firmware.o `test -f 'extras/firmware/firmware.c' || echo '$(srcdir)/'`extras/firmware/firmware.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Tpo extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/firmware/firmware.c' object='extras/firmware/extras_firmware_firmware-firmware.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_firmware_firmware_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/firmware/extras_firmware_firmware-firmware.o `test -f 'extras/firmware/firmware.c' || echo '$(srcdir)/'`extras/firmware/firmware.c
+
+extras/firmware/extras_firmware_firmware-firmware.obj: extras/firmware/firmware.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_firmware_firmware_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/firmware/extras_firmware_firmware-firmware.obj -MD -MP -MF extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Tpo -c -o extras/firmware/extras_firmware_firmware-firmware.obj `if test -f 'extras/firmware/firmware.c'; then $(CYGPATH_W) 'extras/firmware/firmware.c'; else $(CYGPATH_W) '$(srcdir)/extras/firmware/firmware.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Tpo extras/firmware/$(DEPDIR)/extras_firmware_firmware-firmware.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/firmware/firmware.c' object='extras/firmware/extras_firmware_firmware-firmware.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_firmware_firmware_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/firmware/extras_firmware_firmware-firmware.obj `if test -f 'extras/firmware/firmware.c'; then $(CYGPATH_W) 'extras/firmware/firmware.c'; else $(CYGPATH_W) '$(srcdir)/extras/firmware/firmware.c'; fi`
+
+extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.o: extras/hid2hci/hid2hci.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_hid2hci_hid2hci_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.o -MD -MP -MF extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Tpo -c -o extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.o `test -f 'extras/hid2hci/hid2hci.c' || echo '$(srcdir)/'`extras/hid2hci/hid2hci.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Tpo extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/hid2hci/hid2hci.c' object='extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_hid2hci_hid2hci_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.o `test -f 'extras/hid2hci/hid2hci.c' || echo '$(srcdir)/'`extras/hid2hci/hid2hci.c
+
+extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.obj: extras/hid2hci/hid2hci.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_hid2hci_hid2hci_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.obj -MD -MP -MF extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Tpo -c -o extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.obj `if test -f 'extras/hid2hci/hid2hci.c'; then $(CYGPATH_W) 'extras/hid2hci/hid2hci.c'; else $(CYGPATH_W) '$(srcdir)/extras/hid2hci/hid2hci.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Tpo extras/hid2hci/$(DEPDIR)/extras_hid2hci_hid2hci-hid2hci.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/hid2hci/hid2hci.c' object='extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_hid2hci_hid2hci_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/hid2hci/extras_hid2hci_hid2hci-hid2hci.obj `if test -f 'extras/hid2hci/hid2hci.c'; then $(CYGPATH_W) 'extras/hid2hci/hid2hci.c'; else $(CYGPATH_W) '$(srcdir)/extras/hid2hci/hid2hci.c'; fi`
+
+extras/keymap/extras_keymap_keymap-keymap.o: extras/keymap/keymap.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_keymap_keymap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/keymap/extras_keymap_keymap-keymap.o -MD -MP -MF extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Tpo -c -o extras/keymap/extras_keymap_keymap-keymap.o `test -f 'extras/keymap/keymap.c' || echo '$(srcdir)/'`extras/keymap/keymap.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Tpo extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/keymap/keymap.c' object='extras/keymap/extras_keymap_keymap-keymap.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_keymap_keymap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/keymap/extras_keymap_keymap-keymap.o `test -f 'extras/keymap/keymap.c' || echo '$(srcdir)/'`extras/keymap/keymap.c
+
+extras/keymap/extras_keymap_keymap-keymap.obj: extras/keymap/keymap.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_keymap_keymap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/keymap/extras_keymap_keymap-keymap.obj -MD -MP -MF extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Tpo -c -o extras/keymap/extras_keymap_keymap-keymap.obj `if test -f 'extras/keymap/keymap.c'; then $(CYGPATH_W) 'extras/keymap/keymap.c'; else $(CYGPATH_W) '$(srcdir)/extras/keymap/keymap.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Tpo extras/keymap/$(DEPDIR)/extras_keymap_keymap-keymap.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/keymap/keymap.c' object='extras/keymap/extras_keymap_keymap-keymap.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_keymap_keymap_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/keymap/extras_keymap_keymap-keymap.obj `if test -f 'extras/keymap/keymap.c'; then $(CYGPATH_W) 'extras/keymap/keymap.c'; else $(CYGPATH_W) '$(srcdir)/extras/keymap/keymap.c'; fi`
+
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.o: extras/mobile-action-modeswitch/mobile-action-modeswitch.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.o -MD -MP -MF extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Tpo -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.o `test -f 'extras/mobile-action-modeswitch/mobile-action-modeswitch.c' || echo '$(srcdir)/'`extras/mobile-action-modeswitch/mobile-action-modeswitch.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Tpo extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mobile-action-modeswitch/mobile-action-modeswitch.c' object='extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.o `test -f 'extras/mobile-action-modeswitch/mobile-action-modeswitch.c' || echo '$(srcdir)/'`extras/mobile-action-modeswitch/mobile-action-modeswitch.c
+
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.obj: extras/mobile-action-modeswitch/mobile-action-modeswitch.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.obj -MD -MP -MF extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Tpo -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.obj `if test -f 'extras/mobile-action-modeswitch/mobile-action-modeswitch.c'; then $(CYGPATH_W) 'extras/mobile-action-modeswitch/mobile-action-modeswitch.c'; else $(CYGPATH_W) '$(srcdir)/extras/mobile-action-modeswitch/mobile-action-modeswitch.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Tpo extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mobile-action-modeswitch/mobile-action-modeswitch.c' object='extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-mobile-action-modeswitch.obj `if test -f 'extras/mobile-action-modeswitch/mobile-action-modeswitch.c'; then $(CYGPATH_W) 'extras/mobile-action-modeswitch/mobile-action-modeswitch.c'; else $(CYGPATH_W) '$(srcdir)/extras/mobile-action-modeswitch/mobile-action-modeswitch.c'; fi`
+
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.o: extras/mobile-action-modeswitch/utils.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.o -MD -MP -MF extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Tpo -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.o `test -f 'extras/mobile-action-modeswitch/utils.c' || echo '$(srcdir)/'`extras/mobile-action-modeswitch/utils.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Tpo extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mobile-action-modeswitch/utils.c' object='extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.o `test -f 'extras/mobile-action-modeswitch/utils.c' || echo '$(srcdir)/'`extras/mobile-action-modeswitch/utils.c
+
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.obj: extras/mobile-action-modeswitch/utils.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.obj -MD -MP -MF extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Tpo -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.obj `if test -f 'extras/mobile-action-modeswitch/utils.c'; then $(CYGPATH_W) 'extras/mobile-action-modeswitch/utils.c'; else $(CYGPATH_W) '$(srcdir)/extras/mobile-action-modeswitch/utils.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Tpo extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mobile-action-modeswitch/utils.c' object='extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-utils.obj `if test -f 'extras/mobile-action-modeswitch/utils.c'; then $(CYGPATH_W) 'extras/mobile-action-modeswitch/utils.c'; else $(CYGPATH_W) '$(srcdir)/extras/mobile-action-modeswitch/utils.c'; fi`
+
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.o: extras/mobile-action-modeswitch/ma8280p_us.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.o -MD -MP -MF extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Tpo -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.o `test -f 'extras/mobile-action-modeswitch/ma8280p_us.c' || echo '$(srcdir)/'`extras/mobile-action-modeswitch/ma8280p_us.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Tpo extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mobile-action-modeswitch/ma8280p_us.c' object='extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.o `test -f 'extras/mobile-action-modeswitch/ma8280p_us.c' || echo '$(srcdir)/'`extras/mobile-action-modeswitch/ma8280p_us.c
+
+extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.obj: extras/mobile-action-modeswitch/ma8280p_us.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.obj -MD -MP -MF extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Tpo -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.obj `if test -f 'extras/mobile-action-modeswitch/ma8280p_us.c'; then $(CYGPATH_W) 'extras/mobile-action-modeswitch/ma8280p_us.c'; else $(CYGPATH_W) '$(srcdir)/extras/mobile-action-modeswitch/ma8280p_us.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Tpo extras/mobile-action-modeswitch/$(DEPDIR)/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mobile-action-modeswitch/ma8280p_us.c' object='extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mobile_action_modeswitch_mobile_action_modeswitch_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mobile-action-modeswitch/extras_mobile_action_modeswitch_mobile_action_modeswitch-ma8280p_us.obj `if test -f 'extras/mobile-action-modeswitch/ma8280p_us.c'; then $(CYGPATH_W) 'extras/mobile-action-modeswitch/ma8280p_us.c'; else $(CYGPATH_W) '$(srcdir)/extras/mobile-action-modeswitch/ma8280p_us.c'; fi`
+
+extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.o: extras/mtd_probe/mtd_probe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.o -MD -MP -MF extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Tpo -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.o `test -f 'extras/mtd_probe/mtd_probe.c' || echo '$(srcdir)/'`extras/mtd_probe/mtd_probe.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Tpo extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mtd_probe/mtd_probe.c' object='extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.o `test -f 'extras/mtd_probe/mtd_probe.c' || echo '$(srcdir)/'`extras/mtd_probe/mtd_probe.c
+
+extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.obj: extras/mtd_probe/mtd_probe.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.obj -MD -MP -MF extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Tpo -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.obj `if test -f 'extras/mtd_probe/mtd_probe.c'; then $(CYGPATH_W) 'extras/mtd_probe/mtd_probe.c'; else $(CYGPATH_W) '$(srcdir)/extras/mtd_probe/mtd_probe.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Tpo extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-mtd_probe.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mtd_probe/mtd_probe.c' object='extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-mtd_probe.obj `if test -f 'extras/mtd_probe/mtd_probe.c'; then $(CYGPATH_W) 'extras/mtd_probe/mtd_probe.c'; else $(CYGPATH_W) '$(srcdir)/extras/mtd_probe/mtd_probe.c'; fi`
+
+extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.o: extras/mtd_probe/probe_smartmedia.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.o -MD -MP -MF extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Tpo -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.o `test -f 'extras/mtd_probe/probe_smartmedia.c' || echo '$(srcdir)/'`extras/mtd_probe/probe_smartmedia.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Tpo extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mtd_probe/probe_smartmedia.c' object='extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.o `test -f 'extras/mtd_probe/probe_smartmedia.c' || echo '$(srcdir)/'`extras/mtd_probe/probe_smartmedia.c
+
+extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.obj: extras/mtd_probe/probe_smartmedia.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.obj -MD -MP -MF extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Tpo -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.obj `if test -f 'extras/mtd_probe/probe_smartmedia.c'; then $(CYGPATH_W) 'extras/mtd_probe/probe_smartmedia.c'; else $(CYGPATH_W) '$(srcdir)/extras/mtd_probe/probe_smartmedia.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Tpo extras/mtd_probe/$(DEPDIR)/extras_mtd_probe_mtd_probe-probe_smartmedia.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/mtd_probe/probe_smartmedia.c' object='extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_mtd_probe_mtd_probe_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/mtd_probe/extras_mtd_probe_mtd_probe-probe_smartmedia.obj `if test -f 'extras/mtd_probe/probe_smartmedia.c'; then $(CYGPATH_W) 'extras/mtd_probe/probe_smartmedia.c'; else $(CYGPATH_W) '$(srcdir)/extras/mtd_probe/probe_smartmedia.c'; fi`
+
+extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.o: extras/udev-acl/udev-acl.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_udev_acl_udev_acl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.o -MD -MP -MF extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Tpo -c -o extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.o `test -f 'extras/udev-acl/udev-acl.c' || echo '$(srcdir)/'`extras/udev-acl/udev-acl.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Tpo extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/udev-acl/udev-acl.c' object='extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_udev_acl_udev_acl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.o `test -f 'extras/udev-acl/udev-acl.c' || echo '$(srcdir)/'`extras/udev-acl/udev-acl.c
+
+extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.obj: extras/udev-acl/udev-acl.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_udev_acl_udev_acl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.obj -MD -MP -MF extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Tpo -c -o extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.obj `if test -f 'extras/udev-acl/udev-acl.c'; then $(CYGPATH_W) 'extras/udev-acl/udev-acl.c'; else $(CYGPATH_W) '$(srcdir)/extras/udev-acl/udev-acl.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Tpo extras/udev-acl/$(DEPDIR)/extras_udev_acl_udev_acl-udev-acl.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/udev-acl/udev-acl.c' object='extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_udev_acl_udev_acl_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/udev-acl/extras_udev_acl_udev_acl-udev-acl.obj `if test -f 'extras/udev-acl/udev-acl.c'; then $(CYGPATH_W) 'extras/udev-acl/udev-acl.c'; else $(CYGPATH_W) '$(srcdir)/extras/udev-acl/udev-acl.c'; fi`
+
+extras/usb-db/extras_usb_db_pci_db-usb-db.o: extras/usb-db/usb-db.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_pci_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/usb-db/extras_usb_db_pci_db-usb-db.o -MD -MP -MF extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Tpo -c -o extras/usb-db/extras_usb_db_pci_db-usb-db.o `test -f 'extras/usb-db/usb-db.c' || echo '$(srcdir)/'`extras/usb-db/usb-db.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Tpo extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/usb-db/usb-db.c' object='extras/usb-db/extras_usb_db_pci_db-usb-db.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_pci_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/usb-db/extras_usb_db_pci_db-usb-db.o `test -f 'extras/usb-db/usb-db.c' || echo '$(srcdir)/'`extras/usb-db/usb-db.c
+
+extras/usb-db/extras_usb_db_pci_db-usb-db.obj: extras/usb-db/usb-db.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_pci_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/usb-db/extras_usb_db_pci_db-usb-db.obj -MD -MP -MF extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Tpo -c -o extras/usb-db/extras_usb_db_pci_db-usb-db.obj `if test -f 'extras/usb-db/usb-db.c'; then $(CYGPATH_W) 'extras/usb-db/usb-db.c'; else $(CYGPATH_W) '$(srcdir)/extras/usb-db/usb-db.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Tpo extras/usb-db/$(DEPDIR)/extras_usb_db_pci_db-usb-db.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/usb-db/usb-db.c' object='extras/usb-db/extras_usb_db_pci_db-usb-db.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_pci_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/usb-db/extras_usb_db_pci_db-usb-db.obj `if test -f 'extras/usb-db/usb-db.c'; then $(CYGPATH_W) 'extras/usb-db/usb-db.c'; else $(CYGPATH_W) '$(srcdir)/extras/usb-db/usb-db.c'; fi`
+
+extras/usb-db/extras_usb_db_usb_db-usb-db.o: extras/usb-db/usb-db.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_usb_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/usb-db/extras_usb_db_usb_db-usb-db.o -MD -MP -MF extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Tpo -c -o extras/usb-db/extras_usb_db_usb_db-usb-db.o `test -f 'extras/usb-db/usb-db.c' || echo '$(srcdir)/'`extras/usb-db/usb-db.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Tpo extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/usb-db/usb-db.c' object='extras/usb-db/extras_usb_db_usb_db-usb-db.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_usb_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/usb-db/extras_usb_db_usb_db-usb-db.o `test -f 'extras/usb-db/usb-db.c' || echo '$(srcdir)/'`extras/usb-db/usb-db.c
+
+extras/usb-db/extras_usb_db_usb_db-usb-db.obj: extras/usb-db/usb-db.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_usb_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT extras/usb-db/extras_usb_db_usb_db-usb-db.obj -MD -MP -MF extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Tpo -c -o extras/usb-db/extras_usb_db_usb_db-usb-db.obj `if test -f 'extras/usb-db/usb-db.c'; then $(CYGPATH_W) 'extras/usb-db/usb-db.c'; else $(CYGPATH_W) '$(srcdir)/extras/usb-db/usb-db.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Tpo extras/usb-db/$(DEPDIR)/extras_usb_db_usb_db-usb-db.Po
+@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extras/usb-db/usb-db.c' object='extras/usb-db/extras_usb_db_usb_db-usb-db.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(extras_usb_db_usb_db_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o extras/usb-db/extras_usb_db_usb_db-usb-db.obj `if test -f 'extras/usb-db/usb-db.c'; then $(CYGPATH_W) 'extras/usb-db/usb-db.c'; else $(CYGPATH_W) '$(srcdir)/extras/usb-db/usb-db.c'; fi`
+
+mostlyclean-libtool:
+	-rm -f *.lo
+
+clean-libtool:
+	-rm -rf .libs _libs
+	-rm -rf extras/ata_id/.libs extras/ata_id/_libs
+	-rm -rf extras/cdrom_id/.libs extras/cdrom_id/_libs
+	-rm -rf extras/collect/.libs extras/collect/_libs
+	-rm -rf extras/edd_id/.libs extras/edd_id/_libs
+	-rm -rf extras/firmware/.libs extras/firmware/_libs
+	-rm -rf extras/floppy/.libs extras/floppy/_libs
+	-rm -rf extras/fstab_import/.libs extras/fstab_import/_libs
+	-rm -rf extras/gudev/.libs extras/gudev/_libs
+	-rm -rf extras/hid2hci/.libs extras/hid2hci/_libs
+	-rm -rf extras/input_id/.libs extras/input_id/_libs
+	-rm -rf extras/keymap/.libs extras/keymap/_libs
+	-rm -rf extras/mobile-action-modeswitch/.libs extras/mobile-action-modeswitch/_libs
+	-rm -rf extras/mtd_probe/.libs extras/mtd_probe/_libs
+	-rm -rf extras/path_id/.libs extras/path_id/_libs
+	-rm -rf extras/scsi_id/.libs extras/scsi_id/_libs
+	-rm -rf extras/udev-acl/.libs extras/udev-acl/_libs
+	-rm -rf extras/usb-db/.libs extras/usb-db/_libs
+	-rm -rf extras/usb_id/.libs extras/usb_id/_libs
+	-rm -rf extras/v4l_id/.libs extras/v4l_id/_libs
+	-rm -rf libudev/.libs libudev/_libs
+	-rm -rf udev/.libs udev/_libs
+
+distclean-libtool:
+	-rm -f libtool config.lt
+install-man7: $(dist_man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man7dir)" || $(MKDIR_P) "$(DESTDIR)$(man7dir)"
+	@list=''; test -n "$(man7dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.7[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man7dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man7dir)/$$inst" || exit $$?; \
+	  fi; \
+	done; \
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man7dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man7dir)" || exit $$?; }; \
+	done; }
+
+uninstall-man7:
+	@$(NORMAL_UNINSTALL)
+	@list=''; test -n "$(man7dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.7[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^7][0-9a-z]*$$,7,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man7dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man7dir)" && rm -f $$files; }
+install-man8: $(dist_man_MANS)
+	@$(NORMAL_INSTALL)
+	test -z "$(man8dir)" || $(MKDIR_P) "$(DESTDIR)$(man8dir)"
+	@list=''; test -n "$(man8dir)" || exit 0; \
+	{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.8[a-z]*$$/p'; \
+	} | while read p; do \
+	  if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; echo "$$p"; \
+	done | \
+	sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+	sed 'N;N;s,\n, ,g' | { \
+	list=; while read file base inst; do \
+	  if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+	    echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man8dir)/$$inst'"; \
+	    $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man8dir)/$$inst" || exit $$?; \
+	  fi; \
+	done; \
+	for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+	while read files; do \
+	  test -z "$$files" || { \
+	    echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man8dir)'"; \
+	    $(INSTALL_DATA) $$files "$(DESTDIR)$(man8dir)" || exit $$?; }; \
+	done; }
+
+uninstall-man8:
+	@$(NORMAL_UNINSTALL)
+	@list=''; test -n "$(man8dir)" || exit 0; \
+	files=`{ for i in $$list; do echo "$$i"; done; \
+	l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+	  sed -n '/\.8[a-z]*$$/p'; \
+	} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^8][0-9a-z]*$$,8,;x' \
+	      -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+	test -z "$$files" || { \
+	  echo " ( cd '$(DESTDIR)$(man8dir)' && rm -f" $$files ")"; \
+	  cd "$(DESTDIR)$(man8dir)" && rm -f $$files; }
+install-dist_docDATA: $(dist_doc_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(docdir)" || $(MKDIR_P) "$(DESTDIR)$(docdir)"
+	@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
+	done
+
+uninstall-dist_docDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(docdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(docdir)" && rm -f $$files
+install-dist_udevconfDATA: $(dist_udevconf_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(udevconfdir)" || $(MKDIR_P) "$(DESTDIR)$(udevconfdir)"
+	@list='$(dist_udevconf_DATA)'; test -n "$(udevconfdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevconfdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(udevconfdir)" || exit $$?; \
+	done
+
+uninstall-dist_udevconfDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_udevconf_DATA)'; test -n "$(udevconfdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(udevconfdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(udevconfdir)" && rm -f $$files
+install-dist_udevhomeDATA: $(dist_udevhome_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(udevhomedir)" || $(MKDIR_P) "$(DESTDIR)$(udevhomedir)"
+	@list='$(dist_udevhome_DATA)'; test -n "$(udevhomedir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevhomedir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(udevhomedir)" || exit $$?; \
+	done
+
+uninstall-dist_udevhomeDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_udevhome_DATA)'; test -n "$(udevhomedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(udevhomedir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(udevhomedir)" && rm -f $$files
+install-dist_udevkeymapDATA: $(dist_udevkeymap_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(udevkeymapdir)" || $(MKDIR_P) "$(DESTDIR)$(udevkeymapdir)"
+	@list='$(dist_udevkeymap_DATA)'; test -n "$(udevkeymapdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevkeymapdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(udevkeymapdir)" || exit $$?; \
+	done
+
+uninstall-dist_udevkeymapDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_udevkeymap_DATA)'; test -n "$(udevkeymapdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(udevkeymapdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(udevkeymapdir)" && rm -f $$files
+install-dist_udevkeymapforcerelDATA: $(dist_udevkeymapforcerel_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(udevkeymapforcereldir)" || $(MKDIR_P) "$(DESTDIR)$(udevkeymapforcereldir)"
+	@list='$(dist_udevkeymapforcerel_DATA)'; test -n "$(udevkeymapforcereldir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevkeymapforcereldir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(udevkeymapforcereldir)" || exit $$?; \
+	done
+
+uninstall-dist_udevkeymapforcerelDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_udevkeymapforcerel_DATA)'; test -n "$(udevkeymapforcereldir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(udevkeymapforcereldir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(udevkeymapforcereldir)" && rm -f $$files
+install-dist_udevrulesDATA: $(dist_udevrules_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(udevrulesdir)" || $(MKDIR_P) "$(DESTDIR)$(udevrulesdir)"
+	@list='$(dist_udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(udevrulesdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(udevrulesdir)" || exit $$?; \
+	done
+
+uninstall-dist_udevrulesDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(dist_udevrules_DATA)'; test -n "$(udevrulesdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(udevrulesdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(udevrulesdir)" && rm -f $$files
+install-girDATA: $(gir_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(girdir)" || $(MKDIR_P) "$(DESTDIR)$(girdir)"
+	@list='$(gir_DATA)'; test -n "$(girdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(girdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(girdir)" || exit $$?; \
+	done
+
+uninstall-girDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(gir_DATA)'; test -n "$(girdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(girdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(girdir)" && rm -f $$files
+install-pkgconfigDATA: $(pkgconfig_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)"
+	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+	done
+
+uninstall-pkgconfigDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(pkgconfigdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(pkgconfigdir)" && rm -f $$files
+install-sharepkgconfigDATA: $(sharepkgconfig_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(sharepkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(sharepkgconfigdir)"
+	@list='$(sharepkgconfig_DATA)'; test -n "$(sharepkgconfigdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sharepkgconfigdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(sharepkgconfigdir)" || exit $$?; \
+	done
+
+uninstall-sharepkgconfigDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(sharepkgconfig_DATA)'; test -n "$(sharepkgconfigdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(sharepkgconfigdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(sharepkgconfigdir)" && rm -f $$files
+install-systemdsystemunitDATA: $(systemdsystemunit_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(systemdsystemunitdir)" || $(MKDIR_P) "$(DESTDIR)$(systemdsystemunitdir)"
+	@list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(systemdsystemunitdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(systemdsystemunitdir)" || exit $$?; \
+	done
+
+uninstall-systemdsystemunitDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(systemdsystemunit_DATA)'; test -n "$(systemdsystemunitdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(systemdsystemunitdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(systemdsystemunitdir)" && rm -f $$files
+install-typelibsDATA: $(typelibs_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(typelibsdir)" || $(MKDIR_P) "$(DESTDIR)$(typelibsdir)"
+	@list='$(typelibs_DATA)'; test -n "$(typelibsdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(typelibsdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(typelibsdir)" || exit $$?; \
+	done
+
+uninstall-typelibsDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(typelibs_DATA)'; test -n "$(typelibsdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(typelibsdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(typelibsdir)" && rm -f $$files
+install-includeHEADERS: $(include_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
+	done
+
+uninstall-includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(includedir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(includedir)" && rm -f $$files
+install-libgudev_includeHEADERS: $(libgudev_include_HEADERS)
+	@$(NORMAL_INSTALL)
+	test -z "$(libgudev_includedir)" || $(MKDIR_P) "$(DESTDIR)$(libgudev_includedir)"
+	@list='$(libgudev_include_HEADERS)'; test -n "$(libgudev_includedir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(libgudev_includedir)'"; \
+	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(libgudev_includedir)" || exit $$?; \
+	done
+
+uninstall-libgudev_includeHEADERS:
+	@$(NORMAL_UNINSTALL)
+	@list='$(libgudev_include_HEADERS)'; test -n "$(libgudev_includedir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(libgudev_includedir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(libgudev_includedir)" && rm -f $$files
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+check-TESTS: $(TESTS)
+	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
+	srcdir=$(srcdir); export srcdir; \
+	list=' $(TESTS) '; \
+	$(am__tty_colors); \
+	if test -n "$$list"; then \
+	  for tst in $$list; do \
+	    if test -f ./$$tst; then dir=./; \
+	    elif test -f $$tst; then dir=; \
+	    else dir="$(srcdir)/"; fi; \
+	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xpass=`expr $$xpass + 1`; \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=XPASS; \
+	      ;; \
+	      *) \
+		col=$$grn; res=PASS; \
+	      ;; \
+	      esac; \
+	    elif test $$? -ne 77; then \
+	      all=`expr $$all + 1`; \
+	      case " $(XFAIL_TESTS) " in \
+	      *[\ \	]$$tst[\ \	]*) \
+		xfail=`expr $$xfail + 1`; \
+		col=$$lgn; res=XFAIL; \
+	      ;; \
+	      *) \
+		failed=`expr $$failed + 1`; \
+		col=$$red; res=FAIL; \
+	      ;; \
+	      esac; \
+	    else \
+	      skip=`expr $$skip + 1`; \
+	      col=$$blu; res=SKIP; \
+	    fi; \
+	    echo "$${col}$$res$${std}: $$tst"; \
+	  done; \
+	  if test "$$all" -eq 1; then \
+	    tests="test"; \
+	    All=""; \
+	  else \
+	    tests="tests"; \
+	    All="All "; \
+	  fi; \
+	  if test "$$failed" -eq 0; then \
+	    if test "$$xfail" -eq 0; then \
+	      banner="$$All$$all $$tests passed"; \
+	    else \
+	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
+	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
+	    fi; \
+	  else \
+	    if test "$$xpass" -eq 0; then \
+	      banner="$$failed of $$all $$tests failed"; \
+	    else \
+	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
+	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
+	    fi; \
+	  fi; \
+	  dashes="$$banner"; \
+	  skipped=""; \
+	  if test "$$skip" -ne 0; then \
+	    if test "$$skip" -eq 1; then \
+	      skipped="($$skip test was not run)"; \
+	    else \
+	      skipped="($$skip tests were not run)"; \
+	    fi; \
+	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$skipped"; \
+	  fi; \
+	  report=""; \
+	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
+	    report="Please report to $(PACKAGE_BUGREPORT)"; \
+	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
+	      dashes="$$report"; \
+	  fi; \
+	  dashes=`echo "$$dashes" | sed s/./=/g`; \
+	  if test "$$failed" -eq 0; then \
+	    echo "$$grn$$dashes"; \
+	  else \
+	    echo "$$red$$dashes"; \
+	  fi; \
+	  echo "$$banner"; \
+	  test -z "$$skipped" || echo "$$skipped"; \
+	  test -z "$$report" || echo "$$report"; \
+	  echo "$$dashes$$std"; \
+	  test "$$failed" -eq 0; \
+	else :; fi
+
+distdir: $(DISTFILES)
+	@case `sed 15q $(srcdir)/NEWS` in \
+	*"$(VERSION)"*) : ;; \
+	*) \
+	  echo "NEWS not updated; not releasing" 1>&2; \
+	  exit 1;; \
+	esac
+	@list='$(MANS)'; if test -n "$$list"; then \
+	  list=`for p in $$list; do \
+	    if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+	    if test -f "$$d$$p"; then echo "$$d$$p"; else :; fi; done`; \
+	  if test -n "$$list" && \
+	    grep 'ab help2man is required to generate this page' $$list >/dev/null; then \
+	    echo "error: found man pages containing the \`missing help2man' replacement text:" >&2; \
+	    grep -l 'ab help2man is required to generate this page' $$list | sed 's/^/         /' >&2; \
+	    echo "       to fix them, install help2man, remove and regenerate the man pages;" >&2; \
+	    echo "       typically \`make maintainer-clean' will remove them" >&2; \
+	    exit 1; \
+	  else :; fi; \
+	else :; fi
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@$(am__cd) '$(distuninstallcheck_dir)' \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) check-recursive
+all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA) \
+		$(HEADERS) config.h
+installdirs: installdirs-recursive
+installdirs-am:
+	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(libexecdir)" "$(DESTDIR)$(man7dir)" "$(DESTDIR)$(man8dir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(udevconfdir)" "$(DESTDIR)$(udevhomedir)" "$(DESTDIR)$(udevkeymapdir)" "$(DESTDIR)$(udevkeymapforcereldir)" "$(DESTDIR)$(udevrulesdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(sharepkgconfigdir)" "$(DESTDIR)$(systemdsystemunitdir)" "$(DESTDIR)$(typelibsdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(libgudev_includedir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: $(BUILT_SOURCES)
+	$(MAKE) $(AM_MAKEFLAGS) install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+	-rm -f extras/ata_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/ata_id/$(am__dirstamp)
+	-rm -f extras/cdrom_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/cdrom_id/$(am__dirstamp)
+	-rm -f extras/collect/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/collect/$(am__dirstamp)
+	-rm -f extras/edd_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/edd_id/$(am__dirstamp)
+	-rm -f extras/firmware/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/firmware/$(am__dirstamp)
+	-rm -f extras/floppy/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/floppy/$(am__dirstamp)
+	-rm -f extras/fstab_import/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/fstab_import/$(am__dirstamp)
+	-rm -f extras/gudev/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/gudev/$(am__dirstamp)
+	-rm -f extras/hid2hci/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/hid2hci/$(am__dirstamp)
+	-rm -f extras/input_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/input_id/$(am__dirstamp)
+	-rm -f extras/keymap/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/keymap/$(am__dirstamp)
+	-rm -f extras/mobile-action-modeswitch/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/mobile-action-modeswitch/$(am__dirstamp)
+	-rm -f extras/mtd_probe/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/mtd_probe/$(am__dirstamp)
+	-rm -f extras/path_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/path_id/$(am__dirstamp)
+	-rm -f extras/scsi_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/scsi_id/$(am__dirstamp)
+	-rm -f extras/udev-acl/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/udev-acl/$(am__dirstamp)
+	-rm -f extras/usb-db/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/usb-db/$(am__dirstamp)
+	-rm -f extras/usb_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/usb_id/$(am__dirstamp)
+	-rm -f extras/v4l_id/$(DEPDIR)/$(am__dirstamp)
+	-rm -f extras/v4l_id/$(am__dirstamp)
+	-rm -f libudev/$(DEPDIR)/$(am__dirstamp)
+	-rm -f libudev/$(am__dirstamp)
+	-rm -f udev/$(DEPDIR)/$(am__dirstamp)
+	-rm -f udev/$(am__dirstamp)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+clean: clean-recursive
+
+clean-am: clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libexecPROGRAMS clean-libtool clean-local \
+	clean-noinstLTLIBRARIES clean-sbinPROGRAMS mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf extras/ata_id/$(DEPDIR) extras/cdrom_id/$(DEPDIR) extras/collect/$(DEPDIR) extras/edd_id/$(DEPDIR) extras/firmware/$(DEPDIR) extras/floppy/$(DEPDIR) extras/fstab_import/$(DEPDIR) extras/gudev/$(DEPDIR) extras/hid2hci/$(DEPDIR) extras/input_id/$(DEPDIR) extras/keymap/$(DEPDIR) extras/mobile-action-modeswitch/$(DEPDIR) extras/mtd_probe/$(DEPDIR) extras/path_id/$(DEPDIR) extras/scsi_id/$(DEPDIR) extras/udev-acl/$(DEPDIR) extras/usb-db/$(DEPDIR) extras/usb_id/$(DEPDIR) extras/v4l_id/$(DEPDIR) libudev/$(DEPDIR) udev/$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-hdr distclean-libtool distclean-local distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am: install-dist_docDATA install-dist_udevconfDATA \
+	install-dist_udevhomeDATA install-dist_udevkeymapDATA \
+	install-dist_udevkeymapforcerelDATA install-dist_udevrulesDATA \
+	install-girDATA install-includeHEADERS \
+	install-libgudev_includeHEADERS install-man \
+	install-pkgconfigDATA install-sharepkgconfigDATA \
+	install-systemdsystemunitDATA install-typelibsDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-data-hook
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am: install-dist_libexecSCRIPTS install-libLTLIBRARIES \
+	install-libexecPROGRAMS install-sbinPROGRAMS
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) install-exec-hook
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man: install-man7 install-man8
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -rf extras/ata_id/$(DEPDIR) extras/cdrom_id/$(DEPDIR) extras/collect/$(DEPDIR) extras/edd_id/$(DEPDIR) extras/firmware/$(DEPDIR) extras/floppy/$(DEPDIR) extras/fstab_import/$(DEPDIR) extras/gudev/$(DEPDIR) extras/hid2hci/$(DEPDIR) extras/input_id/$(DEPDIR) extras/keymap/$(DEPDIR) extras/mobile-action-modeswitch/$(DEPDIR) extras/mtd_probe/$(DEPDIR) extras/path_id/$(DEPDIR) extras/scsi_id/$(DEPDIR) extras/udev-acl/$(DEPDIR) extras/usb-db/$(DEPDIR) extras/usb_id/$(DEPDIR) extras/v4l_id/$(DEPDIR) libudev/$(DEPDIR) udev/$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
+	mostlyclean-libtool
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am: uninstall-dist_docDATA uninstall-dist_libexecSCRIPTS \
+	uninstall-dist_udevconfDATA uninstall-dist_udevhomeDATA \
+	uninstall-dist_udevkeymapDATA \
+	uninstall-dist_udevkeymapforcerelDATA \
+	uninstall-dist_udevrulesDATA uninstall-girDATA \
+	uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+	uninstall-libexecPROGRAMS uninstall-libgudev_includeHEADERS \
+	uninstall-man uninstall-pkgconfigDATA uninstall-sbinPROGRAMS \
+	uninstall-sharepkgconfigDATA uninstall-systemdsystemunitDATA \
+	uninstall-typelibsDATA
+	@$(NORMAL_INSTALL)
+	$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
+uninstall-man: uninstall-man7 uninstall-man8
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all check \
+	check-am ctags-recursive install install-am install-data-am \
+	install-exec-am install-strip tags-recursive uninstall-am
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am am--refresh check check-TESTS check-am clean \
+	clean-checkPROGRAMS clean-generic clean-libLTLIBRARIES \
+	clean-libexecPROGRAMS clean-libtool clean-local \
+	clean-noinstLTLIBRARIES clean-sbinPROGRAMS ctags \
+	ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-lzma \
+	dist-shar dist-tarZ dist-xz dist-zip distcheck distclean \
+	distclean-compile distclean-generic distclean-hdr \
+	distclean-libtool distclean-local distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-data-hook install-dist_docDATA \
+	install-dist_libexecSCRIPTS install-dist_udevconfDATA \
+	install-dist_udevhomeDATA install-dist_udevkeymapDATA \
+	install-dist_udevkeymapforcerelDATA install-dist_udevrulesDATA \
+	install-dvi install-dvi-am install-exec install-exec-am \
+	install-exec-hook install-girDATA install-html install-html-am \
+	install-includeHEADERS install-info install-info-am \
+	install-libLTLIBRARIES install-libexecPROGRAMS \
+	install-libgudev_includeHEADERS install-man install-man7 \
+	install-man8 install-pdf install-pdf-am install-pkgconfigDATA \
+	install-ps install-ps-am install-sbinPROGRAMS \
+	install-sharepkgconfigDATA install-strip \
+	install-systemdsystemunitDATA install-typelibsDATA \
+	installcheck installcheck-am installdirs installdirs-am \
+	maintainer-clean maintainer-clean-generic mostlyclean \
+	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
+	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
+	uninstall-dist_docDATA uninstall-dist_libexecSCRIPTS \
+	uninstall-dist_udevconfDATA uninstall-dist_udevhomeDATA \
+	uninstall-dist_udevkeymapDATA \
+	uninstall-dist_udevkeymapforcerelDATA \
+	uninstall-dist_udevrulesDATA uninstall-girDATA uninstall-hook \
+	uninstall-includeHEADERS uninstall-libLTLIBRARIES \
+	uninstall-libexecPROGRAMS uninstall-libgudev_includeHEADERS \
+	uninstall-man uninstall-man7 uninstall-man8 \
+	uninstall-pkgconfigDATA uninstall-sbinPROGRAMS \
+	uninstall-sharepkgconfigDATA uninstall-systemdsystemunitDATA \
+	uninstall-typelibsDATA
+
+# 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*
+
+# ------------------------------------------------------------------------------
+# main udev
+# ------------------------------------------------------------------------------
+udev-confdirs:
+	-mkdir -p $(DESTDIR)$(sysconfdir)/udev/rules.d
+	-mkdir -p $(DESTDIR)$(libexecdir)/devices
+
+@WITH_SYSTEMD_TRUE@systemd-install-hook:
+@WITH_SYSTEMD_TRUE@	mkdir -p $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants
+@WITH_SYSTEMD_TRUE@	ln -sf ../udev.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev.service
+@WITH_SYSTEMD_TRUE@	ln -sf ../udev-settle.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-settle.service
+@WITH_SYSTEMD_TRUE@	ln -sf ../udev-retry.service $(DESTDIR)$(systemdsystemunitdir)/basic.target.wants/udev-retry.service
+
+udev/%.7 udev/%.8 : udev/%.xml
+	$(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+
+udev/%.html : udev/%.xml
+	$(AM_V_GEN)$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
+
+@ENABLE_EXTRAS_TRUE@extras/gudev/gudevmarshal.h: extras/gudev/gudevmarshal.list
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)glib-genmarshal $< --prefix=g_udev_marshal --header > $@
+
+@ENABLE_EXTRAS_TRUE@extras/gudev/gudevmarshal.c: extras/gudev/gudevmarshal.list
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)echo "#include \"gudevmarshal.h\"" > $@ && \
+@ENABLE_EXTRAS_TRUE@	glib-genmarshal $< --prefix=g_udev_marshal --body >> $@
+
+@ENABLE_EXTRAS_TRUE@extras/gudev/gudevenumtypes.h: extras/gudev/gudevenumtypes.h.template extras/gudev/gudevenums.h
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)glib-mkenums --template $^ > \
+@ENABLE_EXTRAS_TRUE@	    $@.tmp && mv $@.tmp $@
+
+@ENABLE_EXTRAS_TRUE@extras/gudev/gudevenumtypes.c: extras/gudev/gudevenumtypes.c.template extras/gudev/gudevenums.h
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)glib-mkenums --template $^ > \
+@ENABLE_EXTRAS_TRUE@	    $@.tmp && mv $@.tmp $@
+
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@extras/gudev/GUdev-1.0.gir: extras/gudev/libgudev-1.0.la $(G_IR_SCANNER) Makefile.am
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@	$(AM_V_GEN)PKG_CONFIG_PATH=$(top_builddir)/data:$$PKG_CONFIG_PATH \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@	LD_LIBRARY_PATH=$(top_builddir)/extras/gudev:$$LD_LIBRARY_PATH \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@	$(G_IR_SCANNER) -v \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--namespace GUdev \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--nsversion=1.0 \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--include=GObject-2.0 \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--library=gudev-1.0 \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--library-path=extras/gudev \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--output $@ \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--pkg=glib-2.0 \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		--pkg=gobject-2.0 \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		-I$(top_builddir)/extras \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		-I$(top_srcdir)/extras \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		-D_GUDEV_COMPILATION \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		-D_GUDEV_WORK_AROUND_DEV_T_BUG \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudev.h \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevtypes.h \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevenums.h \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(or $(wildcard $(top_builddir)/extras/gudev/gudevenumtypes.h),$(top_srcdir)/extras/gudev/gudevenumtypes.h) \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevclient.h \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevdevice.h \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevenumerator.h \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevclient.c \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevdevice.c \
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@		$(top_srcdir)/extras/gudev/gudevenumerator.c
+
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@extras/gudev/GUdev-1.0.typelib: extras/gudev/GUdev-1.0.gir $(G_IR_COMPILER)
+@ENABLE_EXTRAS_TRUE@@ENABLE_INTROSPECTION_TRUE@	$(AM_V_GEN)g-ir-compiler $< -o $@
+
+# move lib from $(libdir) to $(rootlib_execdir) and update devel link, if needed
+@ENABLE_EXTRAS_TRUE@libgudev-install-move-hook:
+@ENABLE_EXTRAS_TRUE@	if test "$(libdir)" != "$(rootlib_execdir)"; then \
+@ENABLE_EXTRAS_TRUE@		mkdir -p $(DESTDIR)$(rootlib_execdir) && \
+@ENABLE_EXTRAS_TRUE@		so_img_name=$$(readlink $(DESTDIR)$(libdir)/libgudev-1.0.so) && \
+@ENABLE_EXTRAS_TRUE@		so_img_rel_target_prefix=$$(echo $(libdir) | sed 's,\(^/\|\)[^/][^/]*,..,g') && \
+@ENABLE_EXTRAS_TRUE@		ln -sf $$so_img_rel_target_prefix$(rootlib_execdir)/$$so_img_name $(DESTDIR)$(libdir)/libgudev-1.0.so && \
+@ENABLE_EXTRAS_TRUE@		mv $(DESTDIR)$(libdir)/libgudev-1.0.so.* $(DESTDIR)$(rootlib_execdir); \
+@ENABLE_EXTRAS_TRUE@	fi
+
+@ENABLE_EXTRAS_TRUE@libgudev-uninstall-move-hook:
+@ENABLE_EXTRAS_TRUE@	rm -f $(DESTDIR)$(rootlib_execdir)/libgudev-1.0.so*
+
+@ENABLE_EXTRAS_TRUE@udevacl-install-hook:
+@ENABLE_EXTRAS_TRUE@	mkdir -p $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d
+@ENABLE_EXTRAS_TRUE@	ln -sf $(libexecdir)/udev-acl $(DESTDIR)$(prefix)/lib/ConsoleKit/run-seat.d/udev-acl.ck
+
+@ENABLE_EXTRAS_TRUE@extras/keymap/keys.txt: $(INCLUDE_PREFIX)/linux/input.h
+@ENABLE_EXTRAS_TRUE@	$(AM_V_at)mkdir -p extras/keymap
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)$(AWK) '/^#define.*KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' < $< | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@
+
+@ENABLE_EXTRAS_TRUE@extras/keymap/keys-from-name.gperf: extras/keymap/keys.txt
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@
+
+@ENABLE_EXTRAS_TRUE@extras/keymap/keys-from-name.h: extras/keymap/keys-from-name.gperf Makefile
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@
+
+@ENABLE_EXTRAS_TRUE@extras/keymap/keys-to-name.h: extras/keymap/keys.txt Makefile
+@ENABLE_EXTRAS_TRUE@	$(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@
+
+@ENABLE_EXTRAS_TRUE@keymaps-distcheck-hook: extras/keymap/keys.txt
+@ENABLE_EXTRAS_TRUE@	$(top_srcdir)/extras/keymap/check-keymaps.sh $(top_srcdir) $^
+
+# ------------------------------------------------------------------------------
+# install, uninstall, clean hooks
+# ------------------------------------------------------------------------------
+clean-local:
+	rm -rf udev-test-install
+
+distclean-local:
+	rm -rf autom4te.cache
+
+install-exec-hook: $(INSTALL_EXEC_HOOKS)
+
+install-data-hook: $(INSTALL_DATA_HOOKS)
+
+uninstall-hook: $(UNINSTALL_EXEC_HOOKS)
+
+distcheck-hook: $(DISTCHECK_HOOKS)
+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)"
+	cat .git/refs/heads/master > .git/refs/tags/$(VERSION)
+	git gc
+	git prune
+
+doc-sync:
+	rsync -av udev/*.html master.kernel.org:/pub/linux/utils/kernel/hotplug/udev/
+	rsync -av --delete libudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/libudev/
+	rsync -av --delete extras/gudev/docs/html/ master.kernel.org:/pub/linux/utils/kernel/hotplug/gudev/
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/udev-166/NEWS b/udev-166/NEWS
new file mode 100644
index 0000000..1797910
--- /dev/null
+++ b/udev-166/NEWS
@@ -0,0 +1,1469 @@
+udev 166
+========
+Bugfixes.
+
+New and updated keymaps.
+
+udev 165
+========
+Bugfixes.
+
+The udev database has changed, After installation of a new udev
+version, 'udevadm info --convert-db' should be called, to let the new
+udev/libudev version read the already stored data.
+
+udevadm now supports quoting of property values, and prefixing of
+key names:
+  $ udevadm info --export --export-prefix=MY_ --query=property -n sda
+  MY_MAJOR='259'
+  MY_MINOR='0'
+  MY_DEVNAME='/dev/sda'
+  MY_DEVTYPE='disk'
+  ...
+
+libudev now supports:
+  udev_device_get_is_initialized()
+  udev_enumerate_add_match_is_initialized()
+to be able to skip devices the kernel has created , but udev has
+not already handled.
+
+libudev now supports:
+  udev_device_get_usec_since_initialized()
+to retrieve the "age" of a udev device record.
+
+GUdev supports a more generic GUdevEnumerator class, udev TAG
+handling, device initialization and timestamp now.
+
+The counterpart of /sys/dev/{char,block}/$major:$minor,
+/dev/{char,block}/$major:$minor symlinks are now unconditionally
+created, even when no rule files exist.
+
+New and updated keymaps.
+
+udev 164
+========
+Bugfixes.
+
+GUdev moved from /usr to /.
+
+udev 163
+========
+Bugfixes.
+
+udev 162
+========
+Bugfixes.
+
+Persistent network naming rules are disabled inside of Qemu/KVM now.
+
+New and updated keymaps.
+
+Udev gets unconditionally enabled on systemd installations now. There
+is no longer the need to to run 'systemctl enable udev.service'.
+
+udev 161
+========
+Bugfixes.
+
+udev 160
+========
+Bugfixes.
+
+udev 159
+========
+Bugfixes.
+
+New and fixed keymaps.
+
+Install systemd service files if applicable.
+
+udev 158
+========
+Bugfixes.
+
+All distribution specific rules are removed from the udev source tree,
+most of them are no longer needed. The Gentoo rules which allow to support
+older kernel versions, which are not covered by the default rules anymore
+has moved to rules/misc/30-kernel-compat.rules.
+
+udev 157
+========
+Bugfixes.
+
+The option --debug-trace and the environemnt variable UDEVD_MAX_CHILDS=
+was removed from udevd.
+
+Udevd now checks the kernel commandline for the following variables:
+  udev.log-priority=<syslog priority>
+  udev.children-max=<maximum number of workers>
+  udev.exec-delay=<seconds to delay the execution of RUN=>
+to help debuging coldplug setups where the loading of a kernel
+module crashes the system.
+
+The subdirectory in the source tree rules/packages has been renamed to
+rules/arch, anc contains only architecture specific rules now.
+
+udev 156
+========
+Bugfixes.
+
+udev 155
+========
+Bugfixes.
+
+Now the udev daemon itself, does on startup:
+  - copy the content of /lib/udev/devices to /dev
+  - create the standard symlinks like /dev/std{in,out,err},
+    /dev/core, /dev/fd, ...
+  - use static node information provided by kernel modules
+    and creates these nodes to allow module on-demand loading
+  - possibly apply permissions to all ststic nodes from udev
+    rules which are annotated to match a static node
+
+The default mode for a device node is 0600 now to match the kernel
+created devtmpfs defaults. If GROUP= is specified and no MODE= is
+given the default will be 0660.
+
+udev 154
+========
+Bugfixes.
+
+Udev now gradually starts to pass control over the primary device nodes
+and their names to the kernel, and will in the end only manage the
+permissions of the node, and possibly create additional symlinks.
+As a first step NAME="" will be ignored, and NAME= setings with names
+other than the kernel provided name will result in a logged warning.
+Kernels that don't provide device names, or devtmpfs is not used, will
+still work as they did before, but it is strongly recommended to use
+only the same names for the primary device node as the recent kernel
+provides for all devices.
+
+udev 153
+========
+Fix broken firmware loader search path.
+
+udev 152
+========
+Bugfixes.
+
+"udevadm trigger" defaults to "change" events now instead of "add"
+events. The "udev boot script" might need to add "--action=add" to
+the trigger command if not already there, in case the initial coldplug
+events are expected as "add" events.
+
+The option "all_partitons" was removed from udev. This should not be
+needed for usual hardware. Udev can not safely make assumptions
+about non-existing partition major/minor numbers, and therefore no
+longer provide this unreliable and unsafe option.
+
+The option "ignore_remove" was removed from udev. With devtmpfs
+udev passed control over device nodes to the kernel. This option
+should not be needed, or can not work as advertised. Neither
+udev nor the kernel will remove device nodes which are copied from
+the /lib/udev/devices/ directory.
+
+All "add|change" matches are replaced by "!remove" in the rules and
+in the udev logic. All types of events will update possible symlinks
+and permissions, only "remove" is handled special now.
+
+The modem modeswitch extra was removed and the external usb_modeswitch
+program should be used instead.
+
+New and fixed keymaps.
+
+udev 151
+========
+Bugfixes.
+
+udev 150
+========
+Bugfixes.
+
+Kernels with SYSFS_DEPRECATED=y are not supported since a while. Many users
+depend on the current sysfs layout and the information not available in the
+deprecated layout. All remaining support for the deprecated sysfs layout is
+removed now.
+
+udev 149
+========
+Fix for a possible endless loop in the new input_id program.
+
+udev 148
+========
+Bugfixes.
+
+The option "ignore_device" does no longer exist. There is no way to
+ignore an event, as libudev events can not be suppressed by rules.
+It only prevented RUN keys from being executed, which results in an
+inconsistent behavior in current setups.
+
+BUS=, SYSFS{}=, ID= are long deprecated and should be SUBSYSTEM(S)=,
+ATTR(S){}=, KERNEL(S)=. It will cause a warning once for every rule
+file from now on.
+
+The support for the deprecated IDE devices has been removed from the
+default set of rules. Distros who still care about non-libata drivers
+need to add the rules to the compat rules file.
+
+The ID_CLASS property on input devices has been replaced by the more accurate
+set of flags ID_INPUT_{KEYBOARD,KEY,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. These are
+determined by the new "input_id" prober now. Some devices, such as touchpads,
+can have several classes. So if you previously had custom udev rules which e. g.
+checked for ENV{ID_CLASS}=="kbd", you need to replace this with
+ENV{ID_INPUT_KEYBOARD}=="?*".
+
+udev 147
+========
+Bugfixes.
+
+To support DEVPATH strings larger than the maximum file name length, the
+private udev database format has changed. If some software still reads the
+private files in /dev/.udev/, which it shouldn't, now it's time to fix it.
+Please do not port anything to the new format again, everything in /dev/.udev
+is and always was private to udev, and may and will change any time without
+prior notice.
+
+Multiple devices claiming the same names in /dev are limited to symlinks
+only now. Mixing identical symlink names and node names is not supported.
+This reduces the amount of data in the database significantly.
+
+NAME="%k" causes a warning now. It's is and always was completely superfluous.
+It will break kernel supplied DEVNAMEs and therefore it needs to be removed
+from all rules.
+
+Most NAME= instructions got removed. Kernel 2.6.31 supplies the needed names
+if they are not the default. To support older kernels, the NAME= rules need to
+be added to the compat rules file.
+
+Symlinks to udevadm with the old command names are no longer resolved to
+the udevadm commands.
+
+The udev-acl tool got adopted to changes in ConsoleKit. Version 0.4.1 is
+required now.
+
+The option "last_rule" does no longer exist. Its use breaks too many
+things which expect to be run from independent later rules, and is an idication
+that something needs to be fixed properly instead.
+
+The gudev API is no longer marked as experimental,
+G_UDEV_API_IS_SUBJECT_TO_CHANGE is no longer needed. The gudev introspection
+is enabled by default now. Various projects already depend on introspection
+information to bind dynamic languages to the gudev interfaces.
+
+udev 146
+========
+Bugfixes.
+
+The udevadm trigger "--retry-failed" option, which is replaced since quite
+a while by "--type=failed" is removed.
+
+The failed tracking was not working at all for a few releases. The RUN
+option "ignore_error" is replaced by a "fail_event_on_error" option, and the
+default is not to track any failing RUN executions.
+
+New keymaps, new modem, hid2hci updated.
+
+udev 145
+========
+Fix possible crash in udevd when worker processes are busy, rules are
+changed at the same time, and workers get killed to reload the rules.
+
+udev 144
+========
+Bugfixes.
+
+Properties set with ENV{.FOO}="bar" are marked private by starting the
+name with a '.'. They will not be stored in the database, and not be
+exported with the event.
+
+Firmware files are looked up in:
+  /lib/firmware/updates/$(uname -r)
+  /lib/firmware/updates
+  /lib/firmware/$(uname -r)
+  /lib/firmware"
+now.
+
+ATA devices switched the property from ID_BUS=scsi to ID_BUS=ata.
+ata_id, instead of scsi_id, is the default tool now for ATA devices.
+
+udev 143
+========
+Bugfixes.
+
+The configure options have changed because another library needs to be
+installed in a different location. Instead of exec_prefix and udev_prefix,
+libdir, rootlibdir and libexecdir are used. The Details are explained in
+the README file.
+
+Event processes now get re-used after they handled an event. This reduces
+the number of forks and the pressure on the CPU significantly, because
+cloned event processes no longer cause page faults in the main daemon.
+After the events have settled, a few worker processes stay around for
+future events, all others get cleaned up.
+
+To be able to use signalfd(), udev depends on kernel version 2.6.25 now.
+Also inotify support is mandatory now to run udev.
+
+The format of the queue exported by the udev damon has changed. There is
+no longer a /dev/.udev/queue/ directory. The current event queue can be
+accessed with udevadm settle and libudedv.
+
+Libudev does not have the unstable API header anymore. From now on,
+incompatible changes will be handled by bumping the library major version.
+
+To build udev from the git tree gtk-doc is needed now. The tarballs will
+build without it and contain the pre-built documentation. An online copy
+is available here:
+  http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/
+
+The tools from the udev-extras repository have been merged into the main
+udev repository. Some of the extras have larger external dependencies, and
+they can be disabled with the configure switch --disable-extras.
+
+udev 142
+========
+Bugfixes.
+
+The program vol_id and the library libvolume_id are removed from the
+repository. Libvolume_id is merged with libblkid from the util-linux-ng
+package. Persistent disk links for label and uuid depend on the
+util-linux-ng version (2.15) of blkid now. Older versions of blkid
+can not be used with udev.
+
+Libudev allows to subscribe to udev events. To prevent unwanted messages
+to be delivered, and waking up the subscribing process, a filter can be
+installed, to drop messages inside a kernel socket filter. The filters
+match on the <subsytem>:<devtype> properties of the device.
+    This is part of the ongoing effort to replace HAL, and switch current
+users over to directly use libudev.
+    Libudev is still marked as experimental, and its interface might
+eventually change if needed, but no major changes of the currently exported
+interface are expected anymore, and a first stable release should happen
+soon.
+
+A too old kernel (2.6.21) or a kernel with CONFIG_SYSFS_DEPRECATED
+is not supported since while and udevd will log an error message at
+startup. It should still be able to boot-up, but advanced rules and system
+services which depend on the information not available in the old sysfs
+format will fail to work correctly.
+
+DVB device naming is supplied by the kernel now. In case older kernels
+need to be supported, the old shell script should be added to a compat
+rules file.
+
+udev 141
+========
+Bugfixes.
+
+The processed udev events get send back to the netlink socket. Libudev
+provides access to these events. This is work-in-progress, to replace
+the DeviceKit daemon functionality directly with libudev. There are
+upcoming kernel changes to allow non-root users to subcribe to these
+events.
+
+udev 140
+========
+Bugfixes.
+
+"udevadm settle" now optionally accepts a range of events to wait for,
+instead of waiting for "all" events.
+
+udev 139
+========
+Bugfixes.
+
+The installed watch for block device metadata changes is now removed
+during event hadling, because some (broken) tools may be called from udev
+rules and (wrongly) open the device with write access. After the finished
+event handling the watch is restored.
+
+udev 138
+========
+Bugfixes.
+
+Device nodes can be watched for changes with inotify with OPTIONS="watch".
+If closed after being opened for writing, a "change" uevent will occur.
+/dev/disk/by-{label,uuid}/* symlinks will be automatically updated.
+
+udev 137
+========
+Bugfixes.
+
+The udevadm test command has no longer a --force option, nodes and symlinks
+are always updated with a test run now.
+
+The udevd daemon can be started with --resolve-names=never to avoid all user
+and group lookups (e.g. in cut-down systems) or --resolve-names=late to
+lookup user and groups every time events are handled.
+
+udev 136
+========
+Bugfixes.
+
+We are currently merging the Ubuntu rules in the udev default rules,
+and get one step closer to provide a common Linux /dev setup, regarding
+device names, symlinks, and default device permissions. On udev startup,
+we now expect the following groups to be resolvable to their ids with
+glibc's getgrnam():
+  disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, kmem.
+LDAP setups need to make sure, that these groups are always resolvable at
+bootup, with only the rootfs mounted, and without network access available.
+
+Some systems may need to add some new, currently not used groups, or need
+to add some users to new groups, but the cost of this change is minimal,
+compared to the pain the current, rather random, differences between the
+various distributions cause for upstream projects and third-party vendors.
+
+In general, "normal" users who log into a machine should never be a member
+of any such group, but the device-access should be managed by dynamic ACLs,
+which get added and removed for the specific users on login/logout and
+session activity/inactivity. These groups are only provided for custom setups,
+and mainly system services, to allow proper privilege separation.
+A video-streaming daemon uid would be a member of "audio" and "video", to get
+access to the sound and video devices, but no "normal" user should ever belong
+to the "audio" group, because he could listen to the built-in microphone with
+any ssh-session established from the other side of the world.
+
+/dev/serial/by-{id,path}/ now contains links for ttyUSB devices,
+which do not depend on the kernel device name. As usual, unique
+devices - only a single one per product connected, or a real
+USB serial number in the device - are always found with the same
+name in the by-id/ directory.
+Completely identical devices may overwrite their names in by-id/
+and can only be found reliably in the by-path/ directory. Devices
+specified by by-path/ must not change their connection, like the
+USB port number they are plugged in, to keep their name.
+
+To support some advanced features, Linux 2.6.22 is the oldest supported
+version now. The kernel config with enabled SYSFS_DEPRECATED is no longer
+supported. Older kernels should still work, and devices nodes should be
+reliably created, but some rules and libudev will not work correctly because
+the old kernels do not provide the expected information or interfaces.
+
+udev 135
+========
+Bugfixes.
+
+Fix for a possible segfault while swapping network interface names in udev
+versions 131-134.
+
+udev 134
+========
+Bugfixes.
+
+The group "video" is part of the default rules now.
+
+udev 133
+========
+Bugfix for kernels using SYSFS_DEPRECATED* option and finding parent
+block devices in some cases. No common distro uses this option anymore,
+and we do not get enough testing for this and recent udev versions. If
+this option is not needed to run some old distro with a new kernel,
+it should be disabled in the kernel config.
+
+Bugfix for the $links substitution variable, which may crash if no links
+are created. This should not happen in usual setups because we always
+create /dev/{block,char}/ links.
+
+The strings of the parsed rules, which are kept in memory, no longer
+contain duplicate entries, or duplicate tails of strings. This, and the
+new rules parsing/matching code reduces the total in-memory size of
+a huge distro rule sets to 0.08 MB, compared to the 1.2MB of udev
+version 130.
+
+The export of DEVTYPE=disk/partition got removed from the default
+rules. This value is available from the kernel. The pnp shell script
+modprobe hack is removed from the default rules. ACPI devices have _proper_
+modalias support and take care of the same functionality.
+Installations which support old kernels, but install current default
+udev rules may want to add that to the compat rules file.
+
+Libvolume_id now always probes for all known filesystems, and does not
+stop at the first match. Some filesystems are marked as "exclusive probe",
+and if any other filesytem type matches at the same time, libvolume_id
+will, by default, not return any probing result. This is intended to prevent
+mis-detection with conflicting left-over signatures found from earlier
+file system formats. That way, we no longer depend on the probe-order
+in case of multiple competing signatures. In some setups the kernel allows
+to mount a volume with just the old filesystem signature still in place.
+This may damage the new filesystem and cause data-loss, just by mounting
+it. Because volume_id can not decide which one the correct signature is,
+the wrong signatures need to be removed manually from the volume, or the
+volume needs to be reformatted, to enable filesystem detection and possible
+auto-mounting.
+
+udev 132
+========
+Fix segfault if compiled without optimization and dbg() does not get
+compiled out and uses variables which are not available.
+
+udev 131
+========
+Bugfixes. (And maybe new bugs. :))
+
+The rule matching engine got converted from a rule list to a token
+array which reduced the in-memory rules representation of a full
+featured distros with thousends of udev rules from 1.2MB to 0.12 MB.
+Limits like 5 ENV and ATTR matches, and one single instance for most
+other keys per rule are gone.
+
+The NAME assignment is no longer special cased. If later rules assign
+a NAME value again, the former value will be overwritten. As usual
+for most other keys, the NAME value can be protected by doing a final
+assignment with NAME:="<value>".
+
+All udev code now uses libudev, which is also exported. The library
+is still under development, marked as experimental, and its interface
+may change as long as the DeviceKit integration is not finished.
+
+Many thanks to Alan Jenkins for his continuous help, and finding and
+optimizing some of the computing expensive parts.
+
+udev 130
+========
+Bugfixes.
+
+Kernel devices and device nodes are connected now by reverse indizes in
+/sys and /dev. A device number retrieved by a stat() or similar, the
+kernel device directory can be found by looking up:
+  /sys/dev/{block,char}/<maj>:<min>
+and the device node of the same device by looking up:
+  /dev/{block,char}/<maj>:<min>
+
+udev 129
+========
+Fix recently introduced bug, which caused a compilation without large
+file support, where vol_id does not recognize raid signatures at the end
+of a volume.
+
+Firewire disks now create both, by-id/scsi-* and by-id/ieee-* links.
+Seems some kernel versions prevent the creation of the ieee-* links,
+so people used the scsi-* link which disappeared now.
+
+More libudev work. Almost all udevadm functionality comes from libudev
+now.
+
+udevadm trigger has a new option --type, which allows to trigger events
+for "devices", for "subsystems", or "failed" devices. The old option
+--retry-failed" still works, but is no longer mentioned in the man page.
+
+udev 128
+========
+Bugfixes.
+
+The udevadm info --device-id-of-file= output has changed to use
+the obvious format. Possible current users should use the --export
+option which is not affected.
+
+The old udev commands symlinks to udevadm are not installed, if
+these symlinks are used, a warning is printed.
+
+udev 127
+========
+Bugfixes.
+
+Optical drive's media is no longer probed for raid signatures,
+reading the end of the device causes some devices to malfunction.
+Also the offset of the last session found is used now to probe
+for the filesystem.
+
+The volume_id library got a major version number update to 1,
+some deprecated functions are removed.
+
+A shared library "libudev" gets installed now to provide access
+to udev device information. DeviceKit, the successor of HAL, will
+need this library to access the udev database and search sysfs for
+devices.
+The library is currently in an experimental state, also the API is
+expected to change, as long as the DeviceKit integration is not
+finished.
+
+udev 126
+========
+We use ./configure now. See INSTALL for details. Current
+options are:
+    --prefix=
+        "/usr" - prefix for man pages, include files
+    --exec-prefix=
+        "" - the root filesystem, prefix for libs and binaries
+    --sysconfdir=
+        "/etc"
+    --with-libdir-name=
+        "lib" - directory name for libraries, not a path name
+        multilib 64bit systems may use "lib64" instead of "lib"
+    --enable-debug
+        compile-in verbose debug messages
+    --disable-logging
+        disable all logging and compile-out all log strings
+    --with-selinux
+        link against SELInux libraries, to set the expected context
+        for created files
+
+In the default rules, the group "disk" gets permissions 0660 instead
+of 0640. One small step closer to unify distro rules. Some day, all
+distros hopefully end up with the same set of rules.
+
+No symlinks to udevadm are installed anymore, if they are still needed,
+they should be provided by the package.
+
+udev 125
+========
+Bugfixes.
+
+Default udev rules, which are not supposed to be edited by the user, should
+be placed in /lib/udev/rules.d/ now, to make it clear that they are private to
+the udev package and will be replaced with an update. Udev will pick up rule
+files from:
+  /lib/udev/rules.d/  - default installed rules
+  /etc/udev/rules.d/  - user rules + on-the-fly generated rules
+  /dev/.udev/rules.d/ - temporary non-persistent rules created after bootup
+It does not matter in which directory a rule file lives, all files are sorted
+in lexical order.
+
+To help creating /dev/root, we have now:
+  $ udevadm info --export --export-prefix="ROOT_" --device-id-of-file=/
+  ROOT_MAJOR=8
+  ROOT_MINOR=5
+In case the current --device-id-of-file is already used, please switch to
+the --export format version, it saves the output parsing and the old
+format will be changed to use ':' as a separator, like the format in the
+sysfs 'dev' file.
+
+udev 124
+========
+Fix cdrom_id to properly recognize blank media.
+
+udev 123
+========
+Bugfixes.
+
+Tape drive id-data is queried from /dev/bsg/* instead of the tape
+nodes. This avoids rewinding tapes on open().
+
+udev 122
+========
+Bugfixes.
+
+The symlinks udevcontrol and udevtrigger are no longer installed by
+the Makefile.
+
+The scsi_id program does not depend on sysfs anymore. It can speak
+SGv4 now, so /dev/bsg/* device nodes can be used, to query SCSI device
+data, which should solve some old problems with tape devices, where
+we better do not open all tape device nodes to identify the device.
+
+udev 121
+========
+Many bugfixes.
+
+The cdrom_id program is replaced by an advanced version, which can
+detect most common device types, and also properties of the inserted
+media. This is part of moving some basic functionality from HAL into
+udev (and the kernel).
+
+udev 120
+========
+Bugfixes.
+
+The last WAIT_FOR_SYSFS rule is removed from the default rules.
+
+The symlinks to udevadm for the debugging tools: udevmonitor and
+udevtest are no longer created.
+
+The symlinks to the udevadm man page for the old tool names are
+no longer created.
+
+Abstract namespace sockets paths in RUN+="socket:@<path>" rules,
+should be prefixed with '@' to indicate that the path is not a
+real file.
+
+udev 119
+========
+Bugfixes.
+
+udev 118
+========
+Bugfixes.
+
+Udevstart is removed from the tree, it did not get installed for
+a long time now, and is long replaced by trigger and settle.
+
+udev 117
+========
+Bugfixes.
+
+All udev tools are merged into a single binary called udevadm.
+The old names of the tools are built-in commands in udevadm now.
+Symlinks to udevadm, with the names of the old tools, provide
+the same functionality as the standalone tools. There is also
+only a single udevadm.8 man page left for all tools.
+
+Tools like mkinitramfs should be checked, if they need to include
+udevadm in the list of files.
+
+udev 116
+========
+Bugfixes.
+
+udev 115
+========
+Bugfixes.
+
+The etc/udev/rules.d/ directory now contains a default set of basic
+udev rules. This initial version is the result of a rules file merge
+of Fedora and openSUSE. For these both distros only a few specific
+rules are left in their own file, named after the distro. Rules which
+are optionally installed, because they are only valid for a specific
+architecture, or rules for subsystems which are not always used are
+in etc/udev/packages/.
+
+udev 114
+========
+Bugfixes.
+
+Dynamic rules can be created in /dev/.udev/rules.d/ to trigger
+actions by dynamically created rules.
+
+SYMLINK=="<value>" matches agains the entries in the list of
+currently defined symlinks. The links are not created in the
+filesystem at that point in time, but the values can be matched.
+
+RUN{ignore_error}+="<program>" will ignore any exit code from the
+program and not record as a failed event.
+
+udev 113
+========
+Bugfixes.
+
+Final merge of patches/features from the Ubuntu package.
+
+udev 112
+========
+Bugfixes.
+
+Control characters in filesystem label strings are no longer silenty
+removed, but hex-encoded, to be able to uniquely identify the device
+by its symlink in /dev/disk/by-label/.
+If libvolume_id is used by mount(8), LABEL= will work as expected,
+if slashes or other characters are used in the label string.
+
+To test the existence of a file, TEST=="<file>" and TEST!="<file>"
+can be specified now. The TEST key accepts an optional mode mask
+TEST{0100}=="<is executable file>".
+
+Scsi_id now supports a mode without expecting scsi-specific sysfs
+entries to allow the extraction of cciss-device persistent properties.
+
+udev 111
+========
+Bugfixes.
+
+In the future, we may see uuid's which are just simple character
+strings (see the DDF Raid Specification). For that reason vol_id now
+exports ID_FS_UUID_SAFE, just like ID_FS_LABEL_SAFE. For things like
+the creation of symlinks, the *_SAFE values ensure, that no control
+or whitespace characters are used in the filename.
+
+Possible users of libvolume_id, please use the volume_id_get_* functions.
+The public struct will go away in a future release of the library.
+
+udev 110
+========
+Bugfixes.
+
+Removal of useless extras/eventrecorder.sh.
+
+udev 109
+========
+Bugfixes.
+
+udev 108
+========
+Bugfixes.
+
+The directory multiplexer for dev.d/ and hotplug.d are finally removed
+from the udev package.
+
+udev 107
+========
+Bugfixes.
+
+Symlinks can have priorities now, the priority is assigned to the device
+and specified with OPTIONS="link_priority=100". Devices with higher
+priorities overwrite the symlinks of devices with lower priorities.
+If the device that currently owns the link, goes away, the symlink
+will be removed, and recreated, pointing to the next device with the
+highest actual priority. This should make /dev/disk/by-{label,uuid,id}
+more reliable, if multiple devices contain the same metadata and overwrite
+these symlinks.
+
+The dasd_id program is removed from the udev tree, and dasdinfo, with the
+needed rules, are part of the s390-tools now.
+
+Please add KERNEL=="[0-9]*:[0-9]*" to the scsi wait-for-sysfs rule,
+we may get the scsi sysfs mess fixed some day, and this will only catch
+the devices we are looking for.
+
+USB serial numbers for storage devices have the target:lun now appended,
+to make it possibble to distinguish broken multi-lun devices with all
+the same SCSI identifiers.
+
+Note: The extra "run_directory" which searches and executes stuff in
+/etc/hotplug.d/ and /etc/dev.d/ is long deprecated, and will be removed
+with the next release. Make sure, that you don't use it anymore, or
+provides your own implementation of that inefficient stuff.
+We are tired of reports about a "slow udev", because these directories
+contain stuff, that runs with _every_ event, instead of using rules,
+that run programs only for the matching events.
+
+udev 106
+========
+Bugfixes.
+
+udev 105
+========
+Bugfixes.
+
+DRIVER== will match only for devices that actually have a real
+driver. DRIVERS== must be used, if parent devices should be
+included in the match.
+
+Libvolume_id's "linux_raid" detection needed another fix.
+
+udev 104
+========
+Bugfixes.
+
+udev 103
+========
+Add additional check to volume_id detection of via_raid, cause
+some company decided to put a matching pattern all over the empty
+storage area of their music players.
+
+udev 102
+========
+Fix path_id for SAS devices.
+
+udev 101
+========
+The udev daemon can be started with --debug-trace now, which will
+execute all events serialized to get a chance to catch a possible
+action that crashes the box.
+
+A warning is logged, if PHYSDEV* keys, the "device" link, or a parent
+device attribute like $attr{../file} is used, only WAIT_FOR_SYSFS rules
+are excluded from the warning. Referencing parent attributes directly
+may break when something in the kernel driver model changes. Udev will
+just find the attribute by walking up the parent chain.
+
+Udevtrigger now sorts the list of devices depending on the device
+dependency, so a "usb" device is triggered after the parent "pci"
+device.
+
+udev 100
+========
+Revert persistent-storage ata-serial '_' '-' replacement.
+
+udev 099
+========
+Bugfixes.
+
+Udevtrigger can now filter the list of devices to be triggered. Matches
+for subsystems or sysfs attributes can be specified.
+
+The entries in /dev/.udev/queue and /dev/.udev/failed have changed to
+zero-sized files to avoid pointing to /sys and confuse broken tools which
+scan the /dev directory. To retry failed events, udevtrigger --retry-failed
+should be used now.
+
+The rules and scripts to create udev rules for persistent network
+devices and optical drives are in the extras/rules_generator directory
+now. If you use something similar, please consider replacing your own
+version with this, to share the support effort. The rule_generator
+installs its own rules into /etc/udev/rules.d.
+
+The cdrom_id tool installs its own rule now in /etc/udev/rules.d, cause
+the rule_generator depends on cdrom_id to be called in an earlier rule.
+
+udev 098
+========
+Bugfixes.
+
+Renaming of some key names (the old names still work):
+BUS -> SUBSYSTEMS, ID -> KERNELS, SYSFS -> ATTRS, DRIVER -> DRIVERS.
+(The behavior of the key DRIVER will change soon in one of the next
+releases, to match only the event device, please switch to DRIVERS
+instead. If DRIVER is used, it will behave like DRIVERS, but an error
+is logged.
+With the new key names, we have a more consistent and simpler scheme.
+We can match the properties of the event device only, with: KERNEL,
+SUBSYSTEM, ATTR, DRIVER. Or include all the parent devices in the match,
+with: KERNELS, SUBSYSTEMS, ATTRS, DRIVERS. ID, BUS, SYSFS, DRIVER are no
+longer mentioned in the man page and should be switched in the rule
+files.
+
+ATTR{file}="value" can be used now, to write to a sysfs file of the
+event device. Instead of:
+  ..., SYSFS{type}=="0|7|14", RUN+="/bin/sh -c 'echo 60 > /sys$$DEVPATH/timeout'"
+we now can do:
+  ..., ATTR{type}=="0|7|14", ATTR{timeout}="60"
+
+All the PHYSDEV* keys are deprecated and will be removed from a
+future kernel:
+  PHYDEVPATH -    is the path of a parent device and should not be
+                  needed at all.
+  PHYSDEVBUS -    is just a SUBSYSTEM value of a parent, and can be
+                  matched with SUBSYSTEMS==
+  PHYSDEVDRIVER - for bus devices it is available as ENV{DRIVER}.
+                  Newer kernels will have DRIVER in the environment,
+                  for older kernels udev puts in. Class device will
+                  no longer carry this property of a parent and
+                  DRIVERS== can be used to match such a parent value.
+Note that ENV{DRIVER} is only available for a few bus devices, where
+the driver is already bound at device event time. On coldplug, the
+events for a lot devices are already bound to a driver, and they will have
+that value set. But on hotplug, at the time the kernel creates the device,
+it can't know what driver may claim the device after that, therefore
+in most cases it will be empty.
+
+Failed events should now be re-triggered with:
+   udevtrigger --retry-failed.
+Please switch to this command, so we keep the details of the /dev/.udev/failed/
+files private to the udev tools. We may need to switch the current symlink
+target, cause some obviously broken tools try to scan all files in /dev
+including /dev/.udev/, find the links to /sys and end up stat()'ing sysfs files
+million times. This takes ages on slow boxes.
+
+The udevinfo attribute walk (-a) now works with giving a device node
+name (-n) instead of a devpath (-p). The query now always works, also when
+no database file was created by udev.
+
+The built-in /etc/passwd /etc/group parser is removed, we always depend on
+getpwnam() and getgrnam() now. One of the next releases will depend on
+fnmatch() and may use getopt_long().
+
+udev 097
+========
+Bugfixes and small improvements.
+
+udev 096
+========
+Fix path_id for recent kernels.
+
+udev 095
+========
+%e is finally gone.
+
+Added support for swapping network interface names, by temporarily
+renaming the device and wait for the target name to become free.
+
+udev 094
+========
+The built-in MODALIAS key and substitution is removed.
+
+udev 093
+========
+The binary firmware helper is replaced by the usual simple
+shell script. Udevsend is removed from the tree.
+
+udev 092
+========
+Bugfix release.
+
+udev 091
+========
+Some more keys require the correct use of '==' and '=' depending
+on the kind of operation beeing an assignment or a match. Rules
+with invalid operations are skipped and logged to syslog. Please
+test with udevtest if the parsing of your rules throws errors and
+fix possibly broken rules.
+
+udev 090
+========
+Provide "udevsettle" to wait for all current udev events to finish.
+It also watches the current kernel netlink queue by comparing the
+even sequence number to make sure that there are no current pending
+events that have not already arrived in the daemon.
+
+udev 089
+========
+Fix rule to skip persistent rules for removable IDE devices, which
+also skipped optical IDE drives.
+
+All *_id program are installed in /lib/udev/ by default now.
+
+No binary is stripped anymore as this should be done in the
+packaging process and not at build time.
+
+libvolume_id is provided as a shared library now and vol_id is
+linked against it. Also one of the next HAL versions will require
+this library, and the HAL build process will also require the
+header file to be installed. The copy of the same code in HAL will
+be removed to have only a single copy left on the system.
+
+udev 088
+========
+Add persistent links for SCSI tapes. The rules file is renamed
+to 60-persistent-storage.rules.
+
+Create persistent path for usb devices. Can be used for all sorts
+of devices that can't be distinguished by other properties like
+multiple identical keyboards and mice connected to the same box.
+
+Provide "udevtrigger" program to request events on coldplug. The
+shell script is much too slow with thousends of devices.
+
+udev 087
+========
+Fix persistent disk rules to exclude removable IDE drives.
+
+Warn if %e, $modalias or MODALIAS is used.
+
+udev 086
+========
+Fix queue export, which wasn't correct for subsequent add/remove
+events for the same device.
+
+udev 085
+========
+Fix cramfs detection on big endian.
+
+Make WAIT_FOR_SYSFS usable in "normal" rules and silent if the whole
+device goes away.
+
+udev 084
+========
+If BUS== and SYSFS{}== have been used in the same rule, the sysfs
+attributes were only checked at the parent device that matched the
+by BUS requested subsystem. Fix it to also look at the device we
+received the event for.
+
+Build variable CROSS has changed to CROSS_COMPILE to match the kernel
+build name.
+
+udev 083
+========
+Fix a bug where NAME="" would prevent RUN from beeing executed.
+
+RUN="/bin/program" does not longer automatically add the subsystem
+as the first parameter. This is from the days of /sbin/hotplug
+which is dead now and it's just confusing to need to add a space at
+the end of the program name to prevent this.
+If you use rules that need the subsystem as the first parameter,
+like the old "udev_run_hotlugd" and "udev_run_devd", add the subsystem
+to the key like RUN+="/bin/program $env{SUBSYSTEM}".
+
+udev 082
+========
+The udev man page has moved to udev(7) as it does not describe a command
+anymore. The programs udev, udevstart and udevsend are no longer installed
+by default and must be copied manually, if they should be installed or
+included in a package.
+
+Fix a bug where "ignore_device" could run earlier collected RUN keys before
+the ignore rule was applied.
+
+More preparation for future sysfs changes. usb_id and scsi_id no longer
+depend on a magic order of devices in the /devices chain. Specific devices
+should be requested by their subsytem.
+
+This will always find the scsi parent device without depending on a specific
+path position:
+  dev = sysfs_device_get(devpath);
+  dev_usb = sysfs_device_get_parent_with_subsystem(dev, "scsi");
+
+The "device" link in the current sysfs layout will be automatically
+_resolved_ as a parent and in the new sysfs layout it will just _be_ the
+parent in the devpath. If a device is requested by it's symlink, like all
+class devices in the new sysfs layout will look like, it gets automatically
+resolved and substituted with the real devpath and not the symlink path.
+
+Note:
+A similar logic must be applied to _all_ sysfs users, including
+scripts, that search along parent devices in sysfs. The explicit use of
+the "device" link must be avoided. With the future sysfs layout all
+DEVPATH's will start with /devices/ and have a "subsystem" symlink poiting
+back to the "class" or the "bus". The layout of the parent devices in
+/devices is not necessarily expected to be stable across kernel releases and
+searching for parents by their subsystem should make sysfs users tolerant
+for changed parent chains.
+
+udev 081
+========
+Prepare udev to work with the experimental kernel patch, that moves
+/sys/class devices to /sys/devices and /sys/block to /sys/class/block.
+
+Clarify BUS, ID, $id usage and fix $id behavior. This prepares for
+moving the class devices to /sys/devices.
+
+Thanks again to Marco for help finding a hopefully nice compromise
+to make %b simpler and working again.
+
+udev 080
+========
+Complete removal of libsysfs, replaced by simple helper functions
+which are much simpler and a bit faster. The udev daemon operatesentirely
+on event parameters and does not use sysfs for simple rules anymore.
+Please report any new bugs/problems, that may be caused by this big
+change. They will be fixed immediately.
+
+The enumeration format character '%e' is deprecated and will be
+removed sometimes from a future udev version. It never worked correctly
+outside of udevstart, so we can't use it with the new parallel
+coldplug. A simple enumeration is as useless as the devfs naming
+scheme, just get rid of both if you still use it.
+
+MODALIAS and $modalias is not needed and will be removed from one of
+the next udev versions, replace it in all rules with ENV{MODALIAS} or
+the sysfs "modalias" value.
+
+Thanks a lot to Marco for all his help on finding and fixing bugs.
+
+udev 079
+========
+Let scsi_id request libata drive serial numbers from page 0x80.
+
+Renamed etc/udev/persistent.rules to persistent-disk.rules and
+added /dev/disk/by-name/* for device mapper device names.
+
+Removed %e from the man page. It never worked reliably outside
+of udevstart and udevstart is no longer recommended to use.
+
+udev 078
+========
+Symlinks are now exported to the event environment. Hopefully it's no
+longer needed to run udevinfo from an event process, like it was
+mentioned on the hotplug list:
+  UDEV  [1134776873.702967] add@/block/sdb
+  ...
+  DEVNAME=/dev/sdb
+  DEVLINKS=/dev/disk/by-id/usb-IBM_Memory_Key_0218B301030027E8 /dev/disk/by-path/usb-0218B301030027E8:0:0:0
+
+udev 077
+========
+Fix a problem if udevsend is used as the hotplug handler and tries to use
+syslog, which causes a "vc" event loop. 2.6.15 will make udevsend obsolete
+and this kind of problems will hopefully go away soon.
+
+udev 076
+========
+All built-in logic to work around bad sysfs timing is removed with this
+version. The need to wait for sysfs files is almost fixed with a kernel
+version that doesn't work with this udev version anyway. Until we fix
+the timing of the "bus" link creation, the former integrated logic should
+be emulated by a rule placed before all other rules:
+  ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus"
+
+The option "udev_db" does no longer exist. All udev state will be in
+/$udev_root/.udev/ now, there is no longer an option to set this
+to anything else.
+If the init script or something else used this value, just depend on
+this hardcoded path. But remember _all_content_ of this directory is
+still private to udev and can change at any time.
+
+Default location for rule sripts and helper programs is now: /lib/udev/.
+Everything that is not useful on the commandline should go into this
+directory. Some of the helpers in the extras folder are installed there
+now. The rules need to be changed, to find the helpers there.
+
+Also /lib/udev/devices is recommended as a directory where packages or
+the user can place real device nodes, which get copied over to /dev at
+every boot. This should replace the various solutions with custom config
+files.
+
+Udevsend does no longer start the udev daemon. This must be done with
+the init script that prepares /dev on tmpfs and creates the initial nodes,
+before starting the daemon.
+
+udev 075
+========
+Silent a too verbose error logging for the old hotplug.d/ dev.d/
+emulation.
+
+The copy of klibc is removed. A systemwide installed version of klibc
+should be used to build a klibc udev now.
+
+udev 074
+========
+NAME="" will not create any nodes, but execute RUN keys. To completely
+ignore an event the OPTION "ignore_device" should be used.
+
+After removal of the reorder queue, events with a TIMEOUT can be executed
+without any queuing now.
+
+udev 073
+========
+Fixed bug in udevd, if inotify is not available. We depend on netlink
+uevents now, kernels without that event source will not work with that
+version of udev anymore.
+
+udev 072
+========
+The rule parsing happens now in the daemon once at startup, all udev
+event processes inherit the already parsed rules from the daemon.
+It is shipped with SUSE10.0 and reduces heavily the system load at
+startup. The option to save precompiled rules and let the udev process
+pick the them up is removed, as it's no longer needed.
+
+Kernel 2.6.15 will have symlinks at /class/input pointing to the real
+device. Libsysfs is changed to "translate" the requested link into the
+real device path, as it would happen with the hotplug event. Otherwise
+device removal and the udev database will not work.
+
+Using 'make STRIPCMD=' will leave the binaries unstripped for debugging
+and packaging.
+
+A few improvements for vol_id, the filesytem probing code.
+
+udev 071
+========
+Fix a stupid typo in extras/run_directory for "make install".
+
+scsi_id creates the temporary devnode now in /dev for usage with a
+non-writable /tmp directory.
+
+The uevent kernel socket buffer can carry app. 50.000 events now,
+let's see who can break this again. :)
+
+The upcoming kernel will have a new input driver core integration.
+Some class devices are now symlinks to the real device. libsysfs
+needs a fix for this to work correctly. Udevstart of older udev
+versions will _not_ create these devices!
+
+udev 070
+========
+Fix a 'install' target in the Makefile, that prevents EXTRAS from
+beeing installed.
+
+udev 069
+========
+A bunch of mostly trivial bugfixes. From now on no node name or
+symlink name can contain any character than plain whitelisted ascii
+characters or validated utf8 byte-streams. This is needed for the
+/dev/disk/by-label/* links, because we import untrusted data and
+export it to the filesystem.
+
+udev 068
+========
+More bugfixes. If udevd was started from the kernel, we don't
+have stdin/stdout/stderr, which broke the forked tools in some
+situations.
+
+udev 067
+========
+Bugfix. udevstart event ordering was broken for a long time.
+The new run_program() uncovered it, because /dev/null was not
+available while we try to run external programs.
+Now udevstart should create it before we run anything.
+
+udev 066
+========
+Minor bugfixes and some distro rules updates. If you don't have the
+persistent disk rules in /dev/disk/by-*/* on your distro, just
+grab it from here. :)
+
+udev 065
+========
+We can use socket communication now to pass events from udev to
+other programs:
+  RUN+="socket:/org/freedesktop/hal/udev_event"
+will pass the whole udev event to the HAL daemon without the need
+for a forked helper. (See ChangeLog for udevmonitor, as an example)
+
+udev 064
+========
+Mostly bugfixes and see ChangeLog.
+
+The test for the existence of an environment value should be
+switched from:
+  ENV{KEY}=="*" to ENV{KEY}=="?*"
+because "*" will not fail anymore, if the key does not exist or
+is empty.
+
+udev 063
+========
+Bugfixes and a few tweaks described in the ChangeLog.
+
+udev 062
+========
+Mostly a Bugfix release.
+
+Added WAIT_FOR_SYSFS="<attribute>" to be able to fight against the sysfs
+timing with custom rules.
+
+udev 061
+========
+We changed the  internal rule storage format. Our large rule files took
+2 MB of RAM, with the change we are down to 99kB.
+
+If the device-node has been created with default name and no symlink or
+options are to remenber, it is not longer stored in the udevdb. HAL will
+need to be updated to work correctly with that change.
+
+To overrride optimization flags, OPTFLAGS may be used now.
+
+udev 060
+========
+Bugfix release.
+
+udev 059
+========
+Major changes happened with this release. The goal is to take over the
+complete kernel-event handling and provide a more efficient way to dispatch
+kernel events. Replacing most of the current shell script logic and the
+kernel forked helper with a netlink-daemon and a rule-based event handling.
+
+o udevd listens to netlink events now. The first valid netlink event
+  will make udevd ignore any message from udevsend that contains a
+  SEQNUM, to avoid duplicate events. The forked events can be disabled
+  with:
+    echo "" > /proc/sys/kernel/hotplug
+  For full support, the broken input-subsytem needs to be fixed, not to
+  bypass the driver core.
+
+o /etc/dev.d/ + /etc/hotplug.d/ directory multiplexing is completely
+  removed from udev itself and must be emulated by calling small
+  helper binaries provided in the extras folder:
+    make EXTRAS=extras/run_directory/
+  will build udev_run_devd and udev_run_hotplugd, which can be called
+  from a rule if needed:
+    RUN+="/sbin/udev_run_hotplugd"
+  The recommended way to handle this is to convert all the calls from
+  the directories to explicit udev rules and get completely rid of the
+  multiplexing. (To catch a ttyUSB event, you now no longer need to
+  fork and exit 300 tty script instances you are not interested in, it
+  is just one rule that matches exactly the device.)
+
+o udev handles now _all_ events not just events for class and block
+  devices, this way it is possible to control the complete event
+  behavior with udev rules. Especially useful for rules like:
+    ACTION="add", DEVPATH="/devices/*", MODALIAS=="?*", RUN+="/sbin/modprobe $modalias"
+
+o As used in the modalias rule, udev supports now textual
+  substitution placeholder along with the usual format chars. This
+  needs to be documented, for now it's only visible in udev_rules_parse.c.
+
+o The rule keys support now more operations. This is documented in the
+  man page. It is possible to add values to list-keys like the SYMLINK
+  and RUN list with KEY+="value" and to clear the list by assigning KEY="".
+  Also "final"-assignments are supported by using KEY:="value", which will
+  prevent changing the key by any later rule.
+
+o kernel 2.6.12 has the "detached_state" attribute removed from
+  sysfs, which was used to recognize sysfs population. We switched that
+  to wait for the "bus" link, which is only available in kernels after 2.6.11.
+  Running this udev version on older kernels may cause a short delay for
+  some events.
+
+o To provide infrastructure for persistent device naming, the id programs:
+  scsi_id, vol_id (former udev_volume_id), and ata_id (new) are able now
+  to export the probed data in environment key format:
+    pim:~ # /sbin/ata_id --export /dev/hda
+    ID_MODEL=HTS726060M9AT00
+    ID_SERIAL=MRH401M4G6UM9B
+    ID_REVISION=MH4OA6BA
+
+  The following rules:
+    KERNEL="hd*[!0-9]", IMPORT="/sbin/ata_id --export $tempnode"
+    KERNEL="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_MODEL}_$env{ID_SERIAL}"
+
+  Will create:
+    kay@pim:~> tree /dev/disk
+    /dev/disk
+    |-- by-id
+    |   |-- HTS726060M9AT00_MRH401M4G6UM9B -> ../../hda
+    |   `-- IBM-Memory_Key -> ../../sda
+    |-- by-label
+    |   |-- swap -> ../../hda1
+    |   |-- date -> ../../sda1
+    |   `-- home -> ../../hda3
+    `-- by-uuid
+        |-- 2E08712B0870F2E7 -> ../../hda3
+        |-- 9352cfef-7687-47bc-a2a3-34cf136f72e1 -> ../../hda1
+        |-- E845-7A89 -> ../../sda1
+        `-- b2a61681-3812-4f13-a4ff-920d70604299 -> ../../hda2
+
+  The IMPORT= operation will import these keys in the environment and make
+  it available for later PROGRAM= and RUN= executed programs. The keys are
+  also stored in the udevdb and can be queried from there with one of the
+  next udev versions.
+
+o A few binaries are silently added to the repository, which can be used
+  to replay kernel events from initramfs instead of using coldplug. udevd
+  can be instructed now to queue-up events while the stored events from
+  initramfs are filled into the udevd-queue. This code is still under
+  development and there is no documentation now besides the code itself.
+  The additional binaries get compiled, but are not installed by default.
+
+o There is also a temporary fix for a performance problem where too many
+  events happen in parallel and every event needs to parse the rules.
+  udev can now read precompiled rules stored on disk. This is likely to be
+  replaced by a more elegant solution in a future udev version.
+
+udev 058
+========
+With kernel version 2.6.12, the sysfs file "detached_state" was removed.
+Fix for libsysfs not to expect this file was added.
+
+udev 057
+========
+All rules are applied now, but only the first matching rule with a NAME-key
+will be applied. All later rules with NAME-key are completely ignored. This
+way system supplied symlinks or permissions gets applied to user-defined
+naming rules.
+
+Note:
+Please check your rules setup, if you may need to add OPTIONS="last_rule"
+to some rules, to keep the old behavior.
+
+The rules are read on "remove"-events too. That makes is possible to match
+with keys that are available on remove (KERNEL, SUBSYSTEM, ID, ENV, ...) to
+instruct udev to ignore an event (OPTIONS="ignore_device").
+The new ACTION-key may be used to let a rule act only at a "remove"-event.
+
+The new RUN-key supports rule-based execution of programs after device-node
+handling. This is meant as a general replacement for the dev.d/-directories
+to give fine grained control over the execution of programs.
+
+The %s{}-sysfs format char replacement values are searched at any of the
+devices in the device chain now, not only at the class-device.
+
+We support log priority levels now. The value udev_log in udev.conf is used
+to determine what is printed to syslog. This makes it possible to
+run a version with compiled-in debug messages in a production environment
+which is sometimes needed to find a bug.
+It is still possible to supress the inclusion of _any_ syslog usage with
+USE_LOG=false to create the smallest possible binaries if needed.
+The configured udev_log value can be overridden with the environment variable
+UDEV_LOG.
+
+udev 056
+========
+Possible use of a system-wide klibc:
+  make USE_KLIBC=true KLCC=/usr/bin/klcc all
+will link against an external klibc and our own version will be ignored.
+
+udev 055
+========
+We support an unlimited count of symlinks now.
+
+If USE_STATIC=true is passed to a glibc build, we link statically and use
+a built-in userdb parser to resolve user and group names.
+
+The PLACE= key is gone. It can be replaced by an ID= for a long time, because
+we walk up the chain of physical devices to find a match.
+
+The KEY="<value>" format supports '=', '==', '!=,' , '+=' now. This makes it
+easy to skip certain attribute matches without composing rules with weird
+character class negations like:
+  KERNEL="[!s][!c][!d]*"
+this can now be replaced with:
+  KERNEL!="scd*"
+The current simple '=' is still supported, and should work as it does today,
+but existing rules should be converted if possible, to be better readable.
+
+We have new ENV{}== key now, to match against a maximum of 5 environment
+variables.
+
+udevstart is its own binary again, because we don't need co carry this araound
+with every forked event.
diff --git a/udev-166/README b/udev-166/README
new file mode 100644
index 0000000..7878746
--- /dev/null
+++ b/udev-166/README
@@ -0,0 +1,96 @@
+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 to replace 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. This is currently version 2.6.31.
+
+Tools and rules shipped by udev are not public API and may change at any time.
+Never call any private tool in /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 /lib/udev, and the entire content of
+the /dev/.udev directory is private to udev and does change whenever needed.
+
+Requirements:
+  - Version 2.6.27 of the Linux kernel with sysfs, procfs, signalfd, inotify,
+    unix domain sockets, networking and hotplug enabled:
+      CONFIG_HOTPLUG=y
+      CONFIG_UEVENT_HELPER_PATH=""
+      CONFIG_NET=y
+      CONFIG_UNIX=y
+      CONFIG_SYSFS=y
+      CONFIG_SYSFS_DEPRECATED*=n
+      CONFIG_PROC_FS=y
+      CONFIG_TMPFS=y
+      CONFIG_INOTIFY_USER=y
+      CONFIG_SIGNALFD=y
+      CONFIG_TMPFS_POSIX_ACL=y (user ACLs for device nodes)
+      CONFIG_BLK_DEV_BSG=y (SCSI devices)
+
+  - Udev will not work with the CONFIG_SYSFS_DEPRECATED* option.
+
+  - Unix domain sockets (CONFIG_UNIX) as a loadable kernel module may work,
+    but it is not supported.
+
+  - 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, the sysfs filesystem must
+    be mounted at /sys. No other locations are supported by a standard
+    udev installation.
+
+  - The system must have the following group names resolvable at udev startup:
+      disk, cdrom, floppy, tape, audio, video, lp, tty, dialout, kmem.
+    Especially in LDAP setups, it is required, that getgrnam() is able to resolve
+    these group names with only the rootfs mounted, and while no network is
+    available.
+
+  - To build all 'udev extras', libacl, libglib2, libusb, usbutils, pciutils,
+    gperf are needed. These dependencies can be disabled with the
+    --disable-extras configure option.
+
+Setup:
+  - At bootup, the /dev directory should get the 'devtmpfs' filesystem
+    mounted. Udev will manage permissions and ownership of the kernel-created
+    device nodes, and possibly create additional symlinks. If needed, udev also
+    works on an empty 'tmpfs' filesystem, but some static device nodes like
+    /dev/null, /dev/console, /dev/kmsg are needed to be able to start udev itself.
+
+  - The udev daemon should be started to handle device events sent by the kernel.
+    During bootup, the kernel can be asked to send events for all already existing
+    devices, to apply the configuration to these devices. This is usually done by:
+      /sbin/udevadm trigger --type=subsystems
+      /sbin/udevadm trigger --type=devices
+
+  - Restarting the daemon does never apply any rules to existing devices.
+
+  - New/changed rule files are picked up automatically, there is no daemon
+    restart or signal needed.
+
+Operation:
+  - Udev creates/removes device nodes in /dev, based on events the kernel
+    sends out on device creation/removal.
+
+  - All kernel events are matched against a set of specified rules, which
+    possibly hook into the event processing and load required kernel
+    modules to setup devices. For all devices the kernel exports a major/minor
+    number, if needed, udev will create a device node with the default kernel
+    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(7) man page.
+
+Please direct any comment/question to the linux-hotplug mailing list at:
+  linux-hotplug@vger.kernel.org
diff --git a/udev-166/TODO b/udev-166/TODO
new file mode 100644
index 0000000..029b70e
--- /dev/null
+++ b/udev-166/TODO
@@ -0,0 +1,5 @@
+
+  o get rid of "scan all devices to find myself" libusb interface
+      if it can not be fixed, drop libusb entirely and add a simple
+      wrapper around the Linux usb ioctls we need
+  o remove deprecated BUS=, SYSFS{}=, ID= keys
diff --git a/udev-166/aclocal.m4 b/udev-166/aclocal.m4
new file mode 100644
index 0000000..27f994d
--- /dev/null
+++ b/udev-166/aclocal.m4
@@ -0,0 +1,1142 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],,
+[m4_warning([this file was generated for autoconf 2.68.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+# 
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+   	AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+        ])
+elif test $pkg_failed = untried; then
+     	AC_MSG_RESULT([no])
+	m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	$3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/gtk-doc.m4])
+m4_include([m4/libtool.m4])
+m4_include([m4/ltoptions.m4])
+m4_include([m4/ltsugar.m4])
+m4_include([m4/ltversion.m4])
+m4_include([m4/lt~obsolete.m4])
diff --git a/udev-166/autogen.sh b/udev-166/autogen.sh
new file mode 100755
index 0000000..d35e945
--- /dev/null
+++ b/udev-166/autogen.sh
@@ -0,0 +1,35 @@
+#!/bin/sh -e
+
+gtkdocize
+autoreconf --install --symlink
+
+MYCFLAGS="-g -Wall \
+-Wmissing-declarations -Wmissing-prototypes \
+-Wnested-externs -Wpointer-arith \
+-Wpointer-arith -Wsign-compare -Wchar-subscripts \
+-Wstrict-prototypes -Wshadow \
+-Wformat=2 -Wtype-limits"
+
+case "$CFLAGS" in
+	*-O[0-9]*)
+		;;
+	*)
+		MYCFLAGS="$MYCFLAGS -O2"
+		;;
+esac
+
+libdir() {
+	echo $(cd $1/$(gcc -print-multi-os-directory); pwd)
+}
+
+args="--prefix=/usr \
+--sysconfdir=/etc \
+--sbindir=/sbin \
+--libdir=$(libdir /usr/lib) \
+--with-rootlibdir=$(libdir /lib) \
+--libexecdir=/lib/udev \
+--with-selinux \
+--enable-gtk-doc"
+
+export CFLAGS="$CFLAGS $MYCFLAGS"
+./configure $args $@
diff --git a/udev-166/config.guess b/udev-166/config.guess
new file mode 100755
index 0000000..666c5ad
--- /dev/null
+++ b/udev-166/config.guess
@@ -0,0 +1,1511 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+#   Free Software Foundation, Inc.
+
+timestamp='2009-11-20'
+
+# This file 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.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+	for c in cc gcc c89 c99 ; do
+	  if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+	     CC_FOR_BUILD="$c"; break ;
+	  fi ;
+	done ;
+	if test x"$CC_FOR_BUILD" = x ; then
+	  CC_FOR_BUILD=no_compiler_found ;
+	fi
+	;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+case "${UNAME_MACHINE}" in
+    i?86)
+	test -z "$VENDOR" && VENDOR=pc
+	;;
+    *)
+	test -z "$VENDOR" && VENDOR=unknown
+	;;
+esac
+test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	sysctl="sysctl -n hw.machine_arch"
+	UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+	    /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+	case "${UNAME_MACHINE_ARCH}" in
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently, or will in the future.
+	case "${UNAME_MACHINE_ARCH}" in
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		eval $set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+	        os=netbsd
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "${UNAME_VERSION}" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "${machine}-${os}${release}"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+	echo ${UNAME_MACHINE_ARCH}-${VENDOR}-openbsd${UNAME_RELEASE}
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo ${UNAME_MACHINE}-${VENDOR}-ekkobsd${UNAME_RELEASE}
+	exit ;;
+    *:SolidBSD:*:*)
+	echo ${UNAME_MACHINE}-${VENDOR}-solidbsd${UNAME_RELEASE}
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-${VENDOR}-mirbsd${UNAME_RELEASE}
+	exit ;;
+    *:MirBSD:*:*)
+	echo ${UNAME_MACHINE}-${VENDOR}-mirbsd${UNAME_RELEASE}
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+		;;
+	*5.*)
+	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE="alpha" ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE="alpha" ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE="alphaev5" ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE="alphaev56" ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE="alphapca56" ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE="alphapca57" ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE="alphaev6" ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE="alphaev67" ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE="alphaev68" ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE="alphaev69" ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE="alphaev7" ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE="alphaev79" ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+	exit ;;
+    Alpha\ *:Windows_NT*:*)
+	# How do we know it's Interix rather than the generic POSIX subsystem?
+	# Should we change UNAME_MACHINE based on the output of uname instead
+	# of the specific Alpha model?
+	echo alpha-pc-interix
+	exit ;;
+    21064:Windows_NT:50:3)
+	echo alpha-dec-winnt3.5
+	exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-${VENDOR}-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-${VENDOR}-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo ${UNAME_MACHINE}-${VENDOR}-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix${UNAME_RELEASE}
+	exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+	echo arm-${VENDOR}-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "`(/bin/universe) 2>/dev/null`" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case `/usr/bin/uname -p` in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux${UNAME_RELEASE}
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	eval $set_cc_for_build
+	SUN_ARCH="i386"
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH="x86_64"
+	    fi
+	fi
+	echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "`/usr/bin/arch -k`" in
+	    Series*|S4*)
+		UNAME_RELEASE=`uname -v`
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos${UNAME_RELEASE}
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+	test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+	case "`/bin/arch`" in
+	    sun3)
+		echo m68k-sun-sunos${UNAME_RELEASE}
+		;;
+	    sun4)
+		echo sparc-sun-sunos${UNAME_RELEASE}
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos${UNAME_RELEASE}
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-${VENDOR}-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten${UNAME_RELEASE}
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten${UNAME_RELEASE}
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix${UNAME_RELEASE}
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix${UNAME_RELEASE}
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c &&
+	  dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+	  SYSTEM_NAME=`$dummy $dummyarg` &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos${UNAME_RELEASE}
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+	then
+	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+	       [ ${TARGET_BINARY_INTERFACE}x = x ]
+	    then
+		echo m88k-dg-dgux${UNAME_RELEASE}
+	    else
+		echo m88k-dg-dguxbcs${UNAME_RELEASE}
+	    fi
+	else
+	    echo i586-dg-dgux${UNAME_RELEASE}
+	fi
+ 	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		eval $set_cc_for_build
+		sed 's/^		//' << EOF >$dummy.c
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[456])
+	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if [ -x /usr/bin/oslevel ] ; then
+		IBM_REV=`/usr/bin/oslevel`
+	else
+		IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+	fi
+	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	case "${UNAME_MACHINE}" in
+	    9000/31? )            HP_ARCH=m68000 ;;
+	    9000/[34]?? )         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if [ -x /usr/bin/getconf ]; then
+		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+		fi
+		if [ "${HP_ARCH}" = "" ]; then
+		    eval $set_cc_for_build
+		    sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+              	{
+              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+              	case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+              	    switch (bits)
+              		{
+              		case 64: puts ("hppa2.0w"); break;
+              		case 32: puts ("hppa2.0n"); break;
+              		default: puts ("hppa2.0"); break;
+              		} break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+              	    puts ("hppa2.0"); break;
+              #endif
+              	default: puts ("hppa1.0"); break;
+              	}
+                  exit (0);
+              }
+EOF
+		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if [ ${HP_ARCH} = "hppa2.0w" ]
+	then
+	    eval $set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH="hppa2.0w"
+	    else
+		HP_ARCH="hppa64"
+	    fi
+	fi
+	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+	echo ia64-hp-hpux${HPUX_REV}
+	exit ;;
+    3050*:HI-UX:*:*)
+	eval $set_cc_for_build
+	sed 's/^	//' << EOF >$dummy.c
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if [ -x /usr/sbin/sysversion ] ; then
+	    echo ${UNAME_MACHINE}-${VENDOR}-osf1mk
+	else
+	    echo ${UNAME_MACHINE}-${VENDOR}-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp${UNAME_R