Changeset 1087 in MondoRescue for branches/stable/mondo


Ignore:
Timestamp:
Feb 2, 2007, 11:31:00 PM (17 years ago)
Author:
Bruno Cornec
Message:

WARNING: Not tested yet ! Will be stabilized in next hours.
this patch changes the interface between mindi and mondo.
Everything is now managed through either MONDO_CACHE/mondo-restore.cfg
and MONDO_CACHE/mindi.conf (an additional configuration file)
This removes all the one line files NFS-*, ... that where used
in an anarchic way. Now everything computed by mondo is
under mondo-restore.cfg and everything related to mindi in mindi.conf

Still needed are the removal of the 2 parameters to mindi,
but that will be done after when a clear line is drawn between
where files are put by each tool.

MONDO_TMP and MINDI_TMP should be reserved for temporary files
MONDO_CACHE and MINDI_CACHE for end results and communication
between tools.
These changes were made in order to prepare the USB support in mondo

A first step in the right direction, but still some work to do
before it's working again.
Testers please be warned.

Location:
branches/stable/mondo/src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/mondo/src/common/libmondo-archive.c

    r1080 r1087  
    2727
    2828#include "mr_mem.h"
     29#include "mr_str.h"
     30#include "mr_file.h"
     31
    2932#include <sys/sem.h>
    3033#include <sys/types.h>
     
    534537    char *tmp;
    535538    char *tmp1 = NULL;
    536     char *tmp2 = NULL;
    537539    char *scratchdir;
    538540    char *command;
    539     char *use_lzo_sz;
    540     char *use_gzip_sz;
    541     char *use_comp_sz;
    542     char *use_star_sz;
    543541    char *bootldr_str;
    544542    char *tape_device;
    545543    char *last_filelist_number;
    546     char *broken_bios_sz;
    547     char *cd_recovery_sz;
    548544    char *tape_size_sz;
    549545    char *devs_to_exclude;
    550     char *use_lilo_sz;
    551546    char *value;
    552547    char *bootdev;
    553 
    554 
    555548
    556549    /*@ char ************************************************************** */
     
    563556    int res = 0;
    564557    long estimated_total_noof_slices = 0;
     558
     559    FILE *fd = NULL;
    565560
    566561    assert(bkpinfo != NULL);
     
    568563    malloc_string(tmp);
    569564    malloc_string(scratchdir);
    570     malloc_string(use_lzo_sz);
    571     malloc_string(use_gzip_sz);
    572     malloc_string(use_star_sz);
    573     malloc_string(use_comp_sz);
    574565    malloc_string(bootldr_str);
    575     malloc_string(tape_device);
    576566    malloc_string(last_filelist_number);
    577     malloc_string(broken_bios_sz);
    578     malloc_string(cd_recovery_sz);
    579567    malloc_string(tape_size_sz);
    580568    malloc_string(devs_to_exclude);
    581     malloc_string(use_lilo_sz); /* BCO: shared between LILO/ELILO */
    582569    malloc_string(value);
    583570    malloc_string(bootdev);
     
    588575            bkpinfo->exclude_paths);
    589576    strcpy(devs_to_exclude, call_program_and_get_last_line_of_output(tmp));
    590     sprintf(tmp, "devs_to_exclude = '%s'", devs_to_exclude);
    591577    log_msg(2, tmp);
    592578    mvaddstr_and_log_it(g_currentY, 0,
     
    601587    }
    602588    lines_in_filelist = count_lines_in_file(tmp);
    603     sprintf(tmp, "%s/LAST-FILELIST-NUMBER", bkpinfo->tmpdir);
    604589    strcpy(last_filelist_number, last_line_of_file(tmp));
    605     if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) {
    606         sprintf(tape_size_sz, "%ld", bkpinfo->media_size[1]);
    607         strcpy(tape_device, bkpinfo->media_device);
    608     } else {
    609         tape_size_sz[0] = '\0';
    610         tape_device[0] = '\0';
    611     }
    612     if (bkpinfo->use_lzo) {
    613         strcpy(use_lzo_sz, "yes");
    614     } else {
    615         strcpy(use_lzo_sz, "no");
    616     }
    617     if (bkpinfo->use_gzip) {
    618         strcpy(use_gzip_sz, "yes");
    619     } else {
    620         strcpy(use_gzip_sz, "no");
    621     }
    622     if (bkpinfo->use_star) {
    623         strcpy(use_star_sz, "yes");
    624     } else {
    625         strcpy(use_star_sz, "no");
    626     }
    627 
    628     if (bkpinfo->compression_level > 0) {
    629         strcpy(use_comp_sz, "yes");
    630     } else {
    631         strcpy(use_comp_sz, "no");
    632     }
    633 
    634     strcpy(broken_bios_sz, "yes");  /* assume so */
    635     if (g_cd_recovery) {
    636         strcpy(cd_recovery_sz, "yes");
    637     } else {
    638         strcpy(cd_recovery_sz, "no");
    639     }
    640     if (bkpinfo->make_cd_use_lilo) {
    641         strcpy(use_lilo_sz, "yes");
    642     } else {
    643         strcpy(use_lilo_sz, "no");
    644     }
    645590
    646591    if (!bkpinfo->nonbootable_backup
     
    758703            bootldr_str, bkpinfo->boot_device);
    759704    log_to_screen(tmp);
    760     sprintf(tmp, "%s/BOOTLOADER.DEVICE", bkpinfo->tmpdir);
    761     if (write_one_liner_data_file(tmp, bkpinfo->boot_device)) {
    762         log_msg(1, "%ld: Unable to write one-liner boot device", __LINE__);
    763     }
    764     switch (bkpinfo->backup_media_type) {
    765     case cdr:
    766         strcpy(value, "cdr");
    767         break;
    768     case cdrw:
    769         strcpy(value, "cdrw");
    770         break;
    771     case cdstream:
    772         strcpy(value, "cdstream");
    773         break;
    774     case tape:
    775         strcpy(value, "tape");
    776         break;
    777     case udev:
    778         strcpy(value, "udev");
    779         break;
    780     case iso:
    781         strcpy(value, "iso");
    782         break;
    783     case nfs:
    784         strcpy(value, "nfs");
    785         break;
    786     case dvd:
    787         strcpy(value, "dvd");
    788         break;
    789     case usb:
    790         strcpy(value, "usb");
    791         break;
    792     default:
    793         fatal_error("Unknown backup_media_type");
    794     }
    795     sprintf(tmp, "%s/BACKUP-MEDIA-TYPE", bkpinfo->tmpdir);
    796     if (write_one_liner_data_file(tmp, value)) {
    797         res++;
    798         log_msg(1, "%ld: Unable to write one-liner backup-media-type",
    799                 __LINE__);
    800     }
    801     log_to_screen(bkpinfo->tmpdir);
    802     sprintf(tmp, "%s/BOOTLOADER.NAME", bkpinfo->tmpdir);
    803     if (write_one_liner_data_file(tmp, bootldr_str)) {
    804         res++;
    805         log_msg(1, "%ld: Unable to write one-liner bootloader.name",
    806                 __LINE__);
    807     }
    808     sprintf(tmp, "%s/DIFFERENTIAL", bkpinfo->tmpdir);
    809     if (bkpinfo->differential) {
    810         res += write_one_liner_data_file(tmp, "1");
    811     } else {
    812         res += write_one_liner_data_file(tmp, "0");
    813     }
    814 
    815     if (g_getfattr) {
    816         mr_asprintf(&tmp1, "%s/XATTR", bkpinfo->tmpdir);
    817         if (write_one_liner_data_file(tmp1, "TRUE")) {
    818             log_msg(1, "%ld: Unable to write one-liner XATTR",
    819                 __LINE__);
    820         }
    821         mr_free(tmp1);
    822     }
    823     if (g_getfacl) {
    824         mr_asprintf(&tmp1, "%s/ACL", bkpinfo->tmpdir);
    825         if (write_one_liner_data_file(tmp1, "TRUE")) {
    826             log_msg(1, "%ld: Unable to write one-liner ACL",
    827                 __LINE__);
    828         }
    829         mr_free(tmp1);
    830     }
    831705
    832706    estimated_total_noof_slices =
     
    843717        log_OS_error("Unable to make mnt floppy directory");
    844718    }
    845     sprintf(tmp, "BTW, I'm telling Mindi your kernel is '%s'",
    846             bkpinfo->kernel_path);
    847 
    848     log_msg(1, "lines_in_filelist = %ld", lines_in_filelist);
     719
     720    /* Prepare interface with mindi through a configuration file
     721     * under /var/cache/mondo by default
     722     * and the mondorestore configuration file at the same time that
     723     * will be included by mindi on the initrd */
     724
     725    fd = mr_fopen(MONDO_CACHE"/mindi.conf", "w");
     726    fd1 = mr_fopen(MONDORESTORECFG, "a");
     727
     728    mr_fprintf(fd, "mindi_kernel=%s\n", bkpinfo->kernel_path);
     729    mr_fprintf(fd, "mindi_use_own_kernel=yes\n");
     730
     731    mr_fprintf(fd1, "files-in-filelist %ld\n", lines_in_filelist);
     732    mr_fprintf(fd1, "internal-tape-block-size %ld\n", bkpinfo->internal_tape_block_size);
     733    mr_fprintf(fd1, "total-slices %ld\n", estimated_total_noof_slices);
     734    mr_fprintf(fd1, "excluded-devs %s\n", devs_to_exclude);
     735    mr_fprintf(fd1, "image-devs %s\n", bkpinfo->image_devs);
     736    mr_fprintf(fd1, "last-filelist-number %s\n", last_filelist_number);
     737    mr_fprintf(fd1, "bootloader.name %s\n", bootldr_str);
     738    mr_fprintf(fd1, "bootloader.device %s\n", bkpinfo->boot_device);
     739
     740    switch (bkpinfo->backup_media_type) {
     741    case cdr:
     742        mr_fprintf(fd1, "backup-media-type cdr\n");
     743        break;
     744    case cdrw:
     745        mr_fprintf(fd1, "backup-media-type cdrw\n");
     746        break;
     747    case cdstream:
     748        mr_fprintf(fd1, "backup-media-type cdstream\n");
     749        break;
     750    case tape:
     751        mr_fprintf(fd1, "backup-media-type tape\n");
     752        break;
     753    case udev:
     754        mr_fprintf(fd1, "backup-media-type udev\n");
     755        break;
     756    case iso:
     757        mr_fprintf(fd1, "backup-media-type iso\n");
     758        break;
     759    case nfs:
     760        mr_fprintf(fd1, "backup-media-type nfs\n");
     761        break;
     762    case dvd:
     763        mr_fprintf(fd1, "backup-media-type dvd\n");
     764        break;
     765    case usb:
     766        mr_fprintf(fd1, "backup-media-type usb\n");
     767        break;
     768    default:
     769        fatal_error("Unknown backup_media_type");
     770    }
    849771
    850772    if (bkpinfo->backup_media_type == usb) {
    851         mr_asprintf(&tmp2, "--usb %s", bkpinfo->media_device);
     773        mr_fprintf(fd, "mindi_write_usb=yes\n");
     774        mr_fprintf(fd, "mindi_usb_device=%s\n", bkpinfo->media_device);
     775    }
     776    if (IS_THIS_A_STREAMING_BACKUP(bkpinfo->backup_media_type)) {
     777        mr_fprintf(fd, "mindi_write_tape=yes\n");
     778        mr_fprintf(fd, "mindi_tape_device=%s\n", bkpinfo->media_device);
     779        mr_fprintf(fd1, "media-dev %s\n", bkpinfo->media_device);
     780        mr_fprintf(fd1, "media-size %ld\n", bkpinfo->media_size[1]);
     781    }
     782    if (bkpinfo->compression_level > 0) {
     783        mr_fprintf(fd1, "use-comp yes\n");
    852784    } else {
    853         mr_asprintf(&tmp2,"");
    854     }
     785        mr_fprintf(fd1, "use-comp no\n");
     786    }
     787    if (bkpinfo->use_gzip) {
     788        mr_fprintf(fd1, "use-gzip yes\n");
     789    } else {
     790        mr_fprintf(fd1, "use-gzip no\n");
     791    }
     792    if (bkpinfo->use_lzo) {
     793        mr_fprintf(fd1, "use-lzo yes\n");
     794    } else {
     795        mr_fprintf(fd1, "use-lzo no\n");
     796    }
     797    if (bkpinfo->use_star) {
     798        mr_fprintf(fd1, "use-star yes\n");
     799    } else {
     800        mr_fprintf(fd1, "use-star no\n");
     801    }
     802    if (g_getfattr) {
     803        mr_fprintf(fd1, "xattr yes\n");
     804    } else {
     805        mr_fprintf(fd1, "xattr no\n");
     806    }
     807    if (g_getfacl) {
     808        mr_fprintf(fd1, "acl yes\n");
     809    } else {
     810        mr_fprintf(fd1, "acl no\n");
     811    }
     812
     813    if (g_cd_recovery) {
     814        mr_fprintf(fd1, "use-cdrecovery yes\n");
     815    } else {
     816        mr_fprintf(fd1, "use-cdrecovery no\n");
     817    }
     818    if (bkpinfo->make_cd_use_lilo) {
     819        mr_fprintf(fd1, "use-lilo yes\n");
     820    } else {
     821        mr_fprintf(fd1, "use-lilo no\n");
     822    }
     823    if (bkpinfo->nonbootable_backup) {
     824        mr_fprintf(fd1, "non-bootable yes\n");
     825    } else {
     826        mr_fprintf(fd1, "non-bootable no\n");
     827    }
     828    if (bkpinfo->differential) {
     829        mr_fprintf(fd1, "differential 1\n");
     830    } else {
     831        mr_fprintf(fd1, "differential 0\n");
     832    }
     833
     834    mr_fclose(fd);
     835    mr_fprintf(fd1, "datestamp %s\n", mr_date());
     836    mr_fclose(fd1);
    855837
    856838    sprintf(command,
    857 /*     "mindi --custom 2=%s 3=%s/images 4=\"%s\" 5=\"%s\" \
    858 6=\"%s\" 7=%ld 8=\"%s\" 9=\"%s\" 10=\"%s\" \
    859 11=\"%s\" 12=%s 13=%ld 14=\"%s\" 15=\"%s\" 16=\"%s\" 17=\"%s\" 18=%ld 19=%d",*/
    860             "mindi %s --custom '%s' '%s/images' '%s' '%s' \
    861 '%s' %ld '%s' '%s' '%s' \
    862 '%s' %s %ld '%s' '%s' '%s' '%s' %ld %d '%s'",
    863             tmp2,
     839            "mindi --custom '%s' '%s/images'",
    864840            bkpinfo->tmpdir,        // parameter #2
    865841            bkpinfo->scratchdir,    // parameter #3
    866             bkpinfo->kernel_path,   // parameter #4
    867             tape_device,            // parameter #5
    868             tape_size_sz,           // parameter #6
    869             lines_in_filelist,      // parameter #7 (INT)
    870             use_lzo_sz,             // parameter #8
    871             cd_recovery_sz,         // parameter #9
    872             bkpinfo->image_devs,    // parameter #10
    873             broken_bios_sz,         // parameter #11
    874             last_filelist_number,   // parameter #12 (STRING)
    875             estimated_total_noof_slices,    // parameter #13 (INT)
    876             devs_to_exclude,        // parameter #14
    877             use_comp_sz,            // parameter #15
    878             use_lilo_sz,            // parameter #16
    879             use_star_sz,            // parameter #17
    880             bkpinfo->internal_tape_block_size,  // parameter #18 (LONG)
    881             bkpinfo->differential,  // parameter #19 (INT)
    882             use_gzip_sz);           // parameter #20 (STRING)
    883 
    884     mr_free(tmp2);
    885 
    886 // Watch it! This next line adds a parameter...
    887     if (bkpinfo->nonbootable_backup) {
    888         strcat(command, " NONBOOTABLE"); // parameter #21 (STRING)
    889     }
     842            //bkpinfo->kernel_path, // parameter #4
     843            //tape_device,          // parameter #5
     844            //tape_size_sz,         // parameter #6
     845            //lines_in_filelist,        // parameter #7 (INT)
     846            //use_lzo_sz,               // parameter #8
     847            //cd_recovery_sz,           // parameter #9
     848            //bkpinfo->image_devs,  // parameter #10
     849            //broken_bios_sz,           // parameter #11 always yes
     850            //last_filelist_number, // parameter #12 (STRING)
     851            //estimated_total_noof_slices,  // parameter #13 (INT)
     852            //devs_to_exclude,      // parameter #14
     853            //use_comp_sz,          // parameter #15
     854            //use_lilo_sz,          // parameter #16
     855            //use_star_sz,          // parameter #17
     856            //bkpinfo->internal_tape_block_size,    // parameter #18 (LONG)
     857            //bkpinfo->differential,    // parameter #19 (INT)
     858            //use_gzip_sz);         // parameter #20 (STRING)
     859            );
     860
    890861    log_msg(2, command);
    891862
    892 //  popup_and_OK("Pausing");
    893 
    894     res =
    895         run_program_and_log_to_screen(command,
    896                                       "Generating boot+data disks");
     863    res = run_program_and_log_to_screen(command, "Generating boot+data disks");
    897864    if (bkpinfo->nonbootable_backup) {
    898865        res = 0;
     
    936903    }
    937904    mr_free(tmp);
    938     mr_free(use_lzo_sz);
    939     mr_free(use_gzip_sz);
    940905    mr_free(scratchdir);
    941     mr_free(use_comp_sz);
    942906    mr_free(bootldr_str);
    943     mr_free(tape_device);
    944907    mr_free(last_filelist_number);
    945     mr_free(broken_bios_sz);
    946908    mr_free(cd_recovery_sz);
    947909    mr_free(tape_size_sz);
    948910    mr_free(devs_to_exclude);
    949     mr_free(use_lilo_sz);
    950911    mr_free(value);
    951912    mr_free(bootdev);
    952913    mr_free(command);
    953     mr_free(use_star_sz);
    954914    return (res);
    955915}
     
    11621122        closeout_tape(bkpinfo);
    11631123    } else
    1164         /* write final ISO */
     1124        /* write final ISO/USB */
    11651125    {
    11661126        res = write_final_iso_if_necessary(bkpinfo);
     
    18921852        if (bkpinfo->nonbootable_backup) {
    18931853            log_msg(1, "Making nonbootable backup");
    1894 // FIXME --- change mkisofs string to MONDO_MKISOFS_NONBOOTABLE and add ' .' at end
    18951854            res =
    18961855                eval_call_to_make_ISO(bkpinfo,
     
    36583617        bkpinfo->media_size[g_current_media_number]) {
    36593618        sprintf(tmp,
    3660                 "Warning! CD is too big. It occupies %ld KB, which is more than the %ld KB allowed.",
     3619                "Warning! %s is too big. It occupies %ld KB, which is more than the %ld KB allowed.",
     3620                media_descriptor_string(bkpinfo->backup_media_type),
    36613621                (long) space_occupied_by_cd(bkpinfo->scratchdir),
    36623622                (long) bkpinfo->media_size[g_current_media_number]);
    36633623        log_to_screen(tmp);
    36643624    }
    3665     sprintf(isofile, "%s/%s/%s-%d.iso", bkpinfo->isodir,
     3625    if (bkpinfo->backup_media_type != usb) {
     3626        sprintf(isofile, "%s/%s/%s-%d.iso", bkpinfo->isodir,
    36663627            bkpinfo->nfs_remote_dir, bkpinfo->prefix,
    36673628            g_current_media_number);
     3629    } else {
     3630    }
    36683631    for (that_one_was_ok = FALSE; !that_one_was_ok;) {
    3669         res = make_iso_fs(bkpinfo, isofile);
     3632        if (bkpinfo->backup_media_type != usb) {
     3633            res = make_iso_fs(bkpinfo, isofile);
     3634        } else {
     3635        }
    36703636        if (g_current_media_number == 1 && !res
    36713637            && (bkpinfo->backup_media_type == cdr
     
    39683934
    39693935setenv("MONDO_SHARE", MONDO_SHARE, 1);
     3936setenv("MONDORESTORECFG", MONDORESTORECFG, 1);
     3937setenv("MONDO_CACHE", MONDO_CACHE, 1);
    39703938}
  • branches/stable/mondo/src/common/libmondo-files.c

    r1080 r1087  
    2020#include "libmondo-fork-EXT.h"
    2121#include "libmondo-string-EXT.h"
     22
     23#include "mr_file.h"
    2224
    2325/*@unused@*/
     
    11571159    char command[MAX_STR_LEN * 2];
    11581160
     1161    FILE *fd1 = NULL;
     1162
    11591163    /*@ pointers ***** */
    11601164    char *p;
     
    12181222    }
    12191223
    1220     sprintf(tmp, "%s/NFS-DEV", bkpinfo->tmpdir);
    1221     write_one_liner_data_file(tmp, nfs_dev);
    1222 
    1223     sprintf(tmp, "%s/NFS-CLIENT-IPADDR", bkpinfo->tmpdir);
    1224     write_one_liner_data_file(tmp, nfs_client_ipaddr);
    1225     sprintf(tmp, "%s/NFS-CLIENT-NETMASK", bkpinfo->tmpdir);
    1226     write_one_liner_data_file(tmp, nfs_client_netmask);
    1227     sprintf(tmp, "%s/NFS-CLIENT-BROADCAST", bkpinfo->tmpdir);
    1228     write_one_liner_data_file(tmp, nfs_client_broadcast);
    1229     sprintf(tmp, "%s/NFS-CLIENT-DEFGW", bkpinfo->tmpdir);
    1230     write_one_liner_data_file(tmp, nfs_client_defgw);
    1231     sprintf(tmp, "%s/NFS-SERVER-IPADDR", bkpinfo->tmpdir);
    1232     write_one_liner_data_file(tmp, nfs_server_ipaddr);
    1233     sprintf(tmp, "%s/NFS-SERVER-MOUNT", bkpinfo->tmpdir);
    1234     write_one_liner_data_file(tmp, bkpinfo->nfs_mount);
    1235     sprintf(tmp, "%s/NFS-SERVER-PATH", bkpinfo->tmpdir);
    1236     write_one_liner_data_file(tmp, bkpinfo->nfs_remote_dir);
    1237     sprintf(tmp, "%s/ISO-PREFIX", bkpinfo->tmpdir);
    1238     write_one_liner_data_file(tmp, bkpinfo->prefix);
     1224    fd1 = mr_fopen(MONDORESTORECFG, "a");
     1225
     1226    mr_fprintf(fd1, "nfs-dev %s\n", nfs_dev);
     1227    mr_fprintf(fd1, "nfs-client-ipaddr %s\n", nfs_client_ipaddr);
     1228    mr_fprintf(fd1, "nfs-client-netmask %s\n", nfs_client_netmask);
     1229    mr_fprintf(fd1, "nfs-client-broadcast %s\n", nfs_client_broadcast);
     1230    mr_fprintf(fd1, "nfs-client-defgw %s\n", nfs_client_defgw);
     1231    mr_fprintf(fd1, "nfs-server-ipaddr %s\n", nfs_server_ipaddr);
     1232    mr_fprintf(fd1, "nfs-server-mount %s\n", bkpinfo->nfs_mount);
     1233    mr_fprintf(fd1, "nfs-server-path %s\n", bkpinfo->nfs_remote_dir);
     1234    mr_fprintf(fd1, "iso-prefix %s\n", bkpinfo->prefix);
     1235    mr_flcose(fd1);
     1236
    12391237    log_it("Finished storing NFS configuration");
    12401238}
  • branches/stable/mondo/src/common/libmondo-tools.c

    r1080 r1087  
    1111#include "my-stuff.h"
    1212#include "mr_mem.h"
     13#include "mr_file.h"
    1314#include "mondostructures.h"
    1415#include "lib-common-externs.h"
     
    409410    char *iso_tmp;
    410411    char *iso_path;
     412    FILE *fd1 = NULL;
    411413
    412414    assert(bkpinfo != NULL);
     
    643645                bkpinfo->isodir);
    644646        log_it("command = %s", command);
    645         log_it("res of it = %s",
    646                call_program_and_get_last_line_of_output(command));
    647647        sprintf(iso_dev, "%s",
    648648                call_program_and_get_last_line_of_output(command));
    649         sprintf(tmp, "%s/ISO-DEV", bkpinfo->tmpdir);
    650         write_one_liner_data_file(tmp,
    651                                   call_program_and_get_last_line_of_output
    652                                   (command));
     649        log_it("res of it = %s", iso_dev);
     650
     651        fd1 = mr_fopen(MONDORESTORECFG, "a");
     652        mr_fprintf(fd1, "iso-dev %s\n", iso_dev);
    653653
    654654        sprintf(command, "mount | grep -w %s | tail -n1 | cut -d' ' -f3",
    655655                iso_dev);
    656656        log_it("command = %s", command);
    657         log_it("res of it = %s",
    658                call_program_and_get_last_line_of_output(command));
    659657        sprintf(iso_mnt, "%s",
    660658                call_program_and_get_last_line_of_output(command));
    661         sprintf(tmp, "%s/ISO-MNT", bkpinfo->tmpdir);
    662         write_one_liner_data_file(tmp,
    663                                   call_program_and_get_last_line_of_output
    664                                   (command));
     659
     660        log_it("res of it = %s", iso_mnt);
     661        mr_fprintf(fd1, "iso-mnt %s\n", iso_mnt);
    665662        log_it("isomnt: %s, %d", iso_mnt, strlen(iso_mnt));
     663
    666664        sprintf(iso_tmp, "%s", bkpinfo->isodir);
    667665        if (strlen(iso_tmp) < strlen(iso_mnt)) {
     
    670668            sprintf(iso_path, "%s", iso_tmp + strlen(iso_mnt));
    671669        }
    672         sprintf(tmp, "%s/ISODIR", bkpinfo->tmpdir);
    673         write_one_liner_data_file(tmp, iso_path);
    674670        log_it("isodir: %s", iso_path);
    675         sprintf(tmp, "%s/ISO-PREFIX", bkpinfo->tmpdir);
    676         write_one_liner_data_file(tmp, bkpinfo->prefix);
     671        mr_fprintf(fd1, "isodir %s\n", iso_path);
     672
    677673        log_it("iso-prefix: %s",  bkpinfo->prefix);
    678 
    679 /* End patch */
     674        mr_fprintf(fd1, "iso-prefix %s\n", bkpinfo->prefix);
     675
     676        mr_flcose(fd1);
    680677    }                           // end of iso code
    681678
  • branches/stable/mondo/src/include/mr_str.h

    r1064 r1087  
    1313extern inline char *mr_strtok(char *instr, const char *delims, int *lastpos);
    1414extern inline char *mr_stresc(char *instr, char *toesc, const char escchr);
     15extern inline char *mr_date(void);
    1516
    1617#endif                          /* MR_STR_H */
  • branches/stable/mondo/src/include/my-stuff.h

    r1080 r1087  
    1313/*The number of lines of log output to keep at the bottom of the screen.*/
    1414#define NOOF_ERR_LINES  6   
     15
     16/* Hardcoded: Bad for the moment */
     17#define MONDO_CACHE "/var/cache/mondo"
     18#define MONDORESTORECFG MONDO_CACHE"/mondo-restore.cfg"
     19
    1520
    1621/**
  • branches/stable/mondo/src/lib/Makefile.am

    r1054 r1087  
    77noinst_LIBRARIES = libmr.a
    88
    9 libmr_a_SOURCES  = mr_conf.c mr_str.c mr_mem.c mr_err.c mr_msg.c
     9libmr_a_SOURCES  = mr_conf.c mr_str.c mr_mem.c mr_err.c mr_msg.c mr_file.c
  • branches/stable/mondo/src/lib/mr_str.c

    r1054 r1087  
    88#include <stdio.h>
    99#include <string.h>
     10#include <time.h>
    1011
    1112#include "mr_mem.h"
     
    105106    return retstr;
    106107}
     108
     109/* Return a string containing the date */
     110char *mr_date(void) {
     111   
     112    time_t tcurr;
     113
     114    tcurr = time(NULL);
     115    return(ctime(&tcurr));
     116}
     117
  • branches/stable/mondo/src/mondoarchive/main.c

    r1080 r1087  
    1919#include "../common/libmondo.h"
    2020#include "mondo-cli-EXT.h"
     21
     22#include "mr_str.h"
    2123
    2224// for CVS
     
    139141}
    140142
    141 /* Return a string containing the date */
    142 char *mr_date(void) {
    143    
    144     time_t tcurr;
    145 
    146     tcurr = time(NULL);
    147     return(ctime(&tcurr));
    148 }
    149 
    150143/*-----------------------------------------------------------*/
    151144
  • branches/stable/mondo/src/mondorestore/mondo-rstr-newt.c

    r1080 r1087  
    55#include "mr_mem.h"
    66
     7extern char *g_mondo_cfg_file;  // where m*ndo-restore.cfg (the config file) is stored
    78
    89/**
     
    22652266                char *isodir_path, bool nuke_me_please)
    22662267{
     2268    char *value = NULL;
    22672269
    22682270    /** initialize ********************************************************/
     2271    malloc_string(value);
    22692272
    22702273    assert(isodir_device != NULL);
     
    22722275    assert(isodir_path != NULL);
    22732276
    2274     log_it("%d - AAA - isodir_path = %s", isodir_path);
     2277    log_it("%d - AAA - isodir_path = %s", __LINE__, isodir_path);
    22752278    isodir_format[0] = '\0';
    22762279    if (isodir_device[0] == '\0') {
     
    22802283        strcpy(isodir_path, "/");
    22812284    }
    2282     if (does_file_exist("/tmp/NFS-SERVER-PATH")) {
    2283         strcpy(isodir_device, last_line_of_file("/tmp/NFS-SERVER-MOUNT"));
     2285    if (read_cfg_var(g_mondo_cfg_file, "nfs-server-path", value) == 0) {
     2286        read_cfg_var(g_mondo_cfg_file, "nfs-server-mount", isodir_device);
    22842287        strcpy(isodir_format, "nfs");
    2285         strcpy(isodir_path, last_line_of_file("/tmp/NFS-SERVER-PATH"));
    2286     }
     2288        strcpy(isodir_path, value);
     2289    }
     2290    mr_free(value);
     2291
    22872292    if (nuke_me_please) {
    22882293        return (TRUE);
  • branches/stable/mondo/src/mondorestore/mondo-rstr-tools.c

    r1080 r1087  
    978978
    979979    read_cfg_var(cfg_file, "acl", value);
    980     if (strstr(value, "TRUE")) {
     980    if (strstr(value, "yes")) {
    981981        mr_asprintf(&g_getfacl,"setfacl");
    982982        log_msg(1, "We will restore ACLs");
     
    986986    }
    987987    read_cfg_var(cfg_file, "xattr", value);
    988     if (strstr(value, "TRUE")) {
     988    if (strstr(value, "yes")) {
    989989        mr_asprintf(&g_getfattr,"setfattr");
    990990        log_msg(1, "We will restore XATTRs");
Note: See TracChangeset for help on using the changeset viewer.