Changeset 1236 for branches/2.2.2/mondo


Ignore:
Timestamp:
Mar 12, 2007, 12:23:16 AM (12 years ago)
Author:
bruno
Message:

Port from stable important patches for 2.2.2:
mindi-busybox:

  • Improve Gentoo packaging

mindi:

  • Better messages for analyze-my-lvm
  • Add support for newer Qlogic drivers (qla2300 & 2400), mpt, dm and ohci
  • Fix a bug in mindi for the FAILSAFE support
  • PATH fixed for init in restore (/usr/games added for petris)
  • Fiw a bug where restore failing because no archive files are found when -G is used
  • /media is now completely excluded as per StandardsCompliance

mondo:

  • Handle no compression + verify correctly
  • various HOWTO fixes
  • Fix temporarily a bug when a biggiefile > 32MB was compressed below the size

of a slice (16MB)

  • Better module loading in insmod_crucial_modules
  • Improve Gentoo packaging
  • Small typo fix for mondorestore man page
  • Small memory management improvements
  • Store NFS config only once
  • Fix a flaw in libmondo-mountlist.c (there since rev [1] !!)
  • Increased MAX_STR_LEN to 384 to make it divisible without remainder by eight

for 64 bits platforms

  • Fix a bug where no bzip2 format file would be found when supporting gzip
  • CentOS fixes
