~josephjamesmills/ubuntu-packaging-guide/fixed-bug975026

« back to all changes in this revision

Viewing changes to po/de.po

  • Committer: Daniel Holbach
  • Date: 2012-03-20 22:02:49 UTC
  • mfrom: (78.2.26 upg-i18n)
  • Revision ID: daniel.holbach@canonical.com-20120320220249-pljexws010dw6cbi
merged lp:~andrewsomething/ubuntu-packaging-guide/i18n

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# SOME DESCRIPTIVE TITLE.
 
2
# Copyright (C) 2010-2012, Ubuntu Developers
 
3
# This file is distributed under the same license as the ubuntu-packaging-guide package.
 
4
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 
5
#
 
6
#, fuzzy
 
7
msgid ""
 
8
msgstr ""
 
9
"Project-Id-Version: ubuntu-packaging-guide 0.1\n"
 
10
"Report-Msgid-Bugs-To: \n"
 
11
"POT-Creation-Date: 2012-02-29 17:52\n"
 
12
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 
13
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 
14
"Language-Team: LANGUAGE <LL@li.org>\n"
 
15
"MIME-Version: 1.0\n"
 
16
"Content-Type: text/plain; charset=UTF-8\n"
 
17
"Content-Transfer-Encoding: 8bit\n"
 
18
 
 
19
#: ../ubuntu-packaging-guide/chroots.rst:3
 
20
# d6c7ecbd606c4b9282b23708db85f9b5
 
21
msgid "Using Chroots"
 
22
msgstr "Chroots benutzen"
 
23
 
 
24
#: ../ubuntu-packaging-guide/chroots.rst:5
 
25
# c2a9180a73924eb0b652907be2585c5d
 
26
msgid "If you are running one version of Ubuntu but working on packages for another versions you can create the environment of the other version with a ``chroot``."
 
27
msgstr ""
 
28
 
 
29
#: ../ubuntu-packaging-guide/chroots.rst:9
 
30
# 6634399d63e843f4b72b0f770fafd076
 
31
msgid "A ``chroot`` allows you to have a full filesystem from another distribution which you can work in quite normally.  It avoids the overhead of running a full virtual machine."
 
32
msgstr ""
 
33
 
 
34
#: ../ubuntu-packaging-guide/chroots.rst:14
 
35
# feb922fa269d4d50913b3692dea2800f
 
36
msgid "Creating a Chroot"
 
37
msgstr ""
 
38
 
 
39
#: ../ubuntu-packaging-guide/chroots.rst:16
 
40
# 84f92237b55541a2b463749f2521ca05
 
41
msgid "Use the command ``debootstrap`` to create a new chroot::"
 
42
msgstr ""
 
43
 
 
44
#: ../ubuntu-packaging-guide/chroots.rst:20
 
45
# 9208c7dbf8d84b5eb0fd24fab308ff5c
 
46
msgid "This will create a directory ``oneiric`` and install a minimal oneiric system into it."
 
47
msgstr ""
 
48
 
 
49
#: ../ubuntu-packaging-guide/chroots.rst:23
 
50
# 2f24711099184a0ba8f80c20edc1adc2
 
51
msgid "If your version of ``debootstrap`` does not know about oneiric you can try upgrading to the version in ``backports``."
 
52
msgstr ""
 
53
 
 
54
#: ../ubuntu-packaging-guide/chroots.rst:26
 
55
# 0575a501ac4448359c69b30b55550435
 
56
msgid "You can then work inside the chroot::"
 
57
msgstr ""
 
58
 
 
59
#: ../ubuntu-packaging-guide/chroots.rst:30
 
60
# 6b1f042f6de1476db33347866860441c
 
61
msgid "Where you can install or remove any package you wish without affecting your main system."
 
62
msgstr ""
 
63
 
 
64
#: ../ubuntu-packaging-guide/chroots.rst:33
 
65
# 9536d8f2c01e43648648496a446eeb6e
 
66
msgid "You might want to copy your GPG/ssh keys and Bazaar configuration into the chroot so you can access and sign packages directly."
 
67
msgstr ""
 
68
 
 
69
#: ../ubuntu-packaging-guide/chroots.rst:36
 
70
# e6d516f40fee4cc2972525ec9b13615e
 
71
msgid "$ sudo mkdir oneiric/home/<username> $ sudo cp -r ~/.gnupg ~/.ssh ~/.bazaar oneiric/home/<username>"
 
72
msgstr ""
 
73
 
 
74
#: ../ubuntu-packaging-guide/chroots.rst:39
 
75
# ed82e18debb24933ad3b49492b196442
 
76
msgid "To stop apt and other programs complaining about missing locales you can install your relevant language pack::"
 
77
msgstr ""
 
78
 
 
79
#: ../ubuntu-packaging-guide/chroots.rst:44
 
80
# 7d9703bd6d9148daa5980a104d8d13ef
 
81
msgid "If you want to run X programs you will need to bind the /tmp directory into the chroot, from outside the chroot run::"
 
82
msgstr ""
 
83
 
 
84
#: ../ubuntu-packaging-guide/chroots.rst:50
 
85
# 3c056ca4d3b54c53bca74c2cc2025835
 
86
msgid "Some programs may need you to bind /dev or /proc."
 
87
msgstr ""
 
88
 
 
89
#: ../ubuntu-packaging-guide/chroots.rst:52
 
90
# 7164d56709d64a9e83edc09bf710fce7
 
91
msgid "For more information on chroots see our `Debootstrap Chroot wiki page`_."
 
92
msgstr ""
 
93
 
 
94
#: ../ubuntu-packaging-guide/chroots.rst:55
 
95
# 26aacfbeebe4473f9e1244c3c974b6ff
 
96
msgid "Alternatives"
 
97
msgstr "Alternativen"
 
98
 
 
99
#: ../ubuntu-packaging-guide/chroots.rst:57
 
100
# f085504840904fcb995131456d3036d7
 
101
msgid "SBuild is a system similar to PBuilder for creating an environment to run test package builds in.  It closer matches that used by Launchpad for building packages but takes some more setup compared to PBuilder.  See `the Security Team Build Environment wiki page`_ for a full explanation."
 
102
msgstr ""
 
103
 
 
104
#: ../ubuntu-packaging-guide/chroots.rst:59
 
105
# 9fa7e581df034a33a4503a7a41b37017
 
106
msgid "Full virtual machines can be useful for packaging and testing programmes.  TestDrive is a program to automate syncing and running daily ISO images, see `the TestDrive wiki page`_ for more information."
 
107
msgstr ""
 
108
 
 
109
#: ../ubuntu-packaging-guide/chroots.rst:63
 
110
# 112cec755e0d4ac5a0e1e20df59807f8
 
111
msgid "You can also set up pbuilder to pause when it comes across a build failure.  Copy C10shell from /usr/share/doc/pbuilder/examples into a directory and use the --hookdir= argument to point to it."
 
112
msgstr ""
 
113
 
 
114
#: ../ubuntu-packaging-guide/chroots.rst:67
 
115
# 1367b95423434ae9b8d2687c8c100771
 
116
msgid "Amazon's `EC2 cloud computers`_ allow you to hire a computer paying a few US cents per hour, you can set up Ubuntu machines of any supported version and package on those.  This is useful when you want to compile many packages at the same time or to overcome bandwidth restraints."
 
117
msgstr ""
 
118
 
 
119
#: ../ubuntu-packaging-guide/communication.rst:3
 
120
# 607298b09c134c8497b9dd820a18456f
 
121
msgid "Communication in Ubuntu Development"
 
122
msgstr ""
 
123
 
 
124
#: ../ubuntu-packaging-guide/communication.rst:5
 
125
# 02e7427cdd1a4e48b9f0dfa256715944
 
126
msgid "In a project where thousands of lines of code are changed, lots of decisions are made and hundreds of people interact every day, it is important to communicate effectively."
 
127
msgstr ""
 
128
 
 
129
#: ../ubuntu-packaging-guide/communication.rst:10
 
130
# 8dff4e5170734f698bbb51c6807b7dcf
 
131
msgid "Mailing lists"
 
132
msgstr "Mailinglisten"
 
133
 
 
134
#: ../ubuntu-packaging-guide/communication.rst:12
 
135
# 7bdd3f8f13b34307a06a05656c94760b
 
136
msgid "Mailing lists are a very important tool if you want to communicate ideas to a broader team and make sure that you reach everybody, even across timezones."
 
137
msgstr ""
 
138
 
 
139
#: ../ubuntu-packaging-guide/communication.rst:16
 
140
# ec54a70a969342e58399443508c91e33
 
141
msgid "In terms of development, these are the most important ones:"
 
142
msgstr ""
 
143
 
 
144
#: ../ubuntu-packaging-guide/communication.rst:18
 
145
# c583284d21a5478e973448d96344c720
 
146
msgid "https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-announce (announce-only, the most important development announcements go here)"
 
147
msgstr ""
 
148
 
 
149
#: ../ubuntu-packaging-guide/communication.rst:20
 
150
# 187731122f5045a09748d70e00456b4c
 
151
msgid "https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel (general Ubuntu development discussion)"
 
152
msgstr ""
 
153
 
 
154
#: ../ubuntu-packaging-guide/communication.rst:22
 
155
# 38f45dd72cfd4f64bc0e64af440c45c2
 
156
msgid "https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu (MOTU Team discussion, get help with packaging)"
 
157
msgstr ""
 
158
 
 
159
#: ../ubuntu-packaging-guide/communication.rst:27
 
160
# bcf8bf4cfd7d44e79964fc504e3dcbcf
 
161
msgid "IRC Channels"
 
162
msgstr "IRC-Kanäle"
 
163
 
 
164
#: ../ubuntu-packaging-guide/communication.rst:29
 
165
# 1640a1e73721469dbb00fb44535008f2
 
166
msgid "For real-time discussions, please connect to irc.freenode.net and join one or any of these channels:"
 
167
msgstr ""
 
168
 
 
169
#: ../ubuntu-packaging-guide/communication.rst:32
 
170
# 54b7cb96eed649698da71070bdcec51b
 
171
msgid "#ubuntu-devel (for general development discussion)"
 
172
msgstr ""
 
173
 
 
174
#: ../ubuntu-packaging-guide/communication.rst:33
 
175
# 9d87672ae32043ec8c0a9f2bca0b7dd4
 
176
msgid "#ubuntu-motu (for MOTU team discussion and generally getting help)"
 
177
msgstr ""
 
178
 
 
179
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:2
 
180
# 89800d29a2d548768207920d6fb6d7b3
 
181
msgid "Basic Overview of the ``debian/`` Directory"
 
182
msgstr ""
 
183
 
 
184
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:4
 
185
# 7d1e060c05644770b508535c347508a1
 
186
msgid "This article will briefly explain the different files important to the packaging of Ubuntu packages which are contained in the ``debian/`` directory. The most important of them are ``changelog``, ``control``, ``copyright``, and ``rules``. These are required for all packages. A number of additional files in the ``debian/`` may be used in order to customize and configure the behavior of the package. Some of these files are discussed in this article, but this is not meant to be a complete list."
 
187
msgstr ""
 
188
 
 
189
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:13
 
190
# 3021836f0c23449690b60757ce61172a
 
191
msgid "The changelog"
 
192
msgstr ""
 
193
 
 
194
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:15
 
195
# 31bd62153b0d408bb34738128c941836
 
196
msgid "This file is, as its name implies, a listing of the changes made in each version. It has a specific format that gives the package name, version, distribution, changes, and who made the changes at a given time. If you have a GPG key (see: :doc:`Getting set up<./getting-set-up/>`), make sure to use the same name and email address in ``changelog`` as you have in your key. The following is a template ``changelog``::"
 
197
msgstr ""
 
198
 
 
199
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:31
 
200
# 615d3cedb82c4d399c625d3986b6c75e
 
201
msgid "The format (especially of the date) is important. The date should be in :rfc:`5322` format, which can be obtained by using the command ``date -R``. For convenience, the command ``dch`` may be used to edit changelog. It will update the date automatically."
 
202
msgstr ""
 
203
 
 
204
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:36
 
205
# 3d1b93961c0a46a4b77382e11822dd08
 
206
msgid "Minor bullet points are indicated by a dash \"-\", while major points use an asterisk \"*\"."
 
207
msgstr ""
 
208
 
 
209
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:39
 
210
# 3c8e29b2b199417083f23153de4c94c4
 
211
msgid "If you are packaging from scratch, ``dch --create`` (``dch`` is in the ``devscripts`` package) will create a standard ``debian/changelog`` for you."
 
212
msgstr ""
 
213
 
 
214
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:43
 
215
# 0f6505553bb0491d9f0247c37f87cf9a
 
216
msgid "Here is a sample ``changelog`` file for hello::"
 
217
msgstr ""
 
218
 
 
219
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:52
 
220
# 3f1fd2f3b89a4e36aff77a170ba8c656
 
221
msgid "Notice that the version has a ``-0ubuntu1`` appended to it, this is the distro revision, used so that the packaging can be updated (to fix bugs for example) with new uploads within the same source release version."
 
222
msgstr ""
 
223
 
 
224
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:56
 
225
# 8500e33e8dae496d9bab351d1f1f0a0d
 
226
msgid "Ubuntu and Debian have slightly different package versioning schemes to avoid conflicting packages with the same source version. If a Debian package has been changed in Ubuntu, it has ``ubuntuX`` (where ``X`` is the Ubuntu revision number) appended to the end of the Debian version. So if the Debian hello ``2.6-1`` package was changed by Ubuntu, the version string would be ``2.6-1ubuntu1``. If a package for the application does not exist in Debian, then the Debian revision is ``0`` (e.g. ``2.6-0ubuntu1``)."
 
227
msgstr ""
 
228
 
 
229
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:64
 
230
# 8a1028b5e61244339a21d8fdf991cd73
 
231
msgid "For further information, see the `changelog section (Section 4.4) <http://www.debian.org/doc/debian-policy/ch-source.html#s-dpkgchangelog>`_ of the Debian Policy Manual."
 
232
msgstr ""
 
233
 
 
234
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:70
 
235
# 552ad1faf3814524bd838abbb1c6dfde
 
236
msgid "The control file"
 
237
msgstr ""
 
238
 
 
239
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:72
 
240
# 0a7a9cd926a5482090b334ae4eb5fa76
 
241
msgid "The ``control`` file contains the information that the package manager (such as ``apt-get``, ``synaptic``, and ``adept``) uses, build-time dependencies, maintainer information, and much more."
 
242
msgstr ""
 
243
 
 
244
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:76
 
245
# 2c2caa9a9fef495dad29ffa07ab52d4a
 
246
msgid "For the Ubuntu ``hello`` package, the ``control`` file looks something like::"
 
247
msgstr ""
 
248
 
 
249
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:99
 
250
# bd3ddeb9c3fd445ba6df546d419ec391
 
251
msgid "The first paragraph describes the source package including the list of packages required to build the package from source in the ``Build-Depends`` field. It also contains some meta-information such as the maintainer's name, the version of Debian Policy that the package complies with, the location of the packaging version control repository, and the upstream home page."
 
252
msgstr ""
 
253
 
 
254
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:106
 
255
# 93b0eec4843d4f819ba16118070fbbdf
 
256
msgid "Note that in Ubuntu, we set the ``Maintainer`` field to a general address because anyone can change any package (this differs from Debian where changing packages is usually restricted to an individual or a team). Packages in Ubuntu should generally have the ``Maintainer`` field set to ``Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>``. If the Maintainer field is modified, the old value should be saved in the ``XSBC-Original-Maintainer`` field. This can be done automatically with the  ``update-maintainer`` script available in the ``ubuntu-dev-tools`` package. For further information, see the `Debian Maintainer Field spec <https://wiki.ubuntu.com/DebianMaintainerField>`_ on the Ubuntu wiki."
 
257
msgstr ""
 
258
 
 
259
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:118
 
260
# 00ca42e43f314557af47bf373ae50fe6
 
261
msgid "Each additional paragraph describes a binary package to be built."
 
262
msgstr ""
 
263
 
 
264
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:120
 
265
# a48f51f0912a4312a904ab5f40ced13d
 
266
msgid "For further information, see the `control file section (Chapter 5) <http://www.debian.org/doc/debian-policy/ch-controlfields.html>`_ of the Debian Policy Manual."
 
267
msgstr ""
 
268
 
 
269
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:126
 
270
# 870ce0ac216c4fd8a10aa642d5a8ee12
 
271
msgid "The copyright file"
 
272
msgstr "Die Copyright-Datei"
 
273
 
 
274
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:128
 
275
# a8f880bcb0174968b217b52dfc303a34
 
276
msgid "This file gives the copyright information for both the upstream source and the packaging. Ubuntu and `Debian Policy (Section 12.5) <http://www.debian.org/doc/debian-policy/ch-docs.html#s-copyrightfile>`_ require that each package installs a verbatim copy of its copyright and license information to ``/usr/share/doc/$(package_name)/copyright``."
 
277
msgstr ""
 
278
 
 
279
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:134
 
280
# 73c9109a50ce4e2c8d6ce22c64df57dd
 
281
msgid "Generally, copyright information is found in the ``COPYING`` file in the program's source directory. This file should include such information as the names of the author and the packager, the URL from which the source came, a Copyright line with the year and copyright holder, and the text of the copyright itself. An example template would be::"
 
282
msgstr ""
 
283
 
 
284
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:176
 
285
# 7a2e84d5a9304d2fb327fc2d39a75a45
 
286
msgid "This example follows the `Machine-readable debian/copyright <http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/>`_ format. You are encouraged to use this format as well."
 
287
msgstr ""
 
288
 
 
289
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:182
 
290
# 7c0fe27bc8fa4cb192be460e57dde489
 
291
msgid "The rules file"
 
292
msgstr ""
 
293
 
 
294
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:184
 
295
# 7c9e2edb563c4fe894feeae0b17007c7
 
296
msgid "The last file we need to look at is ``rules``. This does all the work for creating our package. It is a Makefile with targets to compile and install the application, then create the ``.deb`` file from the installed files. It also has a target to clean up all the build files so you end up with just a source package again."
 
297
msgstr ""
 
298
 
 
299
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:192
 
300
# 299ff74602f94f758774713d29895440
 
301
msgid "Here is a simplified version of the rules file created by ``dh_make`` (which can be found in the ``dh-make`` package)::"
 
302
msgstr ""
 
303
 
 
304
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:204
 
305
# 94a7b044a9824b13b733ffe6b5ee57b5
 
306
msgid "Let us go through this file in some detail. What this does is pass every build target that ``debian/rules`` is called with as an argument to ``/usr/bin/dh``, which itself will call all the necessary ``dh_*`` commands."
 
307
msgstr ""
 
308
 
 
309
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:208
 
310
# de59039f8bd245d7971edf916d93a839
 
311
msgid "``dh`` runs a sequence of debhelper commands. The supported sequences correspond to the targets of a ``debian/rules`` file: \"build\", \"clean\", \"install\", \"binary-arch\", \"binary-indep\", and \"binary\". In order to see what commands are run in each target, run::"
 
312
msgstr ""
 
313
 
 
314
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:217
 
315
# 7d39368e13994bedac97c6e43018bbb2
 
316
msgid "Commands in the binary-indep sequence are passed the \"-i\" option to ensure they only work on binary independent packages, and commands in the binary-arch sequences are passed the \"-a\" option to ensure they only work on architecture dependent packages."
 
317
msgstr ""
 
318
 
 
319
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:222
 
320
# 9aeaa267814c4f199174eb45833f25c2
 
321
msgid "Each debhelper command will record when it's successfully run in ``debian/package.debhelper.log``. (Which dh_clean deletes.) So dh can tell which commands have already been run, for which packages, and skip running those commands again."
 
322
msgstr ""
 
323
 
 
324
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:227
 
325
# efa044d38ff14eebb1b18fab6a0d594d
 
326
msgid "Each time ``dh`` is run, it examines the log, and finds the last logged command that is in the specified sequence. It then continues with the next command in the sequence. The ``--until``, ``--before``, ``--after``, and ``--remaining`` options can override this behavior."
 
327
msgstr ""
 
328
 
 
329
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:232
 
330
# d01ecd38632646f4b2bbaf1c8a08477d
 
331
msgid "If ``debian/rules`` contains a target with a name like ``override_dh_command``, then when it gets to that command in the sequence, ``dh`` will run that target from the rules file, rather than running the actual command. The override target can then run the command with additional options, or run entirely different commands instead. (Note that to use this feature, you should Build-Depend on debhelper 7.0.50 or above.)"
 
332
msgstr ""
 
333
 
 
334
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:241
 
335
# 3f4e235a68754876866310c506863f75
 
336
msgid "Have a look at ``/usr/share/doc/debhelper/examples/`` and ``man dh`` for more examples. Also see `the rules section (Section 4.9) <http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules>`_ of the Debian Policy Manual."
 
337
msgstr ""
 
338
 
 
339
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:247
 
340
# 909152843c7c41ffa14664f13cb0e23f
 
341
msgid "Additional Files"
 
342
msgstr "Zusätzliche Dateien"
 
343
 
 
344
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:250
 
345
# f6ef0e8b2e5149f59850c2425711b97f
 
346
msgid "The install file"
 
347
msgstr ""
 
348
 
 
349
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:252
 
350
# 526e3303d4d44e27a3ceefc4764a54c9
 
351
msgid "The ``install`` file is used by ``dh_install`` to install files into the binary package. It has two standard use cases:"
 
352
msgstr ""
 
353
 
 
354
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:255
 
355
# 8f1de6bb1994494b807ec69b3af9e2ff
 
356
msgid "To install files into your package that are not handled by the upstream build system."
 
357
msgstr ""
 
358
 
 
359
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:256
 
360
# ecb71f5a256c4c0ab18dd78194054e68
 
361
msgid "Splitting a single large source package into multiple binary packages."
 
362
msgstr ""
 
363
 
 
364
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:258
 
365
# b540bec3330242b48b8b6c6f34cfacf6
 
366
msgid "In the first case, the ``install`` file should have one line per file installed, specifying both the the file and the installation directory. For example, the following ``install`` file would install the script ``foo`` in the source package's root directory to ``usr/bin`` and a desktop file in the ``debian`` directory to ``usr/share/applications``::"
 
367
msgstr ""
 
368
 
 
369
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:269
 
370
# cdd19fc100104c8ea9f0588252dfa8cb
 
371
msgid "When a source package is producing multiple binary packages ``dh`` will install the files into ``debian/tmp`` rather than directly into ``debian/<package>``. Files installed into ``debian/tmp`` can then be moved into separate binary packages using multiple ``$package_name.install`` files. This is often done to split large amounts of architecture independent data out of architecture dependent packages and into ``Architecture: all`` packages. In this case, only the name of the files (or directories) to be installed are needed without the installation directory. For example, ``foo.install`` containing only the architecture dependent files might look like::"
 
372
msgstr ""
 
373
 
 
374
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:282
 
375
# 490646dff688435088bd93ff30de6a8a
 
376
msgid "While ``foo-common.install`` containing only the architecture independent file might look like::"
 
377
msgstr ""
 
378
 
 
379
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:290
 
380
# ad5ae2bd9270403fb9916024351646c9
 
381
msgid "This would create two binary packages, ``foo`` and ``foo-common``. Both would require their own paragraph in ``debian/control``."
 
382
msgstr ""
 
383
 
 
384
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:293
 
385
# ed10a77119a6408b8a5f7bfebc53500e
 
386
msgid "See ``man dh_install`` and the `install file section (Section 5.11) <http://www.debian.org/doc/manuals/maint-guide/dother.en.html#install>`_  of the Debian New Maintainers' Guide for additional details."
 
387
msgstr ""
 
388
 
 
389
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:298
 
390
# 2bce7b3f508c457eb566c77de679acd7
 
391
msgid "The watch file"
 
392
msgstr ""
 
393
 
 
394
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:300
 
395
# d22412241e7349bfa19c0ca46d59fa93
 
396
msgid "The ``debian/watch`` file allows us to check automatically for new upstream versions using the tool ``uscan`` found in the ``devscripts`` package. The first line of the watch file must be the format version (3, at the time of this writing), while the following lines contain any URLs to parse. For example::"
 
397
msgstr ""
 
398
 
 
399
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:309
 
400
# 3fd98ffeb19c4a2290a8fec31eed399c
 
401
msgid "Running ``uscan`` in the root source directory will now compare the upstream version number in ``debian/changelog`` with the latest available upstream version. If a new upstream version is found, it will be automatically downloaded. For example::"
 
402
msgstr ""
 
403
 
 
404
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:322
 
405
# a4a1f7731ea6433ca39eecbd57af3120
 
406
msgid "For further information, see ``man uscan`` and the `watch file section (Section 4.11) <http://www.debian.org/doc/debian-policy/ch-source.html#s-debianwatch>`_ of the Debian Policy Manual."
 
407
msgstr ""
 
408
 
 
409
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:326
 
410
# 703b5d062b5c41e5a60cf8801b69b893
 
411
msgid "For a list of packages where the ``watch`` file reports they are not in sync with upstream see `Ubuntu External Health Status <http://qa.ubuntuwire.org/uehs/no_updated.html>`_."
 
412
msgstr ""
 
413
 
 
414
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:331
 
415
# faa634aa8992448d86ad70c8669ceee1
 
416
msgid "The source/format file"
 
417
msgstr "Die Datei source/format"
 
418
 
 
419
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:333
 
420
# a348a6a009424e0fa49a866e129573a2
 
421
msgid "This file indicates the format of the source package. It should contain a single line indicating the desired format:"
 
422
msgstr ""
 
423
 
 
424
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:336
 
425
# 3d75a73a1fcd4342ab1fe865edf49644
 
426
msgid "``3.0 (native)`` for Debian native packages (no upstream version)"
 
427
msgstr ""
 
428
 
 
429
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:338
 
430
# fd11f4ebad4d45bcbac715f3d8d4cc92
 
431
msgid "``3.0 (quilt)`` for packages with a separate upstream tarball"
 
