[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: Free Dog meeting report: Notes on the topics we discussed



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 <ahvezda@xxxxxxxx> 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