This file is indexed.

/usr/share/doc/ubuntu-packaging-guide-html-uk/packaging-new-software.html is in ubuntu-packaging-guide-html-uk 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
<!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/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="Contents" href="index.html">Contents</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> яку саме версію використовувати. Має сенс використовувати найсвіжішу версію: <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>