# Removing HAL



## wblock@ (Jun 16, 2011)

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.


----------



## YZMSQ (Jun 17, 2011)

I checked the dependency information of hal on my box: 

```
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.


----------



## kpa (Jun 17, 2011)

Those are the packages that sysutils/hal itself depends on, to get a list of packages that depend on hal, use:

`% pkg_info -R hal-\*`


----------



## wblock@ (Jun 17, 2011)

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.


----------



## DutchDaemon (Jun 17, 2011)

```
Information for hal-0.5.14_14:

Required by:
nvidia-driver-270.41.19
...
```

Ouch!


----------



## wblock@ (Jun 17, 2011)

DutchDaemon said:
			
		

> ```
> Information for hal-0.5.14_14:
> 
> Required by:
> ...



The ports don't indicate a direct dependence.  Rebuild x11-servers/xorg-server with the hal option turned off, then rebuild the nvidia driver.


----------



## DutchDaemon (Jun 18, 2011)

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 
	
	



```
hald_enable="YES"
```
 from, and add 
	
	



```
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.


----------



## wblock@ (Jun 19, 2011)

If you have a USB mouse, you don't even have to enable moused(8).  It is started (by devd(8)), even if not enabled.


----------



## DutchDaemon (Jun 19, 2011)

After the first reboot (without moused enabled), my mousepad (built-in trackpad) didn't work. It's probably needed for that, at least.


----------



## fonz (Jun 20, 2011)

*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 *dis*able 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


----------



## DutchDaemon (Jun 20, 2011)

If you actually use a laptop as a *lap*top, 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.


----------



## drhowarddrfine (Jun 20, 2011)

wblock said:
			
		

> Lots of people hate HAL.


I've either forgotten or never heard a good explanation for that. Can anyone give one?


----------



## jrm@ (Jun 20, 2011)

drhowarddrfine said:
			
		

> I've either forgotten or never heard a good explanation for that. Can anyone give one?



http://forums.freebsd.org/showthread.php?t=14660&highlight=hal
http://forums.freebsd.org/showthread.php?t=2289&highlight=hal


----------



## wblock@ (Jun 20, 2011)

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.


----------



## Crivens (Jun 20, 2011)

DutchDaemon said:
			
		

> If you actually use a laptop as a *lap*top, 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


----------



## DutchDaemon (Jun 20, 2011)

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.


----------



## richardpl (Jun 20, 2011)

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.


----------



## jb_fvwm2 (Jun 24, 2011)

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 (Jun 24, 2011)

*Remove HAL?!?*

[font="Courier New"]I'm sorry, Dave, I'm afraid I can't do that.[/font]


----------



## UNIXgod (Jun 24, 2011)

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]


----------



## Crivens (Jun 24, 2011)

carlton_draught said:
			
		

> [font="Courier New"]I'm sorry, Dave, I'm afraid I can't do that.[/font]



You almost owe me a keyboard.


----------

