From bbf6781d67b82eb0ea91d15d04a4203ae8ff3bf5 Mon Sep 17 00:00:00 2001 From: Alejandro Mery Date: Sun, 1 Mar 2009 00:33:57 +0200 Subject: [PATCH] sde-package: added package_desc_extract() used to extract data from .desc files --- lib/sde-package.in | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/lib/sde-package.in b/lib/sde-package.in index 586b504..0fbd34b 100644 --- a/lib/sde-package.in +++ b/lib/sde-package.in @@ -53,3 +53,26 @@ package_parse() { done | sed -n -e "s,^$SDEROOT/package/\([^/]*\)/\([^/]*\).*,\1/\2,p" done } + +# package_desc +# +package_desc() { + ls -1d "$SDEROOT/package"/*/"$1/$1.desc" 2> /dev/null | head -n 1 +} + +# package_tag +# +package_tag() { + local tag=$(echo "$1" | tr 'a-z' 'A-Z') + + grep -e "^\(\[.*\)\?\[$tag\]" "$SDEROOT/etc/desc_format" | + sed -e 's, *(\*) *$,,' -e 's,[\t ]\+, ,g' | tr -d '[]' +} + +# package_desc_extract +# +package_desc_extract() { + local pattern=$(package_tag "$2" | sed -e '/ / {s/ \+/\\|/g;s/^/\\(/;s/$/\\)/;}') + + sed -n -e "s/^\[$pattern\][ \t]*//p;" "$1" +}