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 via email to