Rewrite 2014 FOSDEM talk using Tech Talk PSE.
authorRichard W.M. Jones <rjones@redhat.com>
Sat, 1 Feb 2014 16:15:58 +0000 (17:15 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Sat, 1 Feb 2014 19:57:12 +0000 (20:57 +0100)
I'm sick of OpenOffice.

27 files changed:
2014-fosdem/.gitignore [new file with mode: 0644]
2014-fosdem/0000-introduction.html [new file with mode: 0644]
2014-fosdem/1000-virt-builder.term [new file with mode: 0755]
2014-fosdem/2000-virt-builder.html [new file with mode: 0644]
2014-fosdem/2000-virt-builder.js [new file with mode: 0644]
2014-fosdem/2100-virt-builder.html [new file with mode: 0644]
2014-fosdem/2200-virt-builder.html [new file with mode: 0644]
2014-fosdem/2300-virt-builder.html [new file with mode: 0644]
2014-fosdem/2400-virt-builder.html [new file with mode: 0644]
2014-fosdem/2500-virt-builder.html [new file with mode: 0644]
2014-fosdem/3000-templates.html [new file with mode: 0644]
2014-fosdem/4000-build-method.html [new file with mode: 0644]
2014-fosdem/5000-virt-sparsify.html [new file with mode: 0644]
2014-fosdem/5100-virt-sparsify.html [new file with mode: 0644]
2014-fosdem/6000-build-method.html [new file with mode: 0644]
2014-fosdem/7000-results.html [new file with mode: 0644]
2014-fosdem/8000-virt-builder-running.term [new file with mode: 0755]
2014-fosdem/9000-final.html [new file with mode: 0644]
2014-fosdem/9500-shell.term [new file with mode: 0755]
2014-fosdem/bashrc [new file with mode: 0644]
2014-fosdem/builder.d/builder.sh [moved from 2014-fosdem/builder.sh with 84% similarity]
2014-fosdem/code.js [new file with mode: 0644]
2014-fosdem/functions [new file with mode: 0644]
2014-fosdem/redhat.png [new file with mode: 0644]
2014-fosdem/run [new file with mode: 0755]
2014-fosdem/set-prompt [deleted file]
2014-fosdem/style.css [new file with mode: 0644]

diff --git a/2014-fosdem/.gitignore b/2014-fosdem/.gitignore
new file mode 100644 (file)
index 0000000..5320684
--- /dev/null
@@ -0,0 +1,4 @@
+*.d/disk.img
+builder.d/nohup.out
+bindings
+history
diff --git a/2014-fosdem/0000-introduction.html b/2014-fosdem/0000-introduction.html
new file mode 100644 (file)
index 0000000..0c97be4
--- /dev/null
@@ -0,0 +1,19 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<div id="titlepage">
+  <p class="title">
+    libguestfs, virt-builder, <br/>
+    virt-sparsify and virt-sysprep <br/>
+  </p>
+  <p><author>
+      Richard W.M. Jones <br/>
+      <small>rjones @ redhat.com</small>
+  </author></p>
+  <p>
+    <i>libguestfs is a C library for modifying <br/>
+    virtual machine disk images, <br/>
+    plus a large set of tools</i>
+  </p>
+</div>
diff --git a/2014-fosdem/1000-virt-builder.term b/2014-fosdem/1000-virt-builder.term
new file mode 100755 (executable)
index 0000000..26c3aea
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/bash -
+
+source functions
+
+# History.
+remember 'emacs -nw builder.sh'
+remember 'nohup ./builder.sh'
+remember 'tail -f nohup.out'
+
+echo "Running virt-builder"
+
+cd builder.d
+terminal
diff --git a/2014-fosdem/2000-virt-builder.html b/2014-fosdem/2000-virt-builder.html
new file mode 100644 (file)
index 0000000..e5a4294
--- /dev/null
@@ -0,0 +1,17 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<script src="2000-virt-builder.js" type="text/javascript"></script>
+
+<style>
+p#star {
+  font-size: 56pt;
+  color: #cccc00;
+
+  position: absolute;
+  top: -16px;
+  left: 500px;
+}
+</style>
+<p id="star">★</p>
diff --git a/2014-fosdem/2000-virt-builder.js b/2014-fosdem/2000-virt-builder.js
new file mode 100644 (file)
index 0000000..ebb17e4
--- /dev/null
@@ -0,0 +1,12 @@
+
+// poor man's file include
+document.write('<h1>Build virtual machines in seconds</h1>')
+document.write('<pre>')
+document.write('virt-builder centos-6                  \\ <br/>');
+document.write('  --format qcow2 --size 20G            \\ <br/>');
+document.write('  --hostname cent6                     \\ <br/>');
+document.write('  --install @XFCE,cloud-init           \\ <br/>');
+document.write('  --edit \'/etc/sysconfig/keyboard:     \\ <br/>');
+document.write('      s/^KEYTABLE=.*/KEYTABLE="uk"/\'   \\ <br/>');
+document.write('  --firstboot-command \'yum -y update\'  \\ <br/>');
+document.write('</pre>');
diff --git a/2014-fosdem/2100-virt-builder.html b/2014-fosdem/2100-virt-builder.html
new file mode 100644 (file)
index 0000000..c0a38eb
--- /dev/null
@@ -0,0 +1,17 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<script src="2000-virt-builder.js" type="text/javascript"></script>
+
+<style>
+p#star {
+  font-size: 56pt;
+  color: #cccc00;
+
+  position: absolute;
+  top: 24px;
+  left: 32px;
+}
+</style>
+<p id="star">★</p>
diff --git a/2014-fosdem/2200-virt-builder.html b/2014-fosdem/2200-virt-builder.html
new file mode 100644 (file)
index 0000000..c9f053d
--- /dev/null
@@ -0,0 +1,17 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<script src="2000-virt-builder.js" type="text/javascript"></script>
+
+<style>
+p#star {
+  font-size: 56pt;
+  color: #cccc00;
+
+  position: absolute;
+  top: 70px;
+  left: 32px;
+}
+</style>
+<p id="star">★</p>
diff --git a/2014-fosdem/2300-virt-builder.html b/2014-fosdem/2300-virt-builder.html
new file mode 100644 (file)
index 0000000..89db5b2
--- /dev/null
@@ -0,0 +1,17 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<script src="2000-virt-builder.js" type="text/javascript"></script>
+
+<style>
+p#star {
+  font-size: 56pt;
+  color: #cccc00;
+
+  position: absolute;
+  top: 118px;
+  left: 32px;
+}
+</style>
+<p id="star">★</p>
diff --git a/2014-fosdem/2400-virt-builder.html b/2014-fosdem/2400-virt-builder.html
new file mode 100644 (file)
index 0000000..ac533e5
--- /dev/null
@@ -0,0 +1,17 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<script src="2000-virt-builder.js" type="text/javascript"></script>
+
+<style>
+p#star {
+  font-size: 56pt;
+  color: #cccc00;
+
+  position: absolute;
+  top: 166px;
+  left: 32px;
+}
+</style>
+<p id="star">★</p>
diff --git a/2014-fosdem/2500-virt-builder.html b/2014-fosdem/2500-virt-builder.html
new file mode 100644 (file)
index 0000000..bd6bfcc
--- /dev/null
@@ -0,0 +1,17 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<script src="2000-virt-builder.js" type="text/javascript"></script>
+
+<style>
+p#star {
+  font-size: 56pt;
+  color: #cccc00;
+
+  position: absolute;
+  top: 270px;
+  left: 32px;
+}
+</style>
+<p id="star">★</p>
diff --git a/2014-fosdem/3000-templates.html b/2014-fosdem/3000-templates.html
new file mode 100644 (file)
index 0000000..0173bc7
--- /dev/null
@@ -0,0 +1,18 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<pre>
+$ <b>virt-builder -l</b>
+centos-6            CentOS 6.5
+cirros-0.3.1        CirrOS 0.3.1
+debian-6            Debian 6 (Squeeze)
+debian-7            Debian 7 (Wheezy)
+fedora-18           Fedora® 18
+fedora-19           Fedora® 19
+fedora-20           Fedora® 20
+scientificlinux-6   Scientific Linux 6.4
+ubuntu-10.04        Ubuntu 10.04 (Lucid)
+ubuntu-12.04        Ubuntu 12.04 (Precise)
+ubuntu-13.10        Ubuntu 13.10 (Saucy)
+</pre>
diff --git a/2014-fosdem/4000-build-method.html b/2014-fosdem/4000-build-method.html
new file mode 100644 (file)
index 0000000..ebe9585
--- /dev/null
@@ -0,0 +1,16 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>Build your own templates</h1>
+
+<p style="text-align: center;">
+<br/>
+<b>virt-install</b><br/>
+↓<br/>
+<b>virt-sysprep</b><br/>
+↓<br/>
+<b>virt-sparsify</b><br/>
+↓<br/>
+<b>xz</b><br/>
+</p>
diff --git a/2014-fosdem/5000-virt-sparsify.html b/2014-fosdem/5000-virt-sparsify.html
new file mode 100644 (file)
index 0000000..5eff749
--- /dev/null
@@ -0,0 +1,51 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>virt-sparsify</h1>
+
+<img id="cheese0" width="300" src="cheese0.svg" />
+
+<!--
+<p id="command">
+<small>↓</small><br/>
+<b>virt-sparsify f20.img f20.out</b><br/>
+<small>↓</small><br/>
+</p>
+
+<img id="cheese1" width="300" src="cheese1.svg" />
+-->
+
+<p id="content0">
+/ <br/>
+/bin <br/>
+/boot <br/>
+/dev <br/>
+/etc <br/>
+/home <br/>
+/lib
+</p>
+
+<style>
+img#cheese0 {
+  position: absolute;
+  top: 100px;
+  left: 200px;
+}
+p#content0 {
+  font-size: 14pt;
+  position: absolute;
+  top: 110px;
+  left: 250px;
+}
+p#command {
+  position: absolute;
+  top: 290px;
+  left: 200px;
+}
+img#cheese1 {
+  position: absolute;
+  top: 450px;
+  left: 200px;
+}
+</style>
diff --git a/2014-fosdem/5100-virt-sparsify.html b/2014-fosdem/5100-virt-sparsify.html
new file mode 100644 (file)
index 0000000..2430617
--- /dev/null
@@ -0,0 +1,49 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>virt-sparsify</h1>
+
+<img id="cheese0" width="300" src="cheese0.svg" />
+
+<p id="command">
+<small>↓</small><br/>
+<b>virt-sparsify f20.img f20.out</b><br/>
+<small>↓</small><br/>
+</p>
+
+<img id="cheese1" width="300" src="cheese1.svg" />
+
+<p id="content0">
+/ <br/>
+/bin <br/>
+/boot <br/>
+/dev <br/>
+/etc <br/>
+/home <br/>
+/lib
+</p>
+
+<style>
+img#cheese0 {
+  position: absolute;
+  top: 100px;
+  left: 200px;
+}
+p#content0 {
+  font-size: 14pt;
+  position: absolute;
+  top: 110px;
+  left: 250px;
+}
+p#command {
+  position: absolute;
+  top: 290px;
+  left: 200px;
+}
+img#cheese1 {
+  position: absolute;
+  top: 450px;
+  left: 200px;
+}
+</style>
diff --git a/2014-fosdem/6000-build-method.html b/2014-fosdem/6000-build-method.html
new file mode 100644 (file)
index 0000000..ebe9585
--- /dev/null
@@ -0,0 +1,16 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>Build your own templates</h1>
+
+<p style="text-align: center;">
+<br/>
+<b>virt-install</b><br/>
+↓<br/>
+<b>virt-sysprep</b><br/>
+↓<br/>
+<b>virt-sparsify</b><br/>
+↓<br/>
+<b>xz</b><br/>
+</p>
diff --git a/2014-fosdem/7000-results.html b/2014-fosdem/7000-results.html
new file mode 100644 (file)
index 0000000..9bc8b26
--- /dev/null
@@ -0,0 +1,44 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>virt-sparsify &amp; xz</h1>
+
+<table width="90%">
+
+<tr>
+<td></td>
+<th align="right"> Disk size </th>
+<th align="right"> Used </th>
+<th align="right"> Final </th>
+</tr>
+
+<tr>
+<td align="right"> CirrOS 0.3.1</td>
+<td align="right"> 39 </td>
+<td align="right"> 18 </td>
+<td align="right"> <b>11</b> <small>MB</small> </td>
+</tr>
+
+<tr>
+<td align="right"> Debian 7 </td>
+<td align="right"> 4096 </td>
+<td align="right"> 719 </td>
+<td align="right"> <b>142</b> <small>MB</small> </td>
+</tr>
+
+<tr>
+<td align="right"> Fedora 20 </td>
+<td align="right"> 6144 </td>
+<td align="right"> 826 </td>
+<td align="right"> <b>174</b> <small>MB</small> </td>
+</tr>
+
+<tr>
+<td align="right"> Ubuntu 13.10 </td>
+<td align="right"> 4096 </td>
+<td align="right"> 1019 </td>
+<td align="right"> <b>187</b> <small>MB</small> </td>
+</tr>
+
+</table>
diff --git a/2014-fosdem/8000-virt-builder-running.term b/2014-fosdem/8000-virt-builder-running.term
new file mode 100755 (executable)
index 0000000..0da4c8d
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/bash -
+
+source functions
+
+# History.
+remember 'tail -f nohup.out'
+
+#echo "How is virt-builder doing?"
+
+cd builder.d
+terminal
diff --git a/2014-fosdem/9000-final.html b/2014-fosdem/9000-final.html
new file mode 100644 (file)
index 0000000..0601672
--- /dev/null
@@ -0,0 +1,44 @@
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<link rel="stylesheet" href="style.css" type="text/css"/>
+<script src="code.js" type="text/javascript"></script>
+
+<h1>libguestfs.org</h1>
+
+<p>
+  <table width="90%">
+    <tr>
+      <td valign="top">
+        guestfish <br/>
+        guestmount <br/>
+        virt-alignment-scan <br/>
+        virt-builder <br/>
+        virt-cat <br/>
+        virt-copy-in <br/>
+        virt-copy-out <br/>
+        virt-df <br/>
+        virt-diff <br/>
+        virt-edit <br/>
+      </td>
+      <td valign="top">
+        virt-filesystems <br/>
+        virt-format <br/>
+        virt-inspector <br/>
+        virt-ls <br/>
+        virt-make-fs <br/>
+        virt-rescue <br/>
+        virt-resize <br/>
+        virt-sparsify <br/>
+        virt-sysprep <br/>
+      </td>
+      <td valign="top">
+        virt-tar-in <br/>
+        virt-tar-out <br/>
+        virt-win-reg <br/>
+        hivexget <br/>
+        hivexml <br/>
+        hivexregedit <br/>
+        hivexsh <br/>
+      </td>
+    </tr>
+  </table>
+</p>
diff --git a/2014-fosdem/9500-shell.term b/2014-fosdem/9500-shell.term
new file mode 100755 (executable)
index 0000000..9c288fc
--- /dev/null
@@ -0,0 +1,13 @@
+#!/bin/bash -
+
+source functions
+
+# History.
+remember 'killall builder.sh; killall virt-builder'
+remember 'virt-builder fedora-20'
+remember 'guestfish -a fedora-20.img -i'
+
+echo "libguestfs"
+sleep 1
+
+terminal
diff --git a/2014-fosdem/bashrc b/2014-fosdem/bashrc
new file mode 100644 (file)
index 0000000..4c6a3c6
--- /dev/null
@@ -0,0 +1,17 @@
+# -*- shell-script -*-
+
+# Colour ls.
+if [ -f /etc/profile.d/colorls.sh ]; then . /etc/profile.d/colorls.sh; fi
+
+# Fancy prompt colours (see
+# https://wiki.archlinux.org/index.php/Color_Bash_Prompt)
+promptcol='\e[0;32m'      ;# colour for the prompt
+commandcol='\e[1;31m'     ;# colour for the typed command
+outputcol='\e[0m'         ;# colour for command output
+
+export PS1="\n\[$promptcol\]\$ \[$commandcol\]"
+
+trap 'echo -ne "$outputcol"' DEBUG
+
+# Load key bindings (if any).
+bind -f $talkdir/bindings
similarity index 84%
rename from 2014-fosdem/builder.sh
rename to 2014-fosdem/builder.d/builder.sh
index a5cde06..5dc768b 100755 (executable)
@@ -1,8 +1,5 @@
 #!/bin/bash -
 
