Créer un repository Debian

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Je suis co-concepteur du projet MySecureShell. Le problème, c'est que pour que son projet se fasse accepté dans les depos Debian/Ubuntu, il faut en chier un peu. C'est pourquoi, en attendant, nous avons décidé de créer notre propre repository. Ici, je vais donc décrire la marche à suivre pour créer son repos.

2 Préparation

Cet article part du principe que les paquets qui seront disponibles sur le dépôt sont déja générés. En supposant que le paquet s’intitule "mysecureshell", vous devriez avoir les fichiers suivants :

  • mysecureshell.orig.tar.gz
  • mysecureshell.diff.gz
  • mysecureshell.dsc
  • mysecureshell.changes
  • mysecureshell.deb

3 Génération du dépôt

3.1 Génération de la structure

Dans un premier temps, il faut générer l’arborescence du dépôt avec les commandes suivantes :

mkdir -p /var/www/mss/debian/dists/testing/main/{binary-i386,source}

Il faut copier les fichiers de vos paquets dans votre dépôt :

cp mysecureshell_1.0.dsc mysecureshell_1.0_i386.deb /var/www/mss/debian/dists/testing/main/binary-i386/
cp mysecureshell.diff.gz mysecureshell.dsc mysecureshell.orig.tar.gz mysecureshell.orig.changes /var/www/mss/debian/dists/testing/main/source

3.2 Génération des fichiers du dépôt

Ensuite il faut générer les deux fichiers Packages.gz et Sources.gz nécessaires au dépôt :

cd /var/www/mss/debian/dists/testing/main
dpkg-scanpackages binary-i386 /dev/null dists/testing/main/ | gzip -f9 > binary-i386/Packages.gz
dpkg-scansources source /dev/null dists/testing/main/ | gzip -f9 > source/Sources.gz

3.3 Génération des fichiers de description

Ces deux fichiers doivent être régénérés à chaque fois qu’il faudra mettre une nouvelle version de votre paquet sur le dépôt.

Pour finir il faut créer deux fichiers de description pour votre dépôt. Le premier fichier est à mettre dans le répertoire binary-i386, s’appellera Release et contiendra :

Archive : testing
Version : 1.0
Component : main
Origin : MySecureShell
Label : mysecureshell
Architecture : i386

Le second fichier doit être mis dans le répertoire source, s’appellera également Release et contiendra :

Archive : testing
Version : 1.0
Component : main
Origin : MySecureShell
Label : mysecureshell
Architecture : source

Votre dépôt Debian est enfin prêt !! Il faut maintenant le déposer sur votre serveur HTTP (je vous laisse le faire ;-) ).

4 Utilisation

C’est bien beau d’avoir créé un dépôt de paquets Debian. Mais il faut s’en servir tout de même.

Les utilisateurs qui veulent utiliser votre dépôt doivent ajouter une des deux lignes suivantes dans le fichier /etc/apt/sources.list :

deb http://mysecureshell.free.fr/debian testing main
deb-src http://mysecureshell.free.fr/debian testing main

Ensuite la procédure est la même que d’habitude pour que le système de gestion des paquets connaisse tous les paquets disponibles sur votre dépôts :

apt-get update

Et pour finir, l’installation du paquet à partir du dépôt se fait avec la commande usuelle pour tous les utilisateurs de Debian :

apt-get install mysecureshell

5 References

http://www.debian.org/doc/manuals/repository-howto/repository-howto.fr.html
http://www.debianaddict.org/article31.html