Man page - svn-buildpackage(1)

Packages contains this manual

Available languages:

en fr pt de

Manual

SVN-BUILDPACKAGE

NOM
SYNOPSIS
DESCRIPTION
OPTIONS
EXEMPLES
FICHIER DE CONFIGURATION
MANIPULATION DE LA STRUCTURE DU RÉPERTOIRE
VARIABLES DENVIRONNEMENT
RECOMMENDATIONS
VOIR AUSSI
AUTEURS
COPYRIGHT
NOTES

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 DENVIRONNEMENT

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

AUTEURS

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/