tazwok rev 91
Check commit & build dates
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Sep 04 15:56:44 2008 +0000 (2008-09-04) |
parents | 2bc1463b92c2 |
children | 3dcebf4831b5 |
files | tazwok |
line diff
1.1 --- a/tazwok Sun Aug 31 09:22:46 2008 +0000 1.2 +++ b/tazwok Thu Sep 04 15:56:44 2008 +0000 1.3 @@ -604,6 +604,27 @@ 1.4 sed -i s/"_packages_"/"$packages"/ packages.txt 1.5 } 1.6 1.7 +# Return the date of the last commit in seconds since Jan 1 1970 1.8 +hgdate() 1.9 +{ 1.10 + local pkg 1.11 + local date 1.12 + local mon 1.13 + # Default date is Jan 1 1970 1.14 + [ -d $WOK/.hg ] || return 0 1.15 + pkg=$(basename $1) 1.16 + # Get date for last commit 1.17 + date="$( cd $WOK; hg log $(find $pkg/receipt $pkg/stuff -type f \ 1.18 + 2> /dev/null) | grep date: | head -1 | cut -c 6-)" 1.19 + case "$(echo $date | awk '{ print $2 }')" in 1.20 + Jan) mon="01";; Feb) mon="02";; Mar) mon="03";; Apr) mon="04";; 1.21 + May) mon="05";; Jun) mon="06";; Jul) mon="07";; Aug) mon="08";; 1.22 + Sep) mon="09";; Oct) mon="10";; Nov) mon="11";; Dec) mon="12";; 1.23 + esac 1.24 + # Reformat, don't mind about TZ: we look for days or months delta 1.25 + echo $date | sed "s|[^ ]* [^ ]* \\(.*\\) \\(.*\\):\\(.*\\):\\(.*\\) \\(.*\\) .*|$mon\1\2\3\5|" 1.26 +} 1.27 + 1.28 ################### 1.29 # Tazwok commands # 1.30 ################### 1.31 @@ -674,9 +695,20 @@ 1.32 do 1.33 . $pkg/receipt 1.34 echo "$PACKAGE-$VERSION.tazpkg" >> /tmp/wok.list 1.35 - if [ -z "$(ls $PACKAGES_REPOSITORY/$PACKAGE-$VERSION*.tazpkg 2> /dev/null)" ]; then 1.36 + tpkg="$(ls $PACKAGES_REPOSITORY/$PACKAGE-$VERSION*.tazpkg 2> /dev/null)" 1.37 + if [ -z "$tpkg" ]; then 1.38 echo "Missing package: $PACKAGE ($VERSION)" 1.39 echo "$PACKAGE" >> /tmp/pkgs.missing 1.40 + elif [ -f $pkg/taz/*/receipt -a ! -f $pkg/taz/*/md5sum ]; then 1.41 + echo "Obsolete package: $PACKAGE ($VERSION)" 1.42 + echo "$PACKAGE" >> /tmp/pkgs.missing 1.43 + else 1.44 + srcdate=$(hgdate $pkg) 1.45 + pkgdate=$(date -u -r $tpkg '+%m%d%H%M%Y') 1.46 + if [ $(date -d $pkgdate +%s) -lt $(date -d $srcdate +%s) ]; then 1.47 + echo "Rebuild package: $PACKAGE ($VERSION) cooked $(date -d $pkgdate "+%x %X"), modified $(date -d $srcdate "+%x %X")" 1.48 + echo "$PACKAGE" >> /tmp/pkgs.missing 1.49 + fi 1.50 fi 1.51 done 1.52 for pkg in `cd $PACKAGES_REPOSITORY && ls *.tazpkg`