# 9. FTBFS-Pakete reparieren

Bevor ein Paket in Ubuntu verwendet werden kann, muss es aus den Quellen erstellt werden können. Falls dies nicht gelingt wird es in -proposed warten und ist daher nicht in den Ubuntu-Archiven verfügbar. Eine vollständige Liste solcher Pakete finden Sie unter http://qa.ubuntuwire.org/ftbfs/. Auf der Seite werden 5 Kategorien angezeigt:

> - Paket konnte nicht erstellt werden (F): Beim Erstellen trat ein Fehler auf.

> - Erstellung abgebrochen (X): Die Erstellung wurde aus einem Grund abgebrochen. Davon sollten folgende von Anfang vermieden werden.

> - Paket wartet auf ein anderes Paket (M): Dieses Paket wartet bis ein anderes anderes Paket erstellt oder aktualisiert wird oder (wenn das Paket in main ist) eine seiner Abhängigkeiten ist im falschen Archiv-Teil.

> - Fehler im chroot (C): Ein Teil des chroot is fehlgeschlagen, das kann meist durch eine Neuerstellung des Pakets behoben werden. Bitte einen Entwickler eine Neuerstellung vorzunehmen.

> - Fehler beim Hochladen (U): Das Paket konnte nicht hochgeladen werden. Das ist normalerweise ein Fall um eine Neuerstellung zu bitten, aber überprüfe zuerst das Erstellungsprotokoll.

## 9.1. Erste Schritte

Als erstes solltest du versuchen das FTBFS selbst zu reproduzieren. Hol dir den Code entweder per `bzr branch lp:ubuntu/PACKAGE` und dann den Tarball oder per `dget PACKAGE_DSC` auf der ”.dsc”-Datei von der Launchpad-Seite. Ist das einmal erledigt, erstelle es in einer schroot.

Du solltest in der Lage sein das FTBFS zu reproduzieren. Wenn nicht, überprüfe ob gerade eine fehlende Abhängigkeit heruntergeladen wird, was bedeutet das du sie zu einer Erstellungsabhängigkeit in debain/control machen musst. Ein Paket lokal zu erstellen hilft auch ein Problem ausfindig zu machen, was durch eine eine fehlende, nicht aufgeführte Abhängigkeit verursacht wird (funktioniert lokal aber nicht in einer schroot).

## 9.2. Debian überprüfen

Kannst du das Problem reproduzieren, ist es an der Zeit eine Lösung zu finden. Falls das Paket auch in Debian enthalten ist, kannst du überprüfen ob es dort erstellt werden kann, indem du auf http://packages.qa.debian.org/PACKAGE gehst. Falls Debian eine aktuelle Version einsetzt, solltest du sie mergen. Falls nicht, überprüfe die Erstellungs- und Fehlerberichte, die auf der Seite verlinkt sind, für zusätzliche Infos über FTBFS oder Patches. Debian betreut auch eine Liste von Befehl-FTBFS und wie sie behoben werden können; sie ist unter https://wiki.debian.org/qa.debian.org/FTBFS zu finden, du wirst sie sicher auch bei der Lösungssuche einbeziehen wollen.

## 9.3. 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.

## 9.4. Andere Gründe warum die Paketerstellung fehlsschlägt

Wenn ein Paket in main enthalten ist, aber eine dessen Abhängigkeiten ist nicht in main vorhanden, sollte ein MIR-Fehlerbericht eingereicht werden. https://wiki.ubuntu.com/MainInclusionProcess erklärt den Ablauf.

## 9.5. Das Problem beheben

Hast du erst einmal eine Lösung für das Problem gefunden, folge demselben Prozess wie bei jedem anderen Fehler. Erstelle einen Patch, hänge ihn an einen bzr-Zweig oder -Fehler an, informiere ubuntu-sponsors, und versuche dann das der Patch von Upstream und/oder Debian aufgenommen wird.