PDA

View Full Version : Removing HAL


wblock@
June 16th, 2011, 21:03
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 ports/157096 to make the dependency on HAL optional.

2. x11-wm/xfce4-session also depends on HAL. For that, I submitted 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 HAL itself.

I have not tested other desktop environments, which might have more dependencies on HAL.

YZMSQ
June 17th, 2011, 14:31
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. :P

kpa
June 17th, 2011, 14:36
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@
June 17th, 2011, 15:08
Fixed, thanks! Another way to do the same thing is to attempt to pkg_delete hal. As long as there are still dependencies, it will show them and not delete hal. That list could be fed to portmaster.

DutchDaemon
June 17th, 2011, 16:53
Information for hal-0.5.14_14:

Required by:
nvidia-driver-270.41.19
...


Ouch!

wblock@
June 17th, 2011, 17:37
Information for hal-0.5.14_14:

Required by:
nvidia-driver-270.41.19
...


Ouch!

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
June 18th, 2011, 22:07
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 pkg_delete hal\* and rebuild the ports that show up there (also not recursively).

Run pkg_delete hal\* 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 pkg_delete hal\*. 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@
June 19th, 2011, 00:32
If you have a USB mouse, you don't even have to enable moused. It is started (by devd), even if not enabled.

DutchDaemon
June 19th, 2011, 01:39
After the first reboot (without moused enabled), my mousepad (built-in trackpad) didn't work. It's probably needed for that, at least.

fonz
June 20th, 2011, 01:11
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 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

DutchDaemon
June 20th, 2011, 01:16
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.

drhowarddrfine
June 20th, 2011, 03:51
Lots of people hate HAL.
I've either forgotten or never heard a good explanation for that. Can anyone give one?

jrm
June 20th, 2011, 05:42
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@
June 20th, 2011, 06:02
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
June 20th, 2011, 10:19
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 (http://www.amazon.com/Handheld-Finger-Mouse-with-Trackball/dp/B001PLWIOO/ref=pd_sbs_misc_3) or that (http://www.genius-europe.com/en/produktdetail.php?ID2=100&ID=24&ID3=655) one. Oh, and please post results ;)

DutchDaemon
June 20th, 2011, 14:31
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
June 20th, 2011, 22:45
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
June 24th, 2011, 00:48
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
June 24th, 2011, 03:23
I'm sorry, Dave, I'm afraid I can't do that.

UNIXgod
June 24th, 2011, 04:03
I'm sorry, Dave, I'm afraid I can't do that.

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.

Crivens
June 24th, 2011, 08:45
I'm sorry, Dave, I'm afraid I can't do that.

You almost owe me a keyboard.