Bug#259604: Subject: s390-netdevice: CTC default protocol incorrect
Package: s390-netdevice
Version: 0.06
Severity: important
Tags: patch
Protocol 1 (Linux) is currently chosen as the default CTC protocol, and
the debconf priority is medium. This means that CTC installation under
VM (usually--if the CTC is defined as vCTCs typically are) would fail,
and CTC installation on Hercules would fail, both silently and
confusingly.
The patch to the template simply changes the default to "0" which is
correct for Hercules and most VM installations, and also raises the
debconf priority to critical. I don't know that the second thing is
correct, but IMHO it's better for the user to have to answer or take a
default on an unnecessary question than for the installation to fail.
We might want to add something to the template saying "Hercules users
should choose 0, and VM users should choose the protocol defined in
PROFILE TCPIP for the CTC link to the Debian guest." I couldn't figure
out a clear and more concise way to say that, though.
The rest of the netdevice.c patch is just the leftover IUCV fix (because
the module name is netiucv--just the iucv module doesn't do you any
good). That issue is bug #258430.
Adam
-- System Information:
Debian Release: testing/unstable
APT prefers testing
APT policy: (700, 'testing')
Architecture: s390
Kernel: Linux 2.4.17
Locale: LANG=C, LC_CTYPE=C
--- s390-netdevice.templates.orig 2004-07-15 13:26:41.000000000 -0400
+++ s390-netdevice.templates 2004-07-15 12:57:32.000000000 -0400
@@ -30,7 +30,7 @@
Template: debian-installer/s390/netdevice/ctc/protocol
Type: select
Choices: S/390 (0), Linux (1), OS/390 (3)
-Default: Linux (1)
+Default: S/390 (0)
_Description: Protocol for this connection:
Template: debian-installer/s390/netdevice/lcs/choose
--- netdevice.c.orig 2004-07-15 13:26:02.000000000 -0400
+++ netdevice.c 2004-07-15 12:55:36.000000000 -0400
@@ -298,7 +298,7 @@
static int get_ctc_protocol (void)
{
char *ptr;
- int ret = my_debconf_input ("medium", TEMPLATE_PREFIX "ctc/protocol", &ptr);
+ int ret = my_debconf_input ("critical", TEMPLATE_PREFIX "ctc/protocol", &ptr);
if (ret)
return ret;
@@ -476,7 +476,7 @@
static int setup (void)
{
FILE *f;
- char buf[256], buf1[256] = "", *ptr = NULL;
+ char buf[256], buf1[256] = "", buf2[256], *ptr = NULL;
if (mkdir ("/etc/modutils", 777) && errno != EEXIST)
return 1;
@@ -486,6 +486,7 @@
case TYPE_QETH:
case TYPE_CTC:
case TYPE_LCS:
+ strncpy(buf2,type_text,sizeof(type_text));
if (strlen (chandev_parm))
ptr = chandev_parm;
@@ -521,6 +522,10 @@
break;
case TYPE_IUCV:
+ strncpy(buf2,"netiucv",sizeof("netiucv"));
+ /* This is necessary because the "iucv" module */
+ /* provides the basic IUCV functions, but the */
+ /* "netiucv" module provides TCP/IP support. */
f = fopen("/etc/modutils/netiucv", "a");
if (!f)
return 1;
@@ -532,7 +537,7 @@
break;
}
- snprintf (buf, sizeof (buf), "modprobe %s %s", type_text, buf1);
+ snprintf (buf, sizeof (buf), "modprobe %s %s", buf2, buf1);
di_exec_shell_log (buf);
Reply to: