Translations by Simon Quigley
Simon Quigley has submitted the following strings to this translation. Contributions are visually coded: currently used translations, unreviewed suggestions, rejected suggestions.
7. |
Below we are having a look at the ``glib2.0`` source package. In a very simple case the file would look like this::
|
|
2018-01-17 |
Below we are having a look at the ``glib2.0`` source package. In a very simple case the file would look like this::
|
|
15. |
While the test script can be easily executed on its own, it is strongly recommended to actually use ``autopkgtest`` from the ``autopkgtest`` package for verifying that your test works; otherwise, if it fails in the Ubuntu Continuous Integration (CI) system, it will not land in Ubuntu. This also avoids cluttering your workstation with test packages or test configuration if the test does something more intrusive than the simple example above.
|
|
2018-01-17 |
While the test script can be easily executed on its own, it is strongly recommended to actually use ``autopkgtest`` from the ``autopkgtest`` package for verifying that your test works; otherwise, if it fails in the Ubuntu Continuous Integration (CI) system, it will not land in Ubuntu. This also avoids cluttering your workstation with test packages or test configuration if the test does something more intrusive than the simple example above.
|
|
16. |
The `README.running-tests <running_tests_local_>`_ (`online version <DEP8_>`_) documentation explains all available testbeds (schroot, LXD, QEMU, etc.) and the most common scenarios how to run your tests with ``autopkgtest``, e. g. with locally built binaries, locally modified tests, etc.
|
|
2018-01-17 |
The `README.running-tests <running_tests_local_>`_ (`online version <DEP8_>`_) documentation explains all available testbeds (schroot, LXD, QEMU, etc.) and the most common scenarios how to run your tests with ``autopkgtest``, e. g. with locally built binaries, locally modified tests, etc.
|
|
17. |
The Ubuntu CI system uses the QEMU runner and runs the tests from the packages in the archive, with ``-proposed`` enabled. To reproduce the exact same environment, first install the necessary packages::
|
|
2018-01-17 |
The Ubuntu CI system uses the QEMU runner and runs the tests from the packages in the archive, with ``-proposed`` enabled. To reproduce the exact same environment, first install the necessary packages::
|
|
21. |
The Ubuntu CI system runs packages with only selected packages from ``-proposed`` available (the package which caused the test to be run); to enable that, run::
|
|
2018-01-17 |
The Ubuntu CI system runs packages with only selected packages from ``-proposed`` available (the package which caused the test to be run); to enable that, run::
|
|
22. |
or to run with all packages from ``-proposed``::
|
|
2018-01-17 |
or to run with all packages from ``-proposed``::
|
|
23. |
The ``autopkgtest`` manpage has a lot more valuable information on other testing options.
|
|
2018-01-17 |
The ``autopkgtest`` manpage has a lot more valuable information on other testing options.
|
|
24. |
Further examples
|
|
2018-01-17 |
Further examples
|
|
31. |
Packages which have ``autopkgtest`` enabled will have their tests run whenever they get uploaded or any of their dependencies change. The output of `automatically run autopkgtest tests <jenkins_>`_ can be viewed on the web and is regularly updated.
|
|
2018-01-17 |
Packages which have ``autopkgtest`` enabled will have their tests run whenever they get uploaded or any of their dependencies change. The output of `automatically run autopkgtest tests <jenkins_>`_ can be viewed on the web and is regularly updated.
|
|
32. |
Debian also uses ``autopkgtest`` to run package tests, although currently only in schroots, so results may vary a bit. Results and logs can be seen on http://ci.debian.net. So please submit any test fixes or new tests to Debian as well.
|
|
2018-01-17 |
Debian also uses ``autopkgtest`` to run package tests, although currently only in schroots, so results may vary a bit. Results and logs can be seen on http://ci.debian.net. So please submit any test fixes or new tests to Debian as well.
|
|
33. |
Getting the test into Ubuntu
|
|
2018-01-17 |
Getting the test into Ubuntu
|
|
34. |
The process of submitting an autopkgtest for a package is largely similar to :doc:`fixing a bug in Ubuntu<./fixing-a-bug>`. Essentially you simply:
|
|
2018-01-17 |
The process of submitting an autopkgtest for a package is largely similar to :doc:`fixing a bug in Ubuntu<./fixing-a-bug>`. Essentially you simply:
|
|
35. |
run ``bzr branch ubuntu:<packagename>``,
|
|
2018-01-17 |
run ``bzr branch ubuntu:<packagename>``,
|
|
36. |
edit ``debian/control`` to enable the tests,
|
|
2018-01-17 |
edit ``debian/control`` to enable the tests,
|
|
37. |
add the ``debian/tests`` directory,
|
|
2018-01-17 |
add the ``debian/tests`` directory,
|
|
38. |
write the ``debian/tests/control`` based on the `DEP 8 Specification <dep8_>`_,
|
|
2018-01-17 |
write the ``debian/tests/control`` based on the `DEP 8 Specification <dep8_>`_,
|
|
39. |
add your test case(s) to ``debian/tests``,
|
|
2018-01-17 |
add your test case(s) to ``debian/tests``,
|
|
40. |
commit your changes, push them to Launchpad, propose a merge and get it reviewed just like any other improvement in a source package.
|
|
2018-01-17 |
commit your changes, push them to Launchpad, propose a merge and get it reviewed just like any other improvement in a source package.
|
|
41. |
What you can do
|
|
2018-01-17 |
What you can do
|
|
42. |
The Ubuntu Engineering team put together a `list of required test-cases <requiredtests_>`_, where packages which need tests are put into different categories. Here you can find examples of these tests and easily assign them to yourself.
|
|
2018-01-17 |
The Ubuntu Engineering team put together a `list of required test-cases <requiredtests_>`_, where packages which need tests are put into different categories. Here you can find examples of these tests and easily assign them to yourself.
|
|
43. |
If you should run into any problems, you can join the `#ubuntu-quality IRC channel <qualityirc_>`_ to get in touch with developers who can help you.
|
|
2018-01-17 |
If you should run into any problems, you can join the `#ubuntu-quality IRC channel <qualityirc_>`_ to get in touch with developers who can help you.
|
|
44. |
Backporting software updates
|
|
2018-01-17 |
Backporting software updates
|
|
45. |
Sometimes you might want to make new functionality available in a stable release which is not connected to a critical bug fix. For these scenarios you have two options: either you `upload to a PPA <ppadoc_>`_ or prepare a backport.
|
|
2018-01-17 |
Sometimes you might want to make new functionality available in a stable release which is not connected to a critical bug fix. For these scenarios you have two options: either you `upload to a PPA <ppadoc_>`_ or prepare a backport.
|
|
46. |
Personal Package Archive (PPA)
|
|
2018-01-17 |
Personal Package Archive (PPA)
|
|
47. |
Using a PPA has a number of benefits. It is fairly straight-forward, you don't need approval of anyone, but the downside of it is that your users will have to manually enable it. It is a non-standard software source.
|
|
2018-01-17 |
Using a PPA has a number of benefits. It is fairly straight-forward, you don't need approval of anyone, but the downside of it is that your users will have to manually enable it. It is a non-standard software source.
|
|
48. |
The `PPA documentation on Launchpad <ppadoc_>`_ is fairly comprehensive and should get you up and running in no time.
|
|
2018-01-17 |
The `PPA documentation on Launchpad <ppadoc_>`_ is fairly comprehensive and should get you up and running in no time.
|
|
49. |
Official Ubuntu Backports
|
|
2018-01-17 |
Official Ubuntu Backports
|
|
50. |
The Backports Project is a means to provide new features to users. Because of the inherent stability risks in backporting packages, users do not get backported packages without some explicit action on their part. This generally makes backports an inappropriate avenue for fixing bugs. If a package in an Ubuntu release has a bug, it should be fixed either through the :doc:`Security Update or the Stable Release Update process<./security-and-stable-release-updates>`, as appropriate.
|
|
2018-01-17 |
The Backports Project is a means to provide new features to users. Because of the inherent stability risks in backporting packages, users do not get backported packages without some explicit action on their part. This generally makes backports an inappropriate avenue for fixing bugs. If a package in an Ubuntu release has a bug, it should be fixed either through the :doc:`Security Update or the Stable Release Update process<./security-and-stable-release-updates>`, as appropriate.
|
|
51. |
Once you determined you want a package to be backported to a stable release, you will need to test-build and test it on the given stable release. ``pbuilder-dist`` (in the ``ubuntu-dev-tools`` package) is a very handy tool to do this easily.
|
|
2018-01-17 |
Once you determined you want a package to be backported to a stable release, you will need to test-build and test it on the given stable release. ``pbuilder-dist`` (in the ``ubuntu-dev-tools`` package) is a very handy tool to do this easily.
|
|
52. |
To report the backport request and get it processed by the Backporters team, you can use the ``requestbackport`` tool (also in the ``ubuntu-dev-tools`` package). It will determine the intermediate releases that package needs to be backported to, list all reverse-dependencies, and file the backporting request. Also will it include a testing checklist in the bug.
|
|
2018-01-17 |
To report the backport request and get it processed by the Backporters team, you can use the ``requestbackport`` tool (also in the ``ubuntu-dev-tools`` package). It will determine the intermediate releases that package needs to be backported to, list all reverse-dependencies, and file the backporting request. Also will it include a testing checklist in the bug.
|
|
53. |
Using Chroots
|
|
2018-01-17 |
Using Chroots
|
|
54. |
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``.
|
|
2018-01-17 |
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``.
|
|
55. |
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.
|
|
2018-01-17 |
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.
|
|
56. |
Creating a Chroot
|
|
2018-01-17 |
Creating a Chroot
|
|
57. |
Use the command ``debootstrap`` to create a new chroot::
|
|
2018-01-17 |
Use the command ``debootstrap`` to create a new chroot::
|
|
58. |
This will create a directory ``trusty`` and install a minimal trusty system into it.
|
|
2018-01-17 |
This will create a directory ``trusty`` and install a minimal trusty system into it.
|
|
59. |
If your version of ``debootstrap`` does not know about Trusty you can try upgrading to the version in ``backports``.
|
|
2018-01-17 |
If your version of ``debootstrap`` does not know about Trusty you can try upgrading to the version in ``backports``.
|
|
60. |
You can then work inside the chroot::
|
|
2018-01-17 |
You can then work inside the chroot::
|
|
61. |
Where you can install or remove any package you wish without affecting your main system.
|
|
2018-01-17 |
Where you can install or remove any package you wish without affecting your main system.
|
|
62. |
You might want to copy your GPG/ssh keys and Bazaar configuration into the chroot so you can access and sign packages directly::
|
|
2018-01-17 |
You might want to copy your GPG/ssh keys and Bazaar configuration into the chroot so you can access and sign packages directly::
|
|
63. |
To stop apt and other programs complaining about missing locales you can install your relevant language pack::
|
|
2018-01-17 |
To stop apt and other programs complaining about missing locales you can install your relevant language pack::
|
|
64. |
If you want to run X programs you will need to bind the /tmp directory into the chroot, from outside the chroot run::
|
|
2018-01-17 |
If you want to run X programs you will need to bind the /tmp directory into the chroot, from outside the chroot run::
|
|
65. |
Some programs may need you to bind /dev or /proc.
|
|
2018-01-17 |
Some programs may need you to bind /dev or /proc.
|
|
66. |
For more information on chroots see our `Debootstrap Chroot wiki page <DebootstrapChroot_>`_.
|
|
2018-01-17 |
For more information on chroots see our `Debootstrap Chroot wiki page <DebootstrapChroot_>`_.
|
|
67. |
Alternatives
|
|
2018-01-17 |
Alternatives
|
|
68. |
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 <SecurityEnv_>`_ for a full explanation.
|
|
2018-01-17 |
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 <SecurityEnv_>`_ for a full explanation.
|
|
69. |
Full virtual machines can be useful for packaging and testing programs. TestDrive is a program to automate syncing and running daily ISO images, see `the TestDrive wiki page <TestDrive_>`_ for more information.
|
|
2018-01-17 |
Full virtual machines can be useful for packaging and testing programs. TestDrive is a program to automate syncing and running daily ISO images, see `the TestDrive wiki page <TestDrive_>`_ for more information.
|
|
70. |
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.
|
|
2018-01-17 |
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.
|
|
71. |
Amazon's `EC2 cloud computers <EC2_>`_ 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.
|
|
2018-01-17 |
Amazon's `EC2 cloud computers <EC2_>`_ 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.
|
|
72. |
Communication in Ubuntu Development
|
|
2018-01-17 |
Communication in Ubuntu Development
|