mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 00:32:12 +02:00
iputils: fix do_configure failure of missing ip command
If 'testimage' and 'testsdk' are not inherited, the 'ip' comamnd will not be in HOSTTOOLS. This results in do_configure failure of iputils. Backport a patch and skipping building tests to fix the problem. (From OE-Core rev: 99cbd4eb95599abdceb7cbb228ff7e74a6a29a09) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -0,0 +1,220 @@
|
||||
From d8048d60d30a2efe7883b36626123630ce69b9fc Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Becker <heirecka@exherbo.org>
|
||||
Date: Fri, 23 Jul 2021 16:32:46 +0200
|
||||
Subject: [PATCH] meson: Make tests optional
|
||||
|
||||
Now can be disabled with -DSKIP_TESTS=true.
|
||||
|
||||
It allows to avoid meson error during build when ip isn't installed.
|
||||
|
||||
Closes: #359
|
||||
|
||||
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
Signed-off-by: Heiko Becker <heirecka@exherbo.org>
|
||||
[ pvorel: Rename variable TEST => SKIP_TESTS, default false, adjust
|
||||
the description ]
|
||||
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
|
||||
Upstream-Status: Backport [3163c49f9f4ad473a00d8a345ee334a028376011]
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
meson_options.txt | 3 ++
|
||||
ping/meson.build | 84 ++-----------------------------------------
|
||||
ping/test/meson.build | 81 +++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 86 insertions(+), 82 deletions(-)
|
||||
create mode 100644 ping/test/meson.build
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index ac5f5d9..517667f 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -72,3 +72,6 @@ option('INSTALL_SYSTEMD_UNITS', type: 'boolean', value: false,
|
||||
|
||||
option('USE_GETTEXT', type: 'boolean', value: true,
|
||||
description: 'Enable I18N')
|
||||
+
|
||||
+option('SKIP_TESTS', type: 'boolean', value: false,
|
||||
+ description: 'Skip tests during build')
|
||||
diff --git a/ping/meson.build b/ping/meson.build
|
||||
index 1e678ec..83ea353 100644
|
||||
--- a/ping/meson.build
|
||||
+++ b/ping/meson.build
|
||||
@@ -27,86 +27,6 @@ if (setcap_ping)
|
||||
)
|
||||
endif
|
||||
|
||||
-##### TESTS #####
|
||||
-
|
||||
-# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_"
|
||||
-
|
||||
-# GitHub CI does not have working IPv6
|
||||
-# https://github.com/actions/virtual-environments/issues/668
|
||||
-ipv6_dst = []
|
||||
-ipv6_switch = []
|
||||
-r = run_command('ip', '-6', 'a')
|
||||
-if r.stdout().strip().contains('::1')
|
||||
- message('IPv6 enabled')
|
||||
- ipv6_dst = [ '::1' ]
|
||||
- ipv6_switch = [ '-6' ]
|
||||
-else
|
||||
- message('WARNING: IPv6 disabled')
|
||||
+if not get_option('SKIP_TESTS')
|
||||
+ subdir('test')
|
||||
endif
|
||||
-
|
||||
-run_as_root = false
|
||||
-r = run_command('id', '-u')
|
||||
-if r.stdout().strip().to_int() == 0
|
||||
- message('running as root')
|
||||
- run_as_root = true
|
||||
-else
|
||||
- message('running as normal user')
|
||||
-endif
|
||||
-
|
||||
-foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst
|
||||
- foreach switch : [ '', '-4' ] + ipv6_switch
|
||||
- args = [ '-c1', dst ]
|
||||
- should_fail = false
|
||||
-
|
||||
- if switch != ''
|
||||
- args = [switch] + args
|
||||
- if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1')
|
||||
- should_fail = true
|
||||
- endif
|
||||
- endif
|
||||
-
|
||||
- name = 'ping ' + ' '.join(args)
|
||||
- test(name, ping, args : args, should_fail : should_fail)
|
||||
- endforeach
|
||||
-endforeach
|
||||
-
|
||||
-ping_tests_opt = [
|
||||
- [ '-c1' ],
|
||||
- [ '-c5', '-i0.1' ],
|
||||
- [ '-c1', '-I', 'lo' ],
|
||||
- [ '-c1', '-w1' ],
|
||||
- [ '-c1', '-W1' ],
|
||||
- [ '-c1', '-W1.1' ],
|
||||
-]
|
||||
-foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
||||
- foreach args : ping_tests_opt
|
||||
- args += [ dst ]
|
||||
- name = 'ping ' + ' '.join(args)
|
||||
- test(name, ping, args : args)
|
||||
- endforeach
|
||||
-endforeach
|
||||
-
|
||||
-ping_tests_opt_fail = [
|
||||
- [ '-c1.1' ],
|
||||
- [ '-I', 'nonexisting' ],
|
||||
- [ '-w0.1' ],
|
||||
- [ '-w0,1' ],
|
||||
-]
|
||||
-foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
||||
- foreach args : ping_tests_opt_fail
|
||||
- args += [ dst ]
|
||||
- name = 'ping ' + ' '.join(args)
|
||||
- test(name, ping, args : args, should_fail : true)
|
||||
- endforeach
|
||||
-endforeach
|
||||
-
|
||||
-ping_tests_user_fail = [
|
||||
- [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root
|
||||
-]
|
||||
-foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
||||
- foreach args : ping_tests_user_fail
|
||||
- args += [ dst ]
|
||||
- name = 'ping ' + ' '.join(args)
|
||||
- test(name, ping, args : args, should_fail : not run_as_root)
|
||||
- endforeach
|
||||
-endforeach
|
||||
diff --git a/ping/test/meson.build b/ping/test/meson.build
|
||||
new file mode 100644
|
||||
index 0000000..43aed75
|
||||
--- /dev/null
|
||||
+++ b/ping/test/meson.build
|
||||
@@ -0,0 +1,81 @@
|
||||
+# TODO: ::1 generates DEPRECATION: ":" is not allowed in test name "ping -c1 ::1", it has been replaced with "_"
|
||||
+
|
||||
+# GitHub CI does not have working IPv6
|
||||
+# https://github.com/actions/virtual-environments/issues/668
|
||||
+ipv6_dst = []
|
||||
+ipv6_switch = []
|
||||
+r = run_command('ip', '-6', 'a')
|
||||
+if r.stdout().strip().contains('::1')
|
||||
+ message('IPv6 enabled')
|
||||
+ ipv6_dst = [ '::1' ]
|
||||
+ ipv6_switch = [ '-6' ]
|
||||
+else
|
||||
+ message('WARNING: IPv6 disabled')
|
||||
+endif
|
||||
+
|
||||
+run_as_root = false
|
||||
+r = run_command('id', '-u')
|
||||
+if r.stdout().strip().to_int() == 0
|
||||
+ message('running as root')
|
||||
+ run_as_root = true
|
||||
+else
|
||||
+ message('running as normal user')
|
||||
+endif
|
||||
+
|
||||
+foreach dst : [ 'localhost', '127.0.0.1' ] + ipv6_dst
|
||||
+ foreach switch : [ '', '-4' ] + ipv6_switch
|
||||
+ args = [ '-c1', dst ]
|
||||
+ should_fail = false
|
||||
+
|
||||
+ if switch != ''
|
||||
+ args = [switch] + args
|
||||
+ if (switch == '-4' and dst == '::1') or (switch == '-6' and dst == '127.0.0.1')
|
||||
+ should_fail = true
|
||||
+ endif
|
||||
+ endif
|
||||
+
|
||||
+ name = 'ping ' + ' '.join(args)
|
||||
+ test(name, ping, args : args, should_fail : should_fail)
|
||||
+ endforeach
|
||||
+endforeach
|
||||
+
|
||||
+ping_tests_opt = [
|
||||
+ [ '-c1' ],
|
||||
+ [ '-c5', '-i0.1' ],
|
||||
+ [ '-c1', '-I', 'lo' ],
|
||||
+ [ '-c1', '-w1' ],
|
||||
+ [ '-c1', '-W1' ],
|
||||
+ [ '-c1', '-W1.1' ],
|
||||
+]
|
||||
+foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
||||
+ foreach args : ping_tests_opt
|
||||
+ args += [ dst ]
|
||||
+ name = 'ping ' + ' '.join(args)
|
||||
+ test(name, ping, args : args)
|
||||
+ endforeach
|
||||
+endforeach
|
||||
+
|
||||
+ping_tests_opt_fail = [
|
||||
+ [ '-c1.1' ],
|
||||
+ [ '-I', 'nonexisting' ],
|
||||
+ [ '-w0.1' ],
|
||||
+ [ '-w0,1' ],
|
||||
+]
|
||||
+foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
||||
+ foreach args : ping_tests_opt_fail
|
||||
+ args += [ dst ]
|
||||
+ name = 'ping ' + ' '.join(args)
|
||||
+ test(name, ping, args : args, should_fail : true)
|
||||
+ endforeach
|
||||
+endforeach
|
||||
+
|
||||
+ping_tests_user_fail = [
|
||||
+ [ '-c1', '-i0.001' ], # -c1 required to quit ping when running as root
|
||||
+]
|
||||
+foreach dst : [ '127.0.0.1' ] + ipv6_dst
|
||||
+ foreach args : ping_tests_user_fail
|
||||
+ args += [ dst ]
|
||||
+ name = 'ping ' + ' '.join(args)
|
||||
+ test(name, ping, args : args, should_fail : not run_as_root)
|
||||
+ endforeach
|
||||
+endforeach
|
||||
--
|
||||
2.30.2
|
||||
|
||||
@@ -12,6 +12,7 @@ DEPENDS = "gnutls"
|
||||
|
||||
SRC_URI = "git://github.com/iputils/iputils \
|
||||
file://0001-rarpd-rdisc-Drop-PrivateUsers.patch \
|
||||
file://0001-meson-Make-tests-optional.patch \
|
||||
"
|
||||
SRCREV = "71bb2a6c72e9f658e90ac618c73d873a76bbaa81"
|
||||
|
||||
@@ -38,7 +39,7 @@ PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MAN
|
||||
|
||||
inherit meson systemd update-alternatives
|
||||
|
||||
EXTRA_OEMESON += "--prefix=${root_prefix}/"
|
||||
EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
|
||||
|
||||
ALTERNATIVE_PRIORITY = "100"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user