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