Location:
branches/2.2.2/mondo
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2.2/mondo/ChangeLog

    r1016 r1236  
    22
    33MONDO CHANGES
     4
     52.2.2 (2007-03-08)
     6- Handle no compression + verify correctly (Scott Cummings)
     7- various HOWTO fixes (Mike Kinney)
     8- Fix temporarily a bug when a biggiefile > 32MB was compressed below the size
     9of a slice (16MB) (Michel Loiseleur/Bruno Cornec)
     10- Better module loading in insmod_crucial_modules (Andree Leidenfrost)
     11- Improve Gentoo packaging (Linos)
     12- Small typo fix for mondorestore man page (petes-bugs)
     13- Small memory management improvements (Michel Loiseleur/Bruno Cornec)
     14- Store NFS config only once (Bruno Cornec)
     15- Fix a flaw in libmondo-mountlist.c (there since rev [1] !!) (Bruno Cornec)
     16- Increased MAX_STR_LEN to 384 to make it divisible without remainder by eight
     17for 64 bits platforms (Andree Leidenfrost)
     18- Fix a bug where no bzip2 format file would be found when supporting gzip (Andy Wright)
     19- CentOS fixes (Andy Wright)
    420
    5212.2.1 (2006-12-23)
  • branches/2.2.2/mondo/VERSION

    r1018 r1236  
    1 2.2.1
     12.2.2
  • branches/2.2.2/mondo/distributions/gentoo/mondo.ebuild

    r781 r1236  
    2424    >=app-arch/bzip2-0.9
    2525    app-cdr/cdrtools
    26     >=sys-apps/mindi-1.0.7
     26    >=sys-apps/mindi-1.2.1
    2727    >=dev-libs/newt-0.50
    2828    >=sys-libs/slang-1.4.1
  • branches/2.2.2/mondo/src/common/libmondo-archive.c

    r998 r1236  
    25882588    assert(bkpinfo != NULL);
    25892589    /* slice big files */
    2590     malloc_string(blah);
    25912590    malloc_string(biggielist);
    25922591    malloc_string(xattr_fname);
    25932592    malloc_string(acl_fname);
    2594     command = malloc(1200);
    25952593    mvaddstr_and_log_it(g_currentY, 0,
    25962594                        "Archiving large files to media           ");
     
    26032601    }
    26042602
    2605     sprintf(command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir,
     2603    asprintf(&command, "cp %s/biggielist.txt %s", bkpinfo->tmpdir,
    26062604            biggielist);
    26072605    paranoid_system(command);
    2608     sprintf(blah, "biggielist = %s", biggielist);
     2606    paranoid_free(command);
     2607
     2608    asprintf(&blah, "biggielist = %s", biggielist);
    26092609    log_msg(2, blah);
     2610    paranoid_free(blah);
    26102611
    26112612    if (!does_file_exist(biggielist)) {
     
    26152616    if (g_getfattr) {
    26162617        get_fattr_list(biggielist, xattr_fname);
    2617         sprintf(command, "cp %s %s/archives/", xattr_fname,
     2618        asprintf(&command, "cp %s %s/archives/", xattr_fname,
    26182619            bkpinfo->scratchdir);
    26192620        paranoid_system(command);
     2621        paranoid_free(command);
    26202622    }
    26212623    if (g_getfacl) {
    26222624        get_acl_list(biggielist, acl_fname);
    2623         sprintf(command, "cp %s %s/archives/", acl_fname, bkpinfo->scratchdir);
     2625        asprintf(&command, "cp %s %s/archives/", acl_fname,
     2626             bkpinfo->scratchdir);
    26242627        paranoid_system(command);
     2628        paranoid_free(command);
    26252629    }
    26262630
    26272631    if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) {
    26282632        res += write_EXAT_files_to_tape(bkpinfo, xattr_fname, acl_fname);
    2629         sprintf(blah, "%ld", count_lines_in_file(biggielist));
     2633        asprintf(&blah, "%ld", count_lines_in_file(biggielist));
    26302634        write_header_block_to_stream((off_t)0, blah, BLK_START_BIGGIEFILES);
     2635        paranoid_free(blah);
    26312636    }
    26322637    res = make_slices_and_images(bkpinfo, biggielist);
     
    26492654    return (retval);
    26502655}
    2651 
    26522656
    26532657
     
    34743478    strcpy(tmp, slice_fname(biggie_file_number, 0, bkpinfo->tmpdir, ""));
    34753479    fout = fopen(tmp, "w");
     3480    if (fout == NULL) {
     3481        mr_msg(1, "Unable to open and write to %s\n", tmp);
     3482        paranoid_free(tmp);
     3483        paranoid_free(suffix);
     3484        return (1);
     3485    }
     3486
    34763487    (void) fwrite((void *) &biggiestruct, 1, sizeof(biggiestruct), fout);
    34773488    paranoid_fclose(fout);
  • branches/2.2.2/mondo/src/common/libmondo-filelist.c

    r1015 r1236  
    352352    assert(maxsetsizeK > 0);
    353353
    354     max_sane_size_for_a_file = 32L * 1024L;
     354    max_sane_size_for_a_file = 64L * 1024L;
    355355// max_sane_size_for_a_file = maxsetsizeK*2;
    356356//  if (max_sane_size_for_a_file > 32*1024)
     
    17471747        log_msg(1, "Calculating filelist");
    17481748        sprintf(exclude_paths, " %s %s %s %s %s %s . .. \
    1749 " MNT_CDROM " " MNT_FLOPPY " /media/cdrom /media/cdrecorder \
     1749" MNT_CDROM " " MNT_FLOPPY " /media \
    17501750/proc /sys /root/images/mondo /root/images/mindi ", excp, call_program_and_get_last_line_of_output("locate /win386.swp 2> /dev/null"), call_program_and_get_last_line_of_output("locate /hiberfil.sys 2> /dev/null"), call_program_and_get_last_line_of_output("locate /pagefile.sys 2> /dev/null"), (tmpdir[0] == '/' && tmpdir[1] == '/') ? (tmpdir + 1) : tmpdir, (scratchdir[0] == '/' && scratchdir[1] == '/') ? (scratchdir + 1) : scratchdir);
    17511751
  • branches/2.2.2/mondo/src/common/libmondo-files.c

    r1002 r1236  
    12451245    strcpy(nfs_server_ipaddr, tmp);
    12461246    strcpy(nfs_mount, p);
     1247
    12471248    /* BERLIOS : there is a bug #67 here as it only considers the first NIC */
    12481249    sprintf(command,
     
    14171418    char tmp[MAX_STR_LEN];
    14181419    char *p;
     1420    char *q = NULL;
     1421
     1422    q = strrchr(filename, '.');
     1423    if (q == NULL) {
     1424        return (FALSE);
     1425    }
    14191426
    14201427    sprintf(tmp, "%s/do-not-compress-these", g_mondo_home);
     
    14221429        return (FALSE);
    14231430    }
    1424     strcpy(do_not_compress_these, last_line_of_file(tmp));
     1431    /* BERLIOS: This is just plain WRONG !! */
     1432    strcpy(do_not_compress_these,last_line_of_file(tmp));
     1433
    14251434    for (p = do_not_compress_these; p != NULL; p++) {
    14261435        strcpy(tmp, p);
     
    14281437            *(strchr(tmp, ' ')) = '\0';
    14291438        }
    1430         if (!strcmp(sz_last_suffix(filename), tmp)) {   /*printf("MATCH\n"); */
     1439        if (!strcmp(q, tmp)) {
    14311440            return (TRUE);
    14321441        }
  • branches/2.2.2/mondo/src/common/libmondo-fork.c

    r797 r1236  
    155155    }
    156156    strip_spaces(result);
     157    paranoid_free(tmp);
    157158    return (result);
    158159}
     
    201202    log_msg(3, "Starting");
    202203    assert(bkpinfo != NULL);
    203     assert_string_is_neither_NULL_nor_zerolength(basic_call);
     204    // BERLIOS: doesn't work even if the string is correct !
     205    //assert_string_is_neither_NULL_nor_zerolength(basic_call);
    204206    assert_string_is_neither_NULL_nor_zerolength(isofile);
    205207    assert_string_is_neither_NULL_nor_zerolength(logstub);
  • branches/2.2.2/mondo/src/common/libmondo-mountlist.c

    r541 r1236  
    5858#include "libmondo-tools-EXT.h"
    5959#include "libmondo-string-EXT.h"
    60 #include "libmondo-gui-EXT.h"
     60#include "newt-specific-EXT.h"
    6161
    6262/*@unused@*/
     
    369369        sprintf(tmp, " %ld MB unallocated on %s.",
    370370                physical_drive_size - amount_allocated, drive);
    371         log_it(tmp), strcat(flaws_str, tmp);
     371        log_it(tmp);
     372        strcat(flaws_str, tmp);
     373        /* BERLIOS: Flawed since rev 1 !! */
     374        res++;
    372375    }
    373376    if (res) {
     
    525528        sprintf(tmp, " %ld MB unallocated on %s.",
    526529                physical_drive_size - amount_allocated, drive);
    527         log_it(tmp), strcat(flaws_str, tmp);
     530        log_it(tmp);
     531        strcat(flaws_str, tmp);
     532        /* BERLIOS: Flawed since rev 1 !! */
     533        res++;
    528534    }
    529535
  • branches/2.2.2/mondo/src/common/libmondo-string.c

    r841 r1236  
    513513
    514514    input = malloc(2000);
    515     assert_string_is_neither_NULL_nor_zerolength(ip);
     515    // BERLIOS: seems to cause invalid errors
     516    //assert_string_is_neither_NULL_nor_zerolength(ip);
    516517    assert_string_is_neither_NULL_nor_zerolength(token);
    517518    assert(value != NULL);
  • branches/2.2.2/mondo/src/common/libmondo-tools.c

    r998 r1236  
    459459/**
    460460 * Insert modules that Mondo requires.
    461  * Currently inserts @c dos, @c fat, @c vfat, and @c osst for Linux;
     461 * Currently inserts @c msdos, @c vfat, and @c loop for Linux;
    462462 * @c msdosfs and @c ext2fs for FreeBSD.
    463463 */
     
    468468    system("kldstat | grep ext2fs  || kldload ext2fs 2> /dev/null");
    469469#else
    470     system("modprobe dos &> /dev/null");
    471     system("modprobe fat &> /dev/null");
    472     system("modprobe vfat &> /dev/null");
    473     //  system("modprobe osst &> /dev/null");
     470    system("modprobe -a msdos vfat loop &> /dev/null");
    474471#endif
    475472}
  • branches/2.2.2/mondo/src/common/libmondo-verify.c

    r1003 r1236  
    369369           does_file_exist(slice_fname
    370370                           (bigfile_num, slice_num, mountpoint, ""))) {
    371 // handle slices until end of CD
     371        // handle slices until end of CD
    372372        if (slice_num == 0) {
    373373            log_msg(2, "ISO=%d  bigfile=%ld --START--",
     
    391391            if (!(forig = fopen(tmp, "r"))) {
    392392                log_msg(2, "Failed to open bigfile. Darn.");
     393                log_to_screen(_("%s/%s not found on live filesystem"),
     394                            bkpinfo->restore_path,
     395                            biggiestruct.filename);
     396                asprintf(&tmp, "echo \"%s/%s not found\" >> /tmp/biggies.changed",
     397                            bkpinfo->restore_path,
     398                            biggiestruct.filename);
     399                system(tmp);
     400                paranoid_free(tmp);
     401
     402                bigfile_num++;
     403                slice_num = 0;
    393404                retval++;
     405            } else {
     406                slice_num++;
    394407            }
    395             slice_num++;
    396         } else if (does_file_exist
    397                    (slice_fname(bigfile_num, slice_num, mountpoint, ""))) {
     408            paranoid_free(tmp2);
     409        } else if (does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, "")) &&
     410                   (length_of_file(slice_fname(bigfile_num, slice_num, mountpoint, "")) == 0)) {
    398411            log_msg(2, "ISO=%d  bigfile=%ld ---END---",
    399412                    g_current_media_number, bigfile_num);
     
    402415            slice_num = 0;
    403416        } else {
    404             log_msg(2, "ISO=%d  bigfile=%ld  slice=%ld  \r",
     417            mr_msg(2, "ISO=%d  bigfile=%ld  slice=%ld",
    405418                    g_current_media_number, bigfile_num, slice_num);
    406             if (bkpinfo->compression_level > 0) {
     419            if (!does_file_exist(slice_fname(bigfile_num, slice_num, mountpoint, ""))) {
    407420                sprintf(command, "%s -dc %s 2>> %s",
    408421                        sz_exe,
    409                         slice_fname(bigfile_num, slice_num, mountpoint,
    410                                     bkpinfo->zip_suffix),
     422                        slice_fname(bigfile_num, slice_num, mountpoint, bkpinfo->zip_suffix),
    411423                        MONDO_LOGFILE);
    412424            } else {
    413                 sprintf(command, "cat %s",
    414                         slice_fname(bigfile_num, slice_num, mountpoint,
    415                                     bkpinfo->zip_suffix));
     425                sprintf(command, "cat %s 2>> %s",
     426                        slice_fname(bigfile_num, slice_num, mountpoint, ""), MONDO_LOGFILE);
    416427            }
    417428            if ((pin = popen(command, "r"))) {
     
    435446                }
    436447                paranoid_pclose(pin);
    437                 if (res && !strncmp(biggiestruct.filename, " /dev/", 5)) {
     448                if (res && !strncmp(biggiestruct.filename, "/dev/", 5)) {
    438449                    log_msg(3,
    439450                            "Ignoring differences between %s and live filesystem because it's a device and therefore the archives are stored via ntfsclone, not dd.",
  • branches/2.2.2/mondo/src/common/my-stuff.h

    r792 r1236  
    266266#define ARBITRARY_MAXIMUM 2000  ///< The maximum number of items showing at once in the mountlist or filelist editor.
    267267#define MAX_TAPECATALOG_ENTRIES 8192    ///< The maximum number of entries in the tape catalog.
    268 #define MAX_STR_LEN 380         ///< The maximum length of almost all @p char buffers in Mondo.
     268#define MAX_STR_LEN 384         ///< The maximum length of almost all @p char buffers in Mondo.
     269                                        ///  Note: Make this divisible by eight to avoid aligment issues
     270                                        ///        on 64bit platforms like ia64.
    269271#define MAXIMUM_RAID_DEVS 32    ///< The maximum number of RAID devices in the raidlist.
    270272#define MAXIMUM_ADDITIONAL_RAID_VARS 32 ///< The maximum number of additional RAID variables per RAID device in the raidlist.
  • branches/2.2.2/mondo/src/mondoarchive/main.c

    r948 r1236  
    152152 * Print a "don't panic" message to the log and a message about the logfile to the screen.
    153153 */
    154 void welcome_to_mondoarchive()
     154void welcome_to_mondoarchive(void)
    155155{
    156156    log_msg(0, "Mondo Archive v%s --- http://www.mondorescue.org",
     
    197197 * of the day.
    198198 */
    199 void distro_specific_kludges_at_start_of_mondoarchive()
     199void distro_specific_kludges_at_start_of_mondoarchive(void)
    200200{
    201201    log_msg(2, "Unmounting old ramdisks if necessary");
     
    214214 * Undo whatever was done by distro_specific_kludges_at_start_of_mondoarchive().
    215215 */
    216 void distro_specific_kludges_at_end_of_mondoarchive()
     216void distro_specific_kludges_at_end_of_mondoarchive(void)
    217217{
    218218//  char tmp[500];
  • branches/2.2.2/mondo/src/mondoarchive/mondo-cli.c

    r999 r1236  
    279279    sprintf(tmp, "mkdir -p %s", bkpinfo->scratchdir);
    280280    paranoid_system(tmp);
    281     if (bkpinfo->nfs_mount[0] != '\0') {
    282         store_nfs_config(bkpinfo);
    283     }
    284281    paranoid_free(tmp);
    285282    return (retval);
  • branches/2.2.2/mondo/src/mondorestore/mondo-restore.c

    r1053 r1236  
    11/***************************************************************************
    2        mondo-restore.c  -  restores mondoarchive data
    3                              -------------------
    4     begin                : Fri May 19 2000
    5     copyright            : (C) 2000 by Hugo Rabson
    6     email                : Hugo Rabson <hugorabson@msn.com>
    7     cvsid                : $Id$
     2$Id$
     3restores mondoarchive data
    84***************************************************************************/
    9 
    10 /***************************************************************************
    11  *                                                                         *
    12  *   This program is free software; you can redistribute it and/or modify  *
    13  *   it under the terms of the GNU General Public License as published by  *
    14  *   the Free Software Foundation; either version 2 of the License, or     *
    15  *   (at your option) any later version.                                   *
    16  *                                                                         *
    17  ***************************************************************************/
    18 
    19 /***************************************************************************
    20  *                         Change Log                                      *
    21  ***************************************************************************
    22 .
    23 
    24 
    25 07/26
    26 - workaround - if not /dev then don't call partimagehack
    27 
    28 07/21
    29 - if switch to Interactive Mode during nuke then don't nuke twice :) just once
    30 
    31 07/18
    32 - better support of users who boot from LVM CD and nuke-restore non-LVM backups
    33 
    34 07/10
    35 - when using 'star', exclude all 'not removed.' messages from log (misleading, they are)
    36 - try w/ ACLs, then w/o ACLs if star fails w/ ACLs
    37 - added ACL, xattr support for afio
    38 
    39 06/26
    40 - remove make_relevant_partition_bootable(); roll into mondo-prep.c
    41 - changed various newtDrawRootText() calls to use g_noof_rows instead of
    42   integers
    43 
    44 06/19
    45 - don't try to access biggiestruct before it is populated w/ data relating
    46   to biggiefile; instead, use control char to find out if biggiefile is
    47   to be restored w/ partimagehack or not
    48 - added AUX_VER
    49 
    50 06/15
    51 - read_cfg_file_into_bkpinfo() --- use user-supplied 'isodir' instead of
    52   archive's 'isodir' if different
    53   Conor Daly <conor.daly@met.ie>
    54 
    55 06/17
    56 - restore with partimagehack if NTFS device; dd, if non-NTFS device
    57 
    58 06/14
    59 - unmount all; remount, run grub-mr; unmount again
    60 
    61 04/09
    62 - fixed subset restoration bug introduced when I added 'star' support
    63 
    64 04/04
    65 - cleaned up restore_a_tarball_from_stream()
    66 
    67 04/03
    68 - added star support
    69 - pause for 3s between partitioning and formatting (if in Nuke Mode)
    70 
    71 03/28
    72 - check that g_mountlist_fname was correcfly set; abort if it wasn't
    73 
    74 03/25
    75 - removed dev_null code
    76 
    77 03/22/04
    78 - added mode_of_file()
    79 - added code to check for unauthorised modification of /dev/null
    80   by afio (for instance)
    81 
    82 12/27/03
    83 - check /tmp/cmdline instead of /proc/cmdline if on FreeBSD
    84 
    85 11/15
    86 - added g_fprep
    87 - "Switch to interactive mode?" msg is now more informative
    88 
    89 11/05
    90 - after 'Are you sure?' when user specifies / as restore path, set
    91   restore_path[] to "" so that files are restored to [blank]/file/name :)
    92 
    93 10/29
    94 - moved "No restoring or comparing will take place today" block
    95   up to before iso_fiddly_bits (if iso) is called - fix bug
    96   if you're in ISO Mode and you say "exit to shell"
    97 
    98 10/22
    99 - swapped calls to chmod() and chown() after restoration
    100   of big files (Jens)
    101 
    102 10/21
    103 - changed "/mnt/cdrom" to MNT_CDROM
    104 
    105 10/19
    106 - restore biggiefiles selectively from CD properly
    107 - use find_my_editor() to find pico/vi/whatever
    108 - better use of call_program_and_get_last_line_of_output() to
    109   scan /proc/cmdline
    110 
    111 10/18
    112 - don't report 'missing compressor' if no compressor used at all
    113 
    114 10/14
    115 - log afio's error messages to /var/log/mondo-archive.log
    116   when restoring :)
    117 - call vi if pico is not available
    118 
    119 10/09
    120 - better logging if fatal error (cannot openout bigfile)
    121 - better GUI feedback when restoring big files
    122 - restore_everything() now uses s_node* instead of char*
    123 - ditto restore_all_*_from_*()
    124 
    125 10/02
    126 - succinct msg instead of pop-ups, if used -H
    127 
    128 09/27
    129 - tweaked restore-time gui
    130 
    131 09/26
    132 - proper reporting of DVD/CDR/etc. type in displayed dialogs
    133 
    134 09/23
    135 - malloc/free global strings in new subroutines - malloc_libmondo_global_strings()
    136   and free_libmondo_global_strings() - which are in libmondo-tools.c
    137 
    138 09/21
    139 - trying to fix "mondorestore <no params>" segfault
    140 
    141 09/18
    142 - better remounting of /
    143 - cleaned up run_grub()
    144 - sensible command-line handling in Live Mode
    145 
    146 09/17
    147 - cleaned up GRUB installer script a bit
    148 
    149 09/15
    150 - remount / as r/w if in disaster recovery mode;
    151   helps for b0rken distros
    152 
    153 09/13
    154 - major NTFS hackage
    155 
    156 09/12
    157 - changed some in-sub var decl'ns to malloc()'s
    158 
    159 09/05
    160 - don't let me run unless I'm root
    161 - finished NTFS/partimagehack support (CD only); working on tape now
    162 
    163 09/01
    164 - fixed cosmetic bug in biggiefile restore window
    165 
    166 06/01 - 08/31
    167 - added code to main() to make sure NFS
    168   (backup) share is mounted in Nuke and Compare Modes
    169 - added code to run_grub() to mount /boot before running grub-install
    170 - fixed some stray assert()'s in restore_a_biggiefile_from_stream()
    171 - fixed bugs in extract_config_file_from_ramdisk()
    172   and get_cfg_file_from_archive() which
    173   stopped fape+floppy users from being able to
    174   boot from floppy and leave floppy in drive :)
    175 - added hooks to partimage for doing imagedevs
    176 - fixed calls to popup_and_get_string()
    177 
    178 05/01 - 05/31
    179 - fixed biggiefile atime/utime dates restoration bug, I think
    180 - added misc clean-up (Steve Hindle)
    181 - fixed support for subdir-within-NFS-mount
    182 - if nuke mode fails & user reverts to interactive mode _and succeeds_,
    183   don't claim nuke mode aborted :)
    184 - unmount_all_devices() uses mountlist->el[lino].mountpt
    185   instead of mountlist->el[lino].device where possible
    186 - added Joshua Oreman's FreeBSD patches
    187 - copied missing paragraph from 1.6x's read_cfg_file_into_bkpinfo()
    188   to 1.7x's; affected tape streamer users (badly!)
    189 - cleaned up some paranoid assert()'s
    190 - use which("post-nuke") instead of find_home_of_exe("post-nuke")
    191 - fixed "Don't eject while restoring" mode
    192 - get_cfg_file_from_archive() --- also recovers mountlist.txt now :)
    193 - don't eject if 'donteject' is in kernel's command line
    194 - added 'don't panic' msg to start of log
    195 
    196 04/01 - 04/30
    197 - added text mode (cat /proc/cmdline; if textonly then text mode is on)
    198 - delete /var/lock/subsys/ * when nuking
    199 - don't resize mountlist if "noresize" present in /proc/cmdline
    200 - changed from chmod -R 1777 tmp to chmod 1777 tmp
    201 - replace newtFinished() and newtInit() with
    202   newtSuspend() and newtResume()
    203 - get_cfg_file_from_archive() returns 1 instead of aborting now
    204 - read_cfg_file_into_bkpinfo) --- if autorun CD but its config
    205   file indicates a non-CD backup media then ask, just in case
    206 - sped up restore_a_tarball_from_CD() a bit
    207 - line 4469 --- if post-nuke not found then don't run it :)
    208 - replaced "/mnt/RESTORING" with MNT_RESTORING (#define'd)
    209 - moved compare_*() into mondorestore/mondo-rstr-compare.c
    210 - moved some RAID subroutines into common/libmondo-raid.c
    211 - fixed some iso live compare problems
    212 - replaced FILELIST_FULL with g_filelist_full and FILELIST_FULL_STUB;
    213   g_filelist_full being the full path of the filelist.full text file and
    214   FILELIST_FULL_STUB being "tmp/filelist.full" (relative path);
    215 - ditto BIGGIELIST_TXT, MONDO_CFG_FILE
    216 - added lots of assert()'s and log_OS_error()'s
    217 - in Nuke Mode, check mountlist's sanity before doing anything else;
    218   if it fails sanity test, offer to revert to Interactive Mode (or abort)
    219 - copy log to /mnt/RESTORING/root at end
    220 - read_cfg_file_into_bkpinfo() --- read iso-dev and isodir if bkptype==iso
    221 - line 1701 --- delete ramdisk file after extracting config info
    222 - moved call to make_relevant_partitions_bootable() from
    223   within run_boot_loader() to within interactive_mode() and
    224   nuke_mode(), after unmounting disks
    225 - if editing fstab or *.conf, try to use pico if available
    226 - better calling of make-me-bootable
    227 - don't sort mountlist anywhere anymore except _locally_ in
    228   mount_all_devices() and unmount_all_devices()
    229 - edit fstab, grub.conf _after_ stabgrub-me if it fails
    230 - run_boot_loader() --- backup all crucial files to /etc/ *.pristine first
    231 - added iso_fiddly_bits()
    232 - fixed ISO mode support
    233 - mount_cdrom() only searches for device if NOT in disaster recovery mode
    234 - changed lost of system()'s into run_program_and_log_output()'s
    235 - don't eject if bkpinfo->please_dont_eject_when_restoring
    236 - cleaned up post-nuke handling code
    237 - always eject CD at end, unless bkpinfo->please_dont_...
    238 - misc clean-up (Tom Mortell)
    239 - afio uses -c (1024L*1024L)/TAPE_BLOCK_SIZE now
    240   instead of -c 1024
    241 
    242 01/01 - 03/31/2003
    243 - commented out sort_... line (BB)
    244 - clean-up (Stan Benoit)
    245 - added code for LVM and SW Raid (Brian Borgeson)
    246 - line 814 - added -p to 'mkdir -p tmp'
    247 - mount_cdrom() - calls find_cdrom_device() if
    248   bkpinfo->media_device is blank (to fill it)
    249 
    250 11/01 - 12/31/2002
    251 - mount_cdrom() better at handling multiple CD drives
    252 - minor clean-up in restore_a_tarball_from_CD()
    253 - if --live-from-cd then assume restoring live from CD
    254 - tweaked it to run better w/ ArkLinux
    255 - create /mnt/RESTORING/mnt/.boot.d for Gentoo users
    256   after restoring
    257 - cleaned up iso_mode(); no longer asks for NFS info 3 times
    258 - mount_cdrom() was trying to mount /mnt/isodir/%s/%d.iso;
    259   is now just %s/%d.iso
    260 - mount/unmount /boot if necessary (Gentoo)
    261 - added RAW MBR support; added run_raw_mbr() for the purpose
    262 - unmount & remount supermounts at start/end of live restore
    263 - copy /tmp/mountlist.txt to /tmp/mountlist.txt.orig at start
    264 - cleaned up string-handling in get_cfg_info_from_archives()
    265 - fixed run_grub() to call new stabgrub-me script
    266 - popup list of changed files after Compare Mode
    267 - permit mondorestore --edit-mountlist even if live mode
    268 - create a repaired copy of grub-install which is RAID-friendly;
    269   use it when initializing boot sector with run_grub()
    270 - use grub-MR instead of grub-install
    271 - fixed read_cfg_file_into_bkpinfo() to ignore cfg file's backup_media_type
    272   if user has already specified a backup media type interactively
    273 
    274 10/01 - 10/31
    275 - run_grub() will let you specify the boot device as well as edit the system
    276   files, if grub-install fails
    277 - fixed bug in fwrite() call in restore_biggiefile_from_CD()
    278 - fixed bug affecting restoration of bigfiles from CD's w/0 compression
    279 - run_grub() will run 'grub-install {boot device}' instead of
    280   'grub-install (hd0)'
    281 
    282 09/01 - 09/30
    283 - use /tmp/tmpfs/mondo.tmp instead of /tmp/mondo.tmp
    284 - initialize MOUNTLIST_FNAME at start of main()
    285 - differential-related cleanup
    286 - better handling of CD-ROM drives which aren't /dev/cdrom :)
    287 - run_program_and_log_output() now takes boolean operator to specify
    288   whether it will log its activities in the event of _success_
    289 - always load config file from archive before operating on it
    290 - moved some subroutines around; now closer to alphabetical order
    291 - changed mount.mindi to mount.bootisk
    292 - mount disks readonly if in Compare Mode
    293 - set /dev/null's permissions to 777, just in case it somehow gets mangled
    294   ...which apparently happen with some devfs-based Linux distributions
    295 - remove /var/run/ *.pid after restoring
    296 - move spurious lockfiles from /home/ * to /home/ * /.disabled
    297 - if Interactive Mode then ask user which media, etc. (i.e. catchall mode
    298   is now same as Interactive Mode)
    299 
    300 08/01 - 08/30
    301 - use data structure to store the fname, checksum, mods & perms of each bigfile
    302   ... biggiestruct :)
    303 - if a filelist is tiny (2 bytes or less) then ignore it
    304 - insist_on_this_cd_number() --- now takes 2 params, not 1
    305 - re-enabled 'g_current_media_number = 1' in restore_everything()
    306 - added same to compare_mode()
    307 - replaced lots of global char[]'s with malloc()'s
    308 - if differential backup then don't permit formatting or fdisking,
    309   whether Interactive or Nuke mode
    310 - added call to register_pid() at start of main()
    311 - if Nuke Mode & it succeeds then ask user if they have contributed yet
    312 - changed tape-size to media-size (config file)
    313 - changed using_* to backup_media_type
    314 - changed *_from_tape to *_from_stream
    315 
    316 07/01 - 07/31
    317 - added find_and_mount_actual_cdrom()
    318 - temp dir is always random
    319 - skip tarballs if they don't contain files we're looking for
    320   (used to read the whole thing & _then_ skip)
    321 - use media_size[1] instead of media_size[0]
    322 - fixed serious bug in line 1546 - should have been !=, not ==; stopped
    323   mondorestore from correctly restoring big files
    324 - bigfile piping enhancements (Philippe de Muyter)
    325 - unmount CD-ROM after restoring from live filesystem
    326 - TAPE_BLOCK_SIZE treated as %ld, not %d
    327 
    328 06/01 - 06/30
    329 - added signal-trapping
    330 - disabled 'nr-failed-disks' flag
    331 - fixed problem w/selective restore
    332 - don't change /tmp's permissions unless it doesn't exist & must be created
    333 - fixed bug in --mbr
    334 - is_file_in_list() enhanced to exclude /mnt/RESTORING or whatever
    335 - added support for uncompressed archives
    336 - --monitas-live now accepts path-to-restore_to_, not just path to restore
    337 - added some debugging/tracking code to the NFS section
    338 - various monitas-related enhancements
    339 - added --isonuke and --mbr switches
    340 - better logging in run_grub()
    341 - improved --monitas-live
    342 - mkdir -p /mnt/RESTORING/var/run/console just in case user excludes it
    343 - afio now uses 16MB buffer instead of 8MB
    344 - always use bkpinfo->media_size[0], now that -s has been expanded
    345 - popup and ask where to restore data, if restoring selectively
    346 
    347 05/01 - 05/31
    348 - add '--monitas' flag
    349 - don't run chmod -R 1777 /mnt/RESTORING/tmp before unmounting unless
    350   restoring at the time...
    351 
    352 04/01 - 04/30
    353 - delete old /tmp/filelist.full,biggielist.txt if found when restoring to
    354   live filesystem
    355 - replace MONDO_VERSION #define with VERSION from ../config.h
    356 - write fname of bigfile to screen when having trouble reading/comparing it
    357 - if restoring to live filesystem then wipe /tmp/tmpfs/ * afterwards
    358 - removed spurious finish(0) from main()
    359 
    360 03/01 - 03/31/2002
    361 - if /tmp/m*ndo-restore.cfg not found then assume live restore; restore
    362   to / instead of /mnt/RESTORING
    363 - clean up is_file_in_list() to deal with the /mnt/RESTORING/ prefix
    364 - exclude leading '/' from filelist.restore-these
    365 - if /tmp/fstab.new exists then use _it_ instead of /tmp/fstab to label
    366   ext2 or ext3 partitions
    367 - improved logging
    368 
    369 [...]
    370 
    371 07/10/2001 --- first incarnation
    372 */
    373 
    3745
    3756/**
     
    25782209                current_tarball_number);
    25792210        if (!does_file_exist(tarball_fname)) {
     2211            sprintf(tarball_fname, MNT_CDROM "/archives/%ld.afio.gz",
     2212                current_tarball_number);
     2213        }
     2214        if (!does_file_exist(tarball_fname)) {
    25802215            sprintf(tarball_fname, MNT_CDROM "/archives/%ld.afio.lzo",
    25812216                    current_tarball_number);
Note: See TracChangeset for help on using the changeset viewer.