Browse Source

Stefan Fiedler:


			
			
				rocklinux
			
			
		
Stefan Fiedler 19 years ago
parent
commit
b8d9c4a417
1 changed files with 24 additions and 18 deletions
  1. +24
    -18
      scripts/Check-PkgFormat

+ 24
- 18
scripts/Check-PkgFormat

@ -47,10 +47,15 @@ if [ "$1" != "${1#-}" -o $# -eq 0 ] ; then
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 @@ for package ; do
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 @@ for package ; do
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 @@ for package ; do
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

Loading…
Cancel
Save