Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:19
erlang
0897-erts-Make-the-HOME-environment-variable-op...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0897-erts-Make-the-HOME-environment-variable-optional-in-.patch of Package erlang
From a4dfa8d090d7997922fc895951c27b408dd44373 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20de=20Bretagne?= <jerome.debretagne@gmail.com> Date: Fri, 1 Nov 2019 14:54:01 +0100 Subject: [PATCH 1/3] erts: Make the HOME environment variable optional in erlexec Stop the assumption that every operating system or setup has a HOME directory available (or a similar notion) with a corresponding environment variable set. This assumption is not always accurate as raised in ERL-476, for example on Android with its stricter model of sandboxed applications. --- erts/etc/common/erlexec.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/erts/etc/common/erlexec.c b/erts/etc/common/erlexec.c index 07a66993de..9195441ae4 100644 --- a/erts/etc/common/erlexec.c +++ b/erts/etc/common/erlexec.c @@ -267,7 +267,7 @@ static WCHAR *latin1_to_utf16(char *str); #endif /* - * Needed parameters to be fetched from the environment (Unix) + * Parameters to be fetched from the environment (Unix) * or the ini file (Win32). */ @@ -275,7 +275,7 @@ static char* bindir; /* Location of executables. */ static char* rootdir; /* Root location of Erlang installation. */ static char* emu; /* Emulator to run. */ static char* progname; /* Name of this program. */ -static char* home; /* Path of user's home directory. */ +static char* home; /* Path of user's home directory, if any. */ static void set_env(char *key, char *value) @@ -600,7 +600,12 @@ int main(int argc, char **argv) i = 1; get_home(); - add_args("-home", home, NULL); + /* Add the home parameter when available. This is optional to support + systems that don't have the notion of a home directory and setups + that don't have the HOME environment variable set (ERL-476). */ + if (home != NULL) { + add_args("-home", home, NULL); + } add_epmd_port(); @@ -1642,8 +1647,6 @@ static void get_home(void) { home = get_env("HOME"); - if (home == NULL) - error("HOME must be set"); } #endif -- 2.16.4
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor