ソースを参照

package/libsigrok: install udev rules

Some devices that libsigrok can talk to, need a firmware to be uploaded.
libsigrok comes with a set of rules to allow non-root users to upload
those firmware blobs.

Depending on how the system is configured, different set of rules are
needed [0] (yes, it's documented on the fx2lafw page, not on the
libsigrok one [1]). Basically:

  - 60-libsigrok.rules is always used;
  - 61-libsigrok-uaccess.rules is used when systemd-logind is used;
  - 61-libsigrok-plugdev.rules is used when systemd-logind is not used.

For systems without udev, it is the responsibility of the user to
implement proper access management if they need non-root to upload
firmware files.

[0] https://sigrok.org/wiki/Fx2lafw#Install_the_udev_rules_file
[1] https://sigrok.org/wiki/Libsigrok

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Yann E. MORIN 6 ヶ月 前
コミット
dad34a1a22
1 ファイル変更16 行追加0 行削除
  1. 16 0
      package/libsigrok/libsigrok.mk

+ 16 - 0
package/libsigrok/libsigrok.mk

@@ -65,4 +65,20 @@ else
 LIBSIGROK_CONF_OPTS += --disable-cxx
 endif
 
+ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
+LIBSIGROK_UDEV_RULES = \
+	60-libsigrok.rules \
+	$(if $(BR2_PACKAGE_SYSTEMD_LOGIND), \
+		61-libsigrok-uaccess.rules, \
+		61-libsigrok-plugdev.rules \
+	)
+define LIBSIGROK_INSTALL_UDEV_RULES
+	$(foreach rule, $(LIBSIGROK_UDEV_RULES), \
+		$(INSTALL) -D -m 0644 $(@D)/contrib/$(rule) \
+			$(TARGET_DIR)/usr/lib/udev/rules.d/$(rule)$(sep) \
+	)
+endef
+LIBSIGROK_POST_INSTALL_TARGET_HOOKS += LIBSIGROK_INSTALL_UDEV_RULES
+endif
+
 $(eval $(autotools-package))