On 27/08/17 00:23, Colin Watson wrote:
> On Sat, Aug 26, 2017 at 04:00:11PM -0700, Pádraig Brady wrote:
>> If we were to provide this I think chdir is a fine name.
>> It's a pity we have to have this heavy weight chaining of execs like this
>> to set each process attribute. This is more general though, than adding
>> --chdir to other "context" type programs like chroot etc.
>> Note GNU chroot has a --skip-chdir which nearly does what you want.
>> I.E. you could os.chdir("/chroot/build") before calling "chroot --skip-dir 
>> ...",
>> however that's currently restricted for greater protection to when
>> you're not actually changing the root directory.  I suppose we could relax
>> the check to verify that getcwd() was _below_ the specified chroot path.
>> Of course none of this helps with jexec, lxc etc.
> 
> Indeed; I really want something composable rather than playing
> whack-a-mole with every possible wrapper command.
> 
>> Another option to consider is to add --chdir to env(1) since they
>> would often be used together and could be done more efficiently with a 
>> single exec?
> 
> That's a good idea, and I agree they're often used together.  I'd
> already slipped and implemented chdir(1), but I think that suggestion
> may be better: it results in a much shorter patch, and it avoids the
> problem with some shells (e.g. zsh) implementing their own "chdir"
> built-ins with different semantics.
> 
> I've attached both patches; my preference following Pádraig's suggestion
> is the second one ("env: add --chdir option"), but I'd be happy either
> way.

Cool, I'll include your `env` change in the upcoming release.
I think supporting -C aligns well with other utils,
and has little chance of conflicting with existing implementations,
so I'll tweak your patch to allow that.

thanks!
Pádraig


Reply via email to