tags 762773 + patch thanks Hello,
On 10:02, Jörg Frings-Fürst wrote: > on KFreebsd-* I have a bug[1] because the source need the > linux/usbdevice_fs.h, which not exist. > > Is there a other package that implant the requested functions? The authors have deliberately not used libusb, which may have worked on Linux and FreeBSD with the same code... But there's a usbio_bsd.c in argyll that seems like it should work, with no external dependencies. (Only kfreebsd-kernel-headers which is a build-essential package so you don't need to declare it). The attached patch should be all that is needed to build this on GNU/kFreeBSD. (After that it fails in the override_dh_installdocs step, same as on other architectures; bug #762771) Thanks! -- Steven Chamberlain ste...@pyro.eu.org
From: Steven Chamberlain <ste...@pyro.eu.org> Subject: use FreeBSD USB I/O code on GNU/kFreeBSD Use the FreeBSD USB I/O code not just on __FreeBSD__ itself, but on any system having __FreeBSD_kernel__ (such as GNU/kFreeBSD). --- a/spectro/usbio.c +++ b/spectro/usbio.c @@ -94,7 +94,7 @@ # include "usbio_ox.c" # endif # if defined(UNIX_X11) -# if defined(__FreeBSD__) +# if defined(__FreeBSD_kernel__) # include "usbio_bsd.c" # else # include "usbio_lx.c" --- a/spectro/usbio_bsd.c +++ b/spectro/usbio_bsd.c @@ -37,7 +37,7 @@ #include <fcntl.h> #include <glob.h> #include <sys/ioctl.h> -#if defined(__FreeBSD__) +#if defined(__FreeBSD_kernel__) # include <dev/usb/usb_ioctl.h> /* Not sure what's going on with FreeBSD... */ #else # include <dev/usb/usb.h> /* The usual include for BSD */ @@ -59,7 +59,7 @@ ) { int i, j; char *paths[] = { -#if defined(__FreeBSD__) +#if defined(__FreeBSD_kernel__) "/dev/usb/[0-9]*.*.0", /* FreeBSD >= 8 */ "/dev/ugen[0-9]*", /* FreeBSD < 8, but no .E */ #else @@ -94,7 +94,7 @@ /* For all the nodes found by the glob */ for (i = 0; i < g.gl_pathc; i++) { -#if defined(__FreeBSD__) +#if defined(__FreeBSD_kernel__) /* Skip anything with an end point number */ if (j == 1 && strchr(g.gl_pathv[i], '.') != NULL) continue; @@ -141,7 +141,7 @@ /* Create the base device path */ dpath = g.gl_pathv[i]; -#if defined(__FreeBSD__) +#if defined(__FreeBSD_kernel__) if (j == 0) { /* Remove .0 */ if ((cp = strrchr(dpath, '.')) != NULL && cp[1] == '0' && cp[2] == '\000')