Changeset 2635 in MondoRescue for branches/2.2.10/mondo


Ignore:
Timestamp:
May 17, 2010, 5:57:40 AM (14 years ago)
Author:
Bruno Cornec
Message:

svn merge -r 2586:2634 svn+ssh://bruno@svn.mondorescue.org/mondo/svn/mondorescue/branches/2.2.9

  • Avoids error messages from stat in analyze-my-lvm
  • Avoid perl warning by removing non-exitent dirs from @INC in mindi-get-perl-modules r3744@localhost: bruno | 2010-03-16 01:44:33 +0100
    • Fix a bug on Mandriva modules analysis (at least) (Backport from mindi 2.1.0)
  • Try to improve exclusion of binded /proc mount with "none" fs type exclusion Cf: #397
  • Adds gmane mirror on the support page of the web site.
  • More website improvements based on Tom Metro feedbacks
  • Adds Nable ML archive
  • For gmane prefer the threaded view to the blog one.
  • Fix an initialization bug for network protocol in interactive mode (was NULL and not NFS by default)
  • Put an explicit notice of MondoRescue's license: GPLv2 or later (as per Hugo's notice in sources)
  • Adds tee to deplist
  • Fix #412 by supporting grub-install.unsupported for OpenSuSE and solving an issue with the parameter passed to grub for device which should be a device name, not a partition.
  • Fix #413 where list of devices was not re-initialized correctly in a loop (Michael Shapiro)
  • Fix #415 by avoiding integration of unknown devices report from pvscan (Mike Shapiro)
  • Fix #414 by adding a function GetPVsForLV to remove PVs from excluded LVs (Mike Shapiro)
  • Fixes for #414: remove comments from grub conf file if used and improve grub conf file generation
  • Fix a typo (Mike Shapiro)
  • Improved msg for USB device creation
  • Mondoarchive should not try to cerate a cmp binary if it doesn't exist.
  • Fix a bug on ia64 where the boot image generated was removed before use in mondo
  • Avoid to have multiple similar calls to mkisofs by using macros r3946@localhost: bruno | 2010-05-04 19:17:51 +0200
    • Solves an issue with usage of -V option in mkiofs wrongly placed
  • netfs_proto should be initialized in every case, not just in DR (should solve remaining NULL reports)
  • Integrate Michael Shapiro's patch on Xen Kernel support for RHEL 5 (only atm) and fixes #418 (Michael Shapiro)
  • Fox a typo in a Web page
  • Precise that GPL is v2+ (as per Hugo's wish)
  • Improve display of messages (removes extra \n) and replace a stract with "" with " ". trying to debug #421
  • Remove a wrong usage of mr_strcat with exclude_path in the 2.2.9 version (probably cause of #421)
  • Fix strcat call !
Location:
branches/2.2.10/mondo
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/README

    r2087 r2635  
    5555https://lists.sourceforge.net/lists/listinfo/mondo-devel for further
    5656information and the opportunity to subscribe to or unsubscribe from the list.
     57
     58License
     59=======
     60
     61This program is free software; you can redistribute it and/or modify
     62it under the terms of the GNU General Public License as published by
     63the Free Software Foundation; either version 2 of the License, or
     64(at your option) any later version.
     65
     66This license was given to MondoRescue by the original author Hugo Rabson, and is
     67continue its current maintainer Bruno Cornec.
     68
  • branches/2.2.10/mondo/src/common/libmondo-archive.c

    r2623 r2635  
    17111711        if (bkpinfo->nonbootable_backup) {
    17121712            log_msg(1, "Making nonbootable backup");
    1713 // FIXME --- change mkisofs string to MONDO_MKISOFS_NONBOOTABLE and add ' .' at end
    1714             res = eval_call_to_make_ISO("mkisofs -o '_ISO_' -r -p MondoRescue -publisher www.mondorescue.org -A MondoRescue_GPL -V _CD#_ .", destfile, g_current_media_number, message_to_screen);
     1713            res = eval_call_to_make_ISO(MONDO_MKISOFS"-o '_ISO_' -V _CD#_ .", destfile, g_current_media_number, MONDO_LOGFILE, message_to_screen);
    17151714        } else {
    17161715            log_msg(1, "Making bootable backup");
     
    17251724            if (bkpinfo->make_cd_use_lilo) {
    17261725                log_msg(1, "make_cd_use_lilo = TRUE");
    1727 // FIXME --- change mkisofs string to MONDO_MKISOFS_REGULAR_SYSLINUX/LILO depending on bkpinfo->make_cd_usE_lilo
    1728 // and add ' .' at end
    17291726#ifdef __IA64__
    17301727                log_msg(1, "IA64 --> elilo");
    1731                 res = eval_call_to_make_ISO("mkisofs -no-emul-boot -b images/mindi-bootroot." IA64_BOOT_SIZE ".img -c boot.cat -o '_ISO_' -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .", destfile, g_current_media_number, message_to_screen);
     1728                res = eval_call_to_make_ISO(MONDO_MKISOFS_REGULAR_ELILO"-o '_ISO_' -V _CD#_ .", destfile, g_current_media_number, MONDO_LOGFILE, message_to_screen);
    17321729#else
    1733 // FIXME --- change mkisofs string to MONDO_MKISOFS_REGULAR_SYSLINUX/LILO depending on bkpinfo->make_cd_usE_lilo
    1734 // and add ' .' at end
    17351730                log_msg(1, "Non-ia64 --> lilo");
    1736                 res =
    1737                     eval_call_to_make_ISO("mkisofs -b images/mindi-bootroot.2880.img -c boot.cat -o '_ISO_' -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .", destfile, g_current_media_number, message_to_screen);
     1731                    // FIXME: fixed boot size probably wrong. lilo to be removed
     1732                res = eval_call_to_make_ISO(MONDO_MKISOFS"-b images/mindi-bootroot.2880.img -c boot.cat -o '_ISO_' -J -V _CD#_ .", destfile, g_current_media_number, MONDO_LOGFILE, message_to_screen);
    17381733#endif
    17391734            } else {
    17401735                log_msg(1, "make_cd_use_lilo = FALSE");
    17411736                log_msg(1, "Isolinux");
    1742                 res = eval_call_to_make_ISO("mkisofs -no-emul-boot -b isolinux.bin -boot-load-size 4 -boot-info-table -c boot.cat -o '_ISO_' -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_ .", destfile, g_current_media_number, message_to_screen);
     1737                res = eval_call_to_make_ISO(MONDO_MKISOFS_REGULAR_SYSLINUX"-o '_ISO_' -V _CD#_ .", destfile, g_current_media_number, MONDO_LOGFILE, message_to_screen);
    17431738            }
    17441739        }
  • branches/2.2.10/mondo/src/common/libmondo-devices.c

    r2623 r2635  
    120120
    121121    tmp = where_is_root_mounted();
    122     log_msg(0, "root is currently mounted at %s\n", tmp);
     122    log_msg(0, "root is currently mounted at %s", tmp);
    123123
    124124#ifdef __FreeBSD__
     
    18771877    while (DSFptr != NULL) {
    18781878        if (DSFptr->check) {
    1879             log_msg (4, "%s is mounted on %s and is on disk %s\n", DSFptr->device, DSFptr->mount_point, ndsf);
     1879            log_msg (4, "%s is mounted on %s and is on disk %s", DSFptr->device, DSFptr->mount_point, ndsf);
    18801880            strcat(*included_dsf_list, DSFptr->mount_point);
    18811881            strcat(*included_dsf_list, " ");
    18821882        } else {
    1883             log_msg (4, "%s is mounted on %s and is NOT on disk %s\n", DSFptr->device, DSFptr->mount_point, ndsf);
     1883            log_msg (4, "%s is mounted on %s and is NOT on disk %s", DSFptr->device, DSFptr->mount_point, ndsf);
    18841884            strcat(*excluded_dsf_list, DSFptr->mount_point);
    18851885            strcat(*excluded_dsf_list, " ");
     
    19211921        if (mode == 'E') {
    19221922            if (strlen(mounted_on_dsf)) {
    1923                 log_to_screen("Excluding the following file systems on %s:\n", token);
    1924                 log_to_screen("  %s\n", mounted_on_dsf);
     1923                log_to_screen("Excluding the following file systems on %s:", token);
     1924                log_to_screen("==> %s", mounted_on_dsf);
    19251925                log_msg (5, "Adding to bkpinfo->exclude_paths due to -E option: %s", mounted_on_dsf);
    19261926                mr_strcat(bkpinfo->exclude_paths, " %s ", mounted_on_dsf);
     
    19281928            }
    19291929        } else {
    1930             log_to_screen("Archiving only the following file systems on %s:\n", token);
    1931             log_to_screen("  %s\n", mounted_on_dsf);
    1932             strcpy(bkpinfo->include_paths, "/");
     1930            log_to_screen("Archiving only the following file systems on %s:", token);
     1931            log_to_screen("==> %s", mounted_on_dsf);
     1932            mr_free(bkpinfo->include_paths);
     1933            mr_asprintf(bkpinfo->include_paths, "%s", "/");
    19331934            if (strlen(not_mounted_on_dsf)) {
    19341935                log_msg (5, "Adding to bkpinfo->exclude_paths due to -I option: %s", not_mounted_on_dsf);
    1935                 log_to_screen("Not archiving the following file systems:\n");
    1936                 log_to_screen("  %s\n", not_mounted_on_dsf);
    1937                 mr_strcat(bkpinfo->exclude_paths, " %s ", mounted_on_dsf);
     1936                log_to_screen("Not archiving the following file systems:");
     1937                log_to_screen("==> %s", not_mounted_on_dsf);
     1938                mr_strcat(bkpinfo->exclude_paths, " %s ", not_mounted_on_dsf);
    19381939            }
    19391940        }
     
    27892790        /* Never try to eject a NETFS device */
    27902791        bkpinfo->please_dont_eject = TRUE;
     2792        /*  Force NFS to be the protocol by default */
     2793        if (bkpinfo->netfs_proto == NULL) {
     2794            mr_asprintf(bkpinfo->netfs_proto, "nfs");
     2795        }
    27912796
    27922797        /* Initiate bkpinfo netfs_mount path from running environment if not already done */
     
    28512856            mr_free(command);
    28522857
    2853             p = popup_and_get_string("Network protocol", "Which Network protocol should I use?", bkpinfo->netfs_proto);
    2854             if (p == NULL) {
    2855                 log_to_screen("User has chosen not to backup the PC");
    2856                 finish(1);
    2857             }
    2858             mr_free(bkpinfo->netfs_proto);
    2859             bkpinfo->netfs_proto = p;
    2860 
    2861             p = popup_and_get_string("Network share", "Which remote Network share should I mount?", bkpinfo->netfs_mount);
    2862             if (p == NULL) {
    2863                 log_to_screen("User has chosen not to backup the PC");
    2864                 finish(1);
    2865             }
    2866             mr_free(bkpinfo->netfs_mount);
    2867             bkpinfo->netfs_mount = p;
    2868         }
     2858        }
     2859        p = popup_and_get_string("Network protocol", "Which Network protocol should I use?", bkpinfo->netfs_proto);
     2860        if (p == NULL) {
     2861            log_to_screen("User has chosen not to backup the PC");
     2862            finish(1);
     2863        }
     2864        mr_free(bkpinfo->netfs_proto);
     2865        bkpinfo->netfs_proto = p;
     2866
     2867        p = popup_and_get_string("Network share", "Which remote Network share should I mount?", bkpinfo->netfs_mount);
     2868        if (p == NULL) {
     2869            log_to_screen("User has chosen not to backup the PC");
     2870            finish(1);
     2871        }
     2872        mr_free(bkpinfo->netfs_mount);
     2873        bkpinfo->netfs_mount = p;
     2874
    28692875        /* Initiate bkpinfo isodir path from running environment if mount already done */
    28702876        mr_free(bkpinfo->isodir);
  • branches/2.2.10/mondo/src/common/libmondo-filelist.c

    r2623 r2635  
    13581358#if linux
    13591359        // 2.6 has /sys as a proc-type thing -- must be excluded
    1360         mr_asprintf(strtmp, "find '%s' -fstype mvfs -prune -o -fstype devpts -prune -o -fstype tmpfs -prune -o -fstype proc -prune -o -fstype sysfs -prune -o -fstype rpc_pipefs -prune -o %s -type d -print > %s 2> /dev/null", dir, find_excludes, g_skeleton_filelist);
     1360        mr_asprintf(strtmp, "find '%s' -fstype mvfs -prune -o -fstype devpts -prune -o -fstype tmpfs -prune -o -fstype proc -prune -o -fstype sysfs -prune -o -fstype rpc_pipefs -prune -o -fstype none -prune -o %s -type d -print > %s 2> /dev/null", dir, find_excludes, g_skeleton_filelist);
    13611361#else
    13621362        // On BSD, for example, /sys is the kernel sources -- don't exclude
  • branches/2.2.10/mondo/src/common/libmondo-tools.c

    r2607 r2635  
    514514
    515515        if (bkpinfo->nonbootable_backup) {
    516             mr_asprintf(mondo_mkisofs_sz, MONDO_MKISOFS_NONBOOT);
     516            mr_asprintf(mondo_mkisofs_sz, MONDO_MKISOFS);
    517517        } else if
    518518#ifdef __FreeBSD__
     
    523523#ifdef __IA64__
    524524    {
    525         mr_asprintf(mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_ELILO);
     525        mr_asprintf(mondo_mkisofs_sz, "%s -V _CD#_", MONDO_MKISOFS_REGULAR_ELILO);
    526526    }
    527527#else
    528528    {
    529         mr_asprintf(mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_LILO);
     529        mr_asprintf(mondo_mkisofs_sz, "%s -V _CD#_", MONDO_MKISOFS_REGULAR_LILO);
    530530    }
    531531#endif
    532         else {
    533             mr_asprintf(mondo_mkisofs_sz, MONDO_MKISOFS_REGULAR_SYSLINUX);
     532        else
     533        {
     534            mr_asprintf(mondo_mkisofs_sz, "%s -V _CD#_", MONDO_MKISOFS_REGULAR_SYSLINUX);
    534535        }
    535536
     
    950951    }
    951952
    952     tmp = find_home_of_exe("cmp");
    953     if (!tmp) {
    954         mr_free(tmp);
    955         tmp = find_home_of_exe("true");
    956         if (!tmp) {
    957             retval += whine_if_not_found("cmp");
    958         } else {
    959             log_to_screen("Your system lacks the 'cmp' binary. I'll create a dummy cmp for you.");
    960             if (run_program_and_log_output("cp -f `which true` /usr/bin/cmp", 0)) {
    961                 mr_free(tmp);
    962                 fatal_error("Failed to create dummy 'cmp' file.");
    963             }
    964         }
    965     }
    966     mr_free(tmp);
     953    if (!find_home_of_exe("cmp")) {
     954        whine_if_not_found("cmp");
     955    }
    967956
    968957    run_program_and_log_output("umount `mount | grep cdr | cut -d' ' -f3 | tr '\n' ' '`", 5);
  • branches/2.2.10/mondo/src/include/my-stuff.h

    r2508 r2635  
    174174
    175175
    176 /**
    177  * @c mkisofs command to generate a nonbootable CD, except for -o option and the directory to image.
    178  */
    179 #define MONDO_MKISOFS_NONBOOT   "mkisofs -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_"
     176#define MONDO_MKISOFS "mkisofs -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version "
    180177
    181178/**
    182179 * @c mkisofs command to generate a bootable CD using isolinux, except for -o option and the directory to image.
    183180 */
    184 #define MONDO_MKISOFS_REGULAR_SYSLINUX  "mkisofs -J -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4 -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL_Version -V _CD#_"
     181#define MONDO_MKISOFS_REGULAR_SYSLINUX  MONDO_MKISOFS"-J -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4 "
    185182
    186183/**
    187184 * @c mkisofs command to generate a bootable CD using LILO, except for -o option and the directory to image.
    188185 */
    189 #define MONDO_MKISOFS_REGULAR_LILO      "mkisofs -boot-info-table -no-emul-boot -b isolinux.bin -c boot.cat -boot-load-size 4 -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_"
     186#define MONDO_MKISOFS_REGULAR_LILO      MONDO_MKISOFS_REGULAR_SYSLINUX
    190187
    191188/**
    192189 * @c mkisofs command to generate a bootable CD using ELILO, except for -o option and the directory to image.
    193190 */
    194 // Should replace 8192 by IA64_BOOT_SIZE
    195 #define MONDO_MKISOFS_REGULAR_ELILO      "mkisofs -no-emul-boot -b images/mindi-bootroot.8192.img -c boot.cat -J -r -p MondoRescue -publisher www.mondorescue.org -A Mondo_Rescue_GPL -V _CD#_"
     191#define MONDO_MKISOFS_REGULAR_ELILO      MONDO_MKISOFS"-J -no-emul-boot -b images/mindi-bootroot."IA64_BOOT_SIZE".img -c boot.cat "
    196192
    197193/**
  • branches/2.2.10/mondo/src/restore-scripts/mondo/grub-MR

    r2508 r2635  
    6969
    7070    echo -en "\
    71     device (hd$driveno) $mbrpart\n\
     71    device (hd$driveno) $mbrdev\n\
    7272    $extraline\n\
    7373    root (hd$driveno,$partno)\n\
     
    7777    log_file=/tmp/grub.output
    7878    if [ "$MNT_RESTORING" ] ; then
    79         chroot /mnt/RESTORING grub --batch < /tmp/feed.txt > $log_file
     79        chroot $MNT_RESTORING grub --batch < /tmp/feed.txt > $log_file
    8080    else
    8181        grub --batch < /tmp/feed.txt > $log_file
     
    104104
    105105echo "Now I'll use grub-install" >> $LOGFILE
    106 chroot /mnt/RESTORING grub-install $1 >> $LOGFILE
    107 res=$?
     106if [ "$MNT_RESTORING" ] ; then
     107    chroot $MNT_RESTORING grub-install $1 2>&1 | tee -a  $LOGFILE
     108    res=$?
     109else
     110    grub-install $1 2>&1 | tee -a $LOGFILE
     111    res=$?
     112fi
    108113echo "grub-install returned $res" >> $LOGFILE
    109114[ "$res" -eq "0" ] && exit 0
    110115
     116# For some OpenSuSE
     117echo "Now I'll use grub-install.unsupported" >> $LOGFILE
     118if [ "$MNT_RESTORING" ] ; then
     119    chroot $MNT_RESTORING grub-install.unsupported $1 2>&1 | tee -a $LOGFILE
     120    res=$?
     121else
     122    grub-install.unsupported $1 2>&1 | tee -a $LOGFILE
     123    res=$?
     124fi
     125echo "grub-install.unsupported returned $res" >> $LOGFILE
     126[ "$res" -eq "0" ] && exit 0
     127
    111128echo "Trying a hack" >> $LOGFILE
    112 FindBootPart $1 $2
    113 mbrpart=$1
     129FindBootPart $1 $2 2>&1 | tee -a $LOGFILE
     130mbrdev=`echo $1 | sed 's/\([^0-9]*\)[0-9]*$/\1/'`
    114131if echo $bootpart | grep "/cciss/" > /dev/null ; then
    115132    partno=`basename $bootpart | cut -d'p' -f2`
     133    mbrdev=`echo $mbrdev | cut -d'p' -f1`
    116134elif echo $bootpart | grep "/mapper/mpath" > /dev/null ; then
    117135    partno=`basename $bootpart | cut -d'p' -f3`
     136    mbrdev=`echo $mbrdev | cut -d'p' -f1`
    118137else
    119     partno=`basename $bootpart | sed s/[a-z]*//`
     138    partno=`basename $bootpart | sed 's/[a-z]*//'`
    120139fi
    121140if [ ! "$partno" ] ; then
     
    125144fi
    126145if echo $bootpart | grep "/md" > /dev/null ; then
     146    # FIXME: Why this if not used later
    127147    base=`basename $bootpart`
    128148    line=`grep $base /proc/mdstat | head -n1`
    129     echo "mbrpart was $mbrpart"
    130     mbrpart=`parted2fdisk -l | grep /dev/ | head -n1 | tr ':' ' ' | cut -d' ' -f2`
    131     echo "mbrpart is $mbrpart"
     149    echo "mbrdev was $mbrdev" 2>&1 | tee -a $LOGFILE
     150    mbrdev=`parted2fdisk -l | grep /dev/ | head -n1 | tr ':' ' ' | cut -d' ' -f2`
     151    echo "mbrdev is $mbrdev" 2>&1 | tee -a $LOGFILE
    132152    partno="0"; # cheating - FIXME   
    133153fi
    134 echo ".............Cool."
     154echo ".............Cool." 2>&1 | tee -a $LOGFILE
    135155
    136156grub=`FindPathOfRESTExe grub`
     
    142162for driveno in 0 1 2 ; do
    143163    try_grub_hack $driveno $partno "" >> $LOGFILE 2>> $LOGFILE && break
    144     try_grub_Hack $driveno $partno "find $BOOTPATHNAME/stage1" >> $LOGFILE 2>> $LOGFILE && break
     164    try_grub_hack $driveno $partno "find $BOOTPATHNAME/stage1" >> $LOGFILE 2>> $LOGFILE && break
    145165done
    146166res=$?
     
    152172echo "Now I'll use grub-install.patched" >> $LOGFILE
    153173cp -f `which grub-install.patched` /mnt/RESTORING/sbin
    154 chroot /mnt/RESTORING grub-install.patched $1 >> $LOGFILE
     174chroot /mnt/RESTORING grub-install.patched $1 2>&1 | tee -a $LOGFILE
    155175res=$?
    156176echo "grub-install.patched returned $res" >> $LOGFILE
     
    160180
    161181if [ -f "/mnt/RESTORING/boot/grub/menu.lst" ]; then
    162     GRUBCFGFILE=/boot/grub/menu.lst
     182    grep -vE '^#' /boot/grub/menu.lst > /mnt/RESTORING/tmp/grub.conf
    163183elif [ -f "/mnt/RESTORING/boot/grub/grub.cfg" ]; then
    164     GRUBCFGFILE=/boot/grub/grub.cfg
     184    grep -vE '^#' /boot/grub/grub.cfg > /mnt/RESTORING/tmp/grub.conf
    165185else
    166     echo "Unable to find Grub conf file"
     186    echo "Unable to find Grub conf file" | tee -a $LOGFILE
    167187    exit -1
    168188fi
    169 echo "Trying to use the existing $GRUBCFGFILE file in batch mode" >> $LOGFILE
    170 chroot /mnt/RESTORING grub --batch < /mnt/RESTORING$GRUBCFGFILE
     189echo "Trying to use the existing grub conf file in batch mode" >> $LOGFILE
     190cat /mnt/RESTORING/tmp/grub.conf >> $LOGFILE
     191chroot /mnt/RESTORING grub --batch < /mnt/RESTORING/tmp/grub.conf
    171192res=$?
    172 echo "$GRUBCFGFILE approach returned $res" >> $LOGFILE
     193echo "grub conf file approach returned $res" >> $LOGFILE
     194rm -f /mnt/RESTORING/tmp/grub.conf
    173195[ "$res" -eq "0" ] && exit 0
    174196
Note: See TracChangeset for help on using the changeset viewer.