Re: [Scons-dev] SCons doesn't bootstrap without libxml2
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
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]
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
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
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]
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
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
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
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
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