Removing HAL

wblock@

Developer
Lots of people hate HAL. I don't, but it's recently become useless due to changes in my preferred window manager, xfce. So out it goes.

There are two problems.

1. devel/gvfs depends on HAL. So I submitted PR ports/157096 to make the dependency on HAL optional.

2. x11-wm/xfce4-session also depends on HAL. For that, I submitted PR ports/157097.

Both PRs have been committed, and HAL has been absent for several weeks now without any problems.

% pkg_info -R hal-\*
will show other ports that depend on HAL. If they have a HAL config option, turn it off. Then rebuild them. After all such dependencies are removed, pkg_delete(1) HAL itself.

I have not tested other desktop environments, which might have more dependencies on HAL.
 
I checked the dependency information of hal on my box:
Code:
justin@zust.pts/0 ~ % pkg_info -r hal-\*
Information for hal-0.5.14_14:

Depends on:
Dependency: renderproto-0.11
Dependency: kbproto-1.0.5
Dependency: expat-2.0.1_1
Dependency: gnome_subr-1.0
Dependency: dmidecode-2.11
Dependency: pciids-20110525
Dependency: python27-2.7.1_1
Dependency: perl-5.12.3
Dependency: png-1.4.5
Dependency: pkg-config-0.25_1
Dependency: freetype2-2.4.4
Dependency: fontconfig-2.8.0,1
Dependency: xproto-7.0.16
Dependency: libXdmcp-1.0.3
Dependency: libXau-1.0.6
Dependency: pixman-0.21.4
Dependency: pcre-8.12
Dependency: m4-1.4.16,1
Dependency: libvolume_id-0.81.1
Dependency: libpthread-stubs-0.3_3
Dependency: libxcb-1.7
Dependency: libX11-1.3.6,1
Dependency: libXrender-0.9.5
Dependency: xcb-util-0.3.6_1
Dependency: libffi-3.0.9
Dependency: libiconv-1.13.1_1
Dependency: libxml2-2.7.8_1
Dependency: dbus-1.4.6
Dependency: gettext-0.18.1.1
Dependency: glib-2.26.1_1
Dependency: gamin-0.1.10_4
Dependency: gio-fam-backend-2.26.1
Dependency: dbus-glib-0.88
Dependency: policykit-0.9_6
Dependency: eggdbus-0.6_1
Dependency: cairo-1.10.2_2,1
Dependency: bison-2.4.3,1
Dependency: gobject-introspection-0.9.12_1
Dependency: polkit-0.99
Dependency: consolekit-0.4.3
Well, seems painful to recompile them all (especially Python and Perl). Thank you anyway. :p
 
Fixed, thanks! Another way to do the same thing is to attempt to pkg_delete(1) hal. As long as there are still dependencies, it will show them and not delete hal. That list could be fed to portmaster.
 
Code:
Information for hal-0.5.14_14:

Required by:
nvidia-driver-270.41.19
...

Ouch!
 
A slightly alternative take I used:

grep -l WITH_HAL /var/db/ports/*/options

Run make config on the ports that show up there (you can use a tool like ports-mgmt/psearch to do that quickly), and deselect HAL. Rebuild those ports (not recursively).

Then run [cmd=]pkg_delete hal\*[/cmd] and rebuild the ports that show up there (also not recursively).

Run [cmd=]pkg_delete hal\*[/cmd] again. If any port remains (in my case that was sysutils/gnome-mount, which does not have a HAL setting in make config -- which is logical, because it is a HAL-based utility), you can probably remove it. I had nothing depending on it, so that was easy.

Then run [cmd=]pkg_delete hal\*[/cmd]. If you get no complaints, that will be all.

All I had to do after that was remove
Code:
hald_enable="YES"
from, and add
Code:
moused_enable="YES"
to /etc/rc.conf.

My laptop's mousepad and keyboard work fine, and so do mice and keyboards that are plugged in using USB. I assume that my USB KVM at work will not pose any problems either.
 
After the first reboot (without moused enabled), my mousepad (built-in trackpad) didn't work. It's probably needed for that, at least.
 
Makes sense

DutchDaemon said:
After the first reboot (without moused enabled), my mousepad (built-in trackpad) didn't work. It's probably needed for that, at least.
Makes sense. If I remember correctly, most touchpads are considered PS/2 devices and without moused(8) enabled those won't work indeed.

It is exactly for that same reason that I actually disable moused. I loathe touchpads because I keep accidentally touching them with my wrists and get really annoyed by that x( Disable moused, bye bye touchpad. Plug in a USB mouse and it works, no moused needed.

Fonz
 
If you actually use a laptop as a laptop, you really have nowhere to put your external mouse ;) I never accidentally touch the mousepad though, my wrists are on either side. Anyway, that's not really relevant to the topic at hand.
 
Big and bloated. (But lots of other things are, too.)
Unnecessary. (But useful for autoconfiguration.)
XML config. (Meh.)
Changes xorg. (Probably the worst sin imaginable.)

Some people get really worked up about stuff like this.
 
DutchDaemon said:
If you actually use a laptop as a laptop, you really have nowhere to put your external mouse ;) I never accidentally touch the mousepad though, my wrists are on either side. Anyway, that's not really relevant to the topic at hand.

You may check this or that one. Oh, and please post results ;)
 
No, thanks! I have absolutely no problem using the mousepad (at home I have the laptop on a slightly elevated Logitech cushion/pad) - and everything works fine with my USB KVM as well, so that's sorted.
 
The purpose of moused is to have working multiple mice at same time. You can configure moused to not use touchpad at all. kbdmux with kbdcontrol is doing something similar in the keyboard department.
 
Per the 7th post above, I removed hal and gnome-mount, the latter had a large +REQUIRED_BY but removing hal elsewhere seemed to make gnome-mount not required upon removal. (gnome-vfs and xorg and... probably). [Off-topic...], I discovered just yesterday that one can ldd a binary and rebuild it, then run it and have it again fail ldd, showing a dependency to upgrade. I did that (ran them) to several applications, (which are usually run in X, in a console) , and they only complained about the missing DISPLAY (in other words, were rebuilt successfully) after the dependency error was resolved (in other words the rebuild does not fix the missing library, maybe a hidden run-depends).
 
carlton_draught said:
[font="Courier New"]I'm sorry, Dave, I'm afraid I can't do that.[/font]

[font="Courier New"]This mission is too important for me to allow you to jeopardize it.

I know that you and Frank were planning to disconnect me, and I'm afraid that's something I cannot allow to happen.
[/font]
 
Back
Top