Ceci est une ancienne révision du document !



Comment créer votre propre dépôt Ubuntu ?

Cette courte documentation explique comment utiliser debarchiver pour créer et maintenir un dépôt Ubuntu et ainsi mettre à disposition vos propres paquets Ubuntu .

voir aussi : comment_creer_depot

On commence par installer apache2, de manière basique (pour une utilisation plus avancée, consultez le lien précédent) :

sudo apt-get install apache2

Puis on installe le paquet "debarchiver" et la commmande "dpkg-scanpackages" :

sudo apt-get install debarchiver devscripts

Ensuite il faut créer les repertoires qui accueilleront les paquets :

sudo mkdir -p /var/www/ubuntu
sudo mkdir /var/www/ubuntu/dists/
sudo mkdir /var/www/ubuntu/_incoming/   

Le répertoire dists contiendra l'arborescence du dépôt et _incoming sera le répertoire où debarchiver viendra chercher les nouveaux paquets pour les placer au sein de l'arborescence.

Enfin il suffit d'éditer le fichier /etc/debarchiver.conf et de modifier les paramètres suivants :

$destdir = "/var/www/ubuntu/dists";
$inputdir = "/var/www/ubuntu/_incoming";
@distributions = ('dapper', 'edgy', 'feisty', 'gutsy');
@sections = ('main', 'universe', 'multiverse');

Si vous souhaitez recevoir un message lorsqu'un paquet est ajouté, remplissez la section :

# @mailtos = ('Maintainer',          The Maintainer field in control file
#             'Uploaders',           The Uploaders field in control file
#             '@bar.com',            User id @bar.com that own the changes file
#             'installer@foo.com',   An explicit email address
#             'Changed-By');         The email in the changelog file

Il faut maintenant créer l'arborescence du dépôt :

sudo debarchiver

Vérifier le résultat :

ls -lR /var/www/ubuntu/dists

Un script cron se trouve dans /etc/cron.d/debarchiver. Par défaut debarchiver est executé toutes les 5 minutes. Le répertoire _incoming est alors scanné à la recherche de nouveaux paquets à ajouter sur le dépôt.

L'arborescence peut être rendu publique par HTTP ou FTP. Nous prenons ici l'exemple d'un serveur apache2.

Voici la configuration d'un virtual host (ubuntu.votredomaine.com)

<VirtualHost *:80>
  ServerName ubuntu.votredomaine.com
  ServerAlias ubuntu.votredomaine.com
  
  ServerAdmin webmaster@votredomaine.com
  DocumentRoot /var/www/ubuntu
  ErrorLog /var/log/apache2/ubuntu-error.log
  CustomLog /var/log/apache2/ubuntu-access.log combined
</VirtualHost> 
 
<Directory "/var/www/ubuntu">
  Options Indexes Includes FollowSymLinks MultiViews
  IndexOptions FancyIndexing SuppressHTMLPreamble NameWidth=*
  IndexIgnore _incoming _style
  HeaderName /_style/HEADER.html
  ReadmeName /_style/README.html
</Directory>

La commande IndexIgnore permet de cacher le répertoire _incoming.

HEADER.html et README.html permettent d'améliorer le rendu visuel de l'aborescence.

Placer tous les fichiers générés pendant la création du paquet (par exemple, le .deb, le .changes, et le .dsc) dans le répertoire _incoming et attendre 5 minutes.

Si vous êtes pressé exécuter directement la commande :

sudo debarchiver -so

Ajouter les dépôts créé:

deb http://ubuntu.votredomaine.com/ feisty main universe multiverse
deb-src http://ubuntu.votredomaine.com feisty main universe multiverse

Contributeurs: Fabien26.

  • creer_un_depot_ubuntu.1258045248.txt.gz
  • Dernière modification: Le 18/04/2011, 14:41
  • (modification externe)