Le 29/05/2011 16:20, Denis Barbier a écrit : > Après, pour avancer, il faudrait faire une traduction, et voir ce que > donne le résultat. Bonne idée. Jean-Philippe, si tu es toujours intéressé et que tu n'as pas encore commencé, je te propose de partir sur le fichier joint (si tu as déjà commencé avec un autre fichier ou un autre format, ça m'intéresse aussi ;-). Ce fichier ne représente que la première moitié du packaging-tutorial, il devrait encore évoluer pour rendre la vie du traducteur plus facile et permettre de traduire d'éventuelles chaînes manquantes, mais pour continuer à préparer la conversion, j'aimerai bien pouvoir bosser à partir d'un fichier un peu traduit pour voir le rendu et corriger ce qui manque (donc n'hésite pas à me renvoyer directement une traduction partielle, même avec plein de fautes histoire que je regarde ce que ça donne pendant que tu peaufines avant de demander des relectures sur la liste). Ta mission, si tu l'acceptes, commence par répondre au message avec le titre suivant (sans Re ) : [ITT] po4a://packaging-tutorial/fr.po Le 29/05/2011 17:05, Denis Barbier a écrit : >>> Dans ton fichier perso, tu peux ajouter >>> % po4a: command *br […] >> Marche pas :/. […] > Chez moi, si, ça marche bien, et pas besoin de modifier les sources. Bon, ça doit être le syndrome du dimanche où je suis encore plus mou du bulbe que d'habitude, j'essaierai demain ou plus tard après avoir dormi dessus. De toute façon, quelle que soit la technique pour les virer, ça ne va pas modifier les chaîne du fichier POT pour le traducteur. Le 29/05/2011 16:41, David Prévot a écrit : > Lucas, je pousserai ce que j'ai ce soir dans une branche annexe Il y a des jours comme ça où on ferait mieux de ne rien dire : http://paste.debian.net/118347/ Peut être encore le syndrome du dimanche, je ferai tout ça plus tard (pas grave, ça permettra peut être de proposer du meilleur matériel). [ Rappel des instructions ] Comment procéder pour traduire : - éditer et traduire le fichier joint, de préférence avec un outil dédié genre Lokalize ou poedit (ou Emacs et son po-mode s'il ne vous enquiquine pas trop). - ne pas oublier de remplir les champs : Project-Id-Version: --> mettre ici le nom du paquet et sa version au moment de la traduc est une bonne idée Last-Translator: --> le plus souvent votre outil mettra tout seul VOTRE adresse Language-Team: --> "French <debian-l10n-french@lists.debian.org>\n" - envoyer le fichier ici pour relecture avec le sujet [RFR] po4a://packaging-tutorial/fr.po Si vous remarquez des coquilles dans la version originale, merci de les signaler aussi. - une fois « suffisamment » de relectures envoyées et la synthèse faite, postez un message de préférence en réponse à votre RFR avec le sujet : [LCFC] po4a://packaging-tutorial/fr.po - envoyez alors un rapport de bogue à l'auteur du paquet. Une fois reçu le numéro du bogue postez une dernière fois dans debian-l10n-french un message avec le sujet : [BTS#xxxxxx] po4a://packaging-tutorial/fr.po où xxxxxx est le numéro du bogue. Amicalement David P.-S. : Ces informations sont destinées à renseigner le suivi automatique de l'avancement des traductions : http://i18n.debian.net/debian-l10n/french Signification des abréviations utilisées sur debian-l10n-french : [TAF] : « Traduction À Faire ». Ce message indique que tel ou tel document est à traduire. [ITT] : « Intent To Translate » ou Intention de Traduire Le document mentionné va etre traduit par l'émetteur de ce courrier. Il devient « propriétaire » de la traduction. [RFR] : « Request For Review » ou Demande de relecture (DDR) Le traducteur demande à qui le veut bien de relire ce document Merci de fournir ensuite un fichier diff unifié de préférence et de placer votre relecture en réponse au RFR, dans la liste. [LCFC]: « Last Chance For Comments » ou Derniers Commentaires (RELU) Le traducteur va bientôt envoyer ou cette traduction. Dépêchez-vous si vous avez des modifications a suggérer. [BTS] : « Bug Tracking System » ou Système de Gestion des bogues C'est un message purement technique pour les robots de tenue de statistiques : le traducteur a créé un bogue avec cette traduction. La traduction n'est en général pas jointe au message. [DONE]: Travail terminé sur ce document C'est un message purement technique pour les robots de tenue de statistiques : la traduction a en fait été intégrée. Pas la peine de le faire quand un BTS existe car le robot d'analyse le fera lui-même. Ce marqueur est utilisé dans des cas particuliers où il est nécessaire de « fermer » un travail en cours. [HOLD]: Il n'est pas nécessaire de travailler sur ce document. Il est probablement déjà traduit mais cela n'apparaît pas sur les pages d'état en raison d'un cas particulier quelconque. Les pseudo-URLs : On désigne les documents sous forme de pseudo-URL : type://document/lang.po type: po : traduction des messages d'un programme po-debconf : traduction des écrans debconf d'un paquet Debian po4a : traduction de la documentation d'un programme wml : les pages web du site document: c'est souvent le nom du paquet ou celui de la page web lang: c'est la langue... donc en général « fr » pour le français
# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2011-05-29 17:44-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. type: Plain text #: packaging-tutorial.tex:5 msgid "\\mode<presentation> \\usetheme{debian}" msgstr "" #. type: hypersetup{#1} #: packaging-tutorial.tex:13 msgid "pdftitle={Debian Packaging Tutorial},bookmarks" msgstr "" #. type: title{#1} #: packaging-tutorial.tex:13 msgid "Debian Packaging Tutorial" msgstr "" #. type: date{#1} #: packaging-tutorial.tex:13 msgid "version 0.1 - 2011-05-25" msgstr "" #. type: frame{#1} #: packaging-tutorial.tex:17 msgid "\\titlepage" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:40 msgid "About this tutorial" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Goal: \\textbf{tell you what you really need to know about Debian packaging}" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Modify existing packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Create your own packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Interact with the Debian community" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Become a Debian power-user" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Covers the most important points, but is not complete" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "You will need to read more documentation" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "Most of the content also applies to Debian derivatives distributions" msgstr "" #. type: itemize #: packaging-tutorial.tex:40 msgid "That includes Ubuntu" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:44 msgid "Outline" msgstr "" #. type: frame #: packaging-tutorial.tex:44 msgid "[hideallsubsections]" msgstr "" #. type: section{#2} #: packaging-tutorial.tex:46 msgid "Introduction" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:48 packaging-tutorial.tex:66 msgid "Debian" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "\\textbf{GNU/Linux distribution}" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "1st major distro developed ``openly in the spirit of GNU''" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "\\textbf{Non-commercial}, built collaboratively by over 1,000 volunteers" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "3 main features:" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "" "\\textbf{Quality} -- culture of technical excellence\\\\ {\\small\\sl We " "release when it's ready}" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "" "\\textbf{Freedom} -- devs and users bound by the \\textsl{Social " "Contract}\\\\ Promoting the culture of Free Software since 1993" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "" "\\textbf{Independence} -- no (single) company babysitting Debian\\\\ And " "open decision-making process (\\textsl{do-ocracy} + \\textsl{democracy})" msgstr "" #. type: itemize #: packaging-tutorial.tex:66 msgid "\\textbf{Amateur} in the best sense: done for the love of it" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:82 packaging-tutorial.tex:82 msgid "Debian packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "\\textbf{.deb} files (binary packages)" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "A very powerful and convenient way to distribute software to users" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "One of the two most common packages format (with RPM)" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "Universal:" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "" "30,000 binary packages in Debian\\\\ $\\rightarrow$ most of the available " "free software is packaged in Debian!" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "For 12 ports (architectures), including 2 non-Linux (Hurd; KFreeBSD)" msgstr "" #. type: itemize #: packaging-tutorial.tex:82 msgid "Also used by 120 Debian derivatives distributions" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:86 packaging-tutorial.tex:109 msgid "The Deb package format" msgstr "" #. type: itemize #: packaging-tutorial.tex:109 msgid "\\texttt{.deb} file: an \\texttt{ar} archive" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:109 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "$ ar tv wget_1.12-2.1_i386.deb\n" "rw-r--r-- 0/0 4 Sep 5 15:43 2010 debian-binary\n" "rw-r--r-- 0/0 2403 Sep 5 15:43 2010 control.tar.gz\n" "rw-r--r-- 0/0 751613 Sep 5 15:43 2010 data.tar.gz\n" " " msgstr "" #. $ #. type: itemize #: packaging-tutorial.tex:109 msgid "" "\\texttt{debian-binary}: version of the deb file format, " "\\texttt{\"2.0\\textbackslash{}n\"}" msgstr "" #. type: itemize #: packaging-tutorial.tex:109 msgid "" "\\texttt{control.tar.gz}: metadata about the package\\\\ {\\small " "\\texttt{\\textbf{control}, md5sums, (pre|post)(rm|inst), triggers, shlibs}, " "\\ldots}" msgstr "" #. type: itemize #: packaging-tutorial.tex:109 msgid "\\texttt{data.tar.gz}: data files of the package" msgstr "" #. type: itemize #: packaging-tutorial.tex:109 msgid "" "You could create your \\texttt{.deb} files manually\\\\ {\\footnotesize " "\\url{http://tldp.org/HOWTO/html\\_single/Debian-Binary-Package-Building-HOWTO/}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:109 msgid "But most people don't do it that way" msgstr "" #. type: enumerate #: packaging-tutorial.tex:109 packaging-tutorial.tex:128 packaging-tutorial.tex:222 packaging-tutorial.tex:407 packaging-tutorial.tex:764 packaging-tutorial.tex:827 packaging-tutorial.tex:850 packaging-tutorial.tex:920 packaging-tutorial.tex:920 packaging-tutorial.tex:920 packaging-tutorial.tex:997 packaging-tutorial.tex:1095 packaging-tutorial.tex:1138 packaging-tutorial.tex:1156 packaging-tutorial.tex:1181 msgid "\\br" msgstr "" #. type: centerline{#1} #: packaging-tutorial.tex:109 msgid "\\textbf{This tutorial: create Debian packages, the Debian way}" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:128 packaging-tutorial.tex:128 msgid "Tools you will need" msgstr "" #. type: itemize #: packaging-tutorial.tex:128 msgid "A Debian (or Ubuntu) system (with root access)" msgstr "" #. type: itemize #: packaging-tutorial.tex:128 msgid "Some packages:" msgstr "" #. type: itemize #: packaging-tutorial.tex:128 msgid "" "\\textbf{build-essential}: has dependencies on the packages that will be " "assumed to be available on the developers' machine (no need to specify them " "in the \\texttt{Build-Depends:} control field of your package)" msgstr "" #. type: itemize #: packaging-tutorial.tex:128 msgid "" "includes a dependency on \\textbf{dpkg-dev}, which contains basic " "Debian-specific tools to create packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:128 msgid "\\textbf{devscripts}: contains many useful scripts for Debian maintainers" msgstr "" #. type: frame #: packaging-tutorial.tex:135 msgid "" "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." msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:144 packaging-tutorial.tex:144 msgid "General packaging workflow" msgstr "" #. \draw[arr,->] (bin) -- (-1,-6) node[pos=0.5,left] {upload (\textttc{dput})}; #. hack hack hack #. type: tikzpicture #: packaging-tutorial.tex:164 msgid "" "\\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);" msgstr "" #. type: subsection{#2} #: packaging-tutorial.tex:179 msgid "Rebuilding dash" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:179 msgid "Example: rebuilding dash" msgstr "" #. type: enumerate #: packaging-tutorial.tex:179 msgid "" "Install build-essential, devscripts and debhelper (needed to build dash)\\\\ " "{\\texttt{apt-get install build-essential devscripts debhelper}}" msgstr "" #. type: enumerate #: packaging-tutorial.tex:179 msgid "" "Create a working directory, and get in it:\\\\ \\texttt{mkdir " "/tmp/debian-tutorial ; cd /tmp/debian-tutorial}" msgstr "" #. type: enumerate #: packaging-tutorial.tex:179 msgid "" "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})}" msgstr "" #. type: enumerate #: packaging-tutorial.tex:179 msgid "Build the package\\\\ {\\texttt{cd dash-*\\\\ debuild -us -uc}}" msgstr "" #. type: enumerate #: packaging-tutorial.tex:190 msgid "Check that it worked" msgstr "" #. type: itemize #: packaging-tutorial.tex:190 msgid "There are some new \\texttt{.deb} files in the parent directory" msgstr "" #. type: enumerate #: packaging-tutorial.tex:190 msgid "Look at the \\texttt{debian/} directory" msgstr "" #. type: itemize #: packaging-tutorial.tex:190 msgid "That's where the packaging work is done" msgstr "" #. type: section{#2} #: packaging-tutorial.tex:222 msgid "Creating source packages" msgstr "" #. type: subsection{#2} #: packaging-tutorial.tex:222 msgid "Source packages basics" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:222 msgid "Source package" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "" "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}" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "Two kinds of packages: (if unsure, use non-native)" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "\\small" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "" "Native packages: normally for Debian specific software (\\textsl{dpkg}, " "\\textsl{apt})" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "Non-native packages: software developed outside Debian" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "Main file: \\texttt{.dsc} (meta-data)" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "Other files depending on the version of the source format" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "1.0 -- native: \\texttt{package\\_version.tar.gz}" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "1.0 -- non-native:" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 packaging-tutorial.tex:222 msgid "\\texttt{pkg\\_ver.orig.tar.gz} : upstream source" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "\\texttt{pkg\\_debver.diff.gz} : patch to add Debian-specific changes" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "3.0 (quilt):" msgstr "" #. type: itemize #: packaging-tutorial.tex:222 msgid "\\texttt{pkg\\_debver.debian.tar.gz} : tarball with the Debian changes" msgstr "" #. type: frame #: packaging-tutorial.tex:225 msgid "(See \\texttt{dpkg-source(1)} for exact details)" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:249 msgid "Source package example (wget\\_1.12-2.1.dsc)" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:249 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\small]\n" "Format: 3.0 (quilt)\n" "Source: wget\n" "Binary: wget\n" "Architecture: any\n" "Version: 1.12-2.1\n" "Maintainer: Noel Kothe <noel@debian.org>\n" "Homepage: http://www.gnu.org/software/wget/\n" "Standards-Version: 3.8.4\n" "Build-Depends: debhelper (>> 5.0.0), gettext, texinfo,\n" " libssl-dev (>= 0.9.8), dpatch, info2man\n" "Checksums-Sha1: \n" " 50d4ed2441e67[..]1ee0e94248 2464747 wget_1.12.orig.tar.gz\n" " d4c1c8bbe431d[..]dd7cef3611 48308 wget_1.12-2.1.debian.tar.gz\n" "Checksums-Sha256: \n" " 7578ed0974e12[..]dcba65b572 2464747 wget_1.12.orig.tar.gz\n" " 1e9b0c4c00eae[..]89c402ad78 48308 wget_1.12-2.1.debian.tar.gz\n" "Files: \n" " 141461b9c04e4[..]9d1f2abf83 2464747 wget_1.12.orig.tar.gz\n" " e93123c934e3c[..]2f380278c2 48308 wget_1.12-2.1.debian.tar.gz" msgstr "" #. type: subsection{#2} #: packaging-tutorial.tex:274 msgid "Retrieving source packages" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:274 msgid "Retrieving an existing source package" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "From the Debian archive:" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "\\texttt{apt-get source \\textsl{package}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "\\texttt{apt-get source \\textsl{package=version}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "\\texttt{apt-get source \\textsl{package/release}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "(You need \\texttt{deb-src} lines in \\texttt{sources.list})" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "From the Internet:" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "\\texttt{dget \\textsl{url-to.dsc}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "" "\\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)" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "From the (declared) version control system:" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "\\texttt{debcheckout \\textsl{package}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:274 msgid "Once downloaded, extract with \\texttt{dpkg-source -x \\textsl{file.dsc}}" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:289 packaging-tutorial.tex:289 msgid "Creating a basic source package" msgstr "" #. type: itemize #: packaging-tutorial.tex:289 msgid "" "Download the upstream source\\\\ (\\textsl{upstream source} = the one from " "the software's original developers)" msgstr "" #. type: itemize #: packaging-tutorial.tex:289 msgid "" "Rename to " "\\texttt{<\\textsl{source\\_package}>\\_<\\textsl{upstream\\_version}>.orig.tar.gz}\\\\ " "(example: \\texttt{simgrid\\_3.6.orig.tar.gz})" msgstr "" #. type: itemize #: packaging-tutorial.tex:289 msgid "Untar it" msgstr "" #. type: itemize #: packaging-tutorial.tex:289 msgid "" "\\texttt{cd \\textsl{upstream\\_source} \\&\\& dh\\_make} (from the " "\\textbf{dh-make} package)" msgstr "" #. type: itemize #: packaging-tutorial.tex:289 msgid "" "There are some alternatives to \\texttt{dh\\_make} for specific sets of " "packages: \\textbf{dh-make-perl}, \\textbf{dh-make-php}, \\ldots" msgstr "" #. type: itemize #: packaging-tutorial.tex:289 msgid "\\texttt{debian/} directory created, with a lot of files in it" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:293 packaging-tutorial.tex:293 msgid "Files in debian/" msgstr "" #. type: frame #: packaging-tutorial.tex:293 msgid "" "All the packaging work should be made by modifying files in " "\\texttt{debian/}" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 packaging-tutorial.tex:374 packaging-tutorial.tex:407 packaging-tutorial.tex:431 packaging-tutorial.tex:547 packaging-tutorial.tex:596 packaging-tutorial.tex:610 packaging-tutorial.tex:693 packaging-tutorial.tex:739 packaging-tutorial.tex:764 packaging-tutorial.tex:811 packaging-tutorial.tex:827 packaging-tutorial.tex:888 packaging-tutorial.tex:975 packaging-tutorial.tex:1025 msgid "\\hbr" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "Main files:" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "\\textbf{control} -- meta-data about the package (dependencies, etc)" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "\\textbf{rules} -- specifies how to build the package" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "\\textbf{copyright} -- copyright information for the package" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "\\textbf{changelog} -- history of the Debian package" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "Other files:" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "compat" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "watch" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "dh\\_install* targets\\\\ {\\small *.dirs, *.docs, *.manpages, \\ldots}" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "maintainer scripts\\\\ {\\small *.postinst, *.prerm, \\ldots}" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "source/format" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "patches/ -- if you need to modify the upstream sources" msgstr "" #. type: itemize #: packaging-tutorial.tex:317 msgid "Several files use a format based on RFC 822 (mail headers)" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:329 msgid "debian/changelog" msgstr "" #. type: itemize #: packaging-tutorial.tex:329 msgid "Lists the Debian packaging changes" msgstr "" #. type: itemize #: packaging-tutorial.tex:329 msgid "Gives the current version of the package" msgstr "" #. type: tikzpicture #: packaging-tutorial.tex:329 msgid "" "\\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};" msgstr "" #. % #. type: itemize #: packaging-tutorial.tex:340 msgid "Edited manually or with \\texttt{dch}" msgstr "" #. type: itemize #: packaging-tutorial.tex:340 msgid "" "Special format to automatically close Debian or Ubuntu bugs\\\\ Debian: " "\\texttt{Closes:~\\#595268}; Ubuntu: \\texttt{LP:~\\#616929}" msgstr "" #. type: itemize #: packaging-tutorial.tex:340 msgid "Installed as \\texttt{/usr/share/doc/\\textit{package}/changelog.Debian.gz}" msgstr "" #. type: frame #: packaging-tutorial.tex:340 packaging-tutorial.tex:374 packaging-tutorial.tex:547 packaging-tutorial.tex:568 packaging-tutorial.tex:693 packaging-tutorial.tex:787 msgid "\\seprule" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:340 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "mpich2 (1.2.1.1-5) unstable; urgency=low\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:346 #, no-wrap msgid "" " * Use /usr/bin/python instead of /usr/bin/python2.5. Allow\n" " to drop dependency on python2.5. Closes: #595268\n" " * Make /usr/bin/mpdroot setuid. This is the default after\n" " the installation of mpich2 from source, too. LP: #616929\n" " + Add corresponding lintian override.\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:348 #, no-wrap msgid " -- Lucas Nussbaum <lucas@debian.org> Wed, 15 Sep 2010 18:13:44 +0200" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:374 msgid "debian/control" msgstr "" #. type: itemize #: packaging-tutorial.tex:374 msgid "Package metadata" msgstr "" #. type: itemize #: packaging-tutorial.tex:374 msgid "For the source package itself" msgstr "" #. type: itemize #: packaging-tutorial.tex:374 msgid "For each binary package built from this source" msgstr "" #. type: itemize #: packaging-tutorial.tex:374 msgid "" "Package name, section, priority, maintainer, uploaders, build-dependencies, " "dependencies, description, homepage, \\ldots" msgstr "" #. type: itemize #: packaging-tutorial.tex:374 msgid "" "Documentation: Debian Policy chapter 5\\\\ " "\\url{http://www.debian.org/doc/debian-policy/ch-controlfields.html}" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:374 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "Source: wget\n" "Section: web\n" "Priority: important\n" "Maintainer: Noel Kothe <noel@debian.org>\n" "Build-Depends: debhelper (>> 5.0.0), gettext, texinfo,\n" " libssl-dev (>= 0.9.8), dpatch, info2man\n" "Standards-Version: 3.8.4\n" "Homepage: http://www.gnu.org/software/wget/\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:380 #, no-wrap msgid "" "Package: wget\n" "Architecture: any\n" "Depends: ${shlibs:Depends}, ${misc:Depends}\n" "Description: retrieves files from the web\n" " Wget is a network utility to retrieve files from the Web" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:385 msgid "Architecture: all or any" msgstr "" #. type: frame #: packaging-tutorial.tex:385 msgid "Two kinds of binary packages:" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "Packages with different contents on each Debian architecture" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "Example: C program" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "\\texttt{Architecture:\\ any} in \\texttt{debian/control}" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "" "Or, if it only works on a subset of architectures:\\\\ " "\\texttt{Architecture:\\ amd64 i386 ia64 hurd-i386}" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "buildd.debian.org: builds all the other architectures for you on upload" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "" "Named " "\\texttt{\\textsl{package}\\_\\textsl{version}\\_\\textsl{architecture}.deb}" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "Packages with the same content on all architectures" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "Example: Perl library" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "\\texttt{Architecture:\\ all} in \\texttt{debian/control}" msgstr "" #. type: itemize #: packaging-tutorial.tex:407 msgid "Named \\texttt{\\textsl{package}\\_\\textsl{version}\\_\\textbf{all}.deb}" msgstr "" #. type: frame #: packaging-tutorial.tex:410 msgid "" "A source package can generate a mix of \\texttt{Architecture:\\ any} and " "\\texttt{Architecture:\\ all} binary packages" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:431 msgid "debian/rules" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "Makefile" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "Interface used to build Debian packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "" "Documented in Debian Policy, chapter 4.8\\\\ {\\small " "\\texttt{http://www.debian.org/doc/debian-policy/ch-source.html\\#s-debianrules}}" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "Five required targets:" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "\\texttt{build}: should perform all the configuration and compilation" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "\\texttt{binary, binary-arch, binary-indep}: build the binary packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "" "\\texttt{dpkg-buildpackage} will call \\texttt{binary} to build all the " "packages, or \\texttt{binary-arch} to build only the " "\\texttt{Architecture:~any} packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:431 msgid "\\texttt{clean}: clean up the source directory" msgstr "" #. type: subsection{#2} #: packaging-tutorial.tex:462 msgid "Packaging helpers" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:462 msgid "Packaging helpers -- debhelper" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "You could write shell code in \\texttt{debian/rules} directly" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "See the \\texttt{adduser} package for example" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Better practice (used by most packages): use a \\textsl{Packaging helper}" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Most popular one: \\textbf{debhelper} (used by 98\\% of packages)" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Goals:" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Factor the common tasks in standard tools used by all packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Fix some packaging bugs once for all packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "" "{\\footnotesize dh\\_installdirs, dh\\_installchangelogs, dh\\_installdocs, " "dh\\_installexamples, dh\\_install, dh\\_installdebconf, dh\\_installinit, " "dh\\_link, dh\\_strip, dh\\_compress, dh\\_fixperms, dh\\_perl, " "dh\\_makeshlibs, dh\\_installdeb, dh\\_shlibdeps, dh\\_gencontrol, " "dh\\_md5sums, dh\\_builddeb, \\ldots}" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Called from \\texttt{debian/rules}" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Configurable using command parameters or files in \\texttt{debian/}" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "" "{\\footnotesize \\ttfamily dirs, \\textsl{package}.docs, " "\\textsl{package}.examples, \\textsl{package}.install, " "\\textsl{package}.manpages, \\ldots}" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "" "Third-party helpers for sets of packages: \\textbf{python-support}, " "\\textbf{dh\\_ocaml}, \\ldots" msgstr "" #. type: itemize #: packaging-tutorial.tex:462 msgid "Gotcha: \\texttt{debian/compat}: Debhelper compatibility version (use \"7\")" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:466 msgid "debian/rules using debhelper (1/2)" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:466 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "#!/usr/bin/make -f\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:469 #, no-wrap msgid "" "# Uncomment this to turn on verbose mode.\n" "#export DH_VERBOSE=1\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:473 #, no-wrap msgid "" "build: \n" " $(MAKE)\n" " #docbook-to-man debian/packagename.sgml > packagename.1\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:480 #, no-wrap msgid "" "clean: \n" " dh_testdir\n" " dh_testroot\n" " rm -f build-stamp configure-stamp\n" " $(MAKE) clean\n" " dh_clean \n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:488 #, no-wrap msgid "" "install: build\n" " dh_testdir\n" " dh_testroot\n" " dh_clean -k \n" " dh_installdirs\n" " # Add here commands to install the package into " "debian/packagename.\n" " $(MAKE) DESTDIR=$(CURDIR)/debian/packagename install" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:493 msgid "debian/rules using debhelper (2/2)" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:493 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:496 #, no-wrap msgid "" "# Build architecture-independent files here.\n" "binary-indep: build install\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:515 #, no-wrap msgid "" "# Build architecture-dependent files here.\n" "binary-arch: build install\n" " dh_testdir\n" " dh_testroot\n" " dh_installchangelogs \n" " dh_installdocs\n" " dh_installexamples\n" " dh_install\n" " dh_installman\n" " dh_link\n" " dh_strip\n" " dh_compress\n" " dh_fixperms\n" " dh_installdeb\n" " dh_shlibdeps\n" " dh_gencontrol\n" " dh_md5sums\n" " dh_builddeb\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:518 #, no-wrap msgid "" "binary: binary-indep binary-arch\n" ".PHONY: build clean binary-indep binary-arch binary install configure" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:547 msgid "CDBS" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "With debhelper, still a lot of redundancy between packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "Second-level helpers that factor common functionality" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "Building with \\texttt{./configure \\&\\& make \\&\\& make install} or CMake" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "Support for Perl, Python, Ruby, GNOME, KDE, Java, Haskell, \\ldots" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "CDBS:" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "Introduced in 2005, based on advanced \\textsl{GNU make} magic" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "Documentation: \\texttt{/usr/share/doc/cdbs/}" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "But some people hate it:" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "" "Sometimes difficult to customize package builds:\\\\ \"\\textsl{twisty maze " "of makefiles and environment variables}\"" msgstr "" #. type: itemize #: packaging-tutorial.tex:547 msgid "Slower than plain debhelper (many useless calls to \\texttt{dh\\_*})" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:547 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "#!/usr/bin/make -f\n" "include /usr/share/cdbs/1/rules/debhelper.mk\n" "include /usr/share/cdbs/1/class/autotools.mk\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:551 #, no-wrap msgid "" "# add an action after the build\n" "build/mypackage::\n" " /bin/bash debian/scripts/foo.sh\n" " " msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:568 msgid "Dh (aka Debhelper 7, or dh7)" msgstr "" #. type: itemize #: packaging-tutorial.tex:568 msgid "Introduced in 2008 as a \\textsl{CDBS killer}" msgstr "" #. type: itemize #: packaging-tutorial.tex:568 msgid "\\textbf{dh} command that calls \\texttt{dh\\_*}" msgstr "" #. type: itemize #: packaging-tutorial.tex:568 msgid "Simple \\textsl{debian/rules}, listing only overrides" msgstr "" #. type: itemize #: packaging-tutorial.tex:568 msgid "Easier to customize than CDBS" msgstr "" #. type: itemize #: packaging-tutorial.tex:568 msgid "" "Doc: manpages (\\texttt{debhelper(7)}, \\texttt{dh(1)}) + slides from " "DebConf9 talk\\\\ " "\\url{http://kitenet.net/~joey/talks/debhelper/debhelper-slides.pdf}" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:568 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "#!/usr/bin/make -f\n" "%:\n" " dh $@\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:571 #, no-wrap msgid "" "override_dh_auto_configure:\n" " dh_auto_configure -- --with-kitchen-sink\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:574 #, no-wrap msgid "" "override_dh_auto_build:\n" " make world\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:577 #, no-wrap msgid " " msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:596 msgid "Classic debhelper vs CDBS vs dh" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "" "Mind shares:\\\\ Classic debhelper: 41\\% \\hskip 1em CDBS: 23\\% \\hskip " "1em dh: 34\\%" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "Which one should I learn?" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "Probably a bit of all of them" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "You need to know debhelper to use dh and CDBS" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "You might have to modify CDBS packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "Which one should I use for a new package?" msgstr "" #. type: itemize #: packaging-tutorial.tex:596 msgid "\\textbf{dh} (only solution with an increasing mind share)" msgstr "" #. type: axis #: packaging-tutorial.tex:610 msgid "" "\\addplot[mark=none,blue,thick,style=densely dotted] table[x=date,y=dh] " "{cdbs-dh7.txt}; \\addplot[mark=none,red,thick,style=dashed] " "table[x=date,y=dh7] {cdbs-dh7.txt}; \\addplot[mark=none,green,thick] " "table[x=date,y=cdbs] {cdbs-dh7.txt}; \\legend{debhelper, dh, CDBS}" msgstr "" #. type: section{#2} #: packaging-tutorial.tex:619 msgid "Building and testing packages" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:619 packaging-tutorial.tex:619 msgid "Building packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:619 msgid "" "\\textttc{apt-get build-dep mypackage}\\\\ Installs the " "\\textsl{build-dependencies} (for a package in the archive)" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "\\textttc{debuild}: build, test with \\texttt{lintian}, sign with GPG" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "Also possible to call \\textttc{dpkg-buildpackage} directly" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "Usually with \\texttt{dpkg-buildpackage -us -uc}" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "It is better to build packages in a clean \\& minimal environment" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "\\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})" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "\\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} )" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "Generate \\texttt{.deb} files and a \\texttt{.changes} file" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "\\texttt{.changes}: describes what was built; used to upload the package" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:678 packaging-tutorial.tex:678 msgid "Installing and testing packages" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "Install the package locally: \\textttc{debi} (will use \\texttt{.changes} to " "know what to install)" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "List the content of the package: \\texttt{{\\color{rouge}debc} " "../mypackage<TAB>.changes}" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "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}\\\\" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "Check the package with \\texttt{lintian} (static analyzer):\\\\ " "\\texttt{{\\color{rouge}lintian} ../mypackage<TAB>.changes}\\\\ " "\\texttt{lintian -i}: gives more information about the errors" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "Upload the package to Debian (\\textttc{dput}) (needs configuration)" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "" "Manage a private Debian archive with \\textttc{reprepro}\\\\ Documentation: " "\\url{http://mirrorer.alioth.debian.org/}" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:678 packaging-tutorial.tex:678 msgid "Practical session 1: modifying the grep package" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "" "Go to \\url{http://ftp.debian.org/debian/pool/main/g/grep/} and download " "version 2.6.3-3 of the package" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Look at the files in \\texttt{debian/}." msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "How many binary packages are generated by this source package?" msgstr "" #. type: itemize #: packaging-tutorial.tex:678 msgid "Which packaging helper does this package use?" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Build the package" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "" "We are now going to modify the package. Add a changelog entry and increase " "the version number." msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Now disable perl-regexp support (it is a \\texttt{./configure} option)" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Rebuild the package" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Compare the original and the new package with debdiff" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Install the newly built package" msgstr "" #. type: enumerate #: packaging-tutorial.tex:678 msgid "Cry if you messed up ;)" msgstr "" #. type: section{#2} #: packaging-tutorial.tex:693 msgid "Advanced packaging topics" msgstr "" #. type: frame{#2} #: packaging-tutorial.tex:693 packaging-tutorial.tex:693 msgid "debian/copyright" msgstr "" #. type: itemize #: packaging-tutorial.tex:693 msgid "Copyright and license information for the source and the packaging" msgstr "" #. type: itemize #: packaging-tutorial.tex:693 msgid "Traditionally written as a text file" msgstr "" #. type: itemize #: packaging-tutorial.tex:693 msgid "New machine-readable format: \\url{http://dep.debian.net/deps/dep5/}" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:693 #, no-wrap msgid "" "[basicstyle=\\ttfamily\\footnotesize]\n" "Format: <VERSIONED_FORMAT_URL>\n" "Upstream-Name: X Solitaire\n" "Source: ftp://ftp.example.com/pub/games\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:703 #, no-wrap msgid "" "Files: *\n" "Copyright: Copyright 1998 John Doe <jdoe@example.com>\n" "License: GPL-2+\n" " This program is free software; you can redistribute it\n" " [...]\n" " .\n" " On Debian systems, the full text of the GNU General Public\n" " License version 2 can be found in the file\n" " `/usr/share/common-licenses/GPL-2'.\n" "\n" msgstr "" #. type: lstlisting #: packaging-tutorial.tex:708 #, no-wrap msgid "" "Files: debian/*\n" "Copyright: Copyright 1998 Jane Smith <jsmith@example.net>\n" "License:\n" " [LICENSE TEXT]" msgstr ""
Attachment:
signature.asc
Description: OpenPGP digital signature