Old:Pacchettizzare ed installare Xorg su Debian Sid: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 2: Riga 2:


===Descrizione===
===Descrizione===
Questa guida tenter� di illustrare i passi base necessari a chi volesse cimentarsi nella compilazione ed installazione di xorg su sid.<br>
Questa guida tenterà di illustrare i passi base necessari a chi volesse cimentarsi nella compilazione ed installazione di xorg su sid.<br>
Il nostro obiettivo creare una serie di pacchetti .deb adattando quelli presenti nei repository dei sorgenti ubuntu e personalizzandoli per sid.<br>
Il nostro obiettivo è creare una serie di pacchetti .deb adattando quelli presenti nei repository dei sorgenti ubuntu e personalizzandoli per sid.<br>
Tutto questo lavoro di compilazione serve ad evitare di dover installare ulteriori pacchetti dal repository ubuntu, le cui versioni sono spesso presenti soltanto in quel particolare repository (molti pacchetti vengono personalizzati e modificati dal team di sviluppo) e che renderebbero il nostro sistema un misto tra ubuntu e debian.<br>
Tutto questo lavoro di compilazione serve ad evitare di dover installare ulteriori pacchetti dal repository ubuntu, le cui versioni sono spesso presenti soltanto in quel particolare repository (molti pacchetti vengono personalizzati e modificati dal team di sviluppo) e che renderebbero il nostro sistema un misto tra ubuntu e debian.<br>
Tenuta presente comunque la buona compatibilit� dei sorgenti dei pacchetti ubuntu rispetto ai .deb prelevati da debian.org (specialmente in relazione alle dipendenze di ciascun pacchetto), possibile ricostruire l'intero xorg sfruttando le librerie necessarie prelevandole  per�, direttamente da sid.<br>
Tenuta presente comunque la buona compatibilità dei sorgenti dei pacchetti ubuntu rispetto ai .deb prelevati da debian.org (specialmente in relazione alle dipendenze di ciascun pacchetto), è possibile ricostruire l'intero xorg sfruttando le librerie necessarie prelevandole  però, direttamente da sid.<br>
Faccio notare come la durata di tutta l'operazione sia un fattore importante da valutare: sulla mia macchina (Athlon xp 2000+, 256Mb), ad esempio, sono necessari oltre '''100 minuti''' per portare a termine tutto il processo di compilazione.<br>  
Faccio notare come la durata di tutta l'operazione sia un fattore importante da valutare: sulla mia macchina (Athlon xp 2000+, 256Mb), ad esempio, sono necessari oltre '''100 minuti''' per portare a termine tutto il processo di compilazione.<br>  


Riga 16: Riga 16:
Durante l'operazione, possiamo controllare se viene scaricata anche la lista appena inserita per i pacchetti di ubuntu.
Durante l'operazione, possiamo controllare se viene scaricata anche la lista appena inserita per i pacchetti di ubuntu.


Prepariamo adesso una directory di nome '''xorg''', con il comando <pre>mkdir xorg</pre> questa accoglier� i sorgenti prelevati dalla rete, i file oggetto prodotti dalla compilazione ed infine i pacchetti .deb.<br>
Prepariamo adesso una directory di nome '''xorg''', con il comando <pre>mkdir xorg</pre> questa accoglierà i sorgenti prelevati dalla rete, i file oggetto prodotti dalla compilazione ed infine i pacchetti .deb.<br>
Per esperienza personale, consiglio di creare la cartella all'interno di una partizione con '''almeno 4.5 gb di spazio libero'''.
Per esperienza personale, consiglio di creare la cartella all'interno di una partizione con '''almeno 4.5 gb di spazio libero'''.


Riga 40: Riga 40:
Posizionamoci pertanto nella sottodirectory '''debian''' di xorg-6.8.2.
Posizionamoci pertanto nella sottodirectory '''debian''' di xorg-6.8.2.


Affinch� si possano adattare i sorgenti a sid, dobbiamo modificare 2 file: nel primo caso la modifica � pi� che altro cosmetica, nel secondo caso invece una scelta obbligata.
Affinchè si possano adattare i sorgenti a sid, dobbiamo modificare 2 file: nel primo caso la modifica è più che altro cosmetica, nel secondo caso invece è una scelta obbligata.


Con il nostro editor preferito, apriamo pertanto il file '''changelog'''.<br>
Con il nostro editor preferito, apriamo pertanto il file '''changelog'''.<br>
Questo file mantiene lo storico delle modifiche fatte dagli sviluppatori ubuntu a partire dalla versione stable rilasciata dal team di xorg: tale file viene regolato da una sintassi ben precisa, in cui anche gli spazi hanno una loro funzione e pertanto vanno tenuti in considerazione per la buona riuscita della compilazione.<br>
Questo file mantiene lo storico delle modifiche fatte dagli sviluppatori ubuntu a partire dalla versione stable rilasciata dal team di xorg: tale file viene regolato da una sintassi ben precisa, in cui anche gli spazi hanno una loro funzione e pertanto vanno tenuti in considerazione per la buona riuscita della compilazione.<br>
E' necessario pertanto, prestare molta attenzione alla disposizione dei vari campi e al numero degli spazi che li delimitano.<br>
E' necessario pertanto, prestare molta attenzione alla disposizione dei vari campi e al numero degli spazi che li delimitano.<br>
La entry pi� recente presente nella versione attuale del file changelog ci appare cos�:
La entry più recente presente nella versione attuale del file changelog ci appare così:
<pre>xorg (6.8.2-10) hoary; urgency=low
<pre>xorg (6.8.2-10) hoary; urgency=low


Riga 60: Riga 60:
  -- Daniel Stone <daniel.stone@ubuntu.com>  Tue,  5 Apr 2005 08:38:20 +1000</pre>
  -- Daniel Stone <daniel.stone@ubuntu.com>  Tue,  5 Apr 2005 08:38:20 +1000</pre>
   
   
Affinch� possiamo ottenere una nostra versione personalizzata dei pacchetti, dobbiamo aggiungere precendetemente al gruppo di linee appena descritto (quindi all'inizio del file), qualcosa del genere:
Affinchè possiamo ottenere una nostra versione personalizzata dei pacchetti, dobbiamo aggiungere precendetemente al gruppo di linee appena descritto (quindi all'inizio del file), qualcosa del genere:
   
   
<pre>xorg (6.8.2-10-ld10) sid; urgency=low
<pre>xorg (6.8.2-10-ld10) sid; urgency=low
Riga 70: Riga 70:
mantenendo uno spazio di separazione con il gruppo successivo.
mantenendo uno spazio di separazione con il gruppo successivo.


Queste righe possono essere personalizzate secondo i propri gusti tenendo presente che '''6.8.2-10-ld10''' sar� la versione che comparir� nel nome di ogni pacchetto, dove -ld indica la nostra estensione personale, la quale *dovr�* essere seguita da un numero a scelta: es -myExt1.<br>
Queste righe possono essere personalizzate secondo i propri gusti tenendo presente che '''6.8.2-10-ld10''' sarà la versione che comparirà nel nome di ogni pacchetto, dove -ld indica la nostra estensione personale, la quale *dovrà* essere seguita da un numero a scelta: es -myExt1.<br>
Infatti la mancanza di tale valore pregiudica irreparabilmente la compilazione e creazione dei pacchetti (lo script preposto all'operazione, si rifiuter� di assemblare i .deb)
Infatti la mancanza di tale valore pregiudica irreparabilmente la compilazione e creazione dei pacchetti (lo script preposto all'operazione, si rifiuterà di assemblare i .deb)


A questo punto salviamo il file changelog e dedichiamoci invece a '''control'''.<br>
A questo punto salviamo il file changelog e dedichiamoci invece a '''control'''.<br>
La struttura del file control si puo riassumere in una sequenza di "blocchi" all'interno dei quali sono contenute tutte le informazioni proprie di un pacchetto debian raccolte per riga (ad esempio: la descrizione, le dipendenze, i conflitti, etc etc). <br>
La struttura del file control si puo riassumere in una sequenza di "blocchi" all'interno dei quali sono contenute tutte le informazioni proprie di un pacchetto debian raccolte per riga (ad esempio: la descrizione, le dipendenze, i conflitti, etc etc). <br>
Dato che la versione di xorg su cui stiamo lavorando proviene dal repository ubuntu, possibile che siano presenti alcune dipendenze relative a pacchetti contenuti solamente in tale repository.<br>
Dato che la versione di xorg su cui stiamo lavorando proviene dal repository ubuntu, è possibile che siano presenti alcune dipendenze relative a pacchetti contenuti solamente in tale repository.<br>
Pertanto questi pacchetti risulterebbero non disponibili all'atto dell'installazione sulla nostra sid, pregiudicando cos� tutta l'operazione.<br>
Pertanto questi pacchetti risulterebbero non disponibili all'atto dell'installazione sulla nostra sid, pregiudicando così tutta l'operazione.<br>
Possiamo evitare questa situazione ricercando nelle sole righe Depends del file control, i riferimenti ai pacchetti di ubuntu (presentano la segnatura "ubuntu" all'interno del numero di versione).<br>
Possiamo evitare questa situazione ricercando nelle sole righe Depends del file control, i riferimenti ai pacchetti di ubuntu (presentano la segnatura "ubuntu" all'interno del numero di versione).<br>
Nel nostro caso, scorrendo il file (possiamo usare la funzione di ricerca del nostro editor) notiamo che alla riga 1895 presente una referenza al pacchetto '''lsb-base''' nella versione ('''1.3-9ubuntu2''').
Nel nostro caso, scorrendo il file (possiamo usare la funzione di ricerca del nostro editor) notiamo che alla riga 1895 è presente una referenza al pacchetto '''lsb-base''' nella versione ('''1.3-9ubuntu2''').


Dopo aver controllato che in sid esista tale pacchetto in una versione per lo meno uguale (meglio se superiore) a quella citata dal file control (possiamo usare '''apt-cache show lsb-base | grep Version''' per questo scopo), cancelliamo la parola "ubuntu" ed ogni eventuale numero postposto, lasciando quindi solo il numero della versione del pacchetto, infine salviamo.<br>
Dopo aver controllato che in sid esista tale pacchetto in una versione per lo meno uguale (meglio se superiore) a quella citata dal file control (possiamo usare '''apt-cache show lsb-base | grep Version''' per questo scopo), cancelliamo la parola "ubuntu" ed ogni eventuale numero postposto, lasciando quindi solo il numero della versione del pacchetto, infine salviamo.<br>
Quindi la versione di lsb-base nella riga Depends ci apparir� come ('''1.3-9''').<br>
Quindi la versione di lsb-base nella riga Depends ci apparirà come ('''1.3-9''').<br>
Relativamente a questa versione di xorg, non ci sono altre referenze da modificare; nel caso in cui, invece, fossimo in presenza di parecchie dipendenze da sistemare dobbiamo valutare ciascun caso separatamente, ripetendo tutta la procedura di controllo e modifica.
Relativamente a questa versione di xorg, non ci sono altre referenze da modificare; nel caso in cui, invece, fossimo in presenza di parecchie dipendenze da sistemare dobbiamo valutare ciascun caso separatamente, ripetendo tutta la procedura di controllo e modifica.


Riga 87: Riga 87:
A questo punto siamo in grado di avviare la compilazione/creazione dei pacchetti di xorg usando il comando '''dpkg-buildpackage''' dopo esserci posizionati nella cartella xorg-6.8.2 ed aver ottenuto i privilegi di root.
A questo punto siamo in grado di avviare la compilazione/creazione dei pacchetti di xorg usando il comando '''dpkg-buildpackage''' dopo esserci posizionati nella cartella xorg-6.8.2 ed aver ottenuto i privilegi di root.


Molto probabilmente ci verr� notificato che alcune dipendenze non sono soddisfatte per portare a termine la compilazione:
Molto probabilmente ci verrà notificato che alcune dipendenze non sono soddisfatte per portare a termine la compilazione:


es.
es.
Riga 113: Riga 113:
*  Xfree preso da sid
*  Xfree preso da sid


<br>La prima situazione pu� essere risolta (NB, si potrebbe fare anche con un repository locale) con <pre>dpkg -i x-window-system-core*.deb </pre> aggiungendo volta per volta i pacchetti che vengono richiesti come mancanti in coda a dpkg -i, ovvero
<br>La prima situazione può essere risolta (NB, si potrebbe fare anche con un repository locale) con <pre>dpkg -i x-window-system-core*.deb </pre> aggiungendo volta per volta i pacchetti che vengono richiesti come mancanti in coda a dpkg -i, ovvero
<pre>dpkg -i PKT1 PKT2 PKT3 PKT4</pre> dove i vari PKT corrispondono al nome del pacchetto '''completo di estensione'''.
<pre>dpkg -i PKT1 PKT2 PKT3 PKT4</pre> dove i vari PKT corrispondono al nome del pacchetto '''completo di estensione'''.


47

contributi

Menu di navigazione