tazwok diff 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
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`