6
6
partir d'une création initiale, à travers des révisions successives et des
7
7
versions successives du logiciel live-build et de l'image live elle-même.
9
2~ Utiliser auto pour gérer les modifications de configuration
11
Les configurations live sont rarement parfaites du premier coup. Vous aurez
12
probablement besoin de faire une série de révisions jusqu'à ce que vous êtes
13
satisfait. Cependant, des incohérences peuvent se glisser dans votre
14
configuration d'une révision à la prochaine si vous ne faites pas
15
attention. Le principal problème est, une fois qu'une variable est donnée
16
une valeur par défaut, cette valeur ne sera pas recalculée à partir d'autres
17
variables qui peuvent changer dans les révisions ultérieures.
19
Par exemple, lorsque la distribution est d'abord définie, nombreuses
20
variables sont assignées des valeurs par défaut qui conviennent à cette
21
distribution. Cependant, si vous décidez ultérieurement de modifier la
22
distribution, ces variables dépendantes conservent les anciennes valeurs qui
23
ne sont plus appropriées.
25
Un deuxième problème lié est que si vous exécutez #{lb config}# et ensuite
26
mettez à jour une nouvelle version de live-build qui a changée l'un des noms
27
des variables, vous découvrirez ce que par un examen manuel des variables
28
dans votre fichiers dans #{config/*}#, que vous devrez ensuite utiliser pour
29
définir l'option appropriée à nouveau.
31
Tout cela serait une nuisance terrible si ce n'était pas pour les scripts
32
auto/*, simples emballages pour les commandes #{lb config}#, #{lb build}# et
33
#{lb clean}# qui sont conçus pour vous aider à gérer votre configuration. Il
34
suffit de créer un script auto/config contenant la commande #{lb config}#
35
avec toutes les options désirées, et un auto/clean qui supprime les fichiers
36
contenant les valeurs des variables de configuration, et chaque fois que
37
vous lancez #{lb config}# et #{lb clean}#, ces fichiers seront
38
exécutés. Cela permettra d'assurer que votre configuration a une cohérence
39
interne d'une révision à l'autre et d'une version de live-build à la
40
suivante (bien que vous aurez encore de prendre soin et lire la
41
documentation lorsque vous mettez live-build à niveau pour faire les
42
ajustements nécessaires).
44
2~ Exemples de scripts auto
46
Utiliser des exemples de scripts auto tels que les suivants comme point de
47
départ pour votre nouvelle configuration de live-build. Prenez note que
48
lorsque vous appelez la commande #{lb}# que votre script auto emballage,
49
vous devez spécifier #{noauto}# comme paramètre afin de s'assurer que le
50
script automatique n'est pas appelé à nouveau, de façon récursive. Aussi,
51
n'oubliez pas de s'assurer que les scripts sont exécutables (par exemple
52
#{chmod 755 auto/*}#).
9
2~ Traiter les modifications de configuration
11
Les configurations live sont rarement parfaites du premier coup. Il peut
12
être bon de passer des options #{lb config}# à partir de la ligne de
13
commande pour effectuer une construction unique, mais il est plus typique de
14
réviser ces options et de construire à nouveau jusqu'à ce que vous êtes
15
satisfait. Afin de soutenir ces changements, vous aurez besoin des scripts
16
automatiques qui assurent que votre configuration est maintenue dans un état
19
3~ Pourquoi utiliser des scripts auto? Que font-ils?
21
La commande #{lb config}# enregistre les options que vous lui passez dans
22
les fichiers dans #{config/*}# avec beaucoup d'autres options aux valeurs
23
par défaut. Si vous exécutez #{lb config}# à nouveau, il ne réinitialisera
24
pas l'option qui a été faite défaut en fonction de vos options
25
initiales. Ainsi, par exemple, si vous exécutez #{lb config}# à nouveau avec
26
une nouvelle valeur pour #{--distribution}#, toutes les options qui ont été
27
dépendantes par défaut pour l'ancienne distribution ne peuvent plus
28
fonctionner avec les nouveaux. Ces fichiers ne sont pas destinés à être lus
29
ou édités. Ils enregistrent des valeurs pour plus d'une centaine d'options,
30
afin que personne puisse voir dans ces options que vous avez réellement
33
Pour toutes ces raisons, les scripts #{auto/*}# vous rendront la vie plus
34
facile. Ils sont simples emballages pour les commandes #{lb config}#, #{lb
35
build}# et #{lb clean}# qui sont conçus pour vous aider à gérer votre
36
configuration. Le script #{auto/config}# enregistre votre commande #{lb
37
config}# avec toutes les options désirées, le script #{auto/clean}# supprime
38
les fichiers contenant les valeurs des variables de configuration, et le
39
script #{auto/build}# crée un #{build.log}# de chaque construction. Et
40
chaque fois que vous lancez la commande #{lb}# correspondante, ces fichiers
41
seront exécutés automatiquement. En utilisant ces scripts, votre
42
configuration est plus facile à lire et a une cohérence interne d'une
43
révision à l'autre. En outre, il sera plus facile pour vous identifier et
44
corriger les options qui doivent changer lorsque vous mettez à niveau
45
live-build après avoir lu la documentation mise à jour.
47
2~ Utilisez scripts auto d'exemple
49
Pour votre commodité, live-build est fourni avec shell scripts d'exemple,
50
pour copier et modifier. Lancer une nouvelle configuration par défaut, puis
55
$ mkdir mylive && cd mylive && lb config
56
$ cp /usr/share/doc/live-build/examples/auto/* auto/
60
Modifier #{auto/config}#, ajouter des options comme bon vous semble. Par
60
--package-lists "standard" \
67
--architectures i386 \
68
--linux-flavours 686-pae \
70
--mirror-bootstrap http://ftp.es.debian.org/debian/ \
71
--mirror-binary http://ftp.es.debian.org/debian/ \
70
lb clean noauto "${@}"
71
rm -f config/binary config/bootstrap \
72
config/chroot config/common config/source
82
lb build noauto "${@}" 2>&1 | tee build.log
86
Nous expédions maintenant scripts auto d'exemple avec live-build sur la base
87
des exemples ci-dessus. Vous pouvez copier ces comme point de départ.
91
$ cp /usr/share/doc/live-build/examples/auto/* auto/
95
Editer #{auto/config}#, en changeant ou en ajoutant des options comme bon
96
vous semble. Dans l'exemple ci-dessus, #{--package-lists standard}# est fixé
97
à la valeur par défaut. Changez ce à une valeur appropriée pour votre image
98
(ou le supprimer si vous voulez utiliser par défaut) et ajouter des options
99
supplémentaires dans les lignes suivantes.
76
Maintenant, chaque fois que vous utilisez #{lb config}#, #{auto/config}#
77
réinitialisera la configuration basée sur ces options. Lorsque vous
78
souhaitez effectuer des modifications, modifier les options dans ce fichier
79
au lieu de les passer à #{lb config}#. Lorsque vous utilisez #{lb clean}#,
80
#{auto/clean}# va nettoyer les fichiers ainsi que tous les autres produits
81
de construction. Et enfin, lorsque vous utilisez #{lb build}# , un journal
82
de la construction sera écrit par #{auto/build}# dans #{build.log}#.
84
Remarque: Un paramètre spécial #{noauto}# est utilisé ici pour en éliminer
85
un autre appel à #{auto/config}#, évitant ainsi une récursion
86
infinie. Assurez-vous que vous ne l'avez pas accidentellement supprimé
87
modifiant le fichier. Aussi, prenez soin d'assurer quand vous divisez la
88
commande #{lb config}# sur plusieurs lignes pour une meilleure lisibilité,
89
comme le montre l'exemple ci-dessus, que vous n'oubliez pas la barre oblique
90
inverse (\) de sorte que chaque ligne continue à l'autre.
92
2~ Cloner une configuration publiée via Git
94
Utilisez l'option #{lb config --config}# pour cloner un dépôt Git qui
95
contient une configuration de Debian Live. Si vous souhaitez baser votre
96
configuration sur une maintenue par le projet Debian Live, voir les dépôts
97
avec le préfixe #{config-}# sur http://live.debian.net/gitweb
99
Par exemple, pour construire une image de récupération, utiliser le dépôt
100
#{config-rescue}# comme suit:
104
$ mkdir live-rescue && cd live-rescue
105
$ lb config --config git://live.debian.net/git/config-rescue.git
109
Modifier #{auto/config}# et toutes les autres choses dont vous avez besoin
110
dans l'arbre #{config}# en fonction de vos besoins.
112
Vous pouvez éventuellement définir un raccourci dans votre configuration Git
113
en ajoutant la ligne suivante à votre #{${HOME}/.gitconfig}#:
117
[url "git://live.debian.net/git/"]
122
Cela vous permet d'utiliser # {ldn:} # partout où vous devez spécifier
123
l'adresse d'un dépôt #{live.debian.net}# Si vous supprimez le suffixe
124
optionnel #{.git}#, démarrer une nouvelle image en utilisant cette
125
configuration est aussi simple que:
129
$ lb config --config ldn:config-rescue