This file is indexed.

/usr/share/doc/ubuntu-packaging-guide-html-ru/packaging-new-software.html is in ubuntu-packaging-guide-html-ru 0.3.8.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
<!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">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>6. Создание пакетов для новых программ &mdash; Ubuntu Packaging Guide</title>
    <link rel="shortcut icon" href="./_static/images/favicon.ico" type="image/x-icon" />
    <link rel="stylesheet" href="./_static/reset.css" type="text/css" />
    <link rel="stylesheet" href="./_static/960.css" type="text/css" />
    <link rel="stylesheet" href="./_static/base.css" type="text/css" />
    <link rel="stylesheet" href="./_static/home.css" type="text/css" />
    <link rel="stylesheet" href="./_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="./_static/guide.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '0.3.8',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="./_static/jquery.js"></script>
    <script type="text/javascript" src="./_static/underscore.js"></script>
    <script type="text/javascript" src="./_static/doctools.js"></script>
    <script type="text/javascript" src="./_static/translations.js"></script>
    
    <script type="text/javascript" src="./_static/main.js"></script>
    <link rel="top" title="Ubuntu Packaging Guide" href="./index.html" />
    <link rel="next" title="7. Обновления безопасности и обновления стабильных релизов" href="security-and-stable-release-updates.html" />
    <link rel="prev" title="5. Демонстрация: исправление ошибки в Ubuntu" href="fixing-a-bug-example.html" /> 
  </head>
  <body class="home">
  <a name="top"></a>

<div class="header-navigation">
    <div>
      <nav role="navigation">
        <ul>
          <li class="page_item current_page_item"><a title="Содержание" href="index.html">Содержание</a>
          <li>
            <form id="form-search" method="get" action="search.html">
              <fieldset>
                <input id="input-search" type="text" name="q" value="Search" />
              </fieldset>
            </form>
          </li>
        </ul>
      </nav>
      <a class="logo-ubuntu" href="http://packaging.ubuntu.com/">
        <img src="./_static/images/logo-ubuntu.png" width="119" height="27" alt="Ubuntu logo" />
      </a>
      <a href="http://packaging.ubuntu.com/"><h2>Packaging Guide</h2></a>
    </div>
  </div>
<div class="header-content">
    <div class="clearfix">
  <div class="header-navigation-secondary">
    <div>
          <nav role="navigation">
            <ul class="clearfix">
	        <li class="page_item"><a style="margin-right: 10px" 
	        href="security-and-stable-release-updates.html" title="7. Обновления безопасности и обновления стабильных релизов"
	        accesskey="N">вперёд</a></li>
	        <li class="page_item"><a  
	        href="fixing-a-bug-example.html" title="5. Демонстрация: исправление ошибки в Ubuntu"
	        accesskey="P">назад</a></li>
        <li class="page_item"><a class="sub-nav-item" href="index.html">Ubuntu Packaging Guide  &raquo;</a></li> 
      </ul>
    </nav>
  </div>
</div>
</div>
</div>
  
<div id="content" class="body container_12">
  <div class="grid_12">  

     <!--<section id="main-section">-->

    <div class="grid_9 alpha">
		
    
  <div class="section" id="packaging-new-software">
