Hello community, here is the log from the commit of package linuxrc checked in at Mon Nov 17 17:20:42 CET 2008. -------- --- linuxrc/linuxrc.changes 2008-11-11 12:00:08.000000000 +0100 +++ /mounts/work_src_done/STABLE/linuxrc/linuxrc.changes 2008-11-13 12:31:07.000000000 +0100 @@ -1,0 +2,6 @@ +Thu Nov 13 12:31:02 CET 2008 - snwint@suse.de + +- driverudates were sometimes not unmounted +- inst-sys/rescue can now be extended via 'dud' syntax + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- linuxrc-3.3.15.tar.bz2 New: ---- linuxrc-3.3.16.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ linuxrc.spec ++++++ --- /var/tmp/diff_new_pack.J29629/_old 2008-11-17 17:20:21.000000000 +0100 +++ /var/tmp/diff_new_pack.J29629/_new 2008-11-17 17:20:21.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package linuxrc (Version 3.3.15) +# spec file for package linuxrc (Version 3.3.16) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -24,9 +24,9 @@ Group: System/Boot AutoReqProv: on Summary: SUSE Installation Program -Version: 3.3.15 +Version: 3.3.16 Release: 1 -Source: linuxrc-3.3.15.tar.bz2 +Source: linuxrc-3.3.16.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -61,6 +61,9 @@ %doc linuxrc.html %changelog +* Thu Nov 13 2008 snwint@suse.de +- driverudates were sometimes not unmounted +- inst-sys/rescue can now be extended via 'dud' syntax * Tue Nov 11 2008 uli@suse.de - s390: don't fall back to manual mode unless portno is actually needed - s390: added portno parameter for autoinstall (fate #304080) ++++++ linuxrc-3.3.15.tar.bz2 -> linuxrc-3.3.16.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/auto2.c new/linuxrc-3.3.16/auto2.c --- old/linuxrc-3.3.15/auto2.c 2008-11-10 16:21:31.000000000 +0100 +++ new/linuxrc-3.3.16/auto2.c 2008-11-12 16:54:25.000000000 +0100 @@ -98,7 +98,7 @@ { hd_t *hd, *hd_sys, *hd_usb, *hd_fw, *hd_pcmcia, *hd_pcmcia2; driver_info_t *di; - int ju, err; + int ju, err, is_dud, dud_retry; slist_t *usb_modules = NULL, *sl, **names; int storage_loaded = 0, max_wait; hd_data_t *hd_data; @@ -333,6 +333,8 @@ fflush(stdout); url = url_set(sl->key); + dud_retry = 0; + if(url->is.mountable) { err = url_mount(url, config.mountpoint.update, NULL); } @@ -347,6 +349,7 @@ URL_FLAG_UNZIP + URL_FLAG_NOSHA1 + URL_FLAG_PROGRESS + (config.secure ? URL_FLAG_CHECK_SIG : 0) ); if(err && !config.sig_failed) { + dud_retry = 1; str_copy(&url->path, path2); err = url_read_file_anywhere( url, NULL, NULL, file_name, NULL, @@ -363,8 +366,31 @@ free(path2); } if(!err) { - util_chk_driver_update(config.mountpoint.update, get_instmode_name(url->scheme)); + char *buf = NULL; + + is_dud = util_chk_driver_update(config.mountpoint.update, get_instmode_name(url->scheme)); + + LXRC_WAIT; + + if(!is_dud && !dud_retry) { + int i; + char *s = url_print(url, 1); + + printf("%s: adding to %s system\n", s, config.rescue ? "rescue" : "installation"); + + strprintf(&buf, "%s/dud_%04u", config.download.base, config.update.ext_count++); + + fprintf(stderr, "%s -> %s: converting dud to squashfs\n", s, buf); + strprintf(&buf, "mksquashfs %s %s -noappend -no-progress >%s", config.mountpoint.update, buf, config.debug ? "&2" : "/dev/null"); + i = system(buf); + if(i) fprintf(stderr, "mount: mksquashfs failed\n"); + + LXRC_WAIT + } + str_copy(&buf, NULL); } + + util_umount(config.mountpoint.update); url_umount(url); url_free(url); } @@ -376,7 +402,7 @@ dia_message(txt_get(TXT_DUD_NOTFOUND), MSGTYPE_INFO); } else { - printf("No new driver updates found.\n"); + // printf("No new driver updates found.\n"); } } else { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/Changelog new/linuxrc-3.3.16/Changelog --- old/linuxrc-3.3.15/Changelog 2008-11-11 11:57:37.000000000 +0100 +++ new/linuxrc-3.3.16/Changelog 2008-11-13 12:30:36.000000000 +0100 @@ -1,3 +1,7 @@ +12/11/2008: v3.3.16 + - driverudates were sometimes not unmounted + - inst-sys/rescue can now be extended via 'dud' syntax + 11/11/2008: v3.3.15 - s390: don't fall back to manual mode unless portno is actually needed - s390: added portno parameter for autoinstall (fate #304080) diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/DEADJOE new/linuxrc-3.3.16/DEADJOE --- old/linuxrc-3.3.15/DEADJOE 2008-09-10 10:08:44.000000000 +0200 +++ new/linuxrc-3.3.16/DEADJOE 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ - -*** These modified files were found in JOE when it aborted on Wed Sep 10 10:25:44 2008 -*** JOE was aborted by UNIX signal 15 - -*** File '(Unnamed)' -net_s390_get_ifname -qdio -net_s390_qdio_portname -no network if -"ctc" -/* OSA -mod_modprobe -zfcp_confi -zfcp -configure -_ex( -device - -*** File '(Unnamed)' -net.c -net.c -net.c -Changelog -net.c -net.c -initrd.file_list -Changelog -Changelog -net.c -net.c diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/global.h new/linuxrc-3.3.16/global.h --- old/linuxrc-3.3.15/global.h 2008-11-10 16:21:31.000000000 +0100 +++ new/linuxrc-3.3.16/global.h 2008-11-11 17:43:40.000000000 +0100 @@ -424,6 +424,7 @@ char *dst; /* driver update destination dir */ char *dev; /* device recently used for updates (if any) */ unsigned count; /* driver update count */ + unsigned ext_count; /* driver update instsys extension count */ unsigned next; /* next driver update to do */ unsigned style:1; /* 0: new style, 1: old style */ unsigned ask:1; /* 1: ask for update disk */ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/install.c new/linuxrc-3.3.16/install.c --- old/linuxrc-3.3.15/install.c 2008-10-16 13:23:15.000000000 +0200 +++ new/linuxrc-3.3.16/install.c 2008-11-11 17:51:22.000000000 +0100 @@ -979,9 +979,8 @@ */ int add_instsys() { - char buf[256]; - int err = 0; - char *argv[3] = { }; + char *buf = NULL, *argv[3] = { }, *mp; + int err = 0, i; slist_t *sl; if(!config.url.instsys->mount) return 1; @@ -1003,6 +1002,18 @@ } } + for(i = 0; i < config.update.ext_count; i++) { + mp = new_mountpoint(); + strprintf(&buf, "%s/dud_%04u", config.download.base, i); + if(!util_mount_ro(buf, mp, 0)) { + if(!config.test) { + argv[1] = mp; + argv[2] = "/"; + util_lndir_main(3, argv); + } + } + } + file_read_info_file("/.instsys.config", kf_cfg); file_write_install_inf(""); @@ -1048,7 +1059,7 @@ if(sl) { if(!(win = config.win)) util_disp_init(); - sprintf(buf, + strprintf(&buf, "The following driver update has not been applied:\n\n%s\n\n" "You can continue, but things will not work as expected.\n" "If you don't want to see this message, boot with 'updatecomplain=0'.", @@ -1061,6 +1072,8 @@ } } + str_copy(&buf, NULL); + return err; } @@ -1153,7 +1166,7 @@ LXRC_WAIT kbd_end(1); - util_notty(); + if(!config.test) util_notty(); if(config.test) { err = system("/bin/bash 2>&1"); @@ -1202,7 +1215,7 @@ } } - if(!config.listen) { + if(!config.test && !config.listen) { freopen(config.console, "r", stdin); freopen(config.console, "a", stdout); freopen(config.stderr_name, "a", stderr); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/linuxrc.c new/linuxrc-3.3.16/linuxrc.c --- old/linuxrc-3.3.15/linuxrc.c 2008-11-10 16:21:31.000000000 +0100 +++ new/linuxrc-3.3.16/linuxrc.c 2008-11-12 17:01:47.000000000 +0100 @@ -315,6 +315,7 @@ void lxrc_change_root() { + int i; char *buf = NULL, *mp = "/mnt", **s; slist_t *sl; char *argv[3] = { }; @@ -336,6 +337,14 @@ ) { fprintf(stderr, "starting rescue\n"); + // add dud images + for(i = 0; i < config.update.ext_count; i++) { + sl = slist_add(&config.url.instsys_list, slist_new()); + str_copy(&sl->value, new_mountpoint()); + strprintf(&sl->key, "%s/dud_%04u", config.download.base, i); + util_mount_ro(sl->key, sl->value, NULL); + } + // first, some directories for(s = dirs; *s; s++) { strprintf(&buf, "%s/%s", mp, *s); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/svn-commit.2.tmp new/linuxrc-3.3.16/svn-commit.2.tmp --- old/linuxrc-3.3.15/svn-commit.2.tmp 2008-11-11 11:59:07.000000000 +0100 +++ new/linuxrc-3.3.16/svn-commit.2.tmp 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ - ---This line, and those below, will be ignored-- - -M VERSION -M Changelog -M file.c -M file.h diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/svn-commit.tmp new/linuxrc-3.3.16/svn-commit.tmp --- old/linuxrc-3.3.15/svn-commit.tmp 2008-07-29 14:37:51.000000000 +0200 +++ new/linuxrc-3.3.16/svn-commit.tmp 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ - ---This line, and those below, will be ignored-- - -M Changelog -M net.c diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/util.c new/linuxrc-3.3.16/util.c --- old/linuxrc-3.3.15/util.c 2008-10-16 13:23:15.000000000 +0200 +++ new/linuxrc-3.3.16/util.c 2008-11-12 17:12:13.000000000 +0100 @@ -893,19 +893,21 @@ * Note: you must call util_do_driver_updates() to actuall apply * the update. */ -void util_chk_driver_update(char *dir, char *loc) +int util_chk_driver_update(char *dir, char *loc) { char *drv_src = NULL, *dud_loc = NULL, *s; slist_t *sl0 = NULL, *sl; struct dirent *de; DIR *d; + int is_update = 0; - if(!dir || !loc || !config.tmpfs || !config.update.dir) return; + if(!dir || !loc || !config.tmpfs || !config.update.dir) return is_update; strprintf(&drv_src, "%s%s", dir, config.update.dir); if(util_check_exist(drv_src) == 'd') { strprintf(&dud_loc, "%s:%s", loc, config.update.dir); + is_update = 1; add_driver_update(drv_src, dud_loc); } @@ -916,6 +918,7 @@ if(!*s) { strprintf(&drv_src, "%s/%s%s", dir, de->d_name, config.update.dir); if(util_check_exist(drv_src) == 'd') { + is_update = 1; slist_append_str(&sl0, de->d_name); } } @@ -933,6 +936,8 @@ free(drv_src); free(dud_loc); + + return is_update; } @@ -3252,7 +3257,7 @@ int util_mount(char *dev, char *dir, unsigned long flags, slist_t *file_list) { - char *type, *loop_dev, *cmd = NULL, *module, *tmp_dev, *cpio_opts = NULL, *s; + char *type, *loop_dev, *cmd = NULL, *module, *tmp_dev, *cpio_opts = NULL, *s, *buf = NULL; int err = -1; struct stat64 sbuf; @@ -3300,6 +3305,8 @@ return err; } + chmod(dir, 0755); + str_copy(&cpio_opts, "--quiet --sparse -dimu --no-absolute-filenames"); if(file_list) { @@ -3365,8 +3372,12 @@ } if(config.run_as_linuxrc) fprintf(stderr, "mount: using %s\n", loop_dev); + strprintf(&buf, "%s/file_", config.download.base); + // remove downloaded files immediately (so we don't have to cleanup after umount) - if(!strncmp(dev, config.download.base, strlen(config.download.base))) unlink(dev); + if(!strncmp(dev, buf, strlen(buf))) unlink(dev); + + str_copy(&buf, NULL); dev = loop_dev; } @@ -4345,9 +4356,9 @@ { file_t *f0, *f; - if(!util_check_exist("/sbin/fwparam_ibft")) return; + if(!util_check_exist("/sbin/iscsiadm")) return; - system("/sbin/fwparam_ibft -b >/var/log/ibft"); + system("/sbin/iscsiadm -m fw >/var/log/ibft"); f0 = file_read_file("/var/log/ibft", kf_ibft); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/util.h new/linuxrc-3.3.16/util.h --- old/linuxrc-3.3.15/util.h 2008-07-25 17:35:14.000000000 +0200 +++ new/linuxrc-3.3.16/util.h 2008-11-11 17:26:09.000000000 +0100 @@ -35,7 +35,7 @@ extern int util_umount (char *mountpoint); void util_umount_all(void); extern int util_eject_cdrom (char *dev); -void util_chk_driver_update(char *dir, char *loc); +int util_chk_driver_update(char *dir, char *loc); extern void util_do_driver_updates (void); extern int show_driver_updates(void); extern void util_status_info (void); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/linuxrc-3.3.15/VERSION new/linuxrc-3.3.16/VERSION --- old/linuxrc-3.3.15/VERSION 2008-11-11 11:14:37.000000000 +0100 +++ new/linuxrc-3.3.16/VERSION 2008-11-11 17:26:16.000000000 +0100 @@ -1 +1 @@ -3.3.15 +3.3.16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org