From 9b15524abbd7b69d85c613e46370929f15189f98 Mon Sep 17 00:00:00 2001 From: codehelp Date: Sat, 8 May 2010 10:40:06 +0000 Subject: [PATCH] * Report parsing errors in config files (Closes: #580687) * Move from experimental into unstable. git-svn-id: http://emdebian.org/svn/current@7188 563faec7-e20c-0410-992a-a66f704d0ccd --- debian/changelog | 6 ++- doc/po/fr.po | 131 +++++++++++++++++++++++++---------------------- doc/po/pt.po | 131 +++++++++++++++++++++++++---------------------- multistrap | 39 ++++++++++---- pod/multistrap | 21 +++++--- 5 files changed, 187 insertions(+), 141 deletions(-) diff --git a/debian/changelog b/debian/changelog index d07b669..ae92d49 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -multistrap (2.1.4) experimental; urgency=low +multistrap (2.1.4) unstable; urgency=low * Add support for configurable single cross-toolchains in the chroot - using the dpkg-cross default_arch, if any. @@ -7,8 +7,10 @@ multistrap (2.1.4) experimental; urgency=low * Clarify error reporting in the --simulate option, warn if sections are not defined. (Closes: #579627) * [INTL:vi] Vietnamese program translation update (Closes: #580623) + * Report parsing errors in config files (Closes: #580687) + * Move from experimental into unstable. - -- Neil Williams Fri, 07 May 2010 12:54:20 +0100 + -- Neil Williams Sat, 08 May 2010 11:38:58 +0100 multistrap (2.1.3) experimental; urgency=low diff --git a/doc/po/fr.po b/doc/po/fr.po index c46980a..bd53f10 100644 --- a/doc/po/fr.po +++ b/doc/po/fr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: emdebian-rootfs 2.0.2\n" -"POT-Creation-Date: 2010-05-05 20:12+0200\n" +"POT-Creation-Date: 2010-05-08 10:55+0200\n" "PO-Revision-Date: 2009-11-11 21:57+0100\n" "Last-Translator: Alexandre Normand \n" "Language-Team: French \n" @@ -288,6 +288,11 @@ msgstr "" "D'autres options générales peuvent ausi être indiquées en ligne de commande, " "sauf debootstrap." +#. type: =head1 +#: pod/multistrap:95 +msgid "Repositories" +msgstr "" + #. type: textblock #: pod/multistrap:97 msgid "" @@ -330,11 +335,13 @@ msgstr "" #. type: textblock #: pod/multistrap:115 #, fuzzy -msgid "As with debootstrap, multistrap will continue after errors." +msgid "" +"As with debootstrap, multistrap will continue after errors, as long as the " +"configuration file can be correctly parsed." msgstr "Comme pour debootstrap, em_multistrap se poursuivra après des erreurs." #. type: textblock -#: pod/multistrap:117 +#: pod/multistrap:118 msgid "" "multistrap also implements the machine:variant support originally used in " "Emdebian Crush, although in a different implementation. Using the cascading " @@ -343,19 +350,19 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:122 +#: pod/multistrap:123 msgid "" "Setting C to true also packs up the final filesystem into a " "tarball." msgstr "" #. type: =head1 -#: pod/multistrap:125 +#: pod/multistrap:126 msgid "Secure Apt" msgstr "Apt sécurisé" #. type: textblock -#: pod/multistrap:127 +#: pod/multistrap:128 msgid "" "To use authenticated apt repositories, multistrap either needs to be able to " "install an appropriate keyring package from the existing apt sources " @@ -368,7 +375,7 @@ msgstr "" "en utilisant apt-key *sur le système hôte*." #. type: textblock -#: pod/multistrap:132 +#: pod/multistrap:133 #, fuzzy msgid "" "If relevant packages exist, specify them in the 'keyring' option for each " @@ -381,7 +388,7 @@ msgstr "" "ainsi le dépôt pourra être authentifié avant de télécharger des paquets." #. type: textblock -#: pod/multistrap:137 +#: pod/multistrap:138 msgid "" "Note that *all* repositories to be used with multistrap must be " "authenticated or apt will fail. Similarly, secure apt can only be disabled " @@ -399,7 +406,7 @@ msgstr "" "de clés, si vous configurez apt-key correctement." #. type: textblock -#: pod/multistrap:145 +#: pod/multistrap:146 msgid "" "The keyring package(s) will also be installed inside the multistrap " "environment to match the installed apt sources for the multistrap." @@ -409,7 +416,7 @@ msgstr "" "installés du multistrap." #. type: textblock -#: pod/multistrap:148 +#: pod/multistrap:149 msgid "" "All configuration of apt-key needs to be done for the machine running " "multistrap itself." @@ -418,12 +425,12 @@ msgstr "" "multistrap." #. type: =head1 -#: pod/multistrap:151 +#: pod/multistrap:152 msgid "State" msgstr "État" #. type: textblock -#: pod/multistrap:153 +#: pod/multistrap:154 msgid "" "multistrap is stateless - if the directory exists, it will simply proceed as " "normal and apt will try to pick up where it left off." @@ -433,12 +440,12 @@ msgstr "" "s'était arrêté." #. type: =head1 -#: pod/multistrap:156 +#: pod/multistrap:157 msgid "Configuration" msgstr "Configuration" #. type: textblock -#: pod/multistrap:158 +#: pod/multistrap:159 msgid "" "multistrap unpacks the downloaded packages but other stages of system " "configuration are not attempted. Examples include:" @@ -447,7 +454,7 @@ msgstr "" "configuration du système ne sont pas tentées. Les exemples incluent : " #. type: verbatim -#: pod/multistrap:161 +#: pod/multistrap:162 #, no-wrap msgid "" " /etc/inittab\n" @@ -473,7 +480,7 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:171 +#: pod/multistrap:172 msgid "" "Any device-specific device nodes will also need to be created using MAKEDEV." msgstr "" @@ -481,7 +488,7 @@ msgstr "" "utilisant MAKEDEV." #. type: textblock -#: pod/multistrap:174 +#: pod/multistrap:175 msgid "" "As an alternative, multistrap includes a device-table.pl helper script that " "can work around some of the issues with MAKEDEV. device-table.pl requires a " @@ -489,7 +496,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:179 +#: pod/multistrap:180 msgid "" "Once multistrap has successfully created the basic file and directory " "layout, other device-specific scripts are needed before the filesystem can " @@ -501,7 +508,7 @@ msgstr "" "le périphérique cible." #. type: textblock -#: pod/multistrap:184 +#: pod/multistrap:185 msgid "" "Once installed, the packages themselves need to be configured using the " "package maintainer scripts and C, unless this is a " @@ -512,7 +519,7 @@ msgstr "" "moins qu'il ne s'agisse d'un multistrap natif." #. type: textblock -#: pod/multistrap:188 +#: pod/multistrap:189 msgid "" "For C to work, F and F must be mounted (or mountable), " "F is also recommended." @@ -521,17 +528,17 @@ msgstr "" "montés (ou être montables), F est également recommandé." #. type: textblock -#: pod/multistrap:191 +#: pod/multistrap:192 msgid "See also: http://wiki.debian.org/Multistrap" msgstr "Voir aussi : http://wiki.debian.org/Multistrap" #. type: =head1 -#: pod/multistrap:193 +#: pod/multistrap:194 msgid "Environment" msgstr "Environnement" #. type: textblock -#: pod/multistrap:195 +#: pod/multistrap:196 msgid "" "To configure the unpacked packages (whether in native or cross mode), " "certain environment variables are needed:" @@ -540,7 +547,7 @@ msgstr "" "natif), certaines variables d'environnements sont nécessaires :" #. type: textblock -#: pod/multistrap:198 +#: pod/multistrap:199 msgid "" "Debconf needs to be told to accept that user interaction is not desired:" msgstr "" @@ -548,7 +555,7 @@ msgstr "" "pas souhaitée : " #. type: verbatim -#: pod/multistrap:201 +#: pod/multistrap:202 #, no-wrap msgid "" " DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" @@ -558,7 +565,7 @@ msgstr "" " \n" #. type: textblock -#: pod/multistrap:203 +#: pod/multistrap:204 msgid "" "Perl needs to be told to accept that no locales are available inside the " "chroot and not to complain:" @@ -567,7 +574,7 @@ msgstr "" "l'intérieur du chroot et de ne pas se plaindre :" #. type: verbatim -#: pod/multistrap:206 +#: pod/multistrap:207 #, no-wrap msgid "" " LC_ALL=C LANGUAGE=C LANG=C\n" @@ -577,17 +584,17 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:208 +#: pod/multistrap:209 msgid "Then, dpkg can configure the packages:" msgstr "Puis, dpkg peut configurer les paquets :" #. type: textblock -#: pod/multistrap:210 +#: pod/multistrap:211 msgid "chroot method (PATH = top directory of chroot):" msgstr "méthode chroot (PATH = le répertoire de base du chroot) :" #. type: verbatim -#: pod/multistrap:212 +#: pod/multistrap:213 #, no-wrap msgid "" " DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \\\n" @@ -599,12 +606,12 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:215 +#: pod/multistrap:216 msgid "at a login shell:" msgstr "dans un interpréteur de commandes de connexion : " #. type: verbatim -#: pod/multistrap:217 +#: pod/multistrap:218 #, no-wrap msgid "" " # export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" @@ -618,19 +625,19 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:221 +#: pod/multistrap:222 msgid "(As above, dpkg needs F and F mounted first.)" msgstr "" "(Comme ci-dessus, dpkg a besoin que F et F soient montés en " "premier.)" #. type: =head1 -#: pod/multistrap:223 +#: pod/multistrap:224 msgid "Native mode - multistrap" msgstr "mode natif - multistrap" #. type: textblock -#: pod/multistrap:225 +#: pod/multistrap:226 #, fuzzy msgid "" "multistrap was not intended for native support, it was developed for cross " @@ -643,7 +650,7 @@ msgstr "" "par apt." #. type: textblock -#: pod/multistrap:229 +#: pod/multistrap:230 msgid "" "In native mode, various post-multistrap operations are likely to be needed " "that debootstrap would do for you:" @@ -652,7 +659,7 @@ msgstr "" "pour vous sont probablement nécessaires :" #. type: verbatim -#: pod/multistrap:232 +#: pod/multistrap:233 #, no-wrap msgid "" " 1. copy /etc/hosts into the chroot\n" @@ -666,7 +673,7 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:236 +#: pod/multistrap:237 msgid "" "(An alternative to unset the localisation variables is to add locales to " "your multistrap configuration file in the 'packages' option." @@ -676,7 +683,7 @@ msgstr "" "»." #. type: textblock -#: pod/multistrap:240 +#: pod/multistrap:241 msgid "" "A native multistrap can be used directly with chroot, so C runs " "C at the end of the multistrap process." @@ -686,13 +693,13 @@ msgstr "" "multistrap." #. type: =head1 -#: pod/multistrap:244 +#: pod/multistrap:245 #, fuzzy msgid "Cascading configuration" msgstr "Configuration" #. type: textblock -#: pod/multistrap:246 +#: pod/multistrap:247 msgid "" "To support multiple variants of a basic (common) configuration, " "C allows configuration files to include other (more general) " @@ -702,12 +709,12 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:252 +#: pod/multistrap:253 msgid "Base file:" msgstr "" #. type: verbatim -#: pod/multistrap:254 +#: pod/multistrap:255 #, no-wrap msgid "" " /usr/share/multistrap/crosschroot.conf\n" @@ -715,12 +722,12 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:256 +#: pod/multistrap:257 msgid "Variations:" msgstr "" #. type: verbatim -#: pod/multistrap:258 +#: pod/multistrap:259 #, no-wrap msgid "" " /usr/share/multistrap/armel.conf\n" @@ -728,7 +735,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:260 +#: pod/multistrap:261 msgid "" "Specifying just the armel.conf file will get the rest of the settings from " "crosschroot.conf so that common changes only need to be made in a single " @@ -736,7 +743,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:264 +#: pod/multistrap:265 msgid "" "It is B recommended that any changes to the configuration files " "involved in any particular cascade are tested using the C<--simulate> option " @@ -748,13 +755,13 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:272 +#: pod/multistrap:273 #, fuzzy msgid "Machine:variant support" msgstr "Variantes de Machines" #. type: textblock -#: pod/multistrap:274 +#: pod/multistrap:275 msgid "" "The old packages.conf variables from emsandbox can all be converted into " "C configuration variables. The machine:variant support in " @@ -762,7 +769,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:279 +#: pod/multistrap:280 msgid "" "Once C has unpacked the downloaded packages, the C can " "be called, passing the location and architecture of the root filesystem, so " @@ -773,7 +780,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:287 +#: pod/multistrap:288 msgid "" "One advantage of using machine:variant support is that the entire " "rootfilesystem can be managed by a single call to multistrap - this is " @@ -781,14 +788,14 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:291 +#: pod/multistrap:292 msgid "" "To enable machine:variant support, specify the path to the scripts to be " "called in the variant configuration file (General section):" msgstr "" #. type: verbatim -#: pod/multistrap:294 +#: pod/multistrap:295 #, no-wrap msgid "" " [General]\n" @@ -799,19 +806,19 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:300 +#: pod/multistrap:301 msgid "Restricting package selection" msgstr "" #. type: textblock -#: pod/multistrap:302 +#: pod/multistrap:303 msgid "" "C includes Required packages by default, the current list of " "packages can be seen using:" msgstr "" #. type: verbatim -#: pod/multistrap:305 +#: pod/multistrap:306 #, no-wrap msgid "" " grep-available -FPriority 'required' -sPackage\n" @@ -819,7 +826,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:307 +#: pod/multistrap:308 msgid "" "If the OmitRequired option is set to true, these packages will not be added " "- whilst useful, this option can easily lead to a useless rootfs. Only the " @@ -828,12 +835,12 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:313 +#: pod/multistrap:314 msgid "Collecting packages from specific codenames/suites." msgstr "" #. type: textblock -#: pod/multistrap:315 +#: pod/multistrap:316 msgid "" "Packages specified explicitly in the configuration sections will be passed " "to apt as package/codename so that the configuration controls which version " @@ -842,7 +849,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:320 +#: pod/multistrap:321 msgid "" "When using this support in Lenny, ensure that each section uses the codename " "(etch, lenny, squeeze, sid) instead of the suite (oldstable, stable, " @@ -851,12 +858,12 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:325 +#: pod/multistrap:326 msgid "Recommends TOIMPLEMENT:" msgstr "" #. type: textblock -#: pod/multistrap:327 +#: pod/multistrap:328 msgid "Default recommends OFF option to set it as on." msgstr "" diff --git a/doc/po/pt.po b/doc/po/pt.po index 975f5d5..858b3e3 100644 --- a/doc/po/pt.po +++ b/doc/po/pt.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: emdebian-rootfs 2.0.4\n" -"POT-Creation-Date: 2010-05-05 20:12+0200\n" +"POT-Creation-Date: 2010-05-08 10:55+0200\n" "PO-Revision-Date: 2009-11-14 17:16+0000\n" "Last-Translator: Américo Monteiro \n" "Language-Team: Portuguese \n" @@ -286,6 +286,11 @@ msgstr "" "Outras opções gerais têm opções de linha de comandos, excepto o próprio " "debootstrap." +#. type: =head1 +#: pod/multistrap:95 +msgid "Repositories" +msgstr "" + #. type: textblock #: pod/multistrap:97 msgid "" @@ -328,12 +333,14 @@ msgstr "" #. type: textblock #: pod/multistrap:115 #, fuzzy -msgid "As with debootstrap, multistrap will continue after errors." +msgid "" +"As with debootstrap, multistrap will continue after errors, as long as the " +"configuration file can be correctly parsed." msgstr "" "Tal como acontece com o debootstrap, em_multistrap irá continuar após erros." #. type: textblock -#: pod/multistrap:117 +#: pod/multistrap:118 msgid "" "multistrap also implements the machine:variant support originally used in " "Emdebian Crush, although in a different implementation. Using the cascading " @@ -342,19 +349,19 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:122 +#: pod/multistrap:123 msgid "" "Setting C to true also packs up the final filesystem into a " "tarball." msgstr "" #. type: =head1 -#: pod/multistrap:125 +#: pod/multistrap:126 msgid "Secure Apt" msgstr "Segurança do Apt" #. type: textblock -#: pod/multistrap:127 +#: pod/multistrap:128 msgid "" "To use authenticated apt repositories, multistrap either needs to be able to " "install an appropriate keyring package from the existing apt sources " @@ -367,7 +374,7 @@ msgstr "" "configuradas usando apt-key *na máquina do sistema*." #. type: textblock -#: pod/multistrap:132 +#: pod/multistrap:133 #, fuzzy msgid "" "If relevant packages exist, specify them in the 'keyring' option for each " @@ -381,7 +388,7 @@ msgstr "" "pacotes sejam descarregados dele." #. type: textblock -#: pod/multistrap:137 +#: pod/multistrap:138 msgid "" "Note that *all* repositories to be used with multistrap must be " "authenticated or apt will fail. Similarly, secure apt can only be disabled " @@ -399,7 +406,7 @@ msgstr "" "apt-key apropriadamente." #. type: textblock -#: pod/multistrap:145 +#: pod/multistrap:146 msgid "" "The keyring package(s) will also be installed inside the multistrap " "environment to match the installed apt sources for the multistrap." @@ -408,7 +415,7 @@ msgstr "" "multistrap para coincidir com as fontes apt instaladas para o multistrap." #. type: textblock -#: pod/multistrap:148 +#: pod/multistrap:149 msgid "" "All configuration of apt-key needs to be done for the machine running " "multistrap itself." @@ -417,12 +424,12 @@ msgstr "" "correndo o próprio multistrap." #. type: =head1 -#: pod/multistrap:151 +#: pod/multistrap:152 msgid "State" msgstr "Estado" #. type: textblock -#: pod/multistrap:153 +#: pod/multistrap:154 msgid "" "multistrap is stateless - if the directory exists, it will simply proceed as " "normal and apt will try to pick up where it left off." @@ -431,12 +438,12 @@ msgstr "" "prosseguir como normalmente e o apt irá tentar prosseguir de onde ficou." #. type: =head1 -#: pod/multistrap:156 +#: pod/multistrap:157 msgid "Configuration" msgstr "Configuração" #. type: textblock -#: pod/multistrap:158 +#: pod/multistrap:159 msgid "" "multistrap unpacks the downloaded packages but other stages of system " "configuration are not attempted. Examples include:" @@ -445,7 +452,7 @@ msgstr "" "outros estágios da configuração do sistema. Os exemplos incluem:" #. type: verbatim -#: pod/multistrap:161 +#: pod/multistrap:162 #, no-wrap msgid "" " /etc/inittab\n" @@ -471,7 +478,7 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:171 +#: pod/multistrap:172 msgid "" "Any device-specific device nodes will also need to be created using MAKEDEV." msgstr "" @@ -479,7 +486,7 @@ msgstr "" "ser criados usando o MAKEDEV." #. type: textblock -#: pod/multistrap:174 +#: pod/multistrap:175 msgid "" "As an alternative, multistrap includes a device-table.pl helper script that " "can work around some of the issues with MAKEDEV. device-table.pl requires a " @@ -487,7 +494,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:179 +#: pod/multistrap:180 msgid "" "Once multistrap has successfully created the basic file and directory " "layout, other device-specific scripts are needed before the filesystem can " @@ -499,7 +506,7 @@ msgstr "" "de destino." #. type: textblock -#: pod/multistrap:184 +#: pod/multistrap:185 msgid "" "Once installed, the packages themselves need to be configured using the " "package maintainer scripts and C, unless this is a " @@ -510,7 +517,7 @@ msgstr "" "seja um multistrap nativo." #. type: textblock -#: pod/multistrap:188 +#: pod/multistrap:189 msgid "" "For C to work, F and F must be mounted (or mountable), " "F is also recommended." @@ -519,17 +526,17 @@ msgstr "" "(ou serem montáveis), também é recomendado F." #. type: textblock -#: pod/multistrap:191 +#: pod/multistrap:192 msgid "See also: http://wiki.debian.org/Multistrap" msgstr "Veja também: http://wiki.debian.org/Multistrap" #. type: =head1 -#: pod/multistrap:193 +#: pod/multistrap:194 msgid "Environment" msgstr "Ambiente" #. type: textblock -#: pod/multistrap:195 +#: pod/multistrap:196 msgid "" "To configure the unpacked packages (whether in native or cross mode), " "certain environment variables are needed:" @@ -538,7 +545,7 @@ msgstr "" "são necessárias certas variáveis de ambiente:" #. type: textblock -#: pod/multistrap:198 +#: pod/multistrap:199 msgid "" "Debconf needs to be told to accept that user interaction is not desired:" msgstr "" @@ -546,7 +553,7 @@ msgstr "" "utilizador não é desejada:" #. type: verbatim -#: pod/multistrap:201 +#: pod/multistrap:202 #, no-wrap msgid "" " DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" @@ -556,7 +563,7 @@ msgstr "" " \n" #. type: textblock -#: pod/multistrap:203 +#: pod/multistrap:204 msgid "" "Perl needs to be told to accept that no locales are available inside the " "chroot and not to complain:" @@ -565,7 +572,7 @@ msgstr "" "dentro da chroot e não se queixar:" #. type: verbatim -#: pod/multistrap:206 +#: pod/multistrap:207 #, no-wrap msgid "" " LC_ALL=C LANGUAGE=C LANG=C\n" @@ -575,17 +582,17 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:208 +#: pod/multistrap:209 msgid "Then, dpkg can configure the packages:" msgstr "Depois, o dpkg pode configurar os pacotes." #. type: textblock -#: pod/multistrap:210 +#: pod/multistrap:211 msgid "chroot method (PATH = top directory of chroot):" msgstr "método de chroot (PATH = directório de topo da chroot):" #. type: verbatim -#: pod/multistrap:212 +#: pod/multistrap:213 #, no-wrap msgid "" " DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \\\n" @@ -597,12 +604,12 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:215 +#: pod/multistrap:216 msgid "at a login shell:" msgstr "numa shell de login:" #. type: verbatim -#: pod/multistrap:217 +#: pod/multistrap:218 #, no-wrap msgid "" " # export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true\n" @@ -616,18 +623,18 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:221 +#: pod/multistrap:222 msgid "(As above, dpkg needs F and F mounted first.)" msgstr "" "(Como em cima, o dpkg precisa de F e F montados primeiro.)" #. type: =head1 -#: pod/multistrap:223 +#: pod/multistrap:224 msgid "Native mode - multistrap" msgstr "Modo nativo - multistrap" #. type: textblock -#: pod/multistrap:225 +#: pod/multistrap:226 #, fuzzy msgid "" "multistrap was not intended for native support, it was developed for cross " @@ -640,7 +647,7 @@ msgstr "" "apt." #. type: textblock -#: pod/multistrap:229 +#: pod/multistrap:230 msgid "" "In native mode, various post-multistrap operations are likely to be needed " "that debootstrap would do for you:" @@ -649,7 +656,7 @@ msgstr "" "multistrap que o debootstrap faria por si:" #. type: verbatim -#: pod/multistrap:232 +#: pod/multistrap:233 #, no-wrap msgid "" " 1. copy /etc/hosts into the chroot\n" @@ -663,7 +670,7 @@ msgstr "" "\n" #. type: textblock -#: pod/multistrap:236 +#: pod/multistrap:237 msgid "" "(An alternative to unset the localisation variables is to add locales to " "your multistrap configuration file in the 'packages' option." @@ -672,7 +679,7 @@ msgstr "" "seu ficheiro de configuração multistrap na opção 'packages')." #. type: textblock -#: pod/multistrap:240 +#: pod/multistrap:241 msgid "" "A native multistrap can be used directly with chroot, so C runs " "C at the end of the multistrap process." @@ -681,13 +688,13 @@ msgstr "" "C corra C no final do processo multistrap." #. type: =head1 -#: pod/multistrap:244 +#: pod/multistrap:245 #, fuzzy msgid "Cascading configuration" msgstr "Configuração" #. type: textblock -#: pod/multistrap:246 +#: pod/multistrap:247 msgid "" "To support multiple variants of a basic (common) configuration, " "C allows configuration files to include other (more general) " @@ -697,12 +704,12 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:252 +#: pod/multistrap:253 msgid "Base file:" msgstr "" #. type: verbatim -#: pod/multistrap:254 +#: pod/multistrap:255 #, no-wrap msgid "" " /usr/share/multistrap/crosschroot.conf\n" @@ -710,12 +717,12 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:256 +#: pod/multistrap:257 msgid "Variations:" msgstr "" #. type: verbatim -#: pod/multistrap:258 +#: pod/multistrap:259 #, no-wrap msgid "" " /usr/share/multistrap/armel.conf\n" @@ -723,7 +730,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:260 +#: pod/multistrap:261 msgid "" "Specifying just the armel.conf file will get the rest of the settings from " "crosschroot.conf so that common changes only need to be made in a single " @@ -731,7 +738,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:264 +#: pod/multistrap:265 msgid "" "It is B recommended that any changes to the configuration files " "involved in any particular cascade are tested using the C<--simulate> option " @@ -743,13 +750,13 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:272 +#: pod/multistrap:273 #, fuzzy msgid "Machine:variant support" msgstr "Variantes de máquina" #. type: textblock -#: pod/multistrap:274 +#: pod/multistrap:275 msgid "" "The old packages.conf variables from emsandbox can all be converted into " "C configuration variables. The machine:variant support in " @@ -757,7 +764,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:279 +#: pod/multistrap:280 msgid "" "Once C has unpacked the downloaded packages, the C can " "be called, passing the location and architecture of the root filesystem, so " @@ -768,7 +775,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:287 +#: pod/multistrap:288 msgid "" "One advantage of using machine:variant support is that the entire " "rootfilesystem can be managed by a single call to multistrap - this is " @@ -776,14 +783,14 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:291 +#: pod/multistrap:292 msgid "" "To enable machine:variant support, specify the path to the scripts to be " "called in the variant configuration file (General section):" msgstr "" #. type: verbatim -#: pod/multistrap:294 +#: pod/multistrap:295 #, no-wrap msgid "" " [General]\n" @@ -794,19 +801,19 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:300 +#: pod/multistrap:301 msgid "Restricting package selection" msgstr "" #. type: textblock -#: pod/multistrap:302 +#: pod/multistrap:303 msgid "" "C includes Required packages by default, the current list of " "packages can be seen using:" msgstr "" #. type: verbatim -#: pod/multistrap:305 +#: pod/multistrap:306 #, no-wrap msgid "" " grep-available -FPriority 'required' -sPackage\n" @@ -814,7 +821,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:307 +#: pod/multistrap:308 msgid "" "If the OmitRequired option is set to true, these packages will not be added " "- whilst useful, this option can easily lead to a useless rootfs. Only the " @@ -823,12 +830,12 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:313 +#: pod/multistrap:314 msgid "Collecting packages from specific codenames/suites." msgstr "" #. type: textblock -#: pod/multistrap:315 +#: pod/multistrap:316 msgid "" "Packages specified explicitly in the configuration sections will be passed " "to apt as package/codename so that the configuration controls which version " @@ -837,7 +844,7 @@ msgid "" msgstr "" #. type: textblock -#: pod/multistrap:320 +#: pod/multistrap:321 msgid "" "When using this support in Lenny, ensure that each section uses the codename " "(etch, lenny, squeeze, sid) instead of the suite (oldstable, stable, " @@ -846,12 +853,12 @@ msgid "" msgstr "" #. type: =head1 -#: pod/multistrap:325 +#: pod/multistrap:326 msgid "Recommends TOIMPLEMENT:" msgstr "" #. type: textblock -#: pod/multistrap:327 +#: pod/multistrap:328 msgid "Default recommends OFF option to set it as on." msgstr "" diff --git a/multistrap b/multistrap index b34f910..8ee739b 100755 --- a/multistrap +++ b/multistrap @@ -108,6 +108,11 @@ foreach my $inc (@includes) } &dump_config if (defined $dryrun); +if (not defined $dir or not defined $arch) +{ + &dump_config; + exit 3; +} # Translators: fields are: programname, versionstring, configfile. printf (_g("%s %s using %s\n"), $progname, $ourversion, $file); @@ -796,7 +801,7 @@ Options: -?|-h|--help: print this usage message and exit --version: print this usage message and exit -%s extends debootstrap to provide support for multiple +%s replaces debootstrap to provide support for multiple repositories, using a configuration file to specify the relevant suites, architecture, extra packages and the mirror to use for each repository. @@ -807,7 +812,7 @@ directory=/opt/multistrap/ # same as --tidy-up option if set to true cleanup=true # same as --no-auth option if set to true -# keyring packages listed in each debootstrap will +# keyring packages listed in each bootstrap will # still be installed. noauth=false # extract all downloaded archives (default is true) @@ -817,9 +822,9 @@ unpack=true # of the target. Order is not important aptsources=Grip Updates # the order of sections is not important. -# the debootstrap option determines which repository +# the bootstrap option determines which repository # is used to calculate the list of Priority: required packages. -debootstrap=Debian +bootstrap=Debian [Debian] packages= @@ -838,7 +843,7 @@ only the most recent suitable version from all configured repositories. General settings: -'directory' specifies the top level directory where the debootstrap +'directory' specifies the top level directory where the bootstrap will be created - it is not packed into a .tgz once complete. "), $progname, $ourversion, $progname, $progname, $progname) @@ -899,6 +904,8 @@ sub cascade (-d $keys{$section}{'retainsources'})); my @d = split(' ', lc($keys{$section}{'debootstrap'})); push @debootstrap, @d; + my @b = split(' ', lc($keys{$section}{'bootstrap'})); + push @debootstrap, @b; my @a = split (' ', lc($keys{$section}{'aptsources'})); push @aptsources, @a; my @i = split (' ', lc($keys{$section}{'include'})); @@ -938,6 +945,12 @@ sub _g { } sub dump_config { + if (not defined $dir or not defined $arch) + { + my $msg = sprintf(_g("The supplied configuration file '%s'". + " cannot be parsed correctly."), $file); + warn ("\n$msg\n"); + } print "Bootstrap: ".join (", ", sort @debootstrap)."\n"; print "Apt sources: ".join (", ", sort @aptsources)."\n"; @check=(); @@ -948,7 +961,7 @@ sub dump_config { foreach my $sect (sort keys %uniq) { if (not exists $keys{$sect}) { - $msg = sprintf (_g("ERROR: The '%s' section is not defined.\n"), $sect); + $msg .= sprintf (_g("ERROR: The '%s' section is not defined.\n"), $sect); } } print "Includes: ".join (", ", sort @includes)."\n"; @@ -960,8 +973,16 @@ sub dump_config { if (scalar @extrapkgs > 0); print "reinstall: ".join (", ", sort (@reinstall))."\n" if (scalar @reinstall > 0); - print "arch: $arch\n"; - print "dir: $dir\n"; + if (defined $arch) { + print "arch: $arch\n"; + } else { + $msg .= sprintf(_g("Cannot determine architecture from '%s'.\n"), $file); + } + if (defined $dir) { + print "dir: $dir\n"; + } else { + $msg .= sprintf(_g("Cannot determine directory from '%s'.\n"), $file); + } print "unpack: $unpack\n" if (defined $unpack); print "configscript: $configsh\n" if (defined $configsh); print "setupscript: $setupsh\n" if (defined $setupsh); @@ -970,7 +991,7 @@ sub dump_config { print "no_authentication: $noauth\n" if (defined $noauth); print "source_dir: $sourcedir\n" if (defined $sourcedir); if (defined $msg) { - warn ("\n$msg"); + warn ("\n$msg\n"); exit 1; } exit 0; diff --git a/pod/multistrap b/pod/multistrap index e9e24d8..1da000c 100644 --- a/pod/multistrap +++ b/pod/multistrap @@ -35,7 +35,7 @@ retainsources=DIR multistrap provides a debootstrap-like method based on apt and extended to provide support for multiple repositories, using a configuration file to specify the relevant suites, architecture, -extra packages and the mirror to use for each debootstrap. +extra packages and the mirror to use for each bootstrap. The aim is to create a complete bootstrap / root filesystem with all packages installed and configured, instead of just the base @@ -89,10 +89,9 @@ dependency, the recommended package needs to be specified in the packages line explicitly. 'Architecture' and 'directory' can be overridden on the command line. -Other general options have command line options, except debootstrap -itself. +Some other general options also have command line options. -=Repositories +=head1 Repositories C lists the sections which should be used to create the F apt sources in the final @@ -107,12 +106,17 @@ downloaded and unpacked by multistrap. Make sure C lists all sections you need for apt to be able to find all the packages to be unpacked for the multistrap. +(Older versions of multistrap supported the same option under the +C name - this spelling is still supported but new +configuration files should be C instead. + =head1 General settings: -'directory' specifies the top level directory where the debootstrap +'directory' specifies the top level directory where the bootstrap will be created - it is not packed into a .tgz once complete. -As with debootstrap, multistrap will continue after errors. +As with debootstrap, multistrap will continue after errors, as long +as the configuration file can be correctly parsed. multistrap also implements the machine:variant support originally used in Emdebian Crush, although in a different implementation. Using @@ -122,6 +126,11 @@ combinations can be supported by simple changes on the command line. Setting C to true also packs up the final filesystem into a tarball. +Note that multistrap ignores any unrecognised options in the config +file - this allows for backwards-compatible behaviour as well as +overloading the multistrap config files to support other tools +(like pbuilder). + =head1 Secure Apt To use authenticated apt repositories, multistrap either needs to be