Merge lp:~m4sk1n/ubuntu-packaging-guide/ubuntu-dev-tools-guide into lp:ubuntu-packaging-guide

Proposed by Marcin Mikołajczak on 2017-12-19
Status: Merged
Merged at revision: 640
Proposed branch: lp:~m4sk1n/ubuntu-packaging-guide/ubuntu-dev-tools-guide
Merge into: lp:ubuntu-packaging-guide
Diff against target: 156 lines (+141/-0)
2 files modified
ubuntu-packaging-guide/index.rst (+1/-0)
ubuntu-packaging-guide/ubuntu-dev-tools.rst (+140/-0)
To merge this branch: bzr merge lp:~m4sk1n/ubuntu-packaging-guide/ubuntu-dev-tools-guide
Reviewer Review Type Date Requested Status
Simon Quigley Approve on 2017-12-23
Dmitry Shachnev 2017-12-19 Needs Fixing on 2017-12-19
Review via email: mp+335392@code.launchpad.net
To post a comment you must log in.
Dmitry Shachnev (mitya57) wrote :

Please also include the document in the index toctree.

review: Needs Fixing
Simon Quigley (tsimonq2) wrote :

Comments inline, but so far, great start!

review: Needs Fixing
638. By Marcin Mikołajczak on 2017-12-21

document ubuntu-dev-tools

Simon Quigley (tsimonq2) wrote :

lgtm, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ubuntu-packaging-guide/index.rst'
2--- ubuntu-packaging-guide/index.rst 2017-12-21 15:44:46 +0000
3+++ ubuntu-packaging-guide/index.rst 2017-12-21 22:26:34 +0000
4@@ -71,6 +71,7 @@
5
6 communication
7 debian-dir-overview
8+ ubuntu-dev-tools
9 auto-pkg-test
10 chroots
11 setting-up-sbuild
12
13=== added file 'ubuntu-packaging-guide/ubuntu-dev-tools.rst'
14--- ubuntu-packaging-guide/ubuntu-dev-tools.rst 1970-01-01 00:00:00 +0000
15+++ ubuntu-packaging-guide/ubuntu-dev-tools.rst 2017-12-21 22:26:34 +0000
16@@ -0,0 +1,140 @@
17+=============================================
18+ubuntu-dev-tools: Tools for Ubuntu developers
19+=============================================
20+
21+``ubuntu-dev-tools`` package is a collection of 30 tools created for making
22+packaging work much easier for Ubuntu developers. It’s similar in scope to
23+Debian ``devscripts`` package.
24+
25+Setting up packaging environment
26+================================
27+
28+``setup-packaging-environment`` command allows to interactively set up packaging
29+environment, including setting environment variables, installing required packages
30+and ensuring that required repositories are enabled.
31+
32+Environment variables
33+=====================
34+
35+Introducing yourself
36+--------------------
37+
38+``ubuntu-dev-tools`` configurations can be set using environment variables. It’s
39+used for example in changelogs. For example, to set e-mail address (and full
40+name), use ``UBUMAIL`` variable. It overrides the ``DEBEMAIL`` and ``DEBFULLNAME``
41+variables used by ``devscripts``. To learn ``ubuntu-dev-tools`` about you, open
42+`~/.bashrc` in text editor and add something like this::
43+
44+ export UBUMAIL="Marcin Mikołajczak <marcin@example.org>"
45+
46+Now, save this file and restart your terminal or use ``source ~/.bashrc``.
47+
48+Changing preferred builder
49+--------------------------
50+
51+Default builder is specified by ``UBUNTUTOOLS_BUILDER`` variable. To set
52+between *pbuilder* (default), *pbuilder-dist*, and *sbuild*, change this variable.
53+Example::
54+
55+ export UBUNTUTOOLS_BUILDER=sbuild
56+
57+Save file and restart terminal.
58+
59+You can also check whether to update the builder every time before building, by
60+changing ``UBUNTUTOOLS_UPDATE_BUILDER`` from ``no`` (default) to ``yes``.
61+
62+Downloading source packages
63+===========================
64+
65+``ubuntu-dev-tools`` comes with ``pull-lp-source`` command, allowing to download
66+source packages from Launchpad. Its usage is simple. To download latest source
67+package for ubuntu-settings, use::
68+
69+ $ pull-lp-source ubuntu-settings
70+
71+You can also specify release from which you want to download source or specify
72+version of source package. ``-d`` option allows to download source package without
73+extracting. A slightly more complex example would look like this::
74+
75+ $ pull-lp-source brisk-menu 0.5.0-1 -d
76+
77+``pull-debian-source`` package allows to do the same for Debian source packages.
78+It has similar syntax.
79+
80+Backporting packages
81+====================
82+
83+``ubuntu-dev-tools`` provides ``backportpackage`` allowing us to backport a
84+package from specified release of Ubuntu or Debian. For example, to backport
85+``bzr`` package from latest development release for your installed Ubuntu version,
86+simply:
87+
88+ $ backportpackage -w . bzr
89+
90+This command allows to use more options. To specify Ubuntu release for which you
91+are going to backport a package, use ``-d dest`` or ``--destination=DEST``
92+parameter, where ``DEST`` is Ubuntu release, for example ``xenial``. You can
93+specify more than one destination. In turn, ``-s SOURCE`` and ``--source=SOURCE``
94+specifies the Ubuntu or Debian release from which you are going to backport
95+a package. ``-w DIR`` and ``--workdir=DIR`` specifies directory, where package
96+files will be downloaded, unpacked and built. By default, it will create temporary
97+directory that will be automatically deleted. ``-U`` or ``--update`` allows to
98+update build environment before building package. ``-u`` or ``--upload`` allows to
99+upload package after building (for example to PPAs) using ``dput``.
100+
101+Requesting backports
102+====================
103+
104+``requestbackport`` command makes creating backports through Launchpad bugs much
105+easier. It creates testing checklist that will be included in the bug. For
106+example, to request backporting libqt5webkit5 from latest development branch to
107+current stable release (without optional parameters)::
108+
109+ $ requestbackport libqt5webkit5
110+
111+You should fulfill the checklist if you have already tested the backport.
112+
113+Additional options allows to specify destination of backport and its source, by
114+using ``-d DEST`` or ``--destination=DEST`` and ``s SRC`` or ``--source=SRC``.
115+
116+Other simple commands
117+=====================
118+
119+``ubuntu-dev-tools`` also includes small utilities allowing to do simple tasks
120+like checking whether .iso file is an Ubuntu installation media.
121+
122+``ubuntu-iso``
123+--------------
124+
125+To do this, use ``ubuntu-iso <pathtoiso>``, for example::
126+
127+ $ ubuntu-iso ~/Downloads/ubuntu.iso
128+
129+``bitesize``
130+------------
131+
132+“Bitesize” tag is used on Launchpad to describe tasks that are suitable for
133+begineers who want to contribute to one of the projects. ``bitesize`` command
134+allows to add “bitesize” tag to Launchpad bug with just simple command, by
135+providing its number, like::
136+
137+ $ bitesize 1735410
138+
139+``404main``
140+-----------
141+
142+``404main`` allows to check whether all of package build dependencies are included
143+in main repository of specified Ubuntu distribution. Example::
144+
145+ $ 404main libqt5webkit5 xenial
146+
147+If any of the required packages isn’t part of Ubuntu main repository, you can
148+check whether the package fulfill `Ubuntu main inclusion requirements <Requirements_>`_ and request
149+it.
150+
151+Further reading
152+---------------
153+
154+``ubuntu-dev-tools`` manpages are covering more about usage of this package.
155+
156+.. _Requirements: https://wiki.ubuntu.com/UbuntuMainInclusionRequirements

Subscribers

People subscribed via source and target branches