|
|
Riga 1: |
Riga 1: |
| =Introduzione=
| | {{debianized}} |
| A causa delle numerose migrazioni gli utenti di testing possono trovarsi davanti a qualche problema relativo alla mancanza di pacchetti nel repository ufficiale Debian...
| |
|
| |
|
| Questo è dovuto alla politica di gestione di testing, la quale richiede che un pacchetto debba avere le seguenti caratteristiche, prima di entrare in testing:
| | ==Introduzione== |
| * Sia stato in unstable per almeno 10 giorni (nel caso di priorità bassa (''low''));
| | Spesso, per vari motivi, � necessario installare Java su una macchina Debian... |
| * Non abbia Bug gravi;
| | Sicuramente tutti gli utenti avranno notato che non c'�, nel repository ufficiale, un pacchetto contenente j2se o j2dk ufficiali della SUN. |
| * Le dipendenze richieste siano completamente soddisfatte in testing.
| | Sono, invece, presenti i compilatori alternativi, come gcj, kaffe, kjc, javacc.... |
| | Per�, se volessimo avere il compilatore e/o l'interprete 'originale' della SUN? come possiamo fare? |
|
| |
|
| =Lo stato di un pacchetto=
| | Il primo modo che salta agli occhi � di installarlo in /opt e poi sistemare il $PATH...ma la soluzione, giustamente, non piace a tutti, in quanto 'sporca' il sistema e, cosa che crea parecchi problemi, genera dei problemi con le dipendenze dei pacchetti, visto che molti dei pacchetti che richiedono java per funzionare non lo trovano installato. |
| È possibile conoscere lo stato di un pacchetto (per l'esattezza di un pacchetto di sorgenti) tramite il sito della [http://qa.debian.org Quality Assurance], nel seguente modo:
| |
| * ricavare il pacchetto sorgente da cui viene creato il pacchetto binario in questione:
| |
| <pre> $ apt-cache show nomepacchetto | grep Source</pre>
| |
| * recarsi su http://packages.qa.debian.org ed inserire il nome del pacchetto sorgente
| |
| * leggere lo stato del pacchetto!
| |
|
| |
|
| {{Box|Nota:|è possibile automatizzare la procedura inserendo, nella pagina http://packages.qa.debian.org, il nome del pacchetto binario... il sistema mostrerà il nome del pacchetto di sorgenti relativo ed in 10 secondi reindirizzerà alla pagina relativa al suo stato.}}
| | In questo HowTo vedremo come pacchettizzare Java, usando direttamente il binario di installazione disponibile sul sito della Sun! |
|
| |
|
| =Creare i pacchetti binari per la propria distribuzione= | | ==Cosa ci occorre== |
| Premetto che la seguente procedura è utilizzabile prevalentemente per il backport da ''unstable'' a ''testing'', mentre potrebbe dare problemi per il backport da ''testing'' a ''stable''.
| | Provvediamo a scaricare i pacchetti java-package e fakeroot. |
| | <pre> |
| | # apt-get install java-package fakeroot |
| | </pre> |
| | |
| | E poi scarichiamo il jdk o jre dal sito ufficiale Sun:<br(> |
| | 1.5: http://java.sun.com/j2se/1.5.0/download.jsp<br/> |
| | 1.4: http://java.sun.com/j2se/1.4.2/download.html |
| | |
| | Una volta terminato il download, saremo pronti per proseguire. |
| | |
| | ==Creazione del Pacchetto== |
|
| |
|
| ==Pacchetti necessari==
| | Bene, siamo pronti a creare il pacchetto!!! |
| Per eseguire le operazioni illustrare in questa pagina sono necessari i seguenti pacchetti, normalmente utilizzati per lo sviluppo dei pacchetti Debian:
| | Posizioniamoci nella directory dove sono stati scaricati i binari di java e, da utente normale, diamo il seguente comando: |
| * dpkg-dev
| | <pre> |
| * devscripts
| | $ fakeroot make-jpkg jdk-1_5_0_01-linux-i586.bin |
| * fakeroot
| | </pre> |
| | (o il nome del pacchetto scaricato...in questo caso ho pacchettizzato il jdk 1.5.0) |
| | al comando '''make-jpkg''' � possibile passare i seguenti parametri:<br/> |
| | ; --full-name <name> : Nome del Maintainer<br/> |
| | ; --email <email> : Email del Maintainer<br/> |
| | ; --changes : Indica che il processo deve creare un file .changes<br/> |
| | ; --help : Visualizza un piccolo help contenente i comandi qui illustrati<br/> |
| | ; --version : Stampa a video la versione |
|
| |
|
| ==Scaricare i sorgenti==
| | Una volta terminato il processo di generazione del pacchetto, provvediamo a fare quanto segue: |
| Dalla pagina relativa allo stato del pacchetto è possibile scaricare i sorgenti necessari per questo backport (nel riquadro '''Source files'''). I file sono, per l'esattezza, 3:
| | <pre> |
| * l'archivio contenente i sorgenti originali, '''.orig.tar.gz'''
| | $ su |
| * l'archivio contenente le patch per creare il pacchetto, '''.patch.gz'''
| | # dpkg -i sun-j2sdk1.5_1.5.0+update01_i386.deb |
| * il file contenente la descrizione del pacchetto, '''.dsc'''
| | </pre> |
|
| |
|
| Una volta scaricati in una unica directory è necessario estrarli:
| | Ovviamente sostituendo 'sun-j2sdk1.5_1.5.0+update01_i386.deb' con il nome del pacchetto appena creato! |
| | Se ci sono problemi, relativamente ad una dipendenza con un nome simile a 'sun-j2sdk1.5debian', � possibile sistemare tutto con il comando |
| <pre> | | <pre> |
| $ dpkg-source -x nomepacchetto.....dsc
| | # apt-get install sun-j2sdk1.5debian |
| </pre> | | </pre> |
|
| |
|
| ==Scaricare le dipendenze==
| | Ora non ci resta che sistemare una ultima cosa: '''alternatives''' |
| Prima di procedere alla compilazione è necessario installare i pacchetti ''-dev'' necessari per la compilazione...
| | (se precedentemente era stato installato un pacchetto non ufficiale di java) |
| Anche in questo caso, come sempre del resto, il sistema di gestione dei pacchetti Debian ci viene in aiuto: è infatti necessario un semplice
| | Date il comando |
| <pre> | | <pre> |
| # apt-get build-deps nomepacchetto | | # update-alternatives --config java |
| </pre> | | </pre> |
| per installare le dipendenze necessarie alla compilazione. | | (uguale procedimento anche per javac, javadoc ed eventualmente altri eseguibili java) |
| | e selezionate 'quale java' utilizzare! |
| | |
| | ==Conclusioni== |
|
| |
|
| {{Box|Nota:|il comando potrebbe non risolvere tutte le dipendenze (nel peggiore dei casi potrebbe non trovare informazioni riguardo a queste). In questo caso, quindi, bisognerà installarle a mano. Le dipendenze mancanti verranno mostrate nell'output di ''dpkg-buildpackage'' e dovranno essere installate come viene installato normalmente un pacchetto. Non sarà possibile continuare nel processo di compilazione se non si soddisfano tutte le dipendenze di compilazione.}}
| | Con questi pochi e semplici passaggi, abbiamo installato java senza sporcare il sistema, e risolvendo il problema delle dipendenze! |
|
| |
|
| ==Compilare il pacchetto==
| | Buon Java a tutti!!! |
| Una volta installate le dipendenze si può procedere con la compilazione del pacchetto:
| |
| * bisogna entrare nella directory dei sorgenti creata durante l'estrazione dei sorgenti;
| |
| * per far partire la compilazione si può usare il seguente comando: <pre>$ fakeroot dpkg-buildpackage</pre>
| |
|
| |
|
| Se tutto procede senza problemi verranno creati, nella directory precedente, i pacchetti binari frutto della compilazione... per installarli è sufficiente il classico
| |
| <pre> # dpkg -i nomepacchetto.....deb</pre>
| |
|
| |
|
| =Conclusioni=
| | ---- [[User:MaXeR|MaXeR]] |
| Questo rappresenta il metodo più semplice per ottenere un pacchetto per testing partendo da un pacchetto sorgente di unstable, anche se non sempre può essere applicato (a causa di dipendenze non risolte perchè non presenti in testing (in questo caso è necessario partire dal backporting delle librerie mancanti) o perchè le versioni dei pacchetti in testing non sono abbastanza aggiornate per concludere con successo la compilazione (evento molto raro)).
| |
|
| |
|
| Nel Backport Howto vedremo, più in dettaglio, come eseguire un Backport da ''testing''/''unstable'' verso ''stable''...
| | [[Categoria:Apt]] |
| | [[Categoria:Apt-Dev]] |