| 
															
														 | 
														
															 
														 | 
														
															
														 | 
														
															 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															1
														 | 
														
															+<?xml version="1.0" encoding="utf-8"?> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															2
														 | 
														
															+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															3
														 | 
														
															+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															4
														 | 
														
															+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															5
														 | 
														
															+<head> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															6
														 | 
														
															+<!-- 2016-10-12 Wed 16:06 --> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															7
														 | 
														
															+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															8
														 | 
														
															+<meta name="viewport" content="width=device-width, initial-scale=1" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															9
														 | 
														
															+<title></title> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															10
														 | 
														
															+<meta name="generator" content="Org-mode" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															11
														 | 
														
															+<meta name="author" content="Bob Mottram" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															12
														 | 
														
															+<meta name="description" content="Turn the Beaglebone Black into a personal communications server" 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															13
														 | 
														
															+ /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															14
														 | 
														
															+<meta name="keywords" content="freedombox, debian, beaglebone, red matrix, email, web server, home server, internet, censorship, surveillance, social network, irc, jabber" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															15
														 | 
														
															+<style type="text/css"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															16
														 | 
														
															+ <!--/*--><![CDATA[/*><!--*/ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															17
														 | 
														
															+  .title  { text-align: center; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															18
														 | 
														
															+             margin-bottom: .2em; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															19
														 | 
														
															+  .subtitle { text-align: center; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															20
														 | 
														
															+              font-size: medium; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															21
														 | 
														
															+              font-weight: bold; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															22
														 | 
														
															+              margin-top:0; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															23
														 | 
														
															+  .todo   { font-family: monospace; color: red; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															24
														 | 
														
															+  .done   { font-family: monospace; color: green; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															25
														 | 
														
															+  .priority { font-family: monospace; color: orange; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															26
														 | 
														
															+  .tag    { background-color: #eee; font-family: monospace; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															27
														 | 
														
															+            padding: 2px; font-size: 80%; font-weight: normal; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															28
														 | 
														
															+  .timestamp { color: #bebebe; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															29
														 | 
														
															+  .timestamp-kwd { color: #5f9ea0; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															30
														 | 
														
															+  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															31
														 | 
														
															+  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															32
														 | 
														
															+  .org-center { margin-left: auto; margin-right: auto; text-align: center; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															33
														 | 
														
															+  .underline { text-decoration: underline; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															34
														 | 
														
															+  #postamble p, #preamble p { font-size: 90%; margin: .2em; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															35
														 | 
														
															+  p.verse { margin-left: 3%; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															36
														 | 
														
															+  pre { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															37
														 | 
														
															+    border: 1px solid #ccc; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															38
														 | 
														
															+    box-shadow: 3px 3px 3px #eee; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															39
														 | 
														
															+    padding: 8pt; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															40
														 | 
														
															+    font-family: monospace; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															41
														 | 
														
															+    overflow: auto; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															42
														 | 
														
															+    margin: 1.2em; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															43
														 | 
														
															+  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															44
														 | 
														
															+  pre.src { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															45
														 | 
														
															+    position: relative; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															46
														 | 
														
															+    overflow: visible; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															47
														 | 
														
															+    padding-top: 1.2em; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															48
														 | 
														
															+  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															49
														 | 
														
															+  pre.src:before { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															50
														 | 
														
															+    display: none; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															51
														 | 
														
															+    position: absolute; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															52
														 | 
														
															+    background-color: white; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															53
														 | 
														
															+    top: -10px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															54
														 | 
														
															+    right: 10px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															55
														 | 
														
															+    padding: 3px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															56
														 | 
														
															+    border: 1px solid black; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															57
														 | 
														
															+  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															58
														 | 
														
															+  pre.src:hover:before { display: inline;} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															59
														 | 
														
															+  /* Languages per Org manual */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															60
														 | 
														
															+  pre.src-asymptote:before { content: 'Asymptote'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															61
														 | 
														
															+  pre.src-awk:before { content: 'Awk'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															62
														 | 
														
															+  pre.src-C:before { content: 'C'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															63
														 | 
														
															+  /* pre.src-C++ doesn't work in CSS */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															64
														 | 
														
															+  pre.src-clojure:before { content: 'Clojure'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															65
														 | 
														
															+  pre.src-css:before { content: 'CSS'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															66
														 | 
														
															+  pre.src-D:before { content: 'D'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															67
														 | 
														
															+  pre.src-ditaa:before { content: 'ditaa'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															68
														 | 
														
															+  pre.src-dot:before { content: 'Graphviz'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															69
														 | 
														
															+  pre.src-calc:before { content: 'Emacs Calc'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															70
														 | 
														
															+  pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															71
														 | 
														
															+  pre.src-fortran:before { content: 'Fortran'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															72
														 | 
														
															+  pre.src-gnuplot:before { content: 'gnuplot'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															73
														 | 
														
															+  pre.src-haskell:before { content: 'Haskell'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															74
														 | 
														
															+  pre.src-java:before { content: 'Java'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															75
														 | 
														
															+  pre.src-js:before { content: 'Javascript'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															76
														 | 
														
															+  pre.src-latex:before { content: 'LaTeX'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															77
														 | 
														
															+  pre.src-ledger:before { content: 'Ledger'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															78
														 | 
														
															+  pre.src-lisp:before { content: 'Lisp'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															79
														 | 
														
															+  pre.src-lilypond:before { content: 'Lilypond'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															80
														 | 
														
															+  pre.src-lua:before { content: 'Lua'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															81
														 | 
														
															+  pre.src-matlab:before { content: 'MATLAB'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															82
														 | 
														
															+  pre.src-mscgen:before { content: 'Mscgen'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															83
														 | 
														
															+  pre.src-ocaml:before { content: 'Objective Caml'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															84
														 | 
														
															+  pre.src-octave:before { content: 'Octave'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															85
														 | 
														
															+  pre.src-org:before { content: 'Org mode'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															86
														 | 
														
															+  pre.src-oz:before { content: 'OZ'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															87
														 | 
														
															+  pre.src-plantuml:before { content: 'Plantuml'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															88
														 | 
														
															+  pre.src-processing:before { content: 'Processing.js'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															89
														 | 
														
															+  pre.src-python:before { content: 'Python'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															90
														 | 
														
															+  pre.src-R:before { content: 'R'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															91
														 | 
														
															+  pre.src-ruby:before { content: 'Ruby'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															92
														 | 
														
															+  pre.src-sass:before { content: 'Sass'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															93
														 | 
														
															+  pre.src-scheme:before { content: 'Scheme'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															94
														 | 
														
															+  pre.src-screen:before { content: 'Gnu Screen'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															95
														 | 
														
															+  pre.src-sed:before { content: 'Sed'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															96
														 | 
														
															+  pre.src-sh:before { content: 'shell'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															97
														 | 
														
															+  pre.src-sql:before { content: 'SQL'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															98
														 | 
														
															+  pre.src-sqlite:before { content: 'SQLite'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															99
														 | 
														
															+  /* additional languages in org.el's org-babel-load-languages alist */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															100
														 | 
														
															+  pre.src-forth:before { content: 'Forth'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															101
														 | 
														
															+  pre.src-io:before { content: 'IO'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															102
														 | 
														
															+  pre.src-J:before { content: 'J'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															103
														 | 
														
															+  pre.src-makefile:before { content: 'Makefile'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															104
														 | 
														
															+  pre.src-maxima:before { content: 'Maxima'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															105
														 | 
														
															+  pre.src-perl:before { content: 'Perl'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															106
														 | 
														
															+  pre.src-picolisp:before { content: 'Pico Lisp'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															107
														 | 
														
															+  pre.src-scala:before { content: 'Scala'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															108
														 | 
														
															+  pre.src-shell:before { content: 'Shell Script'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															109
														 | 
														
															+  pre.src-ebnf2ps:before { content: 'ebfn2ps'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															110
														 | 
														
															+  /* additional language identifiers per "defun org-babel-execute" 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															111
														 | 
														
															+       in ob-*.el */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															112
														 | 
														
															+  pre.src-cpp:before  { content: 'C++'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															113
														 | 
														
															+  pre.src-abc:before  { content: 'ABC'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															114
														 | 
														
															+  pre.src-coq:before  { content: 'Coq'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															115
														 | 
														
															+  pre.src-groovy:before  { content: 'Groovy'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															116
														 | 
														
															+  /* additional language identifiers from org-babel-shell-names in 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															117
														 | 
														
															+     ob-shell.el: ob-shell is the only babel language using a lambda to put 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															118
														 | 
														
															+     the execution function name together. */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															119
														 | 
														
															+  pre.src-bash:before  { content: 'bash'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															120
														 | 
														
															+  pre.src-csh:before  { content: 'csh'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															121
														 | 
														
															+  pre.src-ash:before  { content: 'ash'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															122
														 | 
														
															+  pre.src-dash:before  { content: 'dash'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															123
														 | 
														
															+  pre.src-ksh:before  { content: 'ksh'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															124
														 | 
														
															+  pre.src-mksh:before  { content: 'mksh'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															125
														 | 
														
															+  pre.src-posh:before  { content: 'posh'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															126
														 | 
														
															+  /* Additional Emacs modes also supported by the LaTeX listings package */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															127
														 | 
														
															+  pre.src-ada:before { content: 'Ada'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															128
														 | 
														
															+  pre.src-asm:before { content: 'Assembler'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															129
														 | 
														
															+  pre.src-caml:before { content: 'Caml'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															130
														 | 
														
															+  pre.src-delphi:before { content: 'Delphi'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															131
														 | 
														
															+  pre.src-html:before { content: 'HTML'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															132
														 | 
														
															+  pre.src-idl:before { content: 'IDL'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															133
														 | 
														
															+  pre.src-mercury:before { content: 'Mercury'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															134
														 | 
														
															+  pre.src-metapost:before { content: 'MetaPost'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															135
														 | 
														
															+  pre.src-modula-2:before { content: 'Modula-2'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															136
														 | 
														
															+  pre.src-pascal:before { content: 'Pascal'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															137
														 | 
														
															+  pre.src-ps:before { content: 'PostScript'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															138
														 | 
														
															+  pre.src-prolog:before { content: 'Prolog'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															139
														 | 
														
															+  pre.src-simula:before { content: 'Simula'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															140
														 | 
														
															+  pre.src-tcl:before { content: 'tcl'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															141
														 | 
														
															+  pre.src-tex:before { content: 'TeX'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															142
														 | 
														
															+  pre.src-plain-tex:before { content: 'Plain TeX'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															143
														 | 
														
															+  pre.src-verilog:before { content: 'Verilog'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															144
														 | 
														
															+  pre.src-vhdl:before { content: 'VHDL'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															145
														 | 
														
															+  pre.src-xml:before { content: 'XML'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															146
														 | 
														
															+  pre.src-nxml:before { content: 'XML'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															147
														 | 
														
															+  /* add a generic configuration mode; LaTeX export needs an additional 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															148
														 | 
														
															+     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															149
														 | 
														
															+  pre.src-conf:before { content: 'Configuration File'; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															150
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															151
														 | 
														
															+  table { border-collapse:collapse; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															152
														 | 
														
															+  caption.t-above { caption-side: top; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															153
														 | 
														
															+  caption.t-bottom { caption-side: bottom; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															154
														 | 
														
															+  td, th { vertical-align:top;  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															155
														 | 
														
															+  th.org-right  { text-align: center;  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															156
														 | 
														
															+  th.org-left   { text-align: center;   } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															157
														 | 
														
															+  th.org-center { text-align: center; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															158
														 | 
														
															+  td.org-right  { text-align: right;  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															159
														 | 
														
															+  td.org-left   { text-align: left;   } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															160
														 | 
														
															+  td.org-center { text-align: center; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															161
														 | 
														
															+  dt { font-weight: bold; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															162
														 | 
														
															+  .footpara { display: inline; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															163
														 | 
														
															+  .footdef  { margin-bottom: 1em; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															164
														 | 
														
															+  .figure { padding: 1em; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															165
														 | 
														
															+  .figure p { text-align: center; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															166
														 | 
														
															+  .inlinetask { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															167
														 | 
														
															+    padding: 10px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															168
														 | 
														
															+    border: 2px solid gray; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															169
														 | 
														
															+    margin: 10px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															170
														 | 
														
															+    background: #ffffcc; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															171
														 | 
														
															+  } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															172
														 | 
														
															+  #org-div-home-and-up 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															173
														 | 
														
															+   { text-align: right; font-size: 70%; white-space: nowrap; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															174
														 | 
														
															+  textarea { overflow-x: auto; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															175
														 | 
														
															+  .linenr { font-size: smaller } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															176
														 | 
														
															+  .code-highlighted { background-color: #ffff00; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															177
														 | 
														
															+  .org-info-js_info-navigation { border-style: none; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															178
														 | 
														
															+  #org-info-js_console-label 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															179
														 | 
														
															+    { font-size: 10px; font-weight: bold; white-space: nowrap; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															180
														 | 
														
															+  .org-info-js_search-highlight 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															181
														 | 
														
															+    { background-color: #ffff00; color: #000000; font-weight: bold; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															182
														 | 
														
															+  .org-svg { width: 90%; } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															183
														 | 
														
															+  /*]]>*/--> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															184
														 | 
														
															+</style> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															185
														 | 
														
															+<link rel="stylesheet" type="text/css" href="freedombone.css" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															186
														 | 
														
															+<script type="text/javascript"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															187
														 | 
														
															+/* 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															188
														 | 
														
															+@licstart  The following is the entire license notice for the 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															189
														 | 
														
															+JavaScript code in this tag. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															190
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															191
														 | 
														
															+Copyright (C) 2012-2013 Free Software Foundation, Inc. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															192
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															193
														 | 
														
															+The JavaScript code in this tag is free software: you can 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															194
														 | 
														
															+redistribute it and/or modify it under the terms of the GNU 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															195
														 | 
														
															+General Public License (GNU GPL) as published by the Free Software 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															196
														 | 
														
															+Foundation, either version 3 of the License, or (at your option) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															197
														 | 
														
															+any later version.  The code is distributed WITHOUT ANY WARRANTY; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															198
														 | 
														
															+without even the implied warranty of MERCHANTABILITY or FITNESS 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															199
														 | 
														
															+FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															200
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															201
														 | 
														
															+As additional permission under GNU GPL version 3 section 7, you 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															202
														 | 
														
															+may distribute non-source (e.g., minimized or compacted) forms of 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															203
														 | 
														
															+that code without the copy of the GNU GPL normally required by 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															204
														 | 
														
															+section 4, provided you include this license notice and a URL 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															205
														 | 
														
															+through which recipients can access the Corresponding Source. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															206
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															207
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															208
														 | 
														
															+@licend  The above is the entire license notice 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															209
														 | 
														
															+for the JavaScript code in this tag. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															210
														 | 
														
															+*/ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															211
														 | 
														
															+<!--/*--><![CDATA[/*><!--*/ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															212
														 | 
														
															+ function CodeHighlightOn(elem, id) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															213
														 | 
														
															+ { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															214
														 | 
														
															+   var target = document.getElementById(id); 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															215
														 | 
														
															+   if(null != target) { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															216
														 | 
														
															+     elem.cacheClassElem = elem.className; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															217
														 | 
														
															+     elem.cacheClassTarget = target.className; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															218
														 | 
														
															+     target.className = "code-highlighted"; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															219
														 | 
														
															+     elem.className   = "code-highlighted"; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															220
														 | 
														
															+   } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															221
														 | 
														
															+ } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															222
														 | 
														
															+ function CodeHighlightOff(elem, id) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															223
														 | 
														
															+ { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															224
														 | 
														
															+   var target = document.getElementById(id); 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															225
														 | 
														
															+   if(elem.cacheClassElem) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															226
														 | 
														
															+     elem.className = elem.cacheClassElem; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															227
														 | 
														
															+   if(elem.cacheClassTarget) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															228
														 | 
														
															+     target.className = elem.cacheClassTarget; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															229
														 | 
														
															+ } 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															230
														 | 
														
															+/*]]>*///--> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															231
														 | 
														
															+</script> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															232
														 | 
														
															+</head> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															233
														 | 
														
															+<body> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															234
														 | 
														
															+<div id="preamble" class="status"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															235
														 | 
														
															+<a name="top" id="top"></a> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															236
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															237
														 | 
														
															+<div id="content"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															238
														 | 
														
															+<div class="org-center"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															239
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															240
														 | 
														
															+<div class="figure"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															241
														 | 
														
															+<p><img src="images/logo.png" alt="logo.png" /> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															242
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															243
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															244
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															245
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															246
														 | 
														
															+<center><h1>Developers Guide</h1></center> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															247
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															248
														 | 
														
															+<div id="outline-container-org27d5926" class="outline-2"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															249
														 | 
														
															+<h2 id="org27d5926">Adding extra apps</h2> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															250
														 | 
														
															+<div class="outline-text-2" id="text-org27d5926"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															251
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															252
														 | 
														
															+Suppose you have some internet application which you want to add to the system. To do this you need to create an app script which tells the system how to install/remove and also backup/restore. On an installed system the app scripts go into the directory: 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															253
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															254
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															255
														 | 
														
															+<div class="org-src-container"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															256
														 | 
														
															+<pre class="src src-bash">/usr/share/freedombone/apps 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															257
														 | 
														
															+</pre> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															258
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															259
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															260
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															261
														 | 
														
															+and within the project repo they appear within the <i>src</i> directory. Your new app script should have the name: 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															262
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															263
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															264
														 | 
														
															+<div class="org-src-container"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															265
														 | 
														
															+<pre class="src src-bash">freedombone-app-[myappname] 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															266
														 | 
														
															+</pre> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															267
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															268
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															269
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															270
														 | 
														
															+The <i>myappname</i> value should not contain any spaces and will appear in the list of available apps. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															271
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															272
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															273
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															274
														 | 
														
															+An example template for an app script is shown below. Copy this and add whatever variables and configuration you need. Search and replace <i>myappname</i> with your own. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															275
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															276
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															277
														 | 
														
															+<div class="org-src-container"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															278
														 | 
														
															+<pre class="src src-bash"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/</span><span class="org-keyword">bash</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															279
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">Copyright (C) Year YourName <YourEmail></span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															280
														 | 
														
															+<span class="org-comment-delimiter">#</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															281
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">This program is free software: you can redistribute it and/or modify</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															282
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">it under the terms of the GNU Affero General Public License as published by</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															283
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">the Free Software Foundation, either version 3 of the License, or</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															284
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">(at your option) any later version.</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															285
														 | 
														
															+<span class="org-comment-delimiter">#</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															286
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">This program is distributed in the hope that it will be useful,</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															287
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">but WITHOUT ANY WARRANTY; without even the implied warranty of</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															288
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															289
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">GNU Affero General Public License for more details.</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															290
														 | 
														
															+<span class="org-comment-delimiter">#</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															291
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">You should have received a copy of the GNU Affero General Public License</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															292
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">along with this program.  If not, see <a href="http://www.gnu.org/licenses/"><http://www.gnu.org/licenses/></a>.</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															293
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															294
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">'full' includes your app in the full installation and you can also</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															295
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">add other variants, separated by spaces. The available variants will</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															296
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">be detected automatically from the app scripts.</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															297
														 | 
														
															+<span class="org-variable-name">VARIANTS</span>=<span class="org-string">'full'</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															298
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															299
														 | 
														
															+<span class="org-variable-name">SOME_IMPORTANT_CONFIG_VARIABLE</span>=<span class="org-string">'some important value'</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															300
														 | 
														
															+<span class="org-variable-name">ANOTHER_IMPORTANT_CONFIG_VARIABLE</span>=<span class="org-string">'foo'</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															301
														 | 
														
															+<span class="org-variable-name">MY_FUNKY_AVATAR</span>=fro.png 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															302
														 | 
														
															+<span class="org-variable-name">MYAPPNAME_ONION_PORT</span>=[port number] 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															303
														 | 
														
															+<span class="org-variable-name">MYAPPNAME_DB_PASSWORD</span>= 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															304
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															305
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">A directory where the data exists</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															306
														 | 
														
															+<span class="org-variable-name">MYAPP_DATA_DIR</span>=/var/lib/somedirectory 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															307
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															308
														 | 
														
															+<span class="org-variable-name">myappname_variables</span>=(ONION_ONLY 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															309
														 | 
														
															+                     MY_USERNAME 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															310
														 | 
														
															+                     SOME_IMPORTANT_CONFIG_VARIABLE 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															311
														 | 
														
															+                     ANOTHER_IMPORTANT_CONFIG_VARIABLE 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															312
														 | 
														
															+                     MY_FUNKY_AVATAR 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															313
														 | 
														
															+                     MYAPPNAME_ONION_PORT 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															314
														 | 
														
															+                     MYAPPNAME_DB_PASSWORD) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															315
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															316
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">change_password_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															317
														 | 
														
															+    <span class="org-variable-name">PASSWORD_USERNAME</span>=<span class="org-string">"$1"</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															318
														 | 
														
															+    <span class="org-variable-name">PASSWORD_NEW</span>=<span class="org-string">"$2"</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															319
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Do something to change the password</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															320
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															321
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															322
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">reconfigure_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															323
														 | 
														
															+    <span class="org-builtin">echo</span> -n <span class="org-string">''</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															324
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Do something to delete existing keys/identity and generate new ones</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															325
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															326
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															327
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">upgrade_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															328
														 | 
														
															+    <span class="org-builtin">echo</span> -n <span class="org-string">''</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															329
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Do something to upgrade this app.</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															330
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If it's a debian package then it will be maintained by the</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															331
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">operating system and you don't need anything here</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															332
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															333
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															334
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">backup_local_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															335
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If your app has a MariaDB/MySQL database</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															336
														 | 
														
															+    backup_database_to_usb myappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															337
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															338
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">To backup a directory</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															339
														 | 
														
															+    backup_directory_to_usb $<span class="org-variable-name">MYAPP_DATA_DIR</span> myappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															340
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															341
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">if you need to backup data within individual user home directories</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															342
														 | 
														
															+    <span class="org-keyword">for</span> d<span class="org-keyword"> in</span> /home/*/ ; <span class="org-keyword">do</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															343
														 | 
														
															+        <span class="org-variable-name">USERNAME</span>=$(<span class="org-sh-quoted-exec">echo</span> <span class="org-string">"$d"</span> | awk -F <span class="org-string">'/'</span> <span class="org-string">'{print $3}'</span>) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															344
														 | 
														
															+        <span class="org-keyword">if</span> [[ $(<span class="org-sh-quoted-exec">is_valid_user</span> <span class="org-string">"$USERNAME"</span>) == <span class="org-string">"1"</span> ]]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															345
														 | 
														
															+            <span class="org-builtin">echo</span> $<span class="org-string">"Backing up myappname config for $USERNAME"</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															346
														 | 
														
															+            <span class="org-keyword">if</span> [ -d /home/$<span class="org-variable-name">USERNAME</span>/.config/myappname ]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															347
														 | 
														
															+                backup_directory_to_usb /home/$<span class="org-variable-name">USERNAME</span>/.config/myappname myappname_users/$<span class="org-variable-name">USERNAME</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															348
														 | 
														
															+            <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															349
														 | 
														
															+        <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															350
														 | 
														
															+    <span class="org-keyword">done</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															351
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															352
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															353
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">restore_local_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															354
														 | 
														
															+    <span class="org-variable-name">temp_restore_dir</span>=/root/tempmyappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															355
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															356
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If your app has a MariaDB/MySQL database</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															357
														 | 
														
															+    restore_database myappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															358
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															359
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Restore some data from a directory</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															360
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Note that we don't restore directly but to a temporary directory</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															361
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">and then copy the files. This ensures that if there is a restore</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															362
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">failure you don't end up with half-copied or corrupted files</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															363
														 | 
														
															+    restore_directory_from_usb $<span class="org-variable-name">MYAPP_DATA_DIR</span> myappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															364
														 | 
														
															+    cp -r $<span class="org-variable-name">temp_restore_dir</span>/$<span class="org-variable-name">MYAPP_DATA_DIR</span> $<span class="org-variable-name">MYAPP_DATA_DIR</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															365
														 | 
														
															+    rm -rf $<span class="org-variable-name">temp_restore_dir</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															366
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															367
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If you need to restore a configuration directory for each user</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															368
														 | 
														
															+    <span class="org-keyword">if</span> [ -d $<span class="org-variable-name">USB_MOUNT</span>/backup/myappname_users ]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															369
														 | 
														
															+        <span class="org-keyword">for</span> d<span class="org-keyword"> in</span> $<span class="org-variable-name">USB_MOUNT</span>/backup/myappname_users/*/ ; <span class="org-keyword">do</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															370
														 | 
														
															+            <span class="org-variable-name">USERNAME</span>=$(<span class="org-sh-quoted-exec">echo</span> <span class="org-string">"$d"</span> | awk -F <span class="org-string">'/'</span> <span class="org-string">'{print $6}'</span>) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															371
														 | 
														
															+            <span class="org-keyword">if</span> [[ $(<span class="org-sh-quoted-exec">is_valid_user</span> <span class="org-string">"$USERNAME"</span>) == <span class="org-string">"1"</span> ]]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															372
														 | 
														
															+                <span class="org-keyword">if</span> [ <span class="org-negation-char">!</span> -d /home/$<span class="org-variable-name">USERNAME</span> ]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															373
														 | 
														
															+                    ${<span class="org-variable-name">PROJECT_NAME</span>}-adduser $<span class="org-variable-name">USERNAME</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															374
														 | 
														
															+                <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															375
														 | 
														
															+                <span class="org-builtin">echo</span> $<span class="org-string">"Restoring Vim config for $USERNAME"</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															376
														 | 
														
															+                function_check restore_directory_from_usb 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															377
														 | 
														
															+                restore_directory_from_usb $<span class="org-variable-name">temp_restore_dir</span> myappname_users/$<span class="org-variable-name">USERNAME</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															378
														 | 
														
															+                cp -r $<span class="org-variable-name">temp_restore_dir</span>/home/$<span class="org-variable-name">USERNAME</span>/.config /home/$<span class="org-variable-name">USERNAME</span>/ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															379
														 | 
														
															+                <span class="org-keyword">if</span> [ <span class="org-negation-char">!</span> <span class="org-string">"$?"</span> = <span class="org-string">"0"</span> ]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															380
														 | 
														
															+                    rm -rf $<span class="org-variable-name">temp_restore_dir</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															381
														 | 
														
															+                    set_user_permissions 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															382
														 | 
														
															+                    backup_unmount_drive 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															383
														 | 
														
															+                    <span class="org-keyword">exit</span> 664 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															384
														 | 
														
															+                <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															385
														 | 
														
															+                rm -rf $<span class="org-variable-name">temp_restore_dir</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															386
														 | 
														
															+            <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															387
														 | 
														
															+        <span class="org-keyword">done</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															388
														 | 
														
															+    <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															389
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															390
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															391
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">backup_remote_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															392
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">this should be the same as backup_local_myappname,</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															393
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">but call the backup functions backup_directory_to_friend</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															394
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">and backup_database_to_friend</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															395
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															396
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															397
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">restore_remote_vim</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															398
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">this should be the same as restore_local_myappname,</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															399
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">but call the restore function restore_directory_from_friend</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															400
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">and restore_database_from_friend</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															401
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															402
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															403
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">remove_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															404
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">if it's a debian package then:</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															405
														 | 
														
															+    apt-get -y remove --purge [my-app-package-name] 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															406
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															407
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If your app has a MariaDB/MySQL database</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															408
														 | 
														
															+    drop_database myappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															409
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															410
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If your app uses an onion address</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															411
														 | 
														
															+    remove_onion_service myappname ${<span class="org-variable-name">MYAPPNAME_ONION_PORT</span>} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															412
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															413
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															414
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">install_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															415
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">if it's a debian package then:</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															416
														 | 
														
															+    apt-get -y install [my-app-package-name] 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															417
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															418
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If you need to create a MariaDB/MySQL database for the app</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															419
														 | 
														
															+    <span class="org-variable-name">MYAPPNAME_DB_PASSWORD</span>=<span class="org-string">"$(</span><span class="org-sh-quoted-exec">create_password</span><span class="org-string"> 20)"</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															420
														 | 
														
															+    create_database myappname <span class="org-string">"$MYAPPNAME_DB_PASSWORD"</span> $<span class="org-variable-name">MY_USERNAME</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															421
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															422
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If you need to create an onion address for the app</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															423
														 | 
														
															+    <span class="org-variable-name">MYAPPNAME_ONION_HOSTNAME</span>=$(<span class="org-sh-quoted-exec">add_onion_service</span> myappname 80 ${<span class="org-variable-name">MYAPPNAME_ONION_PORT</span>}) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															424
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															425
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Do any other configuration</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															426
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Here you might use $ONION_ONLY or $SOME_IMPORTANT_CONFIG_VARIABLE</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															427
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															428
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Mark the app as having installed successfully</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															429
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">If this variable isn't set then it will be assumed that</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															430
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">the install has failed</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															431
														 | 
														
															+    <span class="org-variable-name">APP_INSTALLED</span>=1 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															432
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															433
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															434
														 | 
														
															+<span class="org-keyword">function</span> <span class="org-function-name">install_interactive_myappname</span> { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															435
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Interactively obtain some values using dialog, such as</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															436
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">domain names. An avatar changing example is:</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															437
														 | 
														
															+    <span class="org-variable-name">data</span>=$(<span class="org-sh-quoted-exec">tempfile</span> 2>/dev/null) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															438
														 | 
														
															+    <span class="org-keyword">trap</span> <span class="org-string">"rm -f $data"</span> 0 1 2 5 15 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															439
														 | 
														
															+    dialog --title $<span class="org-string">"Change your avatar"</span> <span class="org-sh-escaped-newline">\</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															440
														 | 
														
															+           --backtitle $<span class="org-string">"Freedombone Control Panel"</span> <span class="org-sh-escaped-newline">\</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															441
														 | 
														
															+           --inputbox $<span class="org-string">"Enter a URL for an image. It should be approximately a square image."</span> 8 75 2>$<span class="org-variable-name">data</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															442
														 | 
														
															+    <span class="org-variable-name">sel</span>=$<span class="org-variable-name">?</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															443
														 | 
														
															+    <span class="org-keyword">case</span> $<span class="org-variable-name">sel</span><span class="org-keyword"> in</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															444
														 | 
														
															+        0) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															445
														 | 
														
															+            <span class="org-variable-name">MY_FUNKY_AVATAR</span>=$(<$<span class="org-variable-name">data</span>) 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															446
														 | 
														
															+            <span class="org-keyword">if</span> [ ${#<span class="org-variable-name">MY_FUNKY_AVATAR</span>} -gt 3 ]; <span class="org-keyword">then</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															447
														 | 
														
															+                clear 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															448
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															449
														 | 
														
															+                <span class="org-comment-delimiter"># </span><span class="org-comment">do whatever is needed to change the avatar in your app</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															450
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															451
														 | 
														
															+                dialog --title $<span class="org-string">"Change your avatar"</span> <span class="org-sh-escaped-newline">\</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															452
														 | 
														
															+                       --msgbox $<span class="org-string">"Your avatar has been changed"</span> 6 40 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															453
														 | 
														
															+            <span class="org-keyword">fi</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															454
														 | 
														
															+            ;; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															455
														 | 
														
															+    <span class="org-keyword">esac</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															456
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															457
														 | 
														
															+    <span class="org-comment-delimiter"># </span><span class="org-comment">Then do the main install</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															458
														 | 
														
															+    install_myappname 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															459
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															460
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															461
														 | 
														
															+<span class="org-comment-delimiter"># </span><span class="org-comment">NOTE: deliberately no exit 0</span> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															462
														 | 
														
															+</pre> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															463
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															464
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															465
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															466
														 | 
														
															+To test your app log into your system, select <b>Exit to command line</b> then gain root powers with: 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															467
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															468
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															469
														 | 
														
															+<div class="org-src-container"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															470
														 | 
														
															+<pre class="src src-bash">sudo su 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															471
														 | 
														
															+</pre> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															472
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															473
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															474
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															475
														 | 
														
															+Copy your app script to <b>/usr/share/freedombone/apps/freedombone-app-myappname</b>. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															476
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															477
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															478
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															479
														 | 
														
															+And run the admin control panel: 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															480
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															481
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															482
														 | 
														
															+<div class="org-src-container"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															483
														 | 
														
															+<pre class="src src-bash">control 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															484
														 | 
														
															+</pre> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															485
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															486
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															487
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															488
														 | 
														
															+Select <b>Add/Remove Apps</b> and if all is well then you should see your app listed as installable. Test that installing and removing it works as expected. 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															489
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															490
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															491
														 | 
														
															+<p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															492
														 | 
														
															+Submit your working app to <b><a href="https://github.com/bashrc/freedombone/issues">https://github.com/bashrc/freedombone/issues</a></b> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															493
														 | 
														
															+</p> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															494
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															495
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															496
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															497
														 | 
														
															+<div id="postamble" class="status"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															498
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															499
														 | 
														
															+<style type="text/css"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															500
														 | 
														
															+.back-to-top { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															501
														 | 
														
															+    position: fixed; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															502
														 | 
														
															+    bottom: 2em; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															503
														 | 
														
															+    right: 0px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															504
														 | 
														
															+    text-decoration: none; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															505
														 | 
														
															+    color: #000000; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															506
														 | 
														
															+    background-color: rgba(235, 235, 235, 0.80); 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															507
														 | 
														
															+    font-size: 12px; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															508
														 | 
														
															+    padding: 1em; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															509
														 | 
														
															+    display: none; 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															510
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															511
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															512
														 | 
														
															+.back-to-top:hover { 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															513
														 | 
														
															+    background-color: rgba(135, 135, 135, 0.50); 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															514
														 | 
														
															+} 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															515
														 | 
														
															+</style> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															516
														 | 
														
															+ 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															517
														 | 
														
															+<div class="back-to-top"> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															518
														 | 
														
															+<a href="#top">Back to top</a> | <a href="mailto:bob@robotics.uk.to">E-mail me</a> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															519
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															520
														 | 
														
															+</div> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															521
														 | 
														
															+</body> 
														 | 
													
												
													
														| 
															
														 | 
														
															 
														 | 
														
															522
														 | 
														
															+</html> 
														 |