mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-05-14 23:02:40 +00:00
lirc: upgrade 0.9.4d -> 0.10.1
Upgrade Linux Infrared Remote Control (LIRC) to the latest version 0.10.1. Remove redundant old patches. Apply a new patch from Arch Linux FS#57792 that fixes build errors. Create tar.gz archive (PYTHON_TARBALL) which LIRC needs for install-nodist_pkgdataDATA. Add python3-setuptools-native as a dependency. Replace path to python3 in scripts based on a similar approach as in the recipe for blueman. Signed-off-by: Leon Anavi <leon.anavi@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
parent
45ca9fc0de
commit
cdeebf0aa9
@ -0,0 +1,30 @@
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 58347d8..8c7fca2 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -77,15 +77,10 @@ AC_TYPE_UINT64_T
|
||||
|
||||
dnl AC_TYPE_GETGROUPS seems broken on recent MacOS, so:
|
||||
AC_MSG_CHECKING([Figure out if getgrouplist() needs gid_t or int])
|
||||
-oldcflags="$CFLAGS"
|
||||
-export CFLAGS=-Werror
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <unistd.h>
|
||||
-#include <grp.h>
|
||||
- ]], [[
|
||||
-gid_t groups[32]; int ngroups; const char* user = "root";
|
||||
-getgrouplist(user, 1, groups, &ngroups);
|
||||
- ]])],[
|
||||
+int getgroups(int gidsetsize, gid_t grouplist[]);
|
||||
+ ]], [[ ]])],[
|
||||
AC_MSG_RESULT(gid_t)
|
||||
AC_DEFINE(GETGROUPS_T,[gid_t])
|
||||
],[
|
||||
@@ -93,7 +88,6 @@ getgrouplist(user, 1, groups, &ngroups);
|
||||
AC_DEFINE(GETGROUPS_T,[int])
|
||||
]
|
||||
)
|
||||
-export CFLAGS="$oldcflags"
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_CHECK_FUNCS(gethostname gettimeofday mkfifo select socket strdup \
|
||||
@ -1,101 +0,0 @@
|
||||
Index: lirc-0.9.4d/daemons/lircrcd.cpp
|
||||
===================================================================
|
||||
--- lirc-0.9.4d.orig/daemons/lircrcd.cpp
|
||||
+++ lirc-0.9.4d/daemons/lircrcd.cpp
|
||||
@@ -29,10 +29,12 @@
|
||||
#include <sys/un.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
+#include <poll.h>
|
||||
#include <syslog.h>
|
||||
|
||||
#include "lirc_client.h"
|
||||
#include "lirc/lirc_log.h"
|
||||
+#include "lirc/curl_poll.h"
|
||||
|
||||
#define MAX_CLIENTS 100
|
||||
#define WHITE_SPACE " \t"
|
||||
Index: lirc-0.9.4d/lib/curl_poll.c
|
||||
===================================================================
|
||||
--- lirc-0.9.4d.orig/lib/curl_poll.c
|
||||
+++ lirc-0.9.4d/lib/curl_poll.c
|
||||
@@ -36,6 +36,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/types.h>
|
||||
+#include <sys/poll.h>
|
||||
|
||||
#include "lirc_log.h"
|
||||
#include "curl_poll.h"
|
||||
@@ -67,7 +68,7 @@ static const logchannel_t logchannel = L
|
||||
|
||||
#ifdef HAVE_POLL_FINE
|
||||
|
||||
-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
|
||||
+int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms)
|
||||
{
|
||||
return poll(ufds, nfds, timeout_ms);
|
||||
}
|
||||
@@ -112,7 +113,7 @@ static int verify_sock(int s)
|
||||
}
|
||||
|
||||
|
||||
-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms)
|
||||
+int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms)
|
||||
{
|
||||
struct timeval pending_tv;
|
||||
struct timeval* ptimeout;
|
||||
Index: lirc-0.9.4d/lib/curl_poll.h
|
||||
===================================================================
|
||||
--- lirc-0.9.4d.orig/lib/curl_poll.h
|
||||
+++ lirc-0.9.4d/lib/curl_poll.h
|
||||
@@ -1,5 +1,5 @@
|
||||
-#ifndef _POLL_H
|
||||
-#define _POLL_H
|
||||
+#ifndef _LIB_CURL_POLL_H
|
||||
+#define _LIB_CURL_POLL_H
|
||||
/***************************************************************************
|
||||
* _ _ ____ _
|
||||
* Project ___| | | | _ \| |
|
||||
@@ -29,13 +29,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-#ifdef HAVE_SYS_POLL_H
|
||||
-#include <sys/poll.h>
|
||||
-#else
|
||||
#include <poll.h>
|
||||
-#endif
|
||||
|
||||
-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
|
||||
+int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
Index: lirc-0.9.4d/lib/lirc/curl_poll.h
|
||||
===================================================================
|
||||
--- lirc-0.9.4d.orig/lib/lirc/curl_poll.h
|
||||
+++ lirc-0.9.4d/lib/lirc/curl_poll.h
|
||||
@@ -1,5 +1,5 @@
|
||||
-#ifndef _POLL_H
|
||||
-#define _POLL_H
|
||||
+#ifndef _LIRC_CURL_POLL_H
|
||||
+#define _LIRC_CURL_POLL_H
|
||||
/***************************************************************************
|
||||
* _ _ ____ _
|
||||
* Project ___| | | | _ \| |
|
||||
@@ -29,13 +29,9 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-#ifdef HAVE_SYS_POLL_H
|
||||
-#include <sys/poll.h>
|
||||
-#else
|
||||
#include <poll.h>
|
||||
-#endif
|
||||
|
||||
-int curl_poll(struct pollfd ufds[], unsigned int nfds, int timeout_ms);
|
||||
+int curl_poll(struct pollfd *ufds, unsigned int nfds, int timeout_ms);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
@ -6,13 +6,13 @@ DESCRIPTION_append_lirc-nslu2example = " This package contains a working config
|
||||
HOMEPAGE = "http://www.lirc.org"
|
||||
SECTION = "console/network"
|
||||
LICENSE = "GPLv2"
|
||||
DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml"
|
||||
DEPENDS = "libxslt-native alsa-lib libftdi libusb1 libusb-compat jack portaudio-v19 python3-pyyaml python3-setuptools-native"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||
|
||||
SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
|
||||
file://pollfd.patch \
|
||||
file://0001-Fix-build-on-32bit-arches-with-64bit-time_t.patch \
|
||||
file://fix_build_errors.patch \
|
||||
file://lircd.service \
|
||||
file://lircd.init \
|
||||
file://lircexec.init \
|
||||
@ -20,8 +20,8 @@ SRC_URI = "http://prdownloads.sourceforge.net/lirc/lirc-${PV}.tar.bz2 \
|
||||
file://lirc_options.conf \
|
||||
file://lirc.tmpfiles \
|
||||
"
|
||||
SRC_URI[md5sum] = "0d11679cbdd94a5a6da00a8e7231b4bf"
|
||||
SRC_URI[sha256sum] = "c68f18c35b489b865c0a741d119b136e8702191538cd3551b977a7af6c4e41ab"
|
||||
SRC_URI[md5sum] = "86c3f8e4efaba10571addb8313d1e040"
|
||||
SRC_URI[sha256sum] = "8b753c60df2a7f5dcda2db72c38e448ca300c3b4f6000c1501fcb0bd5df414f2"
|
||||
|
||||
SYSTEMD_PACKAGES = "lirc lirc-exec"
|
||||
SYSTEMD_SERVICE_${PN} = "lircd.service lircmd.service lircd-setup.service lircd-uinput.service"
|
||||
@ -41,7 +41,31 @@ PACKAGECONFIG ?= " \
|
||||
CACHED_CONFIGUREVARS = "HAVE_WORKING_POLL=yes"
|
||||
|
||||
#EXTRA_OEMAKE = 'SUBDIRS="lib daemons tools"'
|
||||
|
||||
# Ensure python-pkg/VERSION exists
|
||||
do_configure_append() {
|
||||
cp ${S}/VERSION ${S}/python-pkg/
|
||||
}
|
||||
|
||||
# Create PYTHON_TARBALL which LIRC needs for install-nodist_pkgdataDATA
|
||||
do_install_prepend() {
|
||||
rm -rf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/
|
||||
mkdir ${WORKDIR}/${PN}-${PV}/python-pkg/dist/
|
||||
tar --exclude='${WORKDIR}/${PN}-${PV}/python-pkg/*' -czf ${WORKDIR}/${PN}-${PV}/python-pkg/dist/${PN}-${PV}.tar.gz ${S}
|
||||
}
|
||||
|
||||
# In code, path to python is a variable that is replaced with path to native version of it
|
||||
# during the configure stage, e.g ../recipe-sysroot-native/usr/bin/python3-native/python3.
|
||||
# Replace it with #!/usr/bin/env python3
|
||||
do_install_append() {
|
||||
sed -i '1c#!/usr/bin/env python3' ${D}${bindir}/lirc-setup \
|
||||
${D}${PYTHON_SITEPACKAGES_DIR}/lirc-setup/lirc-setup \
|
||||
${D}${bindir}/irtext2udp \
|
||||
${D}${bindir}/lirc-init-db \
|
||||
${D}${bindir}/irdb-get \
|
||||
${D}${bindir}/pronto2lirc \
|
||||
${D}${sbindir}/lircd-setup
|
||||
|
||||
install -m 0755 -d ${D}${sysconfdir}
|
||||
install -m 0755 -d ${D}${sysconfdir}/lirc
|
||||
install -m 0755 -d ${D}${systemd_unitdir}/system
|
||||
Loading…
x
Reference in New Issue
Block a user