It sounds like a good idea. * Notifies the user when a symbol in a design has changed. * Does not break existing designs. * Works with the exsiting symbol library structure.
(* jcl *) On 9/21/05, Ales Hvezda <[EMAIL PROTECTED]> wrote: > Hi Stuart, Dan, and all, > > [snip] > > I think the real issue is you may have geda installed libs which grow > > over time, company-wide libs which grow over time, per-user libs, > > per-project libs, etc. and sooner or later there will be a name clash. > > Hopefully the rule of pick your project libs first then company libs, > > then geda libs is usually correct, but it may not always be. > > I had a crazy idea today which may solve this problem, but I would > like some opinions before I run off and do something drastic. :) > > Just so summarize the problem, basically: > > * two symbol files, > * both identically named with slightly different contents, > * both in different component libraries, > * and this symbol is instanciated on a schematic. > > UserA might pickup symbol.sym from local/ while UserB might pick > up the second symbol.sym from rf/. > > This problem is really caused by libgeda not storing the > library name in the schematic files. I don't really want to put the > library name into the schematic because then the schematic becomes > component library layout/naming/etc... dependent. Note, the existing > symversion= mechanism will not solve this problem, since the default > for all symbols is 0.0 and both symbols will have this default version. > > However, what if libgeda stored a cryptographic signature/hash of > the symbol file contents along with the filename in the schematics? > The signature can be something along the lines of an md5sum string (maybe > not so long, but long to uniquely identify the contents). When a symbol > is loaded from disk, the signatures are compared and if they don't match, > a warning is issued. Sorta like the existing symversion= mechanism, > but now it will not be possible for symbol changes to escape notice > from the designers. And should there be a valid symbol change, then the > component is simply updated using Edit/Update Component. > > Now back to the original problem: two symbols identically named > symbols will most likely not have identical signatures/hashes and it > would be impossible for the wrong symbol to be silently netlisted. > > Comments on this idea? > > -Ales > > -- www.luciani.org
