version 1.0
Copyright © 2003-2004 Baptiste SIMON <baptiste.simon @ e-glop.net>
20040415
Abstract
Ce document, ce "HOWTO", me sert de mémo personnel pour retrouver la marche à suivre pour personnaliser mes paquets Debian GNU/Linux, entre autre pour le projet Debian-IPv6. Il explique les étapes à suivre pour personnaliser un paquet.
Après ca, on n'aura plus rien à envier aux Gentooistes (ca me manquait ce côté là depuis que j'ai lâché les distributions sources !! :c)
Table of Contents
Il vous faut installer les paquets gnupg, fakeroot, dput et dpkg-dev, en plus des paquets classiques de type tar, gzip, etc...
De plus, il vous faut pouvoir installer les paquets Debian sources. Pour cela vérifiez bien que vous avez une ou plusieurs lignes commençant par deb-src dans votre /etc/apt/source.list. Si non, ajoutez une ligne du genre :
deb-src http://ftp2.fr.debian.org/debian/ unstable main
Et lancez un apt-get update.
Placez vous dans le répertoire de votre choix, par exemple ~/devel/[paquet], où [paquet] est le nom de votre paquetage. Ensuite, récupérez les sources du paquet qui vous intéresse avec la commande apt-get source [paquet]. Pour finir, Installez les paquets nécessaires à sa compilation via la commande apt-get build-dep [paquet].
Aller dans le répertoire portant le nom de votre paquet suivi de son numéro de version. Vous y trouverez un répertoire nommé debian. A l'intérieur, plusieurs fichiers nous intéressent :
debian/rules qui décrit la façon dont les sources vont être compilées (entre autre, ce qui intéresse dans la plupart des cas : les options à passer au ./configure).
debian/control pour redéfinir le mainteneur de ce paquet.
debian/changelog qui donne l'évolution d'un paquet dans le temps. Il faut faire attention à bien conserver la syntaxe du fichier : c'est lui qui est utilisé pour définir la version du paquet par exemple.
Une fois que votre paquet est prêt à être mis en boîte, placez vous bien à la racine des sources et lancez un dpkg-buildpackage -rfakeroot -sa -k[gpg-mail] où [gpg-mail] est l'adresse mail associée à votre clé GnuPG (si vous n'avez pas de clé GnuPG et que c'est juste pour un usage privé, oubliez l'option -k). Cela lancera la compilation et créera l'ensemble de vos paquets binaires et sources dans le répertoire ~/devel/[paquet] pour notre exemple.
Créez deux répertoires distincts, par exemple ~/devel/debian/source pour y mettre vos paquets sources, et ~/devel/debian/binary-i386 pour les paquets binaires (*.deb). Ces répertoires seront nommés [sources] et [binaires] par la suite.
Ensuite, les commandes dpkg-scanpackages [sources] /dev/null | gzip -9c > [sources]/Packages.gz et dpkg-scanpackages [binaires] /dev/null | gzip -9c > [binaires]/Packages.gz vous permettront de faire vos répertoires à la mode debian.
Il vous faudra ensuite créer des fichiers Release dans chacun de ces répertoires ([sources] et [binaires]) de la manière suivante :
Archive: archive Component: component Origin: YourCompany Label: YourCompany Debian repository Architecture: architecture
Archive correspond à la distribution debian pour laquelle ces paquets sont faits (stable, testing, unstable) ; Component, à la branche Debian à laquelles ils peuvent être attachés (main, non-free, contrib) ; Origin, le nom de l'organisation dont est originaire vos paquets (donc ici, c'est vous) ; Label, le nom de votre dépôt APT ; Architecture, le nom de l'architecture pour laquelle sont fais vos paquets (i386, sparc, arm...).
L'ajout dans votre fichier /etc/apt/sources.list des lignes suivantes vous permettra d'utiliser, après avoir lancé un apt-get update, vos paquets personnalisés avec APT
deb file:///home/[user]/devel/debian binary-i386/ deb-src file:///home/[user]/devel/debian source/
Pour en faire profiter plus facilement la communauté, il est possible d'uploader, si vous en avez reçu l'habilitation, vos paquets dans des dépôts officiels. Pourt cela, nous allons utiliser la commande dput. Mais avant tout, nous allons configurer cet utilitaire :
Editez le fichier ~/.dput.cf (ou /etc/dput.cf pour que ça impacte le système entier), et ajoutez les paramètres qu'on vous a donné (ou que vous avez fixé, c'est selon...) de la manière suivante
[<nom>] fqdn = <domainname> incoming = <repertoire> login = <username> method = <rsh>
Avec [nom], le nom du dépôt ; <domainname> le nom de domaine de la machine distante ; <repertoire> le nom du répertoire où uploader les paquets, <username>, le nom de login à utiliser pour se connecter à l'hôte distant ; Et enfin, <rsh>, la méthode d'accès à cet hôte (ssh, ftp, etc...).
Enfin, uploadez votre paquet en vous plaçant dans le répertoire choisi au départ (~/devel/[paquet]) et en exécutant la commande dput <nom> [fichier].changes, où fichier est le préfixe de votre paquet.
En espérant que ce document vous ai aidé à faire un pas de plus vers la contribution, la participation active à la vie des logiciels Libres. Si vous constatez une quelconque erreur, si vous souhaitez améliorer certains passages, certains points, n'hésitez pas à me contacter par mail pour me soumettre vos "patches" ou vos remarques, ce document est sous Open Publication License, et je vous garantis un respect total de votre droit d'auteur ;c).
Baptiste SIMON <baptiste.simon@e-glop.net>
Administrateur système GNU/Linux
À la recherche d'emploi...
Ce document a été rédigé au format RST avec KWrite puis converti aux formats DN-XML et Docbook avec dn2dbk.xsl.
Les versions XHTML, HTML et XSL-FO a été réalisée avec les feuilles XSLT officielles de docbook [1]. Les version PDF, postscript, RTF et texte ont été créées grâce à Jade.
Retrouvez toutes ces version ici :
Ce document issu de www.e-glop.net est soumis à la Open Publication License. Permission vous est donnée de distribuer, modifier des copies de ce document (traduction, modifications, adaptation, etc...) tant que vous respectez la licence sus-citée, dans sa version 1.0.