Re: scons

2011-01-21 Thread Matthew King

On Wed, 19 Jan 2011 15:21:01 +, Nicholas Clark n...@ccl4.org
wrote:
 On Wed, Jan 19, 2011 at 03:14:30PM +, Nicholas Clark wrote:
 
 I'm not sure whose fault this hateful incompetence is - the authors of scons,
 or the authors of the package's SConstruct file. But, frankly, I don't care.
 What is the point of having the ability to have local help information, if
 it's not possible to read it unless you meet the package prerequisites?
 Which, you know, might be why I'm looking for help.
 
 Oh yes, and there is no warning, let alone error, if you supply an unknown
 option. It's silently ignored. So God help you, because scons doesn't
 want to:
 
 $ scons --any --crap --you --like
 
 scons: *** No SConstruct file found.
 File /usr/lib/scons/SCons/Script/Main.py, line 825, in _main

make is a steaming heap of festering hate, with putrid, hate-filled
maggots writhing out of it.

Everything which has tried to replicate or improve upon it makes it
look attractive and appealing. Like OS X looks right up until the day
you buy a mac.

Matthew




Re: scons

2011-01-21 Thread Nicholas Clark
On Fri, Jan 21, 2011 at 03:04:34PM +, Matthew King wrote:

 make is a steaming heap of festering hate, with putrid, hate-filled
 maggots writhing out of it.
 
 Everything which has tried to replicate or improve upon it makes it
 look attractive and appealing. Like OS X looks right up until the day
 you buy a mac.

Indeed. Compare:

$ make -f 'This file does not exist'
make: This file does not exist: No such file or directory
make: *** No rule to make target `This file does not exist'.  Stop.
$ echo $?
2


$ sed -f 'This file does not exist'
sed: couldn't open file This file does not exist: No such file or directory
$ echo $?
4


$ awk -f 'This file does not exist'
awk: cannot open This file does not exist (No such file or directory)
$ echo $?
2


$ scons -f 'This file does not exist'
scons: Reading SConscript files ...

scons: warning: Ignoring missing SConscript 'This file does not exist'
File /usr/bin/scons, line 161, in module
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
$ echo $?
0

Every other utility that I'm aware of, if you tell it open this file, will
treat it as an error condition if said file does not exist.

scons is special.

Nicholas Clark



Re: scons

2011-01-21 Thread Gert Doering
Hi,

On Fri, Jan 21, 2011 at 03:12:23PM +, Nicholas Clark wrote:
 $ scons -f 'This file does not exist'
 scons: Reading SConscript files ...
 
 scons: warning: Ignoring missing SConscript 'This file does not exist'
 File /usr/bin/scons, line 161, in module
 scons: done reading SConscript files.
 scons: Building targets ...
 scons: `.' is up to date.
 scons: done building targets.
 $ echo $?
 0

Nobdoy wants error messages or error return codes!  

It's way too much effort to handle those anyway!

So this is a real improvement: no need to write an error handler, because
there Can Not Be Errors.

gert

-- 
USENET is *not* the non-clickable part of WWW!
   //www.muc.de/~gert/
Gert Doering - Munich, Germany g...@greenie.muc.de
fax: +49-89-35655025g...@net.informatik.tu-muenchen.de



Re: scons

2011-01-21 Thread Walt Mankowski
On Fri, Jan 21, 2011 at 03:12:23PM +, Nicholas Clark wrote:
 $ make -f 'This file does not exist'
 make: This file does not exist: No such file or directory
 make: *** No rule to make target `This file does not exist'.  Stop.
 $ echo $?
 2
 
 
 $ sed -f 'This file does not exist'
 sed: couldn't open file This file does not exist: No such file or directory
 $ echo $?
 4
 
 
 $ awk -f 'This file does not exist'
 awk: cannot open This file does not exist (No such file or directory)
 $ echo $?
 2
 
 
 $ scons -f 'This file does not exist'
 scons: Reading SConscript files ...
 
 scons: warning: Ignoring missing SConscript 'This file does not exist'
 File /usr/bin/scons, line 161, in module
 scons: done reading SConscript files.
 scons: Building targets ...
 scons: `.' is up to date.
 scons: done building targets.
 $ echo $?
 0
 
 Every other utility that I'm aware of, if you tell it open this file, will
 treat it as an error condition if said file does not exist.

ant, for instance, wants to be absolutely sure you know it doesn't
exist:

$ ant -f 'This file does not exist'
Buildfile: This file does not exist does not exist!
Build failed

OK, so the error message could be better, but even ant manages to its
exit code to something nonzero:

$ echo $?
1

I suppose it's too much to ask for programs to return the *same* error
code (ENOENT comes to mind) when a file doesn't exist.

Walt



Re: scons

2011-01-21 Thread Peter Corlett
On Fri, Jan 21, 2011 at 10:43:58AM -0500, Walt Mankowski wrote:
[...]
 I suppose it's too much to ask for programs to return the *same* error
 code (ENOENT comes to mind) when a file doesn't exist.

Why bother? It's not as if shell scripts ever bother to check for errors
anyway.




Re: scons

2011-01-21 Thread Nicholas Clark
On Fri, Jan 21, 2011 at 03:48:44PM +, Peter Corlett wrote:
 On Fri, Jan 21, 2011 at 10:43:58AM -0500, Walt Mankowski wrote:
 [...]
  I suppose it's too much to ask for programs to return the *same* error
  code (ENOENT comes to mind) when a file doesn't exist.
 
 Why bother? It's not as if shell scripts ever bother to check for errors
 anyway.

Yeah, but with scons I can't even write a shell script to Mumble Grumble...
[which would be creating more software]

It's making me want to head down the pub and stay there.
[which doesn't cause the creation of more software]

Mmmm, maybe scons is beneficial to the overall amount of software hate, by
being so effective at the prevention of the creation of software.

Nicholas Clark



Re: scons

2011-01-19 Thread Nicholas Clark
On Wed, Jan 19, 2011 at 03:14:30PM +, Nicholas Clark wrote:

 I'm not sure whose fault this hateful incompetence is - the authors of scons,
 or the authors of the package's SConstruct file. But, frankly, I don't care.
 What is the point of having the ability to have local help information, if
 it's not possible to read it unless you meet the package prerequisites?
 Which, you know, might be why I'm looking for help.

Oh yes, and there is no warning, let alone error, if you supply an unknown
option. It's silently ignored. So God help you, because scons doesn't want to:

$ scons --any --crap --you --like

scons: *** No SConstruct file found.
File /usr/lib/scons/SCons/Script/Main.py, line 825, in _main

Nicholas Clark