Fedora RPM Guide - en to fr translation catalogue (363 entries)

note: Tag: title
en: Working with Spec Files
fr: Travail avec les fichiers spec

note: Tag: para
en: This chapter covers:
fr: Ce chapitre porte sur :

note: Tag: para
en: Writing spec files
fr: l'écriture des fichiers spec

note: Tag: para
en: Defining package information
fr: la définition de l'information sur le paquet

note: Tag: para
en: Controlling the build
fr: le contrôle de la construction

note: Tag: para
en: Listing the files in the package
fr: le listage des fichiers du paquet

note: Tag: para
en: Defining spec file macros
fr: la définition des macros du fichier spec

note: Tag: para
en: The previous chapter introduces the concepts of how to build RPMs, and briefly covered the spec file, which controls how RPM packages are built and installed. This chapter delves into how to create spec files and the next chapter covers advanced spec file topics such as using conditional commands and making relocatable packages.
fr: Le précédent chapitre a introduit les concepts sur la façon de construire des RPM, et donné une brève explication sur le fichier spec, qui contrôle comment les paquets RPM sont construits et installés. Ce chapitre-ci précise comment créer des fichiers spec ; le suivant abordera les rubriques avancés de cette création comme l'utilisation de commandes conditionnelles et la construction de paquets relogeables.

note: Tag: para
en: A spec file defines all the commands and values that are required for creating a package, everything from the name and version number to the actual commands used to build the program you are packaging.
fr: Un fichier spec définit toutes les commandes et valeurs nécessaires à la création d'un paquet : tout, du nom et du numéro de version aux véritables commandes à utiliser pour construire le programme que vous empaquetez.

note: Tag: para
en: This chapter covers the spec file syntax and how to write spec files. In goes in depth into defining information about your package, controlling how the software will be built, defining what exactly should go into the package, and customizing your build with RPM macros.
fr: Ce chapitre porte sur la syntaxe du fichier spec et la manière de les écrire. Il va plus profondément dans la définition de l'information à propos du paquet, dans le contrôle du processus de construction du logiciel, dans la définition de ce qui doit exactement être mis dans le paquet et dans la personnalisation de la construction à l'aide de macros RPM.

note: Tag: title
en: Reading Spec Files
fr: Lecture de fichiers spec

note: Tag: para
en: The first step to learning more about spec files is to read through some of the huge number of spec files for the source RPMs that come with your Linux distribution. Looking at these files will show two things right away:
fr: La première étape pour en apprendre plus au sujet des fichiers spec consiste à en parcourir quelques uns, pris parmi le nombre considérable de fichiers spec accompagnant les RPM source livrés avec votre distribution Linux. En regardant ces fichiers, deux choses apparaissent :

note: Tag: para
en: *You will see that the spec file syntax is not really as complicated as it appears.
fr: * la syntaxe du fichier spec n'est pas vraiment aussi compliquée qu'il n'y paraît.

note: Tag: para
en: *You will see how many others have solved problems similar to those you need to solve.
fr: * beaucoup d'autres personnes ont déjà résolu des problèmes semblables à ceux que vous devez résoudre.

note: Tag: para
en: I’ve used real-world examples throughout this book, to show how the RPMs you need to deal with actually work. Some of the more interesting packages include anything that has a client and a server component, anything with networking or e-mail, and anything that installs a system service. All these types of packages solve problems that you will commonly face. Some useful spec files to look at are those for anonftp, telnet, vnc, and sendmail. To get these spec files, you need to install the corresponding source RPMs for each of these packages.
fr: Tout au long de livre, j'ai utilisé des exemples issus de cas concrets pour montrer comment les RPM dont vous avez besoin fonctionnent réellement. Quelques uns des paquets les plus intéressants comportent quelque chose avec des composants client-serveur, quelque chose avec du travail en réseau ou des courriels et quelque chose qui installe un service système. Tous ces types de paquets résolvent des problèmes auxquels vous êtes couramment confrontés. Les fichiers spec les plus utiles à regarder sont ceux pour anonftp, telnet, vnc et sendmail. Pour obtenir ces fichiers spec, vous devez installer les RPM sources correspondant à chacun de ces paquets.

note: Tag: para
en: As you read through spec files, you’ll start to see common patterns in how packages are defined, named, the macros used, and common elements in the build sections of the spec files. You’ll also see how network services are installed on Linux, as well as example install and uninstall scripts. The next sections provide more information on the things to look for within spec files.
fr: En parcourant ces fichiers spec, vous commencez à percevoir une trame commune sur la façon dont les paquets sont définis, nommés, dont les macros sont utilisées et à noter les éléments communs aux sections de construction des fichiers spec. Vous voyez aussi comment les services réseau sont installés sur Linux, avec en exemple des scripts d'installation et de désinstallation. Les sections suivantes vous donneront plus d'informations sur ce qu'il faut examiner dans les fichiers spec.

note: Tag: para
en: Furthermore, even with the plethora of options RPM provides, if you know shell scripting basics and something about how C programs are normally built, with configure scripts and make commands, you will find most spec files relatively easy to understand.
fr: Plus, malgré le pléthore d'options offertes par RPM, si vous connaissez les bases d'écriture des scripts et quelques éléments sur la façon dont les programmes en C sont normalement construits, avec des scripts configure et des commandes make, vous trouverez que la plupart des fichiers spec sont faciles à comprendre.

note: Tag: para
en: The following sections go into the details of writing your own spec files. Keep your example spec files handy as you read through these sections.
fr: Les sections suivantes détaillent l'écriture de fichiers spec pour vous-même. Gardez votre exemple de fichier spec sous la main pendant que vous les parcourez.

note: Tag: title
en: Writing Spec Files
fr: Écriture de fichiers spec

note: Tag: para
en: Spec files are text files containing RPM directives. These directives use a simple syntax of a tag name, a colon, and a value:
fr: Les fichiers spec sont des fichiers texte contenant des directives RPM. Ces directives utilisent une syntaxe simple avec un descripteur, deux-points suivis d'une valeur :

note: Tag: para
en: TagName: value
fr: NOM_DU_DESCRIPTEUR: VALEUR

note: Tag: para
en: For example:
fr: Par exemple :

note: Tag: para
en: This example sets the package version to 1.15. The name of the item is not case sensitive, so tag names of version, Version, or VERSION all set the same value. This syntax works for most settings, including Name, Release, and so on.
fr: Cet exemple définit le numéro de version du paquet égal à 1.15. La désignation du descripteur n'est pas sensible à la casse, ainsi les noms version, Version ou VERSION désignent tous la même valeur. Cette syntaxe fonctionne pour la plupart des descripteurs, y compris Name, Release et ainsi de suite.

note: Tag: para
en: In addition to this directive syntax, you can define macros using the RPM %define syntax. For example:
fr: En plus de cette syntaxe de directive, vous pouvez définir des macros en utilisant la syntaxe %define de RPM. Par exemple :

note: Tag: para
en: This example defines a macro named major with a value of 2. Once defined, you can access macros using the %{macro_name} or just %macro_name syntaxes. For example:
fr: Cet exemple définit une macro nommée major avec une valeur de 2. Une fois définies, vous pouvez avoir accès aux macros avec les syntaxes %{NOM_DE_MACRO} ou plus simplement %NOM_DE_MACRO. Par exemple :

note: Tag: para
en: source: %{name}-%{version}.tar.gz
fr: source: %{NOM}-%{VERSION}.tar.gz

note: Tag: para
en: See the section "Defining Spec File Macros" later in this chapter for more options for macros.
fr: Voyez la section « Définition de macros pour fichiers spec » plus loin dans ce chapitre pour plus d'options de macros.

note: Tag: para
en: Major sections in the spec file are also delimited with % markers. For example, the build section starts with %build on a line by itself.
fr: Les principales sections dans le fichier spec sont également délimitées par le marqueur %. Par exemple, la section build débute par %build sur une ligne isolée.

note: Tag: para
en: Note
fr: Nota

note: Tag: para
en: The multiple uses of the % sign aren’t really that confusing in practice. Read through some spec files and you should find most of the commands are easily understood.
fr: Les multiples usages du signe % ne prêtent pas vraiment à confusion dans la pratique. Parcourez certains fichiers spec et vous verrez que les commandes sont facilement compréhensibles.

note: Tag: para
en: Blank lines separate sections in the spec file, which makes sense for readability as well.
fr: Des lignes blanches séparent les différentes sections du fichier spec, ce qui facilite la lecture également.

note: Tag: title
en: Comments
fr: Commenter

note: Tag: para
en: To help document your work, you can include comments (to yourself and others reading the spec file). Any line starting with a hash character, #, holds a comment. RPM will ignore comments.
fr: Pour documenter votre travail, vous pouvez incorporer des commentaires (pour vous-même et pour les autres lecteurs du fichier spec). Toute ligne débutant par un croisillon, #, contient un commentaire. RPM les ignore.

note: Tag: para
en: # This is a comment.
fr: # Ceci est un commentaire

note: Tag: para
en: In spec files, comments are mostly to help explain your syntax choices to yourself should you view the spec file later. Comments are a good thing. You should comment heavily, especially for any choice that deviates from the norm. For example, if you provide special C compiler options for building the package, add comments to describe why you picked the options and how necessary they are. Such comments help immensely should you need to port the RPM to another architecture or modify how it was built.
fr: Dans les fichiers spec, les commentaires sont essentiellement une aide explicative des choix syntaxiques pour vous-même lors d'une relecture ultérieure. Les commentaires sont une bonne chose. Vous devez commenter densément, spécialement pour chaque choix qui s'écarte de la norme. Par exemple, si vous utilisez des options spéciales de compilateur C pour la construction du paquet, ajoutez des commentaires descriptifs sur pourquoi vous avez pris ces options et pourquoi elles sont nécessaires. De tels commentaires sont immensément utiles si vous avez besoin de porter le RPM sur une autre architecture ou bien de modifier la façon dont il a été construit.

note: Tag: para
en: Tip
fr: Astuce

note: Tag: para
en: Avoid single percent signs, %, in comments. For example:
fr: Évitez le signe % dans les commentaires. Par exemple :

note: Tag: para
en: # Added new commands to %prep
fr: # Nouvelles commandes ajoutées à %prep

note: Tag: para
en: The rpmbuild command may report an error of a second %prep section. To get around this problem, use two percent signs, such as %%prep, in spec file comments.
fr: La commande rpmbuild peut renvoyer une erreur indiquant qu'il y a deux sections %prep. Pour contourner ce problème, utilisez deux signes de pourcentage, comme %%prep, dans les commentaires de fichiers spec.

note: Tag: title
en: Storing spec files on disk
fr: Stocker les fichiers spec sur disque

note: Tag: para
en: As discussed in <xref linkend="ch-creating-rpms" /> , the rpmbuild command expands source RPMs to the /usr/src/redhat directory. Under this directory, the RPM system assumes five subdirectories, listed in Table 10-1.
fr: Ainsi que cela a été exposé dans le <xref linkend="ch-creating-rpms" />, la commande rpmbuild développe les RPM sources dans le répertoire /usr/src/redhat. Dans ce répertoire, le système RPM attend cinq sous-répertoires, listés dans le tableau 10-1.

note: Tag: para
en: Table 10-1 Default RPM directories
fr: Tableau 10-1 : répertoires RPM par défaut

note: Tag: para
en: Directory
fr: Répertoire

note: Tag: para
en: Usage
fr: Utilisation

note: Tag: para
en: Where the rpmbuild command builds software
fr: La commande rpmbuild y construit le logiciel

note: Tag: para
en: Where the rpmbuild command stores binary RPMs it creates
fr: La commande rpmbuild y stocke les RPM binaires qu'elle crée

note: Tag: para
en: Where you should put the sources for the application
fr: Vous devez y placer les sources de l'application

note: Tag: para
en: Where you should place the spec file
fr: Vous devez y placer le fichier spec

note: Tag: para
en: Where the rpmbuild command places source RPMs
fr: La commande rpmbuild y place les RPM sources

