Création d'un dépôt Debian

user_icon admin | icon2 Debian | icon4 17/12/2008 16h1| Type doc: article| Type File: xml| icon3 No Comment

Création d'un dépot Debian


1. Intro

Suite à la lecture de ' Making Catalyst Sites Shine with Varnish ', sur lequel je reviendrai surement, j'ai souhaité tester cette nouvelle gestion des caches. Malheureusement la distribution Debian Etch ne dispose pas de la dernière version de Varnish comme il est conseillé d'utiliser dans l'article. Me voilà donc parti dans le backporting de la version 2.0.2

2. Backport de Varnish

La version Sid par contre dispose déjà de ce paquet, mais pour le fun nous allons le reconstruire pour Etch. Tout dabord il est nécessaire de renseigner le fichier /etc/apt/sources.list pour trouver les sources de la Sid:

deb-src http://ftp.fr.debian.org/debian/ unstable main contrib non-free
apt-get update

Ensuite on rapatrie les sources de Varnish:

mkdir /tmp/varnish && cd /tmp/varnish
apt-get source varnish

cd varnish-2.0.2

Ensuite il suffit de modifier le nom du créateur du package du fichier debian/control et de supprimer les 'Uploaders':

Maintainer: Stig Sandbeck Mathisen <ssm@debian.org>

remplacé par

Maintainer: prenom nom <adresse mail>

En fait l'adresse du Maintainer doit correspondre à celle stockée dans notre clé pgp. Pour lister les clés gnupg utiliser la commande:

gpg --list-keys

Ou encore pour créer une clé :

gpg --gen-key

Enfin nous devons renseigner le fichier debian/changelog , pour cela nous utiliserons le script ' dch ':

dch -i "Backport from Sid"

Dans le fichier debian/changelog , s'assurer que l'utilisateur et l'adresse mail correspondent bien à ceux de la clé Gunpg

Et pour finir :

dpkg-buildpackage -rfakeroot

Si tout s'est bien passé, les packages sont générés dans le répertoire parent :

ls ../
libvarnish1_2.0.2-2_i386.deb     varnish_2.0.2-2.diff.gz
libvarnish-dev_2.0.2-2_i386.deb  varnish_2.0.2-2.dsc
varnish-2.0.2                    varnish_2.0.2-2_i386.changes
varnish_2.0.2-1.diff.gz          varnish_2.0.2-2_i386.deb
varnish_2.0.2-1.dsc              varnish_2.0.2.orig.tar.gz

Vérification des packages:

lintian -i varnish_2.0.2-2_i386.changes

L'étape suivante nous mène vers la création du dépots ...

3. Création du dépôt

Pour cela nous utiliserons le script 'dupload' :

apt-get install dupload

Un peu de paramétrage est nécessaire, nous devrons disposer :

  • Un nom de machine: catapulse

  • Du nom du serveur sur lequel déposer les fichiers : www.catapulse.org

  • Du répertoire du dépôt: /var/www/apt

  • Du login de l'utilisateur utilisé lors des 'scp'

  • Du port ssh sur le serveur

Dans le fichier /etc/dupload.conf nous ajouterons les lignes suivantes:

$default_host = "catapulse";

# -----------------
# Pre-defined hosts
# -----------------

$cfg{'catapulse'} = {
        fqdn => "www.catapulse.org",
        method => "scpb",
        incoming => "/var/www/apt/",
        dinstall_runs => 1,
        options => '-P LE_PORT_SSH',
        login => 'LE_LOGIN',
};

$cfg{'catapulse'}{postupload}{'changes'} = "
             echo 'cd /var/www/apt ;
             dpkg-scanpackages . /dev/null >Packages || true ;
             dpkg-scansources . /dev/null >Sources || true ;
             gzip -c Packages >Packages.gz ;
             gzip -c Sources >Sources.gz' | ssh -l LE_LOGIN -p LE_PORT_SSH www.catapulse.org  2>/dev/null ;
             echo 'Package archive created!'";

La création et le transfert du dépot sur le serveur est réalisé avec la commande:

cd /tmp/varnish
dupload varnish_2.0.2-2_i386.changes

varnish_2.0.2-2.diff.gz       varnish_2.0.2-2_i386.changes
varnish_2.0.2-2.dsc           varnish_2.0.2-2_i386.deb
dab@htpc:/tmp/varnisk$ dupload varnish_2.0.2-2_i386.changes
dupload note: no announcement will be sent.
Checking signatures before upload......signatures are ok
Uploading (scpb) to www.catapulse.org:/var/www/apt/
[ job varnish_2.0.2-2_i386 from varnish_2.0.2-2_i386.changes
 libvarnish1_2.0.2-2_i386.deb, md5sum ok
 varnish_2.0.2-2.dsc, md5sum ok
 varnish_2.0.2-2_i386.deb, md5sum ok
 libvarnish-dev_2.0.2-2_i386.deb, md5sum ok
 varnish_2.0.2-2.diff.gz, md5sum ok
 varnish_2.0.2-2_i386.changes ok ]
Uploading (scp) to catapulse (www.catapulse.org)
[ Uploading job varnish_2.0.2-2_i386
 libvarnish1_2.0.2-2_i386.deb 68.9 kB, ok
 varnish_2.0.2-2.dsc 0.8 kB, ok
 varnish_2.0.2-2_i386.deb 247.9 kB, ok
 libvarnish-dev_2.0.2-2_i386.deb 81.7 kB, ok
 varnish_2.0.2-2.diff.gz 352.0 kB, ok
 varnish_2.0.2-2_i386.changes 1.1 kB, ok
dab@www.catapulse.org's password:
libvarnish1_2.0.2-2_i386.deb                  100%   69KB  68.9KB/s   00:00
varnish_2.0.2-2.dsc                           100%  848     0.8KB/s   00:00
varnish_2.0.2-2_i386.deb                      100%  248KB 124.0KB/s   00:02
libvarnish-dev_2.0.2-2_i386.deb               100%   82KB  81.7KB/s   00:00
varnish_2.0.2-2.diff.gz                       100%  352KB  50.3KB/s   00:07
varnish_2.0.2-2_i386.changes                  100% 1153     1.1KB/s   00:00
 ]
dab@www.catapulse.org's password:
Sources                                       100% 1842     1.8KB/s   00:00
Sources.gz                                    100%  754     0.7KB/s   00:00
Packages                                      100% 1619     1.6KB/s   00:00
Packages.gz                                   100%  714     0.7KB/s   00:00
Package archive created!

Et enfin sur le serveur après chaque ' dupload ':

cd /var/www/apt
apt-ftparchive release . > Release
gpg -abs -o Release.gpg Release

Et voilà :)

Pour utiliser le dépôt il suffit d'ajouter la ligne suivante à son /etc/apt/sources.list , suivi d'un ' apt-get update '

deb http://apt.catapulse.org ./


Add_a_comment

Validator_logo
Catapulse v0.06
( 0.080924 s)