Release notes for the gEDA/gaf 20020825 development snapshot ------------------------------------------------------------ CHANGES: General ***** READ THIS ***** ***** READ THIS ***** ***** READ THIS ***** * IMPORTANT CHANGES * * IMPORTANT CHANGES * * IMPORTANT CHANGES * ***** READ THIS ***** ***** READ THIS ***** ***** READ THIS ***** * This is a fairly significant release in that most of the required standard symbol/schematics attributes have been either renamed, changed, and/or obsoleted. The old set of attribute included: - pin#=# pin sequence and pin number information - slot#=# slotting information - uref=string unit reference information - label=# net naming information - name=string inconsistent uses The new set of attributes includes: - pinseq=# pin sequence information (replaces pin#=#) - pinnumber=# pin number information (replaces pin#=#) - slotdef=#:#,#... sloting information (replaces slot#=#) - netname=string net naming information (replaces label=string) - refdes=string reference designator (replaces uref=string) As you can see I got rid of the string#=# scheme that was in use. I replaced this attribute scheme with much a clearer, simpler, and less ambiguous scheme. I have been threatening to make these changes for quite some time now. Two important changes, uref= is now refdes= which is a much more industry standard attribute. label= is really ambiguous (IMO) and is now netname=. So, what does all this mean: - it means that symbols/schematics created with 20020825 are no longer attribute _backwards_ compatible with <= 20020527. - it means that symbols/schematics created with <= 20020527 need to be updated to use the new attributes. - All existing symbols and schematics need to be updated. - If you do not update your schematics/symbols, you will not be able to use slots and netlist your schematics. Let me clarify something though, the file format has not changed (yet), only the standard (required) attributes have changed. I do plan to make some minor file format changes sometime in the future, but those should be fairly transparent to the end user. I have provided two perl scripts which update existing symbols (gsymupdate) and schematics (gschupdate) to use the new attribute set. See below. I have also finally given gsymcheck much more bite. It now checks for common symbol errors and makes sure required attributes are part of the symbol. For a complete list of all attributes please see the new attribute master list document at: http://geda.seul.org/docs/attributes/ * Integrated the i18n gschem code changes by Antonio and Alexandre. (Many thanks!). These changes include a Portuguese translation of most of the dialog / message strings. Menu translation still needs a little work (on my part). * In order to support the i18n changes, gettext >= 0.11.2 is now required. If you cannot build, you could try adding one of the following options to each ./configure script run: --disable-nls or --with-included-gettext libgeda * Bumped the libgeda.so file's version to 16.0.0. * A bunch of changes to support the above attribute renaming etc... * Obsoleted or deleted a bunch of functions which were either not needed anymore or just plain wrong. * Moved some gsymcheck structures into gsymcheck/include/struct.h * Fixed the segfault when using Finnish/Swedish characters. * The usual minor bug fixes. gschem * Integrated a patch from Dave Lawrence which adds useful capabilities to the Add Attribute... dialog box. Select multiple components or nets and you will be able to attach attributes to all the selected objects or replace existing attributes on all the selected objects. Thanks for the patch Dave! * Fixed a long standing bug in the Find Specific Text... option. Now when the text string is found, it is properly centered and legible on the screen. * Re-laid out the Add Attribute... dialog box using glade. I will slowly go through and redo all dialog boxes (mainly for appearance). The print dialog box is horrific. * Hopefully got -with-rcdir working again. * Added Edit/Update Component, which updates (re-reads) all selected components. Handy when you need to re-promote attributes. Note, existing attached attributes are not removed, so you might end up with duplicate attributes attached to a component. * Went through and fixed up any code which needed to be updated take into account the above mentioned attribute changes. * Add the Escape key bindings for more dialog boxes. * Updated all example schematics using gschupdate. * Moved all test/developer only schematics from examples/ to test/ * Integrated all the MinGW changes that were required post 20020527. * Added to postscript output controlling rc variables: setpagedevice-orientation (which when enabled will put the correct: << /Orientation ? >> setpagedevice line into the ps output) and setpagedevice-pagesize (which when enabled will put the correct: << /PageSize [? ?] >> setpagedevice line into the ps output). Please try these out and let me know if I got them right. See the system-gschemrc file for more info. * Hopefully better looking bitmaps for the toolbar * Minor tweaks to the light color scheme (anybody using the light color scheme?) * The usual bug fixes, including some nasty core dumpers and memory leaks. * A bunch of other smaller changes, please see gschem/ChangeLog for more info. gnetlist * Went through and fixed up any code which needed to be updated take into account the above mentioned attribute changes. This includes the various affected backends (spice, vipec, gossip, vams, and vhdl) * Backend scheme interface changes: Created: gnetlist:get-attribute-by-pinseq Renamed: gnetlist:get-pin-attribute to gnetlist:get-attribute-by-pinnumber * Integrated bug fix patches from Dan McMahill and Bryce Denney. Thank you! * Updated all example schematics/symbols to the new attribute scheme. * Created a few more test schematics and netlist output to get better regression test coverage (still pretty weak). * A little bit of work to support the MinGW port. * A bunch of other smaller changes, please see gnetlist/ChangeLog for more info. gsymcheck * Lots of work on gsymcheck. gsymcheck was a joke for a very long time; now it is actually useful. In fact, all submitted symbols must now pass gsymcheck error free. Warnings are okay, but eventually those will become errors (in a future release). * Here are the tests which gsymcheck now supports: - Multiple refdes= attributes - Too many slotdef attributes (based on numslots=) - Forbidden/old attributes (name, label, type, uref) - Missing device= attribute - Missing footprint= attribute (warning for now) - Multiple footprint=, pinlabel=, and pintype= attributes - No/incomplete slotting information (warning for now) - Missing numslots= attribute (warning for now) - Missing slotdef= attributes - Invalid slotdef= attributes - Having old attributes inside symbols - Duplicate pinnumber attributes - Missing pinnumber= attributes - Missing pinlabel= attributes (warning for now) - Duplicate pinseq= attributes - Missing pinseq= attributes - Incorrect use of the graphical= attribute - Zero for pins in various attributes - Bus/net/connections inside symbols. * Reorganized some of the internal structures. Still needs a little work though. * Added a bunch of incorrect symbols to exercise gsymcheck in tests/ * A little bit of work to support the MinGW port. symbols * Created: http://www.geda.seul.org/symlibrary/ which shows the sorry shape that the symbol library is in. There are too many errors in the symbol files. Most errors are quite serious. More on this later. * Updated all symbols to use the new attribute scheme using gsymupdate. * Added a bunch of contributed symbols from various people. Thank you! utils * Created a perl script to update old symbols to the new attribute scheme: gsymupdate Creates a backup of the symbol (filename.sym.old). Will not run if .old file exists. Usage: gsymupdate filename1 filename2 ... filenameN * Created a perl script to update old schematics to the new attribute scheme: gschupdate Creates a backup of the schematic (filename.sch.old). Will not run if .old file exists. Usage: gschupdate filename1 filename2 ... filenameN * I did not not fix all utilities to use the new attribute scheme; I ran out of time. You might need to run gsymupdate or gschupdate on the output from some of the utils. * Bug fixes to gmk_sym by Chris Ellec docs * Reworked attribute master list to reflect the new attribute scheme. Rewrote this document using LaTeX. I will be moving all the existing documentation into LaTeX. All documentation will be made available in html and postscript. * I still need to update the other documentation. That will happen later (post-20020825), so there is no geda-docs-20020825 packages yet. For more a detailed ChangeLog please look in the appropriate source directories. DOWNLOAD: http://www.geda.seul.org/source.html http://www.geda.coelacanth.com/source.html http://ieee.ing.uniroma1.it/geda/source.html http://ftp.sunet.se/geda/source.html BINARIES: Unix None yet MinGW (Win32) None yet SOURCE TARBALLS: Makefile 15k libgeda-20020825.tar.gz 823k geda-symbols-20020825.tar.gz 396k geda-gschem-20020825.tar.gz 1.2M geda-gnetlist-20020825.tar.gz 245k geda-gsymcheck-20020825.tar.gz 130k geda-utils-20020825.tar.gz 126k Required libraries (http://www.geda.seul.org/dist): * glib >= 1.2.3 * gtk+ >= 1.2.3 * guile 1.4 Required programs (http://www.geda.seul.org/dist): * GNU gettext >= 0.11.2 (0.10.35 will NOT work) Optional libraries (http://www.geda.seul.org/dist): * LibStroke 0.5.1 * libgdgeda 1.8 * zlib 1.1.x * libpng 1.0.x BUILDING, INSTALLING, RUNNING: 1) Download all the above files and the required libraries. 2) Build and install the required and optional libraries. 3) Untar all of the geda tar files in the same directory. 4) Set the prefix= variable in the Makefile 5) Run: make and set the specified variables (PATH and LD_LIBRARY_PATH) 6) Run: make install -OR- 1) Download all the above files and the required libraries. 2) Build and install the required and optional libraries. 3) Untar all of the geda tar files in the same directory. 4) Go into each directory and run: ./configure [ with --prefix=$HOME/geda if you wish ] make install You must build and install the packages in the following order: 1. libgeda 2. symbols 3. gschem 4. gnetlist 5. gsymcheck 6. utils