From Fedora Project Wiki
(→‎Current status: Set Fedora 16 as targeted release)
Line 247: Line 247:


== Contingency Plan ==
== Contingency Plan ==
* Still ship HAL.
* Undeprecate hal.


== Documentation ==
== Documentation ==

Revision as of 10:08, 22 April 2011


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 deprecated it for Fedora 16, and later it was also 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 16
  • 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 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, 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, Fedora bug 698652
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 Fedora bug 698656
camcardsync TODO Fedora bug 698662
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, Fedora bug 698667
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 (Fedora bug 698685), 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 done
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

  • 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