Diplomarbeit
Qualitätssicherungs- und Build-System fuer die Fedora-Distribution
Completion
2005/03
Students
Enrico Scholz
student
Advisers
Description (German)
Die Diplomarbeit soll der Entwurf und die Implementierung des QA- und Buildsystem des Fedora Projekts sein. Im einzelnen umfasst dies: * eine Datenbank fuer die Paketdaten (allgemeine Metadaten, Maintainer, Buildparameter fuer unterschiedliche Umgebungen, Abhaengigkeiten). Inwieweit die Paketheader direkt verwendet werden koennen, muss noch untersucht werden * die Abbildung des QA-Flusses unter Beachtung unterschiedlicher Privilegien der Reviewer; saemtliche Bestaetigungen muessen via GPG signiert sein und das System diese Signaturen pruefen. Zur Nutzerauthentifikation sollen die gegenwaertigen Bugzillalogins verwendet werden. * Schaffung von Interfaces fuer automatische QA-Massnahmen und fuer das Buildsystem ansich. Die QA-Massnahmen umfassen z.B. Paketbau in minimalen und maximalen Umgebungen und den anschliessenden Vergleich der Ergebnisse, das Nutzen von rpmlint, Bereitstellen von Diffs mit vorherigen Paketversionen u.ae. Beim finalen Paketbau sind zirkulaere Abhaengigkeiten zu beachten und ggf. Pakete wiederholt zu erzeugen. In Ruhezeiten sind I/O-intensive Vorbereitungsmassnahmen (Erzeugung der Basisumgebung) durchzufuehren, und der Paketbau ist guenstig auf verschiedene Rechner zu verteilen. * Generierung von automatischen Reports (Paket-Announces, Buildreports) bzw. Uebernahme in Bugzilla (gegenwaertige QA Methode) Als Nutzerinterface soll eine Weboberflaeche entstehen; leistungsfaehige Clients auf Nutzerseite sollten aber auch ermoeglicht werden und die Kommunikation deswegen via XML-RPC stattfinden. Als Hauptprogrammiersprache kommt Python zum Einsatz; fuer Integrationszwecke sind jedoch auch andere Sprachen (C, Shell, ...) moeglich.