Merge lp:~dholbach/ubuntu-packaging-guide/i18n into lp:~andrewsomething/ubuntu-packaging-guide/i18n

Proposed by Daniel Holbach
Status: Merged
Merged at revision: 104
Proposed branch: lp:~dholbach/ubuntu-packaging-guide/i18n
Merge into: lp:~andrewsomething/ubuntu-packaging-guide/i18n
Diff against target: 3257 lines (+3196/-14)
3 files modified
Makefile (+11/-11)
debian/ubuntu-packaging-guide.doc-base.single (+3/-3)
po/de.po (+3182/-0)
To merge this branch: bzr merge lp:~dholbach/ubuntu-packaging-guide/i18n
Reviewer Review Type Date Requested Status
Andrew Starr-Bochicchio Pending
Review via email: mp+98448@code.launchpad.net
To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Makefile'
2--- Makefile 2012-03-16 17:05:12 +0000
3+++ Makefile 2012-03-20 16:23:20 +0000
4@@ -71,10 +71,10 @@
5 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml/$*."
6
7 singlehtml: $(foreach lang,$(LANGS),singlehtml-$(lang))
8- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml/en
9- sed -i 's/..\/..\//.\//g' _build/singlehtml/en/ubuntu-packaging-guide/index.html
10- sed -i 's/ubuntu-packaging-guide\/index/index/g' _build/singlehtml/en/ubuntu-packaging-guide/index.html
11- mv $(BUILDDIR)/singlehtml/en/ubuntu-packaging-guide/*html $(BUILDDIR)/singlehtml/en
12+ $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
13+ sed -i 's/..\/..\//.\//g' _build/singlehtml/ubuntu-packaging-guide/index.html
14+ sed -i 's/ubuntu-packaging-guide\/index/index/g' _build/singlehtml/ubuntu-packaging-guide/index.html
15+ mv $(BUILDDIR)/singlehtml/ubuntu-packaging-guide/*html $(BUILDDIR)/singlehtml
16 @echo
17 @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml/en"
18 singlehtml-%: locale
19@@ -122,16 +122,16 @@
20 @echo "# devhelp"
21
22 epub: $(foreach lang,$(LANGS),epub-$(lang))
23- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub/en
24+ $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
25 @echo
26- @echo "Build finished. The epub file is in $(BUILDDIR)/epub/en"
27+ @echo "Build finished. The epub file is in $(BUILDDIR)/epub"
28 epub-%: locale
29 $(SPHINXBUILD) -Dlanguage=$* -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub/$*
30 @echo
31 @echo "Build finished. The epub file is in $(BUILDDIR)/epub/$*."
32
33 latex: $(foreach lang,$(LANGS),latex-$(lang))
34- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/en
35+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
36 @echo
37 @echo "Build finished; the LaTeX files are in is in $(BUILDDIR)/epub/en"
38 @echo "Run \`make' in that directory to run these through (pdf)latex" \
39@@ -144,11 +144,11 @@
40 "(use \`make latexpdf' here to do that automatically)."
41
42 latexpdf: $(foreach lang,$(LANGS),latexpdf-$(lang))
43- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/en
44+ $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
45 @echo "Running LaTeX files through pdflatex..."
46- make -C $(BUILDDIR)/latex/en all-pdf
47- mkdir -p $(BUILDDIR)/pdf/en; cp $(BUILDDIR)/latex/en/*pdf $(BUILDDIR)/pdf/en
48- @echo "Build finished; the PDF files are in $(BUILDDIR)/pdf/en"
49+ make -C $(BUILDDIR)/latex all-pdf
50+ mkdir -p $(BUILDDIR)/pdf; cp $(BUILDDIR)/latex/*pdf $(BUILDDIR)/pdf
51+ @echo "Build finished; the PDF files are in $(BUILDDIR)/pdf"
52 latexpdf-%: locale
53 $(SPHINXBUILD) -Dlanguage=$* -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex/$*
54 @echo "Running LaTeX files through pdflatex..."
55
56=== modified file 'debian/ubuntu-packaging-guide.doc-base.single'
57--- debian/ubuntu-packaging-guide.doc-base.single 2012-03-16 15:57:29 +0000
58+++ debian/ubuntu-packaging-guide.doc-base.single 2012-03-20 16:23:20 +0000
59@@ -7,8 +7,8 @@
60 Section: Text
61
62 Format: PDF
63-Files: /usr/share/doc/ubuntu-packaging-guide/pdf/en/ubuntu-packaging-guide.pdf.gz
64+Files: /usr/share/doc/ubuntu-packaging-guide/pdf/ubuntu-packaging-guide.pdf.gz
65
66 Format: HTML
67-Index: /usr/share/doc/ubuntu-packaging-guide/singlehtml/en/index.html
68-Files: /usr/share/doc/ubuntu-packaging-guide/singlehtml/en/index.html
69+Index: /usr/share/doc/ubuntu-packaging-guide/singlehtml/index.html
70+Files: /usr/share/doc/ubuntu-packaging-guide/singlehtml/index.html
71
72=== added file 'po/de.po'
73--- po/de.po 1970-01-01 00:00:00 +0000
74+++ po/de.po 2012-03-20 16:23:20 +0000
75@@ -0,0 +1,3182 @@
76+# SOME DESCRIPTIVE TITLE.
77+# Copyright (C) 2010-2012, Ubuntu Developers
78+# This file is distributed under the same license as the ubuntu-packaging-guide package.
79+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
80+#
81+#, fuzzy
82+msgid ""
83+msgstr ""
84+"Project-Id-Version: ubuntu-packaging-guide 0.1\n"
85+"Report-Msgid-Bugs-To: \n"
86+"POT-Creation-Date: 2012-02-29 17:52\n"
87+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
88+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
89+"Language-Team: LANGUAGE <LL@li.org>\n"
90+"MIME-Version: 1.0\n"
91+"Content-Type: text/plain; charset=UTF-8\n"
92+"Content-Transfer-Encoding: 8bit\n"
93+
94+#: ../ubuntu-packaging-guide/chroots.rst:3
95+# d6c7ecbd606c4b9282b23708db85f9b5
96+msgid "Using Chroots"
97+msgstr "Chroots benutzen"
98+
99+#: ../ubuntu-packaging-guide/chroots.rst:5
100+# c2a9180a73924eb0b652907be2585c5d
101+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``."
102+msgstr ""
103+
104+#: ../ubuntu-packaging-guide/chroots.rst:9
105+# 6634399d63e843f4b72b0f770fafd076
106+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."
107+msgstr ""
108+
109+#: ../ubuntu-packaging-guide/chroots.rst:14
110+# feb922fa269d4d50913b3692dea2800f
111+msgid "Creating a Chroot"
112+msgstr ""
113+
114+#: ../ubuntu-packaging-guide/chroots.rst:16
115+# 84f92237b55541a2b463749f2521ca05
116+msgid "Use the command ``debootstrap`` to create a new chroot::"
117+msgstr ""
118+
119+#: ../ubuntu-packaging-guide/chroots.rst:20
120+# 9208c7dbf8d84b5eb0fd24fab308ff5c
121+msgid "This will create a directory ``oneiric`` and install a minimal oneiric system into it."
122+msgstr ""
123+
124+#: ../ubuntu-packaging-guide/chroots.rst:23
125+# 2f24711099184a0ba8f80c20edc1adc2
126+msgid "If your version of ``debootstrap`` does not know about oneiric you can try upgrading to the version in ``backports``."
127+msgstr ""
128+
129+#: ../ubuntu-packaging-guide/chroots.rst:26
130+# 0575a501ac4448359c69b30b55550435
131+msgid "You can then work inside the chroot::"
132+msgstr ""
133+
134+#: ../ubuntu-packaging-guide/chroots.rst:30
135+# 6b1f042f6de1476db33347866860441c
136+msgid "Where you can install or remove any package you wish without affecting your main system."
137+msgstr ""
138+
139+#: ../ubuntu-packaging-guide/chroots.rst:33
140+# 9536d8f2c01e43648648496a446eeb6e
141+msgid "You might want to copy your GPG/ssh keys and Bazaar configuration into the chroot so you can access and sign packages directly."
142+msgstr ""
143+
144+#: ../ubuntu-packaging-guide/chroots.rst:36
145+# e6d516f40fee4cc2972525ec9b13615e
146+msgid "$ sudo mkdir oneiric/home/<username> $ sudo cp -r ~/.gnupg ~/.ssh ~/.bazaar oneiric/home/<username>"
147+msgstr ""
148+
149+#: ../ubuntu-packaging-guide/chroots.rst:39
150+# ed82e18debb24933ad3b49492b196442
151+msgid "To stop apt and other programs complaining about missing locales you can install your relevant language pack::"
152+msgstr ""
153+
154+#: ../ubuntu-packaging-guide/chroots.rst:44
155+# 7d9703bd6d9148daa5980a104d8d13ef
156+msgid "If you want to run X programs you will need to bind the /tmp directory into the chroot, from outside the chroot run::"
157+msgstr ""
158+
159+#: ../ubuntu-packaging-guide/chroots.rst:50
160+# 3c056ca4d3b54c53bca74c2cc2025835
161+msgid "Some programs may need you to bind /dev or /proc."
162+msgstr ""
163+
164+#: ../ubuntu-packaging-guide/chroots.rst:52
165+# 7164d56709d64a9e83edc09bf710fce7
166+msgid "For more information on chroots see our `Debootstrap Chroot wiki page`_."
167+msgstr ""
168+
169+#: ../ubuntu-packaging-guide/chroots.rst:55
170+# 26aacfbeebe4473f9e1244c3c974b6ff
171+msgid "Alternatives"
172+msgstr "Alternativen"
173+
174+#: ../ubuntu-packaging-guide/chroots.rst:57
175+# f085504840904fcb995131456d3036d7
176+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."
177+msgstr ""
178+
179+#: ../ubuntu-packaging-guide/chroots.rst:59
180+# 9fa7e581df034a33a4503a7a41b37017
181+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."
182+msgstr ""
183+
184+#: ../ubuntu-packaging-guide/chroots.rst:63
185+# 112cec755e0d4ac5a0e1e20df59807f8
186+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."
187+msgstr ""
188+
189+#: ../ubuntu-packaging-guide/chroots.rst:67
190+# 1367b95423434ae9b8d2687c8c100771
191+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."
192+msgstr ""
193+
194+#: ../ubuntu-packaging-guide/communication.rst:3
195+# 607298b09c134c8497b9dd820a18456f
196+msgid "Communication in Ubuntu Development"
197+msgstr ""
198+
199+#: ../ubuntu-packaging-guide/communication.rst:5
200+# 02e7427cdd1a4e48b9f0dfa256715944
201+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."
202+msgstr ""
203+
204+#: ../ubuntu-packaging-guide/communication.rst:10
205+# 8dff4e5170734f698bbb51c6807b7dcf
206+msgid "Mailing lists"
207+msgstr "Mailinglisten"
208+
209+#: ../ubuntu-packaging-guide/communication.rst:12
210+# 7bdd3f8f13b34307a06a05656c94760b
211+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."
212+msgstr ""
213+
214+#: ../ubuntu-packaging-guide/communication.rst:16
215+# ec54a70a969342e58399443508c91e33
216+msgid "In terms of development, these are the most important ones:"
217+msgstr ""
218+
219+#: ../ubuntu-packaging-guide/communication.rst:18
220+# c583284d21a5478e973448d96344c720
221+msgid "https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-announce (announce-only, the most important development announcements go here)"
222+msgstr ""
223+
224+#: ../ubuntu-packaging-guide/communication.rst:20
225+# 187731122f5045a09748d70e00456b4c
226+msgid "https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel (general Ubuntu development discussion)"
227+msgstr ""
228+
229+#: ../ubuntu-packaging-guide/communication.rst:22
230+# 38f45dd72cfd4f64bc0e64af440c45c2
231+msgid "https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu (MOTU Team discussion, get help with packaging)"
232+msgstr ""
233+
234+#: ../ubuntu-packaging-guide/communication.rst:27
235+# bcf8bf4cfd7d44e79964fc504e3dcbcf
236+msgid "IRC Channels"
237+msgstr "IRC-Kanäle"
238+
239+#: ../ubuntu-packaging-guide/communication.rst:29
240+# 1640a1e73721469dbb00fb44535008f2
241+msgid "For real-time discussions, please connect to irc.freenode.net and join one or any of these channels:"
242+msgstr ""
243+
244+#: ../ubuntu-packaging-guide/communication.rst:32
245+# 54b7cb96eed649698da71070bdcec51b
246+msgid "#ubuntu-devel (for general development discussion)"
247+msgstr ""
248+
249+#: ../ubuntu-packaging-guide/communication.rst:33
250+# 9d87672ae32043ec8c0a9f2bca0b7dd4
251+msgid "#ubuntu-motu (for MOTU team discussion and generally getting help)"
252+msgstr ""
253+
254+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:2
255+# 89800d29a2d548768207920d6fb6d7b3
256+msgid "Basic Overview of the ``debian/`` Directory"
257+msgstr ""
258+
259+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:4
260+# 7d1e060c05644770b508535c347508a1
261+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."
262+msgstr ""
263+
264+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:13
265+# 3021836f0c23449690b60757ce61172a
266+msgid "The changelog"
267+msgstr ""
268+
269+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:15
270+# 31bd62153b0d408bb34738128c941836
271+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``::"
272+msgstr ""
273+
274+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:31
275+# 615d3cedb82c4d399c625d3986b6c75e
276+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."
277+msgstr ""
278+
279+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:36
280+# 3d1b93961c0a46a4b77382e11822dd08
281+msgid "Minor bullet points are indicated by a dash \"-\", while major points use an asterisk \"*\"."
282+msgstr ""
283+
284+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:39
285+# 3c8e29b2b199417083f23153de4c94c4
286+msgid "If you are packaging from scratch, ``dch --create`` (``dch`` is in the ``devscripts`` package) will create a standard ``debian/changelog`` for you."
287+msgstr ""
288+
289+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:43
290+# 0f6505553bb0491d9f0247c37f87cf9a
291+msgid "Here is a sample ``changelog`` file for hello::"
292+msgstr ""
293+
294+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:52
295+# 3f1fd2f3b89a4e36aff77a170ba8c656
296+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."
297+msgstr ""
298+
299+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:56
300+# 8500e33e8dae496d9bab351d1f1f0a0d
301+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``)."
302+msgstr ""
303+
304+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:64
305+# 8a1028b5e61244339a21d8fdf991cd73
306+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."
307+msgstr ""
308+
309+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:70
310+# 552ad1faf3814524bd838abbb1c6dfde
311+msgid "The control file"
312+msgstr ""
313+
314+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:72
315+# 0a7a9cd926a5482090b334ae4eb5fa76
316+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."
317+msgstr ""
318+
319+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:76
320+# 2c2caa9a9fef495dad29ffa07ab52d4a
321+msgid "For the Ubuntu ``hello`` package, the ``control`` file looks something like::"
322+msgstr ""
323+
324+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:99
325+# bd3ddeb9c3fd445ba6df546d419ec391
326+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."
327+msgstr ""
328+
329+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:106
330+# 93b0eec4843d4f819ba16118070fbbdf
331+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."
332+msgstr ""
333+
334+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:118
335+# 00ca42e43f314557af47bf373ae50fe6
336+msgid "Each additional paragraph describes a binary package to be built."
337+msgstr ""
338+
339+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:120
340+# a48f51f0912a4312a904ab5f40ced13d
341+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."
342+msgstr ""
343+
344+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:126
345+# 870ce0ac216c4fd8a10aa642d5a8ee12
346+msgid "The copyright file"
347+msgstr "Die Copyright-Datei"
348+
349+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:128
350+# a8f880bcb0174968b217b52dfc303a34
351+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``."
352+msgstr ""
353+
354+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:134
355+# 73c9109a50ce4e2c8d6ce22c64df57dd
356+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::"
357+msgstr ""
358+
359+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:176
360+# 7a2e84d5a9304d2fb327fc2d39a75a45
361+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."
362+msgstr ""
363+
364+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:182
365+# 7c0fe27bc8fa4cb192be460e57dde489
366+msgid "The rules file"
367+msgstr ""
368+
369+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:184
370+# 7c9e2edb563c4fe894feeae0b17007c7
371+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."
372+msgstr ""
373+
374+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:192
375+# 299ff74602f94f758774713d29895440
376+msgid "Here is a simplified version of the rules file created by ``dh_make`` (which can be found in the ``dh-make`` package)::"
377+msgstr ""
378+
379+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:204
380+# 94a7b044a9824b13b733ffe6b5ee57b5
381+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."
382+msgstr ""
383+
384+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:208
385+# de59039f8bd245d7971edf916d93a839
386+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::"
387+msgstr ""
388+
389+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:217
390+# 7d39368e13994bedac97c6e43018bbb2
391+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."
392+msgstr ""
393+
394+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:222
395+# 9aeaa267814c4f199174eb45833f25c2
396+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."
397+msgstr ""
398+
399+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:227
400+# efa044d38ff14eebb1b18fab6a0d594d
401+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."
402+msgstr ""
403+
404+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:232
405+# d01ecd38632646f4b2bbaf1c8a08477d
406+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.)"
407+msgstr ""
408+
409+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:241
410+# 3f4e235a68754876866310c506863f75
411+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."
412+msgstr ""
413+
414+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:247
415+# 909152843c7c41ffa14664f13cb0e23f
416+msgid "Additional Files"
417+msgstr "Zusätzliche Dateien"
418+
419+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:250
420+# f6ef0e8b2e5149f59850c2425711b97f
421+msgid "The install file"
422+msgstr ""
423+
424+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:252
425+# 526e3303d4d44e27a3ceefc4764a54c9
426+msgid "The ``install`` file is used by ``dh_install`` to install files into the binary package. It has two standard use cases:"
427+msgstr ""
428+
429+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:255
430+# 8f1de6bb1994494b807ec69b3af9e2ff
431+msgid "To install files into your package that are not handled by the upstream build system."
432+msgstr ""
433+
434+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:256
435+# ecb71f5a256c4c0ab18dd78194054e68
436+msgid "Splitting a single large source package into multiple binary packages."
437+msgstr ""
438+
439+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:258
440+# b540bec3330242b48b8b6c6f34cfacf6
441+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``::"
442+msgstr ""
443+
444+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:269
445+# cdd19fc100104c8ea9f0588252dfa8cb
446+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::"
447+msgstr ""
448+
449+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:282
450+# 490646dff688435088bd93ff30de6a8a
451+msgid "While ``foo-common.install`` containing only the architecture independent file might look like::"
452+msgstr ""
453+
454+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:290
455+# ad5ae2bd9270403fb9916024351646c9
456+msgid "This would create two binary packages, ``foo`` and ``foo-common``. Both would require their own paragraph in ``debian/control``."
457+msgstr ""
458+
459+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:293
460+# ed10a77119a6408b8a5f7bfebc53500e
461+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."
462+msgstr ""
463+
464+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:298
465+# 2bce7b3f508c457eb566c77de679acd7
466+msgid "The watch file"
467+msgstr ""
468+
469+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:300
470+# d22412241e7349bfa19c0ca46d59fa93
471+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::"
472+msgstr ""
473+
474+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:309
475+# 3fd98ffeb19c4a2290a8fec31eed399c
476+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::"
477+msgstr ""
478+
479+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:322
480+# a4a1f7731ea6433ca39eecbd57af3120
481+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."
482+msgstr ""
483+
484+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:326
485+# 703b5d062b5c41e5a60cf8801b69b893
486+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>`_."
487+msgstr ""
488+
489+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:331
490+# faa634aa8992448d86ad70c8669ceee1
491+msgid "The source/format file"
492+msgstr "Die Datei source/format"
493+
494+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:333
495+# a348a6a009424e0fa49a866e129573a2
496+msgid "This file indicates the format of the source package. It should contain a single line indicating the desired format:"
497+msgstr ""
498+
499+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:336
500+# 3d75a73a1fcd4342ab1fe865edf49644
501+msgid "``3.0 (native)`` for Debian native packages (no upstream version)"
502+msgstr ""
503+
504+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:338
505+# fd11f4ebad4d45bcbac715f3d8d4cc92
506+msgid "``3.0 (quilt)`` for packages with a separate upstream tarball"
507+msgstr ""
508+
509+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:340
510+# 1293ceef3ce04d30b640542aec2b476c
511+msgid "``1.0`` for packages wishing to explicitly declare the default format"
512+msgstr ""
513+
514+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:342
515+# 4e5d823b97ab4704aba10fb129ed0106
516+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."
517+msgstr ""
518+
519+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:347
520+# d7047d3e7c22489baedfec02eea21f25
521+msgid "You are encouraged to use the newer 3.0 source format. It provides a number of new features:"
522+msgstr ""
523+
524+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:350
525+# bc4e7971f98848ae9f1fb3fd8ee97ace
526+msgid "Support for additional compression formats: bzip2, lzma and xz"
527+msgstr ""
528+
529+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:352
530+# ddca8f575fac40e09adebd6d128ff676
531+msgid "Support for multiple upstream tarballs"
532+msgstr ""
533+
534+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:354
535+# aded08ffbdb7449d88dd6010fd97766f
536+msgid "Not necessary to repack the upstream tarball to strip the debian directory"
537+msgstr ""
538+
539+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:356
540+# b0f4d5d0c68e47de9ed8836f20a0e8be
541+msgid "Debian-specific changes are no longer stored in a single .diff.gz but in multiple patches compatible with quilt under ``debian/patches/``"
542+msgstr ""
543+
544+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:358
545+# 39b0c8ccca7e48b7af1af09d580e9f58
546+msgid "http://wiki.debian.org/Projects/DebSrc3.0 summarizes additional information concerning the switch to the 3.0 source package formats."
547+msgstr ""
548+
549+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:361
550+# 9d2f31ea080c47109ce2cdae3e87f14b
551+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."
552+msgstr ""
553+
554+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:366
555+# 62fbf7d7bdcb49e782e64f2623b6f273
556+msgid "Additional Resources"
557+msgstr ""
558+
559+#: ../ubuntu-packaging-guide/debian-dir-overview.rst:368
560+# 039aa564015a48bda02c00b97d1ae2f3
561+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."
562+msgstr ""
563+
564+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:3
565+# 4be28eeaaecb4fffa9bcfb62c8828b58
566+msgid "Fixing a bug in Ubuntu"
567+msgstr ""
568+
569+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:6
570+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:9
571+# 5973d64df73b4f8593c75fcac478a00e
572+# e0956744ffbc47c08a5bb87b139bb113
573+msgid "Introduction"
574+msgstr ""
575+
576+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:8
577+# d4425948fa1e4b4fa3552113dc4dd00d
578+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."
579+msgstr ""
580+
581+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:11
582+# 02b036432f59412c82aed419f79fdb8c
583+msgid "..image:: |IMG|fixing-a-bug.png"
584+msgstr ""
585+
586+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:13
587+# 565e30b78a5c41b8990814dc8aaf9193
588+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."
589+msgstr ""
590+
591+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:20
592+# 65a1fad6a3d04bbf8fc8932a8dbf6061
593+msgid "Finding the problem"
594+msgstr ""
595+
596+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:22
597+# e8e70d62917543ed8b9b8f081ba09518
598+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."
599+msgstr ""
600+
601+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:26
602+# 1c114b6ed4044179acbfa298d17e8687
603+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."
604+msgstr ""
605+
606+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:35
607+# b454c63458594749aa09f9e587ed24a7
608+msgid "Figuring out what to fix"
609+msgstr ""
610+
611+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:37
612+# e80c8c6721fe41ddb9d3976bea810f18
613+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."
614+msgstr ""
615+
616+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:41
617+# 4726f96b219c4bfeb111d18b723e771e
618+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::"
619+msgstr ""
620+
621+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:48
622+# dbf4f211a56f4f79b15bf42c6a835050
623+msgid "This would print out::"
624+msgstr ""
625+
626+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:52
627+# 682b18dbdfe142d2affc3e04e843783f
628+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::"
629+msgstr ""
630+
631+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:64
632+# b7321dfe18ed434689e1617b5ad1b575
633+msgid "Getting the code"
634+msgstr ""
635+
636+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:66
637+# a88040229e1343e3a881389f2388861f
638+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."
639+msgstr ""
640+
641+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:72
642+# 92bb0cef4a5a4924afaff6a5bd97394f
643+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!"
644+msgstr ""
645+
646+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:81
647+# 18ebcba0d9804cdcbd3d7b679124afba
648+msgid "We'll describe specifics on how to branch the code, push your fix, and request a review in the following sections."
649+msgstr ""
650+
651+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:86
652+# e8950446f9d643f9a88454cb13406165
653+msgid "Work on a fix"
654+msgstr ""
655+
656+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:88
657+# 0b597e2df21d4ffb9082682062b35f5b
658+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."
659+msgstr ""
660+
661+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:93
662+# 1cad1f33d073486abd5bbd7950da19e1
663+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:"
664+msgstr ""
665+
666+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:96
667+# 9cd02b0b46194cb0a6e1c024c73d67bb
668+msgid "Upstream (and Debian) bug tracker (open and closed bugs),"
669+msgstr ""
670+
671+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:97
672+# fe3658bb50d6453d839bae201ab3e0d3
673+msgid "Upstream revision history (or newer release) might have fixed the problem,"
674+msgstr ""
675+
676+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:98
677+# dc982aac83c44804b15e226836d039fd
678+msgid "bugs or package uploads of Debian or other distributions."
679+msgstr ""
680+
681+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:103
682+# 3d5234f7f891414eac096bc475484247
683+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::"
684+msgstr ""
685+
686+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:108
687+# e09e4812312c4fdc854bd3814b092ebb
688+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::"
689+msgstr ""
690+
691+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:113
692+# 8e00895b4bf64119869e26ce978cb55b
693+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``."
694+msgstr ""
695+
696+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:118
697+# a5e56006a7db42a2b5b976f351e1a93a
698+msgid "Testing the fix"
699+msgstr ""
700+
701+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:120
702+# 29f45bb94cae448f9ff6bd53897237ab
703+msgid "To build a test package with your changes, run these commands::"
704+msgstr ""
705+
706+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:125
707+# 6fd80448fb9b40668a73b68d9aa82ee9
708+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."
709+msgstr ""
710+
711+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:129
712+# 7064dcf9f1ae4f49bacc8b5ebb79a4fb
713+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."
714+msgstr ""
715+
716+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:136
717+# a498c34018d44bc083c421d3836bc292
718+msgid "Documenting the fix"
719+msgstr ""
720+
721+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:138
722+# 284aad9da256489bb9541ef9c9ed8050
723+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."
724+msgstr ""
725+
726+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:143
727+# c560a925fc79452f85c60a462422febd
728+msgid "The easiest way to update this is to run::"
729+msgstr ""
730+
731+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:147
732+# fc6305e6f22b4bbe8f7ae46d9d2d36fe
733+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::"
734+msgstr ""
735+
736+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:156
737+# b4fcf5a54df94852b901b81d99177166
738+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."
739+msgstr ""
740+
741+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:162
742+# 245b3f4735b2450db24ddca21be8e504
743+msgid "With that out of the way, let's focus on the actual changelog entry itself: it is very important to document:"
744+msgstr ""
745+
746+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:165
747+# 43f30ecd000741b2849656bfa9c6ae55
748+msgid "where the change was done"
749+msgstr ""
750+
751+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:166
752+# 6aa10c8f84ff4278888e5edc11cfdf66
753+msgid "what was changed"
754+msgstr ""
755+
756+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:167
757+# a48a34986f8248b891f819d4abcff85c
758+msgid "where the discussion of the change happened"
759+msgstr ""
760+
761+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:169
762+# b5105651513148e58182645ef1350d2b
763+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."
764+msgstr ""
765+
766+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:178
767+# 7e3ca41954e44f68bcbe1755d6a53f74
768+msgid "Committing the fix"
769+msgstr ""
770+
771+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:180
772+# 8931133984c348d5991fb0d11db638e0
773+msgid "With the changelog entry written and saved, you can just run::"
774+msgstr ""
775+
776+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:184
777+# 694988e85f33437b9af1ab2c8a9192af
778+msgid "and the change will be committed (locally) with your changelog entry as a commit message."
779+msgstr ""
780+
781+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:187
782+# c7c33ddc56cd406cb79afea806a24ab7
783+msgid "To push it to Launchpad, as the remote branch name, you need to stick to the following nomenclature::"
784+msgstr ""
785+
786+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:192
787+# d43eb74f6725404a8e0c12ee36207d3d
788+msgid "This could for example be::"
789+msgstr ""
790+
791+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:196
792+# 9c95cd25baca4246bf40816093dc7f7a
793+msgid "So if you just run::"
794+msgstr ""
795+
796+#: ../ubuntu-packaging-guide/fixing-a-bug.rst:201
797+# 5aa8ae3e79484b43bf7f43d93010513b
798+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."
799+msgstr ""
800+
801+#: ../ubuntu-packaging-guide/getting-set-up.rst:3
802+# 83f85e65560046f4b62f45e17b49a17a
803+msgid "Getting Set Up"
804+msgstr ""
805+
806+#: ../ubuntu-packaging-guide/getting-set-up.rst:5
807+# a66b7a19ac434a5a909505514b2926ca
808+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:"
809+msgstr ""
810+
811+#: ../ubuntu-packaging-guide/getting-set-up.rst:10
812+# 086a9c5ecf2d449b82843d303d58a164
813+msgid "Installing packaging-related software. This includes:"
814+msgstr ""
815+
816+#: ../ubuntu-packaging-guide/getting-set-up.rst:12
817+# 400b8ae2a4554bb484ea4554b8fdd56d
818+msgid "Ubuntu-specific packaging utilities"
819+msgstr ""
820+
821+#: ../ubuntu-packaging-guide/getting-set-up.rst:13
822+# e062bc0cc3ed4294b33616a98d4a5a4d
823+msgid "Encryption software so your work can be verified as being done by you"
824+msgstr ""
825+
826+#: ../ubuntu-packaging-guide/getting-set-up.rst:14
827+# 925d91caef104cb7afa6001f05680be9
828+msgid "Additional encryption software so you can securely transfer files"
829+msgstr ""
830+
831+#: ../ubuntu-packaging-guide/getting-set-up.rst:16
832+# b0e396c2d5f4463c96d854f06c659d6a
833+msgid "Creating and configuring your account on Launchpad"
834+msgstr ""
835+
836+#: ../ubuntu-packaging-guide/getting-set-up.rst:17
837+# 4d333df7195b41f6b125d660b2a1c300
838+msgid "Setting up your development environment to help you do local builds of packages, interact with other developers, and propose your changes on Launchpad."
839+msgstr ""
840+
841+#: ../ubuntu-packaging-guide/getting-set-up.rst:22
842+# 9c69c6eea045429a8a34b6fe96139751
843+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."
844+msgstr ""
845+
846+#: ../ubuntu-packaging-guide/getting-set-up.rst:26
847+# 7c484a283dd34e39a18323d9beac87f9
848+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."
849+msgstr ""
850+
851+#: ../ubuntu-packaging-guide/getting-set-up.rst:32
852+# b98ebc64ff574a5dbf0bdbd1df7a6c8f
853+msgid "Install basic packaging software"
854+msgstr ""
855+
856+#: ../ubuntu-packaging-guide/getting-set-up.rst:34
857+# 808a29c5f38f448eb25ca66e04792f0f
858+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::"
859+msgstr ""
860+
861+#: ../ubuntu-packaging-guide/getting-set-up.rst:41
862+# fac16697cacf4355a80e8f5b88f324a0
863+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::"
864+msgstr ""
865+
866+#: ../ubuntu-packaging-guide/getting-set-up.rst:49
867+# 49e40cea430146ec8c2692a2a6bcd425
868+msgid "This command will install the following software:"
869+msgstr ""
870+
871+#: ../ubuntu-packaging-guide/getting-set-up.rst:51
872+# 4e959df03bee4ba6a973d4f2cbffec9d
873+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."
874+msgstr ""
875+
876+#: ../ubuntu-packaging-guide/getting-set-up.rst:54
877+# 1c457996b9ff49cfb8720509a4314a6d
878+msgid "``pbuilder`` -- a tool to do a reproducible builds of a package in a clean and isolated environment."
879+msgstr ""
880+
881+#: ../ubuntu-packaging-guide/getting-set-up.rst:56
882+# e9c0f3fd07be45c2928f88eb383771ed
883+msgid "``ubuntu-dev-tools`` (and ``devscripts``, a direct dependency) -- a collection of tools that make many packaging tasks easier."
884+msgstr ""
885+
886+#: ../ubuntu-packaging-guide/getting-set-up.rst:58
887+# 29db292e4464422eb0e4e6222af33ef5
888+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."
889+msgstr ""
890+
891+#: ../ubuntu-packaging-guide/getting-set-up.rst:62
892+# 9f5925a4d2014953af7c6070b31a157c
893+msgid "``apt-file`` provides an easy way to find the binary package that contains a given file."
894+msgstr ""
895+
896+#: ../ubuntu-packaging-guide/getting-set-up.rst:64
897+# 2110c86d771140b7bc69c2958b28464d
898+msgid "``apt-cache`` (part of the ``apt`` package) provides even more information about packages on Ubuntu."
899+msgstr ""
900+
901+#: ../ubuntu-packaging-guide/getting-set-up.rst:69
902+# 0a14b46fec014f97bd7557e4d9258941
903+msgid "Create your GPG key"
904+msgstr ""
905+
906+#: ../ubuntu-packaging-guide/getting-set-up.rst:71
907+# 16d8e0261d5a48dfb0ff6aeede808b34
908+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."
909+msgstr ""
910+
911+#: ../ubuntu-packaging-guide/getting-set-up.rst:78
912+# c25b4a7c3abd47c4adab9c0d4a8f88e4
913+msgid "To generate a new GPG key, run::"
914+msgstr ""
915+
916+#: ../ubuntu-packaging-guide/getting-set-up.rst:82
917+# 854929b1b9b74e56a91d8cdac1b6ccbf
918+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)."
919+msgstr ""
920+
921+#: ../ubuntu-packaging-guide/getting-set-up.rst:92
922+# c9411759e55c44f7b4ff04ab876850e9
923+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."
924+msgstr ""
925+
926+#: ../ubuntu-packaging-guide/getting-set-up.rst:97
927+# 671e66dd26de4cc19167919c4cacf056
928+msgid "Once this is done, you will get a message similar to this one::"
929+msgstr ""
930+
931+#: ../ubuntu-packaging-guide/getting-set-up.rst:104
932+# fbcfbe47756f426092c3860dad3c1fec
933+msgid "In this case ``43CDE61D`` is the *key ID*."
934+msgstr ""
935+
936+#: ../ubuntu-packaging-guide/getting-set-up.rst:106
937+# 5bcf72402a81478a8210db244d7a62f9
938+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::"
939+msgstr ""
940+
941+#: ../ubuntu-packaging-guide/getting-set-up.rst:111
942+# 457a5844d06c44969821537e48cdf762
943+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."
944+msgstr ""
945+
946+#: ../ubuntu-packaging-guide/getting-set-up.rst:118
947+# bbd6cfc0f36241b9afc8304a4955b10f
948+msgid "Create your SSH key"
949+msgstr ""
950+
951+#: ../ubuntu-packaging-guide/getting-set-up.rst:120
952+# cbe44e54369c43ccbaf972bb10995704
953+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."
954+msgstr ""
955+
956+#: ../ubuntu-packaging-guide/getting-set-up.rst:126
957+# 15220156465043d89c0f0a526b3ae31d
958+msgid "To generate an SSH key, enter::"
959+msgstr ""
960+
961+#: ../ubuntu-packaging-guide/getting-set-up.rst:130
962+# 4369607909e54d2eb28b701b18832582
963+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."
964+msgstr ""
965+
966+#: ../ubuntu-packaging-guide/getting-set-up.rst:135
967+# 4709c05c499e4a29bd71f5f1aef90b23
968+msgid "Set up pbuilder"
969+msgstr ""
970+
971+#: ../ubuntu-packaging-guide/getting-set-up.rst:137
972+# 74362386ed8340f2b5c45b2bdb9a08da
973+msgid "``pbuilder`` allows you to build packages locally on your machine. It serves a couple of purposes:"
974+msgstr ""
975+
976+#: ../ubuntu-packaging-guide/getting-set-up.rst:140
977+# 93aa3aaf40b44beb8662c330374e4e50
978+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"
979+msgstr ""
980+
981+#: ../ubuntu-packaging-guide/getting-set-up.rst:143
982+# 5169282689aa4be29c874e27633030f0
983+msgid "There is no need to install all necessary *build dependencies* locally"
984+msgstr ""
985+
986+#: ../ubuntu-packaging-guide/getting-set-up.rst:144
987+# c97e8554b32d4e71965f1ff6479f13b6
988+msgid "You can set up multiple instances for various Ubuntu and Debian releases"
989+msgstr ""
990+
991+#: ../ubuntu-packaging-guide/getting-set-up.rst:146
992+# 6a4d016f67b64cf3bbe9148306cbb3b8
993+msgid "Setting ``pbuilder`` up is very easy, run::"
994+msgstr ""
995+
996+#: ../ubuntu-packaging-guide/getting-set-up.rst:150
997+# fa64536c0c324d27983772c20599b26c
998+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."
999+msgstr ""
1000+
1001+#: ../ubuntu-packaging-guide/getting-set-up.rst:156
1002+# 5dc23eff94724361a73a59dea44289e7
1003+msgid "Get set up to work with Launchpad"
1004+msgstr ""
1005+
1006+#: ../ubuntu-packaging-guide/getting-set-up.rst:158
1007+# 95fadc8adf9f4a0e91bac3115a3d0cf1
1008+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:"
1009+msgstr ""
1010+
1011+#: ../ubuntu-packaging-guide/getting-set-up.rst:162
1012+# b79f07693785483782ed6821e0a0b9ef
1013+msgid "What Launchpad is and creating a Launchpad account"
1014+msgstr ""
1015+
1016+#: ../ubuntu-packaging-guide/getting-set-up.rst:163
1017+# e32ac038b50b4d829f13044673ba85bc
1018+msgid "Uploading your GPG and SSH keys to Launchpad"
1019+msgstr ""
1020+
1021+#: ../ubuntu-packaging-guide/getting-set-up.rst:164
1022+# 50d201d98b2747bf9b900ebd2033d4b6
1023+msgid "Configuring Bazaar to work with Launchpad"
1024+msgstr ""
1025+
1026+#: ../ubuntu-packaging-guide/getting-set-up.rst:165
1027+# 2fcbff75feec47c890b29ae9a0accc58
1028+msgid "Configuring Bash to work with Bazaar"
1029+msgstr ""
1030+
1031+#: ../ubuntu-packaging-guide/getting-set-up.rst:169
1032+# 7d3092a6e1a142afa5c22a094e2be344
1033+msgid "About Launchpad"
1034+msgstr ""
1035+
1036+#: ../ubuntu-packaging-guide/getting-set-up.rst:171
1037+# c032fdb17ad44f8a9972c7b1160387dd
1038+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."
1039+msgstr ""
1040+
1041+#: ../ubuntu-packaging-guide/getting-set-up.rst:177
1042+# ad9d175d99654dad8e2c830c4beecab0
1043+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."
1044+msgstr ""
1045+
1046+#: ../ubuntu-packaging-guide/getting-set-up.rst:181
1047+# 0c25cf1d67e14ebc9621decebd78ef5c
1048+msgid "Besides hosting Ubuntu, Launchpad can host any Free Software project. For more information see the `Launchpad Help wiki <https://help.launchpad.net/>`_."
1049+msgstr ""
1050+
1051+#: ../ubuntu-packaging-guide/getting-set-up.rst:186
1052+# 1060bd4edaa345a9a90d8c2e34628202
1053+msgid "Get a Launchpad account"
1054+msgstr ""
1055+
1056+#: ../ubuntu-packaging-guide/getting-set-up.rst:188
1057+# 308e70601909430d842502f21e1589ad
1058+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."
1059+msgstr ""
1060+
1061+#: ../ubuntu-packaging-guide/getting-set-up.rst:193
1062+# a0e1270b66884075a0074a83105aded1
1063+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."
1064+msgstr ""
1065+
1066+#: ../ubuntu-packaging-guide/getting-set-up.rst:197
1067+# 7f4a08d3ce224e59b0d23ba2f4bc4b15
1068+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."
1069+msgstr ""
1070+
1071+#: ../ubuntu-packaging-guide/getting-set-up.rst:201
1072+# ff7522539ab64385b5e3460fec3e6c7f
1073+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."
1074+msgstr ""
1075+
1076+#: ../ubuntu-packaging-guide/getting-set-up.rst:207
1077+# 8a4be4c66e1e4e4bbd19c1d319bb28bc
1078+msgid "Upload your GPG key to Launchpad"
1079+msgstr ""
1080+
1081+#: ../ubuntu-packaging-guide/getting-set-up.rst:209
1082+# 506b5b99e7ac4c87ae989c190b86e41a
1083+msgid "To find about your GPG fingerprint, run::"
1084+msgstr ""
1085+
1086+#: ../ubuntu-packaging-guide/getting-set-up.rst:213
1087+# 472d7ced0c4c4d6da22703585fa46fe7
1088+msgid "and it will print out something like::"
1089+msgstr ""
1090+
1091+#: ../ubuntu-packaging-guide/getting-set-up.rst:221
1092+# 0c821916735d4f45a78d52e91ef3239e
1093+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\"."
1094+msgstr ""
1095+
1096+#: ../ubuntu-packaging-guide/getting-set-up.rst:226
1097+# ec669b136a8c42269d9abfeb85d34c09
1098+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.`"
1099+msgstr ""
1100+
1101+#: ../ubuntu-packaging-guide/getting-set-up.rst:233
1102+# f08b21d4e43b485194ec184975a04f7f
1103+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."
1104+msgstr ""
1105+
1106+#: ../ubuntu-packaging-guide/getting-set-up.rst:238
1107+# b7455eb7f4da4959b24ef5339b994d19
1108+msgid "Back on the Launchpad website, use the Confirm button and Launchpad will complete the import of your OpenPGP key."
1109+msgstr ""
1110+
1111+#: ../ubuntu-packaging-guide/getting-set-up.rst:241
1112+# 8b0f15062c314bd5bc0578ab0db7233b
1113+msgid "Find more information at https://help.launchpad.net/YourAccount/ImportingYourPGPKey"
1114+msgstr ""
1115+
1116+#: ../ubuntu-packaging-guide/getting-set-up.rst:245
1117+# c7408c90022943d2b2adb9e67b8c079d
1118+msgid "Upload your SSH key to Launchpad"
1119+msgstr ""
1120+
1121+#: ../ubuntu-packaging-guide/getting-set-up.rst:247
1122+# d55a8885d648402ebc1c8bfa9de5b62a
1123+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\"."
1124+msgstr ""
1125+
1126+#: ../ubuntu-packaging-guide/getting-set-up.rst:253
1127+# d94df3105f334f17a6b8b4493abb7237
1128+msgid "For more information on this process, visit the `<creating an SSH keypair <https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair>`_ page on Launchpad."
1129+msgstr ""
1130+
1131+#: ../ubuntu-packaging-guide/getting-set-up.rst:259
1132+# 8452a24ce68f4df6ac5e44518ef879ad
1133+msgid "Configure Bazaar"
1134+msgstr ""
1135+
1136+#: ../ubuntu-packaging-guide/getting-set-up.rst:261
1137+# 2200087023b540598f73cba55e6d1e43
1138+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."
1139+msgstr ""
1140+
1141+#: ../ubuntu-packaging-guide/getting-set-up.rst:266
1142+# 6809b71125db4a1c9a7039c20642d0c5
1143+msgid "To tell Bazaar who you are, simply run::"
1144+msgstr ""
1145+
1146+#: ../ubuntu-packaging-guide/getting-set-up.rst:271
1147+# a7bbc2cbc2104be08887d3f357de5253
1148+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."
1149+msgstr ""
1150+
1151+#: ../ubuntu-packaging-guide/getting-set-up.rst:275
1152+# b91245d32a2440a583e602e2b0c85ac3
1153+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.)"
1154+msgstr ""
1155+
1156+#: ../ubuntu-packaging-guide/getting-set-up.rst:281
1157+# e267401effd84ebe9fad680ad51c3cd9
1158+msgid "Configure your shell"
1159+msgstr ""
1160+
1161+#: ../ubuntu-packaging-guide/getting-set-up.rst:282
1162+# c497e7fe9aed473fac7283134a606445
1163+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::"
1164+msgstr ""
1165+
1166+#: ../ubuntu-packaging-guide/getting-set-up.rst:289
1167+# f1400dd33613411caa2495b24cb8901b
1168+msgid "Now save the file and either restart your terminal or run::"
1169+msgstr ""
1170+
1171+#: ../ubuntu-packaging-guide/getting-set-up.rst:293
1172+# 71fcef52c0ce4c6a9f9e098c4f35cd1a
1173+msgid "(If you do not use the default shell, which is `bash`, please edit the configuration file for that shell accordingly.)"
1174+msgstr ""
1175+
1176+#: ../ubuntu-packaging-guide/index.rst:7
1177+# 2b2c79c0f4744aa6ac31ab4d14510523
1178+msgid "Ubuntu Packaging Guide"
1179+msgstr ""
1180+
1181+#: ../ubuntu-packaging-guide/index.rst:9
1182+# 2804b34604314864a75fcd88568b92f0
1183+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."
1184+msgstr ""
1185+
1186+#: ../ubuntu-packaging-guide/index.rst:14
1187+# e4717243c36b4fbaa8a4ab4731b7c6a2
1188+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."
1189+msgstr ""
1190+
1191+#: ../ubuntu-packaging-guide/index.rst:18
1192+# a8931d21f1314e2abf31996f75be3676
1193+msgid "The guide is split up into two sections:"
1194+msgstr ""
1195+
1196+#: ../ubuntu-packaging-guide/index.rst:20
1197+# 4432017dc60141218901d1062a4db48d
1198+msgid "A list of articles based on tasks, things you want to get done."
1199+msgstr ""
1200+
1201+#: ../ubuntu-packaging-guide/index.rst:21
1202+# 0d65327272d34bd094988cd9f7ec6044
1203+msgid "A set of knowledge-base articles that dig deeper into specific bits of our tools and workflows."
1204+msgstr ""
1205+
1206+#: ../ubuntu-packaging-guide/index.rst:24
1207+# e9691f9962684fa2983959309c708dc6
1208+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."
1209+msgstr ""
1210+
1211+#: ../ubuntu-packaging-guide/index.rst:31
1212+# 35611cc67071493d95b0fd914f093f18
1213+msgid "Articles"
1214+msgstr ""
1215+
1216+#: ../ubuntu-packaging-guide/index.rst:46
1217+# 341532acc9554b0d9d4a83f5a043fdf9
1218+msgid "Knowledge Base"
1219+msgstr ""
1220+
1221+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:3
1222+# 795cb22fada7442f821a6d3640677ae7
1223+msgid "Introduction to Ubuntu Development"
1224+msgstr ""
1225+
1226+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:5
1227+# d1e2a2fc83084defb2029936d7af82db
1228+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."
1229+msgstr ""
1230+
1231+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:14
1232+# d092727879c148148df7ae3a396ba4c1
1233+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."
1234+msgstr ""
1235+
1236+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:24
1237+# 6e37b4d95d8541b7aa3011844140dfd8
1238+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."
1239+msgstr ""
1240+
1241+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:39
1242+# 3095f0dc21b845bd9adafbc230310de6
1243+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."
1244+msgstr ""
1245+
1246+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:51
1247+# c2c9a07df8734bcd84811b0d08005493
1248+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."
1249+msgstr ""
1250+
1251+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:58
1252+# 89290a1fefbc4e5a87353e069aeb79ac
1253+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."
1254+msgstr ""
1255+
1256+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:65
1257+# 224c0402acf54540b6e21eb5498d8bf9
1258+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)."
1259+msgstr ""
1260+
1261+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:74
1262+# 7b06da07d99842fd9738c38140dd2a16
1263+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."
1264+msgstr ""
1265+
1266+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:83
1267+# c04e0435ba0d4bb38160660e3cda4ca0
1268+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."
1269+msgstr ""
1270+
1271+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:88
1272+# 72ea8fca34b04f5eb28aae4b06eaa638
1273+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."
1274+msgstr ""
1275+
1276+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:98
1277+# 38a1680f15f04e2785f959f32e8b7311
1278+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."
1279+msgstr ""
1280+
1281+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:103
1282+# b1e0446cdaa9426cb9aa082ca826788c
1283+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."
1284+msgstr ""
1285+
1286+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:112
1287+# fa9b32a2c49847f7b576db0fbf94036c
1288+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."
1289+msgstr ""
1290+
1291+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:116
1292+# 471fe59800924fc88bb010d19ea956f0
1293+msgid "Additional steps might involve getting the change backported to an older, still supported version of Ubuntu and forwarding it to Upstream."
1294+msgstr ""
1295+
1296+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:119
1297+# f36cfc93f9314451b2f5756d1652f425
1298+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."
1299+msgstr ""
1300+
1301+#: ../ubuntu-packaging-guide/introduction-to-ubuntu-development.rst:123
1302+# 7d209126020141168c019c68053e2abd
1303+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."
1304+msgstr ""
1305+
1306+#: ../ubuntu-packaging-guide/kde.rst:3
1307+# 993a9c1aa71f4aadadde6a86b5ef2ed3
1308+msgid "KDE Packaging"
1309+msgstr ""
1310+
1311+#: ../ubuntu-packaging-guide/kde.rst:5
1312+# f8f58e55f37f4abcaa7264f5fdc83903
1313+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`_."
1314+msgstr ""
1315+
1316+#: ../ubuntu-packaging-guide/kde.rst:10
1317+# dc2e9c6e5402441f85737795e60858fc
1318+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."
1319+msgstr ""
1320+
1321+#: ../ubuntu-packaging-guide/kde.rst:15
1322+# a38db20adbbe4a7da13b3d8559127a47
1323+msgid "Patching Policy"
1324+msgstr ""
1325+
1326+#: ../ubuntu-packaging-guide/kde.rst:17
1327+# ac62cb4c0e664dd4b78c074e72f87171
1328+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."
1329+msgstr ""
1330+
1331+#: ../ubuntu-packaging-guide/kde.rst:22
1332+# cb2134c6ba4346458b922470c90a372f
1333+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)."
1334+msgstr ""
1335+
1336+#: ../ubuntu-packaging-guide/kde.rst:27
1337+# d51900d276b44514b5d0c25d00914f01
1338+msgid "debian/rules"
1339+msgstr ""
1340+
1341+#: ../ubuntu-packaging-guide/kde.rst:29
1342+# 1311b27e75554f01874d2417d4a5b9bf
1343+msgid "Debian packages include some additions to the basic Debhelper usage. These are kept in the ``pkg-kde-tools`` package."
1344+msgstr ""
1345+
1346+#: ../ubuntu-packaging-guide/kde.rst:32
1347+# 4bb8cca6f7f940dc84f4ea1798287277
1348+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::"
1349+msgstr ""
1350+
1351+#: ../ubuntu-packaging-guide/kde.rst:39
1352+# 4a5e3298265c4fd4a8df97acde2c69f0
1353+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``."
1354+msgstr ""
1355+
1356+#: ../ubuntu-packaging-guide/kde.rst:47
1357+# 15bc35a1eefa4bee8ed9330f9a044380
1358+msgid "Translations"
1359+msgstr ""
1360+
1361+#: ../ubuntu-packaging-guide/kde.rst:49
1362+# ffae416394ec437c93e62703e46d4c93
1363+msgid "Packages in main have their translations imported into Launchpad and exported from Launchpad into Ubuntu's language-packs."
1364+msgstr ""
1365+
1366+#: ../ubuntu-packaging-guide/kde.rst:52
1367+# e2265cab7d764b4b83529d3b24129102
1368+msgid "So any KDE package in main must generate translation templates, include or make available upstream translations and handle ``.desktop`` file translations."
1369+msgstr ""
1370+
1371+#: ../ubuntu-packaging-guide/kde.rst:56
1372+# 98fc332176d84794aafa13b935d98523
1373+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``."
1374+msgstr ""
1375+
1376+#: ../ubuntu-packaging-guide/kde.rst:63
1377+# 931ea74ab2164fe8a5a982500456cbb2
1378+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."
1379+msgstr ""
1380+
1381+#: ../ubuntu-packaging-guide/kde.rst:69
1382+# 52573e8867ac4ed2840f572b9facbcb9
1383+msgid "If a package is moved from universe to main it will need to be reuploaded before the translations get imported into Launchpad."
1384+msgstr ""
1385+
1386+#: ../ubuntu-packaging-guide/kde.rst:72
1387+# 198ae177145b49b285220a56326dd9ce
1388+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``."
1389+msgstr ""
1390+
1391+#: ../ubuntu-packaging-guide/kde.rst:82
1392+# b49c7bc8627b48a7b4931ebd99bb725d
1393+msgid "Library Symbols"
1394+msgstr ""
1395+
1396+#: ../ubuntu-packaging-guide/kde.rst:84
1397+# a20fa5bcd911465789f7e4c2dfd61207
1398+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."
1399+msgstr ""
1400+
1401+#: ../ubuntu-packaging-guide/libraries.rst:3
1402+# 1161adad2b574c3dae7242a0e177d3cb
1403+msgid "Shared Libraries"
1404+msgstr ""
1405+
1406+#: ../ubuntu-packaging-guide/libraries.rst:5
1407+# e5417138b06748e7b459aee1467052f7
1408+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/``."
1409+msgstr ""
1410+
1411+#: ../ubuntu-packaging-guide/libraries.rst:9
1412+# 3ea2eb4efb504f41812aad3d3a3630c0
1413+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."
1414+msgstr ""
1415+
1416+#: ../ubuntu-packaging-guide/libraries.rst:21
1417+# 07915fe981c94c4db90837dba30d3cc0
1418+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."
1419+msgstr ""
1420+
1421+#: ../ubuntu-packaging-guide/libraries.rst:27
1422+# 4c5c66ef19a44914bee41dc0539099fa
1423+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``."
1424+msgstr ""
1425+
1426+#: ../ubuntu-packaging-guide/libraries.rst:34
1427+# 06a1e94fcbba4e9eadba9eb114a9c642
1428+msgid "An Example"
1429+msgstr ""
1430+
1431+#: ../ubuntu-packaging-guide/libraries.rst:36
1432+# a1ec3bc9d692403ab82b43da77562aae
1433+msgid "We will use libnova as an example::"
1434+msgstr ""
1435+
1436+#: ../ubuntu-packaging-guide/libraries.rst:41
1437+# cd3c9fa86411468aaf013cfabc0fdb33
1438+msgid "To find the SONAME of the library run"
1439+msgstr ""
1440+
1441+#: ../ubuntu-packaging-guide/libraries.rst:43
1442+# 0af012c44f39480b8014cfa20b67b08f
1443+msgid "$ readelf -a /usr/lib/libnova-0.12.so.2 | grep SONAME"
1444+msgstr ""
1445+
1446+#: ../ubuntu-packaging-guide/libraries.rst:45
1447+# 379239ed35f840b1b788703c94ef817f
1448+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."
1449+msgstr ""
1450+
1451+#: ../ubuntu-packaging-guide/libraries.rst:52
1452+# 122c0516404646858c5e64bbaf93311e
1453+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."
1454+msgstr ""
1455+
1456+#: ../ubuntu-packaging-guide/libraries.rst:60
1457+# 5bb0db11faef4045a6ffa4ff6a360ada
1458+msgid "Looking in debian/libnova-0.12-2.install we see it includes two files::"
1459+msgstr ""
1460+
1461+#: ../ubuntu-packaging-guide/libraries.rst:65
1462+# e694ef09fee449688473a2417d7e4de3
1463+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."
1464+msgstr ""
1465+
1466+#: ../ubuntu-packaging-guide/libraries.rst:70
1467+# 4806076bc944430598072095813eaf39
1468+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)."
1469+msgstr ""
1470+
1471+#: ../ubuntu-packaging-guide/libraries.rst:76
1472+# 4d4773c47d50413e9e4c9f1163445e3c
1473+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."
1474+msgstr ""
1475+
1476+#: ../ubuntu-packaging-guide/libraries.rst:82
1477+# 4cffd2fb14c64c8abca846161203f289
1478+msgid "Static Libraries"
1479+msgstr ""
1480+
1481+#: ../ubuntu-packaging-guide/libraries.rst:84
1482+# 6ccaf98902504122aa73d033cac53220
1483+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."
1484+msgstr ""
1485+
1486+#: ../ubuntu-packaging-guide/libraries.rst:94
1487+# 398bf230fe85495fb24337ec903082d5
1488+msgid "Symbol Files"
1489+msgstr ""
1490+
1491+#: ../ubuntu-packaging-guide/libraries.rst:96
1492+# 870880e5a31c40b2a6c33ca619012e39
1493+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."
1494+msgstr ""
1495+
1496+#: ../ubuntu-packaging-guide/libraries.rst:104
1497+# e6474afb8a8841ea8e5f50f6d3c97cdb
1498+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."
1499+msgstr ""
1500+
1501+#: ../ubuntu-packaging-guide/libraries.rst:107
1502+# 959ea7b001924fc0a6686b13140ea5c9
1503+msgid "libnova has no symbols file so we can create one. Start by compiling the package::"
1504+msgstr ""
1505+
1506+#: ../ubuntu-packaging-guide/libraries.rst:112
1507+# e06fccd8d4ab438a95bedf83eea74599
1508+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::"
1509+msgstr ""
1510+
1511+#: ../ubuntu-packaging-guide/libraries.rst:119
1512+# 05828480fd53405699d8ad8a89aee466
1513+msgid "This makes a diff file which you can self apply::"
1514+msgstr ""
1515+
1516+#: ../ubuntu-packaging-guide/libraries.rst:123
1517+# 247935b3befb47f78155de9bf6b4a97e
1518+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::"
1519+msgstr ""
1520+
1521+#: ../ubuntu-packaging-guide/libraries.rst:130
1522+# e6a01960a5b94448a8463cfbac6b2dd4
1523+msgid "Now move the file into its location, commit and do a test build::"
1524+msgstr ""
1525+
1526+#: ../ubuntu-packaging-guide/libraries.rst:138
1527+# f14902b00f9541f3a5065bc0dac139c1
1528+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."
1529+msgstr ""
1530+
1531+#: ../ubuntu-packaging-guide/libraries.rst:143
1532+# 98b9e46b70e8436cb84a7901e53db11a
1533+msgid "C++ Library Symbols Files"
1534+msgstr ""
1535+
1536+#: ../ubuntu-packaging-guide/libraries.rst:145
1537+# 77dfecd2e3ca4500a800a0637fef9f7a
1538+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."
1539+msgstr ""
1540+
1541+#: ../ubuntu-packaging-guide/libraries.rst:150
1542+# b21519bcb125410b9494569ca65edef2
1543+msgid "Further Reading"
1544+msgstr ""
1545+
1546+#: ../ubuntu-packaging-guide/libraries.rst:152
1547+# cacbb05f8e934e378c081170f0d24d74
1548+msgid "Junichi Uekawa's `Debian Library Packaging Guide`_ goes into this topic in more detail."
1549+msgstr ""
1550+
1551+#: ../ubuntu-packaging-guide/packaging-new-software.rst:3
1552+# 9d2486bdfc7e487e9b8af112c9316924
1553+msgid "Packaging New Software"
1554+msgstr ""
1555+
1556+#: ../ubuntu-packaging-guide/packaging-new-software.rst:5
1557+# 59fba311ff094ebcb043d86060dd02b4
1558+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."
1559+msgstr ""
1560+
1561+#: ../ubuntu-packaging-guide/packaging-new-software.rst:12
1562+# 0aa343b58400430ea898e6d0bfd9de8d
1563+msgid "Checking the Programme"
1564+msgstr ""
1565+
1566+#: ../ubuntu-packaging-guide/packaging-new-software.rst:14
1567+# 4c0b9a06c0504ea38a1e32b0ae28ffd4
1568+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."
1569+msgstr ""
1570+
1571+#: ../ubuntu-packaging-guide/packaging-new-software.rst:17
1572+# 6c13fecc7fee401fbbdf0ec8ab90982f
1573+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."
1574+msgstr ""
1575+
1576+#: ../ubuntu-packaging-guide/packaging-new-software.rst:21
1577+# 400f126b6d35496698950fa9a7b804a4
1578+msgid "Now uncompress it::"
1579+msgstr ""
1580+
1581+#: ../ubuntu-packaging-guide/packaging-new-software.rst:26
1582+# 92f40d14bcdc4f5cafad97c347d58e0c
1583+msgid "This application uses the CMake build system so we want to run cmake to prepare for compilation::"
1584+msgstr ""
1585+
1586+#: ../ubuntu-packaging-guide/packaging-new-software.rst:33
1587+# 08f8ef0e76a44a4f88c2a4d60ab6bb1f
1588+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::"
1589+msgstr ""
1590+
1591+#: ../ubuntu-packaging-guide/packaging-new-software.rst:42
1592+# c788bb971799420e940f9317d82e574a
1593+msgid "Now you can compile the source::"
1594+msgstr ""
1595+
1596+#: ../ubuntu-packaging-guide/packaging-new-software.rst:46
1597+# 9f9b99040e684a8ca7b157fa2539133b
1598+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::"
1599+msgstr ""
1600+
1601+#: ../ubuntu-packaging-guide/packaging-new-software.rst:55
1602+# d78b9316c1ee4c77852e7d26ec46b8c5
1603+msgid "If the compile completes successfully you can install and run the programme::"
1604+msgstr ""
1605+
1606+#: ../ubuntu-packaging-guide/packaging-new-software.rst:61
1607+# ac725bc6291b415c8b6b6de3d9290eed
1608+msgid "Starting a Package"
1609+msgstr ""
1610+
1611+#: ../ubuntu-packaging-guide/packaging-new-software.rst:63
1612+# aedb86fe4f8241a8843892eb97599ff0
1613+msgid "``bzr-builddeb`` includes a plugin to create a new package from a template, the plugin is a wrapper around the ``dh_make`` command::"
1614+msgstr ""
1615+
1616+#: ../ubuntu-packaging-guide/packaging-new-software.rst:69
1617+# 187e6290a2f94d9ebff13d1b65a2fa99
1618+msgid "When it asks what type of package type ``s`` for single binary."
1619+msgstr ""
1620+
1621+#: ../ubuntu-packaging-guide/packaging-new-software.rst:71
1622+# 03268a6b1a54434abb8de4bccd4391f6
1623+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::"
1624+msgstr ""
1625+
1626+#: ../ubuntu-packaging-guide/packaging-new-software.rst:79
1627+# 48e36e15ca254116907f8a77750fdd09
1628+msgid "You should now customise each of the files."
1629+msgstr ""
1630+
1631+#: ../ubuntu-packaging-guide/packaging-new-software.rst:81
1632+# f9ab5fc134fb4cee8e32e556a07fe586
1633+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``."
1634+msgstr ""
1635+
1636+#: ../ubuntu-packaging-guide/packaging-new-software.rst:86
1637+# 68fb6f78c08c49c7aacf1a866b5c1480
1638+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``."
1639+msgstr ""
1640+
1641+#: ../ubuntu-packaging-guide/packaging-new-software.rst:92
1642+# bf0f078ee9fe47c7a49fcc96065db39d
1643+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::"
1644+msgstr ""
1645+
1646+#: ../ubuntu-packaging-guide/packaging-new-software.rst:100
1647+# 6b883941eafb476589f23774b2b01bfc
1648+msgid "You will also need to fill in a description of the programme in the ``Description:`` field."
1649+msgstr ""
1650+
1651+#: ../ubuntu-packaging-guide/packaging-new-software.rst:103
1652+# 208710fb26b4452184d399e77c4cb867
1653+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."
1654+msgstr ""
1655+
1656+#: ../ubuntu-packaging-guide/packaging-new-software.rst:106
1657+# 0012e8d84be04d68b3038b628e5ccbc2
1658+msgid "``docs`` contains any upstream documentation files you think should be included in the final package."
1659+msgstr ""
1660+
1661+#: ../ubuntu-packaging-guide/packaging-new-software.rst:109
1662+# 756545d85bcc40c1a333e2b35f275b7b
1663+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."
1664+msgstr ""
1665+
1666+#: ../ubuntu-packaging-guide/packaging-new-software.rst:112
1667+# 312f3c37d8b14073a30458410e26a220
1668+msgid "``source/format`` can be left as is, this describes the version format of the source package and should be ``3.0 (quilt)``."
1669+msgstr ""
1670+
1671+#: ../ubuntu-packaging-guide/packaging-new-software.rst:115
1672+# 7a915cabe45d47e996bb9a6b61cabc91
1673+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."
1674+msgstr ""
1675+
1676+#: ../ubuntu-packaging-guide/packaging-new-software.rst:120
1677+# a8fb1e2bc95642288d7a16a784fc733c
1678+msgid "Finally commit the code to your packaging branch::"
1679+msgstr ""
1680+
1681+#: ../ubuntu-packaging-guide/packaging-new-software.rst:125
1682+#: ../ubuntu-packaging-guide/udd-working.rst:69
1683+# d2c0b4d8d90b48b19f2c373ed55eab75
1684+# ecfe8d82e2114f7fb824b8b17e491ce6
1685+msgid "Building the package"
1686+msgstr ""
1687+
1688+#: ../ubuntu-packaging-guide/packaging-new-software.rst:127
1689+# 0d02d6cbb00c4afd912ded7a8cbd2ae1
1690+msgid "Now we need to check that our packaging successfully compiles the package and builds the .deb binary package::"
1691+msgstr ""
1692+
1693+#: ../ubuntu-packaging-guide/packaging-new-software.rst:132
1694+# 37b8625fff6b4efcba2587de14621e20
1695+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 ``..``."
1696+msgstr ""
1697+
1698+#: ../ubuntu-packaging-guide/packaging-new-software.rst:136
1699+# d4b4cf3877124f738e8501904b60a80c
1700+msgid "You can view the contents of the package with::"
1701+msgstr ""
1702+
1703+#: ../ubuntu-packaging-guide/packaging-new-software.rst:140
1704+# 6fc445d27f0149098cf9e27f81b0bfaa
1705+msgid "Install the package and check it works::"
1706+msgstr ""
1707+
1708+#: ../ubuntu-packaging-guide/packaging-new-software.rst:145
1709+# 0b7a2d16133847e9aacff428d788ceaa
1710+msgid "Next Steps"
1711+msgstr ""
1712+
1713+#: ../ubuntu-packaging-guide/packaging-new-software.rst:147
1714+# b5d75f5868754b4596d239d6f5556d92
1715+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::"
1716+msgstr ""
1717+
1718+#: ../ubuntu-packaging-guide/packaging-new-software.rst:155
1719+# 662bd4ddf12449c49cab0687ed1bfed7
1720+msgid "A description of each of the problems it reports can be found on the `lintian website`_."
1721+msgstr ""
1722+
1723+#: ../ubuntu-packaging-guide/packaging-new-software.rst:158
1724+# f20bba2b62e14567b1fbb57eb23214b4
1725+msgid "After making a fix to the packaging you can rebuild using ``-nc`` \"no clean\" without having to build from scratch::"
1726+msgstr ""
1727+
1728+#: ../ubuntu-packaging-guide/packaging-new-software.rst:163
1729+# 1a81beef68d64e798a6d81cccb660f4e
1730+msgid "Having checked that the package builds locally you should ensure it builds on a clean system using ``pbuilder``::"
1731+msgstr ""
1732+
1733+#: ../ubuntu-packaging-guide/packaging-new-software.rst:170
1734+# 17ae18ca6a564c998abd447254e188f7
1735+msgid "When you are happy with your package you will want others to review it. You can upload the branch to Launchpad for review::"
1736+msgstr ""
1737+
1738+#: ../ubuntu-packaging-guide/packaging-new-software.rst:175
1739+# 17392b1fff004e2493366c5fcadcb1c0
1740+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``::"
1741+msgstr ""
1742+
1743+#: ../ubuntu-packaging-guide/packaging-new-software.rst:181
1744+# c8c0618209c2424d9beac381d3b024f6
1745+msgid "See :doc:`uploading<./udd-uploading>` for more information."
1746+msgstr ""
1747+
1748+#: ../ubuntu-packaging-guide/packaging-new-software.rst:183
1749+# 8ab83f0bc099482593d87bec8daf50ce
1750+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."
1751+msgstr ""
1752+
1753+#: ../ubuntu-packaging-guide/packaging-new-software.rst:188
1754+# 9529cb8f705547dc95d7d25c82e857f7
1755+msgid "Submitting for inclusion"
1756+msgstr ""
1757+
1758+#: ../ubuntu-packaging-guide/packaging-new-software.rst:190
1759+# 87fc979533c04e45992453914d17a982
1760+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:"
1761+msgstr ""
1762+
1763+#: ../ubuntu-packaging-guide/packaging-new-software.rst:197
1764+# 03d85c092776496ab0969fd84fd973c7
1765+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."
1766+msgstr ""
1767+
1768+#: ../ubuntu-packaging-guide/packaging-new-software.rst:201
1769+# be95ee15b6f840a8be29c9a24eee784c
1770+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."
1771+msgstr ""
1772+
1773+#: ../ubuntu-packaging-guide/packaging-new-software.rst:205
1774+# 7bfbf158bcc445d6afbdc51a8bbce4e0
1775+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."
1776+msgstr ""
1777+
1778+#: ../ubuntu-packaging-guide/packaging-new-software.rst:209
1779+# 04f7ce3e6a144369bd5a0de44748fc8f
1780+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`_."
1781+msgstr ""
1782+
1783+#: ../ubuntu-packaging-guide/patches-to-packages.rst:3
1784+# 2241baf03ca34a08b7d7e3fdda30ced7
1785+msgid "Patches to Packages"
1786+msgstr ""
1787+
1788+#: ../ubuntu-packaging-guide/patches-to-packages.rst:5
1789+# 5c3751ca50de4e1387fa501b03bf1eb5
1790+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."
1791+msgstr ""
1792+
1793+#: ../ubuntu-packaging-guide/patches-to-packages.rst:14
1794+# 1a8dc2ea6df045c791f0924de1eba7a3
1795+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."
1796+msgstr ""
1797+
1798+#: ../ubuntu-packaging-guide/patches-to-packages.rst:18
1799+# 36be977d3c7b4b27ac83f787d1c20ba6
1800+msgid "Let's look at an example package, ``kamoso`` in Natty::"
1801+msgstr ""
1802+
1803+#: ../ubuntu-packaging-guide/patches-to-packages.rst:22
1804+# 5529f33d3d0b478fac7ea68ab8405610
1805+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."
1806+msgstr ""
1807+
1808+#: ../ubuntu-packaging-guide/patches-to-packages.rst:29
1809+# e635b7e963bb4caeac48400b23c7811f
1810+msgid "The order of patches to apply is kept in ``debian/patches/series``."
1811+msgstr ""
1812+
1813+#: ../ubuntu-packaging-guide/patches-to-packages.rst:32
1814+# b694697d5a60411bb2c7dc37ed4675f0
1815+msgid "Patches with Quilt"
1816+msgstr ""
1817+
1818+#: ../ubuntu-packaging-guide/patches-to-packages.rst:34
1819+# 6bb7b69eac2346bf980295dbddc298c4
1820+msgid "Before working with Quilt you need to tell it where to find the patches. Add this to your ``~/.bashrc``::"
1821+msgstr ""
1822+
1823+#: ../ubuntu-packaging-guide/patches-to-packages.rst:39
1824+# cbac6263b89f4e62bcfae1a183202ab1
1825+msgid "And source the file to apply the new export::"
1826+msgstr ""
1827+
1828+#: ../ubuntu-packaging-guide/patches-to-packages.rst:43
1829+# 90e75b21038b415cb7124b81a3119dd0
1830+msgid "By default all patches are applied already to UDD checkouts or downloaded packages. You can check this with::"
1831+msgstr ""
1832+
1833+#: ../ubuntu-packaging-guide/patches-to-packages.rst:49
1834+# d4faacee0f964e4a9beebcae8a1def6f
1835+msgid "If you wanted to remove the patch you would run ``pop``::"
1836+msgstr ""
1837+
1838+#: ../ubuntu-packaging-guide/patches-to-packages.rst:57
1839+# 7d2578ea2fb3424ba9f76dfb56642311
1840+msgid "And to apply a patch you use ``push``::"
1841+msgstr ""
1842+
1843+#: ../ubuntu-packaging-guide/patches-to-packages.rst:67
1844+# 3920a9d86b834234be836b63f21ab810
1845+msgid "Adding a New Patch"
1846+msgstr ""
1847+
1848+#: ../ubuntu-packaging-guide/patches-to-packages.rst:69
1849+# fb390d3c3be349cdb600350811c9671d
1850+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::"
1851+msgstr ""
1852+
1853+#: ../ubuntu-packaging-guide/patches-to-packages.rst:81
1854+# 9041df0abe5140678fe386d7d4b9b92c
1855+msgid "The ``quilt add`` step is important, if you forget it the files will not end up in the patch."
1856+msgstr ""
1857+
1858+#: ../ubuntu-packaging-guide/patches-to-packages.rst:84
1859+# 9e80030f1eb6438a9bc24959f9cfac5d
1860+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::"
1861+msgstr ""
1862+
1863+#: ../ubuntu-packaging-guide/patches-to-packages.rst:94
1864+# 6f36a309febe4b4b83ff777007dc4901
1865+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."
1866+msgstr ""
1867+
1868+#: ../ubuntu-packaging-guide/patches-to-packages.rst:97
1869+# c25ed33cbb694bb5ab2fd2719f11adef
1870+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."
1871+msgstr ""
1872+
1873+#: ../ubuntu-packaging-guide/patches-to-packages.rst:104
1874+# a9bcd232fe19471a8dd3bc40ac48ec2a
1875+msgid "Upgrading to New Upstream Versions"
1876+msgstr ""
1877+
1878+#: ../ubuntu-packaging-guide/patches-to-packages.rst:106
1879+# df088161eeb042c1a7a74ac49eaa923b
1880+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."
1881+msgstr ""
1882+
1883+#: ../ubuntu-packaging-guide/patches-to-packages.rst:110
1884+# 870e3c1c96724cc1a4f9ca814cddf71b
1885+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`_::"
1886+msgstr ""
1887+
1888+#: ../ubuntu-packaging-guide/patches-to-packages.rst:116
1889+# 01d84a0499414f2a8f7e73acf0c14f58
1890+msgid "Then upgrade to the new version"
1891+msgstr ""
1892+
1893+#: ../ubuntu-packaging-guide/patches-to-packages.rst:118
1894+# 060a7d5c6b1e42a2bdfe566bd96e126d
1895+msgid "$ bzr merge-upstream --version 2.0.2 https://launchpad.net/ubuntu/+archive/primary/+files/kamoso_2.0.2.orig.tar.bz2"
1896+msgstr ""
1897+
1898+#: ../ubuntu-packaging-guide/patches-to-packages.rst:120
1899+# 61de3ecb174b44daa1ef323e29f1b9da
1900+msgid "Then apply the patches one at a time to check for problems::"
1901+msgstr ""
1902+
1903+#: ../ubuntu-packaging-guide/patches-to-packages.rst:129
1904+# 5d35e1273bbd4487a49ec82a1dd0607b
1905+msgid "If it can be reverse-applied this means the patch has been applied already by upstream, so we can delete the patch::"
1906+msgstr ""
1907+
1908+#: ../ubuntu-packaging-guide/patches-to-packages.rst:135
1909+# b0bfdc2a871f47538cdc0d72eaab11d4
1910+msgid "Then carry on::"
1911+msgstr ""
1912+
1913+#: ../ubuntu-packaging-guide/patches-to-packages.rst:140
1914+# eb92e1c67e134b738c41bec49059cc7c
1915+msgid "It is a good idea to run refresh, this will update the patch relative to the changed upstream source::"
1916+msgstr ""
1917+
1918+#: ../ubuntu-packaging-guide/patches-to-packages.rst:146
1919+# 8ad4cf528b9d4543b6a610c13ffdd227
1920+msgid "Then commit as usual::"
1921+msgstr ""
1922+
1923+#: ../ubuntu-packaging-guide/patches-to-packages.rst:152
1924+# 6f2cbc44cb544b2ebdfe54bda2edb7fc
1925+msgid "Making A Package Use Quilt"
1926+msgstr ""
1927+
1928+#: ../ubuntu-packaging-guide/patches-to-packages.rst:154
1929+# 6ca7a58987bb496face3eacc1bfb6f78
1930+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)``."
1931+msgstr ""
1932+
1933+#: ../ubuntu-packaging-guide/patches-to-packages.rst:158
1934+# e49e867c8e604b53a561bf92af15f40e
1935+msgid "Older packages using source format 1.0 will need to explicitly use Quilt, usually by including a makefile into ``debian/rules``."
1936+msgstr ""
1937+
1938+#: ../ubuntu-packaging-guide/patches-to-packages.rst:163
1939+# d91974b6f93a4ebc83b3ebdff6a5d578
1940+msgid "Other Patch Systems"
1941+msgstr ""
1942+
1943+#: ../ubuntu-packaging-guide/patches-to-packages.rst:165
1944+# 95e9287c4e5b4d8eb3aebe3f6f3342e3
1945+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."
1946+msgstr ""
1947+
1948+#: ../ubuntu-packaging-guide/patches-to-packages.rst:171
1949+# f38c643c88ec478f8dffd3c0b3b6107b
1950+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."
1951+msgstr ""
1952+
1953+#: ../ubuntu-packaging-guide/patches-to-packages.rst:175
1954+# 9520c1dcd3714fcbb7cd1a4123db0488
1955+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."
1956+msgstr ""
1957+
1958+#: ../ubuntu-packaging-guide/patches-to-packages.rst:178
1959+# 44bb230bde8243e88d02160fafeb25e1
1960+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."
1961+msgstr ""
1962+
1963+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:3
1964+# fcaa66fc4d6e4c70a68f6edce85a973f
1965+msgid "Security and Stable Release Updates"
1966+msgstr ""
1967+
1968+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:6
1969+# 44937136520b417ab88d6f9dca66a583
1970+msgid "Fixing a Security Bug in Ubuntu"
1971+msgstr ""
1972+
1973+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:11
1974+# 6ea8baeb570c49fe81e30b93b0106a86
1975+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."
1976+msgstr ""
1977+
1978+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:19
1979+# b2012d850e594307ab0fc8ff75da7070
1980+msgid "Obtaining the source"
1981+msgstr ""
1982+
1983+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:21
1984+# 50cca424f3334607971cf3b684408134
1985+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::"
1986+msgstr ""
1987+
1988+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:30
1989+# 160e2724f58a49d29b12dc794073fce9
1990+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::"
1991+msgstr ""
1992+
1993+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:38
1994+# f1c7e672c4d04f32bf8fd5455422f789
1995+msgid "Patching the source"
1996+msgstr ""
1997+
1998+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:39
1999+# 69bcfabad54d4339bef655df9d2b1001
2000+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."
2001+msgstr ""
2002+
2003+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:46
2004+# e3377b23d7a547cdaabdf4606ad86234
2005+msgid "To create your patch using ``edit-patch``::"
2006+msgstr ""
2007+
2008+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:51
2009+# ea53b2134aae47fb9c41c935c1c14647
2010+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::"
2011+msgstr ""
2012+
2013+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:57
2014+# c8f4bfe3fbd94f54b2efdee70bd8ecdd
2015+msgid "Aftering making the necessary changes, you just hit Ctrl-D or type exit to leave the temporary shell."
2016+msgstr ""
2017+
2018+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:61
2019+# 3ab2cb5e96cf425c8bb62d682dfb5bef
2020+msgid "Formatting the changelog and patches"
2021+msgstr ""
2022+
2023+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:63
2024+# 32cf2e90495e499a88a886c1bbecc26e
2025+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::"
2026+msgstr ""
2027+
2028+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:80
2029+# ed919cc67ea9442dac459f1cc3d64aeb
2030+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::"
2031+msgstr ""
2032+
2033+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:91
2034+# 8e0fc3aa272a4b3baf5f4d3c43643d02
2035+msgid "Multiple vulnerabilities can be fixed in the same security upload; just be sure to use different patches for different vulnerabilities."
2036+msgstr ""
2037+
2038+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:95
2039+# 814ea189399a4700901458d9e274c17a
2040+msgid "Test and Submit your work"
2041+msgstr ""
2042+
2043+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:97
2044+# f8623540f61643408dee80d6a8d176ab
2045+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:"
2046+msgstr ""
2047+
2048+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:100
2049+# a594d5cc105044b79b691029f7176bb4
2050+msgid "Build your package and verify that it compiles without error and without any added compiler warnings"
2051+msgstr ""
2052+
2053+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:102
2054+# 8a246f8802e2464693909bfa93b85323
2055+msgid "Upgrade to the new version of the package from the previous version"
2056+msgstr ""
2057+
2058+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:103
2059+# 98467e4df61c444a90c17dada9ab0428
2060+msgid "Test that the new package fixes the vulnerability and does not introduce any regressions"
2061+msgstr ""
2062+
2063+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:105
2064+# fd79f702d89e41cd8a66e6c26cfd3cf9
2065+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``"
2066+msgstr ""
2067+
2068+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:109
2069+# 3aee8769d59e4288b13ee8d4f9279cd4
2070+msgid "If the security vulnerability is not yet public then do not file a merge proposal and ensure you mark the bug as private."
2071+msgstr ""
2072+
2073+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:112
2074+# 4454e4ec4d504a989350286c1dc011a3
2075+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."
2076+msgstr ""
2077+
2078+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:116
2079+# 0ed66335fe214b25b3a214779fa79b47
2080+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."
2081+msgstr ""
2082+
2083+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:123
2084+# 9d58c76584ab422aad579dc066f350e9
2085+msgid "Stable Release Updates"
2086+msgstr ""
2087+
2088+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:125
2089+# b8c8cef56aa84c5683332a6a4ca34e9d
2090+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."
2091+msgstr ""
2092+
2093+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:130
2094+# 17790d066b284657a6f8573eb0a33a12
2095+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."
2096+msgstr ""
2097+
2098+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:133
2099+# 81a7322879ab43249b9d1cd8a24b8616
2100+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``."
2101+msgstr ""
2102+
2103+#: ../ubuntu-packaging-guide/security-and-stable-release-updates.rst:138
2104+# f654430d35904327bb2a7b6ce0a9d903
2105+msgid "See the `Stable Release Updates wiki page`_ for more information."
2106+msgstr ""
2107+
2108+#: ../ubuntu-packaging-guide/traditional-packaging.rst:3
2109+# 01e146ed20574b0491518a5fa96a7814
2110+msgid "Traditional Packaging"
2111+msgstr ""
2112+
2113+#: ../ubuntu-packaging-guide/traditional-packaging.rst:5
2114+# bfc81f2a439f41328fa57d85524df487
2115+msgid "FIXME describe traditional packaging here"
2116+msgstr ""
2117+
2118+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:3
2119+# de45b250ee434651b8ba2943337e2d9e
2120+msgid "Getting the Source"
2121+msgstr ""
2122+
2123+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:6
2124+# 708a4d932f37463e9fe6c0a5064dada9
2125+msgid "Source package URLs"
2126+msgstr ""
2127+
2128+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:8
2129+# 1377317bd9494ced9d4a0891bee7a957
2130+msgid "Bazaar provides some very nice shortcuts for accessing Launchpad's source branches of packages in both Ubuntu and Debian."
2131+msgstr ""
2132+
2133+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:11
2134+# 170a9600a8f44caeae10765baaf7c21f
2135+msgid "To refer to source branches use::"
2136+msgstr ""
2137+
2138+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:15
2139+# 1d24fcdc74354dd7bff584230dfea113
2140+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::"
2141+msgstr ""
2142+
2143+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:21
2144+# 7d357984ada0447ba0431181a58b5075
2145+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::"
2146+msgstr ""
2147+
2148+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:27
2149+# 403064151cb24c388caca162735fa0bb
2150+msgid "Since they are unique, you can also abbreviate the distro-series name::"
2151+msgstr ""
2152+
2153+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:31
2154+# 262e6ccf32c64d649061db02ab0e5f12
2155+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::"
2156+msgstr ""
2157+
2158+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:37
2159+# 0ceef9271de640e28199e83e7a349385
2160+msgid "and to access Tomboy in Debian Lenny_ use::"
2161+msgstr ""
2162+
2163+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:48
2164+# e728f15a7ae54e96b3c8999fb3940624
2165+msgid "Getting the source"
2166+msgstr ""
2167+
2168+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:50
2169+# a67d179daf624f7dbbaf3eedfcbcaf6b
2170+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."
2171+msgstr ""
2172+
2173+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:54
2174+# 50f77ec3e33946019d79cf8f8e68c980
2175+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."
2176+msgstr ""
2177+
2178+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:62
2179+# 811a02ac0bb74e139dcc5e7d10dc3de2
2180+msgid "Creating a shared repository"
2181+msgstr ""
2182+
2183+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:64
2184+# ea541ef4f3bc44c7808d29301195de53
2185+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."
2186+msgstr ""
2187+
2188+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:70
2189+# a93654da2b2842c3883bd62ee844cf65
2190+msgid "Do this using the `bzr init-repo` command, passing it the directory name we would like to use::"
2191+msgstr ""
2192+
2193+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:75
2194+# 6ac6ea4044af40e69f14be43ecd8e313
2195+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::"
2196+msgstr ""
2197+
2198+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:82
2199+# e26beb7d28ab4c29ab4f6f4e4c609347
2200+msgid "Getting the trunk branch"
2201+msgstr ""
2202+
2203+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:84
2204+# 9c8b09e39fa544619be271049b65feb3
2205+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::"
2206+msgstr ""
2207+
2208+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:90
2209+# 1c098b0aedf040e9896f809d48da7baf
2210+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."
2211+msgstr ""
2212+
2213+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:97
2214+# 478330b59866411d9ac4d2b636845be3
2215+msgid "Ensuring the version is up to date"
2216+msgstr ""
2217+
2218+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:99
2219+# d3d9360875864092acc72d83fec79552
2220+msgid "When you do your ``bzr branch`` you will get a message telling you if the packaging branch is up to date. For example::"
2221+msgstr ""
2222+
2223+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:107
2224+# 46fe13c7e5414876b713f54610679084
2225+msgid "Occasionally the importer fails and packaging branches do not match what is in the archive. A message saying::"
2226+msgstr ""
2227+
2228+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:112
2229+# 61d9a5892a464d35bd5b53cd3475ced0
2230+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."
2231+msgstr ""
2232+
2233+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:118
2234+# e29e16998b494544859ca798910a447a
2235+msgid "Upstream Tar"
2236+msgstr ""
2237+
2238+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:120
2239+# 20386da53a3741a4a7b84b07b6f0415b
2240+msgid "You can get the upstream tar by running::"
2241+msgstr ""
2242+
2243+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:124
2244+# a8dd0f34885b4a9a87be2aa44d7d1c6a
2245+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::"
2246+msgstr ""
2247+
2248+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:132
2249+# f92e4efcc80749d4a2d194c830a44e04
2250+msgid "The `builddeb` plugin has several `configuration options`_."
2251+msgstr ""
2252+
2253+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:136
2254+# 1549cda4ab0f4671921760913c600e9d
2255+msgid "Getting a branch for a particular release"
2256+msgstr ""
2257+
2258+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:138
2259+# 5e1d5d3463784729b51804337afd0f15
2260+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::"
2261+msgstr ""
2262+
2263+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:147
2264+# 89b049dc5a4e4ab4a5d79fba7de14a97
2265+msgid "Importing a Debian source package"
2266+msgstr ""
2267+
2268+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:149
2269+# 948574e1256b401c845dbde95388ad7a
2270+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)::"
2271+msgstr ""
2272+
2273+#: ../ubuntu-packaging-guide/udd-getting-the-source.rst:162
2274+# 68b9d2904b2042c8a2feeca5b2112463
2275+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."
2276+msgstr ""
2277+
2278+#: ../ubuntu-packaging-guide/udd-intro.rst:3
2279+# e02e5ddbac284aa99584a94dd0782d6e
2280+msgid "Ubuntu Distributed Development - Introduction"
2281+msgstr ""
2282+
2283+#: ../ubuntu-packaging-guide/udd-intro.rst:5
2284+# 7ee4234b07754d448c2002b58fcf0a5a
2285+msgid "This guide focuses on packaging using the *Ubuntu Distributed Development* (UDD) method."
2286+msgstr ""
2287+
2288+#: ../ubuntu-packaging-guide/udd-intro.rst:8
2289+# f06705abe97045758ae653af62eab8a6
2290+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_."
2291+msgstr ""
2292+
2293+#: ../ubuntu-packaging-guide/udd-intro.rst:14
2294+# dc7215466a424301828c9e3bcde1a22f
2295+msgid "Traditional Packaging Limitations"
2296+msgstr ""
2297+
2298+#: ../ubuntu-packaging-guide/udd-intro.rst:16
2299+# 371cfc21d714497ab868f5e1854d61ef
2300+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::"
2301+msgstr ""
2302+
2303+#: ../ubuntu-packaging-guide/udd-intro.rst:23
2304+# 1aadf41ee8ef444083f2dea4ad45ec67
2305+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."
2306+msgstr ""
2307+
2308+#: ../ubuntu-packaging-guide/udd-intro.rst:28
2309+# cf162dd8ac104619800b05a4e8706935
2310+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."
2311+msgstr ""
2312+
2313+#: ../ubuntu-packaging-guide/udd-intro.rst:40
2314+# ae01db626fea46f78e6cd18691596898
2315+msgid "Ubuntu Distributed Development"
2316+msgstr ""
2317+
2318+#: ../ubuntu-packaging-guide/udd-intro.rst:42
2319+# 974d49485a2849168e9942b0804aa69e
2320+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."
2321+msgstr ""
2322+
2323+#: ../ubuntu-packaging-guide/udd-intro.rst:49
2324+# 2af22c6ccf5947babf7cc5902e40e461
2325+msgid "UDD branches are all in a standard location so doing a checkout is easy::"
2326+msgstr ""
2327+
2328+#: ../ubuntu-packaging-guide/udd-intro.rst:53
2329+# cb5e2ec745b64f1693c487a5cf6e4bbd
2330+msgid "The merge history includes two separate branches, one for the upstream source and one which adds the ``debian/`` packaging directory::"
2331+msgstr ""
2332+
2333+#: ../ubuntu-packaging-guide/udd-intro.rst:59
2334+# 1054f464b56142dab7d1a8e336bda0a4
2335+msgid "(This command uses *qbzr* for a GUI, run ``log`` instead of ``qlog`` for console output.)"
2336+msgstr ""
2337+
2338+#: ../ubuntu-packaging-guide/udd-intro.rst:64
2339+# 1dab11a12fd74a3c9b6b0381b1097201
2340+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``."
2341+msgstr ""
2342+
2343+#: ../ubuntu-packaging-guide/udd-intro.rst:70
2344+# bc572117cad0476eb5548602d8dec778
2345+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``."
2346+msgstr ""
2347+
2348+#: ../ubuntu-packaging-guide/udd-intro.rst:76
2349+# dacd0f46f92a406c86b2679ce3bf4e28
2350+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::"
2351+msgstr ""
2352+
2353+#: ../ubuntu-packaging-guide/udd-intro.rst:82
2354+# d71b4d03fccb4e2680449bdc9fa8669b
2355+msgid "(This command uses *qbzr* for a GUI, run ``diff`` instead of ``qdiff`` for console output.)"
2356+msgstr ""
2357+
2358+#: ../ubuntu-packaging-guide/udd-intro.rst:87
2359+# 208d833fb66e44b7b0ac5a51f0e6d6ef
2360+msgid "From this we can clearly see what has changed in Ubuntu compared to Debian, very handy."
2361+msgstr ""
2362+
2363+#: ../ubuntu-packaging-guide/udd-intro.rst:91
2364+# ae15adc6961442969d8f05f291313348
2365+msgid "Bazaar"
2366+msgstr ""
2367+
2368+#: ../ubuntu-packaging-guide/udd-intro.rst:93
2369+# 25ba427a878d451eb0d6bcf63ee5ce00
2370+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."
2371+msgstr ""
2372+
2373+#: ../ubuntu-packaging-guide/udd-intro.rst:97
2374+# f0cefb6f5b3a485aa4e7f7e1819e7cdf
2375+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>`_."
2376+msgstr ""
2377+
2378+#: ../ubuntu-packaging-guide/udd-intro.rst:105
2379+# c08d41d2e3c94aebb87744586cee7534
2380+msgid "Limitations of UDD"
2381+msgstr ""
2382+
2383+#: ../ubuntu-packaging-guide/udd-intro.rst:107
2384+# adf0a0ae209340c592c8159ca0f14d66
2385+msgid "Ubuntu Distributed Development is a new method for working with Ubuntu packages. It currently has some notable limitations:"
2386+msgstr ""
2387+
2388+#: ../ubuntu-packaging-guide/udd-intro.rst:110
2389+# 74f68a68c767479c89d3d0ee9396c90f
2390+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."
2391+msgstr ""
2392+
2393+#: ../ubuntu-packaging-guide/udd-intro.rst:115
2394+# 4cbeca18d43241faa9c2c1e3817ffa90
2395+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."
2396+msgstr ""
2397+
2398+#: ../ubuntu-packaging-guide/udd-intro.rst:118
2399+# 7b4d6c271a8d45f5bac7e40ebff32612
2400+msgid "There is no way to build directly from branches. You need to create a source package and upload that."
2401+msgstr ""
2402+
2403+#: ../ubuntu-packaging-guide/udd-intro.rst:121
2404+# 270ea10b5b5940219b098bfc706f4d40
2405+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."
2406+msgstr ""
2407+
2408+#: ../ubuntu-packaging-guide/udd-intro.rst:126
2409+# 3bb30727b0e849be88b4583d071b56d3
2410+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."
2411+msgstr ""
2412+
2413+#: ../ubuntu-packaging-guide/udd-latest.rst:3
2414+# 9d1a300c3d9345369085e904b67313c1
2415+msgid "Getting The Latest"
2416+msgstr ""
2417+
2418+#: ../ubuntu-packaging-guide/udd-latest.rst:5
2419+# 339c0245957f4160b0005b947a3e0d49
2420+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."
2421+msgstr ""
2422+
2423+#: ../ubuntu-packaging-guide/udd-latest.rst:10
2424+# c18361aeed4245cab2688e479f43a4eb
2425+msgid "Updating your main branch"
2426+msgstr ""
2427+
2428+#: ../ubuntu-packaging-guide/udd-latest.rst:12
2429+# a3d5cd0913d04caabf195aeb2cda64c4
2430+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::"
2431+msgstr ""
2432+
2433+#: ../ubuntu-packaging-guide/udd-latest.rst:18
2434+# 575912a50bdb4bc2ab0148d8acfb7535
2435+msgid "This works wherever you have a checkout of a branch, so it will work for things like branches of `maverick`, `hardy-proposed`, etc."
2436+msgstr ""
2437+
2438+#: ../ubuntu-packaging-guide/udd-latest.rst:23
2439+# 715c9c2a3372432babab101922e160f8
2440+msgid "Getting the latest in to your working branches"
2441+msgstr ""
2442+
2443+#: ../ubuntu-packaging-guide/udd-latest.rst:25
2444+# e4fcfc4c42594affae741d5a17617daf
2445+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."
2446+msgstr ""
2447+
2448+#: ../ubuntu-packaging-guide/udd-latest.rst:29
2449+# 55c9366ed7bb49f7b149db6445b466bc
2450+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."
2451+msgstr ""
2452+
2453+#: ../ubuntu-packaging-guide/udd-latest.rst:34
2454+# 69a77acb1eb54553bc5dcd9c3d08a871
2455+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."
2456+msgstr ""
2457+
2458+#: ../ubuntu-packaging-guide/udd-latest.rst:38
2459+# eef9b9378c9b45838c22b8f4773953c5
2460+msgid "To merge the changes you just need to use ``bzr merge``, but you must have committed your current work first::"
2461+msgstr ""
2462+
2463+#: ../ubuntu-packaging-guide/udd-latest.rst:44
2464+# 3edc5b6354f848f4b32613cde5118ac9
2465+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``."
2466+msgstr ""
2467+
2468+#: ../ubuntu-packaging-guide/udd-latest.rst:50
2469+# 21afeaadd6df4d46ba383135caa1d5a5
2470+msgid "Referring to versions of a package"
2471+msgstr ""
2472+
2473+#: ../ubuntu-packaging-guide/udd-latest.rst:52
2474+# f680cb9690844d4e8d5cf6456ebb4348
2475+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::"
2476+msgstr ""
2477+
2478+#: ../ubuntu-packaging-guide/udd-latest.rst:61
2479+# c52b8e18c3ac403c97a547b08b53b4d6
2480+msgid "This shows you the difference between package version 0.1-1 and 0.1-2."
2481+msgstr ""
2482+
2483+#: ../ubuntu-packaging-guide/udd-merging.rst:3
2484+# dc68e05842b14b3abc7d029142195608
2485+msgid "Merging - Updating from Debian and Upstream"
2486+msgstr ""
2487+
2488+#: ../ubuntu-packaging-guide/udd-merging.rst:5
2489+# 3f98d76a08334a3ba6086f2cc533d3e4
2490+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 [#]_."
2491+msgstr ""
2492+
2493+#: ../ubuntu-packaging-guide/udd-merging.rst:10
2494+# a21a2c24adf84561899031d40cee0f7e
2495+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::"
2496+msgstr ""
2497+
2498+#: ../ubuntu-packaging-guide/udd-merging.rst:15
2499+# 0e0a11b7d1434c9ab7fc02be50311ba1
2500+msgid "If that reports anything then you will either have to commit the changes, revert them, or shelve them to come back to later."
2501+msgstr ""
2502+
2503+#: ../ubuntu-packaging-guide/udd-merging.rst:20
2504+# 30562ac2599a48a09b26b05d6de6baa6
2505+msgid "Merging from Debian"
2506+msgstr ""
2507+
2508+#: ../ubuntu-packaging-guide/udd-merging.rst:22
2509+# 4afeb333b11b413d8b0aaaa4bf51ed3f
2510+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::"
2511+msgstr ""
2512+
2513+#: ../ubuntu-packaging-guide/udd-merging.rst:27
2514+# bb6d2b7b4af740fd8421f9de5170ff16
2515+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::"
2516+msgstr ""
2517+
2518+#: ../ubuntu-packaging-guide/udd-merging.rst:34
2519+# 6ee5bb94d7304d97b2dfcec95e70dcd9
2520+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::"
2521+msgstr ""
2522+
2523+#: ../ubuntu-packaging-guide/udd-merging.rst:41
2524+# 8facda931138401d9d746d6cbfdf8cff
2525+msgid "This will resolve any conflicted files that you fixed, and then tell you what else you have to deal with."
2526+msgstr ""
2527+
2528+#: ../ubuntu-packaging-guide/udd-merging.rst:44
2529+# 37232a75c2d64e788788e8d3c9cbdcfd
2530+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::"
2531+msgstr ""
2532+
2533+#: ../ubuntu-packaging-guide/udd-merging.rst:50
2534+# 4d14975e51ae4c27ac3ae6b461b69c8d
2535+msgid "as described earlier."
2536+msgstr ""
2537+
2538+#: ../ubuntu-packaging-guide/udd-merging.rst:52
2539+# f1f7aa3a73ba40f29456f5de9273d269
2540+msgid "However, before you commit, it is always a good thing to check all the Ubuntu changes by running::"
2541+msgstr ""
2542+
2543+#: ../ubuntu-packaging-guide/udd-merging.rst:57
2544+# 9092dbac4b564f63885a506f41582d51
2545+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::"
2546+msgstr ""
2547+
2548+#: ../ubuntu-packaging-guide/udd-merging.rst:63
2549+# d79b9b8fe0324043845b29278e565bce
2550+msgid "After testing and committing the merge, you will need to seek sponsorship or upload to the archive in the normal way."
2551+msgstr ""
2552+
2553+#: ../ubuntu-packaging-guide/udd-merging.rst:66
2554+# 19eca11f7f7a4c49a9dffa97507b559e
2555+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::"
2556+msgstr ""
2557+
2558+#: ../ubuntu-packaging-guide/udd-merging.rst:77
2559+# e3d88b2d11f54e8f848d128cdcfbc928
2560+msgid "Merging a new upstream version"
2561+msgstr ""
2562+
2563+#: ../ubuntu-packaging-guide/udd-merging.rst:79
2564+# 099bfde19f2041ef82ac880fb89a7656
2565+msgid "When upstream releases a new version (or you want to package a snapshot), you have to merge a tarball into your branch."
2566+msgstr ""
2567+
2568+#: ../ubuntu-packaging-guide/udd-merging.rst:82
2569+# ca21132b09dd42f6bae10b7be5d30595
2570+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::"
2571+msgstr ""
2572+
2573+#: ../ubuntu-packaging-guide/udd-merging.rst:88
2574+# 56b3c9414eb44d2991f7b0d92d00f373
2575+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."
2576+msgstr ""
2577+
2578+#: ../ubuntu-packaging-guide/udd-merging.rst:92
2579+# 5b6202491b164f509bdb9b99311fcf3d
2580+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::"
2581+msgstr ""
2582+
2583+#: ../ubuntu-packaging-guide/udd-merging.rst:97
2584+# 53db9d767eca4e80ba838d2b78832063
2585+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)."
2586+msgstr ""
2587+
2588+#: ../ubuntu-packaging-guide/udd-merging.rst:100
2589+# deda3c9c46464074b40bfa7a04c15155
2590+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``."
2591+msgstr ""
2592+
2593+#: ../ubuntu-packaging-guide/udd-merging.rst:105
2594+# a8a8873c3b9745318bdaf72cd43d01e6
2595+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."
2596+msgstr ""
2597+
2598+#: ../ubuntu-packaging-guide/udd-merging.rst:109
2599+# 90b4d273a547482c9c5ecd37bdcc836d
2600+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."
2601+msgstr ""
2602+
2603+#: ../ubuntu-packaging-guide/udd-merging.rst:122
2604+# 010017a3c74341108012280452144e2d
2605+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."
2606+msgstr ""
2607+
2608+#: ../ubuntu-packaging-guide/udd-newpackage.rst:3
2609+# b8687b8342d4484381ab0009d7571faf
2610+msgid "Building a new package"
2611+msgstr ""
2612+
2613+#: ../ubuntu-packaging-guide/udd-newpackage.rst:5
2614+# da3d76bf462b4fd28237be3b02d73c47
2615+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_."
2616+msgstr ""
2617+
2618+#: ../ubuntu-packaging-guide/udd-newpackage.rst:12
2619+# 900f00a174714536a096ade529c569ac
2620+msgid "Example package"
2621+msgstr ""
2622+
2623+#: ../ubuntu-packaging-guide/udd-newpackage.rst:14
2624+# feeb33594e7442ed8e558be19bc3e7f5
2625+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."
2626+msgstr ""
2627+
2628+#: ../ubuntu-packaging-guide/udd-newpackage.rst:18
2629+# f765bafb78864679b1059e3f15db3a0d
2630+msgid "Because we want to package the trunk branch, getting started is pretty simple::"
2631+msgstr ""
2632+
2633+#: ../ubuntu-packaging-guide/udd-newpackage.rst:31
2634+# 39a9d3352730400c808925727ac7d6c5
2635+msgid "Bootstrapping"
2636+msgstr ""
2637+
2638+#: ../ubuntu-packaging-guide/udd-newpackage.rst:33
2639+# b1ce6212d91948cfbb6f9bedfa2877c7
2640+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."
2641+msgstr ""
2642+
2643+#: ../ubuntu-packaging-guide/udd-newpackage.rst:43
2644+# f87c0194eae54e80964fc3c92f512a2b
2645+msgid "The bzr-builddeb way"
2646+msgstr ""
2647+
2648+#: ../ubuntu-packaging-guide/udd-newpackage.rst:45
2649+# 940940706e2c4f2e84b92c940d147915
2650+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::"
2651+msgstr ""
2652+
2653+#: ../ubuntu-packaging-guide/udd-newpackage.rst:52
2654+# b5d07b47aa6a4743b10c5da608ed31e7
2655+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."
2656+msgstr ""
2657+
2658+#: ../ubuntu-packaging-guide/udd-newpackage.rst:55
2659+# ad64e2f4ef1d4cd6b7a9cb18b35afe96
2660+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."
2661+msgstr ""
2662+
2663+#: ../ubuntu-packaging-guide/udd-newpackage.rst:63
2664+# 1ba898157b814592a161633f29a60663
2665+msgid "The stdeb way"
2666+msgstr ""
2667+
2668+#: ../ubuntu-packaging-guide/udd-newpackage.rst:65
2669+# b1184b49f04442a3a80709e934d63205
2670+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!"
2671+msgstr ""
2672+
2673+#: ../ubuntu-packaging-guide/udd-newpackage.rst:71
2674+# 7565c365c47b4e63b4301d873d7269ae
2675+msgid "In either case, start by putting this in your ``~/.pydistutils.cfg`` file::"
2676+msgstr ""
2677+
2678+#: ../ubuntu-packaging-guide/udd-newpackage.rst:78
2679+# 13b8f0432f434c3cad4a07f63df7bc5d
2680+msgid "Modern stdeb"
2681+msgstr ""
2682+
2683+#: ../ubuntu-packaging-guide/udd-newpackage.rst:80
2684+# 4a75fbc5a4774bd4a0a03ba0e13f0c62
2685+msgid "Here's how easy it is::"
2686+msgstr ""
2687+
2688+#: ../ubuntu-packaging-guide/udd-newpackage.rst:86
2689+# fa8392053d014f42b7e82ec702b7466f
2690+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::"
2691+msgstr ""
2692+
2693+#: ../ubuntu-packaging-guide/udd-newpackage.rst:98
2694+# 83c9385cd7e44dbcbad56c6dc64b116d
2695+msgid "stdeb <= 0.5.1"
2696+msgstr ""
2697+
2698+#: ../ubuntu-packaging-guide/udd-newpackage.rst:100
2699+# adb471ff8471413ba7f3702a77ff1c4a
2700+msgid "If you have an older version of stdeb, use this command to create the basic ``debian/`` directory layout::"
2701+msgstr ""
2702+
2703+#: ../ubuntu-packaging-guide/udd-newpackage.rst:105
2704+# 442e744568aa4afdba53c9ac58e992ec
2705+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."
2706+msgstr ""
2707+
2708+#: ../ubuntu-packaging-guide/udd-newpackage.rst:110
2709+# a9095a611011467283d8b1e16ad71cde
2710+msgid "$ mv deb_dist/munepy-2.0.1/debian . $ rm -rf deb_dist $ bzr add debian $ bzr commit -m'Add debian directory'"
2711+msgstr ""
2712+
2713+#: ../ubuntu-packaging-guide/udd-newpackage.rst:117
2714+# d84805c6b2ff43d1815ed48cd6561ca1
2715+msgid "pkgme"
2716+msgstr ""
2717+
2718+#: ../ubuntu-packaging-guide/udd-newpackage.rst:119
2719+# e397d168c1464148a5e29252e0c05116
2720+msgid "pkgme_ is a new tool that makes it easy to Debianize a new package. TBD: describe how to use it."
2721+msgstr ""
2722+
2723+#: ../ubuntu-packaging-guide/udd-newpackage.rst:124
2724+# 355c0182eaad4d768364d1dc84933f38
2725+msgid "debian/control file"
2726+msgstr ""
2727+
2728+#: ../ubuntu-packaging-guide/udd-newpackage.rst:126
2729+# 09b6bf2c91584bec9c9eb829f34241bd
2730+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."
2731+msgstr ""
2732+
2733+#: ../ubuntu-packaging-guide/udd-newpackage.rst:131
2734+# 631a463946764d31afd3cdeee7d37d37
2735+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."
2736+msgstr ""
2737+
2738+#: ../ubuntu-packaging-guide/udd-newpackage.rst:138
2739+# 9fe80612b0f241069d9c6c1eeadce841
2740+msgid "debian/watch file"
2741+msgstr ""
2742+
2743+#: ../ubuntu-packaging-guide/udd-newpackage.rst:140
2744+# a718657059c940a6a3c66efda75eb96d
2745+msgid "Here for example is the ``debian/watch`` file I'm using::"
2746+msgstr ""
2747+
2748+#: ../ubuntu-packaging-guide/udd-newpackage.rst:145
2749+# d553ecdd289b46feb5bb770b10486af5
2750+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::"
2751+msgstr ""
2752+
2753+#: ../ubuntu-packaging-guide/udd-newpackage.rst:152
2754+# 418bf4f02fac439d998f992dbe976a8a
2755+msgid "So, then it's a matter of...::"
2756+msgstr ""
2757+
2758+#: ../ubuntu-packaging-guide/udd-newpackage.rst:159
2759+# c12649f825014fe483b750d0c8964490
2760+msgid "Building the source package"
2761+msgstr ""
2762+
2763+#: ../ubuntu-packaging-guide/udd-newpackage.rst:161
2764+# a94c3b29dc50469598d0f49d695c5165
2765+msgid "Now we can build the source package and publish the package as we normally would, with ``bzr builddeb -S`` and ``dput``."
2766+msgstr ""
2767+
2768+#: ../ubuntu-packaging-guide/udd-patchsys.rst:3
2769+# f6fb6d9a352d4554abbeb9b2e3acefd9
2770+msgid "Working with Patches"
2771+msgstr ""
2772+
2773+#: ../ubuntu-packaging-guide/udd-patchsys.rst:5
2774+# 0363d3d4f8bf4c7b8e08d01edaf97bad
2775+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)."
2776+msgstr ""
2777+
2778+#: ../ubuntu-packaging-guide/udd-patchsys.rst:15
2779+# fd42ca6b29c546b1b484b212fd15fd1c
2780+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."
2781+msgstr ""
2782+
2783+#: ../ubuntu-packaging-guide/udd-patchsys.rst:21
2784+# 1434e52e8905421fb549733f8ccba755
2785+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."
2786+msgstr ""
2787+
2788+#: ../ubuntu-packaging-guide/udd-patchsys.rst:26
2789+# b58a5bc7584f477d92f82add21cbecd0
2790+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."
2791+msgstr ""
2792+
2793+#: ../ubuntu-packaging-guide/udd-patchsys.rst:33
2794+# 4fd2951efe3b48d9aa92e5c97a5046a5
2795+msgid "Patches are applied in source branches"
2796+msgstr ""
2797+
2798+#: ../ubuntu-packaging-guide/udd-patchsys.rst:35
2799+# 689b0681cd864bc6a2202b83b3ad3bc6
2800+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!"
2801+msgstr ""
2802+
2803+#: ../ubuntu-packaging-guide/udd-patchsys.rst:45
2804+# edbb545a25ad4c11971b170125037114
2805+msgid "Merging from Debian with quilt patches"
2806+msgstr ""
2807+
2808+#: ../ubuntu-packaging-guide/udd-patchsys.rst:47
2809+# e9715e7c665747098f284eecfde3024d
2810+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."
2811+msgstr ""
2812+
2813+#: ../ubuntu-packaging-guide/udd-patchsys.rst:54
2814+# eaa05e8c71a745ae850e574631031a92
2815+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::"
2816+msgstr ""
2817+
2818+#: ../ubuntu-packaging-guide/udd-patchsys.rst:64
2819+# 916812819c4341148647ea8c57bb0b2b
2820+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."
2821+msgstr ""
2822+
2823+#: ../ubuntu-packaging-guide/udd-patchsys.rst:72
2824+# f2b77350a5764ee4a465dc7f4e5861e5
2825+msgid "Develop your patch"
2826+msgstr ""
2827+
2828+#: ../ubuntu-packaging-guide/udd-patchsys.rst:74
2829+# 82bb00d948bd47f8866ee7c4f83627ab
2830+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)."
2831+msgstr ""
2832+
2833+#: ../ubuntu-packaging-guide/udd-patchsys.rst:80
2834+# 778a274b4f0a4c4594aa0b6d8f2b8ff7
2835+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::"
2836+msgstr ""
2837+
2838+#: ../ubuntu-packaging-guide/udd-patchsys.rst:89
2839+# 725d26b712d54930bd3fece4e1205c82
2840+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::"
2841+msgstr ""
2842+
2843+#: ../ubuntu-packaging-guide/udd-patchsys.rst:97
2844+# 2c0cd48d546e4ff880a11dbeb672b4ca
2845+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``::"
2846+msgstr ""
2847+
2848+#: ../ubuntu-packaging-guide/udd-patchsys.rst:104
2849+# 6c6e406feab94466a83cd9083f63699c
2850+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)."
2851+msgstr ""
2852+
2853+#: ../ubuntu-packaging-guide/udd-patchsys.rst:109
2854+# e01f1a39c4314baebed9a1b1e2a9c332
2855+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."
2856+msgstr ""
2857+
2858+#: ../ubuntu-packaging-guide/udd-patchsys.rst:113
2859+# 30363be3957a463eb045cefb1229290e
2860+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::"
2861+msgstr ""
2862+
2863+#: ../ubuntu-packaging-guide/udd-patchsys.rst:120
2864+# 6f611850558d485f954a1b60ce5c5730
2865+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``."
2866+msgstr ""
2867+
2868+#: ../ubuntu-packaging-guide/udd-patchsys.rst:125
2869+# dc69c1cf032e4b1a8294928554dac138
2870+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."
2871+msgstr ""
2872+
2873+#: ../ubuntu-packaging-guide/udd-patchsys.rst:131
2874+# eeec975299cf457d8eddae1b294020a7
2875+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."
2876+msgstr ""
2877+
2878+#: ../ubuntu-packaging-guide/udd-patchsys.rst:141
2879+# f31c5d24034845779d0438f7ce916170
2880+msgid "Gotchas"
2881+msgstr ""
2882+
2883+#: ../ubuntu-packaging-guide/udd-patchsys.rst:143
2884+# 3917fdae40bc40c5b56b50b902677d15
2885+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."
2886+msgstr ""
2887+
2888+#: ../ubuntu-packaging-guide/udd-patchsys.rst:156
2889+# d65a7f82fcd94ab68c6c627364d2aab3
2890+msgid "edit-patch"
2891+msgstr ""
2892+
2893+#: ../ubuntu-packaging-guide/udd-patchsys.rst:158
2894+# b0d8c677b4a54f5ca77d75fb30b8c294
2895+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."
2896+msgstr ""
2897+
2898+#: ../ubuntu-packaging-guide/udd-patchsys.rst:165
2899+# a6b9af6d3af64db99d2b68190dfbdfd3
2900+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."
2901+msgstr ""
2902+
2903+#: ../ubuntu-packaging-guide/udd-patchsys.rst:171
2904+# ce0e11f073b24f4185191bdbc191518a
2905+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."
2906+msgstr ""
2907+
2908+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:3
2909+# 7b1fc44173cb4391a096f4007ec9c56e
2910+msgid "Seeking Review and Sponsorship"
2911+msgstr ""
2912+
2913+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:5
2914+# d95d3d492bda47d4b503e101616df3ad
2915+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."
2916+msgstr ""
2917+
2918+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:10
2919+# 06bab422caf142839275125cbb83b8b2
2920+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."
2921+msgstr ""
2922+
2923+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:19
2924+# 3d62b9b1f8c34d3e9365e8e5c66e01cf
2925+msgid "Pushing to Launchpad"
2926+msgstr ""
2927+
2928+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:21
2929+# 1c70e306b96d4e2eb85f83a2a0b50255
2930+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."
2931+msgstr ""
2932+
2933+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:25
2934+# 5c03b03b3018459a87e8d0255fda8159
2935+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."
2936+msgstr ""
2937+
2938+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:28
2939+# d792e1921e3b43a0939226c7dab56f0a
2940+msgid "The general form of the URL you should push your branch to is::"
2941+msgstr ""
2942+
2943+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:32
2944+# 5ff727debaf543b4827ed685006c64f3
2945+msgid "For example, to push your fix for bug 12345 in the Tomboy package for Natty, you'd use::"
2946+msgstr ""
2947+
2948+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:37
2949+# 5e4aec261f9c445fbacac4b444ab14d4
2950+msgid "The last component of the path is arbitrary; it's up to you to pick something meaningful."
2951+msgstr ""
2952+
2953+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:40
2954+# c7881ddc989f47c08a05fc8bdb33ec63
2955+msgid "However, this usually isn't enough to get Ubuntu developers to review and sponsor your change. You should next submit a *merge proposal*."
2956+msgstr ""
2957+
2958+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:43
2959+# 4acecb6b0590401c9c3c3b34f7d9c6c4
2960+msgid "To do this open the bug page in a browser, e.g.::"
2961+msgstr ""
2962+
2963+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:47
2964+# a58c58ac96f24e5b974fa5e1fd604700
2965+msgid "If that fails, then you can use::"
2966+msgstr ""
2967+
2968+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:51
2969+# 432738e021a442d4993be0b661247073
2970+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."
2971+msgstr ""
2972+
2973+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:56
2974+# 44bc83875c54474b88a148c193bf2145
2975+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."
2976+msgstr ""
2977+
2978+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:62
2979+# 0fca62fbb96b40f8b6a2f6d71b4e931b
2980+msgid "Generating a debdiff"
2981+msgstr ""
2982+
2983+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:64
2984+# 497f074532ea41a0ad2f0f737458c0f6
2985+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)::"
2986+msgstr ""
2987+
2988+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:71
2989+# 0afe1b0f347d4262b8a653e63db9ea5e
2990+msgid "Another way is to is to open the merge proposal and download the diff."
2991+msgstr ""
2992+
2993+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:73
2994+# 05d3f3141ec3469ab72b15c0de583f17
2995+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."
2996+msgstr ""
2997+
2998+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:79
2999+# 7dd6fe9d8c3b444f8860975c4a8b4f38
3000+msgid "Dealing with feedback from sponsors"
3001+msgstr ""
3002+
3003+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:81
3004+# 9e3b1d91bed845d2a6062e3f570b7409
3005+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::"
3006+msgstr ""
3007+
3008+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:87
3009+# ad089e0df80b465eb7f1e40716314363
3010+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::"
3011+msgstr ""
3012+
3013+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:93
3014+# 77f8fca80f29434fbd5168392851dcc7
3015+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."
3016+msgstr ""
3017+
3018+#: ../ubuntu-packaging-guide/udd-sponsorship.rst:97
3019+# 52c8fccf546c44c282c96dfa76047b7e
3020+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."
3021+msgstr ""
3022+
3023+#: ../ubuntu-packaging-guide/udd-uploading.rst:3
3024+# d617008018d04504ba3c700dbfd8a071
3025+msgid "Uploading a package"
3026+msgstr ""
3027+
3028+#: ../ubuntu-packaging-guide/udd-uploading.rst:5
3029+# 342b747163f4456a94be40e1565fab2d
3030+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."
3031+msgstr ""
3032+
3033+#: ../ubuntu-packaging-guide/udd-uploading.rst:12
3034+# b0cbfab07b0d4e37a98ac5b47602ba94
3035+msgid "Uploading a change made by you"
3036+msgstr ""
3037+
3038+#: ../ubuntu-packaging-guide/udd-uploading.rst:14
3039+# ac079639095a4f71ae085f9ab67edee7
3040+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."
3041+msgstr ""
3042+
3043+#: ../ubuntu-packaging-guide/udd-uploading.rst:18
3044+# 4eab51f33be241479a6671845543c543
3045+msgid "First, you need to check that you have the latest version of the package in your checkout of the development package trunk::"
3046+msgstr ""
3047+
3048+#: ../ubuntu-packaging-guide/udd-uploading.rst:24
3049+# 1e3dc7dfc78d4b1583d03def5dbc4ada
3050+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::"
3051+msgstr ""
3052+
3053+#: ../ubuntu-packaging-guide/udd-uploading.rst:34
3054+# 5c53b237d933489fb5dff7a6cb8065dd
3055+msgid "For older versions of bzr, you can use the ``merge-package`` command instead::"
3056+msgstr ""
3057+
3058+#: ../ubuntu-packaging-guide/udd-uploading.rst:38
3059+# cd5c586ed03f4cfd80f044d00f56de68
3060+msgid "This will merge the two trees, possibly producing conflicts, which you'll need to resolve manually."
3061+msgstr ""
3062+
3063+#: ../ubuntu-packaging-guide/udd-uploading.rst:41
3064+# 8b79d8ef643e4180a1f3a44ae9d0a774
3065+msgid "Next you should make sure the ``debian/changelog`` is as you would like, with the correct distribution, version number, etc."
3066+msgstr ""
3067+
3068+#: ../ubuntu-packaging-guide/udd-uploading.rst:44
3069+# 144b9deb49ad4e5f8ee0d1b34cd8a44d
3070+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."
3071+msgstr ""
3072+
3073+#: ../ubuntu-packaging-guide/udd-uploading.rst:48
3074+# 21d5018d7bf44760b14279b4eef579f5
3075+msgid "The next step is to build and test the modified source package as you normally would::"
3076+msgstr ""
3077+
3078+#: ../ubuntu-packaging-guide/udd-uploading.rst:53
3079+# 52f286ea39024b6f9e2589ae45062601
3080+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::"
3081+msgstr ""
3082+
3083+#: ../ubuntu-packaging-guide/udd-uploading.rst:60
3084+# 99b97002ffe34973979d24ac1668f787
3085+msgid "This tag will tell the package importer that what is in the Bazaar branch is the same as in the archive."
3086+msgstr ""
3087+
3088+#: ../ubuntu-packaging-guide/udd-uploading.rst:63
3089+# ebeb745e0c11434c8dcb15cc023ddeb7
3090+msgid "Now you can push the changes back to Launchpad::"
3091+msgstr ""
3092+
3093+#: ../ubuntu-packaging-guide/udd-uploading.rst:67
3094+# 2eb1de1779694bf881e03fd5a67d2af0
3095+msgid "(Change the destination if you are uploading an SRU or similar.)"
3096+msgstr ""
3097+
3098+#: ../ubuntu-packaging-guide/udd-uploading.rst:69
3099+# 8ebd6bfad0e34d93890640c2bf1b787c
3100+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::"
3101+msgstr ""
3102+
3103+#: ../ubuntu-packaging-guide/udd-uploading.rst:75
3104+# 5a2f077286fb4c7c8f35d5f181dfe020
3105+msgid "or, if you have permission to upload to the primary archive::"
3106+msgstr ""
3107+
3108+#: ../ubuntu-packaging-guide/udd-uploading.rst:79
3109+# 9b550ebec58249fbb0fe679464b92453
3110+msgid "You are now free to delete your feature branch, as it is merged, and can be re-downloaded from Launchpad if needed."
3111+msgstr ""
3112+
3113+#: ../ubuntu-packaging-guide/udd-uploading.rst:84
3114+# 7df92bf7f57846d9af9f8f9d356bec2c
3115+msgid "Sponsoring a change"
3116+msgstr ""
3117+
3118+#: ../ubuntu-packaging-guide/udd-uploading.rst:86
3119+# f9eb51784cf6440ab1e92567c03feddc
3120+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::"
3121+msgstr ""
3122+
3123+#: ../ubuntu-packaging-guide/udd-uploading.rst:92
3124+# 0419a82213944aa5b48804bb6534d32d
3125+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."
3126+msgstr ""
3127+
3128+#: ../ubuntu-packaging-guide/udd-uploading.rst:96
3129+# 0e05452bf9e74469a5de534b92482d86
3130+msgid "But if the changes look good, commit and then follow the rest of the uploading process::"
3131+msgstr ""
3132+
3133+#: ../ubuntu-packaging-guide/udd-uploading.rst:103
3134+# 4397bec4fb934bc89cbcb5935485c0eb
3135+msgid "Canceling an upload"
3136+msgstr ""
3137+
3138+#: ../ubuntu-packaging-guide/udd-uploading.rst:105
3139+# ccfa3957ac2b47b48e4604768f4af77b
3140+msgid "At any time before you `dput` the source package you can decide to cancel an upload and revert the changes::"
3141+msgstr ""
3142+
3143+#: ../ubuntu-packaging-guide/udd-uploading.rst:110
3144+# 8383aa45362241cbbffaefa37a7ef327
3145+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."
3146+msgstr ""
3147+
3148+#: ../ubuntu-packaging-guide/udd-uploading.rst:115
3149+# 4b45467e48e041d5999db11c24113b1e
3150+msgid "Sponsoring something and making your own changes"
3151+msgstr ""
3152+
3153+#: ../ubuntu-packaging-guide/udd-uploading.rst:117
3154+# fe4a60bef7e44faeaa7348763b2e8abb
3155+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."
3156+msgstr ""
3157+
3158+#: ../ubuntu-packaging-guide/udd-uploading.rst:121
3159+# 79453712dc2d473eb3c770c9d46d305b
3160+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."
3161+msgstr ""
3162+
3163+#: ../ubuntu-packaging-guide/udd-uploading.rst:127
3164+# 2ad47a1cf0a040a7a39e87a520e87a30
3165+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::"
3166+msgstr ""
3167+
3168+#: ../ubuntu-packaging-guide/udd-uploading.rst:133
3169+# a36da929444f4aa79853824f5fad7825
3170+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."
3171+msgstr ""
3172+
3173+#: ../ubuntu-packaging-guide/udd-working.rst:3
3174+# 668df6a55d7d4262959051aff523f18a
3175+msgid "Working on a Package"
3176+msgstr ""
3177+
3178+#: ../ubuntu-packaging-guide/udd-working.rst:5
3179+# 325df7ee56fc4514946bee8d8d9833a3
3180+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."
3181+msgstr ""
3182+
3183+#: ../ubuntu-packaging-guide/udd-working.rst:13
3184+# 3bbdede17cae472d9f3cb41c285ec0a0
3185+msgid "Branching for a change"
3186+msgstr ""
3187+
3188+#: ../ubuntu-packaging-guide/udd-working.rst:15
3189+# 9932a9319bf948698e1efbac7555a3b6
3190+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::"
3191+msgstr ""
3192+
3193+#: ../ubuntu-packaging-guide/udd-working.rst:21
3194+# 6e748312dd324667b18e6eb5cb0503ec
3195+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::"
3196+msgstr ""
3197+
3198+#: ../ubuntu-packaging-guide/udd-working.rst:31
3199+# fcc7556739024f40b1b51f39aa13ca55
3200+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)::"
3201+msgstr ""
3202+
3203+#: ../ubuntu-packaging-guide/udd-working.rst:39
3204+# 5faa703321cd4d9cb342e35caaab81ac
3205+msgid "This will drop you in an editor to add an entry to the `debian/changelog` file."
3206+msgstr ""
3207+
3208+#: ../ubuntu-packaging-guide/udd-working.rst:44
3209+# 6dc1cbcab4874dc589194be12f2d232e
3210+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::"
3211+msgstr ""
3212+
3213+#: ../ubuntu-packaging-guide/udd-working.rst:57
3214+# da1d850b11fe4bb485d5be846264f366
3215+msgid "Commit with the normal::"
3216+msgstr ""
3217+
3218+#: ../ubuntu-packaging-guide/udd-working.rst:61
3219+# 4536113fa1c745dd9e502d526185f8ed
3220+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."
3221+msgstr ""
3222+
3223+#: ../ubuntu-packaging-guide/udd-working.rst:64
3224+# 9f3672cba68a4714ad6a5deacb93dc6e
3225+msgid "This only works with bzr-builddeb 2.7.5 and bzr 2.4, for older versions use `debcommit`."
3226+msgstr ""
3227+
3228+#: ../ubuntu-packaging-guide/udd-working.rst:71
3229+# 86ee6fff8e524ab1bac18e701df02f1b
3230+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."
3231+msgstr ""
3232+
3233+#: ../ubuntu-packaging-guide/udd-working.rst:74
3234+# 98afbf48360941e5b164fa1d32a48659
3235+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::"
3236+msgstr ""
3237+
3238+#: ../ubuntu-packaging-guide/udd-working.rst:79
3239+# e6bd918c14214ff4926e67edf70e2ecf
3240+msgid "(`bd` is an alias for `builddeb`.) You can leave the package unsigned by appending `-- -uc -us` to the command."
3241+msgstr ""
3242+
3243+#: ../ubuntu-packaging-guide/udd-working.rst:82
3244+# c4d3a439bc0443f5b843f22078807d77
3245+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.::"
3246+msgstr ""
3247+
3248+#: ../ubuntu-packaging-guide/udd-working.rst:87
3249+# eff4ddb86f804ce2a5686727949160e0
3250+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."
3251+msgstr ""
3252+
3253+#: ../ubuntu-packaging-guide/udd-working.rst:94
3254+# d006ba6b5e3946e8a3778fa2ec263b31
3255+msgid "Once you've got the source package, you can build it as normal with ``pbuilder-dist`` (or ``pbuilder`` or `sbuild`_)."
3256+msgstr ""
3257+

Subscribers

People subscribed via source and target branches