[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

please consider debconf 1.4.30.13 (t-p-u)



Some overly strict checks in debconf-set-selections make it very hard to
extend the preseed file format in backwards compatible ways. This could
lead to problems post-sarge, since etch d-i will likely be used to
install sarge systems, and the preseed files are used for both d-i and
second stage preseeding.

For example, if a new debconf question type is added post-sarge, and is
used by d-i, it would be problimatic to preseed the answers to such
questions, since the preseeding file would also be parsed by sarge's
debconf, which would choke on the unknown question type.

Another example is some per-question preseeding w/o setting the seen
flag that I am working on for post sarge. Sarge's current debconf would
choke on a preseed file that used this enhancement.

I think it's best to anticipate these problems and try to solve them by
making sarge's debconf-set-selections less strict in its checks so the
preseed file format can be extended later. I came up with a simple patch
to do this, and have uploaded it in debconf 1.4.30.13 to t-p-u.

I've attached a diff of all changes since debconf 1.4.30.12. 1.4.30.12
is itself not yet accepted into testing, although it only involves
adding some translated strings. If you really don't want to accept the
changes in 1.4.30.12, I can back those out and make a new upload with a
much smaller diff from 1.4.30.11.

-- 
see shy jo
Index: debian/changelog
===================================================================
--- debian/changelog	(.../tags/src/debconf/sarge/1.4.30.12)	(revision 1762)
+++ debian/changelog	(.../branches/src/debconf/sarge)	(revision 1762)
@@ -1,3 +1,19 @@
+debconf (1.4.30.13) testing-proposed-updates; urgency=low
+
+  * Joey Hess
+    - Make debconf-set-selections not fail if it encounters an unknown
+      question type. This is for future expansion post-sarge, when we may add
+      new types of questions or override the type field to do seen flag
+      handling. This needs to get into sarge so that installs of sarge done
+      with newer versions of the installer that may make use of such
+      extensions will work and not choke on the extensions in the preseed
+      files.
+  * Translations:
+    - Update German translation by Helge Kreutzmann
+    - Spanish updated. Closes: #301126
+
+ -- Joey Hess <joeyh@debian.org>  Thu,  7 Apr 2005 16:35:16 -0400
+
 debconf (1.4.30.12) testing-proposed-updates; urgency=low
 
   * Mark more strings as translatable. Closes: #225463
Index: debian/po/de.po
===================================================================
--- debian/po/de.po	(.../tags/src/debconf/sarge/1.4.30.12)	(revision 1762)
+++ debian/po/de.po	(.../branches/src/debconf/sarge)	(revision 1762)
@@ -5,10 +5,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: debconf\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2003-12-28 19:07-0500\n"
-"PO-Revision-Date: 2004-05-29 17:03-0200\n"
+"PO-Revision-Date: 2005-03-08 11:50-0100\n"
 "Last-Translator: Helge Kreutzmann <kreutzm@itp.uni-hannover.de>\n"
 "Language-Team: de <debian-l10n-german@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -39,7 +39,7 @@
 "Packages that use debconf for configuration share a common look and feel. "
 "You can select the type of user interface they use."
 msgstr ""
-"Pakete die Debconf für die Konfiguration verwenden, teilen ein gemeinsames "
+"Pakete, die Debconf für die Konfiguration verwenden, teilen ein gemeinsames "
 "»look and feel«. Sie können wählen, welche Benutzerschnittstelle sie "
 "benutzen."
 
@@ -47,7 +47,6 @@
 #. Type: select
 #. Description
 #: ../templates:5
-#, fuzzy
 msgid ""
 "The dialog frontend is a full-screen, character based interface, while the "
 "readline frontend uses a more traditional plain text interface, and both the "
@@ -56,13 +55,14 @@
 "you configure things using your favorite text editor. The noninteractive "
 "frontend never asks you any questions."
 msgstr ""
-"Das Dialog-Frontend ist eine zeichenbasierte Vollbildschirmdarstellung, "
-"während das Readline-Frontend eine eher traditionelle einfache "
-"Textschnittstelle verwendet, und sowohl das GNOME- als auch das KDE-Frontend "
-"sind moderne X-Schnittstellen, die in den jeweiligen Desktop eingepasst sind "
-"(aber in beliebigen X-Umgebungen verwendet werden können). Das Editor-"
-"Frontend läßt Sie die Dinge mit Ihrem Lieblingseditor konfigurieren. Das "
-"nicht-interaktive Frontend fragt Sie nie irgendeine Frage."
+"Das Dialog-Oberfläche ist eine zeichenbasierte Vollbildschnittstelle, "
+"während die Readline-Oberfläche eine eher traditionelle einfache "
+"Textschnittstelle verwendet, und sowohl die GNOME- als auch das KDE-"
+"Oberläche sind moderne X-Schnittstellen, die in den jeweiligen Desktop "
+"eingepasst sind (aber in beliebigen X-Umgebungen verwendet werden können). "
+"Die Editor-Oberfläche läßt Sie die Dinge mit Ihrem Lieblingseditor "
+"konfigurieren. Die nicht-interaktive Oberfläche fragt Sie nie irgendeine "
+"Frage."
 
 #. Type: select
 #. Choices
@@ -83,7 +83,6 @@
 #. Type: select
 #. Description
 #: ../templates:20
-#, fuzzy
 msgid ""
 "Debconf prioritizes the questions it asks you. Pick the lowest priority of "
 "question you want to see:\n"
@@ -95,12 +94,12 @@
 msgstr ""
 "Debconf priorisiert die Fragen an Sie.  Wählen Sie die niedrigste Priorität "
 "der Fragen, die Sie sehen möchten:\n"
-"  - »kritisch« wird nur gefragt, wenn das System zerstört werden\n"
-"    könnte.  Nehmen Sie das, wenn Sie Neuling oder in Eile sind.\n"
+"  - »kritisch« fragt Sie nur, wenn das System zerstört werden\n"
+"    könnte.  Nehmen Sie dies, falls Sie Neuling oder in Eile sind.\n"
 "  - »hoch« ist für eher wichtige Fragen\n"
 "  - »mittel« ist für normale Fragen\n"
 "  - »niedrig« ist für Freunde der vollen Kontrolle, die alles sehen \n"
-"    möchten\n"
+"    möchten"
 
 #
 #. Type: select
Index: debconf-set-selections
===================================================================
--- debconf-set-selections	(.../tags/src/debconf/sarge/1.4.30.12)	(revision 1762)
+++ debconf-set-selections	(.../branches/src/debconf/sarge)	(revision 1762)
@@ -75,6 +75,11 @@
 	print STDERR "info: $msg\n" if $debug;
 }
 
