[Frugalware-git] frugalware-current: [PATCH] generatesyntax * fix usage in base directory of git * rewrite heuristics for function/variable detection

James Buren ryuo at frugalware.org
Mon Aug 23 15:01:23 CEST 2010


Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=dee7f41f3b350ea73c1b2476b931ce38ee3dd7a0

commit dee7f41f3b350ea73c1b2476b931ce38ee3dd7a0
Author: James Buren <ryuo at frugalware.org>
Date:   Mon Aug 23 07:40:52 2010 -0500

[PATCH] generatesyntax
* fix usage in base directory of git
* rewrite heuristics for function/variable detection

diff --git a/tools/generatesyntax b/tools/generatesyntax
index 370f46e..2b7d097 100755
--- a/tools/generatesyntax
+++ b/tools/generatesyntax
@@ -58,15 +58,20 @@ if [ -z $1 ]; then
fi

# Schemas to search
-SCHEMAS=$(git rev-parse --show-cdup)/source/include/*.sh
+SCHEMAS=$(git rev-parse --show-cdup)source/include/*.sh

# Set base functions
FUNCTIONS="Finclude"

-# Assemble names of all functions, filter out any starting with '__'
-FUNCTIONS="$FUNCTIONS $(grep -ho '^\w\+()\s*{\?' $SCHEMAS | sed 's|[(){ \t]||g' | grep -v '^__F' | sort -u)"
+# Assemble names of all functions
+FUNCTIONS="$FUNCTIONS $(
+          grep -h -o -E '^\w+\(\)\s*{?' $SCHEMAS |
+          sed -r 's|[\(\){ \t]||g'               |
+          sed -r 's|^__.*$||'                    |
+          sort -u
+          )"

-# Define variables all FrugalBuilds may have
+# Set base variables
VARIABLES="pkgname pkgver pkgrel pkgdesc pkgdesc_localized url license install"
VARIABLES+=" up2date source sha1sums signatures groups archs backup depends"
VARIABLES+=" makedepends rodepends conflicts provides removes replaces options"
@@ -74,8 +79,13 @@ VARIABLES+=" subpkgs subdescs subdescs_localized sublicense subreplaces"
VARIABLES+=" subgroups subdepends subrodepends subremoves subconflicts"
VARIABLES+=" subprovides subbackup subinstall suboptions subarchs"

-# Append variables
-VARIABLES="$VARIABLES $(grep -hEo '(\$(F|_F_)\w+|(F|_F_)\w+=)' $SCHEMAS | sed 's|[\$=]||g' | grep -vE '^(F|_F_)[A-Z_]+$' | sort -u)"
+# Assemble names of all variables
+VARIABLES="$VARIABLES $(
+          grep -h -E -o '(\$(F|_F_)\w+|(F|_F_)\w+=)' $SCHEMAS |
+          sed -r 's|[\$=]||g'                                 |
+          sed -r 's|^[A-Z_]+$||'                              |
+          sort -u
+          )"

if [ $1 == "nano" ]; then
nano_output


More information about the Frugalware-git mailing list