On Fri, 10 Dec 2004, Joey Hess wrote: > > As an aside, how do I insert an updated udeb into the d-i image without > > getting an md5 error when it unpacks? I've updated md5sums.txt but it > > still complains (trying to avoid rebuilding the whole thing) > > Put it in localudebs and list it in pkg-lists/local.
I don't have the whole d-i source, just a directory with the cd contents which I run mkisofs on. Its not that important I guess. > Sorry, besides being very ugly, this assumes that network info is always > preseeded if preseeding is done, which it is not. Ok, good point. How about this one? Tested with manual, fully preseeded and partially-preseeded (no networking info) installs. LMK what you think... there are probably some debconf monsters lurking in there that I don't know about. Paul. -- Paul Telford | 1024D/431B38BA | [EMAIL PROTECTED] | [EMAIL PROTECTED] C903 0E85 9AF5 1B80 6A5F F169 D7E9 4363 431B 38BA
--- netcfg-1.07/static.c 2004-09-21 09:36:18.000000000 -0700 +++ netcfg-1.07.new/static.c 2004-12-10 11:48:04.000000000 -0800 @@ -90,6 +90,7 @@ int ret, ok = 0; char ptr1[INET_ADDRSTRLEN]; struct in_addr old_netmask = netmask; + char *ptr; while (!ok) { @@ -119,8 +120,13 @@ broadcast.s_addr = (network.s_addr | ~netmask.s_addr); /* Preseed gateway */ - gateway.s_addr = ipaddress.s_addr & netmask.s_addr; - gateway.s_addr |= htonl(1); + debconf_get(client, "netcfg/get_gateway"); + ptr = client->value; + if (empty_str(ptr)) { + gateway.s_addr = ipaddress.s_addr & netmask.s_addr; + gateway.s_addr |= htonl(1); + } else + netcfg_get_gateway(client); } inet_ntop (AF_INET, &gateway, ptr1, sizeof (ptr1)); @@ -181,15 +187,18 @@ char *ptr, ptr1[INET_ADDRSTRLEN]; int ret; - if (*nameservers) + debconf_get(client, "netcfg/get_nameservers"); + if(!empty_str(client->value)) + ptr = client->value; + else { + if (*nameservers) ptr = *nameservers; - else if (gateway.s_addr) - { + else if (gateway.s_addr) { inet_ntop (AF_INET, &gateway, ptr1, sizeof (ptr1)); ptr = ptr1; - } - else + } else ptr = ""; + } debconf_set(client, "netcfg/get_nameservers", ptr); debconf_input(client, "critical", "netcfg/get_nameservers");