Hi,

I am trying to update the "package management" (rather DESTDIR install + call
to packager) part of jhalfs, and it breaks in 6.27 Eudev because of the
instruction:
----------
udevadm hwdb --update
----------
just after "make install". The reason is that after a DESTDIR install, udevadm
is not in the path.

Actually, there is no reason to run "udevadm" just after "make install", and I
would say it pertains to udev configuration rather than udev installation: the
man page says:
"[udevadm hwdb --update compiles] the hardware database information located in
/usr/lib/udev/hwdb.d/, /etc/udev/hwdb.d/ and store it in /etc/udev/hwdb.bin.
This should be done after any update to the source files; it will not be
called automatically."

So /etc/udev/hwdb.bin is considered as a configuration file (may change even
if the package version does not change).

Also, I see that some directory creations are "remap='test'". This means that
those instructions are not run by jhalfs if tests are disabled. Of course, the
installation later creates almost all the directories, except /lib/firmware.
Actually, does the creation of /lib/firmware really pertain to this page?

I attach a patch, which creates /lib/firmware at "6.5-Creating directories",
and adds a "configuring" section to Eudev. It is just a proposition. At least,
it allows jhalfs to run with "package management".

Regards
Pierre
Index: lfsbook/chapter06/creatingdirs.xml
===================================================================
--- lfsbook.orig/chapter06/creatingdirs.xml
+++ lfsbook/chapter06/creatingdirs.xml
@@ -13,7 +13,7 @@
   <para>It is time to create some structure in the LFS file system. Create a
   standard directory tree by issuing the following commands:</para>
 
-<screen><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt}
+<screen><userinput>mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib/firmware,mnt,opt}
 mkdir -pv /{media/{floppy,cdrom},sbin,srv,var}
 install -dv -m 0750 /root
 install -dv -m 1777 /tmp /var/tmp
Index: lfsbook/chapter06/eudev.xml
===================================================================
--- lfsbook.orig/chapter06/eudev.xml
+++ lfsbook/chapter06/eudev.xml
@@ -72,21 +72,18 @@ BLKID_LIBS='-L/tools/lib -lblkid'   \
 <para>Create some directories now that are needed for tests, but
 will also be used as a part of installation:</para>
 
-<screen><userinput remap="test">mkdir -pv /lib/{firmware,udev}
-mkdir -pv /lib/udev/rules.d
+<screen><userinput remap="test">mkdir -pv /lib/udev/rules.d
 mkdir -pv /etc/udev/rules.d</userinput></screen>
 
-<para>To test the results, run issue:</para>
+<para>To test the results, issue:</para>
 
 <screen><userinput remap="test">make check</userinput></screen>
 
-    <para>Install the package and create the initial
-    <filename>/etc/udev/hwdb.bin</filename> file:</para>
+    <para>Install the package:</para>
 
-<screen><userinput remap="install">make install
-udevadm hwdb --update</userinput></screen>
+<screen><userinput remap="install">make install</userinput></screen>
 
-<para>Now, install the man pages:</para>
+    <para>Now, install the man pages:</para>
 
 <screen><userinput remap="install">tar -xvf ../eudev-&eudev-version;-manpages.tar.bz2 -C /usr/share</userinput></screen>
 
@@ -98,6 +95,32 @@ make -f &udev-lfs-version;/Makefile.lfs
 
   </sect2>
 
+  <sect2 id="conf-eudev" role="configuration">
+    <title>Configuring Eudev</title>
+
+    <indexterm zone="conf-eudev">
+      <primary sortas="a-Eudev">Eudev</primary>
+      <secondary>configuring</secondary>
+    </indexterm>
+
+    <indexterm zone="conf-eudev">
+      <primary sortas="e-/etc/udev/hwdb.bin">/etc/udev/hwdb.bin</primary>
+    </indexterm>
+
+    <para>Information about hardware devices is maintained in the
+    <filename class="directory">/etc/udev/hwdb.d</filename> and
+    <filename class="directory">/usr/lib/udev/hwdb.d</filename> directories.
+    <application>Eudev</application> needs that information to be compiled
+    into a binary database <filename>/etc/udev/hwdb.bin</filename>. Create the
+    initial database:</para>
+
+<screen><userinput>udevadm hwdb --update</userinput></screen>
+
+    <para>This command needs to be run each time the hardware information is
+    updated.</para>
+
+  </sect2>
+
   <sect2 id="contents-eudev" role="content">
     <title>Contents of Eudev</title>
 
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to