changeset 635:cffb9b7f1c60

Add status.html and script to calculate it from roadmap info.
author Rob Landley <rob@landley.net>
date Sat, 21 Jul 2012 00:29:27 -0500
parents 8f22dbddf1e6
children 42ae383499c5
files scripts/mkstatus.py www/header.html www/status.html
diffstat 3 files changed, 88 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/mkstatus.py	Sat Jul 21 00:29:27 2012 -0500
@@ -0,0 +1,47 @@
+#!/usr/bin/python
+
+import subprocess,sys
+
+stuff={}
+blob=subprocess.Popen(["sed","-n", 's/<span id=\\([a-z]*\\)>/\\1 /;t good;d;:good;h;:loop;n;s@</span>@@;t out;H;b loop;:out;g;s/\\n/ /g;p', "www/roadmap.html", "www/status.html"], stdout=subprocess.PIPE, shell=False)
+for i in blob.stdout.read().split("\n"):
+  if not i: continue
+  i=i.split()
+  stuff[i[0]]=i[1:]
+
+reverse={}
+for i in stuff:
+  for j in stuff[i]:
+    try:
+      reverse[j].append(i)
+    except:
+      reverse[j]=[i]
+
+pending=[]
+done=[]
+
+outfile=open("www/status.gen", "w")
+outfile.write("<h2>All commands</h2><blockquote><p>\n")
+
+blah=list(reverse)
+blah.sort()
+for i in blah:
+  out=i
+  if "posix" in reverse[i]: out='[<a href="http://opengroup.org/onlinepubs/9699919799/utilities/%s.html">%s</a>]' % (i,out)
+  elif "lsb" in reverse[i]: out='&lt;<a href="http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/%s.html">%s</a>&gt;' % (i,out)
+  elif "development" in reverse[i]: out='(<a href="http://linux.die.net/man/1/%s">%s</a>)' % (i,out)
+  elif "toolbox" in reverse[i]: out='{%s}' % out
+  elif "ready" in reverse[i]: pass
+  else: sys.stderr.write("unknown %s %s\n" % (i, reverse[i]))
+
+  if "ready" in reverse[i] or "pending" in reverse[i]:
+    out='<strike>%s</strike>' % out
+    done.append(out)
+  else: pending.append(out)
+
+  outfile.write(out+"\n")
+
+outfile.write("</p></blockquote>\n")
+
+outfile.write("<h2>TODO</h2><blockquote><p>%s</p></blockquote>\n" % "\n".join(pending))
+outfile.write("<h2>Done</h2><blockquote><p>%s</p></blockquote>\n" % "\n".join(done))
--- a/www/header.html	Fri Jul 20 09:43:27 2012 +0200
+++ b/www/header.html	Sat Jul 21 00:29:27 2012 -0500
@@ -14,8 +14,8 @@
     <li><a href="about.html">What is toybox?</a></li>
     <li><a href="design.html">Design Docs</a></li>
     <li><a href="code.html">Source walkthrough</a></li>
-    <li><a href="todo.txt">TODO list</a></li>
     <li><a href="roadmap.html">Roadmap</a></li>
+    <li><a href="status.html">Status</a></li>
     <li><a href="http://www.h-online.com/open/features/Inside-the-ToyBox-An-interview-with-Rob-Landley-1447494.html">Interview</a></li>
   </ul>
   <b>Download</b>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www/status.html	Sat Jul 21 00:29:27 2012 -0500
@@ -0,0 +1,40 @@
+<!--#include file="header.html" -->
+<title>Toybox Status</title>
+
+<h1>How are we doing on implementing stuff so far?</h1>
+
+<p>Legend: {android} [posix] (development) &lt;lsb&gt; <strike>implemented</strike></p>
+
+<!--#include file="status.gen" -->
+
+<h1>The current status of toybox (as of 0.2.1 release):</h1>
+
+<h3><u>These commands are reasonably finished</u>:</h3>
+<blockquote><b>
+<span id=ready>
+basename cal cat catv chgrp chmod chown chroot chvt cksum clear cmp comm count
+df dirname dmesg echo env false killall link logname ls lsmod mkdir mkfifo mkswap mktemp
+mountpoint nice nohup od oneit pwd realpath seq setsid sha1sum sleep
+sort swapoff swapon sync tac tee true truncate tty uniq unlink vmstat
+wc which whoami yes
+</span>
+</b></blockquote>
+
+<h3><u>These commands are implemented but have pending todo items remaining:</u></h3>
+<blockquote><b>
+<span id=pending>
+bzcat bunzip2 cp date free head help hostname id insmod kill ln login mdev
+mknod modinfo mv nc netcat patch pidof printenv readlink rmdir rmmod tail uname unshare
+uptime who xargs
+</span>
+</b></blockquote>
+
+<h3><u>Work on these is underway, but not usable yet:</u></h3>
+<blockquote><b>
+bzip2 mke2fs more mount umount losetup sed tar sh grep/egrep/fgrep
+switch_root
+</blockquote></b>
+
+<p>See <a href="todo.txt">the todo list</a> for details.</p>
+
+<!-- #include "footer.html" -->