Navigation

Entwicklung

SliTaz is a community based distribution made by many people all over the world and everyone is welcome to help and get involve in the project.

[ ] Join us on SCN and the mailing list

Bosanski Dansk Deutsch English Español Français Indonesian Italiano Português Русский 中文

Entwicklung von SliTaz

SliTaz ist ein Opensource-Projekt, das von einer Community entwickelt wird. Jeder kann und darf gerne dazu seinen Beitrag leisten, Nutzer, Grafiker oder Programmierer sind gleichermassen willkommen, es gibt immer etwas zu tun. Sei es das Vervollständigen des Wikis und der Dokumentation, Bugs im Bug Tracking System melden, neue Pakete zu erstellen und sie auf die Mirrors hochladen oder einfach anderen SliTaz-Nutzern im Forum oder der Mailing-List zu helfen.

SliTaz besitzt eine kleine Community und hört auf die Nutzer. Viele der Entwickler sind im Forum und der Mailing Liste selbst aktiv. Einfach in der jeweiligen Sprache/Forum ansprechen.

Mercurial Repositories

Die Website, Konfigurationsdateien und Skripte von SliTaz werden über das Mercurial Repository verwaltet. SliTaz Mercurial oder "Hg Repositories" können von jedem unter der Addresse http://hg.slitaz.org/ angesehen werden. Leute mit Schreibzugriff können über folgende Adresse direkt auf das Repositorium zugreifen: repos.slitaz.org, Nutzername und Passwort sind dabei erforderlich. Mercurial arbeitet mit Python, unter SliTaz lässt es sich mit tazpkg get-install mercurial installieren.

~/.hgrc

Bevor Du Deinen ersten Beitrag leistest, stelle bitte sicher, dass die Konfigurationsdatei (.hgrc) für das Repository vorhanden und richtig konfiguriert ist. Es sollte Deine E-Mail-Adresse enthalten, sowie den Nutzernamen (üblicherweise kein Pseudonym). Beispiel einer lokalen, persönlichen Datei ~/.hgrc :

[ui]
username = Vorname Nachname <you@example.org>

"Clone", "modify", "commit" und "push"

Die repositories werden über die Kommandozeile verwaltet. Zuerst erstellt man eine lokale Kopie:

 $ hg clone http://repos.slitaz.org/website

Im Dateimanager in das erstellte Verzeichnis wechseln. Um alle Änderungen anzuzeigen dient der Befehl log (mit der Option log -l 2 nur die beiden letzten Änderungen). head zeigt den letzten Logeintrag an. Damit diese Befehle funktionieren musst Du Dich im lokalen Verzeichnis befinden!

 $ hg log
 $ hg head

Nach dem Editieren einer Datei, den Status abrufen:

 $ hg status

Soll eine Datei neu hinzugefügt werden, muss vorher der Befehl add verwendet werden. Nun noch nach zwischenzeitlichen Neuerungen anfragen, und, falls welche existieren, mit update in Deine Änderungen einfügen.

 $ hg pull

Nun die Änderungen in das lokale Logbuch eintragen:

 $ hg commit -m "Logeintrag, kurze und kräftige Aussagen bitte..."
 $ hg log

Um nun Deine Änderungen auf dem Server zu veröffentlichen

 $ hg push

Das war es auch schon; nach ein bisschen Eingewöhnungszeit geht es leicht von der Hand. Mit dem Befehl rollback können die letzten Änderungen übrigens wieder rückgängig gemacht werden.

Tazpkg Pakete

Tazpkg Pakete werden bei SliTaz automatisch via Tazwok und einem "Rezept" generiert. Im Wiki entsteht gerade eine Referenz von Tazwok, den Rezepten sowie ein Manual. Kenntnisse dieser Anleitungen werden vorrausgesetzt.

Zuerst zur Auswahl des Paketes. Es sollen nur Pakete angeboten werden, die nützlich erscheinen und funktionabel sind. Dabei bitte das kleinste Paket aus der Anwendungskategorie verwenden. Existiert schon eine Anwendung aus dem Bereich, bitte nicht noch ein ähnliches Paket erstellen. Wenn Du aber eine Alternative dafür findest, die leichter ist, oder mehr Funktionalität für ein paar kB mehr bietet, stelle es in der Mailing-List zur Diskussion. Besondere Anforderungen werden an Pakete gestellt, die auf der Live-CD mitgeliefert werden sollen. Erleichtern des Codes, Auflösen unnötiger Abhängigkeiten gehören zur Selbstverständlichkeit! Allgemein werden solche Pakete vorerst ebenfalls in der Mailing-List zur Diskussion gestellt.

Bevor Du beginnst zu kompilieren und aus den Dateien ein SliTaz-Paket zu erstellen, pprüfe, ob ein ähnliches, oder sogar gleiches Paket nicht schon Auf dem SliTaz Mirror (v.a. Sektion "indigest") zur verfügung steht. Nicht vergessen, die Mitglieder der Mailing-List stehen Dir gerne zur Verfügung, ebenso das Tazwok Manual.

Website Management und Handbuch

Das Management der Website findet über das Mercurial Repository statt. Dazu gibt es einige Tools:
rsync ist ist ein Synchronisierungstool, lokal und fürs Netzwerk. Es nutzt einen enorm schnellen und kleinen Algorithmus, der es zu einer nützlichen Anwendung macht. diff wird dafür verwendet, Logs hochzualden, patch dient des Uploads des eigentlichen Inhalte.

Das deutsche Handbuch ist vollständig ins Wiki verlegt, jeder kann sich gerne daran konstruktiv beteiligen. Eine Anmeldung ist erforderlich.

Als grafische Oberfläche kann Grsync dienen, schneller geht es aber über die Kommandozeile. Um die Seite zum ersten Mal in das Vezeichnis /home/tux/Public/slitaz/website herunterzuladen:

 $ rsync -r -t -p -v \
       --progress --delete \
       rsync://slitaz.org/website /home/tux/Public/slitaz/website

Diff und patch

Die Anwendungen diff und patch sind Kommando-Zeilen Tools zur Erzeugung von Unterschieden zwischen zwei Dateien. Diese Methode wird häufig bei Zusammenarbeit genutzt, Veränderungen und Metadaten können leicht und schnell eingesehen werden. Um eine diff Datei zu erstellen, die in einem Texteditor gelesen werden kann dient die Option -u :

 $ diff -u file.orig file.new > file.diff

Um den Patch zu übernehmen:

 $ patch file.orig file.diff