# HG changeset patch # User Bernhard Herzog # Date 1227886570 0 # Node ID 98c5aab790bbd6ebf6c2e107a999648d01d9f4bc # Parent 4d6c3431face0a902d67596547506a4b60997b6c Add --bind-mount option to bin/treepkgbuilder.py's login command and a corresponding parameter to the login method of the PBuilder class diff -r 4d6c3431face -r 98c5aab790bb bin/treepkgbuilder.py --- a/bin/treepkgbuilder.py Fri Nov 28 15:11:18 2008 +0000 +++ b/bin/treepkgbuilder.py Fri Nov 28 15:36:10 2008 +0000 @@ -124,8 +124,17 @@ names = ("login",) + def create_parser(self): + parser = super(LoginCommand, self).create_parser() + parser.set_defaults(bind_mount=[]) + parser.add_option("--bind-mount", action="append", + help=("Directories to bind-mount in the chroot" + " environment.")) + return parser + + def run(self): - self.get_builder().login() + self.get_builder().login(bindmounts=self.opts.bind_mount) class BuildCommand(Command): diff -r 4d6c3431face -r 98c5aab790bb treepkg/builder.py --- a/treepkg/builder.py Fri Nov 28 15:11:18 2008 +0000 +++ b/treepkg/builder.py Fri Nov 28 15:36:10 2008 +0000 @@ -246,9 +246,13 @@ args=args, script=script), suppress_output=False) - def login(self): + def login(self, bindmounts=()): """Start an interactive shell in the pbuilder environment""" + args = [] + for mount in bindmounts: + args.extend(["--bindmounts", mount]) run.call(cmdexpand("@rootcmd /usr/sbin/pbuilder login" - " --configfile $pbuilderrc", - rootcmd=self.root_cmd, pbuilderrc=self.pbuilderrc), + " --configfile $pbuilderrc @args", + rootcmd=self.root_cmd, pbuilderrc=self.pbuilderrc, + args=args), suppress_output=False)