Changeset 2816 in MondoRescue for branches/2.2.10/mondo/src/common


Ignore:
Timestamp:
Apr 29, 2011, 3:42:55 PM (13 years ago)
Author:
Bruno Cornec
Message:

svn merge (in svk) -r 2714:2773 2.2.9 in 2.2.10

r4207@localhost (orig r2716): bruno | 2011-02-03 01:29:51 +0100

  • Increase boot size again to support better fedora 13/14


r4208@localhost (orig r2717): bruno | 2011-02-12 15:43:36 +0100

  • Excluding vmhgfs FS for VMWare guests mounting areas of the host.


r4209@localhost (orig r2718): bruno | 2011-02-18 00:30:35 +0100
-Extend EXTRA-SIZE for Debian 6.0 (at least)


r4210@localhost (orig r2719): bruno | 2011-02-18 00:45:40 +0100

  • Fix #462 (removes temp dir if analyze-my-lvm launched in stand alonae mode)


r4213@localhost (orig r2722): bruno | 2011-02-25 18:44:47 +0100

  • Fixes for RHEL6 support at least around dm extensions, bnx2x and cp210x dependencies


r4214@localhost (orig r2723): bruno | 2011-02-25 19:00:17 +0100

  • Adds a restore quiet option


r4215@localhost (orig r2724): bruno | 2011-02-25 19:43:50 +0100

  • Adds support for dm-log used on RHEL6 as well.


r4216@localhost (orig r2725): bruno | 2011-02-25 21:26:54 +0100

  • Update mindi-busybox to 1.18.3 to avoid problems with the tar command which is now failing on recent versions with busybox 1.7.3


r4217@localhost (orig r2726): bruno | 2011-02-26 11:38:29 +0100

  • Fix error introduced in previous patch in the if/then/else case without member in the then


r4218@localhost (orig r2727): bruno | 2011-02-26 12:05:33 +0100

  • With mindi-busybox 1.18.3 the syntax of openvt changed. This patch keeps a compatible init script for both previous and current version.


r4219@localhost (orig r2728): bruno | 2011-02-26 15:27:40 +0100

  • Latest lvdisplay print MiB instead of MB. Impact on analyze-my-lvm fixed.


r4220@localhost (orig r2729): bruno | 2011-02-26 16:39:32 +0100

  • Adds feature rpc to mindi-busybox in case of need



r4221@localhost (orig r2730): bruno | 2011-02-26 16:42:43 +0100

  • Adds the rebot command to the list of mandatory ones at restore time


r4222@localhost (orig r2731): bruno | 2011-02-26 17:37:13 +0100

  • Adds functions and /bin/loadkeys (new location) to minimal set of commands to have
  • provides a makemessage option to mindi and this function now works with pbdistrocheck
  • Do not create an error when a phys device has 0 size and is a /dev/dm-* device


r4223@localhost (orig r2732): bruno | 2011-02-26 19:07:43 +0100

  • Syntax fix


r4224@localhost (orig r2733): bruno | 2011-02-26 19:51:16 +0100

  • Fix test on dm which was made in wrong sense
  • Adds a driver to allow raid456 to work


r4225@localhost (orig r2734): bruno | 2011-02-26 20:55:00 +0100

  • Fix 2 redirections issues


r4317@localhost (orig r2737): bruno | 2011-03-13 13:12:57 +0100

  • Add support for libahci driver, mandatory for debian 6.


r4318@localhost (orig r2738): bruno | 2011-03-13 14:46:37 +0100

  • Update from Lester Wade (lester.wade_at_hp.com) incorporating latest ML feedbacks


r4319@localhost (orig r2739): bruno | 2011-03-13 17:49:15 +0100

  • Updated Lab for TES 2011


r4323@localhost (orig r2743): bruno | 2011-03-20 01:37:40 +0100

  • Fix a seg fault bug when using the GUI in case exclude_paths was NULL (mc_at_carreira.com.pt)


r4324@localhost (orig r2744): bruno | 2011-03-20 19:38:14 +0100

  • Adds Arch Linux Keyboard support (mc_at_carreira.com.pt)


r4325@localhost (orig r2745): bruno | 2011-03-20 19:48:01 +0100

  • Avoids coredump again when exclude_path is NULL with mr_make_devlist_from_pathlist (feedback from mc_at_carreira.com.pt)


r4326@localhost (orig r2746): bruno | 2011-03-20 19:39:47 +0100

  • Remove blkid from busybox to solve #435


