cookutils diff web/cooker.cgi @ rev 16

Cant use tazpkg to pack since it dont handle EXTRAVERSION and improving CGI
author Christophe Lincoln <pankso@slitaz.org>
date Thu May 05 17:05:19 2011 +0200 (2011-05-05)
parents b6bbe55cd15e
children c3c30b1506b8
line diff
     1.1 --- a/web/cooker.cgi	Thu May 05 05:04:15 2011 +0200
     1.2 +++ b/web/cooker.cgi	Thu May 05 17:05:19 2011 +0200
     1.3 @@ -33,7 +33,10 @@
     1.4  		-e 's#ERROR:#<span class="span-error">ERROR:</span>#g' \
     1.5  		-e s"#^Executing:\([^']*\).#<span class='span-sky'>\0</span>#"g \
     1.6  		-e s"#^====\([^']*\).#<span class='span-line'>\0</span>#"g \
     1.7 -		-e s"#http://\([^']*\).*#<a href='\0'>\1</a>#"g	
     1.8 +		-e s"#ftp://\([^']*\).*#<a href='\0'>\0</a>#"g	\
     1.9 +		-e s"#http://\([^']*\).*#<a href='\0'>\0</a>#"g \
    1.10 +		-e s"#^\#\([^']*\)#<span class='sh-comment'>\0</span>#"g 
    1.11 +		#-e s"#\"\([^']*\)\"#<span class='sh-val'>\0</span>#"g
    1.12  }
    1.13  
    1.14  # Latest build pkgs.
    1.15 @@ -71,39 +74,81 @@
    1.16  #
    1.17  
    1.18  case "${QUERY_STRING}" in
    1.19 -	log=*)
    1.20 -		pkg=${QUERY_STRING#log=}
    1.21 -		if [ -f "$LOGS/$pkg.log" ]; then
    1.22 -			echo "<h2>Log for: $pkg</h2>"
    1.23 +	pkg=*)
    1.24 +		pkg=${QUERY_STRING#pkg=}
    1.25 +		log=$LOGS/$pkg.log
    1.26 +		echo "<h2>Package: $pkg</h2>"
    1.27 +
    1.28 +		# Package info
    1.29 +		if [ -f "$wok/$pkg/receipt" ]; then
    1.30 +			. $wok/$pkg/receipt
    1.31 +			tazpkg=$PKGS/$pkg-${VERSION}.tazpkg
    1.32 +			if [ -f "$tazpkg" ]; then
    1.33 +				
    1.34 +				cooked=$(stat -c '%y' $tazpkg | cut -d . -f 1 | sed s/:[0-9]*$//)
    1.35 +				echo $cooked
    1.36 +			fi
    1.37 +			echo "<a href='cooker.cgi?receipt=$pkg'>receipt</a>"
    1.38 +		else
    1.39 +			echo "<p>No package named: $pkg<p>"
    1.40 +		fi
    1.41 +
    1.42 +		# Check for a log file and display summary if exist.
    1.43 +		if [ -f "$log" ]; then
    1.44  			if fgrep -q "Summary " $LOGS/$pkg.log; then
    1.45 -				echo '<pre>'
    1.46 -				grep -A 8 "^Summary " $LOGS/$pkg.log | sed /^$/d | \
    1.47 -					syntax_highlighter
    1.48 -				echo '</pre>'
    1.49 -				echo '<pre>'
    1.50 -				cat $LOGS/$pkg.log | syntax_highlighter
    1.51 -				echo '</pre>'
    1.52 -			else
    1.53  				if fgrep -q "cook:$pkg$" $command; then
    1.54  					echo "<pre>The Cooker is currently cooking: $pkg</pre>"
    1.55 +				else
    1.56 +					echo "<h3>Cook summary</h3>"
    1.57 +					echo '<pre>'
    1.58 +					grep -A 8 "^Summary " $LOGS/$pkg.log | sed /^$/d | \
    1.59 +						syntax_highlighter
    1.60 +					echo '</pre>'
    1.61  				fi
    1.62 -				echo '<pre>' && cat $LOGS/$pkg.log | syntax_highlighter
    1.63 -				echo '</pre>'
    1.64  			fi
    1.65 +			if fgrep -q "ERROR:" $LOGS/$pkg.log; then
    1.66 +				fgrep "ERROR:" $LOGS/$pkg.log
    1.67 +			fi
    1.68 +			echo "<h3>Cook log</h3>"
    1.69 +			echo '<pre>'
    1.70 +			cat $log | syntax_highlighter
    1.71 +			echo '</pre>'
    1.72  		else
    1.73 -			echo "<pre>No log file found for: $pkg</pre>"
    1.74 +			echo "<pre>No log: $pkg</pre>"
    1.75 +		fi ;;
    1.76 +	log=*)
    1.77 +		log=${QUERY_STRING#log=}
    1.78 +		file=$LOGS/$log.log
    1.79 +		echo "<h2>Log for: $log</h2>"
    1.80 +		if [ -f "$LOGS/$log.log" ]; then
    1.81 +			echo '<pre>'
    1.82 +			cat $file | syntax_highlighter
    1.83 +			echo '</pre>'
    1.84 +		else
    1.85 +			echo "<pre>No log for: $log</pre>"
    1.86 +		fi ;;
    1.87 +	receipt=*)
    1.88 +		pkg=${QUERY_STRING#receipt=}
    1.89 +		echo "<h2>Receipt: $pkg</h2>"
    1.90 +		if [ -f "$wok/$pkg/receipt" ]; then
    1.91 +			echo '<pre>'
    1.92 +			cat $wok/$pkg/receipt | syntax_highlighter
    1.93 +			echo '</pre>'
    1.94 +		else
    1.95 +			echo "<pre>No receipt for: $log</pre>"
    1.96  		fi ;;
    1.97  	*)
    1.98  		cat << EOT
    1.99  <div style="float: right;">
   1.100  	<form method="get" action="$SCRIPT_NAME">
   1.101 -		Show log:
   1.102 -		<input type="text" name="log" />
   1.103 +		Package:
   1.104 +		<input type="text" name="pkg" />
   1.105  	</form>
   1.106  </div>
   1.107  
   1.108  <h2>Summary</h2>
   1.109  <pre>
   1.110 +Running command  : $([ -s "$command" ] && cat $command || echo "Not running")
   1.111  Cooked packages  : $(ls $PKGS/*.tazpkg | wc -l)
   1.112  Packages in wok  : $(ls $WOK | wc -l)
   1.113  Wok revision     : <a href="http://hg.slitaz.org/wok">$(cd $WOK && hg head --template '{rev}\n')</a>
   1.114 @@ -118,7 +163,7 @@
   1.115  
   1.116  <h2>Activity</h2>
   1.117  <pre>
   1.118 -$(tac $CACHE/activity | sed s"#^\([^']* : \)#<span class='span-date'>\0</span>#"g)
   1.119 +$(tac $CACHE/activity | sed s"#^\([^']* : \)#<span class='log-date'>\0</span>#"g)
   1.120  </pre>
   1.121  
   1.122  <h2>Commits</h2>