[Extras-cauldron-commits] r14 - / www

mishas at garage.maemo.org mishas at garage.maemo.org
Sun Mar 30 12:46:47 EEST 2008


Author: mishas
Date: 2008-03-30 12:46:47 +0300 (Sun, 30 Mar 2008)
New Revision: 14

Added:
   www/
   www/HOWTO.html
Log:
added a HTML version of builder howto

Added: www/HOWTO.html
===================================================================
--- www/HOWTO.html	                        (rev 0)
+++ www/HOWTO.html	2008-03-30 09:46:47 UTC (rev 14)
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.4.1: http://docutils.sourceforge.net/" />
+<title>Builder for Maemo Extras (buildME).</title>
+<meta name="author" content="Ed Bartosh" />
+<style type="text/css">
+
+/*
+:Author: David Goodger
+:Contact: goodger at users.sourceforge.net
+:Date: $Date: 2005-12-18 01:56:14 +0100 (Sun, 18 Dec 2005) $
+:Revision: $Revision: 4224 $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin-left: 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left {
+  clear: left }
+
+img.align-right {
+  clear: right }
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font-family: serif ;
+  font-size: 100% }
+
+pre.literal-block, pre.doctest-block {
+  margin-left: 2em ;
+  margin-right: 2em ;
+  background-color: #eeeeee }
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+tt.docutils {
+  background-color: #eeeeee }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document" id="builder-for-maemo-extras-buildme">
+<h1 class="title">Builder for Maemo Extras (buildME).</h1>
+<table class="docinfo" frame="void" rules="none">
+<col class="docinfo-name" />
+<col class="docinfo-content" />
+<tbody valign="top">
+<tr><th class="docinfo-name">Author:</th>
+<td>Ed Bartosh</td></tr>
+<tr><th class="docinfo-name">Version:</th>
+<td>12</td></tr>
+</tbody>
+</table>
+<div class="contents topic">
+<p class="topic-title first"><a id="contents" name="contents">Contents</a></p>
+<ul class="simple">
+<li><a class="reference" href="#what-is-it" id="id13" name="id13">1. What is it?</a></li>
+<li><a class="reference" href="#how-to-prepare-and-upload-source-packages-for-build" id="id14" name="id14">2. How to prepare and upload source packages for build?</a></li>
+<li><a class="reference" href="#what-happens-when-packages-are-uploaded" id="id15" name="id15">3. What happens when packages are uploaded?</a></li>
+<li><a class="reference" href="#what-to-expect-as-a-result" id="id16" name="id16">4. What to expect as a result</a></li>
+<li><a class="reference" href="#references" id="id17" name="id17">5. References</a></li>
+</ul>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id13" id="what-is-it" name="what-is-it">1. What is it?</a></h1>
+<p>It's automatic package building system for Maemo Extras repository based on
+sbdmock package builder <a class="footnote-reference" href="#id7" id="id1" name="id1">[1]</a>.</p>
+<dl class="docutils">
+<dt>Typical usage scenario of builder is the following:</dt>
+<dd><ul class="first last simple">
+<li>build Debian source package</li>
+<li>upload it to builder incoming directory</li>
+<li>wait for build results and logs</li>
+<li>if build is OK builder will put result packages into extras-devel repository</li>
+<li>if build is failed uploader should fix packages and re-upload them for the
+new build</li>
+<li>builder sends a short report about the build to a dedicated mailing list</li>
+<li>detailed logs can be found in results directory</li>
+</ul>
+</dd>
+</dl>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id14" id="how-to-prepare-and-upload-source-packages-for-build" name="how-to-prepare-and-upload-source-packages-for-build">2. How to prepare and upload source packages for build?</a></h1>
+<p>Source package can be produced using this command <a class="footnote-reference" href="#id8" id="id2" name="id2">[2]</a>:</p>
+<pre class="literal-block">
+dpkg-buildpackage -rfakeroot -sa -S
+</pre>
+<p>and signed with <a class="footnote-reference" href="#id9" id="id3" name="id3">[3]</a>:</p>
+<pre class="literal-block">
+debsign -k&lt;key_id&gt; &lt;package&gt;.changes
+</pre>
+<p>Uploading source packages for builder is similar to uploading to extras and
+extras-devel repositories <a class="footnote-reference" href="#id10" id="id4" name="id4">[4]</a>.  To be able to upload source packages for
+building uploader must have upload rights to extras repository.</p>
+<p>To upload sources to for build uploader should have the following section in
+/etc/dput.cf <a class="footnote-reference" href="#id11" id="id5" name="id5">[5]</a>:</p>
+<pre class="literal-block">
+[chinook-extras-builder]
+login = &lt;your_garage_login_name&gt;
+fqdn = garage
+method = scp
+hash = md5
+allow_unsigned_uploads = 0
+incoming = /var/www/extras-devel/incoming-builder/chinook
+</pre>
+<p>Uploading is done by:</p>
+<pre class="literal-block">
+dput chinook-extras-builder *.changes
+</pre>
+<p>NB: After a successful upload dput creates a .upload file.  If you try to
+upload the same set of files, dput will refuse to do that.  If you really want
+to upload it again (e.g. after uploading and have built a build dependency for
+a particular package), please use '-f' parameter:</p>
+<pre class="literal-block">
+dput -f chinook-extras-builder *.changes
+</pre>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id15" id="what-happens-when-packages-are-uploaded" name="what-happens-when-packages-are-uploaded">3. What happens when packages are uploaded?</a></h1>
+<p>The builder picks up packages from the builder queue and produces binaries for
+all required architectures.  Architectures are determined by 'Architecture:'
+field of the package's debian/control file.  For architecture 'any' builds are
+performed for all supported architectures.  For architecture 'all' only one
+build for fastest architecture is performed.  For specific architecture ('i386'
+and 'armel' at the moment) only one build for specified architecture is
+performed.  Build is done in a clean environment. It means that scratchbox
+target created from scratch for each build. Only essential build packages and
+build dependencies specified in package's control file will be installed into
+target before build.  Sbdmock uses packages from SDK and extras-devel repositories
+to satisfy build dependencies.  Build is done using dpkg-buildpackage. Builder
+produces 2 logs:</p>
+<pre class="literal-block">
+root.log  -- information about setting up build target
+build.log -- information about the actual build operation
+</pre>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id16" id="what-to-expect-as-a-result" name="what-to-expect-as-a-result">4. What to expect as a result</a></h1>
+<p>When build is complete, status information is sent to the 'builds' mailing list <a class="footnote-reference" href="#id12" id="id6" name="id6">[6]</a>.</p>
+<p>Build results are available in results directory:</p>
+<pre class="literal-block">
+https://garage.maemo.org/builder/chinook/&lt;package name and version&gt;/
+</pre>
+<p>Content of this directory depends on the build status.  For successful builds
+you will find only log files.  For failed build you will find the sources that
+triggered the build (they will be available in 'sources' subdirectory) and any
+produced binary packages (these will be available in 'results' subdirectory).
+Short build report is available from summary.log</p>
+<p>NOTE: result directory will be rewriten by the builder if package with the same
+name and version is re-uploaded for the build.</p>
+<p>If build is successful packages will be signed by builder and automatically
+uploaded to extras-devel repository.</p>
+</div>
+<div class="section">
+<h1><a class="toc-backref" href="#id17" id="references" name="references">5. References</a></h1>
+<table class="docutils footnote" frame="void" id="id7" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id1" name="id7">[1]</a></td><td>Scratchbox Debian package builder tool: <a class="reference" href="http://bifh.org/wiki/sbdmock">http://bifh.org/wiki/sbdmock</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id8" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id2" name="id8">[2]</a></td><td>dpkg-buildpackage man page: <a class="reference" href="http://www.penguin-soft.com/penguin/man/1/dpkg-source.html">http://www.penguin-soft.com/penguin/man/1/dpkg-source.html</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id9" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id3" name="id9">[3]</a></td><td>debsign man page: <a class="reference" href="http://www.penguin-soft.com/penguin/man/1/debsign.html">http://www.penguin-soft.com/penguin/man/1/debsign.html</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id10" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id4" name="id10">[4]</a></td><td>Maemo Extras Repository: <a class="reference" href="http://maemo.org/community/application-catalog/extras_repository.html">http://maemo.org/community/application-catalog/extras_repository.html</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id11" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id5" name="id11">[5]</a></td><td>dput man page: <a class="reference" href="http://www.penguin-soft.com/penguin/man/1/dput.html">http://www.penguin-soft.com/penguin/man/1/dput.html</a></td></tr>
+</tbody>
+</table>
+<table class="docutils footnote" frame="void" id="id12" rules="none">
+<colgroup><col class="label" /><col /></colgroup>
+<tbody valign="top">
+<tr><td class="label"><a class="fn-backref" href="#id6" name="id12">[6]</a></td><td>extras-cauldron-builds: <a class="reference" href="https://garage.maemo.org/mailman/listinfo/extras-cauldron-builds">https://garage.maemo.org/mailman/listinfo/extras-cauldron-builds</a></td></tr>
+</tbody>
+</table>
+</div>
+</div>
+</body>
+</html>



More information about the Extras-cauldron-commits mailing list