r4327@localhost (orig r2747): bruno | 2011-03-20 19:43:22 +0100

  • Adds reboot to fix #435


r4328@localhost (orig r2748): bruno | 2011-03-22 00:58:07 +0100

  • Fix Arch Linux kbd printed in log file now instead of screen.


r4329@localhost (orig r2749): bruno | 2011-03-22 00:59:58 +0100

  • Again increase size for boot env to support better fedora 14 and other latest distros


r4356@localhost (orig r2750): bruno | 2011-03-25 19:30:01 +0100

  • Improve Arch Linux support for mindi tools (mc_at_carreira.com.pt)


r4357@localhost (orig r2751): bruno | 2011-03-25 19:48:33 +0100

  • Accept to work with either wodim or cdreord and genisoimage or mkisofs


r4358@localhost (orig r2752): bruno | 2011-03-25 20:20:49 +0100

  • Documents option -v of mondoarchive


r4359@localhost (orig r2753): bruno | 2011-03-29 01:34:30 +0200

  • Use modprobe instead of insmod to load loop, cd, ... modules (in order to force them at rstore time). Also drop very old aes support for mdk 9.2


r4360@localhost (orig r2754): bruno | 2011-03-29 01:38:49 +0200

  • Arch Linux support for boot message of mindi (mc_at_carreira.com.pt) using /etc/arch-release and pacman.log


r4383@localhost (orig r2755): bruno | 2011-04-07 09:49:38 +0200

  • Adds a UdevadmTrigger function at restore time to deal with the various syntax formats changes ddepending on version (mc_at_carreira.com.pt)


r4384@localhost (orig r2756): bruno | 2011-04-07 10:05:24 +0200

  • Increase again sizes for Debian 6 support (victor.gattegno_at_hp.com)


r4385@localhost (orig r2757): bruno | 2011-04-07 10:13:00 +0200
Conform to the report of size really !


r4386@localhost (orig r2758): bruno | 2011-04-07 11:31:12 +0200

  • Improved message for Arch Linux for rebuilding the initrd (mc_at_carreira.com.pt)


r4390@localhost (orig r2759): bruno | 2011-04-12 01:15:00 +0200

  • Typo in Web site


r4392@localhost (orig r2761): bruno | 2011-04-14 00:23:38 +0200

  • Adds download references for latest versions.


r4394@localhost (orig r2763): bruno | 2011-04-16 00:35:08 +0200

  • Adds support for MT back mandatory for OBDR.


r4395@localhost (orig r2764): bruno | 2011-04-20 12:18:46 +0200
Function resize_drive_proportionately_to_suit_new_drives

  • Integrate some mr_asprintf
  • Use systematically long long data types in all computation to match the struct mountlist_reference size member and have correct precision
  • Apply JB general_at_itpsg.com patch to make the partition resizing work properly according to the drive size (keeping all calculation in KB and converting only for display)


r4396@localhost (orig r2765): bruno | 2011-04-21 11:20:58 +0200

  • Remove very old code creating confusing symlinks pico to nano in init (patch from MC). Fix #477


r4397@localhost (orig r2766): bruno | 2011-04-21 11:57:44 +0200

  • text's are properly centered in open_and_list_dir (Patch from Chucky). Fix #404.


r4398@localhost (orig r2767): bruno | 2011-04-21 12:49:40 +0200

  • Attempt to fix #432 with a better message at a start.


r4399@localhost (orig r2768): bruno | 2011-04-21 13:00:37 +0200

Log content of mondo-restore.cfg


r4400@localhost (orig r2769): bruno | 2011-04-21 13:48:52 +0200

  • Introduce a new bkpinfo member (subdir) to support storing the subdir under which ISO images are stored on an external HDD. Should fix mostly #433.


r4401@localhost (orig r2770): bruno | 2011-04-21 14:14:52 +0200

  • Fix compilation issues due to level of visibility of functions


r4402@localhost (orig r2771): bruno | 2011-04-22 01:49:03 +0200

  • Adds GUI support for compresion type. Fix half of #468.


r4403@localhost (orig r2772): bruno | 2011-04-22 02:00:07 +0200

  • Adds support of ext attr through the GUI. Fix second part of #468


r4404@localhost (orig r2773): bruno | 2011-04-22 02:22:24 +0200

  • Propose more variables in the mindi.conf example
  • More explicit messages when size unsufficient in mindi for kernel + initrd as per #471
  • Better loging of labeling in mondo when in nuke mode


