From: Michael Tremer Date: Thu, 20 May 2021 11:44:14 +0000 (+0000) Subject: builder: Simplify shell code X-Git-Tag: 0.9.28~1285^2~125 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bf6c257dbd1acf0f748bc49f8e35c128376d006a;p=pakfire.git builder: Simplify shell code Signed-off-by: Michael Tremer --- diff --git a/src/pakfire/builder.py b/src/pakfire/builder.py index a73c7bce4..aff755a7d 100644 --- a/src/pakfire/builder.py +++ b/src/pakfire/builder.py @@ -148,8 +148,6 @@ class BuilderContext(object): 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"), @@ -236,17 +234,17 @@ class BuilderContext(object): # 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 @@ -258,6 +256,16 @@ class BuilderContext(object): 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, + )