Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread Dirk Bächle

Hi Anatoly,

On 27.04.2014 19:16, anatoly techtonik wrote:

[...]
I just want to make sure that when people hit problems, there is already
a page to document the problem. It may happen that we will need to
introduce shebang header and parse it manually before inclusion to warn
users that the SConstruct was designed with another Python version in
mind and that they should expect failures.


I understand your concerns, but on the other hand we have to look 
closely at what we can accomplish with the currently given resources. I 
don't think we are in any way "obliged" to help users, even the ones 
that use SCons as their only Python application, to transition from v2.x 
to 3.y. As soon as users or package maintainers add Python code beyond 
the standard SCons API, like env.Append or env.Program, our 
responsibility actually ends.


We have to make sure that SCons itself (the core sources, and the 
external tools to some extent) works under both versions. Additional 
support should be restricted to pointing at the official 2to3 
documentation and helper scripts (which already exist, together with 
tons of blog entries and other web tutorials listing the most important 
points and techniques).
I don't want to see us ending as inofficial "Python 2to3 help desk", 
getting swamped with work. ;)


Just my 2 cents.

Best regards,

Dirk

___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread Gary Oberbrunner
On Sun, Apr 27, 2014 at 1:16 PM, anatoly techtonik wrote:

> On Sun, Apr 27, 2014 at 8:08 PM, Gary Oberbrunner 
> wrote:
> > On Sun, Apr 27, 2014 at 12:54 PM, anatoly techtonik  >
> > wrote:
> >>
> >> I expect a big problem to be cross-python SConstructs. Do we have any
> >> instructions how to write these?
> >
> >
> > I'm not all that concerned about this.  Most people will write
> SConscripts
> > for the python version they're using, whether it's 2 or 3.  So those
> people
> > won't care at all.
>
> Most people write just for "scons" to work. Depending on what this `scons`
> uses, it may execute SConscript with Python 2 and Python 3, and if
> SConscript is written for specific Python version, it may fail.
>

Yup.  They'll have to fix their SConscripts for the other python version.
 Not much we can do about that (except as you say, try to give them some
guidance).


>
> > When the 2 users port to 3, they'll have more problems
> > than just their SConscripts to worry about; probably the SConscript
> changes
> > will be small compared to their other changes.
>
> There are many projects that use Python just for SCons build system (or
> derivative of build system based on SCons).
>

If I understand you correctly, that these people only install Python to run
SCons, that'll be OK because they can install whichever version the project
recommends.  It's my guess that most projects will stay with python2 for at
least a couple more years.


> > And of course if people use
> > python3 features in their SConscripts, python2 users won't be able to use
> > them. Sure, there will be some things to keep in mind like unicode string
> > handling and print functions, but I bet a large majority of simple
> > SConscripts will "just work" or at least a simple 2to3 run will get them
> > close.
>
> Did you test that? There is Blender and Wesnoth that can be immediately
> affected and easy to use. Unfortunately, I can't test them right now.
>

No -- I doubt the python3 branch is even close to ready for that yet.
 Though early reports of it working or not would be helpful!

>
> > If we can create instructions like you're talking about, things to do or
> > things to avoid, and put those on the wiki, that would be excellent.
>  We'll
> > probably have to have some experience before we can do that well though.
>
> I just want to make sure that when people hit problems, there is already
> a page to document the problem. It may happen that we will need to
> introduce shebang header and parse it manually before inclusion to warn
> users that the SConstruct was designed with another Python version in
> mind and that they should expect failures.


We might end up having to do something like that; let's see how things play
out. At this point I'm more concerned with getting it to work at all. :-)
 But as for having a page of tips on the wiki, definitely let's do that
before we release it.

-- 
Gary
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread anatoly techtonik
On Sun, Apr 27, 2014 at 8:08 PM, Gary Oberbrunner  wrote:
> On Sun, Apr 27, 2014 at 12:54 PM, anatoly techtonik 
> wrote:
>>
>> I expect a big problem to be cross-python SConstructs. Do we have any
>> instructions how to write these?
>
>
> I'm not all that concerned about this.  Most people will write SConscripts
> for the python version they're using, whether it's 2 or 3.  So those people
> won't care at all.

