Mail Archives: geda-user/2015/07/08/03:42:21
On Tue, Jul 07, 2015 at 09:17:50PM +0200, karl AT aspodata DOT se wrote:
> DJ Delorie:
> ...
> > Yeah, but I really want to see an EDA package that integrates with the
> > internet :-)
> >
> > I mean, if I suggested the url git://github.com/example/library.git/
> > half the people here would start begging me for it ;-)
>
> Having something on the net, I would suggest some form of caching -
> you don't want your schematics/pcb to be incomplete just because some
> server isn't up and running.
Indeed, having everything local is a must. As always it is a matter on
minimizing dependencies (whether at compile time by not needing 500+
libraries to compile a simple "Hello world" program, and at runtime where
only data on locally connected devices is guaranteed to be present).
> And caching could be done by yourself or be triggered by button in the
> gui. Currently, I think it's just as easy to do the update myself,
> especially if you have more than a few repos. to mirror.
Really, it's something that I think gEDA got wrong, the file from the
libraries, which can be modified on any upgrade, should be copied to
something private to a given schematic (or rather hierarchy) whenever
you use one. From this point you eliminate needless dependencies, which
is always a good thing.
There are still subtle semantic details to discuss, but I see it
basically as a front cache to the set of libraries (which may be defined
by URLs as already suggested): if a symbol is in the cache you use it,
otherwise you fetch the library item and copy it to the cache, where you
can modify it to suit your need. You need an option in the GUI to update
from the library (and resolve the case of several libraries defining
the same symbol), but it has to be a deliberate act.
A long time ago, OrCAD had a poor, but still usable way of doing it,
it was called "Archive parts in Schematics" and, IIRC, created a
directory with all parts. It was then trivial to backup this directory
and the schematics to have a self-contained schematics (or hierarchy)
which could easily be moved to another computer.
> Something like the script below could help:
>
> #!/bin/sh
>
> msg() {
> echo
> echo '############################'
> echo "$@"
> echo
> }
>
> Update() {
> dir=$1
> shift
> if [ -d $dir ]
> then
> cd $dir
> for i in *
> do
> ( if test -d $i -a $i != Old
> then
> cd $i
> msg $dir/$i
> $@
> fi )
> done
> fi
> }
>
> Update /Net/git git pull
> Update /Net/cvs cvs -q update -dP
> Update /Net/svn svn up
> Update /Net/hg hg pull -u
> ...
>
> ///
>
> And also sym/fp's on the net poses the problem of what to do when the
> net file is changed.
> Perhaps one solution would be to include functions to copy said
> sym/fp to the working dir.
Oops, I missed this sentence on my first read. And yes, I think that
this is the only viable solution.
Gabriel
- Raw text -