Hello community,
here is the log from the commit of package linuxrc
checked in at Tue May 27 16:11:00 CEST 2008.
--------
--- linuxrc/linuxrc.changes 2008-05-26 18:48:45.000000000 +0200
+++ /mounts/work_src_done/STABLE/linuxrc/linuxrc.changes 2008-05-27 15:56:33.000000000 +0200
@@ -1,0 +2,8 @@
+Tue May 27 15:56:29 CEST 2008 - snwint(a)suse.de
+
+- try connected network cards first (bnc #394618)
+- use dhcpcd --noipv4ll to avoid local link addresses (bnc #394618)
+- fix driverupdate loading (bnc #393082)
+- load usb modules before starting braille detection
+
+-------------------------------------------------------------------
Old:
----
linuxrc-3.1.30.tar.bz2
New:
----
linuxrc-3.1.31.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ linuxrc.spec ++++++
--- /var/tmp/diff_new_pack.R20303/_old 2008-05-27 16:09:45.000000000 +0200
+++ /var/tmp/diff_new_pack.R20303/_new 2008-05-27 16:09:45.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package linuxrc (Version 3.1.30)
+# spec file for package linuxrc (Version 3.1.31)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -17,9 +17,9 @@
Group: System/Boot
AutoReqProv: on
Summary: SUSE Installation Program
-Version: 3.1.30
+Version: 3.1.31
Release: 1
-Source: linuxrc-3.1.30.tar.bz2
+Source: linuxrc-3.1.31.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -54,6 +54,11 @@
%doc linuxrc.html
%changelog
+* Tue May 27 2008 snwint(a)suse.de
+- try connected network cards first (bnc #394618)
+- use dhcpcd --noipv4ll to avoid local link addresses (bnc #394618)
+- fix driverupdate loading (bnc #393082)
+- load usb modules before starting braille detection
* Mon May 26 2008 snwint(a)suse.de
- fix driverupdate loading (part 1)
- s390: switch from hwcfg to udev
++++++ linuxrc-3.1.30.tar.bz2 -> linuxrc-3.1.31.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/auto2.c new/linuxrc-3.1.31/auto2.c
--- old/linuxrc-3.1.30/auto2.c 2008-05-20 17:13:51.000000000 +0200
+++ new/linuxrc-3.1.31/auto2.c 2008-05-27 15:15:57.000000000 +0200
@@ -35,7 +35,6 @@
static void auto2_user_netconfig(void);
static int driver_is_active(hd_t *hd);
-static void load_drivers(hd_data_t *hd_data, hd_hw_item_t hw_item);
static void auto2_progress(char *pos, char *msg);
static void auto2_read_repo_files(url_t *url);
static char *auto2_splash_name(void);
@@ -300,7 +299,7 @@
printf("Reading info file: %s\n", sl->key);
fflush(stdout);
url = url_set(sl->key);
- err = url_read_file(url, NULL, NULL, "/download/info", NULL, URL_FLAG_PROGRESS);
+ err = url_read_file_anywhere(url, NULL, NULL, "/download/info", NULL, URL_FLAG_PROGRESS);
url_umount(url);
url_free(url);
if(!err) {
@@ -330,10 +329,10 @@
strprintf(&path2, "%s%sdriverupdate", path1, path1[0] == 0 || path1[strlen(path1) - 1] == '/' ? "" : "/");
- err = url_read_file(url, NULL, NULL, file_name, NULL, URL_FLAG_UNZIP + URL_FLAG_NOSHA1 + URL_FLAG_PROGRESS);
+ err = url_read_file_anywhere(url, NULL, NULL, file_name, NULL, URL_FLAG_UNZIP + URL_FLAG_NOSHA1 + URL_FLAG_PROGRESS);
if(err) {
str_copy(&url->path, path2);
- err = url_read_file(url, NULL, NULL, file_name, NULL, URL_FLAG_UNZIP + URL_FLAG_NOSHA1 + URL_FLAG_PROGRESS);
+ err = url_read_file_anywhere(url, NULL, NULL, file_name, NULL, URL_FLAG_UNZIP + URL_FLAG_NOSHA1 + URL_FLAG_PROGRESS);
}
fprintf(stderr, "err2 = %d\n", err);
LXRC_WAIT
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/auto2.h new/linuxrc-3.1.31/auto2.h
--- old/linuxrc-3.1.30/auto2.h 2008-04-02 12:37:37.000000000 +0200
+++ new/linuxrc-3.1.31/auto2.h 2008-05-27 15:15:52.000000000 +0200
@@ -7,3 +7,4 @@
void pcmcia_socket_startup(void);
void auto2_driverupdate(url_t *url);
int auto2_extend_root(char *file);
+void load_drivers(hd_data_t *hd_data, hd_hw_item_t hw_item);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/Changelog new/linuxrc-3.1.31/Changelog
--- old/linuxrc-3.1.30/Changelog 2008-05-26 18:47:14.000000000 +0200
+++ new/linuxrc-3.1.31/Changelog 2008-05-27 15:17:46.000000000 +0200
@@ -1,3 +1,9 @@
+27/5/2008: v3.1.31
+ - try connected network cards first (bnc #394618)
+ - use dhcpcd --noipv4ll to avoid local link addresses (bnc #394618)
+ - fix driverupdate loading (bnc #393082)
+ - load usb modules before starting braille detection
+
20/5/2008: v3.1.30
- fix driverupdate loading
- s390: switch from hwcfg to udev
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/net.c new/linuxrc-3.1.31/net.c
--- old/linuxrc-3.1.30/net.c 2008-05-20 17:36:59.000000000 +0200
+++ new/linuxrc-3.1.31/net.c 2008-05-27 11:40:45.000000000 +0200
@@ -1678,7 +1678,7 @@
net_apply_ethtool(config.net.device, config.net.hwaddr);
- strcpy(cmd, "dhcpcd");
+ strcpy(cmd, "dhcpcd --noipv4ll");
if(config.net.dhcpcd) {
sprintf(cmd + strlen(cmd), " %s", config.net.dhcpcd);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/url.c new/linuxrc-3.1.31/url.c
--- old/linuxrc-3.1.30/url.c 2008-05-20 17:10:14.000000000 +0200
+++ new/linuxrc-3.1.31/url.c 2008-05-27 15:00:10.000000000 +0200
@@ -62,6 +62,7 @@
static char *url_config_get_path(char *entry);
static slist_t *url_config_get_file_list(char *entry);
static hd_t *sort_a_bit(hd_t *hd_list);
+static int link_detected(hd_t *hd);
void url_read(url_data_t *url_data)
@@ -1351,12 +1352,6 @@
if((flags & URL_FLAG_PROGRESS)) url_data->progress = url_progress;
str_copy(&url_data->label, label);
-#if 0
- if(url_data->url->is.network) {
- url_setup_device(url_data->url);
- }
-#endif
-
fprintf(stderr, "loading %s -> %s\n", url_print(url_data->url, 0), url_data->file_name);
url_read(url_data);
@@ -1458,6 +1453,99 @@
/*
+ * Like url_read_file() but setup network if necessary.
+ *
+ * return:
+ * 0: ok
+ * 1: failed
+ */
+int url_read_file_anywhere(url_t *url, char *dir, char *src, char *dst, char *label, unsigned flags)
+{
+ int err, found, matched;
+ hd_t *hd;
+ hd_res_t *res;
+ char *hwaddr;
+ str_list_t *sl;
+ char *url_device;
+
+ if(!url || !url->is.network || url->used.device) return url_read_file(url, dir, src, dst, label, flags);
+
+ LXRC_WAIT
+
+ if(config.net.configured) {
+ str_copy(&url->used.device, config.net.device);
+ str_copy(&url->used.hwaddr, config.net.hwaddr);
+ str_copy(&url->used.model, config.net.cardname);
+ str_copy(&url->used.unique_id, config.net.unique_id);
+
+ LXRC_WAIT
+
+ }
+ else {
+ update_device_list(0);
+
+ LXRC_WAIT
+
+ if(config.hd_data) {
+ url_device = url->device ?: config.netdevice;
+
+ for(found = 0, hd = sort_a_bit(hd_list(config.hd_data, hw_network_ctrl, 0, NULL)); hd; hd = hd->next) {
+ for(hwaddr = NULL, res = hd->res; res; res = res->next) {
+ if(res->any.type == res_hwaddr) {
+ hwaddr = res->hwaddr.addr;
+ break;
+ }
+ }
+
+ if(!hd->unix_dev_name) continue;
+
+ matched = url_device ? match_netdevice(short_dev(hd->unix_dev_name), hwaddr, url_device) : 1;
+
+ for(sl = hd->unix_dev_names; !matched && sl; sl = sl->next) {
+ matched = match_netdevice(short_dev(sl->str), NULL, url_device);
+ }
+
+ if(!matched) continue;
+
+ str_copy(&url->used.unique_id, hd->unique_id);
+ str_copy(&url->used.device, hd->unix_dev_name);
+ str_copy(&url->used.hwaddr, hwaddr);
+ str_copy(&url->used.model, hd->model);
+
+ url->is.wlan = hd->is.wlan;
+
+ url_setup_device(url);
+
+ if(!url_read_file(url, dir, src, dst, label, flags)) {
+ found++;
+ break;
+ }
+ }
+
+ if(!found) {
+ str_copy(&url->used.device, NULL);
+ str_copy(&url->used.model, NULL);
+ str_copy(&url->used.hwaddr, NULL);
+ str_copy(&url->used.unique_id, NULL);
+ }
+
+ LXRC_WAIT
+
+ return found ? 0 : 1;
+ }
+ }
+
+ if(url->used.device) url_setup_device(url);
+
+ err = url_read_file(url, dir, src, dst, label, flags);
+
+ LXRC_WAIT
+
+ return err;
+}
+
+
+/*
* Find repository (and mount at 'dir' if possbile).
* Mount instsys, too, if it is a relative url.
*
@@ -2252,7 +2340,19 @@
hd_t *hd_array[hds + 1];
unsigned u = 0;
- // put wlan cards last
+ /* cards with link first */
+
+ for(hd = hd_list; hd; hd = hd->next) {
+ if(link_detected(hd)) hd_array[u++] = hd;
+ }
+ for(hd = hd_list; hd; hd = hd->next) {
+ if(!link_detected(hd)) hd_array[u++] = hd;
+ }
+ hd_array[hds] = NULL;
+ for(u = 0; u < hds; u++) hd_array[u]->next = hd_array[u + 1];
+ hd_list = hd_array[0];
+
+ /* wlan cards last */
for(hd = hd_list; hd; hd = hd->next) {
if(!hd->is.wlan) hd_array[u++] = hd;
@@ -2260,11 +2360,8 @@
for(hd = hd_list; hd; hd = hd->next) {
if(hd->is.wlan) hd_array[u++] = hd;
}
-
hd_array[hds] = NULL;
-
for(u = 0; u < hds; u++) hd_array[u]->next = hd_array[u + 1];
-
hd_list = hd_array[0];
}
@@ -2272,3 +2369,15 @@
}
+int link_detected(hd_t *hd)
+{
+ hd_res_t *res;
+
+ for(res = hd->res; res; res = res->next) {
+ if(res->any.type == res_link && res->link.state) return 1;
+ }
+
+ return 0;
+}
+
+
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/url.h new/linuxrc-3.1.31/url.h
--- old/linuxrc-3.1.30/url.h 2008-04-02 14:51:06.000000000 +0200
+++ new/linuxrc-3.1.31/url.h 2008-05-27 14:44:42.000000000 +0200
@@ -49,6 +49,7 @@
void url_umount(url_t *url);
int url_mount(url_t *url, char *dir, int (*test_func)(url_t *));
int url_read_file(url_t *url, char *dir, char *src, char *dst, char *label, unsigned flags);
+int url_read_file_anywhere(url_t *url, char *dir, char *src, char *dst, char *label, unsigned flags);
int url_find_repo(url_t *url, char *dir);
int url_find_instsys(url_t *url, char *dir);
char *url_print(url_t *url, int format);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/util.c new/linuxrc-3.1.31/util.c
--- old/linuxrc-3.1.30/util.c 2008-05-09 14:41:00.000000000 +0200
+++ new/linuxrc-3.1.31/util.c 2008-05-27 15:39:06.000000000 +0200
@@ -4594,11 +4594,24 @@
char *cmd = NULL;
FILE *f;
+ hd_data->debug = -1;
+
+ printf("Activating usb devices...\n");
+ fprintf(stderr, "Activating usb devices...\n");
+
+ /* braille dev might need usb modules */
+ util_load_usb();
+
+ sleep(config.usbwait + 1);
+
+ hd_list(hd_data, hw_usb, 1, NULL);
+ load_drivers(hd_data, hw_usb);
+
+ sleep(config.usbwait + 1);
+
printf("detecting braille devices...\n");
fprintf(stderr, "detecting braille devices...\n");
- hd_data->debug = -1;
-
hd = hd_list(hd_data, hw_braille, 1, NULL);
if(config.debug) {
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.1.30/VERSION new/linuxrc-3.1.31/VERSION
--- old/linuxrc-3.1.30/VERSION 2008-05-20 16:35:53.000000000 +0200
+++ new/linuxrc-3.1.31/VERSION 2008-05-27 11:32:18.000000000 +0200
@@ -1 +1 @@
-3.1.30
+3.1.31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org