Joan (discussió | contribucions)
Joan (discussió | contribucions)
Línia 23: Línia 23:
** actualitza/descarrega <nowiki>svn://svn.cadt.com/sapo-</nowiki>'''<sapo_release>''' a ~/svn/sapo/'''<sapo_release>'''
** actualitza/descarrega <nowiki>svn://svn.cadt.com/sapo-</nowiki>'''<sapo_release>''' a ~/svn/sapo/'''<sapo_release>'''


** llegeix els fitxers ~/svn/sapo/'''<sapo_release>'''/programs/*.list
** llegeix els fitxers de paquets (*.list) per totes les arquitectures que es troben a: ~/svn/sapo/'''<sapo_release>'''/programs/
 
** descarrega/actualitza tots els paquets del SVN ,però només la versió indicada
 
** inicialitza la llista de dependencies no resoltes a partir dels fitxers lib_versions.dep obtinguts del directori base de la versió del paquet que es vol compilar
 
** descarrega/actualitza les llibreries necessaries per resoldre les dependències fins que s'han resolt totes les dependencies o no pot obtenir les llibreries necessaries del SVN
 
** verifica que no hi hagin dependències circulars i genera la seqüència en que s'han de compilar i opcionalment instal·lar els diferents paquets i llibreries.
 
** per cada arquitectura genera un fitxer que conté la seqüència de pasos per fer la compilació i el guarda a  ~/svn/sapo/'''<sapo_release>'''/programs/'''<arch>'''/build.csv


===== Compilació =====
===== Compilació =====


Un cop obtinguts el codi de tots els paquets i les seves dependències es procedeix a la compilació
Un cop obtinguts el codi de tots els paquets i les seves dependències es procedeix a la compilació

Revisió del 17:30, 21 des 2016


Sistema de compilació automatitzat del SAPO

Pasos

Actualització/obtenció del codi

El primer pas és obtenir una copia actualitzada del codi que es troba en el servidor SVN (svn.cadt.com).

Això es pot fer des de sapo-builder@containers.cadt.com invocant l'script:

~/scripts/sapo_checkout.pl <sapo_release>

On <sapo_release> es la versió del sapo.

L'script procedeix de la següent manera:

    • descarrega/actualtiza ~/svn/Make.rules
    • crea el directori ~/svn/sapo si no existeix
    • actualitza/descarrega svn://svn.cadt.com/sapo-<sapo_release> a ~/svn/sapo/<sapo_release>
    • llegeix els fitxers de paquets (*.list) per totes les arquitectures que es troben a: ~/svn/sapo/<sapo_release>/programs/
    • descarrega/actualitza tots els paquets del SVN ,però només la versió indicada
    • inicialitza la llista de dependencies no resoltes a partir dels fitxers lib_versions.dep obtinguts del directori base de la versió del paquet que es vol compilar
    • descarrega/actualitza les llibreries necessaries per resoldre les dependències fins que s'han resolt totes les dependencies o no pot obtenir les llibreries necessaries del SVN
    • verifica que no hi hagin dependències circulars i genera la seqüència en que s'han de compilar i opcionalment instal·lar els diferents paquets i llibreries.
    • per cada arquitectura genera un fitxer que conté la seqüència de pasos per fer la compilació i el guarda a ~/svn/sapo/<sapo_release>/programs/<arch>/build.csv
Compilació

Un cop obtinguts el codi de tots els paquets i les seves dependències es procedeix a la compilació