Differenze tra le versioni di "Sviluppo"

Da Wiki :: openmamba.
Jump to navigation Jump to search
(Nuova pagina: == Repository di sviluppo == La distribuzione openmamba è organizzata in vari repository. La [http://www.openmamba.org/distribution/development.html pagina di monitoring dello svilup...)
 
m (Annullate le modifiche di 69.167.34.20 (discussione), riportata alla versione precedente di Silvan)
 
(16 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
== Repository di sviluppo ==
+
== Introduzione ==
La distribuzione openmamba è organizzata in vari repository. La
 
[http://www.openmamba.org/distribution/development.html pagina di monitoring dello sviluppo]
 
permette di accedere alle informazioni aggiornate per ciascun repository.
 
  
=== Repository principali ===
+
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 [http://sourceforge.net sourceforge]. Il formato di pacchettizzazione utilizzato è [[RPM]].
Il repository [[Distribuzione:Sviluppo:Repositories:devel|devel]] contiene l'intera distribuzione principale, esclusi i giochi di grosse dimensioni. Il repository è di tipo instabile ad utilizzo dei beta tester al fine di pervenire al rilascio delle versioni stabili (Milestones) del sistema.
 
  
=== Repository ausiliari ===
+
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.
[[Distribuzione:Sviluppo:Repositories:devel-games|devel-games]] è un ramo del repository devel contenente giochi di grosse dimensioni. Questo repository è automaticamente disponibile su ogni sistema openmamba.
 
  
[[Distribuzione:Sviluppo:Repositories:devel-contrib|devel-contrib]] è un ramo del repository devel con aggiornamenti ed aggiunte provenienti dai contributori che sono ritenute pronte per essere importate nel repository devel.
+
Sulle orme di autospec si è sviluppato [[autodist]], un tool che ha l'obiettivo di gestire automaticamente un intero repository utilizzando autospec in batch.
  
[[Distribuzione:Sviluppo:Repositories:devel-embedded|devel-embedded]] è un repository ausiliario contenente pacchetti destinati all'uso per sistemi embedded.
+
Nel 2012 è stata realizzata un'interfaccia web per lo sviluppo e il mantenimento di openmamba denominata ''Webbuild''. L'uso di [http://webbuild.openmamba.org questa interfaccia] è preferibile e raccomandato oggi.
  
=== Repository personali ===
+
Il controllo e database della distribuzione è gestito da [[distromatic]], un tool che si occupa di controllare la correttezza delle [[dipendenze]] e fornisce [http://www.openmamba.org/distribution/distromatic.html informazioni dettagliate] su ciascun repository.
Ciascun membro della [[Comunità|comunità di openmamba]] può avere a disposizione il proprio repository per poter pubblicare le proprie modifiche alla distribuzione principale.
 
  
Questi repository non dovrebbero essere aggiunti
+
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.
=== Repository di servizio ===
 
Si tratta di repository utilizzati per i meccanismi interni della distribuzione.  
 
  
[[Distribuzione:Sviluppo:Repositories:devel-makedist|devel-makedist]] è un repository ausiliario usato dal tool [[Distribuzione:Sviluppo:Programmi:makedist|makedist]] per creare le distribuzioni livecd e flash-1GB;.
+
[[File:Diagramma-openmamba.png|thumb|700px|center|Sistema di build semi-automatico di openmamba]]
 
 
[[Distribuzione:Sviluppo:Repositories:devel-autodist|devel-autodist]] è un repository sperimentale contenente pacchetti generati automaticamente da [[Distribuzione:Sviluppo:Programmi:autodist|autodist]].
 
  
 
== Cose da fare ==
 
== Cose da fare ==
 
=== Programmi da aggiungere ===
 
=== 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 ===
 
=== 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]]

Versione attuale delle 09:36, 6 lug 2020

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