Package: daemon
Version: 0.6.3-1
Severity: important
Tags: patch
Hi,
currently your package FTBFS on GNU/kFreeBSD with the following error:
> gcc -DDAEMON_NAME=\"daemon\" -DDAEMON_VERSION=\"0.6.3\"
> -DDAEMON_DATE=\"20040806\" -DDAEMON_URL=\"http://libslack.org/daemon/\"
> -DHAVE_SNPRINTF=1 -DHAVE_VSSCANF=1 -DHAVE_GETOPT_LONG=1
> -DHAVE_PTHREAD_RWLOCK=1 -Ilibslack -O3 -Wall -pedantic -o daemon.o -c
> daemon.c
> daemon.c:1311: warning: ISO C forbids conversion of function pointer to
> object pointer type
> [... many times...]
> daemon.c: In function 'tty_noecho':
> daemon.c:1883: error: 'ONLCR' undeclared (first use in this function)
> daemon.c:1883: error: (Each undeclared identifier is reported only once
> daemon.c:1883: error: for each function it appears in.)
> make[1]: *** [daemon.o] Error 1
Full build logs are available at
<http://experimental.ftbfs.de/build.php?arch=kfreebsd-i386&pkg=daemon>.
Please find attached a patch to fix this and allows your package to
build on GNU/kFreeBSD.
Cheers,
--
Cyril Brulebois
--- daemon-0.6.3/config 2004-08-05 00:08:53.000000000 +0200
+++ daemon-0.6.3/config 2007-03-11 06:01:25.000000000 +0100
@@ -25,7 +25,7 @@
die() { echo "$0: $@" >&2; exit 1; }
case "`uname -a`" in
- Linux*)
+ Linux* | GNU/kFreeBSD*)
echo "Configuring for linux"
conf/linux
;;
--- daemon-0.6.3/daemon.c 2004-08-05 00:08:53.000000000 +0200
+++ daemon-0.6.3/daemon.c 2007-03-11 06:01:25.000000000 +0100
@@ -1880,7 +1880,9 @@
return errorsys("failed to get terminal attributes for slave
pty");
attr->c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL);
+#if !defined(__FreeBSD_kernel__)
attr->c_oflag &= ~ONLCR;
+#endif
return tcsetattr(fd, TCSANOW, attr);
}
--- daemon-0.6.3/libslack/config 2004-08-05 00:08:53.000000000 +0200
+++ daemon-0.6.3/libslack/config 2007-03-11 06:01:25.000000000 +0100
@@ -25,7 +25,7 @@
die() { echo "$0: $@" >&2; exit 1; }
case "`uname -a`" in
- Linux*)
+ Linux* | GNU/kFreeBSD*)
echo "Configuring for linux"
conf/linux
;;
--- daemon-0.6.3/libslack/configure 2004-08-05 00:08:53.000000000 +0200
+++ daemon-0.6.3/libslack/configure 2007-03-11 06:01:25.000000000 +0100
@@ -25,7 +25,7 @@
die() { echo "$0: $@" >&2; exit 1; }
case "`uname -a`" in
- Linux*)
+ Linux* | GNU/kFreeBSD*)
echo "Configuring for linux"
conf/linux
;;
--- daemon-0.6.3/libslack/net.c 2004-08-05 00:08:53.000000000 +0200
+++ daemon-0.6.3/libslack/net.c 2007-03-11 06:01:25.000000000 +0100
@@ -191,7 +191,10 @@
#ifndef TEST
-#ifndef HAVE_IFREQ_IFR_IFINDEX
+/* GNU/kFreeBSD trick: the configuration is shared
+ * with Linux, but there's no ifr_ifindex.
+ */
+#if !defined(HAVE_IFREQ_IFR_IFINDEX) || defined(__FreeBSD_kernel__)
#define ifr_ifindex ifr_index
#endif
#ifndef HAVE_IFREQ_IFR_MTU
--- daemon-0.6.3/libslack/pseudo.c 2004-08-05 00:08:53.000000000 +0200
+++ daemon-0.6.3/libslack/pseudo.c 2007-03-11 06:01:25.000000000 +0100
@@ -116,7 +116,10 @@
#include <sys/stropts.h>
#endif
-#if defined(HAVE_VHANGUP) && !defined(HAVE_DEV_PTMX)
+/* GNU/kFreeBSD trick: same userland as Linux, but vhangup() is said to be
+ * Linux-specific [according to vhangup(2)].
+ */
+#if defined(HAVE_VHANGUP) && !defined(HAVE_DEV_PTMX) &&
!defined(__FreeBSD_kernel__)
#define USE_VHANGUP
#endif