Merge pull request #1803 from HiassofT/le8-v4lutils-udev

[LE8.2 backport] v4l-utils: fix racy udev rule
This commit is contained in:
Christian Hewitt 2017-07-22 22:10:55 +04:00 committed by GitHub
commit 24c448405a
3 changed files with 35 additions and 36 deletions

View File

@ -33,10 +33,15 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_CONFIGURE_OPTS_TARGET="--without-jpeg"
PKG_MAKEINSTALL_OPTS_TARGET="PREFIX=/usr -C utils/keytable"
make_target() {
make -C utils/keytable CFLAGS="$TARGET_CFLAGS"
make -C utils/ir-ctl CFLAGS="$TARGET_CFLAGS"
}
makeinstall_target() {
make install DESTDIR=$INSTALL PREFIX=/usr -C utils/keytable
make install DESTDIR=$INSTALL PREFIX=/usr -C utils/ir-ctl
}
post_makeinstall_target() {
@ -46,6 +51,10 @@ post_makeinstall_target() {
mkdir -p $INSTALL/usr/config
cp -PR $PKG_DIR/config/* $INSTALL/usr/config
rm -rf $INSTALL/usr/lib/udev/rules.d
mkdir -p $INSTALL/usr/lib/udev/rules.d
cp -PR $PKG_DIR/udev.d/*.rules $INSTALL/usr/lib/udev/rules.d
(
echo "# table libreelec_multi, type: RC6 NEC"
for f in rc6_mce xbox_360 zotac_ad10 hp_mce xbox_one cubox_i ; do

View File

@ -1,35 +0,0 @@
From 996fdbf54f4b6c479dc7dd6ab4ca7933730aba93 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 12 Mar 2017 12:22:14 +0100
Subject: [PATCH] ir-keytable: allow map rules override via
/storage/.config/rc_maps.cfg
Signed-off-by: Matthias Reichl <hias@horus.com>
---
utils/keytable/70-infrared.rules | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/utils/keytable/70-infrared.rules b/utils/keytable/70-infrared.rules
index afffd95..eef3234 100644
--- a/utils/keytable/70-infrared.rules
+++ b/utils/keytable/70-infrared.rules
@@ -1,4 +1,14 @@
# Automatically load the proper keymaps after the Remote Controller device
-# creation. The keycode tables rules should be at /etc/rc_maps.cfg
+# creation.
+#
+# User-defined rules can be stored in /storage/.config/rc_maps.cfg. If that
+# file doesn't exist the default rules from /etc/rc_maps.cfg are used.
-ACTION=="add", SUBSYSTEM=="rc", RUN+="/usr/bin/ir-keytable -a /etc/rc_maps.cfg -s $name"
+ACTION=="add", SUBSYSTEM=="rc", IMPORT{program}="/usr/bin/sh -c '\
+ if [ -r /storage/.config/rc_maps.cfg ] ; then \
+ echo rc_maps_cfg=/storage/.config/rc_maps.cfg ; \
+ else \
+ echo rc_maps_cfg=/etc/rc_maps.cfg ; \
+ fi'"
+
+ENV{rc_maps_cfg}=="?*", RUN+="/usr/bin/ir-keytable -a $env{rc_maps_cfg} -s $name"
--
2.1.4

View File

@ -0,0 +1,25 @@
# Automatically load the proper keymaps after the Remote Controller device
# creation.
#
# User-defined rules can be stored in /storage/.config/rc_maps.cfg. If that
# file doesn't exist the default rules from /etc/rc_maps.cfg are used.
ACTION=="add", SUBSYSTEMS=="rc", GOTO="begin"
GOTO="end"
LABEL="begin"
SUBSYSTEM=="rc", ENV{rc_sysdev}="$name"
SUBSYSTEM=="input", IMPORT{parent}="rc_sysdev"
KERNEL=="event[0-9]*", ENV{rc_sysdev}=="?*", IMPORT{program}="/usr/bin/sh -c '\
if [ -r /storage/.config/rc_maps.cfg ] ; then \
echo rc_maps_cfg=/storage/.config/rc_maps.cfg ; \
else \
echo rc_maps_cfg=/etc/rc_maps.cfg ; \
fi'"
ENV{rc_maps_cfg}=="?*", RUN+="/usr/bin/ir-keytable -a $env{rc_maps_cfg} -s $env{rc_sysdev}"
LABEL="end"