Provided by: svn-buildpackage_0.8.3_all bug

NOM

       svn-buildpackage - construction de paquets Debian a partir d'un depot
       Subversion

SYNOPSIS

       svn-buildpackage [[ OPTIONS... ] [ OPTIONS de dpkg-buildpackage ]]

DESCRIPTION

       Construit un paquet Debian a partir d'un depot Subversion. Le depot du
       code source doit etre au format cree par svn-inject, et ce script doit
       etre execute depuis le repertoire de travail (trunk/paquet).

       Par defaut, le repertoire de travail est utilise comme repertoire
       principal des sources (en supposant que l'integralite du code source
       amont soit conserve dans le depot). Il est aussi possible de travailler
       en mode << merge >>. Avec cette methode, seul le repertoire debian (et
       eventuellement quelques autres fichiers modifies) sont conserves dans
       le depot. Au moment de la construction, le tronc du depot est copie
       dans le contenu de l'archive source extraite (et peut en ecraser
       certaines parties). Pour choisir ce modele de travail, il faut
       configurer la propriete svn mergeWithUpstream sur le repertoire debian.

           $ svn propset mergeWithUpstream 1 debian

       Pour utiliser mergeWithUpstream, le systeme de construction doit
       pouvoir preparer une archive source, typiquement avec make dist et les
       Autotools. Tous les paquets amont permettent d'une facon ou d'une autre
       la creation de l'archive source, et les paquets natifs qui utilisent
       les Autotools ou qui integrent une prise en charge interne d'archive
       source, peuvent utiliser mergeWithUpstream pour manipuler les fichiers
       crees qui doivent creer le paquet sans qu'il ne soit present dans le
       depot. Voir le HOWTO pour des exemples d'utilisation. Les paquets
       natifs qui n'utilisent pas les Autotools et n'integrent pas une prise
       en charge interne d'archive source peuvent tout de meme ajouter des
       fichiers a l'archive amont du paquet source avec la cible useNativeDist
       dans le Makefile principal. Cette cible personnalisee doit etre
       idempotente et uniquement modifier ou ajouter les fichiers voulus a
       partir des seules sources exportees du depot et des dependances de
       construction. Pour permettre a svn-buildpackage d'utiliser une cible
       make native-dist dans le Makefile principal, configurer la propriete
       useNativeDist sur le repertoire ./debian/ :

           $ svn propset useNativeDist 1 debian

       Le comportement par defaut de svn-buildpackage est le suivant :

       verifier le repertoire de travail, se plaindre de fichiers non propages
       (voir aussi --svn-ignore-new) ;

       copier l'archive source amont vers l'emplacement de construction si
       besoin (voir aussi --svn-no-links) ;

       extraire l'archive source (en mode mergeWithUpstream) ou exporter le
       repertoire de travail du depot vers le repertoire de construction (voir
       aussi plus bas et --svn-no-links) ;

       construire avec dpkg-buildpackage (voir aussi --svn-builder,
       --svn-lintian, etc.) ;

       creer une entree du journal de modifications pour les versions
       suivantes.

