cookutils annotate web/cookiso.cgi @ rev 862
Misc small changes.
author | Aleksej Bobylev <al.bobylev@gmail.com> |
---|---|
date | Mon Jan 09 04:37:12 2017 +0200 (2017-01-09) |
parents | a3a05fc499d0 |
children | 4e8c86306ce2 |
rev | line source |
---|---|
pankso@319 | 1 #!/bin/sh |
pankso@319 | 2 # |
pankso@319 | 3 # SliTaz Cookiso CGI/web interface. |
pankso@319 | 4 # |
al@728 | 5 echo 'Content-Type: text/html' |
al@728 | 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 |
al@728 | 11 |
pankso@319 | 12 # Cookiso DB files. |
al@728 | 13 |
pankso@319 | 14 cache="$CACHE/cookiso" |
pankso@319 | 15 iso="$SLITAZ/iso" |
pankso@319 | 16 activity="$cache/activity" |
pankso@319 | 17 command="$cache/command" |
pankso@319 | 18 rollog="$cache/rolling.log" |
pankso@327 | 19 synclog="$cache/rsync.log" |
pankso@319 | 20 |
al@728 | 21 |
pankso@319 | 22 # |
pankso@319 | 23 # Functions |
pankso@319 | 24 # |
pankso@319 | 25 |
pankso@319 | 26 # Put some colors in log and DB files. |
pankso@319 | 27 syntax_highlighter() { |
pankso@319 | 28 case $1 in |
pankso@319 | 29 log) |
al@794 | 30 esc=$'\033' |
al@794 | 31 sed -e 's|\(Filesystem size:\).*G\([0-9\.]*M\) *$|\1 \2|' \ |
al@794 | 32 -e "s|$esc\[1m|<span style=\"color: #008; font-weight: bold\">|g" \ |
al@808 | 33 -e "s|$esc\[0m|</span>|g" -e "s|$esc\[0;39m|</span>|g" \ |
al@794 | 34 -e "s|$esc\[0;33m|<span style=\"color: #861\">|g" \ |
al@794 | 35 -e "s|$esc\[1;31m|<span style=\"color: #F00; font-weight: bold\">|g" \ |
al@794 | 36 -e "s|$esc\[1;32m|<span style=\"color: #0A0; font-weight: bold\">|g" \ |
al@794 | 37 -e "s|$esc\[[0-9;]*m|<span>|g" |
al@794 | 38 ;; |
pankso@319 | 39 activity) |
pankso@319 | 40 sed s"#^\([^']* : \)#<span class='log-date'>\0</span>#"g ;; |
pankso@319 | 41 esac |
pankso@319 | 42 } |
pankso@319 | 43 |
al@728 | 44 |
pankso@319 | 45 # Latest build pkgs. |
al@728 | 46 |
pankso@319 | 47 list_isos() { |
pankso@319 | 48 cd $iso |
pankso@319 | 49 ls -1t *.iso | head -6 | \ |
al@728 | 50 while read file; do |
pankso@319 | 51 echo -n $(stat -c '%y' $file | cut -d . -f 1 | sed s/:[0-9]*$//) |
pankso@319 | 52 echo " : $file" |
pankso@319 | 53 done |
pankso@319 | 54 } |
pankso@319 | 55 |
al@728 | 56 |
paul@325 | 57 # xHTML header. Pages can be customized with a separate html.header file. |
al@728 | 58 |
al@728 | 59 if [ -f 'header.html' ]; then |
pankso@319 | 60 cat header.html | sed s'/Cooker/ISO Cooker/' |
pankso@319 | 61 else |
al@728 | 62 cat <<EOT |
pankso@319 | 63 <!DOCTYPE html> |
al@728 | 64 <html lang="en"> |
pankso@319 | 65 <head> |
al@862 | 66 <meta charset="UTF-8"> |
pankso@319 | 67 <title>SliTaz ISO Cooker</title> |
al@862 | 68 <link rel="shortcut icon" href="favicon.ico"> |
al@862 | 69 <link rel="stylesheet" href="style.css"> |
pankso@319 | 70 </head> |
pankso@319 | 71 <body> |
pankso@319 | 72 |
pankso@319 | 73 <div id="header"> |
pankso@319 | 74 <div id="logo"></div> |
pankso@319 | 75 <h1><a href="cookiso.cgi">SliTaz ISO Cooker</a></h1> |
pankso@319 | 76 </div> |
pankso@319 | 77 |
pankso@319 | 78 <!-- Content --> |
pankso@319 | 79 <div id="content"> |
pankso@319 | 80 EOT |
pankso@319 | 81 fi |
pankso@319 | 82 |
pankso@319 | 83 # |
pankso@319 | 84 # Load requested page |
pankso@319 | 85 # |
pankso@319 | 86 |
pankso@319 | 87 case "${QUERY_STRING}" in |
pankso@319 | 88 distro=*) |
pankso@319 | 89 distro=${QUERY_STRING#distro=} |
pankso@339 | 90 ver=${distro%-core-4in1} |
pankso@339 | 91 log=$iso/slitaz-$ver.log |
pankso@319 | 92 . $SLITAZ/flavors/${distro#*-}/receipt |
pankso@319 | 93 echo "<h2>Distro: $distro</h2>" |
pankso@319 | 94 echo "<p>Description: $SHORT_DESC</p>" |
pankso@334 | 95 echo '<h3>Summary</h3>' |
pankso@334 | 96 echo '<pre>' |
pankso@340 | 97 fgrep "Build time" $log |
pankso@334 | 98 fgrep "Build date" $log |
pankso@334 | 99 fgrep "Packages" $log |
pankso@334 | 100 fgrep "Rootfs size" $log |
pankso@334 | 101 fgrep "ISO image size" $log |
pankso@334 | 102 echo '</pre>' |
pascal@844 | 103 echo "<h3>Cookiso log $(stat -c %y $log | sed 's/:..\..*//')</h3>" |
pascal@844 | 104 for i in $(ls -t $log.*); do |
pascal@844 | 105 echo -n "<a href=\"?log=$(basename $i)\">" |
pascal@844 | 106 echo "$(stat -c %y $i | sed 's/ .*//')</a>" |
pascal@844 | 107 done |
pankso@319 | 108 echo '<pre>' |
pankso@319 | 109 cat $log | syntax_highlighter log |
pankso@319 | 110 echo '</pre>' ;; |
al@728 | 111 |
pascal@844 | 112 log=*) |
pascal@844 | 113 log=$iso/${QUERY_STRING#log=} |
pascal@844 | 114 if [ -s $log ]; then |
pascal@845 | 115 echo "<h3>Cook log $(stat -c %y $log | sed 's/:..\..*//')</h3>" |
pascal@844 | 116 echo '<pre>' |
pascal@844 | 117 cat $log | syntax_highlighter log |
pascal@844 | 118 echo '</pre>' |
pascal@844 | 119 fi ;; |
pascal@844 | 120 |
pankso@319 | 121 *) |
pankso@319 | 122 # Main page with summary. |
al@728 | 123 echo -n 'Running command : ' |
pankso@319 | 124 if [ -f "$command" ]; then |
pankso@319 | 125 cat $command |
pankso@319 | 126 else |
al@728 | 127 echo 'Not running' |
pankso@319 | 128 fi |
al@728 | 129 cat <<EOT |
pankso@319 | 130 <h2>Activity</h2> |
pankso@319 | 131 <pre> |
pankso@319 | 132 $(tac $activity | head -n 12 | syntax_highlighter activity) |
pankso@319 | 133 </pre> |
pankso@319 | 134 |
pankso@319 | 135 <h2>Latest ISO</h2> |
pankso@319 | 136 <pre> |
pankso@319 | 137 $(list_isos | syntax_highlighter activity) |
pankso@319 | 138 </pre> |
pankso@319 | 139 EOT |
pankso@319 | 140 # Rolling Bot log. |
pankso@319 | 141 if [ -f "$rollog" ]; then |
al@728 | 142 echo '<h2>Rolling log</h2>' |
pankso@319 | 143 echo '<pre>' |
pankso@319 | 144 cat $rollog |
pankso@319 | 145 echo '</pre>' |
pankso@326 | 146 fi |
pankso@326 | 147 # Rsync log. |
pankso@326 | 148 if [ -f "$synclog" ]; then |
al@728 | 149 echo '<h2>Rsync log</h2>' |
pankso@326 | 150 echo '<pre>' |
pascal@331 | 151 awk '{ |
pascal@331 | 152 if (/\/s/) h=$0; |
pascal@331 | 153 else { |
pascal@331 | 154 if (h!="") print h; |
pascal@331 | 155 h=""; |
pascal@331 | 156 print; |
pascal@331 | 157 } |
pascal@331 | 158 }'< $synclog |
pankso@326 | 159 echo '</pre>' |
pankso@319 | 160 fi ;; |
pankso@319 | 161 esac |
pankso@319 | 162 |
al@728 | 163 |
pankso@319 | 164 # Close xHTML page |
al@728 | 165 |
al@728 | 166 cat <<EOT |
pankso@319 | 167 </div> |
pankso@319 | 168 |
pankso@319 | 169 <div id="footer"> |
pankso@319 | 170 <a href="http://www.slitaz.org/">SliTaz Website</a> |
pankso@319 | 171 <a href="cookiso.cgi">Cookiso</a> |
al@862 | 172 <a href="doc/cookutils/cookutils.en.html">Documentation</a> |
pankso@319 | 173 </div> |
pankso@319 | 174 |
pankso@319 | 175 </body> |
pankso@319 | 176 </html> |
pankso@319 | 177 EOT |
pankso@319 | 178 |
pankso@319 | 179 exit 0 |