Location:
branches/2.2.10/mondo/src/common
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.10/mondo/src/common/libmondo-cli.c

    r2715 r2816  
    4545
    4646/* Do we use extended attributes and acl ?
    47  * By default no, use --acl & --attr options to force their usage */
     47 * By default no, use -z option to force their usage */
    4848extern char *g_getfacl;
    4949extern char *g_getfattr;
  • branches/2.2.10/mondo/src/common/libmondo-devices.c

    r2715 r2816  
    3737/*@unused@*/
    3838//static char cvsid[] = "$Id$";
     39//
     40
     41extern char *which_compression_type();
     42/* Do we use extended attributes and acl ?  */
     43extern char *g_getfacl;
     44extern char *g_getfattr;
    3945
    4046extern int g_current_media_number;
     
    12831289{
    12841290char *mount_cmd = NULL;
     1291char *mountdir = NULL;
    12851292int i, res;
    12861293#ifdef __FreeBSD__
     
    13261333
    13271334    } else if (bkpinfo->backup_media_type == iso) {
     1335        if (bkpinfo->subdir) {
     1336            mr_asprintf(mountdir, "%s/%s", bkpinfo->isodir, bkpinfo->subdir);
     1337        } else {
     1338            mr_asprintf(mountdir, "%s", bkpinfo->isodir);
     1339        }
    13281340#ifdef __FreeBSD__
    1329         mr_sprintf(mount_cmd, "%s/%s-%d.iso", bkpinfo->isodir,
    1330             bkpinfo->prefix, g_current_media_number);
     1341        mr_asprintf(mount_cmd, "%s/%s-%d.iso", mountdir, bkpinfo->prefix, g_current_media_number);
    13311342        mddev = make_vn(mount_cmd);
    13321343        mr_free(mount_cmd);
     
    13341345        mr_asprintf(mount_cmd, "mount_cd9660 -r %s %s", mddev, MNT_CDROM);
    13351346#else
    1336         mr_asprintf(mount_cmd, "mount %s/%s-%d.iso -t iso9660 -o loop,ro %s", bkpinfo->isodir, bkpinfo->prefix, g_current_media_number, MNT_CDROM);
    1337 #endif
     1347        mr_asprintf(mount_cmd, "mount %s/%s-%d.iso -t iso9660 -o loop,ro %s", mountdir, bkpinfo->prefix, g_current_media_number, MNT_CDROM);
     1348#endif
     1349        mr_free(mountdir);
    13381350    } else if (bkpinfo->backup_media_type == usb) {
    13391351        mr_asprintf(mount_cmd, "mount -t vfat %s %s", bkpinfo->media_device, MNT_CDROM);
     
    19841996char *tmp1 = NULL;
    19851997
     1998if (pathlist == NULL) {
     1999    return;
     2000}
    19862001while ((token = mr_strtok(pathlist, token_chars, &lastpos)) != NULL) {
    19872002    switch (get_dsf_mount_list(token, &mounted_on_dsf, &not_mounted_on_dsf)) {
     
    26142629    char *command = NULL;
    26152630    char *comment = NULL;
     2631    char *compression_type = NULL;
    26162632    int i;
    26172633    FILE *fin;
     
    26572673                }
    26582674            }
     2675            if ((compression_type = which_compression_type()) == NULL) {
     2676                log_to_screen("User has chosen not to backup the PC");
     2677                finish(1);
     2678            }
     2679
    26592680            if ((bkpinfo->compression_level = which_compression_level()) == -1) {
    26602681                log_to_screen("User has chosen not to backup the PC");
     
    28402861        }
    28412862        if (archiving_to_media) {
    2842             if ((bkpinfo->compression_level =
    2843                  which_compression_level()) == -1) {
     2863            if ((compression_type = which_compression_type()) == NULL) {
     2864                log_to_screen("User has chosen not to backup the PC");
     2865                finish(1);
     2866            }
     2867            if ((bkpinfo->compression_level = which_compression_level()) == -1) {
    28442868                log_to_screen("User has chosen not to backup the PC");
    28452869                finish(1);
     
    28762900            bkpinfo->netfs_mount = p;
    28772901            if (!bkpinfo->restore_data) {
    2878                 if ((bkpinfo->compression_level =
    2879                      which_compression_level()) == -1) {
     2902                if ((compression_type = which_compression_type()) == NULL) {
     2903                    log_to_screen("User has chosen not to backup the PC");
     2904                    finish(1);
     2905                }
     2906
     2907                if ((bkpinfo->compression_level = which_compression_level()) == -1) {
    28802908                    log_to_screen("User has chosen not to backup the PC");
    28812909                    finish(1);
     
    30043032
    30053033            if (archiving_to_media) {
    3006                 if ((bkpinfo->compression_level =
    3007                      which_compression_level()) == -1) {
     3034                if ((compression_type = which_compression_type()) == NULL) {
     3035                    log_to_screen("User has chosen not to backup the PC");
     3036                    finish(1);
     3037                }
     3038                if ((bkpinfo->compression_level = which_compression_level()) == -1) {
    30083039                    log_to_screen("User has chosen not to backup the PC");
    30093040                    finish(1);
     
    31193150
    31203151
    3121         p = popup_and_get_string("Exclude paths", "Please enter paths which you do NOT want to backup. Separate them with pipes. NB: /tmp and /proc are always excluded. :-) Just hit 'Enter' if you want to do a full system backup.", bkpinfo->exclude_paths);
     3152        p = popup_and_get_string("Exclude paths", "Please enter paths which you do NOT want to backup. Separate them with '|'. NB: /tmp and /proc are always excluded. :-) Just hit 'Enter' if you want to do a full system backup.", bkpinfo->exclude_paths);
    31223153        if (p == NULL) {
    31233154            log_to_screen("User has chosen not to backup the PC");
     
    31453176        bkpinfo->scratchdir = p;
    31463177
     3178        if (ask_me_yes_or_no("Do you want to backup extended attributes?")) {
     3179            if (find_home_of_exe("getfattr")) {
     3180                mr_free(g_getfattr);
     3181                mr_asprintf(g_getfattr,"getfattr");
     3182            }
     3183            if (find_home_of_exe("getfacl")) {
     3184                mr_free(g_getfacl);
     3185                mr_asprintf(g_getfacl,"getfacl");
     3186            }
     3187        }
    31473188// Interactive mode:
    31483189#ifdef __IA64__
     
    31523193#endif
    31533194        bkpinfo->backup_data = TRUE;
     3195
     3196        mr_free(bkpinfo->zip_exe);
     3197        mr_free(bkpinfo->zip_suffix);
     3198        if (strcmp(compression_type,"lzo") == 0) {
     3199            mr_asprintf(bkpinfo->zip_exe, "lzop");
     3200            mr_asprintf(bkpinfo->zip_suffix, "lzo");
     3201        } else if (strcmp(compression_type,"gzip") == 0) {
     3202            mr_asprintf(bkpinfo->zip_exe, "gzip");
     3203            mr_asprintf(bkpinfo->zip_suffix, "gz");
     3204        } else if (strcmp(compression_type,"lzma") == 0) {
     3205            mr_asprintf(bkpinfo->zip_exe, "xy");
     3206            mr_asprintf(bkpinfo->zip_suffix, "xy");
     3207        } else if (strcmp(compression_type,"bzip2") == 0) {
     3208            mr_asprintf(bkpinfo->zip_exe, "bzip2");
     3209            mr_asprintf(bkpinfo->zip_suffix, "bz2");
     3210        } else {
     3211            bkpinfo->zip_exe = NULL;
     3212            bkpinfo->zip_suffix = NULL;
     3213        }
    31543214        bkpinfo->verify_data =
    31553215            ask_me_yes_or_no
     
    31643224        bkpinfo->restore_data = TRUE;   // probably...
    31653225    }
     3226    mr_free(compression_type);
    31663227
    31673228    if (bkpinfo->backup_media_type == iso
     
    32293290
    32303291
    3231 
    3232 
    32333292/* @} - end of deviceGroup */
  • branches/2.2.10/mondo/src/common/libmondo-filelist.c

    r2715 r2816  
    14051405                last_time = this_time;
    14061406                if (!g_text_mode) {
    1407                     mr_asprintf(tmp, "Reading %-68s", dir1);
     1407                    int cols, rows;
     1408                    newtGetScreenSize(&cols, &rows);
     1409                    mr_asprintf(tmp, "Reading %-*s", cols, dir1);
    14081410                    newtDrawRootText(0, g_noof_rows - 3, tmp);
    14091411                    mr_free(tmp);
  • branches/2.2.10/mondo/src/common/libmondo-mountlist.c

    r2696 r2816  
    410410
    411411    if (physical_drive_size < 0) {
    412         mr_asprintf(tmp, " %s does not exist.", drive);
    413         log_it(tmp);
    414         mr_strcat(flaws_str, "%s", tmp);
    415         res++;
    416         mr_free(tmp);
    417         return(flaws_str);
     412        if (strstr(drive,"/dev/dm-") == NULL) {
     413            mr_asprintf(tmp, " %s does not exist.", drive);
     414            log_it(tmp);
     415            mr_strcat(flaws_str, "%s", tmp);
     416            res++;
     417            mr_free(tmp);
     418            return(flaws_str);
     419        } else {
     420            log_it(" %s (dm) will be setup later on", drive);
     421        }
    418422    } else {
    419423        log_it("%s is %ld MB", drive, physical_drive_size);
    420         mr_free(tmp);
    421424    }
    422425
  • branches/2.2.10/mondo/src/common/libmondo-tools.c

    r2704 r2816  
    757757    mr_free(bkpinfo->netfs_proto);
    758758    mr_free(bkpinfo->postnuke_tarball);
     759    mr_free(bkpinfo->subdir);
    759760
    760761    /* Then free the structure */
     
    821822    bkpinfo->netfs_proto = NULL;
    822823    bkpinfo->postnuke_tarball = NULL;
     824    bkpinfo->subdir = NULL;
    823825    bkpinfo->wipe_media_first = FALSE;
    824826    bkpinfo->differential = 0;
     
    938940#endif
    939941    retval += whine_if_not_found(MKE2FS_OR_NEWFS);
    940     retval += whine_if_not_found("mkisofs");
    941     if (system("which dvdrecord > /dev/null 2> /dev/null")) {
     942    if (system("which genisoimage > /dev/null 2> /dev/null")) {
     943        retval += whine_if_not_found("mkisofs");
     944    }
     945    if (system("which wodim > /dev/null 2> /dev/null")) {
    942946        retval += whine_if_not_found("cdrecord");
    943947    }
  • branches/2.2.10/mondo/src/common/mondostructures.h

    r2508 r2816  
    579579   */
    580580    char *netfs_user;
     581
     582  /**
     583   * The potential subdirectory under which are located ISO images on HDD (restore mode only)
     584   */
     585    char *subdir;
    581586
    582587  /**
  • branches/2.2.10/mondo/src/common/newt-specific.c

    r2703 r2816  
    399399        /* Free all allocated strings in bkpinfo */
    400400        mr_free_bkpinfo();
     401
    401402        free_libmondo_global_strings();
    402403        free_newt_stuff();
     
    12091210
    12101211/**
     1212 * Ask the user which compression type they would like to use.
     1213 * The choices are "bzip2", "gzip", "lzo". NULL for exit
     1214 */
     1215    char *which_compression_type() {
     1216
     1217        /*@ char ************************************************************ */
     1218        char *output = NULL;
     1219
     1220
     1221        /*@ newt ************************************************************ */
     1222
     1223        newtComponent b1;
     1224        newtComponent b2;
     1225        newtComponent b3;
     1226        //newtComponent b4;
     1227        newtComponent b5;
     1228        newtComponent b_res;
     1229        newtComponent myForm;
     1230
     1231        newtDrawRootText(18, 0, WELCOME_STRING);
     1232        newtPushHelpLine
     1233            ("   Please specify the type of compression that you want.");
     1234        newtCenteredWindow(34, 13, "Type of compression?");
     1235        b1 = newtButton(4, 1, "bzip2");
     1236        b2 = newtButton(18, 1, "gzip");
     1237        b3 = newtButton(4, 5, "lzo");
     1238        //b4 = newtButton(18, 5, "lzma");
     1239        b5 = newtButton(4, 9, "         Exit        ");
     1240        myForm = newtForm(NULL, NULL, 0);
     1241        newtFormAddComponents(myForm, b1, b3, b2, b5, NULL);
     1242        b_res = newtRunForm(myForm);
     1243        newtFormDestroy(myForm);
     1244        newtPopWindow();
     1245        if (b_res == b1) {
     1246            mr_asprintf(output, "%s", "bzip2");
     1247        } else if (b_res == b2) {
     1248            mr_asprintf(output, "%s", "gzip");
     1249        } else if (b_res == b3) {
     1250            mr_asprintf(output, "%s", "lzo");
     1251        } else if (b_res == b4) {
     1252            mr_asprintf(output, "%s", "lzma");
     1253        }
     1254        newtPopHelpLine();
     1255        return(output);
     1256    }
     1257
     1258
     1259/**
    12111260 * Ask the user how much compression they would like to use.
    12121261 * The choices are "None" (0), "Minimum" (1), "Average" (4), and "Maximum" (9).
Note: See TracChangeset for help on using the changeset viewer.