delorie.com/archives/browse.cgi   search  
Mail Archives: geda-user/2020/02/19/13:38:28

X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f
X-Recipient: geda-user AT delorie DOT com
X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20161025;
h=date:from:to:subject:message-id:in-reply-to:references:mime-version
:content-transfer-encoding;
bh=Yda9oaGSgrF7CGr2yktErr95BkkhS2RTl85/KT0NQlw=;
b=RtiM3f2Jq9ONEQLgoSzeGWQ0o7wTN9YAu7z85dCOgvpfkUXuymkKUWdo8qXHKnWOuk
4VEGIezQ/msze6kuyURuWNNYNfZ7U1QEHXdlZQ4lN1jnZJnlS0xJdEIE+2JFBAKWftwk
KRx9mrSLJf8olcayPqGE8hUbcrlvCTTKCA/2PobQhZtqRLT0ZsgJN6gIHmOaJJKISNXl
Uegf5krWdFTeMvu0VJQFtaQzJ6/KVEM/K8k1AK2BGCIVUEDVM3MZJ1RB3/xuOaNr6HFH
pj268Md7Y0Vr962isLjYX3k8C76N2Z7Lu211mrsvfeHkPWPOMCUnlRk1ERII7doAr0Xt
ZhUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:date:from:to:subject:message-id:in-reply-to
:references:mime-version:content-transfer-encoding;
bh=Yda9oaGSgrF7CGr2yktErr95BkkhS2RTl85/KT0NQlw=;
b=Do8CgVjcl++g3dqhsuNsHpi0TnCMA4MoJZFvM6B7ksdtzqgyzkoPeDSvotqjS0VQcM
UpScRGYuzne/DXOeRa+K0sMxDYr1m80ZcVnORIEXe3tCTCLSdViYf941pNlKb5qYSPtG
1kmTUmvsQZnrB56VLVEnsGIlcwVPF/Uz626tAciqghMTRSjm+e1Hyk9vYkQye4VD6d78
1rMf+1rr/ICeqQOQAW66+xijJvQGITYOYyemFvuLR2f2mQvuX/ZEJagQGHksop15a8/S
DwoBohzYsAEA8aOShW1/8xNhhraTjX91ZID6Zej9+ixZhse+YY20/BNLm+cKfz4RhSFI
530A==
X-Gm-Message-State: APjAAAU8lRQ4ClUUXgo4NiQxVsq1eK3RM5btAQDMvdoOds6uAjj4HNth
i+Ove/e8EQ97EsmAIawZv+kEyZNP
X-Google-Smtp-Source: APXvYqwI7K+xcDFWE1xN8+I7HHxxPrvBQWqJw5CsCi8CZdQaoWU3qlpHQPOuqnAP0F2JhQfD5iTz8g==
X-Received: by 2002:ac2:5dc8:: with SMTP id x8mr13994333lfq.216.1582136240714;
Wed, 19 Feb 2020 10:17:20 -0800 (PST)
Date: Wed, 19 Feb 2020 19:17:19 +0100
From: "N (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com]" <geda-user AT delorie DOT com>
To: geda-user AT delorie DOT com
Subject: Re: [geda-user] Proposal: Library handling
Message-Id: <20200219191719.91c12aa25f59646665633fe3@gmail.com>
In-Reply-To: <alpine.DEB.2.20.2002181340190.1436@nimbus>
References: <alpine DOT DEB DOT 2 DOT 20 DOT 2002181340190 DOT 1436 AT nimbus>
X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
Mime-Version: 1.0
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

On Wed, 19 Feb 2020 16:06:45 +0100 (CET)
Roland Lutz <rlutz AT hedmen DOT org> wrote:

> Hi,
> 
> I have some ideas about improving library handling in gEDA/gaf which I'd 
> like to put up for discussion here.
> 
> 
> 
> Proposal 1: Named libraries
> ===========================
> 
> A symbol is currently referenced by its basename, e.g. "resistor-1.sym". 
> When gEDA looks for a symbol, it searches all library directories for a 
> file with that name, and uses the first one it finds.
> 
> I suggest referencing symbols by two strings: the basename, and a library 
> identifier.  Using the basename (instead of e.g. a full path) allows 
> library authors to revise the internal organization of the library. 
> Using a library identifier (instead of e.g. a library path) allows the 
> user to reorganize the libraries on their machine and facilitates sharing 
> schematic files between users.
> 
> When a library is added, a library identifier would be specified, e.g.:
> 
>    (add-library "kmk-essentials" "~/geda/kmk-essentials")

This must be a really good idea!

> ...
> I propose adding special syntax to the file format which allows embedding 
> a symbol once and then referencing it, e.g.:
> 
> s resistor-1 1 default resistor-1.sym
> [
> L 600 200 500 0 3 0 0 0 -1 -1
> L 500 0 400 200 3 0 0 0 -1 -1
> ...and so on...
> ]

Yes this I consider really good!

Then symbol could be updated. There are several choices for implementation and library do not need to be available then reading schematics which is very useful then schematic is stored for later user then boards have been manufactured.

> From there on, whenever the symbol "resistor-1" is referenced, this means 
> the symbol file "resistor-1.sym" from the default library, whose contents 
> are included for convenience.  The distinction between basename and symbol 
> identifier is made so multiple symbols with the same basename can be used; 
> in that case, gEDA would assign a different identifier to each symbol, 
> e.g. "resistor-1<1>".
> 
> There are three modes of embedding a symbol:
> 
>    omit (0)
>      The symbol's contents are omitted, i.e., it isn't embedded at all.
>      This is useful for minimizing changes when using an SCM.
> 
>    reference (1)
>      The symbol's contents are included, but the file in the library is
>      authoritative.  This is useful for distributing schematic files to other
>      users, and for detecting symbol changes.  The UI would display a
>      warning if the library is missing or the symbol in the library differs
>      from the one included in the schematic but require a user interaction
>      before updating the symbol in the schematic.
> 
>    embed (2)
>      The symbol embedded in the schematic is authoritative; its basename is
>      included for reference but otherwise ignored.  This is useful for
>      including custom one-off symbols without having to bother with
>      external files.

A little bit hard to distinguish between reference and embed but guess assuming update have been implemented. "reference" you get a message then symbol have changed and you have to refuse update or it will be updated. "embed" as refence is available it would be possible to update by some kind of active action from user.

> Any thoughts or comments?
> 
> Roland

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019