delorie.com/archives/browse.cgi | search |
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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |