Hello, Followers of this list will recall a discussion several weeks ago about creating a project archiver. This utility would automatically create a portable file holding all design materials, including a local copy of the symbol files.
At that time, I proposed writing one in Python. Now I have done just that, and am making the utility available to the gEDA community under the GPL. You can get it at: http://www.brorson.com/gEDA/garchive/ It works with gEDA-20030901, but will probably also work with earlier versions of gEDA. It uses Python 2.2; I haven't tried it with an older distribution of Python, but I can't imagine why it wouldn't work (famous last words. . . .). To install it just do this: 1. Place the file garchive.py in your ${geda-source}/geda-utils-20030901/scripts directory. 2. Update your Makefile using the instructions provided on the web page. The important part of this is that the new Makefile hardcodes the location of the system gEDA resources into the script. In C programs this is done using the config.h facility, but for a script you need to hard code it. (Ales, I have updated the Makefile.am to incorporate these changes for the next time you create a new release. You can pick up the new Makefile.am file on my web page.) 3. Do a "make && make install" in your scripts directory. You should now be ready to use garchive. Garchive runs in two modes, archive creation and archive extraction. To create an archive, just do (for example): garchive -v -o OutputArchive.gar Schematic1.sch Schematic2.sch Schematic3.sch To extract an archive, just do (for example): garchive -e ProjectArchive.gar Note that the preferred file extension is ".gar" for _g_EDA _ar_chive. Further instructions and documentation are in the script itself. Please give it a spin, and direct all bugs and comments to me. I am particularly interested in bug reports; this is a "beta" release (as it were), but it should run without problems. I have done a bit of testing. Nonetheless, nothing is ever perfect and if people discover bugs I would like to fix them. If you do report a bug, please be as specific as possible about what you did when you encountered the problem. Thanks, Stuart
