Package: libdjconsole
Version: 0.1.2-1
Severity: important
Tags: patch
Hi,
currently your package FTBFS on GNU/kFreeBSD with the following error:
> i486-kfreebsd-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I. -g -O2
> -DDATADIR=\"/usr/share/libdjconsole\" -c djconsole.cpp -MT djconsole.lo -MD
> -MP -MF .deps/djconsole.TPlo -fPIC -DPIC
> djconsole.cpp: In constructor 'DJConsole::DJConsole(bool)':
> djconsole.cpp:126: error: 'usb_get_driver_np' was not declared in this scope
> djconsole.cpp:128: error: 'usb_detach_kernel_driver_np' was not declared in
> this scope
> djconsole.cpp:141: error: 'usb_get_driver_np' was not declared in this scope
> djconsole.cpp:143: error: 'usb_detach_kernel_driver_np' was not declared in
> this scope
> make[2]: *** [djconsole.lo] Error 1
Full build logs are available at
<http://experimental.ftbfs.de/build.php?&pkg=libdjconsole&arch=kfreebsd-i386>.
According to [1,2], and their being under "#if 0" in GNU/kFreeBSD's
/usr/include/usb.h (also, LIBUSB_HAS_GET_DRIVER_NP and
LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP are not set to 1), these instructions
are Linux-only.
1. http://libusb.sourceforge.net/doc/function.usbgetdrivernp.html
2. http://libusb.sourceforge.net/doc/function.usbdetachkerneldrivernp.html
AFAIUI, they seem not to be mandatory for a correct behaviour, so I'd
like to suggest putting these under "#ifdef linux" conditions, which of
course is to be confimed by upstream. Your package then builds fine, as
djplay do.
Cheers,
--
Cyril Brulebois
--- libdjconsole-0.1.2/djconsole.cpp 2007-03-27 03:48:02.513631000 +0200
+++ libdjconsole-0.1.2/djconsole.cpp 2007-03-27 03:48:33.000000000 +0200
@@ -123,11 +123,13 @@
char kdrv[32];
+#ifdef linux
if(!usb_get_driver_np(hdev1, dev->config[c].interface[ControlInterface].altsetting[0].bInterfaceNumber, kdrv, 32))
{
usb_detach_kernel_driver_np(hdev1, dev->config[c].interface[ControlInterface].altsetting[0].bInterfaceNumber);
}
+#endif
int ret;
if((ret=usb_claim_interface(hdev1, dev->config[c].interface[ControlInterface].altsetting[0].bInterfaceNumber)) < 0)
@@ -138,10 +140,12 @@
return;
}
+#ifdef linux
if(!usb_get_driver_np(hdev2, dev->config[c].interface[MouseInterface].altsetting[0].bInterfaceNumber, kdrv, 32))
{
usb_detach_kernel_driver_np(hdev2, dev->config[c].interface[MouseInterface].altsetting[0].bInterfaceNumber);
}
+#endif
if((ret=usb_claim_interface(hdev2, dev->config[c].interface[MouseInterface].altsetting[0].bInterfaceNumber)) < 0)
{