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)
 	{

Reply via email to