return pakfire_jail_exec_command(build->jail, argv, build->env, 0);
// Otherwise run the shell
- return pakfire_jail_shell(build->jail);
+ return pakfire_jail_shell(build->jail, build->env);
}
pakfire_pty_stdin_callback stdin_callback, void* stdin_data,
pakfire_pty_stdout_callback stdout_callback, void* stdout_data);
-int pakfire_jail_shell(struct pakfire_jail* jail);
+int pakfire_jail_shell(struct pakfire_jail* jail, struct pakfire_env* env);
int pakfire_jail_ldconfig(struct pakfire* pakfire);
int pakfire_jail_run_systemd_tmpfiles(struct pakfire* pakfire);
return r;
}
-int pakfire_jail_shell(struct pakfire_jail* jail) {
+int pakfire_jail_shell(struct pakfire_jail* jail, struct pakfire_env* e) {
struct pakfire_env* env = NULL;
int r;
goto ERROR;
}
+ // Merge the custom environment
+ if (e) {
+ r = pakfire_env_merge(env, e);
+ if (r < 0)
+ goto ERROR;
+ }
+
// Execute /bin/bash
r = pakfire_jail_exec_command(jail, argv, env, PAKFIRE_JAIL_INTERACTIVE);
if (r < 0)