note: Tag: para
en: The spec files you create should be stored in the SPECS directory while building RPMs. (You can store your spec files permanently in any location you desire.)
fr: Les fichiers spec que vous créez doivent être placés dans le répertoire SPECS pendant la construction du RPM (vous pouvez les stocker de manière permanente  n'importe où ailleurs, comme vous souhaitez).

note: Tag: para
en: Cross Reference
fr: Référence croisée

note: Tag: para
en: These directories are the default directories. See <xref linkend="ch-specfile-syntax" /> for changing RPM default values. In addition, these are the defaults for Red Hat Linux. See <xref linkend="ch-other-linuxes" /> and <xref linkend="ch-other-linuxes" /> for discussions on other versions of Linux and other non-Linux operating systems, respectively.
fr: Ces répertoires sont les répertoires par défaut. Voyez le <xref linkend="ch-specfile-syntax" /> pour modifier les valeurs par défaut de RPM. De plus, ce sont les valeurs par défaut pour  Linux Red Hat. Voyez le <xref linkend="ch-other-linuxes" /> et le <xref linkend="ch-other-linuxes" />, respectivement pour des explications à propos des autres versions de Linux et pour les autres systèmes d'exploitation non-Linux.

note: Tag: para
en: With the knowledge of the spec file syntax covered in the preceding sections, you can start to write spec files. The first step is to define the basic package information.
fr: Avec les connaissances acquises dans les paragraphes précédents à propos de la syntaxe du fichier spec, nous pouvons commencer à écrire des fichiers spec. La première étape consiste à définir l'information de base du paquet.

note: Tag: title
en: Defining Package Information
fr: Définition de l'information sur le paquet

note: Tag: para
en: Most of the package information you need to enter into a spec file fleshes out the information you can query for a given package, such as the name, version, and release information, along with a longer description and a one-line summary.
fr: Le gros de l'information qu'il est nécessaire d'entrer dans un fichier spec est destiné à donner corps aux requêtes informatives ultérieures à propos d'un paquet donné, comme le nom, la version et la parution, à côté d'une description plus fournie et un résumé sur une ligne.

note: Tag: para
en: This gets a little more complicated when you set build locations, name source files, and name patches. The following sections cover how to specify the package information.
fr: Cela devient un peu plus complexe quand vous précisez la construction, le nom des fichiers source et des correctifs. Les sections suivantes portent sur la manière de définir l'information du paquet.

note: Tag: title
en: Describing the package
fr: Décrire le paquet

note: Tag: para
en: The first part of the spec file defines macros (covered in the section "Defining Spec File Macros"), and describes the package. Starting with the basics, you need a name, version, and release. You also should provide a longer description. For legal reasons, you may need to include ownership and copyright information.
fr: La première partie des fichiers spec définit les macros (explicitées dans la section « Définition de macros pour fichier spec ») et décrit le paquet. Commençons par les bases : vous avez besoin d'un nom, d'une version et d'un numéro de parution. Vous pouvez aussi donner une description plus longue. Pour des raisons légales, vous aurez besoin d'inclure l'auteur et les informations de copyright.

note: Tag: title
en: Naming the Package
fr: Nommer le paquet

note: Tag: para
en: The most important part of the package description is the NVR, or Name-Version-Release information, because this information is so crucial for the RPM system to compare versions and track dependencies.
fr: La partie la plus importante dans la description du paquet est le NVR (« Name-Version-Release »), ou l'information nom-version-parution, étant donné que cette information est primordiale pour que le système RPM puisse comparer les versions et pister les dépendances.

note: Tag: para
en: Set the name with the Name: directive. For example:
fr: Définissez le nom avec la directive Name:. Par exemple :

note: Tag: para
en: Name: myapp
fr: Name: MON_APPLICATION

note: Tag: para
en: The name should not contain any spaces or other whitespace characters such as tabs or newlines. Remember, RPM files are named, by default, name-version-release.rpm, or name-version-release-architecture.rpm, so use valid characters for file names.
fr: Le nom ne doit contenir aucune espace ou autres blancs tels que tabulations ou retours-chariot. Souvenez-vous : les fichiers RPM sont dénommés, par défaut, NOM-VERSION-PARUTION.rpm ou NOM-VERSION-PARUTION-ARCHITECTURE.rpm. Donc utilisez des caractères valides pour les noms de fichier.

note: Tag: para
en: The version number is used in version comparisons. The RPM comparison algorithm is fairly complex, but can get fooled by strange version numbers. So, your best bet is to stick to dotted numerics, such as 1.5 or 2.3.1.1.4 or 1.0. Version numbers such as these will compare best from within the RPM system. For example:
fr: Le numéro de version s'utilise pour les comparaisons de version. L'algorithme de comparaison de RPM est bigrement complexe, mais il peut être trompé par des numéros de version bizarres. Donc, le mieux est de s'en tenir à des chiffres séparés par des points, comme 1.5 ou 2.3.1.1.4 ou 1.0. Les numéros de version tels que ceux-ci facilitent les comparaisons à l'intérieur du système RPM. Par exemple :

note: Tag: para
en: You cannot use a dash in the version number, as RPM uses the dash to separate the Name-Version-Release elements. You can use a dash in the package name, though.
fr: Vous ne pouvez pas utiliser de tiret dans le numéro de version, car RPM l'utilise pour séparer les éléments nom-version-parution. Vous pouvez toutefois mettre un tiret dans nom du paquet.

note: Tag: para
en: The release number should start at 1 for the first RPM you build for a given version of the package, and count up from there. For example:
fr: Le numéro de parution doit débuter à 1 pour le premier RPM construit avec une version donnée du paquet, et s'incrémenter de un en un à partir de cette valeur. Par exemple :

note: Tag: para
en: The release differentiates newer updates of the RPM itself, even if the underlying application hasn’t changed. (The application may be compiled with different compiler options, though.) For most usage, simply start at 1 and each time you modify the spec file and recreate the package, increment the release number.
fr: La parution différencie les mises à jour du RPM lui-même, même si l'application sous-jacente n'a pas été modifiée (l'application peut avoir été compilée avec des options de compilateur différentes). Pour suivre l'usage le plus courant, débutez simplement à 1 et chaque fois que le fichier spec est modifié et le paquet recréé, incrémentez le numéro de parution.

note: Tag: para
en: If the version number is not enough to allow for comparisons, for example, if the version numbering scheme has changed radically between releases, you can define an Epoch: directive. For example:
fr: Si le numéro de version n'est pas suffisant pour permettre les comparaisons, par exemple, si le schéma de numérotation des version a été radicalement modifié entre les parutions, vous pouvez définir une directive Epoch:. Par exemple :

note: Tag: para
en: If you renumber your versions, use an Epoch setting to clarify the version history. For example, Sun Microsystems went from SunOS 4.1 to Solaris 2. The Epoch: helps RPM properly handle strange version number changes. Define the Epoch: as a whole number such as 1, 2, or 3.
fr: Si vous renumérotez vos versions, définissez une époque pour clarifier l'historique des versions. Par exemple, Sun Microsystems est passé de SunOS 4.1 à Solaris 2. La directive Epoch: aide RPM à gérer correctement les changements de numérotation de version exotiques. Définissez Epoch: avec un nombre entier comme 1, 2 ou 3.

note: Tag: para
en: Warning
fr: Avertissement

note: Tag: para
en: Avoid using the Epoch: directive if at all possible. It is far better to use a sane version-numbering scheme than to try to resolve the mess with epoch values. The main problems with using an epoch value are that epochs are hidden from users in most cases, and using epochs can lead to very strange-looking tasks such as a newer package with a version number that looks older than the older package.
fr: Évitez l'utilisation de la directive Epoch: dans toute la mesure du possible. Il est de loin bien meilleur d'utiliser un schéma de numérotation de version sain que d'essayer de résoudre la pagaille avec des valeurs d'époque. Le problème principal avec Epoch: est que cette valeur reste cachée aux utilisateurs dans la plupart des cas ; l'utilisation d'époques peut conduire à des situations paraissant étranges dans lesquelles un paquet plus récent a un numéro de version d'aspect antérieur à celui du paquet ancien.

note: Tag: para
en: The older Serial: directive also works similarly to the Epoch: directive. For example:
fr: L'ancienne directive Serial: fonctionne comme la directive Epoch:. Par exemple :

note: Tag: para
en: Like the Epoch:, the Serial: directive should be a number that counts upward. Modern packages should use the Epoch: directive instead of Serial:, since Serial: has been deprecated for many, many rpm versions.
fr: Comme Epoch:, la directive Serial: doit être un nombre avec un décompte croissant. Les paquets modernes utilisent la directive Epoch: au lieu de Serial: étant donné que Serial: a été abandonné par de très, très nombreuses version rpm.

note: Tag: para
en: The Group: directive provides a classification for your packages. If at all possible, use a category name that already exists for other packages, such as System Environment/Shells for a Linux shell. For example:
fr: La directive Group: permet une classification des paquets. Dans toute la mesure du possible, utilisez un nom de catégorie qui existe déjà pour d'autres paquets, comme System Environment/Shells pour un interpréteur de commandes Linux. Par exemple :

note: Tag: para
en: Many graphical installation tools divide packages by these categories, so you want to fit into the existing group names if possible. (See <xref linkend="ch-using-rpm-db" /> for more on querying group information from RPMs.) The official list of groups are located in the file /usr/share/doc/rpm-4.1/GROUPS for RPM 4.1, and in a similar location for other RPM versions.
fr: Beaucoup d'outils graphique d'installation classent les paquets par catégories ; soyez donc en accord si possible avec des noms de groupes existants (voir le <xref linkend="ch-using-rpm-db" /> pour plus de détails sur la recherche d'informations à propos du groupe dans les RPM). La liste officielle des noms de groupe est située dans le fichier  /usr/share/doc/rpm-4.1/GROUPS à partir de RPM 4.1 et dans un endroit semblable pour les autres versions de RPM.

note: Tag: para
en: The Distribution: directive is used by Linux distribution vendors such as Red Hat to identify that the package is part of a given distribution, or was built for a particular distribution. Most packages created outside of the Linux vendors don’t provide this directive.
fr: La directive Distribution: est utilisée par les distributeurs Linux comme Red Hat pour indiquer que le paquet fait partie d'une distribution donnée, ou bien a été construit pour une distribution pariculière. La plupart des paquets créés en dehors du circuit des distributeurs Linux ne renseignent pas cette directive.

note: Tag: para
en: The Icon: directive names an icon file stored in the RPM. The file format should be XPM or GIF, with an extension of .xpm or .gif, respectively. Some packaging tools will use this icon in a package display.
fr: La directive Icon: précise le nom de fichier d'une icône stockée dans le RPM. Le format de fichier doit être XPM ou GIF, avec respectivement  comme extension .xpm ou .gif. Quelques outils d'empaquetage utiliseront cette icône dans l'affichage du paquet.

note: Tag: title
en: Specifying Company Information
fr: Préciser l'information sur la compagnie

note: Tag: para
en: For legal reasons, you probably want to specify the organization behind the RPM, any copyright or licensing information, as well as a URL to find out more information. Even if you are not concerned about corporate legal issues, you may want to identify where the package came from. Use the following directives to provide this information.
fr: Pour des motifs légaux, vous voudrez certainement préciser la société derrière le RPM, des informations de copyright ou de licence, de même qu'un URL où trouver plus d'information. Même si vous n'êtes pas concerné par les problèmes légaux des corporations, vous pouvez souhaiter identifier l'origine du paquet. Utilisez les directives suivantes pour fournir cette information.

note: Tag: para
en: The Vendor: directive names the company or organization behind an RPM. For example:
fr: La directive Vendor: nomme la société ou l'organisation derrière le RPM. Par exemple :

note: Tag: para
en: Vendor: The Really Cool Company
fr: Vendor: Société Réellement Tranquille

note: Tag: para
en: The URL: directive provides a URL to your company or organization home page, or perhaps to a URL for a particular application. For example:
fr: La directive URL: indique l'URL de la page d'accueil de votre société ou organisation, ou parfois l'URL d'une application particulière. Par exemple :

note: Tag: para
en: URL: http://mycompany.yow/products/coolstuff
fr: URL: http://macompagnie.yow/produits/coolstuff

note: Tag: para
en: Similarly, the Packager: directive provides an optional name and e-mail address for the person who created the RPM:
fr: De manière analogue, la directive Packager: indique, facultativement, un nom et une adresse électronique pour la personne qui a créé le RPM.

note: Tag: para
en: The License: and Copyright: directives provide legal information about your package. Older packages tended to use Copyright: as a statement of the package’s license, not copyright. For example:
fr: Les directives Licence: et Copyright: fournissent les informations légales relatives au paquet. Les anciens paquets avaient tendance à utiliser Copyright: pour la définition de la licence du paquet, et non le copyright. Par exemple :

note: Tag: para
en: The Copyright: directive is deprecated in favor of License:.
fr: La directive Copyright: est abandonnée au profit de Licence:.

note: Tag: title
en: Filling in the Description
fr: Compléter la description

note: Tag: para
en: The Summary: directive provides a one-line short description of the package. You should not exceed much more than 50 characters when writing your summary. For example:
fr: La directive Summary: fournit une courte description du paquet en une ligne. Vous ne devez pas dépasser beaucoup plus de 50 caractères lors de l'écriture de ce résumé. Par exemple :

note: Tag: para
en: Summary: A program that does exactly what you want
fr: Summary: un programme qui fait exactement ce que vous voulez

note: Tag: para
en: The Summary: directive of the spec file replaces the older Description: directive.
fr: La directive Summary: du fichier spec remplace l'ancienne directive Description:.

note: Tag: para
en: The %description section allows for longer text describing your package. Fill in as many lines as you need after the %description section. For example:
fr: La section %description autorise un texte décrivant plus longuement le paquet. Remplissez autant de lignes que de besoin après la section %description. Par exemple :

note: Tag: para
en: This is a really cool package. It contains the really cool
fr: C'est un paquet vraiment super. Il contient un programme extra

note: Tag: para
en: program that provides a maximum return on investment,
fr: qui vous donnera un retour sur investissement maximal,

note: Tag: para
en: or ROI, for achieving your crucial business objectives
fr: ou RSI, pour atteindre vos objectifs d'entreprise essentiels

note: Tag: para
en: utilizing world-class high-caliber componentized software
fr: en utilisant un logiciel constitué  d'éléments de haute technologie de classe mondiale

note: Tag: para
en: implemented with world-class quality and performance
fr: implémenté avec des mesures de performance et qualité

note: Tag: para
en: metrics.
fr: de renommée internationale.

note: Tag: para
en: The %description section supports a limited amount of formatting. Blank lines are assumed to separate paragraphs. Some graphical user interface installation programs will reformat paragraphs into a nicer-looking font and change the display width.
fr: La section %description n'autorise qu'un formatage limité. Les sauts de ligne sont supposés séparer des paragraphes. Quelques programmes d'installation avec une interface utilisateur graphique recomposeront les paragraphes avec une police d'aspect plus agréable et modifieront la largeur d'affichage.

note: Tag: para
en: Lines in the %description section that start with whitespace, such as a space or tab, will be treated as preformatted text and displayed as is, normally with a fixed-width font. The rpm command supports text formatting this way. Other rpm programs may not.
fr: Les lignes dans la section %description qui débutent par un blanc, comme une espace ou une tabulation, seront traitées comme du texte préformaté et affichées telles que, normalement avec une police à chasse fixe. La commande rpm prend en charge le texte formaté de cette façon ; d'autres programmes pour RPM peut-être pas.

note: Tag: title
en: Specifying the Platform Architecture
fr: Spécifier l'architecture de la plate-forme

note: Tag: para
en: Spec files can announce that a package can run on more than one operating system or is tied to a particular version of a particular operating system.
fr: Des fichiers spec peuvent indiquer qu'un paquet peut être exécuté sur plus d'un système d'exploitation ou bien est lié à une version donnée d'un système d'exploitation particulier.

note: Tag: para
en: For example, the Excludearch: directive states that a package should not be built on the given architecture or architectures. For example:
fr: Par exemple, la directive Excludearch: indique qu'un paquet ne peut pas être construit sur une ou plusieurs architectures données. Par exemple :

note: Tag: para
en: This example excludes the SPARC and S/390 mainframe architectures. You can provide more than one architecture in the directive, separated by spaces or commas.
fr: Cet exemple exclut les architectures de grands systèmes SPARC et S/390. Vous pouvez indiquer plus d'une architecture dans la directive, séparée par des espaces ou des virgules.

note: Tag: para
en: Similarly, the Exclusivearch: directive states that a package can only be built on the given architecture or architectures. For example:
fr: De manière analogue, la directive Exclusivearch: indique que le paquet ne peut être construit que sur une ou plusieurs architectures données. Par exemple:

note: Tag: para
en: This example identifies the package as only working on the Intel i386, IA-64, and Alpha architectures.
fr: Cet exemple avertit que le paquet ne fonctionne que sur les architectures  Intel i386, IA-64 et Alpha.

note: Tag: para
en: The Excludeos: and Exclusiveos: directives restrict the operating system. For example:
fr: Les directives Excludeos: et Exclusiveos: restreignent les systèmes d'exploitation possibles. Par exemple :

note: Tag: para
en: This example states that the package should not be built on Windows. In contrast, the Exclusiveos: directive names only the operating system or systems that the package can be built on. For example:
fr: Cet exemple indique que le paquet ne peut pas être construit sur Windows. A contrario, la directive Exclusiveos: nomme le ou les systèmes d'exploitation sur lesquels le paquet peut être construit. Par exemple :

note: Tag: para
en: <xref linkend="ch-other-linuxes" /> and <xref linkend="ch-other-os" /> cover RPMs on other versions of Linux and other operating systems, respectively.
fr: Le <xref linkend="ch-other-linuxes" /> et le <xref linkend="ch-other-os" /> traitent, respectivement des RPM sur d'autres version de Linux et des autres systèmes d'exploitation.

note: Tag: title
en: Setting build locations
fr: Définir la localisation de la construction

note: Tag: para
en: RPM supports two build-related directories with very similar names, the build directory and the buildroot.
fr: RPM fait vivre deux répertoires en relation avec la construction ; leurs désignations sont tout à fait semblables, le répertoire BUILD et le « buildroot » (racine de la construction).

note: Tag: para
en: The build directory is the location where RPM actually builds the software, compiling source code, running the configure script, and so on. Normally, you do not need to worry about the build directory as the rpmbuild command properly changes to this directory as needed.
fr: Le répertoire BUILD est l'endroit où RPM construit effectivement le logiciel, en compilant le code source, en lançant le script configure, etc. Normalement, vous n'avez pas à vous tracasser à propos du répertoire BUILD étant donné que la commande rpmbuild s'y transporte de manière appropriée selon le besoin.

note: Tag: para
en: The buildroot, on the other hand, acts as a staging area that looks like the final installation directory. The name buildroot refers to the fact that the final installation directory is usually the root directory, /. The install section of the spec file (covered in the section "Installing the Software") installs files into the buildroot directory in the proper subdirectories, as if the files were really under the system root directory, /. This allows the buildroot directory to hold all the final installed files for a package, so you can see what will really be installed by the package.
fr: Le « buidroot », d'autre part, joue le rôle d'une zone de transit transposée du répertoire final d'installation. La désignation « buildroot » fait allusion au fait que ce répertoire final d'installation est habituellement le répertoire racine, /. La section install du fichier spec (exposée au paragraphe « Installer le logiciel » place les fichiers dans les sous-répertoires appropriés du « buildroot » , de la même manière qu'ils le seront réellement par rapport au répertoire racine du système /. Le « buildroot » contient donc une installation de tous les fichiers d'un paquet, ce qui vous permet de voir ce qui sera réellement installé par le paquet.

note: Tag: para
en: You should always set the buildroot by defining a Buildroot: entry in your spec file. For example:
fr: Vous devez toujours définir un « buildroot » avec une directive Buildroot: dans votre fichier spec. Par exemple :

note: Tag: para
en: Buildroot: %{_tmppath}/%{name}-%{version}-root
fr: Buildroot: %{_RÉPERTOIRE_TEMPORAIRE}/%{NOM}-%{VERSION}-root

note: Tag: para
en: This example sets the buildroot under the temporary directory named in the %_tmppath macro. The subdirectory is named based on the name and version of the package. For example, for a package named ypbind and a version 1.12, with a %_tmppath value of /tmp, the final buildroot directory would be:
fr: Cet exemple définit en tant que « buildroot » le répertoire temporaire nommé dans la macro %_RÉPERTOIRE_TEMPORAIRE. Le sous répertoire est désigné par le nom et la version du paquet. Par exemple, pour un paquet ypbind dans sa version 1.12, avec /tmp comme valeur de la macro %_RÉPERTOIRE_TEMPORAIRE, le « builroot » final sera :

note: Tag: para
en: Once you set a buildroot, your scripts run from the spec file and commands within the spec file can access the buildroot using the RPM_BUILD_ROOT environment variable. You normally need to access the RPM_BUILD_ROOT environment variable in the install section of the spec file (covered in the section "Installing the Software").
fr: Une fois défini le « buildroot », les scripts lancés à partir du fichier spec et les commandes dans le fichier spec peuvent avoir accès à ce répertoire en utilisant la variable d'environnement RPM_BUILD_ROOT. Vous aurez normalement besoin de la variable d'environnement RPM_BUILD_ROOT dans la section install du fichier spec (exposée dans le paragraphe « Installer le logiciel »).

note: Tag: para
en: You can override the buildroot with the --buildroot command-line parameter to the rpmbuild command.
fr: Vous pouvez écraser le « buildroot » avec le paramètre de l'option --buildroot en ligne de commande de rpmbuild .

note: Tag: para
en: The buildroot replaces the older, and now obsolete directive, Root:.
fr: Ce « buildroot » remplace l'ancien et rend alors obsolète la directive BuildRoot:.

note: Tag: title
en: Naming source files
fr: Nommer les fichiers sources

note: Tag: para
en: Most packages have one or more bundles of source code, which you need to name in the spec file. In most cases, you will have a compressed tar archive of source files. These may be files developed by your organization or downloaded from an Internet site. You can define one or more source tags, counting from 0. For example:
fr: La plupart des paquets ont une ou plusieurs collections de code source, que vous aurez besoin de nommer dans le fichier spec. Dans la plupart des cas, vous avez une archive tar compressée de fichiers sources. Ce sont peut-être des fichiers développés par votre société ou téléchargés à partir d'un site internet. Vous pouvez définir un ou plusieurs repères de sources, en les numérotant à partir de 0. Par exemple :

note: Tag: para
en: In this example, Source0: refers to a compressed tar archive. The rpmbuild program will extract the files into the buildroot directory. The Source1: and Source2: directives name individual source files. You can name compressed tar archives or individual files as needed.
fr: Dans cet exemple, Source0: se rapporte à une archive tar compressée. Le programme rpmbuild extraira les fichiers dans le « buildroot ». Les directives Source1: et Source2: désignent des fichiers sources individuels. Vous pouvez désigner les sources sous forme d'archives tar compressées ou de fichiers individuels, selon vos besoins.

note: Tag: para
en: If you just have one Source directive, you can skip the 0. For example:
fr: Si vous avez une seule directive Source: vous pouvez omettre le 0. Par exemple :

note: Tag: para
en: You can also use FTP or HTTP URLs to name sources. For example:
fr: Vous pouvez aussi utiliser des URL FTP ou HTTP pour désigner les sources. Par exemple :

note: Tag: para
en: The URLs listed in source directives are for convenience and future reference only. RPM will not download these files.
fr: Les URL listés dans les directives Source: le sont par convention et pour un référencement ultérieur. RPM ne télécharge pas ces fichiers.

note: Tag: para
en: The files named by the Source directives will get included into the source RPM. Sometimes you need to keep some sources out of the source RPM. This could be for proprietary sources you cannot ship, or simply due to size. The Nosource: directive tells RPM to skip a source file from the source RPM. For example:
fr: Les fichiers désignés par les directives Source: doivent être inclus dans le RPM source. Vous avez quelquefois besoin de conserver certaines sources en dehors du RPM source : dans le cas de sources propriétaires que vous ne pouvez pas délivrer ou simplement à cause de leur taille. La directive Nosource: demande à RPM d'ignorer un fichier source parmi les RPM sources. Par exemple :

note: Tag: para
en: This example means that the first source item should not be included in the package.
fr: Cet exemple signifie que le premier élément source ne doit pas être incorporé dans le paquet.

note: Tag: para
en: This example means that the third source item should not be included in the package. The NoPatch directive works similarly. In addition, do not place more than one number on any given NoSource or NoPatch directive.
fr: Cet exemple signifie que le troisième élément source ne doit pas être inclus dans le paquet. La directive NoPatch fonctionne de manière semblable. De plus, ne mettez pas plus d'un nombre dans chaque directive NoSource ou NoPatch.

note: Tag: para
en: Using the Nosource: or NoPatch: directives, covered following, mean you are creating a source RPM that cannot be rebuilt unless you also have the sources or patches, respectively, that were used to create the original RPM.
fr: L'utilisation les directives Nosource: ou NoPatch:, explicitée plus bas, signifie que vous créez un RPM source qui ne peut pas être reconstruit sauf si possédez par ailleurs les sources et les correctifs utilisés pour créer le RPM original.

note: Tag: para
en: If the package contains a Nosource: or Nopatch: directive, rpmbuild will use a file-name extension of .nosrc.rpm instead of .src.rpm.
fr: Si un paquet contient une directive Nosource: ou Nopatch:, rpmbuild utilisera une extension de fichier .nosrc.rpm au lieu de .src.rpm.

note: Tag: title
en: Naming patches
fr: Nommer les correctifs

note: Tag: para
en: Patches are named similar to sources, using a similar syntax. For example:
fr: Les correctifs sont nommés semblablement aux sources, en utilisant une syntaxe similaire. Par exemple :

note: Tag: para
en: Note that you can have Patch directives are not numbered sequentially, such as the Patch10: directive in this example. In addition, you must apply each patch manually using %patch directives.
fr: Notez que nous pouvons avoir des directives Patch: qui ne soient pas numérotées séquentiellement, comme la directive Patch10: de cet exemple. En plus, vous devez appliquer chaque correctif manuellement en utilisant les directives %patch.

note: Tag: para
en: The patch files may be individual files or compressed (with gzip) patch files.
fr: Les fichiers correctifs peuvent être des fichiers isolés ou des fichiers compressés (avec gzip).

note: Tag: para
en: See the patch and diff online manual pages for more on patches.
fr: Voyez les pages de manuel en ligne patch et diff pour plus de détails à propos des correctifs.

note: Tag: para
en: Patches are important because they allow you to start with pristine sources, the source code for the original application. You can then apply patches as needed to get a working application, more clearly separating the work needed to create an RPM from the original application source code.
fr: Les correctifs sont importants car il vous permettent de débuter avec des sources intactes, le code source original de l'application. Vous pouvez ensuite y appliquer les correctifs nécessaires pour obtenir une application fonctionnelle en isolant clairement le travail nécessaire pour créer un RPM à partir du code source de l'application originelle.

note: Tag: para
en: <xref linkend="ch-packaging-guidelines" /> discusses packaging guidelines and best practices. Starting from pristine sources is one of the best practices.
fr: Le <xref linkend="ch-packaging-guidelines" /> donne des recommandations et indique les meilleures pratiques à propos de l'empaquetage. Partir de sources intactes est l'une des meilleures pratiques.

note: Tag: para
en: Similar to the sources directives, you can define a Nopatch: directive, which defines a patch that is applied to the sources, but is not included in the source RPM.
fr: Semblable aux directives NoSource:, vous pouvez définir une directive Nopatch: qui définit un correctif appliqué aux sources qui ne sera pas incorporé dans le RPM source.

note: Tag: title
en: Controlling the Build
fr: Contrôle de la construction

note: Tag: para
en: After describing information about the package, the crucial step comes when you need to build the package. The spec file should contain all the commands needed to build the application or library you want to package. But, and this is the important part, most of the build process should be run from a Makefile or other conventional way to build applications. Using a build tool such as make means that you can test the application outside of the RPM system. You don’t need an RPM to build the application. Instead, you use the RPM to package the application.
fr: Après avoir décrit l'information à propos du paquet, l'étape primordiale arrive : il faut construire le paquet. Le fichier spec doit contenir toutes les commandes nécessaires pour construire l'application ou la bibliothèque que vous voulez empaqueter. Mais, et c'est le plus important, la majeure partie du processus de construction doit être lancé à partir d'un Makefile ou de tout autre moyen conventionnel de construction des applications. L'utilisation d'un outil de construction comme make signifie que vous pourrez tester l'application hors du système RPM. RPM n'est pas nécessaire pour construire l'application. Par contre, vous utiliserez RPM pour empaqueter l'application.

note: Tag: para
en: <xref linkend="ch-creating-rpms" /> covers make and other Linux build tools.
fr: Le <xref linkend="ch-creating-rpms" /> explique make et les autres outils de construction de Linux.

note: Tag: para
en: In RPM terms, building the package is split into four steps:
fr: Vue par RPM, la construction du paquet se divise en quatre étapes :

note: Tag: para
en: 1.Preparing for building, including unpacking the sources
fr: 1. la préparation de la construction, y compris l'extraction des sources

note: Tag: para
en: 2.Building
fr: 2. la construction

note: Tag: para
en: 3.Installing the application or library
fr: 3. l'installation de l'application ou de la bibliothèque

note: Tag: para
en: 4.Cleaning up
fr: 4. le nettoyage

note: Tag: para
en: The next sections cover how to control the build run by rpmbuild by defining commands within your spec files.
fr: Les sections suivantes indiquent comment contrôler le cours de la construction avec rpmbuild en définissant des commandes à l'intérieur de vos fichiers spec.

note: Tag: title
en: Preparing for the build
fr: Préparer la construction

note: Tag: para
en: The %prep section defines the commands to prepare for the build. In most cases, you can run the simple %setup macro. For example:
fr: La section %prep définit les commandes de préparation de la construction. Dans la plupart des cas, il suffit de lancer la simple macro %setup. Par exemple :

note: Tag: para
en: This command changes to the build directory, typically /usr/src/redhat/BUILD, and then extracts the source files. This macro expects that at least one of the source files will create the necessary subdirectory under /usr/src/redhat/BUILD. This subdirectory should be named with the package name and version, such as telnet-1.0.1. If you are not using a compressed tar archive that will automatically create the right subdirectory, add the –c option to the %setup macro. The –c option creates the subdirectory for extracting the sources.
fr: Cette commande transporte dans le répertoire de construction, en règle générale /usr/src/redhat/BUILD, puis extrait les fichiers sources. Cette macro s'attend à ce que au moins un des fichiers source crée le sous répertoire nécessaire dans /usr/src/redhat/BUILD. Ce sous-répertoire doit être désigné par le nom et la version du paquet, comme telnet-1.0.1. Si vous n'utilisez pas une archive tar compressée qui crée automatiquement le bon sous-répertoire, ajoutez l'option -c à la macro %setup. L'option -c crée le sous-répertoire pour l'extraction des sources.

note: Tag: para
en: The –q command-line option runs in quiet mode with minimal output. The –T option disables the automatic extraction of compressed tar files. You can set the name of the build subdirectory with the –n option.
fr: L'option en ligne de commande -q active le mode calme avec une sortie minimale. L'option -T désactive l'extraction automatique de fichiers tar compressés. Vous pouvez définir le nom du sous-répertoire de construction avec l'option -n.

note: Tag: para
en: Normally, the %setup macro deletes the subdirectory prior to extracting the sources. You can disable the directory deletion with the –D option.
fr: Normalement, la macro %setup supprime le sous-répertoire avant d'extraire les sources. Vous pouvez désactiver cette suppression de répertoire avec l'option -D.

note: Tag: para
en: Table 10-2 summarizes the %setup command-line parameters. Many of these options apply mostly for subpackages, a topic covered in <xref linkend="ch-advanced-packaging" /> .
fr: Le tableau 10-2 résume les paramètres en ligne de commande de %setup. Beaucoup de ces options s'appliquent majoritairement aux sous-paquets, une rubrique exposée dans le <xref linkend="ch-advanced-packaging" />.

note: Tag: para
en: Table 10-2 Command-line parameters for %setup
fr: Tableau 10-2 : paramètres en ligne de commande pour %setup

note: Tag: para
en: Parameter
fr: Paramètre

note: Tag: para
en: -a number
fr: -a NUMÉRO

note: Tag: para
en: Only unpack the source directive of the given number, such as –a 0 for source0:, after changing to the directory.
fr: N'extraire que la directive source de numéro donné, comme -a 0 pour Source0:, après changement de répertoire.

note: Tag: para
en: -b number
fr: -b NUMÉRO

note: Tag: para
en: Only unpack the source directive of the given number, such as –b 0 for source0:, before changing to the directory.
fr: N'extraire que la directive Source: de numéro donné, comme -b 0 pour Source0:, avant changement de répertoire.

note: Tag: para
en: Create directory before unpacking, used if your sources will not create the directory as part of unpacking.
fr: Créer un répertoire avant extraction, utilisé si les sources n'assurent pas la création d'un répertoire lors de l'extraction.

note: Tag: para
en: Do not delete the directory before unpacking.
fr: Ne pas détruire le répertoire avant l'extraction.

note: Tag: para
en: -n name
fr: -n NOM

note: Tag: para
en: Name the directory as name.
fr: Nommer le répertoire NOM

note: Tag: para
en: Run quietly with minimal output.
fr: Exécuter silencieusement avec une sortie minimale.

note: Tag: para
en: Disable the automatic unpacking of the archives.
fr: Désactiver l'extraction automatique des archives.

note: Tag: para
en: The %setup directive can automatically extract tar, zip, gzip, bzip2, pack, compress, and lzh compressed files. The tar-gzip format is most widely used, though.
fr: La directive %setup extrait automatiquement les fichiers compressés tar, zip, gzip, bzip2, pack, compress et lzh. Le format tar-gzip est, toutefois, le plus fréquemment utilisé.

note: Tag: para
en: Like the %setup macro, the %patch directive applies a patch to the sources. Use this macro in your %prep section if you have patches. You need a %patch directive for each patch.
fr: Comme la macro %setup, la directive %patch applique un correctif aux sources. Utilisez cette macro dans la section %prep si vous avez des correctifs. Vous avez besoin d'une directive %patch pour chaque correctif.

note: Tag: para
en: The %patch directive accepts –p and other command-line parameters for the underlying patch command. The –p option, with a number, such as –p0, tells the patch command to remove that many slashes from the file names within the patch. A –p0 option tells the patch command to remove no slashes, a –p1 option tells patch to remove one slash, and correspondingly, one directory level from the files in the patch. You can also pass other options for the patch command.
fr: La directive %patch accepte -p et d'autres paramètres en ligne de commande pour la commande patch sous-jacente. L'option -p, avec un chiffre, comme -p0, indique à la commande patch de supprimer un nombre, égal au chiffre, de barres inclinées des noms de fichiers dans le correctif. L'option -p0 demande de ne pas en enlever, l'option -p1 d'enlever une barre inclinée, et par conséquent un niveau de répertoire dans les fichiers du correctif. Vous pouvez également également passer d'autres options à la commande patch.

note: Tag: para
en: Use these options if you need them for the patch command when manually patching the sources. Otherwise, you can set up your %prep section as follows, for a spec file with two patches:
fr: Utilisez ces options si vous en avez besoin pour la commande patch quand vous appliquez le correctif manuellement. Autrement, vous pouvez définir votre section %prep comme suit, pour un fichier spec avec deux correctifs :

note: Tag: para
en: Use numbers to identify which patch to apply. For example, %patch0 corresponds to the patch file named with the Patch0: directive.
fr: Utiliser les numéros pour identifier les correctifs à appliquer. Par exemple, %patch0 correspond au fichier correctif nommé avec la directive Patch0:.

note: Tag: para
en: You must define a separate %patch directive for each patch. In most packages, this format, %patch1, %patch2, and so on, is used.
fr: Vous devez définir une directive %patch pour chaque correctif. Dans de nombreux paquets, on utilise le format, %patch1, %patch2 et ainsi de suite.

note: Tag: para
en: The %patch directive without a number corresponds to %patch0.
fr: La directive %patch sans numéro correspond à %patch0.

note: Tag: para
en: In addition to the options supported by the patch command, you can use special options to the %patch directive to control how the directive works. The –P option tells the %patch directive to apply a given patch. For example, to only apply the patch named with the Patch2: directive, use the following %patch directive:
fr: En plus des options prises en charge par la commande patch, vous pouvez utiliser des options particulières à la directive %patch pour en contrôler le fonctionnement. L'option -P demande à la directive %patch d'appliquer un correctif donné. Ainsi pour appliquer uniquement le correctif désigné par la directive Patch2:, utiliser la directive %patch suivante :

note: Tag: para
en: This is an uppercase P. The lowercase p performs a different function, described earlier in this section. The -P option is rarely used. Instead, patches are normally applied with %patch0, %patch1, and so on directives.
fr: C'est un P majuscule. Le p minuscule exécute une fonction différente, décrite plus haut dans cette section. L'option -P est rarement utilisée. À la place, les correctifs sont appliqués avec les directives %patch0, %patch1, etc.

note: Tag: title
en: Building the software
fr: Construire le logiciel

note: Tag: para
en: The %prep section prepares for the build, which the %build section performs. You need to fill in the %build section with all the commands necessary to build the software. In most cases, this consists simply of the following commands:
fr: La section %prep prépare à la construction, alors que la section %build la réalise. Vous devez remplir la section %build avec toutes les commandes nécessaires à la construction du logiciel. Dans la plupart des cas, cela consiste simplement à exécuter les commandes suivantes :

note: Tag: para
en: In this case, the %build section runs two commands, ./configure to run the configure script, and make to build the software. For most applications, this may be all you need. You can use the %configure macro in place of the call to the ./configure script. For example:
fr: Dans ce cas, la section %build lance deux commandes : ./configure pour exécuter le script configure, et make pour construire le logiciel. Pour la plupart des applications, ce sera tout ce dont vous aurez besoin. Vous pouvez utiliser la macro %configure à la place de l'appel au script ./configure. Par exemple :

note: Tag: para
en: Most spec files should use the %configure macro, since it automatically sets many environment variables that are often used within the configure script, especially path-related values such as the online manual path, the temporary directory, and so on. You can use the rpm --eval to see how the %configure macro expands. For example:
fr: Beaucoup de fichiers spec doivent utiliser la macro %configure, étant donné qu'elle définit de nombreuses variables d'environnement souvent utilisées dans le script configure, en particulier les valeurs en relation avec les chemins comme le chemin du manuel en ligne, le répertoire temporaire, etc. Vous pouvez utiliser rpm --eval pour voir le développement de la macro configure. Par exemple :

note: Tag: para
en: The vast majority of the work of building the software should remain in the Makefile where it belongs. The commands in the spec file should invoke the targets defined in the Makefile. Don’t place too much logic in your RPM spec file as this makes it harder to test the application or library you plan to package.
fr: La plus grande partie du travail de construction du logiciel doit rester dans le Makefile auquel il est rattaché. Les commandes dans le fichier spec doivent faire appel aux cibles définies dans le Makefile. Ne mettez donc pas trop de logique dans votre fichier spec RPM car cela rend plus difficile le test de l'application ou de la bibliothèque que vous prévoyez d'empaqueter.

note: Tag: para
en: If you intend to support relocatable packages, covered in <xref linkend="ch-advanced-packaging" /> , you will likely need to pass a --prefix option to the configure script. For example:
fr: Si vous avez l'intention de prendre en charge des paquets relogeables, expliqués dans le <xref linkend="ch-advanced-packaging" />, vous aurez vraisemblablement besoin de passer l'option --prefix au script configure. Par exemple :

note: Tag: para
en: You can also pass other options to the configure script, as needed, for compiling the application.
fr: Vous pouvez également  passer d'autres options au script configure, si nécessaire, pour compiler l'application.

note: Tag: title
en: Installing the software
fr: Installer le logiciel

note: Tag: para
en: The %install section should install the software built in the %build section. If your Makefile contains all the instructions to install, you can define an %install section as follows:
fr: La section %install installe le logiciel construit dans la section %build. Si votre Makefile contient toutes les instructions pour l'installation, vous pouvez définir une section %install comme suit :

note: Tag: para
en: In most cases, you need to pass some parameter to make or install or another command to install all files into the buildroot directory, as shown in this example with the $RPM_BUILD_ROOT environment variable. You need to look within the Makefile to determine if the make variable should be PREFIX, prefix, or something else.
fr: Dans la plupart des cas, vous devez passer des paramètres pour construire ou installer, ou bien une autre commande pour installer tous les fichiers dans le répertoire « buildroot », comme le montre cet exemple avec la variable d'environnement  $RPM_BUILD_ROOT. Vous devez regarder dans le fichier Makefile pour déterminer si la variable de make doit être PREFIX, prefix ou quelque chose d'autre.

note: Tag: para
en: Sometimes, you want to call the install command instead of make to perform the installation. For example:
fr: Parfois, vous pouvez souhaiter faire appel à la commande install au lieu de make pour réaliser l'installation. Par exemple :

note: Tag: para
en: install -m755 myapp $RPM_BUILD_ROOT/usr/bin/myapp
fr: install -m755 MON_APPLICATION $RPM_BUILD_ROOT/usr/bin/MON_APPLICATION

note: Tag: para
en: This example uses a hypothetical application name of myapp.
fr: Dans cet exemple, nous avons pris pour hypothèse que le nom de l'application était MON_APPLICATION.

note: Tag: para
en: Many packages use the %makeinstall macro, which runs the make install command. For example:
fr: Beaucoup de paquets utilisent la macro %makeinstall, qui lance la commande make install. Par exemple :

note: Tag: para
en: This example also cleans the files from the buildroot. Use the rpm --eval command to see how the %makeinstall macro expands. For example:
fr: Cet exemple fait également le nettoyage des fichiers dans le « buildroot ». Utilisez la commande rpm --eval pour voir comment se développe la macro %makeinstall. Par exemple :

note: Tag: para
en: RPM 4.2 adds a %check section after the %install.
fr: RPM 4.2 a ajouté une section %check après %install.

note: Tag: title
en: Cleaning up after the build
fr: Nettoyer après la construction

note: Tag: para
en: The %clean section should clean up after the build and installation, removing compiled files and other files created as part of the build. If you use a buildroot, discussed previously, then you can provide a %clean section like the following:
fr: La section %clean nettoie après la phase construction et installation en supprimant les fichiers compilés et autres fichiers créés faisant partie de la construction. Si vous utilisez un « buildroot », exposé plus haut, alors vous pouvez définir une section %clean comme suit :

note: Tag: title
en: Defining installation scripts
fr: Définir des scripts d'installation

note: Tag: para
en: In addition to the sections described previously for controlling the build of the package software, you can define more scripts in your RPM spec files. RPM supports a script run prior to installation, %pre, and a script run after installation, %post. The same concepts apply when a package is erased, or uninstalled. The %preun script is run just before the uninstall and the %postun script just after the uninstall.
fr: Outre les sections décrites plus haut pour contrôler la construction du paquet logiciel, vous pouvez définir en plus des scripts dans vos fichiers spec RPM. RPM prend en charge le lancement d'un script avant installation %pre, et d'un script après installation %post. Le même concept est applicable lorsqu'un paquet est supprimé ou désinstallé. Le script %preun est lancé juste avant la désinstallation et le script %postun juste après.

note: Tag: para
en: <xref linkend="ch-advanced-packaging" /> covers triggers, another form of script that gets run when packages are installed or removed.
fr: Le <xref linkend="ch-advanced-packaging" /> porte sur les déclencheurs, une autre forme de script lancé quand les paquets sont installés ou supprimés.

note: Tag: para
en: Start your scripts with the RPM section marker for the given script, such as %pre for the pre-install script. Then, place the shell commands you want to run. For example, the following define %post, %preun and %postun scripts from the ypbind networking package:
fr: Débutez vos scripts avec le marqueur de section RPM pour le script donné, comme %pre pour le script avant installation. Ensuite, placez les commandes de l'interpréteur que vous souhaitez exécuter. À titre d'exemple, ce qui suit définit les scripts %post, %preun et %postun du paquet ypbind pour le travail en réseau :

note: Tag: para
en: Few packages need to perform any work prior to installation, so the %pre script is rarely used.
fr: Peu de paquets ont besoin de réaliser un travail avant installation ; le script %pre est donc rarement utilisé.

note: Tag: para
en: In this example, the chkconfig command is called to update the runlevel information for system services after installation and prior to removal. This is an example where just installing the application, ypbind in this case, is not enough. Since this application acts as a system service, more work needs to be done to finish the installation with the %pre script or clean up the service on removal with the %preun script.
fr: Dans cet exemple, la commande chkconfig est appelée pour mettre à jour le niveau d'exécution des services système après installation et avant suppression. Ceci est un exemple où la seule installation de l'application, ypbind dans le cas présent, n'est pas suffisante. Étant donné que cette application agit en tant que service système, quelques tâches supplémentaires doivent être exécutées pour terminer l'installation avec le script %pre ou pour nettoyer le service lors de sa suppression avec le script %preun.

note: Tag: para
en: Do not try to write interactive scripts. Many users install RPMs automatically. In such cases, or if the user runs a graphical RPM tool, any information your scripts output will be lost. User input will not be available.
fr: Ne tentez pas d'écrire des scripts interactifs. Beaucoup d'utilisateurs installent les RPM automatiquement. Dans ce cas là, ou bien si l'utilisateur emploie un outil RPM graphique, toutes les sorties des scripts seront perdues. Les entrées de l'utilisateur ne peuvent pas être disponibles.

note: Tag: para
en: The rpm command will pass one argument to your scripts, shown as $1 in the previous example, which holds a count of the number of versions of the package that are installed. Table 10-3 lists the counts for specific cases.
fr: La commande rpm doit passer un argument à vos scripts, marqué par $1 dans l'exemple précédent. Il contient le décompte du nombre de versions du paquet installées. Le tableau 10.3 liste ces décomptes pour des cas particuliers.

note: Tag: para
en: Table 10-3 Install and uninstall script count values
fr: Tableau 10.3 : valeurs de décompte du script d'installation ou désinstallation

note: Tag: para
en: Count
fr: Décompte

note: Tag: para
en: Install the first time
fr: Première installation

note: Tag: para
en: Upgrade
fr: Mise à niveau

note: Tag: para
en: 2 or higher (depending on the number of versions installed)
fr: 2 ou plus (selon le nombre de versions installées)

note: Tag: para
en: Remove last version of package
fr: Suppression de la dernière version du paquet

note: Tag: para
en: The previous script example accesses the count using the shell variable $1.
fr: L'exemple de script précédent a accès au décompte avec la variable $1 de l'interpréteur.

note: Tag: title
en: Filling the List of Files
fr: Complétion de la liste des fichiers

note: Tag: para
en: The %files section holds a list of all the files that RPM should install from the package. This list should be exhaustive, so that the RPM system knows exactly what your package installs. There are some options, though, to name all the files within a directory to help with packages containing hundreds of files.
fr: La section %files contient une liste de tous les fichiers du paquet que RPM doit installer. Cette liste doit être exhaustive, de façon à ce que le système RPM sache exactement ce que votre paquet installe. Toutefois, il existe quelques options pour aider à dénommer les fichiers dans un répertoire dans le cas de paquets contenant des centaines de fichiers.

note: Tag: para
en: In the default case, each line under the %files section names a separate file with its full path. For example:
fr: Dans le cas par défaut, chaque ligne sous la section %files nomme un fichier isolé avec son chemin complet. Par exemple :

note: Tag: para
en: This example lists two files, /usr/X11R6/bin/xtoolwait and /usr/X11R6/man/man1/xtoolwait.1, presumably an online manual files.
fr: Cet exemple liste deux fichiers,  /usr/X11R6/bin/xtoolwait et /usr/X11R6/man/man1/xtoolwait.1, probablement des fichiers de manuel en ligne.

note: Tag: title
en: Using wildcards
fr: Utiliser des jokers

note: Tag: para
en: In addition to naming each file on a line, you can use glob-style wildcards. For example:
fr: Au lieu de nommer un fichier par ligne, vous pouvez utiliser des jokers de style global. Par exemple :

note: Tag: para
en: This example states that all files in /usr/X11R6/man/man1 that start with xtoolwait. should be included in the package.
fr: Cet exemple suppose que tous les fichier dans /usr/X11R6/man/man1 débutant par xtoolwait. doivent être incorporés dans le paquet.

note: Tag: title
en: Naming directories of files
fr: Nommer des répertoires de fichiers

note: Tag: para
en: In addition to using wildcard globs, you can specify whole directories as part of your package. For example:
fr: En plus de l'utilisation de jokers globaux, vous pouvez définir des répertoires complets comme faisant par de votre paquet. Par exemple :

note: Tag: para
en: This example names all the files in the directory /etc/xtoolwait as part of the package. Be very careful when listing this directory. Do not include a system directory such as /usr/bin, as RPM will assume your package owns all of /usr/bin, which contains hundreds of commands. This can be a problem when you try to remove a package.
fr: Cet exemple indique que tous les fichiers du répertoire /etc/xtoolwait font partie du paquet. Soyez très attentif en listant ces répertoires. N'incorporez pas un répertoire système tel que /usr/bin, car RPM supposera que votre paquet possède la totalité de /usr/bin, qui contient des centaines de commandes. Cela peut devenir un problème quand vous essayez de supprimer un paquet.

note: Tag: para
en: It is OK to name a subdirectory that your package owns. For example, while /etc is a system directory, /etc/xtoolwait is a reasonable directory for the xtoolwait package to control.
fr: Nommer un sous-répertoire possédé par votre  paquet est acceptable. Par exemple, même si /etc est un répertoire système, xtoolwait peut légitimement contrôler le sous-répertoire /etc/xtoolwait.

note: Tag: para
en: If you just want to include an empty directory in the package, and not the files within the directory, use the %dir directive in front of the directory name. For example:
fr: Si vous voulez juste incorporer un répertoire vide dans le paquet, sans fichier à l'intérieur, utilisez la directive %dir devant le nom du répertoire. Par exemple :

note: Tag: para
en: This example states that the package contains the /usr/X11R6/bin/xtoolwait program and the empty directory /etc/xtoolwait.
fr: Cet exemple suppose que le paquet contient le programme /usr/X11R6/bin/xtoolwait et le répertoire vide /etc/xtoolwait.

note: Tag: para
en: In addition to the straight list of files or directories, RPM provides other options, starting with marking certain files as documentation or configuration files.
fr: En plus de listes ordonnées de fichiers ou répertoires, RPM fournit d'autres options, telles que le marquage de certains fichiers comme fichiers de documentation ou de configuration.

note: Tag: title
en: Marking files as documentation or configuration files
fr: Marquer des fichiers en tant que fichiers de documentation ou de configuration

note: Tag: para
en: RPM keeps special track of files within a package that hold documentation or configuration data. You need to identify these files with special directives.
fr: RPM suit de façon particulière les fichiers du paquet contenant des données de documentation ou de configuration. Vous devez identifier ces fichiers avec des directives spéciales.

note: Tag: para
en: The %doc directive marks a file as a documentation file. For example:
fr: La directive %doc marque un fichier an tant que fichier de documentation. Par exemple :

note: Tag: para
en: This example lists all the included files in /usr/X11R6/man/man1 as documentation files.
fr: Cet exemple liste tous les fichiers contenus dans /usr/X11R6/man/man1 comme fichiers de documentation.

note: Tag: para
en: If you don’t include the full path to a documentation file or files, the RPM system will create a special documentation directory for the package, and place those files into that directory. For example:
fr: Si vous ne mentionnez pas le chemin complet vers un ou plusieurs fichiers de documentation, le système RPM crée un répertoire spécial pour la documentation du paquet et y place ces fichiers. Par exemple :

note: Tag: para
en: This example places the files README and NEWS into a newly created package-specific directory, typically a subdirectory under /usr/share/doc or /usr/doc.
fr: Cet exemple place les fichiers README et NEWS dans un dossier nouvellement créé réservé au paquet, en règle générale un sous-répertoire de /usr/share/doc ou /usr/doc.

note: Tag: para
en: The %docdir directive names a directory that holds documentation. All files under that directory in the package will get automatically marked as documentation files. For example:
fr: La directive %docdir désigne un dossier contenant la documentation. Tous les fichiers du paquet dans ce répertoire sont automatiquement marqués comme fichiers de documentation. Par exemple :

note: Tag: para
en: In addition to the marked directories, the standard Linux documentation directories, such as /usr/share/man, are automatically assumed to be documentation directories.
fr: En plus des répertoires spécifiquement désignés, les répertoires standards de documentation Linux, tels que usr/share/man, sont automatiquement considérés être des répertoires de documentation.

note: Tag: para
en: Similar to the %doc directive, the %config directive marks a file as configuration. For example:
fr: De manière analogue à la directive %doc, la directive %config marque un fichier comme fichier de configuration. Par exemple :

note: Tag: para
en: A special option to the %config directive, noreplace, tells RPM not to overwrite, or replace a configuration file. For example:
fr: Une option particulière de la directive %config, noreplace, demande à RPM de ne pas écraser ou remplacer un fichier de configuration. Par exemple :

note: Tag: para
en: Use this option to help protect local modifications. If you use %config(noreplace), the file will not overwrite an existing file that has been modified. If the file has not been modified on disk, the rpm command will overwrite the file. But, if the file has been modified on disk, the rpm command will copy the new file with an extra file-name extension of .rpmnew.
fr: Utilisez cette option pour protéger de modifications au niveau local. Si vous utilisez %config(noreplace), le fichier n'écrasera pas un fichier existant qui a été modifié. Si le fichier n'a pas été modifié sur disque, la commande rpm remplacera le fichier. Mais si le fichier a été modifié sur disque, la commande rpm copiera le nouveau fichier avec une extension supplémentaire au nom du fichier de .rpmnew.

note: Tag: para
en: Similarly, %config(missingok) means that the file does not have to exist on disk. You can use this modifier for files or links that are created during the %post scripts but will need to be removed if the package is removed.
fr: De même, %config(missingok) signifie que le fichier n'a pas à exister sur disque. Vous pouvez utiliser ce modificateur pour les fichiers ou les liens qui sont créés avec l'exécution de scripts %post, mais qui doivent être supprimés si le paquet est désinstallé.

note: Tag: para
en: Another special modifier, %ghost, tells the rpm command that the file should not be included in the package. You can use this to name the needed attributes for a file that the program, when installed, will create. For example, you may want to ensure that a program’s log file has certain attributes.
fr: Un autre modificateur spécial, %ghost, demande à la commande rpm que le fichier ne soit pas incorporé dans le paquet. Vous pourrez l'utiliser pour définir les attributs voulus d'un fichier créé par le programme après installation. Par exemple, vous pouvez souhaiter vous assurer que le fichier de journalisation du programme possèdera bien certains attributs.

note: Tag: title
en: Setting file attributes
fr: Régler les attributs de fichier

note: Tag: para
en: When your package is installed, you can control the file attributes as well as the files that get included into the package. This is very useful since most packages are installed by the root user and you don’t always want the root user owning the files.
fr: Une fois votre paquet installé, vous pouvez contrôler les attributs de fichier ainsi que les fichiers incorporés dans le paquet. Ceci est très utile car la plupart des paquets sont installés par l'utilisateur « root », mais vous ne souhaitez pas dans tous les cas que cet utilisateur « root » possède les fichiers.

note: Tag: para
en: The %attr directive allows you to control the permissions for a particular file. The format is:
fr: La directive %attr vous permet de contrôler les droits d'accès à un fichier donné. Le format est :

note: Tag: para
en: %attr(mode, user, group) filename
fr: %attr(MODE, UTILISATEUR, GROUPE) NOM_DE_FICHIER

note: Tag: para
en: This example sets the file permissions to 644, the user and the group to root. If you don’t need to specify a value, use a dash, -, to leave the setting as is for the file. For example:
fr: Cet exemple fixe les droits d'accès à 644, l'utilisateur et le groupe à « root ». Si vous n'avez pas besoin de préciser une valeur, utilisez un tiret, « - » pour laisser les réglages tels que pour ce fichier. Par exemple :

note: Tag: para
en: Note that you can combine directives, one after another. For example:
fr: Notez que vous pouvez combiner les directives, les unes après les autres. Par exemple :

note: Tag: para
en: You can also use spaces instead of commas as delimiters. For example:
fr: Vous pouvez aussi utiliser des espaces à la place de virgules comme délimiteurs. Par exemple :

note: Tag: para
en: In addition to using %attr to set the attributes for a file, you should use the %defattr directive to set the default attributes for all files in the package. For example:
fr: En plus de l'utilisation de %attr pour fixer les attributs d'un fichier, vous pouvez utiliser la directive %defattr pour définir les attributs par défaut pour tous les fichiers du paquet. Par exemple :

note: Tag: para
en: Just about every spec file uses the %defattr directive as this directive eliminates a lot of work you need to do to set file attributes individually. In addition, using the %defattr directive is considered a best practice when creating packages.
fr: À peu près tous les fichiers spec utilisent la directive %defattr car elle vous évite le travail d'avoir à fixer les attributs des fichiers un à un. En plus, l'utilisation de la directive %defattr est considérée comme de bonne pratique lors de la création de paquets.

note: Tag: para
en: You can also mark files for a particular language. For example, from the tcsh shell package:
fr: Vous pouvez également marquer des fichiers pour une langue donnée. Par exemple, extrait du paquet de l'interpréteur tcsh :

note: Tag: para
en: This example marks certain files as only being of use with particular languages, such as ja for the Japanese text and fr for the French text.
fr: Cet exemple marque certains fichiers comme n'étant utilisés qu'avec des langues bien définies, comme ja pour le texte en japonais et fr pour le texte en français.

note: Tag: title
en: Verifying the %files section
fr: Vérifier la section %files

note: Tag: para
en: You can use the %verify directive to control which tests RPM uses when verifying a package.
fr: Vous pouvez utiliser la directive %verify pour contrôler quels tests RPM utilisera lors de la vérification du paquet.

note: Tag: para
en: See <xref linkend="ch-using-rpm-db" /> for more on package verification.
fr: Voyez le <xref linkend="ch-using-rpm-db" /> pour plus de détails à propos de la vérification des paquets.

note: Tag: para
en: The %verify directive names the tests to include or not include. Table 10-4 lists the tests.
fr: La directive %verify indique les tests à inclure ou pas. Le tableau 10-4 liste les tests.

note: Tag: para
en: Table 10-4 Package verification tests
fr: Tableau 10-4 : tests de vérification des paquets

note: Tag: para
en: Verifies the group of the file
fr: Vérifier le groupe du fichier

note: Tag: para
en: Verifies the file’s major device number
fr: Vérifier le numéro majeur du périphérique du fichier

note: Tag: para
en: Verifies the file’s MD5 checksum
fr: Vérifier la somme de contrôle MD5 du fichier

note: Tag: para
en: Verifies the file’s minor device number
fr: Vérifier le numéro mineur du périphérique du fichier

note: Tag: para
en: Verifies the file mode, or permissions
fr: Vérifier le mode du fichier ou les droits d'accès.

note: Tag: para
en: Verifies the file’s last modification time
fr: Vérifier l'horodatage de la dernière modification du fichier

note: Tag: para
en: Verifies the owner of the file
fr: Vérifier le propriétaire du fichier

note: Tag: para
en: Verifies the file’s size
fr: Vérifier la taille du fichier

note: Tag: para
en: Verifies a symbolic link
fr: Vérifier un lien symbolique

note: Tag: para
en: With the %verify directive, you can name test, such as shown following:
fr: Avec la directive %verify, vous pouvez définir un test, comme le montre l'exemple suivant :

note: Tag: para
en: This example limits the tests to owner, group, and size. (The default is to perform all the tests.) You can also use the word not to specify that RPM should not run one or more tests. For example:
fr: Cet exemple limite les tests au propriétaire, au groupe et à la taille (par défaut, tous les tests sont réalisés). Vous pouvez aussi utiliser le mot clé « not » pour préciser que RPM ne doit pas faire un ou plusieurs tests. Par exemple :

note: Tag: para
en: This example turns off just the owner test.
fr: Cet exemple désactive uniquement le test de propriété.

note: Tag: title
en: Filling the list of files automatically
fr: Remplir la liste des fichiers automatiquement

note: Tag: para
en: The -f option to the %files section allows you to read in a list of file names from a file. This file is assumed to look like the contents of the %files section, holding one file name per line. You can also include the various directives for files such as %attr or %doc. For example:
fr: L'option -f de la section %files vous permet de lire la liste des fichiers placée dans un fichier liste. Ce fichier est supposé ressembler au contenu d'une section %files, avec un nom de fichier par ligne. Vous pouvez aussi inclure les diverses directives pour les fichiers telles que %attr ou %doc. Par exemple :

note: Tag: para
en: %files -f list_of_filenames.txt
fr: %files -f LISTE_DE_FICHIERS.txt

note: Tag: para
en: You can combine this list with filename entries, such as the following:
fr: Vous pouvez combiner cette liste avec des entrées constituées d'un nom de fichier, comme dans ce qui suit :

note: Tag: para
en: This example reads in a list of file names from the file named xconfig_files.txt and also includes two additional files.
fr: Cet exemple lit une liste de noms de fichiers à partir d'un fichier nommé xconfig_files.txt et incorpore aussi deux fichiers supplémentaires.

note: Tag: para
en: This list of files works best if you cannot determine the file names in advance. The build may create different files based on various macro values. In addition, you may not know the final paths for the files until build time.
fr: Cette liste de fichiers fonctionne mieux si vous ne pouvez pas déterminer le nom des fichiers à l'avance. La construction peut créer divers fichiers selon les valeurs de diverses macros. En plus, vous pouvez ne pas connaître le chemin final des fichiers avant le moment de la construction.

note: Tag: title
en: Handling RPM build errors for unpackaged files
fr: Gérer des erreurs de construction de RPM pour des fichiers non empaquetés

note: Tag: para
en: Starting with RPM 4.1, rpmbuild will exit if all files in the $RPM_BUILD_ROOT directory are not found in the %files section (or in a file that lists file names used with the -f option). This is officially known as a Fascist build policy and you can turn it off with the following macros.
fr: Avec la version 4.1 de RPM, rpmbuild quitte si tous les fichiers dans le répertoire $RPM_BUILD_ROOT ne sont pas présents dans la section %files (ou dans un fichier listant les noms de fichiers si l'option -f a été utilisée). Cette politique de construction est officiellement reconnue comme « dictatoriale » et vous pouvez la désactiver avec les macros suivantes.

note: Tag: para
en: The %_unpackaged_files_terminate_build macro, if set to 1, tells rpmbuild to exit if it finds files that are in the $RPM_BUILD_ROOT directory but not listed as part of the package. Set this macro to 0 to turn off the Fascist build policy. For example:
fr: La macro %_unpackaged_files_terminate_build, définie égale à 1, demande à rpmbuild de quitter s'il trouve des fichier dans le répertoire $RPM_BUILD_ROOT non listés comme faisant partie du paquet. Définissez-la égale à 0 pour désactiver la politique « dictatoriale ». Par exemple :

note: Tag: para
en: You can also control the flag that specifies whether missing documentation files cause rpmbuild to exit. Set the %_missing_doc_files_terminate_build macro to 0 to turn off this feature:
fr: Vous pouvez également contrôler l'indicateur qui définit si l'absence de fichiers de documentation soit entraîner l'arrêt de rpmbuild. Définissez la macro %_missing_doc_files_terminate_build égale à 0 pour désactiver cette fonction :

note: Tag: para
en: See the "Defining Spec File Macros" section later in the chapter for more on using macros.
fr: Voir le paragraphe « Définition de macros pour fichier spec » plus loin dans ce chapitre pour plus d'informations sur l'utilisation des macros.

note: Tag: para
en: You can also store this setting in a macro file so that it applies for all packages you build. See <xref linkend="ch-customizing-rpm" /> for more on macro files.
fr: Vous pouvez également stocker ce réglage dans un fichier de macro de façon à ce qu'il s'applique à tous les paquets que vous construisez. Voir le <xref linkend="ch-customizing-rpm" /> pour plus de détails sur les fichiers de macros.

note: Tag: para
en: While the Fascist build policy may be an annoyance, it can prove very useful. Chances are your spec file has an error if you have files in the $RPM_BUILD_ROOT directory that are not listed in the %files section. The Fascist build policy helps catch these errors. In addition, since the error outputs a list of files in the $RPM_BUILD_ROOT directory that are not listed in the %files section, you can often paste this list into your %files section.
fr: Bien que la politique de construction « dictatoriale » puisse être un désagrément, elle peut se montrer également très utile. Il y a des chances que votre fichier spec comporte une erreur si vous avez des fichiers dans le répertoire $RPM_BUILD_ROOT qui ne sont pas listés dans la section %files. La politique de construction « dictatoriale » vous aide à cerner ces erreurs. En plus, comme l'erreur affiche en sortie la liste des fichiers dans le répertoire $RPM_BUILD_ROOT qui ne sont pas cités dans la section %files, vous pourrez coller cette liste dans votre section %files.

note: Tag: title
en: Adding Change Log Entries
fr: Ajout d'entrées dans le journal des modifications

note: Tag: para
en: The change log usually appears at the end of a spec file and is marked with %changelog. It holds messages for each significant change. You should add a change log entry for each major change to the application. For example, if you download a new version of the software you are packaging, add a change log entry for the new version:
fr: Le journal des modifications se situe habituellement à la fin du fichier spec et il est marqué par la directive %changelog. Il contient des messages pour chaque modification significative. Vous devez ajouter une entrée dans le journal pour chaque modification majeure de l'application. Par exemple, si vous téléchargez une nouvelle version du logiciel que vous empaquetez, ajoutez une entrée dans le journal des modifications pour cette nouvelle version :

note: Tag: para
en: * Fri Jun 21 2002 Bob Marley &lt;marley@reggae.com&gt;
fr: * Ven 21 Juin 2002 Bob Marley &lt;marley@reggae.com&gt;

note: Tag: para
en: - Downloaded version 1.4, applied patches
fr: Téléchargement de la version 1.4, application de correctifs

note: Tag: para
en: * Tue May 08 2001 Peter Tosh &lt;tosh@reggae.com&gt; 1.3-1
fr: * Mar 08 Mai 2001 Peter Tosh &lt;tosh@reggae.com&gt; 1.3-1

note: Tag: para
en: - updated to 1.3
fr: - mise à jour à la version 1.3

note: Tag: title
en: Defining Spec File Macros
fr: Définition de macros pour fichier spec

note: Tag: para
en: The RPM system defines a lot of handy macros so that your spec files can work regardless of where system directories are located. You simply use the macro, such as %_bindir, in place of hard-coded paths. The %_bindir macro, for example, identifies the default directory for binary executables, /usr/bin.
fr: Le système RPM définit un ensemble de macros pratiques de sorte que vos fichiers spec peuvent fonctionner quel que soit l'emplacement des répertoires système. Utilisez simplement une macro, comme %_bindir plutôt que des chemins codés en dur. La macro %_bindir identifie le répertoire par défaut pour des exécutables binaires, /usr/bin.

note: Tag: para
en: Use these macros wherever possible to avoid hard-coded paths and settings.
fr: Utilisez ces macros chaque fois que c'est possible pour éviter réglages ou chemins codés en dur.

note: Tag: title
en: Built-in macros
fr: Macro incorporées

note: Tag: para
en: RPM includes a host of built-in macros, including the following useful directories:
fr: RPM inclut une foule de macros incorporées, comprenant les répertoires utiles suivants :

note: Tag: para
en: The example directories shown above come from the standard RPM macro file, /usr/lib/rpm/macros, instead of the Red Hat-specific file, /usr/lib/rpm/redhat/macros, which holds:
fr: Les exemples de répertoires énumérés ci-dessus proviennent du fichier de macros standard de RPM, /usr/lib/rpm/macros ; à la place, le fichier particulier à Red Hat, /usr/lib/rpm/redhat/macros, contient :

note: Tag: title
en: Spec file-specific macros
fr: Macros spécifiques au fichier spec

note: Tag: para
en: Most of the pre-defined RPM macros hold directory paths or architecture information. RPM also includes a set of useful macros that you can use to help debug problematic spec files and well as perform common tasks in spec files. Table 10-5 lists these debugging and special spec file macros.
fr: La plupart des macros prédéfinies de RPM contiennent des chemins de répertoire ou des informations d'architecture. RPM contient aussi un jeu de macros utiles que vous utiliserez pour faciliter le débogage de fichiers spec problématiques tout aussi bien que pour réaliser des tâches courantes dans des fichiers spec. Le tableau 10-5 liste ces macros de débogage et pour fichiers spec particuliers.

note: Tag: para
en: Table 10-5 Special spec-file macros
fr: Tableau 10-5 : macros spéciales pour fichiers spec

note: Tag: para
en: Prints out macro values
fr: Afficher les valeurs de macro

note: Tag: para
en: %{echo:message}
fr: %{echo:MESSAGE}

note: Tag: para
en: Prints message to stderr
fr: Afficher MESSAGE sur stderr

note: Tag: para
en: %{error:message}
fr: %{error:MESSAGE}

note: Tag: para
en: Prints message to stderr and returns BADSPEC
fr: Afficher MESSAGE sur stderr et renvoyer BADSPEC

note: Tag: para
en: %{expand:expression}
fr: %{expand:EXPRESSION}

note: Tag: para
en: Like eval, expands expression
fr: Comme eval, développer EXPRESSION

note: Tag: para
en: %{F:file_exp}
fr: %{F:FICHIER_EXP}

note: Tag: para
en: Expands file_exp to a file name
fr: Développer FICHIER_EXP en nom de fichier

note: Tag: para
en: %global name value
fr: %global NOM VALEUR

note: Tag: para
en: Defines a global macro
fr: Définir une macro globale

note: Tag: para
en: %{P:patch_exp}
fr: %{P:PATCH_EXP}

note: Tag: para
en: Expands patch_exp to a patch file name
fr: Développer PATCH_EXP en nom de fichier de correctif

note: Tag: para
en: %{S:source_exp}
fr: %{S:SOURCE_EXP}

note: Tag: para
en: Expands source_exp to a source file name
fr: Développer SOURCE_EXP en nom de fichier source

note: Tag: para
en: Toggles the printing of debugging information
fr: Enclencher l'affichage des informations de débogage

note: Tag: para
en: %{uncompress:filename}
fr: %{uncompress:NOM_DE_FICHIER}

note: Tag: para
en: Tests if file filename is compressed. If so, uncompresses and includes in the given context. If not compressed, calls cat to include file in given context.
fr: Tester si le fichier NOM_DE_FICHIER est compressé. Si oui, l'extraire et l'incorporer dans le contexte donné. Si non, appeler cat pour l'incorporer dans le contexte donné.

note: Tag: para
en: %undefine macro
fr: %undefine MACRO

note: Tag: para
en: Undefines the given macro
fr: Rendre non-définie la MACRO donnée

note: Tag: para
en: %{warn:message}
fr: %{warn:MESSAGE}

note: Tag: para
en: To see the current list of macros, put a %dump at the start of your spec file.
fr: Pour voir la liste des macros en cours, mettez %dump au début de votre fichier spec

note: Tag: title
en: Defining new macros
fr: Définir de nouvelles macros

note: Tag: para
en: In addition to the built-in macros, you can define your own to make it easier to manage your packages. Define a new spec file macro with the following syntax:
fr: En plus des macros incorporées, vous pouvez définir vos propres macro pour faciliter la gestion de vos paquets. Définissez une nouvelle macro de fichier spec avec la syntaxe suivante :

note: Tag: para
en: %define macro_name value
fr: %define NOM_DE_MACRO VALEUR

note: Tag: para
en: You can then use a macro with the %macro_name or %{macro_name} syntax. For example:
fr: Vos pourrez ensuite utiliser la macro avec la syntaxe %NOM_DE_MACRO ou %{NOM_DE_MACRO}. Par exemple :

note: Tag: para
en: You can also expand the results of running shell commands using a %(command) syntax with parenthesis instead of curly braces. For example:
fr: Vous pouvez aussi développer les résultats de l'exécution de commandes de l'interpréteur utilisant la syntaxe %(COMMANDE) avec des parenthèses au lieu d'accolades. Par exemple :

note: Tag: title
en: Specifying parameters to macros
fr: Préciser des paramètres aux macros

note: Tag: para
en: Most macros perform simple text substitution. You can also pass parameters to macros, and access those parameters within your macros, similarly to how shell scripts get command-line parameters.
fr: La plupart des macros réalisent une simple substitution de texte. Vous pouvez également paramètrer les macros, et avoir accès à leurs valeurs à l'intérieur de la macro, de la même manière que les scripts d'interpréteur obtiennent des valeurs de paramètres à partir de la ligne de commande.

note: Tag: para
en: <xref linkend="ch-scripting" /> covers shell scripting with RPM.
fr: Le <xref linkend="ch-scripting" /> développe l'écriture de scripts d'interpréteur avec RPM.

note: Tag: para
en: With parameters, you can expand the normal definition of a macro to the following:
fr: Avec des paramètres, vous pouvez développer la définition normale d'une macro comme suit :

note: Tag: para
en: %define macro_name(options) value
fr: %define NOM_DE_MACRO(OPTIONS) VALEUR

note: Tag: para
en: Any text within the parenthesis is passed to getopt(3), and acts as parameters to the macro. This is performed when the macro is expanded. You can also pass options to the macro using the %macro_name syntax (without curly braces). For example:
fr: Tout texte entre parenthèses est passé à getopt(3), et agit en tant que paramètre de la macro. Ceci est effectué une fois la macro développée. Vous pouvez également passer des options à la macro en utilisant la syntaxe %NOM_DE_MACRO (sans accolades). Par exemple :

note: Tag: para
en: This example passes the parameters 1, 2, and 3 to the macro foo. Inside the macro, you can use a shell script-like syntax to access the parameters through special macros. Table 10-6 lists these macros.
fr: Cet exemple passe les paramètres 1, 2 ou 3 à la macro foo. À l'intérieur de la macro, vous pouvez utiliser une syntaxe du genre script d'interpréteur pour avoir accès aux paramètres par l'intermédiaire de macros spéciales. Le tableau 10-6 liste ces macros.

note: Tag: para
en: Table 10-6 Parameter macros inside a macro expansion
fr: Tableau 10-6 : développement de paramètres de macros dans une macro

note: Tag: para
en: Holds
fr: Contient

note: Tag: para
en: The name of the macro
fr: Le nom de la macro

note: Tag: para
en: All the parameters to the macro, except for any processed options
fr: Tous les paramètres de la macro, excepté toute option en cours de traitement

note: Tag: para
en: The number of parameters
fr: Le nombre de paramètres

note: Tag: para
en: The first parameter
fr: Le premier paramètre

note: Tag: para
en: The second parameter
fr: Le second paramètre

note: Tag: para
en: The third parameter, and so on with %4, %5 and beyond
fr: Le troisième paramètre, et ainsi de suite avec %4, %5 et au-delà

note: Tag: para
en: Holds -p if the -p parameter was passed to the macro; otherwise holds nothing
fr: Contient -p si le paramètre -p a été passé à la macro ; sinon ne contient rien

note: Tag: para
en: Holds the value passed with the -p parameter, if the -p parameter was passed to the macro; otherwise holds nothing
fr: Contient la valeur passée avec le paramètre -p, si le paramètre -p a été passé à la macro ; sinon ne contient rien

note: Tag: para
en: %{-p:text}
fr: %{-p:TEXTE}

note: Tag: para
en: Holds text if the -p parameter was passed to the macro; otherwise holds nothing
fr: Contient TEXTE si le paramètre -p a été passé à la macro ; autrement ne contient rien

note: Tag: para
en: Note that all parameters listed in Table 10-6 hold the remaining parameters after getopt(3) processing. You can use these macros within the definition of your own macros. You can also nest macros, such as the following:
fr: Notez que tous les paramètres listés dans le tableau 10-6 contiennent les paramètres restants après traitement par getopt(3). Vous pouvez utiliser ces macros pour la définition de vos propres macros. Vous pouvez également imbriquer les macros, comme montré ci-après :

note: Tag: para
en: This macro expands to the patch command if no -p parameter was passed. If you pass a -p parameter, such as -p 1, then the macro expands to -p with the value of the -p parameter:
fr: Cette macro développe la commande patch si aucun paramètre -p n'a été passé. Si vous passez un paramètre -p, comme -p 1, alors la macro développe -p avec la valeur du paramètre -p :

note: Tag: para
en: This type of syntax is used heavily with the patch command.
fr: Ce type de syntaxe est fréquemment utilisé avec la commande patch.

note: Tag: title
en: Creating XML Spec Files
fr: Création de fichiers spec XML

note: Tag: para
en: RPM spec files are text files containing structured information. It is a natural progression to write RPM spec files using XML. The tool rpmxmlbuild will build an RPM package from an XML-formatted spec file.
fr: Les fichiers spec sont des fichiers texte contenant de l'information structurée. Écrire des fichiers spec en utilisant XML est donc une évolution naturelle. L'outil rpmxmlbuild construit un paquet RPM à partir d'un fichier spec au format XML.

note: Tag: para
en: For example, Listing 10-1 holds a spec file in XML format.
fr: Par exemple, le listage 10-1 contient un fichier spec au format XML.

note: Tag: para
en: Listing 10-1: An XML spec file.
fr: Listage 10-1 : un fichier spec XML

note: Tag: para
en: &lt;summary&gt;The Bash package contains the bash program.&lt;/summary&gt;
fr: &lt;summary&gt;Le paquet Bash contient le programme bash.&lt;/summary&gt;

note: Tag: para
en: Bash is the Bourne-Again SHell, which is a widely used command interpreter
fr: Bash est le Bourne-Again SHell ; c'est un interpréteur de commande très largement utilisé

note: Tag: para
en: on Unix systems. Bash is a program that reads from standard input, the
fr: sur les système Unix. Bash est un programme qui lit à partir de l'entrée standard, le

note: Tag: para
en: keyboard. A user types something and the program will evaluate what he has
fr: clavier. Un utilisateur saisit quelque chose et le programme évalue ce qui a

note: Tag: para
en: typed and do something with it, like running a program.&lt;/description&gt;
fr: été frappé et fait quelque chose avec ce contenu, comme exécuter un programme.&lt;/description&gt;

note: Tag: para
en: &lt;summary&gt;Documentation for the bash package.&lt;/summary&gt;
fr: &lt;summary&gt;Documentation pour le paquet bash.&lt;/summary&gt;

note: Tag: para
en: &lt;!-- scripts to create the package --&gt;
fr: &lt;!-- scripts pour créer le paquet --&gt;

note: Tag: para
en: &lt;script&gt;echo &amp;quot;Prep completed&amp;quot;&lt;/script&gt;
fr: &lt;script&gt;echo &amp;quot;Prep complété&amp;quot;&lt;/script&gt;

note: Tag: para
en: &lt;!-- changelog --&gt;
fr: &lt;!-- Journal des modifications --&gt;

note: Tag: para
en: &lt;changes date="Mon Aug 26 2002" version="2.05a-02test"
fr: &lt;changes date="Lun 26 Août 2002" version="2.05a-02test"

note: Tag: para
en: &lt;change&gt;Added setup macro to extract files&lt;/change&gt;
fr: &lt;change&gt;Ajout de la macro setup pour extraire des fichiers&lt;/change&gt;

note: Tag: para
en: &lt;change&gt;Initial version ready for jbj&lt;/change&gt;
fr: &lt;change&gt;Version initiale prête pour jbj&lt;/change&gt;

note: Tag: para
en: XML spec files are a very experimental feature. Future releases of RPM will likely provide more support for XML spec files. The format will likely change.
fr: Les fichiers spec au format XML sont des fonctionnalités expérimentales. Les futures parutions de RPM fourniront plus d'informations pour les fichier spec au format XML. Le format sera vraisemblablement modifié.

note: Tag: title
en: Summary
fr: Résumé

note: Tag: para
en: This chapter covers spec files, the files that define how to build packages. Start your spec file by defining package information, such as the name, version, and release number. You can also add a detailed description to help administrators decide whether to install your packages.
fr: Ce chapitre est relatif aux fichiers spec, fichiers définissant comment construire un paquet. Débutez votre fichier spec par la définition des informations sur le paquet, comme le nom, la version et le numéro de parution. Vous pouvez aussi ajouter une description détaillée pour aider les administrateurs système à décider de son installation ou non.

note: Tag: para
en: You need to name all of the source and patch files used to build the package. In most cases, the source files are compressed tar archives. After naming all the sources and patches, you need to control how the rpmbuild command should build your package. This comes in four sections.
fr: Vous devez nommer tous les fichiers source et les correctifs utilisés pour construire le paquet. Dans la plupart des cas, les fichiers sources sont des archives compressées tar. Après avoir nommé tous les sources et tous les correctifs, vous devez contrôler comment la commande rpmbuild construira le paquet. Cela s'effectue avec quatre sections.

note: Tag: para
en: The %prep section prepares for the build by extracting the source files and applying patches. The %build section defines the commands to build the software, normally something as simple as running a configure script and then the make command. The %install section contains the commands for installing the software. And, the %clean section provides commands to clean up after the build.
fr: La section %prep prépare la construction en extrayant les fichiers sources et en appliquant les correctifs. La section %build définit les commandes pour la construction du logiciel, normalement quelque chose aussi simple que l'exécution du script configure suivie de celle de la commande make. La section %install contient la commande pour installer le logiciel. Et, la section %clean fournit les commandes pour effectuer le nettoyage après la construction.

note: Tag: para
en: For these sections, you can use handy RPM macros for common tasks, such as running the configure script or the make install command. You can also define scripts the rpm command should run before and after installing, as well as before and after removing the package.
fr: Dans ces sections, vous pouvez utiliser des macros RPM pratiques pour les tâches courantes, comme l'exécution du script configure ou de la commande make install. Vous pouvez aussi définir des scripts que la commande rpm exécutera avant et après installation, ou bien avant et après la suppression du paquet.

note: Tag: para
en: Spec files contain a listing of all the files that should go into the package, as well as where those files should be placed on the user’s hard disk.
fr: Les fichiers spec contiennent la liste de tous les fichiers inclus dans le paquet, y compris leur localisation future sur le disque dur de l'utilisateur.

note: Tag: para
en: You can define RPM macros in your spec files to make commands that can work with different directory structures as well as simplify common commands.
fr: Vous pouvez définir des macros RPM dans vos fichiers spec pour faire des commandes fonctionnant sur diverses structures de répertoires ou bien encore pour simplifier les commandes usuelles.

note: Tag: para
en: While it may seem that this chapter described a great many options for making spec files, there’s more to come. The next chapter covers advanced spec file topics such as triggers, conditional builds, and specifying dependencies.
fr: Même s'il peut paraître que ce chapitre a décrit une grande multitude d'options pour écrire des fichiers spec, il reste encore des choses à venir. Le chapitre suivant porte sur les rubriques avancées des fichiers spec telles que les déclencheurs, les constructions conditionnelles et la définition des dépendances.
