Merge pull request #107712 from flokli/iwd-fix-cross
Iwd: fix cross compilation
This commit is contained in:
commit
5bfb673137
|
@ -0,0 +1,84 @@
|
||||||
|
From 55d499f4cd5667c04c21f7201d7f10484e187907 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Klink <flokli@flokli.de>
|
||||||
|
Date: Sun, 27 Dec 2020 13:03:12 +0100
|
||||||
|
Subject: [PATCH] unit/test-dbus: pick up dbus-daemon from $PATH
|
||||||
|
|
||||||
|
This allows running the unit tests in environments where `dbus-daemon`
|
||||||
|
isn't in /usr/bin, but in $PATH.
|
||||||
|
|
||||||
|
Signed-off-by: Florian Klink <flokli@flokli.de>
|
||||||
|
---
|
||||||
|
unit/test-dbus-message-fds.c | 4 ++--
|
||||||
|
unit/test-dbus-properties.c | 4 ++--
|
||||||
|
unit/test-dbus.c | 4 ++--
|
||||||
|
3 files changed, 6 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/unit/test-dbus-message-fds.c b/unit/test-dbus-message-fds.c
|
||||||
|
index 6f68bae..4b5662e 100644
|
||||||
|
--- a/unit/test-dbus-message-fds.c
|
||||||
|
+++ b/unit/test-dbus-message-fds.c
|
||||||
|
@@ -51,7 +51,7 @@ static bool start_dbus_daemon(void)
|
||||||
|
char *prg_envp[1];
|
||||||
|
pid_t pid;
|
||||||
|
|
||||||
|
- prg_argv[0] = "/usr/bin/dbus-daemon";
|
||||||
|
+ prg_argv[0] = "dbus-daemon";
|
||||||
|
prg_argv[1] = "--nopidfile";
|
||||||
|
prg_argv[2] = "--nofork";
|
||||||
|
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
|
||||||
|
@@ -68,7 +68,7 @@ static bool start_dbus_daemon(void)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pid == 0) {
|
||||||
|
- execve(prg_argv[0], prg_argv, prg_envp);
|
||||||
|
+ execvpe(prg_argv[0], prg_argv, prg_envp);
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/unit/test-dbus-properties.c b/unit/test-dbus-properties.c
|
||||||
|
index b435062..049f0f4 100644
|
||||||
|
--- a/unit/test-dbus-properties.c
|
||||||
|
+++ b/unit/test-dbus-properties.c
|
||||||
|
@@ -49,7 +49,7 @@ static bool start_dbus_daemon(void)
|
||||||
|
char *prg_envp[1];
|
||||||
|
pid_t pid;
|
||||||
|
|
||||||
|
- prg_argv[0] = "/usr/bin/dbus-daemon";
|
||||||
|
+ prg_argv[0] = "dbus-daemon";
|
||||||
|
prg_argv[1] = "--nopidfile";
|
||||||
|
prg_argv[2] = "--nofork";
|
||||||
|
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
|
||||||
|
@@ -66,7 +66,7 @@ static bool start_dbus_daemon(void)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pid == 0) {
|
||||||
|
- execve(prg_argv[0], prg_argv, prg_envp);
|
||||||
|
+ execvpe(prg_argv[0], prg_argv, prg_envp);
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/unit/test-dbus.c b/unit/test-dbus.c
|
||||||
|
index 67f0a7b..582847e 100644
|
||||||
|
--- a/unit/test-dbus.c
|
||||||
|
+++ b/unit/test-dbus.c
|
||||||
|
@@ -45,7 +45,7 @@ static void start_dbus_daemon(void)
|
||||||
|
char *prg_envp[1];
|
||||||
|
pid_t pid;
|
||||||
|
|
||||||
|
- prg_argv[0] = "/usr/bin/dbus-daemon";
|
||||||
|
+ prg_argv[0] = "dbus-daemon";
|
||||||
|
prg_argv[1] = "--nopidfile";
|
||||||
|
prg_argv[2] = "--nofork";
|
||||||
|
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
|
||||||
|
@@ -62,7 +62,7 @@ static void start_dbus_daemon(void)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pid == 0) {
|
||||||
|
- execve(prg_argv[0], prg_argv, prg_envp);
|
||||||
|
+ execvpe(prg_argv[0], prg_argv, prg_envp);
|
||||||
|
exit(EXIT_SUCCESS);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.29.2
|
||||||
|
|
|
@ -12,13 +12,14 @@ stdenv.mkDerivation rec {
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
|
url = "https://git.kernel.org/pub/scm/libs/${pname}/${pname}.git";
|
||||||
rev = version;
|
rev = version;
|
||||||
sha256 = "16z7xwlrpx1bsr2y1rgxxxixzwc84cwn2g557iqxhwsxfzy6q3dk";
|
sha256 = "16z7xwlrpx1bsr2y1rgxxxixzwc84cwn2g557iqxhwsxfzy6q3dk";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
./fix-dbus-tests.patch
|
# Sent upstream in https://lists.01.org/hyperkitty/list/ell@lists.01.org/thread/SQEZAIS2LZXSXGTXOW3GTAM5ZPXRLTN4/
|
||||||
|
./0001-unit-test-dbus-pick-up-dbus-daemon-from-PATH.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
--- a/Makefile.am
|
|
||||||
+++ b/Makefile.am
|
|
||||||
@@ -140,6 +140,7 @@
|
|
||||||
ell_libell_private_la_SOURCES = $(ell_libell_la_SOURCES)
|
|
||||||
|
|
||||||
AM_CFLAGS = -fvisibility=hidden -DUNITDIR=\""$(top_srcdir)/unit/"\" \
|
|
||||||
+ -DDBUS_DAEMON=\""$(DBUS_DAEMONDIR)/dbus-daemon"\" \
|
|
||||||
-DCERTDIR=\""$(top_builddir)/unit/"\"
|
|
||||||
|
|
||||||
pkgconfigdir = $(libdir)/pkgconfig
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -14,6 +14,8 @@
|
|
||||||
|
|
||||||
AC_PREFIX_DEFAULT(/usr/local)
|
|
||||||
|
|
||||||
+PKG_PROG_PKG_CONFIG
|
|
||||||
+
|
|
||||||
COMPILER_FLAGS
|
|
||||||
|
|
||||||
AC_LANG_C
|
|
||||||
@@ -131,6 +133,10 @@
|
|
||||||
AC_CHECK_PROG(have_xxd, [xxd], [yes], [no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
+PKG_CHECK_MODULES(DBUS, dbus-1, dummy=yes,
|
|
||||||
+ AC_MSG_ERROR(D-Bus is required for running tests))
|
|
||||||
+PKG_CHECK_VAR(DBUS_DAEMONDIR, dbus-1, daemondir)
|
|
||||||
+
|
|
||||||
AM_CONDITIONAL(DBUS_TESTS, test "${little_endian}" = "yes")
|
|
||||||
AM_CONDITIONAL(CERT_TESTS, test "${have_openssl}" = "yes")
|
|
||||||
|
|
||||||
--- a/unit/test-dbus-message-fds.c
|
|
||||||
+++ b/unit/test-dbus-message-fds.c
|
|
||||||
@@ -51,7 +51,7 @@
|
|
||||||
char *prg_envp[1];
|
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
- prg_argv[0] = "/usr/bin/dbus-daemon";
|
|
||||||
+ prg_argv[0] = DBUS_DAEMON;
|
|
||||||
prg_argv[1] = "--nopidfile";
|
|
||||||
prg_argv[2] = "--nofork";
|
|
||||||
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
|
|
||||||
--- a/unit/test-dbus-properties.c
|
|
||||||
+++ b/unit/test-dbus-properties.c
|
|
||||||
@@ -48,7 +48,7 @@
|
|
||||||
char *prg_envp[1];
|
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
- prg_argv[0] = "/usr/bin/dbus-daemon";
|
|
||||||
+ prg_argv[0] = DBUS_DAEMON;
|
|
||||||
prg_argv[1] = "--nopidfile";
|
|
||||||
prg_argv[2] = "--nofork";
|
|
||||||
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
|
|
||||||
--- a/unit/test-dbus.c
|
|
||||||
+++ b/unit/test-dbus.c
|
|
||||||
@@ -45,7 +45,7 @@
|
|
||||||
char *prg_envp[1];
|
|
||||||
pid_t pid;
|
|
||||||
|
|
||||||
- prg_argv[0] = "/usr/bin/dbus-daemon";
|
|
||||||
+ prg_argv[0] = DBUS_DAEMON;
|
|
||||||
prg_argv[1] = "--nopidfile";
|
|
||||||
prg_argv[2] = "--nofork";
|
|
||||||
prg_argv[3] = "--config-file=" UNITDIR "dbus.conf";
|
|
|
@ -21,7 +21,8 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "0gzpdgfwzlqj2n3amf2zhi2hlpa412878yphgx79y6b5gn1y1lm2";
|
sha256 = "0gzpdgfwzlqj2n3amf2zhi2hlpa412878yphgx79y6b5gn1y1lm2";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = [ "out" "man" "test" ];
|
outputs = [ "out" "man" ]
|
||||||
|
++ stdenv.lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "test";
|
||||||
|
|
||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
autoreconfHook
|
autoreconfHook
|
||||||
|
@ -38,7 +39,9 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
checkInputs = [ openssl ];
|
checkInputs = [ openssl ];
|
||||||
|
|
||||||
pythonPath = [
|
# wrapPython wraps the scripts in $test. They pull in gobject-introspection,
|
||||||
|
# which doesn't cross-compile.
|
||||||
|
pythonPath = stdenv.lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
|
||||||
python3Packages.dbus-python
|
python3Packages.dbus-python
|
||||||
python3Packages.pygobject3
|
python3Packages.pygobject3
|
||||||
];
|
];
|
||||||
|
@ -61,11 +64,12 @@ stdenv.mkDerivation rec {
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mkdir -p $test/bin
|
|
||||||
cp -a test/* $test/bin/
|
|
||||||
mkdir -p $out/share
|
mkdir -p $out/share
|
||||||
cp -a doc $out/share/
|
cp -a doc $out/share/
|
||||||
cp -a README AUTHORS TODO $out/share/doc/
|
cp -a README AUTHORS TODO $out/share/doc/
|
||||||
|
'' + stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
|
||||||
|
mkdir -p $test/bin
|
||||||
|
cp -a test/* $test/bin/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
preFixup = ''
|
preFixup = ''
|
||||||
|
|
Loading…
Reference in New Issue