[Pkg-lirc-maint] Bug#845499: lirc: FTBFS on !linux
Samuel Thibault
sthibault at debian.org
Wed Nov 23 23:33:53 UTC 2016
Source: lirc
Version: 0.9.4c-4
Severity: important
Tags: patch
User: debian-hurd at lists.debian.org
Usertags: hurd
Hello,
lirc currently FTBFS on !linux archs because it build-depends on
systemd, hardwires having uinput, and tries to install the systemd
files. The attached first patch fixes this. It also needs a
chmod +x debian/install
to make dh-exec work.
There are however various build issues, the attached patch fixes them.
(upstream had a convoluted way of calling Linux: "!BSD" :) )
Samuel
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.8.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--
Samuel
/* Amuse the user. */
printk(
" \\|/ ____ \\|/\n"
" \"@'/ ,. \\`@\"\n"
" /_| \\__/ |_\\\n"
" \\__U_/\n");
(From linux/arch/sparc/kernel/traps.c:die_if_kernel())
-------------- next part --------------
--- debian/control.original 2016-11-23 22:35:48.000000000 +0000
+++ debian/control 2016-11-23 23:33:20.000000000 +0000
@@ -14,6 +14,7 @@
dh-autoreconf,
dh-systemd,
dh-python,
+ dh-exec,
doxygen,
kmod [linux-any],
libasound2-dev [linux-any kfreebsd-any],
@@ -28,7 +29,7 @@
portaudio19-dev,
python3,
python3-yaml,
- systemd,
+ systemd [linux-any],
xsltproc
# libjs-jquery
--- debian/rules.original 2016-11-23 23:02:38.000000000 +0000
+++ debian/rules 2016-11-23 23:02:39.000000000 +0000
@@ -9,8 +9,10 @@
override_dh_autoreconf:
dh_autoreconf $(CURDIR)/autogen.sh
+ifeq ($(DEB_HOST_ARCH_OS),linux)
override_dh_auto_configure:
dh_auto_configure -- HAVE_UINPUT=1
+endif
override_dh_shlibdeps:
dh_shlibdeps -l $(CURDIR)/debian/tmp/usr/lib/*/lirc/plugins
--- debian/install.original 2016-11-23 23:13:41.000000000 +0000
+++ debian/install 2016-11-23 23:13:43.000000000 +0000
@@ -1,5 +1,6 @@
+#! /usr/bin/dh-exec
etc/lirc
-lib/systemd/*
+[linux-any] lib/systemd/*
usr/lib/*/python3*/*
usr/lib/tmpfiles.d/*
usr/lib/*/lirc
-------------- next part --------------
Index: lirc-0.9.4c/Makefile.am
===================================================================
--- lirc-0.9.4c.orig/Makefile.am
+++ lirc-0.9.4c/Makefile.am
@@ -38,7 +38,7 @@ dist_lirc_conf_DATA = lircd.conf \
lircdconfigdir = $(sysconfdir)/lirc/lircd.conf.d
dist_lircdconfig_DATA = README.conf.d
-if !BSD
+if LINUX
dist_lircdconfig_DATA += devinput.lircd.conf
endif
Index: lirc-0.9.4c/configure.ac
===================================================================
--- lirc-0.9.4c.orig/configure.ac
+++ lirc-0.9.4c/configure.ac
@@ -19,7 +19,7 @@ AC_PATH_PROG(SH_PATH,[sh])
AC_CHECK_PROGS([MODINFO], [modinfo], [no], [$PATH:/sbin:/usr/sbin])
if test x$MODINFO = xno; then
AC_MSG_WARN(["No modinfo command found - skipping kernel drivers."])
- MODINFO="/usr/bin/false"
+ MODINFO="/bin/false"
else
MODINFO=$( PATH=$PATH:/sbin:/usr/sbin which modinfo )
fi
@@ -93,11 +93,13 @@ case $host_os in
;;
*bsd*) osflags='-DFREEBSD'
;;
+ linux*) osflags='-DLINUX'
+ ;;
*) osflags=''
esac
AM_CONDITIONAL([DARWIN], [test "$osflags" = "-DDARWIN"])
-AM_CONDITIONAL([BSD], [test -n "$osflags"])
+AM_CONDITIONAL([LINUX], [test "$osflags" = "-DLINUX"])
AC_SUBST(osflags)
x_progs="irxevent xmode2"
@@ -514,7 +516,7 @@ AC_REPORT_CONDITIONAL([SYSTEMD_INSTALL])
AC_REPORT_CONDITIONAL([DEVEL])
AC_REPORT_CONDITIONAL([HAVE_UINPUT])
AC_REPORT_CONDITIONAL([DARWIN])
-AC_REPORT_CONDITIONAL([BSD])
+AC_REPORT_CONDITIONAL([LINUX])
echo
Index: lirc-0.9.4c/lib/Makefile.am
===================================================================
--- lirc-0.9.4c.orig/lib/Makefile.am
+++ lirc-0.9.4c/lib/Makefile.am
@@ -104,7 +104,7 @@ input_map.lo: lirc/input_map.inc
input_map.inc: lirc/input_map.inc
-if BSD
+if !LINUX
lirc/input_map.inc:
touch $@
touch touch input_map.inc
Index: lirc-0.9.4c/plugins/Makefile.am
===================================================================
--- lirc-0.9.4c.orig/plugins/Makefile.am
+++ lirc-0.9.4c/plugins/Makefile.am
@@ -41,7 +41,7 @@ srm7500libusb_la_SOURCES = srm7500lib
srm7500libusb_la_LDFLAGS = $(AM_LDFLAGS) @usb_libs@
srm7500libusb_la_CFLAGS = $(AM_CFLAGS) $(LIBUSB_CFLAGS)
-if !BSD
+if LINUX
plugin_LTLIBRARIES += commandir.la
commandir_la_SOURCES = commandir.c
commandir_la_LDFLAGS = $(AM_LDFLAGS) @usb_libs@
@@ -113,7 +113,7 @@ osx_usbraw_la_SOURCES = osx_usbraw
osx_usbraw_la_LDFLAGS = $(AM_LDFLAGS) -framework IOKit -framework Cocoa
endif
-if !BSD
+if LINUX
plugin_LTLIBRARIES += default.la
default_la_SOURCES = default.c
Index: lirc-0.9.4c/include/media/lirc.h
===================================================================
--- lirc-0.9.4c.orig/include/media/lirc.h
+++ lirc-0.9.4c/include/media/lirc.h
@@ -6,8 +6,16 @@
#ifndef _LINUX_LIRC_H
#define _LINUX_LIRC_H
+#ifdef __linux__
#include <linux/types.h>
#include <linux/ioctl.h>
+#else
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#if defined(_IOT_SIMPLE) && !defined(_IOT__IOTBASE___u32)
+#define _IOT__IOTBASE___u32 _IOT_SIMPLE(__u32)
+#endif
+#endif
#define PULSE_BIT 0x01000000
#define PULSE_MASK 0x00FFFFFF
Index: lirc-0.9.4c/lib/lirc_client.c
===================================================================
--- lirc-0.9.4c.orig/lib/lirc_client.c
+++ lirc-0.9.4c/lib/lirc_client.c
@@ -40,6 +40,10 @@
#include "lirc_client.h"
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 4096
+#endif
+
/** Timeout in lirc_read_string. */
static const struct timeval CMD_TIMEOUT = { .tv_sec = 1, .tv_usec = 0 };
Index: lirc-0.9.4c/plugins/atilibusb.c
===================================================================
--- lirc-0.9.4c.orig/plugins/atilibusb.c
+++ lirc-0.9.4c/plugins/atilibusb.c
@@ -34,6 +34,10 @@
#include "lirc_driver.h"
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#define CODE_BYTES 5
#define USB_TIMEOUT (1000 * 60)
Index: lirc-0.9.4c/plugins/awlibusb.c
===================================================================
--- lirc-0.9.4c.orig/plugins/awlibusb.c
+++ lirc-0.9.4c/plugins/awlibusb.c
@@ -43,6 +43,10 @@
#include "lirc_driver.h"
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#define AW_MODE_LIRCCODE 1
#define AWUSB_RECEIVE_BYTES 5
Index: lirc-0.9.4c/plugins/dfclibusb.c
===================================================================
--- lirc-0.9.4c.orig/plugins/dfclibusb.c
+++ lirc-0.9.4c/plugins/dfclibusb.c
@@ -35,6 +35,10 @@
#include "lirc_driver.h"
+#ifndef PATH_MAX
+#define PATH_MAX 4096
+#endif
+
#define CODE_BYTES 6
#define USB_TIMEOUT (5000)
Index: lirc-0.9.4c/tools/irpty.cpp
===================================================================
--- lirc-0.9.4c.orig/tools/irpty.cpp
+++ lirc-0.9.4c/tools/irpty.cpp
@@ -142,6 +142,10 @@ static void copy_loop(int ptym, int igno
lirc_deinit();
}
+#undef RESET
+#undef RAW
+#undef CBREAK
+
static struct termios save_termios;
static int ttysavefd = -1;
static enum {
Index: lirc-0.9.4c/plugins/ftdix.c
===================================================================
--- lirc-0.9.4c.orig/plugins/ftdix.c
+++ lirc-0.9.4c/plugins/ftdix.c
@@ -51,11 +51,13 @@
#include <ftdi.h>
+#ifdef LINUX
#define LIRC_FTDIX_SET_SCHEDULER 1
#ifdef LIRC_FTDIX_SET_SCHEDULER
#include <sched.h>
#include <linux/sched.h>
#endif
+#endif
static const logchannel_t logchannel = LOG_DRIVER;
More information about the Pkg-lirc-maint
mailing list