issue52:tutoubuntudev
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue52:tutoubuntudev [2011/09/23 16:45] – fredphil91 | issue52:tutoubuntudev [2011/10/04 16:11] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 15: | Ligne 15: | ||
Présentation rapide du répertoire debian/ | Présentation rapide du répertoire debian/ | ||
- | Cet article va vous expliquer brièvement les différents fichiers | + | Cet article va vous expliquer brièvement les différents fichiers |
- | Le changelog | + | |
- | Ce fichier contient, comme son nom l' | + | |
- | paquet (version) distribution; | + | Le fichier changelog |
+ | |||
+ | Ce fichier contient, comme son nom l' | ||
+ | |||
+ | paquet (version) distribution; | ||
* détails des changements | * détails des changements | ||
Ligne 31: | Ligne 33: | ||
Here is a sample changelog file for hello: | Here is a sample changelog file for hello: | ||
- | | + | hello (2.6-0ubuntu1) natty; urgency=low |
- | * New upstream release with lots of bug fixes and feature improvements. | + | * New upstream release with lots of bug fixes and feature improvements. |
- | | + | -- Jane Doe < |
- | Le format (surtout de la date) est important. La date doit être dans le format RFC 5322, que l'on peut obtenir en utilisant la commande date -R. Pour plus de commodité, la commande dch peut être utilisée pour modifier le fichier changelog ; elle mettra à jour la date automatiquement. Les changements mineurs sont indiqués par un tiret « - », et les changements majeurs par un astérisque « * ». Si vous fabriquez un paquet à partir de zéro, dch --create (dch est dans le paquet devscripts) va créer un fichier debian/ | + | Le format (surtout |
- | Voici un exemple de fichier | + | Voici un exemple de fichier changelog pour le paquet « hello » : |
- | bonjour | + | hello (2.6-0ubuntu1) natty; urgency=low |
* Nouvelle version amont, avec beaucoup de corrections de bugs et améliorations de fonctionnalités. | * Nouvelle version amont, avec beaucoup de corrections de bugs et améliorations de fonctionnalités. | ||
Ligne 55: | Ligne 57: | ||
The control file contains the information that the package manager (such as apt-get, synaptic, and adept) uses, build-time dependencies, | The control file contains the information that the package manager (such as apt-get, synaptic, and adept) uses, build-time dependencies, | ||
+ | Remarquez que le numéro de version se termine par -0ubuntu1, c'est la révision de la distrib., utilisée pour que le paquet puisse être mis à jour (pour corriger les bogues par exemple) lors des nouveaux ajouts au sein des sources de la même version. | ||
+ | Ubuntu et Debian ont des schémas de versions de paquets légèrement différents pour éviter les conflits de paquets au sein des sources d'une même version. Si un paquet Debian a été modifié dans Ubuntu, il a un ubuntuX (où X est le numéro de révision Ubuntu) ajouté à la fin de la version Debian. Ainsi, si le paquet Debian « hello 2.6-1 » a été modifié par Ubuntu, le numéro de version serait 2.6-1ubuntu1. Si un paquet pour une application n' | ||
+ | |||
+ | Pour plus d' | ||
+ | |||
+ | Le fichier control | ||
+ | |||
+ | Le fichier control contient les informations que le gestionnaire de paquets (comme apt-get, synaptic, ou adept) utilise, les dépendances de dates de build, des informations du mainteneur et beaucoup plus. | ||
**For the Ubuntu hello package, the control file looks something like: | **For the Ubuntu hello package, the control file looks something like: | ||
Ligne 80: | Ligne 90: | ||
for the GNU Project).** | for the GNU Project).** | ||
+ | Pour le paquet « hello » d' | ||
+ | Source: hello | ||
+ | Section: devel | ||
+ | Priority: optional | ||
+ | Maintainer: Ubuntu Developers < | ||
+ | XSBC-Original-Maintainer: | ||
+ | Standards-Version: | ||
+ | Build-Depends: | ||
+ | Bzr-Vcs: lp: | ||
+ | Homepage: http:// | ||
+ | |||
+ | Package: hello | ||
+ | Architecture: | ||
+ | Depends: ${shlibs: | ||
+ | Description: | ||
+ | Le programme GNU hello produit une message de bienvenue habituel et | ||
+ | chaleureux. Ceci permet aux personnes non programmeurs d' | ||
+ | informatique classique dont ils ne disposeraient pas autrement. | ||
+ | Sérieusement, | ||
+ | paquet Debian. C'est la version Debian du programme « hello world » du | ||
+ | projet GNU (qui sert, lui-même d' | ||
**The first paragraph describes the source package - including the list of packages required to build the package from source in the Build-Depends field. It also contains some meta-information such as the maintainer’s name, the version of Debian Policy that the package complies with, the location of the packaging version control repository, and the upstream home page. | **The first paragraph describes the source package - including the list of packages required to build the package from source in the Build-Depends field. It also contains some meta-information such as the maintainer’s name, the version of Debian Policy that the package complies with, the location of the packaging version control repository, and the upstream home page. | ||
Ligne 88: | Ligne 119: | ||
Each additional paragraph describes a binary package to be built.** | Each additional paragraph describes a binary package to be built.** | ||
+ | Le premier paragraphe décrit le paquet source - y compris la liste des paquets nécessaires pour construire le paquet depuis les sources dans le champ Build-Depends. Il contient également certaines méta-informations comme le nom du mainteneur, la version de Charte Debian à laquelle se conforme le paquet, l' | ||
+ | Notez que, dans Ubuntu, nous avons indiqué une adresse générique dans le champ Maintainer parce que n' | ||
+ | |||
+ | Chaque paragraphe supplémentaire décrit un paquet binaire à construire. | ||
**For further information, | **For further information, | ||
Ligne 100: | Ligne 135: | ||
Source: ftp:// | Source: ftp:// | ||
+ | Pour plus d' | ||
+ | Le fichier copyright | ||
+ | |||
+ | Ce fichier donne les informations de copyright à la fois pour la source en amont et pour le paquet. Les chartes Ubuntu et Debian (Section 12.5) exigent que chaque paquet installe une copie intégrale des informations de licence et de copyright dans / | ||
+ | |||
+ | En règle générale, les informations de copyright se trouvent dans le fichier COPYING dans le répertoire source du programme. Ce fichier doit contenir des informations telles que les noms de l' | ||
+ | |||
+ | Format: http:// | ||
+ | Upstream-Name: | ||
+ | Source: ftp:// | ||
**Files: * | **Files: * | ||
Ligne 126: | Ligne 171: | ||
`/ | `/ | ||
+ | Files: * | ||
+ | Copyright: Copyright 1998 John Doe < | ||
+ | License: GPL-2+ | ||
+ | Ce programme est un logiciel libre ; vous pouvez le redistribuer | ||
+ | et/ou le modifier conformément aux dispositions de la Licence | ||
+ | Publique Générale GNU, telle que publiée par la Free Software | ||
+ | Foundation ; version 2 de la licence, ou encore (à votre choix) | ||
+ | toute version ultérieure. | ||
+ | . | ||
+ | Ce programme est distribué dans l’espoir qu’il sera utile, mais | ||
+ | SANS AUCUNE GARANTIE ; sans même la garantie implicite de | ||
+ | COMMERCIALISATION ou D’ADAPTATION A UN USAGE PARTICULIER. Pour | ||
+ | plus de détails, voir la Licence Publique Générale GNU. | ||
+ | . | ||
+ | Un exemplaire de la Licence Publique Générale GNU doit être | ||
+ | fourni avec ce programme ; si ce n’est pas le cas, écrivez à la | ||
+ | Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, | ||
+ | Boston, MA 02110-1301 USA | ||
+ | . | ||
+ | Sur les systèmes Debian, le texte complet de la Licence Générale | ||
+ | Publique GNU version 2 peut être trouvé dans le fichier | ||
+ | / | ||
**Files: debian/* | **Files: debian/* | ||
Ligne 147: | Ligne 213: | ||
dh $@** | dh $@** | ||
+ | Files: debian/* | ||
+ | Copyright: Copyright 1998 Jane Doe < | ||
+ | License: GPL-2+ | ||
+ | Cet exemple suit la proposition Debian DEP-5 : debian/ | ||
+ | |||
+ | Le fichier rules | ||
+ | |||
+ | Le dernier fichier que nous devons examiner est rules [Ndt : les règles]. Celui-ci fait tout le travail pour la création de notre paquet. Il s'agit d'un Makefile avec des cibles pour compiler et installer l' | ||
+ | |||
+ | Voici une version simplifiée du fichier rules créé par dh_make (que vous trouverez dans le paquet dh-make) : | ||
+ | |||
+ | # | ||
+ | # -*- makefile -*- | ||
+ | |||
+ | # décommentez la ligne suivante pour passe en mode verbeux | ||
+ | #export DH_VERBOSE=1 | ||
+ | |||
+ | %: | ||
+ | dh $@ | ||
**Let us go through this file in some detail. What this does is pass every build target that debian/ | **Let us go through this file in some detail. What this does is pass every build target that debian/ | ||
Ligne 157: | Ligne 242: | ||
Commands in the binary-indep sequence are passed the “-i” option to ensure they work only on binary independent packages, and commands in the binary-arch sequences are passed the “-a” option to ensure they work only on architecture dependent packages.** | Commands in the binary-indep sequence are passed the “-i” option to ensure they work only on binary independent packages, and commands in the binary-arch sequences are passed the “-a” option to ensure they work only on architecture dependent packages.** | ||
+ | Regardons ce fichier en détail. Il va passer chaque cible de construction correspondant à l'un des arguments passés lors de l' | ||
+ | dh exécute une séquence de commandes debhelper. Les séquences supportées correspondent aux cibles d'un fichier debian/ | ||
+ | |||
+ | dh binary-arch --no-act | ||
+ | |||
+ | Les commandes dans la séquence binary-indep sont appelées avec l' | ||
**Each debhelper command will record when it’s successfully run in debian/ | **Each debhelper command will record when it’s successfully run in debian/ | ||
Ligne 163: | Ligne 254: | ||
If debian/ | If debian/ | ||
+ | Chaque commande debhelper va l' | ||
+ | Si debian/ | ||
**Have a look at / | **Have a look at / | ||
Ligne 179: | Ligne 272: | ||
debian/ | debian/ | ||
+ | Jetez un oeil à / | ||
+ | Fichiers supplémentaires | ||
+ | |||
+ | Le fichier d' | ||
+ | |||
+ | Le fichier d' | ||
+ | |||
+ | * pour installer les fichiers dans votre paquet qui ne sont pas traitées par le système de build en amont ; | ||
+ | * pour fractionner un seul paquet source de grande taille en plusieurs paquets binaires. | ||
+ | |||
+ | Dans le premier cas, le fichier d' | ||
+ | |||
+ | foo usr/bin | ||
+ | debian/ | ||
**When a source package is producing multiple binary packages, dh will install the files into debian/tmp rather than directly into debian/< | **When a source package is producing multiple binary packages, dh will install the files into debian/tmp rather than directly into debian/< | ||
Ligne 193: | Ligne 300: | ||
/ | / | ||
+ | Quand un paquet source produit plusieurs paquets binaires, dh installera les fichiers dans debian/tmp plutôt que directement dans debian/< | ||
+ | usr/bin/ | ||
+ | usr/ | ||
+ | |||
+ | Alors que foo-common.install ne contenant que les fichiers indépendants de l' | ||
+ | |||
+ | / | ||
+ | / | ||
+ | / | ||
+ | / | ||
**This would create two binary packages, foo and foo-common. Both would require their own paragraph in debian/ | **This would create two binary packages, foo and foo-common. Both would require their own paragraph in debian/ | ||
Ligne 204: | Ligne 321: | ||
http:// | http:// | ||
+ | Ceci créerait deux paquets binaires, foo et foo-commun. Les deux auraient besoin de leur propre paragraphe dans debian/ | ||
+ | Voyez « man dh_install » et la section d' | ||
+ | |||
+ | Le fichier watch | ||
+ | |||
+ | Le fichier debian/ | ||
+ | |||
+ | version=3 | ||
+ | http:// | ||
**Running uscan in the root source directory will now compare the upstream version number in debian/ | **Running uscan in the root source directory will now compare the upstream version number in debian/ | ||
Ligne 217: | Ligne 343: | ||
For further information, | For further information, | ||
+ | Exécuter uscan dans le répertoire racine source comparera maintenant le numéro de la version en amont dans debian/ | ||
+ | $ uscan | ||
+ | hello: Nouvelle version (2.7) disponible sur le site distant : | ||
+ | | ||
+ | (la version locale est la 2.6) | ||
+ | hello: téléchargement du paquet hello-2.7.tar.gz mis à jour réussi | ||
+ | et création d'un lien symbolique à hello_2.7.orig.tar.gz | ||
+ | |||
+ | Pour plus d' | ||
**For a list of packages where the watch file reports they are not in sync with upstream, see Ubuntu External Health Status. | **For a list of packages where the watch file reports they are not in sync with upstream, see Ubuntu External Health Status. | ||
Ligne 229: | Ligne 364: | ||
If, for some reason, you wish to keep using the old format, please create this file and put 1.0 in it to be explicit about the source package version. This allows for the future removal of the 1.0 default for the package source format.** | If, for some reason, you wish to keep using the old format, please create this file and put 1.0 in it to be explicit about the source package version. This allows for the future removal of the 1.0 default for the package source format.** | ||
+ | Pour une liste des paquets pour lesquels le fichier watch signale qu'ils ne sont pas synchronisés avec l' | ||
+ | Le fichier source/ | ||
+ | |||
+ | Ce fichier indique le format du paquet source. Actuellement, | ||
+ | |||
+ | * 3.0 (native) pour les paquets Debian natifs (pas de version en amont) ou | ||
+ | * 3.0 (quilt) pour les paquets avec une archive distincte en amont | ||
+ | |||
+ | Si pour une raison quelconque vous souhaitez continuer à utiliser l' | ||
**http:// | **http:// | ||
Ligne 237: | Ligne 381: | ||
In addition to the links to the Debian Policy Manual in each section above, the Debian New Maintainers’ Guide has more detailed descriptions of each file. Chapter 4, “Required files under the debian directory” further discusses the control, changelog, copyright, and rules files. Chapter 5, “Other files under the debian directory” discusses additional files that may be used.** | In addition to the links to the Debian Policy Manual in each section above, the Debian New Maintainers’ Guide has more detailed descriptions of each file. Chapter 4, “Required files under the debian directory” further discusses the control, changelog, copyright, and rules files. Chapter 5, “Other files under the debian directory” discusses additional files that may be used.** | ||
+ | http:// | ||
+ | |||
+ | Voyez « man dpkg-source » et la section source/ | ||
+ | |||
+ | Ressources supplémentaires | ||
+ | |||
+ | En plus des liens vers la Charte Debian dans chaque section ci-dessus, le Guide du Nouveau Responsable Debian contient des descriptions plus détaillées de chaque fichier. Le chapitre 4, « Fichiers obligatoires dans le répertoire debian » présente en détail les fichiers control, changelog, copyright et rules. Le chapitre 5, « Autres fichiers dans le répertoire debian » parle des fichiers supplémentaires qui peuvent être utilisés. | ||
issue52/tutoubuntudev.1316789100.txt.gz · Dernière modification : 2011/09/23 16:45 de fredphil91