X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Envelope-From: paubert AT iram DOT es Date: Wed, 8 Jul 2015 09:41:56 +0200 From: "Gabriel Paubert (paubert AT iram DOT es) [via geda-user AT delorie DOT com]" To: geda-user AT delorie DOT com Subject: Re: [geda-user] gEDA/gschem still alive? Message-ID: <20150708074156.GD13243@visitor2.iram.es> References: <20150707060409 DOT GB14357 AT localhost DOT localdomain> <559C0F7D DOT 4020600 AT neurotica DOT com> <201507071805 DOT t67I5tFG012669 AT envy DOT delorie DOT com> <559C1B73 DOT 7040506 AT neurotica DOT com> <201507071838 DOT t67IcjWJ014955 AT envy DOT delorie DOT com> <20150707191750 DOT 918B98038A32 AT turkos DOT aspodata DOT se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150707191750.918B98038A32@turkos.aspodata.se> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spamina-Bogosity: Unsure X-Spamina-Spam-Score: -0.2 (/) X-Spamina-Spam-Report: Content analysis details: (-0.2 points) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URIs: github.com] -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP 0.8 BAYES_50 BODY: Bayes spam probability is 40 to 60% [score: 0.4072] Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk 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