|
|
@ -1,3 +1,4 @@ |
|
|
|
#!/bin/bash |
|
|
|
# --- ROCK-COPYRIGHT-NOTE-BEGIN --- |
|
|
|
# |
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
|
@ -346,27 +347,35 @@ postflist_libs() { |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
# Parse the *.desc file. Use the description from PKG-DESC-FORMAT and |
|
|
|
# save the tag data in $desc_*. |
|
|
|
# parse_desc <desc file> [ <tag1> [ <tag2> [ ... ] ] ] |
|
|
|
# Parse the *.desc file and save the tag data in $desc_*. If no tags are |
|
|
|
# given, use all tags from PKG-DESC-FORMAT. |
|
|
|
# |
|
|
|
parse_desc() { |
|
|
|
parser="$( which descparser )" |
|
|
|
local descfilename=$1 ; shift |
|
|
|
local parser="$( which descparser )" tag tagdata |
|
|
|
|
|
|
|
[ -z "${parser}" ] && parser="$base/src/descparser" |
|
|
|
if [ ! -x "${parser}" ] ; then |
|
|
|
mkdir -p $base/src |
|
|
|
cc -o $base/src/descparser $base/misc/tools-source/descparser.c |
|
|
|
fi |
|
|
|
[ ! -x "${parser}" ] && abort "Couldn't find \`descparser'! Please run ./scripts/Build-Tools!" |
|
|
|
tag="`grep '^\[' $base/Documentation/Developers/PKG-DESC-FORMAT | \ |
|
|
|
sed 's, (\*),,; s,\] \[,|,g; s,\[,,; s,\],,;'`" |
|
|
|
descfile="$( pkg="$pkg" xpkg="$xpkg" $parser < $1 )" |
|
|
|
|
|
|
|
tag="$( |
|
|
|
prog="" ; for x ; do |
|
|
|
prog="$prog /\(^\||\)$x\(|\|$\)/ { p ; d } ;" |
|
|
|
done |
|
|
|
[ "$prog" != "" ] && prog="$prog d" |
|
|
|
sed "/^\[/! d; s, (\*),,; s,\] \[,|,g; s,\[,,; s,\],,; $prog" \ |
|
|
|
$base/Documentation/Developers/PKG-DESC-FORMAT |
|
|
|
)" |
|
|
|
|
|
|
|
descfile="$( pkg="$pkg" xpkg="$xpkg" $parser < $descfilename )" |
|
|
|
for tag in $tag ; do |
|
|
|
tagdata="`echo "$descfile" | egrep "^\[($tag)\]" | \ |
|
|
|
cut -f2- -d']' | sed 's,^ ,,'`" |
|
|
|
tag="`echo $tag | cut -f1 -d'|' | tr - _`" |
|
|
|
if eval "[ -z \"\$desc_$tag\" ]"; then |
|
|
|
eval "desc_$tag=\"\$tagdata\"" |
|
|
|
fi |
|
|
|
tagdata="`sed -e"s,^\[\(${tag//|/\\|/}\)\] ,,p ; d" <<< "$descfile"`" |
|
|
|
tag="`sed -e"s,|.*,, ; s,-,_,g" <<< "$tag"`" |
|
|
|
eval "desc_$tag=\"\$tagdata\"" |
|
|
|
done |
|
|
|
} |
|
|
|
|
|
|
|