432
msgstr ""
 
433
 
 
434
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:340
 
435
# 1293ceef3ce04d30b640542aec2b476c
 
436
msgid "``1.0`` for packages wishing to explicitly declare the default format"
 
437
msgstr ""
 
438
 
 
439
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:342
 
440
# 4e5d823b97ab4704aba10fb129ed0106
 
441
msgid "Currently, the package source format will default to 1.0 if this file does not exist. You can make this explicit in the source/format file. If you choose not to use this file to define the source format, Lintian will warn about the missing file. This warning is informational only and may be safely ignored."
 
442
msgstr ""
 
443
 
 
444
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:347
 
445
# d7047d3e7c22489baedfec02eea21f25
 
446
msgid "You are encouraged to use the newer 3.0 source format. It provides a number of new features:"
 
447
msgstr ""
 
448
 
 
449
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:350
 
450
# bc4e7971f98848ae9f1fb3fd8ee97ace
 
451
msgid "Support for additional compression formats: bzip2, lzma and xz"
 
452
msgstr ""
 
453
 
 
454
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:352
 
455
# ddca8f575fac40e09adebd6d128ff676
 
456
msgid "Support for multiple upstream tarballs"
 
457
msgstr ""
 
458
 
 
459
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:354
 
460
# aded08ffbdb7449d88dd6010fd97766f
 
461
msgid "Not necessary to repack the upstream tarball to strip the debian directory"
 
462
msgstr ""
 
463
 
 
464
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:356
 
465
# b0f4d5d0c68e47de9ed8836f20a0e8be
 
466
msgid "Debian-specific changes are no longer stored in a single .diff.gz but in multiple patches compatible with quilt under ``debian/patches/``"
 
467
msgstr ""
 
468
 
 
469
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:358
 
470
# 39b0c8ccca7e48b7af1af09d580e9f58
 
471
msgid "http://wiki.debian.org/Projects/DebSrc3.0 summarizes additional information concerning the switch to the 3.0 source package formats."
 
472
msgstr ""
 
473
 
 
474
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:361
 
475
# 9d2f31ea080c47109ce2cdae3e87f14b
 
476
msgid "See ``man dpkg-source`` and the `source/format section (Section 5.21) <http://www.debian.org/doc/manuals/maint-guide/dother.en.html#sourcef>`_  of the Debian New Maintainers' Guide for additional details."
 
477
msgstr ""
 
478
 
 
479
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:366
 
480
# 62fbf7d7bdcb49e782e64f2623b6f273
 
481
msgid "Additional Resources"
 
482
msgstr ""
 
483
 
 
484
#: ../ubuntu-packaging-guide/debian-dir-overview.rst:368
 
485
# 039aa564015a48bda02c00b97d1ae2f3
 
486
msgid "In addition to the links to the Debian Policy Manual in each section above, the Debian New Maintainers' Guide has more detailed descriptions of each file. `Chapter 4, \"Required files under the debian directory\" <http://www.debian.org/doc/maint-guide/dreq.en.html>`_ further discusses the control, changelog, copyright and rules files. `Chapter 5, \"Other files under the debian directory\" <http://www.debian.org/doc/maint-guide/dother.en.html>`_ discusses additional files that may be used."
 
487
msgstr ""
 
488
 
 
489
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:3
 
490
# 4be28eeaaecb4fffa9bcfb62c8828b58
 
491
msgid "Fixing a bug in Ubuntu"
 
492
msgstr ""
 
493
 
 
494
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:6
 
495
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:9
 
496
# 5973d64df73b4f8593c75fcac478a00e
 
497
# e0956744ffbc47c08a5bb87b139bb113
 
498
msgid "Introduction"
 
499
msgstr ""
 
500
 
 
501
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:8
 
502
# d4425948fa1e4b4fa3552113dc4dd00d
 
503
msgid "If you followed the instructions to :doc:`get set up with Ubuntu Development<./getting-set-up>`, you should be all set and ready to go."
 
504
msgstr ""
 
505
 
 
506
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:11
 
507
# 02b036432f59412c82aed419f79fdb8c
 
508
msgid "..image:: |IMG|fixing-a-bug.png"
 
509
msgstr ""
 
510
 
 
511
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:13
 
512
# 565e30b78a5c41b8990814dc8aaf9193
 
513
msgid "As you can see in the image above, there is no surprises in the process of fixing bugs in Ubuntu: you found a problem, you get the code, work on the fix, test it, push your changes to Launchpad and ask for it to be reviewed and merged. In this guide we will go through all the necessary steps one by one."
 
514
msgstr ""
 
515
 
 
516
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:20
 
517
# 65a1fad6a3d04bbf8fc8932a8dbf6061
 
518
msgid "Finding the problem"
 
519
msgstr ""
 
520
 
 
521
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:22
 
522
# e8e70d62917543ed8b9b8f081ba09518
 
523
msgid "There are a lot of different ways to find things to work on. It might be a bug report you are encountering yourself (which gives you a good opportunity to test the fix), or a problem you noted elsewhere, maybe in a bug report."
 
524
msgstr ""
 
525
 
 
526
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:26
 
527
# 1c114b6ed4044179acbfa298d17e8687
 
528
msgid "`Harvest <http://harvest.ubuntu.com/>`_ is where we keep track of various TODO lists regarding Ubuntu development. It lists bugs that were fixed upstream or in Debian already, lists small bugs (we call them 'bitesize'), and so on. Check it out and find your first bug to work on."
 
529
msgstr ""
 
530
 
 
531
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:35
 
532
# b454c63458594749aa09f9e587ed24a7
 
533
msgid "Figuring out what to fix"
 
534
msgstr ""
 
535
 
 
536
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:37
 
537
# e80c8c6721fe41ddb9d3976bea810f18
 
538
msgid "If you don't know the source package containing the code that has the problem, but you do know the path to the affected program on your system, you can discover the source package that you'll need to work on."
 
539
msgstr ""
 
540
 
 
541
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:41
 
542
# 4726f96b219c4bfeb111d18b723e771e
 
543
msgid "Let's say you've found a bug in Tomboy, a note taking desktop application. The Tomboy application can be started by running ``/usr/bin/tomboy`` on the command line.  To find the binary package containing this application, use this command::"
 
544
msgstr ""
 
545
 
 
546
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:48
 
547
# dbf4f211a56f4f79b15bf42c6a835050
 
548
msgid "This would print out::"
 
549
msgstr ""
 
550
 
 
551
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:52
 
552
# 682b18dbdfe142d2affc3e04e843783f
 
553
msgid "Note that the part preceding the colon is the binary package name.  It's often the case that the source package and binary package will have different names. This is most common when a single source package is used to build multiple different binary packages.  To find the source package for a particular binary package, type::"
 
554
msgstr ""
 
555
 
 
556
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:64
 
557
# b7321dfe18ed434689e1617b5ad1b575
 
558
msgid "Getting the code"
 
559
msgstr ""
 
560
 
 
561
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:66
 
562
# a88040229e1343e3a881389f2388861f
 
563
msgid "Once you know the source package to work on, you will want to get a copy of the code on your system, so that you can debug it.  In Ubuntu Distributed Development this is done by :ref:`*branching* the source package <branching>` branch corresponding to the source package.  Launchpad maintains source package branches for all the packages in Ubuntu."
 
564
msgstr ""
 
565
 
 
566
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:72
 
567
# 92bb0cef4a5a4924afaff6a5bd97394f
 
568
msgid "Once you've got a local branch of the source package, you can investigate the bug, create a fix, and upload your proposed fix to Launchpad, in the form of a Bazaar branch.  When you are happy with your fix, you can :ref:`submit a *merge proposal* <merge-proposal>`, which asks other Ubuntu developers to review and approve your change.  If they agree with your changes, an Ubuntu developer will upload the new version of the package to Ubuntu so that everyone gets the benefit of your excellent fix - and you get a little bit of credit.  You're now on your way to becoming an Ubuntu developer!"
 
569
msgstr ""
 
570
 
 
571
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:81
 
572
# 18ebcba0d9804cdcbd3d7b679124afba
 
573
msgid "We'll describe specifics on how to branch the code, push your fix, and request a review in the following sections."
 
574
msgstr ""
 
575
 
 
576
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:86
 
577
# e8950446f9d643f9a88454cb13406165
 
578
msgid "Work on a fix"
 
579
msgstr ""
 
580
 
 
581
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:88
 
582
# 0b597e2df21d4ffb9082682062b35f5b
 
583
msgid "There are entire books written about finding bugs, fixing them, testing them, etc. If you are completely new to programming, try to fix easy bugs such as obvious typos first. Try to keep changes as minimal as possible and document your change and assumptions clearly."
 
584
msgstr ""
 
585
 
 
586
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:93
 
587
# 1cad1f33d073486abd5bbd7950da19e1
 
588
msgid "Before working on a fix yourself, make sure to investigate if nobody else has fixed it already or is currently working on a fix. Good sources to check are:"
 
589
msgstr ""
 
590
 
 
591
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:96
 
592
# 9cd02b0b46194cb0a6e1c024c73d67bb
 
593
msgid "Upstream (and Debian) bug tracker (open and closed bugs),"
 
594
msgstr ""
 
595
 
 
596
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:97
 
597
# fe3658bb50d6453d839bae201ab3e0d3
 
598
msgid "Upstream revision history (or newer release) might have fixed the problem,"
 
599
msgstr ""
 
600
 
 
601
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:98
 
602
# dc982aac83c44804b15e226836d039fd
 
603
msgid "bugs or package uploads of Debian or other distributions."
 
604
msgstr ""
 
605
 
 
606
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:103
 
607
# 3d5234f7f891414eac096bc475484247
 
608
msgid "You now want to create a patch which includes the fix.  The command ``edit-patch`` is a simple way to add a patch to a package. Run::"
 
609
msgstr ""
 
610
 
 
611
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:108
 
612
# e09e4812312c4fdc854bd3814b092ebb
 
613
msgid "This will copy the packaging to a temporary directory.  You can now edit files with a text editor or apply patches from upstream, for example::"
 
614
msgstr ""
 
615
 
 
616
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:113
 
617
# 8e00895b4bf64119869e26ce978cb55b
 
618
msgid "After editing the file type ``exit`` or press ``control-d`` to quit the temporary shell.  The new patch will have been added into ``debian/patches``."
 
619
msgstr ""
 
620
 
 
621
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:118
 
622
# a5e56006a7db42a2b5b976f351e1a93a
 
623
msgid "Testing the fix"
 
624
msgstr ""
 
625
 
 
626
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:120
 
627
# 29f45bb94cae448f9ff6bd53897237ab
 
628
msgid "To build a test package with your changes, run these commands::"
 
629
msgstr ""
 
630
 
 
631
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:125
 
632
# 6fd80448fb9b40668a73b68d9aa82ee9
 
633
msgid "This will create a source package from the branch contents (``-us -uc`` will just omit the step to sign the source package) and ``pbuilder-dist`` will build the package from source for whatever ``release`` you choose."
 
634
msgstr ""
 
635
 
 
636
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:129
 
637
# 7064dcf9f1ae4f49bacc8b5ebb79a4fb
 
638
msgid "Once the build succeeds, install the package from ``~/pbuilder/<release>_result/`` (using ``sudo dpkg -i <package>_<version>.deb``).  Then test to see if the bug is fixed."
 
639
msgstr ""
 
640
 
 
641
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:136
 
642
# a498c34018d44bc083c421d3836bc292
 
643
msgid "Documenting the fix"
 
644
msgstr ""
 
645
 
 
646
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:138
 
647
# 284aad9da256489bb9541ef9c9ed8050
 
648
msgid "It is very important to document your change sufficiently so developers who look at the code in the future won't have to guess what your reasoning was and what your assumptions were. Every Debian and Ubuntu package source includes ``debian/changelog``, where changes of each uploaded package are tracked."
 
649
msgstr ""
 
650
 
 
651
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:143
 
652
# c560a925fc79452f85c60a462422febd
 
653
msgid "The easiest way to update this is to run::"
 
654
msgstr ""
 
655
 
 
656
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:147
 
657
# fc6305e6f22b4bbe8f7ae46d9d2d36fe
 
658
msgid "This will add a boilerplate changelog entry for you and launch an editor where you can fill in the blanks. An example of this could be::"
 
659
msgstr ""
 
660
 
 
661
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:156
 
662
# b4fcf5a54df94852b901b81d99177166
 
663
msgid "``dch`` should fill out the first and last line of such a changelog entry for you already. Line 1 consists of the source package name, the version number, which Ubuntu release it is uploaded to, the urgency (which almost always is 'low'). The last line always contains the name, email address and timestamp (in :rfc:`5322` format) of the change."
 
664
msgstr ""
 
665
 
 
666
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:162
 
667
# 245b3f4735b2450db24ddca21be8e504
 
668
msgid "With that out of the way, let's focus on the actual changelog entry itself: it is very important to document:"
 
669
msgstr ""
 
670
 
 
671
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:165
 
672
# 43f30ecd000741b2849656bfa9c6ae55
 
673
msgid "where the change was done"
 
674
msgstr ""
 
675
 
 
676
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:166
 
677
# 6aa10c8f84ff4278888e5edc11cfdf66
 
678
msgid "what was changed"
 
679
msgstr ""
 
680
 
 
681
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:167
 
682
# a48a34986f8248b891f819d4abcff85c
 
683
msgid "where the discussion of the change happened"
 
684
msgstr ""
 
685
 
 
686
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:169
 
687
# b5105651513148e58182645ef1350d2b
 
688
msgid "In our (very sparse) example the last point is covered by ``(LP: #123456)`` which refers to Launchpad bug 123456. Bug reports or mailing list threads or specifications are usually good information to provide as a rationale for a change. As a bonus, if you use the ``LP: #<number>`` notation for Launchpad bugs, the bug will be automatically closed when the package is uploaded to Ubuntu."
 
689
msgstr ""
 
690
 
 
691
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:178
 
692
# 7e3ca41954e44f68bcbe1755d6a53f74
 
693
msgid "Committing the fix"
 
694
msgstr ""
 
695
 
 
696
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:180
 
697
# 8931133984c348d5991fb0d11db638e0
 
698
msgid "With the changelog entry written and saved, you can just run::"
 
699
msgstr ""
 
700
 
 
701
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:184
 
702
# 694988e85f33437b9af1ab2c8a9192af
 
703
msgid "and the change will be committed (locally) with your changelog entry as a commit message."
 
704
msgstr ""
 
705
 
 
706
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:187
 
707
# c7c33ddc56cd406cb79afea806a24ab7
 
708
msgid "To push it to Launchpad, as the remote branch name, you need to stick to the following nomenclature::"
 
709
msgstr ""
 
710
 
 
711
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:192
 
712
# d43eb74f6725404a8e0c12ee36207d3d
 
713
msgid "This could for example be::"
 
714
msgstr ""
 
715
 
 
716
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:196
 
717
# 9c95cd25baca4246bf40816093dc7f7a
 
718
msgid "So if you just run::"
 
719
msgstr ""
 
720
 
 
721
#: ../ubuntu-packaging-guide/fixing-a-bug.rst:201
 
722
# 5aa8ae3e79484b43bf7f43d93010513b
 
723
msgid "you should be all set. The push command should push it to Launchpad and the second command will open the Launchpad page of the remote branch in your browser. There find the \"(+) Propose for merging\" link, click it to get the change reviewed by somebody and included in Ubuntu."
 
724
msgstr ""
 
725
 
 
726
#: ../ubuntu-packaging-guide/getting-set-up.rst:3
 
727
# 83f85e65560046f4b62f45e17b49a17a
 
728
msgid "Getting Set Up"
 
729
msgstr ""
 
730
 
 
731
#: ../ubuntu-packaging-guide/getting-set-up.rst:5
 
732
# a66b7a19ac434a5a909505514b2926ca
 
733
msgid "There are a number of things you need to do to get started developing for Ubuntu. This article is designed to get your computer set up so that you can start working with packages, and upload your packages to Ubuntu's hosting platform, Launchpad. Here's what we'll cover:"
 
734
msgstr ""
 
735
 
 
736
#: ../ubuntu-packaging-guide/getting-set-up.rst:10
 
737
# 086a9c5ecf2d449b82843d303d58a164
 
738
msgid "Installing packaging-related software. This includes:"
 
739
msgstr ""
 
740
 
 
741
#: ../ubuntu-packaging-guide/getting-set-up.rst:12
 
742
# 400b8ae2a4554bb484ea4554b8fdd56d
 
743
msgid "Ubuntu-specific packaging utilities"
 
744
msgstr ""
 
745
 
 
746
#: ../ubuntu-packaging-guide/getting-set-up.rst:13
 
747
# e062bc0cc3ed4294b33616a98d4a5a4d
 
748
msgid "Encryption software so your work can be verified as being done by you"
 
749
msgstr ""
 
750
 
 
751
#: ../ubuntu-packaging-guide/getting-set-up.rst:14
 
752
# 925d91caef104cb7afa6001f05680be9
 
753
msgid "Additional encryption software so you can securely transfer files"
 
754
msgstr ""
 
755
 
 
756
#: ../ubuntu-packaging-guide/getting-set-up.rst:16
 
757
# b0e396c2d5f4463c96d854f06c659d6a
 
758
msgid "Creating and configuring your account on Launchpad"
 
759
msgstr ""
 
760
 
 
761
#: ../ubuntu-packaging-guide/getting-set-up.rst:17
 
762
# 4d333df7195b41f6b125d660b2a1c300
 
763
msgid "Setting up your development environment to help you do local builds of packages, interact with other developers, and propose your changes on Launchpad."
 
764
msgstr ""
 
765
 
 
766
#: ../ubuntu-packaging-guide/getting-set-up.rst:22
 
767
# 9c69c6eea045429a8a34b6fe96139751
 
768
msgid "It is advisable to do packaging work using the current development version of Ubuntu. Doing so will allow you to test changes in the same environment where those changes will actually be applied and used."
 
769
msgstr ""
 
770
 
 
771
#: ../ubuntu-packaging-guide/getting-set-up.rst:26
 
772
# 7c484a283dd34e39a18323d9beac87f9
 
773
msgid "Don't worry though, the `Ubuntu development release wiki page <https://wiki.ubuntu.com/UsingDevelopmentReleases>`_ shows a variety of ways to safely use the development release."
 
774
msgstr ""
 
775
 
 
776
#: ../ubuntu-packaging-guide/getting-set-up.rst:32
 
777
# b98ebc64ff574a5dbf0bdbd1df7a6c8f
 
778
msgid "Install basic packaging software"
 
779
msgstr ""
 
780
 
 
781
#: ../ubuntu-packaging-guide/getting-set-up.rst:34
 
782
# 808a29c5f38f448eb25ca66e04792f0f
 
783
msgid "There are a number of tools that will make your life as an Ubuntu developer much easier.  You will encounter these tools later in this guide.  To install most of the tools you will need run this command::"
 
784
msgstr ""
 
785
 
 
786
#: ../ubuntu-packaging-guide/getting-set-up.rst:41
 
787
# fac16697cacf4355a80e8f5b88f324a0
 
788
msgid "Note: Since Ubuntu 11.10 \"Oneiric Ocelot\" (or if you have Backports enabled on a currently supported release), the following command will install the above and other tools which are quite common in Ubuntu development::"
 
789
msgstr ""
 
790
 
 
791
#: ../ubuntu-packaging-guide/getting-set-up.rst:49
 
792
# 49e40cea430146ec8c2692a2a6bcd425
 
793
msgid "This command will install the following software:"
 
794
msgstr ""
 
795
 
 
796
#: ../ubuntu-packaging-guide/getting-set-up.rst:51
 
797
# 4e959df03bee4ba6a973d4f2cbffec9d
 
798
msgid "``gnupg`` -- `GNU Privacy Guard`_ contains tools you will need to create a cryptographic key with which you will sign files you want to upload to Launchpad."
 
799
msgstr ""
 
800
 
 
801
#: ../ubuntu-packaging-guide/getting-set-up.rst:54
 
802
# 1c457996b9ff49cfb8720509a4314a6d
 
803
msgid "``pbuilder`` -- a tool to do a reproducible builds of a package in a clean and isolated environment."
 
804
msgstr ""
 
805
 
 
806
#: ../ubuntu-packaging-guide/getting-set-up.rst:56
 
807
# e9c0f3fd07be45c2928f88eb383771ed
 
808
msgid "``ubuntu-dev-tools`` (and ``devscripts``, a direct dependency) -- a collection of tools that make many packaging tasks easier."
 
809
msgstr ""
 
810
 
 
811
#: ../ubuntu-packaging-guide/getting-set-up.rst:58
 
812
# 29db292e4464422eb0e4e6222af33ef5
 
813
msgid "``bzr-builddeb`` (and ``bzr``, a dependency) -- distributed version control with Bazaar, a new way of working with packages for Ubuntu that will make it easy for many developers to collaborate and work on the same code while keeping it trivial to merge each others work."
 
814
msgstr ""
 
815
 
 
816
#: ../ubuntu-packaging-guide/getting-set-up.rst:62
 
817
# 9f5925a4d2014953af7c6070b31a157c
 
818
msgid "``apt-file`` provides an easy way to find the binary package that contains a given file."
 
819
msgstr ""
 
820
 
 
821
#: ../ubuntu-packaging-guide/getting-set-up.rst:64
 
822
# 2110c86d771140b7bc69c2958b28464d
 
823
msgid "``apt-cache`` (part of the ``apt`` package) provides even more information about packages on Ubuntu."
 
824
msgstr ""
 
825
 
 
826
#: ../ubuntu-packaging-guide/getting-set-up.rst:69
 
827
# 0a14b46fec014f97bd7557e4d9258941
 
828
msgid "Create your GPG key"
 
829
msgstr ""
 
830
 
 
831
#: ../ubuntu-packaging-guide/getting-set-up.rst:71
 
832
# 16d8e0261d5a48dfb0ff6aeede808b34
 
833
msgid "GPG stands for `GNU Privacy Guard`_ and it implements the OpenPGP standard which allows you to sign and encrypt messages and files. This is useful for a number of purposes. In our case it is important that you can sign files with your key so they can be identified as something that you worked on. If you upload a source package to Launchpad, it will only accept the package if it can absolutely determine who uploaded the package."
 
834
msgstr ""
 
835
 
 
836
#: ../ubuntu-packaging-guide/getting-set-up.rst:78
 
837
# c25b4a7c3abd47c4adab9c0d4a8f88e4
 
838
msgid "To generate a new GPG key, run::"
 
839
msgstr ""
 
840
 
 
841
#: ../ubuntu-packaging-guide/getting-set-up.rst:82
 
842
# 854929b1b9b74e56a91d8cdac1b6ccbf
 
843
msgid "GPG will first ask you which kind of key you want to generate. Choosing the default (RSA and DSA) is fine. Next it will ask you about the keysize. The default (currently 2048) is fine, but 4096 is more secure. Afterward, it will ask you if you want it to expire the key at some stage. It is safe to say \"0\", which means the key will never expire. The last questions will be about your name and email address. Just pick the ones you are going to use for Ubuntu development here, you can add additional email addresses later on. Adding a comment is not necessary. Then you will have to set a passphrase, choose a safe one (a passphrase is just a password which is allowed to include spaces)."
 
844
msgstr ""
 
845
 
 
846
#: ../ubuntu-packaging-guide/getting-set-up.rst:92
 
847
# c9411759e55c44f7b4ff04ab876850e9
 
848
msgid "Now GPG will create a key for you, which can take a little bit of time; it needs random bytes, so if you give the system some work to do it will be just fine.  Move the cursor around, type some paragraphs of random text, load some web page."
 
849
msgstr ""
 
850
 
 
851
#: ../ubuntu-packaging-guide/getting-set-up.rst:97
 
852
# 671e66dd26de4cc19167919c4cacf056
 
853
msgid "Once this is done, you will get a message similar to this one::"
 
854
msgstr ""
 
855
 
 
856
#: ../ubuntu-packaging-guide/getting-set-up.rst:104
 
857
# fbcfbe47756f426092c3860dad3c1fec
 
858
msgid "In this case ``43CDE61D`` is the *key ID*."
 
859
msgstr ""
 
860
 
 
861
#: ../ubuntu-packaging-guide/getting-set-up.rst:106
 
862
# 5bcf72402a81478a8210db244d7a62f9
 
863
msgid "Next, you need to upload the public part of your key to a keyserver so the world can identify messages and files as yours. To do so, enter::"
 
864
msgstr ""
 
865
 
 
866
#: ../ubuntu-packaging-guide/getting-set-up.rst:111
 
867
# 457a5844d06c44969821537e48cdf762
 
868
msgid "This will send your key to one keyserver, but a network of keyservers will automatically sync the key between themselves. Once this syncing is complete, your signed public key will be ready to verify your contributions around the world."
 
869
msgstr ""
 
870
 
 
871
#: ../ubuntu-packaging-guide/getting-set-up.rst:118
 
872
# bbd6cfc0f36241b9afc8304a4955b10f
 
873
msgid "Create your SSH key"
 
874
msgstr ""
 
875
 
 
876
#: ../ubuntu-packaging-guide/getting-set-up.rst:120
 
877
# cbe44e54369c43ccbaf972bb10995704
 
878
msgid "SSH_ stands for *Secure Shell*, and it is a protocol that allows you to exchange data in a secure way over a network. It is common to use SSH to access and open a shell on another computer, and to use it to securely transfer files. For our purposes, we will mainly be using SSH to securely upload source packages to Launchpad."
 
879
msgstr ""
 
880
 
 
881
#: ../ubuntu-packaging-guide/getting-set-up.rst:126
 
882
# 15220156465043d89c0f0a526b3ae31d
 
883
msgid "To generate an SSH key, enter::"
 
884
msgstr ""
 
885
 
 
886
#: ../ubuntu-packaging-guide/getting-set-up.rst:130
 
887
# 4369607909e54d2eb28b701b18832582
 
