summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2011-01-08 13:00:13 +0000
committerobache <obache@pkgsrc.org>2011-01-08 13:00:13 +0000
commit2bf1106ef2172fd31c2a81e1b1af6fbfd882e27f (patch)
tree0c7a9b5d3661995e73ad604ac64a236ecaf8840a
parent2156ddc7783c8844cadc7ce820b09df49ded2cc4 (diff)
downloadpkgsrc-2bf1106ef2172fd31c2a81e1b1af6fbfd882e27f.tar.gz
Bring back DragonFly BSD support.
Based on PR#44338 from Rumko, also fixes PLIST.FreeBSD and self-tests by me.
-rw-r--r--sysutils/hal/PLIST.FreeBSD17
-rw-r--r--sysutils/hal/distinfo13
-rw-r--r--sysutils/hal/patches/patch-ak96
-rw-r--r--sysutils/hal/patches/patch-ao14
-rw-r--r--sysutils/hal/patches/patch-ar44
-rw-r--r--sysutils/hal/patches/patch-as14
-rw-r--r--sysutils/hal/patches/patch-at16
-rw-r--r--sysutils/hal/patches/patch-au11
-rw-r--r--sysutils/hal/patches/patch-av13
-rw-r--r--sysutils/hal/patches/patch-na37
10 files changed, 236 insertions, 39 deletions
diff --git a/sysutils/hal/PLIST.FreeBSD b/sysutils/hal/PLIST.FreeBSD
index c1ea9f7fcd6..ea32d857bec 100644
--- a/sysutils/hal/PLIST.FreeBSD
+++ b/sysutils/hal/PLIST.FreeBSD
@@ -1,14 +1,15 @@
-@comment $NetBSD: PLIST.FreeBSD,v 1.2 2009/06/14 18:16:07 joerg Exp $
-lib/hal/scripts/freebsd/hal-system-lcd-get-brightness-freebsd
-lib/hal/scripts/freebsd/hal-system-lcd-set-brightness-freebsd
-lib/hal/scripts/freebsd/hal-system-power-reboot-freebsd
-lib/hal/scripts/freebsd/hal-system-power-set-power-save-freebsd
-lib/hal/scripts/freebsd/hal-system-power-shutdown-freebsd
-lib/hal/scripts/freebsd/hal-system-power-suspend-freebsd
-lib/libhald_freebsd_probe.la
+@comment $NetBSD: PLIST.FreeBSD,v 1.3 2011/01/08 13:00:13 obache Exp $
+libexec/hald-addon-mouse-sysmouse
libexec/hald-addon-storage
libexec/hald-probe-hiddev
+libexec/hald-probe-mouse
libexec/hald-probe-scsi
libexec/hald-probe-smbios
libexec/hald-probe-storage
libexec/hald-probe-volume
+libexec/scripts/freebsd/hal-system-lcd-get-brightness-freebsd
+libexec/scripts/freebsd/hal-system-lcd-set-brightness-freebsd
+libexec/scripts/freebsd/hal-system-power-reboot-freebsd
+libexec/scripts/freebsd/hal-system-power-set-power-save-freebsd
+libexec/scripts/freebsd/hal-system-power-shutdown-freebsd
+libexec/scripts/freebsd/hal-system-power-suspend-freebsd
diff --git a/sysutils/hal/distinfo b/sysutils/hal/distinfo
index be887d915ef..cbea1d5ed20 100644
--- a/sysutils/hal/distinfo
+++ b/sysutils/hal/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.19 2010/12/29 00:12:15 tron Exp $
+$NetBSD: distinfo,v 1.20 2011/01/08 13:00:13 obache Exp $
SHA1 (hal-0.5.14.tar.bz2) = a6ec098d78112e18e2773afa5f9ed642b00c4c59
RMD160 (hal-0.5.14.tar.bz2) = 0314dace9512bf49a62bd1556963fc60a6c9caf9
@@ -12,14 +12,19 @@ SHA1 (patch-af) = 161b59ee30d59dbc9e0c79f7f3162bcec5480d99
SHA1 (patch-ag) = 3fd8b7d10b1a43311541d2c6ad67a944e286c5ec
SHA1 (patch-ah) = 6d801a2c30cee6199b25acf46d7e9866f6004182
SHA1 (patch-aj) = f20e4b1286d177e53a550b2ba1608d22e4b5c609
-SHA1 (patch-ak) = f4ba0655a452fc13e83a7b93703b4da417e8597f
+SHA1 (patch-ak) = c6e9f20df9230de1bbf599315ad7f32fe6433f48
SHA1 (patch-al) = fe567d7504e961cb623e492f8dc155ef2f3b4c9e
SHA1 (patch-am) = 6a4940006e583300d9a983511bdcb05268f74b1a
SHA1 (patch-an) = 0307b2f0f6bb5e4a6d7bf837163e74749b7d24b2
-SHA1 (patch-ao) = e450f8d5fd4705cf9f4eb3e827a61179b4148646
+SHA1 (patch-ao) = 2bbd39404284c5c05068e87c9d20b8f6a65c3503
SHA1 (patch-ap) = 9051ced9c00911b993198c98c6d02f5846c16728
SHA1 (patch-aq) = 7d0b224b4b1e6052983a6512217eee4f530e0720
+SHA1 (patch-ar) = bf44c939b338359f18457b1e65434731c3605130
+SHA1 (patch-as) = a6319e523affc90701f09266949cb7891c044ba7
+SHA1 (patch-at) = 040a018a7be5b28a0dc23dd66a0c10bbb0abc6bf
+SHA1 (patch-au) = c9e843f57b8a31f1bdc42478d450ea5606b4d7db
+SHA1 (patch-av) = 075ab5e265be4733d856a17184129d0b301bc0b8
SHA1 (patch-ax) = 278cbf10dd288f7a4aeedd7545b325c1a82715db
-SHA1 (patch-na) = 127bd8aa2c837a525685e4ab8ef0429059130b2b
+SHA1 (patch-na) = dbd9d7ae94e80163537db547f0907d700e8f13b9
SHA1 (patch-nb) = 1693b7a2faa5bee20a594f0b60b8ff6caea0efdc
SHA1 (patch-nc) = 32453e49734902749ce24eb4364fc7f531986227
diff --git a/sysutils/hal/patches/patch-ak b/sysutils/hal/patches/patch-ak
index 227b9662590..8bdd6c28bc7 100644
--- a/sysutils/hal/patches/patch-ak
+++ b/sysutils/hal/patches/patch-ak
@@ -1,43 +1,109 @@
-$NetBSD: patch-ak,v 1.2 2010/12/26 20:59:31 markd Exp $
+$NetBSD: patch-ak,v 1.3 2011/01/08 13:00:13 obache Exp $
--- hald/freebsd/probing/probe-volume.c.orig 2009-09-17 13:45:09.000000000 +0000
+++ hald/freebsd/probing/probe-volume.c
-@@ -33,7 +33,9 @@
+@@ -33,7 +33,11 @@
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
-+#ifndef __DragonFly__
++#ifdef __DragonFly__
++#include <sys/diskslice.h>
++#else
#include <sys/disk.h>
+#endif
#include <sys/cdio.h>
#include <sys/param.h>
#include <sys/mount.h>
-@@ -371,6 +373,7 @@ main (int argc, char **argv)
+@@ -41,7 +45,11 @@
+ #include <ufs/ufs/ufsmount.h>
+ #include <ufs/ufs/dinode.h>
+ #include <ufs/ffs/fs.h>
++#ifdef __DragonFly__
++#include <ufs/ufs/ufs_types.h>
++#else
+ #include <libufs.h>
++#endif
+ #include <isofs/cd9660/iso.h>
+ #include <glib.h>
+ #include <libvolume_id.h>
+@@ -332,6 +340,9 @@ main (int argc, char **argv)
+ gboolean is_blank = FALSE;
+ const char *usage;
+ char *label;
++#ifdef __DragonFly__
++ struct partinfo device_info;
++#endif
+ unsigned int sector_size = 0;
+ off_t media_size = 0;
+
+@@ -371,7 +382,12 @@ main (int argc, char **argv)
is_blank = (! has_audio && ! has_data);
}
-+#ifndef __DragonFly__
++#ifdef __DragonFly__
++ ioctl(fd, DIOCGPART, &device_info);
++ media_size = device_info.media_size;
++#else
ioctl(fd, DIOCGMEDIASIZE, &media_size);
++#endif
/*
-@@ -396,6 +399,7 @@ main (int argc, char **argv)
+ * We only check for filesystems if the volume has no children,
+@@ -563,16 +579,35 @@ main (int argc, char **argv)
+
+ if (vid && ! strcmp (vid->type, "ufs"))
+ {
++#ifdef __DragonFly__
++ struct fs fs;
++ int rfd;
++ ssize_t nr;
++
++ if ((rfd = open(device_file, O_RDONLY)) >= 0) {
++ lseek(rfd, (off_t) SBOFF, SEEK_SET);
++
++ nr = read(rfd, &fs, (size_t) SBSIZE);
++ close(rfd);
++ }
++
++ if (nr == (ssize_t) SBSIZE)
++#else
+ struct uufsd ufsdisk;
+
+ if (ufs_disk_fillout(&ufsdisk, device_file) == 0)
++#endif
+ {
+ char ufsid[64];
+ char **ufs_devs = NULL;
+ int num_udis;
+ int i;
+
++#ifdef __DragonFly__
++ snprintf(ufsid, sizeof(ufsid), "%08x%08x", fs.fs_id[0], fs.fs_id[1]);
++#else
+ snprintf(ufsid, sizeof(ufsid), "%08x%08x", ufsdisk.d_fs.fs_id[0], ufsdisk.d_fs.fs_id[1]);
++#endif
+ libhal_device_set_property_string(hfp_ctx, hfp_udi, "volume.freebsd.ufsid", ufsid, &hfp_error);
+ ufs_devs = libhal_manager_find_device_string_match(hfp_ctx,
+ "volume.freebsd.ufsid",
+@@ -597,7 +632,9 @@ main (int argc, char **argv)
}
+ if (ufs_devs)
+ libhal_free_string_array(ufs_devs);
++#ifndef __DragonFly__
+ ufs_disk_close(&ufsdisk);
++#endif
}
}
-+#endif
- if (! has_children && ! is_swap && ! has_audio && ! has_data && ! is_blank)
- goto end;
-@@ -628,10 +632,12 @@ main (int argc, char **argv)
+@@ -628,7 +665,11 @@ main (int argc, char **argv)
libhal_device_set_property_string(hfp_ctx, hfp_udi, "volume.uuid", vid ? vid->uuid : "", &hfp_error);
-+#ifndef __DragonFly__
++#ifdef __DragonFly__
++ sector_size = device_info.media_blksize;
++#else
ioctl(fd, DIOCGSECTORSIZE, &sector_size);
++#endif
if (sector_size != 0)
libhal_device_set_property_uint64(hfp_ctx, hfp_udi, "volume.block_size", sector_size, &hfp_error);
-+#endif
- if (media_size != 0)
- libhal_device_set_property_uint64(hfp_ctx, hfp_udi, "volume.size", media_size, &hfp_error);
- if (sector_size != 0 && media_size != 0)
diff --git a/sysutils/hal/patches/patch-ao b/sysutils/hal/patches/patch-ao
index 8f642217965..fa91c4f3b42 100644
--- a/sysutils/hal/patches/patch-ao
+++ b/sysutils/hal/patches/patch-ao
@@ -1,4 +1,8 @@
-$NetBSD: patch-ao,v 1.2 2010/12/26 20:59:31 markd Exp $
+$NetBSD: patch-ao,v 1.3 2011/01/08 13:00:13 obache Exp $
+
+On DragonFly /dev/usb will be taken by usbd(8), but that does not
+mean that one cannot check usbX devices. The same behaviour was present
+in older versions of hald(8).
--- hald/freebsd/hf-usb.c.orig 2009-09-17 13:49:46.000000000 +0000
+++ hald/freebsd/hf-usb.c
@@ -16,3 +20,11 @@ $NetBSD: patch-ao,v 1.2 2010/12/26 20:59:31 markd Exp $
#include "../logger.h"
#include "../osspec.h"
+@@ -613,7 +617,6 @@ hf_usb_privileged_init (void)
+ if (hf_usb_fd < 0)
+ {
+ HAL_INFO(("unable to open %s: %s", HF_USB_DEVICE, g_strerror(errno)));
+- return;
+ }
+
+ for (i = 0; i < 16; i++)
diff --git a/sysutils/hal/patches/patch-ar b/sysutils/hal/patches/patch-ar
new file mode 100644
index 00000000000..47a153c2e5a
--- /dev/null
+++ b/sysutils/hal/patches/patch-ar
@@ -0,0 +1,44 @@
+$NetBSD: patch-ar,v 1.1 2011/01/08 13:00:13 obache Exp $
+
+--- hald/freebsd/probing/probe-storage.c.orig 2009-08-24 12:42:29.000000000 +0000
++++ hald/freebsd/probing/probe-storage.c
+@@ -32,7 +32,11 @@
+ #include <errno.h>
+ #include <sys/types.h>
+ #include <sys/ioctl.h>
++#ifdef __DragonFly__
++#include <sys/diskslice.h>
++#else
+ #include <sys/disk.h>
++#endif
+ #include <netinet/in.h>
+ #include <glib.h>
+ #include <libvolume_id.h>
+@@ -171,6 +175,9 @@ int
+ main (int argc, char **argv)
+ {
+ char *device_file;
++#ifdef __DragonFly__
++ struct partinfo device_info;
++#endif
+ char *drive_type;
+ char *parent;
+ int ret = 0; /* no media/filesystem */
+@@ -221,10 +228,17 @@ main (int argc, char **argv)
+ fd = open(device_file, O_RDONLY | O_NONBLOCK);
+ if (fd > -1)
+ {
++#ifdef __DragonFly__
++ if (ioctl (fd, DIOCGPART, &device_info) == 0)
++ {
++ libhal_device_set_property_uint64(hfp_ctx, hfp_udi, "storage.removable.media_size", device_info.media_size, &hfp_error);
++ }
++#else
+ if (ioctl (fd, DIOCGMEDIASIZE, &size) == 0)
+ {
+ libhal_device_set_property_uint64(hfp_ctx, hfp_udi, "storage.removable.media_size", size, &hfp_error);
+ }
++#endif
+ close(fd);
+ }
+ ret = 2; /* has media */
diff --git a/sysutils/hal/patches/patch-as b/sysutils/hal/patches/patch-as
new file mode 100644
index 00000000000..7a5fef4cbda
--- /dev/null
+++ b/sysutils/hal/patches/patch-as
@@ -0,0 +1,14 @@
+$NetBSD: patch-as,v 1.1 2011/01/08 13:00:13 obache Exp $
+
+--- hald/freebsd/addons/addon-mouse.c.orig 2009-08-24 12:42:29.000000000 +0000
++++ hald/freebsd/addons/addon-mouse.c
+@@ -29,7 +29,9 @@
+ #include <sys/types.h>
+ #include <sys/event.h>
+ #include <sys/time.h>
++#ifdef __FreeBSD__
+ #include <sys/proc.h>
++#endif
+ #if __FreeBSD_version >= 800058
+ #include <sys/types.h>
+ #include <sys/user.h>
diff --git a/sysutils/hal/patches/patch-at b/sysutils/hal/patches/patch-at
new file mode 100644
index 00000000000..73a129e3473
--- /dev/null
+++ b/sysutils/hal/patches/patch-at
@@ -0,0 +1,16 @@
+$NetBSD: patch-at,v 1.1 2011/01/08 13:00:13 obache Exp $
+
+--- hald/freebsd/hf-pci.c.orig 2009-05-12 12:27:00.000000000 +0000
++++ hald/freebsd/hf-pci.c
+@@ -27,7 +27,11 @@
+
+ #include <stdio.h>
+ #include <string.h>
++#ifdef __DragonFly__
++#include <bitstring.h>
++#else
+ #include <sys/bitstring.h>
++#endif
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <unistd.h>
diff --git a/sysutils/hal/patches/patch-au b/sysutils/hal/patches/patch-au
new file mode 100644
index 00000000000..ac8fdcfed3d
--- /dev/null
+++ b/sysutils/hal/patches/patch-au
@@ -0,0 +1,11 @@
+$NetBSD: patch-au,v 1.1 2011/01/08 13:00:13 obache Exp $
+
+--- hald/freebsd/probing/Makefile.am.orig 2009-08-24 12:42:29.000000000 +0000
++++ hald/freebsd/probing/Makefile.am
+@@ -67,5 +67,5 @@ hald_probe_volume_CPPFLAGS = $(AM_CPPFLA
+ hald_probe_volume_LDADD = \
+ @GLIB_LIBS@ \
+ @VOLUME_ID_LIBS@ \
+- -lufs \
++ @LIBUFS_LIBS@ \
+ $(top_builddir)/hald/freebsd/libprobe/libhald_freebsd_probe.la
diff --git a/sysutils/hal/patches/patch-av b/sysutils/hal/patches/patch-av
new file mode 100644
index 00000000000..5e66f4c14e2
--- /dev/null
+++ b/sysutils/hal/patches/patch-av
@@ -0,0 +1,13 @@
+$NetBSD: patch-av,v 1.1 2011/01/08 13:00:13 obache Exp $
+
+--- policy/Makefile.am.orig 2009-01-21 00:14:28.000000000 +0000
++++ policy/Makefile.am
+@@ -20,7 +20,7 @@ check:
+ echo -n "Validate PolicyKit policy in $$f : "; \
+ $(POLKIT_POLICY_FILE_VALIDATE) $(srcdir)/$$f ; \
+ ret=$$?; \
+- if [ "$$ret" == "0" ]; \
++ if [ "$$ret" = "0" ]; \
+ then \
+ echo ok; \
+ else \
diff --git a/sysutils/hal/patches/patch-na b/sysutils/hal/patches/patch-na
index a487bd9dc04..b79258aa5dc 100644
--- a/sysutils/hal/patches/patch-na
+++ b/sysutils/hal/patches/patch-na
@@ -1,9 +1,12 @@
-$NetBSD: patch-na,v 1.8 2010/12/29 00:12:15 tron Exp $
+$NetBSD: patch-na,v 1.9 2011/01/08 13:00:13 obache Exp $
---- configure.in.orig 2009-08-24 13:42:29.000000000 +0100
-+++ configure.in 2010-12-29 00:07:13.000000000 +0000
-@@ -484,7 +484,7 @@
+--- configure.in.orig 2009-08-24 12:42:29.000000000 +0000
++++ configure.in
+@@ -482,9 +482,10 @@ AM_CONDITIONAL([HAVE_LIBPCI], [test "x$U
+ USE_LIBUSB20=no
+ USE_LIBUSB=no
LIBUSB20_LIBS=""
++LIBUFS_LIBS=""
AC_ARG_WITH([backend],
AS_HELP_STRING([--with-backend=<name>],
- [backend to use (linux/solaris/freebsd/dummy)]),
@@ -11,7 +14,7 @@ $NetBSD: patch-na,v 1.8 2010/12/29 00:12:15 tron Exp $
[backend=$withval])
if ! test -z "$with_backend" ; then
HALD_BACKEND="$with_backend"
-@@ -493,6 +493,9 @@
+@@ -493,6 +494,9 @@ else
*-*-solaris*)
HALD_BACKEND="solaris"
;;
@@ -21,24 +24,36 @@ $NetBSD: patch-na,v 1.8 2010/12/29 00:12:15 tron Exp $
*-*-freebsd* | *-*-kfreebsd*-gnu)
HALD_BACKEND="freebsd"
;;
-@@ -508,6 +511,7 @@
+@@ -508,8 +512,10 @@ AM_CONDITIONAL(HALD_COMPILE_DUMMY, [test
AM_CONDITIONAL(HALD_COMPILE_LINUX, [test x$HALD_BACKEND = xlinux], [Compiling for Linux])
AM_CONDITIONAL(HALD_COMPILE_FREEBSD, [test x$HALD_BACKEND = xfreebsd], [Compiling for FreeBSD])
AM_CONDITIONAL(HALD_COMPILE_SOLARIS, [test x$HALD_BACKEND = xsolaris], [Compiling for Solaris])
+AM_CONDITIONAL(HALD_COMPILE_NETBSD, [test x$HALD_BACKEND = xnetbsd], [Compiling for NetBSD])
AC_SUBST(HALD_BACKEND)
if test "x$HALD_BACKEND" = "xfreebsd"; then
++ AC_SEARCH_LIBS([ufs_disk_fillout], [ufs], [LIBUFS_LIBS="-lufs"], [])
AC_CHECK_LIB([usb20], [libusb20_dev_get_info], [USE_LIBUSB20=yes], [USE_LIBUSB20=no])
-@@ -707,7 +711,7 @@
+ fi
+ if test "x$USE_LIBUSB20" = "xno"; then
+@@ -526,6 +532,8 @@ elif test "x$USE_LIBUSB" = "xyes"; then
+ fi
+ AC_SUBST(LIBUSB20_LIBS)
+
++AC_SUBST(LIBUFS_LIBS)
++
+ dnl DBUS API is subject to changes
+ AC_DEFINE_UNQUOTED(DBUS_API_SUBJECT_TO_CHANGE, [], [DBUS API is subject to change])
+
+@@ -707,7 +715,7 @@ fi
AC_MSG_RESULT($have_glib_2_14)
case "$host" in
- *-*-freebsd*)
-+ *-*-freebsd* | *-*-netbsd*)
++ *-*-freebsd* | *-*-netbsd* | *-*-dragonfly*)
PKG_CHECK_MODULES(VOLUME_ID, [$volume_id_module])
AC_SUBST(VOLUME_ID_CFLAGS)
AC_SUBST(VOLUME_ID_LIBS)
-@@ -718,14 +722,13 @@
+@@ -718,14 +726,13 @@ esac
# blkid (util-linux-ng)
case "$host" in
@@ -57,7 +72,7 @@ $NetBSD: patch-na,v 1.8 2010/12/29 00:12:15 tron Exp $
esac
# OS specific libs
-@@ -1086,6 +1089,9 @@
+@@ -1086,6 +1093,9 @@ hald/linux/addons/Makefile
hald/solaris/Makefile
hald/solaris/probing/Makefile
hald/solaris/addons/Makefile
@@ -67,7 +82,7 @@ $NetBSD: patch-na,v 1.8 2010/12/29 00:12:15 tron Exp $
hald/freebsd/Makefile
hald/freebsd/probing/Makefile
hald/freebsd/libprobe/Makefile
-@@ -1096,6 +1102,7 @@
+@@ -1096,6 +1106,7 @@ libhal-storage/Makefile
tools/Makefile
tools/freebsd/Makefile
tools/linux/Makefile