FS#58238 - [lirc] Devinput driver missing
Attached to Project:
Arch Linux
Opened by Stefan Rehm (srehm) - Sunday, 15 April 2018, 14:51 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 13 February 2022, 07:18 GMT
Opened by Stefan Rehm (srehm) - Sunday, 15 April 2018, 14:51 GMT
Last edited by Antonio Rojas (arojas) - Sunday, 13 February 2022, 07:18 GMT
|
Details
Description:
The lirc package does no longer ship the devinput driver. According to the upstream NEWS file (http://lirc.sourceforge.net/lirc.org/html/NEWS.txt), the parameters to the configure script have changed in 0.10.0rc1. Apparently, it is now required to add --enable-devinput to the configure call. Also, uinput has been dropped, so the HAVE_UINPUT environment variable currently used in the PKGBUILD has no longer any effect. Please update the call to 'configure' accordingly. Additional info: * package version: 1:0.10.1-1 |
This task depends upon
Closed by Antonio Rojas (arojas)
Sunday, 13 February 2022, 07:18 GMT
Reason for closing: Fixed
Additional comments about closing: lirc 0.10.1-11
Sunday, 13 February 2022, 07:18 GMT
Reason for closing: Fixed
Additional comments about closing: lirc 0.10.1-11
Also, certain packaged tools require 'python-setuptools' and 'python-yaml' to be present when building, otherwise lirc-setup and some affiliated files/tools won't be installed.
Also, the patch isn't terribly necessary, as it can be replaced by a single sed before the call to configure:
sed -i -e 's/GETGROUPS_T,\[int/GETGROUPS_T,\[gid_t/g' configure.ac
sed -i -e 's/GETGROUPS_T,\[int/GETGROUPS_T,\[gid_t/g' configure.ac
so the test becomes
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);
]])],[
AC_MSG_RESULT(gid_t)
AC_DEFINE(GETGROUPS_T,[gid_t])
],[
AC_MSG_RESULT(int)
AC_DEFINE(GETGROUPS_T,[gid_t])
]
)
export CFLAGS="$oldcflags"
You have hardcoded the result to be gid_t when the configure test fails as the test is still broken.
What if it is built on a system where getgrouplist returns type int?
Pulling up `man 3 getgrouplist` returns:
int getgrouplist(const char *user, gid_t group,
gid_t *groups, int *ngroups);
So apparently with glibc, getgrouplist() will always take gid_t. Are there non-glibc targets that Arch packages target?
you could just sed out from dnl AC_TYPE_GETGROUPS to export CFLAGS="$oldcflags" and replace with AC_TYPE_GETGROUPS.
That would avoid the configure script reporting a result of int but using gid_t and generate the correct result for systems which do not have a broken autoconf check.
FS#57792When there's a pending upstream patch, I see no reason to use something fundamentally gross like sed in preference over an elegant patch. Your sed line isn't terribly necessary, :p fails to be easily readable, lacks technical correctness, and has the additional issue of not having smart autodetection when it no longer applies.Can we not discuss irrelevant, offtopic bikeshedding about the *method* used to fix something totally unrelated to this bugreport?
FS#59505has cropped up as a duplicate of this bug, because the devinput driver couldn't be loaded because it's not present in the package.The solution is trivial: add "--enable-devinput" to the configure flags, confirmed in the ticket above.
This issue has sat unacknowledged for 6+ months. Please, for the love of dog, somebody fix this package!
Lirc is not usable for me without devinput and the solution is really simple.
Currently I build the package myself but it would be better if the fix could be implemented.
It gets more relevance these days since it's related to IoT.
Does this fix things for you?
should fix all 3 issues mentioned here.
PKGBUILD used: https://paste.xinu.at/MQKCjDh/
The yaml and gobject dependencies are explicitly documented upstream and I'm fairly confident they need to be added....
lukas, can you please look at this change?
EDIT: I had a look at how fedora is building[1], it seems they have a patch for this (0007-database.py-Handle-new-PyYAML-interface.patch) as well as a few others that apply cleanly:
0001-Replace-the-obsolete-get_event_loop-with-get_running.patch
0002-lirc-setup-Fix-crash-on-start-on-missing-lirc.config.patch
0006-python-pkg-Don-t-use-deprecated-time.clock-RHBZ-1718.patch
1. https://koji.fedoraproject.org/koji/buildinfo?buildID=1896237
PKGBUILD (1.9 KiB)
Any comments on suitability to replace current one?