888
msgid "The default file name usually makes sense, so you can just leave it as it is. For security purposes, it is highly recommended that you use a passphrase."
 
889
msgstr ""
 
890
 
 
891
#: ../ubuntu-packaging-guide/getting-set-up.rst:135
 
892
# 4709c05c499e4a29bd71f5f1aef90b23
 
893
msgid "Set up pbuilder"
 
894
msgstr ""
 
895
 
 
896
#: ../ubuntu-packaging-guide/getting-set-up.rst:137
 
897
# 74362386ed8340f2b5c45b2bdb9a08da
 
898
msgid "``pbuilder`` allows you to build packages locally on your machine. It serves a couple of purposes:"
 
899
msgstr ""
 
900
 
 
901
#: ../ubuntu-packaging-guide/getting-set-up.rst:140
 
902
# 93aa3aaf40b44beb8662c330374e4e50
 
903
msgid "The build will be done in a minimal and clean environment. This helps you make sure your builds succeed in a reproducible way, but without modifying your local system"
 
904
msgstr ""
 
905
 
 
906
#: ../ubuntu-packaging-guide/getting-set-up.rst:143
 
907
# 5169282689aa4be29c874e27633030f0
 
908
msgid "There is no need to install all necessary *build dependencies* locally"
 
909
msgstr ""
 
910
 
 
911
#: ../ubuntu-packaging-guide/getting-set-up.rst:144
 
912
# c97e8554b32d4e71965f1ff6479f13b6
 
913
msgid "You can set up multiple instances for various Ubuntu and Debian releases"
 
914
msgstr ""
 
915
 
 
916
#: ../ubuntu-packaging-guide/getting-set-up.rst:146
 
917
# 6a4d016f67b64cf3bbe9148306cbb3b8
 
918
msgid "Setting ``pbuilder`` up is very easy, run::"
 
919
msgstr ""
 
920
 
 
921
#: ../ubuntu-packaging-guide/getting-set-up.rst:150
 
922
# fa64536c0c324d27983772c20599b26c
 
923
msgid "where <release> is for example `natty`, `maverick`, `lucid` or in the case of Debian maybe `sid`. This will take a while as it will download all the necessary packages for a \"minimal installation\". These will be cached though."
 
924
msgstr ""
 
925
 
 
926
#: ../ubuntu-packaging-guide/getting-set-up.rst:156
 
927
# 5dc23eff94724361a73a59dea44289e7
 
928
msgid "Get set up to work with Launchpad"
 
929
msgstr ""
 
930
 
 
931
#: ../ubuntu-packaging-guide/getting-set-up.rst:158
 
932
# 95fadc8adf9f4a0e91bac3115a3d0cf1
 
933
msgid "With a basic local configuration in place, your next step will be to configure your system to work with Launchpad. This section will focus on the following topics:"
 
934
msgstr ""
 
935
 
 
936
#: ../ubuntu-packaging-guide/getting-set-up.rst:162
 
937
# b79f07693785483782ed6821e0a0b9ef
 
938
msgid "What Launchpad is and creating a Launchpad account"
 
939
msgstr ""
 
940
 
 
941
#: ../ubuntu-packaging-guide/getting-set-up.rst:163
 
942
# e32ac038b50b4d829f13044673ba85bc
 
943
msgid "Uploading your GPG and SSH keys to Launchpad"
 
944
msgstr ""
 
945
 
 
946
#: ../ubuntu-packaging-guide/getting-set-up.rst:164
 
947
# 50d201d98b2747bf9b900ebd2033d4b6
 
948
msgid "Configuring Bazaar to work with Launchpad"
 
949
msgstr ""
 
950
 
 
951
#: ../ubuntu-packaging-guide/getting-set-up.rst:165
 
952
# 2fcbff75feec47c890b29ae9a0accc58
 
953
msgid "Configuring Bash to work with Bazaar"
 
954
msgstr ""
 
955
 
 
956
#: ../ubuntu-packaging-guide/getting-set-up.rst:169
 
957
# 7d3092a6e1a142afa5c22a094e2be344
 
958
msgid "About Launchpad"
 
959
msgstr ""
 
960
 
 
961
#: ../ubuntu-packaging-guide/getting-set-up.rst:171
 
962
# c032fdb17ad44f8a9972c7b1160387dd
 
963
msgid "Launchpad is the central piece of infrastructure we use in Ubuntu. It not only stores our packages and our code, but also things like translations, bug reports, and information about the people who work on Ubuntu and their team memberships.  You will also use Launchpad to publish your proposed fixes, and get other Ubuntu developers to review and sponsor them."
 
964
msgstr ""
 
965
 
 
966
#: ../ubuntu-packaging-guide/getting-set-up.rst:177
 
967
# ad9d175d99654dad8e2c830c4beecab0
 
968
msgid "You will need to register with Launchpad and provide a minimal amount of information. This will allow you to download and upload code, submit bug reports, and more."
 
969
msgstr ""
 
970
 
 
971
#: ../ubuntu-packaging-guide/getting-set-up.rst:181
 
972
# 0c25cf1d67e14ebc9621decebd78ef5c
 
973
msgid "Besides hosting Ubuntu, Launchpad can host any Free Software project. For more information see the `Launchpad Help wiki <https://help.launchpad.net/>`_."
 
974
msgstr ""
 
975
 
 
976
#: ../ubuntu-packaging-guide/getting-set-up.rst:186
 
977
# 1060bd4edaa345a9a90d8c2e34628202
 
978
msgid "Get a Launchpad account"
 
979
msgstr ""
 
980
 
 
981
#: ../ubuntu-packaging-guide/getting-set-up.rst:188
 
982
# 308e70601909430d842502f21e1589ad
 
983
msgid "If you don't already have a Launchpad account, you can easily `create one`_. If you have a Launchpad account but cannot remember your Launchpad id, you can find this out by going to https://launchpad.net/~ and looking for the part after the `~` in the URL."
 
984
msgstr ""
 
985
 
 
986
#: ../ubuntu-packaging-guide/getting-set-up.rst:193
 
987
# a0e1270b66884075a0074a83105aded1
 
988
msgid "Launchpad's registration process will ask you to choose a display name. It is encouraged for you to use your real name here so that your Ubuntu developer colleagues will be able to get to know you better."
 
989
msgstr ""
 
990
 
 
991
#: ../ubuntu-packaging-guide/getting-set-up.rst:197
 
992
# 7f4a08d3ce224e59b0d23ba2f4bc4b15
 
993
msgid "When you register a new account, Launchpad will send you an email with a link you need to open in your browser in order to verify your email address. If you don't receive it, check in your spam folder."
 
994
msgstr ""
 
995
 
 
996
#: ../ubuntu-packaging-guide/getting-set-up.rst:201
 
997
# ff7522539ab64385b5e3460fec3e6c7f
 
998
msgid "`The new account help page <https://help.launchpad.net/YourAccount/NewAccount>`_ on Launchpad has more information about the process and additional settings you can change."
 
999
msgstr ""
 
1000
 
 
1001
#: ../ubuntu-packaging-guide/getting-set-up.rst:207
 
1002
# 8a4be4c66e1e4e4bbd19c1d319bb28bc
 
1003
msgid "Upload your GPG key to Launchpad"
 
1004
msgstr ""
 
1005
 
 
1006
#: ../ubuntu-packaging-guide/getting-set-up.rst:209
 
1007
# 506b5b99e7ac4c87ae989c190b86e41a
 
1008
msgid "To find about your GPG fingerprint, run::"
 
1009
msgstr ""
 
1010
 
 
1011
#: ../ubuntu-packaging-guide/getting-set-up.rst:213
 
1012
# 472d7ced0c4c4d6da22703585fa46fe7
 
1013
msgid "and it will print out something like::"
 
1014
msgstr ""
 
1015
 
 
1016
#: ../ubuntu-packaging-guide/getting-set-up.rst:221
 
1017
# 0c821916735d4f45a78d52e91ef3239e
 
1018
msgid "Head to https://launchpad.net/~/+editpgpkeys and copy the \"Key fingerprint\" into the text box. In the case above this would be ``5C28 0144 FB08 91C0 2CF3  37AC 6F0B F90F 43CD E61D``. Now click on \"Import Key\"."
 
1019
msgstr ""
 
1020
 
 
1021
#: ../ubuntu-packaging-guide/getting-set-up.rst:226
 
1022
# ec669b136a8c42269d9abfeb85d34c09
 
1023
msgid "Launchpad will use the fingerprint to check the Ubuntu key server for your key and, if successful, send you an encrypted email asking you to confirm the key import. Check your email account and read the email that Launchpad sent you. `If your email client supports OpenPGP encryption, it will prompt you for the password you chose for the key when GPG generated it. Enter the password, then click the link to confirm that the key is yours.`"
 
1024
msgstr ""
 
1025
 
 
1026
#: ../ubuntu-packaging-guide/getting-set-up.rst:233
 
1027
# f08b21d4e43b485194ec184975a04f7f
 
1028
msgid "Launchpad encrypts the email, using your public key, so that it can be sure that the key is yours. If your email software does not support OpenPGP encryption, copy the encrypted email's contents, type ``gpg`` in your terminal, then paste the email contents into your terminal window."
 
1029
msgstr ""
 
1030
 
 
1031
#: ../ubuntu-packaging-guide/getting-set-up.rst:238
 
1032
# b7455eb7f4da4959b24ef5339b994d19
 
1033
msgid "Back on the Launchpad website, use the Confirm button and Launchpad will complete the import of your OpenPGP key."
 
1034
msgstr ""
 
1035
 
 
1036
#: ../ubuntu-packaging-guide/getting-set-up.rst:241
 
1037
# 8b0f15062c314bd5bc0578ab0db7233b
 
1038
msgid "Find more information at https://help.launchpad.net/YourAccount/ImportingYourPGPKey"
 
1039
msgstr ""
 
1040
 
 
1041
#: ../ubuntu-packaging-guide/getting-set-up.rst:245
 
1042
# c7408c90022943d2b2adb9e67b8c079d
 
1043
msgid "Upload your SSH key to Launchpad"
 
1044
msgstr ""
 
1045
 
 
1046
#: ../ubuntu-packaging-guide/getting-set-up.rst:247
 
1047
# d55a8885d648402ebc1c8bfa9de5b62a
 
1048
msgid "Open https://launchpad.net/~/+editsshkeys in a web browser, also open ``~/.ssh/id_rsa.pub`` in a text editor. This is the public part of your SSH key, so it is safe to share it with Launchpad. Copy the contents of the file and paste them into the text box on the web page that says \"Add an SSH key\". Now click \"Import Public Key\"."
 
1049
msgstr ""
 
1050
 
 
1051
#: ../ubuntu-packaging-guide/getting-set-up.rst:253
 
1052
# d94df3105f334f17a6b8b4493abb7237
 
1053
msgid "For more information on this process, visit the `<creating an SSH keypair <https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair>`_ page on Launchpad."
 
1054
msgstr ""
 
1055
 
 
1056
#: ../ubuntu-packaging-guide/getting-set-up.rst:259
 
1057
# 8452a24ce68f4df6ac5e44518ef879ad
 
1058
msgid "Configure Bazaar"
 
1059
msgstr ""
 
1060
 
 
1061
#: ../ubuntu-packaging-guide/getting-set-up.rst:261
 
1062
# 2200087023b540598f73cba55e6d1e43
 
1063
msgid "Bazaar is the tool we use to store code changes in a logical way, to exchange proposed changes and merge them, even if development is done concurrently.  It is used for the new Ubuntu Distributed Development method of working with Ubuntu packages."
 
1064
msgstr ""
 
1065
 
 
1066
#: ../ubuntu-packaging-guide/getting-set-up.rst:266
 
1067
# 6809b71125db4a1c9a7039c20642d0c5
 
1068
msgid "To tell Bazaar who you are, simply run::"
 
1069
msgstr ""
 
1070
 
 
1071
#: ../ubuntu-packaging-guide/getting-set-up.rst:271
 
1072
# a7bbc2cbc2104be08887d3f357de5253
 
1073
msgid "`whoami` will tell Bazaar which name and email address it should use for your commit messages. With `launchpad-login` you set your Launchpad ID. This way code that you publish in Launchpad will be associated with you."
 
1074
msgstr ""
 
1075
 
 
1076
#: ../ubuntu-packaging-guide/getting-set-up.rst:275
 
1077
# b91245d32a2440a583e602e2b0c85ac3
 
1078
msgid "Note: If you can not remember the ID, go to https://launchpad.net/~ and see where it redirects you. The part after the \"~\" in the URL is your Launchpad ID.)"
 
1079
msgstr ""
 
1080
 
 
1081
#: ../ubuntu-packaging-guide/getting-set-up.rst:281
 
1082
# e267401effd84ebe9fad680ad51c3cd9
 
1083
msgid "Configure your shell"
 
1084
msgstr ""
 
1085
 
 
1086
#: ../ubuntu-packaging-guide/getting-set-up.rst:282
 
1087
# c497e7fe9aed473fac7283134a606445
 
1088
msgid "Similar to Bazaar, the Debian/Ubuntu packaging tools need to learn about you as well. Simply open your `~/.bashrc` in a text editor and add something like this to the bottom of it::"
 
1089
msgstr ""
 
1090
 
 
1091
#: ../ubuntu-packaging-guide/getting-set-up.rst:289
 
1092
# f1400dd33613411caa2495b24cb8901b
 
1093
msgid "Now save the file and either restart your terminal or run::"
 
1094
msgstr ""
 
1095
 
 
1096
#: ../ubuntu-packaging-guide/getting-set-up.rst:293
 
1097
# 71fcef52c0ce4c6a9f9e098c4f35cd1a
 
1098
msgid "(If you do not use the default shell, which is `bash`, please edit the configuration file for that shell accordingly.)"
 
1099
msgstr ""
 
1100
 
 
1101
#: ../ubuntu-packaging-guide/index.rst:7
 
1102
# 2b2c79c0f4744aa6ac31ab4d14510523
 
1103
msgid "Ubuntu Packaging Guide"
 
1104
msgstr ""
 
1105
 
 
1106
#: ../ubuntu-packaging-guide/index.rst:9
 
1107
# 2804b34604314864a75fcd88568b92f0
 
1108
msgid "Ubuntu is not only a free and open source operating system, its platform is also open and developed in a transparent fashion. The source code for every single component can be obtained easily and every single change to the Ubuntu platform can be reviewed."
 
1109
msgstr ""
 
1110
 
 
1111
#: ../ubuntu-packaging-guide/index.rst:14
 
1112
# e4717243c36b4fbaa8a4ab4731b7c6a2
 
1113
msgid "This means you can actively get involved in improving it and the community of Ubuntu platform developers is always interested in helping peers getting started."
 
1114
msgstr ""
 
1115
 
 
1116
#: ../ubuntu-packaging-guide/index.rst:18
 
1117
# a8931d21f1314e2abf31996f75be3676
 
1118
msgid "The guide is split up into two sections:"
 
1119
msgstr ""
 
1120
 
 
1121
#: ../ubuntu-packaging-guide/index.rst:20
 
1122
# 4432017dc60141218901d1062a4db48d
 
1123
msgid "A list of articles based on tasks, things you want to get done."
 
1124
msgstr ""
 
1125
 
 
1126
#: ../ubuntu-packaging-guide/index.rst:21
 
1127
# 0d65327272d34bd094988cd9f7ec6044
 
1128
msgid "A set of knowledge-base articles that dig deeper into specific bits of our tools and workflows."
 
1129
msgstr ""
 
1130
 
 
1131
#: ../ubuntu-packaging-guide/index.rst:24
 
1132
# e9691f9962684fa2983959309c708dc6
 
1133
msgid "This guide focuses on the Ubuntu Distributed Development packaging method. This is a new way of packaging which uses Distributed Revision Control branches.  It currently has some limitations which mean many teams in Ubuntu use :doc:`traditional packaging<./traditional-packaging>` methods.  See the :doc:`UDD Introduction<./udd-intro>` page for an introduction to the differences."
 
1134
msgstr ""
 
1135
 
 
1136
#: ../ubuntu-packaging-guide/index.rst:31
 
1137
# 35611cc67071493d95b0fd914f093f18
 
1138
msgid "Articles"
 
1139
msgstr ""
 
1140
 
 
1141
#: ../ubuntu-packaging-guide/index.rst:46
 
1142
# 341532acc9554b0d9d4a83f5a043fdf9
 
1143
msgid "Knowledge Base"
 
1144
msgstr ""
 
1145
 
 
1146
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:3
 
1147
# 795cb22fada7442f821a6d3640677ae7
 
1148
msgid "Introduction to Ubuntu Development"
 
1149
msgstr ""
 
1150
 
 
1151
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:5
 
1152
# d1e2a2fc83084defb2029936d7af82db
 
1153
msgid "Ubuntu is made up of thousands of different components, written in many different programming languages. Every component -  be it a software library, a tool or a graphical application - is available as a source package. Source packages in most cases consist of two parts: the actual source code and metadata. Metadata includes the dependencies of the package, copyright and licensing information, and instructions on how to build the package. Once this source package is compiled, the build process provides binary packages, which are the .deb files users can install."
 
1154
msgstr ""
 
1155
 
 
1156
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:14
 
1157
# d092727879c148148df7ae3a396ba4c1
 
1158
msgid "Every time a new version of an application is released, or when someone makes a change to the source code that goes into Ubuntu, the source package must be uploaded to Launchpad's build machines to be compiled. The resulting binary packages then are distributed to the archive and its mirrors in different countries. The URLs in ``/etc/apt/sources.list`` point to an archive or mirror. Every day CD images are built for a selection of different Ubuntu flavours. Ubuntu Desktop, Ubuntu Server, Kubuntu and others specify a list of required packages that get on the CD. These CD images are then used for installation tests and provide the feedback for further release planning."
 
1159
msgstr ""
 
1160
 
 
1161
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:24
 
1162
# 6e37b4d95d8541b7aa3011844140dfd8
 
1163
msgid "Ubuntu's development is very much dependent on the current stage of the release cycle. We release a new version of Ubuntu every six months, which is only possible because we have established strict freeze dates. With every freeze date that is reached developers are expected to make fewer, less intrusive changes. Feature Freeze is the first big freeze date after the first half of the cycle has passed. At this stage features must be largely implemented. The rest of the cycle is supposed to be focused on fixing bugs. After that the user interface, then the documentation, the kernel, etc. are frozen, then the beta release is put out which receives a lot of testing. From the beta release onwards, only critical bugs get fixed and a release candidate release is made and if it does not contain any serious problems, it becomes the final release."
 
1164
msgstr ""
 
1165
 
 
1166
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:39
 
1167
# 3095f0dc21b845bd9adafbc230310de6
 
1168
msgid "Thousands of source packages, billions of lines of code, hundreds of contributors require a lot of communication and planning to maintain high standards of quality. At the beginning of each release cycle we have the Ubuntu Developer Summit where developers and contributors come together to plan the features of the next releases. Every feature is discussed by its stakeholders and a specification is written that contains detailed information about its assumptions, implementation, the necessary changes in other places, how to test it and so on. This is all done in an open and transparent fashion, so even if you can not attend the event in person, you can participate remotely and listen to a streamcast, chat with attendants and subscribe to changes of specifications, so you are always up to date."
 
1169
msgstr ""
 
1170
 
 
1171
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:51
 
1172
# c2c9a07df8734bcd84811b0d08005493
 
1173
msgid "Not every single change can be discussed in a meeting though, particularly because Ubuntu relies on changes that are done in other projects. That is why contributors to Ubuntu constantly stay in touch. Most teams or projects use dedicated mailing lists to avoid too much unrelated noise. For more immediate coordination, developers and contributors use Internet Relay Chat (IRC). All discussions are open and public."
 
1174
msgstr ""
 
1175
 
 
1176
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:58
 
1177
# 89290a1fefbc4e5a87353e069aeb79ac
 
1178
msgid "Another important tool regarding communication is bug reports. Whenever a defect is found in a package or piece of infrastructure, a bug report is filed in Launchpad. All information is collected in that report and its importance, status and assignee updated when necessary. This makes it an effective tool to stay on top of bugs in a package or project and organise the workload."
 
1179
msgstr ""
 
1180
 
 
1181
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:65
 
1182
# 224c0402acf54540b6e21eb5498d8bf9
 
1183
msgid "Most of the software available through Ubuntu is not written by Ubuntu developers themselves. Most of it is written by developers of other Open Source projects and then integrated into Ubuntu. These projects are called \"Upstreams\", because their source code flows into Ubuntu, where we \"just\" integrate it. The relationship to Upstreams is critically important to Ubuntu. It is not just code that Ubuntu gets from Upstreams, but it is also that Upstreams get users, bug reports and patches from Ubuntu (and other distributions)."
 
1184
msgstr ""
 
1185
 
 
1186
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:74
 
1187
# 7b06da07d99842fd9738c38140dd2a16
 
1188
msgid "The most important Upstream for Ubuntu is Debian. Debian is the distribution that Ubuntu is based on and many of the design decisions regarding the packaging infrastructure are made there. Traditionally, Debian has always had dedicated maintainers for every single package or dedicated maintenance teams. In Ubuntu there are teams that have an interest in a subset of packages too, and naturally every developer has a special area of expertise, but participation (and upload rights) generally is open to everyone who demonstrates ability and willingness."
 
1189
msgstr ""
 
1190
 
 
1191
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:83
 
1192
# c04e0435ba0d4bb38160660e3cda4ca0
 
1193
msgid "Getting a change into Ubuntu as a new contributor is not as daunting as it seems and can be a very rewarding experience. It is not only about learning something new and exciting, but also about sharing the solution and solving a problem for millions of users out there."
 
1194
msgstr ""
 
1195
 
 
1196
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:88
 
1197
# 72ea8fca34b04f5eb28aae4b06eaa638
 
1198
msgid "Open Source Development happens in a distributed world with different goals and different areas of focus. For example there might be the case that a particular Upstream might be interested in working on a new big feature while Ubuntu, because of the tight release schedule, might be interested in shipping a solid version with just an additional bug fix. That is why we make use of \"Distributed Development\", where code is being worked on in various branches that are merged with each other after code reviews and sufficient discussion."
 
1199
msgstr ""
 
1200
 
 
1201
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:98
 
1202
# 38a1680f15f04e2785f959f32e8b7311
 
1203
msgid "In the example mentioned above it would make sense to ship Ubuntu with the existing version of the project, add the bugfix, get it into Upstream for their next release and ship that (if suitable) in the next Ubuntu release. It would be the best possible compromise and a situation where everybody wins."
 
1204
msgstr ""
 
1205
 
 
1206
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:103
 
1207
# b1e0446cdaa9426cb9aa082ca826788c
 
1208
msgid "To fix a bug in Ubuntu, you would first get the source code for the package, then work on the fix, document it so it is easy to understand for other developers and users, then build the package to test it. After you have tested it, you can easily propose the change to be included in the current Ubuntu development release. A developer with upload rights will review it for you and then get it integrated into Ubuntu."
 
1209
msgstr ""
 
1210
 
 
1211
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:112
 
1212
# fa9b32a2c49847f7b576db0fbf94036c
 
1213
msgid "When trying to find a solution it is usually a good idea to check with Upstream and see if the problem (or a possible solution) is known already and, if not, do your best to make the solution a concerted effort."
 
1214
msgstr ""
 
1215
 
 
1216
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:116
 
1217
# 471fe59800924fc88bb010d19ea956f0
 
1218
msgid "Additional steps might involve getting the change backported to an older, still supported version of Ubuntu and forwarding it to Upstream."
 
1219
msgstr ""
 
1220
 
 
1221
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:119
 
1222
# f36cfc93f9314451b2f5756d1652f425
 
1223
msgid "The most important requirements for success in Ubuntu development are: having a knack for \"making things work again,\" not being afraid to read documentation and ask questions, being a team player and enjoying some detective work."
 
1224
msgstr ""
 
1225
 
 
1226
#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:123
 
1227
# 7d209126020141168c019c68053e2abd
 
1228
msgid "Good places to ask your questions are ``ubuntu-motu@lists.ubuntu.com`` and ``#ubuntu-motu`` on ``irc.freenode.net``. You will easily find a lot of new friends and people with the same passion that you have: making the world a better place by making better Open Source software."
 
1229
msgstr ""
 
1230
 
 
1231
#: ../ubuntu-packaging-guide/kde.rst:3
 
1232
# 993a9c1aa71f4aadadde6a86b5ef2ed3
 
1233
msgid "KDE Packaging"
 
1234
msgstr ""
 
1235
 
 
1236
#: ../ubuntu-packaging-guide/kde.rst:5
 
1237
# f8f58e55f37f4abcaa7264f5fdc83903
 
1238
msgid "Packaging of KDE programmes in Ubuntu is managed by the Kubuntu and MOTU teams.  You can contact the Kubuntu team on the `Kubuntu mailing list`_ and ``#kubuntu-devel`` Freenode IRC channl.  More information about Kubuntu development is on the `Kubuntu wiki page`_."
 
1239
msgstr ""
 
1240
 
 
1241
#: ../ubuntu-packaging-guide/kde.rst:10
 
1242
# dc2e9c6e5402441f85737795e60858fc
 
1243
msgid "Our packaging follows the practices of the ``Debian Qt/KDE Team`` and Debian KDE Extras Team.  Most of our packages are derived from the packaging of these Debian teams."
 
1244
msgstr ""
 
1245
 
 
1246
#: ../ubuntu-packaging-guide/kde.rst:15
 
1247
# a38db20adbbe4a7da13b3d8559127a47
 
1248
msgid "Patching Policy"
 
1249
msgstr ""
 
1250
 
 
1251
#: ../ubuntu-packaging-guide/kde.rst:17
 
1252
# ac62cb4c0e664dd4b78c074e72f87171
 
1253
msgid "Kubuntu does not add patches to KDE programmes unless they come from the upstream authors or submitted upstream with the expectation they will be merged soon or we have consulted the issue with the upstream authors."
 
1254
msgstr ""
 
