Release notes for the gEDA/gaf 20021103 development snapshot ------------------------------------------------------------ CHANGES: General / Summary * This release has additional file format changes: - Pins now include a flag which specify which end of the pin is the active end. You can only connect nets and other pins to this active end. - Pins also have another flag which determines if this pin is a regular pin (for nets and other pins) or a bus pin. Bus pins are not fully implemented yet. - Buses now have a flag which controls which direction the bus ripper is drawn. Initially this direction is not set, but once you connect a net to the bus, the direction is saved for the lifetime of the bus segment. * The above changes should be completely transparent to the user. I have not updated the file format doc to be current. This will be done for the next release. * The gschupdate and gsymupdate now update all schematics and symbols to the last revision of the file format (including attributes). It is recommended that all existing schematics and symbols be updated (otherwise libgeda will output a warning to the log file). * Fully upgraded all auto* files from automake 1.7.1, autoconf 2.54, libtool 1.4.2, and gettext 0.11.5. * More work on the bus support in gschem, namely the drawing of bus rippers. * Integrated a few new utilities (still have a couple pending). * Docs is now a ./configure'd package and all of the documentation is installed into ${prefix}/share/gEDA/documentation. The doc package is now required if you use the toplevel Makefile. * Added the docs sub directory to the toplevel Makefile. Also improved the toplevel make to do a make libgeda-config-install and a make gesym-config-install when running make config. libgeda * Bumped shared library version number to 17 * Changed bus / net / pin connection rules: - You cannot connect a regular pin to a bus. You have to use a net to connect a pin to a bus. - You cannot connect the endpoint of net to the endpoint of bus. You can only connect nets to the middle of buses. * Auto computation mechanism for the pin's active (connection valid) which end. This allows for users to load up older symbol files and still have them work in 20021103. If this auto mechanism gets it wrong (i.e. picks the wrong end for the connection end), please try changing the force-boundingbox rc keyword in system-gschemrc or system-gschlasrc. I have not seen this mechanism completely fail, however, if you do get it to fail, please send me the symbol. * Fixed a long standing bug reported by Karel 'Clock' Kulhavy, where arcs in the png output where not being drawn correctly for very large pngs. * Changed the hardcoded values for the thickness of bus widths, net widths, and pin widths. Also changed the size of the visual cues in the postscript to be exactly the same as on the screen. I would like some feedback on this, worse or better? * Added a warning message to the log (and log window) if a symbol or schematic with an old version is read. * Consolidated all s_project_* methods from gsymcheck and gnetlist and put them into libgeda. gschem * Added a visual cue to all pins (a red mark) to show which end of the pin is the active (connection) end. When you connect a net to the active end of a pin, the red mark goes away. Adding the active end flag to pins helped get rid of some rather annoying visual artifacts. It also allows you to draw a net all the way through a pin and only get one valid connection. * Added the drawing of bus rippers when you connect a net to a bus. You can get the bus ripper to appear if you draw the net and have the net endpoint touching a bus or if you use the grips to move a net endpoint to touch a bus. Copying or moving a net does not cause the bus ripper to be drawn (I might add this later). The bus and bus ripper support in gschem is not complete yet. The way of implementing bus rippers was modeled on Egil Kvaleberg's bus ripper patch. * The bus ripper support is actually implemented by using a special component/symbol. There are several rc keywords which control the appearance of the bus ripper. Please look in system-gschemrc for bus-ripper-size, bus-ripper-type, bus-ripper-symname, and bus-ripper-rotation. * If you specify "net" to bus-ripper-type, a regular net will connect to the bus (angled). There will be small red circular visual cues shown (at the connection) when this happens. * Initially when you draw a bus, the direction of the bus ripper will be unset, however, the moment you connect a net to the bus, this direction is set forever. The direction of the net is control by where you connect that first net to the bus. Example (use a fixed spaced font to view this): ==+===============+======= Bus / / | | | | |First net |Second net - Or - ==+===============+======= Bus \ \ | | | | |Second net |First net Vertical buses behave in a similar fashion. All subsequent nets connected to this bus will draw the bus ripper in the same direction. This information is stored in the file format. To reset the direction, delete the bus segment and re-draw the bus segment. * You can now resize the window to smaller size without changing any rc file. In previous releases, the initial size was the smallest allowable size. * Re-implemented the multi attribute editor dialog box to be a little more polished looking. * Egil Kvaleberg supplied a whole bunch of patches including: - Hierarchy/Documentation patch. If you select a component, gschem will attempt to find documentation on the component. The documentation= attribute gives gschem a lot of hints as to where to look (either local file or URL). If neither a local file or URL is found, then gschem goes searching via a Internet search engine . As an example, the 7400-1.sym and nc-* symbols have this attribute. - Help/Manual patch. If you select this item off of the Help menu, hopefully, a web browser will pop up a webpage which allows you to read all the gEDA/gaf documentation. - "Snap Off" and "Show Hidden" status indicators patch. If you turn the snap off or show hidden text, then appropriate text appears in lower right of the status bar. Egil also cleaned up the status code to be sane and much easier to maintain. - Quite a few bug fix and nit patches. Many thanks Egil. * Integrated a bunch of patches for i18n from various people (see below). Thanks. * The top menu should now be translated, so there is no need to translate/duplicate the system-gschemrc. * This release now includes translations for: Dutch German Japanese Portuguese (and English :-) Many thanks to Alexandre P. Nunes, Antonio A Todo Bom, MIYAMOTO Takanori, and Bert Timmerman for this work. * Upgraded intl to gettext 0.11.5. I don't know if this breaks if you are trying to build with gettext 0.11.2. * Moved the gschem.txt user manual to the geda-docs package. * The usual numerous bug fixes. gnetlist * Fixed a few bugs reported by various users. Most of the bugs were in the scheme backends. * Removed s_project.c and started using the code in libgeda. * Ran gnetlist on a schematic with a bus and it should behave almost exactly the same as in the past. Bunch of work pending here. * Moved the gnetlist.txt user manual to the geda-docs package. gsymcheck * Removed s_project.c and started using the code in libgeda. * No significant work. gsymcheck still works on current symbols. A few suggestions pending. symbols * Werner Hoch has been working on fixing the symbols which are fixable. This work is *GREATLY* appreciated. Many thanks Werner. Please see: http://www.geda.seul.org/symbols/index.html for the current error/warning count on the symbol library and please consider helping out. * **IMPORTANT**: Removed the following symbols (for now): linear/lm7805-2.sym lm78l05-1.sym lm78l05c-1.sym lm7905-1.sym because they are wrong according to one user (thank you btw). New corrected symbols were submitted, but because I don't know which physical package the above symbols are for, so I don't know how to really fix these symbols. If anybody has any suggestions on how to fix this, and/or can confirm that these symbols are correct/incorrect, that would be great. * Added back interpage_bidir-1.sym, interpage_from-1.sym, and interpage_to-1.sym which somehow got lost. * Egil's documentation patch added the documentation subdirectory which holds component documentation. If you do not have groff or fig2dev (part of xfig's transfig package), then you will not be able to generate nc.pdf properly. Let me know if this causes anybody any trouble. * Added bus-ripper-1.sym and bus-ripper-2.sym. Both are the graphical bus rippers, -1 is an angled line, thick at one end, while -2 is of a symmetric style. Feel free to contribute your favorite bus ripper graphical representation. * Ran gsymupdate on all symbols and font definitions. If you use the symbols contained in the library, you should not get any warnings from libgeda about find an old symbol. * Added a few contributed symbols. I am still behind in integrating all contributed symbols. utils * Updated more of the utilities to write out the new attributes introduced in 20020825. A few people contributed to this effort. Thanks. * Added Mario Pascucci's olib converter. From the README.olib file: It's a simple automated converter from OrCAD v4 (in SDT version 1.10) parts library (in ASCII dump format, through "decomp" utility) to gEDA component definition in .sym format file. Thanks Mario. * Added gschlas which is used by gschupdate and gsymupdate to Load And Save (gschLAS) files, so that they will be updated to the last format. Note that you must add any local component-libraries to the gschlasrc file if you updating schematics with local symbols. * Updated gschupdate and gsymupdate to use gschlas (above). These scripts now will update sch/sym files to the absolute latest revision of the file formats. Also fixed a bug in gsymupdate which would break symbol files if certain attributes had ='s in them. * Egil's documentation patch created the gschemdoc script, which is used by gschem to find documentation. If you run "gschemdoc -m" from a shell, you can quickly get a web browser up and running to read the gEDA/gaf docs. You must have a web browser in your $PATH for this script and the gschem's doc mechanism to work. docs * The docs is now a ./configure'd package. All of the docs are installed into ${prefix}/share/gEDA/documentation, which is where gschemdoc looks for the docs. The doc package is now required if you use the toplevel Makefile. * In order to build the docs you need: latex, dvips or dvi2ps, latex2html, and ps2pdf. However, the distributed tarball has all of the generated documentation prebuilt, so you will not need these programs installed. * This doc package includes a current "Master Attribute Document" and a current "Symbol Creation Document". All of the other docs are a little dated. I will continue to update them. * Added the description= attribute which should now be added to all symbols. This attribute will be used in the next component place dialog box. * Added the documentation= attribute to the master list of attributes. documentation= attribute was introduced by Egil's doc patch. * Moved the gschem.txt and gnetlist.txt user manual to the geda-docs package. This is in prep for the conversion to LaTeX and updating. For more a detailed ChangeLog please look in the appropriate source directories. BUGS/ERRATA/LAST MINUTE ISSUES * On a RedHat 7.1 system, fig2dev core dumped on me when dealing with geda.fig. If this happens to you, then just touch geda-symbols-20021103/documentation/geda.pic into existence and restart the build (you won't see the pretty logo on the top of the page though). * If you happen to have gtkextra installed, then gschem will not build. I will fix this for the next release. Uninstall gtkextra or temporarily rename gtkextra-config so it is not found by gschem's ./configure. * Egil reported that the utils might not build with the current lex macros in ./configure. If this happens to you let me know and I'll send you a fixed ./configure (probably re-spin the utils package). You will probably not be affected by this, as I included prebuilt code from .l (lex) files. * All the usual disclaimers apply. Lots of new code and so expect lots of instability. Please report all bugs. Thank you. 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 17k libgeda-20021103.tar.gz 852k geda-symbols-20021103.tar.gz 443k geda-gschem-20021103.tar.gz 1.3M geda-gnetlist-20021103.tar.gz 247k geda-gsymcheck-20021103.tar.gz 134k geda-utils-20021103.tar.gz 189k geda-docs-20021103.tar.gz 369k 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.5 (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 7. docs