]> git.ipfire.org Git - pakfire.git/commitdiff
builder: Start build environment with a login shell.
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 5 Feb 2011 21:22:43 +0000 (22:22 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 5 Feb 2011 21:22:43 +0000 (22:22 +0100)
The login shell will initialize the environment and we use
this to configure some stuff like ccache and the buildsystem.

pakfire/builder.py

index cae012c7869eb956ba3c3513f4ae6f02066e34da..61de74205029f0556370dfef11453e9204549b48 100644 (file)
@@ -322,10 +322,6 @@ class Builder(object):
        def environ(self):
                env = {
                        "BUILDROOT" : self.buildroot,
-
-                       # XXX I want to get rid of these too and invoke a login shell
-                       "HOME"      : "/root",
-                       "PATH"      : "/sbin:/bin:/usr/sbin:/usr/bin",
                }
 
                # Inherit environment from distro
@@ -365,16 +361,11 @@ class Builder(object):
                return ret
 
        def make(self, *args, **kwargs):
-               # XXX need to get rid of this
-               env = { "PKGROOT" : "/usr/lib/buildsystem" }
-               try:
-                       kwargs["env"].update(env)
-               except KeyError:
-                       kwargs["env"] = env
+               command = ["bash", "--login", "-c",]
+               command.append("make -f /build/%s %s" % \
+                       (os.path.basename(self.pkg.filename), " ".join(args)))
 
-               return self.do("make -f /build/%s %s" % \
-                       (os.path.basename(self.pkg.filename), " ".join(args)),
-                       shell=True, **kwargs)
+               return self.do(command, shell=False, **kwargs)
 
        @property
        def make_info(self):