1255
 
 
1256
#: ../ubuntu-packaging-guide/kde.rst:22
 
1257
# cb2134c6ba4346458b922470c90a372f
 
1258
msgid "Kubuntu does not change the branding of packages except where upstream expects this (such as the top left logo of the Kickoff menu) or to simplify (such as removing splash screens)."
 
1259
msgstr ""
 
1260
 
 
1261
#: ../ubuntu-packaging-guide/kde.rst:27
 
1262
# d51900d276b44514b5d0c25d00914f01
 
1263
msgid "debian/rules"
 
1264
msgstr ""
 
1265
 
 
1266
#: ../ubuntu-packaging-guide/kde.rst:29
 
1267
# 1311b27e75554f01874d2417d4a5b9bf
 
1268
msgid "Debian packages include some additions to the basic Debhelper usage. These are kept in the ``pkg-kde-tools`` package."
 
1269
msgstr ""
 
1270
 
 
1271
#: ../ubuntu-packaging-guide/kde.rst:32
 
1272
# 4bb8cca6f7f940dc84f4ea1798287277
 
1273
msgid "Packages which use Debhelper 7 should add the ``--with=kde`` option. This will ensure the correct build flags are used and add options such as handling kdeinit stubs and translations::"
 
1274
msgstr ""
 
1275
 
 
1276
#: ../ubuntu-packaging-guide/kde.rst:39
 
1277
# 4a5e3298265c4fd4a8df97acde2c69f0
 
1278
msgid "Some newer KDE packages use the ``dhmk`` system, an alternative to ``dh`` made by the Debian Qt/KDE team.  You can read about it in /usr/share/pkg-kde-tools/qt-kde-team/2/README.  Packages using this will ``include /usr/share/pkg-kde-tools/qt-kde-team/2/debian-qt-kde.mk`` instead of running ``dh``."
 
1279
msgstr ""
 
1280
 
 
1281
#: ../ubuntu-packaging-guide/kde.rst:47
 
1282
# 15bc35a1eefa4bee8ed9330f9a044380
 
1283
msgid "Translations"
 
1284
msgstr ""
 
1285
 
 
1286
#: ../ubuntu-packaging-guide/kde.rst:49
 
1287
# ffae416394ec437c93e62703e46d4c93
 
1288
msgid "Packages in main have their translations imported into Launchpad and exported from Launchpad into Ubuntu's language-packs."
 
1289
msgstr ""
 
1290
 
 
1291
#: ../ubuntu-packaging-guide/kde.rst:52
 
1292
# e2265cab7d764b4b83529d3b24129102
 
1293
msgid "So any KDE package in main must generate translation templates, include or make available upstream translations and handle ``.desktop`` file translations."
 
1294
msgstr ""
 
1295
 
 
1296
#: ../ubuntu-packaging-guide/kde.rst:56
 
1297
# 98fc332176d84794aafa13b935d98523
 
1298
msgid "To generate translation templates the package must include a ``Messages.sh`` file; complain to the upstream if it does not.  You can check it works by running ``extract-messages.sh`` which should produce one or more ``.pot`` files in ``po/``.  This will be done automatically during build if you use the ``--with=kde`` option to ``dh``."
 
1299
msgstr ""
 
1300
 
 
1301
#: ../ubuntu-packaging-guide/kde.rst:63
 
1302
# 931ea74ab2164fe8a5a982500456cbb2
 
1303
msgid "Upstream will usually have also put the translation ``.po`` files into the ``po/`` directory.  If they do not, check if they are in separate upstream language packs such as the KDE SC language packs.  If they are in separate language packs Launchpad will need to associate these together manually, contact `dpm`_ to do this."
 
1304
msgstr ""
 
1305
 
 
1306
#: ../ubuntu-packaging-guide/kde.rst:69
 
1307
# 52573e8867ac4ed2840f572b9facbcb9
 
1308
msgid "If a package is moved from universe to main it will need to be reuploaded before the translations get imported into Launchpad."
 
1309
msgstr ""
 
1310
 
 
1311
#: ../ubuntu-packaging-guide/kde.rst:72
 
1312
# 198ae177145b49b285220a56326dd9ce
 
1313
msgid "``.desktop`` files also need translations.  We patch KDELibs to read translations out of ``.po`` files which are pointed to by a line ``X-Ubuntu-Gettext-Domain=`` added to ``.desktop`` files at package build time.  A .pot file for each package is be generated at build time and .po files need to be downloaded from upstream and included in the package or in our language packs.  The list of .po files to be downloaded from KDE's repositories is in ``/usr/lib/kubuntu-desktop-i18n/desktop-template-list``."
 
1314
msgstr ""
 
1315
 
 
1316
#: ../ubuntu-packaging-guide/kde.rst:82
 
1317
# b49c7bc8627b48a7b4931ebd99bb725d
 
1318
msgid "Library Symbols"
 
1319
msgstr ""
 
1320
 
 
1321
#: ../ubuntu-packaging-guide/kde.rst:84
 
1322
# a20fa5bcd911465789f7e4c2dfd61207
 
1323
msgid "Library symbols are tracked in ``.symbols`` files to ensure none go missing for new releases.  KDE uses C++ libraries which act a little differently compared to C libraries.  Debian's Qt/KDE Team have scripts to handle this. See `Working with symbols files`_ for how to create and keep these files up to date."
 
1324
msgstr ""
 
1325
 
 
1326
#: ../ubuntu-packaging-guide/libraries.rst:3
 
1327
# 1161adad2b574c3dae7242a0e177d3cb
 
1328
msgid "Shared Libraries"
 
1329
msgstr ""
 
1330
 
 
1331
#: ../ubuntu-packaging-guide/libraries.rst:5
 
1332
# e5417138b06748e7b459aee1467052f7
 
1333
msgid "Shared libraries are compiled code which is intended to be shared among several different programmes.  They are distributed as ``.so`` files in ``/usr/lib/``."
 
1334
msgstr ""
 
1335
 
 
1336
#: ../ubuntu-packaging-guide/libraries.rst:9
 
1337
# 3ea2eb4efb504f41812aad3d3a3630c0
 
1338
msgid "A library exports symbols which are the compiled versions of functions, classes and variables.  A library has a name called an SONAME which includes a version number.  This SONAME version does not necessarily match the public release version number.  A programme gets compiled against a given SONAME version of the library.  If any of the symbols is removed or changes then the version number needs to be changed which forces any packages using that library to be recompiled against the new version.  Version numbers are usually set by upstream and we follow them in our binary package names called an ABI number, but sometimes upstreams do not use sensible version numbers and packagers have to keep separate version numbers."
 
1339
msgstr ""
 
1340
 
 
1341
#: ../ubuntu-packaging-guide/libraries.rst:21
 
1342
# 07915fe981c94c4db90837dba30d3cc0
 
1343
msgid "Libraries are usually distributed by upstream as standalone releases. Sometimes they are distributed as part of a programme.  In this case they can be included in the binary package along with the programme (this is called bundling) if you do not expect any other programmes to use the library, more often they should be split out into separate binary packages."
 
1344
msgstr ""
 
1345
 
 
1346
#: ../ubuntu-packaging-guide/libraries.rst:27
 
1347
# 4c5c66ef19a44914bee41dc0539099fa
 
1348
msgid "The libraries themselves are put into a binary package named ``libfoo1`` where ``foo`` is the name of the library and ``1`` is the version from the SONAME. Development files from the package, such as header files, needed to compile programmes against the library are put into a package called ``libfoo-dev``."
 
1349
msgstr ""
 
1350
 
 
1351
#: ../ubuntu-packaging-guide/libraries.rst:34
 
1352
# 06a1e94fcbba4e9eadba9eb114a9c642
 
1353
msgid "An Example"
 
1354
msgstr ""
 
1355
 
 
1356
#: ../ubuntu-packaging-guide/libraries.rst:36
 
1357
# a1ec3bc9d692403ab82b43da77562aae
 
1358
msgid "We will use libnova as an example::"
 
1359
msgstr ""
 
1360
 
 
1361
#: ../ubuntu-packaging-guide/libraries.rst:41
 
1362
# cd3c9fa86411468aaf013cfabc0fdb33
 
1363
msgid "To find the SONAME of the library run"
 
1364
msgstr ""
 
1365
 
 
1366
#: ../ubuntu-packaging-guide/libraries.rst:43
 
1367
# 0af012c44f39480b8014cfa20b67b08f
 
1368
msgid "$ readelf -a /usr/lib/libnova-0.12.so.2 | grep SONAME"
 
1369
msgstr ""
 
1370
 
 
1371
#: ../ubuntu-packaging-guide/libraries.rst:45
 
1372
# 379239ed35f840b1b788703c94ef817f
 
1373
msgid "The SONAME is ``libnova-0.12.so.2``, which matches the file name (usually the case but not always). Here upstream has put the upstream version number as part of the SONAME and given it an ABI version of ``2``.  Library package names should follow the SONAME of the library they contain. The library binary package is called ``libnova-0.12-2`` where ``libnova-0.12`` is the name of the library and ``2`` is our ABI number."
 
1374
msgstr ""
 
1375
 
 
1376
#: ../ubuntu-packaging-guide/libraries.rst:52
 
1377
# 122c0516404646858c5e64bbaf93311e
 
1378
msgid "If upstream makes incompatible changes to their library they will have to reversion their SONAME and we will have to rename our library.  Any other packages using our library package will need to recompiled against the new version, this is called a transition and can take some effort. Hopefully our ABI number will continue to match upstream's SONAME but sometimes they introduce incompatibilities without changing their version number and we will need to change ours."
 
1379
msgstr ""
 
1380
 
 
1381
#: ../ubuntu-packaging-guide/libraries.rst:60
 
1382
# 5bb0db11faef4045a6ffa4ff6a360ada
 
1383
msgid "Looking in debian/libnova-0.12-2.install we see it includes two files::"
 
1384
msgstr ""
 
1385
 
 
1386
#: ../ubuntu-packaging-guide/libraries.rst:65
 
1387
# e694ef09fee449688473a2417d7e4de3
 
1388
msgid "The last one is the actual library, complete with minor and point version number.  The first one is a symlink which points to the actual library.  The symlink is what programmes using the library will look for, the running programmes do not care about the minor version number."
 
1389
msgstr ""
 
1390
 
 
1391
#: ../ubuntu-packaging-guide/libraries.rst:70
 
1392
# 4806076bc944430598072095813eaf39
 
1393
msgid "``libnova-dev.install`` includes all the files needed to compile a programme with this library.  Header files, a config binary, the ``.la`` libtool file and ``libnova.so`` which is another symlink pointing at the library, programmes compiling against the library do not care about the major version number (although the binary they compile into will)."
 
1394
msgstr ""
 
1395
 
 
1396
#: ../ubuntu-packaging-guide/libraries.rst:76
 
1397
# 4d4773c47d50413e9e4c9f1163445e3c
 
1398
msgid "``.la`` libtool files are needed on some non-Linux systems with poor library support but usually cause more problems than they solve on Debian systems.  It is a current `Debian goal to remove .la files`_ and we should help with this."
 
1399
msgstr ""
 
1400
 
 
1401
#: ../ubuntu-packaging-guide/libraries.rst:82
 
1402
# 4cffd2fb14c64c8abca846161203f289
 
1403
msgid "Static Libraries"
 
1404
msgstr ""
 
1405
 
 
1406
#: ../ubuntu-packaging-guide/libraries.rst:84
 
1407
# 6ccaf98902504122aa73d033cac53220
 
1408
msgid "The -dev package also ships ``usr/lib/libnova.a``.  This is a static library, an alternative to the shared library.  Any programme compiled against the static library will include the code directory into itself.  This gets round worrying about binary compatibility of the library.  However it also means that any bugs, including security issues, will not be updated along with the libary until the programme is recompiled.  For this reason programmes using static libraries are discouraged."
 
1409
msgstr ""
 
1410
 
 
1411
#: ../ubuntu-packaging-guide/libraries.rst:94
 
1412
# 398bf230fe85495fb24337ec903082d5
 
1413
msgid "Symbol Files"
 
1414
msgstr ""
 
1415
 
 
1416
#: ../ubuntu-packaging-guide/libraries.rst:96
 
1417
# 870880e5a31c40b2a6c33ca619012e39
 
1418
msgid "When a package builds against a library the ``shlibs`` mechanism will add a package dependency on that library.  This is why most programmes will have ``Depends: ${shlibs:Depends}`` in ``debian/control``.  That gets replaced with the library dependencies at build time.  However shlibs can only make it depend on the major ABI version number, ``2`` in our libnova example, so if new symbols get added in libnova 2.1 a programme using these symbols could still be installed against libnova ABI 2.0 which would then crash."
 
1419
msgstr ""
 
1420
 
 
1421
#: ../ubuntu-packaging-guide/libraries.rst:104
 
1422
# e6474afb8a8841ea8e5f50f6d3c97cdb
 
1423
msgid "To make the library dependencies more precise we keep ``.symbols`` files that list all the symbols in a library and the version they appeared in."
 
1424
msgstr ""
 
1425
 
 
1426
#: ../ubuntu-packaging-guide/libraries.rst:107
 
1427
# 959ea7b001924fc0a6686b13140ea5c9
 
1428
msgid "libnova has no symbols file so we can create one.  Start by compiling the package::"
 
1429
msgstr ""
 
1430
 
 
1431
#: ../ubuntu-packaging-guide/libraries.rst:112
 
1432
# e06fccd8d4ab438a95bedf83eea74599
 
1433
msgid "The ``-nc`` will cause it to finish at the end of the compile without removing the build.  Change to the build and run ``dpkg-gensymbols`` for the library package::"
 
1434
msgstr ""
 
1435
 
 
1436
#: ../ubuntu-packaging-guide/libraries.rst:119
 
1437
# 05828480fd53405699d8ad8a89aee466
 
1438
msgid "This makes a diff file which you can self apply::"
 
1439
msgstr ""
 
1440
 
 
1441
#: ../ubuntu-packaging-guide/libraries.rst:123
 
1442
# 247935b3befb47f78155de9bf6b4a97e
 
1443
msgid "Which will create a file named similar to ``dpkg-gensymbolsnY_WWI`` that lists all the symbols.  It also lists the current package version.  We can remove the packaging version from that listed in the symbols file because new symbols are not generally added by new packaging versions::"
 
1444
msgstr ""
 
1445
 
 
1446
#: ../ubuntu-packaging-guide/libraries.rst:130
 
1447
# e6a01960a5b94448a8463cfbac6b2dd4
 
1448
msgid "Now move the file into its location, commit and do a test build::"
 
1449
msgstr ""
 
1450
 
 
1451
#: ../ubuntu-packaging-guide/libraries.rst:138
 
1452
# f14902b00f9541f3a5065bc0dac139c1
 
1453
msgid "If it successfully compiles the symbols file is correct.  With the next upstream version of libnova you would run dpkg-gensymbols again and it will give a diff to update the symbols file."
 
1454
msgstr ""
 
1455
 
 
1456
#: ../ubuntu-packaging-guide/libraries.rst:143
 
1457
# 98b9e46b70e8436cb84a7901e53db11a
 
1458
msgid "C++ Library Symbols Files"
 
1459
msgstr ""
 
1460
 
 
1461
#: ../ubuntu-packaging-guide/libraries.rst:145
 
1462
# 77dfecd2e3ca4500a800a0637fef9f7a
 
1463
msgid "C++ has even more exacting standards of binary compatibility than C.  The Debian Qt/KDE Team maintain some scripts to handle this, see their `Working with symbols files`_ page for how to use them."
 
1464
msgstr ""
 
1465
 
 
1466
#: ../ubuntu-packaging-guide/libraries.rst:150
 
1467
# b21519bcb125410b9494569ca65edef2
 
1468
msgid "Further Reading"
 
1469
msgstr ""
 
1470
 
 
1471
#: ../ubuntu-packaging-guide/libraries.rst:152
 
1472
# cacbb05f8e934e378c081170f0d24d74
 
1473
msgid "Junichi Uekawa's `Debian Library Packaging Guide`_ goes into this topic in more detail."
 
1474
msgstr ""
 
1475
 
 
1476
#: ../ubuntu-packaging-guide/packaging-new-software.rst:3
 
1477
# 9d2486bdfc7e487e9b8af112c9316924
 
1478
msgid "Packaging New Software"
 
1479
msgstr ""
 
1480
 
 
1481
#: ../ubuntu-packaging-guide/packaging-new-software.rst:5
 
1482
# 59fba311ff094ebcb043d86060dd02b4
 
1483
msgid "While there are thousands of packages in the Ubuntu archive, there are still a lot nobody has gotten to yet. If there is an exciting new piece of software that you feel needs wider exposure, maybe you want to try your hand at creating a package for Ubuntu or a PPA. This guide will take you through the steps of packaging new software."
 
1484
msgstr ""
 
1485
 
 
1486
#: ../ubuntu-packaging-guide/packaging-new-software.rst:12
 
1487
# 0aa343b58400430ea898e6d0bfd9de8d
 
1488
msgid "Checking the Programme"
 
1489
msgstr ""
 
1490
 
 
1491
#: ../ubuntu-packaging-guide/packaging-new-software.rst:14
 
1492
# 4c0b9a06c0504ea38a1e32b0ae28ffd4
 
1493
msgid "The first stage in packaging is to get the released tar from upstream (we call the authors of applications \"upstream\") and check that it compiles and runs."
 
1494
msgstr ""
 
1495
 
 
1496
#: ../ubuntu-packaging-guide/packaging-new-software.rst:17
 
1497
# 6c13fecc7fee401fbbdf0ec8ab90982f
 
1498
msgid "This guide will take you through packaging a simple application called KQRCode which has been `posted on KDE-apps.org`_.  Download `version 0.4 from Sourceforge`_ and put it in a new directory."
 
1499
msgstr ""
 
1500
 
 
1501
#: ../ubuntu-packaging-guide/packaging-new-software.rst:21
 
1502
# 400f126b6d35496698950fa9a7b804a4
 
1503
msgid "Now uncompress it::"
 
1504
msgstr ""
 
1505
 
 
1506
#: ../ubuntu-packaging-guide/packaging-new-software.rst:26
 
1507
# 92f40d14bcdc4f5cafad97c347d58e0c
 
1508
msgid "This application uses the CMake build system so we want to run cmake to prepare for compilation::"
 
1509
msgstr ""
 
1510
 
 
1511
#: ../ubuntu-packaging-guide/packaging-new-software.rst:33
 
1512
# 08f8ef0e76a44a4f88c2a4d60ab6bb1f
 
1513
msgid "CMake will check for the required dependencies, in this case it tells us we need Qt and KDE libraries.  We also need GCC, packagers can install ``build-essential`` which brings this in and is assumed to be installed for all packages. If you do not have the development files for these libraries installed it will fail, you can install them and run CMake again::"
 
1514
msgstr ""
 
1515
 
 
1516
#: ../ubuntu-packaging-guide/packaging-new-software.rst:42
 
1517
# c788bb971799420e940f9317d82e574a
 
1518
msgid "Now you can compile the source::"
 
1519
msgstr ""
 
1520
 
 
1521
#: ../ubuntu-packaging-guide/packaging-new-software.rst:46
 
1522
# 9f9b99040e684a8ca7b157fa2539133b
 
1523
msgid "Running this gives some errors about missing headers.  This means there are other libraries missing which were not checked by CMake.  Make a note to inform upstream of this problem.  `packages.ubuntu.com`_ can be used to find which packages these headers come from, install these packages and continue the compile::"
 
1524
msgstr ""
 
1525
 
 
1526
#: ../ubuntu-packaging-guide/packaging-new-software.rst:55
 
1527
# d78b9316c1ee4c77852e7d26ec46b8c5
 
1528
msgid "If the compile completes successfully you can install and run the programme::"
 
1529
msgstr ""
 
1530
 
 
1531
#: ../ubuntu-packaging-guide/packaging-new-software.rst:61
 
1532
# ac725bc6291b415c8b6b6de3d9290eed
 
1533
msgid "Starting a Package"
 
1534
msgstr ""
 
1535
 
 
1536
#: ../ubuntu-packaging-guide/packaging-new-software.rst:63
 
1537
# aedb86fe4f8241a8843892eb97599ff0
 
1538
msgid "``bzr-builddeb`` includes a plugin to create a new package from a template, the plugin is a wrapper around the ``dh_make`` command::"
 
1539
msgstr ""
 
1540
 
 
1541
#: ../ubuntu-packaging-guide/packaging-new-software.rst:69
 
1542
# 187e6290a2f94d9ebff13d1b65a2fa99
 
1543
msgid "When it asks what type of package type ``s`` for single binary."
 
1544
msgstr ""
 
1545
 
 
1546
#: ../ubuntu-packaging-guide/packaging-new-software.rst:71
 
1547
# 03268a6b1a54434abb8de4bccd4391f6
 
1548
msgid "This will import the code into a branch and add the ``debian/`` packaging directory.  Have a look at the contents.  Most of the files it adds are only needed for specialist packages (such as Emacs modules) so you can start by removing the optional example files::"
 
1549
msgstr ""
 
1550
 
 
1551
#: ../ubuntu-packaging-guide/packaging-new-software.rst:79
 
1552
# 48e36e15ca254116907f8a77750fdd09
 
1553
msgid "You should now customise each of the files."
 
1554
msgstr ""
 
1555
 
 
1556
#: ../ubuntu-packaging-guide/packaging-new-software.rst:81
 
1557
# f9ab5fc134fb4cee8e32e556a07fe586
 
1558
msgid "In ``debian/changelog`` change the version number to an Ubuntu version: ``0.4-0ubuntu1`` (upstream version 0.4, Debian version 0, Ubuntu version 1).  Also change ``unstable`` to the current development Ubuntu release such as ``oneiric``."
 
1559
msgstr ""
 
1560
 
 
1561
#: ../ubuntu-packaging-guide/packaging-new-software.rst:86
 
1562
# 68fb6f78c08c49c7aacf1a866b5c1480
 
1563
msgid "Much of the package building work is done by a series of scripts called ``debhelper``.  The exact behaviour of ``debhelper`` changes with new major versions, the compat file instructs ``debhelper`` which version to act as.  You will generally want to set this to the most recent version which is ``8``."
 
1564
msgstr ""
 
1565
 
 
1566
#: ../ubuntu-packaging-guide/packaging-new-software.rst:92
 
1567
# bf0f078ee9fe47c7a49fcc96065db39d
 
1568
msgid "``control`` contains all the metadata of the package.  The first paragraph describes the source package.  The second and and following paragraphs describe the binary packages to be built.  We will need to add the packages needed to compile the application to ``Build-Depends:`` so set that to::"
 
1569
msgstr ""
 
1570
 
 
1571
#: ../ubuntu-packaging-guide/packaging-new-software.rst:100
 
1572
# 6b883941eafb476589f23774b2b01bfc
 
1573
msgid "You will also need to fill in a description of the programme in the ``Description:`` field."
 
1574
msgstr ""
 
1575
 
 
1576
#: ../ubuntu-packaging-guide/packaging-new-software.rst:103
 
1577
# 208710fb26b4452184d399e77c4cb867
 
1578
msgid "``copyright`` needs to be filled in to follow the licence of the upstream source.  According to the kqrcode/COPYING file this is GNU GPL 3 or later."
 
1579
msgstr ""
 
1580
 
 
1581
#: ../ubuntu-packaging-guide/packaging-new-software.rst:106
 
1582
# 0012e8d84be04d68b3038b628e5ccbc2
 
1583
msgid "``docs`` contains any upstream documentation files you think should be included in the final package."
 
1584
msgstr ""
 
1585
 
 
1586
#: ../ubuntu-packaging-guide/packaging-new-software.rst:109
 
1587
# 756545d85bcc40c1a333e2b35f275b7b
 
1588
msgid "``README.source`` and ``README.Debian`` are only needed if your package has any non-standard features, we don't so you can delete them."
 
1589
msgstr ""
 
1590
 
 
1591
#: ../ubuntu-packaging-guide/packaging-new-software.rst:112
 
1592
# 312f3c37d8b14073a30458410e26a220
 
1593
msgid "``source/format`` can be left as is, this describes the version format of the source package and should be ``3.0 (quilt)``."
 
1594
msgstr ""
 
1595
 
 
1596
#: ../ubuntu-packaging-guide/packaging-new-software.rst:115
 
1597
# 7a915cabe45d47e996bb9a6b61cabc91
 
1598
msgid "``rules`` is the most complex file.  This is a Makefile which compiles the code and turns it into a binary package.  Fortunately most of the work is automatically done these days by ``debhelper 7`` so the universal ``%`` Makefile target just runs the ``dh`` script which will run everything needed."
 
1599
msgstr ""
 
1600
 
 
1601
#: ../ubuntu-packaging-guide/packaging-new-software.rst:120
 
1602
# a8fb1e2bc95642288d7a16a784fc733c
 
1603
msgid "Finally commit the code to your packaging branch::"
 
1604
msgstr ""
 
1605
 
 
1606
#: ../ubuntu-packaging-guide/packaging-new-software.rst:125
 
1607
#: ../ubuntu-packaging-guide/udd-working.rst:69
 
1608
# d2c0b4d8d90b48b19f2c373ed55eab75
 
1609
# ecfe8d82e2114f7fb824b8b17e491ce6
 
1610
msgid "Building the package"
 
1611
msgstr ""
 
1612
 
 
1613
#: ../ubuntu-packaging-guide/packaging-new-software.rst:127
 
1614
# 0d02d6cbb00c4afd912ded7a8cbd2ae1
 
1615
msgid "Now we need to check that our packaging successfully compiles the package and builds the .deb binary package::"
 
1616
msgstr ""
 
1617
 
 
1618
#: ../ubuntu-packaging-guide/packaging-new-software.rst:132
 
1619
# 37b8625fff6b4efcba2587de14621e20
 
1620
msgid "``debuild`` is a command to build the package in its current location.  The ``-us -uc`` tell it there is not need to GPG sign the compile.  The result will be placed in ``..``."
 
