[Scons-dev] Subprocess.popen() on win32?

Bill Deegan bill at baddogconsulting.com
Sun Oct 7 15:46:51 EDT 2018


On Sun, Oct 7, 2018 at 2:25 PM Jason Kenny <dragon512 at live.com> wrote:

>
>
> I can see what I can do here. I have to make a new Drop of Parts first (
> having a regression in my code I have to fix )
>
>
>
> I don’t believe there should be any limitation. The only issue I believe I
> had was with moving to python 27 as there was a change from 26 in quote
> handling. However we are on 2.7 or better so this should not be an issue.
> Oh there was one other thing. I have to ignore the “escape” function that
> is passed in the SPAWN callback. It breaks with 2.7 on Window and Linux. I
> also removed the Scons override for the open call as it was messing up
> writing to the console device ( Plus I needed to override it to allow
> symbolic and hard links to work on win32)
>

If we're using subprocess.popen() then is escaping needed on linux?

>
>
> Which lead to a question for me on do we have an official way in SCons to
> get the stdout and stderr text from an Action that was called. I don’t
> recall having this before and as such I used the SPAWN to help me add
> logging and colorized text in Parts.
>

As far as I know there's currently no supported way to capture stderr or
stdout from an action. (you can redirect in your command to a file).

Do we lose redirects with swapping in the Popen() ?

-Bill


>
>
> Jason
>
>
>
>
>
> *From:* Scons-dev <scons-dev-bounces at scons.org> *On Behalf Of *Bill Deegan
> *Sent:* Friday, October 5, 2018 12:44 PM
> *To:* SCons developer list <scons-dev at scons.org>
> *Subject:* Re: [Scons-dev] Subprocess.popen() on win32?
>
>
>
> Jason,
>
>
>
> Any limitations with doing this over the current code?
>
> Could you craft a pull request for this?
>
>
>
> -Bill
>
>
>
> On Fri, Oct 5, 2018 at 10:37 AM Jason Kenny <dragon512 at live.com> wrote:
>
> Been using popen with parts via overriding SPAWN var since the start.
>
> +1 on having this be the default
>
> Jason
>
> Get Outlook for Android
> <https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fghei36&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=KcMABMJE2kXb3%2B3UXjnBrUxI%2FR3jFP0D2bI9Nz%2Fzxok%3D&reserved=0>
>
>
> ------------------------------
>
> *From:* Scons-dev <scons-dev-bounces at scons.org> on behalf of Bill Deegan <
> bill at baddogconsulting.com>
> *Sent:* Friday, October 5, 2018 10:32:50 AM
> *To:* SCons developer list
> *Subject:* Re: [Scons-dev] Subprocess.popen() on win32?
>
>
>
> Come now.
>
> Win32.py's spawn implementation was updated in 2012.. ;)
>
>
>
> If we universally switch to subprocess.Popen(), then we can safely chdir
> for non python function actions.
>
> But passing in the cwd argument.
>
>
>
> That seems likely to be useful..
>
>
>
> -Bill
>
>
>
>
>
> On Fri, Oct 5, 2018 at 10:28 AM Russel Winder <russel at winder.org.uk>
> wrote:
>
> I shall be flippant in the hope of being humorous, yet with an element of
> possible truth:
>
> Perhaps no-one has bothered to update that bit of code in the last decade
> and
> a half?
>
>
> Did you mean subprocess.Popen? Worth noting that the API for subprocess
> changes from call* in earlier versions to run in later. Somewhat annoying
> for
> compatibility across many Python versions.
>
>
> On Fri, 2018-10-05 at 10:17 -0700, Bill Deegan wrote:
> > Greetings,
> >
> > Any reason we're not using subprocess.popen() on win32?
> > We're still using os.spawnve() which is known to have some threading
> issues.
> > https://bugs.python.org/issue6476
> <https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.python.org%2Fissue6476&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=AENwPEuuQxwDeu%2B7E%2F3%2FPXc%2FEWhsxRyw2271hIBHahY%3D&reserved=0>
> >
> > -Bill
> > _______________________________________________
> > Scons-dev mailing list
> > Scons-dev at scons.org
> > https://pairlist2.pair.net/mailman/listinfo/scons-dev
> <https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=z%2FSuf5LUUJ3pbmybb105S8AvcZkJzK%2FSZkkLsTegesY%3D&reserved=0>
> --
> Russel.
> ===========================================
> Dr Russel Winder      t: +44 20 7585 2200
> 41 Buckmaster Road    m: +44 7770 465 077
> London SW11 1EN, UK   w: www.russel.org.uk
> <https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.russel.org.uk&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376565412&sdata=Hn8BEc6Et%2BR1W6985Rm8otA0qOUUGJHp5CSTAWYCxJY%3D&reserved=0>
>
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
> <https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376721652&sdata=hDVBgMfE1G31kR%2FYvrk%2F%2BoooYou3IalStr%2B8A%2FzkfwE%3D&reserved=0>
>
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
> <https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpairlist2.pair.net%2Fmailman%2Flistinfo%2Fscons-dev&data=02%7C01%7C%7C29e2d6879f7b4620408f08d62aea2038%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636743582376721652&sdata=hDVBgMfE1G31kR%2FYvrk%2F%2BoooYou3IalStr%2B8A%2FzkfwE%3D&reserved=0>
>
> _______________________________________________
> Scons-dev mailing list
> Scons-dev at scons.org
> https://pairlist2.pair.net/mailman/listinfo/scons-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20181007/ad8ec7f6/attachment-0001.html>


More information about the Scons-dev mailing list