Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=xfcetesting.git;a=commitdiff;h=b84c4085e625fb9d790f0c6377803e5d77217a69
commit b84c4085e625fb9d790f0c6377803e5d77217a69 Author: Miklos Vajna <vmik...@frugalware.org> Date: Mon Jan 17 00:41:59 2011 +0100 hal-0.5.14-11-i686 - add systemd support (no upstream patch as hal is kind of dead already) - enable bus activation so it won't be started till something connects to it diff --git a/source/apps/hal/FrugalBuild b/source/apps/hal/FrugalBuild index e577b4c..5a6aa60 100644 --- a/source/apps/hal/FrugalBuild +++ b/source/apps/hal/FrugalBuild @@ -4,7 +4,7 @@ pkgname=hal pkgver=0.5.14 -pkgrel=10 +pkgrel=11 pkgdesc="Hardware Abstraction Layer" url="http://www.freedesktop.org/wiki/Software/hal" depends=('dbus-glib>=0.74' 'udev>=132' 'util-linux-ng>=2.15' 'glib2' 'libcap>=2.19' 'dbus>=1.2.12-4' \ @@ -24,14 +24,20 @@ source=(http://hal.freedesktop.org/releases/$pkgname-$pkgver.tar.gz \ suspend_hibernate.patch \ hal-performance_pci.ids_v5.diff \ fix_libusbdetection.diff \ - hal.conf.patch) + hal.conf.patch \ + do_not_check_hal_on_bus.patch \ + org.freedesktop.Hal.service \ + haldaemon.service) sha1sums=('95bdc8141b0bce197d0d47f5bec491b08c6e3853' \ '4846dc72e10268768df9d301d0e92b2d4c7a3cc5' \ '2273e77c0c3c52aca31294b2b1a829937d0a3c18' \ '2fab4fd75f1359b0838748dfae4d749eb26b64b9' \ '654235977c83f76433f9737f37b8a18f04136b35' \ 'f47dcd1b596605db17ae24942d40f6210cbe6b6d' \ - 'effad668dfcf46e20be068625fc3a027a26ae935') + 'effad668dfcf46e20be068625fc3a027a26ae935' \ + '15d78abf9f61a2d3b2fc76d1c44c11a57e7dc2a3' \ + 'baf7bb113d0bf766961d5b7af0863ff260e9f916' \ + '25d1b5976690438134e4a53c4ac3aa71469d2050') build() { Fcd @@ -64,6 +70,9 @@ build() Frm /etc/hotplug.d Fmkdir /media Frcd hald + Ffile /usr/share/dbus-1/system-services/org.freedesktop.Hal.service + Ffile /lib/systemd/system/haldaemon.service + Fln /dev/null /lib/systemd/system/hald.service } # optimization OK diff --git a/source/apps/hal/do_not_check_hal_on_bus.patch b/source/apps/hal/do_not_check_hal_on_bus.patch new file mode 100644 index 0000000..098ec75 --- /dev/null +++ b/source/apps/hal/do_not_check_hal_on_bus.patch @@ -0,0 +1,27 @@ +--- hal-0.5.14.orig/libhal/libhal.c ++++ hal-0.5.14/libhal/libhal.c +@@ -3376,7 +3376,6 @@ + libhal_ctx_init (LibHalContext *ctx, DBusError *error) + { + DBusError _error; +- dbus_bool_t hald_exists; + + LIBHAL_CHECK_LIBHALCONTEXT(ctx, FALSE); + +@@ -3384,16 +3383,6 @@ + return FALSE; + + dbus_error_init (&_error); +- hald_exists = dbus_bus_name_has_owner (ctx->connection, "org.freedesktop.Hal", &_error); +- dbus_move_error (&_error, error); +- if (error != NULL && dbus_error_is_set (error)) { +- return FALSE; +- } +- +- if (!hald_exists) { +- return FALSE; +- } +- + + if (!dbus_connection_add_filter (ctx->connection, filter_func, ctx, NULL)) { + return FALSE; diff --git a/source/apps/hal/hal.install b/source/apps/hal/hal.install index 99c70e7..527a1db 100644 --- a/source/apps/hal/hal.install +++ b/source/apps/hal/hal.install @@ -14,6 +14,11 @@ post_install() # only on install if [ -n "$1" -a -x /usr/sbin/chkconfig ]; then /usr/sbin/chkconfig --add rc.hald + # hald supports bus activation, no systemctl enable here + systemctl daemon-reload >/dev/null 2>&1 + else + systemctl daemon-reload >/dev/null 2>&1 + systemctl try-restart haldaemon.service >/dev/null 2>&1 fi #for use the good layout #we can't use backup we should patch /etc/hal/policy/10osvendor/10-keymap.fdi with the local @@ -34,6 +39,8 @@ pre_remove() { if [ -x /usr/sbin/chkconfig ]; then /usr/sbin/chkconfig --del rc.hald + systemctl stop haldaemon.service >/dev/null 2>&1 + systemctl disable haldaemon.service >/dev/null 2>&1 fi # remove hald user if grep -q '^hald:' /etc/passwd; then @@ -42,6 +49,11 @@ pre_remove() fi } +post_remove() +{ + systemctl daemon-reload >/dev/null 2>&1 +} + op=$1 shift diff --git a/source/apps/hal/haldaemon.service b/source/apps/hal/haldaemon.service new file mode 100644 index 0000000..c4b6714 --- /dev/null +++ b/source/apps/hal/haldaemon.service @@ -0,0 +1,8 @@ +[Unit] +Description=HAL Hardware Manager +After=syslog.target + +[Service] +ExecStart=/usr/sbin/hald --daemon=no --use-syslog +Type=dbus +BusName=org.freedesktop.Hal diff --git a/source/apps/hal/org.freedesktop.Hal.service b/source/apps/hal/org.freedesktop.Hal.service new file mode 100644 index 0000000..e79da60 --- /dev/null +++ b/source/apps/hal/org.freedesktop.Hal.service @@ -0,0 +1,5 @@ +[D-BUS Service] +Name=org.freedesktop.Hal +Exec=/usr/sbin/hald +User=root +SystemdService=haldaemon.service _______________________________________________ Frugalware-git mailing list Frugalware-git@frugalware.org http://frugalware.org/mailman/listinfo/frugalware-git