1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
From 4b8d397fc7a0d22a51ee13428ae13d892c0cc911 Mon Sep 17 00:00:00 2001
From: Florian Schmaus <flo@geekplace.eu>
Date: Thu, 20 Oct 2022 10:48:54 +0200
Subject: [PATCH] Makefile: fix install_udev target by s/TARGETS/MAKECMDGOALS/
A Gentoo user reported [1] that the 'install_udev' target would
install a systemd-flavored udev rules, despite the 'systemd' target
not being selected. Replacing 'TARGETS' with 'MAKECMDGOALS' in the
Makefile rule fixes this .
I am not sure where the TARGETS variable origniates from, but GNU make
uses MAKECMDGOALS (FreeBSD make uses .TARGETS, i.e., with a leading
dot). So if further portability between make variants is required,
then this needs to be adjusted.
1: https://bugs.gentoo.org/803545#c3
Fixes: ae1f18a06039 ("udev rule: Dynamically call either systemd or autorandr directly depending on whether systemd unit is available")
--- a/Makefile
+++ b/Makefile
@@ -129,7 +129,7 @@ endif
install_udev:
$(if $(UDEV_RULES_DIR),,$(error UDEV_RULES_DIR is not defined))
mkdir -p ${DESTDIR}/${UDEV_RULES_DIR}/
- echo 'ACTION=="change", SUBSYSTEM=="drm", RUN+="$(if $(findstring systemd, $(TARGETS)),/bin/systemctl start --no-block autorandr.service,${PREFIX}/bin/autorandr --batch --change --default default)"' > ${DESTDIR}/${UDEV_RULES_DIR}/40-monitor-hotplug.rules
+ echo 'ACTION=="change", SUBSYSTEM=="drm", RUN+="$(if $(findstring systemd, $(MAKECMDGOALS)),/bin/systemctl start --no-block autorandr.service,${PREFIX}/bin/autorandr --batch --change --default default)"' > ${DESTDIR}/${UDEV_RULES_DIR}/40-monitor-hotplug.rules
@echo
@echo "To activate the udev rules, run this command as root:"
@echo " udevadm control --reload-rules"
|