X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Mailer: exmh version 2.7.2 01/07/2005 (debian 1:2.7.2-18) with nmh-1.3 X-Exmh-Isig-CompType: repl X-Exmh-Isig-Folder: inbox To: geda-user AT delorie DOT com cc: karl AT aspodata DOT se Fcc: +outbox Subject: Re: [geda-user] Dynamic loading personal components (with subfolder) into the search component tree of gschem In-reply-to: References: Comments: In-reply-to Luigi Salvatore Palese message dated "Tue, 29 Nov 2011 15:52:15 +0100." Mime-Version: 1.0 Content-Type: multipart/mixed ; boundary="==_Exmh_1322686191_24130" Message-Id: <20111130211002.32B5081F6275@turkos.aspodata.se> Date: Wed, 30 Nov 2011 22:10:00 +0100 (CET) From: karl AT aspodata DOT se (Karl Hammar) X-Virus-Scanned: ClamAV using ClamSMTP 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 This is a multipart MIME message. --==_Exmh_1322686191_24130 Content-Type: text/plain; charset="iso-8859-1" Luigi: ... > The procedure in attachment is composed by a bash script and a guile > script. ... /////// Attachment "build-local-symbols-list": SYMPATH="/usr/local/share/symbols" SYMSUB="personal/" cd $SYMPATH ; echo > local-symbols-list ; IFS=$'\n' You could do (in case you don't have a .desc in every directory): for file in `find dir -name .desc -type f`; do d=`dirname $file` desc=`cat $file` ... for d in `find ./$SYMSUB -type d` ; do desc="`cat $d/.desc`" echo "$d" >> local-symbols-list echo "$desc" >> local-symbols-list done echo "Coping local-symbols-list to ~/.gEDA folder..." cp local-symbols-list ~/.gEDA/ /////// Attachment "README": cd my-symbols-path ; mkdir personal ; mv * personal cp build-local-symbols-list my-symbols-path # for each path in personal: echo "One Line Description" > .desc ------------------------------------------------------------------ Examples path: capacitors/ .desc <--onelinecontent-- "Generic capacitors" cap-1.sym avx/ .desc <--onelinecontent- "AVX Capacitors" idc.sym become --> geda symbols tree+ >capacitors Generic capacitors cap-1.sym >avx AVX Capacitors idc.sym Why do you have a .desc file when you could as easily use the directory name as the description. E.g. why don't you instead use: Examples path: Generic\ capacitors/ cap-1.sym AVX\ Capacitors/ idc.sym Why use a file (.desc) when you can store it directly in the directory structure, and if you instead use the directory name as description, you can use the attached script. /////// Overall it seems you build a file "local-symbols-list" with the shell script "build-local-symbols-list", then you process that list with the scheme script "local-symbols-library.scm". Wouldn't it be great if you didn't have to run the shell script, if the scheme script took care about that part? So you could use: (component-library-add-tree "cvs" "${HOME}/Net/cvs/cvs.gedasymbols.org/www/user") or (component-library-add-tree "personal" "/usr/local/share/symbols") in your .gEDA/gafrc file, and it swalloped the whole tree. If you write such a script, I'll be happy to test it. Regards, /Karl Hammar ----------------------------------------------------------------------- Aspö Data Lilla Aspö 148 S-742 94 Östhammar Sweden +46 173 140 57 --==_Exmh_1322686191_24130 Content-Type: text/x-sh ; name="gedasymbols.sh" Content-Description: gedasymbols.sh Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="gedasymbols.sh" #!/bin/sh dir=3D$1 pfx=3D$2 if [ ! "$pfx" ] then echo gedasymbols.sh echo \ find dirctories with symbol files echo \ and make gafrc lines to add them to the library browser echo Usage: echo " gedasymbols root_of_file_tree prefix" echo Example: echo ' gedasymbols.sh ~/Net/cvs/cvs.gedasymbols.org/www/user/ cvs >> .g= EDA/gafrc' exit 1 fi cd $1 find . -type f -name \*.sym | sed -e 's|/[^/]*$||; s/^\.\///' | sort -u | while read a do echo "(component-library \"$1/$a\" \"$pfx/$a\")" | sed -e 's|//|/|' done | sort -r --==_Exmh_1322686191_24130--