cookutils annotate web/cookiso.cgi @ rev 496

cook: Removed log function cause its in libcook.sh.
author Christopher Rogers <slaxemulator@gmail.com>
date Tue Jun 19 16:33:46 2012 +0000 (2012-06-19)
parents c99954bba012
children da66e6be1add
rev   line source
pankso@319 1 #!/bin/sh
pankso@319 2 #
pankso@319 3 # SliTaz Cookiso CGI/web interface.
pankso@319 4 #
pankso@319 5 echo "Content-Type: text/html"
pankso@319 6 echo ""
pankso@319 7
pankso@319 8 [ -f "/etc/slitaz/cook.conf" ] && . /etc/slitaz/cook.conf
pankso@319 9 [ -f "cook.conf" ] && . ./cook.conf
pankso@319 10
pankso@319 11 # Cookiso DB files.
pankso@319 12 cache="$CACHE/cookiso"
pankso@319 13 iso="$SLITAZ/iso"
pankso@319 14 activity="$cache/activity"
pankso@319 15 command="$cache/command"
pankso@319 16 rollog="$cache/rolling.log"
pankso@327 17 synclog="$cache/rsync.log"
pankso@319 18
pankso@319 19 #
pankso@319 20 # Functions
pankso@319 21 #
pankso@319 22
pankso@319 23 # Put some colors in log and DB files.
pankso@319 24 syntax_highlighter() {
pankso@319 25 case $1 in
pankso@319 26 log)
pankso@319 27 sed -e 's#OK#<span class="span-ok">OK</span>#g' \
pankso@319 28 -e 's#Failed#<span class="span-red">Failed</span>#g' \
pankso@319 29 -e 's|\(Filesystem size:\).*G\([0-9\.]*M\) *$|\1 \2|' \
pankso@319 30 -e 's|.\[1m|<b>|' -e 's|.\[0m|</b>|' -e 's|.\[[0-9Gm;]*||g' ;;
pankso@319 31 activity)
pankso@319 32 sed s"#^\([^']* : \)#<span class='log-date'>\0</span>#"g ;;
pankso@319 33 esac
pankso@319 34 }
pankso@319 35
pankso@319 36 # Latest build pkgs.
pankso@319 37 list_isos() {
pankso@319 38 cd $iso
pankso@319 39 ls -1t *.iso | head -6 | \
pankso@319 40 while read file
pankso@319 41 do
pankso@319 42 echo -n $(stat -c '%y' $file | cut -d . -f 1 | sed s/:[0-9]*$//)
pankso@319 43 echo " : $file"
pankso@319 44 done
pankso@319 45 }
pankso@319 46
paul@325 47 # xHTML header. Pages can be customized with a separate html.header file.
pankso@319 48 if [ -f "header.html" ]; then
pankso@319 49 cat header.html | sed s'/Cooker/ISO Cooker/'
pankso@319 50 else
pankso@319 51 cat << EOT
pankso@319 52 <!DOCTYPE html>
pankso@319 53 <html xmlns="http://www.w3.org/1999/xhtml">
pankso@319 54 <head>
pankso@319 55 <title>SliTaz ISO Cooker</title>
pankso@319 56 <meta charset="utf-8" />
pankso@319 57 <link rel="shortcut icon" href="favicon.ico" />
pankso@319 58 <link rel="stylesheet" type="text/css" href="style.css" />
pankso@319 59 </head>
pankso@319 60 <body>
pankso@319 61
pankso@319 62 <div id="header">
pankso@319 63 <div id="logo"></div>
pankso@319 64 <h1><a href="cookiso.cgi">SliTaz ISO Cooker</a></h1>
pankso@319 65 </div>
pankso@319 66
pankso@319 67 <!-- Content -->
pankso@319 68 <div id="content">
pankso@319 69 EOT
pankso@319 70 fi
pankso@319 71
pankso@319 72 #
pankso@319 73 # Load requested page
pankso@319 74 #
pankso@319 75
pankso@319 76 case "${QUERY_STRING}" in
pankso@319 77 distro=*)
pankso@319 78 distro=${QUERY_STRING#distro=}
pankso@339 79 ver=${distro%-core-4in1}
pankso@339 80 log=$iso/slitaz-$ver.log
pankso@319 81 . $SLITAZ/flavors/${distro#*-}/receipt
pankso@319 82 echo "<h2>Distro: $distro</h2>"
pankso@319 83 echo "<p>Description: $SHORT_DESC</p>"
pankso@334 84 echo '<h3>Summary</h3>'
pankso@334 85 echo '<pre>'
pankso@340 86 fgrep "Build time" $log
pankso@334 87 fgrep "Build date" $log
pankso@334 88 fgrep "Packages" $log
pankso@334 89 fgrep "Rootfs size" $log
pankso@334 90 fgrep "ISO image size" $log
pankso@334 91 echo '</pre>'
pankso@319 92 echo '<h3>Cookiso log</h3>'
pankso@319 93 echo '<pre>'
pankso@319 94 cat $log | syntax_highlighter log
pankso@319 95 echo '</pre>' ;;
pankso@319 96 *)
pankso@319 97 # Main page with summary.
pankso@319 98 echo -n "Running command : "
pankso@319 99 if [ -f "$command" ]; then
pankso@319 100 cat $command
pankso@319 101 else
pankso@319 102 echo "Not running"
pankso@319 103 fi
pankso@319 104 cat << EOT
pankso@319 105 <h2>Activity</h2>
pankso@319 106 <pre>
pankso@319 107 $(tac $activity | head -n 12 | syntax_highlighter activity)
pankso@319 108 </pre>
pankso@319 109
pankso@319 110 <h2>Latest ISO</h2>
pankso@319 111 <pre>
pankso@319 112 $(list_isos | syntax_highlighter activity)
pankso@319 113 </pre>
pankso@319 114 EOT
pankso@319 115 # Rolling Bot log.
pankso@319 116 if [ -f "$rollog" ]; then
pankso@319 117 echo "<h2>Rolling log</h2>"
pankso@319 118 echo '<pre>'
pankso@319 119 cat $rollog
pankso@319 120 echo '</pre>'
pankso@326 121 fi
pankso@326 122 # Rsync log.
pankso@326 123 if [ -f "$synclog" ]; then
pankso@326 124 echo "<h2>Rsync log</h2>"
pankso@326 125 echo '<pre>'
pascal@331 126 awk '{
pascal@331 127 if (/\/s/) h=$0;
pascal@331 128 else {
pascal@331 129 if (h!="") print h;
pascal@331 130 h="";
pascal@331 131 print;
pascal@331 132 }
pascal@331 133 }'< $synclog
pankso@326 134 echo '</pre>'
pankso@319 135 fi ;;
pankso@319 136 esac
pankso@319 137
pankso@319 138 # Close xHTML page
pankso@319 139 cat << EOT
pankso@319 140 </div>
pankso@319 141
pankso@319 142 <div id="footer">
pankso@319 143 <a href="http://www.slitaz.org/">SliTaz Website</a>
pankso@319 144 <a href="cookiso.cgi">Cookiso</a>
pankso@319 145 <a href="http://hg.slitaz.org/cookutils/raw-file/tip/doc/cookutils.en.html">
pankso@319 146 Documentation</a>
pankso@319 147 </div>
pankso@319 148
pankso@319 149 </body>
pankso@319 150 </html>
pankso@319 151 EOT
pankso@319 152
pankso@319 153 exit 0