Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread Russel Winder
On Tue, 2014-02-18 at 21:50 +0100, Dirk Bächle wrote:
> On 18.02.2014 21:19, anatoly techtonik wrote:
> > [...]
> > Ok. I'll put it the other way. Between automating the job of release 
> > manager,
> > which is done once in few months and automating the job of developer, which
> > is more than once in a while, you choose the former. Why?
> 
> Because my workflow seems to differ from yours.  Do you use 
> "bootstrap.py" to call a development version of SCons, or how do you do it?

I use bootstrap.py as my day-to-day production tool, I never actually
install SCons from a clone of the repository. I only ever use package
management to install from Debian or Fedora repository packages.

Debian currently package SCons 2.3.0, I can't get to Fedora 20 at the
time of writing, but the Fedora project package site says 2.3.0.

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

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


Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread Dirk Bächle

On 19.02.2014 06:15, Bill Deegan wrote:

Anatoly,

bootstrap.py is not meant to be run by users, only developers.

-Bill



I'd even go one step further and say: it's primarily meant to be run by 
release managers.


It's okay if you take on this role for yourself as a developer while 
you're hacking away with things, but as far as I know there is nowhere 
documented that this is actually required from you. Nobody forces you 
now or has forced you in the past, to run this additional step, right?
Or is it your understanding that every developer is required to run the 
full build scenario?


I can understand that you are a little confused, and maybe even 
frustrated, because suddenly things that seemed to work for you show a 
different behaviour. But that's what happens. Time goes by and things 
change. And we want some changes for the SCons project, to make it 
better, right?
And that's what we did, we made SCons better such that you don't have to 
write MAN pages by hand anymore for example. As a consequence of this, 
you simply don't get away anymore with what you did in the past: running 
only half of the packaging test without the documentation.
But this is also a change to the better side and not meant to be against 
you personally. It reduces the work load for the actual release managers 
because errors in the documentation syntax are revealed much earlier in 
the development process.


And you can still get back to your old routine and workflow and help the 
project even more and better than before, if you decide to take that 
little step and install the libxml2 or lxml Python bindings.
And if you decide to not install it, and simply skip the full packaging 
build, that'll be fine with everyone too...and you can save even more of 
your time and invest it in development itself.


Dirk

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


[Scons-dev] Re Install information update[was Re: SCons doesn't bootstrap without libxml2]

2014-02-19 Thread Russel Winder
On Tue, 2014-02-18 at 23:19 +0300, anatoly techtonik wrote:
[…]
> My opinion is that by adding additional dependencies to run the SCons
> without errors from a fresh checkout we are significantly increasing
> contribution
> barrier and discouraging people from participating.

I agree that this might put off people interested in helping to develop
SCons. However this has nothing to do with people taking up SCons for
production builds.

> People need to checkout and run to see the power of SCons. Not read,
> checkout, install, setup, run cycle. Something like this.

Again for potential contributors to the project yes, but not for take up
and traction.

The SCons install page talks about Fedora first, Debian second (and who
uses apt-get when aptitude is available?) and Windows as a footnote,
32bit Windows at that.

This page clearly needs to emphasize 64-bit in this day and age, Windows
and OSX since they are the hard ones. Ubuntu, Mint, RHEL, CentOS all
need to get into the role call.

We should also be thinking about Scons in Eclipse (i.e. advertise
SConsolidator and get equivalents for IntelliJ IDEA, NetBeans, etc.
Perhaps most importantly, most commercial C and C++ development happens
in Visual Studio, so why aren't we plugging SCons in the MSBuild space?

Well from a personal perspective, I don't give a sh&t about Windows, I
never use it, so I have no motivation to do anything along the lines I
propose. I am just setting out observations.

A few more observations whilst I am at it: D, Go, the whole JVM-verse
have their own build frameworks and do not use SCons and are less and
less likely to each day. Indeed Gradle is now getting traction as the C
++ build tool to replace Make for those doing C++ with some Java or vice
versa.

In this light I have dropped the Go build for SCons from maintenance,
and am not doing much with the D tooling until D has full support for
shared libraries. The current D tooling is working fine and needs
merging into master for 2.4.0. However I am not going to propose a merge
until someone or some CI is able to tell me the whole thing isn't
entirely borked on Windows. I test on Debian Fedora and OSX and it is
fine.

So if we are talking about support for development, CI please, for pull
requests.

SCons is my "go to" tool for LaTeX, C and C++, but sadly most people end
up using CMake. Poor them.


-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

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


Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread anatoly techtonik
On Wed, Feb 19, 2014 at 8:15 AM, Bill Deegan  wrote:
> Anatoly,
>
> bootstrap.py is not meant to be run by users, only developers.

I believe there is a terminology confusion. User is anybody who uses SCons.
Developer is anybody with commit right to the SCons repository.

When a person makes checkout of SCons to debug, check fixes or try
new features, this person is still a user and this person needs a quick
way to know that the SCons is not broken. Running tests takes a lt
of time, so most users won't survive long enough to become developers.
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread anatoly techtonik
On Wed, Feb 19, 2014 at 11:31 AM, Dirk Bächle  wrote:
> On 19.02.2014 06:15, Bill Deegan wrote:
>>
>> Anatoly,
>>
>> bootstrap.py is not meant to be run by users, only developers.
>>
>> -Bill
>>
>
> I'd even go one step further and say: it's primarily meant to be run by
> release managers.

It looks like I will be urged to demand prooflinks soon. =)

The previous behavior was useful for development, so if I wanted to increase
participation and quality of the code, I'd try to satisfy as much conflicting
interests as possible.

Right now I don't really see where is the conflict. Well, now that I think about
it - I can revert to previous behavior myself, but it will take more time to
investigate what was done, so if you can pinpoint me to the piece of code that
needs to be brought back it will save all of us a several hours of debates and
free this time on something useful.

> Nobody forces you now or has forced
> you in the past, to run this additional step, right?

I miss the context. Which step and why should I be forced?
Right now I am forced to install doc toolchain just to run a quick
integration test for which bootstrap was used. You're not providing
any alternative for this scenario and forcing me to think that I am
developing SCons wrong and SCons was not meant to be developed
this way. Sorry for the tone, I don't want to offend anyone, I type this
in a hurry and have to apply critical logic to outline all arguments as
quickly as possible.

> Or is it your understanding that every developer is required to run the full
> build scenario?

No. It is your understanding. Sorry.

The point of conflict that you don't accept is that bootstrap.py can be used
and was used in the past as quick integration test. Please think about this
and provide viable alternative to the person who is been robbed of his favorite
hack. =)

