From Mageia wiki
Revision as of 23:37, 18 March 2020 by Psyca (talk | contribs) (Change category HowTos to Howtos)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


Drakconf multiflag.png
Andere Sprachen
Deutsch ; English ; Français

In Mageia werden neue Pakete oder neue Versionen von bestehenden Paketen zu erst in Cauldron hinzugefügt. In einigen Fällen werden diese gegebenenfalls für die stabile Veröffentlichung als Aktualisierung übertragen (Fehler- oder Sicherheitskorrekturen). Die Verfügbarkeit von Rückportierungen (Backports) hängt von der Zeit und dem Willen des Paketbetreuers ab und diese müssen auch zuvor vom QA Team getestet werden, bevor diese für alle Anwender verfügbar gemacht werden.

Von Zeit zu Zeit möchtest du gegebenenfalls den Vorgang beschleunigen und einen eigenen Backport für dich selbst erstellen. Dieses HowTo beschreibt die einfachen Schritte, die benötigt werden um dein eigenes RPM mit Verwendung der Cauldron SRPM (Quellpakete mit der Erweiterung src.rpm) zu erstellen. Es ist nur für leaf packages gedacht, also Pakete, die keinen Einfluss auf den Rest der Distribution haben (Spiele, alleinstehende Multimedia Software, etc.).

Bitte vergiss nicht einen Backport request auszufüllen, falls du denkst das mehrere Anwender an einer Rückportierung der Anwendung interessiert sein könnten; ein offizieller Backport ist die beste Möglichkeit um einen reibungsloses Upgrade zur nächsten stabilen Veröffentlichung sicherzustellen.

Die Cauldron SRPM des Pakets herunterladen

  • Wähle einen Spiegelserver aus der Mageia Mirror Datenbank. In diesem Tutorial verwenden wir distrib-coffee.ipsl.jussieu.fr.
  • Klicke auf eines der Protokolle (FTP oder HTTP) und gehe auf den Spiegelserver bis zu distrib/cauldron/SRPMS/core/release (du kannst auch nonfree oder tainted auswählen, falls du ein SRPM von diesen Repositorys haben möchtest).
  • Wenn die Seite geladen wurde (sie ist sehr groß), suche nach deinem Paket und lade es herunter. In diesem Tutorial wählen wird Dust Racing 2D (dustrac) für die Rückportierung aus.
$ cd ~/Downloads
$ wget -c http://distrib-coffee.ipsl.jussieu.fr/pub/linux/Mageia/distrib/cauldron/SRPMS/core/release/dustrac-1.7.1-2.mga5.src.rpm

Vorbereiten der Bau-Umgebung

  • Zu aller erst musst du die Abhängigkeiten zum bauen des Pakets installieren. Diese sind in der SRPM gelistet, wodurch du alle mit folgendem Befehl installieren kannst:
# urpmi --buildrequires package.src.rpm
  • Du benötigst eventuell auch die Bau-Werkzeuge (build tools). Installiere rpm-build, welches alle benötigten Abhängigkeiten mitbringen sollte.
  • Wenn du die Pakete aus der SRPM baust, werden diese im Voreingestellten Pfad ~/rpmbuild/RPMS/ eingefügt
    Du kannst mehr Informationen über das erstellen einer vollständigen Bau-Umgebung im Packagers RPM tutorial erfahren, falls du am bauen von Paketen interessiert bist.
$ su
# urpmi rpm-build
# urpmi --buildrequires dustrac-1.7.1-2.mga5.src.rpm
# exit

Die binären RPM(s) aus der SRPM erstellen

Du bist nun bereit um deine eigenen RPM(s) mit rpmbuild --rebuild package.src.rpm zu erstellen. Beachte, dass du dies als normaler Anwender tust und nicht als root:

$ rpmbuild --rebuild dustrac-1.7.1-2.mga5.src.rpm

Du solltest folgende Warnung sehen:

warning: user iurt does not exist - using root
warning: group iurt does not exist - using root

Du kannst diese einfach ignorieren.

Wenn das Paket nicht einfach gebaut wird, dann ist es nicht für einen schnellen und dreckigen Backport geeignet und du solltest den Paketbetreuer (maintainer) nach einem funktionierenden Backport fragen, wenn dieser es für richtig hält.

Installieren oder entfernen deines selbst gebauten Backports

  • Solange es nicht anders konfiguriert ist, wird das Paket in ~/rpmbuild/RPMS/$ARCH erstellt, wobei $ARCH für die Paketarchitektur (x86_64, i586 oder noarch) steht.
    Die Architektur sollte entweder der Architektur deiner Distribution entsprechen oder noarch sein (oder manchmal beides, wenn es mehrere RPMs vorhanden sind).
$ cd ~/rpmbuild/RPMS/
$ su
# urpmi x86_64/dustrac-1.7.1-2.x86_64.rpm
# exit
  • In einigen Fällen werden mehrere Pakete aus einer SRPM gebaut. Wenn diese Pakete untereinander abhängig sind, musst du die relativen Pfade zu jedem benötigten Paket in den urpmi Befehl dazuschreiben.
  • Die neu installierte Paket wird in deiner RPM Datenbank eingefügt, damit du es wie ein reguläres Paket wieder deinstallieren kannst:
# urpme dustrac