OPTIONS

       svn-buildpackage accepte les options suivantes en ligne de commande :

       --svn-builder=COMMANDE
           Indique la commande de construction a utiliser a la place de
           dpkg-buildpackage, par exemple debuild, pdebuild, etc. Tout
           parametre que svn-buildpackage ne reconnait pas (--svn-*) est
           considere comme COMMANDE. Il n'y a pas de difference entre les
           parametres de la ligne de commande et ceux du fichier de
           configuration. Ils sont utilises en meme temps.

           Attention : les regles de protection de l'interpreteur ne
           s'appliquent pas toutes ici, il vaut mieux utiliser des surcouches
           (<< wrapper >>) pour les constructions compliquees. L'utilisation
           de cette option peut empecher --svn-lintian et --svn-move de
           fonctionner. Certaines fonctionnalites risquent d'etre desactivees
           lorsqu'une commande personnalisee est utilisee car l'emplacement du
           fichier de sortie n'est pas previsible.

           Par defaut : utilise dpkg-buildpackage.

       --svn-ignore-new | --svn-ignore
           Ne s'arrete ni lors de conflits de version, ni pour des fichiers
           nouveaux ou modifies. Pour configurer ce comportement pour des
           fichiers en particulier, configurer la propriete deb:ignoreM a 1
           pour ces fichiers. Voir egalement la documentation de la propriete
           svn:ignore dans le livre << Gestion de versions avec Subversion >>.

           Par defaut : s'arrete lors de conflits et pour des fichiers
           nouveaux ou modifies.

       --svn-dont-clean
           N'execute pas debian/rules clean.

           Par defaut : nettoie d'abord.

       --svn-no-links
           N'utilise pas les liens de fichier mais essaye d'exporter ou de
           faire des copies en dur du repertoire de travail. C'est pratique si
           le paquet ne se construit pas parce que certains fichiers,
           repertoires vides, liens casses, etc. ne peuvent etre recopies en
           mode << copie de lien >> par defaut.

           Par defaut : utilise des liens quand c'est possible.

       --svn-dont-purge
           Ne supprime pas le repertoire de construction une fois la
           construction terminee.

           Par defaut : supprime apres une construction reussie.

       --svn-reuse
           Si possible, reutilise un repertoire de construction existant lors
           des constructions suivantes. Le repertoire de construction n'est
           pas efface apres la construction, il n'est pas renomme quand une
           construction commence et les fichiers sont simplement copies
           dedans. Pratique en mode mergeWithUpstream pour les gros paquets.

           Par defaut : le repertoire de construction est supprime.

       --svn-rm-prev-dir
           Si un repertoire de construction existant est trouve, l'efface
           avant la construction au lieu de le renommer. Si --svn-reuse est
           egalement presente, elle est prioritaire.

           Par defaut : renomme l'ancien repertoire avec une extension
           << obsolete >>.

       --svn-export
           Exporte simplement le repertoire de travail, realise les operations
           de fusion necessaires, puis termine.

           Par defaut : desactivee.

       --svn-tag
           Construction finale : etiquette, construit proprement et cree une
           nouvelle entree du journal de modifications.

           Par defaut : desactivee.

       --svn-tag-only | --svn-only-tag
           Ne construit pas le paquet, realise seulement la copie d'etiquette.

           Par defaut : desactivee.

       --svn-retag
           Si un repertoire cible existant a ete trouve lors de l'essai de
           creation de la copie d'etiquette, supprime d'abord le repertoire
           cible.

           Par defaut : desactivee.

       --svn-noautodch
           Aucune nouvelle entree du journal de modifications Debian n'est
           ajoutee automatiquement.

           Par defaut : une nouvelle entree UNRELEASED du journal de
           modifications est ajoutee a l'aide de dch.

       --svn-lintian
           Execute Lintian sur le fichier de modifications resultant une fois
           termine.

           Par defaut : desactivee.

       --svn-move
           Une fois termine, deplace les fichiers crees (ceux presents dans
           .changes) vers le repertoire parent, par rapport a celui ou
           svn-buildpackage a ete demarre.

           Par defaut : desactivee.

       --svn-move-to=...
           Indique le repertoire cible vers lequel deplacer les fichiers
           crees.

           Par defaut : desactivee (les fichiers sont laisses la ou la
           commande de construction les a mis).

       --svn-pkg=nomdupaquet
           Remplace le nom de paquet detecte. A utiliser avec precaution car
           il risque d'etre configure trop tard pendant le processus (par
           exemple l'ancienne valeur risque d'etre gardee lors du
           developpement des variables de l'interpreteur).

           Par defaut : desactivee.

       --svn-arch=ARCH
           Permet d'indiquer l'architecture de construction (par exemple une
           construction i386 sur une machine amd64).

           Par defaut : desactivee.

       --svn-override=variable=valeur,autrevariable=valeur
           Remplace toute variable de configuration detectee automatiquement
           ou trouvee dans .svn/deb-layout.

           Par defaut : desactivee.

       --svn-prebuild | --svn-postbuild | --svn-pretag | --svn-posttag
           Commandes (<< hook >>) a executer avant ou apres les appels aux
           commandes de construction ou d'etiquetage, par exemple telecharger
           les archives sources amont depuis l'archive Debian. Du code
           d'interpreteur peut etre embarque ici bien que ce ne soit pas
           recommande. De nombreuses variables pratiques sont disponibles dans
           l'environnement, des explication detaillees sont fournies plus bas
           dans la section VARIABLES D'ENVIRONNEMENT.

           Veuillez remarquer que les << hooks >> prebuild et postbuild
           remplacent les actions prebuild et postbuild normales de
           svn-buildpackage. Pour prebuild, cela signifie que les dependances
           de construction ne seront pas verifiees. Pour postbuild, cela
           signifie que les fichiers resultant ne seront pas deplaces, et que
           Lintian ne sera pas execute.

           Par defaut : desactivees.

       --svn-noninteractive
           Avec ce parametre, svn-buildpackage ne proposera pas d'interaction
           avec l'utilisateur.

           Par defaut : desactivee.

       --svn-savecfg
           Par defaut, svn-buildpackage creait .svn/deb-layout a chaque appel.
           Depuis la version 0.6.22, ce comportement est deconseille.

           Avec ce parametre, svn-buildpackage reproduira (partiellement) cet
           ancien comportement. En contraste avec ce comportement deconseille,
           le .svn/deb-layout est considere comme un ecrasement local ;
           l'ancien comportement ignorait simplement tout les renseignements
           de structure versionnee si .svn/deb-layout existait.

           Cette option est fournie car elle peut etre utile lors de la
           creation d'un fichier local d'ecrasement.

           Par defaut : desactivee.

       --svn-download-orig
           Cette option oblige svn-buildpackage a essayer de telecharger
           l'archive source amont avec apt et uscan.

           Par defaut : desactivee.

       --svn-verbose
           Mode bavard de sortie du programme.

           Par defaut : desactivee.

       -h | --help
           Montre le message d'aide.

