New lorax documentation - 28.9

This commit is contained in:
Brian C. Lane 2018-03-15 13:53:58 -07:00
parent fa28f2ba2e
commit 0654552987
42 changed files with 403 additions and 352 deletions

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1 # Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: f1415c4a8da85a626a1e43de08e00a62 config: a191c75fd1f5041e8ca7029874dc82a4
tags: 645f666f9bcd5a90fca523b33c5a78b7 tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Overview: module code &mdash; Lorax 28.2 documentation</title> <title>Overview: module code &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../genindex.html"/> href="../genindex.html"/>
<link rel="search" title="Search" href="../search.html"/> <link rel="search" title="Search" href="../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../index.html"/>
<script src="../_static/js/modernizr.min.js"></script> <script src="../_static/js/modernizr.min.js"></script>
@ -64,7 +64,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -186,7 +186,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -208,7 +208,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../', URL_ROOT:'../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax &mdash; Lorax 28.2 documentation</title> <title>pylorax &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../genindex.html"/> href="../genindex.html"/>
<link rel="search" title="Search" href="../search.html"/> <link rel="search" title="Search" href="../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../index.html"/>
<link rel="up" title="Module code" href="index.html"/> <link rel="up" title="Module code" href="index.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -443,7 +443,8 @@
<span class="c1"># write .buildstamp</span> <span class="c1"># write .buildstamp</span>
<span class="n">buildstamp</span> <span class="o">=</span> <span class="n">BuildStamp</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="n">buildstamp</span> <span class="o">=</span> <span class="n">BuildStamp</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">version</span><span class="p">,</span>
<span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">bugurl</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">isfinal</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">arch</span><span class="o">.</span><span class="n">buildarch</span><span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">bugurl</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">isfinal</span><span class="p">,</span>
<span class="bp">self</span><span class="o">.</span><span class="n">arch</span><span class="o">.</span><span class="n">buildarch</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span><span class="o">.</span><span class="n">variant</span><span class="p">)</span>
<span class="n">buildstamp</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inroot</span><span class="p">,</span> <span class="s2">&quot;.buildstamp&quot;</span><span class="p">))</span> <span class="n">buildstamp</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">joinpaths</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">inroot</span><span class="p">,</span> <span class="s2">&quot;.buildstamp&quot;</span><span class="p">))</span>
@ -617,7 +618,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -639,7 +640,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../', URL_ROOT:'../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.base &mdash; Lorax 28.2 documentation</title> <title>pylorax.base &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -243,7 +243,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -265,7 +265,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.buildstamp &mdash; Lorax 28.2 documentation</title> <title>pylorax.buildstamp &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -191,11 +191,12 @@
<div class="viewcode-block" id="BuildStamp"><a class="viewcode-back" href="../../pylorax.html#pylorax.buildstamp.BuildStamp">[docs]</a><span class="k">class</span> <span class="nc">BuildStamp</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span> <div class="viewcode-block" id="BuildStamp"><a class="viewcode-back" href="../../pylorax.html#pylorax.buildstamp.BuildStamp">[docs]</a><span class="k">class</span> <span class="nc">BuildStamp</span><span class="p">(</span><span class="nb">object</span><span class="p">):</span>
<span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">product</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">bugurl</span><span class="p">,</span> <span class="n">isfinal</span><span class="p">,</span> <span class="n">buildarch</span><span class="p">):</span> <span class="k">def</span> <span class="nf">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">product</span><span class="p">,</span> <span class="n">version</span><span class="p">,</span> <span class="n">bugurl</span><span class="p">,</span> <span class="n">isfinal</span><span class="p">,</span> <span class="n">buildarch</span><span class="p">,</span> <span class="n">variant</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">):</span>
<span class="bp">self</span><span class="o">.</span><span class="n">product</span> <span class="o">=</span> <span class="n">product</span> <span class="bp">self</span><span class="o">.</span><span class="n">product</span> <span class="o">=</span> <span class="n">product</span>
<span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="n">version</span> <span class="bp">self</span><span class="o">.</span><span class="n">version</span> <span class="o">=</span> <span class="n">version</span>
<span class="bp">self</span><span class="o">.</span><span class="n">bugurl</span> <span class="o">=</span> <span class="n">bugurl</span> <span class="bp">self</span><span class="o">.</span><span class="n">bugurl</span> <span class="o">=</span> <span class="n">bugurl</span>
<span class="bp">self</span><span class="o">.</span><span class="n">isfinal</span> <span class="o">=</span> <span class="n">isfinal</span> <span class="bp">self</span><span class="o">.</span><span class="n">isfinal</span> <span class="o">=</span> <span class="n">isfinal</span>
<span class="bp">self</span><span class="o">.</span><span class="n">variant</span> <span class="o">=</span> <span class="n">variant</span>
<span class="n">now</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span> <span class="n">now</span> <span class="o">=</span> <span class="n">datetime</span><span class="o">.</span><span class="n">datetime</span><span class="o">.</span><span class="n">now</span><span class="p">()</span>
<span class="n">now</span> <span class="o">=</span> <span class="n">now</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y%m</span><span class="si">%d</span><span class="s2">%H%M&quot;</span><span class="p">)</span> <span class="n">now</span> <span class="o">=</span> <span class="n">now</span><span class="o">.</span><span class="n">strftime</span><span class="p">(</span><span class="s2">&quot;%Y%m</span><span class="si">%d</span><span class="s2">%H%M&quot;</span><span class="p">)</span>
@ -218,6 +219,8 @@
<span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;BugURL=</span><span class="si">{0.bugurl}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span> <span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;BugURL=</span><span class="si">{0.bugurl}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
<span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;IsFinal=</span><span class="si">{0.isfinal}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span> <span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;IsFinal=</span><span class="si">{0.isfinal}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
<span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;UUID=</span><span class="si">{0.uuid}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span> <span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;UUID=</span><span class="si">{0.uuid}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
<span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">variant</span><span class="p">:</span>
<span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;Variant=</span><span class="si">{0.variant}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="bp">self</span><span class="p">))</span>
<span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;[Compose]</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">)</span> <span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;[Compose]</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">)</span>
<span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;Lorax=</span><span class="si">{0}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">vernum</span><span class="p">))</span></div></div> <span class="n">fobj</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">&quot;Lorax=</span><span class="si">{0}</span><span class="se">\n</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">vernum</span><span class="p">))</span></div></div>
</pre></div> </pre></div>
@ -234,7 +237,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -256,7 +259,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.cmdline &mdash; Lorax 28.2 documentation</title> <title>pylorax.cmdline &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -210,7 +210,7 @@
<span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;-m&quot;</span><span class="p">,</span> <span class="s2">&quot;--mirrorlist&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;-m&quot;</span><span class="p">,</span> <span class="s2">&quot;--mirrorlist&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;mirrorlist repository (may be listed multiple times)&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;mirrorlist repository (may be listed multiple times)&quot;</span><span class="p">,</span>
<span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;REPOSITORY&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="p">[])</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;REPOSITORY&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;append&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="p">[])</span>
<span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;-t&quot;</span><span class="p">,</span> <span class="s2">&quot;--variant&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;-t&quot;</span><span class="p">,</span> <span class="s2">&quot;--variant&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;variant name&quot;</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;VARIANT&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;variant name&quot;</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;VARIANT&quot;</span><span class="p">)</span>
<span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;-b&quot;</span><span class="p">,</span> <span class="s2">&quot;--bugurl&quot;</span><span class="p">,</span> <span class="n">optional</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;-b&quot;</span><span class="p">,</span> <span class="s2">&quot;--bugurl&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;bug reporting URL for the product&quot;</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;URL&quot;</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;bug reporting URL for the product&quot;</span><span class="p">,</span> <span class="n">metavar</span><span class="o">=</span><span class="s2">&quot;URL&quot;</span><span class="p">,</span>
@ -407,6 +407,8 @@
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;Use OVMF firmware to boot the VM in UEFI mode&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Use OVMF firmware to boot the VM in UEFI mode&quot;</span><span class="p">)</span>
<span class="n">virt_group</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--no-kvm&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;store_true&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span> <span class="n">virt_group</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--no-kvm&quot;</span><span class="p">,</span> <span class="n">action</span><span class="o">=</span><span class="s2">&quot;store_true&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">False</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;Skip using kvm with qemu even if it is available.&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Skip using kvm with qemu even if it is available.&quot;</span><span class="p">)</span>
<span class="n">virt_group</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--with-rng&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;/dev/random&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;RNG device for QEMU (none for no RNG)&quot;</span><span class="p">)</span>
<span class="c1"># dracut arguments</span> <span class="c1"># dracut arguments</span>
<span class="n">dracut_group</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument_group</span><span class="p">(</span><span class="s2">&quot;dracut arguments&quot;</span><span class="p">)</span> <span class="n">dracut_group</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument_group</span><span class="p">(</span><span class="s2">&quot;dracut arguments&quot;</span><span class="p">)</span>
@ -441,7 +443,7 @@
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;Substituted for @TITLE@ in bootloader config files&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;Substituted for @TITLE@ in bootloader config files&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--project&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;Linux&quot;</span><span class="p">,</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--project&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;Linux&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @PROJECT@ in bootloader config files&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @PROJECT@ in bootloader config files&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--releasever&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;25&quot;</span><span class="p">,</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--releasever&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="s2">&quot;28&quot;</span><span class="p">,</span>
<span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @VERSION@ in bootloader config files&quot;</span><span class="p">)</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;substituted for @VERSION@ in bootloader config files&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--volid&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;volume id&quot;</span><span class="p">)</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--volid&quot;</span><span class="p">,</span> <span class="n">default</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">help</span><span class="o">=</span><span class="s2">&quot;volume id&quot;</span><span class="p">)</span>
<span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--squashfs_args&quot;</span><span class="p">,</span> <span class="n">parser</span><span class="o">.</span><span class="n">add_argument</span><span class="p">(</span><span class="s2">&quot;--squashfs_args&quot;</span><span class="p">,</span>
@ -468,7 +470,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -490,7 +492,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.decorators &mdash; Lorax 28.2 documentation</title> <title>pylorax.decorators &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -206,7 +206,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -228,7 +228,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.discinfo &mdash; Lorax 28.2 documentation</title> <title>pylorax.discinfo &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -215,7 +215,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -237,7 +237,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.dnfhelper &mdash; Lorax 28.2 documentation</title> <title>pylorax.dnfhelper &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -285,7 +285,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -307,7 +307,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.executils &mdash; Lorax 28.2 documentation</title> <title>pylorax.executils &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -523,7 +523,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -545,7 +545,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.imgutils &mdash; Lorax 28.2 documentation</title> <title>pylorax.imgutils &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -661,7 +661,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -683,7 +683,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.ltmpl &mdash; Lorax 28.2 documentation</title> <title>pylorax.ltmpl &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -731,24 +731,25 @@
<span class="k">if</span> <span class="ow">not</span> <span class="n">pkgnames</span><span class="p">:</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">pkgnames</span><span class="p">:</span>
<span class="k">raise</span> <span class="n">dnf</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">PackageNotFoundError</span><span class="p">(</span><span class="s2">&quot;no package matched&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span> <span class="k">raise</span> <span class="n">dnf</span><span class="o">.</span><span class="n">exceptions</span><span class="o">.</span><span class="n">PackageNotFoundError</span><span class="p">(</span><span class="s2">&quot;no package matched&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">)</span>
<span class="c1"># Sort the results so that we have consistent results</span> <span class="c1"># Apply excludes to the name only</span>
<span class="n">pkgnames</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">([</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">release</span><span class="p">)</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">])</span>
<span class="k">for</span> <span class="n">exclude</span> <span class="ow">in</span> <span class="n">excludes</span><span class="p">:</span> <span class="k">for</span> <span class="n">exclude</span> <span class="ow">in</span> <span class="n">excludes</span><span class="p">:</span>
<span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">pkg</span><span class="p">,</span> <span class="n">exclude</span><span class="p">)]</span> <span class="n">pkgnames</span> <span class="o">=</span> <span class="p">[</span><span class="n">pkg</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span> <span class="k">if</span> <span class="ow">not</span> <span class="n">fnmatch</span><span class="o">.</span><span class="n">fnmatch</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">exclude</span><span class="p">)]</span>
<span class="c1"># Convert to a sorted NVR list for installation</span>
<span class="n">pkgnvrs</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">([</span><span class="s2">&quot;</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">-</span><span class="si">{}</span><span class="s2">&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">version</span><span class="p">,</span> <span class="n">pkg</span><span class="o">.</span><span class="n">release</span><span class="p">)</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">])</span>
<span class="c1"># If the request is a glob, expand it in the log</span> <span class="c1"># If the request is a glob, expand it in the log</span>
<span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">g</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;*&#39;</span><span class="p">,</span><span class="s1">&#39;?&#39;</span><span class="p">,</span><span class="s1">&#39;.&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">p</span><span class="p">):</span> <span class="k">if</span> <span class="nb">any</span><span class="p">(</span><span class="n">g</span> <span class="k">for</span> <span class="n">g</span> <span class="ow">in</span> <span class="p">[</span><span class="s1">&#39;*&#39;</span><span class="p">,</span><span class="s1">&#39;?&#39;</span><span class="p">,</span><span class="s1">&#39;.&#39;</span><span class="p">]</span> <span class="k">if</span> <span class="n">g</span> <span class="ow">in</span> <span class="n">p</span><span class="p">):</span>
<span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;installpkg: </span><span class="si">%s</span><span class="s2"> expands to </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s2">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">pkgnames</span><span class="p">))</span> <span class="n">logger</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s2">&quot;installpkg: </span><span class="si">%s</span><span class="s2"> expands to </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="s2">&quot;,&quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">pkgnvrs</span><span class="p">))</span>
<span class="k">for</span> <span class="n">pkgname</span> <span class="ow">in</span> <span class="n">pkgnames</span><span class="p">:</span> <span class="k">for</span> <span class="n">pkgnvr</span> <span class="ow">in</span> <span class="n">pkgnvrs</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span> <span class="k">try</span><span class="p">:</span>
<span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">install</span><span class="p">(</span><span class="n">pkgname</span><span class="p">)</span> <span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">install</span><span class="p">(</span><span class="n">pkgnvr</span><span class="p">)</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
<span class="k">if</span> <span class="n">required</span><span class="p">:</span> <span class="k">if</span> <span class="n">required</span><span class="p">:</span>
<span class="k">raise</span> <span class="k">raise</span>
<span class="c1"># Not required, log it and continue processing pkgs</span> <span class="c1"># Not required, log it and continue processing pkgs</span>
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">pkgname</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span> <span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">pkgnvr</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span> <span class="k">except</span> <span class="ne">Exception</span> <span class="k">as</span> <span class="n">e</span><span class="p">:</span> <span class="c1"># pylint: disable=broad-except</span>
<span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span> <span class="n">logger</span><span class="o">.</span><span class="n">error</span><span class="p">(</span><span class="s2">&quot;installpkg </span><span class="si">%s</span><span class="s2"> failed: </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">p</span><span class="p">,</span> <span class="nb">str</span><span class="p">(</span><span class="n">e</span><span class="p">))</span>
<span class="n">errors</span> <span class="o">=</span> <span class="kc">True</span> <span class="n">errors</span> <span class="o">=</span> <span class="kc">True</span>
@ -962,7 +963,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -984,7 +985,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.monitor &mdash; Lorax 28.2 documentation</title> <title>pylorax.monitor &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -371,7 +371,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -393,7 +393,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.mount &mdash; Lorax 28.2 documentation</title> <title>pylorax.mount &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -278,7 +278,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -300,7 +300,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.sysutils &mdash; Lorax 28.2 documentation</title> <title>pylorax.sysutils &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -284,7 +284,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -306,7 +306,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.treebuilder &mdash; Lorax 28.2 documentation</title> <title>pylorax.treebuilder &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -257,7 +257,8 @@
<span class="n">release</span> <span class="o">=</span> <span class="kc">None</span> <span class="n">release</span> <span class="o">=</span> <span class="kc">None</span>
<span class="n">q</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="o">.</span><span class="n">query</span><span class="p">()</span> <span class="n">q</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">dbo</span><span class="o">.</span><span class="n">sack</span><span class="o">.</span><span class="n">query</span><span class="p">()</span>
<span class="n">a</span> <span class="o">=</span> <span class="n">q</span><span class="o">.</span><span class="n">available</span><span class="p">()</span> <span class="n">a</span> <span class="o">=</span> <span class="n">q</span><span class="o">.</span><span class="n">available</span><span class="p">()</span>
<span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">a</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">provides</span><span class="o">=</span><span class="s1">&#39;/etc/system-release&#39;</span><span class="p">):</span> <span class="k">for</span> <span class="n">pkg</span> <span class="ow">in</span> <span class="n">a</span><span class="o">.</span><span class="n">filter</span><span class="p">(</span><span class="n">provides</span><span class="o">=</span><span class="s1">&#39;system-release&#39;</span><span class="p">):</span>
<span class="n">logger</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s2">&quot;Found release package </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="n">pkg</span><span class="p">)</span>
<span class="k">if</span> <span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">&#39;generic&#39;</span><span class="p">):</span> <span class="k">if</span> <span class="n">pkg</span><span class="o">.</span><span class="n">name</span><span class="o">.</span><span class="n">startswith</span><span class="p">(</span><span class="s1">&#39;generic&#39;</span><span class="p">):</span>
<span class="k">continue</span> <span class="k">continue</span>
<span class="k">else</span><span class="p">:</span> <span class="k">else</span><span class="p">:</span>
@ -575,7 +576,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -597,7 +598,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax.treeinfo &mdash; Lorax 28.2 documentation</title> <title>pylorax.treeinfo &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="../../genindex.html"/> href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/> <link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="../../index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="../../index.html"/>
<link rel="up" title="pylorax" href="../pylorax.html"/> <link rel="up" title="pylorax" href="../pylorax.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -233,7 +233,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -255,7 +255,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../', URL_ROOT:'../../',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -393,14 +393,14 @@ group.
``url points to the correct repo`` ``url points to the correct repo``
7. Init the mock 7. Init the mock
``mock -r fedora-rawhide-x86_64 --init`` ``mock -r fedora-rawhide-x86_64 --old-chroot --init``
8. Copy the kickstart inside the mock 8. Copy the kickstart inside the mock
``mock -r fedora-rawhide-x86_64 --copyin ./fedora-minimal.ks /root/`` ``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./fedora-minimal.ks /root/``
9. Make a minimal iso:: 9. Make a minimal iso::
mock -r fedora-rawhide-x86_64 --chroot -- livemedia-creator --no-virt \ mock -r fedora-rawhide-x86_64 --old-chroot --chroot -- livemedia-creator --no-virt \
--resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \ --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \
--make-iso --ks /root/fedora-minimal.ks --make-iso --ks /root/fedora-minimal.ks
@ -447,17 +447,17 @@ group.
``url points to the correct repo`` ``url points to the correct repo``
7. Init the mock 7. Init the mock
``mock -r fedora-rawhide-x86_64 --init`` ``mock -r fedora-rawhide-x86_64 --old-chroot --init``
8. Copy the kickstart inside the mock 8. Copy the kickstart inside the mock
``mock -r fedora-rawhide-x86_64 --copyin ./fedora-minimal.ks /root/`` ``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./fedora-minimal.ks /root/``
9. Copy the Anaconda boot.iso inside the mock 9. Copy the Anaconda boot.iso inside the mock
``mock -r fedora-rawhide-x86_64 --copyin ./boot.iso /root/`` ``mock -r fedora-rawhide-x86_64 --old-chroot --copyin ./boot.iso /root/``
10. Make a minimal iso:: 10. Make a minimal iso::
mock -r fedora-rawhide-x86_64 --chroot -- livemedia-creator \ mock -r fedora-rawhide-x86_64 --old-chroot --chroot -- livemedia-creator \
--resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \ --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log \
--make-iso --ks /root/fedora-minimal.ks --iso /root/boot.iso --make-iso --ks /root/fedora-minimal.ks --iso /root/boot.iso

View File

@ -4,7 +4,7 @@
* *
* Sphinx stylesheet -- basic theme. * Sphinx stylesheet -- basic theme.
* *
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details. * :license: BSD, see LICENSE for details.
* *
*/ */
@ -398,6 +398,13 @@ table.field-list td, table.field-list th {
margin: 0; margin: 0;
} }
.field-name {
-moz-hyphens: manual;
-ms-hyphens: manual;
-webkit-hyphens: manual;
hyphens: manual;
}
/* -- other body styles ----------------------------------------------------- */ /* -- other body styles ----------------------------------------------------- */
ol.arabic { ol.arabic {
@ -438,10 +445,14 @@ dd {
margin-left: 30px; margin-left: 30px;
} }
dt:target, .highlighted { dt:target, span.highlighted {
background-color: #fbe54e; background-color: #fbe54e;
} }
rect.highlighted {
fill: #fbe54e;
}
dl.glossary dt { dl.glossary dt {
font-weight: bold; font-weight: bold;
font-size: 1.1em; font-size: 1.1em;

View File

@ -4,7 +4,7 @@
* *
* Sphinx JavaScript utilities for all documentation. * Sphinx JavaScript utilities for all documentation.
* *
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details. * :license: BSD, see LICENSE for details.
* *
*/ */
@ -45,7 +45,7 @@ jQuery.urlencode = encodeURIComponent;
* it will always return arrays of strings for the value parts. * it will always return arrays of strings for the value parts.
*/ */
jQuery.getQueryParameters = function(s) { jQuery.getQueryParameters = function(s) {
if (typeof s == 'undefined') if (typeof s === 'undefined')
s = document.location.search; s = document.location.search;
var parts = s.substr(s.indexOf('?') + 1).split('&'); var parts = s.substr(s.indexOf('?') + 1).split('&');
var result = {}; var result = {};
@ -66,29 +66,53 @@ jQuery.getQueryParameters = function(s) {
* span elements with the given class name. * span elements with the given class name.
*/ */
jQuery.fn.highlightText = function(text, className) { jQuery.fn.highlightText = function(text, className) {
function highlight(node) { function highlight(node, addItems) {
if (node.nodeType == 3) { if (node.nodeType === 3) {
var val = node.nodeValue; var val = node.nodeValue;
var pos = val.toLowerCase().indexOf(text); var pos = val.toLowerCase().indexOf(text);
if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) { if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
var span = document.createElement("span"); var span;
span.className = className; var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
if (isInSVG) {
span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
} else {
span = document.createElement("span");
span.className = className;
}
span.appendChild(document.createTextNode(val.substr(pos, text.length))); span.appendChild(document.createTextNode(val.substr(pos, text.length)));
node.parentNode.insertBefore(span, node.parentNode.insertBefore( node.parentNode.insertBefore(span, node.parentNode.insertBefore(
document.createTextNode(val.substr(pos + text.length)), document.createTextNode(val.substr(pos + text.length)),
node.nextSibling)); node.nextSibling));
node.nodeValue = val.substr(0, pos); node.nodeValue = val.substr(0, pos);
if (isInSVG) {
var bbox = span.getBBox();
var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
rect.x.baseVal.value = bbox.x;
rect.y.baseVal.value = bbox.y;
rect.width.baseVal.value = bbox.width;
rect.height.baseVal.value = bbox.height;
rect.setAttribute('class', className);
var parentOfText = node.parentNode.parentNode;
addItems.push({
"parent": node.parentNode,
"target": rect});
}
} }
} }
else if (!jQuery(node).is("button, select, textarea")) { else if (!jQuery(node).is("button, select, textarea")) {
jQuery.each(node.childNodes, function() { jQuery.each(node.childNodes, function() {
highlight(this); highlight(this, addItems);
}); });
} }
} }
return this.each(function() { var addItems = [];
highlight(this); var result = this.each(function() {
highlight(this, addItems);
}); });
for (var i = 0; i < addItems.length; ++i) {
jQuery(addItems[i].parent).before(addItems[i].target);
}
return result;
}; };
/* /*
@ -131,21 +155,21 @@ var Documentation = {
* i18n support * i18n support
*/ */
TRANSLATIONS : {}, TRANSLATIONS : {},
PLURAL_EXPR : function(n) { return n == 1 ? 0 : 1; }, PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; },
LOCALE : 'unknown', LOCALE : 'unknown',
// gettext and ngettext don't access this so that the functions // gettext and ngettext don't access this so that the functions
// can safely bound to a different name (_ = Documentation.gettext) // can safely bound to a different name (_ = Documentation.gettext)
gettext : function(string) { gettext : function(string) {
var translated = Documentation.TRANSLATIONS[string]; var translated = Documentation.TRANSLATIONS[string];
if (typeof translated == 'undefined') if (typeof translated === 'undefined')
return string; return string;
return (typeof translated == 'string') ? translated : translated[0]; return (typeof translated === 'string') ? translated : translated[0];
}, },
ngettext : function(singular, plural, n) { ngettext : function(singular, plural, n) {
var translated = Documentation.TRANSLATIONS[singular]; var translated = Documentation.TRANSLATIONS[singular];
if (typeof translated == 'undefined') if (typeof translated === 'undefined')
return (n == 1) ? singular : plural; return (n == 1) ? singular : plural;
return translated[Documentation.PLURALEXPR(n)]; return translated[Documentation.PLURALEXPR(n)];
}, },
@ -180,7 +204,7 @@ var Documentation = {
* see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075
*/ */
fixFirefoxAnchorBug : function() { fixFirefoxAnchorBug : function() {
if (document.location.hash) if (document.location.hash && $.browser.mozilla)
window.setTimeout(function() { window.setTimeout(function() {
document.location.href += ''; document.location.href += '';
}, 10); }, 10);
@ -216,7 +240,7 @@ var Documentation = {
var src = $(this).attr('src'); var src = $(this).attr('src');
var idnum = $(this).attr('id').substr(7); var idnum = $(this).attr('id').substr(7);
$('tr.cg-' + idnum).toggle(); $('tr.cg-' + idnum).toggle();
if (src.substr(-9) == 'minus.png') if (src.substr(-9) === 'minus.png')
$(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); $(this).attr('src', src.substr(0, src.length-9) + 'plus.png');
else else
$(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); $(this).attr('src', src.substr(0, src.length-8) + 'minus.png');
@ -248,7 +272,7 @@ var Documentation = {
var path = document.location.pathname; var path = document.location.pathname;
var parts = path.split(/\//); var parts = path.split(/\//);
$.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() {
if (this == '..') if (this === '..')
parts.pop(); parts.pop();
}); });
var url = parts.join('/'); var url = parts.join('/');

View File

@ -4,7 +4,7 @@
* *
* Sphinx JavaScript utilities for the full-text search. * Sphinx JavaScript utilities for the full-text search.
* *
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details. * :license: BSD, see LICENSE for details.
* *
*/ */
@ -540,6 +540,9 @@ var Search = {
}); });
} else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) {
var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX; var suffix = DOCUMENTATION_OPTIONS.SOURCELINK_SUFFIX;
if (suffix === undefined) {
suffix = '.txt';
}
$.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix), $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[5] + (item[5].slice(-suffix.length) === suffix ? '' : suffix),
dataType: "text", dataType: "text",
complete: function(jqxhr, textstatus) { complete: function(jqxhr, textstatus) {

View File

@ -4,7 +4,7 @@
* *
* sphinx.websupport utilities for all documentation. * sphinx.websupport utilities for all documentation.
* *
* :copyright: Copyright 2007-2017 by the Sphinx team, see AUTHORS. * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details. * :license: BSD, see LICENSE for details.
* *
*/ */

View File

@ -9,7 +9,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Index &mdash; Lorax 28.2 documentation</title> <title>Index &mdash; Lorax 28.9 documentation</title>
@ -36,7 +36,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="#"/> href="#"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script> <script src="_static/js/modernizr.min.js"></script>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -699,7 +699,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -721,7 +721,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to Loraxs documentation! &mdash; Lorax 28.2 documentation</title> <title>Welcome to Loraxs documentation! &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="#"/> <link rel="top" title="Lorax 28.9 documentation" href="#"/>
<link rel="next" title="Introduction to Lorax" href="intro.html"/> <link rel="next" title="Introduction to Lorax" href="intro.html"/>
@ -65,7 +65,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -140,7 +140,7 @@
<li><a href="#">Docs</a> &raquo;</li> <li><a href="#">Docs</a> &raquo;</li>
<li>Welcome to Lorax&#8217;s documentation!</li> <li>Welcome to Loraxs documentation!</li>
<li class="wy-breadcrumbs-aside"> <li class="wy-breadcrumbs-aside">
@ -160,7 +160,7 @@
<div itemprop="articleBody"> <div itemprop="articleBody">
<div class="section" id="welcome-to-lorax-s-documentation"> <div class="section" id="welcome-to-lorax-s-documentation">
<h1>Welcome to Lorax&#8217;s documentation!<a class="headerlink" href="#welcome-to-lorax-s-documentation" title="Permalink to this headline"></a></h1> <h1>Welcome to Loraxs documentation!<a class="headerlink" href="#welcome-to-lorax-s-documentation" title="Permalink to this headline"></a></h1>
<p>Contents:</p> <p>Contents:</p>
<div class="toctree-wrapper compound"> <div class="toctree-wrapper compound">
<ul> <ul>
@ -202,7 +202,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -224,7 +224,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Introduction to Lorax &mdash; Lorax 28.2 documentation</title> <title>Introduction to Lorax &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<link rel="next" title="Lorax" href="lorax.html"/> <link rel="next" title="Lorax" href="lorax.html"/>
<link rel="prev" title="Welcome to Loraxs documentation!" href="index.html"/> <link rel="prev" title="Welcome to Loraxs documentation!" href="index.html"/>
@ -66,7 +66,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -171,14 +171,14 @@ of the iso for all of the supported architectures.</p>
</div> </div>
<div class="section" id="before-lorax"> <div class="section" id="before-lorax">
<h1>Before Lorax<a class="headerlink" href="#before-lorax" title="Permalink to this headline"></a></h1> <h1>Before Lorax<a class="headerlink" href="#before-lorax" title="Permalink to this headline"></a></h1>
<p>Tree building tools such as pungi and revisor rely on &#8216;buildinstall&#8217; in <p>Tree building tools such as pungi and revisor rely on buildinstall in
anaconda/scripts/ to produce the boot images and other such control files anaconda/scripts/ to produce the boot images and other such control files
in the final tree. The existing buildinstall scripts written in a mix of in the final tree. The existing buildinstall scripts written in a mix of
bash and Python are unmaintainable. Lorax is an attempt to replace them bash and Python are unmaintainable. Lorax is an attempt to replace them
with something more flexible.</p> with something more flexible.</p>
<p>EXISTING WORKFLOW:</p> <p>EXISTING WORKFLOW:</p>
<p>pungi and other tools call scripts/buildinstall, which in turn call other <p>pungi and other tools call scripts/buildinstall, which in turn call other
scripts to do the image building and data generation. Here&#8217;s how it scripts to do the image building and data generation. Heres how it
currently looks:</p> currently looks:</p>
<blockquote> <blockquote>
<div><dl class="docutils"> <div><dl class="docutils">
@ -205,7 +205,7 @@ maketreeinfo.py, makestamp.py, and buildinstall</li>
First, almost all knowledge of what goes in to the stage 1 and stage 2 First, almost all knowledge of what goes in to the stage 1 and stage 2
images lives in upd-instroot. The mk-images* scripts copy things from the images lives in upd-instroot. The mk-images* scripts copy things from the
root created by upd-instroot in order to build the stage 1 image, though root created by upd-instroot in order to build the stage 1 image, though
it&#8217;s not completely clear from reading the scripts.</p> its not completely clear from reading the scripts.</p>
<p>NEW IDEAS:</p> <p>NEW IDEAS:</p>
<p>Create a new central driver with all information living in Python modules. <p>Create a new central driver with all information living in Python modules.
Configuration files will provide the knowledge previously contained in the Configuration files will provide the knowledge previously contained in the
@ -234,7 +234,7 @@ upd-instroot and mk-images* scripts.</p>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -256,7 +256,7 @@ upd-instroot and mk-images* scripts.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>livemedia-creator &mdash; Lorax 28.2 documentation</title> <title>livemedia-creator &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<link rel="next" title="Product and Updates Images" href="product-images.html"/> <link rel="next" title="Product and Updates Images" href="product-images.html"/>
<link rel="prev" title="Lorax" href="lorax.html"/> <link rel="prev" title="Lorax" href="lorax.html"/>
@ -66,7 +66,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -106,7 +106,7 @@
<li class="toctree-l2"><a class="reference internal" href="#tar-file-creation">TAR File Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#tar-file-creation">TAR File Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#live-image-for-pxe-boot">Live Image for PXE Boot</a></li> <li class="toctree-l2"><a class="reference internal" href="#live-image-for-pxe-boot">Live Image for PXE Boot</a></li>
<li class="toctree-l2"><a class="reference internal" href="#atomic-live-image-for-pxe-boot">Atomic Live Image for PXE Boot</a></li> <li class="toctree-l2"><a class="reference internal" href="#atomic-live-image-for-pxe-boot">Atomic Live Image for PXE Boot</a></li>
<li class="toctree-l2"><a class="reference internal" href="#using-mock-and-no-virt-to-create-images">Using Mock and &#8211;no-virt to Create Images</a></li> <li class="toctree-l2"><a class="reference internal" href="#using-mock-and-no-virt-to-create-images">Using Mock and no-virt to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="#using-mock-and-qemu-to-create-images">Using Mock and qemu to Create Images</a></li> <li class="toctree-l2"><a class="reference internal" href="#using-mock-and-qemu-to-create-images">Using Mock and qemu to Create Images</a></li>
<li class="toctree-l2"><a class="reference internal" href="#openstack-image-creation">OpenStack Image Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#openstack-image-creation">OpenStack Image Creation</a></li>
<li class="toctree-l2"><a class="reference internal" href="#docker-image-creation">Docker Image Creation</a></li> <li class="toctree-l2"><a class="reference internal" href="#docker-image-creation">Docker Image Creation</a></li>
@ -201,7 +201,7 @@ OpenStack.</p>
<p>The general idea is to use qemu with kickstart and an Anaconda boot.iso to <p>The general idea is to use qemu with kickstart and an Anaconda boot.iso to
install into a disk image and then use the disk image to create the bootable install into a disk image and then use the disk image to create the bootable
media.</p> media.</p>
<p>livemedia-creator &#8211;help will describe all of the options available. At the <p>livemedia-creator help will describe all of the options available. At the
minimum you need:</p> minimum you need:</p>
<p><code class="docutils literal"><span class="pre">--make-iso</span></code> to create a final bootable .iso or one of the other <code class="docutils literal"><span class="pre">--make-*</span></code> options.</p> <p><code class="docutils literal"><span class="pre">--make-iso</span></code> to create a final bootable .iso or one of the other <code class="docutils literal"><span class="pre">--make-*</span></code> options.</p>
<p><code class="docutils literal"><span class="pre">--iso</span></code> to specify the Anaconda install media to use with qemu.</p> <p><code class="docutils literal"><span class="pre">--iso</span></code> to specify the Anaconda install media to use with qemu.</p>
@ -235,7 +235,7 @@ you have the anaconda-tui package installed.</p>
<span class="p">[</span><span class="o">--</span><span class="n">ram</span> <span class="n">MEMORY</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">vcpus</span> <span class="n">VCPUS</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">vnc</span> <span class="n">VNC</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">ram</span> <span class="n">MEMORY</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">vcpus</span> <span class="n">VCPUS</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">vnc</span> <span class="n">VNC</span><span class="p">]</span>
<span class="p">[</span><span class="o">--</span><span class="n">arch</span> <span class="n">ARCH</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">kernel</span><span class="o">-</span><span class="n">args</span> <span class="n">KERNEL_ARGS</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">arch</span> <span class="n">ARCH</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">kernel</span><span class="o">-</span><span class="n">args</span> <span class="n">KERNEL_ARGS</span><span class="p">]</span>
<span class="p">[</span><span class="o">--</span><span class="n">ovmf</span><span class="o">-</span><span class="n">path</span> <span class="n">OVMF_PATH</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">virt</span><span class="o">-</span><span class="n">uefi</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">kvm</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">ovmf</span><span class="o">-</span><span class="n">path</span> <span class="n">OVMF_PATH</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">virt</span><span class="o">-</span><span class="n">uefi</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">kvm</span><span class="p">]</span>
<span class="p">[</span><span class="o">--</span><span class="n">dracut</span><span class="o">-</span><span class="n">arg</span> <span class="n">DRACUT_ARGS</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="k">with</span><span class="o">-</span><span class="n">rng</span> <span class="n">WITH_RNG</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">dracut</span><span class="o">-</span><span class="n">arg</span> <span class="n">DRACUT_ARGS</span><span class="p">]</span>
<span class="p">[</span><span class="o">--</span><span class="n">live</span><span class="o">-</span><span class="n">rootfs</span><span class="o">-</span><span class="n">size</span> <span class="n">LIVE_ROOTFS_SIZE</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">live</span><span class="o">-</span><span class="n">rootfs</span><span class="o">-</span><span class="n">size</span> <span class="n">LIVE_ROOTFS_SIZE</span><span class="p">]</span>
<span class="p">[</span><span class="o">--</span><span class="n">live</span><span class="o">-</span><span class="n">rootfs</span><span class="o">-</span><span class="n">keep</span><span class="o">-</span><span class="n">size</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">config</span> <span class="n">OCI_CONFIG</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">live</span><span class="o">-</span><span class="n">rootfs</span><span class="o">-</span><span class="n">keep</span><span class="o">-</span><span class="n">size</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">config</span> <span class="n">OCI_CONFIG</span><span class="p">]</span>
<span class="p">[</span><span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">runtime</span> <span class="n">OCI_RUNTIME</span><span class="p">]</span> <span class="p">[</span><span class="o">--</span><span class="n">oci</span><span class="o">-</span><span class="n">runtime</span> <span class="n">OCI_RUNTIME</span><span class="p">]</span>
@ -298,10 +298,10 @@ you have the anaconda-tui package installed.</p>
<tr><td class="option-group" colspan="2"> <tr><td class="option-group" colspan="2">
<kbd><span class="option">--iso-only=False</span></kbd></td> <kbd><span class="option">--iso-only=False</span></kbd></td>
</tr> </tr>
<tr><td>&#160;</td><td>Remove all iso creation artifacts except the boot.iso, combine with &#8211;iso-name to rename the boot.iso</td></tr> <tr><td>&#160;</td><td>Remove all iso creation artifacts except the boot.iso, combine with iso-name to rename the boot.iso</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--iso-name</span></kbd></td> <kbd><span class="option">--iso-name</span></kbd></td>
<td>Name of output iso file for &#8211;iso-only. Default is boot.iso</td></tr> <td>Name of output iso file for iso-only. Default is boot.iso</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--ks</span></kbd></td> <kbd><span class="option">--ks</span></kbd></td>
<td>Kickstart file defining the install.</td></tr> <td>Kickstart file defining the install.</td></tr>
@ -362,10 +362,10 @@ you have the anaconda-tui package installed.</p>
<tr><td class="option-group" colspan="2"> <tr><td class="option-group" colspan="2">
<kbd><span class="option">--fs-label=Anaconda</span></kbd></td> <kbd><span class="option">--fs-label=Anaconda</span></kbd></td>
</tr> </tr>
<tr><td>&#160;</td><td>Label to set on fsimage, default is &#8216;Anaconda&#8217;</td></tr> <tr><td>&#160;</td><td>Label to set on fsimage, default is Anaconda</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--image-type</span></kbd></td> <kbd><span class="option">--image-type</span></kbd></td>
<td>Create an image with qemu-img. See qemu-img &#8211;help for supported formats.</td></tr> <td>Create an image with qemu-img. See qemu-img help for supported formats.</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--qemu-arg=[]</span></kbd></td> <kbd><span class="option">--qemu-arg=[]</span></kbd></td>
<td>Arguments to pass to qemu-img. Pass once for each argument, they will be used for ALL calls to qemu-img.</td></tr> <td>Arguments to pass to qemu-img. Pass once for each argument, they will be used for ALL calls to qemu-img.</td></tr>
@ -419,6 +419,10 @@ you have the anaconda-tui package installed.</p>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--no-kvm=False</span></kbd></td> <kbd><span class="option">--no-kvm=False</span></kbd></td>
<td>Skip using kvm with qemu even if it is available.</td></tr> <td>Skip using kvm with qemu even if it is available.</td></tr>
<tr><td class="option-group" colspan="2">
<kbd><span class="option">--with-rng=/dev/random</span></kbd></td>
</tr>
<tr><td>&#160;</td><td>RNG device for QEMU (none for no RNG)</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--dracut-arg</span></kbd></td> <kbd><span class="option">--dracut-arg</span></kbd></td>
<td>Argument to pass to dracut when rebuilding the initramfs. Pass this once for each argument. NOTE: this overrides the default. (default: )</td></tr> <td>Argument to pass to dracut when rebuilding the initramfs. Pass this once for each argument. NOTE: this overrides the default. (default: )</td></tr>
@ -452,7 +456,7 @@ you have the anaconda-tui package installed.</p>
</tr> </tr>
<tr><td>&#160;</td><td>substituted for &#64;PROJECT&#64; in bootloader config files</td></tr> <tr><td>&#160;</td><td>substituted for &#64;PROJECT&#64; in bootloader config files</td></tr>
<tr><td class="option-group" colspan="2"> <tr><td class="option-group" colspan="2">
<kbd><span class="option">--releasever=25</span></kbd></td> <kbd><span class="option">--releasever=28</span></kbd></td>
</tr> </tr>
<tr><td>&#160;</td><td>substituted for &#64;VERSION&#64; in bootloader config files</td></tr> <tr><td>&#160;</td><td>substituted for &#64;VERSION&#64; in bootloader config files</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
@ -467,7 +471,7 @@ you have the anaconda-tui package installed.</p>
<td>Cancel installer after X minutes</td></tr> <td>Cancel installer after X minutes</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">-V</span></kbd></td> <kbd><span class="option">-V</span></kbd></td>
<td>show program&#8217;s version number and exit</td></tr> <td>show programs version number and exit</td></tr>
</tbody> </tbody>
</table> </table>
</dd> </dd>
@ -504,14 +508,14 @@ kickstart is used to customize the installed system in the same way that
current spin-kickstarts do.</p> current spin-kickstarts do.</p>
<p>livemedia-creator monitors the install process for problems by watching the <p>livemedia-creator monitors the install process for problems by watching the
install logs. They are written to the current directory or to the base install logs. They are written to the current directory or to the base
directory specified by the &#8211;logfile command. You can also monitor the install directory specified by the logfile command. You can also monitor the install
by using a vnc client. This is recommended when first modifying a kickstart, by using a vnc client. This is recommended when first modifying a kickstart,
since there are still places where Anaconda may get stuck without the log since there are still places where Anaconda may get stuck without the log
monitor catching it.</p> monitor catching it.</p>
<p>The output from this process is a partitioned disk image. kpartx can be used <p>The output from this process is a partitioned disk image. kpartx can be used
to mount and examine it when there is a problem with the install. It can also to mount and examine it when there is a problem with the install. It can also
be booted using kvm.</p> be booted using kvm.</p>
<p>When creating an iso the disk image&#8217;s / partition is copied into a formatted <p>When creating an iso the disk images / partition is copied into a formatted
filesystem image which is then used as the input to lorax for creation of the filesystem image which is then used as the input to lorax for creation of the
final media.</p> final media.</p>
<p>The final image is created by lorax, using the templates in /usr/share/lorax/live/ <p>The final image is created by lorax, using the templates in /usr/share/lorax/live/
@ -520,7 +524,7 @@ templates are written using the Mako template system with some extra commands
added by lorax.</p> added by lorax.</p>
<div class="admonition note"> <div class="admonition note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">The output from &#8211;make-iso includes the artifacts used to create the boot.iso; <p class="last">The output from make-iso includes the artifacts used to create the boot.iso;
the kernel, initrd, the squashfs filesystem, etc. If you only want the the kernel, initrd, the squashfs filesystem, etc. If you only want the
boot.iso you can pass <code class="docutils literal"><span class="pre">--iso-only</span></code> and the other files will be removed. You boot.iso you can pass <code class="docutils literal"><span class="pre">--iso-only</span></code> and the other files will be removed. You
can also name the iso by using <code class="docutils literal"><span class="pre">--iso-name</span> <span class="pre">my-live.iso</span></code>.</p> can also name the iso by using <code class="docutils literal"><span class="pre">--iso-name</span> <span class="pre">my-live.iso</span></code>.</p>
@ -537,9 +541,9 @@ changes. Here are the steps I used to convert the Fedora XFCE spin.</p>
<ol class="arabic"> <ol class="arabic">
<li><p class="first">Flatten the xfce kickstart using ksflatten</p> <li><p class="first">Flatten the xfce kickstart using ksflatten</p>
</li> </li>
<li><p class="first">Add zerombr so you don&#8217;t get the disk init dialog</p> <li><p class="first">Add zerombr so you dont get the disk init dialog</p>
</li> </li>
<li><p class="first">Add clearpart &#8211;all</p> <li><p class="first">Add clearpart all</p>
</li> </li>
<li><p class="first">Add swap partition</p> <li><p class="first">Add swap partition</p>
</li> </li>
@ -547,7 +551,7 @@ changes. Here are the steps I used to convert the Fedora XFCE spin.</p>
</li> </li>
<li><p class="first">Add shutdown to the kickstart</p> <li><p class="first">Add shutdown to the kickstart</p>
</li> </li>
<li><p class="first">Add network &#8211;bootproto=dhcp &#8211;activate to activate the network <li><p class="first">Add network bootproto=dhcp activate to activate the network
This works for F16 builds but for F15 and before you need to pass This works for F16 builds but for F15 and before you need to pass
something on the cmdline that activate the network, like sshd:</p> something on the cmdline that activate the network, like sshd:</p>
<blockquote> <blockquote>
@ -574,12 +578,12 @@ that you create to the %wheel group so that sudo works if you wanted to.</p>
</li> </li>
<li><p class="first">Remove /etc/fstab in %post, dracut handles mounting the rootfs</p> <li><p class="first">Remove /etc/fstab in %post, dracut handles mounting the rootfs</p>
<p><code class="docutils literal"><span class="pre">cat</span> <span class="pre">/dev/null</span> <span class="pre">&gt;</span> <span class="pre">/dev/fstab</span></code></p> <p><code class="docutils literal"><span class="pre">cat</span> <span class="pre">/dev/null</span> <span class="pre">&gt;</span> <span class="pre">/dev/fstab</span></code></p>
<p>Do this only for live iso&#8217;s, the filesystem will be mounted read only if <p>Do this only for live isos, the filesystem will be mounted read only if
there is no /etc/fstab</p> there is no /etc/fstab</p>
</li> </li>
<li><p class="first">Don&#8217;t delete initramfs files from /boot in %post</p> <li><p class="first">Dont delete initramfs files from /boot in %post</p>
</li> </li>
<li><p class="first">When creating live iso&#8217;s you need to have, at least, these packages in the %package section:: <li><p class="first">When creating live isos you need to have, at least, these packages in the %package section::
dracut-config-generic dracut-config-generic
dracut-live dracut-live
-dracut-config-rescue -dracut-config-rescue
@ -598,41 +602,41 @@ livemedia-creator like this:</p>
packages will get cached, so your kickstart url would look like:</p> packages will get cached, so your kickstart url would look like:</p>
<blockquote> <blockquote>
<div><code class="docutils literal"><span class="pre">url</span> <span class="pre">--url=&quot;http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/&quot;</span></code></div></blockquote> <div><code class="docutils literal"><span class="pre">url</span> <span class="pre">--url=&quot;http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/&quot;</span></code></div></blockquote>
<p>You can also add an update repo, but don&#8217;t name it updates. Add &#8211;proxy to it <p>You can also add an update repo, but dont name it updates. Add proxy to it
as well.</p> as well.</p>
</div> </div>
<div class="section" id="anaconda-image-install-no-virt"> <div class="section" id="anaconda-image-install-no-virt">
<h2>Anaconda image install (no-virt)<a class="headerlink" href="#anaconda-image-install-no-virt" title="Permalink to this headline"></a></h2> <h2>Anaconda image install (no-virt)<a class="headerlink" href="#anaconda-image-install-no-virt" title="Permalink to this headline"></a></h2>
<p>You can create images without using qemu by passing <code class="docutils literal"><span class="pre">--no-virt</span></code> on the <p>You can create images without using qemu by passing <code class="docutils literal"><span class="pre">--no-virt</span></code> on the
cmdline. This will use Anaconda&#8217;s directory install feature to handle the cmdline. This will use Anacondas directory install feature to handle the
install. There are a couple of things to keep in mind when doing this:</p> install. There are a couple of things to keep in mind when doing this:</p>
<ol class="arabic simple"> <ol class="arabic simple">
<li>It will be most reliable when building images for the same release that the <li>It will be most reliable when building images for the same release that the
host is running. Because Anaconda has expectations about the system it is host is running. Because Anaconda has expectations about the system it is
running under you may encounter strange bugs if you try to build newer or running under you may encounter strange bugs if you try to build newer or
older releases.</li> older releases.</li>
<li>Make sure selinux is set to permissive or disabled. It won&#8217;t install <li>Make sure selinux is set to permissive or disabled. It wont install
correctly with selinux set to enforcing yet.</li> correctly with selinux set to enforcing yet.</li>
<li>It may totally trash your host. So far I haven&#8217;t had this happen, but the <li>It may totally trash your host. So far I havent had this happen, but the
possibility exists that a bug in Anaconda could result in it operating on possibility exists that a bug in Anaconda could result in it operating on
real devices. I recommend running it in a virt or on a system that you can real devices. I recommend running it in a virt or on a system that you can
afford to lose all data from.</li> afford to lose all data from.</li>
</ol> </ol>
<p>The logs from anaconda will be placed in an ./anaconda/ directory in either <p>The logs from anaconda will be placed in an ./anaconda/ directory in either
the current directory or in the directory used for &#8211;logfile</p> the current directory or in the directory used for logfile</p>
<p>Example cmdline:</p> <p>Example cmdline:</p>
<p><code class="docutils literal"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-iso</span> <span class="pre">--no-virt</span> <span class="pre">--ks=./fedora-livemedia.ks</span></code></p> <p><code class="docutils literal"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-iso</span> <span class="pre">--no-virt</span> <span class="pre">--ks=./fedora-livemedia.ks</span></code></p>
<div class="admonition note"> <div class="admonition note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">Using no-virt to create a partitioned disk image (eg. &#8211;make-disk or <p class="last">Using no-virt to create a partitioned disk image (eg. make-disk or
&#8211;make-vagrant) will only create disks usable on the host platform (BIOS make-vagrant) will only create disks usable on the host platform (BIOS
or UEFI). You can create BIOS partitioned disk images on UEFI by using or UEFI). You can create BIOS partitioned disk images on UEFI by using
virt.</p> virt.</p>
</div> </div>
</div> </div>
<div class="section" id="ami-images"> <div class="section" id="ami-images">
<h2>AMI Images<a class="headerlink" href="#ami-images" title="Permalink to this headline"></a></h2> <h2>AMI Images<a class="headerlink" href="#ami-images" title="Permalink to this headline"></a></h2>
<p>Amazon EC2 images can be created by using the &#8211;make-ami switch and an appropriate <p>Amazon EC2 images can be created by using the make-ami switch and an appropriate
kickstart file. All of the work to customize the image is handled by the kickstart. kickstart file. All of the work to customize the image is handled by the kickstart.
The example currently included was modified from the cloud-kickstarts version so The example currently included was modified from the cloud-kickstarts version so
that it would work with livemedia-creator.</p> that it would work with livemedia-creator.</p>
@ -643,7 +647,7 @@ that it would work with livemedia-creator.</p>
</div> </div>
<div class="section" id="appliance-creation"> <div class="section" id="appliance-creation">
<h2>Appliance Creation<a class="headerlink" href="#appliance-creation" title="Permalink to this headline"></a></h2> <h2>Appliance Creation<a class="headerlink" href="#appliance-creation" title="Permalink to this headline"></a></h2>
<p>livemedia-creator can now replace appliance-tools by using the &#8211;make-appliance <p>livemedia-creator can now replace appliance-tools by using the make-appliance
switch. This will create the partitioned disk image and an XML file that can be switch. This will create the partitioned disk image and an XML file that can be
used with virt-image to setup a virtual system.</p> used with virt-image to setup a virtual system.</p>
<p>The XML is generated using the Mako template from <p>The XML is generated using the Mako template from
@ -662,16 +666,16 @@ Each entry has the following attributes:</p>
<div><p><code class="docutils literal"><span class="pre">name</span></code> <div><p><code class="docutils literal"><span class="pre">name</span></code>
base name of the disk image file</p> base name of the disk image file</p>
<p><code class="docutils literal"><span class="pre">format</span></code> <p><code class="docutils literal"><span class="pre">format</span></code>
&#8220;raw&#8221;</p> “raw”</p>
<p><code class="docutils literal"><span class="pre">checksum_type</span></code> <p><code class="docutils literal"><span class="pre">checksum_type</span></code>
&#8220;sha256&#8221;</p> “sha256”</p>
<p><code class="docutils literal"><span class="pre">checksum</span></code> <p><code class="docutils literal"><span class="pre">checksum</span></code>
sha256 checksum of the disk image</p> sha256 checksum of the disk image</p>
</div></blockquote> </div></blockquote>
</dd> </dd>
</dl> </dl>
<p><code class="docutils literal"><span class="pre">name</span></code> <p><code class="docutils literal"><span class="pre">name</span></code>
Name of appliance, from &#8211;app-name argument</p> Name of appliance, from app-name argument</p>
<p><code class="docutils literal"><span class="pre">arch</span></code> <p><code class="docutils literal"><span class="pre">arch</span></code>
Architecture</p> Architecture</p>
<p><code class="docutils literal"><span class="pre">memory</span></code> <p><code class="docutils literal"><span class="pre">memory</span></code>
@ -737,9 +741,9 @@ kickstart in docs/fedora-atomic-pxe-live-novirt.ks. This also works inside the
mock environment.</p> mock environment.</p>
</div> </div>
<div class="section" id="using-mock-and-no-virt-to-create-images"> <div class="section" id="using-mock-and-no-virt-to-create-images">
<h2>Using Mock and &#8211;no-virt to Create Images<a class="headerlink" href="#using-mock-and-no-virt-to-create-images" title="Permalink to this headline"></a></h2> <h2>Using Mock and no-virt to Create Images<a class="headerlink" href="#using-mock-and-no-virt-to-create-images" title="Permalink to this headline"></a></h2>
<p>As of lorax version 22.2 you can use livemedia-creator and anaconda version <p>As of lorax version 22.2 you can use livemedia-creator and anaconda version
22.15 inside of a mock chroot with &#8211;make-iso and &#8211;make-fsimage.</p> 22.15 inside of a mock chroot with make-iso and make-fsimage.</p>
<div class="admonition note"> <div class="admonition note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">As of mock 1.3.4 you need to use <code class="docutils literal"><span class="pre">--old-chroot</span></code> with mock. Mock now defaults to using systemd-nspawn <p class="last">As of mock 1.3.4 you need to use <code class="docutils literal"><span class="pre">--old-chroot</span></code> with mock. Mock now defaults to using systemd-nspawn
@ -777,13 +781,13 @@ group.</p>
<code class="docutils literal"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p> <code class="docutils literal"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p>
</li> </li>
<li><p class="first">Init the mock <li><p class="first">Init the mock
<code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--init</span></code></p> <code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--init</span></code></p>
</li> </li>
<li><p class="first">Copy the kickstart inside the mock <li><p class="first">Copy the kickstart inside the mock
<code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--copyin</span> <span class="pre">./fedora-minimal.ks</span> <span class="pre">/root/</span></code></p> <code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./fedora-minimal.ks</span> <span class="pre">/root/</span></code></p>
</li> </li>
<li><p class="first">Make a minimal iso:</p> <li><p class="first">Make a minimal iso:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">fedora</span><span class="o">-</span><span class="n">rawhide</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">virt</span> \ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">fedora</span><span class="o">-</span><span class="n">rawhide</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">old</span><span class="o">-</span><span class="n">chroot</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> <span class="o">--</span><span class="n">no</span><span class="o">-</span><span class="n">virt</span> \
<span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \ <span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \
<span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span>
</pre></div> </pre></div>
@ -831,16 +835,16 @@ group.</p>
<code class="docutils literal"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p> <code class="docutils literal"><span class="pre">url</span> <span class="pre">points</span> <span class="pre">to</span> <span class="pre">the</span> <span class="pre">correct</span> <span class="pre">repo</span></code></p>
</li> </li>
<li><p class="first">Init the mock <li><p class="first">Init the mock
<code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--init</span></code></p> <code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--init</span></code></p>
</li> </li>
<li><p class="first">Copy the kickstart inside the mock <li><p class="first">Copy the kickstart inside the mock
<code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--copyin</span> <span class="pre">./fedora-minimal.ks</span> <span class="pre">/root/</span></code></p> <code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./fedora-minimal.ks</span> <span class="pre">/root/</span></code></p>
</li> </li>
<li><p class="first">Copy the Anaconda boot.iso inside the mock <li><p class="first">Copy the Anaconda boot.iso inside the mock
<code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--copyin</span> <span class="pre">./boot.iso</span> <span class="pre">/root/</span></code></p> <code class="docutils literal"><span class="pre">mock</span> <span class="pre">-r</span> <span class="pre">fedora-rawhide-x86_64</span> <span class="pre">--old-chroot</span> <span class="pre">--copyin</span> <span class="pre">./boot.iso</span> <span class="pre">/root/</span></code></p>
</li> </li>
<li><p class="first">Make a minimal iso:</p> <li><p class="first">Make a minimal iso:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">fedora</span><span class="o">-</span><span class="n">rawhide</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> \ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">mock</span> <span class="o">-</span><span class="n">r</span> <span class="n">fedora</span><span class="o">-</span><span class="n">rawhide</span><span class="o">-</span><span class="n">x86_64</span> <span class="o">--</span><span class="n">old</span><span class="o">-</span><span class="n">chroot</span> <span class="o">--</span><span class="n">chroot</span> <span class="o">--</span> <span class="n">livemedia</span><span class="o">-</span><span class="n">creator</span> \
<span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \ <span class="o">--</span><span class="n">resultdir</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span> <span class="o">--</span><span class="n">logfile</span><span class="o">=/</span><span class="n">results</span><span class="o">/</span><span class="n">logs</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mi">1</span><span class="o">/</span><span class="k">try</span><span class="o">-</span><span class="mf">1.</span><span class="n">log</span> \
<span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span> <span class="o">--</span><span class="n">make</span><span class="o">-</span><span class="n">iso</span> <span class="o">--</span><span class="n">ks</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">fedora</span><span class="o">-</span><span class="n">minimal</span><span class="o">.</span><span class="n">ks</span> <span class="o">--</span><span class="n">iso</span> <span class="o">/</span><span class="n">root</span><span class="o">/</span><span class="n">boot</span><span class="o">.</span><span class="n">iso</span>
</pre></div> </pre></div>
@ -857,26 +861,26 @@ add <code class="docutils literal"><span class="pre">mknod</span> <span class="p
<div class="section" id="openstack-image-creation"> <div class="section" id="openstack-image-creation">
<h2>OpenStack Image Creation<a class="headerlink" href="#openstack-image-creation" title="Permalink to this headline"></a></h2> <h2>OpenStack Image Creation<a class="headerlink" href="#openstack-image-creation" title="Permalink to this headline"></a></h2>
<p>OpenStack supports partitioned disk images so <code class="docutils literal"><span class="pre">--make-disk</span></code> can be used to <p>OpenStack supports partitioned disk images so <code class="docutils literal"><span class="pre">--make-disk</span></code> can be used to
create images for importing into glance, OpenStack&#8217;s image storage component. create images for importing into glance, OpenStacks image storage component.
You need to have access to an OpenStack provider that allows image uploads, or You need to have access to an OpenStack provider that allows image uploads, or
setup your own using the instructions from the <a class="reference external" href="https://www.rdoproject.org/Quickstart">RDO Project</a>.</p> setup your own using the instructions from the <a class="reference external" href="https://www.rdoproject.org/Quickstart">RDO Project</a>.</p>
<p>The example kickstart, fedora-openstack.ks, is only slightly different than the <p>The example kickstart, fedora-openstack.ks, is only slightly different than the
fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart fedora-minimal.ks one. It adds the cloud-init and cloud-utils-growpart
packages. OpenStack supports setting up the image using cloud-init, and packages. OpenStack supports setting up the image using cloud-init, and
cloud-utils-growpart will grow the image to fit the instance&#8217;s disk size.</p> cloud-utils-growpart will grow the image to fit the instances disk size.</p>
<p>Create a qcow2 image using the kickstart like this:</p> <p>Create a qcow2 image using the kickstart like this:</p>
<blockquote> <blockquote>
<div><code class="docutils literal"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-disk</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=/path/to/fedora-openstack.ks</span> <span class="pre">--image-type=qcow2</span></code></div></blockquote> <div><code class="docutils literal"><span class="pre">sudo</span> <span class="pre">livemedia-creator</span> <span class="pre">--make-disk</span> <span class="pre">--iso=/path/to/boot.iso</span> <span class="pre">--ks=/path/to/fedora-openstack.ks</span> <span class="pre">--image-type=qcow2</span></code></div></blockquote>
<div class="admonition note"> <div class="admonition note">
<p class="first admonition-title">Note</p> <p class="first admonition-title">Note</p>
<p class="last">On the RHEL7 version of lmc <code class="docutils literal"><span class="pre">--image-type</span></code> isn&#8217;t supported. You can only create a bare partitioned disk image.</p> <p class="last">On the RHEL7 version of lmc <code class="docutils literal"><span class="pre">--image-type</span></code> isnt supported. You can only create a bare partitioned disk image.</p>
</div> </div>
<p>Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline:</p> <p>Import the resulting disk image into the OpenStack system, either via the web UI, or glance on the cmdline:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">glance</span> <span class="n">image</span><span class="o">-</span><span class="n">create</span> <span class="o">--</span><span class="n">name</span> <span class="s2">&quot;fedora-openstack&quot;</span> <span class="o">--</span><span class="ow">is</span><span class="o">-</span><span class="n">public</span> <span class="n">true</span> <span class="o">--</span><span class="n">disk</span><span class="o">-</span><span class="nb">format</span> <span class="n">qcow2</span> \ <div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">glance</span> <span class="n">image</span><span class="o">-</span><span class="n">create</span> <span class="o">--</span><span class="n">name</span> <span class="s2">&quot;fedora-openstack&quot;</span> <span class="o">--</span><span class="ow">is</span><span class="o">-</span><span class="n">public</span> <span class="n">true</span> <span class="o">--</span><span class="n">disk</span><span class="o">-</span><span class="nb">format</span> <span class="n">qcow2</span> \
<span class="o">--</span><span class="n">container</span><span class="o">-</span><span class="nb">format</span> <span class="n">bare</span> <span class="o">--</span><span class="n">file</span> <span class="o">./</span><span class="n">fedora</span><span class="o">-</span><span class="n">openstack</span><span class="o">.</span><span class="n">qcow2</span> <span class="o">--</span><span class="n">container</span><span class="o">-</span><span class="nb">format</span> <span class="n">bare</span> <span class="o">--</span><span class="n">file</span> <span class="o">./</span><span class="n">fedora</span><span class="o">-</span><span class="n">openstack</span><span class="o">.</span><span class="n">qcow2</span>
</pre></div> </pre></div>
</div> </div>
<p>If qcow2 wasn&#8217;t used then <code class="docutils literal"><span class="pre">--disk-format</span></code> should be set to raw.</p> <p>If qcow2 wasnt used then <code class="docutils literal"><span class="pre">--disk-format</span></code> should be set to raw.</p>
</div> </div>
<div class="section" id="docker-image-creation"> <div class="section" id="docker-image-creation">
<h2>Docker Image Creation<a class="headerlink" href="#docker-image-creation" title="Permalink to this headline"></a></h2> <h2>Docker Image Creation<a class="headerlink" href="#docker-image-creation" title="Permalink to this headline"></a></h2>
@ -901,7 +905,7 @@ OCI images using the following command:</p>
<p>You must provide the config.json and runtime.json files to be included in the bundle, <p>You must provide the config.json and runtime.json files to be included in the bundle,
their specifications can be found <a class="reference external" href="https://github.com/opencontainers/specs">on the OCI github project</a> their specifications can be found <a class="reference external" href="https://github.com/opencontainers/specs">on the OCI github project</a>
output will be in the results directory with a default name of bundle.tar.xz</p> output will be in the results directory with a default name of bundle.tar.xz</p>
<p>This will work with <code class="docutils literal"><span class="pre">--no-virt</span></code> and inside a mock since it doesn&#8217;t use any <p>This will work with <code class="docutils literal"><span class="pre">--no-virt</span></code> and inside a mock since it doesnt use any
partitioned disk images.</p> partitioned disk images.</p>
</div> </div>
<div class="section" id="vagrant-image-creation"> <div class="section" id="vagrant-image-creation">
@ -965,7 +969,7 @@ the installation as it happens, and if it gets stuck without lmc detecting the
problem you can switch to tty1 and examine the system directly.</p> problem you can switch to tty1 and examine the system directly.</p>
<p>If it does get stuck the best way to cancel is to use kill -9 on the qemu pid, <p>If it does get stuck the best way to cancel is to use kill -9 on the qemu pid,
lmc will detect that the process died and cleanup.</p> lmc will detect that the process died and cleanup.</p>
<p>If lmc didn&#8217;t handle the cleanup for some reason you can do this: <p>If lmc didnt handle the cleanup for some reason you can do this:
1. <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">umount</span> <span class="pre">/tmp/lmc-XXXX</span></code> to unmount the iso from its mountpoint. 1. <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">umount</span> <span class="pre">/tmp/lmc-XXXX</span></code> to unmount the iso from its mountpoint.
2. <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">rm</span> <span class="pre">-rf</span> <span class="pre">/tmp/lmc-XXXX</span></code> 2. <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">rm</span> <span class="pre">-rf</span> <span class="pre">/tmp/lmc-XXXX</span></code>
3. <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">rm</span> <span class="pre">/var/tmp/lmc-disk-XXXXX</span></code> to remove the disk image.</p> 3. <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">rm</span> <span class="pre">/var/tmp/lmc-disk-XXXXX</span></code> to remove the disk image.</p>
@ -1013,7 +1017,7 @@ report bugs against the lorax component.</p>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -1035,7 +1039,7 @@ report bugs against the lorax component.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lorax &mdash; Lorax 28.2 documentation</title> <title>Lorax &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<link rel="next" title="livemedia-creator" href="livemedia-creator.html"/> <link rel="next" title="livemedia-creator" href="livemedia-creator.html"/>
<link rel="prev" title="Introduction to Lorax" href="intro.html"/> <link rel="prev" title="Introduction to Lorax" href="intro.html"/>
@ -66,7 +66,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -184,7 +184,7 @@
</tr> </tr>
</tbody> </tbody>
</table> </table>
<p>&#8220;I am the Lorax. I speak for the trees [and images].&#8221;</p> <p>“I am the Lorax. I speak for the trees [and images].”</p>
<p>The <a class="reference external" href="https://github.com/rhinstaller/lorax">lorax</a> tool is used to create the <p>The <a class="reference external" href="https://github.com/rhinstaller/lorax">lorax</a> tool is used to create the
<a class="reference external" href="https://github.com/rhinstaller/anaconda">Anaconda</a> installer boot.iso as <a class="reference external" href="https://github.com/rhinstaller/anaconda">Anaconda</a> installer boot.iso as
well as the basic release tree, and .treeinfo metadata file. Its dependencies well as the basic release tree, and .treeinfo metadata file. Its dependencies
@ -249,9 +249,10 @@ repositories.</p>
<kbd><span class="option">-m=[]</span>, <span class="option">--mirrorlist=[]</span></kbd></td> <kbd><span class="option">-m=[]</span>, <span class="option">--mirrorlist=[]</span></kbd></td>
</tr> </tr>
<tr><td>&#160;</td><td>mirrorlist repository (may be listed multiple times)</td></tr> <tr><td>&#160;</td><td>mirrorlist repository (may be listed multiple times)</td></tr>
<tr><td class="option-group"> <tr><td class="option-group" colspan="2">
<kbd><span class="option">-t</span>, <span class="option">--variant</span></kbd></td> <kbd><span class="option">-t=</span>, <span class="option">--variant=</span></kbd></td>
<td>variant name</td></tr> </tr>
<tr><td>&#160;</td><td>variant name</td></tr>
<tr><td class="option-group" colspan="2"> <tr><td class="option-group" colspan="2">
<kbd><span class="option">-b=your distribution provided bug reporting tool</span>, <span class="option">--bugurl=your distribution provided bug reporting tool</span></kbd></td> <kbd><span class="option">-b=your distribution provided bug reporting tool</span>, <span class="option">--bugurl=your distribution provided bug reporting tool</span></kbd></td>
</tr> </tr>
@ -304,7 +305,7 @@ repositories.</p>
<td>DNF cache directory. Default is a temporary dir.</td></tr> <td>DNF cache directory. Default is a temporary dir.</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--workdir</span></kbd></td> <kbd><span class="option">--workdir</span></kbd></td>
<td>Work directory, overrides &#8211;tmp. Default is a temporary dir under /var/tmp</td></tr> <td>Work directory, overrides tmp. Default is a temporary dir under /var/tmp</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">--force=False</span></kbd></td> <kbd><span class="option">--force=False</span></kbd></td>
<td>Run even when the destination directory exists</td></tr> <td>Run even when the destination directory exists</td></tr>
@ -349,7 +350,7 @@ repositories.</p>
<tr><td>&#160;</td><td>Do not verify SSL certificates</td></tr> <tr><td>&#160;</td><td>Do not verify SSL certificates</td></tr>
<tr><td class="option-group"> <tr><td class="option-group">
<kbd><span class="option">-V</span></kbd></td> <kbd><span class="option">-V</span></kbd></td>
<td>show program&#8217;s version number and exit</td></tr> <td>show programs version number and exit</td></tr>
</tbody> </tbody>
</table> </table>
</dd> </dd>
@ -410,7 +411,7 @@ unneeded services are disabled, some of which can interfere with the
installation. A number of template commands are used here:</p> installation. A number of template commands are used here:</p>
<ul class="simple"> <ul class="simple">
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.append" title="pylorax.ltmpl.LoraxTemplateRunner.append"><code class="xref py py-func docutils literal"><span class="pre">append</span></code></a> to add text to a file.</li> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.append" title="pylorax.ltmpl.LoraxTemplateRunner.append"><code class="xref py py-func docutils literal"><span class="pre">append</span></code></a> to add text to a file.</li>
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.chmod" title="pylorax.ltmpl.LoraxTemplateRunner.chmod"><code class="xref py py-func docutils literal"><span class="pre">chmod</span></code></a> changes the file&#8217;s mode.</li> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.chmod" title="pylorax.ltmpl.LoraxTemplateRunner.chmod"><code class="xref py py-func docutils literal"><span class="pre">chmod</span></code></a> changes the files mode.</li>
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.gconfset" title="pylorax.ltmpl.LoraxTemplateRunner.gconfset"><code class="xref py py-func docutils literal"><span class="pre">gconfset</span></code></a> runs gconfset.</li> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.gconfset" title="pylorax.ltmpl.LoraxTemplateRunner.gconfset"><code class="xref py py-func docutils literal"><span class="pre">gconfset</span></code></a> runs gconfset.</li>
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.install" title="pylorax.ltmpl.LoraxTemplateRunner.install"><code class="xref py py-func docutils literal"><span class="pre">install</span></code></a> to install a file into the installroot.</li> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.install" title="pylorax.ltmpl.LoraxTemplateRunner.install"><code class="xref py py-func docutils literal"><span class="pre">install</span></code></a> to install a file into the installroot.</li>
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.mkdir" title="pylorax.ltmpl.LoraxTemplateRunner.mkdir"><code class="xref py py-func docutils literal"><span class="pre">mkdir</span></code></a> makes a new directory.</li> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.mkdir" title="pylorax.ltmpl.LoraxTemplateRunner.mkdir"><code class="xref py py-func docutils literal"><span class="pre">mkdir</span></code></a> makes a new directory.</li>
@ -424,14 +425,14 @@ installation. A number of template commands are used here:</p>
</div> </div>
<div class="section" id="runtime-cleanup-tmpl"> <div class="section" id="runtime-cleanup-tmpl">
<h3>runtime-cleanup.tmpl<a class="headerlink" href="#runtime-cleanup-tmpl" title="Permalink to this headline"></a></h3> <h3>runtime-cleanup.tmpl<a class="headerlink" href="#runtime-cleanup-tmpl" title="Permalink to this headline"></a></h3>
<p>The <code class="docutils literal"><span class="pre">runtime-cleanup.tmpl</span></code> template is used to remove files that aren&#8217;t strictly needed <p>The <code class="docutils literal"><span class="pre">runtime-cleanup.tmpl</span></code> template is used to remove files that arent strictly needed
by the installation environment. In addition to the <code class="docutils literal"><span class="pre">remove</span></code> template command it uses:</p> by the installation environment. In addition to the <code class="docutils literal"><span class="pre">remove</span></code> template command it uses:</p>
<ul class="simple"> <ul class="simple">
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removepkg" title="pylorax.ltmpl.LoraxTemplateRunner.removepkg"><code class="xref py py-func docutils literal"><span class="pre">removepkg</span></code></a> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removepkg" title="pylorax.ltmpl.LoraxTemplateRunner.removepkg"><code class="xref py py-func docutils literal"><span class="pre">removepkg</span></code></a>
remove all of a specific package&#8217;s contents. A package may be pulled in as a dependency, but remove all of a specific packages contents. A package may be pulled in as a dependency, but
not really used. eg. sound support.</li> not really used. eg. sound support.</li>
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removefrom" title="pylorax.ltmpl.LoraxTemplateRunner.removefrom"><code class="xref py py-func docutils literal"><span class="pre">removefrom</span></code></a> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removefrom" title="pylorax.ltmpl.LoraxTemplateRunner.removefrom"><code class="xref py py-func docutils literal"><span class="pre">removefrom</span></code></a>
Removes some files from a package. A file glob can be used, or the &#8211;allbut option to Removes some files from a package. A file glob can be used, or the allbut option to
remove everything except a select few.</li> remove everything except a select few.</li>
<li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removekmod" title="pylorax.ltmpl.LoraxTemplateRunner.removekmod"><code class="xref py py-func docutils literal"><span class="pre">removekmod</span></code></a> <li><a class="reference internal" href="pylorax.html#pylorax.ltmpl.LoraxTemplateRunner.removekmod" title="pylorax.ltmpl.LoraxTemplateRunner.removekmod"><code class="xref py py-func docutils literal"><span class="pre">removekmod</span></code></a>
Removes kernel modules</li> Removes kernel modules</li>
@ -441,7 +442,7 @@ Removes kernel modules</li>
<h3>The squashfs filesystem<a class="headerlink" href="#the-squashfs-filesystem" title="Permalink to this headline"></a></h3> <h3>The squashfs filesystem<a class="headerlink" href="#the-squashfs-filesystem" title="Permalink to this headline"></a></h3>
<p>After <code class="docutils literal"><span class="pre">runtime-*.tmpl</span></code> templates have finished their work lorax creates an <p>After <code class="docutils literal"><span class="pre">runtime-*.tmpl</span></code> templates have finished their work lorax creates an
empty ext4 filesystem, copies the remaining files to it, and makes a squashfs empty ext4 filesystem, copies the remaining files to it, and makes a squashfs
filesystem of it. This file is the / of the boot.iso&#8217;s installer environment filesystem of it. This file is the / of the boot.isos installer environment
and is what is in the LiveOS/squashfs.img file on the iso.</p> and is what is in the LiveOS/squashfs.img file on the iso.</p>
</div> </div>
<div class="section" id="iso-creation"> <div class="section" id="iso-creation">
@ -489,7 +490,7 @@ should) select the specific template directory by passing <code class="docutils
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -511,7 +512,7 @@ should) select the specific template directory by passing <code class="docutils
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax &mdash; Lorax 28.2 documentation</title> <title>pylorax &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<link rel="next" title="pylorax package" href="pylorax.html"/> <link rel="next" title="pylorax package" href="pylorax.html"/>
<link rel="prev" title="Product and Updates Images" href="product-images.html"/> <link rel="prev" title="Product and Updates Images" href="product-images.html"/>
@ -66,7 +66,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -213,7 +213,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -235,7 +235,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

Binary file not shown.

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Product and Updates Images &mdash; Lorax 28.2 documentation</title> <title>Product and Updates Images &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<link rel="next" title="pylorax" href="modules.html"/> <link rel="next" title="pylorax" href="modules.html"/>
<link rel="prev" title="livemedia-creator" href="livemedia-creator.html"/> <link rel="prev" title="livemedia-creator" href="livemedia-creator.html"/>
@ -66,7 +66,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -172,7 +172,7 @@ runtime. The x86, ppc, ppc64le and aarch64 templates all look for
install chroot while creating the final install tree. If there are files in install chroot while creating the final install tree. If there are files in
those directories lorax will create images/product.img and/or those directories lorax will create images/product.img and/or
images/updates.img</p> images/updates.img</p>
<p>These archives are just like an anaconda updates image &#8211; their contents are <p>These archives are just like an anaconda updates image their contents are
copied over the top of the filesystem at boot time so that you can drop in copied over the top of the filesystem at boot time so that you can drop in
files to add to or replace anything on the filesystem.</p> files to add to or replace anything on the filesystem.</p>
<p>Anaconda has several places that it looks for updates, the one for product.img <p>Anaconda has several places that it looks for updates, the one for product.img
@ -206,7 +206,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -228,7 +228,7 @@ command or the installpkgs paramater of <a class="reference internal" href="pylo
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Python Module Index &mdash; Lorax 28.2 documentation</title> <title>Python Module Index &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
@ -67,7 +67,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -266,7 +266,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -288,7 +288,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>pylorax package &mdash; Lorax 28.2 documentation</title> <title>pylorax package &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="search.html"/> <link rel="search" title="Search" href="search.html"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<link rel="up" title="pylorax" href="modules.html"/> <link rel="up" title="pylorax" href="modules.html"/>
<link rel="prev" title="pylorax" href="modules.html"/> <link rel="prev" title="pylorax" href="modules.html"/>
@ -66,7 +66,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -238,7 +238,7 @@
<span id="pylorax-buildstamp-module"></span><h2>pylorax.buildstamp module<a class="headerlink" href="#module-pylorax.buildstamp" title="Permalink to this headline"></a></h2> <span id="pylorax-buildstamp-module"></span><h2>pylorax.buildstamp module<a class="headerlink" href="#module-pylorax.buildstamp" title="Permalink to this headline"></a></h2>
<dl class="class"> <dl class="class">
<dt id="pylorax.buildstamp.BuildStamp"> <dt id="pylorax.buildstamp.BuildStamp">
<em class="property">class </em><code class="descclassname">pylorax.buildstamp.</code><code class="descname">BuildStamp</code><span class="sig-paren">(</span><em>product</em>, <em>version</em>, <em>bugurl</em>, <em>isfinal</em>, <em>buildarch</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/buildstamp.html#BuildStamp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.buildstamp.BuildStamp" title="Permalink to this definition"></a></dt> <em class="property">class </em><code class="descclassname">pylorax.buildstamp.</code><code class="descname">BuildStamp</code><span class="sig-paren">(</span><em>product</em>, <em>version</em>, <em>bugurl</em>, <em>isfinal</em>, <em>buildarch</em>, <em>variant=''</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/buildstamp.html#BuildStamp"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.buildstamp.BuildStamp" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.6)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p> <dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.6)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<dl class="method"> <dl class="method">
<dt id="pylorax.buildstamp.BuildStamp.write"> <dt id="pylorax.buildstamp.BuildStamp.write">
@ -345,27 +345,27 @@
in real-time.</p> in real-time.</p>
<p>This method assumes that there is a reasonably low delay between the <p>This method assumes that there is a reasonably low delay between the
end of output and the process exiting. If the child process closes end of output and the process exiting. If the child process closes
stdout and then keeps on truckin&#8217; there will be problems.</p> stdout and then keeps on truckin there will be problems.</p>
<dl class="docutils"> <dl class="docutils">
<dt>NOTE/WARNING: UnicodeDecodeError will be raised if the output of the</dt> <dt>NOTE/WARNING: UnicodeDecodeError will be raised if the output of the</dt>
<dd>external command can&#8217;t be decoded as UTF-8.</dd> <dd>external command cant be decoded as UTF-8.</dd>
</dl> </dl>
<table class="docutils field-list" frame="void" rules="none"> <table class="docutils field-list" frame="void" rules="none">
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>command</strong> &#8211; The command to run</li> <li><strong>command</strong> The command to run</li>
<li><strong>argv</strong> &#8211; The argument list</li> <li><strong>argv</strong> The argument list</li>
<li><strong>stdin</strong> &#8211; The file object to read stdin from.</li> <li><strong>stdin</strong> The file object to read stdin from.</li>
<li><strong>stdout</strong> &#8211; Optional file object to redirect stdout and stderr to.</li> <li><strong>stdout</strong> Optional file object to redirect stdout and stderr to.</li>
<li><strong>root</strong> &#8211; The directory to chroot to before running command.</li> <li><strong>root</strong> The directory to chroot to before running command.</li>
<li><strong>env_prune</strong> &#8211; environment variable to remove before execution</li> <li><strong>env_prune</strong> environment variable to remove before execution</li>
<li><strong>filter_stderr</strong> &#8211; Whether stderr should be excluded from the returned output</li> <li><strong>filter_stderr</strong> Whether stderr should be excluded from the returned output</li>
<li><strong>callback</strong> &#8211; method to call while waiting for process to finish, passed Popen object</li> <li><strong>callback</strong> method to call while waiting for process to finish, passed Popen object</li>
<li><strong>env_add</strong> &#8211; environment variables to add before execution</li> <li><strong>env_add</strong> environment variables to add before execution</li>
<li><strong>reset_handlers</strong> &#8211; whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li> <li><strong>reset_handlers</strong> whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li>
<li><strong>reset_lang</strong> &#8211; whether to set the locale of the child process to C</li> <li><strong>reset_lang</strong> whether to set the locale of the child process to C</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -387,16 +387,16 @@ This returns an iterator with the lines from the command until it has finished</
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>command</strong> &#8211; The command to run</li> <li><strong>command</strong> The command to run</li>
<li><strong>argv</strong> &#8211; The argument list</li> <li><strong>argv</strong> The argument list</li>
<li><strong>stdin</strong> &#8211; The file object to read stdin from.</li> <li><strong>stdin</strong> The file object to read stdin from.</li>
<li><strong>root</strong> &#8211; The directory to chroot to before running command.</li> <li><strong>root</strong> The directory to chroot to before running command.</li>
<li><strong>log_output</strong> &#8211; Whether to log the output of command</li> <li><strong>log_output</strong> Whether to log the output of command</li>
<li><strong>filter_stderr</strong> &#8211; Whether stderr should be excluded from the returned output</li> <li><strong>filter_stderr</strong> Whether stderr should be excluded from the returned output</li>
<li><strong>callback</strong> &#8211; method to call while waiting for process to finish, passed Popen object</li> <li><strong>callback</strong> method to call while waiting for process to finish, passed Popen object</li>
<li><strong>env_add</strong> &#8211; environment variables to add before execution</li> <li><strong>env_add</strong> environment variables to add before execution</li>
<li><strong>reset_handlers</strong> &#8211; whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li> <li><strong>reset_handlers</strong> whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li>
<li><strong>reset_lang</strong> &#8211; whether to set the locale of the child process to C</li> <li><strong>reset_lang</strong> whether to set the locale of the child process to C</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -416,19 +416,19 @@ This returns an iterator with the lines from the command until it has finished</
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>command</strong> &#8211; The command to run</li> <li><strong>command</strong> The command to run</li>
<li><strong>argv</strong> &#8211; The argument list</li> <li><strong>argv</strong> The argument list</li>
<li><strong>stdin</strong> &#8211; The file object to read stdin from.</li> <li><strong>stdin</strong> The file object to read stdin from.</li>
<li><strong>stdout</strong> &#8211; Optional file object to redirect stdout and stderr to.</li> <li><strong>stdout</strong> Optional file object to redirect stdout and stderr to.</li>
<li><strong>root</strong> &#8211; The directory to chroot to before running command.</li> <li><strong>root</strong> The directory to chroot to before running command.</li>
<li><strong>env_prune</strong> &#8211; environment variable to remove before execution</li> <li><strong>env_prune</strong> environment variable to remove before execution</li>
<li><strong>log_output</strong> &#8211; whether to log the output of command</li> <li><strong>log_output</strong> whether to log the output of command</li>
<li><strong>binary_output</strong> &#8211; whether to treat the output of command as binary data</li> <li><strong>binary_output</strong> whether to treat the output of command as binary data</li>
<li><strong>raise_err</strong> &#8211; whether to raise a CalledProcessError if the returncode is non-zero</li> <li><strong>raise_err</strong> whether to raise a CalledProcessError if the returncode is non-zero</li>
<li><strong>callback</strong> &#8211; method to call while waiting for process to finish, passed Popen object</li> <li><strong>callback</strong> method to call while waiting for process to finish, passed Popen object</li>
<li><strong>env_add</strong> &#8211; environment variables to add before execution</li> <li><strong>env_add</strong> environment variables to add before execution</li>
<li><strong>reset_handlers</strong> &#8211; whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li> <li><strong>reset_handlers</strong> whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li>
<li><strong>reset_lang</strong> &#8211; whether to set the locale of the child process to C</li> <li><strong>reset_lang</strong> whether to set the locale of the child process to C</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -463,8 +463,8 @@ variable name, the old value is overwritten.</p>
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; The name of the environment variable</li> <li><strong>name</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) The name of the environment variable</li>
<li><strong>value</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; The value of the environment variable</li> <li><strong>value</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) The value of the environment variable</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -485,17 +485,17 @@ last.</p>
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>argv</strong> &#8211; The command to run and argument</li> <li><strong>argv</strong> The command to run and argument</li>
<li><strong>root</strong> &#8211; The directory to chroot to before running command.</li> <li><strong>root</strong> The directory to chroot to before running command.</li>
<li><strong>stdin</strong> &#8211; The file object to read stdin from.</li> <li><strong>stdin</strong> The file object to read stdin from.</li>
<li><strong>stdout</strong> &#8211; The file object to write stdout to.</li> <li><strong>stdout</strong> The file object to write stdout to.</li>
<li><strong>stderr</strong> &#8211; The file object to write stderr to.</li> <li><strong>stderr</strong> The file object to write stderr to.</li>
<li><strong>env_prune</strong> &#8211; environment variables to remove before execution</li> <li><strong>env_prune</strong> environment variables to remove before execution</li>
<li><strong>env_add</strong> &#8211; environment variables to add before execution</li> <li><strong>env_add</strong> environment variables to add before execution</li>
<li><strong>reset_handlers</strong> &#8211; whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li> <li><strong>reset_handlers</strong> whether to reset to SIG_DFL any signal handlers set to SIG_IGN</li>
<li><strong>reset_lang</strong> &#8211; whether to set the locale of the child process to C</li> <li><strong>reset_lang</strong> whether to set the locale of the child process to C</li>
<li><strong>kwargs</strong> &#8211; Additional parameters to pass to subprocess.Popen</li> <li><strong>kwargs</strong> Additional parameters to pass to subprocess.Popen</li>
<li><strong>preexec_fn</strong> &#8211; A function to run before execution starts.</li> <li><strong>preexec_fn</strong> A function to run before execution starts.</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -539,7 +539,7 @@ last.</p>
<code class="descclassname">pylorax.imgutils.</code><code class="descname">compress</code><span class="sig-paren">(</span><em>command</em>, <em>rootdir</em>, <em>outfile</em>, <em>compression='xz'</em>, <em>compressargs=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#compress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.compress" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.imgutils.</code><code class="descname">compress</code><span class="sig-paren">(</span><em>command</em>, <em>rootdir</em>, <em>outfile</em>, <em>compression='xz'</em>, <em>compressargs=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#compress"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.compress" title="Permalink to this definition"></a></dt>
<dd><p>Make a compressed archive of the given rootdir. <dd><p>Make a compressed archive of the given rootdir.
command is a list of the archiver commands to run command is a list of the archiver commands to run
compression should be &#8220;xz&#8221;, &#8220;gzip&#8221;, &#8220;lzma&#8221;, &#8220;bzip2&#8221;, or None. compression should be “xz”, “gzip”, “lzma”, “bzip2”, or None.
compressargs will be used on the compression commandline.</p> compressargs will be used on the compression commandline.</p>
</dd></dl> </dd></dl>
@ -570,7 +570,7 @@ raises CalledProcessError if dmsetup fails.</p>
<dt id="pylorax.imgutils.do_grafts"> <dt id="pylorax.imgutils.do_grafts">
<code class="descclassname">pylorax.imgutils.</code><code class="descname">do_grafts</code><span class="sig-paren">(</span><em>grafts</em>, <em>dest</em>, <em>preserve=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#do_grafts"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.do_grafts" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.imgutils.</code><code class="descname">do_grafts</code><span class="sig-paren">(</span><em>grafts</em>, <em>dest</em>, <em>preserve=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#do_grafts"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.do_grafts" title="Permalink to this definition"></a></dt>
<dd><p>Copy each of the items listed in grafts into dest. <dd><p>Copy each of the items listed in grafts into dest.
If the key ends with &#8216;/&#8217; it&#8217;s assumed to be a directory which should be If the key ends with / its assumed to be a directory which should be
created, otherwise just the leading directories will be created.</p> created, otherwise just the leading directories will be created.</p>
</dd></dl> </dd></dl>
@ -606,7 +606,7 @@ Raises CalledProcessError if losetup fails.</p>
<p>It seems that on rare occasions losetup can return before the /dev/loopX is <p>It seems that on rare occasions losetup can return before the /dev/loopX is
ready for use, causing problems with mkfs. This tries to make sure that the ready for use, causing problems with mkfs. This tries to make sure that the
loop device really is associated with the backing file before continuing.</p> loop device really is associated with the backing file before continuing.</p>
<p>Raise RuntimeError if it isn&#8217;t setup after 5 tries.</p> <p>Raise RuntimeError if it isnt setup after 5 tries.</p>
</dd></dl> </dd></dl>
<dl class="function"> <dl class="function">
@ -633,10 +633,10 @@ loop device really is associated with the backing file before continuing.</p>
<dt id="pylorax.imgutils.mkfsimage"> <dt id="pylorax.imgutils.mkfsimage">
<code class="descclassname">pylorax.imgutils.</code><code class="descname">mkfsimage</code><span class="sig-paren">(</span><em>fstype</em>, <em>rootdir</em>, <em>outfile</em>, <em>size=None</em>, <em>mkfsargs=None</em>, <em>mountargs=''</em>, <em>graft=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#mkfsimage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mkfsimage" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.imgutils.</code><code class="descname">mkfsimage</code><span class="sig-paren">(</span><em>fstype</em>, <em>rootdir</em>, <em>outfile</em>, <em>size=None</em>, <em>mkfsargs=None</em>, <em>mountargs=''</em>, <em>graft=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#mkfsimage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mkfsimage" title="Permalink to this definition"></a></dt>
<dd><p>Generic filesystem image creation function. <dd><p>Generic filesystem image creation function.
fstype should be a filesystem type - &#8220;mkfs.${fstype}&#8221; must exist. fstype should be a filesystem type - “mkfs.${fstype}” must exist.
graft should be a dict: {&#8220;some/path/in/image&#8221;: &#8220;local/file/or/dir&#8221;};</p> graft should be a dict: {“some/path/in/image”: “local/file/or/dir”};</p>
<blockquote> <blockquote>
<div>if the path ends with a &#8216;/&#8217; it&#8217;s assumed to be a directory.</div></blockquote> <div>if the path ends with a / its assumed to be a directory.</div></blockquote>
<p>Will raise CalledProcessError if something goes wrong.</p> <p>Will raise CalledProcessError if something goes wrong.</p>
</dd></dl> </dd></dl>
@ -650,7 +650,7 @@ graft should be a dict: {&#8220;some/path/in/image&#8221;: &#8220;local/file/or/
<code class="descclassname">pylorax.imgutils.</code><code class="descname">mkqcow2</code><span class="sig-paren">(</span><em>outfile</em>, <em>size</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#mkqcow2"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mkqcow2" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.imgutils.</code><code class="descname">mkqcow2</code><span class="sig-paren">(</span><em>outfile</em>, <em>size</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#mkqcow2"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mkqcow2" title="Permalink to this definition"></a></dt>
<dd><p>use qemu-img to create a file of the given size. <dd><p>use qemu-img to create a file of the given size.
options is a list of options passed to qemu-img</p> options is a list of options passed to qemu-img</p>
<p>Default format is qcow2, override by passing &#8220;-f&#8221;, fmt <p>Default format is qcow2, override by passing “-f”, fmt
in options.</p> in options.</p>
</dd></dl> </dd></dl>
@ -659,7 +659,7 @@ in options.</p>
<code class="descclassname">pylorax.imgutils.</code><code class="descname">mkqemu_img</code><span class="sig-paren">(</span><em>outfile</em>, <em>size</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#mkqemu_img"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mkqemu_img" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.imgutils.</code><code class="descname">mkqemu_img</code><span class="sig-paren">(</span><em>outfile</em>, <em>size</em>, <em>options=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#mkqemu_img"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.mkqemu_img" title="Permalink to this definition"></a></dt>
<dd><p>use qemu-img to create a file of the given size. <dd><p>use qemu-img to create a file of the given size.
options is a list of options passed to qemu-img</p> options is a list of options passed to qemu-img</p>
<p>Default format is qcow2, override by passing &#8220;-f&#8221;, fmt <p>Default format is qcow2, override by passing “-f”, fmt
in options.</p> in options.</p>
</dd></dl> </dd></dl>
@ -672,11 +672,11 @@ in options.</p>
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>rootdir</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; Root directory</li> <li><strong>rootdir</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) Root directory</li>
<li><strong>outfile</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; Path of output image file</li> <li><strong>outfile</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) Path of output image file</li>
<li><strong>label</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; Filesystem label</li> <li><strong>label</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) Filesystem label</li>
<li><strong>size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.6)"><em>int</em></a>) &#8211; Size of the image in GiB, if None computed automatically</li> <li><strong>size</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.6)"><em>int</em></a>) Size of the image in GiB, if None computed automatically</li>
<li><strong>sysroot</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; path to system (deployment) root relative to physical root</li> <li><strong>sysroot</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) path to system (deployment) root relative to physical root</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -714,7 +714,7 @@ raises CalledProcessError if mount fails.</p>
<dl class="function"> <dl class="function">
<dt id="pylorax.imgutils.round_to_blocks"> <dt id="pylorax.imgutils.round_to_blocks">
<code class="descclassname">pylorax.imgutils.</code><code class="descname">round_to_blocks</code><span class="sig-paren">(</span><em>size</em>, <em>blocksize</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#round_to_blocks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.round_to_blocks" title="Permalink to this definition"></a></dt> <code class="descclassname">pylorax.imgutils.</code><code class="descname">round_to_blocks</code><span class="sig-paren">(</span><em>size</em>, <em>blocksize</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/imgutils.html#round_to_blocks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.imgutils.round_to_blocks" title="Permalink to this definition"></a></dt>
<dd><p>If size isn&#8217;t a multiple of blocksize, round up to the next multiple</p> <dd><p>If size isnt a multiple of blocksize, round up to the next multiple</p>
</dd></dl> </dd></dl>
<dl class="function"> <dl class="function">
@ -747,10 +747,10 @@ raises CalledProcessError if umount fails.</p>
<blockquote> <blockquote>
<div><p># install a bunch of packages <div><p># install a bunch of packages
runner = LoraxTemplateRunner(inroot=rundir, outroot=rundir, dbo=dnf_obj) runner = LoraxTemplateRunner(inroot=rundir, outroot=rundir, dbo=dnf_obj)
runner.run(&#8220;install-packages.ltmpl&#8221;)</p> runner.run(“install-packages.ltmpl”)</p>
<p># modify a runtime dir <p># modify a runtime dir
runner = LoraxTemplateRunner(inroot=rundir, outroot=newrun) runner = LoraxTemplateRunner(inroot=rundir, outroot=newrun)
runner.run(&#8220;runtime-transmogrify.ltmpl&#8221;)</p> runner.run(“runtime-transmogrify.ltmpl”)</p>
</div></blockquote> </div></blockquote>
<p>NOTES:</p> <p>NOTES:</p>
<ul> <ul>
@ -766,12 +766,12 @@ with the rest of the line as arguments</li>
</ol> </ol>
</div></blockquote> </div></blockquote>
</li> </li>
<li><p class="first">Parsing and execution are <em>separate</em> passes - so you can&#8217;t use the result <li><p class="first">Parsing and execution are <em>separate</em> passes - so you cant use the result
of a command in an %if statement (or any other control statements)!</p> of a command in an %if statement (or any other control statements)!</p>
</li> </li>
<li><p class="first">Commands that run external programs (systemctl, gconfset) currently use <li><p class="first">Commands that run external programs (systemctl, gconfset) currently use
the <em>host</em>&#8216;s copy of that program, which may cause problems if there&#8217;s a the <em>host</em>s copy of that program, which may cause problems if theres a
big enough difference between the host and the image you&#8217;re modifying.</p> big enough difference between the host and the image youre modifying.</p>
</li> </li>
<li><p class="first">The commands are not executed under a real chroot, so absolute symlinks <li><p class="first">The commands are not executed under a real chroot, so absolute symlinks
will point <em>outside</em> the inroot/outroot. Be careful with symlinks!</p> will point <em>outside</em> the inroot/outroot. Be careful with symlinks!</p>
@ -783,7 +783,7 @@ will point <em>outside</em> the inroot/outroot. Be careful with symlinks!</p>
object - so adding a new command is as easy as adding a new function.</li> object - so adding a new command is as easy as adding a new function.</li>
<li>Each function gets arguments that correspond to the rest of the tokens <li>Each function gets arguments that correspond to the rest of the tokens
on that line (after word splitting and brace expansion)</li> on that line (after word splitting and brace expansion)</li>
<li>Commands should raise exceptions for errors - don&#8217;t use sys.exit()</li> <li>Commands should raise exceptions for errors - dont use sys.exit()</li>
</ul> </ul>
<dl class="method"> <dl class="method">
<dt id="pylorax.ltmpl.LoraxTemplateRunner.append"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.append">
@ -791,12 +791,12 @@ on that line (after word splitting and brace expansion)</li>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>append FILE STRING</dt> <dt>append FILE STRING</dt>
<dd><p class="first">Append STRING (followed by a newline character) to FILE. <dd><p class="first">Append STRING (followed by a newline character) to FILE.
Python character escape sequences (&#8216;n&#8217;, &#8216;t&#8217;, etc.) will be Python character escape sequences (n, t, etc.) will be
converted to the appropriate characters. converted to the appropriate characters.
Examples:</p> Examples:</p>
<blockquote class="last"> <blockquote class="last">
<div>append /etc/depmod.d/dd.conf &#8220;search updates built-in&#8221; <div>append /etc/depmod.d/dd.conf “search updates built-in”
append /etc/resolv.conf &#8220;&#8221;</div></blockquote> append /etc/resolv.conf “”</div></blockquote>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -817,7 +817,7 @@ append /etc/resolv.conf &#8220;&#8221;</div></blockquote>
<dt>copy SRC DEST</dt> <dt>copy SRC DEST</dt>
<dd>Copy SRC to DEST. <dd>Copy SRC to DEST.
If DEST is a directory, SRC will be copied inside it. If DEST is a directory, SRC will be copied inside it.
If DEST doesn&#8217;t exist, SRC will be copied to a file with If DEST doesnt exist, SRC will be copied to a file with
that name, if the path leading to it exists.</dd> that name, if the path leading to it exists.</dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -867,9 +867,9 @@ Example:</p>
tree to the given destination in the output tree. tree to the given destination in the output tree.
The path to DEST must exist in the output tree. The path to DEST must exist in the output tree.
If DEST is a directory, SRC will be copied into that directory. If DEST is a directory, SRC will be copied into that directory.
If DEST doesn&#8217;t exist, SRC will be copied to a file with that name, If DEST doesnt exist, SRC will be copied to a file with that name,
assuming the rest of the path exists. assuming the rest of the path exists.
This is pretty much like how the &#8216;cp&#8217; command works. This is pretty much like how the cp command works.
Examples:</p> Examples:</p>
<blockquote class="last"> <blockquote class="last">
<div>install usr/share/myconfig/grub.conf /boot <div>install usr/share/myconfig/grub.conf /boot
@ -882,16 +882,16 @@ install /usr/share/myconfig/grub.conf.in /boot/grub.conf</div></blockquote>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.installimg"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.installimg">
<code class="descname">installimg</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installimg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installimg" title="Permalink to this definition"></a></dt> <code class="descname">installimg</code><span class="sig-paren">(</span><em>*args</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installimg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installimg" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>installimg [&#8211;xz|&#8211;gzip|&#8211;bzip2|&#8211;lzma] [-ARG|&#8211;ARG=OPTION] SRCDIR DESTFILE</dt> <dt>installimg [xz|gzip|bzip2|lzma] [-ARG|ARG=OPTION] SRCDIR DESTFILE</dt>
<dd><p class="first">Create a compressed cpio archive of the contents of SRCDIR and place <dd><p class="first">Create a compressed cpio archive of the contents of SRCDIR and place
it in DESTFILE.</p> it in DESTFILE.</p>
<p>If SRCDIR doesn&#8217;t exist or is empty nothing is created.</p> <p>If SRCDIR doesnt exist or is empty nothing is created.</p>
<dl class="docutils"> <dl class="docutils">
<dt>Examples:</dt> <dt>Examples:</dt>
<dd>installimg ${LORAXDIR}/product/ images/product.img <dd>installimg ${LORAXDIR}/product/ images/product.img
installimg ${LORAXDIR}/updates/ images/updates.img installimg ${LORAXDIR}/updates/ images/updates.img
installimg &#8211;xz -6 ${LORAXDIR}/updates/ images/updates.img installimg xz -6 ${LORAXDIR}/updates/ images/updates.img
installimg &#8211;xz -9 &#8211;memlimit-compress=3700MiB ${LORAXDIR}/updates/ images/updates.img</dd> installimg xz -9 memlimit-compress=3700MiB ${LORAXDIR}/updates/ images/updates.img</dd>
</dl> </dl>
<p class="last">Optionally use a different compression type and override the default args <p class="last">Optionally use a different compression type and override the default args
passed to it. The default is xz -9</p> passed to it. The default is xz -9</p>
@ -904,7 +904,7 @@ passed to it. The default is xz -9</p>
<code class="descname">installinitrd</code><span class="sig-paren">(</span><em>section</em>, <em>src</em>, <em>dest</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installinitrd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installinitrd" title="Permalink to this definition"></a></dt> <code class="descname">installinitrd</code><span class="sig-paren">(</span><em>section</em>, <em>src</em>, <em>dest</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installinitrd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installinitrd" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>installinitrd SECTION SRC DEST</dt> <dt>installinitrd SECTION SRC DEST</dt>
<dd>Same as installkernel, but for &#8220;initrd&#8221;.</dd> <dd>Same as installkernel, but for “initrd”.</dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -915,7 +915,7 @@ passed to it. The default is xz -9</p>
<dt>installkernel SECTION SRC DEST</dt> <dt>installkernel SECTION SRC DEST</dt>
<dd><p class="first">Install the kernel from SRC in the input tree to DEST in the output <dd><p class="first">Install the kernel from SRC in the input tree to DEST in the output
tree, and then add an item to the treeinfo data store, in the named tree, and then add an item to the treeinfo data store, in the named
SECTION, where &#8220;kernel&#8221; = DEST.</p> SECTION, where “kernel” = DEST.</p>
<dl class="last docutils"> <dl class="last docutils">
<dt>Equivalent to:</dt> <dt>Equivalent to:</dt>
<dd>install SRC DEST <dd>install SRC DEST
@ -929,11 +929,11 @@ treeinfo SECTION kernel DEST</dd>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.installpkg"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.installpkg">
<code class="descname">installpkg</code><span class="sig-paren">(</span><em>*pkgs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installpkg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installpkg" title="Permalink to this definition"></a></dt> <code class="descname">installpkg</code><span class="sig-paren">(</span><em>*pkgs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installpkg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installpkg" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>installpkg [&#8211;required|&#8211;optional] [&#8211;except PKGGLOB [&#8211;except PKGGLOB ...]] PKGGLOB [PKGGLOB ...]</dt> <dt>installpkg [required|optional] [except PKGGLOB [except PKGGLOB …]] PKGGLOB [PKGGLOB …]</dt>
<dd><p class="first">Request installation of all packages matching the given globs. <dd><p class="first">Request installation of all packages matching the given globs.
Note that this is just a <em>request</em> - nothing is <em>actually</em> installed Note that this is just a <em>request</em> - nothing is <em>actually</em> installed
until the &#8216;run_pkg_transaction&#8217; command is given.</p> until the run_pkg_transaction command is given.</p>
<p class="last">&#8211;required is now the default. If the PKGGLOB can be missing pass &#8211;optional</p> <p class="last">required is now the default. If the PKGGLOB can be missing pass optional</p>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -943,7 +943,7 @@ until the &#8216;run_pkg_transaction&#8217; command is given.</p>
<code class="descname">installupgradeinitrd</code><span class="sig-paren">(</span><em>section</em>, <em>src</em>, <em>dest</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installupgradeinitrd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd" title="Permalink to this definition"></a></dt> <code class="descname">installupgradeinitrd</code><span class="sig-paren">(</span><em>section</em>, <em>src</em>, <em>dest</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.installupgradeinitrd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.installupgradeinitrd" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>installupgradeinitrd SECTION SRC DEST</dt> <dt>installupgradeinitrd SECTION SRC DEST</dt>
<dd>Same as installkernel, but for &#8220;upgrade&#8221;.</dd> <dd>Same as installkernel, but for “upgrade”.</dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -955,7 +955,7 @@ until the &#8216;run_pkg_transaction&#8217; command is given.</p>
<dd><p class="first">Emit the given log message. Be sure to put it in quotes! <dd><p class="first">Emit the given log message. Be sure to put it in quotes!
Example:</p> Example:</p>
<blockquote class="last"> <blockquote class="last">
<div>log &#8220;Reticulating splines, please wait...&#8221;</div></blockquote> <div>log “Reticulating splines, please wait…”</div></blockquote>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -964,7 +964,7 @@ Example:</p>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.mkdir"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.mkdir">
<code class="descname">mkdir</code><span class="sig-paren">(</span><em>*dirs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.mkdir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.mkdir" title="Permalink to this definition"></a></dt> <code class="descname">mkdir</code><span class="sig-paren">(</span><em>*dirs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.mkdir"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.mkdir" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>mkdir DIR [DIR ...]</dt> <dt>mkdir DIR [DIR ]</dt>
<dd><p class="first">Create the named DIR(s). Will create leading directories as needed. <dd><p class="first">Create the named DIR(s). Will create leading directories as needed.
Example:</p> Example:</p>
<blockquote class="last"> <blockquote class="last">
@ -986,7 +986,7 @@ Example:</p>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.remove"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.remove">
<code class="descname">remove</code><span class="sig-paren">(</span><em>*fileglobs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.remove" title="Permalink to this definition"></a></dt> <code class="descname">remove</code><span class="sig-paren">(</span><em>*fileglobs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.remove" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>remove FILEGLOB [FILEGLOB ...]</dt> <dt>remove FILEGLOB [FILEGLOB ]</dt>
<dd>Remove all the named files or directories. <dd>Remove all the named files or directories.
Will <em>not</em> raise exceptions if the file(s) are not found.</dd> Will <em>not</em> raise exceptions if the file(s) are not found.</dd>
</dl> </dl>
@ -996,15 +996,15 @@ Will <em>not</em> raise exceptions if the file(s) are not found.</dd>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.removefrom"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.removefrom">
<code class="descname">removefrom</code><span class="sig-paren">(</span><em>pkg</em>, <em>*globs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.removefrom"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.removefrom" title="Permalink to this definition"></a></dt> <code class="descname">removefrom</code><span class="sig-paren">(</span><em>pkg</em>, <em>*globs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.removefrom"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.removefrom" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>removefrom PKGGLOB [&#8211;allbut] FILEGLOB [FILEGLOB...]</dt> <dt>removefrom PKGGLOB [allbut] FILEGLOB [FILEGLOB…]</dt>
<dd><p class="first">Remove all files matching the given file globs from the package <dd><p class="first">Remove all files matching the given file globs from the package
(or packages) named. (or packages) named.
If &#8216;&#8211;allbut&#8217; is used, all the files from the given package(s) will If allbut is used, all the files from the given package(s) will
be removed <em>except</em> the ones which match the file globs. be removed <em>except</em> the ones which match the file globs.
Examples:</p> Examples:</p>
<blockquote class="last"> <blockquote class="last">
<div>removefrom usbutils /usr/bin/* <div>removefrom usbutils /usr/bin/*
removefrom xfsprogs &#8211;allbut /sbin/*</div></blockquote> removefrom xfsprogs allbut /sbin/*</div></blockquote>
</dd> </dd>
</dl> </dl>
</dd></dl> </dd></dl>
@ -1013,10 +1013,10 @@ removefrom xfsprogs &#8211;allbut /sbin/*</div></blockquote>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.removekmod"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.removekmod">
<code class="descname">removekmod</code><span class="sig-paren">(</span><em>*globs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.removekmod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.removekmod" title="Permalink to this definition"></a></dt> <code class="descname">removekmod</code><span class="sig-paren">(</span><em>*globs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.removekmod"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.removekmod" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>removekmod GLOB [GLOB...] [&#8211;allbut] KEEPGLOB [KEEPGLOB...]</dt> <dt>removekmod GLOB [GLOB…] [allbut] KEEPGLOB [KEEPGLOB…]</dt>
<dd><p class="first">Remove all files and directories matching the given file globs from the kernel <dd><p class="first">Remove all files and directories matching the given file globs from the kernel
modules directory.</p> modules directory.</p>
<p>If &#8216;&#8211;allbut&#8217; is used, all the files from the modules will be removed <em>except</em> <p>If allbut is used, all the files from the modules will be removed <em>except</em>
the ones which match the file globs. There must be at least one initial GLOB the ones which match the file globs. There must be at least one initial GLOB
to search and one KEEPGLOB to keep. The KEEPGLOB is expanded to be <em>KEEPGLOB</em> to search and one KEEPGLOB to keep. The KEEPGLOB is expanded to be <em>KEEPGLOB</em>
so that it will match anywhere in the path.</p> so that it will match anywhere in the path.</p>
@ -1024,7 +1024,7 @@ so that it will match anywhere in the path.</p>
<dl class="last docutils"> <dl class="last docutils">
<dt>Examples:</dt> <dt>Examples:</dt>
<dd>removekmod sound drivers/media drivers/hwmon drivers/video <dd>removekmod sound drivers/media drivers/hwmon drivers/video
removekmod drivers/char &#8211;allbut virtio_console hw_random</dd> removekmod drivers/char allbut virtio_console hw_random</dd>
</dl> </dl>
</dd> </dd>
</dl> </dl>
@ -1034,7 +1034,7 @@ removekmod drivers/char &#8211;allbut virtio_console hw_random</dd>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.removepkg"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.removepkg">
<code class="descname">removepkg</code><span class="sig-paren">(</span><em>*pkgs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.removepkg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.removepkg" title="Permalink to this definition"></a></dt> <code class="descname">removepkg</code><span class="sig-paren">(</span><em>*pkgs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.removepkg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.removepkg" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>removepkg PKGGLOB [PKGGLOB...]</dt> <dt>removepkg PKGGLOB [PKGGLOB]</dt>
<dd><p class="first">Delete the named package(s). <dd><p class="first">Delete the named package(s).
IMPLEMENTATION NOTES:</p> IMPLEMENTATION NOTES:</p>
<blockquote class="last"> <blockquote class="last">
@ -1048,7 +1048,7 @@ Files are deleted, but directories are left behind.</div></blockquote>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.replace"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.replace">
<code class="descname">replace</code><span class="sig-paren">(</span><em>pat</em>, <em>repl</em>, <em>*fileglobs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.replace"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.replace" title="Permalink to this definition"></a></dt> <code class="descname">replace</code><span class="sig-paren">(</span><em>pat</em>, <em>repl</em>, <em>*fileglobs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.replace"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.replace" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>replace PATTERN REPLACEMENT FILEGLOB [FILEGLOB ...]</dt> <dt>replace PATTERN REPLACEMENT FILEGLOB [FILEGLOB ]</dt>
<dd><p class="first">Find-and-replace the given PATTERN (Python-style regex) with the given <dd><p class="first">Find-and-replace the given PATTERN (Python-style regex) with the given
REPLACEMENT string for each of the files listed. REPLACEMENT string for each of the files listed.
Example:</p> Example:</p>
@ -1066,7 +1066,7 @@ Example:</p>
<dl class="method"> <dl class="method">
<dt id="pylorax.ltmpl.LoraxTemplateRunner.run_pkg_transaction"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.run_pkg_transaction">
<code class="descname">run_pkg_transaction</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.run_pkg_transaction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.run_pkg_transaction" title="Permalink to this definition"></a></dt> <code class="descname">run_pkg_transaction</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.run_pkg_transaction"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.run_pkg_transaction" title="Permalink to this definition"></a></dt>
<dd><p>Actually install all the packages requested by previous &#8216;installpkg&#8217; <dd><p>Actually install all the packages requested by previous installpkg
commands.</p> commands.</p>
</dd></dl> </dd></dl>
@ -1074,19 +1074,19 @@ commands.</p>
<dt id="pylorax.ltmpl.LoraxTemplateRunner.runcmd"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.runcmd">
<code class="descname">runcmd</code><span class="sig-paren">(</span><em>*cmdlist</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.runcmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.runcmd" title="Permalink to this definition"></a></dt> <code class="descname">runcmd</code><span class="sig-paren">(</span><em>*cmdlist</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.runcmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.runcmd" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>runcmd CMD [ARG ...]</dt> <dt>runcmd CMD [ARG ]</dt>
<dd><p class="first">Run the given command with the given arguments.</p> <dd><p class="first">Run the given command with the given arguments.</p>
<p>NOTE: All paths given MUST be COMPLETE, ABSOLUTE PATHS to the file <p>NOTE: All paths given MUST be COMPLETE, ABSOLUTE PATHS to the file
or files mentioned. ${root}/${inroot}/${outroot} are good for or files mentioned. ${root}/${inroot}/${outroot} are good for
constructing these paths.</p> constructing these paths.</p>
<p>FURTHER NOTE: Please use this command only as a last resort! <p>FURTHER NOTE: Please use this command only as a last resort!
Whenever possible, you should use the existing template commands. Whenever possible, you should use the existing template commands.
If the existing commands don&#8217;t do what you need, fix them!</p> If the existing commands dont do what you need, fix them!</p>
<dl class="last docutils"> <dl class="last docutils">
<dt>Examples:</dt> <dt>Examples:</dt>
<dd><p class="first">(this should be replaced with a &#8220;find&#8221; function) <dd><p class="first">(this should be replaced with a “find” function)
runcmd find ${root} -name &#8220;<em>.pyo&#8221; -type f -delete runcmd find ${root} -name <em>.pyo” -type f -delete
%for f in find(root, name=&#8221;</em>.pyo&#8221;):</p> %for f in find(root, name=</em>.pyo”):</p>
<blockquote> <blockquote>
<div>remove ${f}</div></blockquote> <div>remove ${f}</div></blockquote>
<p class="last">%endfor</p> <p class="last">%endfor</p>
@ -1109,7 +1109,7 @@ runcmd find ${root} -name &#8220;<em>.pyo&#8221; -type f -delete
<dt id="pylorax.ltmpl.LoraxTemplateRunner.systemctl"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.systemctl">
<code class="descname">systemctl</code><span class="sig-paren">(</span><em>cmd</em>, <em>*units</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.systemctl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.systemctl" title="Permalink to this definition"></a></dt> <code class="descname">systemctl</code><span class="sig-paren">(</span><em>cmd</em>, <em>*units</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.systemctl"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.systemctl" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>systemctl [enable|disable|mask] UNIT [UNIT...]</dt> <dt>systemctl [enable|disable|mask] UNIT [UNIT]</dt>
<dd><p class="first">Enable, disable, or mask the given systemd units. <dd><p class="first">Enable, disable, or mask the given systemd units.
Examples:</p> Examples:</p>
<blockquote class="last"> <blockquote class="last">
@ -1123,10 +1123,10 @@ systemctl mask fedora-storage-init.service fedora-configure.service</div></block
<dt id="pylorax.ltmpl.LoraxTemplateRunner.treeinfo"> <dt id="pylorax.ltmpl.LoraxTemplateRunner.treeinfo">
<code class="descname">treeinfo</code><span class="sig-paren">(</span><em>section</em>, <em>key</em>, <em>*valuetoks</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.treeinfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.treeinfo" title="Permalink to this definition"></a></dt> <code class="descname">treeinfo</code><span class="sig-paren">(</span><em>section</em>, <em>key</em>, <em>*valuetoks</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/ltmpl.html#LoraxTemplateRunner.treeinfo"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.ltmpl.LoraxTemplateRunner.treeinfo" title="Permalink to this definition"></a></dt>
<dd><dl class="docutils"> <dd><dl class="docutils">
<dt>treeinfo SECTION KEY ARG [ARG ...]</dt> <dt>treeinfo SECTION KEY ARG [ARG ]</dt>
<dd><p class="first">Add an item to the treeinfo data store. <dd><p class="first">Add an item to the treeinfo data store.
The given SECTION will have a new item added where The given SECTION will have a new item added where
KEY = ARG ARG ... KEY = ARG ARG
Example:</p> Example:</p>
<blockquote class="last"> <blockquote class="last">
<div>treeinfo images-${kernel.arch} boot.iso images/boot.iso</div></blockquote> <div>treeinfo images-${kernel.arch} boot.iso images/boot.iso</div></blockquote>
@ -1204,7 +1204,7 @@ errors that indicate that the install failed.</p>
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>line</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; log line to check for failure</td> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>line</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) log line to check for failure</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -1256,12 +1256,12 @@ errors that indicate that the install failed.</p>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.6)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p> <dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.6)"><code class="xref py py-class docutils literal"><span class="pre">object</span></code></a></p>
<p>Mount the iso and check to make sure the vmlinuz and initrd.img files exist</p> <p>Mount the iso and check to make sure the vmlinuz and initrd.img files exist</p>
<p>Also check the iso for a a stage2 image and set a flag and extract the <p>Also check the iso for a a stage2 image and set a flag and extract the
iso&#8217;s label.</p> isos label.</p>
<p>stage2 can be either LiveOS/squashfs.img or images/install.img</p> <p>stage2 can be either LiveOS/squashfs.img or images/install.img</p>
<dl class="method"> <dl class="method">
<dt id="pylorax.mount.IsoMountpoint.get_iso_label"> <dt id="pylorax.mount.IsoMountpoint.get_iso_label">
<code class="descname">get_iso_label</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/mount.html#IsoMountpoint.get_iso_label"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.mount.IsoMountpoint.get_iso_label" title="Permalink to this definition"></a></dt> <code class="descname">get_iso_label</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/mount.html#IsoMountpoint.get_iso_label"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.mount.IsoMountpoint.get_iso_label" title="Permalink to this definition"></a></dt>
<dd><p>Get the iso&#8217;s label using isoinfo</p> <dd><p>Get the isos label using isoinfo</p>
<p>Sets self.label if one is found</p> <p>Sets self.label if one is found</p>
</dd></dl> </dd></dl>
@ -1391,12 +1391,12 @@ inroot should be the installtree root (the newly-built runtime dir)</p>
<dl class="method"> <dl class="method">
<dt id="pylorax.treebuilder.TreeBuilder.copy_dracut_hooks"> <dt id="pylorax.treebuilder.TreeBuilder.copy_dracut_hooks">
<code class="descname">copy_dracut_hooks</code><span class="sig-paren">(</span><em>hooks</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/treebuilder.html#TreeBuilder.copy_dracut_hooks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.treebuilder.TreeBuilder.copy_dracut_hooks" title="Permalink to this definition"></a></dt> <code class="descname">copy_dracut_hooks</code><span class="sig-paren">(</span><em>hooks</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pylorax/treebuilder.html#TreeBuilder.copy_dracut_hooks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pylorax.treebuilder.TreeBuilder.copy_dracut_hooks" title="Permalink to this definition"></a></dt>
<dd><p>Copy the hook scripts in hooks into the installroot&#8217;s /tmp/ <dd><p>Copy the hook scripts in hooks into the installroots /tmp/
and return a list of commands to pass to dracut when creating the and return a list of commands to pass to dracut when creating the
initramfs</p> initramfs</p>
<p>hooks is a list of tuples with the name of the hook script and the <p>hooks is a list of tuples with the name of the hook script and the
target dracut hook directory target dracut hook directory
(eg. [(&#8220;99anaconda-copy-ks.sh&#8221;, &#8220;/lib/dracut/hooks/pre-pivot&#8221;)])</p> (eg. [(“99anaconda-copy-ks.sh”, “/lib/dracut/hooks/pre-pivot”)])</p>
</dd></dl> </dd></dl>
<dl class="attribute"> <dl class="attribute">
@ -1424,8 +1424,8 @@ otherwise default to /usr/share/lorax/dracut_hooks</p>
initrd will be renamed with backup as a suffix before rebuilding. initrd will be renamed with backup as a suffix before rebuilding.
If backup is empty, the existing initrd files will be overwritten. If backup is empty, the existing initrd files will be overwritten.
If suffix is specified, the existing initrd is untouched and a new If suffix is specified, the existing initrd is untouched and a new
image is built with the filename &#8220;${prefix}-${kernel.version}.img&#8221;</p> image is built with the filename “${prefix}-${kernel.version}.img”</p>
<p>If the initrd doesn&#8217;t exist its name will be created based on the <p>If the initrd doesnt exist its name will be created based on the
name of the kernel.</p> name of the kernel.</p>
</dd></dl> </dd></dl>
@ -1449,7 +1449,7 @@ name of the kernel.</p>
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>string</strong> &#8211; String to lowercase</td> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>string</strong> String to lowercase</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -1489,7 +1489,7 @@ name of the kernel.</p>
<dd><p>Bases: <a class="reference internal" href="#pylorax.base.DataHolder" title="pylorax.base.DataHolder"><code class="xref py py-class docutils literal"><span class="pre">pylorax.base.DataHolder</span></code></a></p> <dd><p>Bases: <a class="reference internal" href="#pylorax.base.DataHolder" title="pylorax.base.DataHolder"><code class="xref py py-class docutils literal"><span class="pre">pylorax.base.DataHolder</span></code></a></p>
<dl class="attribute"> <dl class="attribute">
<dt id="pylorax.ArchData.bcj_arch"> <dt id="pylorax.ArchData.bcj_arch">
<code class="descname">bcj_arch</code><em class="property"> = {'i386': 'x86', 'x86_64': 'x86', 'ppc': 'powerpc', 'ppc64': 'powerpc', 'ppc64le': 'powerpc', 'arm': 'arm', 'armhfp': 'arm'}</em><a class="headerlink" href="#pylorax.ArchData.bcj_arch" title="Permalink to this definition"></a></dt> <code class="descname">bcj_arch</code><em class="property"> = {'arm': 'arm', 'armhfp': 'arm', 'i386': 'x86', 'ppc': 'powerpc', 'ppc64': 'powerpc', 'ppc64le': 'powerpc', 'x86_64': 'x86'}</em><a class="headerlink" href="#pylorax.ArchData.bcj_arch" title="Permalink to this definition"></a></dt>
<dd></dd></dl> <dd></dd></dl>
<dl class="attribute"> <dl class="attribute">
@ -1541,7 +1541,7 @@ Otherwise use the sharedir</p>
<col class="field-name" /> <col class="field-name" />
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>templatedir</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) &#8211; Top directory to search for templates</td> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>templatedir</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) Top directory to search for templates</td>
</tr> </tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Path to templates</td> <tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body">Path to templates</td>
</tr> </tr>
@ -1568,8 +1568,8 @@ lowest numbered directory entry is returned.</p>
<col class="field-body" /> <col class="field-body" />
<tbody valign="top"> <tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple"> <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first last simple">
<li><strong>logfile</strong> (<a class="reference external" href="https://docs.python.org/3/library/string.html#module-string" title="(in Python v3.6)"><em>string</em></a>) &#8211; filename to write the log to</li> <li><strong>logfile</strong> (<a class="reference external" href="https://docs.python.org/3/library/string.html#module-string" title="(in Python v3.6)"><em>string</em></a>) filename to write the log to</li>
<li><strong>theLogger</strong> (<a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.6)"><em>logging.Logger</em></a>) &#8211; top-level logger</li> <li><strong>theLogger</strong> (<a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.6)"><em>logging.Logger</em></a>) top-level logger</li>
</ul> </ul>
</td> </td>
</tr> </tr>
@ -1600,7 +1600,7 @@ lowest numbered directory entry is returned.</p>
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -1622,7 +1622,7 @@ lowest numbered directory entry is returned.</p>
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

View File

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Search &mdash; Lorax 28.2 documentation</title> <title>Search &mdash; Lorax 28.9 documentation</title>
@ -35,7 +35,7 @@
<link rel="index" title="Index" <link rel="index" title="Index"
href="genindex.html"/> href="genindex.html"/>
<link rel="search" title="Search" href="#"/> <link rel="search" title="Search" href="#"/>
<link rel="top" title="Lorax 28.2 documentation" href="index.html"/> <link rel="top" title="Lorax 28.9 documentation" href="index.html"/>
<script src="_static/js/modernizr.min.js"></script> <script src="_static/js/modernizr.min.js"></script>
@ -64,7 +64,7 @@
<div class="version"> <div class="version">
28.2 28.9
</div> </div>
@ -180,7 +180,7 @@
<div role="contentinfo"> <div role="contentinfo">
<p> <p>
&copy; Copyright 2015, Red Hat, Inc.. &copy; Copyright 2018, Red Hat, Inc..
</p> </p>
</div> </div>
@ -202,7 +202,7 @@
<script type="text/javascript"> <script type="text/javascript">
var DOCUMENTATION_OPTIONS = { var DOCUMENTATION_OPTIONS = {
URL_ROOT:'./', URL_ROOT:'./',
VERSION:'28.2', VERSION:'28.9',
COLLAPSE_INDEX:false, COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html', FILE_SUFFIX:'.html',
HAS_SOURCE: true, HAS_SOURCE: true,

File diff suppressed because one or more lines are too long