Features/HalRemoval

= HAL Removal =

Summary
HAL is a behemoth, do-it-all, daemon to access hardware. It is now obsoleted by and, as well as libudev for device discovery.

See also:

GNOME upstream tracker

Ubuntu tracker

Debian tracker

Owner

 * Name: Nicola Soranzo
 * Email: nsoranzo at fedoraproject.org


 * Original Feature author: Bastien Nocera
 * Email: bnocera@redhat.com

Current status

 * Targeted release: Fedora 16
 * Last updated: 2011-09-27
 * Percentage of completion: 100%

This feature originally proposed the removal of HAL from the Fedora Desktop spin. This goal has already been accomplished and we also completed the removal from the Fedora DVD. In the meantime, package maintainer deprecated it for Fedora 16, and later it was also blocked from composes. So this feature is tracking the complete removal of HAL from the distribution.

Detailed Description
To generate the list of packages still depending on hal in rawhide:

$ repoquery --repofrompath=fedora-16-i386,http://download.fedoraproject.org/pub/fedora/linux/development/16/i386/os/ --repoid=fedora-16-i386 --qf '%{NAME}' --whatrequires hal hal-devel hal-info hal-libs hal-storage-addon | sort -u

Benefit to Fedora
Faster boot-up, and removal of obsoleted technology.

Scope
Loads of applications require HAL itself, or libhal. Applications should not rely on HAL, or libhal being available.

How To Test
Need to test:
 * Check that nothing gets removed because it depends on hal
 * Check that applications that access hardware still work as before
 * Check that applications that access hardware still work as before

User Experience

 * Faster boot-up
 * Possibly faster applications startup when switching from libhal to libgudev for device enumeration

Dependencies

 * See description

Contingency Plan

 * Undeprecate hal.

Documentation
N/A

Release Notes
HAL, a hardware abstraction layer which has been a deprecated component for several releases, has been completely removed from Fedora. Software components using HAL have moved over to using udisks and upower as well as libudev for device discovery. This results in faster system bootup and faster startup for applications depending on device discovery.

Comments and Discussion

 * See Talk:Features/HalRemoval