def environ(self):
# Build a minimal environment for executing, but try to inherit TERM and LANG
env = {
- "HOME" : "/root",
- "PATH" : "/usr/bin:/bin:/usr/sbin:/sbin",
"PS1" : "pakfire-chroot \w> ",
"TERM" : os.environ.get("TERM", "vt100"),
"LANG" : os.environ.get("LANG", "en_US.UTF-8"),
# Run it
try:
self.pakfire.execute_script(script, logging_callback=self.log.log,
- enable_network=False, interactive=False)
+ environ=self.environ, enable_network=False, interactive=False)
# Handle if the build script failed
except CommandExecutionError as e:
# Drop into a shell if requested
if shell:
- self.pakfire.execute(["/usr/bin/bash", "--login"],
- environ=self.environ, enable_network=True, interactive=True)
+ self._shell()
# Raise otherwise
- raise e
+ else:
+ raise e
def shell(self, packages=[], install=None):
# Setup the environment
self._install(packages)
# Enter the shell
- self.pakfire.execute(["/usr/bin/bash", "--login"],
- environ=self.environ, enable_network=True, interactive=True)
+ self._shell()
+
+ def _shell(self):
+ """
+ Opens an interactive shell in the build environment
+ """
+ return self.pakfire.execute(
+ ["/usr/bin/bash", "--login"],
+ interactive=True,
+ enable_network=True,
+ environ=self.environ,
+ )