}
static void init_sdk_requirements() {
- struct stat st;
-
// set env variable for temporary
// TODO: should use pam instead later!!
putenv("TERM=linux");
init_sdk_userinfo();
init_root_userinfo();
- if (g_sdk_home_dir != NULL && stat(g_sdk_home_dir, &st) == 0) {
- if (st.st_uid != g_sdk_user_id || st.st_gid != g_sdk_group_id) {
- char* cmd = "/usr/bin/chown";
- char params[128];
- char* envp[128];
- int envp_cnt = 0;
- int i = 0;
-
- envp[envp_cnt++] = g_strdup("TERM=linux");
- envp[envp_cnt++] = g_strdup("DISPLAY=:0");
- envp[envp_cnt] = NULL;
-
- snprintf(params, sizeof(params), "%s %s:%s %s -R", cmd, SDK_USER_NAME, SDK_USER_NAME, g_sdk_home_dir);
-
- char* args[] = {
- cmd,
- params,
- NULL,
- };
- if (safe_system(cmd, args, envp) < 0) {
- E("failed to change ownership to sdk user to %s\n", g_sdk_home_dir);
- }
-
- /* free environment variables */
- if (envp_cnt > 0) {
- for (i = 0; i < envp_cnt; i++) {
- if (envp[i]) {
- g_free(envp[i]);
- }
- }
- }
- }
- }
-
if (is_emulator()) {
register_bootdone_cb();
}