> And that's what we did, we made SCons better such that you don't have to
> write MAN pages by hand anymore for example. As a consequence of this, you
> simply don't get away anymore with what you did in the past: running only
> half of the packaging test without the documentation.

You are forcing people to a better change. If you want to make SCons better
make the documentation build out of development loop cycle. This will save
that precious bits of time that we all have at scarce.

I am not saying not to build docs. I am saying - make it optional. Please
hear me. bootstrap.py is not for building SCons. It is for testing what's in
repository, and SCons SConstruct most of the time is the only comprehensive
example you can test against.

> But this is also a change to the better side and not meant to be against you
> personally. It reduces the work load for the actual release managers because
> errors in the documentation syntax are revealed much earlier in the
> development process.

Resurrect buildbots. There is a machine at speed.python.org that nobody
cares about, so if you send a letter to Jessie, I don't see any problems in
him to allow to use it for SCons. The machine can automatically build the
docs and notify everybody about these errors. This will work. Forcing people
to build docs to "reduce the work load" for release managers by spending
much more developer's time on that task is the balance I can't agree with.
Developer can become a release manager, but the opposite is not true.

> And you can still get back to your old routine and workflow and help the
> project even more and better than before, if you decide to take that little
> step and install the libxml2 or lxml Python bindings.

I am on Windows, and for some reason pip doesn't install any of them.

> And if you decide to not install it, and simply skip the full packaging
> build, that'll be fine with everyone too...and you can save even more of
> your time and invest it in development itself.

You're again forcing me skip running integration test and do the
development the way you want. Do I look like demanding from you to skip
building documentation altogether? Why the resistance? I'd personally
resist only because I could be lazy to do the change. Is that it? =)
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] Re Install information update[was Re: SCons doesn't bootstrap without libxml2]

2014-02-19 Thread anatoly techtonik
On Wed, Feb 19, 2014 at 11:42 AM, Russel Winder  wrote:
> On Tue, 2014-02-18 at 23:19 +0300, anatoly techtonik wrote:
> […]
>> My opinion is that by adding additional dependencies to run the SCons
>> without errors from a fresh checkout we are significantly increasing
>> contribution
>> barrier and discouraging people from participating.
>
> I agree that this might put off people interested in helping to develop
> SCons. However this has nothing to do with people taking up SCons for
> production builds.

People taking up SCons for production builds of what? SCons itself or
production builds of their own products? The latter auditory is not affected.

>> People need to checkout and run to see the power of SCons. Not read,
>> checkout, install, setup, run cycle. Something like this.
>
> Again for potential contributors to the project yes, but not for take up
> and traction.
>
> The SCons install page talks about Fedora first, Debian second (and who
> uses apt-get when aptitude is available?) and Windows as a footnote,
> 32bit Windows at that.
>
> This page clearly needs to emphasize 64-bit in this day and age, Windows
> and OSX since they are the hard ones. Ubuntu, Mint, RHEL, CentOS all
> need to get into the role call.

SCons clearly needs people to reduce talks into commits. =)
Integrating Parts ASAP and enable cross-platform builds.

