From Fedora Project Wiki

Revision as of 18:14, 23 August 2011 by Awjb (talk | contribs)


HAL Removal

Summary

HAL is a behemoth, do-it-all, daemon to access hardware. It is now obsoleted by udisks (né DeviceKit-disks) and upower (né DeviceKit-power), as well as libudev for device discovery.

See also:

GNOME upstream tracker

Ubuntu tracker

Debian tracker

Owner

Current status

  • Targeted release: Fedora 16
  • Last updated: 2011-08-21
  • Percentage of completion: 97%

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, hal 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-rawhide-i386,http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/i386/os/ --repoid=fedora-rawhide-i386 --qf '%{NAME}' --whatrequires hal hal-devel hal-info hal-libs hal-storage-addon | sort -u

General tasks

Task Status Bug reports or discussions
Block hal from composes done rel-eng ticket 4557
Block hal-info from composes done rel-eng ticket 4724
Remove references to hal in kickstart files done Fedora bug 706505

Packages in the Desktop spin

Package name Status Bug reports or discussions
abrt-gui done Requires gnome-python2-gnomevfs (Fedora bug 652423)
cheese done upstream bug 594966
evolution done
evolution-data-server done
gdm done upstream bug 572765, Fedora bug 567432
gnome-power-manager done upstream bug 593933
gnome-vfs2 done GnomeVFS has been deprecated since 2008, applications should use gvfs instead. Since >100 other packages depend on gnome-vfs2, its HAL support was disabled (Fedora bug 698638), as was recently done also by Debian (Debian bug 599020), but the goal is to get rid of GnomeVFS too.
gstreamer-plugins-good done
gvfs done upstream bug 586410
gvfs-obexftp done upstream bug 586411 and upstream bug 511671
hal-info done Fedora bug 700446
libfprint done Requires hal-filesystem
libgpod done
libmtp done Fedora bug 711422
pm-utils done Fedora bug 636382
rhythmbox done Requires hal-libs (Fedora bug 597202) and gnome-vfs2 (upstream bug 604186)
setroubleshoot done Requires gnome-python2-gnome (Fedora bug 678543)
smolt done Fedora bug 634883
system-setup-keyboard done
xorg-x11-server-Xorg done
xulrunner done Requires gnome-vfs2 (upstream bug 494163)

Other packages in the DVD

Package name Status Bug reports or discussions
amarok done Works fine without libmtp-hal on F15/F16 (which is needed on F14 for some reason)
blueman done Fedora bug 561019
eclipse done Requires gnome-vfs2, upstream bug 333759, Fedora bug 667998
exo done Fedora bug 699714
gimp done upstream bug 592364
glade3-libgladeui done Requires gnome-vfs2
gnome-pilot done upstream bug 593936
hplip done upstream bug 401091
k3b done
kdebase-runtime done
kdelibs done
libvirt done
lxsession done upstream bug, Fedora bug 688959
pcmanfm done Fedora bug 698652
pcsc-lite done Requires hal-libs, Debian bug 587979
Thunar done
thunar-volman done
xine-lib done

Other packages outside the DVD

Package name Status Bug reports or discussions
beldi done Fedora bug 698656
camcardsync done Dead upstream, leaf package, deprecated (Fedora bug 698662)
epiphany done
exaile TODO Leaf package (upstream bug 625209, Fedora bug 698667)
gnomad2 done Requires hal-libs and libmtp-hal (Fedora bug 677323)
gnome-device-manager done Dead upstream, leaf package, deprecated (Fedora bug 698685, rel-eng ticket 4845)
gparted done Fedora bug 586377
gxine done
halevt TODO Dead upstream, leaf package (Fedora bug 700405), FTBFS
ifuse done
libconcord done
librapi done
libsynce done
matahari done Fedora bug 677367
nut done Fedora bug 698134
odccm done Deprecated upstream, obsoleted by new package synce-connector, deprecated (Fedora bug 701257)
ohm done Dead upstream, leaf package, deprecated (Fedora bug 698964, rel-eng ticket 4871)
olpc-kbdshim done upstream bug 10980, Fedora bug 700866
ovirt-server done Dead upstream, deprecated (Fedora bug 700455, rel-eng ticket 4843)
oxine done Fedora bug 700758
pmount done
razertool done Deprecated (Fedora bug 700756, rel-eng ticket 4766)
synce-hal done Obsoleted by new package synce-connector, deprecated
synce-trayicon done
thunar-vfs done Fedora bug 699682
xchat-gnome done Requires gnome-vfs2
xfburn done upstream bug 5965, Fedora bug 699692
xfce4-cddrive-plugin done Dead upstream, Fedora bug 707783
xfce4-power-manager done
xfce4-volstatus-icon done Deprecated since Fedora 15

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:

  • yum remove hal-filesystem hal-libs
  • Check that nothing gets removed because it depends on hal
  • 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

  • Fedora now does not ship with the HAL daemon, and libhal by default. If a specific application require libhal to function, please file a bug against it to be ported to the new technology.

Comments and Discussion