Difference between revisions of "HAL"
(I added the package description from BLFS.) |
(I added the "Contents" section from BLFS.) |
||
Line 1: | Line 1: | ||
{| style="text-align: left; background-color: AliceBlue;" | {| style="text-align: left; background-color: AliceBlue;" | ||
− | |- | + | |-valign="top" |
!Download Source: | !Download Source: | ||
| http://people.freedesktop.org/~david/dist/hal-0.5.8.1.tar.gz | | http://people.freedesktop.org/~david/dist/hal-0.5.8.1.tar.gz | ||
Line 59: | Line 59: | ||
make install && | make install && | ||
install -v -m755 -d /var/run/hald | install -v -m755 -d /var/run/hald | ||
+ | |||
+ | === Command Explanations === | ||
+ | |||
+ | ''--libexecdir=/usr/lib/hal'': This parameter forces the installation of libexec files to /usr/lib/hal instead of /usr/libexec. | ||
+ | |||
+ | ''--localstatedir=/var'': This parameter forces the creation of the pid file to /var/run/hald instead of /usr/var/run/hald. | ||
== Multilib == | == Multilib == | ||
Line 111: | Line 117: | ||
make install-haldaemon | make install-haldaemon | ||
+ | |||
+ | = Contents = | ||
+ | |||
+ | {| style="text-align: left;" | ||
+ | |-valign="top" | ||
+ | ! Installed Programs: | ||
+ | | hal-device, hal-device-manager, hal-find-by-capability, hal-find-by-property, hal-get-property, hal-set-property, hald and lshal | ||
+ | |-valign="top" | ||
+ | ! Installed Libraries: | ||
+ | | libhal.{so,a} and libhal-storage,{so,a} | ||
+ | |-valign="top" | ||
+ | ! Installed Directories: | ||
+ | | /etc/hal, /usr/include/hal, /usr/lib/hal, /usr/share/doc/hal-0.5.7, /usr/share/hal and /var/run/hald | ||
+ | |} | ||
+ | |||
+ | === Short Descriptions === | ||
+ | |||
+ | {| style="text-align: left;" | ||
+ | |-valign="top" | ||
+ | ! hal-device | ||
+ | | is used to create, remove or show a HAL device. | ||
+ | |-valign="top" | ||
+ | ! hal-device-manager | ||
+ | | shows a graphical representation of all the devices HAL is aware of. This program requires GNOME-Python. Here is a screenshot of hal-device-manager communicating with the HAL daemon and displaying a tree of device objects. The shown properties in the screenshot are for a device object representing a hard disk. | ||
+ | |-valign="top" | ||
+ | ! hal-find-by-capability | ||
+ | | prints the Unique Device Identifiers for HAL device objects of a given capability. | ||
+ | |-valign="top" | ||
+ | ! hal-find-by-property | ||
+ | | prints the Unique Device Identifiers for HAL device objects where a given property assumes a given value. | ||
+ | |-valign="top" | ||
+ | ! hal-get-property | ||
+ | | retrieves a property from a device. | ||
+ | |-valign="top" | ||
+ | ! hal-set-property | ||
+ | | attempts to set property for a device. Note that, due to security considerations, it may not be possible to set a property. | ||
+ | |-valign="top" | ||
+ | ! hald | ||
+ | | is the HAL daemon program. | ||
+ | |-valign="top" | ||
+ | ! lshal | ||
+ | | shows all devices and their properties. If the --monitor option is given then the device list and all devices are monitored for changes. | ||
+ | |-valign="top" | ||
+ | ! libhal.{so,a} | ||
+ | | contains the API functions required by the HAL programs. | ||
+ | |-valign="top" | ||
+ | ! libhal-storage.{so,a} | ||
+ | | contains the API functions required by the HAL storage and volume utility programs. | ||
+ | |} |
Revision as of 01:15, 14 December 2006
Download Source: | http://people.freedesktop.org/~david/dist/hal-0.5.8.1.tar.gz |
---|
Contents
Introduction to HAL
HAL is a hardware abstraction layer, which is a piece of software that provides a view of the various hardware attached to a system. In addition to this, HAL keeps detailed metadata for each piece of hardware and provides hooks such that system and desktop-level software can react to changes in the hardware configuration in order to maintain system policy.
The most important goal of HAL is to provide plug-and-play facilities for UNIX-like desktops with focus on providing a rich and extensible description of device characteristics and features. One example of the functionality provided by HAL is when you plug in a USB storage device. HAL can automatically create a mount point in /media and mount the device.
Dependencies
As of hal-0.5.8 libvolume_id.so (From Udev) is a required dependency. On multilib systems you must have more then one copy of this library, (32bit,64bit,N32). Please refer to the clfs-svn book for information on configuring a multilib udev. WARNING: Installing a newer or older version of udev then what is currently installed on your system can cause problems booting because of the frequent changes in the rules format. Please use the same version you currently have, or make the appropriate changes/upgrades to your rule set.
Required
Reccomended
Optional
HalDaemon User/Group
groupadd -g 19 haldaemon && useradd -c "HAL Daemon User" -d /dev/null \ -u 19 -g haldaemon -s /bin/false haldaemon
Configuration Information
If you have Parted installed and you would like to link HAL against libparted pass the following to configure:
--enable-parted
Non-Multilib
Compile the package:
./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/hal --localstatedir=/var && make
Install the package
make install && install -v -m755 -d /var/run/hald
Command Explanations
--libexecdir=/usr/lib/hal: This parameter forces the installation of libexec files to /usr/lib/hal instead of /usr/libexec.
--localstatedir=/var: This parameter forces the creation of the pid file to /var/run/hald instead of /usr/var/run/hald.
Multilib
32Bit
Compile the package:
export USE_ARCH=32 && CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \ ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/hal --localstatedir=/var && make
Install the package
make install && unset USE_ARCH
N32
export USE_ARCH=n32 && CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \ ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib32 \ --libexecdir=/usr/lib/hal --localstatedir=/var && make
Install the package
make install && unset USE_ARCH
64Bit
export USE_ARCH=64 && CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ ./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 \ --libexecdir=/usr/lib/hal --localstatedir=/var && make
Install the package
make install && unset USE_ARCH && install -v -m755 -d /var/run/hald
Configuration
Bootscript
Install the bootscript from the blfs-bootscripts package with the following command:
make install-haldaemon
Contents
Installed Programs: | hal-device, hal-device-manager, hal-find-by-capability, hal-find-by-property, hal-get-property, hal-set-property, hald and lshal |
---|---|
Installed Libraries: | libhal.{so,a} and libhal-storage,{so,a} |
Installed Directories: | /etc/hal, /usr/include/hal, /usr/lib/hal, /usr/share/doc/hal-0.5.7, /usr/share/hal and /var/run/hald |
Short Descriptions
hal-device | is used to create, remove or show a HAL device. |
---|---|
hal-device-manager | shows a graphical representation of all the devices HAL is aware of. This program requires GNOME-Python. Here is a screenshot of hal-device-manager communicating with the HAL daemon and displaying a tree of device objects. The shown properties in the screenshot are for a device object representing a hard disk. |
hal-find-by-capability | prints the Unique Device Identifiers for HAL device objects of a given capability. |
hal-find-by-property | prints the Unique Device Identifiers for HAL device objects where a given property assumes a given value. |
hal-get-property | retrieves a property from a device. |
hal-set-property | attempts to set property for a device. Note that, due to security considerations, it may not be possible to set a property. |
hald | is the HAL daemon program. |
lshal | shows all devices and their properties. If the --monitor option is given then the device list and all devices are monitored for changes. |
libhal.{so,a} | contains the API functions required by the HAL programs. |
libhal-storage.{so,a} | contains the API functions required by the HAL storage and volume utility programs. |