tazwok rev 76
Add tazwok check
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Tue Jul 15 13:07:51 2008 +0000 (2008-07-15) |
parents | 30f4d731f3e9 |
children | 6817f976da1c |
files | tazwok |
line diff
1.1 --- a/tazwok Thu Jul 03 19:28:07 2008 +0000 1.2 +++ b/tazwok Tue Jul 15 13:07:51 2008 +0000 1.3 @@ -228,6 +228,35 @@ 1.4 esac 1.5 fi 1.6 } 1.7 + 1.8 +# Check for loop in deps tree. 1.9 +check_for_deps_loop() 1.10 +{ 1.11 + local list 1.12 + local pkg 1.13 + local deps 1.14 + pkg=$1 1.15 + shift 1.16 + [ -n "$1" ] || return 1.17 + list="" 1.18 + # Filter out already processed deps 1.19 + for i in $@; do 1.20 + case " $ALL_DEPS" in 1.21 + *\ $i\ *);; 1.22 + *) list="$list $i";; 1.23 + esac 1.24 + done 1.25 + ALL_DEPS="$ALL_DEPS$list " 1.26 + for i in $list; do 1.27 + [ -f $i/receipt ] || continue 1.28 + deps="$(DEPENDS=""; . $i/receipt; echo $DEPENDS)" 1.29 + case " $deps " in 1.30 + *\ $pkg\ *) echo -e "$MSG $i"; MSG="";; 1.31 + *) check_for_deps_loop $pkg $deps;; 1.32 + esac 1.33 + done 1.34 +} 1.35 + 1.36 download() 1.37 { 1.38 for file in $@; do 1.39 @@ -574,6 +603,38 @@ 1.40 ================================================================================" 1.41 echo "" 1.42 ;; 1.43 + check) 1.44 + # Check wok consistancy 1.45 + echo "" 1.46 + echo -e "\033[1mWok and packages checking\033[0m 1.47 +================================================================================" 1.48 + for pkg in $WOK/* 1.49 + do 1.50 + [ -f $pkg/receipt ] || continue 1.51 + PACKAGE="" 1.52 + VERSION="" 1.53 + CATEGORY="" 1.54 + SHORT_DESC="" 1.55 + MAINTAINER="" 1.56 + WEB_SITE="" 1.57 + . $pkg/receipt 1.58 + [ "$PACKAGE" = "$pkg" ] || echo "Package $PACKAGE should be $pkg" 1.59 + [ -n "$VERSION" ] || echo "Package $PACKAGE has no VERSION" 1.60 + [ -n "$CATEGORY" ] || echo "Package $PACKAGE has no CATEGORY" 1.61 + [ -n "$SHORT_DESC" ] || echo "Package $PACKAGE has no SHORT_DESC" 1.62 + [ -n "$MAINTAINER" ] || echo "Package $PACKAGE has no MAINTAINER" 1.63 + [ -n "$WEB_SITE" ] || echo "Package $PACKAGE has no WEB_SITE" 1.64 + MSG="Missing dependencies for $PACKAGE $VERSION$EXTRAVERSION :\n" 1.65 + for i in $DEPENDS; do 1.66 + [ -d $i ] && continue 1.67 + echo -e "$MSG $i" 1.68 + MSG="" 1.69 + done 1.70 + MSG="Dependencies loop between $PACKAGE and :\n" 1.71 + ALL_DEPS="" 1.72 + check_for_deps_loop $PACKAGE $DEPENDS 1.73 + done 1.74 + ;; 1.75 cmp|compare) 1.76 # Compare the wok and packages repository to help maintaining 1.77 # a mirror. 1.78 @@ -584,7 +645,7 @@ 1.79 do 1.80 . $pkg/receipt 1.81 echo "$PACKAGE-$VERSION.tazpkg" >> /tmp/wok.list 1.82 - if [ -z "$(ls $PACKAGES_REPOSITORY/$PACKAGE-$VERSION*.tazpkg 2>-)" ]; then 1.83 + if [ -z "$(ls $PACKAGES_REPOSITORY/$PACKAGE-$VERSION*.tazpkg 2> /dev/null)" ]; then 1.84 echo "Missing package: $PACKAGE ($VERSION)" 1.85 echo "$PACKAGE" >> /tmp/pkgs.missing 1.86 fi