-VIRT_BUILDER_SOURCE=file://$HOME/d/libguestfs/builder/website/index.asc
-export VIRT_BUILDER_SOURCE
-
 guests=( $(
   virt-builder -l | awk '{print $1}'
 ) )
diff --git a/2014-fosdem/code.js b/2014-fosdem/code.js
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/2014-fosdem/functions b/2014-fosdem/functions
new file mode 100644 (file)
index 0000000..7baaed0
--- /dev/null
@@ -0,0 +1,40 @@
+# -*- shell-script -*-
+# This creates some standard functions.  See also $talkdir/bashrc
+# which runs in the same bash context as the terminal.
+
+# Place any local environment variables and settings in "local".
+if [ -f local ]; then source local; fi
+
+# Environment variables.
+export HISTFILE=$talkdir/history
+export PATH=$talkdir:$PATH
+export EDITOR="emacs -nw"
+
+# remember <command> <args ...>
+#
+# This function does two things: (1) It adds the command and arguments
+# to the shell history, so that commands can be recalled using up
+# arrow or reverse search.  (2) It makes a function key recall the
+# command.  The first command is assigned to F2, the second to F3 and
+# so forth.
+
+rm -f $HISTFILE
+touch $HISTFILE
+rm -f $talkdir/bindings
+touch bindings
+
+fnum=2
+keys=(- OP OQ OR OS '[15~' '[17~' '[18~' '[19~' '[20~' '[21~')
+
+remember ()
+{
+    echo "$@" >> $HISTFILE
+    echo \"\\e${keys[$fnum]}\":\"\\C-k \\C-u"$@"\" >> $talkdir/bindings
+    ((fnum++))
+}
+
+terminal ()
+{
+    chmod -w $HISTFILE
+    /bin/bash --rcfile $talkdir/bashrc "$@"
+}
diff --git a/2014-fosdem/redhat.png b/2014-fosdem/redhat.png
new file mode 100644 (file)
index 0000000..f50076a
Binary files /dev/null and b/2014-fosdem/redhat.png differ
diff --git a/2014-fosdem/run b/2014-fosdem/run
new file mode 100755 (executable)
index 0000000..e78c842
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash -
+# Run the talk.
+
+# Avoid GNOME keyring stupidity
+export GNOME_KEYRING_CONTROL=
+export GNOME_KEYRING_PID=
+
+# Set virt-builder environment for no-network.
+export VIRT_BUILDER_SOURCE=file:///home/rjones/d/libguestfs/builder/website/index.asc
+
+# Clean up everything.
+find -name '*~' -delete
+rm -f builder.d/*.img
+
+# No proxy.
+unset http_proxy
+unset https_proxy
+unset ftp_proxy
+
+# Get everything into the cache.
+guestfish -a /dev/null run > /dev/null &
+
+# Run techtalk.
+techtalk-pse
diff --git a/2014-fosdem/set-prompt b/2014-fosdem/set-prompt
deleted file mode 100644 (file)
index d1db9b6..0000000
+++ /dev/null
@@ -1 +0,0 @@
-export PS1='\$ '
diff --git a/2014-fosdem/style.css b/2014-fosdem/style.css
new file mode 100644 (file)
index 0000000..e32fc48
--- /dev/null
@@ -0,0 +1,67 @@
+/* Red Hat red is rgb(204,0,0). */
+
+body {
+    background: url(redhat.png) no-repeat;
+    background-position: 98% 0;
+    font-size: 28pt; /* For max */
+    /* font-size: 20pt; */ /* For 1024x768 */
+    /* font-family: liberation, helvetica; */
+    font-family: helvetica;
+}
+
+body td, body th { /* why?? */
+    font-size: 24pt;
+    padding-bottom: 8px;
+}
+
+h1 {
+    color: rgb(204,0,0);
+    /*font-size: 48px;*/
+    font-size: 40px;
+    top: 8;
+    left: 0;
+    border-bottom: 2px solid rgb(204,0,0);
+}
+
+b {
+    color: rgb(204,0,0);
+}
+
+div#titlepage {
+    margin-top: 100px;
+    text-align: center;
+}
+
+div#titlepage p.title {
+    color: rgb(204,0,0);
+    font-weight: bold;
+    font-size: 48px;
+}
+
+div#titlepage author {
+    font-size: 36px;
+}
+
+/* Code */
+pre.code {
+    margin-left: 1em;
+    background: #eee;
+}
+
+code {
+    color: rgb(204,0,0);
+}
+
+/* Bullet points */
+li {
+    padding-bottom: 16px;
+}
+
+/* Logo */
+img#fish {
+    position: absolute;
+    top: 128px;
+    right: 32px;
+    width: 200px;
+    /*height: 256px;*/
+}
\ No newline at end of file