+sub warning {
+	my $msg = shift;
+	print STDERR "warning: $msg\n";
+}
+
 sub error {
 	my $msg = shift;
 	print STDERR "error: $msg\n";
@@ -115,14 +120,19 @@
 
 sub ok_format {
 	my ($owner, $label, $type, $content) = @_;
-	if (! defined $owner || ! defined $label || ! defined $content ||
-	    ! grep { $_ eq $type } @knowntypes) {
+	if (! defined $owner || ! defined $label || ! defined $content) {
+		error "parse error on line $.: '$_'";
 		return;
 	}
+	elsif (! grep { $_ eq $type } @knowntypes) {
+		warning "Unknown type $type, skipping line $.";
+		return;
+	}
 	else {
 		return 1;
 	}
 }
+
 GetOptions(
 	"verbose|v" => \$debug,
 	"checkonly|c" => \$checkonly,
@@ -142,14 +152,10 @@
 	if (! defined $content) {
 		$content='';
 	}
-
 	if (ok_format($owner, $label, $type, $content)) {
 		info "Trying to set '$label' [$type] to '$content'";
 		load_answer($owner, $label, $type, $content);
 	}
-	else {
-		error "parse error on line $.: '$_'";
-	}
 }
 
 if (! $checkonly) {
Index: po/es.po
===================================================================
--- po/es.po	(.../tags/src/debconf/sarge/1.4.30.12)	(revision 1762)
+++ po/es.po	(.../branches/src/debconf/sarge)	(revision 1762)
@@ -8,8 +8,8 @@
 msgstr ""
 "Project-Id-Version: debconf 1.2.39\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2005-02-04 20:14-0500\n"
-"PO-Revision-Date: 2005-01-23 19:51+0100\n"
+"POT-Creation-Date: 2005-04-07 16:29-0400\n"
+"PO-Revision-Date: 2005-03-23 23:03+0100\n"
 "Last-Translator: Javier Fernández-Sanguino <jfs@debian.org>\n"
 "Language-Team: Debian Spanish Team <debian-l10n-spanish@lists.debian.org>\n"
 "MIME-Version: 1.0\n"
@@ -112,7 +112,7 @@
 #: ../Debconf/FrontEnd/Readline.pm:58
 msgid "Term::ReadLine::GNU is incompatable with emacs shell buffers."
 msgstr ""
-"Term::ReadLine::GNU es incompatible con buffers de intérprete de órdenes de "
+"Term::ReadLine::GNU es incompatible con búfers de intérprete de órdenes de "
 "emacs."
 
 #: ../Debconf/AutoSelect.pm:76
@@ -160,7 +160,7 @@
 #: ../Debconf/Config.pm:262
 #, c-format
 msgid "Ignoring invalid priority \"%s\""
-msgstr "Se ignorará la prioridad inválidad «%s»"
+msgstr "Se ignorará la prioridad inválida «%s»"
 
 #: ../Debconf/Config.pm:263
 #, c-format
@@ -182,8 +182,8 @@
 "Template #%s in %s has a duplicate field \"%s\" with new value \"%s\". "
 "Probably two templates are not properly seperated by a lone newline.\n"
 msgstr ""
-"La plantilla #%s en %s tiene un campo \"%s\" duplicado con el nuevo valor \"%"
-"s\". Probablemente dos plantillas no están separadas correctamente con un "
+"La plantilla #%s en %s tiene un campo «%s» duplicado con el nuevo valor «%"
+"s». Probablemente dos plantillas no están separadas correctamente con un "
 "sólo retorno de carro.\n"
 
 #: ../Debconf/Template.pm:226
@@ -320,7 +320,7 @@
 #: ../dpkg-preconfigure:121
 msgid "delaying package configuration, since apt-utils is not installed"
 msgstr ""
-"se retrasa la configuración de los paquetes, ya que apt-utils no está "
+"se retrasa la configuración de los paquetes, ya que «apt-utils» no está "
 "instalado"
 
 #: ../dpkg-preconfigure:151 ../dpkg-preconfigure:159
@@ -340,7 +340,7 @@
 #: ../dpkg-preconfigure:193
 #, c-format
 msgid "debconf: can't chmod: %s"
-msgstr "debconf: no puedo chmod: %s"
+msgstr "debconf: no puedo cambiar los permisos: %s"
 
 #: ../dpkg-preconfigure:203
 #, c-format
@@ -364,7 +364,7 @@
 #: ../dpkg-reconfigure:160
 #, c-format
 msgid "%s is broken or not fully installed"
-msgstr "%s está roto o no totalmente instalado"
+msgstr "%s está roto o no está totalmente instalado"
 
 #: ../dpkg-reconfigure:237
 #, c-format

Attachment: signature.asc
Description: Digital signature


Reply to: