Hi all,

Seeing as I assigned ticket #1998 (Udev-177) to myself before I realised
that it wasn't as simple a package upgrade as usual, I thought I'd take
a stab at getting LFS to work with it.  Attached is the patch I'm about
to do a full build with, but the instructions there seem to work fine on
an existing LFS system.

Notes:

1) xz's libraries are moved to /lib as udevd links against it, so this
helps support a separate /usr (I know supporting this is still under
discussion on the other 'LFS directions' thread, but at least this
doesn't break things any more than they already might be!)

2) kmod's libs also get installed under /lib for the same reason

3) udev's configure line changes quite a bit:

   a) --disable-hwdb is replaced with --with-usb-ids-path=no
--with-pci-ids-path=no due to changes in the upstream configure script
   b) --with-systemdsystemunitdir=no is added to prevent pulling in
systemd for the time being
   c) The various path related options are swapped a bit to cope with
upstream changes and continue to install files in the same directories
as we currently do.
   d) A bunch of shell variables are added to prevent us requiring
pkg-config.

This passes a boot test with no changes required to the bootscripts or
fstab.  Maybe I'm misunderstanding Bruce's and Bryan's comments in the
ticket, but this to me suggests that Udev >= 176 doesn't require a
devtmpfs mounted on /dev (note that I do have devtmpfs support in the
kernel, but I've added nothing to fstab).  I'm not saying we shouldn't
do this, it seems eminently sensible to me, just that it doesn't appear
to be a hard requirement from my very limited testing so far.

Regards,

Matt.
Index: chapter01/whatsnew.xml
===================================================================
--- chapter01/whatsnew.xml	(revision 9708)
+++ chapter01/whatsnew.xml	(working copy)
@@ -113,6 +113,9 @@
       <para>Kbd &kbd-version;</para>
     </listitem>-->
     <!--<listitem>
+      <para>Kmod &kmod-version;</para>
+    </listitem>-->
+    <!--<listitem>
       <para>Less &less-version;</para>
     </listitem>-->
     <!--<listitem>
@@ -190,9 +193,9 @@
     <!--<listitem>
       <para>Texinfo &texinfo-version;</para>
     </listitem>-->
-    <!--<listitem>
+    <listitem>
       <para>Udev &udev-version;</para>
-    </listitem>-->
+    </listitem>
     <!--<listitem>
       <para>&udev-config;</para>
     </listitem>-->
@@ -223,6 +226,10 @@
     <title>Added:</title>
 
     <listitem>
+      <para>Kmod-&kmod-version;</para>
+    </listitem>
+
+    <listitem>
       <para>&mpfr-fixes-patch;</para>
     </listitem>
 
Index: chapter01/changelog.xml
===================================================================
--- chapter01/changelog.xml	(revision 9708)
+++ chapter01/changelog.xml	(working copy)
@@ -38,6 +38,17 @@
 -->
 
     <listitem>
+      <para>2012-01-15</para>
+      <itemizedlist>
+        <listitem>
+          <para>[matthew] - Upgrade to Udev-177, including adding its new
+          depdendency, Kmod-3. Fixes
+          <ulink url="&lfs-ticket-root;2998">#2998</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>2012-01-11</para>
       <itemizedlist>
         <listitem>
Index: chapter03/packages.xml
===================================================================
--- chapter03/packages.xml	(revision 9708)
+++ chapter03/packages.xml	(working copy)
@@ -285,6 +285,15 @@
     </varlistentry>
 
     <varlistentry>
+      <term>Kmod (&kmod-version;) - <token>&kmod-size;</token>:</term>
+      <listitem>
+        <para>Home page: <ulink url="&kmod-home;"/></para>
+        <para>Download: <ulink url="&kmod-url;"/></para>
+        <para>MD5 sum: <literal>&kmod-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <varlistentry>
       <term>Less (&less-version;) - <token>&less-size;</token>:</term>
       <listitem>
         <para>Home page: <ulink url="&less-home;"/></para>
Index: chapter06/udev.xml
===================================================================
--- chapter06/udev.xml	(revision 9708)
+++ chapter06/udev.xml	(working copy)
@@ -41,12 +41,6 @@
   <sect2 role="installation">
     <title>Installation of Udev</title>
 
-    <para>Optionally remove an unneeded warning message that shows up in this
-    version of udev at boot time.</para>
-
-<screen><userinput remap="pre">sed -i -e '/deprecated/d' udev/udevadm-trigger.c</userinput></screen>
-
-
     <para>The udev-config tarball contains LFS-specific files used to configure
     Udev. Unpack it into the Udev source directory:</para>
 
@@ -67,33 +61,18 @@
     <para>Prepare the package for compilation:</para>
 
 <!-- Note that "libdir=/usr/lib64" would be required for multilib. -->
-<screen><userinput remap="configure">./configure --prefix=/usr \
-    --sysconfdir=/etc --sbindir=/sbin \
-    --with-rootlibdir=/lib --libexecdir=/lib/udev \
-    --disable-hwdb --disable-introspection \
-    --disable-keymap --disable-gudev</userinput></screen>
+<screen><userinput remap="configure">BLKID_CFLAGS="-I/usr/include/blkid" BLKID_LIBS="-L/usr/lib -lblkid" KMOD_CFLAGS="-I/usr/include" KMOD_LIBS="-L/usr/lib -lkmod" ./configure --prefix=/usr --bindir=/sbin --sysconfdir=/etc --libexecdir=/lib --disable-introspection --disable-keymap --disable-gudev --with-usb-ids-path=no --with-pci-ids-path=no --with-systemdsystemunitdir=no</userinput></screen>
 
     <variablelist>
       <title>The meaning of the new configure options</title>
 
-      <varlistentry>
-        <term><parameter>--with-rootlibdir=/lib</parameter></term>
-        <listitem>
-          <para>This controls where the <filename
-          class="libraryfile">libudev</filename> library is installed.  The
-          library needs to be in <filename class="directory">/lib</filename>
-          because it's used by Udev at boot time, before <filename
-          class="directory">/usr</filename> might be available, and the default
-          --rootlibdir is <filename class="directory">/usr/lib</filename>.</para>
-        </listitem>
-      </varlistentry>
-
-      <!-- Note that libexecdir *MUST* stay /lib/udev, even on a 64-bit
-           / multilib system where udev is compiled for 64-bit.  Other
-           packages require this exact path; the udev maintainers have
+      <!-- Note that libexecdir *MUST* stay /lib, even on a 64-bit
+           / multilib system where udev is compiled for 64-bit.  The udev
+           configure system automatically adds "udev" onto this path, and other
+           packages require /lib/udev; the udev maintainers have
            said this is part of the udev API. -->
       <varlistentry>
-        <term><parameter>--libexecdir=/lib/udev</parameter></term>
+        <term><parameter>--libexecdir=/lib</parameter></term>
         <listitem>
           <para>This controls where Udev-internal rules and helper programs
           are installed.</para>
@@ -101,7 +80,7 @@
       </varlistentry>
 
       <varlistentry>
-        <term><parameter>--disable-*</parameter></term>
+        <term><parameter>--disable-* and --with-*</parameter></term>
         <listitem>
           <para>These options prevent Udev from installing helper programs and
           other extras which require more external libraries.  These libraries
Index: chapter06/chapter06.xml
===================================================================
--- chapter06/chapter06.xml	(revision 9708)
+++ chapter06/chapter06.xml	(working copy)
@@ -58,6 +58,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="gzip.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="iproute2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="kbd.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="kmod.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="less.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="libpipeline.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"; href="make.xml"/>
Index: chapter06/xz.xml
===================================================================
--- chapter06/xz.xml	(revision 9708)
+++ chapter06/xz.xml	(working copy)
@@ -46,7 +46,7 @@
 
     <para>Prepare Xz for compilation with:</para>
 
-<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/xz-&xz-version;</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr --libdir=/lib --docdir=/usr/share/doc/xz-&xz-version;</userinput></screen>
 
     <para>Compile the package:</para>
 
Index: general.ent
===================================================================
--- general.ent	(revision 9708)
+++ general.ent	(working copy)
@@ -1,5 +1,5 @@
-<!ENTITY version "SVN-20120111">
-<!ENTITY releasedate "Jan 11, 2012">
+<!ENTITY version "SVN-20120115">
+<!ENTITY releasedate "Jan 15, 2012">
 <!ENTITY copyrightdate "1999-2012"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone "7.1">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
Index: packages.ent
===================================================================
--- packages.ent	(revision 9708)
+++ packages.ent	(working copy)
@@ -289,6 +289,14 @@
 <!ENTITY kbd-ch6-du "16.0 MB">
 <!ENTITY kbd-ch6-sbu "less than 0.1 SBU">
 
+<!ENTITY kmod-version "3">
+<!ENTITY kmod-size "279 KB">
+<!ENTITY kmod-url "http://packages.profusion.mobi/kmod/kmod-&kmod-version;.tar.xz";>
+<!ENTITY kmod-md5 "bc0e69f75c2ac22c091f05e166e86c5d">
+<!ENTITY kmod-home " ">
+<!ENTITY kmod-ch6-du "16.0 MB">
+<!ENTITY kmod-ch6-sbu "less than 0.1 SBU">
+
 <!ENTITY less-version "444">
 <!ENTITY less-size "301 KB">
 <!ENTITY less-url "http://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz";>
@@ -519,17 +527,17 @@
 <!ENTITY texinfo-ch6-du "21 MB">
 <!ENTITY texinfo-ch6-sbu "0.3 SBU">
 
-<!ENTITY udev-version "173">
-<!ENTITY udev-size "594 KB">
-<!ENTITY udev-url "&anduin-sources;udev/udev-&udev-version;.tar.bz2">
-<!ENTITY udev-md5 "91a88a359b60bbd074b024883cc0dbde">
+<!ENTITY udev-version "177">
+<!ENTITY udev-size "676 KB">
+<!ENTITY udev-url "&kernel;linux/utils/kernel/udev-&udev-version;.tar.xz">
+<!ENTITY udev-md5 "b4e00faf8153fd7202a7ef609284b0c3">
 <!ENTITY udev-home "&kernel;linux/utils/kernel/hotplug/udev.html">
 <!ENTITY udev-ch6-du "9.3 MB">
 <!ENTITY udev-ch6-sbu "0.2 SBU">
 
 <!ENTITY udev-testfiles-url "http://anduin.linuxfromscratch.org/sources/other/udev-&udev-version;-testfiles.tar.bz2";>
-<!ENTITY udev-testfiles-size "152 KB">
-<!ENTITY udev-testfiles-md5 "d97f80f6a70cd97f0519b14f15e3e195">
+<!ENTITY udev-testfiles-size "174 KB">
+<!ENTITY udev-testfiles-md5 "2ea723c83f6052b74d787bbe8f5d7ccd">
 <!ENTITY udev-testfiles-du "37 MB">
 
 <!ENTITY udev-config "udev-config-20100128"> <!-- Scripts depend on this format -->
Index: appendices/dependencies.xml
===================================================================
--- appendices/dependencies.xml	(revision 9708)
+++ appendices/dependencies.xml	(working copy)
@@ -1045,6 +1045,42 @@
         </seglistitem>
       </segmentedlist>
 
+<!-- Begin Kmod dependency info -->
+  <bridgehead renderas="sect2" id="kmod-dep">Kmod</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Bison, Coreutils, Flex, GCC, Gettext, Glibc,
+         Gzip, Make, and Sed</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>No test suite available</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>Udev</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&external;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Less dependency info -->
   <bridgehead renderas="sect2" id="less-dep">Less</bridgehead>
 
@@ -1913,7 +1949,7 @@
 
         <seglistitem>
          <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
-         Make, and Sed</seg>
+         Kmod, Make, and Sed</seg>
         </seglistitem>
       </segmentedlist>
 
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to