Provided by:
svn-buildpackage_0.8.3_all 
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/