Port ] [ Debian GNU/Hurd ] [ Notizie ] [ Configurazione ] [ CD di Hurd ] [ Documentazione ] [ Sviluppo ] [ Contatti ]

Debian GNU/Hurd

Sviluppo della distribuzione

Pacchetti per Hurd

I pacchetti specifici per Hurd sono manutenuti su https://salsa.debian.org/hurd-team/.

Port dei pacchetti Debian

Chi desidera contribuire al port Debian GNU/Hurd deve aver confidenza con il sistema di pacchettizzazione Debian. Una volta acquisite queste conoscenze leggendo la documentazione disponibile e visitando l'angolo degli sviluppatori si dovrebbe essere in grado di estrarre i pacchetti sorgente Debian e di creare un pacchetto binario Debian. Per le persone più pigre è disponibile un corso rapido:

Recuperare i sorgenti e creare i pacchetti

Per recuperare i sorgenti di un pacchetto usare apt source pacchetto; questo comando esegue anche l'estrazione dei sorgenti dal file di archivio.

L'estrazione di un pacchetto sorgente Debian richiede il file pacchetto_versione.dsc e dei file che sono elencati al suo interno. La directory di compilazione Debian viene creata con il comando dpkg-source -x pacchetto_versione.dsc.

Il pacchetto viene creato nella directory di compilazione Debian pacchetto-versione con il comando dpkg-buildpackage -B "-mMyName <MyEmail>". È possibile usare -b al posto di -B per creare un pacchetto con le sole parti indipendenti dall'architettura (solitamene è inutile poiché sono già presenti nell'archivio e inoltre la loro compilazione richiede anche ulteriori dipendenze). Inoltre è possibile aggiungere -uc per evitare di firmare il pacchetto con la propria chiave pgp.

La compilazione potrebbe richiedere l'istallazione di altri pacchetti. Il modo più semplice per farla funzionare è installare tutti i pacchetti necessari usando il comando apt build-dep pacchetto.

Può essere comodo usare pbuilder. Prima deve essere compilato con sudo pbuilder create --mirror http://deb.debian.org/debian-ports/ --debootstrapopts --keyring=/usr/share/keyrings/debian-ports-archive-keyring.gpg --debootstrapopts --extra-suites=unreleased --extrapackages debian-ports-archive-keyring e poi usato con pdebuild -- --binary-arch, gestisce il recupero delle dipendenze per la compilazione, ecc. e salva il risultato in /var/cache/pbuilder/result.

Scegliere un pacchetto

Quale pacchetto richiede del lavoro? Qualsiasi pacchetto che ancora non è stato portato e che deve essere portato. Questi pacchetti cambiano in continuazione quindi il lavoro è principalmente concentrato sui pacchetti con molte dipendenze inverse, questi pacchetti possono essere individuati grazie al grafico (aggiornato quotidianamente) delle dipendenze tra pacchetti https://people.debian.org/~sthibault/graph-radial.pdf oppure usando l'elenco dei pacchetti più ricercati https://people.debian.org/~sthibault/graph-total-top.txt (ordinato a partire dai pacchetti ricercati da più tempo, lo stesso elenco in ordine inverso https://people.debian.org/~sthibault/graph-top.txt). Solitamente è una buona idea prendere un pacchetto tra quelli marcati out-of-date (NdT: non aggiornati) in https://people.debian.org/~sthibault/out_of_date2.txt o in https://people.debian.org/~sthibault/out_of_date.txt perché tali pacchetti erano funzionanti ma adesso non funzionano più, probabilmente a causa di piccoli problemi. È anche possibile prendere un pacchetto a caso oppure sceglierne uno dopo aver controllato attentamente i log del processo autobuilder sulla lista di messaggi debian-hurd-build-logs oppure da https://people.debian.org/~sthibault/failed_packages.txt.

Inoltre, controllare su https://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse, https://alioth.debian.org/tracker/?atid=411594&group_id=30628&func=browse e BTS che il lavoro non sia già stato fatto (https://bugs.debian.org/cgi-bin/pkgreport.cgi?users=debian-hurd@lists.debian.org;tag=hurd), https://wiki.debian.org/Debian_GNU/Hurd e lo stato attuale dei pacchetti su buildd.debian.org, per esempio https://buildd.debian.org/util-linux.

Pacchetti che non devono essere portati

Alcuni dei seguenti pacchetti, o delle loro parti, potrebbero essere portabili in futuro ma almeno per ora sono considerati non-portabili. Questi pacchetti sono marcati come NotForUs nel database buildd.

Problemi generali del port

Un elenco dei problemi più comuni è disponibile sul sito web originale. Le seguenti problematiche sono specifiche di Debian.

Prima di tentare di correggere qualcosa, controllare se il port kfreebsd* ha già la correzione, che ha solo bisogno di essere estesa a hurd-i386.

Hacking con l'installatore Debian

Il modo più semplice per creare un'immagina ISO è partire da una esistente tra quelle presenti nella pagine con le immagini dei CD Hurd. Poi è possibile montarla e copiarla:

 
mount debian-sid-hurd-i386-NETINST-1.iso /mnt
cp -a /mnt /tmp/myimage
umount /mnt
chmod -R +w /tmp/myimage

È possibile montareil ram disk iniziale e, per esempio, sostituire il traduttore con la propria versione:

 
gunzip /tmp/myimage/initrd.gz
mount /tmp/myimage/initrd /mnt
cp ~/hurd/rumpdisk/rumpdisk /mnt/hurd/
umount /mnt
gzip /tmp/myimage/initrd

Adesso ricreare l'immagine con grub-mkrescue:

 
rm -fr /tmp/myimage/boot/grub/i386-pc
grub-mkrescue -o /tmp/myimage.iso /tmp/myimage