<h1>6. Создание пакетов для новых программ<a class="headerlink" href="#packaging-new-software" title="Ссылка на этот заголовок"></a></h1>
<p>Хотя в архиве Ubuntu имеются тысячи пакетов, есть ещё много программ, которыми никто не занимается. Если вы знаете о какой-то замечательной программе, о которой, по вашему мнению, стоит узнать более широкому кругу пользователей, вы можете попробовать приложить свою руку к созданию пакета для Ubuntu или <a class="reference external" href="https://help.launchpad.net/Packaging/PPA">PPA</a>. Это руководство проведёт вас через этапы создания пакета для новой программы.</p>
<p>Сначала вам следует прочитать статью <a class="reference internal" href="getting-set-up.html"><span class="doc">Подготовка</span></a>, чтобы подготовить свою среду разработки.</p>
<div class="section" id="checking-the-program">
<h2>6.1. Проверка программы<a class="headerlink" href="#checking-the-program" title="Ссылка на этот заголовок"></a></h2>
<p>Первым этапом создания пакета является получение tar-файла из апстрима («апстримом» мы называем авторов приложений) и проверка того, что он нормально компилируется и запускается.</p>
<p>Это руководство проведёт вас через процесс создания пакета для небольшого приложения GNU Hello, доступного на <a class="reference external" href="http://www.gnu.org/software/hello/">GNU.org</a>.</p>
<p>Если у вас ещё нет инструментов сборки, установите их. Также установите все необходимые зависимости.</p>
<p>Установим инструменты сборки:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo apt-get install build-essential
</pre></div>
</div>
<p>Скачаем основной пакет:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ wget -O hello-2.7.tar.gz &quot;http://ftp.gnu.org/gnu/hello/hello-2.7.tar.gz&quot;
</pre></div>
</div>
<p>Теперь распакуем основной пакет:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ tar xf hello-2.7.tar.gz
$ cd hello-2.7
</pre></div>
</div>
<p>Это приложение использует систему сборки autoconf, так что нам нужно запустить <code class="docutils literal"><span class="pre">./configure</span></code> для подготовки к компиляции.</p>
<p>При этом будет проверено наличие необходимых для сборки зависимостей. Поскольку <code class="docutils literal"><span class="pre">hello</span></code> — простой пример, <code class="docutils literal"><span class="pre">build-essential</span></code> обеспечит нас всем, что нужно. Для более сложных программ, команда завершится ошибкой, если у нас нет необходимых библиотек и файлов для разработки. Установите требуемые пакеты и повторите процесс, пока команда не завершится успешно.:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ ./configure
</pre></div>
</div>
<p>Теперь нужно скомпилировать исходный код:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ make
</pre></div>
</div>
<p>Если компиляция завершилась успешно, можно установить и запустить программу:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo make install
$ hello
</pre></div>
</div>
</div>
<div class="section" id="starting-a-package">
<h2>6.2. Создание пакета<a class="headerlink" href="#starting-a-package" title="Ссылка на этот заголовок"></a></h2>
<p><code class="docutils literal"><span class="pre">bzr-builddeb</span></code> содержит модуль для создания нового пакета из шаблона. Этот модуль является обёрткой вокруг команды <code class="docutils literal"><span class="pre">dh_make</span></code> . Он уже должен быть у вас, если вы установили <code class="docutils literal"><span class="pre">packaging-dev</span></code>. Запустите команду, указав имя пакета, номер версии и путь к tar-архиву из апстрима:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo apt-get install dh-make bzr-builddeb
$ cd ..
$ bzr dh-make hello 2.7 hello-2.7.tar.gz
</pre></div>
</div>
<p>Когда он спросит тип пакета, выберите <code class="docutils literal"><span class="pre">s</span></code>: одиночный бинарник. Это импортирует код в ветку и создаст папку <code class="docutils literal"><span class="pre">debian/</span></code>. Взгляните на её содержимое: большинство автоматически созданных файлов требуются лишь для специализированных пакетов (например, модули Emacs), так что можно начать с удаления лишних файлов:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ cd hello/debian
$ rm *ex *EX
</pre></div>
</div>
<p>Теперь нужно внести изменения в каждый из файлов.</p>
<p>В <code class="docutils literal"><span class="pre">debian/changelog</span></code> измените номер версии на версию Ubuntu: <code class="docutils literal"><span class="pre">2.7-0ubuntu1</span></code> (апстрим-версия 2.7, версия в Debian 0, версия в Ubuntu 1).  Также смените <code class="docutils literal"><span class="pre">unstable</span></code> на текущий разрабатываемый выпуск Ubuntu, например, <code class="docutils literal"><span class="pre">trusty</span></code>.</p>
<p>Большая часть процесса компиляции пакета совершается скриптами из <code class="docutils literal"><span class="pre">debhelper</span></code>. Так как поведение <code class="docutils literal"><span class="pre">debhelper</span></code> меняется при выходе старшей версии, файл compat сообщает <code class="docutils literal"><span class="pre">debhelper</span></code>&#8216;у какую именно версию использовать. Имеет смысл использовать наиболее свежую версию: <code class="docutils literal"><span class="pre">9</span></code>.</p>
<p>Файл <code class="docutils literal"><span class="pre">control</span></code> содержит все метаданные пакета.  Первый абзац описывает пакет исходных кодов. Второй и следующие абзацы описывают двоичные пакеты, которые должны быть собраны.  Нам понадобится добавить пакеты, необходимые для компиляции приложения в <code class="docutils literal"><span class="pre">Build-Depends:</span></code>. Для <code class="docutils literal"><span class="pre">hello</span></code> он должен включать, как минимум:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">Build</span><span class="o">-</span><span class="n">Depends</span><span class="p">:</span> <span class="n">debhelper</span> <span class="p">(</span><span class="o">&gt;=</span> <span class="mi">9</span><span class="p">)</span>
</pre></div>
</div>
<p>Также нужно заполнить описание программы в поле <code class="docutils literal"><span class="pre">Description:</span></code>.</p>
<p><code class="docutils literal"><span class="pre">copyright</span></code> нужно заполнить в соответствии с лицензией на источник из апстрима.  Согласно файлу hello/COPYING, это лицензия GNU GPL 3 или более поздняя её версия.</p>
<p><code class="docutils literal"><span class="pre">docs</span></code> должен содержать любые файлы документации из апстрима, которые, по вашему мнению, должны быть включены в готовый пакет.</p>
<p><code class="docutils literal"><span class="pre">README.source</span></code> и <code class="docutils literal"><span class="pre">README.Debian</span></code> необходимы, лишь если ваш пакет имеет какие-то нестандартные функции. У нас таких нет, так что можно удалить эти файлы.</p>
<p><code class="docutils literal"><span class="pre">source/format</span></code> можно оставить как есть, он описывает формат версии пакета исходного кода, который должен быть <code class="docutils literal"><span class="pre">3.0</span> <span class="pre">(quilt)</span></code>.</p>
<p><code class="docutils literal"><span class="pre">rules</span></code> — самый сложный файл.  Это Makefile, который компилирует код и превращает его в двоичный пакет.  К счастью, основную часть работы в наши дни автоматически выполняет <code class="docutils literal"><span class="pre">debhelper</span> <span class="pre">7</span></code>, так что универсальная цель <code class="docutils literal"><span class="pre">%</span></code> просто запускает сценарий <code class="docutils literal"><span class="pre">dh</span></code>, который делает всё, что необходимо.</p>
<p>Все эти файлы подробнее описаны в статье <a class="reference internal" href="debian-dir-overview.html"><span class="doc">обзор каталога debian</span></a>.</p>
<p>Наконец, закоммитьте код в ветку для пакетов:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr add debian/source/format
$ bzr commit -m &quot;Initial commit of Debian packaging.&quot;
</pre></div>
</div>
</div>
<div class="section" id="building-the-package">
<h2>6.3. Сборка пакета<a class="headerlink" href="#building-the-package" title="Ссылка на этот заголовок"></a></h2>
<p>Теперь нам нужно проверить, что наши исходные файлы для пакета успешно компилируются и собираются в двоичный .deb-пакет:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr builddeb -- -us -uc
$ cd ../../
</pre></div>
</div>
<p><code class="docutils literal"><span class="pre">bzr</span> <span class="pre">builddeb</span></code> — это команда для сборки пакета в его текущем местоположении. <code class="docutils literal"><span class="pre">-us</span> <span class="pre">-uc</span></code> сообщает что подписывать пакет с помощью  GPG не требуется.  Результат будет помещён в каталог «..».</p>
<p>Просмотреть содержимое пакета можно с помощью:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ lesspipe hello_2.7-0ubuntu1_amd64.deb
</pre></div>
</div>
<p>Установите пакет и проверьте, что он работает (позднее при желании вы сможете удалить его командой <code class="docutils literal"><span class="pre">sudo</span> <span class="pre">apt-get</span> <span class="pre">remove</span> <span class="pre">hello</span></code>):</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo dpkg --install hello_2.7-0ubuntu1_amd64.deb
</pre></div>
</div>
<p>Можете также установить все пакеты сразу с помощью:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ sudo debi
</pre></div>
</div>
</div>
<div class="section" id="next-steps">
<h2>6.4. Дальнейшие шаги<a class="headerlink" href="#next-steps" title="Ссылка на этот заголовок"></a></h2>
<p>Даже если двоичный .deb-пакет успешно собирается, ваши исходные файлы для пакета могут содержать ошибки. Многие ошибки могут автоматически обнаруживаться нашим инструментом <code class="docutils literal"><span class="pre">lintian</span></code>, который можно применить к файлу метаданных .dsc, двоичным пакетам .deb или файлу .changes:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ lintian hello_2.7-0ubuntu1.dsc
$ lintian hello_2.7-0ubuntu1_amd64.deb
</pre></div>
</div>
<p>Чтобы увидеть подробное описание ошибок, используйте флаг lintian <code class="docutils literal"><span class="pre">--info</span></code>  или команду <code class="docutils literal"><span class="pre">lintian-info</span></code>.</p>
<p>Результаты проверок архива Ubuntu можно найти в Интернете на <a class="reference external" href="http://lintian.ubuntuwire.org">http://lintian.ubuntuwire.org</a>.</p>
<p>Для пакетов Python имеется также инструмент <code class="docutils literal"><span class="pre">lintian4python</span></code>, осуществляющий некоторые дополнительные проверки lintian.</p>
<p>После создания исправления для файлов пакета можно пересобрать его с параметром <code class="docutils literal"><span class="pre">-nc</span></code> (&#8220;no clean&#8221;), чтобы не начинать сборку с самого начала:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr builddeb -- -nc -us -uc
</pre></div>
</div>
<p>Убедившись, что пакет успешно собирается локально, вы должны проверить, правильно ли его сборка будет проходить в чистой системе, с помощью <code class="docutils literal"><span class="pre">pbuilder</span></code>. Поскольку вскоре мы собираемся загрузить его в PPA (персональный архив пакетов), эту загрузку нужно снабдить <em>цифровой подписью</em>, чтобы Launchpad мог удостовериться, что загрузку сделали вы (узнать о том, что загрузка будет подписана, можно по отсутствию передаваемых <code class="docutils literal"><span class="pre">bzr</span> <span class="pre">builddeb</span></code> флагов <code class="docutils literal"><span class="pre">-us</span></code> и <code class="docutils literal"><span class="pre">-uc</span></code>, которые мы использовали ранее). Для подписывания своей работы вам понадобится настроить GPG. Если вы ещё не настроили <code class="docutils literal"><span class="pre">pbuilder-dist</span></code> или GPG, <a class="reference internal" href="getting-set-up.html"><span class="doc">сделайте это сейчас</span></a>:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr builddeb -S
$ cd ../build-area
$ pbuilder-dist trusty build hello_2.7-0ubuntu1.dsc
</pre></div>
</div>
<p>После того как вы останетесь довольны получившимся пакетом, нужно, чтобы его проверили другие люди.  Вы можете выгрузить ветку на Launchpad для проверки:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ bzr push lp:~&lt;lp-username&gt;/+junk/hello-package
</pre></div>
</div>
<p>Выгрузка в PPA позволит удостовериться, что пакет собирается нормально, а также позволит вам и остальным тестировать бинарные пакеты. Вам потребуется создать PPA на Launchpad, после чего выгрузить пакет с помощью <code class="docutils literal"><span class="pre">dput</span></code>:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span>$ dput ppa:&lt;lp-username&gt;/&lt;ppa-name&gt; hello_2.7-0ubuntu1.changes
</pre></div>
</div>
<p>Смотрите раздел «<a class="reference internal" href="udd-uploading.html"><span class="doc">Загрузка</span></a>» для дополнительной информации.</p>
<p>Попросить провести review можно на канале IRC <code class="docutils literal"><span class="pre">#ubuntu-motu</span></code>, или в <a class="reference external" href="https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu">списке рассылки MOTU</a>. В некоторых случаях может потребоваться участие конкретной команды: в подобных случаях команда GNU поможет разобраться.</p>
</div>
<div class="section" id="submitting-for-inclusion">
<h2>6.5. Отправка на включение<a class="headerlink" href="#submitting-for-inclusion" title="Ссылка на этот заголовок"></a></h2>
<p>Существует несколько путей, которыми пакет может попасть в Ubuntu. В большинстве случаев лучшим путём может быть прохождение сначала через Debian. Это позволит вашему пакету стать доступным для наибольшего количества пользователей, так как он будет доступен не только в Debian и Ubuntu, но и во всех дистрибутивах, созданных на их основе. Вот несколько полезных ссылок по отправке новых пакетов в Debian:</p>
<blockquote>
<div><ul class="simple">
<li><p class="first"><a class="reference external" href="https://wiki.debian.org/DebianMentorsFaq">Debian Mentors FAQ</a> - debian-mentors создан для менторства новых и перспективных разработчиков Debian. Это то место, где можно найти спонсора для загрузки Вашего пакета в архив.</p>
</li>
<li><p class="first"><a class="reference external" href="http://www.debian.org/devel/wnpp/">Work-Needing and Prospective Packages</a> - информация о том как отправлять баги &#8220;Intent to Package&#8221; (Назначение пакету) и &#8220;Request for Package&#8221; (Запрос пакета), а также списки открытых ITP и RFP.</p>
</li>
<li><p class="first"><a class="reference external" href="http://www.debian.org/doc/manuals/developers-reference/pkgs.html#newpackage">Руководство Разработчика Debian, 5.1. Создание пакетов</a> - бесценный документ для создателей пакетов как под Ubuntu, так и под Debian. Данная глава описывает процесс отправки новых пакетов.</p>
</li>
</ul>
</div></blockquote>
<p>В некоторых случаях имеет смысл отправляться прямо в Ubuntu. Например, если Debian находится в состоянии &#8220;freeze&#8221;: тогда ваш пакет врядли успеет войти в Ubuntu к ближайшему релизу. Этот процесс описан на странице  <a class="reference external" href="https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages">&#8220;Новые Пакеты&#8221;</a> Ubuntu Wiki.</p>
</div>
<div class="section" id="screenshots">
<h2>6.6. Снимки экрана<a class="headerlink" href="#screenshots" title="Ссылка на этот заголовок"></a></h2>
<p>Загрузив пакет в Debian, вам следует добавить снимки экрана, чтобы будущие пользователи смогли получить представление о том, как выглядит интерфейс программы. Снимки нужно отправлять на <a class="reference external" href="http://screenshots.debian.net/upload">http://screenshots.debian.net/upload</a> .</p>
</div>
</div>


	<div class="divide"></div>

          </div>

  <div id="sidebar" class="grid_3 omega">
    <div class="container-tweet">
        <h3>Оглавление</h3>
        <div class="toc">
          <ul>
<li><a class="reference internal" href="#">6. Создание пакетов для новых программ</a><ul>
<li><a class="reference internal" href="#checking-the-program">6.1. Проверка программы</a></li>
<li><a class="reference internal" href="#starting-a-package">6.2. Создание пакета</a></li>
<li><a class="reference internal" href="#building-the-package">6.3. Сборка пакета</a></li>
<li><a class="reference internal" href="#next-steps">6.4. Дальнейшие шаги</a></li>
<li><a class="reference internal" href="#submitting-for-inclusion">6.5. Отправка на включение</a></li>
<li><a class="reference internal" href="#screenshots">6.6. Снимки экрана</a></li>
</ul>
</li>
</ul>

        </div>

      <div class="browse-guide">
        <h3>Browse The Guide:</h3>
        <ul>
          <li class="prev">
            <a href="fixing-a-bug-example.html"
                      title="Предыдущий раздел: 5. Демонстрация: исправление ошибки в Ubuntu">Go Previous</a>
          </li>
          
          <li class="center">
            <a title="Back to Index" href="index.html">Index Guide</a>
          </li>
        
          <li class="next">
            <a href="security-and-stable-release-updates.html"
                      title="Следующий раздел: 7. Обновления безопасности и обновления стабильных релизов">Go Next</a>
          </li>
        </ul>
        <span>Эта страница:</span> <a href="./_sources/packaging-new-software.txt"
               rel="nofollow">Исходный текст</a>
      </div>
     </div>
     <div id="back_top"><a href="#top">Back to Top</a></div>
    </div>
    <!--</section>-->
  </div>
</div>
<div class="shadow"></div>
<footer>
  <div>
      Version: 0.3.8.
    <a href="https://bugs.launchpad.net/ubuntu-packaging-guide">Report bugs</a> or 
    <a href="https://code.launchpad.net/~ubuntu-packaging-guide-team/ubuntu-packaging-guide/trunk">grab the source code</a> from Launchpad.
      Создано с помощью <a href="http://sphinx-doc.org/">Sphinx</a> 1.4.4.
      <br />
        &copy; Copyright 2010-2016, Ubuntu Developers, Creative Commons Attribution-ShareAlike 3.0.
        <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
        Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.
        <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/">
        <img alt="Creative Commons License" style="border-width:0" 
        src="./_static/images/cc-by-sa.png" /></a>
    <br />
    <a href="http://people.ubuntu.com/~mitya57/ubuntu-packaging-guide-readme.html#translating">Help translate</a> or
    <a href="./_static/translators.html">view the list of translators</a>.

  </div>
</footer>
  </body>
</html>