Skip to content
19 giugno , 2007 / Flax

Gutsy to Feisty, repo di backports in locale

800pxweisshandgibbontiepw8.jpg

Il gibbone arriva sul vostro PC

 

E’ un po’ tardino, ma ho davvero rimandato troppo tempo prima di scrivere questa guida. Spiegherò come crearsi un repo in locale e come creare pacchetti di backport a partire dai pacchetti del Gutsy Gibbon (se no non sarebbero di backport). La cosa è abbastanza complicata e la sconsiglio fortemente a chi è a digiuno di compilazione. Mi raccomando, fate attenzione e… usate il preservativo.

Per prima cosa dobbiamo crearci il repo (ossia una cartella contenente pacchetti e un file particolare) che sarà situato, per semplicità, nella directory Home. Date da terminale il seguente comando (sostituendo a TUO_NOME il nome di login):

cd && mkdir feisty && cd feisty && mkdir binary && mkdir sources && sudo su -c 'echo deb file:/home/TUO_NOME/feisty/ binary/ >> /etc/apt/sources.list'

In questo modo abbiamo creato una cartella di nome feisty (che contiene due directory: binary e sources) nella Home e l’abbiamo aggiunta al nostro sources.list. Ora dobbiamo aggiungere nel nostro repository dei pacchetti belli e fiammanti per far vedere che anche noi valiamo qualcosa! E cosa c’è di meglio che usare i sorci della instabile Gutsy per crearci dei pacchetti? La risposta è…boh, non mi viene in mente nulla…

Per fare questo dovete cambiare da feisty a gutsy tutte le righe, del vostro sources.list, che iniziano con “deb src” (tralasciate quelli che contengono, sulla stessa riga, la parola security: a noi non servono). Ora date un bel sudo apt-get update per scaricare i nuovi sorci

Siamo giunti alla fase più complicata della guida: ora dobbiamo compilare i pacchetti. Come saprete la parte più noiosa, nella creazione di un pacchetto, è la soddisfazione delle dipendenze; per fare ciò useremo un’utility concessaci da pbuilder (che io preferisco al comando: sudo apt-get build-dep pacchetto_da_compilare). Installiamo dunque pbuilder e creiamo un ambiente minimale (che può essere utile anche per la creazione di pacchetti, ma che io personalmente non uso):

sudo apt-get install pbuilder && sudo pbuilder create

Ora proviamo a creare (do per scontato che voi abbiate installato le dipendenze basilari che trovate qui) un pacchetto facile facile: listen (che, tra l’altro, aggiunge un bel po’ di nuove feature). Date il seguente comando per scaricare i sorci di listen nella directory “sources/listen” e per soddisfare le dipendenze necessarie:

cd && cd feisty/sources && mkdir listen && cd listen && apt-get source listen && cd listen-0.5 && sudo /usr/lib/pbuilder/pbuilder-satisfydepends

Non incontrerete problemi di dipendenze (secondo voi perchè ho scelto listen?) e possiamo procedere alla creazione del pacchetto:

debuild binary

Se volete fare una cosa un po’ più pulita modificate il file changelog (gedit ~/feisty/sources/listen/listen-0.5/debian/changelog) e aggiungete alla fine della versione un suffisso che dice a Ubuntu che state usando il vostro repo (ad esempio da 0.5-4ubuntu1 a 0.5-4ubuntu1~flypo1). Ora copiate ed incollate il .deb appena creato nella directory binary e poi date il seguente comando per creare il file Packages.gz (che serve ad apt per capire che pacchetti ci sono nel repository):

cd && cd feisty && dpkg-scanpackages binary/ /dev/null | gzip > binary/Packages.gz

Ora il repo è pronto. Potete aggiungere nuovi pacchetti ma ricordatevi di ricreare il file Packages.gz.

 

Annunci

6 commenti

Lascia un commento
  1. Lazza / Giu 19 2007 12:12 pm

    Conosci Prevu? Io l’ho usato a suo tempo per creare un backport da Feisty a Edgy.

  2. Flax / Giu 19 2007 7:40 pm

    No! Di cosa si tratta?

  3. Flax / Giu 21 2007 10:30 pm

    @Lazza Ho visto un po’ in giro. Prevu mi sembra simile a pbuilder (che però è consigliato da MOTU)… Il limite di questi programmi nei backport è che non è possibile modificare il file changelog (o almeno, io non so come si faccia)… E’ vero che non cambiare il changelog non è un grosso problema dato che le versioni vengono poi gonfiate quando l’instabile diventa stabile, ma è sempre meglio fare le cose nella maniera più trasparente possibile in modo da non incasinare apt… Boh, non mi convince…

  4. Lcip / Ago 10 2007 1:09 pm

    invece di “cd && mkdir feisty && cd feisty && mkdir binary && mkdir sources” esiste il comodo mkdir -p che con tale opzione crea tutto il ramo di directory, ad esempio: “mkdir -p feisty/binary/sources”.
    Ottimo il resto.

  5. Flax / Set 13 2007 5:54 pm

    Hai ragione Lcip 😉 Me l’ero proprio dimenticato 😀

Trackbacks

  1. Pidgin 2.0.2 per il nostro repo « Flynux

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: