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 .

On commence par installer debarchiver et 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 souhaiter 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 "/data/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 (pas uniquement le .deb) 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.1194936943.txt.gz
  • Dernière modification: Le 18/04/2011, 14:44
  • (modification externe)