EXEMPLES

       Pour des renseignements plus precis sur la facon d'utiliser
       svn-buildpackage, reportez-vous au HOWTO[1].

       Pour commencer a travailler avec un paquet Debian natif existant a
       partir d'un fichier *.dsc, importez-le dans le depot a l'aide de la
       commande :

           svn-inject paquet_0.1.dsc svn://hote/debian/devel/packages

       Pour commencer a travailler avec un paquet amont existant dans Debian a
       partir d'un fichier *.dsc, importez-le dans le depot a l'aide de la
       commande :

           svn-inject -o paquet_0.1-2.dsc svn://hote/debian/devel/packages

       Avant de construire un paquet amont, verifiez que l'archive source
       d'origine est disponible, par exemple si uscan fonctionne :

           svn mkdir ../tarballs
           svn propset svn:ignore "*" ../tarballs
           uscan --force-download --destdir ../tarballs

       Pour essayer la construction de paquet a partir du depot Subversion,
       utilisez la commande suivante. Referez-vous a la page de manuel dpkg-
       buildpackage(1) pour les options -us, etc. :

           svn-buildpackage --svn-lintian -us -uc -rfakeroot

       Pour verifier que le paquet se construit dans un etat propre,
       essayez-le avec pbuilder(1) :

           svn mkdir ../build-area  # Pour placer les paquets resultant
           svn propset svn:ignore "*" ../build-area
           svn-buildpackage --svn-ignore-new --svn-builder=pdebuild

       Quand une nouvelle publication amont devient disponible, propagez
       toutes les modifications et assurez-vous d'avoir l'arborescence de
       travail dans un etat propre. Ensuite utilisez svn-upgrade(1) pour
       importer cette nouvelle publication :

           svn status   # Verifier qu'il n'y a pas de modification non propagee
           svn-upgrade --verbose ../package-2.0.tar.gz

FICHIER DE CONFIGURATION

       Le comportement de svn-buildpackage peut etre modifie en utilisant le
       fichier ~/.svn-buildpackage.conf. Des morceaux supplementaires peuvent
       etre ajoutes a chaque repertoire de travail de paquet en utilisant le
       fichier .svn/svn-buildpackage.conf. C'est principalement une liste des
       options longues de la ligne de commande (sans etre precedees des deux
       tirets), un argument par ligne (sans guillemets autour des arguments de
       plusieurs mots). Les variables sont developpees par l'interpreteur du
       systeme si des variables de l'interpreteur sont trouvees. Evitez
       d'utiliser le caractere << ~ >> a cause de son developpement peu
       fiable, preferez utiliser << $HOME >> a la place. Exemple :

           svn-builder=debuild -EPATH
           svn-no-links
           svn-override=origDir=$HOME/debian/upstream/$PACKAGE
           # svn-ignore-new
           # svn-lintian

MANIPULATION DE LA STRUCTURE DU R'EPERTOIRE

       Par defaut, svn-buildpackage attend un fichier de configuration avec
       une declaration du chemin ou de l'URL : .svn/deb-layout. Les valeurs
       presentes peuvent etre ecrasees par l'option --svn-override, voir plus
       haut. Si un fichier de configuration n'est pas trouve, les reglages
       sont detectes automatiquement en suivant les hypotheses habituelles sur
       les repertoires locaux et la structure du depot. De plus, le contenu
       d'un fichier personnalise debian/svn-deblayout sera importe pendant la
       configuration initiale. Les responsables du paquet peuvent conserver ce
       fichier dans le depot pour indiquer les bonnes valeurs par defaut aux
       nouveaux utilisateurs de svn-buildpackage. Le format est le meme que
       celui du fichier .svn/deb-layout. Plutot que d'utiliser le fichier
       debian/svn-deblayout, les responsables peuvent configurer les
       proprietes de Subversion pour le repertoire debian/ ; toutes les
       proprietes de debian/ avec un nom de la forme svn-bp:PROP seront
       utilisees pour une configuration de PROP a la valeur indiquee en
       premiere ligne de la valeur de la propriete. Si une URL Subversion
       complete n'est pas donnee, la racine du depot precedera cette valeur.

