From Fedora Project Wiki

< Features

Revision as of 12:19, 21 April 2011 by Nsoranzo (talk | contribs) (s/retire/deprecate)


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.

HAL package maintainer announced a plan to deprecate it for Fedora 16, and later it was blocked from composes.

This feature tracks the removal of HAL in the Fedora Desktop spin.

See also:

GNOME upstream tracker

Ubuntu tracker

Debian tracker

Owner

Current status

  • Targeted release: Fedora 40
  • Last updated: 2011-02-08
  • Percentage of completion: 85%


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-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 TODO 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, it may be useful to disable its HAL support, 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
libfprint done Still requires hal-filesystem
libgpod done
libmtp done libmtp-hal leaf subpackage still requires hal-info
orca 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 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 TODO Requires hal, Fedora bug 561019, and gnome-python2-gnome
eclipse done Requires gnome-vfs2, upstream bug 333759, Fedora bug 667998
exo done
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 TODO Requires hal-storage-addon, Debian bug 615212
pcsc-lite done Requires hal-libs, Debian bug 587979
planner TODO Requires gnome-vfs2 (done in upstream git), libgnome, libgnomeui (upstream bug 589045) and libbonoboui (upstream bug 349304)
system-config-httpd TODO Requires gnome-python2-gnome
Thunar done
thunar-volman done
thunderbird TODO Requires gnome-vfs2
xine-lib done

Other packages outside the DVD

Package name Status Bug reports or discussions
beldi TODO
camcardsync TODO
dasher TODO Requires gnome-vfs2 (upstream bug 572134, Fedora bug 675740), libgnome, libgnomeui and libbonoboui (upstream bug 571750)
dia TODO Requires gnome-vfs2 (upstream bug 613133), libgnome, libgnomeui and libbonoboui
epiphany done
exaile TODO upstream bug 625209
gnomad2 TODO Requires hal-libs and libmtp-hal (Fedora bug 677323)
gnome-commander 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, libgnome, libgnomeui and libbonoboui. Probably dead upstream
gparted done Fedora bug 586377
gxine done
halevt TODO
ifuse done
inkscape TODO Requires gnome-vfs2, upstream bug 715215, Fedora bug 653516
libconcord done
librapi TODO Both librapi and python-rapi subpackages
libsynce TODO
matahari TODO Fedora bug 677367
nut done
odccm TODO
ohm TODO Dead upstream
olpc-kbdshim TODO
ovirt-server TODO ovirt-server-installer subpackage requires hal
oxine TODO
pmount TODO
policycoreutils-gui TODO Requires gnome-python2-gnome
razertool TODO
synce-hal TODO
synce-trayicon TODO Requires hal-libs, gnome-vfs2, libgnome, libgnomeui and libbonoboui
thunar-vfs TODO
xchat-gnome done Requires gnome-vfs2
xfburn TODO upstream bug 5965
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

  • Still ship 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