Synchronize udev extras with LFS

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@13006 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Bruce Dubbs 2014-04-29 00:25:34 +00:00
parent de1a0d9118
commit 410e2ab872
2 changed files with 40 additions and 110 deletions

View File

@ -7,9 +7,9 @@
<!ENTITY systemd-download-http "http://www.freedesktop.org/wiki/Software/systemd/"> <!ENTITY systemd-download-http "http://www.freedesktop.org/wiki/Software/systemd/">
<!ENTITY systemd-download-ftp " "> <!ENTITY systemd-download-ftp " ">
<!-- <!ENTITY udev-md5sum " "> --> <!-- <!ENTITY udev-md5sum " "> -->
<!ENTITY systemd-size "~1.3 MB"> <!ENTITY systemd-size "1.3 MB">
<!ENTITY systemd-buildsize "~16 MB"> <!ENTITY systemd-buildsize "314 MB">
<!ENTITY systemd-time "~0.1 SBU"> <!ENTITY systemd-time "3.5 SBU">
]> ]>
<sect1 id="udev-extras" xreflabel="udev-extras (from systemd)"> <sect1 id="udev-extras" xreflabel="udev-extras (from systemd)">
@ -29,29 +29,11 @@
<sect2 role="package"> <sect2 role="package">
<title>Introduction to Udev Extras</title> <title>Introduction to Udev Extras</title>
<para>In 2012, the <application>Udev</application> code distribution was <para>Udev was installed as a part of systemd in LFS. However, not
merged with <application>systemd</application>. all components were installed due to dependencies that were unavailable.
<application>Systemd</application> is a set of programs that replace the This procedure adds those missing components.</para>
<application>SysVInit</application> package used by LFS and is much more
complex. It is not compatible with the LFS bootscripts and has many
problems and few advantages for most LFS users.</para>
<para>The procedures below extract libraries and programs from the systemd <!-- &lfs75_checked; -->
sources that could not be built in LFS due to library dependency
issues.</para>
<para>Unlike any other package in the BLFS book, there is no set version
of <application>systemd</application> specified to download. Several version
updates to LFS and 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>systemd</application> your computer currently uses. The BLFS
team has no experience updating (or reverting to an older version) the
<application>Udev</application> programs <quote>on the fly.</quote> To
discover the version of <application>Udev</application> your computer
currently uses, issue <command>/sbin/udevadm --version</command>.</para>
&lfs75_checked;
<bridgehead renderas="sect3">Package Information</bridgehead> <bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact"> <itemizedlist spacing="compact">
@ -79,9 +61,11 @@
<bridgehead renderas="sect4">Required</bridgehead> <bridgehead renderas="sect4">Required</bridgehead>
<para role="required"> <para role="required">
<ulink url="http://anduin.linuxfromscratch.org/sources/other/"/> <xref linkend="glib2"/> (for the gudev library)
(match the udev-lfs-???.tar.bz2 tarball version to the systemd version used in LFS), </para>
<xref linkend="glib2"/> (for the gudev library), and
<bridgehead renderas="sect4">Optional Dependencies</bridgehead>
<para role="optional">
<xref linkend="gobject-introspection"/> (for gir-data, needed for Gnome) <xref linkend="gobject-introspection"/> (for gir-data, needed for Gnome)
</para> </para>
@ -99,103 +83,56 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Udev Extras</title> <title>Installation of Udev Extras</title>
<para>First, put the custom LFS files in place:</para> <para>First, build systemd:</para>
<screen><userinput>UDEV=&lt;version&gt; <screen><userinput>./configure --disable-tests &amp;&amp;
tar -xf ../udev-lfs-$UDEV.tar.bz2</userinput></screen> make</userinput></screen>
<note><para>For udev-lfs-197-2.tar.bz2, there is a minor error <caution><para>If you maintained the default System V/systemd
in the Makefile. For that version, run:</para> installation in LFS, do not run <userinput>make install</userinput>.
It will overwrite the symbolic links needed to switch boot
systems.</para></caution>
<screen><userinput>sed -i -e '/samsung-9/d' udev-lfs-197-2/makefile-incl.keymap</userinput></screen></note> <para>Now install gudev as the <systemitem class="username">root</systemitem>
user:</para>
<sect3> <screen><userinput>mkdir -pv /usr/include/gudev-1.0/gudev /usr/share/gtk-doc/html/gudev &amp;&amp;
<title>keymap</title>
<note><para> cp -v src/gudev/gudev.h /usr/include/gudev-1.0/gudev &amp;&amp;
Starting with systemd-206, the keymap capabilities are built into the cp -v src/gudev/gudev[a-e,t]*.h /usr/include/gudev-1.0/gudev &amp;&amp;
udev procedures initial installation in LFS. These procedures only cp -v .libs/libgudev-1.0.so.0.2.0 /usr/lib &amp;&amp;
apply to udev versions before 206.
</para></note>
<para> ln -svfn libgudev-1.0.so.0.2.0 /usr/lib/libgudev-1.0.so &amp;&amp;
Support for special keys for many laptops is provided by the ln -svfn libgudev-1.0.so.0.2.0 /usr/lib/libgudev-1.0.so.0 &amp;&amp;
<command>keymap</command> program and supporting files. If the
<command>keymap</command> capability is desired, use:
</para>
<screen><userinput>make -f udev-lfs-$UDEV/Makefile.lfs keymap</userinput></screen> cp -v src/gudev/gudev-1.0.pc /usr/lib/pkgconfig &amp;&amp;
cp -v docs/gudev/html/* /usr/share/gtk-doc/html/gudev</userinput></screen>
<para>To install <command>keymap</command> and its associated files, <para>If the optional gobject-introspection package was availible,
issue the following command as the install the gir-data files as the <systemitem class="username">root</systemitem>
<systemitem class="username">root</systemitem> user:</para> user:</para>
<screen role="root"><userinput>make -f udev-lfs-$UDEV/Makefile.lfs install-keymap</userinput></screen> <screen><userinput>mkdir -pv /usr/lib/girepository-1.0 /usr/share/gir-1.0 &amp;&amp;
</sect3> cp -v src/gudev/GUdev-1.0.typelib /usr/lib/girepository-1.0 &amp;&amp;
cp -v src/gudev/GUdev-1.0.gir /usr/share/gir-1.0</userinput></screen>
<sect3>
<title>gudev</title>
<para>To build the <application>libgudev-1.0</application> library and
interface files, run:</para>
<screen><userinput>make -f udev-lfs-$UDEV/Makefile.lfs gudev</userinput></screen>
<para>Install the <filename class='libraryfile'>gudev</filename> library,
run, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -f udev-lfs-$UDEV/Makefile.lfs install-gudev</userinput></screen>
</sect3>
<sect3>
<title>GObject Files</title>
<para>To build the <application>gobject-introspection</application>
interface (gir) files for the <filename
class='libraryfile'>libgudev-1.0</filename> library, run:</para>
<screen><userinput>make -f udev-lfs-$UDEV/Makefile.lfs gir-data</userinput></screen>
<para>Install the gir data, as the <systemitem
class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -f udev-lfs-$UDEV/Makefile.lfs install-gir-data</userinput></screen>
<caution><para>There is a shortcut to build and install all of the
<application>udev</application> components at once using the
<emphasis>all</emphasis> and <emphasis>install-all</emphasis>
<filename>Makefile.lfs</filename> targets. The installation of this target
will overwrite the base LFS udev files and has not been thoroughly tested
at the time of this writing. If using this procedure, the udev daemon
should be stopped before overwriting the existing <filename>udevd</filename>
and udev libraries.</para></caution>
</sect3>
</sect2> </sect2>
<sect2 role="content"> <sect2 role="content">
<title>Contents</title> <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> <segmentedlist>
<segtitle>Installed Programs</segtitle> <segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle> <segtitle>Installed Library</segtitle>
<segtitle>Installed Directories</segtitle> <segtitle>Installed Directories</segtitle>
<seglistitem> <seglistitem>
<seg>findkeyboards, keyboard-force-release.sh, and keymap</seg> <seg>None</seg>
<seg>libgudev-1.0.so</seg> <seg>libgudev-1.0.so</seg>
<seg>/lib/udev/keymaps/force-release, <seg>/usr/include/gudev-1.0/gudev,
/usr/include/gudev-1.0/gudev,
/usr/lib/girepository-1.0, /usr/lib/girepository-1.0,
/usr/share/gir-1.0, and /usr/share/gir-1.0, and
/usr/share/gtk-doc/html/gudev</seg> /usr/share/gtk-doc/html/gudev</seg>
@ -207,16 +144,6 @@ tar -xf ../udev-lfs-$UDEV.tar.bz2</userinput></screen>
<?dbfo list-presentation="list"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?> <?dbhtml list-presentation="table"?>
<varlistentry id="keymap-systemd">
<term><command>keymap</command></term>
<listitem>
<para>configures computer model specific key mappings.</para>
<indexterm zone="udev-extras keymap-systemd">
<primary sortas="b-keymap">keymap (from systemd)</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgudev-1.0-systemd"> <varlistentry id="libgudev-1.0-systemd">
<term><filename class='libraryfile'>libgudev-1.0.so</filename></term> <term><filename class='libraryfile'>libgudev-1.0.so</filename></term>
<listitem> <listitem>

View File

@ -47,6 +47,9 @@
<listitem> <listitem>
<para>April 28th, 2014</para> <para>April 28th, 2014</para>
<itemizedlist> <itemizedlist>
<listitem>
<para>[bdubbs] - Synchronize udev extras with LFS.</para>
</listitem>
<listitem> <listitem>
<para>[bdubbs] - Add references to dbus-launch to window <para>[bdubbs] - Add references to dbus-launch to window
managers.</para> managers.</para>