Hi Pitor --

> > I've been working on an automated installer for the entire gEDA Suite,
> > including PCB.   
> 
> Stuart,
> 
> is your installer based on gEDA Suite Setup or is it a new design ? 

It's a new design.  I wrote it in Python using Glade for the GUI
stuff.  I also used several imported Python modules, including a
version of "expect" for Python, which is used when commands must be
executed as root.

I was aware of your nice setup program, of course.  Here are the
reasons I didn't use or extend it:   

*  Your setup program is written in C, and I don't think that it uses
Glade.  I am a lousy C programmer, and it would take me probably
months to learn your prog and then hack it enough to do what I did
using Python in about 3 weeks.  Simply put:  I am better and more
efficient in Python than in C.  (And I think most people would be,
too, if they knew Python.) 

*  Since I think your prog doesn't use Glade, writing the GUI windows
would be a PITA.  I did some minor GUI hacking on gschem for Ales, and
also wrote gattrib without Glade.  I must say that trying to write a 
windowing system without a GUI tool like Glade is extremely painful
and takes a lot longer than it does *with* Glade.

*  Philosophically, I don't think that C is the right language for a
setup suite.  A setup suite is basically a wrapper which calls a
bunch of shell commands, and handles user input using the simple GUI.
Interacting with the shell is best handled using a high-level or
scripting language, IMHO.  C is just too low level, and it accordingly
takes much longer to work the bugs out of a C program than out of,
say, Python. 

*  Another bad feature of C is that it has no built-in facilities for
handling strings or lists of strings.  To handle these simple data
structures in C requires creating linked lists & munging around with
pointers.  Yuck!!!  Python implements these data structures natively.

*  I have tried installing gEDA/gaf using your setup suite the past
(OK, maybe one or two years ago).  It used to segfault every time.
Therefore, I became wary of it, and nowadays install gEDA using Ales'
"Make install" from the command line.  Ales says that your installer
works better now.  Nonetheless, I think part of the problem was 
-- again -- your setup program was written in C, and so it was
inherently prone to be buggy, at least in comparison to Python.

*  Finally, my installer is targeted to install everything, including
gEDA/gaf, ngspice, PCB, gnucap, Icarus Verilog, etc. etc. etc.  I am
not sure how easy it would be to extend your prog, which was targeted
at installing gEDA/gaf, IIRC.

So that was my reasoning.  Ordinarily, I would prefer to take somebody
else's stuff & just extend it.  However, in this case I struck out on
my own path for the above reasons.

Stuart


Reply via email to