Most people write just for "scons" to work. Depending on what this `scons`
uses, it may execute SConscript with Python 2 and Python 3, and if
SConscript is written for specific Python version, it may fail.

> When the 2 users port to 3, they'll have more problems
> than just their SConscripts to worry about; probably the SConscript changes
> will be small compared to their other changes.

There are many projects that use Python just for SCons build system (or
derivative of build system based on SCons).

> And of course if people use
> python3 features in their SConscripts, python2 users won't be able to use
> them. Sure, there will be some things to keep in mind like unicode string
> handling and print functions, but I bet a large majority of simple
> SConscripts will "just work" or at least a simple 2to3 run will get them
> close.

Did you test that? There is Blender and Wesnoth that can be immediately
affected and easy to use. Unfortunately, I can't test them right now.

> If we can create instructions like you're talking about, things to do or
> things to avoid, and put those on the wiki, that would be excellent.  We'll
> probably have to have some experience before we can do that well though.

I just want to make sure that when people hit problems, there is already
a page to document the problem. It may happen that we will need to
introduce shebang header and parse it manually before inclusion to warn
users that the SConstruct was designed with another Python version in
mind and that they should expect failures.
-- 
anatoly t.
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread Gary Oberbrunner
On Sun, Apr 27, 2014 at 12:54 PM, anatoly techtonik wrote:

> I expect a big problem to be cross-python SConstructs. Do we have any
> instructions how to write these?


I'm not all that concerned about this.  Most people will write SConscripts
for the python version they're using, whether it's 2 or 3.  So those people
won't care at all.  When the 2 users port to 3, they'll have more problems
than just their SConscripts to worry about; probably the SConscript changes
will be small compared to their other changes.  And of course if people use
python3 features in their SConscripts, python2 users won't be able to use
them. Sure, there will be some things to keep in mind like unicode string
handling and print functions, but I bet a large majority of simple
SConscripts will "just work" or at least a simple 2to3 run will get them
close.

If we can create instructions like you're talking about, things to do or
things to avoid, and put those on the wiki, that would be excellent.  We'll
probably have to have some experience before we can do that well though.

-- 
Gary
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread anatoly techtonik
I expect a big problem to be cross-python SConstructs. Do we have any
instructions how to write these?

