?mode=patch&uid=2006123116311172410
Open Patch: 2006123116311172410 (by stf)
+ stf
Votecheck 'core-strong': Missing 1 qualified vote(s) (clifford, fake, teha)
scripts/Check-PkgFormat
scripts/Check-PkgFormat: fix for forked packages
scripts/Check-PkgFormat: fix for forked packages
--- scripts/Check-PkgFormat (Revision 83)
+++ scripts/Check-PkgFormat (Revision 84)
@@ -47,10 +47,15 @@
exit 1
fi
+. ./scripts/functions
+# from ../scripts/parse-config
+base=$(pwd -P)
+
for package ; do
+ pkg=${package%=*} ; xpkg=${package#*=}
lastpdir=""
- for pdir in package/*/$package ; do
- [ -f $pdir/$package.desc ] || continue
+ for pdir in package/*/$pkg ; do
+ [ -f $pdir/$pkg.desc ] || continue
[ "$lastpdir" ] && echo "$package: Found dup: $pdir $lastpdir"
lastpdir="$pdir"
done
@@ -60,41 +65,41 @@
pdir="$lastpdir"
fi
- if [ -f $pdir/$package.conf ] ; then
- if egrep -q '^[^#]*\bflistdel' $pdir/$package.conf ; then
+ if [ -f $pdir/$pkg.conf ] ; then
+ if egrep -q '^[^#]*\bflistdel' $pdir/$pkg.conf ; then
echo "$package: Use of \$flistdel is evil!"
fi
fi
- if [ -f $pdir/$package.desc ] ; then
- grep '[^ ]' $pdir/$package.desc | \
+ if [ -f $pdir/$pkg.desc ] ; then
+ grep '[^ ]' $pdir/$pkg.desc | \
egrep -v '^(\[[A-Z0-9-]+\]( |$)|#)' | \
- sed "s,^,$package: Syntax error in $package.desc: ,"
+ sed "s,^,$package: Syntax error in $pkg.desc: ,"
- egrep '^\[[A-Z0-9-]+\]( |$)' $pdir/$package.desc | \
+ egrep '^\[[A-Z0-9-]+\]( |$)' $pdir/$pkg.desc | \
tr '[]' '||' | cut -f2 -d'|' | \
while read tag ; do
grep -q "\\[$tag\\]" Documentation/Developers/$(
)PKG-DESC-FORMAT && continue
[ "${tag#X-}" != "$tag" ] && continue
- echo "$package: Unknown tag in $package.desc: [$tag]"
+ echo "$package: Unknown tag in $pkg.desc: [$tag]"
done
- for x in `egrep '^\[(C|CATEGORY)\]' $pdir/$package.desc | \
+ for x in `egrep '^\[(C|CATEGORY)\]' $pdir/$pkg.desc | \
cut -f2- -d']'` ; do
egrep -q "^$x( |$)" Documentation/Developers/$(
)PKG-CATEGORIES && continue
echo "$package: Unknown package category: $x"
done
- for x in `egrep '^\[(F|FLAG)\]' $pdir/$package.desc | \
+ for x in `egrep '^\[(F|FLAG)\]' $pdir/$pkg.desc | \
cut -f2- -d']'` ; do
egrep -q "^$x " Documentation/Developers/$(
)PKG-FLAGS && continue
echo "$package: Unknown package flag: $x"
done
- for x in `egrep '^\[(S|STATUS)\]' $pdir/$package.desc | \
+ for x in `egrep '^\[(S|STATUS)\]' $pdir/$pkg.desc | \
cut -f2- -d']'` ; do
case $x in
Alpha|Beta|Gamma|Stable) ;;
@@ -103,7 +108,7 @@
esac
done
- for x in `egrep '^\[(L|LICENSE)\]' $pdir/$package.desc | \
+ for x in `egrep '^\[(L|LICENSE)\]' $pdir/$pkg.desc | \
cut -f2- -d']'` ; do
case $x in
Unknown|GPL|LGPL|MPL|FDL|MIT|BSD) ;;
@@ -117,15 +122,16 @@
grep '^\[.*(\*)$' Documentation/Developers/PKG-DESC-FORMAT |
sed 's/. ./|/g; s/|\*)//; s/^\[//;' | \
while read line ; do
- egrep -q "^\[($line)\]" $pdir/$package.desc ||
- echo "$package: No [$line] tag found."
+ parse_desc $pdir/$pkg.desc "${line%%\|*}"
+ eval tag="desc_${line%%\|*}"
+ eval [ -z "$tag" ] && echo "$package: No [$line] tag found."
done
else
- echo "$package: File not found: $pdir/$package.desc"
+ echo "$package: File not found: $pdir/$pkg.desc"
fi
- if [ -f $pdir/$package.conf ] ; then
- bash -n $pdir/$package.conf 2>&1 | sed "s,^,$package: ,"
+ if [ -f $pdir/$pkg.conf ] ; then
+ bash -n $pdir/$pkg.conf 2>&1 | sed "s,^,$package: ,"
fi
done
[Download this patch]