This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch master
in repository efl.
View the commit online.
commit e8c7551b74c8325c8b43fbc6f957655b295c1d6a
Author: Carsten Haitzler <ras...@rasterman.com>
AuthorDate: Wed Dec 4 10:49:30 2024 +0000
eina - eina prefix - fix parent path walk to find checkme files
thana poionted this oput - for some binaries we've been falling back
to compiled in paths silently becasuse the binaries are not in
PREFIX/bin/ - they might be in PREFIX/lib/efreet/v-1.27/ ... thus walk
back parents until we find the checkme then we know our real prefix.
@fix
---
src/lib/eina/eina_prefix.c | 21 ++++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/lib/eina/eina_prefix.c b/src/lib/eina/eina_prefix.c
index 252c28056f..851cc464e1 100644
--- a/src/lib/eina/eina_prefix.c
+++ b/src/lib/eina/eina_prefix.c
@@ -652,6 +652,7 @@ eina_prefix_new(const char *argv0, void *symbol, const char *envprefix,
strncpy(pfx->prefix_path, pfx->exe_path,
p - pfx->exe_path);
pfx->prefix_path[p - pfx->exe_path] = 0;
+again:
DBG("Have prefix = %s", pfx->prefix_path);
/* bin */
@@ -694,7 +695,25 @@ eina_prefix_new(const char *argv0, void *symbol, const char *envprefix,
DBG("Magic path %s stat passed", buf);
}
else
- WRN("Missing magic path %s", buf);
+ {
+ p = strrchr(pfx->prefix_path, EINA_PATH_SEP_C);
+ if ((p) && (p > pfx->prefix_path))
+ {
+ *p = 0;
+ free(pfx->prefix_path_bin);
+ free(pfx->prefix_path_lib);
+ free(pfx->prefix_path_locale);
+ pfx->prefix_path_bin = NULL;
+ pfx->prefix_path_lib = NULL;
+ pfx->prefix_path_locale = NULL;
+ checks_passed = 0;
+ goto again;
+ }
+ WRN("Missing magic path %s", buf);
+ _fallback(pfx, pkg_bin, pkg_lib, pkg_data, pkg_locale,
+ envprefix);
+ return pfx;
+ }
}
if (((!magic) && (checks_passed > 0)) ||
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.