1621
msgstr ""
 
1622
 
 
1623
#: ../ubuntu-packaging-guide/packaging-new-software.rst:136
 
1624
# d4b4cf3877124f738e8501904b60a80c
 
1625
msgid "You can view the contents of the package with::"
 
1626
msgstr ""
 
1627
 
 
1628
#: ../ubuntu-packaging-guide/packaging-new-software.rst:140
 
1629
# 6fc445d27f0149098cf9e27f81b0bfaa
 
1630
msgid "Install the package and check it works::"
 
1631
msgstr ""
 
1632
 
 
1633
#: ../ubuntu-packaging-guide/packaging-new-software.rst:145
 
1634
# 0b7a2d16133847e9aacff428d788ceaa
 
1635
msgid "Next Steps"
 
1636
msgstr ""
 
1637
 
 
1638
#: ../ubuntu-packaging-guide/packaging-new-software.rst:147
 
1639
# b5d75f5868754b4596d239d6f5556d92
 
1640
msgid "Even if it builds the .deb binary package, your packaging may have bugs.  Many errors can be automatically detected by our tool ``lintian`` which can be run on both the source .dsc metadata file and the .deb binary package::"
 
1641
msgstr ""
 
1642
 
 
1643
#: ../ubuntu-packaging-guide/packaging-new-software.rst:155
 
1644
# 662bd4ddf12449c49cab0687ed1bfed7
 
1645
msgid "A description of each of the problems it reports can be found on the `lintian website`_."
 
1646
msgstr ""
 
1647
 
 
1648
#: ../ubuntu-packaging-guide/packaging-new-software.rst:158
 
1649
# f20bba2b62e14567b1fbb57eb23214b4
 
1650
msgid "After making a fix to the packaging you can rebuild using ``-nc`` \"no clean\" without having to build from scratch::"
 
1651
msgstr ""
 
1652
 
 
1653
#: ../ubuntu-packaging-guide/packaging-new-software.rst:163
 
1654
# 1a81beef68d64e798a6d81cccb660f4e
 
1655
msgid "Having checked that the package builds locally you should ensure it builds on a clean system using ``pbuilder``::"
 
1656
msgstr ""
 
1657
 
 
1658
#: ../ubuntu-packaging-guide/packaging-new-software.rst:170
 
1659
# 17ae18ca6a564c998abd447254e188f7
 
1660
msgid "When you are happy with your package you will want others to review it.  You can upload the branch to Launchpad for review::"
 
1661
msgstr ""
 
1662
 
 
1663
#: ../ubuntu-packaging-guide/packaging-new-software.rst:175
 
1664
# 17392b1fff004e2493366c5fcadcb1c0
 
1665
msgid "Uploading it to a PPA (Personal Package Archive) will ensure it builds and give an easy way for you and others to test the binary packages. You will need to set up a PPA in Launchad then upload with ``dput``::"
 
1666
msgstr ""
 
1667
 
 
1668
#: ../ubuntu-packaging-guide/packaging-new-software.rst:181
 
1669
# c8c0618209c2424d9beac381d3b024f6
 
1670
msgid "See :doc:`uploading<./udd-uploading>` for more information."
 
1671
msgstr ""
 
1672
 
 
1673
#: ../ubuntu-packaging-guide/packaging-new-software.rst:183
 
1674
# 8ab83f0bc099482593d87bec8daf50ce
 
1675
msgid "You can ask for reviews in ``#ubuntu-motu`` IRC channel, or on the `MOTU mailing list`_.  There might also be a more specific team you could ask such as the Kubuntu team for KDE packages."
 
1676
msgstr ""
 
1677
 
 
1678
#: ../ubuntu-packaging-guide/packaging-new-software.rst:188
 
1679
# 9529cb8f705547dc95d7d25c82e857f7
 
1680
msgid "Submitting for inclusion"
 
1681
msgstr ""
 
1682
 
 
1683
#: ../ubuntu-packaging-guide/packaging-new-software.rst:190
 
1684
# 87fc979533c04e45992453914d17a982
 
1685
msgid "There are a number of paths that a package can take to enter Ubuntu. In most cases, going through Debian first can be the best path. This way ensures that your package will reach the largest number of users as it will be available in not just Debian and Ubuntu but all of their derivatives as well. Here are some useful links for submitting new packages to Debian:"
 
1686
msgstr ""
 
1687
 
 
1688
#: ../ubuntu-packaging-guide/packaging-new-software.rst:197
 
1689
# 03d85c092776496ab0969fd84fd973c7
 
1690
msgid "`Debian Mentors FAQ`_ - debian-mentors is for the mentoring of new and prospective Debian Developers. It is where you can find a sponsor to upload your package to the archive."
 
1691
msgstr ""
 
1692
 
 
1693
#: ../ubuntu-packaging-guide/packaging-new-software.rst:201
 
1694
# be95ee15b6f840a8be29c9a24eee784c
 
1695
msgid "`Work-Needing and Prospective Packages`_ - Information on how to file \"Intent to Package\" and \"Request for Package\" bugs as well as list of open ITPs and RFPs."
 
1696
msgstr ""
 
1697
 
 
1698
#: ../ubuntu-packaging-guide/packaging-new-software.rst:205
 
1699
# 7bfbf158bcc445d6afbdc51a8bbce4e0
 
1700
msgid "`Debian Developer's Reference, 5.1. New packages`_ - The entire document is invaluable for both Ubuntu and Debian packagers. This section documents processes for sumbitting new packages."
 
1701
msgstr ""
 
1702
 
 
1703
#: ../ubuntu-packaging-guide/packaging-new-software.rst:209
 
1704
# 04f7ce3e6a144369bd5a0de44748fc8f
 
1705
msgid "In some cases, it might make sense to go directly into Ubuntu first. For instance, Debian might be in a freeze making it unlikely that you're package will make it into Ubuntu in time for the next release. This process is documented on the `\"New Packages\" section of the Ubuntu wiki`_."
 
1706
msgstr ""
 
1707
 
 
1708
#: ../ubuntu-packaging-guide/patches-to-packages.rst:3
 
1709
# 2241baf03ca34a08b7d7e3fdda30ced7
 
1710
msgid "Patches to Packages"
 
1711
msgstr ""
 
1712
 
 
1713
#: ../ubuntu-packaging-guide/patches-to-packages.rst:5
 
1714
# 5c3751ca50de4e1387fa501b03bf1eb5
 
1715
msgid "Sometimes, Ubuntu package maintainers have to change the upstream source code in order to make it work properly on Ubuntu.  Examples include, patches to upstream that haven't yet made it into a released version, or changes to the upstream's build system needed only for building it on Ubuntu.  We could change the upstream source code directly, but doing this makes it more difficult to remove the patches later when upstream has incorporated them, or extract the change to submit to the upstream project.  Instead, we keep these changes as separate patches, in the form of diff files."
 
1716
msgstr ""
 
1717
 
 
1718
#: ../ubuntu-packaging-guide/patches-to-packages.rst:14
 
1719
# 1a8dc2ea6df045c791f0924de1eba7a3
 
1720
msgid "There are a number of different ways of handling patches in Debian packages, fortunately we are standardising on one system, `Quilt`_, which is now used by most packages."
 
1721
msgstr ""
 
1722
 
 
1723
#: ../ubuntu-packaging-guide/patches-to-packages.rst:18
 
1724
# 36be977d3c7b4b27ac83f787d1c20ba6
 
1725
msgid "Let's look at an example package, ``kamoso`` in Natty::"
 
1726
msgstr ""
 
1727
 
 
1728
#: ../ubuntu-packaging-guide/patches-to-packages.rst:22
 
1729
# 5529f33d3d0b478fac7ea68ab8405610
 
1730
msgid "The patches are kept in ``debian/patches``.  This package has one patch ``kubuntu_01_fix_qmax_on_armel.diff`` to fix a compile failure on ARM.  The patch has been given a name to describe what it does, a number to keep the patches in order (two patches can overlap if they change the same file) and in this case the Kubuntu team adds their own prefix to show the patch comes from them rather than from Debian."
 
1731
msgstr ""
 
1732
 
 
1733
#: ../ubuntu-packaging-guide/patches-to-packages.rst:29
 
1734
# e635b7e963bb4caeac48400b23c7811f
 
1735
msgid "The order of patches to apply is kept in ``debian/patches/series``."
 
1736
msgstr ""
 
1737
 
 
1738
#: ../ubuntu-packaging-guide/patches-to-packages.rst:32
 
1739
# b694697d5a60411bb2c7dc37ed4675f0
 
1740
msgid "Patches with Quilt"
 
1741
msgstr ""
 
1742
 
 
1743
#: ../ubuntu-packaging-guide/patches-to-packages.rst:34
 
1744
# 6bb7b69eac2346bf980295dbddc298c4
 
1745
msgid "Before working with Quilt you need to tell it where to find the patches.  Add this to your ``~/.bashrc``::"
 
1746
msgstr ""
 
1747
 
 
1748
#: ../ubuntu-packaging-guide/patches-to-packages.rst:39
 
1749
# cbac6263b89f4e62bcfae1a183202ab1
 
1750
msgid "And source the file to apply the new export::"
 
1751
msgstr ""
 
1752
 
 
1753
#: ../ubuntu-packaging-guide/patches-to-packages.rst:43
 
1754
# 90e75b21038b415cb7124b81a3119dd0
 
1755
msgid "By default all patches are applied already to UDD checkouts or downloaded packages.  You can check this with::"
 
1756
msgstr ""
 
1757
 
 
1758
#: ../ubuntu-packaging-guide/patches-to-packages.rst:49
 
1759
# d4faacee0f964e4a9beebcae8a1def6f
 
1760
msgid "If you wanted to remove the patch you would run ``pop``::"
 
1761
msgstr ""
 
1762
 
 
1763
#: ../ubuntu-packaging-guide/patches-to-packages.rst:57
 
1764
# 7d2578ea2fb3424ba9f76dfb56642311
 
1765
msgid "And to apply a patch you use ``push``::"
 
1766
msgstr ""
 
1767
 
 
1768
#: ../ubuntu-packaging-guide/patches-to-packages.rst:67
 
1769
# 3920a9d86b834234be836b63f21ab810
 
1770
msgid "Adding a New Patch"
 
1771
msgstr ""
 
1772
 
 
1773
#: ../ubuntu-packaging-guide/patches-to-packages.rst:69
 
1774
# fb390d3c3be349cdb600350811c9671d
 
1775
msgid "To add a new patch you need to tell Quilt to create a new patch, tell it which files that patch should change, edit the files then refresh the patch::"
 
1776
msgstr ""
 
1777
 
 
1778
#: ../ubuntu-packaging-guide/patches-to-packages.rst:81
 
1779
# 9041df0abe5140678fe386d7d4b9b92c
 
1780
msgid "The ``quilt add`` step is important, if you forget it the files will not end up in the patch."
 
1781
msgstr ""
 
1782
 
 
1783
#: ../ubuntu-packaging-guide/patches-to-packages.rst:84
 
1784
# 9e80030f1eb6438a9bc24959f9cfac5d
 
1785
msgid "The change will now be in ``debian/patches/kubuntu_02_programme_description.diff`` and the ``series`` file will have had the new patch added to it.  You should add the new file to the packaging::"
 
1786
msgstr ""
 
1787
 
 
1788
#: ../ubuntu-packaging-guide/patches-to-packages.rst:94
 
1789
# 6f36a309febe4b4b83ff777007dc4901
 
1790
msgid "Quilt keeps its metadata in the ``.pc/`` directory, so currently you need to add that to the packaging too.  This should be improved in future."
 
1791
msgstr ""
 
1792
 
 
1793
#: ../ubuntu-packaging-guide/patches-to-packages.rst:97
 
1794
# c25ed33cbb694bb5ab2fd2719f11adef
 
1795
msgid "As a general rule you should be careful adding patches to programmes unless they come from upstream, there is often a good reason why that change has not already been made.  The above example changes a user interface string for example, so it would break all translations.  If in doubt, do ask the upstream author before adding a patch."
 
1796
msgstr ""
 
1797
 
 
1798
#: ../ubuntu-packaging-guide/patches-to-packages.rst:104
 
1799
# a9bcd232fe19471a8dd3bc40ac48ec2a
 
1800
msgid "Upgrading to New Upstream Versions"
 
1801
msgstr ""
 
1802
 
 
1803
#: ../ubuntu-packaging-guide/patches-to-packages.rst:106
 
1804
# df088161eeb042c1a7a74ac49eaa923b
 
1805
msgid "When you upgrade to a new upstream version, patches will often become out of date.  They might need to be refreshed to match the new upstream source or they might need to be removed altogether."
 
1806
msgstr ""
 
1807
 
 
1808
#: ../ubuntu-packaging-guide/patches-to-packages.rst:110
 
1809
# 870e3c1c96724cc1a4f9ca814cddf71b
 
1810
msgid "You should start by ensuring no patches are applied.  Unfortunately a commit is needed before you can merge in the new upstream (this is `bug 815854`_::"
 
1811
msgstr ""
 
1812
 
 
1813
#: ../ubuntu-packaging-guide/patches-to-packages.rst:116
 
1814
# 01d84a0499414f2a8f7e73acf0c14f58
 
1815
msgid "Then upgrade to the new version"
 
1816
msgstr ""
 
1817
 
 
1818
#: ../ubuntu-packaging-guide/patches-to-packages.rst:118
 
1819
# 060a7d5c6b1e42a2bdfe566bd96e126d
 
1820
msgid "$ bzr merge-upstream --version 2.0.2 https://launchpad.net/ubuntu/+archive/primary/+files/kamoso_2.0.2.orig.tar.bz2"
 
1821
msgstr ""
 
1822
 
 
1823
#: ../ubuntu-packaging-guide/patches-to-packages.rst:120
 
1824
# 61de3ecb174b44daa1ef323e29f1b9da
 
1825
msgid "Then apply the patches one at a time to check for problems::"
 
1826
msgstr ""
 
1827
 
 
1828
#: ../ubuntu-packaging-guide/patches-to-packages.rst:129
 
1829
# 5d35e1273bbd4487a49ec82a1dd0607b
 
1830
msgid "If it can be reverse-applied this means the patch has been applied already by upstream, so we can delete the patch::"
 
1831
msgstr ""
 
1832
 
 
1833
#: ../ubuntu-packaging-guide/patches-to-packages.rst:135
 
1834
# b0bfdc2a871f47538cdc0d72eaab11d4
 
1835
msgid "Then carry on::"
 
1836
msgstr ""
 
1837
 
 
1838
#: ../ubuntu-packaging-guide/patches-to-packages.rst:140
 
1839
# eb92e1c67e134b738c41bec49059cc7c
 
1840
msgid "It is a good idea to run refresh, this will update the patch relative to the changed upstream source::"
 
1841
msgstr ""
 
1842
 
 
1843
#: ../ubuntu-packaging-guide/patches-to-packages.rst:146
 
1844
# 8ad4cf528b9d4543b6a610c13ffdd227
 
1845
msgid "Then commit as usual::"
 
1846
msgstr ""
 
1847
 
 
1848
#: ../ubuntu-packaging-guide/patches-to-packages.rst:152
 
1849
# 6f2cbc44cb544b2ebdfe54bda2edb7fc
 
1850
msgid "Making A Package Use Quilt"
 
1851
msgstr ""
 
1852
 
 
1853
#: ../ubuntu-packaging-guide/patches-to-packages.rst:154
 
1854
# 6ca7a58987bb496face3eacc1bfb6f78
 
1855
msgid "Modern packages use Quilt by default, it is built into the packaging format.  Check in ``debian/source/format`` to ensure it says ``3.0 (quilt)``."
 
1856
msgstr ""
 
1857
 
 
1858
#: ../ubuntu-packaging-guide/patches-to-packages.rst:158
 
1859
# e49e867c8e604b53a561bf92af15f40e
 
1860
msgid "Older packages using source format 1.0 will need to explicitly use Quilt, usually by including a makefile into ``debian/rules``."
 
1861
msgstr ""
 
1862
 
 
1863
#: ../ubuntu-packaging-guide/patches-to-packages.rst:163
 
1864
# d91974b6f93a4ebc83b3ebdff6a5d578
 
1865
msgid "Other Patch Systems"
 
1866
msgstr ""
 
1867
 
 
1868
#: ../ubuntu-packaging-guide/patches-to-packages.rst:165
 
1869
# 95e9287c4e5b4d8eb3aebe3f6f3342e3
 
1870
msgid "Other patch systems used by packages include ``dpatch`` and ``cdbs simple-patchsys``, these work similarly to Quilt by keeping patches in debian/patches but have different commands to apply, unapply or create patches. You can use ``edit-patch``, shown in previous chapters, as a reliable way to work with all systems."
 
1871
msgstr ""
 
1872
 
 
1873
#: ../ubuntu-packaging-guide/patches-to-packages.rst:171
 
1874
# f38c643c88ec478f8dffd3c0b3b6107b
 
1875
msgid "Even older packages will include changes directly to sources and kept in the ``diff.gz`` source file.  This makes it hard to upgrade to new upstream versions or differentiate between patches and is best avoided."
 
1876
msgstr ""
 
1877
 
 
1878
#: ../ubuntu-packaging-guide/patches-to-packages.rst:175
 
1879
# 9520c1dcd3714fcbb7cd1a4123db0488
 
1880
msgid "Bazaar Loom is a way to keep patches as part of bzr trees, see :doc:`Working with Patches via Loom<./udd-patchsys>` for more information."
 
1881
msgstr ""
 
1882
 
 
1883
#: ../ubuntu-packaging-guide/patches-to-packages.rst:178
 
1884
# 44bb230bde8243e88d02160fafeb25e1
 
1885
msgid "Do not change a package's patch system without discussing it with the Debian maintainer or relevant Ubuntu team.  If there is no existing patch system then feel free to add Quilt."
 
1886
msgstr ""
 
1887
 
 
1888
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:3
 
1889
# fcaa66fc4d6e4c70a68f6edce85a973f
 
1890
msgid "Security and Stable Release Updates"
 
1891
msgstr ""
 
1892
 
 
1893
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:6
 
1894
# 44937136520b417ab88d6f9dca66a583
 
1895
msgid "Fixing a Security Bug in Ubuntu"
 
1896
msgstr ""
 
1897
 
 
1898
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:11
 
1899
# 6ea8baeb570c49fe81e30b93b0106a86
 
1900
msgid "Fixing security bugs in Ubuntu is not really any different than :doc:`fixing a regular bug in Ubuntu<./fixing-a-bug>`, and it is assumed that you are familiar with patching normal bugs. To demonstrate where things are different, we will be updating the dbus package in Ubuntu 10.04 LTS (Lucid Lynx) for a security update."
 
1901
msgstr ""
 
1902
 
 
1903
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:19
 
1904
# b2012d850e594307ab0fc8ff75da7070
 
1905
msgid "Obtaining the source"
 
1906
msgstr ""
 
1907
 
 
1908
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:21
 
1909
# 50cca424f3334607971cf3b684408134
 
1910
msgid "In this example, we already know we want to fix the dbus package in Ubuntu 10.04 LTS (Lucid Lynx). So first you need to determine the version of the package you want to download. We can use the ``rmadison`` to help with this::"
 
1911
msgstr ""
 
1912
 
 
1913
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:30
 
1914
# 160e2724f58a49d29b12dc794073fce9
 
1915
msgid "Typically you will want to choose the highest version for the release you want to patch that is not in -proposed or -backports. Since we are updating Lucid's dbus, you'll download 1.2.16-2ubuntu4.2 from lucid-updates::"
 
1916
msgstr ""
 
1917
 
 
1918
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:38
 
1919
# f1c7e672c4d04f32bf8fd5455422f789
 
1920
msgid "Patching the source"
 
1921
msgstr ""
 
1922
 
 
1923
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:39
 
1924
# 69bcfabad54d4339bef655df9d2b1001
 
1925
msgid "Now that we have the source package, we need to patch it to fix the vulnerability. You may use whatever patch method that is appropriate for the package, including :doc:`UDD techniques<./udd-intro>`, but this example will use ``edit-patch`` (from the ubuntu-dev-tools package). ``edit-patch`` is the easiest way to patch packages and it is basically a wrapper around every other patch system you can imagine."
 
1926
msgstr ""
 
1927
 
 
1928
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:46
 
1929
# e3377b23d7a547cdaabdf4606ad86234
 
1930
msgid "To create your patch using ``edit-patch``::"
 
1931
msgstr ""
 
1932
 
 
1933
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:51
 
1934
# ea53b2134aae47fb9c41c935c1c14647
 
1935
msgid "This will apply the existing patches and put the packaging in a temporary directory. Now edit the files needed to fix the vulnerability.  Often upstream will have provided a patch so you can apply that patch::"
 
1936
msgstr ""
 
1937
 
 
1938
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:57
 
1939
# c8f4bfe3fbd94f54b2efdee70bd8ecdd
 
1940
msgid "Aftering making the necessary changes, you just hit Ctrl-D or type exit to leave the temporary shell."
 
1941
msgstr ""
 
1942
 
 
1943
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:61
 
1944
# 3ab2cb5e96cf425c8bb62d682dfb5bef
 
1945
msgid "Formatting the changelog and patches"
 
1946
msgstr ""
 
1947
 
 
1948
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:63
 
1949
# 32cf2e90495e499a88a886c1bbecc26e
 
1950
msgid "After applying your patches you will want to update the changelog. The ``dch`` command is used to edit the ``debian/changelog`` file and ``edit-patch`` will launch ``dch`` automatically after unapplying all the patches. If you are not using ``edit-patch``, you can launch ``dch -i`` manually. Unlike with regular patches, you should use the following format (note the distribution name uses lucid-security since this is a security update for Lucid) for security updates::"
 
1951
msgstr ""
 
1952
 
 
1953
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:80
 
1954
# ed919cc67ea9442dac459f1cc3d64aeb
 
1955
msgid "Update your patch to use the appropriate patch tags. Your patch should have at a minimum the Origin, Description and Bug-Ubuntu tags. For example, edit debian/patches/99-fix-a-vulnerability.patch to have something like::"
 
1956
msgstr ""
 
1957
 
 
1958
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:91
 
1959
# 8e0fc3aa272a4b3baf5f4d3c43643d02
 
1960
msgid "Multiple vulnerabilities can be fixed in the same security upload; just be sure to use different patches for different vulnerabilities."
 
1961
msgstr ""
 
1962
 
 
1963
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:95
 
1964
# 814ea189399a4700901458d9e274c17a
 
1965
msgid "Test and Submit your work"
 
1966
msgstr ""
 
1967
 
 
1968
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:97
 
1969
# f8623540f61643408dee80d6a8d176ab
 
1970
msgid "At this point the process is the same as for :doc:`fixing a regular bug in Ubuntu<./fixing-a-bug>`. Specifically, you will want to:"
 
1971
msgstr ""
 
1972
 
 
1973
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:100
 
1974
# a594d5cc105044b79b691029f7176bb4
 
1975
msgid "Build your package and verify that it compiles without error and without any added compiler warnings"
 
1976
msgstr ""
 
1977
 
 
1978
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:102
 
1979
# 8a246f8802e2464693909bfa93b85323
 
1980
msgid "Upgrade to the new version of the package from the previous version"
 
1981
msgstr ""
 
1982
 
 
1983
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:103
 
1984
# 98467e4df61c444a90c17dada9ab0428
 
1985
msgid "Test that the new package fixes the vulnerability and does not introduce any regressions"
 
1986
msgstr ""
 
1987
 
 
1988
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:105
 
1989
# fd79f702d89e41cd8a66e6c26cfd3cf9
 
1990
msgid "Submit your work via a Launchpad merge proposal and file a Launchpad bug being sure to mark the bug as a security bug and to subscribe ``ubuntu-security-sponsors``"
 
1991
msgstr ""
 
1992
 
 
1993
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:109
 
1994
# 3aee8769d59e4288b13ee8d4f9279cd4
 
1995
msgid "If the security vulnerability is not yet public then do not file a merge proposal and ensure you mark the bug as private."
 
1996
msgstr ""
 
1997
 
 
1998
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:112
 
1999
# 4454e4ec4d504a989350286c1dc011a3
 
2000
msgid "The filed bug should include a Test Case, i.e. a comment which clearly shows how to recreate the bug by running the old version then how to ensure the bug no longer exists in the new version."
 
2001
msgstr ""
 
2002
 
 
2003
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:116
 
2004
# 0ed66335fe214b25b3a214779fa79b47
 
2005
msgid "The bug report should also confirm that the issue is fixed in Ubuntu versions newer than the one with the proposed fix (in the above example newer than Lucid).  If the issue is not fixed in newer Ubuntu versions you should prepare updates for those versions too."
 
2006
msgstr ""
 
2007
 
 
2008
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:123
 
2009
# 9d58c76584ab422aad579dc066f350e9
 
2010
msgid "Stable Release Updates"
 
2011
msgstr ""
 
2012
 
 
2013
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:125
 
2014
# b8c8cef56aa84c5683332a6a4ca34e9d
 
2015
msgid "We also allow updates to releases where a package has a high impact bug such as a severe regression from a previous release or a bug which could cause data loss.  Due to the potential for such updates to themselves introduce bugs we only allow this where the change can be easily understood and verified."
 
2016
msgstr ""
 
2017
 
 
2018
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:130
 
2019
# 17790d066b284657a6f8573eb0a33a12
 
2020
msgid "The process for Stable Release Updates is just the same as the proccess for security bugs except you should subscribe ``ubuntu-sru`` to the bug."
 
2021
msgstr ""
 
2022
 
 
2023
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:133
 
2024
# 81a7322879ab43249b9d1cd8a24b8616
 
2025
msgid "The update will go into the ``proposed`` archive (for example ``lucid-proposed``) where it will need to be checked that it fixes the problem and does not introduce new problems.  After a week without reported problems it can be moved to ``updates``."
 
2026
msgstr ""
 