VARIABLES D'ENVIRONNEMENT

       Les variables d'environnement suivantes sont exportees par
       svn-buildpackage et peuvent etre utilises dans les commandes << hook >>
       du systeme de construction du paquet.

       PACKAGE, package
           Le nom du paquet source.

       SVN_BUILDPACKAGE
           Version de svn-buildpackage.

       TAG_VERSION, debian_version
           La version Debian complete, egalement utilisee pour la copie
           d'etiquette.

       non_epoch_version
           Comme debian_version mais sans la partie << epoch >>.

       upstream_version
           Comme debian_version mais sans l'extension Debian.

       guess_loc
           Deviner le nom du paquet source amont dans l'archive, quelque chose
           comme libm/libmeta-html-perl_3.2.1.0.orig.tar.gz.

       DIFFSRC
           (Experimental) montre l'emplacement du fichier de differences cree.

       Toutes les proprietes de structure sont aussi exportees dans
       l'environnement. Les suivantes ont une signification pour
       svn-buildpackage.

       buildArea
           L'emplacement du repertoire de construction.

       trunkUrl
           L'URL du repertoire tronc du paquet actuel.

       tagsUrl
           L'URL du repertoire de base d'etiquettes du paquet actuel.

       origDir
           Le repertoire local ou se trouvent les archives sources amont
           d'origine.

       origUrl
           L'URL ou les archives sources amont d'origine du paquet actuel
           peuvent etre trouvees.

       Les variables suivantes sont comprises par svn-buildpackage :

       FORCETAG
           Ignorer les indications de journal de modification incompletes et
           etiquette le depot quand meme.

       FORCEEXPORT
           Exporter le code source amont vers le depot meme si la propriete
           mergeWithUpstream est configuree.

       DEBIAN_FRONTEND
           Si DEBIAN_FRONTEND est configure en << noninteractive >>,
           --svn-noninteractive est appele silencieusement.

RECOMMENDATIONS

       Utilisez les alias de l'interpreteur. Voici quelques exemples pour
       Bash :

           alias svn-b="svn-buildpackage -us -uc -rfakeroot --svn-ignore"
           alias svn-br="svn-b --svn-dont-purge --svn-reuse"
           alias svn-bt="svn-buildpackage --svn-tag -rfakeroot"

       Ces commandes ont les significations respectives : construction quelque
       soit l'etat modifie ou nouveau des fichiers ; construction quelque soit
       l'etat modifie ou nouveau des fichiers et reutilisation du repertoire
       de construction ; construction (pour envoyer) et etiquetage.

       SSH est le moyen le plus facile d'acceder a un depot distant, bien
       qu'il oblige generalement a indiquer un mot de passe plus frequemment
       avec svn-buildpackage. Parmi les solutions de contournement, il y a la
       possibilite d'utiliser une cle SSH sans mot de passe (bien que ce soit
       non securise et encore relativement lent), ou la fonctionnalite de
       mettre en cache la connexion SSH avec les versions recentes de SSH.
       Pour plus d'explications, reportez-vous au manuel de svn-buildpackage
       (HOWTO).

       Une autre facon d'obtenir un lien distant est d'utiliser le module DAV
       de Subversion (avec SSL et authentification d'utilisateur Apache), voir
       le manuel de svn-buildpackage (HOWTO) pour plus d'explications.

VOIR AUSSI

       /usr/share/doc/svn-buildpackage/html/fr/
           le manuel de svn-buildpackage (HOWTO)

       svn-inject(1)
           place un paquet source Debian dans un depot Subversion

       svn-upgrade(1)
           mise a niveau de paquet source depuis une nouvelle version amont

       svn(1)
           outil client Subversion en ligne de commande

       dpkg-buildpackage(1)
           outils pour les paquet source Debian

       lintian(1)
           verification de paquets Debian

AUTHORS

       Eduard Bloch
           Cette page de manuel a ete ecrite par Eduard Bloch au format roff.

       Goneri Le Bouder
           Conversion des pages de manuel au format SGML.

       Neil Williams
           Conversion des pages de manuel au format XML DocBook et responsable
           Debian actuel

COPYRIGHT

       Copyright (C) 2009 Eduard Bloch

NOTES

        1. HOWTO
           http://svn-bp.alioth.debian.org/