Commit e6aa4443 authored by Robert Ricci's avatar Robert Ricci

Merge branch 'master' into link-samples-to-profiles

parents 5af9b51c 04c8be80
......@@ -6,6 +6,7 @@
SCRIBBLEFILES=$(wildcard *.scrbl)
SCREENSHOTFILES=$(wildcard screenshots/*)
all: each
pdf: pdf/apt-manual.pdf pdf/cloudlab-manual.pdf pdf/phantomnet-manual.pdf \
pdf/emulab-manual.pdf pdf/powder-manual.pdf
apt: $(SOURCES)
-mkdir apt-manual/
......@@ -48,6 +49,13 @@ phantomnet: $(SOURCES)
cp -r $(GENI_LIB_DIR)/docs/build/html phantomnet-manual/geni-lib
scribble --htmls ++style phantomnet-manual.css ++arg --pnet ++arg --geni-lib-dir ++arg $(GENI_LIB_DIR) phantomnet-manual.scrbl
powder: $(SOURCES)
-mkdir powder-manual/
cd $(GENI_LIB_DIR)/docs && $(MAKE) html
-rm -rf powder-manual/geni-lib/
cp -r $(GENI_LIB_DIR)/docs/build/html powder-manual/geni-lib
scribble --htmls ++style powder-manual.css ++arg --powder ++arg --geni-lib-dir ++arg $(GENI_LIB_DIR) powder-manual.scrbl
emulab: $(SOURCES)
-mkdir emulab-manual/
cd $(GENI_LIB_DIR)/docs && $(MAKE) html
......@@ -64,12 +72,15 @@ pdf/cloudlab-manual.pdf: $(SOURCES)
pdf/phantomnet-manual.pdf: $(SOURCES)
scribble --dest pdf/ --pdf ++arg --pnet ++arg --pdf phantomnet-manual.scrbl
pdf/powder-manual.pdf: $(SOURCES)
scribble --dest pdf/ --pdf ++arg --powder ++arg --pdf powder-manual.scrbl
pdf/emulab-manual.pdf: $(SOURCES)
scribble --dest pdf/ --pdf ++arg --elab ++arg --pdf emulab-manual.scrbl
each: apt cloudlab phantomnet emulab
.PHONY: apt cloudlab phantomnet emulab all each clean install-live install-cloudlab install-phantomnet install-emulab install-all update-examples
.PHONY: apt cloudlab phantomnet powder emulab all each clean install-live install-cloudlab install-phantomnet install-powder install-emulab install-all update-examples
PROFILE_EXAMPLES=$(wildcard code-samples/profile/*/*.py)
......@@ -81,6 +92,7 @@ clean:
-rm -rf $(TOPLEVEL)/
-rm -rf cloudlab-manual/
-rm -rf phantomnet-manual/
-rm -rf powder-manual/
-rm -rf emulab-manual/
-rm -rf pdf/*
-rm *.bak
......@@ -90,7 +102,7 @@ clean:
-rm *.out
-rm *.png
install-all: install-live install-cloudlab install-phantomnet install-emulab
install-all: install-live install-cloudlab install-phantomnet install-powder install-emulab
install-live: apt
-rsync -v -az -e ssh --delete apt-manual/ $(INSTALL_LIVE)
......@@ -101,5 +113,8 @@ install-cloudlab: cloudlab-ga
install-phantomnet: phantomnet
-rsync -v -az -e ssh --delete phantomnet-manual/ $(INSTALL_PNET)
install-powder: powder
-rsync -v -az -e ssh --delete powder-manual/ $(INSTALL_POWDER)
install-emulab: emulab
-rsync -v -az -e ssh --delete emulab-manual/ $(INSTALL_ELAB)
......@@ -27,6 +27,7 @@
["--apt" "Compile manual for Apt" (tb-mode 'apt)]
["--clab" "Compile manual for CloudLab" (tb-mode 'clab)]
["--pnet" "Compile manual for PhantomNet" (tb-mode 'pnet)]
["--powder" "Compile manual for Powder" (tb-mode 'powder)]
["--elab" "Compile manual for Emulab" (tb-mode 'elab)]
["--pdf" "Compile PDF version of the manual" (doc-mode 'pdf)]
......@@ -37,6 +38,7 @@
(define (apt?) (if (equal? (tb-mode) 'apt) #t #f))
(define (clab?) (if (equal? (tb-mode) 'clab) #t #f))
(define (pnet?) (if (equal? (tb-mode) 'pnet) #t #f))
(define (powder?) (if (equal? (tb-mode) 'powder) #t #f))
(define (elab?) (if (equal? (tb-mode) 'elab) #t #f))
(define main-style
......@@ -47,18 +49,20 @@
(make-css-addition "highlight-default.css"))))
(define (apt-vs-clab #:apt [apt-version (list)] #:clab [clab-version (list)] #:pnet [pnet-version (list)] #:elab [elab-version (list)])
(define (apt-vs-clab #:apt [apt-version (list)] #:clab [clab-version (list)] #:pnet [pnet-version (list)] #:powder [powder-version (list)] #:elab [elab-version (list)])
(case (tb-mode)
('apt apt-version)
('clab clab-version)
('pnet pnet-version)
('powder powder-version)
('elab elab-version)))
(define (apt-vs-clab* #:apt [apt-version ""] #:clab [clab-version ""] #:pnet [pnet-version ""] #:elab [elab-version ""])
(define (apt-vs-clab* #:apt [apt-version ""] #:clab [clab-version ""] #:pnet [pnet-version ""] #:powder [powder-version ""] #:elab [elab-version ""])
(decode-flow (list (case (tb-mode)
('apt apt-version)
('clab clab-version)
('pnet pnet-version)
('powder powder-version)
('elab elab-version)))))
(define (apt-only . stuff)
......@@ -70,14 +74,21 @@
(define (pnet-only . stuff)
(apt-vs-clab #:pnet stuff))
(define (powder-only . stuff)
(apt-vs-clab #:powder stuff))
(define (elab-only . stuff)
(apt-vs-clab #:elab stuff))
(define (wireless-only . stuff)
(apt-vs-clab #:pnet stuff #:powder stuff))
(define apt-base-url
(case (tb-mode)
('apt "")
('clab "")
('pnet "")
('powder "")
('elab "")))
(define apt-doc-url
......@@ -85,6 +96,7 @@
('apt "")
('clab "")
('pnet "")
('powder "")
('elab "")))
(define forum-url
......@@ -92,12 +104,14 @@
('apt "!forum/apt-users")
('clab "!forum/cloudlab-users")
('pnet "!forum/phantomnet-users")
('powder "!forum/phantomnet-users")
('elab "!forum/emulab-users")))
(define tb (lambda () (case (tb-mode)
('apt "Apt")
('clab "CloudLab")
('pnet "PhantomNet")
('powder "Powder")
('elab "Emulab"))))
; We want the 'version' to be the date of the most recent commit
......@@ -129,6 +143,7 @@
(let* ([aptpath (string-append "screenshots/apt/" path)]
[clabpath (string-append "screenshots/clab/" path)]
[pnetpath (string-append "screenshots/pnet/" path)]
[powderpath (string-append "screenshots/powder/" path)]
[elabpath (string-append "screenshots/elab/" path)]
[fullpath (case (tb-mode)
('apt aptpath)
......@@ -140,6 +155,10 @@
(if (file-exists? pnetpath)
(cdr (cons (displayln (string-append "WARNING: PhantomNet missing screenshot " path)) aptpath))))
(if (file-exists? powderpath)
(cdr (cons (displayln (string-append "WARNING: Powder missing screenshot " path)) aptpath))))
(if (file-exists? elabpath)
......@@ -179,7 +179,7 @@ In each case, an @geni-lib["" 'id] object is obtained from t
constructor (the parameters are the address and the netmask, respectively),
and then added to the corresponding interface.
@section[#:tag "geni-lib-openepc"]{OpenEPC extensions}
@(geni-lib) includes convenience functions to assist constructing
* Overrides some of Scribble's default stying to match PhantomNet's colors
@import url(,400,700);
@import url(,400italic,700,700italic,300,300italic);
.navsettop, .navsetbottom, .tocset {
background-color: #c00;
color: white;
.navsettop, .navsetbottom, .tocset td a {
color: white;
.tocset td a.tocviewselflink {
color: inherit;
font-weight: bolder;
.navsettop a, .navsetbottom a {
color: inherit;
.navsettop .nonavigation, .navsetbottom .nonavigation {
color: #bbb;
.navsettop a:hover, .navsetbottom a:hover {
background: #7f3300;
.tocviewsublist, .tocviewsublistonly, .tocviewsublisttop, .tocviewsublistbottom {
border-left: 1px solid #bbb;
.refcolumn {
background: #adc4cc;
border-color: #0099cc;
* Override some of the default fonts
body, .main {
font-family: 'Roboto', sans-serif;
font-weight: lighter;
h1, h2, h3, h4, h5, h6 {
font-family: 'Roboto Slab', serif;
.SAuthorListBox {
font-family: 'Roboto Slab', serif;
font-weight: lighter;
.tocset td, .navsettop, .navsetbottom {
font-family: 'Roboto', sans-serif;
#lang scribble/manual
@(require racket/date)
@(require "defs.rkt")
@title[#:version apt-version
#:date (date->string (current-date))]{The POWDER Manual}
"Jacobus (Kobus) Van der Merwe" "Robert Ricci" "Leigh Stoller" "Kirk Webb" "Jon Duerig" "Gary Wong" "Keith Downie" "Mike Hibler" "Eric Eide"
@italic[(if (equal? (doc-mode) 'pdf)
(list "The HTML version of this manual is available at " (hyperlink apt-doc-url apt-doc-url))
(list "This manual is also available as a " (hyperlink "" "PDF")))]
Powder is a facility for experimenting on the future of wireless
networking in a city-scale "living laboratory" environment.
Powder is run by the University of Utah in partnership with Salt Lake
City and the Utah Education and Telehealth Network.
The Powder facility is built on top of
@hyperlink[""]{Emulab} and is run by the
@hyperlink[""]{Flux Research Group}, part of the
@hyperlink[""]{School of Computing} at the
@hyperlink[""]{University of Utah}.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment