openSUSE:Zypper development

Wechseln zu: Navigation, Suche
Erste Schritte, um dein eigenes Zypper zu erstellen.

Quellcode

Der Quellcode von Zypper wird in einem Git-Repository auf GitHub gepflegt. Du kannst die aktuellste Kopie von Zypper mit dem folgenden Befehl erhalten:

git clone git://github.com/openSUSE/zypper.git

Dies wird eine lokale Kopie des Repositorys in einem Verzeichnis namens zypper in deinem aktuellen Arbeitsverzeichnis erzeugen.


Die Entwickler kontaktieren

Du kannst die Zypper-Entwickler über

erreichen.


Dokumentation

Zypper hat eine detaillierte Manpage: doc/zypper.8. Bitte halte sie aktuell, wann immer Du etwas entweder am Befehlszeilen-Interface oder am Verhalten änderst.

Falls dich das Groff-Markup abschreckt, schreibe einfach in gewöhnlichem Text und wir werden es im Nachhinein verschönern.


Entwicklungszweige

Die Entwicklungszweige von Zypper sollten generell denen von libzypp entsprechen, es kann aber Ausnahmen geben. Im Allgemeinen findet die Hauptentwicklung im Trunk statt. Die Branches werden zumeist intern von SUSE-Entwicklern zur Pflege oder Entwicklung von Zypper-Versionen benötigt, die mit bestimmten Produkten geliefert werden.


Zypper erstellen

Um Zypper zu erstellen, ist es nötig, dass du die folgenden Pakete installiert hast:

libzypp-devel, augeas-devel, cmake, gcc-c++, pkg-config, boost-devel, gettext-devel, asciidoc, and readline-devel.

Um Zypper zu erstellen, erstelle ein Build-Verzeichnis (entweder ein _build-Verzeichnis innerhalb des Zypper-Quellbaumes oder irgendein Verzeichnis außerhalb) und führe cmake und make darin wie folgt aus:

mkdir <build_dir>
cd <build_dir>
cmake <zypper_src_dir>
make

Schließlich kannst du mit make install Zypper unter /usr installieren. Falls du ein anderes Installationspräfix während der Entwicklung von Zypper verwenden möchtest, gibt dies dem cmake-Befehl wie folgt bekannt:

cmake -DCMAKE_INSTALL_PREFIX=/my/devel/usr <zypper_src_dir>

und setze das Erstellen mit make wie gewohnt fort.

Nach einem erfoglreichen Build wird die ausführbare Zypperdatei in <build_dir>/src sein. Du kannst die Binärdatei direkt ausführen oder sie mit make install nach bin unterhalb des angegebenen Installationspräfixes (siehe oben) installieren.

Um ein Quell-Tarball zu erstellen, verwende

make srcpackage

oder

make srcpackage_local

Ersteres prüft nach nicht committeten Änderungen im Quellbaum, Letzteres überspringt die Überprüfung. Das erzeugte Tarball wird in <build_dir>/package zusammen mit der zypper.spec-Datei abgelegt.

Weitere cmake-Variablen

  • ZYPP_PREFIX - Verwende dies, um das Installationspräfix von libzypp für den Fall anzugeben, dass du ein libzypp verwenden möchtest, das nicht am Standardort installiert ist.
  • SYSCONFDIR - Gib dein eigenes /etc-Verzeichnis für die Installation von logrotate.d/zypper.lr an.
  • MANDIR - Gib dein eigenes Manpage-Installationsverzeichnis an.

Erscheinungsbild

Tabulatorzeichen vs. Leerzeichen und Einrückung

Im Quellcode wird eine zwei Zeichen weite Einrückung verwendet. Du kannst Tabulator- und Leerzeichen vermischen, um deinen Code einzurücken, stelle aber sicher, dass du deinen Editor so eingestellt hast, dass er die Tabulatorzeichen in acht Zeichen weiten Spalten darstellt. Im vim-Editor wird dies erreicht mit:

set tabstop=8 shiftwidth=2 softtabstop=2

Mit einer solchen Konfiguration ist es egal, ob dein Editor Leer- oder Tabulatorzeichen einfügen soll, wenn du die Tabulator-Taste drückst. Dies unterstützen jedoch nicht alle Editoren, aber zumindest Vim, Emacs, Cream und seit Kurzem auch Eclipse CDT.