Changeset 1f93d11 for general


Ignore:
Timestamp:
01/02/2006 12:16:38 AM (18 years ago)
Author:
Randy McMurchy <randy@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/test-20220226, xry111/xf86-video-removal
Children:
75da594d
Parents:
91d8f00c
Message:

Added significant updates to the HAL instructions: updated the dependencies, modified the command that changes the storage device policy, added text and a visual chart to explain the requirements of the hal-device-manager program, added commands to allow for locale specific needs in the storage device policy, and some general text cleanup. Also updated the D-BUS instructions to include text that identifies the needs of the HAL package

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5513 af4574ff-66df-0310-9fd7-8a98e5e911e0

Location:
general/sysutils
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • general/sysutils/dbus.xml

    r91d8f00c r1f93d11  
    8383    <ulink url="http://cyberelk.net/tim/xmlto/">xmlto</ulink></para>
    8484
     85    <bridgehead renderas="sect4" id="hal-requirements"
     86    xreflabel="HAL Requirements">HAL Requirements</bridgehead>
     87    <para><xref linkend="glib2"/> must be installed before you begin building
     88    <application>D-BUS</application> if you plan on installing
     89    <xref linkend="hal"/>. <application>GLib</application> is required to build
     90    the <filename class='libraryfile'>libdbus-glib</filename> library, which is
     91    required by the <application>HAL</application> daemon. Additionally, if you
     92    desire to use the <xref linkend="hal-device-manager"/> program,
     93    <ulink url="http://nz.cosc.canterbury.ac.nz/~greg/python/Pyrex/">
     94    Pyrex</ulink> must be installed before you begin building
     95    <application>D-BUS</application> as the <application>D-BUS</application>
     96    <application>Python</application> bindings are required. You will also
     97    need to remove the <parameter>--disable-python</parameter> parameter from
     98    the <command>configure</command> command in the instructions below.</para>
     99
    85100  </sect2>
    86101
  • general/sysutils/hal.xml

    r91d8f00c r1f93d11  
    3939    keeps detailed metadata for each piece of hardware and provides hooks such
    4040    that system and desktop-level software can react to changes in the hardware
    41     configuration in order to maintain system policy. The most important goal
    42     of <application>HAL</application> is to provide plug-and-play facilities
    43     for UNIX-like desktops with focus on providing a rich and extensible
    44     description of device characteristics and features.</para>
     41    configuration in order to maintain system policy.</para>
     42
     43    <para>The most important goal of <application>HAL</application> is to
     44    provide plug-and-play facilities for UNIX-like desktops with focus on
     45    providing a rich and extensible description of device characteristics and
     46    features. One example of the functionality provided by
     47    <application>HAL</application> is when you plug in a USB storage device.
     48    <application>HAL</application> can automatically create an appropriate
     49    entry in the <filename>/etc/fstab</filename> file and create the
     50    corresponding mount point in
     51    <filename class="directory">/media</filename>.</para>
    4552
    4653    <bridgehead renderas="sect3">Package Information</bridgehead>
     
    7784
    7885    <bridgehead renderas="sect4">Required</bridgehead>
    79     <para role="required"><xref linkend="dbus"/>,
    80     <xref linkend="popt"/> and
     86    <para role="required"><xref linkend="glib2"/>,
     87    <xref linkend="dbus"/> (see the <xref linkend="hal-requirements"/>),
     88    <xref linkend="python"/>,
     89    <xref linkend="popt"/>, and
    8190    <xref linkend="perl-xml-parser"/></para>
    8291
     
    8998    <xref linkend="intltool"/>,
    9099    <xref linkend="libusb"/>,
    91     <xref linkend="expat"/>,
    92     <xref linkend="python"/>,
    93     <ulink url="http://ftp.gnome.org/pub/GNOME/sources/gnome-python/">GNOME-Python</ulink>
    94     (run-time requirement to use the <command>hal-device-manager</command> program),
    95     <xref linkend="doxygen"/> and
     100    <xref linkend="doxygen"/>, and
    96101    <xref linkend="docbook-utils"/></para>
    97102
     
    107112<screen role="root"><userinput>install -v -m644 ../usb.ids /usr/share</userinput></screen>
    108113
    109     <para>You must create a dedicated user and group for the
    110     <application>HAL</application> daemon before installing the package. Issue
    111     the following as the <systemitem class="username">root</systemitem>
    112     user:</para>
     114    <para>You must create a dedicated user and group before installing the
     115    package. Though the default BLFS instructions run the
     116    <application>HAL</application> daemon as the
     117    <systemitem class="username">root</systemitem> user, a configuration file
     118    is installed which has the dedicated user's name hard-coded in it. This
     119    causes a confusing message to be generated when starting the
     120    <application>D-BUS</application> daemon. Issue the following commands as
     121    the <systemitem class="username">root</systemitem> user:</para>
    113122
    114123<screen role="root"><userinput>groupadd -g 19 haldaemon &amp;&amp;
     
    119128    commands:</para>
    120129
    121 <screen><userinput>sed -i -e "9,11d" -e "s/pamconsole/users/" \
     130<screen><userinput>sed -i -e "s/managed&lt;/comment=&amp;/" \
     131       -e "s/pamconsole/users/" \
    122132    fdi/policy/10osvendor/10-storage-policy.fdi &amp;&amp;
    123133./configure --prefix=/usr \
     
    141151    <title>Command Explanations</title>
    142152
    143     <para><command>sed -i -e "9,11d" -e "s/pamconsole/users/" ...</command>:
    144     This command adjusts the policy for storage devices so that the
    145     <filename>/etc/fstab</filename> file is updated to standards used by LFS
    146     systems.</para>
     153    <para><command>sed -i -e ...</command>: This command adjusts the policy for
     154    storage devices so that the <filename>/etc/fstab</filename> file is updated
     155    to standards used by LFS systems.</para>
    147156
    148157    <para><parameter>--libexecdir=/usr/lib/hal</parameter>: This parameter
     
    164173  </sect2>
    165174
     175  <sect2 id="hal-runtime-dependencies" xreflabel="GNOME-Python">
     176    <title>Run-Time Dependencies</title>
     177
     178    <para>The <xref linkend="hal-device-manager"/> program requires several
     179    additional packages to be installed before it will run. The list is
     180    significant and requires a substantial commitment to install them. It is
     181    left up to you to determine if the time and effort spent installing the
     182    following packages is worth using the <command>hal-device-manager</command>
     183    program.</para>
     184
     185    <para>Though the only requirement to run the
     186    <command>hal-device-manager</command> program is installing
     187    <ulink url="http://ftp.gnome.org/pub/GNOME/sources/gnome-python/">
     188    GNOME-Python</ulink>, the dependency list is staggering. The following
     189    list does not include the dependencies already identified in the BLFS
     190    book. For example, <application>libgnome</application> already lists
     191    <application>GNOME VFS</application>, <application>GConf</application>,
     192    etc., so they are not repeated here. Note that some of the dependencies
     193    have their own dependencies, which have their own, and so forth and so
     194    on.</para>
     195
     196    <itemizedlist>
     197      <listitem>
     198        <para><ulink
     199          url="http://ftp.gnome.org/pub/GNOME/sources/gnome-python/">GNOME-Python</ulink>
     200        </para>
     201
     202        <itemizedlist>
     203          <listitem>
     204            <para><ulink
     205              url="http://www.pygtk.org/">PyGTK</ulink> (required)
     206            </para>
     207
     208            <itemizedlist>
     209              <listitem>
     210                <para><ulink
     211                  url="http://www.cairographics.org/pycairo">Pycairo</ulink> (optional)
     212                </para>
     213
     214                <itemizedlist>
     215                  <listitem>
     216                    <para><ulink
     217                      url="http://www.cairographics.org/snapshots/">libsvg-cairo</ulink> (optional)
     218                    </para>
     219
     220                    <itemizedlist>
     221                      <listitem>
     222                        <para><ulink
     223                          url="http://www.cairographics.org/snapshots/">libsvg</ulink> (required)
     224                        </para>
     225                      </listitem>
     226                    </itemizedlist>
     227
     228                  </listitem>
     229                  <listitem>
     230                    <para><ulink
     231                      url="http://www.pygtk.org/">PyGTK</ulink> (optional, and circular)
     232                    </para>
     233                  </listitem>
     234                  <listitem>
     235                    <para><ulink
     236                      url="http://sourceforge.net/projects/numpy">Numerical Python</ulink> (optional)
     237                    </para>
     238                  </listitem>
     239                </itemizedlist>
     240
     241              </listitem>
     242              <listitem>
     243                <para><ulink
     244                  url="http://sourceforge.net/projects/numpy">Numerical Python</ulink> (optional)
     245                </para>
     246              </listitem>
     247              <listitem>
     248                <para><xref linkend="libglade"/> (required)</para>
     249              </listitem>
     250            </itemizedlist>
     251
     252          </listitem>
     253          <listitem>
     254            <para><xref linkend="libgnomeui"/> (optional)</para>
     255          </listitem>
     256          <listitem>
     257            <para><xref linkend="libgnome"/> (required)</para>
     258          </listitem>
     259          <listitem>
     260            <para><ulink
     261              url="http://ftp.gnome.org/pub/GNOME/sources/pyorbit/2.0/">PyORBit</ulink> (optional)
     262            </para>
     263
     264            <itemizedlist>
     265              <listitem>
     266                <para><xref linkend="ORBit2"/> (required)</para>
     267              </listitem>
     268            </itemizedlist>
     269
     270          </listitem>
     271        </itemizedlist>
     272
     273      </listitem>
     274    </itemizedlist>
     275
     276    <note>
     277      <para>The dependency list is designed to start at the bottom and work
     278      your way up until the last package to install is
     279      <application>GNOME-Python</application>. Note that the dependencies
     280      marked as <quote>required</quote> are required for the package it is
     281      listed under. For example, you don't need to install
     282      <application>ORBit</application> if you don't plan on installing
     283      <application>PyORBit</application>. The minimum packages you could
     284      install to support running <xref linkend="hal-device-manager"/> would be
     285      (in this order): <xref linkend="libgnome"/>, <xref linkend="libglade"/>,
     286      <ulink url="http://www.pygtk.org/">PyGTK</ulink> and <ulink
     287      url="http://ftp.gnome.org/pub/GNOME/sources/gnome-python/">
     288      GNOME-Python</ulink>.</para>
     289    </note>
     290
     291  </sect2>
     292
    166293  <sect2 role="configuration">
    167294    <title>Configuring HAL</title>
     
    183310    <sect3><title>Configuration Information</title>
    184311
    185       <para>No configuration is necessary as the default values will work for
    186       most systems. Some tweaking of the various policies may be required for
    187       special circumstances.</para>
     312      <para>No configuration is necessary for the majority of installations
     313      on systems configured with ISO-8859-1 compatible locales. The defaults
     314      should work just fine. For some installations, tweaking of the various
     315      policies may be required. One such configuration change necessary in some
     316      locales is identifying the <option>iocharset</option> and
     317      <option>codepage</option> variables in the
     318      <filename>/etc/fstab</filename> entries created by the
     319      <command>fstab-sync</command> program. If changes are required to the
     320      configuration so that your locale is properly identified in the entries
     321      created in <filename>/etc/fstab</filename>, issue the following commands
     322      as the <systemitem class="username">root</systemitem> user (you must
     323      substitute the proper data for the <replaceable>[iocharset]</replaceable>
     324      and <replaceable>[codepage]</replaceable> info):</para>
     325
     326<screen role="root"><userinput>install -v -m755 -d /etc/hal/fdi/policy/30user &amp;&amp;
     327cat &gt; /etc/hal/fdi/policy/30user/30user-policy.fdi &lt;&lt; "EOF"
     328<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- -*- SGML -*- --&gt;
     329
     330&lt;!--
     331This file is used to set custom options to the HAL policy settings.
     332The default policy settings are defined in files contained in the
     333/usr/share/hal/fdi/policy directories. User defined customizations
     334should be in files contained in the /etc/hal/fdi/policy directories.
     335--&gt;
     336
     337&lt;deviceinfo version="0.2"&gt;
     338
     339  &lt;device&gt;
     340    &lt;match key="info.udi" \
     341        string="/org/freedesktop/Hal/devices/computer"&gt;
     342
     343      &lt;!-- Set the iocharset variable in the /etc/fstab file entry --&gt;
     344      &lt;merge \
     345        key="storage.policy.default.mount_option.iocharset=<replaceable>[iocharset]</replaceable>" \
     346        type="bool"&gt;true&lt;/merge&gt;
     347
     348      &lt;!-- Set the codepage variable in the /etc/fstab file entry --&gt;
     349      &lt;merge \
     350        key="storage.policy.default.mount_option.codepage=<replaceable>[codepage]</replaceable>" \
     351        type="bool"&gt;true&lt;/merge&gt;
     352
     353    &lt;/match&gt;
     354  &lt;/device&gt;
     355
     356&lt;/deviceinfo&gt;</literal>
     357
     358EOF</userinput></screen>
     359
     360      <note>
     361        <para>The previous commands created a file named
     362        <filename>/etc/hal/fdi/policy/30user/30user-policy.fdi</filename>. To
     363        ease readability of the file, put everything between the
     364        &lt;angle brackets&gt; and &lt;merge&gt;&lt;/merge&gt; tags on one
     365        line. You must have at least one space character
     366        <quote><keycap> </keycap></quote> where the backslashes
     367        <quote><keycap>\</keycap></quote> are. The file would then look like
     368        this (trimmed at the top and bottom to show only changed lines):</para>
     369
     370<screen><literal>  &lt;device&gt;
     371    &lt;match key="<replaceable>[text]</replaceable>" string="<replaceable>[text]</replaceable>"&gt;
     372
     373      &lt;!-- Set the iocharset variable in the /etc/fstab file entry --&gt;
     374      &lt;merge key="<replaceable>[iocharset text]</replaceable>" type="bool"&gt;true&lt;/merge&gt;
     375
     376      &lt;!-- Set the codepage variable in the /etc/fstab file entry --&gt;
     377      &lt;merge key="<replaceable>[codepage text]</replaceable>" type="bool"&gt;true&lt;/merge&gt;
     378
     379    &lt;/match&gt;
     380  &lt;/device&gt;</literal></screen>
     381
     382      </note>
    188383
    189384    </sect3>
     
    202397      </indexterm>
    203398
    204       <note>
     399      <important>
    205400        <para>If the system-wide <application>D-BUS</application> daemon was
    206401        running during the installation of <application>HAL</application>,
     
    208403        daemon before attempting to start the <command>hald</command>
    209404        daemon.</para>
    210       </note>
     405      </important>
    211406
    212407<screen role="root"><userinput>make install-haldaemon</userinput></screen>
     
    277472          <para>shows a graphical respresentation of all the devices
    278473          <application>HAL</application> is aware of. This program requires
    279           <application>GNOME-Python</application>.</para>
     474          <xref linkend="hal-runtime-dependencies"/>. Here is a <ulink
     475          url="http://cvs.freedesktop.org/*checkout*/hal/hal/doc/spec/hal-devices1.png">
     476          screenshot</ulink> of <command>hal-device-manager</command>
     477          communicating with the HAL daemon and displaying a tree of device
     478          objects. The shown properties in the screenshot are for a device
     479          object representing a hard disk.</para>
    280480          <indexterm zone="hal hal-device-manager">
    281481            <primary sortas="b-hal-device-manager">hal-device-manager</primary>
Note: See TracChangeset for help on using the changeset viewer.