2027
 
 
2028
#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:138
 
2029
# f654430d35904327bb2a7b6ce0a9d903
 
2030
msgid "See the `Stable Release Updates wiki page`_ for more information."
 
2031
msgstr ""
 
2032
 
 
2033
#: ../ubuntu-packaging-guide/traditional-packaging.rst:3
 
2034
# 01e146ed20574b0491518a5fa96a7814
 
2035
msgid "Traditional Packaging"
 
2036
msgstr ""
 
2037
 
 
2038
#: ../ubuntu-packaging-guide/traditional-packaging.rst:5
 
2039
# bfc81f2a439f41328fa57d85524df487
 
2040
msgid "FIXME describe traditional packaging here"
 
2041
msgstr ""
 
2042
 
 
2043
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:3
 
2044
# de45b250ee434651b8ba2943337e2d9e
 
2045
msgid "Getting the Source"
 
2046
msgstr ""
 
2047
 
 
2048
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:6
 
2049
# 708a4d932f37463e9fe6c0a5064dada9
 
2050
msgid "Source package URLs"
 
2051
msgstr ""
 
2052
 
 
2053
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:8
 
2054
# 1377317bd9494ced9d4a0891bee7a957
 
2055
msgid "Bazaar provides some very nice shortcuts for accessing Launchpad's source branches of packages in both Ubuntu and Debian."
 
2056
msgstr ""
 
2057
 
 
2058
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:11
 
2059
# 170a9600a8f44caeae10765baaf7c21f
 
2060
msgid "To refer to source branches use::"
 
2061
msgstr ""
 
2062
 
 
2063
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:15
 
2064
# 1d24fcdc74354dd7bff584230dfea113
 
2065
msgid "where *package* refers to the package name you're interested in.  This URL refers to the package in the current development version of Ubuntu.  To refer to the branch of Tomboy in the development version, you would use::"
 
2066
msgstr ""
 
2067
 
 
2068
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:21
 
2069
# 7d357984ada0447ba0431181a58b5075
 
2070
msgid "To refer to the version of a source package in an older release of Ubuntu, just prefix the package name with the release's code name.  E.g. to refer to Tomboy's source package in Maverick_ use::"
 
2071
msgstr ""
 
2072
 
 
2073
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:27
 
2074
# 403064151cb24c388caca162735fa0bb
 
2075
msgid "Since they are unique, you can also abbreviate the distro-series name::"
 
2076
msgstr ""
 
2077
 
 
2078
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:31
 
2079
# 262e6ccf32c64d649061db02ab0e5f12
 
2080
msgid "You can use a similar scheme to access the source branches in Debian, although there are no shortcuts for the Debian distro-series names.  To access the Tomboy branch in the current development series for Debian use::"
 
2081
msgstr ""
 
2082
 
 
2083
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:37
 
2084
# 0ceef9271de640e28199e83e7a349385
 
2085
msgid "and to access Tomboy in Debian Lenny_ use::"
 
2086
msgstr ""
 
2087
 
 
2088
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:48
 
2089
# e728f15a7ae54e96b3c8999fb3940624
 
2090
msgid "Getting the source"
 
2091
msgstr ""
 
2092
 
 
2093
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:50
 
2094
# a67d179daf624f7dbbaf3eedfcbcaf6b
 
2095
msgid "Every source package in Ubuntu has an associated source branch on Launchpad. These source branches are updated automatically by Launchpad, although the process is not currently foolproof."
 
2096
msgstr ""
 
2097
 
 
2098
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:54
 
2099
# 50f77ec3e33946019d79cf8f8e68c980
 
2100
msgid "There are a couple of things that we do first in order to make the workflow more efficient later.  Once you are used to the process you will learn when it makes sense to skip these steps."
 
2101
msgstr ""
 
2102
 
 
2103
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:62
 
2104
# 811a02ac0bb74e139dcc5e7d10dc3de2
 
2105
msgid "Creating a shared repository"
 
2106
msgstr ""
 
2107
 
 
2108
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:64
 
2109
# ea541ef4f3bc44c7808d29301195de53
 
2110
msgid "You want to work on the Tomboy package in Natty, and you've verified that the source package is named ``tomboy``.  Before actually branching the code for Tomboy, create a shared repository to hold the branches for this package.  The shared repository will make future work much more efficient."
 
2111
msgstr ""
 
2112
 
 
2113
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:70
 
2114
# a93654da2b2842c3883bd62ee844cf65
 
2115
msgid "Do this using the `bzr init-repo` command, passing it the directory name we would like to use::"
 
2116
msgstr ""
 
2117
 
 
2118
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:75
 
2119
# 6ac6ea4044af40e69f14be43ecd8e313
 
2120
msgid "You will see that a `tomboy` directory is created in your current working area.  Change to this new directory for the rest of your work::"
 
2121
msgstr ""
 
2122
 
 
2123
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:82
 
2124
# e26beb7d28ab4c29ab4f6f4e4c609347
 
2125
msgid "Getting the trunk branch"
 
2126
msgstr ""
 
2127
 
 
2128
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:84
 
2129
# 9c8b09e39fa544619be271049b65feb3
 
2130
msgid "We use the `bzr branch` command to create a local branch of the package. We'll name the target directory `tomboy.dev` just to keep things easy to remember::"
 
2131
msgstr ""
 
2132
 
 
2133
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:90
 
2134
# 1c098b0aedf040e9896f809d48da7baf
 
2135
msgid "The tomboy.dev directory represents the version of Tomboy in the development version of Ubuntu, and you can always ``cd`` into this directory and do a `bzr pull` to get any future updates."
 
2136
msgstr ""
 
2137
 
 
2138
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:97
 
2139
# 478330b59866411d9ac4d2b636845be3
 
2140
msgid "Ensuring the version is up to date"
 
2141
msgstr ""
 
2142
 
 
2143
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:99
 
2144
# d3d9360875864092acc72d83fec79552
 
2145
msgid "When you do your ``bzr branch`` you will get a message telling you if the packaging branch is up to date.  For example::"
 
2146
msgstr ""
 
2147
 
 
2148
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:107
 
2149
# 46fe13c7e5414876b713f54610679084
 
2150
msgid "Occasionally the importer fails and packaging branches do not match what is in the archive.  A message saying::"
 
2151
msgstr ""
 
2152
 
 
2153
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:112
 
2154
# 61d9a5892a464d35bd5b53cd3475ced0
 
2155
msgid "means the importer has failed.  You can find out why on http://package-import.ubuntu.com/status/ and `file a bug on the UDD project`_ to get the issue resolved."
 
2156
msgstr ""
 
2157
 
 
2158
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:118
 
2159
# e29e16998b494544859ca798910a447a
 
2160
msgid "Upstream Tar"
 
2161
msgstr ""
 
2162
 
 
2163
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:120
 
2164
# 20386da53a3741a4a7b84b07b6f0415b
 
2165
msgid "You can get the upstream tar by running::"
 
2166
msgstr ""
 
2167
 
 
2168
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:124
 
2169
# a8dd0f34885b4a9a87be2aa44d7d1c6a
 
2170
msgid "This will try a number of methods to get the upstream tar, firstly by recreating it from the ``upstream-x.y`` tag in the bzr archive, then by downloading from the Ubuntu archive, lastly by running ``debian/rules get-orig-source``. The upstream tar will also be recreated when using bzr to build the package::"
 
2171
msgstr ""
 
2172
 
 
2173
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:132
 
2174
# f92e4efcc80749d4a2d194c830a44e04
 
2175
msgid "The `builddeb` plugin has several `configuration options`_."
 
2176
msgstr ""
 
2177
 
 
2178
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:136
 
2179
# 1549cda4ab0f4671921760913c600e9d
 
2180
msgid "Getting a branch for a particular release"
 
2181
msgstr ""
 
2182
 
 
2183
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:138
 
2184
# 5e1d5d3463784729b51804337afd0f15
 
2185
msgid "When you want to do something like a `stable release update`_ (SRU), or you just want to examine the code in an old release, you'll want to grab the branch corresponding to a particular Ubuntu release.  For example, to get the Tomboy package for Maverick do::"
 
2186
msgstr ""
 
2187
 
 
2188
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:147
 
2189
# 89b049dc5a4e4ab4a5d79fba7de14a97
 
2190
msgid "Importing a Debian source package"
 
2191
msgstr ""
 
2192
 
 
2193
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:149
 
2194
# 948574e1256b401c845dbde95388ad7a
 
2195
msgid "If the package you want to work on is available in Debian but not Ubuntu, it's still easy to import the code to a local bzr branch for development.  Let's say you want to import the `newpackage` source package.  We'll start by creating a shared repository as normal, but we also have to create a working tree to which the source package will be imported (remember to cd out of the `tomboy` directory created above)::"
 
2196
msgstr ""
 
2197
 
 
2198
#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:162
 
2199
# 68b9d2904b2042c8a2feeca5b2112463
 
2200
msgid "As you can see, we just need to provide the remote location of the dsc file, and Bazaar will do the rest.  You've now got a Bazaar source branch."
 
2201
msgstr ""
 
2202
 
 
2203
#: ../ubuntu-packaging-guide/udd-intro.rst:3
 
2204
# e02e5ddbac284aa99584a94dd0782d6e
 
2205
msgid "Ubuntu Distributed Development - Introduction"
 
2206
msgstr ""
 
2207
 
 
2208
#: ../ubuntu-packaging-guide/udd-intro.rst:5
 
2209
# 7ee4234b07754d448c2002b58fcf0a5a
 
2210
msgid "This guide focuses on packaging using the *Ubuntu Distributed Development* (UDD) method."
 
2211
msgstr ""
 
2212
 
 
2213
#: ../ubuntu-packaging-guide/udd-intro.rst:8
 
2214
# f06705abe97045758ae653af62eab8a6
 
2215
msgid "*Ubuntu Distributed Development* (UDD) is a new technique for developing Ubuntu packages that uses tools, processes, and workflows similar to generic distributed version control system (DVCS) based software development.  The DVCS used for UDD is Bazaar_."
 
2216
msgstr ""
 
2217
 
 
2218
#: ../ubuntu-packaging-guide/udd-intro.rst:14
 
2219
# dc7215466a424301828c9e3bcde1a22f
 
2220
msgid "Traditional Packaging Limitations"
 
2221
msgstr ""
 
2222
 
 
2223
#: ../ubuntu-packaging-guide/udd-intro.rst:16
 
2224
# 371cfc21d714497ab868f5e1854d61ef
 
2225
msgid "Traditionally Ubuntu packages have been kept in tar archive files.  A traditional source package is made up of the upstream source tar, a \"debian\" tar (or compressed diff file for older packages) containing the packaging and a .dsc meta-data file.  To see a traditional package run::"
 
2226
msgstr ""
 
2227
 
 
2228
#: ../ubuntu-packaging-guide/udd-intro.rst:23
 
2229
# 1aadf41ee8ef444083f2dea4ad45ec67
 
2230
msgid "This will download the upstream source ``kdetoys_4.6.5.orig.tar.bz2``, the packaging ``kdetoys_4.6.5-0ubuntu1.debian.tar.gz`` and the meta-data ``kdetoys_4.6.5-0ubuntu1~ppa1.dsc``.  Assuming you have dpkg-dev installed it will extract these and give you the source package."
 
2231
msgstr ""
 
2232
 
 
2233
#: ../ubuntu-packaging-guide/udd-intro.rst:28
 
2234
# cf162dd8ac104619800b05a4e8706935
 
2235
msgid "Traditional packaging would edit these files and upload.  However this gives limited opportunity to collaborate with other developers, changes have to be passed around as diff files with no central way to track them and two developers can not make changes at the same time.  So most teams have moved to putting their packaging in a revision control system.  This makes it easier for several developers to work on a package together.  However there is no direct connection between the revision control system and the archive packages so the two must be manually kept in sync.  Since each team works in its own revision control system a prospective developer must first work out where that is and how to get the packaging before they can work on the package."
 
2236
msgstr ""
 
2237
 
 
2238
#: ../ubuntu-packaging-guide/udd-intro.rst:40
 
2239
# ae01db626fea46f78e6cd18691596898
 
2240
msgid "Ubuntu Distributed Development"
 
2241
msgstr ""
 
2242
 
 
2243
#: ../ubuntu-packaging-guide/udd-intro.rst:42
 
2244
# 974d49485a2849168e9942b0804aa69e
 
2245
msgid "With Ubuntu Distributed Development all packages in the Ubuntu (and Debian) archive are automatically imported into Bazaar branches on our code hosting site Launchpad.  Changes can be made directly to these branches in incremental steps and by anyone with commit access.  Changes can also be made in forked branched and merged back in with Merge Proposals when they are large enough to need review or if they are by someone without direct commit access."
 
2246
msgstr ""
 
2247
 
 
2248
#: ../ubuntu-packaging-guide/udd-intro.rst:49
 
2249
# 2af22c6ccf5947babf7cc5902e40e461
 
2250
msgid "UDD branches are all in a standard location so doing a checkout is easy::"
 
2251
msgstr ""
 
2252
 
 
2253
#: ../ubuntu-packaging-guide/udd-intro.rst:53
 
2254
# cb5e2ec745b64f1693c487a5cf6e4bbd
 
2255
msgid "The merge history includes two separate branches, one for the upstream source and one which adds the ``debian/`` packaging directory::"
 
2256
msgstr ""
 
2257
 
 
2258
#: ../ubuntu-packaging-guide/udd-intro.rst:59
 
2259
# 1054f464b56142dab7d1a8e336bda0a4
 
2260
msgid "(This command uses *qbzr* for a GUI, run ``log`` instead of ``qlog`` for console output.)"
 
2261
msgstr ""
 
2262
 
 
2263
#: ../ubuntu-packaging-guide/udd-intro.rst:64
 
2264
# 1dab11a12fd74a3c9b6b0381b1097201
 
2265
msgid "This UDD branch of *kdetoys* shows the full packaging for each version uploaded to Ubuntu with grey circles and the upstream source versions with green circles.  Versions are tagged with either the version in Ubuntu such as ``4:4.2.29-0ubuntu1`` or for the upstream branch with the upstream version ``upstream-4.2.96``."
 
2266
msgstr ""
 
2267
 
 
2268
#: ../ubuntu-packaging-guide/udd-intro.rst:70
 
2269
# bc572117cad0476eb5548602d8dec778
 
2270
msgid "Many Ubuntu packages are based on the packages in Debian, UDD also imports the Debian package into our branches.  In the *kdetoys* branch above the Debian versions from *unstable* are from the merge with blue circles while those from *Debian experimental* are from the merge with yellow circles.  Debian released are tagged with their version number e.g. ``4:4.2.2-1``."
 
2271
msgstr ""
 
2272
 
 
2273
#: ../ubuntu-packaging-guide/udd-intro.rst:76
 
2274
# dacd0f46f92a406c86b2679ce3bf4e28
 
2275
msgid "So from a UDD branch you can see the complete history of changes to the package and compare any two versions.  For example, to see the changes between version 4.2.2 in Debian and the 4.2.2 in Ubuntu use::"
 
2276
msgstr ""
 
2277
 
 
2278
#: ../ubuntu-packaging-guide/udd-intro.rst:82
 
2279
# d71b4d03fccb4e2680449bdc9fa8669b
 
2280
msgid "(This command uses *qbzr* for a GUI, run ``diff`` instead of ``qdiff`` for console output.)"
 
2281
msgstr ""
 
2282
 
 
2283
#: ../ubuntu-packaging-guide/udd-intro.rst:87
 
2284
# 208d833fb66e44b7b0ac5a51f0e6d6ef
 
2285
msgid "From this we can clearly see what has changed in Ubuntu compared to Debian, very handy."
 
2286
msgstr ""
 
2287
 
 
2288
#: ../ubuntu-packaging-guide/udd-intro.rst:91
 
2289
# ae15adc6961442969d8f05f291313348
 
2290
msgid "Bazaar"
 
2291
msgstr ""
 
2292
 
 
2293
#: ../ubuntu-packaging-guide/udd-intro.rst:93
 
2294
# 25ba427a878d451eb0d6bcf63ee5ce00
 
2295
msgid "UDD branches use Bazaar, a distributed revision control system intended to be easy to use for those familiar with popular systems such as Subversion while offering the power of Git."
 
2296
msgstr ""
 
2297
 
 
2298
#: ../ubuntu-packaging-guide/udd-intro.rst:97
 
2299
# f0cefb6f5b3a485aa4e7f7e1819e7cdf
 
2300
msgid "To do packaging with UDD you will need to know the basics of how to use Bazaar to manage files.  For an introduction to Bazaar see the `Bazaar Five Minute Tutorial <http://doc.bazaar.canonical.com/bzr.dev/en/mini-tutorial/index.html>`_ and the `Bazaar Users Guide <http://doc.bazaar.canonical.com/bzr.dev/en/user-guide/index.html>`_."
 
2301
msgstr ""
 
2302
 
 
2303
#: ../ubuntu-packaging-guide/udd-intro.rst:105
 
2304
# c08d41d2e3c94aebb87744586cee7534
 
2305
msgid "Limitations of UDD"
 
2306
msgstr ""
 
2307
 
 
2308
#: ../ubuntu-packaging-guide/udd-intro.rst:107
 
2309
# adf0a0ae209340c592c8159ca0f14d66
 
2310
msgid "Ubuntu Distributed Development is a new method for working with Ubuntu packages.  It currently has some notable limitations:"
 
2311
msgstr ""
 
2312
 
 
2313
#: ../ubuntu-packaging-guide/udd-intro.rst:110
 
2314
# 74f68a68c767479c89d3d0ee9396c90f
 
2315
msgid "Doing a full branch with history can take a lot of time and network resources.  You may find it quicker to do a lightweight checkout ``bzr checkout --lightweight ubuntu:kdetoys`` but this will need a network access for any further bzr operations."
 
2316
msgstr ""
 
2317
 
 
2318
#: ../ubuntu-packaging-guide/udd-intro.rst:115
 
2319
# 4cbeca18d43241faa9c2c1e3817ffa90
 
2320
msgid "Working with patches is fiddly.  Patches can be seen as a branched revision control system, so we end up with RCS on top of RCS."
 
2321
msgstr ""
 
2322
 
 
2323
#: ../ubuntu-packaging-guide/udd-intro.rst:118
 
2324
# 7b4d6c271a8d45f5bac7e40ebff32612
 
2325
msgid "There is no way to build directly from branches.  You need to create a source package and upload that."
 
2326
msgstr ""
 
2327
 
 
2328
#: ../ubuntu-packaging-guide/udd-intro.rst:121
 
2329
# 270ea10b5b5940219b098bfc706f4d40
 
2330
msgid "Some packages have not been successfully imported into UDD branches.  Recent versions of Bazaar will automatically notify you when this is the case. You can also check the `status of the package importer`_ manually before working on a branch."
 
2331
msgstr ""
 
2332
 
 
2333
#: ../ubuntu-packaging-guide/udd-intro.rst:126
 
2334
# 3bb30727b0e849be88b4583d071b56d3
 
2335
msgid "All of the above are being worked on and UDD is expected to become the main way to work on Ubuntu packages soon.  However currently most teams within Ubuntu do not yet work with UDD branches for their  development.  However because UDD branches are the same as the packages in the  archive any team should be able to accept merges against them."
 
2336
msgstr ""
 
2337
 
 
2338
#: ../ubuntu-packaging-guide/udd-latest.rst:3
 
2339
# 9d1a300c3d9345369085e904b67313c1
 
2340
msgid "Getting The Latest"
 
2341
msgstr ""
 
2342
 
 
2343
#: ../ubuntu-packaging-guide/udd-latest.rst:5
 
2344
# 339c0245957f4160b0005b947a3e0d49
 
2345
msgid "If someone else has landed changes on a package, you will want to pull those changes in your own copies of the package branches."
 
2346
msgstr ""
 
2347
 
 
2348
#: ../ubuntu-packaging-guide/udd-latest.rst:10
 
2349
# c18361aeed4245cab2688e479f43a4eb
 
2350
msgid "Updating your main branch"
 
2351
msgstr ""
 
2352
 
 
2353
#: ../ubuntu-packaging-guide/udd-latest.rst:12
 
2354
# a3d5cd0913d04caabf195aeb2cda64c4
 
2355
msgid "Updating your copy of a branch that corresponds to the package in a particular release is very simple, simply use `bzr pull` from the appropriate directory::"
 
2356
msgstr ""
 
2357
 
 
2358
#: ../ubuntu-packaging-guide/udd-latest.rst:18
 
2359
# 575912a50bdb4bc2ab0148d8acfb7535
 
2360
msgid "This works wherever you have a checkout of a branch, so it will work for things like branches of `maverick`, `hardy-proposed`, etc."
 
2361
msgstr ""
 
2362
 
 
2363
#: ../ubuntu-packaging-guide/udd-latest.rst:23
 
2364
# 715c9c2a3372432babab101922e160f8
 
2365
msgid "Getting the latest in to your working branches"
 
2366
msgstr ""
 
2367
 
 
2368
#: ../ubuntu-packaging-guide/udd-latest.rst:25
 
2369
# e4fcfc4c42594affae741d5a17617daf
 
2370
msgid "Once you have updated your copy of a distroseries branch, then you may want to merge this in to your working branches as well, so that they are based on the latest code."
 
2371
msgstr ""
 
2372
 
 
2373
#: ../ubuntu-packaging-guide/udd-latest.rst:29
 
2374
# 55c9366ed7bb49f7b149db6445b466bc
 
2375
msgid "You don't have to do this all the time though.  You can work on slightly older code with no problems.  The disadvantage would come if you were working on some code that someone else changed.  If you are not working on the latest version then your changes may not be correct, and may even produce conflicts."
 
2376
msgstr ""
 
2377
 
 
2378
#: ../ubuntu-packaging-guide/udd-latest.rst:34
 
2379
# 69a77acb1eb54553bc5dcd9c3d08a871
 
2380
msgid "The merge does have to be done at some point though.  The longer it is left, the harder may be, so doing it regularly should keep each merge simple.  Even if there are many merges the total effort would hopefully be less."
 
2381
msgstr ""
 
2382
 
 
2383
#: ../ubuntu-packaging-guide/udd-latest.rst:38
 
2384
# eef9b9378c9b45838c22b8f4773953c5
 
2385
msgid "To merge the changes you just need to use ``bzr merge``, but you must have committed your current work first::"
 
2386
msgstr ""
 
2387
 
 
2388
#: ../ubuntu-packaging-guide/udd-latest.rst:44
 
2389
# 3edc5b6354f848f4b32613cde5118ac9
 
2390
msgid "Any conflicts will be reported, and you can fix them up.  To review the changes that you just merged use ``bzr diff``.  To undo the merge use ``bzr revert``.  Once you are happy with the changes then use ``bzr commit``."
 
2391
msgstr ""
 
2392
 
 
2393
#: ../ubuntu-packaging-guide/udd-latest.rst:50
 
2394
# 21afeaadd6df4d46ba383135caa1d5a5
 
2395
msgid "Referring to versions of a package"
 
2396
msgstr ""
 
2397
 
 
2398
#: ../ubuntu-packaging-guide/udd-latest.rst:52
 
2399
# f680cb9690844d4e8d5cf6456ebb4348
 
2400
msgid "You will often think in terms of versions of a package, rather than the underlying Bazaar revision numbers.  `bzr-builddeb` provides a revision specifier that makes this convenient.  Any command that takes a ``-r`` argument to specify a revision or revision range will work with this specifier, e.g. ``bzr log``, ``bzr diff``, and so on.  To view the versions of a package, use the ``package:`` specifier::"
 
2401
msgstr ""
 
2402
 
 
2403
#: ../ubuntu-packaging-guide/udd-latest.rst:61
 
2404
# c52b8e18c3ac403c97a547b08b53b4d6
 
2405
msgid "This shows you the difference between package version 0.1-1 and 0.1-2."
 
2406
msgstr ""
 
2407
 
 
2408
#: ../ubuntu-packaging-guide/udd-merging.rst:3
 
2409
# dc68e05842b14b3abc7d029142195608
 
2410
msgid "Merging - Updating from Debian and Upstream"
 
2411
msgstr ""
 
2412
 
 
2413
#: ../ubuntu-packaging-guide/udd-merging.rst:5
 
2414
# 3f98d76a08334a3ba6086f2cc533d3e4
 
2415
msgid "Merging is one of the strengths of Bazaar, and something we do often in Ubuntu development.  Updates can be merged from Debian, from a new upstream release, and from other Ubuntu developers.  Doing it in Bazaar is pretty simple, and all based around the ``bzr merge`` command [#]_."
 
2416
msgstr ""
 
2417
 
 
2418
#: ../ubuntu-packaging-guide/udd-merging.rst:10
 
2419
# a21a2c24adf84561899031d40cee0f7e
 
2420
msgid "While you are in any branch's working directory, you can merge in a branch from a different location.  First check that you have no uncommitted changes::"
 
2421
msgstr ""
 
2422
 
 
2423
#: ../ubuntu-packaging-guide/udd-merging.rst:15
 
2424
# 0e0a11b7d1434c9ab7fc02be50311ba1
 
2425
msgid "If that reports anything then you will either have to commit the changes, revert them, or shelve them to come back to later."
 
2426
msgstr ""
 
2427
 
 
2428
#: ../ubuntu-packaging-guide/udd-merging.rst:20
 
2429
# 30562ac2599a48a09b26b05d6de6baa6
 
2430
msgid "Merging from Debian"
 
2431
msgstr ""
 
2432
 
 
2433
#: ../ubuntu-packaging-guide/udd-merging.rst:22
 
2434
# 4afeb333b11b413d8b0aaaa4bf51ed3f
 
2435
msgid "Next run ``bzr merge`` passing the URL of the branch to merge from.  For example, to merge from the version of the package in Debian Squeeze_ run::"
 
2436
msgstr ""
 
2437
 
 
2438
#: ../ubuntu-packaging-guide/udd-merging.rst:27
 