> We should also be thinking about Scons in Eclipse (i.e. advertise
> SConsolidator and get equivalents for IntelliJ IDEA, NetBeans, etc.
> Perhaps most importantly, most commercial C and C++ development happens
> in Visual Studio, so why aren't we plugging SCons in the MSBuild space?

Because it is hard to integrate. That's why.

> A few more observations whilst I am at it: D, Go, the whole JVM-verse
> have their own build frameworks and do not use SCons and are less and
> less likely to each day. Indeed Gradle is now getting traction as the C
> ++ build tool to replace Make for those doing C++ with some Java or vice
> versa.

People entertain. It is their right to use the tools that they can expand.
The only goal that SCons has is that it is written in Python, but when
people see that they can not expand it, they switch to a more popular
alternative.

> So if we are talking about support for development, CI please, for pull
> requests.
>
> SCons is my "go to" tool for LaTeX, C and C++, but sadly most people end
> up using CMake. Poor them.

I am not using SCons at all for my projects. They all web and Python,
but I need to get access to SCons core to reuse it for other graph building
tasks, such as deploying a network infrastructure.
___
Scons-dev mailing list
Scons-dev@scons.org
http://two.pairlist.net/mailman/listinfo/scons-dev


Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread Managan, Rob
Not that I want to wade into this discussion but just a reminder that in
all the developing I have done with scones (not a lot) I have never used
the bootstrap process. I always have opted for the procedure just above
that in the README.rst

You can execute the local SCons directly from the src/ subdirectory by
first setting the SCONS_LIB_DIR environment variable to the local
src/engine subdirectory, and then executing the local src/script/scons.py
script to populate the build/scons/ subdirectory. You would do this as
follows on a Linux or UNIX system (using sh or a derivative like bash or
kWh):

$ setenv MYSCONS=`pwd`/src
$ setenv SCONS_LIB_DIR=$MYSCONS/engine
$ python $MYSCONS/script/scons.py [arguments]

Or on Windows:

C:\scons>set MYSCONS=%cd%\src
C:\scons>set SCONS_LIB_DIR=%MYSCONS%\engine
C:\scons>python %MYSCONS%\script\scons.py [arguments]

I suppose I should go ahead and put in a pull request to correct the typos
or to be specific give examples for different shells so it works. For my
old school mindset I like the idea of just telling scones where to find
the source.



*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
Rob Managan email managan at llnl.gov
LLNL phone: 925-423-0903
P.O. Box 808, L-095   FAX:   925-422-3389
Livermore, CA  94551-0808

>

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


Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread Bill Deegan
Might I suggest we stop discussing it and just propose pull requests.
If you have a specific change in mind, then make it and send a pull request.

That said, I only see one person with an issue to the change made. (unless
I'm misreading), and lots of time spent discussing.

Personally, I'd like to get scons setup so I can do : pip install -e scons
and then just use that virtualenv.
I've done that with other projects (buildbot), and it's pretty darned easy
and useful.

-Bill


On Wed, Feb 19, 2014 at 1:21 AM, anatoly techtonik wrote:

> On Wed, Feb 19, 2014 at 11:31 AM, Dirk Bächle  wrote:
> > On 19.02.2014 06:15, Bill Deegan wrote:
> >>
> >> Anatoly,
> >>
> >> bootstrap.py is not meant to be run by users, only developers.
> >>
> >> -Bill
> >>
> >
> > I'd even go one step further and say: it's primarily meant to be run by
> > release managers.
>
> It looks like I will be urged to demand prooflinks soon. =)
>
> The previous behavior was useful for development, so if I wanted to
> increase
> participation and quality of the code, I'd try to satisfy as much
> conflicting
> interests as possible.
>
> Right now I don't really see where is the conflict. Well, now that I think
> about
> it - I can revert to previous behavior myself, but it will take more time
> to
> investigate what was done, so if you can pinpoint me to the piece of code
> that
> needs to be brought back it will save all of us a several hours of debates
> and
> free this time on something useful.
>
> > Nobody forces you now or has forced
> > you in the past, to run this additional step, right?
>
> I miss the context. Which step and why should I be forced?
> Right now I am forced to install doc toolchain just to run a quick
> integration test for which bootstrap was used. You're not providing
> any alternative for this scenario and forcing me to think that I am
> developing SCons wrong and SCons was not meant to be developed
> this way. Sorry for the tone, I don't want to offend anyone, I type this
> in a hurry and have to apply critical logic to outline all arguments as
> quickly as possible.
>
> > Or is it your understanding that every developer is required to run the
> full
> > build scenario?
>
> No. It is your understanding. Sorry.
>
> The point of conflict that you don't accept is that bootstrap.py can be
> used
> and was used in the past as quick integration test. Please think about this
> and provide viable alternative to the person who is been robbed of his
> favorite
> hack. =)
>
> > And that's what we did, we made SCons better such that you don't have to
> > write MAN pages by hand anymore for example. As a consequence of this,
> you
> > simply don't get away anymore with what you did in the past: running only
> > half of the packaging test without the documentation.
>
> You are forcing people to a better change. If you want to make SCons better
> make the documentation build out of development loop cycle. This will save
> that precious bits of time that we all have at scarce.
>
> I am not saying not to build docs. I am saying - make it optional. Please
> hear me. bootstrap.py is not for building SCons. It is for testing what's
> in
> repository, and SCons SConstruct most of the time is the only comprehensive
> example you can test against.
>
> > But this is also a change to the better side and not meant to be against
> you
> > personally. It reduces the work load for the actual release managers
> because
> > errors in the documentation syntax are revealed much earlier in the
> > development process.
>
> Resurrect buildbots. There is a machine at speed.python.org that nobody
> cares about, so if you send a letter to Jessie, I don't see any problems in
> him to allow to use it for SCons. The machine can automatically build the
> docs and notify everybody about these errors. This will work. Forcing
> people
> to build docs to "reduce the work load" for release managers by spending
> much more developer's time on that task is the balance I can't agree with.
> Developer can become a release manager, but the opposite is not true.
>
> > And you can still get back to your old routine and workflow and help the
> > project even more and better than before, if you decide to take that
> little
> > step and install the libxml2 or lxml Python bindings.
>
> I am on Windows, and for some reason pip doesn't install any of them.
>
> > And if you decide to not install it, and simply skip the full packaging
> > build, that'll be fine with everyone too...and you can save even more of
> > your time and invest it in development itself.
>
> You're again forcing me skip running integration test and do the
> development the way you want. Do I look like demanding from you to skip
> building documentation altogether? Why the resistance? I'd personally
> resist only because I could be lazy to do the change. Is that it? =)
> ___
> Scons-dev mailing list
> Scons-dev@scons.org
> http://two.pairlist.net/mailman/listinfo/sco

Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread Russel Winder
On Wed, 2014-02-19 at 16:44 +, Managan, Rob wrote:
[…]
> You can execute the local SCons directly from the src/ subdirectory by
> first setting the SCONS_LIB_DIR environment variable to the local
> src/engine subdirectory, and then executing the local src/script/scons.py
> script to populate the build/scons/ subdirectory. You would do this as
> follows on a Linux or UNIX system (using sh or a derivative like bash or
> kWh):
> 
> $ setenv MYSCONS=`pwd`/src
> $ setenv SCONS_LIB_DIR=$MYSCONS/engine
> $ python $MYSCONS/script/scons.py [arguments]
[…]

I guess the reason I haven't tried this is that it populates the source
tree with .pyc files whereas using the bootstrap.py it leaves the source
tree untouched. Maybe I should just get used to pollution :-) 

-- 
Russel.
=
Dr Russel Winder  t: +44 20 7585 2200   voip: sip:russel.win...@ekiga.net
41 Buckmaster Roadm: +44 7770 465 077   xmpp: rus...@winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder

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


Re: [Scons-dev] SCons doesn't bootstrap without libxml2

2014-02-19 Thread Dirk Bächle

On 19.02.2014 18:07, Bill Deegan wrote:

Might I suggest we stop discussing it and just propose pull requests.
If you have a specific change in mind, then make it and send a pull 
request.




Yup, I'm all for it. @Anatoly: the commits that introduced the new doc 
toolchain are "8ca01af:0c9c8af" (pull request #77, 2013-05-04).


Dirk

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