Sviluppo

Da Wiki :: openmamba.
Jump to navigation Jump to search

Introduzione

Lo sviluppo di openmamba consiste principalmente nella pacchettizzazione di componenti software (programmi, librerie, ecc.) a partire da archivi che ne contengono il codice sorgente (spesso in formato tar.xz,tar.bz2 o tar.gz) e che sono disponibili pubblicamente su siti internet che ospitano software open source quali sourceforge. Il formato di pacchettizzazione utilizzato è RPM.

Per agevolare agli sviluppatori il compito di creare pacchetti RPM viene utilizzato un tool denominato autospec. Esso offre una decina di operazioni da eseguire sequenzialmente in maniera manuale o automatica con il fine semplificare il processo di creazione e aggiornamento di singoli componenti software.

Sulle orme di autospec si è sviluppato autodist, un tool che ha l'obiettivo di gestire automaticamente un intero repository utilizzando autospec in batch.

Nel 2012 è stata realizzata un'interfaccia web per lo sviluppo e il mantenimento di openmamba denominata Webbuild. L'uso di questa interfaccia è preferibile e raccomandato oggi.

Il controllo e database della distribuzione è gestito da distromatic, un tool che si occupa di controllare la correttezza delle dipendenze e fornisce informazioni dettagliate su ciascun repository.

Il supporto di diverse architetture ha indotto la realizzazione di ulteriori strumenti di mantenimento automatico e l'introduzione di macchine di build per ciascuna architettura. Il sistema di mantenimento semi-automatico è schematizzato nel diagramma seguente.

Sistema di build semi-automatico di openmamba

Cose da fare

Programmi da aggiungere

Ognuno è invitato a suggerire nuovi programmi da aggiungere alla distribuzione. E' possibile aggiungere nuovi programmi alla lista se mancanti nei repository principali e ausiliari oppure rimuoverli se nel frattempo sono stati aggiunti alla distribuzione.

Modifiche al sistema

La lista delle modifiche da apportare al sistema contiene un elenco di modifiche a componenti del sistema che sono in programma ma non sono ancora state effettuare. Ogni sviluppatore è invitato a consultare questa lista, applicare le modifiche che desidera e rimuovere le voci corrisponenti una volta che quest'ultime siano state inviate nei repository della distribuzione.

Porting verso nuove architetture

openmamba è stato realizzato dall'inizio utilizzando computer con architettura i586 compatibile in modo da essere supportato sulla stragrande maggioranza di personal computer esistenti.

Tuttavia è in fase di realizzazione il porting verso le architetture x86_64, ARM e PowerPC. Per ciascuna di queste architetture si prevede di rendere disponibile una distribuzione denominata sdk (software developers kit) con lo scopo di permettere agli sviluppatori di openmamba di iniziare ad usare un sistema base con tutti gli strumenti necessari per lo sviluppo al fine di contribuire nel completamento del porting, oltre che per avere un sistema utile per la compilazione in emulazione, anziché in cross-compilazione, da un PC verso una qualunque delle architetture supportate. Consultare le pagine specifiche per informazioni circa l'installazione e l'esecuzione del sistema openmamba sdk.

Road map

In questa sezione vengono riportate le scelte architetturali che sono alla base della realizzazione di una nuova versione di openmamba e possibilmente i metodi e i gruppi di lavoro coinvolti nello sviluppo.

openmamba milestone 2

Lo sviluppo della versione milestone 2 è attualmente in stadio avanzato e il raggiungimento della versione stabile corrisponde al raggiungimento di un sistema con le seguenti caratteristiche:

  • KDE 4 (ultima versione stabile alla data del rilascio)
  • RPM 5
  • Kernel 2.6.33 o successivo
  • Porting (almeno a livello di sdk) verso le architetture x86_64, PowerPC e ARM

Manuali di supporto alla pacchettizzazione

patch

autospec