2439
# bb6d2b7b4af740fd8421f9de5170ff16
 
2440
msgid "This will merge the changes since the last merge point and leave you with changes to review.  This may cause some conflicts.  You can see everything that the ``merge`` command did by running::"
 
2441
msgstr ""
 
2442
 
 
2443
#: ../ubuntu-packaging-guide/udd-merging.rst:34
 
2444
# 6ee5bb94d7304d97b2dfcec95e70dcd9
 
2445
msgid "If conflicts are reported then you need to edit those files to make them look how they should, removing the *conflict markers*.  Once you have done this, run::"
 
2446
msgstr ""
 
2447
 
 
2448
#: ../ubuntu-packaging-guide/udd-merging.rst:41
 
2449
# 8facda931138401d9d746d6cbfdf8cff
 
2450
msgid "This will resolve any conflicted files that you fixed, and then tell you what else you have to deal with."
 
2451
msgstr ""
 
2452
 
 
2453
#: ../ubuntu-packaging-guide/udd-merging.rst:44
 
2454
# 37232a75c2d64e788788e8d3c9cbdcfd
 
2455
msgid "Once any conflicts are resolved, and you have made any other changes that you need, you will add a new changelog entry, and commit::"
 
2456
msgstr ""
 
2457
 
 
2458
#: ../ubuntu-packaging-guide/udd-merging.rst:50
 
2459
# 4d14975e51ae4c27ac3ae6b461b69c8d
 
2460
msgid "as described earlier."
 
2461
msgstr ""
 
2462
 
 
2463
#: ../ubuntu-packaging-guide/udd-merging.rst:52
 
2464
# f1f7aa3a73ba40f29456f5de9273d269
 
2465
msgid "However, before you commit, it is always a good thing to check all the Ubuntu changes by running::"
 
2466
msgstr ""
 
2467
 
 
2468
#: ../ubuntu-packaging-guide/udd-merging.rst:57
 
2469
# 9092dbac4b564f63885a506f41582d51
 
2470
msgid "which will show the differences between the Debian (0.6.10-5) and Ubuntu versions (0.6.10-5ubuntu1).  In similar way you can compare to any other versions.  To see all available versions run::"
 
2471
msgstr ""
 
2472
 
 
2473
#: ../ubuntu-packaging-guide/udd-merging.rst:63
 
2474
# d79b9b8fe0324043845b29278e565bce
 
2475
msgid "After testing and committing the merge, you will need to seek sponsorship or upload to the archive in the normal way."
 
2476
msgstr ""
 
2477
 
 
2478
#: ../ubuntu-packaging-guide/udd-merging.rst:66
 
2479
# 19eca11f7f7a4c49a9dffa97507b559e
 
2480
msgid "If you are going to build the source package from this merged branch, you would use the ``-S`` option to the ``bd`` command.  One other thing you'll want to consider is also using the ``--package-merge`` option.  This will add the appropriate ``-v`` and ``-sa`` options to the source package so that all the changelog entries since the last Ubuntu change will be included in your ``_source.changes`` file.  For example::"
 
2481
msgstr ""
 
2482
 
 
2483
#: ../ubuntu-packaging-guide/udd-merging.rst:77
 
2484
# e3d88b2d11f54e8f848d128cdcfbc928
 
2485
msgid "Merging a new upstream version"
 
2486
msgstr ""
 
2487
 
 
2488
#: ../ubuntu-packaging-guide/udd-merging.rst:79
 
2489
# 099bfde19f2041ef82ac880fb89a7656
 
2490
msgid "When upstream releases a new version (or you want to package a snapshot), you have to merge a tarball into your branch."
 
2491
msgstr ""
 
2492
 
 
2493
#: ../ubuntu-packaging-guide/udd-merging.rst:82
 
2494
# ca21132b09dd42f6bae10b7be5d30595
 
2495
msgid "This is done using the ``bzr merge-upstream`` command.  If your package has a valid ``debian/watch`` file, from inside the branch that you want to merge to, just type this::"
 
2496
msgstr ""
 
2497
 
 
2498
#: ../ubuntu-packaging-guide/udd-merging.rst:88
 
2499
# 56b3c9414eb44d2991f7b0d92d00f373
 
2500
msgid "This will download the tarball and merge it into your branch, automatically adding a ``debian/changelog`` entry for you.  ``bzr-builddeb`` looks at the ``debian/watch`` file for the upstream tarball location."
 
2501
msgstr ""
 
2502
 
 
2503
#: ../ubuntu-packaging-guide/udd-merging.rst:92
 
2504
# 5b6202491b164f509bdb9b99311fcf3d
 
2505
msgid "If you do *not* have a ``debian/watch`` file, you'll need to specify the location of the upstream tarball, and the version manually::"
 
2506
msgstr ""
 
2507
 
 
2508
#: ../ubuntu-packaging-guide/udd-merging.rst:97
 
2509
# 53db9d767eca4e80ba838d2b78832063
 
2510
msgid "The ``--version`` option is used to specify the upstream version that is being merged in, as the command isn't able to infer that (yet)."
 
2511
msgstr ""
 
2512
 
 
2513
#: ../ubuntu-packaging-guide/udd-merging.rst:100
 
2514
# deda3c9c46464074b40bfa7a04c15155
 
2515
msgid "The last parameter is the location of the tarball that you are upgrading to; this can either be a local filesystem path, or a http, ftp, sftp, etc. URI as shown.  The command will automatically download the tarball for you.  The tarball will be renamed appropriately and, if required, converted to ``.gz``."
 
2516
msgstr ""
 
2517
 
 
2518
#: ../ubuntu-packaging-guide/udd-merging.rst:105
 
2519
# a8a8873c3b9745318bdaf72cd43d01e6
 
2520
msgid "The `merge-upstream` command will either tell you that it completed successfully, or that there were conflicts.  Either way you will be able to review the changes before committing as normal."
 
2521
msgstr ""
 
2522
 
 
2523
#: ../ubuntu-packaging-guide/udd-merging.rst:109
 
2524
# 90b4d273a547482c9c5ecd37bdcc836d
 
2525
msgid "If you are merging an upstream release into an existing Bazaar branch that has not previously used the UDD layout, ``bzr merge-upstream`` will fail with an error that the tag for the previous upstream version is not available; the merge can't be completed without knowing what base version to merge against. To work around this, create a tag in your existing repository for the last upstream version present there; e.g., if the last Ubuntu release was *1.1-0ubuntu3*, create the tag *upstream-1.1* pointing to the bzr revision you want to use as the tip of the upstream branch."
 
2526
msgstr ""
 
2527
 
 
2528
#: ../ubuntu-packaging-guide/udd-merging.rst:122
 
2529
# 010017a3c74341108012280452144e2d
 
2530
msgid "You will need newer versions of ``bzr`` and the ``bzr-builddeb`` for the ``merge`` command to work.  Use the versions from Ubuntu 12.04 (Precise) or the development versions from the ``bzr`` PPA.  Specifically, you need ``bzr`` version 2.5 beta 5 or newer, and ``bzr-builddeb`` version 2.8.1 or newer.  For older versions, use the ``bzr merge-package`` command instead."
 
2531
msgstr ""
 
2532
 
 
2533
#: ../ubuntu-packaging-guide/udd-newpackage.rst:3
 
2534
# b8687b8342d4484381ab0009d7571faf
 
2535
msgid "Building a new package"
 
2536
msgstr ""
 
2537
 
 
2538
#: ../ubuntu-packaging-guide/udd-newpackage.rst:5
 
2539
# da3d76bf462b4fd28237be3b02d73c47
 
2540
msgid "Let's say I have an upstream project that is not yet available for Ubuntu.  I want to create a package from this project and make it available as a PPA_ so that other people can more easily use the code.  This also makes a good first step in contributing your package to universe_."
 
2541
msgstr ""
 
2542
 
 
2543
#: ../ubuntu-packaging-guide/udd-newpackage.rst:12
 
2544
# 900f00a174714536a096ade529c569ac
 
2545
msgid "Example package"
 
2546
msgstr ""
 
2547
 
 
2548
#: ../ubuntu-packaging-guide/udd-newpackage.rst:14
 
2549
# feeb33594e7442ed8e558be19bc3e7f5
 
2550
msgid "I started with a Python library called `flufl.enum`_, which is a fairly typical setuptools-based Python package.  Fortunately, it's also maintained in Launchpad using Bazaar, so that makes bootstrapping much easier."
 
2551
msgstr ""
 
2552
 
 
2553
#: ../ubuntu-packaging-guide/udd-newpackage.rst:18
 
2554
# f765bafb78864679b1059e3f15db3a0d
 
2555
msgid "Because we want to package the trunk branch, getting started is pretty simple::"
 
2556
msgstr ""
 
2557
 
 
2558
#: ../ubuntu-packaging-guide/udd-newpackage.rst:31
 
2559
# 39a9d3352730400c808925727ac7d6c5
 
2560
msgid "Bootstrapping"
 
2561
msgstr ""
 
2562
 
 
2563
#: ../ubuntu-packaging-guide/udd-newpackage.rst:33
 
2564
# b1ce6212d91948cfbb6f9bedfa2877c7
 
2565
msgid "You need to create the initial ``debian`` directory, as well as the necessary files inside the ``debian`` directory.  Currently, there are many ways to set up this directory, but hopefully there will be `some convergence`_ in the methods, especially if you're building standard Python setuptools-based libraries and applications."
 
2566
msgstr ""
 
2567
 
 
2568
#: ../ubuntu-packaging-guide/udd-newpackage.rst:43
 
2569
# f87c0194eae54e80964fc3c92f512a2b
 
2570
msgid "The bzr-builddeb way"
 
2571
msgstr ""
 
2572
 
 
2573
#: ../ubuntu-packaging-guide/udd-newpackage.rst:45
 
2574
# 940940706e2c4f2e84b92c940d147915
 
2575
msgid "You could use the ``dh_make`` command to get things going, or similarly the ``bzr dh-make``.  The latter might provide some benefits, and can be run like so from inside your branch::"
 
2576
msgstr ""
 
2577
 
 
2578
#: ../ubuntu-packaging-guide/udd-newpackage.rst:52
 
2579
# b5d07b47aa6a4743b10c5da608ed31e7
 
2580
msgid "If you don't have a URL to download a tarball from, you'll need to create the tarball locally first.  Use ``bzr dh-make --help`` for details on this command."
 
2581
msgstr ""
 
2582
 
 
2583
#: ../ubuntu-packaging-guide/udd-newpackage.rst:55
 
2584
# ad64e2f4ef1d4cd6b7a9cb18b35afe96
 
2585
msgid "After you've created the ``debian`` directory template, be sure to ``bzr rm`` any ``debian`` files you don't need (e.g. the ``*.ex`` files), and edit files such as ``debian/control``, ``debian/watch``, ``debian/copyright`` and ``debian/changelog``.  The following section may give you some hints about that."
 
2586
msgstr ""
 
2587
 
 
2588
#: ../ubuntu-packaging-guide/udd-newpackage.rst:63
 
2589
# 1ba898157b814592a161633f29a60663
 
2590
msgid "The stdeb way"
 
2591
msgstr ""
 
2592
 
 
2593
#: ../ubuntu-packaging-guide/udd-newpackage.rst:65
 
2594
# b1184b49f04442a3a80709e934d63205
 
2595
msgid "Another way for creating the initial ``debian`` directory for Python setuptools-based packages, is to use the stdeb_ package.  The full documentation for this package is available on the `upstream home`_, but you won't need all of the commands.  stdeb has a command that is *exactly* what we're looking for!"
 
2596
msgstr ""
 
2597
 
 
2598
#: ../ubuntu-packaging-guide/udd-newpackage.rst:71
 
2599
# 7565c365c47b4e63b4301d873d7269ae
 
2600
msgid "In either case, start by putting this in your ``~/.pydistutils.cfg`` file::"
 
2601
msgstr ""
 
2602
 
 
2603
#: ../ubuntu-packaging-guide/udd-newpackage.rst:78
 
2604
# 13b8f0432f434c3cad4a07f63df7bc5d
 
2605
msgid "Modern stdeb"
 
2606
msgstr ""
 
2607
 
 
2608
#: ../ubuntu-packaging-guide/udd-newpackage.rst:80
 
2609
# 4a75fbc5a4774bd4a0a03ba0e13f0c62
 
2610
msgid "Here's how easy it is::"
 
2611
msgstr ""
 
2612
 
 
2613
#: ../ubuntu-packaging-guide/udd-newpackage.rst:86
 
2614
# fa8392053d014f42b7e82ec702b7466f
 
2615
msgid "We also need a ``debian/copyright`` file.  Normally, we'd use ``dh_make -c`` for that but again, that doesn't play nicely with UDD.  ``dh_make`` expects a particular file system layout that we don't have.  No matter, we'll add the copyright file manually::"
 
2616
msgstr ""
 
2617
 
 
2618
#: ../ubuntu-packaging-guide/udd-newpackage.rst:98
 
2619
# 83c9385cd7e44dbcbad56c6dc64b116d
 
2620
msgid "stdeb <= 0.5.1"
 
2621
msgstr ""
 
2622
 
 
2623
#: ../ubuntu-packaging-guide/udd-newpackage.rst:100
 
2624
# adb471ff8471413ba7f3702a77ff1c4a
 
2625
msgid "If you have an older version of stdeb, use this command to create the basic ``debian/`` directory layout::"
 
2626
msgstr ""
 
2627
 
 
2628
#: ../ubuntu-packaging-guide/udd-newpackage.rst:105
 
2629
# 442e744568aa4afdba53c9ac58e992ec
 
2630
msgid "This command leaves you with a ``deb_dist`` directory containing a ``flufl.enum_3.0.1`` directory.  Inside that is your ``debian/`` directory. Because we're using UDD we don't care about anything else that ``sdist_dsc`` produces, so we can shuffle things around and remove the cruft."
 
2631
msgstr ""
 
2632
 
 
2633
#: ../ubuntu-packaging-guide/udd-newpackage.rst:110
 
2634
# a9095a611011467283d8b1e16ad71cde
 
2635
msgid "$ mv deb_dist/munepy-2.0.1/debian . $ rm -rf deb_dist $ bzr add debian $ bzr commit -m'Add debian directory'"
 
2636
msgstr ""
 
2637
 
 
2638
#: ../ubuntu-packaging-guide/udd-newpackage.rst:117
 
2639
# d84805c6b2ff43d1815ed48cd6561ca1
 
2640
msgid "pkgme"
 
2641
msgstr ""
 
2642
 
 
2643
#: ../ubuntu-packaging-guide/udd-newpackage.rst:119
 
2644
# e397d168c1464148a5e29252e0c05116
 
2645
msgid "pkgme_ is a new tool that makes it easy to Debianize a new package.  TBD: describe how to use it."
 
2646
msgstr ""
 
2647
 
 
2648
#: ../ubuntu-packaging-guide/udd-newpackage.rst:124
 
2649
# 355c0182eaad4d768364d1dc84933f38
 
2650
msgid "debian/control file"
 
2651
msgstr ""
 
2652
 
 
2653
#: ../ubuntu-packaging-guide/udd-newpackage.rst:126
 
2654
# 09b6bf2c91584bec9c9eb829f34241bd
 
2655
msgid "You probably want to edit the ``debian/control`` file at this point, adding any information that's missing, or fixing incorrect default information.  For example, I needed to modify the ``Maintainer`` and ``Description`` fields, and add ``X-Python-Version`` and ``Homepage`` fields."
 
2656
msgstr ""
 
2657
 
 
2658
#: ../ubuntu-packaging-guide/udd-newpackage.rst:131
 
2659
# 631a463946764d31afd3cdeee7d37d37
 
2660
msgid "Now we want to build the source package.  The easiest way to do that is with the ``bzr-builddeb`` plugin, however this requires a valid ``debian/watch`` file so that builddeb can find the upstream tarball.  This really should match the version of the checkout you've made."
 
2661
msgstr ""
 
2662
 
 
2663
#: ../ubuntu-packaging-guide/udd-newpackage.rst:138
 
2664
# 9fe80612b0f241069d9c6c1eeadce841
 
2665
msgid "debian/watch file"
 
2666
msgstr ""
 
2667
 
 
2668
#: ../ubuntu-packaging-guide/udd-newpackage.rst:140
 
2669
# a718657059c940a6a3c66efda75eb96d
 
2670
msgid "Here for example is the ``debian/watch`` file I'm using::"
 
2671
msgstr ""
 
2672
 
 
2673
#: ../ubuntu-packaging-guide/udd-newpackage.rst:145
 
2674
# d553ecdd289b46feb5bb770b10486af5
 
2675
msgid "If your tarballs live on Launchpad, the ``debian/watch`` file is a little more complicated (see `Question 21146`_ and `Bug 231797`_ for why this is).  In that case, use something like::"
 
2676
msgstr ""
 
2677
 
 
2678
#: ../ubuntu-packaging-guide/udd-newpackage.rst:152
 
2679
# 418bf4f02fac439d998f992dbe976a8a
 
2680
msgid "So, then it's a matter of...::"
 
2681
msgstr ""
 
2682
 
 
2683
#: ../ubuntu-packaging-guide/udd-newpackage.rst:159
 
2684
# c12649f825014fe483b750d0c8964490
 
2685
msgid "Building the source package"
 
2686
msgstr ""
 
2687
 
 
2688
#: ../ubuntu-packaging-guide/udd-newpackage.rst:161
 
2689
# a94c3b29dc50469598d0f49d695c5165
 
2690
msgid "Now we can build the source package and publish the package as we normally would, with ``bzr builddeb -S`` and ``dput``."
 
2691
msgstr ""
 
2692
 
 
2693
#: ../ubuntu-packaging-guide/udd-patchsys.rst:3
 
2694
# f6fb6d9a352d4554abbeb9b2e3acefd9
 
2695
msgid "Working with Patches"
 
2696
msgstr ""
 
2697
 
 
2698
#: ../ubuntu-packaging-guide/udd-patchsys.rst:5
 
2699
# 0363d3d4f8bf4c7b8e08d01edaf97bad
 
2700
msgid "Many existing packages that have changes from upstream express those changes using a patch system, of which there are several to choose from.  Usually, when you make an additional change to a package, you'll want to add a patch file to the patch system being used, rather than editing the source code in place.  Note however that it is considered bad practice to add a patch system to a package that does not already have one.  In that case, either coordinate with the Debian maintainer, or edit the files in place.  You can find out if your package has a patch system by using the ``what-patch`` command (from the ``ubuntu-dev-tools`` package)."
 
2701
msgstr ""
 
2702
 
 
2703
#: ../ubuntu-packaging-guide/udd-patchsys.rst:15
 
2704
# fd42ca6b29c546b1b484b212fd15fd1c
 
2705
msgid "While Debian has several patch systems, Quilt_ is becoming the most popular. Quilt acts something like a version control system itself, and in the context of UDD, this can be both a good thing and a bad thing.  With Bazaar 2.5 and ``bzr-builddeb`` 2.8.1 (in Ubuntu 12.04 Precise), handling source packages with quilt patches has become much easier."
 
2706
msgstr ""
 
2707
 
 
2708
#: ../ubuntu-packaging-guide/udd-patchsys.rst:21
 
2709
# 1434e52e8905421fb549733f8ccba755
 
2710
msgid "There are two main tasks where you'll have to be aware of quilt patches, when developing your own patch to the upstream code, and when merging new versions of the package from Debian where either the Debian or Ubuntu (or both) have quilt patches in the source branch."
 
2711
msgstr ""
 
2712
 
 
2713
#: ../ubuntu-packaging-guide/udd-patchsys.rst:26
 
2714
# b58a5bc7584f477d92f82add21cbecd0
 
2715
msgid "Here are some guidelines for working with quilt patches in UDD in these two scenarios.  Some of these techniques are works-in-progress, so you should adapt them to your own workflow, and keep watching for improvements from the Bazaar teams."
 
2716
msgstr ""
 
2717
 
 
2718
#: ../ubuntu-packaging-guide/udd-patchsys.rst:33
 
2719
# 4fd2951efe3b48d9aa92e5c97a5046a5
 
2720
msgid "Patches are applied in source branches"
 
2721
msgstr ""
 
2722
 
 
2723
#: ../ubuntu-packaging-guide/udd-patchsys.rst:35
 
2724
# 689b0681cd864bc6a2202b83b3ad3bc6
 
2725
msgid "One important thing to keep in mind: all source branches reflect the tree after a ``quilt push -a``.  In other words, when you branch a source branch from Launchpad, you get the tree with all patches applied, ready for you to jump right into hacking.  You do not need to ``quilt push -a`` manually, and in fact, you'll get a tree with lots of distracting modifications if you push or pop all the changes.  Or to put it another way, once you have a branch, jump right in!"
 
2726
msgstr ""
 
2727
 
 
2728
#: ../ubuntu-packaging-guide/udd-patchsys.rst:45
 
2729
# edbb545a25ad4c11971b170125037114
 
2730
msgid "Merging from Debian with quilt patches"
 
2731
msgstr ""
 
2732
 
 
2733
#: ../ubuntu-packaging-guide/udd-patchsys.rst:47
 
2734
# e9715e7c665747098f284eecfde3024d
 
2735
msgid "With newer versions of Bazaar as mentioned above, merging new Debian versions to Ubuntu versions should be quite easy now, even when one or both packages have quilt patches.  Just use ``bzr merge`` as you normally would.  Under the hood, Bazaar will first unapply all the patches, then do the merge, then if there are no conflicts, it will re-apply the patches leaving you again with a source branch in the ``quilt push -a`` state."
 
2736
msgstr ""
 
2737
 
 
2738
#: ../ubuntu-packaging-guide/udd-patchsys.rst:54
 
2739
# eaa05e8c71a745ae850e574631031a92
 
2740
msgid "For example, if we want to merge the Debian version of the ``aptitude`` package with the Ubuntu version, we would do something like this::"
 
2741
msgstr ""
 
2742
 
 
2743
#: ../ubuntu-packaging-guide/udd-patchsys.rst:64
 
2744
# 916812819c4341148647ea8c57bb0b2b
 
2745
msgid "If there are merge conflicts, the quilt patches will remain unapplied so that you can resolve the conflicts more easily.  You would use a combination of bzr and quilt commands to resolve the conflicts, until all the quilt patches are applied again.  Then you're ready to commit, push, and build as you normally would."
 
2746
msgstr ""
 
2747
 
 
2748
#: ../ubuntu-packaging-guide/udd-patchsys.rst:72
 
2749
# f2b77350a5764ee4a465dc7f4e5861e5
 
2750
msgid "Develop your patch"
 
2751
msgstr ""
 
2752
 
 
2753
#: ../ubuntu-packaging-guide/udd-patchsys.rst:74
 
2754
# 82bb00d948bd47f8866ee7c4f83627ab
 
2755
msgid "There is a strong preference to fixing packages using a patch system like quilt, rather than modifying the source code directly.  This is because with a patch system, it's easier to communicate those changes to Debian or upstream (where UDD isn't used), and to remove patches when upstream fixes the bug the patch addresses (possibly in a completely different way)."
 
2756
msgstr ""
 
2757
 
 
2758
#: ../ubuntu-packaging-guide/udd-patchsys.rst:80
 
2759
# 778a274b4f0a4c4594aa0b6d8f2b8ff7
 
2760
msgid "Let's say there's a bug in the ``dbus`` package that you want to fix.  You start the way you normally would with any package in UDD::"
 
2761
msgstr ""
 
2762
 
 
2763
#: ../ubuntu-packaging-guide/udd-patchsys.rst:89
 
2764
# 725d26b712d54930bd3fece4e1205c82
 
2765
msgid "Maybe the bug is pretty simple; there's a typo in the ``README`` file.  Just fix the typo in your favorite editor, then do a ``bzr stat`` to prove that the file has been edited::"
 
2766
msgstr ""
 
2767
 
 
2768
#: ../ubuntu-packaging-guide/udd-patchsys.rst:97
 
2769
# 2c0cd48d546e4ff880a11dbeb672b4ca
 
2770
msgid "Now, in order to get this fix into a quilt patch, we need to generate a diff, but we need the resulting patch to have a format that is consumable by quilt. The way to do that is to use the ``--prefix`` (or ``-p``) option to ``bzr diff``::"
 
2771
msgstr ""
 
2772
 
 
2773
#: ../ubuntu-packaging-guide/udd-patchsys.rst:104
 
2774
# 6c6e406feab94466a83cd9083f63699c
 
2775
msgid "What this actually does is to produce a *level 1* diff, which is required by the quilt command we're going to use below.  Normally, ``bzr diff`` produces *level 0* diffs which are more easily read by humans, but this won't work with quilt (despite the implication in the quilt documentation)."
 
2776
msgstr ""
 
2777
 
 
2778
#: ../ubuntu-packaging-guide/udd-patchsys.rst:109
 
2779
# e01f1a39c4314baebed9a1b1e2a9c332
 
2780
msgid "The above command generates the patch and stores it in a file one level up from the working tree.  Note that here we're using the ``a`` and ``b`` directory prefixes for the diff, but the actual names don't really matter."
 
2781
msgstr ""
 
2782
 
 
2783
#: ../ubuntu-packaging-guide/udd-patchsys.rst:113
 
2784
# 30363be3957a463eb045cefb1229290e
 
2785
msgid "Now all you need to do is to import the patch into your quilt patches.  If you named the file above with the same name you want into your quilt stack, then just do this::"
 
2786
msgstr ""
 
2787
 
 
2788
#: ../ubuntu-packaging-guide/udd-patchsys.rst:120
 
2789
# 6f611850558d485f954a1b60ce5c5730
 
2790
msgid "You need the last line to inform Bazaar about the new quilt patch file.  You can see that the quilt patch's name is the same as the file name you generated above.  Of course, you can change this by using the ``-P`` option to ``quilt import``."
 
2791
msgstr ""
 
2792
 
 
2793
#: ../ubuntu-packaging-guide/udd-patchsys.rst:125
 
