From Fedora Project Wiki

Revision as of 11:56, 29 April 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-04-26
  • Percentage of completion: 90%

This feature originally proposed the removal of HAL from the Fedora Desktop spin. This goal has already been accomplished and we are completing 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, unless somebody volunteers to maintain it again, this feature will track 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

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 Fedora bug 698638

GnomeVFS has been deprecated since 2008, applications should use gvfs instead. Packages depending directly on gnome-vfs2:
gnome-python2-gnome
gnome-python2-gnomevfs
libgnome (required by gnome-python2-bonobo, libbonoboui)
libgnomeui (required by gnome-python2-gnome)

gnome-python is also deprecated for GNOME3, applications should use PyGObject.
libbonoboui, libgnome and libgnomeui are also deprecated for GNOME3.
at-spi-python is also deprecated, applications should use pyatspi.
Since >100 other packages depend on gnome-vfs2, its HAL support was disabled, as was recently done 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 TODO Fedora bug 700446
libfprint done Still requires hal-filesystem
libgpod done
libmtp done libmtp-hal leaf subpackage still requires hal-info
orca optional TODO Requires gnome-python2-gnome, gnome-python2-bonobo (upstream bug 626254) and at-spi-python (Fedora bug 617642)
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)
shotwell optional TODO Requires gnome-vfs2 (upstream bug 2987, Fedora bug 690563)
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 Appears to work fine without libmtp-hal on F15/F16 (which is needed on F14 for some reason)
blueman optional TODO Requires hal, Fedora bug 561019, and gnome-python2-gnome
eclipse done Requires gnome-vfs2, upstream bug 333759, Fedora bug 667998
exo done Fedora bug 699714
gimp TODO 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
planner optional TODO Requires gnome-vfs2 (done in upstream git), libgnome, libgnomeui (upstream bug 589045) and libbonoboui (upstream bug 349304)
system-config-httpd optional TODO Requires gnome-python2-gnome
Thunar done
thunar-volman done
thunderbird optional TODO Requires gnome-vfs2
xine-lib done

Other packages outside the DVD

Package name Status Bug reports or discussions
beldi TODO Fedora bug 698656
camcardsync TODO Fedora bug 698662
dasher optional TODO Requires gnome-vfs2 (upstream bug 572134, Fedora bug 675740), libgnome, libgnomeui and libbonoboui (upstream bug 571750)
dia optional TODO Requires gnome-vfs2 (upstream bug 613133), libgnome, libgnomeui and libbonoboui
epiphany done
exaile TODO upstream bug 625209, Fedora bug 698667
gnomad2 done Requires hal-libs and libmtp-hal (Fedora bug 677323)
gnome-commander optional TODO Requires gnome-vfs2-smb (upstream bug 589069), gnome-python2-gnomevfs, libgnome (upstream bug 589072), libgnomeui and libbonoboui
gnome-device-manager TODO Requires hal-libs (Fedora bug 698685), libgnome, libgnomeui and libbonoboui. Probably dead upstream
gparted done Fedora bug 586377
gxine done
halevt TODO Fedora bug 700405
ifuse done
inkscape optional TODO Requires gnome-vfs2, upstream bug 715215, Fedora bug 653516
libconcord done
librapi TODO Both librapi and python-rapi subpackages
libsynce done
matahari done Fedora bug 677367
nut done Fedora bug 698134
odccm TODO
ohm TODO Dead upstream, Fedora bug 698964
olpc-kbdshim TODO
ovirt-server TODO ovirt-server-installer subpackage requires hal (Fedora bug 700455)
oxine TODO Fedora bug 700758
pmount done
policycoreutils-gui optional TODO Requires gnome-python2-gnome
razertool TODO Deprecated since Fedora 15, but not yet removed from composes (Fedora bug 700756)
synce-hal TODO Needs Fedora bug 678728
synce-trayicon TODO Requires hal-libs, gnome-vfs2, libgnome, libgnomeui and libbonoboui
thunar-vfs done Fedora bug 699682
xchat-gnome done Requires gnome-vfs2
xfburn done upstream bug 5965, Fedora bug 699692
xfce4-cddrive-plugin TODO
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