<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!-- <!ENTITY udev-download-http "http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-&udev-version;.tar.bz2"> -->
  <!ENTITY udev-download-http "http://www.kernel.org/pub/linux/utils/kernel/hotplug/">
  <!ENTITY udev-download-ftp  " ">
  <!-- <!ENTITY udev-md5sum        "aeae0e6273dcbec246c3c1b9868ebed1"> -->
  <!ENTITY udev-size          "~500 KB">
  <!ENTITY udev-buildsize     "~10 MB">
  <!ENTITY udev-time          "~1.8 SBU">
]>

<sect1 id="udev" xreflabel="udev-&udev-version;">
  <?dbhtml filename="udev.html"?>

  <sect1info>
    <othername>$LastChangedBy: bdubbs $</othername>
    <date>$Date: 2013-10-21 16:02:06 -0400 (Mon, 21 Oct 2013) $</date>
  </sect1info>

  <title>Udev-&udev-version;</title>

  <indexterm zone="udev">
    <primary sortas="a-udev">udev</primary>
  </indexterm>

  <sect2 role="package">
    <title>Introduction to Udev</title>

    <note><para>If you installed LFS from SVN-20120719, LFS-7.2, or later,
    use <xref linkend='udev-extras'/> instead of this page.</para></note>

    <para><application>Udev</application> was indeed installed in LFS and there
    is no reason to reinstall it unless you are going to install a package such
    as <application>UPower</application>. This installation of
    <application>Udev</application> enables extra features which includes
    <application>gudev</application>, a requirement for
    <application>UPower</application> and optionally used by other
    packages.</para>

    <para>Unlike any other package in the BLFS book, there is no set version
    of <application>Udev</application> specified to download. Several version
    updates to LFS and none to BLFS means there are probably many different
    versions of <application>Udev</application> on the platforms that BLFS is
    being built upon. Therefore, you should download and use the version of
    <application>Udev</application> your computer currently uses. The BLFS
    team has no experience updating (or reverting to an older version) the
    <application>Udev</application> package <quote>on the fly.</quote> To
    discover the version of <application>Udev</application> your computer
    currently uses, issue <command>/sbin/udevadm --version</command>.</para>

    <para>You should look at the LFS instructions for the version you used, to
    check that you are using the correct testfiles (for some versions, this was a
    separate tarball, extracted in the udev directory with --strip-components=1)
    and to compare the configure options you are about to use against those which
    you used to build the version you are running (sometimes, the options change).
    </para>

    <para>This package is known to build and work properly using an LFS-7.0
    platform. (Using Udev-173)</para>

    <para>This package is known to build and work properly using an LFS-7.1
    platform. (Using Udev-182)</para>

    <bridgehead renderas="sect3">Package Information</bridgehead>
    <itemizedlist spacing="compact">
      <listitem>
        <para>Download (HTTP): <ulink url="&udev-download-http;"/></para>
      </listitem>
      <listitem>
        <para>Download (FTP): <ulink url="&udev-download-ftp;"/></para>
      </listitem>
      <!-- <listitem>
        <para>Download MD5 sum: &udev-md5sum;</para>
      </listitem> -->
      <listitem>
        <para>Download size: &udev-size;</para>
      </listitem>
      <listitem>
        <para>Estimated disk space required: &udev-buildsize;</para>
      </listitem>
      <listitem>
        <para>Estimated build time: &udev-time;</para>
      </listitem>
    </itemizedlist>

    <bridgehead renderas="sect3">Udev Dependencies</bridgehead>

    <bridgehead renderas="sect4">Required</bridgehead>
    <para role="required"><xref linkend="acl"/>,
    <xref linkend="glib2"/>,
    <xref linkend="gperf"/>,
    <xref linkend="pciutils"/>, and
    <xref linkend="usbutils"/></para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional"><xref linkend="gobject-introspection"/></para>

    <para condition="html" role="usernotes">User Notes:
    <ulink url="&blfs-wiki;/udev"/></para>

  </sect2>

  <sect2 role="installation">
    <title>Installation of Udev</title>

    <para>Install <application>Udev</application> by running the following
    commands:</para>

<screen><userinput>./configure --prefix=/usr                  \
            --sysconfdir=/etc              \
            --sbindir=/sbin                \
            --with-rootlibdir=/lib         \
            --libexecdir=/lib              \
            --with-systemdsystemunitdir=no \
            --disable-introspection        \
            --docdir=/usr/share/doc/&lt;udev-&udev-version;&gt; &amp;&amp;
make</userinput></screen>

    <para>To test the results, issue: <command>make check</command>.</para>

    <para>Now, as the <systemitem class="username">root</systemitem> user:</para>

<screen role="root"><userinput>make install</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
    href="../../xincludes/gtk-doc-rebuild.xml"/>

    <para><option>--disable-introspection</option>: Remove this option if
    the optional dependency gobject-introspection is installed.</para>

    <para><option>--with-systemdsystemunitdir=no</option>: systemd is not used
    in (B)LFS.</para>

  </sect2>

  <sect2 role="content">
    <title>Contents</title>

    <para>A list of the installed files, along with their short descriptions
    can be found at
    <ulink url="&lfs-root;/chapter06/udev.html#contents-udev"/>.</para>

    <para>The following is some additional content information.</para>

    <segmentedlist>
      <segtitle>Installed Programs</segtitle>
      <segtitle>Installed Library</segtitle>
      <segtitle>Installed Directories</segtitle>

      <seglistitem>
        <seg>findkeyboards, firmware, input_id,
        keyboard-force-release.sh, keymap, modem-modeswitch, pci-db, udev-acl,
        usb-db, and v4l_id</seg>
        <seg>libgudev-1.0.so</seg>
        <seg>/lib/udev/keymaps/force-release,
        /usr/{include/gudev-1.0/gudev,share/{doc/udev-&udev-version;,
        gtk-doc/html/gudev}}</seg>
      </seglistitem>
    </segmentedlist>

    <variablelist>
      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
      <?dbfo list-presentation="list"?>
      <?dbhtml list-presentation="table"?>

      <varlistentry id="keymap">
        <term><command>keymap</command></term>
        <listitem>
          <para>configures computer model specific key mappings.</para>
          <indexterm zone="udev keymap">
            <primary sortas="b-keymap">keymap</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="libgudev-1.0">
        <term><filename class='libraryfile'>libgudev-1.0.so</filename></term>
        <listitem>
          <para>is a GObject-based wrapper library for libudev.</para>
          <indexterm zone="udev libgudev-1.0">
            <primary sortas="c-libgudev-1.0">libgudev-1.0.so</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
