/usr/share/doc/ubuntu-packaging-guide-html-fr/_sources/fixing-ftbfs.txt is in ubuntu-packaging-guide-html-fr 0.3.6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | .. XXX list of common issue and how to fix, possibly explain the MIR process.
=====================
Fixing FTBFS packages
=====================
Before a package can be used in Ubuntu, it has to build from source. If it
fails this, it will probably wait in -proposed and will not be available in
the Ubuntu archives. You can find a complete list of packages that are
failing to build from source at http://qa.ubuntuwire.org/ftbfs/. There are 5
main categories shown on the page:
* Package failed to build (F): Something actually went wrong with the build
process.
* Cancelled build (X): The build has been cancelled for some reason. These
should probably be avoided to start with.
* Package is waiting on another package (M): This package is waiting on
another package to either build, get updated, or (if the package is in
main) one of it's dependancies is in the wrong part of the archive.
* Failure in the chroot (C): Part of the chroot failed, this is most likely
fixed by a rebuild. Ask a developer to rebuild the package and that should
fix it.
* Failed to upload (U): The package could not upload. This is usually just a
case of asking for a rebuild, but check the build log first.
First steps
===========
The first thing you'll want to do is see if you can reproduce the FTBFS
yourself. Get the code either by running ``bzr branch lp:ubuntu/PACKAGE`` and
then getting the tarball or running ``dget PACKAGE_DSC`` on the .dsc file from
the launchpad page. Once you have that, build it in a schroot.
.. XXX add a link
You should be able to reproduce the FTBFS. If not, check if the build is
downloading a missing dependency, which means you just need to make that a
build-dependency in debian/control. Building the package locally can also
help find if the issue is caused by a missing, unlisted, dependency (builds
locally but fails on a schroot).
Checking Debian
===============
Once you have reproduced the issue, it's time to try and find a solution. If
the package is in Debian as well, you can check if the package builds there
by going to http://packages.qa.debian.org/PACKAGE. If Debian has a newer
version, you should merge it. If not, check the buildlogs and bugs linked on
that page for any extra information on the ftbfs or patches. Debian also
maintains a list of command FTBFSs and how to fix them which can be found at
https://wiki.debian.org/qa.debian.org/FTBFS, you will want to check it for
solutions too.
ARM64
=====
Ubuntu has added arm64 as a architecture recently, but many packages fail to
build on it. A full list of the packages not building are at
qa.ubuntuwire.org/ftbfs/arm64.html. Many of these are caused by packages
using outdated autotools helper files. Any package with the lintian warning
ancient-autotools-helper-file or outdated-autotools-helper-file will have
this issue. Adding autotools-dev or dh-autoreconf to the build proccess will
usually fix this.
Other causes of a package to FTBFS
==================================
If a package is in main and missing a dependency that is not in main, you
will have to file a MIR bug. https://wiki.ubuntu.com/MainInclusionProcess
explains the procedure.
.. XXX add more
Fixing the issue
================
Once you have found a fix to the problem, follow the same process as any
other bug. Make a patch, add it to a bzr branch or bug, subscribe
ubuntu-sponsors, then try to get it included upstream and/or in Debian.
|