po 4a - en to fr translation catalogue (557 entries)

note: Translators: change debiantutorial to debiantutorial.$lang to use translated file, and append to this string all commands to load localisation packages, e.g.: \\usepackage{debiantutorial.fr} \\usepackage[french]{babel} \\frenchsetup{...} type: Plain text
en: \usepackage{debiantutorial}
fr: \usepackage{debiantutorial.fr} \usepackage[french]{babel} \frenchbsetup{og=«,fg=»}

note: type: title{#2}
en: Debian Packaging Tutorial
fr: Tutoriel : la construction de paquets Debian

note: type: author{#2}
en: Lucas Nussbaum\\{\small\texttt{packaging-tutorial@packages.debian.org}}
fr: Lucas Nussbaum\\{\small\texttt{packaging-tutorial@packages.debian.org}}\\[0.5em]Traduction française de\\ Cédric\ Boutillier, Jean-Philippe\ Mengual\\et l'équipe francophone de traduction

note: type: frame{#2}
en: About this tutorial
fr: À propos de ce tutoriel

note: type: itemize
en: Goal: \textbf{tell you what you really need to know about Debian packaging}
fr: Objectif : \textbf{présenter ce que vous devez absolument savoir sur la construction de paquets Debian}

note: type: itemize
en: Modify existing packages
fr: Modifier des paquets existants

note: type: itemize
en: Create your own packages
fr: Créer vos propres paquets

note: type: itemize
en: Interact with the Debian community
fr: Interagir avec la communauté Debian

note: type: itemize
en: Become a Debian power-user
fr: Devenir un utilisateur chevronné de Debian

note: type: itemize
en: Covers the most important points, but is not complete
fr: Il couvre les points les plus importants mais n'est pas complet

note: type: itemize
en: You will need to read more documentation
fr: Vous devrez lire plus de documentation

note: type: itemize
en: Most of the content also applies to Debian derivative distributions
fr: L'essentiel s'applique aussi aux distributions dérivées de Debian

note: type: itemize
en: That includes Ubuntu
fr: en particulier à Ubuntu

note: type: frame{#2}
en: Outline
fr: Plan

note: type: textbf{#1}
en: GNU/Linux distribution
fr: Distribution GNU/Linux

note: type: itemize
en: 1st major distro developed ``openly in the spirit of GNU''
fr: 1\iere distribution majeure développée « ouvertement dans l'esprit GNU »

note: type: itemize
en: \textbf{Non-commercial}, built collaboratively by over 1,000 volunteers
fr: \textbf{Non commerciale}, fruit de la collaboration de plus de 1~000 bénévoles

note: type: itemize
en: 3 main features:
fr: 3 caractéristiques principales :

note: type: itemize
en: \textbf{Quality} -- culture of technical excellence\\ {\small\sl We release when it's ready}
fr: \textbf{Qualité} -- culture de l'excellence technique\\ {\small\sl Nous publions quand c'est prêt}

note: type: itemize
en: \textbf{Freedom} -- devs and users bound by the \textsl{Social Contract}\\ Promoting the culture of Free Software since 1993
fr: \textbf{Liberté} -- développeurs et utilisateurs adhèrent au \textsl{Contrat social}\\ Promotion de la culture du logiciel libre depuis 1993

note: type: itemize
en: \textbf{Independence} -- no (single) company babysitting Debian\\ And open decision-making process (\textsl{do-ocracy} + \textsl{democracy})
fr: \textbf{Indépendance} -- pas d'entreprise (unique) pour chapeauter Debian\\ et processus décisionnel ouvert (\textsl{volontariat} + \textsl{démocratie})

note: type: itemize
en: \textbf{Amateur} in the best sense: done for the love of it
fr: \textbf{Amateur} dans le bon sens du terme : \og fait avec amour \fg

note: type: frame{#2}
en: Debian packages
fr: Paquets Debian

note: type: itemize
en: \textbf{.deb} files (binary packages)
fr: Fichiers \textbf{.deb} (paquets binaires)

note: type: itemize
en: A very powerful and convenient way to distribute software to users
fr: Moyen puissant et pratique pour distribuer des logiciels aux utilisateurs

note: type: itemize
en: One of the two most common package formats (with RPM)
fr: Un des deux formats de paquets les plus courants avec RPM

note: type: itemize
en: Universal:
fr: Universel :

note: type: itemize
en: 30,000 binary packages in Debian\\ $\rightarrow$ most of the available free software is packaged in Debian!
fr: 30~000 paquets binaires dans Debian\\ $\rightarrow$ la plupart des logiciels libres sont empaquetés dans Debian !

note: type: itemize
en: For 12 ports (architectures), including 2 non-Linux (Hurd; KFreeBSD)
fr: 12 portages (architectures), dont 2 non Linux (Hurd et kFreeBSD)

note: type: itemize
en: Also used by 120 Debian derivative distributions
fr: Utilisé aussi par 120 distributions dérivées de Debian

note: type: frame{#2}
en: The Deb package format
fr: Le format de paquet Deb

note: type: itemize
en: \texttt{.deb} file: an \texttt{ar} archive
fr: Fichier \texttt{.deb} : une archive \texttt{ar}

note: $ type: itemize
en: \texttt{debian-binary}: version of the deb file format, \texttt{"2.0\textbackslash{}n"}
fr: \texttt{debian-binary} : version du format de fichier .deb, « \texttt{2.0\textbackslash{}n} »

note: type: itemize
en: \texttt{control.tar.gz}: metadata about the package\\ {\small \texttt{\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, \ldots}
fr: \texttt{control.tar.gz} : métadonnées sur le paquet\\ {\small \texttt{\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}\ldots}

note: type: itemize
en: \texttt{data.tar.gz}: data files of the package
fr: \texttt{data.tar.gz} : fichiers de données du paquet

note: type: itemize
en: You could create your \texttt{.deb} files manually\\ {\footnotesize \url{http://tldp.org/HOWTO/html\_single/Debian-Binary-Package-Building-HOWTO/}}
fr: Vous pourriez créer vos fichiers \texttt{.deb} à la main\\ {\footnotesize \url{http://tldp.org/HOWTO/html\_single/Debian-Binary-Package-Building-HOWTO/}}

note: type: itemize
en: But most people don't do it that way
fr: Mais la plupart des gens ne font pas comme ça

note: type: textbf{#1}
en: This tutorial: create Debian packages, the Debian way
fr: Ce tutoriel : création de paquets Debian à la manière Debian

note: type: frame{#2}
en: Tools you will need
fr: Outils dont vous avez besoin

note: type: itemize
en: A Debian (or Ubuntu) system (with root access)
fr: Un système Debian (ou Ubuntu) (avec accès superutilisateur)

note: type: itemize
en: Some packages:
fr: Quelques paquets :

note: type: itemize
en: \textbf{build-essential}: has dependencies on the packages that will be assumed to be available on the developer's machine (no need to specify them in the \texttt{Build-Depends:} control field of your package)
fr: \textbf{build-essential} : dépend de paquets supposés disponibles sur la machine du développeur (inutile de les indiquer dans le champ de contrôle \texttt{Build-Depends} de votre paquet)

note: type: itemize
en: includes a dependency on \textbf{dpkg-dev}, which contains basic Debian-specific tools to create packages
fr: dépend aussi de \textbf{dpkg-dev}, contenant les outils de base spécifiques à Debian pour créer des paquets

note: type: itemize
en: \textbf{devscripts}: contains many useful scripts for Debian maintainers
fr: \textbf{devscripts} : contient de nombreux scripts utiles pour les responsables Debian

note: type: frame
en: Many other tools will also be mentioned later, such as \textbf{debhelper}, \textbf{cdbs}, \textbf{quilt}, \textbf{pbuilder}, \textbf{sbuild}, \textbf{lintian}, \textbf{svn-buildpackage}, \textbf{git-buildpackage}, \ldots\\ Install them when you need them.
fr: Beaucoup d'autres outils seront aussi mentionnés plus tard, tels que \textbf{debhelper}, \textbf{cdbs}, \textbf{quilt}, \textbf{pbuilder}, \textbf{sbuild}, \textbf{lintian}, \textbf{svn-buildpackage}, \textbf{git-buildpackage}\ldots\\ Installez-les au besoin.

note: type: frame{#2}
en: General packaging workflow
fr: Processus général de la construction de paquets

note: \draw[arr,->] (bin) -- (-1,-6) node[pos=0.5,left] {upload (\textttc{dput})}; hack hack hack type: tikzpicture
en: \node[node1] (www) at (0, 0) {Web}; \node[node1] (us) at (2.5, 0) {upstream source}; \node[node1] (da) at (-2.5, 0) {Debian mirror}; \node[node1] (sp) at (0, -2) {source package}; \draw[arr,<-,dashed,thick] (sp) -- (2.5,-2) node[right=0cm,text width=2.98cm,text centered,font=\small\sl] {where most of the manual work is done}; \node[node1] (bin) at (0, -4) {one or several binary packages}; \draw[arr,<-,dashed,thick] (bin) -- (3.5,-4) node[right,text centered,font=\small\ttfamily\sl] {.deb\normalfont}; \draw[arr,->] (us) -- (sp) node[pos=0.5,right,command] {dh\_make}; \draw[arr,->] (da) -- (sp) node[pos=0.5,left,command] {apt-get source}; \draw[arr,->] (www) -- (sp) node[pos=0.5,left,command] {dget}; \draw[arr,->] (sp) -- (bin) node[pos=0.5,right,text width=6cm] {\textttc{debuild} (build and test with \textttc{lintian}) or \textttc{dpkg-buildpackage}}; \draw[arr,->] (bin) -- (1,-6) node[pos=0.5,right] {install (\textttc{debi})}; \draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {upload (\textttc{dput})}; \draw[arr,->,rounded corners] (bin) -- (-1,-6) -- (-4.5,-6) -- (-4.5,0) -- (da); \useasboundingbox (-4,-6) rectangle (6,0);
fr: \node[node1] (www) at (0, 0) {Web}; \node[node1] (us) at (2.5, 0) {sources amont}; \node[node1] (da) at (-2.5, 0) {miroir Debian}; \node[node1] (sp) at (0, -2) {paquet source}; \draw[arr,<-,dashed,thick] (sp) -- (2.5,-2) node[right=0cm,text width=3.1cm,text centered,font=\small\sl] {là où la plupart du travail manuel est fait}; \node[node1] (bin) at (0, -4) {un ou plusieurs paquets binaires}; \draw[arr,<-,dashed,thick] (bin) -- (3.5,-4) node[right,text centered,font=\small\ttfamily\sl] {.deb\normalfont}; \draw[arr,->] (us) -- (sp) node[pos=0.5,right,command] {dh\_make}; \draw[arr,->] (da) -- (sp) node[pos=0.5,left,command] {apt-get source}; \draw[arr,->] (www) -- (sp) node[pos=0.5,left,command] {dget}; \draw[arr,->] (sp) -- (bin) node[pos=0.5,right,text width=6cm] {\textttc{debuild} (construire et tester avec \textttc{lintian}) ou \textttc{dpkg-buildpackage}}; \draw[arr,->] (bin) -- (1,-6) node[pos=0.5,right] {installer (\textttc{debi})}; \draw[transparent] (bin) -- (-1,-6) node[pos=0.5,left,opaque] {envoyer (\textttc{dput})}; \draw[arr,->,rounded corners] (bin) -- (-1,-6) -- (-4.5,-6) -- (-4.5,0) -- (da); \useasboundingbox (-4,-6) rectangle (6,0);

note: type: subsection{#2}
en: Rebuilding dash
fr: Reconstruction de dash

note: type: frame{#2}
en: Example: rebuilding dash
fr: Exemple : reconstruction de dash

note: type: enumerate
en: Install packages needed to build dash, and devscripts\\ {\texttt{sudo apt-get build-dep dash}\\ (requires \texttt{deb-src} lines in \texttt{/etc/apt/sources.list})}\\ {\texttt{sudo apt-get install -{}-no-install-recommends devscripts fakeroot}}
fr: Installez les paquets nécessaires à la construction de dash, ainsi que devscripts \\ {\texttt{apt-get build-dep dash}\\ (nécessite des lignes \texttt{deb-src} dans \texttt{/etc/apt/sources.list})}\\ {\texttt{apt-get install -{}-no-install-recommends devscripts fakeroot}}

note: type: enumerate
en: Create a working directory, and get in it:\\ \texttt{mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial}
fr: Créez un répertoire de travail et entrez-y\\ \texttt{mkdir /tmp/debian-tutorial ; cd /tmp/debian-tutorial}

note: type: enumerate
en: Grab the \texttt{dash} source package\\ \texttt{apt-get source dash}\\ {\small (This needs you to have \texttt{deb-src} lines in your \texttt{/etc/apt/sources.list})}
fr: Récupérez le paquet source de \texttt{dash}\\ \texttt{apt-get source dash}\\ {\small (Il faut pour cela avoir des lignes \texttt{deb-src} dans votre \texttt{/etc/apt/sources.list})}

note: type: enumerate
en: Build the package\\ {\texttt{cd dash-*\\ debuild -us -uc}} ~~~(\texttt{-us -uc} disables signing the package with GPG)
fr: Construisez le paquet\\ {\texttt{cd dash-*\\ debuild -us -uc}} ~~~(\texttt{-us -uc} désactive la signature du paquet avec GPG)

note: type: enumerate
en: Check that it worked
fr: Vérifiez le résultat

note: type: itemize
en: There are some new \texttt{.deb} files in the parent directory
fr: Il y a de nouveaux fichiers \texttt{.deb} dans le répertoire parent

note: type: enumerate
en: Look at the \texttt{debian/} directory
fr: Regardez le répertoire \texttt{debian/}

note: type: itemize
en: That's where the packaging work is done
fr: C'est là que se fait le travail de construction du paquet

note: type: section{#2}
en: Creating source packages
fr: Création des paquets source

note: type: subsection{#2}
en: Source packages basics
fr: Notions de base sur les paquets source

note: type: frame{#2}
en: Source package
fr: Paquet source

note: type: itemize
en: One source package can generate several binary packages\\ {\small e.g. the \texttt{\bfseries libtar} source generates the \texttt{\bfseries libtar0} and \texttt{\bfseries libtar-dev} binary packages}
fr: Un paquet source peut produire plusieurs paquets binaires\\ {\small Le paquet source \texttt{\bfseries libtar} produit les paquets binaires \texttt{\bfseries libtar0} et \texttt{\bfseries libtar-dev}}

note: type: itemize
en: Two kinds of packages: (if unsure, use non-native)
fr: Deux types de paquets : (en cas de doute, utilisez « non natif »)

note: type: itemize
en: Native packages: normally for Debian specific software (\textsl{dpkg}, \textsl{apt})
fr: natif : normalement pour les logiciels spécifiques à Debian (\textsl{dpkg}, \textsl{apt}\ldots)

note: type: itemize
en: Non-native packages: software developed outside Debian
fr: non natif : logiciels développés hors de Debian

note: type: itemize
en: Main file: \texttt{.dsc} (meta-data)
fr: Fichier principal : \texttt{.dsc} (métadonnées)

note: type: itemize
en: Other files depending on the version of the source format
fr: Autres fichiers selon la version du format source

note: type: itemize
en: 1.0 or 3.0 (native): \texttt{package\_version.tar.gz}
fr: 1.0 ou 3.0 (natif) : \texttt{paquet\_version.tar.gz}

note: type: itemize
en: 1.0 (non-native):
fr: 1.0 (non natif) :

note: type: itemize
en: \texttt{pkg\_ver.orig.tar.gz}: upstream source
fr: \texttt{paquet\_ver.orig.tar.gz} : sources amont

note: type: itemize
en: \texttt{pkg\_debver.diff.gz}: patch to add Debian-specific changes
fr: \texttt{paquet\_debver.diff.gz} : correctif avec des modifications spécifiques à Debian

note: type: itemize
en: 3.0 (quilt):
fr: 3.0 (quilt) :

note: type: itemize
en: \texttt{pkg\_debver.debian.tar.gz}: tarball with the Debian changes
fr: \texttt{paquet\_debver.debian.tar.gz} : archive tar avec les modifications de Debian

note: type: frame
en: (See \texttt{dpkg-source(1)} for exact details)
fr: (Consultez \texttt{dpkg-source(1)} pour les détails exacts.)

note: type: frame{#2}
en: Source package example (wget\_1.12-2.1.dsc)
fr: Exemple de paquet source (wget\_1.12-2.1.dsc)

note: type: subsection{#2}
en: Retrieving source packages
fr: Récupération des paquets source

note: type: frame{#2}
en: Retrieving an existing source package
fr: Récupération d'un paquet source existant

note: type: itemize
en: From the Debian archive:
fr: À partir de l'archive Debian :

note: type: itemize
en: \texttt{apt-get source \textsl{package}}
fr: \texttt{apt-get source \textsl{paquet}}

note: type: itemize
en: \texttt{apt-get source \textsl{package=version}}
fr: \texttt{apt-get source \textsl{paquet=version}}

note: type: itemize
en: \texttt{apt-get source \textsl{package/release}}
fr: \texttt{apt-get source \textsl{paquet/distribution}}

note: type: itemize
en: (You need \texttt{deb-src} lines in \texttt{sources.list})
fr: (Vous avez besoin de lignes \texttt{deb-src} dans \texttt{sources.list})

note: type: itemize
en: From the Internet:
fr: Depuis Internet :

note: type: itemize
en: \texttt{dget \textsl{url-to.dsc}}
fr: \texttt{dget \textsl{url-vers.dsc}}

note: type: itemize
en: \texttt{dget http://snapshot.debian.org/archive/debian-archive/\\20090802T004153Z/debian/dists/bo/main/source/web/\\ wget\_1.4.4-6.dsc}\\ (\href{http://snapshot.debian.org/}{\ttfamily snapshot.d.o} provides all packages from Debian since 2005)
fr: \texttt{dget http://snapshot.debian.org/archive/debian-archive/\\20090802T004153Z/debian/dists/bo/main/source/web/\\ wget\_1.4.4-6.dsc}\\ (\href{http://snapshot.debian.org/}{\ttfamily snapshot.d.o} fournit tous les paquets de Debian depuis 2005)

note: type: itemize
en: From the (declared) version control system:
fr: Depuis le gestionnaire de versions (déclaré) :

note: type: itemize
en: \texttt{debcheckout \textsl{package}}
fr: \texttt{debcheckout \textsl{paquet}}

note: type: itemize
en: Once downloaded, extract with \texttt{dpkg-source -x \textsl{file.dsc}}
fr: Une fois téléchargé, dépaquetez-le avec \texttt{dpkg-source -x \textsl{fichier.dsc}}

note: type: frame{#2}
en: Creating a basic source package
fr: Création d'un paquet source de base

note: type: itemize
en: Download the upstream source\\ (\textsl{upstream source} = the one from the software's original developers)
fr: Téléchargez l'archive des sources amont\\ (\textsl{sources amont} = celles fournies par les développeurs du logiciel)

note: type: itemize
en: Rename to \texttt{<\textsl{source\_package}>\_<\textsl{upstream\_version}>.orig.tar.gz}\\ (example: \texttt{simgrid\_3.6.orig.tar.gz})
fr: Renommez-la en \texttt{<\textsl{paquet\_source}>\_<\textsl{version\_amont}>.orig.tar.gz}\\ (exemple : \texttt{simgrid\_3.6.orig.tar.gz})

note: type: itemize
en: Untar it
fr: Décompressez-la

note: type: itemize
en: Rename the directory to \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>}\\ (example: \texttt{simgrid-3.6})
fr: Renommez le répertoire en \texttt{<\textsl{paquet\_source}>-<\textsl{version\_amont}>}\\ (exemple : \texttt{simgrid-3.6})

note: type: itemize
en: \texttt{cd \texttt{<\textsl{source\_package}>-<\textsl{upstream\_version}>} \&\& dh\_make}\\ (from the \textbf{dh-make} package)
fr: \texttt{cd <\textsl{paquet\_source}>-<\textsl{version\_amont}> \&\& dh\_make} (du paquet \textbf{dh-make})

note: type: itemize
en: There are some alternatives to \texttt{dh\_make} for specific sets of packages: \textbf{dh-make-perl}, \textbf{dh-make-php}, \ldots
fr: Il existe des alternatives à \texttt{dh\_make} pour des types de paquets spécifiques : \textbf{dh-make-perl}, \textbf{dh-make-php}\ldots

note: type: itemize
en: \texttt{debian/} directory created, with a lot of files in it
fr: Un répertoire \texttt{debian/} est créé, contenant de nombreux fichiers

note: type: frame{#2}
en: Files in debian/
fr: Fichiers dans debian/

note: type: frame
en: All the packaging work should be made by modifying files in \texttt{debian/}
fr: L'empaquetage ne doit se faire qu'en modifiant les fichiers de \texttt{debian/}

note: type: itemize
en: Main files:
fr: Fichiers principaux :

note: type: itemize
en: \textbf{control} -- meta-data about the package (dependencies, etc.)
fr: \textbf{control} -- métadonnées sur le paquet (dépendances, etc.)

note: type: itemize
en: \textbf{rules} -- specifies how to build the package
fr: \textbf{rules} -- indique la manière de construire le paquet

note: type: itemize
en: \textbf{copyright} -- copyright information for the package
fr: \textbf{copyright} -- informations de copyright du paquet

note: type: itemize
en: \textbf{changelog} -- history of the Debian package
fr: \textbf{changelog} -- journal des modifications du paquet Debian

note: type: itemize
en: Other files:
fr: Autres fichiers :

note: type: itemize
en: dh\_install* targets\\ {\small *.dirs, *.docs, *.manpages, \ldots}
fr: configuration de dh\_install* ({\small *.dirs, *.docs, *.manpages\ldots})

note: type: itemize
en: maintainer scripts\\ {\small *.postinst, *.prerm, \ldots}
fr: scripts du responsable ({\small *.postinst, *.prerm\ldots})

note: type: itemize
en: patches/ -- if you need to modify the upstream sources
fr: patches/ -- si vous avez besoin de modifier les sources amont

note: type: itemize
en: Several files use a format based on RFC 822 (mail headers)
fr: Plusieurs fichiers ont un format basé sur la RFC 822 (en-têtes de courriel)

note: type: itemize
en: Lists the Debian packaging changes
fr: Liste les modifications dans la construction du paquet Debian

note: type: itemize
en: Gives the current version of the package
fr: Donne la version actuelle du paquet

note: type: tikzpicture
en: \draw (0,0) node[above right] {\large 1.2.1.1-5}; \draw [decorate,decoration={brace}] (2,0) -- (1.45,0) node[at start,below,text width=1.6cm,text centered] {\small Debian revision}; \draw [decorate,decoration={brace}] (1.4,0) -- (0,0) node[midway,below,text width=1.6cm,text centered] { \small Upstream version};
fr: \draw (0,0) node[above right] {\large 1.2.1.1-5}; \draw [decorate,decoration={brace}] (2,0) -- (1.45,0) node[at start,below,text width=1.6cm,text centered] {\small Révision Debian}; \draw [decorate,decoration={brace}] (1.4,0) -- (0,0) node[midway,below,text width=1.6cm,text centered] { \small Version amont};

note: % type: itemize
en: Edited manually or with \textttc{dch}
fr: Édité à la main ou avec \textttc{dch}

note: type: itemize
en: Create a changelog entry for a new release: \textttc{dch -i}
fr: Pour créer une entrée pour une nouvelle version : \textttc{dch -i}

note: type: itemize
en: Special format to automatically close Debian or Ubuntu bugs\\ Debian: \texttt{Closes:~\#595268}; Ubuntu: \texttt{LP:~\#616929}
fr: Format spécial pour clôturer des bogues Debian ou Ubuntu\\ Debian : \texttt{Closes:~\#595268}; Ubuntu : \texttt{LP:~\#616929}

note: type: itemize
en: Installed as \texttt{/usr/share/doc/\textit{package}/changelog.Debian.gz}
fr: Installé en tant que \texttt{/usr/share/doc/\textit{paquet}/changelog.Debian.gz}

note: type: itemize
en: Package metadata
fr: Métadonnées du paquet

note: type: itemize
en: For the source package itself
fr: pour le paquet source lui-même

note: type: itemize
en: For each binary package built from this source
fr: pour chaque paquet binaire construit à partir de ce paquet source

note: type: itemize
en: Package name, section, priority, maintainer, uploaders, build-dependencies, dependencies, description, homepage, \ldots
fr: Nom du paquet, section, priorité, responsable, \textit{uploaders}, dépendances de construction, dépendances, description, page d'accueil\ldots

note: type: itemize
en: Documentation: Debian Policy chapter 5\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}
fr: Documentation : la Charte Debian, chapitre 5\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields.html}

note: type: frame{#2}
en: Architecture: all or any
fr: Architecture: « all » ou « any »

note: type: frame
en: Two kinds of binary packages:
fr: Deux types de paquets binaires :

note: type: itemize
en: Packages with different contents on each Debian architecture
fr: Paquets ayant un contenu différent selon l'architecture Debian

note: type: itemize
en: Example: C program
fr: Exemple : programme C

note: type: itemize
en: \texttt{Architecture:\ any} in \texttt{debian/control}
fr: \texttt{Architecture:~any} dans \texttt{debian/control}

note: type: itemize
en: Or, if it only works on a subset of architectures:\\ \texttt{Architecture:\ amd64 i386 ia64 hurd-i386}
fr: Si ça ne fonctionne que sur certaines architectures :\\ \texttt{Architecture:~amd64 i386 ia64 hurd-i386}

note: type: itemize
en: buildd.debian.org: builds all the other architectures for you on upload
fr: buildd.debian.org : construit les autres architectures à l'envoi

note: type: itemize
en: Named \texttt{\textsl{package}\_\textsl{version}\_\textsl{architecture}.deb}
fr: Nommés \texttt{\textsl{paquet}\_\textsl{version}\_\textsl{architecture}.deb}

note: type: itemize
en: Packages with the same content on all architectures
fr: Paquets ayant le même contenu sur toutes les architectures

note: type: itemize
en: Example: Perl library
fr: Exemple : bibliothèque Perl

note: type: itemize
en: \texttt{Architecture:\ all} in \texttt{debian/control}
fr: \texttt{Architecture:~all} dans \texttt{debian/control}

note: type: itemize
en: Named \texttt{\textsl{package}\_\textsl{version}\_\textbf{all}.deb}
fr: Nommé \texttt{\textsl{paquet}\_\textsl{version}\_\textbf{all}.deb}

note: type: frame
en: A source package can generate a mix of \texttt{Architecture:\ any} and \texttt{Architecture:\ all} binary packages
fr: Un même paquet source peut engendrer à la fois des paquets binaires \texttt{Architecture:~any} et \texttt{Architecture:~all}

note: type: itemize
en: Interface used to build Debian packages
fr: Interface utilisée pour construire des paquets Debian

note: type: itemize
en: Documented in Debian Policy, chapter 4.8\\ {\small \url{https://www.debian.org/doc/debian-policy/ch-source\#s-debianrules}}
fr: Documenté dans la Charte Debian, chapitre 4.8\\ {\small \url{https://www.debian.org/doc/debian-policy/ch-source\#s-debianrules}}

note: type: itemize
en: Required targets:
fr: Cibles requises\ :

note: type: itemize
en: \texttt{build, build-arch, build-indep}: should perform all the configuration and compilation
fr: \texttt{build, build-arch, build-indep} : doit effectuer toute la configuration et la compilation

note: type: itemize
en: \texttt{binary, binary-arch, binary-indep}: build the binary packages
fr: \texttt{binary, binary-arch, binary-indep} : créent les paquets binaires

note: type: itemize
en: \texttt{dpkg-buildpackage} will call \texttt{binary} to build all the packages, or \texttt{binary-arch} to build only the \texttt{Architecture:~any} packages
fr: \texttt{dpkg-buildpackage} appellera \texttt{binary} pour construire tous les paquets ou \texttt{binary-arch} pour ne construire que les paquets \texttt{Architecture:~any}

note: type: itemize
en: \texttt{clean}: clean up the source directory
fr: \texttt{clean} : nettoie le répertoire des sources

note: type: subsection{#2}
en: Packaging helpers
fr: Assistants d'empaquetage

note: type: frame{#2}
en: Packaging helpers -- debhelper
fr: Assistants d'empaquetage -- debhelper

note: type: itemize
en: You could write shell code in \texttt{debian/rules} directly
fr: Vous pourriez écrire du code shell dans le fichier \texttt{debian/rules}

note: type: itemize
en: Better practice (used by most packages): use a \textsl{Packaging helper}
fr: Mieux : utilisez un \textsl{assistant d'empaquetage} \\(déjà le cas pour la plupart des paquets)

note: type: itemize
en: Most popular one: \textbf{debhelper} (used by 98\% of packages)
fr: Le plus populaire : \textbf{debhelper} (utilisé par 98~\% des paquets)

note: type: itemize
en: Goals:
fr: Objectifs :

note: type: itemize
en: Factor the common tasks in standard tools used by all packages
fr: Centraliser les tâches courantes dans des outils normalisés qui seront utilisés par tous les paquets

note: type: itemize
en: Fix some packaging bugs once for all packages
fr: Corriger d'un coup des bogues de construction pour tous les paquets

note: type: itemize
en: Called from \texttt{debian/rules}
fr: Appelé depuis \texttt{debian/rules}

note: type: itemize
en: Configurable using command parameters or files in \texttt{debian/}
fr: Configurable avec des paramètres ou des fichiers dans \texttt{debian/}

note: type: itemize
en: {\footnotesize \ttfamily \textsl{package}.docs, \textsl{package}.examples, \textsl{package}.install, \textsl{package}.manpages, \ldots}
fr: {\footnotesize \ttfamily dirs, \textsl{paquet}.docs, \textsl{paquet}.examples, \textsl{paquet}.install, \textsl{paquet}.manpages\ldots}

note: type: itemize
en: Third-party helpers for sets of packages: \textbf{python-support}, \textbf{dh\_ocaml}, \ldots
fr: Assistants tiers pour certains types de paquets : \textbf{python-support}, \textbf{dh\_ocaml}\ldots

note: type: itemize
en: \texttt{debian/compat}: Debhelper compatibility version
fr: \texttt{debian/compat}: version de compatibilité de Debhelper

note: type: itemize
en: Defines precise behaviour of dh\_*
fr: Définit le comportement précis de dh\_*

note: type: itemize
en: New syntax: \texttt{Build-Depends: debhelper-compat (= 13)}
fr: Nouvelle syntaxe : \texttt{Build-Depends: debhelper-compat (= 13)}

note: type: frame{#2}
en: debian/rules using debhelper (1/2)
fr: debian/rules en utilisant debhelper (1/2)

note: type: lstlisting
en: # Uncomment this to turn on verbose mode.
    #export DH_VERBOSE=1
fr: # D{\'e}commentez cette ligne pour passer en mode bavard.
    #export DH_VERBOSE=1

note: type: lstlisting
en: install: build
            dh_testdir
            dh_testroot
            dh_clean -k 
            dh_installdirs
            # Add here commands to install the package into debian/packagename.
            $(MAKE) DESTDIR=$(CURDIR)/debian/packagename install
fr: install: build
            dh_testdir
            dh_testroot
            dh_clean -k 
            dh_installdirs
            # Ajoutez ici des commandes pour installer
            # le paquet dans debian/packagename.
            $(MAKE) DESTDIR=$(CURDIR)/debian/packagename install

note: type: frame{#2}
en: debian/rules using debhelper (2/2)
fr: debian/rules en utilisant debhelper (2/2)

note: type: lstlisting
en: # Build architecture-independent files here.
    binary-indep: build install
fr: # Construire ici les fichiers non sp{\'e}cifiques {\`a} une architecture.
    binary-indep: build install

note: type: lstlisting
en: # Build architecture-dependent files here.
    binary-arch: build install
            dh_testdir
            dh_testroot
            dh_installchangelogs 
            dh_installdocs
            dh_installexamples
            dh_install
            dh_installman
            dh_link
            dh_strip
            dh_compress
            dh_fixperms
            dh_installdeb
            dh_shlibdeps
            dh_gencontrol
            dh_md5sums
            dh_builddeb
fr: # Construire ici les fichiers sp{\'e}cifiques {\`a} une architecture.
    binary-arch: build install
            dh_testdir
            dh_testroot
            dh_installchangelogs 
            dh_installdocs
            dh_installexamples
            dh_install
            dh_installman
            dh_link
            dh_strip
            dh_compress
            dh_fixperms
            dh_installdeb
            dh_shlibdeps
            dh_gencontrol
            dh_md5sums
            dh_builddeb

note: type: itemize
en: With debhelper, still a lot of redundancy between packages
fr: Avec debhelper, restent beaucoup de redondances entre les paquets

note: type: itemize
en: Second-level helpers that factor common functionality
fr: Assistants de second niveau incluant des fonctionnalités courantes

note: type: itemize
en: E.g. building with \texttt{./configure \&\& make \&\& make install} or CMake
fr: p. ex. construction avec \texttt{./configure \&\& make \&\& make install}

note: type: itemize
en: CDBS:
fr: CDBS :

note: type: itemize
en: Introduced in 2005, based on advanced \textsl{GNU make} magic
fr: Introduit en 2005, basé sur la magie évoluée de \textsl{GNU make}

note: type: itemize
en: Documentation: \texttt{/usr/share/doc/cdbs/}
fr: Documentation : \texttt{/usr/share/doc/cdbs/}

note: type: itemize
en: Support for Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \ldots
fr: Gestion de Perl, Python, Ruby, GNOME, KDE, Java, Haskell\ldots

note: type: itemize
en: But some people hate it:
fr: Mais certaines personnes le détestent :

note: type: itemize
en: Sometimes difficult to customize package builds:\\ "\textsl{twisty maze of makefiles and environment variables}"
fr: Il est parfois difficile à personnaliser : « \textsl{enchevêtrement complexe de makefiles et de variables d'environnement} »

note: type: itemize
en: Slower than plain debhelper (many useless calls to \texttt{dh\_*})
fr: Plus lent que l'utilisation seule de debhelper (beaucoup d'appels inutiles à \texttt{dh\_*})

note: type: lstlisting
en: # add an action after the build
    build/mypackage::
        /bin/bash debian/scripts/foo.sh
fr: # ajouter une action apr{\`e}s la construction
    build/monpaquet::
        /bin/bash debian/scripts/toto.sh

note: type: frame{#2}
en: Dh (aka Debhelper 7, or dh7)
fr: Dh (aussi appelé Debhelper 7, ou dh7)

note: type: itemize
en: Introduced in 2008 as a \textsl{CDBS killer}
fr: Introduit en 2008, avec l'objectif de remplacer CDBS

note: type: itemize
en: \textbf{dh} command that calls \texttt{dh\_*}
fr: Commande \textbf{dh} qui appelle \texttt{dh\_*}

note: type: itemize
en: Simple \textsl{debian/rules}, listing only overrides
fr: Fichier \textsl{debian/rules} simple, ne contenant que les redéfinitions

note: type: itemize
en: Easier to customize than CDBS
fr: Plus facile à personnaliser que CDBS

note: type: itemize
en: Doc: manpages (\texttt{debhelper(7)}, \texttt{dh(1)}) + slides from DebConf9 talk\\ \url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}
fr: Doc : pages de man (\texttt{debhelper(7)}, \texttt{dh(1)}) et présentation à DebConf9\\ \url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}

note: source for stats: https://anonscm.debian.org/cgit/collab-qa/dhistory.git/ type: frame{#2}
en: Classic debhelper vs CDBS vs dh
fr: debhelper classique vs CDBS vs dh

note: type: itemize
en: Mind shares:\\ Classic debhelper: 15\% \hskip 1em CDBS: 15\% \hskip 1em dh: 68\%
fr: Parts de marché :\\ debhelper classique : 15~\% \hskip 1em CDBS : 15~\% \hskip 1em dh : 68~\%

note: type: itemize
en: Which one should I learn?
fr: Lequel apprendre ?

note: type: itemize
en: Probably a bit of all of them
fr: Probablement un peu de chaque

note: type: itemize
en: You need to know debhelper to use dh and CDBS
fr: Vous devez connaître debhelper pour utiliser dh et CDBS

note: type: itemize
en: You might have to modify CDBS packages
fr: Vous pourriez avoir à modifier des paquets CDBS

note: type: itemize
en: Which one should I use for a new package?
fr: Lequel utiliser pour un nouveau paquet ?

note: type: itemize
en: \textbf{dh} (only solution with an increasing mind share)
fr: \textbf{dh} (seule solution de plus en plus utilisée)

note: type: itemize
en: See \url{https://trends.debian.net/\#build-systems}
fr: Voir \url{https://trends.debian.net/\#build-systems}

note: type: section{#2}
en: Building and testing packages
fr: Construire et tester les paquets

note: type: frame{#2}
en: Building packages
fr: Construire les paquets

note: type: itemize
en: \textttc{apt-get build-dep mypackage}\\ Installs the \textsl{build-dependencies} (for a package already in Debian)\\ Or \textttc{mk-build-deps -ir} (for a package not uploaded yet)
fr: \textttc{apt-get build-dep monpaquet}\\ Installer les \textsl{dépendances de construction} (pour un paquet dans Debian)\\ Ou \textttc{mk-build-deps -ir} (pour un paquet pas encore envoyé dans Debian)

note: type: itemize
en: \textttc{debuild}: build, test with \texttt{lintian}, sign with GPG
fr: \textttc{debuild} : construire, tester avec \texttt{lintian}, signer avec GPG

note: type: itemize
en: Also possible to call \textttc{dpkg-buildpackage} directly
fr: Vous pouvez aussi faire appel directement à \textttc{dpkg-buildpackage}

note: type: itemize
en: Usually with \texttt{dpkg-buildpackage -us -uc}
fr: En général, avec \texttt{dpkg-buildpackage -us -uc}

note: type: itemize
en: It is better to build packages in a clean \& minimal environment
fr: Il vaut mieux construire les paquets dans un environnement minimal

note: type: itemize
en: \textttc{pbuilder} -- helper to build packages in a \textsl{chroot}\\ Good documentation: \url{https://wiki.ubuntu.com/PbuilderHowto}\\ (optimization: \textttc{cowbuilder} \textttc{ccache} \textttc{distcc})
fr: \textttc{pbuilder} -- assistant pour la construction de paquets dans un \textsl{chroot}\\ Bonne documentation : \url{https://wiki.ubuntu.com/PbuilderHowto}\\ (optimisation : \textttc{cowbuilder} \textttc{ccache} \textttc{distcc})

note: type: itemize
en: \textttc{schroot} and \textttc{sbuild}: used on the Debian build daemons\\ (not as simple as \texttt{pbuilder}, but allows LVM snapshots\\ see: \url{https://help.ubuntu.com/community/SbuildLVMHowto} )
fr: \textttc{schroot} et \textttc{sbuild} : utilisé sur les démons de construction Debian\\ (pas aussi simple que \texttt{pbuilder}, mais permet des copies LVM\\ voir : \url{https://help.ubuntu.com/community/SbuildLVMHowto} )

note: type: itemize
en: Generates \texttt{.deb} files and a \texttt{.changes} file
fr: Crée les fichiers \texttt{.deb} et un fichier \texttt{.changes}

note: type: itemize
en: \texttt{.changes}: describes what was built; used to upload the package
fr: \texttt{.changes} : décrit ce qui a été construit ; utilisé pour envoyer le paquet

note: type: frame{#2}
en: Installing and testing packages
fr: Installation et test des paquets

note: type: itemize
en: Install the package locally: \textttc{debi} (will use \texttt{.changes} to know what to install)
fr: Installer le paquet : \textttc{debi} (utilise \texttt{.changes} pour savoir quoi installer)

note: type: itemize
en: List the content of the package: \texttt{{\color{rouge}debc} ../mypackage<TAB>.changes}
fr: Afficher le contenu du paquet : \texttt{{\color{rouge}debc} ../monpaquet<TAB>.changes}

note: type: itemize
en: Compare the package with a previous version:\\ \texttt{{\color{rouge}debdiff} ../mypackage\_1\_*.changes ../mypackage\_2\_*.changes}\\ or to compare the sources:\\ \texttt{{\color{rouge}debdiff} ../mypackage\_1\_*.dsc ../mypackage\_2\_*.dsc}\\
fr: Comparer le paquet avec une version précédente :\\ \texttt{{\color{rouge}debdiff} ../monpaquet\_1\_*.changes ../monpaquet\_2\_*.changes}\\ ou pour comparer les sources:\\ \texttt{{\color{rouge}debdiff} ../monpaquet\_1\_*.dsc ../monpaquet\_2\_*.dsc}\\

note: type: itemize
en: Check the package with \texttt{lintian} (static analyzer):\\ \texttt{{\color{rouge}lintian} ../mypackage<TAB>.changes}\\ \texttt{lintian -i}: gives more information about the errors \\ \texttt{lintian -EviIL +pedantic}: shows more problems
fr: Vérifier le paquet avec \texttt{lintian} (analyseur statique) :\\ \texttt{{\color{rouge}lintian} ../monpaquet<TAB>.changes}\\ \texttt{lintian -i} : donne plus d'informations sur les erreurs \\ \texttt{lintian -EviIL +pedantic} : montre encore plus de problèmes

note: type: itemize
en: Upload the package to Debian (\textttc{dput}) (needs configuration)
fr: Envoyer le paquet dans Debian (\textttc{dput}) (exige un peu de configuration)

note: type: itemize
en: Manage a private Debian archive with \textttc{reprepro} or \textttc{aptly}\\ Documentation: \url{https://wiki.debian.org/HowToSetupADebianRepository}
fr: Gérer une archive privée avec \textttc{reprepro}  ou \textttc{aptly}\\ Documentation: \url{https://wiki.debian.org/HowToSetupADebianRepository}

note: type: frame{#2}
en: Practical session 1: modifying the grep package
fr: Travaux pratiques nº~1 : modifier le paquet grep

note: type: enumerate
en: Go to \url{http://ftp.debian.org/debian/pool/main/g/grep/} and download version 2.12-2 of the package
fr: Rendez-vous sur \url{http://ftp.debian.org/debian/pool/main/g/grep/} et téléchargez la version~2.12-2 du paquet

note: type: itemize
en: If the source package is not unpacked automatically, unpack it with \texttt{dpkg-source~-x~grep\_*.dsc}
fr: Si le paquet source n'est pas décompressé automatiquement, décompressez-le avec \texttt{dpkg-source~-x~grep\_*.dsc}

note: type: enumerate
en: Look at the files in \texttt{debian/}.
fr: Regardez les fichiers contenus dans \texttt{debian/}.

note: type: itemize
en: How many binary packages are generated by this source package?
fr: Combien de paquets binaires sont produits par ce paquet source ?

note: type: itemize
en: Which packaging helper does this package use?
fr: Quel assistant d'empaquetage ce paquet utilise-t-il ?

note: type: itemize
en: Build the package
fr: Construisez le paquet

note: type: enumerate
en: We are now going to modify the package. Add a changelog entry and increase the version number.
fr: Nous allons maintenant modifier le paquet. Ajoutez une entrée au journal des modifications et augmentez le numéro de version.

note: type: enumerate
en: Now disable perl-regexp support (it is a \texttt{./configure} option)
fr: Désactivez maintenant la gestion des expressions rationnelles de Perl (c'est une option de \texttt{./configure})

note: type: enumerate
en: Rebuild the package
fr: Reconstruisez le paquet

note: type: enumerate
en: Compare the original and the new package with debdiff
fr: Comparez le paquet d'origine et le nouveau avec debdiff

note: type: enumerate
en: Install the newly built package
fr: Installez le paquet nouvellement construit

note: type: section{#2}
en: Advanced packaging topics
fr: Sujets avancés sur la construction de paquets

note: type: itemize
en: Copyright and license information for the source and the packaging
fr: Informations de copyright et de licence pour les sources et l'empaquetage

note: type: itemize
en: Traditionally written as a text file
fr: Écrites traditionnellement dans un fichier texte

note: type: itemize
en: New machine-readable format: {\small\url{https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}
fr: Nouveau format en langage machine : {\small\url{https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/}}

note: type: lstlisting
en: Files: debian/*
    Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
    License:
     [LICENSE TEXT]
fr: Files: debian/*
    Copyright: Copyright 1998 Jane Smith <jsmith@example.net>
    License:
     [TEXTE DE LA LICENCE]

note: type: frame{#2}
en: Modifying the upstream source
fr: Modifier les sources amont

note: type: frame
en: Often needed:
fr: Souvent nécessaire :

note: type: itemize
en: Fix bugs or add customizations that are specific to Debian
fr: Corriger des bogues ou faire des modifications spécifiques à Debian

note: type: itemize
en: Backport fixes from a newer upstream release
fr: Rétroporter des corrections depuis une version amont plus récente

note: type: frame
en: Several methods to do it:
fr: {P}lusieurs méthodes existent :

note: type: itemize
en: Modifying the files directly
fr: Modifier directement les fichiers

note: type: itemize
en: But no way to track and document the changes
fr: Mais aucun moyen de suivre et de documenter les modifications

note: type: itemize
en: Using patch systems
fr: Utiliser les systèmes de gestion de correctifs

note: type: itemize
en: Eases contributing your changes to upstream
fr: Facilite l'intégration de vos modifications en amont

note: type: itemize
en: Helps sharing the fixes with derivatives
fr: Facilite le partage des corrections avec les dérivées

note: type: itemize
en: Gives more exposure to the changes\\ \url{http://patch-tracker.debian.org/} (down currently)
fr: Donne plus de visibilité à vos modifications\\ \url{http://patch-tracker.debian.org/} (actuellement en panne)

note: type: frame{#2}
en: Patch systems
fr: Systèmes de gestion de correctifs

note: type: itemize
en: Principle: changes are stored as patches in \texttt{debian/patches/}
fr: Principe : les modifications sont stockées sous forme de correctifs dans \texttt{debian/patches/}

note: type: itemize
en: Applied and unapplied during build
fr: Correctifs appliqués et retirés lors de la construction

note: type: itemize
en: Past: several implementations -- \textsl{simple-patchsys} (\textsl{cdbs}), \textsl{dpatch}, \textbf{\textsl{quilt}}
fr: Avant : plusieurs implémentations -- \textsl{simple-patchsys} (\textsl{cdbs}), \textsl{dpatch}, \textbf{\textsl{quilt}}

note: type: itemize
en: Each supports two \texttt{debian/rules} targets:
fr: Chacune prend en charge deux cibles \texttt{debian/rules} :

note: type: itemize
en: \texttt{debian/rules patch}: apply all patches
fr: \texttt{debian/rules patch} : applique tous les correctifs

note: type: itemize
en: \texttt{debian/rules unpatch}: de-apply all patches
fr: \texttt{debian/rules unpatch} : retire tous les correctifs

note: type: itemize
en: More documentation: \url{https://wiki.debian.org/debian/patches}
fr: Plus de documentation : \url{https://wiki.debian.org/debian/patches}

note: type: textbf{#1}
en: New source package format with built-in patch system: 3.0 (quilt)
fr: Nouveau format de paquet source avec système de gestion de correctifs intégré : 3.0~(quilt)

note: type: itemize
en: Recommended solution
fr: Solution recommandée

note: type: itemize
en: You need to learn \textsl{quilt}\\ \url{https://perl-team.pages.debian.net/howto/quilt.html}
fr: Vous devez apprendre \textsl{quilt}\\ \url{http://perl-team.pages.debian.net/howto/quilt.html}

note: type: itemize
en: Patch-system-agnostic tool in \texttt{devscripts}: \texttt{edit-patch}
fr: Outil indépendant du système de correctifs dans \texttt{devscripts} : \texttt{edit-patch}

note: type: frame{#2}
en: Documentation of patches
fr: Documentation des correctifs

note: type: itemize
en: Standard headers at the beginning of the patch
fr: En-têtes normalisés au début du correctif

note: type: itemize
en: Documented in DEP-3 - Patch Tagging Guidelines\\ \url{http://dep.debian.net/deps/dep3/}
fr: Documentation dans DEP-3 -- Patch Tagging Guidelines \\(lignes directrices de l'étiquetage d'un correctif)\\ \url{http://dep.debian.net/deps/dep3/}

note: type: frame{#2}
en: Doing things during installation and removal
fr: Agir durant l'installation et la suppression

note: type: itemize
en: Decompressing the package is sometimes not enough
fr: Décompresser le paquet ne suffit pas toujours

note: type: itemize
en: Create/remove system users, start/stop services, manage \textsl{alternatives}
fr: Créer/supprimer des utilisateurs système, démarrer/arrêter des services, gérer des \textsl{alternatives}

note: type: itemize
en: Done in \textsl{maintainer scripts}\\ \texttt{preinst, postinst, prerm, postrm}
fr: Cela se fait dans \textsl{les scripts du responsable}\\ \texttt{preinst, postinst, prerm, postrm}

note: type: itemize
en: Snippets for common actions can be generated by debhelper
fr: debhelper peut créer des bribes pour les actions classiques

note: type: itemize
en: Documentation:
fr: Documentation :

note: type: itemize
en: Debian Policy Manual, chapter 6\\ {\footnotesize \url{https://www.debian.org/doc/debian-policy/ch-maintainerscripts}}
fr: La Charte Debian, chapitre 6\\ {\footnotesize \url{https://www.debian.org/doc/debian-policy/ch-maintainerscripts}}

note: type: itemize
en: Debian Developer's Reference, chapter 6.4\\ {\scriptsize \url{https://www.debian.org/doc/developers-reference/best-pkging-practices.html}}
fr: Manuel de référence du développeur, chapitre 6.4\\ {\scriptsize \url{https://www.debian.org/doc/developers-reference/best-pkging-practices.html}}

note: type: itemize
en: Prompting the user
fr: Interagir avec l'utilisateur

note: type: itemize
en: Must be done with \textbf{debconf}
fr: Cela doit se faire avec \textbf{debconf}

note: type: itemize
en: Documentation: \texttt{debconf-devel(7)} (\texttt{debconf-doc} package)
fr: Documentation : \texttt{debconf-devel(7)} (paquet \texttt{debconf-doc})

note: type: frame{#2}
en: Monitoring upstream versions
fr: Surveiller les versions amont

note: type: itemize
en: Specify where to look in \texttt{debian/watch} (see \texttt{uscan(1)})
fr: Préciser dans \texttt{debian/watch} où chercher (voir \texttt{uscan(1)})

note: type: itemize
en: There are automated trackers of new upstream versions, that notify the maintainer on various dashboards including \url{https://tracker.debian.org/} and \url{https://udd.debian.org/dmd/}
fr: Il y a des systèmes de suivi automatique des nouvelles versions amonts, qui notifient le mainteneur sur plusieurs systèmes d'information dont  \url{https://tracker.debian.org/} et \url{https://udd.debian.org/dmd/}

note: type: itemize
en: \texttt{uscan}: run a manual check
fr: \texttt{uscan} : lance une vérification à la main

note: type: itemize
en: \texttt{uupdate}: try to update your package to the latest upstream version
fr: \texttt{uupdate} : tente de mettre à jour votre paquet vers la version la plus récente

note: type: subsection{#2}
en: Packaging with a Version Control System (SVN, Git)
fr: Avec un gestionnaire de versions (SVN, Git)

note: type: frame{#2}
en: Packaging with a Version Control System
fr: Empaqueter avec un gestionnaire de versions :

note: type: itemize
en: Several tools to help manage branches and tags for your packaging work:\\ \texttt{svn-buildpackage}, \texttt{git-buildpackage}
fr: Plusieurs outils facilitent la gestion des branches et des étiquettes lors de votre empaquetage : \texttt{svn-buildpackage}, \texttt{git-buildpackage}

note: type: itemize
en: Example: \texttt{git-buildpackage}
fr: Exemple : \texttt{git-buildpackage}

note: type: itemize
en: \texttt{upstream} branch to track upstream with \texttt{upstream/\textsl{version}} tags
fr: la branche \texttt{upstream} pour suivre les sources amont avec les étiquettes \texttt{upstream/\textsl{version}}

note: type: itemize
en: \texttt{master} branch tracks the Debian package
fr: la branche \texttt{master} suit le paquet Debian

note: type: itemize
en: \texttt{debian/\textsl{version}} tags for each upload
fr: les étiquettes \texttt{debian/\textsl{version}} pour chaque envoi

note: type: itemize
en: \texttt{pristine-tar} branch to be able to rebuild the upstream tarball
fr: la branche \texttt{pristine-tar} pour pouvoir reconstruire l'archive tar amont

note: type: itemize
en: \texttt{Vcs-*} fields in \texttt{debian/control} to locate the repository
fr: Les champs \texttt{Vcs-*} de \texttt{debian/control} pour localiser le dépôt

note: type: itemize
en: VCS-agnostic interface: \texttt{debcheckout}, \texttt{debcommit}, \texttt{debrelease}\\
fr: Interface indépendante du VCS : \texttt{debcheckout}, \texttt{debcommit}, \texttt{debrelease}\\

note: type: itemize
en: \texttt{debcheckout grep} $\rightarrow$ checks out the source package from Git
fr: \texttt{debcheckout grep} : rapatrie le paquet source du dépôt Git

note: type: frame{#2}
en: Backporting packages
fr: Rétroportage de paquets

note: type: itemize
en: Goal: use a newer version of a package on an older system\\ e.g. use \textsl{mutt} from Debian \textsl{unstable} on Debian \textsl{stable}
fr: But : utiliser une version plus récente du paquet sur un système plus ancien\\ p.ex. utiliser \textsl{mutt} de Debian \textsl{unstable} sur Debian \textsl{stable}

note: type: itemize
en: General idea:
fr: Idée générale :

note: type: itemize
en: Take the source package from Debian unstable
fr: Prendre le paquet source de Debian unstable

note: type: itemize
en: Modify it so that it builds and works fine on Debian stable
fr: Le modifier pour qu'il se construise et fonctionne correctement sur Debian stable

note: type: itemize
en: Sometimes trivial (no changes needed)
fr: Parfois trivial (aucun changement nécessaire)

note: type: itemize
en: Sometimes difficult
fr: Parfois difficile

note: type: itemize
en: Sometimes impossible (many unavailable dependencies)
fr: Parfois impossible (nombreuses dépendances indisponibles)

note: type: itemize
en: Some backports are provided and supported by the Debian project\\ \url{http://backports.debian.org/}
fr: Certains rétroportages sont fournis et maintenus par le projet Debian\\ \url{http://backports.debian.org/}

note: type: section{#2}
en: Maintaining packages in Debian
fr: Maintenir des paquets dans Debian

note: type: frame{#2}
en: Debian archive and suites
fr: Archive Debian et suites

note: type: tikzpicture
en: \draw node[suite,prod] (sec) {security}; \draw node[suite,prod,right=of sec] (su) {stable-updates}; \draw node[suite,prod,right=of su] (st) {stable}; \draw node[suite,old,node distance=0.3cm,below=of st] (os) {oldstable}; \draw node[suite,veryold,node distance=0.3cm,below=of os] (ar) {archive.d.o}; \draw node[suite,prod,right=of st] (bp) {backports}; \draw node[suite,test] (spu) at ($(su) + (-0.6,2.5)$) {stable-proposed-updates}; \draw node[suite,internal] (sn) at ($(st) + (-1.8,1.4)$) {stable-new}; \draw node[suite,test,node distance=1.5cm,above=of st] (te) {testing}; \draw node[suite,devel,above=of te] (sid) {unstable}; \draw node[suite,devel] (exp) at ($(sid) + (2.5,0.5)$) {experimental}; \draw node[suite,devel] (tpu) at ($(te)!0.5!(sid) + (2.5,0)$) {testing-proposed-updates}; \draw node[people,above=of sid] (dd) {developer}; \draw node[people,node distance=3cm,left=of dd] (secteam) {security team}; \draw[arr,uploads,->] (dd) -- (sid); \draw[arr,uploads,->] (dd) -- (exp); \draw[arr,uploads,->,bend right=8] (dd) to (tpu); \draw[arr,uploads,->] (secteam) -- (sid); \draw[arr,uploads,->] (secteam) -- (sec); \draw[arr,uploads,->] (dd) to (spu); \draw[arr,uploads,->] plot [smooth, tension=0.75] coordinates { (dd.east) ($(exp.north east)+(0.1,0.1)$) ($(tpu.east)+(0.2,0)$)  ($(bp.north east) + (-0.4,0)$) }; \draw[arr,migrations,->] (tpu) -- (te); \draw[arr,migrations,->] (sid) -- (te); \draw[arr,migrations,->] (te) -- (st) node [midway,align=left,midway,right,font=\footnotesize] {stable\\ release}; \draw[arr,migrations,->] (sec) -- (sn); \draw[arr,migrations,->] (sn) to node [pos=0.2] (spulabel) {} (st); \draw node[font=\footnotesize,align=right] at ($(spulabel) + (-0.4,-0.45)$) {stable \\ point \\ release}; \draw[arr,migrations,->] (spu) to (sn); \draw[arr,migrations,->] (spu) -- (su); \draw[arr,migrations,->] (st) -- (os); \draw[arr,migrations,->] (os) -- (ar); \coordinate (legend) at (-2,-1); \draw[arr,uploads,->] (legend) -- ($(legend) + (0.7,0)$) node [right,legend] {package uploads}; \coordinate[node distance=1.1em,below=of legend] (legend2); \draw[arr,migrations,->] (legend2) -- ($(legend2) + (0.7,0)$) node [right,legend] {package migrations between suites}; \coordinate[node distance=1.5em,below=of legend2] (legend3); \draw node[right,suite,devel,legend] (ldev) at (legend3) {development}; \draw node[node distance=0.1cm,right=of ldev,suite,test,legend] (ltest) {test}; \draw node[node distance=0.1cm,right=of ltest,suite,internal,legend] (lint) {internal}; \draw node[node distance=0.1cm,right=of lint,suite,prod,legend] (lprod) {production}; \draw ($(legend.north west) + (-0.1,0.25)$) rectangle ($(lprod.south east) + (0.1,-0.1)$); \draw node[font=\bf,red!70!white,align=center] (tnext) at ($(te.east) + (2,-0.1)$) {preparation of \\ next release}; \draw node[font=\bf,green!70!black,align=center] (tsrm) at ($(sec.north east) + (1,1)$) {stable\\release\\management}; \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground}
fr: \draw node[suite,prod] (sec) {security}; \draw node[suite,prod,right=of sec] (su) {stable-updates}; \draw node[suite,prod,right=of su] (st) {stable}; \draw node[suite,old,node distance=0.3cm,below=of st] (os) {oldstable}; \draw node[suite,veryold,node distance=0.3cm,below=of os] (ar) {archive.d.o}; \draw node[suite,prod,right=of st] (bp) {backports}; \draw node[suite,test] (spu) at ($(su) + (-0.6,2.5)$) {stable-proposed-updates}; \draw node[suite,internal] (sn) at ($(st) + (-1.8,1.4)$) {stable-new}; \draw node[suite,test,node distance=1.5cm,above=of st] (te) {testing}; \draw node[suite,devel,above=of te] (sid) {unstable}; \draw node[suite,devel] (exp) at ($(sid) + (2.5,0.5)$) {experimental}; \draw node[suite,devel] (tpu) at ($(te)!0.5!(sid) + (2.5,0)$) {testing-proposed-updates}; \draw node[people,above=of sid] (dd) {développeur}; \draw node[people,node distance=3cm,left=of dd] (secteam) {équipe sécurité}; \draw[arr,uploads,->] (dd) -- (sid); \draw[arr,uploads,->] (dd) -- (exp); \draw[arr,uploads,->,bend right=8] (dd) to (tpu); \draw[arr,uploads,->] (secteam) -- (sid); \draw[arr,uploads,->] (secteam) -- (sec); \draw[arr,uploads,->] (dd) to (spu); \draw[arr,uploads,->] plot [smooth, tension=0.75] coordinates { (dd.east) ($(exp.north east)+(0.1,0.1)$) ($(tpu.east)+(0.2,0)$)  ($(bp.north east) + (-0.4,0)$) }; \draw[arr,migrations,->] (tpu) -- (te); \draw[arr,migrations,->] (sid) -- (te); \draw[arr,migrations,->] (te) -- (st) node [midway,align=left,midway,right,font=\footnotesize] {stable\\ release}; \draw[arr,migrations,->] (sec) -- (sn); \draw[arr,migrations,->] (sn) to node [pos=0.2] (spulabel) {} (st); \draw node[font=\footnotesize,align=right] at ($(spulabel) + (-0.4,-0.45)$) {stable \\ point \\ release}; \draw[arr,migrations,->] (spu) to (sn); \draw[arr,migrations,->] (spu) -- (su); \draw[arr,migrations,->] (st) -- (os); \draw[arr,migrations,->] (os) -- (ar); \coordinate (legend) at (-2,-1); \draw[arr,uploads,->] (legend) -- ($(legend) + (0.7,0)$) node [right,legend] {envoi de paquets}; \coordinate[node distance=1.1em,below=of legend] (legend2); \draw[arr,migrations,->] (legend2) -- ($(legend2) + (0.7,0)$) node [right,legend] {migrations de paquets entre les suites}; \coordinate[node distance=1.5em,below=of legend2] (legend3); \draw node[right,suite,devel,legend] (ldev) at (legend3) {développement}; \draw node[node distance=0.1cm,right=of ldev,suite,test,legend] (ltest) {test}; \draw node[node distance=0.1cm,right=of ltest,suite,internal,legend] (lint) {interne}; \draw node[node distance=0.1cm,right=of lint,suite,prod,legend] (lprod) {production}; \draw ($(legend.north west) + (-0.1,0.25)$) rectangle ($(lprod.south east) + (0.1,-0.1)$); \draw node[font=\bf,red!70!white,align=center] (tnext) at ($(te.east) + (2,-0.1)$) {préparation de la \\ prochaine release}; \draw node[font=\bf,green!70!black,align=center] (tsrm) at ($(sec.north east) + (1,1)$) {gestion des\\ releases stables}; \pgfdeclarelayer{background} \pgfdeclarelayer{foreground} \pgfsetlayers{background,main,foreground}

note: type: flushright
en: \tiny Based on graph by Antoine Beaupr\'e. \url{https://salsa.debian.org/debian/package-cycle}~~~~~~~~~~~~
fr: \tiny Basé sur un schéma par Antoine Beaupr\'e. \url{https://salsa.debian.org/debian/package-cycle}~~~~~~~~~~~~

note: type: frame{#2}
en: Suites for development
fr: Suites pour le développement

note: type: itemize
en: New versions of packages are uploaded to \textbf{unstable} (\textbf{sid})
fr: Les nouvelles versions de paquets sont envoyées dans \textbf{unstable} (\textbf{sid})

note: type: itemize
en: Packages migrate from \textbf{unstable} to \textbf{testing} based on several criterias (e.g. has been in unstable for 10 days, and no regressions)
fr: Les paquets migrent de \textbf{unstable} vers \textbf{testing} sur la base de plusieurs critères (par exemple, a été dans unstable depuis 10 jours, sans régression)

note: type: itemize
en: New packages can also be uploaded to:
fr: Les nouveaux paquets peuvent aussi être envoyés vers:

note: type: itemize
en: \textbf{experimental} (for more \textsl{experimental} packages, such as when the new version is not ready to replace the one currently in unstable)
fr: \textbf{experimental} (pour des paquets plus \textsl{expérimentaux}, comme quand la nouvelle version n'est pas prête pour remplacer la version dans unstable)

note: type: itemize
en: \textbf{testing-proposed-updates}, to update the version in \textbf{testing} without going through \textbf{unstable} (this is rarely used)
fr: \textbf{testing-proposed-updates}, pour mettre à jour la version dans \textbf{testing} sans passer par \textbf{unstable} (c'est rarement utilisé)

note: type: frame{#2}
en: Freezing and releasing
fr: Freezer et releaser

note: type: itemize
en: At some point during the release cycle, the release team decides to \textsl{freeze} testing: automatic migrations from \textbf{unstable} to \textbf{testing} are stopped, and replaced by manual review
fr: À un instant donné pendant le cycle d'une nouvelle version, l'équipe \textsl{release} décide de geler (\textsl{freezer}) testing: les migrations automatiques de \textbf{unstable} vers \textbf{testing} sont arrêtées, et remplacées par une relecture manuelle

note: type: itemize
en: When the release team considers \textbf{testing} to be ready for release:
fr: Quand l'équipe \textsl{release} considère \textbf{testing} comme prêt pour la sortie d'une nouvelle version :

note: type: itemize
en: The \textbf{testing} suite becomes the new \textbf{stable} suite
fr: La suite \textbf{testing} devient la nouvelle suite \textbf{stable}

note: type: itemize
en: Similarly, the old \textbf{stable} becomes \textbf{oldstable}
fr: De manière similaire, l'ancienne \textbf{stable} devient \textbf{oldstable}

note: type: itemize
en: Unsupported releases are moved to \texttt{archive.debian.org}
fr: Les versions plus supportées sont déplacées vers \texttt{archive.debian.org}

note: type: itemize
en: See \url{https://release.debian.org/}
fr: Voir \url{https://release.debian.org/}

note: type: frame{#2}
en: Stable release suites and management
fr: Suites des versions stables et leur gestion

note: type: itemize
en: Several suites are used to provide stable release packages:
fr: Plusieurs suites sont utilisées pour fournir les paquets des versions stables:

note: type: itemize
en: \textbf{stable}: the main suite
fr: \textbf{stable}: la suite principale

note: type: itemize
en: \textbf{security} updates suite provided on \texttt{security.debian.org}, used by the security team. Updates are announced on the \texttt{debian-security-announce} mailing list
fr: \textbf{security} fournit les mises à jour de sécurité sur \texttt{security.debian.org} (utilisé par l'équipe sécurité). Les mises-à-jour sont annoncées sur la liste \texttt{debian-security-announce}

note: type: itemize
en: \textbf{stable-updates}: updates that are not security related, but that should urgently be installed (without waiting for the next point release): antivirus databases, timezone-related packages, etc. Announced on the \texttt{debian-stable-announce} mailing list
fr: \textbf{stable-updates}: mises-à-jour non liées à la sécurité, mais qui doivent être installées de manière urgente (sans attendre la prochaine \textsl{point release}): base de données d'antivirus, fuseaux horaires, etc. Annoncées sur la liste \texttt{debian-stable-announce}

note: type: itemize
en: \textbf{backports}: new upstream versions, based on the version in \textbf{testing}
fr: \textbf{backports}: nouvelles versions majeures, basées sur la version dans \textbf{testing}

note: type: itemize
en: The \textbf{stable} suite is updated every few months by \textsl{stable point releases} (that include only bug fixes)
fr: La suite \textbf{stable} est mise à jour tous les quelques mois par des \textsl{stable point releases} (qui n'incluent que des corrections de bugs)

note: type: itemize
en: Packages targetting the next stable point release are uploaded to \textbf{stable-proposed-updates} and reviewed by the release team
fr: Les paquets visant la prochaine \textsl{stable point release} sont envoyés vers \textbf{stable-proposed-updates} et relus par l'équipe \textsl{release}

note: type: itemize
en: The \textbf{oldstable} release has the same set of suites
fr: La version \textbf{oldstable} a le même ensemble de suites

note: type: frame{#2}
en: Several ways to contribute to Debian
fr: Plusieurs manières de contribuer à Debian

note: type: itemize
en: \textbf{Worst} way to contribute:
fr: \textbf{La pire} :

note: type: enumerate
en: Package your own application
fr: Empaqueter votre propre application

note: type: enumerate
en: Get it into Debian
fr: L'intégrer à Debian

note: type: enumerate
en: Disappear
fr: Disparaître

note: type: itemize
en: \textbf{Better} ways to contribute:
fr: \textbf{Les meilleures} :

note: type: itemize
en: Get involved in packaging teams
fr: S'impliquer dans des équipes d'empaquetage Debian

note: type: itemize
en: Many teams that focus on set of packages, and need help
fr: Beaucoup d'équipes se concentrent sur un ensemble de paquets et ont besoin d'aide

note: type: itemize
en: List available at \url{https://wiki.debian.org/Teams}
fr: Liste disponible sur \url{https://wiki.debian.org/Teams}

note: type: itemize
en: An excellent way to learn from more experienced contributors
fr: Excellente façon d'apprendre de contributeurs plus expérimentés

note: type: itemize
en: Adopt existing unmaintained packages (\textsl{orphaned packages})
fr: Adopter des paquets existants non maintenus (\textsl{paquets orphelins})

note: type: itemize
en: Bring new software to Debian
fr: Apporter un nouveau logiciel à Debian

note: type: itemize
en: Only if it's interesting/useful enough, please
fr: Seulement s'il est intéressant ou utile, s'il vous plaît

note: type: itemize
en: Are there alternatives already packaged in Debian?
fr: Y a-t-il une alternative déjà empaquetée pour Debian ?

note: type: frame{#2}
en: Adopting orphaned packages
fr: Adopter des paquets orphelins

note: type: itemize
en: Many unmaintained packages in Debian
fr: Beaucoup de paquets non maintenus dans Debian

note: type: itemize
en: Full list + process: \url{https://www.debian.org/devel/wnpp/}
fr: Liste complète et marche à suivre : \url{https://www.debian.org/devel/wnpp/}

note: type: itemize
en: Installed on your machine: \texttt{wnpp-alert}\\ Or better: \texttt{how-can-i-help}
fr: Ceux installés sur votre machine : \texttt{wnpp-alert}Ceux installés sur votre machine : \texttt{wnpp-alert}\\ Ou mieux: \texttt{how-can-i-help}

note: type: itemize
en: Different states:
fr: Différents états :

note: type: itemize
en: \textbf{O}rphaned: the package is unmaintained\\ Feel free to adopt it
fr: \textbf{O}rphelin : le paquet n'est pas maintenu\\ Adoptez-le s'il vous sied

note: type: itemize
en: \textbf{RFA}: \textbf{R}equest \textbf{F}or \textbf{A}dopter\\ Maintainer looking for adopter, but continues work in the meantime\\ Feel free to adopt it. A mail to the current maintainer is polite
fr: \textbf{RFA} : \textbf{R}equest \textbf{F}or \textbf{A}dopter (cherche un adoptant)\\ Le responsable cherche un adoptant, mais il continue son travail en attendant\\ Adoptez-le s'il vous sied. L'envoi d'un courriel au responsable actuel est poli

note: type: itemize
en: \textbf{ITA}: \textbf{I}ntent \textbf{T}o \textbf{A}dopt\\ Someone intends to adopt the package\\ You could propose your help!
fr: \textbf{ITA} : \textbf{I}ntent \textbf{T}o \textbf{A}dopt (en cours d'adoption) \\Quelqu'un prévoit d'adopter le paquet. Vous pourriez proposer votre aide !

note: type: itemize
en: \textbf{RFH}: \textbf{R}equest \textbf{F}or \textbf{H}elp\\ The maintainer is looking for help
fr: \textbf{RFH} : \textbf{R}equest \textbf{F}or \textbf{H}elp (recherche d'aide) \\ Le responsable cherche de l'aide

note: type: itemize
en: Some unmaintained packages not detected \arr not orphaned yet
fr: Certains paquets non maintenus ne sont pas identifiés comme tels \arr pas encore officiellement orphelins

note: type: itemize
en: When in doubt, ask \texttt{debian-qa@lists.debian.org} \\ or \texttt{\#debian-qa} on \texttt{irc.debian.org}
fr: En cas de doute, demandez sur \texttt{debian-qa@lists.debian.org} \\ ou \texttt{\#debian-qa} sur \texttt{irc.debian.org}

note: type: frame{#2}
en: Adopting a package: example
fr: Adopter un paquet : un exemple

note: type: lstlisting
en: [basicstyle=\ttfamily\footnotesize,escapeinside=\{\}]
    From: You <you@yourdomain>
    To: 640454@bugs.debian.org, control@bugs.debian.org
    Cc: Francois Marier <francois@debian.org>
    Subject: ITA: verbiste -- French conjugator
fr: [basicstyle=\ttfamily\footnotesize,escapeinside=\{\}]
    From: Vous <vous@votredomaine>
    To: 640454@bugs.debian.org, control@bugs.debian.org
    Cc: Francois Marier <francois@debian.org>
    Subject: ITA: verbiste -- French conjugator

note: type: lstlisting
en: You
fr: Vous

note: type: itemize
en: Polite to contact the previous maintainer (especially if the package was RFAed, not orphaned)
fr: Il est poli de contacter le responsable précédent (surtout si le paquet était signalé comme cherchant un adoptant et non comme orphelin)

note: type: itemize
en: Very good idea to contact the upstream project
fr: Très bonne idée aussi de contacter le projet amont

note: type: frame{#2}
en: Getting your package in Debian
fr: Intégrer votre paquet dans Debian

note: type: itemize
en: You do not need any official status to get your package into Debian
fr: Aucun besoin d'un statut officiel pour intégrer son paquet dans Debian

note: type: enumerate
en: Submit an \textbf{ITP} bug (\textbf{I}ntent \textbf{T}o \textbf{P}ackage) using \texttt{reportbug wnpp}
fr: Soumettez un bogue \textbf{ITP} (\textbf{I}ntent \textbf{T}o \textbf{P}ackage) avec \texttt{reportbug wnpp}

note: type: enumerate
en: Prepare a source package
fr: Préparez un paquet source

note: type: enumerate
en: Find a Debian Developer that will sponsor your package
fr: Trouvez un développeur Debian qui va parrainer votre paquet

note: type: itemize
en: Official status (when you are an experienced package maintainer):
fr: Statuts officiels (quand vous serez un responsable de paquets expérimenté) :

note: type: itemize
en: \textbf{Debian Maintainer (DM):}\\ Permission to upload your own packages\\ See \url{https://wiki.debian.org/DebianMaintainer}
fr: \textbf{Debian Maintainer (DM) :}\\ Droit d'envoyer vos propres paquets\\ Voir \url{https://wiki.debian.org/DebianMaintainer}

note: type: itemize
en: \textbf{Debian Developer (DD):}\\ Debian project member; can vote and upload any package
fr: \textbf{Debian Developer (DD) :}\\ Membre du projet Debian \\ Peut voter et envoyer n'importe quel paquet

note: type: frame{#2}
en: Things to check before asking for sponsorship
fr: Points à vérifier avant de demander un parrainage

note: type: itemize
en: Debian puts \textbf{a lot of focus on quality}
fr: Debian met \textbf{fortement l'accent sur la qualité}

note: type: itemize
en: Generally, \textbf{sponsors are hard to find and busy}
fr: En général, \textbf{les parrains et marraines sont difficiles à trouver et très occupés}

note: type: itemize
en: Make sure your package is ready before asking for sponsorship
fr: Assurez-vous que votre paquet est prêt avant de demander un parrainage

note: type: itemize
en: Things to check:
fr: Points à vérifier :

note: type: itemize
en: Avoid missing build-dependencies: make sure that your package build fine in a clean \textsl{sid} \textsl{chroot}
fr: Évitez les oublis de dépendances de construction : assurez-vous que la construction de votre paquet fonctionne dans un environnement \textsl{chroot} \textsl{sid} propre

note: type: itemize
en: Using \texttt{pbuilder} is recommended
fr: L'utilisation de \texttt{pbuilder} est recommandée

note: type: itemize
en: Run \texttt{lintian -EviIL +pedantic} on your package
fr: Lancez \texttt{lintian -EviIL +pedantic} sur votre paquet

note: type: itemize
en: Errors must be fixed, all other problems should be fixed
fr: Vous devez corriger les erreurs et faire de votre mieux pour corriger les autres problèmes

note: type: itemize
en: Do extensive testing of your package, of course
fr: Testez largement votre paquet, bien sûr

note: type: itemize
en: In doubt, ask for help
fr: En cas de doute, demandez de l'aide

note: type: frame{#2}
en: Where to find help?
fr: Où trouver de l'aide ?

note: type: frame
en: Help you will need:
fr: L'aide dont vous avez besoin :

note: type: itemize
en: Advice and answers to your questions, code reviews
fr: conseils et réponses à vos questions, relecture de code

note: type: itemize
en: Sponsorship for your uploads, once your package is ready
fr: parrainage pour les envois, une fois votre paquet prêt

note: type: frame
en: You can get help from:
fr: Vous pouvez obtenir de l'aide :

note: type: textbf{#1}
en: Other members of a packaging team
fr: autres membres d'une équipe d'empaquetage : la meilleure solution

note: type: itemize
en: List of teams: \url{https://wiki.debian.org/Teams}
fr: liste des équipes : \url{https://wiki.debian.org/Teams}

note: type: itemize
en: The \textbf{Debian Mentors group} (if your package does not fit in a team)
fr: le groupe \textbf{Debian Mentors} (si le paquet ne correspond à aucune équipe)

note: type: itemize
en: Mailing list: \url{debian-mentors@lists.debian.org}\\ {\small (also a good way to learn by accident)}
fr: liste de diffusion : \url{debian-mentors@lists.debian.org}\\ {\small (une autre manière d'apprendre par hasard)}

note: type: itemize
en: IRC: \texttt{\#debian-mentors} on \texttt{irc.debian.org}
fr: IRC : \texttt{\#debian-mentors} sur \texttt{irc.debian.org}

note: type: itemize
en: Documentation: \url{http://mentors.debian.net/intro-maintainers}
fr: documentation : \url{http://mentors.debian.net/intro-maintainers}

note: type: itemize
en: \textbf{Localized mailing lists} (get help in your language)
fr: \textbf{listes de diffusion localisées} (pour obtenir de l'aide dans votre langue)

note: type: itemize
en: Full list: \url{https://lists.debian.org/devel.html}
fr: liste complète : \url{https://lists.debian.org/devel.html}

note: type: itemize
en: Or users lists: \url{https://lists.debian.org/users.html}
fr: ou les listes d'utilisateurs : \url{https://lists.debian.org/users.html}

note: type: frame{#2}
en: More documentation
fr: Plus de documentation :

note: type: itemize
en: Debian Developers' Corner\\ \url{https://www.debian.org/devel/}\\ {\small Links to many resources about Debian development}
fr: Le coin des développeurs Debian\\ \url{https://www.debian.org/devel/}\\ {\small Liens vers de nombreuses ressources sur le développement Debian}

note: type: itemize
en: Guide for Debian Maintainers\\ \url{https://www.debian.org/doc/manuals/debmake-doc/}
fr: Guide pour les nouveaux mainteneurs\\ \url{https://www.debian.org/doc/manuals/debmake-doc/}

note: type: itemize
en: Debian Developer's Reference\\ \url{https://www.debian.org/doc/developers-reference/}\\ {\small Mostly about Debian procedures, but also some best packaging practices (part 6)}
fr: Manuel de référence du développeur Debian\\ \url{https://www.debian.org/doc/developers-reference/}\\ {\small Essentiellement sur les procédures Debian mais contient aussi quelques bonnes pratiques d'empaquetage (chapitre 6)}

note: type: itemize
en: Debian Policy\\ \url{https://www.debian.org/doc/debian-policy/}\\
fr: La Charte Debian\\ \url{https://www.debian.org/doc/debian-policy/}\\

note: type: itemize
en: {\small \begin{itemize} \item \small All the requirements that every package must satisfy \item \small Specific policies for Perl, Java, Python, \ldots \end{itemize}}
fr: {\small \begin{itemize} \item \small Toutes les exigences que doit satisfaire chaque paquet \item \small Règles spécifiques pour Perl, Java, Python\ldots \end{itemize}}

note: type: itemize
en: Ubuntu Packaging Guide\\ \url{https://packaging.ubuntu.com/html/}
fr: Guide d'empaquetage d'Ubuntu\\ \url{https://packaging.ubuntu.com/html/}

note: type: frame{#2}
en: Debian dashboards for maintainers
fr: Tableau de bord Debian pour les responsables

note: type: itemize
en: \textbf{Source package centric}:\\ \url{https://tracker.debian.org/dpkg}
fr: \textbf{Pour une vision par paquet source} :\\ \url{https://tracker.debian.org/dpkg}

note: type: itemize
en: \textbf{Maintainer/team centric}: Developer's Packages Overview (DDPO)\\ \url{https://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}
fr: \textbf{Pour une vision par responsable/équipe} : aperçu des paquets d'un développeur (DDPO : Developer's Packages Overview) \\ \url{https://qa.debian.org/developer.php?login=pkg-ruby-extras-maintainers@lists.alioth.debian.org}

note: type: itemize
en: \textbf{TODO-list oriented}: Debian Maintainer Dashboard (DMD)\\ \url{https://udd.debian.org/dmd/}
fr: \textbf{Pour une vision en liste de tâches} : tableau de bord du responsable Debian (DMD : Debian Maintainer Dashboard)\\ \url{https://udd.debian.org/dmd/}

note: type: frame{#2}
en: Using the Debian Bug Tracking System (BTS)
fr: Utilisation du système de suivi des bogues (BTS)

note: type: itemize
en: A quite unique way to manage bugs
fr: Une façon unique de gérer les bogues

note: type: itemize
en: Web interface to view bugs
fr: interface web pour visualiser les bogues

note: type: itemize
en: Email interface to make changes to bugs
fr: interface par courrier électronique pour modifier les bogues

note: type: itemize
en: Adding information to bugs:
fr: Ajouter des informations complémentaires aux bogues :

note: type: itemize
en: Write to \texttt{123456@bugs.debian.org} (does not include the submitter, you need to add \texttt{123456-submitter@bugs.debian.org})
fr: écrivez un message à  \texttt{123456@bugs.debian.org} (pour mettre en copie la personne ayant soumis le bogue, ajoutez \texttt{123456-submitter@bugs.debian.org})

note: type: itemize
en: Changing bug status:
fr: Changer le statut d'un bogue :

note: type: itemize
en: Send commands to \texttt{control@bugs.debian.org}
fr: envoyez des commandes à \texttt{control@bugs.debian.org}

note: type: itemize
en: Command-line interface: \texttt{bts} command in \texttt{devscripts}
fr: interface en ligne de commande : commande \texttt{bts} dans le paquet \texttt{devscripts}

note: type: itemize
en: Documentation: \url{https://www.debian.org/Bugs/server-control}
fr: documentation : \url{https://www.debian.org/Bugs/server-control}

note: type: itemize
en: Reporting bugs: use \texttt{reportbug}
fr: Soumettre un rapport de bogue : utilisez \texttt{reportbug}

note: type: itemize
en: Normally used with a local mail server: install \texttt{ssmtp} or \texttt{nullmailer}
fr: normalement utilisé avec un serveur de courrier local : installez \texttt{ssmtp} ou \texttt{nullmailer}

note: type: itemize
en: Or use \texttt{reportbug -\@-template}, then send (manually) to \texttt{submit@bugs.debian.org}
fr: ou utilisez \texttt{reportbug -\@-template}, puis envoyez « à la main » le message à l'adresse \texttt{submit@bugs.debian.org}

note: type: frame{#2}
en: Using the BTS: examples
fr: Utilisation du BTS : exemples

note: type: itemize
en: Sending an email to the bug and the submitter:\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#10}
fr: Envoyer un message au bogue et à la personne qui l'a soumis :\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#10}

note: type: itemize
en: Tagging and changing the severity:\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\#10}
fr: Étiqueter et changer la sévérité :\\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680227\#10}

note: type: itemize
en: Reassigning, changing the severity, retitling \ldots: \\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#93}
fr: Réattribuer, changer la sévérité, changer le titre\ldots : \\ \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680822\#93}

note: type: itemize
en: \texttt{notfound}, \texttt{found}, \texttt{notfixed}, \texttt{fixed} are for \textbf{version-tracking} \\ See \url{https://wiki.debian.org/HowtoUseBTS\#Version\_tracking}
fr: \texttt{notfound}, \texttt{found}, \texttt{notfixed}, \texttt{fixed} utilisé pour le \textbf{suivi de version} \\ Lisez \url{https://wiki.debian.org/HowtoUseBTS\#Version\_tracking}

note: type: itemize
en: Using usertags: \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\ See \url{https://wiki.debian.org/bugs.debian.org/usertags}
fr: Utiliser des étiquettes utilisateur : \url{https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=42;bug=642267}\\ Consultez \url{https://wiki.debian.org/bugs.debian.org/usertags}

note: type: itemize
en: BTS Documentation:
fr: Documentation du BTS :

note: type: frame{#2}
en: More interested in Ubuntu?
fr: Plus intéressé par Ubuntu ?

note: type: itemize
en: Ubuntu mainly manages the divergence with Debian
fr: Ubuntu gère essentiellement les différences avec Debian

note: type: itemize
en: No real focus on specific packages\\ Instead, collaboration with Debian teams
fr: Pas de concentration sur des paquets spécifiques\\ Mais une collaboration avec les équipes Debian

note: type: itemize
en: Usually recommend uploading new packages to Debian first\\ \url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}
fr: Il est recommandé en général d'envoyer les nouveaux paquets d'abord dans Debian\\ \url{https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages}

note: type: itemize
en: Possibly a better plan:
fr: Peut-être une meilleure idée :

note: type: itemize
en: Get involved in a Debian team and act as a bridge with Ubuntu
fr: S'impliquer dans une équipe Debian et faire le lien avec Ubuntu

note: type: itemize
en: Help reduce divergence, triage bugs in Launchpad
fr: Faciliter la réduction les divergences, trier les bogues sur Launchpad

note: type: itemize
en: Many Debian tools can help:
fr: Beaucoup d'outils Debian peuvent aider :

note: type: itemize
en: Ubuntu column on the Developer's packages overview
fr: Colonne Ubuntu sur l'aperçu des paquets du développeur

note: type: itemize
en: Ubuntu box on the Package Tracking System
fr: Encart Ubuntu sur le système de suivi des paquets

note: type: itemize
en: Receive launchpad bugmail via the PTS
fr: Réception des courriels de bogues Launchpad au moyen du PTS

note: type: itemize
en: You now have a full overview of Debian packaging
fr: Vous avez un aperçu complet de la construction de paquets Debian

note: type: itemize
en: But you will need to read more documentation
fr: Mais vous devrez lire plus de documentation

note: type: itemize
en: Best practices have evolved over the years
fr: Les bonnes pratiques ont évolué avec le temps

note: type: itemize
en: If not sure, use the \textbf{dh} packaging helper, and the \textbf{3.0 (quilt)} format
fr: Si vous n'êtes pas sûr, utilisez l'assistant d'empaquetage de paquets \textbf{dh}, et le format \textbf{3.0 (quilt)}

note: type: centerline{#1}
en: \large Feedback: \textbf{packaging-tutorial@packages.debian.org}
fr: \large Vos retours à : \textbf{packaging-tutorial@packages.debian.org}

note: type: frame{#2}
en: Legal stuff
fr: Mentions légales

note: type: frame
en: Copyright \copyright 2011--2019 Lucas Nussbaum -- lucas@debian.org
fr: Copyright \copyright{} 2011--2019 Lucas Nussbaum -- lucas@debian.org

note: type: frame
en: {\small \textbf{This document is free software}: you can redistribute it and/or modify it under either (at your option): \hbr \begin{itemize} \item The terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\\ \url{http://www.gnu.org/licenses/gpl.html} \br \item The terms of the Creative Commons Attribution-ShareAlike 3.0 Unported License.\\ \url{http://creativecommons.org/licenses/by-sa/3.0/} \end{itemize} }
fr: {\small \textbf{Ce document est un logiciel libre}: vous pouvez le redistribuer et le modifier, selon votre choix, sous : \hbr \begin{itemize} \item les termes de la General Public License GNU publiée par la Fondation du logiciel libre, version 3 de la License, ou (si vous préférez) toute version supérieure.\\ \url{http://www.gnu.org/licenses/gpl.html} \br \item les termes de la licence Creative Commons Attribution-ShareAlike 3.0 Unported.\\ \url{http://creativecommons.org/licenses/by-sa/3.0/} \end{itemize} }

note: type: frame{#2}
en: Contribute to this tutorial
fr: Contribuer à ce tutoriel

note: type: itemize
en: Contribute:
fr: Contribuer :

note: type: itemize
en: {\small Open bugs: \url{bugs.debian.org/src:packaging-tutorial}}
fr: {\small Soumettez des rapports de bogues : \url{bugs.debian.org/src:packaging-tutorial}}

note: type: itemize
en: Provide feedback:
fr: Envoyez vos retours :

note: type: itemize
en: {\small What should be added to this tutorial?}
fr: {\small Qu'est-ce qui doit être ajouté à ce tutoriel ?}

note: type: itemize
en: {\small What should be improved?}
fr: {\small Qu'est-ce qui doit être amélioré ?}

note: type: section{#2}
en: Additional practical sessions
fr: Travaux pratiques supplémentaires

note: type: frame{#2}
en: Practical session 2: packaging GNUjump
fr: Travaux pratiques nº~2 : empaqueter GNUjump

note: type: enumerate
en: Download GNUjump 1.0.8 from \url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz}
fr: Téléchargez GNUjump~1.0.8 depuis \url{http://ftp.gnu.org/gnu/gnujump/gnujump-1.0.8.tar.gz}

note: type: enumerate
en: Create a Debian package for it
fr: Créez un paquet Debian

note: type: itemize
en: Install build-dependencies so that you can build the package
fr: Installez les dépendances de construction du paquet

note: type: itemize
en: Fix bugs
fr: Corrigez des bugs

note: type: itemize
en: Get a basic working package
fr: Vous obtenez un paquet de base fonctionnel

note: type: itemize
en: Finish filling \texttt{debian/control} and other files
fr: Terminez en complétant \texttt{debian/control} et d'autres fichiers

note: type: enumerate
en: Enjoy
fr: Profitez

note: type: frame{#2}
en: Practical session 2: packaging GNUjump (tips)
fr: Travaux pratiques nº~2 : GNUjump (astuces)

note: type: itemize
en: To get a basic working package, use \texttt{dh\_make}
fr: Créez un paquet source basique : \texttt{dh\_make}

note: type: itemize
en: To start with, creating a \textsl{1.0} source package is easier than \textsl{3.0 (quilt)} (change that in \texttt{debian/source/format})
fr: Pour commencer, créer un fichier source \textsl{1.0} est plus facile que \textsl{3.0 (quilt)} (à changer dans \texttt{debian/source/format})

note: type: itemize
en: To search for missing build-dependencies, find a missing file, and use \texttt{apt-file} to find the missing package
fr: Pour chercher des dépendances de construction manquantes, trouvez un fichier manquant, et utilisez\texttt{apt-file} pour trouver le paquet manquant correspondant

note: type: itemize
en: If you encounter that error:
fr: Si vous rencontrez cette erreur:

note: type: itemize
en: You need to add \texttt{-lm} to the linker command line:\\ Edit \texttt{src/Makefile.am} and replace
fr: Vous devez ajouter \texttt{-lm} sur la ligne de commande du lieur:\\ Editez \texttt{src/Makefile.am} et remplacez

note: type: itemize
en: by
fr: par

note: type: itemize
en: Then run \texttt{autoreconf -i}
fr: Puis exécutez \texttt{autoreconf -i}

note: type: frame{#2}
en: Practical session 3: packaging a Java library
fr: Travaux pratiques nº~3 : une bibliothèque Java

note: type: enumerate
en: Take a quick look at some documentation about Java packaging:\\
fr: Jetez un coup d'œil sur la documentation pour la construction de paquets Java :\\

note: type: enumerate
en: Download IRClib from \url{http://moepii.sourceforge.net/}
fr: Téléchargez IRClib sur \url{http://moepii.sourceforge.net/}

note: type: enumerate
en: Package it
fr: Empaquetez-la

note: type: frame{#2}
en: Practical session 4: packaging a Ruby gem
fr: Travaux pratiques nº~4 : empaqueter un gem Ruby

note: type: enumerate
en: Take a quick look at some documentation about Ruby packaging:\\
fr: Jetez un coup d'œil sur la documentation pour la construction de paquets Ruby :\\

note: type: itemize
en: \texttt{gem2deb(1)}, \texttt{dh\_ruby(1)} (in the \texttt{gem2deb} package)
fr: \texttt{gem2deb(1)}, \texttt{dh\_ruby(1)} (dans le paquet \texttt{gem2deb})

note: type: enumerate
en: Create a basic Debian source package from the \texttt{peach} gem:\\ \texttt{gem2deb peach}
fr: Créez un paquet source Debian élémentaire à partir du gem \texttt{peach} :\\ \texttt{gem2deb peach}

note: type: enumerate
en: Improve it so that it becomes a proper Debian package
fr: Améliorez-le pour qu'il devienne un paquet Debian à part entière

note: type: frame{#2}
en: Practical session 5: packaging a Perl module
fr: Travaux pratiques nº~5 : module Perl

note: type: enumerate
en: Take a quick look at some documentation about Perl packaging:\\
fr: Jetez un coup d'œil sur la documentation pour la construction de paquets Perl :\\

note: type: enumerate
en: Create a basic Debian source package from the \texttt{Acme} CPAN distribution:\\ \verb|dh-make-perl --cpan Acme|
fr: Créez un paquet source Debian élémentaire à partir du module \texttt{Acme} de CPAN :\verb|dh-make-perl --cpan Acme|

note: type: section{#2}
en: Answers to practical sessions
fr: Solutions aux travaux pratiques

note: type: center
en: \LARGE Answers to
fr: \LARGE Solutions aux

note: type: center
en: [0.5em] practical sessions
fr: [0.5em] travaux pratiques

note: type: frame{#2}
en: Fetching the source
fr: Récupérer les sources

note: type: itemize
en: Use dget to download the \texttt{.dsc} file:\\ {\small \texttt{dget http://cdn.debian.net/debian/pool/main/g/grep/grep\_2.12-2.dsc}}
fr: Utilisez dget pour télécharger le fichier \texttt{.dsc} :\\ {\small \texttt{dget http://cdn.debian.net/debian/pool/main/g/grep/grep\_2.12-2.dsc}}

note: type: itemize
en: If you have \texttt{deb-src} for a Debian release that has \texttt{grep} version 2.12-2 (find out on \url{https://tracker.debian.org/grep}), you can use: \texttt{apt-get source grep=2.12-2}\\ or \texttt{apt-get source grep/release} (e.g. \texttt{grep/stable})\\ or, if you feel lucky: \texttt{apt-get source grep}
fr: Si vous avez des lignes \texttt{deb-src} pour une version de Debian qui contient \texttt{grep} version 2.12-2 (à vérifier sur \url{https://tracker.debian.org/grep}), vous pouvez utiliser: \texttt{apt-get source grep=2.12-2}\\ ou \texttt{apt-get source grep/release} (par exemple \texttt{grep/stable})\\ ou, si vous avez de la chance: \texttt{apt-get source grep}

note: type: itemize
en: The \texttt{grep} source package is composed of three files:
fr: Le paquet source de \texttt{grep} se compose de trois fichiers :

note: type: itemize
en: This is typical of the "3.0 (quilt)" format.
fr: C'est le cas typique du format « 3.0~(quilt) »

note: type: itemize
en: If needed, uncompress the source with\\ \texttt{dpkg-source -x grep\_2.12-2.dsc}
fr: Si nécessaire, décompressez le paquet source avec\\ \texttt{dpkg-source -x grep\_2.12-2.dsc}

note: type: frame{#2}
en: Looking around and building the package
fr: Faites le tour et construisez le paquet

note: type: enumerate
en: Look at the files in \texttt{debian/}
fr: Regardez les fichiers contenus dans \texttt{debian/}

note: type: itemize
en: According to \texttt{debian/control}, this package only generates one binary package, named \texttt{grep}.
fr: D'après \texttt{debian/control}, ce paquet ne génère qu'un seul paquet binaire, nommé \texttt{grep}.

note: type: itemize
en: According to \texttt{debian/rules}, this package is typical of \textsl{classic} debhelper packaging, without using \textsl{CDBS} or \textsl{dh}. One can see the various calls to \texttt{dh\_*} commands in \texttt{debian/rules}.
fr: D'après \texttt{debian/rules}, ce paquet est un exemple typique de construction avec l'assistant \textsl{classique} debhelper, n'utilisant ni \textsl{CDBS} ni \textsl{dh}. On peut voir les différents appels aux commandes \texttt{dh\_*} dans \texttt{debian/rules}.

note: type: itemize
en: Use \texttt{apt-get build-dep grep} to fetch the build-dependencies
fr: Utilisez la commande \texttt{apt-get build-dep grep} pour installer les dépendances de construction

note: type: itemize
en: Then \texttt{debuild} or \texttt{dpkg-buildpackage -us -uc} (Takes about 1 min)
fr: Puis \texttt{debuild} ou \texttt{dpkg-buildpackage -us -uc} (prend environ 1 min)

note: type: frame{#2}
en: Editing the changelog
fr: Éditer le journal des modifications

note: type: itemize
en: \texttt{debian/changelog} is a text file. You could edit it and add a new entry manually.
fr: \texttt{debian/changelog} est un fichier texte. Vous pourriez l'éditer et ajouter une nouvelle entrée à la main.

note: type: itemize
en: Or you can use \texttt{dch -i}, which will add an entry and open the editor
fr: Vous pouvez aussi utiliser \texttt{dch -i}, qui ajoutera une entrée et ouvrira un éditeur

note: type: itemize
en: The name and email can be defined using the \texttt{DEBFULLNAME} and \texttt{DEBEMAIL} environment variables
fr: On peut définir son nom et son adresse électronique via les variables d'environnement \texttt{DEBFULLNAME} et \texttt{DEBEMAIL}

note: type: itemize
en: After that, rebuild the package: a new version of the package is built
fr: Reconstruisez le paquet : une nouvelle version du paquet est construite

note: type: itemize
en: Package versioning is detailed in section 5.6.12 of the Debian policy\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}
fr: Le système des versions est décrit à la section 5.6.12 de la Charte Debian\\ \url{https://www.debian.org/doc/debian-policy/ch-controlfields}

note: type: frame{#2}
en: Disabling Perl regexp support and rebuilding
fr: Désactiver les expressions rationnelles Perl

note: type: itemize
en: Check with \texttt{./configure -{}-help}: the option to disable Perl regexp is \texttt{-{}-disable-perl-regexp}
fr: Vérifiez avec \texttt{./configure -{}-help} : l'option pour désactiver les expressions rationnelles Perl est \texttt{-{}-disable-perl-regexp}

note: type: itemize
en: Edit \texttt{debian/rules} and find the \texttt{./configure} line
fr: Éditez \texttt{debian/rules} et cherchez la ligne \texttt{./configure}

note: type: itemize
en: Add \texttt{-{}-disable-perl-regexp}
fr: Ajoutez \texttt{-{}-disable-perl-regexp}

note: type: itemize
en: Rebuild with \texttt{debuild} or \texttt{dpkg-buildpackage -us -uc}
fr: Reconstruisez avec \texttt{debuild} ou \texttt{dpkg-buildpackage -us -uc}

note: type: frame{#2}
en: Comparing and testing the packages
fr: Comparer et tester les paquets

note: type: itemize
en: Compare the binary packages: \texttt{debdiff ../*changes}
fr: Comparez les paquets binaires : \texttt{debdiff ../*changes}

note: type: itemize
en: Compare the source packages: \texttt{debdiff ../*dsc}
fr: Comparez les paquets source : \texttt{debdiff ../*dsc}

note: type: itemize
en: Install the newly built package: \texttt{debi}\\ Or \texttt{dpkg -i ../grep\_<TAB>}
fr: Installez le paquet nouvellement construit : \texttt{debi}\\ ou \texttt{dpkg -i ../grep\_<TAB>}

note: type: itemize
en: \texttt{grep -P foo} no longer works!
fr: \texttt{grep -P foo} ne fonctionne plus !

note: type: frame
en: Reinstall the previous version of the package:
fr: Réinstallez la version précédente du paquet :

note: type: itemize
en: \texttt{apt-get install -{}-reinstall grep=2.6.3-3} \textit{(= previous version)}
fr: \texttt{apt-get install -{}-reinstall grep=2.6.3-3} \textit{(= version précédente)}

note: type: frame{#2}
en: Step by step\ldots
fr: Pas à pas\ldots

note: type: itemize
en: Type of package: single binary (for now)
fr: Type de paquet : un seul binaire (pour l'instant)

note: type: frame{#2}
en: Step by step\ldots (2)
fr: Pas à pas\ldots (2)

note: type: itemize
en: Look at \texttt{debian/changelog}, \texttt{debian/rules}, \texttt{debian/control}\\ (auto-filled by \textbf{dh\_make})
fr: Regardez \texttt{debian/changelog}, \texttt{debian/rules}, \texttt{debian/control}\\ (remplis automatiquement par \textbf{dh\_make})

note: type: itemize
en: In \texttt{debian/control}:\\ \texttt{Build-Depends: debhelper (>= 7.0.50~), autotools-dev}\\ Lists the \textsl{build-dependencies} = packages needed to build the package
fr: Dans \texttt{debian/control} :\\ \texttt{Build-Depends: debhelper (>= 7.0.50~), autotools-dev}\\ Liste des \textsl{dépendances de construction} = paquets nécessaires pour construire le paquet

note: type: itemize
en: Try to build the package as-is with \texttt{debuild} (thanks to \textbf{dh} magic)
fr: Essayez de construire le paquet comme ça, avec \texttt{debuild} (grâce à la magie de \textbf{dh})

note: type: itemize
en: And add build-dependencies, until it builds
fr: Et ajoutez des dépendances jusqu'à ce que la construction puisse se terminer

note: type: itemize
en: Hint: use \texttt{apt-cache search} and \texttt{apt-file} to find the packages
fr: Astuce : utilisez \texttt{apt-cache search} et \texttt{apt-file} pour chercher les paquets manquants

note: type: itemize
en: Example:
fr: Exemple :

note: type: itemize
en: $\rightarrow$ Add \textbf{libsdl1.2-dev} to Build-Depends and install it.
fr: $\rightarrow$ Ajoutez \textbf{libsdl1.2-dev} à \texttt{Build-Depends} et installez-le.

note: type: itemize
en: Better: use \textbf{pbuilder} to build in a clean environment
fr: Mieux : construction dans un environnement propre avec \textbf{pbuilder}

note: type: frame{#2}
en: Step by step\ldots (3)
fr: Pas à pas\ldots (3)

note: type: itemize
en: Required build-dependencies are \texttt{libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev}
fr: Les dépendances de construction nécessaires sont \texttt{libsdl1.2-dev, libsdl-image1.2-dev, libsdl-mixer1.2-dev}

note: type: itemize
en: Then, you will probably run into another error:
fr: Ensuite, vous devriez rencontrer une autre erreur:

note: type: lstlisting
en: [basicstyle=\ttfamily\tiny]
    	/usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
    	//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
    	collect2: error: ld returned 1 exit status
    	Makefile:376: recipe for target 'gnujump' failed
fr: [basicstyle=\ttfamily\tiny]
    /usr/bin/ld: SDL_rotozoom.o: undefined reference to symbol 'ceil@@GLIBC_2.2.5'
    //lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    Makefile:376: recipe for target 'gnujump' failed

note: type: itemize
en: This problem is caused by bitrot: gnujump has not been adjusted following linker changes.
fr: Ce problème est causé par la \textsl{pourriture logicielle}: gnujump n'a pas été adapté suite à des changements du lieur.

note: type: itemize
en: If you are using source format version \textbf{1.0}, you can directly change upstream sources.
fr: Si vous utilisez le format source \textbf{1.0}, vous pouvez directement changer les sources amont.

note: type: itemize
en: Edit \texttt{src/Makefile.am} and replace
fr: Éditer \textsl{src/Makefile.am} and remplacer

note: type: frame{#2}
en: Step by step\ldots (4)
fr: Pas à pas\ldots (4)

note: type: itemize
en: If you are using source format version \textbf{3.0 (quilt)}, use \texttt{quilt} to prepare a patch. (see \url{https://wiki.debian.org/UsingQuilt})
fr: Si vous utilisez le format source \textbf{3.0 (quilt)}, utilisez \texttt{quilt} pour préparer un patch. (voir \url{https://wiki.debian.org/UsingQuilt})

note: type: itemize
en: Since \texttt{src/Makefile.am} was changed, autoreconf must be called during the build. To do that automatically with \texttt{dh}, change the \texttt{dh} call in \texttt{debian/rules} from: \texttt{dh \$\@ -{}-with autotools-dev}\\ to: \texttt{dh \$\@ -{}-with autotools-dev -{}-with autoreconf}
fr: comme \texttt{src/Makefile.am} a été changé, autoreconf doit être appelé pendant la compilation. Pour le faire automatiquement avec \texttt{dh}, changer l'appel à \texttt{dh} dans \texttt{debian/rules} de: \texttt{dh \$\@ -{}-with autotools-dev}\\ en: \texttt{dh \$\@ -{}-with autotools-dev -{}-with autoreconf}

note: type: frame{#2}
en: Step by step\ldots (5)
fr: Pas à pas\ldots (5)

note: type: itemize
en: The package should now build fine.
fr: Le paquet devrait maintenant se construire correctement.

note: type: itemize
en: Use \texttt{debc} to list the content of the generated package, and \texttt{debi} to install it and test it.
fr: Utilisez \texttt{debc} pour lister le contenu du paquet créé, et \texttt{debi} pour l'installer et le tester.

note: type: itemize
en: Test the package with \texttt{lintian}
fr: Testez le paquet avec \texttt{lintian}

note: type: itemize
en: While not a strict requirement, it is recommended that packages uploaded to Debian are \textsl{lintian-clean}
fr: Absence de problèmes signalés par \texttt{lintian} recommandée (même si pas strictement nécessaire) pour les paquets envoyés dans Debian

note: type: itemize
en: More problems can be listed using \texttt{lintian -EviIL +pedantic}
fr: Détection de plus de problèmes : \texttt{lintian -EviIL +pedantic}

note: type: itemize
en: Some hints:
fr: Quelques indices :

note: type: itemize
en: Remove the files that you don't need in \texttt{debian/}
fr: Supprimez les fichiers inutiles dans \texttt{debian/}

note: type: itemize
en: Fill in \texttt{debian/control}
fr: Complétez \texttt{debian/control}

note: type: itemize
en: Install the executable to \texttt{/usr/games} by overriding \texttt{dh\_auto\_configure}
fr: Installez l'exécutable dans \texttt{/usr/games} en surchargeant \texttt{dh\_auto\_configure}

note: type: itemize
en: Use \textsl{hardening} compiler flags to increase security.\\ See \url{https://wiki.debian.org/Hardening}
fr: Utilisez les attributs de consolidation du compilateur pour augmenter la sécurité.\\ Consultez \url{https://wiki.debian.org/Hardening}

note: type: frame{#2}
en: Step by step\ldots (6)
fr: Pas à pas\ldots (6)

note: type: itemize
en: Compare your package with the one already packaged in Debian:
fr: Comparez votre paquet avec celui déjà empaqueté dans Debian :

note: type: itemize
en: It splits the data files to a second package, that is the same across all architectures ($\rightarrow$ saves space in the Debian archive)
fr: Il rassemble les fichiers de données dans un deuxième paquet, identique pour toutes les architectures ($\rightarrow$ gain de place dans l'archive Debian)

note: type: itemize
en: It installs a .desktop file (for the GNOME/KDE menus) and also integrates into the Debian menu
fr: Il installe aussi un fichier .desktop (pour les menus GNOME/KDE) et l'intègre dans le menu Debian

note: type: itemize
en: It fixes a few minor problems using patches
fr: Il corrige de petits problèmes en utilisant des correctifs

note: type: itemize
en: Create a basic source package: \texttt{jh\_makepkg}
fr: Créez un paquet source de base : \texttt{jh\_makepkg}

note: type: itemize
en: Library
fr: Bibliothèque

note: type: itemize
en: None
fr: Aucun

note: type: itemize
en: Default Free compiler/runtime
fr: Compilateur et exécution libres fournis par défaut

note: type: itemize
en: Look at and fix \texttt{debian/*}
fr: Regardez et corrigez \texttt{debian/*}

note: type: itemize
en: \texttt{dpkg-buildpackage -us -uc} or \texttt{debuild}
fr: \texttt{dpkg-buildpackage -us -uc} ou \texttt{debuild}

note: type: itemize
en: Compare your result with the \texttt{libirclib-java} source package
fr: Comparez votre résultat avec le paquet source \texttt{libirclib-java}

note: type: frame
en: \texttt{gem2deb peach}:
fr: \texttt{gem2deb peach} :

note: type: itemize
en: Downloads the gem from rubygems.org
fr: Télécharge le gem depuis rubygems.org

note: type: itemize
en: Creates a suitable .orig.tar.gz archive, and untar it
fr: Crée une archive .orig.tar.gz adéquate, et la décompresse

note: type: itemize
en: Initializes a Debian source package based on the gem's metadata
fr: Initialise un paquet source Debian basé sur les métadonnées du gem

note: type: itemize
en: Named \texttt{ruby-\textsl{gemname}}
fr: Nommé \texttt{ruby-\textsl{gemname}}

note: type: itemize
en: Tries to build the Debian binary package (this might fail)
fr: Tente de construire le paquet binaire Debian (ceci peut échouer)

note: type: frame
en: \texttt{dh\_ruby} (included in \textsl{gem2deb}) does the Ruby-specific tasks:
fr: \texttt{dh\_ruby} (inclus dans \textsl{gem2deb}) effectue les tâches spécifiques à Ruby :

note: type: itemize
en: Build C extensions for each Ruby version
fr: Construction d'extentions C pour chaque version de Ruby

note: type: itemize
en: Copy files to their destination directory
fr: Copie les fichiers dans leur répertoire de destination

note: type: itemize
en: Update shebangs in executable scripts
fr: Mise à jour des interpréteurs à utiliser (« shebangs ») pour les scripts exécutables

note: type: itemize
en: Run tests defined in \texttt{debian/ruby-tests.rb}, \texttt{debian/ruby-tests.rake}, or \texttt{debian/ruby-test-files.yaml}, as well as various other checks
fr: Exécution des tests définis dans \texttt{debian/ruby-tests.rb}, \texttt{debian/ruby-tests.rake}, ou \texttt{debian/ruby-test-files.yaml} ainsi que d'autres vérifications

note: type: frame
en: Improve the generated package:
fr: Améliorez le paquet créé :

note: type: itemize
en: Run \texttt{debclean} to clean the source tree. Look at \texttt{debian/}.
fr: Exécutez \texttt{debclean} pour nettoyer l'arborescence. Regardez \texttt{debian/}.

note: type: itemize
en: \texttt{changelog} and \texttt{compat} should be correct
fr: \texttt{changelog} et \texttt{compat} devraient être corrects

note: type: itemize
en: Edit \texttt{debian/control}: improve \texttt{Description}
fr: Éditez \text{debian/control} : améliorez \texttt{Description}

note: type: itemize
en: Write a proper \texttt{copyright} file based on the upstream files
fr: Écrivez un fichier \texttt{copyright} approprié se basant sur les fichiers amont

note: type: itemize
en: Compare your package with the \texttt{ruby-peach} package in the Debian archive
fr: Comparez votre paquet avec le paquet \texttt{ruby-peach} présent dans l'archive Debian

note: type: itemize
en: Downloads the tarball from the CPAN
fr: Télécharge l'archive de CPAN

note: type: itemize
en: Creates a suitable .orig.tar.gz archive, and untars it
fr: Crée une archive .orig.tar.gz adéquate, et la décompresse

note: type: itemize
en: Initializes a Debian source package based on the distribution's metadata
fr: Initialise un paquet source Debian basé sur les métadonnées de CPAN

note: type: itemize
en: \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs}, and \texttt{debian/watch} should be correct
fr: \texttt{debian/changelog}, \texttt{debian/compat}, \texttt{debian/libacme-perl.docs}, and \texttt{debian/watch} devraient être corrects

note: type: itemize
en: Edit \texttt{debian/control}: improve \texttt{Description}, and remove boilerplate at the bottom
fr: Éditez \text{debian/control} : améliorez \texttt{Description}, et enlevez le texte à la fin

note: type: itemize
en: Edit \texttt{debian/copyright}: remove boilerplate paragraph at the top, add years of copyright to the \texttt{Files:\hspace{0.3em}*} stanza
fr: Éditez \texttt{debian/copyright}: enlevez le premier paragraphe en haut, ajoutez les années du copyright aux paragraphes \texttt{Files:\hspace{0.3em}*}
