reintroduce PREFIX and use relative paths for finding share/ when installed, independently of PREFIX

This commit is contained in:
Philippe Teuwen 2019-08-30 21:36:10 +02:00
parent bfec7648bd
commit 4d31b2399b
5 changed files with 32 additions and 40 deletions

View file

@ -1175,7 +1175,7 @@ int set_pm3_libraries(lua_State *L) {
}
char *user_path = getenv("HOME");
if (user_path != NULL) {
// from the ~/.proxmark3/luascripts/ directory
// from the $HOME/.proxmark3/luascripts/ directory
char scripts_path[strlen(user_path) + strlen(PM3_USER_DIRECTORY) + strlen(LUA_SCRIPTS_SUBDIR) + strlen(LUA_LIBRARIES_WILDCARD) + 1];
strcpy(scripts_path, user_path);
strcat(scripts_path, PM3_USER_DIRECTORY);
@ -1183,7 +1183,7 @@ int set_pm3_libraries(lua_State *L) {
strcat(scripts_path, LUA_LIBRARIES_WILDCARD);
setLuaPath(L, scripts_path);
// from the ~/.proxmark3/lualib/ directory
// from the $HOME/.proxmark3/lualib/ directory
char libraries_path[strlen(user_path) + strlen(PM3_USER_DIRECTORY) + strlen(LUA_LIBRARIES_SUBDIR) + strlen(LUA_LIBRARIES_WILDCARD) + 1];
strcpy(libraries_path, user_path);
strcat(libraries_path, PM3_USER_DIRECTORY);
@ -1192,16 +1192,18 @@ int set_pm3_libraries(lua_State *L) {
setLuaPath(L, libraries_path);
}
if (strlen(PM3_SHARE_PATH) != 0 || strlen(LUA_SCRIPTS_SUBDIR) != 0 || strlen(LUA_LIBRARIES_WILDCARD) != 0) {
// from the /usr/local/share/proxmark3/luascripts/ directory
char scripts_path[strlen(PM3_SHARE_PATH) + strlen(LUA_SCRIPTS_SUBDIR) + strlen(LUA_LIBRARIES_WILDCARD) + 1];
strcpy(scripts_path, PM3_SHARE_PATH);
if (exec_path != NULL) {
// from the $PREFIX/share/proxmark3/luascripts/ directory
char scripts_path[strlen(exec_path) + strlen(PM3_SHARE_RELPATH) + strlen(LUA_SCRIPTS_SUBDIR) + strlen(LUA_LIBRARIES_WILDCARD) + 1];
strcpy(scripts_path, exec_path);
strcat(scripts_path, PM3_SHARE_RELPATH);
strcat(scripts_path, LUA_SCRIPTS_SUBDIR);
strcat(scripts_path, LUA_LIBRARIES_WILDCARD);
setLuaPath(L, scripts_path);
// from the /usr/local/share/proxmark3/lualib/ directory
char libraries_path[strlen(PM3_SHARE_PATH) + strlen(LUA_LIBRARIES_SUBDIR) + strlen(LUA_LIBRARIES_WILDCARD) + 1];
strcpy(libraries_path, PM3_SHARE_PATH);
// from the $PREFIX/share/proxmark3/lualib/ directory
char libraries_path[strlen(exec_path) + strlen(PM3_SHARE_RELPATH) + strlen(LUA_LIBRARIES_SUBDIR) + strlen(LUA_LIBRARIES_WILDCARD) + 1];
strcpy(libraries_path, exec_path);
strcat(libraries_path, PM3_SHARE_RELPATH);
strcat(libraries_path, LUA_LIBRARIES_SUBDIR);
strcat(libraries_path, LUA_LIBRARIES_WILDCARD);
setLuaPath(L, libraries_path);