summaryrefslogtreecommitdiffstats
path: root/poky/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-introduce-a-special-build-flag-to-explicitly-disable.patch
blob: b7e9cd8c5c7305fa94527d7a14eb29e41c94e5ca (plain)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
From 36feb98e568221e24286615730888d5f6ff323f0 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 7 Dec 2018 15:12:38 +0800
Subject: [PATCH] introduce a special build flag to explicitly disables running
 from build tree

It is helpful to improve reproducibility build [1] since
PA_SRCDIR/PA_BUILDDIR contains build path, disable running
from build tree could drop these macros at precompilation.

[1] https://reproducible-builds.org/

Upstream-Status: Submitted [pulseaudio-discuss@lists.freedesktop.org]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Acked-by: Tanu Kaskinen <tanuk@iki.fi>
---
 configure.ac                             | 10 ++++++++++
 src/daemon/daemon-conf.c                 |  4 +++-
 src/daemon/main.c                        |  6 ++++++
 src/modules/alsa/alsa-mixer.c            |  4 ++++
 src/modules/gconf/module-gconf.c         |  2 +-
 src/modules/gsettings/module-gsettings.c |  2 +-
 src/pulsecore/core-util.c                |  4 +++-
 7 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index c9c414f..8b345ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -998,6 +998,16 @@ AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"],
 AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1])
 AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?]))
 
+#### Running from build tree (optional) ####
+
+AC_ARG_ENABLE([running-from-build-tree],
+    AS_HELP_STRING([--disable-running-from-build-tree],[Disable running from build tree]))
+
+AS_IF([test "x$enable_running_from_build_tree" != "xno"],
+      AC_DEFINE([HAVE_RUNNING_FROM_BUILD_TREE], 1, [Have running from build tree]))
+
+AC_SUBST(HAVE_RUNNING_FROM_BUILD_TREE)
+
 #### TCP wrappers (optional) ####
 
 AC_ARG_ENABLE([tcpwrap],
diff --git a/src/daemon/daemon-conf.c b/src/daemon/daemon-conf.c
index 9883126..f01eff4 100644
--- a/src/daemon/daemon-conf.c
+++ b/src/daemon/daemon-conf.c
@@ -155,12 +155,14 @@ pa_daemon_conf *pa_daemon_conf_new(void) {
     c->dl_search_path = pa_sprintf_malloc("%s" PA_PATH_SEP "lib" PA_PATH_SEP "pulse-%d.%d" PA_PATH_SEP "modules",
                                           pa_win32_get_toplevel(NULL), PA_MAJOR, PA_MINOR);
 #else
+#ifdef HAVE_RUNNING_FROM_BUILD_TREE
     if (pa_run_from_build_tree()) {
         pa_log_notice("Detected that we are run from the build tree, fixing search path.");
         c->dl_search_path = pa_xstrdup(PA_BUILDDIR);
     } else
-        c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH);
 #endif
+        c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH);
+#endif //Endof #ifdef OS_IS_WIN32
 
     return c;
 }
diff --git a/src/daemon/main.c b/src/daemon/main.c
index c80fa94..1e00388 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -932,6 +932,12 @@ int main(int argc, char *argv[]) {
 
     pa_log_debug("Running in VM: %s", pa_yes_no(pa_running_in_vm()));
 
+#ifdef HAVE_RUNNING_FROM_BUILD_TREE
+    pa_log_debug("Running from build tree: %s", pa_yes_no(pa_run_from_build_tree()));
+#else
+    pa_log_debug("Running from build tree: no");
+#endif
+
 #ifdef __OPTIMIZE__
     pa_log_debug("Optimized build: yes");
 #else
diff --git a/src/modules/alsa/alsa-mixer.c b/src/modules/alsa/alsa-mixer.c
index a524d6d..670f646 100644
--- a/src/modules/alsa/alsa-mixer.c
+++ b/src/modules/alsa/alsa-mixer.c
@@ -2571,9 +2571,11 @@ static int path_verify(pa_alsa_path *p) {
 }
 
 static const char *get_default_paths_dir(void) {
+#ifdef HAVE_RUNNING_FROM_BUILD_TREE
     if (pa_run_from_build_tree())
         return PA_SRCDIR "/modules/alsa/mixer/paths/";
     else
+#endif
         return PA_ALSA_PATHS_DIR;
 }
 
@@ -4455,7 +4457,9 @@ pa_alsa_profile_set* pa_alsa_profile_set_new(const char *fname, const pa_channel
         fname = "default.conf";
 
     fn = pa_maybe_prefix_path(fname,
+#ifdef HAVE_RUNNING_FROM_BUILD_TREE
                               pa_run_from_build_tree() ? PA_SRCDIR "/modules/alsa/mixer/profile-sets/" :
+#endif
                               PA_ALSA_PROFILE_SETS_DIR);
 
     r = pa_config_parse(fn, NULL, items, NULL, false, ps);
diff --git a/src/modules/gconf/module-gconf.c b/src/modules/gconf/module-gconf.c
index c0f4dde..76a1f19 100644
--- a/src/modules/gconf/module-gconf.c
+++ b/src/modules/gconf/module-gconf.c
@@ -51,7 +51,7 @@ int pa__init(pa_module*m) {
     u->buf_fill = 0;
 
     if ((u->fd = pa_start_child_for_read(
-#if defined(__linux__) && !defined(__OPTIMIZE__)
+#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE)
                               pa_run_from_build_tree() ? PA_BUILDDIR "/gconf-helper" :
 #endif
                  PA_GCONF_HELPER, NULL, &u->pid)) < 0)
diff --git a/src/modules/gsettings/module-gsettings.c b/src/modules/gsettings/module-gsettings.c
index 330eca1..209c857 100644
--- a/src/modules/gsettings/module-gsettings.c
+++ b/src/modules/gsettings/module-gsettings.c
@@ -51,7 +51,7 @@ int pa__init(pa_module*m) {
     u->buf_fill = 0;
 
     if ((u->fd = pa_start_child_for_read(
-#if defined(__linux__) && !defined(__OPTIMIZE__)
+#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE)
                               pa_run_from_build_tree() ? PA_BUILDDIR "/gsettings-helper" :
 #endif
                  PA_GSETTINGS_HELPER, NULL, &u->pid)) < 0)
diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c
index 64e9f21..f85dd20 100644
--- a/src/pulsecore/core-util.c
+++ b/src/pulsecore/core-util.c
@@ -3436,15 +3436,17 @@ void pa_reset_personality(void) {
 }
 
 bool pa_run_from_build_tree(void) {
-    char *rp;
     static bool b = false;
 
+#ifdef HAVE_RUNNING_FROM_BUILD_TREE
+    char *rp;
     PA_ONCE_BEGIN {
         if ((rp = pa_readlink("/proc/self/exe"))) {
             b = pa_startswith(rp, PA_BUILDDIR);
             pa_xfree(rp);
         }
     } PA_ONCE_END;
+#endif
 
     return b;
 }
-- 
2.7.4

OpenPOWER on IntegriCloud