On Sun, Apr 27, 2014 at 6:44 PM, Gary Oberbrunner  wrote:
>
>
>
> On Sun, Apr 27, 2014 at 7:27 AM, Dirk Bächle  wrote:
>>
>> On 17.04.2014 20:42, Gary Oberbrunner wrote:
>>
>> On Thu, Apr 17, 2014 at 2:38 PM, Bill Deegan 
>> wrote:
>>>
>>> Dirk,
>>>
>>> It should be possible to say only branch "default".
>>> Do we want to run the python3 branch on slaves which have python3?
>>
>>
>> That would be great.  (Fixing the missing six import should be quick.)
>>
>> I just checked, neither one of my two buildslaves have Python3 installed.
>> So, for now I'm not taking any actions on this topic. However, I could
>> always try to install Python3 + six, if required or wanted.
>> Then it would be cool if someone could give me pointers to the exact
>> versions that are required (Python 3.x at least? Install six via
>> easy_install/pypi, or from source?)
>
>
> The python3 branch now includes six.py in compat/.
> (https://bitbucket.org/scons/scons/commits/60d0c9e46183085c11db29ca5f34535fd1ff7c44)
>
> I think we should try for 3.x support where x >= 3; that seems to be a
> popular choice.  Anyone using python3 who can start testing this, please do!
> It is sure to be buggy but the only way to find the bugs is to try it (both
> the test suite and on real code).
>
> --
> Gary
>
> ___
> Scons-dev mailing list
> Scons-dev@scons.org
> http://two.pairlist.net/mailman/listinfo/scons-dev
>



-- 
anatoly t.
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread Gary Oberbrunner
On Sun, Apr 27, 2014 at 7:27 AM, Dirk Bächle  wrote:

>  On 17.04.2014 20:42, Gary Oberbrunner wrote:
>
>  On Thu, Apr 17, 2014 at 2:38 PM, Bill Deegan 
> wrote:
>
>>   Dirk,
>>
>>  It should be possible to say only branch "default".
>>  Do we want to run the python3 branch on slaves which have python3?
>>
>
>  That would be great.  (Fixing the missing six import should be quick.)
>
> I just checked, neither one of my two buildslaves have Python3 installed.
> So, for now I'm not taking any actions on this topic. However, I could
> always try to install Python3 + six, if required or wanted.
> Then it would be cool if someone could give me pointers to the exact
> versions that are required (Python 3.x at least? Install six via
> easy_install/pypi, or from source?)
>

The python3 branch now includes six.py in compat/.  (
https://bitbucket.org/scons/scons/commits/60d0c9e46183085c11db29ca5f34535fd1ff7c44
)

I think we should try for 3.x support where x >= 3; that seems to be a
popular choice.  Anyone using python3 who can start testing this, please
do!  It is sure to be buggy but the only way to find the bugs is to try it
(both the test suite and on real code).

-- 
Gary
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-27 Thread Dirk Bächle

On 17.04.2014 20:42, Gary Oberbrunner wrote:



On Thu, Apr 17, 2014 at 2:38 PM, Bill Deegan 
mailto:b...@baddogconsulting.com>> wrote:


Dirk,

It should be possible to say only branch "default".
Do we want to run the python3 branch on slaves which have python3?


That would be great.  (Fixing the missing six import should be quick.)


I just checked, neither one of my two buildslaves have Python3 
installed. So, for now I'm not taking any actions on this topic. 
However, I could always try to install Python3 + six, if required or wanted.
Then it would be cool if someone could give me pointers to the exact 
versions that are required (Python 3.x at least? Install six via 
easy_install/pypi, or from source?)


Regards,

Dirk

___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-17 Thread Gary Oberbrunner
On Thu, Apr 17, 2014 at 2:38 PM, Bill Deegan wrote:

> Dirk,
>
> It should be possible to say only branch "default".
> Do we want to run the python3 branch on slaves which have python3?
>

That would be great.  (Fixing the missing six import should be quick.)

-- 
Gary
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-17 Thread Bill Deegan
Dirk,

It should be possible to say only branch "default".
Do we want to run the python3 branch on slaves which have python3?

-Bill


On Wed, Apr 16, 2014 at 11:48 PM, Dirk Bächle  wrote:

> Hi Bill,
>
> please not that these are changes on the "python3-port" branch, not on
> "default". Maybe it would be a good idea to configure Buildbot in such a
> way, that it doesn't run *every* latest commit. Would that be possible?
>
> Regards,
>
> Dirk
>
>
> On 17.04.2014 07:23, William Deegan wrote:
>
>> All builds are failing with:
>>
>> Traceback (most recent call last):
>>File "runtest.py", line 84, in 
>>  from six import PY3
>> ImportError: No module named six
>>
>> http://buildbot.scons.org:8010/builders/debian6-python-2.6/builds/35
>>
>> Please do not merge any further patches until we resolve this issue.
>>
>> -Bill
>>
>> ___
>> Scons-dev mailing list
>> Scons-dev@scons.org
>> http://two.pairlist.net/mailman/listinfo/scons-dev
>>
>
> ___
> Scons-dev mailing list
> Scons-dev@scons.org
> http://two.pairlist.net/mailman/listinfo/scons-dev
>
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] scons trunk is broken..

2014-04-16 Thread Dirk Bächle

Hi Bill,

please not that these are changes on the "python3-port" branch, not on 
"default". Maybe it would be a good idea to configure Buildbot in such a 
way, that it doesn't run *every* latest commit. Would that be possible?


Regards,

Dirk

On 17.04.2014 07:23, William Deegan wrote:

All builds are failing with:

Traceback (most recent call last):
   File "runtest.py", line 84, in 
 from six import PY3
ImportError: No module named six

http://buildbot.scons.org:8010/builders/debian6-python-2.6/builds/35

Please do not merge any further patches until we resolve this issue.

-Bill

___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


[Scons-dev] scons trunk is broken..

2014-04-16 Thread William Deegan
All builds are failing with:

Traceback (most recent call last):
  File "runtest.py", line 84, in 
    from six import PY3
ImportError: No module named six

http://buildbot.scons.org:8010/builders/debian6-python-2.6/builds/35

Please do not merge any further patches until we resolve this issue.

-Bill

___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev