diff options
Diffstat (limited to 'meta/recipes-connectivity/dhcp/dhcp/0001-workaround-busybox-limitation-in-linux-dhclient-script.patch')
-rw-r--r-- | meta/recipes-connectivity/dhcp/dhcp/0001-workaround-busybox-limitation-in-linux-dhclient-script.patch | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/meta/recipes-connectivity/dhcp/dhcp/0001-workaround-busybox-limitation-in-linux-dhclient-script.patch b/meta/recipes-connectivity/dhcp/dhcp/0001-workaround-busybox-limitation-in-linux-dhclient-script.patch deleted file mode 100644 index 2359381b93..0000000000 --- a/meta/recipes-connectivity/dhcp/dhcp/0001-workaround-busybox-limitation-in-linux-dhclient-script.patch +++ /dev/null | |||
@@ -1,65 +0,0 @@ | |||
1 | From eec0503cfc36f63d777f5cb3f2719cecedcb8468 Mon Sep 17 00:00:00 2001 | ||
2 | From: Haris Okanovic <haris.okanovic@ni.com> | ||
3 | Date: Mon, 7 Jan 2019 13:22:09 -0600 | ||
4 | Subject: [PATCH] Workaround busybox limitation in Linux dhclient-script | ||
5 | |||
6 | Busybox is a lightweight implementation of coreutils commonly used on | ||
7 | space-constrained embedded Linux distributions. It's implementation of | ||
8 | chown and chmod doesn't provide a "--reference" option added to | ||
9 | client/scripts/linux as of commit 9261cb14. This change works around | ||
10 | that limitation by using stat to read ownership and permissions flags | ||
11 | and simple chown/chmod calls supported in both coreutils and busybox. | ||
12 | |||
13 | modified: client/scripts/linux | ||
14 | |||
15 | Signed-off-by: Haris Okanovic <haris.okanovic@ni.com> | ||
16 | Upstream-Status: Pending [ISC-Bugs #48771] | ||
17 | --- | ||
18 | client/scripts/linux | 17 +++++++++++++---- | ||
19 | 1 file changed, 13 insertions(+), 4 deletions(-) | ||
20 | |||
21 | diff --git a/client/scripts/linux b/client/scripts/linux | ||
22 | index 0c429697..2435a44b 100755 | ||
23 | --- a/client/scripts/linux | ||
24 | +++ b/client/scripts/linux | ||
25 | @@ -32,6 +32,17 @@ | ||
26 | # if your system holds ip tool in a non-standard location. | ||
27 | ip=/sbin/ip | ||
28 | |||
29 | +chown_chmod_by_reference() { | ||
30 | + local reference_file="$1" | ||
31 | + local target_file="$2" | ||
32 | + | ||
33 | + local owner=$(stat -c "%u:%g" "$reference_file") | ||
34 | + local perm=$(stat -c "%a" "$reference_file") | ||
35 | + | ||
36 | + chown "$owner" "$target_file" | ||
37 | + chmod "$perm" "$target_file" | ||
38 | +} | ||
39 | + | ||
40 | # update /etc/resolv.conf based on received values | ||
41 | # This updated version mostly follows Debian script by Andrew Pollock et al. | ||
42 | make_resolv_conf() { | ||
43 | @@ -74,8 +85,7 @@ make_resolv_conf() { | ||
44 | fi | ||
45 | |||
46 | if [ -f /etc/resolv.conf ]; then | ||
47 | - chown --reference=/etc/resolv.conf $new_resolv_conf | ||
48 | - chmod --reference=/etc/resolv.conf $new_resolv_conf | ||
49 | + chown_chmod_by_reference /etc/resolv.conf $new_resolv_conf | ||
50 | fi | ||
51 | mv -f $new_resolv_conf /etc/resolv.conf | ||
52 | # DHCPv6 | ||
53 | @@ -101,8 +111,7 @@ make_resolv_conf() { | ||
54 | fi | ||
55 | |||
56 | if [ -f /etc/resolv.conf ]; then | ||
57 | - chown --reference=/etc/resolv.conf $new_resolv_conf | ||
58 | - chmod --reference=/etc/resolv.conf $new_resolv_conf | ||
59 | + chown_chmod_by_reference /etc/resolv.conf $new_resolv_conf | ||
60 | fi | ||
61 | mv -f $new_resolv_conf /etc/resolv.conf | ||
62 | fi | ||
63 | -- | ||
64 | 2.20.0 | ||
65 | |||