2794
# dc69c1cf032e4b1a8294928554dac138
 
2795
msgid "One important thing to notice is that if you do the commands ``bzr stat`` and a ``quilt applied`` , you'll see that the ``README`` file is still modified, but the ``bug-12345.patch`` is not yet applied.  If you try to apply the newly imported quilt patch (with ``quilt push``), it will fail because you're applying a patch on top of the already patched file."
 
2796
msgstr ""
 
2797
 
 
2798
#: ../ubuntu-packaging-guide/udd-patchsys.rst:131
 
2799
# eeec975299cf457d8eddae1b294020a7
 
2800
msgid "One way around this is to revert the change to ``README`` before doing the ``quilt push``.  However, if you think you may want to continue to develop the patch, and thus do not want to throw away your in-tree changes, use ``bzr shelve`` to save the change in the working tree to the side, then do ``quilt push``.  Either way, once you've pushed your top quilt patch, you can just edit the tree in place, and do ``quilt refresh`` commands to update the top quilt patch."
 
2801
msgstr ""
 
2802
 
 
2803
#: ../ubuntu-packaging-guide/udd-patchsys.rst:141
 
2804
# f31c5d24034845779d0438f7ce916170
 
2805
msgid "Gotchas"
 
2806
msgstr ""
 
2807
 
 
2808
#: ../ubuntu-packaging-guide/udd-patchsys.rst:143
 
2809
# 3917fdae40bc40c5b56b50b902677d15
 
2810
msgid "One thing to keep in mind is that quilt uses a hidden ``.pc`` directory to record its status.  This directory is under version control in all source branches.  *Watch out* for changes to the ``.pc`` directory that are unrelated (or more accurately, uninteresting) to your patch.  This can happen because the UDD source branch importer `currently includes any existing .pc directory`_ in the imported branch.  This can cause conflicts, or other unwanted or unknown changes because you've essentially got two conflicting version control systems competing for the same thing (i.e. bzr and quilt3). For now, the best recommendation is to revert any changes to the ``.pc`` directory in your branch."
 
2811
msgstr ""
 
2812
 
 
2813
#: ../ubuntu-packaging-guide/udd-patchsys.rst:156
 
2814
# d65a7f82fcd94ab68c6c627364d2aab3
 
2815
msgid "edit-patch"
 
2816
msgstr ""
 
2817
 
 
2818
#: ../ubuntu-packaging-guide/udd-patchsys.rst:158
 
2819
# b0d8c677b4a54f5ca77d75fb30b8c294
 
2820
msgid "``edit-patch`` is a nice little wrapper script that comes as part of the ``ubuntu-dev-tools`` package.  It pretty much hides the nasty details of dealing with the patch system specifically.  For example, while the above works well if your package is using quilt already, you'll have to adjust the workflow, perhaps significantly, to work with `a different patch system`_.  In theory ``edit-patch`` should solve this, but there are currently two blockers."
 
2821
msgstr ""
 
2822
 
 
2823
#: ../ubuntu-packaging-guide/udd-patchsys.rst:165
 
2824
# a6b9af6d3af64db99d2b68190dfbdfd3
 
2825
msgid "By default, ``bzr diff`` produces a ``-p0`` patch, but ``edit-patch`` defers to the underlying patch system's default.  For quilt, this is ``-p1``.  ``quilt import`` takes a ``-p`` argument to specify the prefix level, but this isn't yet exposed in ``edit-patch``.  If you use the ``--prefix`` argument to the ``bzr diff`` command as shown above, you should be okay."
 
2826
msgstr ""
 
2827
 
 
2828
#: ../ubuntu-packaging-guide/udd-patchsys.rst:171
 
2829
# ce0e11f073b24f4185191bdbc191518a
 
2830
msgid "By default, ``edit-patch`` requires a path to an existing patch file, but it's more convenient to pipe the output of ``bzr diff`` to the stdin of ``edit-patch``, as shown above.  The alternative would be to save the diff in a temporary file, and then point ``edit-patch`` to this temporary file."
 
2831
msgstr ""
 
2832
 
 
2833
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:3
 
2834
# 7b1fc44173cb4391a096f4007ec9c56e
 
2835
msgid "Seeking Review and Sponsorship"
 
2836
msgstr ""
 
2837
 
 
2838
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:5
 
2839
# d95d3d492bda47d4b503e101616df3ad
 
2840
msgid "One of the biggest advantages to using the UDD workflow is to improve quality by seeking review of changes by your peers.  This is true whether or not you have upload rights yourself.  Of course, if you don't have upload rights, you will need to seek sponsorship."
 
2841
msgstr ""
 
2842
 
 
2843
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:10
 
2844
# 06bab422caf142839275125cbb83b8b2
 
2845
msgid "Once you are happy with your fix, and have a branch ready to go, the following steps can be used to publish your branch on Launchpad, link it to the bug issue, and create a *merge proposal* for others to review, and sponsors to upload."
 
2846
msgstr ""
 
2847
 
 
2848
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:19
 
2849
# 3d62b9b1f8c34d3e9365e8e5c66e01cf
 
2850
msgid "Pushing to Launchpad"
 
2851
msgstr ""
 
2852
 
 
2853
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:21
 
2854
# 1c70e306b96d4e2eb85f83a2a0b50255
 
2855
msgid "We previously showed you how to :ref:`associate your branch to the bug <link-via-changelog>` using ``dch`` and ``bzr commit``.  However, the branch and bug don't actually get linked until you push the branch to Launchpad."
 
2856
msgstr ""
 
2857
 
 
2858
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:25
 
2859
# 5c03b03b3018459a87e8d0255fda8159
 
2860
msgid "It is not critical to have a link to a bug for every change you make, but if you are fixing reported bugs then linking to them will be useful."
 
2861
msgstr ""
 
2862
 
 
2863
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:28
 
2864
# d792e1921e3b43a0939226c7dab56f0a
 
2865
msgid "The general form of the URL you should push your branch to is::"
 
2866
msgstr ""
 
2867
 
 
2868
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:32
 
2869
# 5ff727debaf543b4827ed685006c64f3
 
2870
msgid "For example, to push your fix for bug 12345 in the Tomboy package for Natty, you'd use::"
 
2871
msgstr ""
 
2872
 
 
2873
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:37
 
2874
# 5e4aec261f9c445fbacac4b444ab14d4
 
2875
msgid "The last component of the path is arbitrary; it's up to you to pick something meaningful."
 
2876
msgstr ""
 
2877
 
 
2878
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:40
 
2879
# c7881ddc989f47c08a05fc8bdb33ec63
 
2880
msgid "However, this usually isn't enough to get Ubuntu developers to review and sponsor your change.  You should next submit a *merge proposal*."
 
2881
msgstr ""
 
2882
 
 
2883
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:43
 
2884
# 4acecb6b0590401c9c3c3b34f7d9c6c4
 
2885
msgid "To do this open the bug page in a browser, e.g.::"
 
2886
msgstr ""
 
2887
 
 
2888
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:47
 
2889
# a58c58ac96f24e5b974fa5e1fd604700
 
2890
msgid "If that fails, then you can use::"
 
2891
msgstr ""
 
2892
 
 
2893
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:51
 
2894
# 432738e021a442d4993be0b661247073
 
2895
msgid "where most of the URL matches what you used for `bzr push`.  On this page, you'll see a link that says *Propose for merging into another branch*.  Type in an explanation of your change in the *Initial Comment* box.  Lastly, click *Propose Merge* to complete the process."
 
2896
msgstr ""
 
2897
 
 
2898
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:56
 
2899
# 44bc83875c54474b88a148c193bf2145
 
2900
msgid "Merge proposals to package source branches will automatically subscribe the `~ubuntu-branches` team, which should be enough to reach an Ubuntu developer who can review and sponsor your package change."
 
2901
msgstr ""
 
2902
 
 
2903
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:62
 
2904
# 0fca62fbb96b40f8b6a2f6d71b4e931b
 
2905
msgid "Generating a debdiff"
 
2906
msgstr ""
 
2907
 
 
2908
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:64
 
2909
# 497f074532ea41a0ad2f0f737458c0f6
 
2910
msgid "As noted above, some sponsors still prefer reviewing a *debdiff* attached to bug reports instead of a merge proposal.  If you're requested to include a debdiff, you can generate one like this (from inside your `bug-12345` branch)::"
 
2911
msgstr ""
 
2912
 
 
2913
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:71
 
2914
# 0afe1b0f347d4262b8a653e63db9ea5e
 
2915
msgid "Another way is to is to open the merge proposal and download the diff."
 
2916
msgstr ""
 
2917
 
 
2918
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:73
 
2919
# 05d3f3141ec3469ab72b15c0de583f17
 
2920
msgid "You should ensure that diff has the changes you expect, no more and no less. Name the diff appropriately, e.g. ``foobar-12345.debdiff`` and attach it to the bug report."
 
2921
msgstr ""
 
2922
 
 
2923
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:79
 
2924
# 7dd6fe9d8c3b444f8860975c4a8b4f38
 
2925
msgid "Dealing with feedback from sponsors"
 
2926
msgstr ""
 
2927
 
 
2928
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:81
 
2929
# 9e3b1d91bed845d2a6062e3f570b7409
 
2930
msgid "If a sponsor reviews your branch and asks you to change something, you can do this fairly easily.  Simply go to the branch that you were working in before, make the changes requested, and then commit::"
 
2931
msgstr ""
 
2932
 
 
2933
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:87
 
2934
# ad089e0df80b465eb7f1e40716314363
 
2935
msgid "Now when you push your branch to Launchpad, Bazaar will remembered where you pushed to, and will update the branch on Launchpad with your latest commits. All you need to do is::"
 
2936
msgstr ""
 
2937
 
 
2938
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:93
 
2939
# 77f8fca80f29434fbd5168392851dcc7
 
2940
msgid "You can then reply to the merge proposal review email explaining what you changed, and asking for re-review, or you can reply on the merge proposal page in Launchpad."
 
2941
msgstr ""
 
2942
 
 
2943
#: ../ubuntu-packaging-guide/udd-sponsorship.rst:97
 
2944
# 52c8fccf546c44c282c96dfa76047b7e
 
2945
msgid "Note that if you are sponsored via a debdiff attached to a bug report you need to manually update by generating a new diff and attaching that to the bug report."
 
2946
msgstr ""
 
2947
 
 
2948
#: ../ubuntu-packaging-guide/udd-uploading.rst:3
 
2949
# d617008018d04504ba3c700dbfd8a071
 
2950
msgid "Uploading a package"
 
2951
msgstr ""
 
2952
 
 
2953
#: ../ubuntu-packaging-guide/udd-uploading.rst:5
 
2954
# 342b747163f4456a94be40e1565fab2d
 
2955
msgid "Once your merge proposal is reviewed and approved, you will want to upload your package, either to the archive (if you have permission) or to your `Personal Package Archive`_ (PPA).  You might also want to do an upload if you are sponsoring someone else's changes."
 
2956
msgstr ""
 
2957
 
 
2958
#: ../ubuntu-packaging-guide/udd-uploading.rst:12
 
2959
# b0cbfab07b0d4e37a98ac5b47602ba94
 
2960
msgid "Uploading a change made by you"
 
2961
msgstr ""
 
2962
 
 
2963
#: ../ubuntu-packaging-guide/udd-uploading.rst:14
 
2964
# ac079639095a4f71ae085f9ab67edee7
 
2965
msgid "When you have a branch with a change that you would like to upload you need to get that change back on to the main source branch, build a source package, and then upload it."
 
2966
msgstr ""
 
2967
 
 
2968
#: ../ubuntu-packaging-guide/udd-uploading.rst:18
 
2969
# 4eab51f33be241479a6671845543c543
 
2970
msgid "First, you need to check that you have the latest version of the package in your checkout of the development package trunk::"
 
2971
msgstr ""
 
2972
 
 
2973
#: ../ubuntu-packaging-guide/udd-uploading.rst:24
 
2974
# 1e3dc7dfc78d4b1583d03def5dbc4ada
 
2975
msgid "This pulls in any changes that may have been committed while you were working on your fix.  From here, you have several options.  If the changes on the trunk are large and you feel should be tested along with your change you can merge them into your bug fix branch and test there.  If not, then you can carry on merging your bug fix branch into the development trunk branch.  As of bzr 2.5 and bzr-builddeb 2.8.1, this works with just the standard ``merge`` command::"
 
2976
msgstr ""
 
2977
 
 
2978
#: ../ubuntu-packaging-guide/udd-uploading.rst:34
 
2979
# 5c53b237d933489fb5dff7a6cb8065dd
 
2980
msgid "For older versions of bzr, you can use the ``merge-package`` command instead::"
 
2981
msgstr ""
 
2982
 
 
2983
#: ../ubuntu-packaging-guide/udd-uploading.rst:38
 
2984
# cd5c586ed03f4cfd80f044d00f56de68
 
2985
msgid "This will merge the two trees, possibly producing conflicts, which you'll need to resolve manually."
 
2986
msgstr ""
 
2987
 
 
2988
#: ../ubuntu-packaging-guide/udd-uploading.rst:41
 
2989
# 8b79d8ef643e4180a1f3a44ae9d0a774
 
2990
msgid "Next you should make sure the ``debian/changelog`` is as you would like, with the correct distribution, version number, etc."
 
2991
msgstr ""
 
2992
 
 
2993
#: ../ubuntu-packaging-guide/udd-uploading.rst:44
 
2994
# 144b9deb49ad4e5f8ee0d1b34cd8a44d
 
2995
msgid "Once that is done you should review the change you are about to commit with ``bzr diff``.  This should show you the same changes as a debdiff would before you upload the source package."
 
2996
msgstr ""
 
2997
 
 
2998
#: ../ubuntu-packaging-guide/udd-uploading.rst:48
 
2999
# 21d5018d7bf44760b14279b4eef579f5
 
3000
msgid "The next step is to build and test the modified source package as you normally would::"
 
3001
msgstr ""
 
3002
 
 
3003
#: ../ubuntu-packaging-guide/udd-uploading.rst:53
 
3004
# 52f286ea39024b6f9e2589ae45062601
 
3005
msgid "When you're finally happy with your branch, make sure you've committed all your changes, then tag the branch with the changelog's version number.  The ``bzr tag`` command will do this for you automatically when given no arguments::"
 
3006
msgstr ""
 
3007
 
 
3008
#: ../ubuntu-packaging-guide/udd-uploading.rst:60
 
3009
# 99b97002ffe34973979d24ac1668f787
 
3010
msgid "This tag will tell the package importer that what is in the Bazaar branch is the same as in the archive."
 
3011
msgstr ""
 
3012
 
 
3013
#: ../ubuntu-packaging-guide/udd-uploading.rst:63
 
3014
# ebeb745e0c11434c8dcb15cc023ddeb7
 
3015
msgid "Now you can push the changes back to Launchpad::"
 
3016
msgstr ""
 
3017
 
 
3018
#: ../ubuntu-packaging-guide/udd-uploading.rst:67
 
3019
# 2eb1de1779694bf881e03fd5a67d2af0
 
3020
msgid "(Change the destination if you are uploading an SRU or similar.)"
 
3021
msgstr ""
 
3022
 
 
3023
#: ../ubuntu-packaging-guide/udd-uploading.rst:69
 
3024
# 8ebd6bfad0e34d93890640c2bf1b787c
 
3025
msgid "You need one last step to get your changes uploaded into Ubuntu or your PPA; you need to ``dput`` the source package to the appropriate location.  For example, if you want to upload your changes to your PPA, you'd do::"
 
3026
msgstr ""
 
3027
 
 
3028
#: ../ubuntu-packaging-guide/udd-uploading.rst:75
 
3029
# 5a2f077286fb4c7c8f35d5f181dfe020
 
3030
msgid "or, if you have permission to upload to the primary archive::"
 
3031
msgstr ""
 
3032
 
 
3033
#: ../ubuntu-packaging-guide/udd-uploading.rst:79
 
3034
# 9b550ebec58249fbb0fe679464b92453
 
3035
msgid "You are now free to delete your feature branch, as it is merged, and can be re-downloaded from Launchpad if needed."
 
3036
msgstr ""
 
3037
 
 
3038
#: ../ubuntu-packaging-guide/udd-uploading.rst:84
 
3039
# 7df92bf7f57846d9af9f8f9d356bec2c
 
3040
msgid "Sponsoring a change"
 
3041
msgstr ""
 
3042
 
 
3043
#: ../ubuntu-packaging-guide/udd-uploading.rst:86
 
3044
# f9eb51784cf6440ab1e92567c03feddc
 
3045
msgid "Sponsoring someone else's change is just like the above procedure, but instead of merging from a branch you created, you merge from the branch in the merge proposal::"
 
3046
msgstr ""
 
3047
 
 
3048
#: ../ubuntu-packaging-guide/udd-uploading.rst:92
 
3049
# 0419a82213944aa5b48804bb6534d32d
 
3050
msgid "If there are lots of merge conflicts you would probably want to ask the contributor to fix them up.  See the next section to learn how to cancel a pending merge."
 
3051
msgstr ""
 
3052
 
 
3053
#: ../ubuntu-packaging-guide/udd-uploading.rst:96
 
3054
# 0e05452bf9e74469a5de534b92482d86
 
3055
msgid "But if the changes look good, commit and then follow the rest of the uploading process::"
 
3056
msgstr ""
 
3057
 
 
3058
#: ../ubuntu-packaging-guide/udd-uploading.rst:103
 
3059
# 4397bec4fb934bc89cbcb5935485c0eb
 
3060
msgid "Canceling an upload"
 
3061
msgstr ""
 
3062
 
 
3063
#: ../ubuntu-packaging-guide/udd-uploading.rst:105
 
3064
# ccfa3957ac2b47b48e4604768f4af77b
 
3065
msgid "At any time before you `dput` the source package you can decide to cancel an upload and revert the changes::"
 
3066
msgstr ""
 
3067
 
 
3068
#: ../ubuntu-packaging-guide/udd-uploading.rst:110
 
3069
# 8383aa45362241cbbffaefa37a7ef327
 
3070
msgid "You can do this if you notice something needs more work, or if you would like to ask the contributor to fix up conflicts when sponsoring something."
 
3071
msgstr ""
 
3072
 
 
3073
#: ../ubuntu-packaging-guide/udd-uploading.rst:115
 
3074
# 4b45467e48e041d5999db11c24113b1e
 
3075
msgid "Sponsoring something and making your own changes"
 
3076
msgstr ""
 
3077
 
 
3078
#: ../ubuntu-packaging-guide/udd-uploading.rst:117
 
3079
# fe4a60bef7e44faeaa7348763b2e8abb
 
3080
msgid "If you are going to sponsor someone's work, but you would like to roll it up with some changes of your own then you can merge their work in to a separate branch first."
 
3081
msgstr ""
 
3082
 
 
3083
#: ../ubuntu-packaging-guide/udd-uploading.rst:121
 
3084
# 79453712dc2d473eb3c770c9d46d305b
 
3085
msgid "If you already have a branch where you are working on the package and you would like to include their changes, then simply run the ``bzr merge`` from that branch, instead of the checkout of the development package.  You can then make the changes and commit, and then carry on with your changes to the package."
 
3086
msgstr ""
 
3087
 
 
3088
#: ../ubuntu-packaging-guide/udd-uploading.rst:127
 
3089
# 2ad47a1cf0a040a7a39e87a520e87a30
 
3090
msgid "If you don't have an existing branch, but you know you would like to make changes based on what the contributor provides then you should start by grabbing their branch::"
 
3091
msgstr ""
 
3092
 
 
3093
#: ../ubuntu-packaging-guide/udd-uploading.rst:133
 
3094
# a36da929444f4aa79853824f5fad7825
 
3095
msgid "then work in this new branch, and then merge it in to the main one and upload as if it was your own work.  The contributor will still be mentioned in the changelog, and Bazaar will correctly attribute the changes they made to them."
 
3096
msgstr ""
 
3097
 
 
3098
#: ../ubuntu-packaging-guide/udd-working.rst:3
 
3099
# 668df6a55d7d4262959051aff523f18a
 
3100
msgid "Working on a Package"
 
3101
msgstr ""
 
3102
 
 
3103
#: ../ubuntu-packaging-guide/udd-working.rst:5
 
3104
# 325df7ee56fc4514946bee8d8d9833a3
 
3105
msgid "Once you have the source package branch in a shared repository, you'll want to create additional branches for the fixes or other work you plan to do.  You'll want to base your branch off the package source branch for the distro release that you plan to upload to.  Usually this is the current development release, but it may be older releases if you're backporting to an SRU for example."
 
3106
msgstr ""
 
3107
 
 
3108
#: ../ubuntu-packaging-guide/udd-working.rst:13
 
3109
# 3bbdede17cae472d9f3cb41c285ec0a0
 
3110
msgid "Branching for a change"
 
3111
msgstr ""
 
3112
 
 
3113
#: ../ubuntu-packaging-guide/udd-working.rst:15
 
3114
# 9932a9319bf948698e1efbac7555a3b6
 
3115
msgid "The first thing to do is to make sure your source package branch is up-to-date.  It will be if you just checked it out, otherwise do this::"
 
3116
msgstr ""
 
3117
 
 
3118
#: ../ubuntu-packaging-guide/udd-working.rst:21
 
3119
# 6e748312dd324667b18e6eb5cb0503ec
 
3120
msgid "Any updates to the package that have uploaded since your checkout will now be pulled in.  You do not want to make changes to this branch.  Instead, create a branch that will contain just the changes you're going to make.  Let's say you want to fix bug 12345 for the Tomboy project.  When you're in the shared repository you previously created for Tomboy, you can create your bug fix branch like this::"
 
3121
msgstr ""
 
3122
 
 
3123
#: ../ubuntu-packaging-guide/udd-working.rst:31
 
3124
# fcc7556739024f40b1b51f39aa13ca55
 
3125
msgid "Now you can do all my work in the `bug-12345` directory.  You make changes there as necessary, committing as you go along.  This is just like doing any kind of software development with Bazaar.  You can make intermediate commits as often as you like, and when your changes are finished, you will use the standard `dch` command (from the `devscripts` package)::"
 
3126
msgstr ""
 
3127
 
 
3128
#: ../ubuntu-packaging-guide/udd-working.rst:39
 
3129
# 5faa703321cd4d9cb342e35caaab81ac
 
3130
msgid "This will drop you in an editor to add an entry to the `debian/changelog` file."
 
3131
msgstr ""
 
3132
 
 
3133
#: ../ubuntu-packaging-guide/udd-working.rst:44
 
3134
# 6dc1cbcab4874dc589194be12f2d232e
 
3135
msgid "When you added your `debian/changelog` entry, you should have included a bug fix tag that indicated which Launchpad bug issue you're fixing.  The format of this textual tag is pretty strict: ``LP: #12345``.  The space between the ``:`` and the ``#`` is required and of course you should use the actual bug number that you're fixing.  Your `debian/changelog` entry might look something like::"
 
3136
msgstr ""
 
3137
 
 
3138
#: ../ubuntu-packaging-guide/udd-working.rst:57
 
3139
# da1d850b11fe4bb485d5be846264f366
 
3140
msgid "Commit with the normal::"
 
3141
msgstr ""
 
3142
 
 
3143
#: ../ubuntu-packaging-guide/udd-working.rst:61
 
3144
# 4536113fa1c745dd9e502d526185f8ed
 
3145
msgid "A hook in bzr-builddeb will use the debian/changelog text as the commit message and set the tag to mark bug #12345 as fixed."
 
3146
msgstr ""
 
3147
 
 
3148
#: ../ubuntu-packaging-guide/udd-working.rst:64
 
3149
# 9f3672cba68a4714ad6a5deacb93dc6e
 
3150
msgid "This only works with bzr-builddeb 2.7.5 and bzr 2.4, for older versions use `debcommit`."
 
3151
msgstr ""
 
3152
 
 
3153
#: ../ubuntu-packaging-guide/udd-working.rst:71
 
3154
# 86ee6fff8e524ab1bac18e701df02f1b
 
3155
msgid "Along the way, you'll want to build your branch so that you can test it to make sure it does actually fix the bug."
 
3156
msgstr ""
 
3157
 
 
3158
#: ../ubuntu-packaging-guide/udd-working.rst:74
 
3159
# 98afbf48360941e5b164fa1d32a48659
 
3160
msgid "In order to build the package you can use the `bzr builddeb` command from the `bzr-builddeb` package.  You can build a source package with::"
 
3161
msgstr ""
 
3162
 
 
3163
#: ../ubuntu-packaging-guide/udd-working.rst:79
 
3164
# e6bd918c14214ff4926e67edf70e2ecf
 
3165
msgid "(`bd` is an alias for `builddeb`.)  You can leave the package unsigned by appending `-- -uc -us` to the command."
 
3166
msgstr ""
 
3167
 
 
3168
#: ../ubuntu-packaging-guide/udd-working.rst:82
 
3169
# c4d3a439bc0443f5b843f22078807d77
 
3170
msgid "It is also possible to use your normal tools, as long as they are able to strip the .bzr directories from the package, e.g.::"
 
3171
msgstr ""
 
3172
 
 
3173
#: ../ubuntu-packaging-guide/udd-working.rst:87
 
3174
# eff4ddb86f804ce2a5686727949160e0
 
3175
msgid "If you ever see an error related to trying to build a native package without a tarball, check to see if there is a `.bzr-builddeb/default.conf` file erroneously specifying the package as native.  If the changelog version has a dash in it, then it's not a native package, so remove the configuration file. Note that while `bzr builddeb` has a `--native` switch, it does not have a `--no-native` switch."
 
3176
msgstr ""
 
3177
 
 
3178
#: ../ubuntu-packaging-guide/udd-working.rst:94
 
3179
# d006ba6b5e3946e8a3778fa2ec263b31
 
3180
msgid "Once you've got the source package, you can build it as normal with ``pbuilder-dist`` (or ``pbuilder`` or `sbuild`_)."
 
3181
msgstr ""
 
3182