Provided by: svn-buildpackage_0.8.4_all bug

NOM

       svn-buildpackage - construction de paquets Debian à partir d'un dépôt Subversion

SYNOPSIS

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

DESCRIPTION

       Construit un paquet Debian à partir d'un dépôt Subversion. Le dépôt du code source doit
       être au format créé par svn-inject, et ce script doit être exécuté depuis le répertoire de
       travail (trunk/paquet).

       Par défaut, le répertoire de travail est utilisé comme répertoire principal des sources
       (en supposant que l'intégralité du code source amont soit conservé dans le dépôt). Il est
       aussi possible de travailler en mode « merge ». Avec cette méthode, seul le répertoire
       debian (et éventuellement quelques autres fichiers modifiés) sont conservés dans le dépôt.
       Au moment de la construction, le tronc du dépôt est copié dans le contenu de l'archive
       source extraite (et peut en écraser certaines parties). Pour choisir ce modèle de travail,
       il faut configurer la propriété svn mergeWithUpstream sur le répertoire debian.

           $ svn propset mergeWithUpstream 1 debian

       Pour utiliser mergeWithUpstream, le système de construction doit pouvoir préparer une
       archive source, typiquement avec make dist et les Autotools. Tous les paquets amont
       permettent d'une façon où d'une autre la création de l'archive source, et les paquets
       natifs qui utilisent les Autotools ou qui intègrent une prise en charge interne d'archive
       source, peuvent utiliser mergeWithUpstream pour manipuler les fichiers créés qui doivent
       créer le paquet sans qu'il ne soit présent dans le dépôt. Voir le HOWTO pour des exemples
       d'utilisation. Les paquets natifs qui n'utilisent pas les Autotools et n'intègrent pas une
       prise en charge interne d'archive source peuvent tout de même ajouter des fichiers à
       l'archive amont du paquet source avec la cible useNativeDist dans le Makefile principal.
       Cette cible personnalisée doit être idempotente et uniquement modifier ou ajouter les
       fichiers voulus à partir des seules sources exportées du dépôt et des dépendances de
       construction. Pour permettre à svn-buildpackage d'utiliser une cible make native-dist dans
       le Makefile principal, configurer la propriété useNativeDist sur le répertoire ./debian/ :

           $ svn propset useNativeDist 1 debian

       Le comportement par défaut de svn-buildpackage est le suivant :

       vérifier le répertoire de travail, se plaindre de fichiers non propagés (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 répertoire de travail
       du dépôt vers le répertoire de construction (voir aussi plus bas et --svn-no-links) ;

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

       créer une entrée 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 à utiliser à la place de dpkg-buildpackage, par
           exemple debuild, pdebuild, etc. Tout paramètre que svn-buildpackage ne reconnaît pas
           (--svn-*) est considéré comme COMMANDE. Il n'y a pas de différence entre les
           paramètres de la ligne de commande et ceux du fichier de configuration. Ils sont
           utilisés en même temps.

           Attention : les règles de protection de l'interpréteur ne s'appliquent pas toutes ici,
           il vaut mieux utiliser des surcouches (« wrapper ») pour les constructions
           compliquées. L'utilisation de cette option peut empêcher --svn-lintian et --svn-move
           de fonctionner. Certaines fonctionnalités risquent d'être désactivées lorsqu'une
           commande personnalisée est utilisée car l'emplacement du fichier de sortie n'est pas
           prévisible.

           Par défaut : utilise dpkg-buildpackage.

       --svn-ignore-new | --svn-ignore
           Ne s'arrête ni lors de conflits de version, ni pour des fichiers nouveaux ou modifiés.
           Pour configurer ce comportement pour des fichiers en particulier, configurer la
           propriété deb:ignoreM à 1 pour ces fichiers. Voir également la documentation de la
           propriété svn:ignore dans le livre « Gestion de versions avec Subversion ».

           Par défaut : s'arrête lors de conflits et pour des fichiers nouveaux ou modifiés.

       --svn-dont-clean
           N'exécute pas debian/rules clean.

           Par défaut : 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 répertoire de travail. C'est pratique si le paquet ne se construit pas parce
           que certains fichiers, répertoires vides, liens cassés, etc. ne peuvent être recopiés
           en mode « copie de lien » par défaut.

           Par défaut : utilise des liens quand c'est possible.

       --svn-dont-purge
           Ne supprime pas le répertoire de construction une fois la construction terminée.

           Par défaut : supprime après une construction réussie.

       --svn-reuse
           Si possible, réutilise un répertoire de construction existant lors des constructions
           suivantes. Le répertoire de construction n'est pas effacé après la construction, il
           n'est pas renommé quand une construction commence et les fichiers sont simplement
           copiés dedans. Pratique en mode mergeWithUpstream pour les gros paquets.

           Par défaut : le répertoire de construction est supprimé.

       --svn-rm-prev-dir
           Si un répertoire de construction existant est trouvé, l'efface avant la construction
           au lieu de le renommer. Si --svn-reuse est également présente, elle est prioritaire.

           Par défaut : renomme l'ancien répertoire avec une extension « obsolete ».

       --svn-export
           Exporte simplement le répertoire de travail, réalise les opérations de fusion
           nécessaires, puis termine.

           Par défaut : désactivée.

       --svn-tag
           Construction finale : étiquette, construit proprement et crée une nouvelle entrée du
           journal de modifications.

           Par défaut : désactivée.

       --svn-tag-only | --svn-only-tag
           Ne construit pas le paquet, réalise seulement la copie d'étiquette.

           Par défaut : désactivée.

       --svn-retag
           Si un répertoire cible existant a été trouvé lors de l'essai de création de la copie
           d'étiquette, supprime d'abord le répertoire cible.

           Par défaut : désactivée.

       --svn-noautodch
           Aucune nouvelle entrée du journal de modifications Debian n'est ajoutée
           automatiquement.

           Par défaut : une nouvelle entrée UNRELEASED du journal de modifications est ajoutée à
           l'aide de dch.

       --svn-lintian
           Exécute Lintian sur le fichier de modifications résultant une fois terminé.

           Par défaut : désactivée.

       --svn-move
           Une fois terminé, déplace les fichiers créés (ceux présents dans .changes) vers le
           répertoire parent, par rapport à celui où svn-buildpackage a été démarré.

           Par défaut : désactivée.

       --svn-move-to=...
           Indique le répertoire cible vers lequel déplacer les fichiers créés.

           Par défaut : désactivée (les fichiers sont laissés là où la commande de construction
           les a mis).

       --svn-pkg=nomdupaquet
           Remplace le nom de paquet détecté. À utiliser avec précaution car il risque d'être
           configuré trop tard pendant le processus (par exemple l'ancienne valeur risque d'être
           gardée lors du développement des variables de l'interpréteur).

           Par défaut : désactivée.

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

           Par défaut : désactivée.

       --svn-override=variable=valeur,autrevariable=valeur
           Remplace toute variable de configuration détectée automatiquement ou trouvée dans
           .svn/deb-layout.

           Par défaut : désactivée.

       --svn-prebuild | --svn-postbuild | --svn-pretag | --svn-posttag
           Commandes (« hook ») à exécuter avant ou après les appels aux commandes de
           construction ou d'étiquetage, par exemple télécharger les archives sources amont
           depuis l'archive Debian. Du code d'interpréteur peut être embarqué ici bien que ce ne
           soit pas recommandé. De nombreuses variables pratiques sont disponibles dans
           l'environnement, des explication détaillées 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 dépendances de construction ne seront pas vérifiées. Pour postbuild, cela signifie
           que les fichiers résultant ne seront pas déplacés, et que Lintian ne sera pas exécuté.

           Par défaut : désactivées.

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

           Par défaut : désactivée.

       --svn-savecfg
           Par défaut, svn-buildpackage créait .svn/deb-layout à chaque appel. Depuis la
           version 0.6.22, ce comportement est déconseillé.

           Avec ce paramètre, svn-buildpackage reproduira (partiellement) cet ancien
           comportement. En contraste avec ce comportement déconseillé, le .svn/deb-layout est
           considéré comme un écrasement local ; l'ancien comportement ignorait simplement tout
           les renseignements de structure versionnée si .svn/deb-layout existait.

           Cette option est fournie car elle peut être utile lors de la création d'un fichier
           local d'écrasement.

           Par défaut : désactivée.

       --svn-download-orig
           Cette option oblige svn-buildpackage à essayer de télécharger l'archive source amont
           avec apt et uscan.

           Par défaut : désactivée.

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

           Par défaut : désactivée.

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

EXEMPLES

       Pour des renseignements plus précis sur la façon d'utiliser svn-buildpackage,
       reportez-vous au HOWTO[1].

       Pour commencer à travailler avec un paquet Debian natif existant à partir d'un fichier
       *.dsc, importez-le dans le dépôt à l'aide de la commande :

           svn-inject paquet_0.1.dsc svn://hôte/debian/devel/packages

       Pour commencer à travailler avec un paquet amont existant dans Debian à partir d'un
       fichier *.dsc, importez-le dans le dépôt à l'aide de la commande :

           svn-inject -o paquet_0.1-2.dsc svn://hôte/debian/devel/packages

       Avant de construire un paquet amont, vérifiez 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 à partir du dépôt Subversion, utilisez la commande
       suivante. Référez-vous à la page de manuel dpkg-buildpackage(1) pour les options -us,
       etc. :

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

       Pour vérifier que le paquet se construit dans un état propre, essayez-le avec
       pbuilder(1) :

           svn mkdir ../build-area  # Pour placer les paquets résultant
           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 état propre. Ensuite utilisez
       svn-upgrade(1) pour importer cette nouvelle publication :

           svn status   # Vérifier qu'il n'y a pas de modification non propagée
           svn-upgrade --verbose ../package-2.0.tar.gz

FICHIER DE CONFIGURATION

       Le comportement de svn-buildpackage peut être modifié en utilisant le fichier
       ~/.svn-buildpackage.conf. Des morceaux supplémentaires peuvent être ajoutés à chaque
       répertoire 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 être précédées
       des deux tirets), un argument par ligne (sans guillemets autour des arguments de plusieurs
       mots). Les variables sont développées par l'interpréteur du système si des variables de
       l'interpréteur sont trouvées. Évitez d'utiliser le caractère « ~ » à cause de son
       développement peu fiable, préférez utiliser « $HOME » à 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ÉPERTOIRE

       Par défaut, svn-buildpackage attend un fichier de configuration avec une déclaration du
       chemin ou de l'URL : .svn/deb-layout. Les valeurs présentes peuvent être écrasées par
       l'option --svn-override, voir plus haut. Si un fichier de configuration n'est pas trouvé,
       les réglages sont détectés automatiquement en suivant les hypothèses habituelles sur les
       répertoires locaux et la structure du dépôt. De plus, le contenu d'un fichier personnalisé
       debian/svn-deblayout sera importé pendant la configuration initiale. Les responsables du
       paquet peuvent conserver ce fichier dans le dépôt pour indiquer les bonnes valeurs par
       défaut aux nouveaux utilisateurs de svn-buildpackage. Le format est le même que celui du
       fichier .svn/deb-layout. Plutôt que d'utiliser le fichier debian/svn-deblayout, les
       responsables peuvent configurer les propriétés de Subversion pour le répertoire debian/ ;
       toutes les propriétés de debian/ avec un nom de la forme svn-bp:PROP seront utilisées pour
       une configuration de PROP à la valeur indiquée en première ligne de la valeur de la
       propriété. Si une URL Subversion complète n'est pas donnée, la racine du dépôt précédera
       cette valeur.

VARIABLES D'ENVIRONNEMENT

       Les variables d'environnement suivantes sont exportées par svn-buildpackage et peuvent
       être utilisés dans les commandes « hook » du système de construction du paquet.

       PACKAGE, package
           Le nom du paquet source.

       SVN_BUILDPACKAGE
           Version de svn-buildpackage.

       TAG_VERSION, debian_version
           La version Debian complète, également utilisée pour la copie d'étiquette.

       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 différences créé.

       Toutes les propriétés de structure sont aussi exportées dans l'environnement. Les
       suivantes ont une signification pour svn-buildpackage.

       buildArea
           L'emplacement du répertoire de construction.

       trunkUrl
           L'URL du répertoire tronc du paquet actuel.

       tagsUrl
           L'URL du répertoire de base d'étiquettes du paquet actuel.

       origDir
           Le répertoire local où se trouvent les archives sources amont d'origine.

       origUrl
           L'URL où les archives sources amont d'origine du paquet actuel peuvent être trouvées.

       Les variables suivantes sont comprises par svn-buildpackage :

       FORCETAG
           Ignorer les indications de journal de modification incomplètes et étiquette le dépôt
           quand même.

       FORCEEXPORT
           Exporter le code source amont vers le dépôt même si la propriété mergeWithUpstream est
           configurée.

       DEBIAN_FRONTEND
           Si DEBIAN_FRONTEND est configuré en « noninteractive », --svn-noninteractive est
           appelé silencieusement.

RECOMMENDATIONS

       Utilisez les alias de l'interpréteur. 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'état
       modifié ou nouveau des fichiers ; construction quelque soit l'état modifié ou nouveau des
       fichiers et réutilisation du répertoire de construction ; construction (pour envoyer) et
       étiquetage.

       SSH est le moyen le plus facile d'accéder à un dépôt distant, bien qu'il oblige
       généralement à indiquer un mot de passe plus fréquemment avec svn-buildpackage. Parmi les
       solutions de contournement, il y a la possibilité d'utiliser une clé SSH sans mot de passe
       (bien que ce soit non sécurisé et encore relativement lent), ou la fonctionnalité de
       mettre en cache la connexion SSH avec les versions récentes de SSH. Pour plus
       d'explications, reportez-vous au manuel de svn-buildpackage (HOWTO).

       Une autre façon 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 dépôt Subversion

       svn-upgrade(1)
           mise à 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)
           vérification de paquets Debian

AUTHORS

       Eduard Bloch
           Cette page de manuel a été écrite 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 © 2009 Eduard Bloch

NOTES

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