Ignore:
Timestamp:
Aug 26, 2007, 12:26:06 PM (17 years ago)
Author:
Bruno Cornec
Message:

Use of conf file entries (iso_burning_*, media_device, media_size)
and adapatation of the rest of the code to that (including bkpinfo)

File:
1 edited

Legend:

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

    r1592 r1594  
    329329 * - Used: @c bkpinfo->backup_data
    330330 * - Used: @c bkpinfo->backup_media_type
    331  * - Used: @c bkpinfo->cdrw_speed
     331 * - Used: @c bkpinfo->writer_speed
    332332 * - Used: @c bkpinfo->compression_level
    333333 * - Used: @c bkpinfo->include_paths
     
    485485        }
    486486        if (bkpinfo->manual_cd_tray) {
    487             if (strstr(mr_conf->mondo_iso_burning_cmd,"growisofs") == NULL) {
     487            if (strstr(mr_conf->iso_burning_cmd,"growisofs") != NULL) {
    488488                fatal_error("Unable to use manual CD tray with growisofs");
    489489            }
     
    502502            sprintf(bkpinfo->call_make_iso,
    503503                    "%s %s %s dev=%s speed=%d %s/temporary.iso",
    504                     mr_conf->mondo_iso_burning_cmd,
     504                    mr_conf->iso_burning_cmd,
    505505                    extra_cdrom_params,
    506                     mr_conf->mondo_iso_burning_opt,
    507                     bkpinfo->media_device,
    508                     bkpinfo->cdrw_speed,
     506                    mr_conf->iso_burning_opt,
     507                    bkpinfo->iso_burning_dev,
     508                    bkpinfo->writer_speed,
    509509                    bkpinfo->tmpdir);
    510510        } else {
    511             if (strstr(mr_conf->mondo_iso_burning_cmd,"growisofs") == NULL) {
    512                 if (getenv ("SUDO_COMMAND")) {
    513                     mr_asprintf(&command, "strings `which growisofs` | grep -c SUDO_COMMAND");
    514                     if (!strcmp(call_program_and_get_last_line_of_output(command), "1")) {
    515                         fatal_error("Can't write DVDs as sudo because growisofs doesn't support this - see the growisofs manpage for details.");
     511            if (bkpinfo->backup_media_type == iso) {
     512                sprintf(bkpinfo->call_make_iso,
     513                    "%s %s . 2>> %s",
     514                        mr_conf->iso_creation_cmd,
     515                        mondo_mkisofs_sz,
     516                        MONDO_LOGFILE);
     517            } else {
     518                if (strstr(mr_conf->iso_burning_cmd,"growisofs") != NULL) {
     519                    if (getenv ("SUDO_COMMAND")) {
     520                        mr_asprintf(&command, "strings %s | grep -c SUDO_COMMAND", mr_conf->iso_burning_cmd);
     521                        if (!strcmp(call_program_and_get_last_line_of_output(command), "1")) {
     522                            fatal_error("Can't write DVDs as sudo because growisofs doesn't support this - see the growisofs manpage for details.");
     523                        }
     524                        mr_free(command);
    516525                    }
    517                     mr_free(command);
     526                    sprintf(bkpinfo->call_make_iso,
     527                        "%s %s %s %s -Z %s -speed=%d . 2>> %s",
     528                        mr_conf->iso_burning_cmd,
     529                        mondo_mkisofs_sz,
     530                        extra_cdrom_params,
     531                        mr_conf->iso_burning_opt,
     532                        bkpinfo->iso_burning_dev,
     533                        bkpinfo->writer_speed,
     534                        MONDO_LOGFILE);
     535                } else {
     536                    sprintf(bkpinfo->call_make_iso,
     537                        "%s %s . 2>> %s | %s %s %s dev=%s speed=%d -",
     538                        mr_conf->iso_creation_cmd,
     539                        mondo_mkisofs_sz,
     540                        MONDO_LOGFILE,
     541                        mr_conf->iso_burning_cmd,
     542                        extra_cdrom_params,
     543                        mr_conf->iso_burning_opt,
     544                        bkpinfo->iso_burning_dev,
     545                        bkpinfo->writer_speed);
    518546                }
    519                 sprintf(bkpinfo->call_make_iso,
    520                     "%s %s %s %s -Z %s -speed=%d . 2>> %s",
    521                     mr_conf->mondo_iso_burning_cmd,
    522                     mondo_mkisofs_sz,
    523                     extra_cdrom_params,
    524                     mr_conf->mondo_iso_burning_opt,
    525                     bkpinfo->media_device,
    526                     bkpinfo->cdrw_speed,
    527                     MONDO_LOGFILE);
    528             } else {
    529                 sprintf(bkpinfo->call_make_iso,
    530                     "%s %s . 2>> %s | %s %s %s dev=%s speed=%d -",
    531                     mr_conf->iso_creation_cmd,
    532                     mondo_mkisofs_sz,
    533                     MONDO_LOGFILE,
    534                     mr_conf->mondo_iso_burning_cmd,
    535                     extra_cdrom_params,
    536                     mr_conf->mondo_iso_burning_opt,
    537                     bkpinfo->media_device,
    538                     bkpinfo->cdrw_speed);
     547            mr_free(mondo_mkisofs_sz);
     548            mr_free(extra_cdrom_params);
    539549            }
    540550        }
    541         mr_free(mondo_mkisofs_sz);
    542         mr_free(extra_cdrom_params);
    543551    }                           // end of CD code
    544552
     
    684692void reset_bkpinfo(struct s_bkpinfo *bkpinfo)
    685693{
     694    char *tmp = NULL;
     695
    686696    mr_msg(1, "Hi");
    687697
     
    692702    bkpinfo->manual_cd_tray = FALSE;
    693703    bkpinfo->internal_tape_block_size = DEFAULT_INTERNAL_TAPE_BLOCK_SIZE;
    694     bkpinfo->media_device[0] = '\0';
    695     bkpinfo->media_size = 0L;
     704    mr_asprintf(&tmp,mr_conf->media_device);
     705    bkpinfo->media_device = tmp;
     706    mr_asprintf(&tmp,mr_conf->iso_burning_dev);
     707    bkpinfo->iso_burning_dev = tmp;
     708
     709    bkpinfo->media_size = mr_conf->iso_burning_speed;
    696710    bkpinfo->boot_loader = '\0';
    697711    bkpinfo->boot_device[0] = '\0';
     
    732746    bkpinfo->wipe_media_first = FALSE;
    733747    bkpinfo->differential = FALSE;
    734     bkpinfo->cdrw_speed = 0;
     748    bkpinfo->writer_speed = mr_conf->iso_burning_speed;
    735749// patch by Herman Kuster 
    736750    bkpinfo->differential = 0;
     
    848862    }
    849863#endif
    850     retval += whine_if_not_found(mr_conf->mr_iso_creation_cmd);
    851     retval += whine_if_not_found(mr_conf->mondo_iso_burning_cmd);
     864    retval += whine_if_not_found(mr_conf->iso_creation_cmd);
     865    retval += whine_if_not_found(mr_conf->iso_burning_cmd);
    852866    retval += whine_if_not_found(MKE2FS_OR_NEWFS);
    853867    retval += whine_if_not_found("bzip2");
Note: See TracChangeset for help on using the changeset viewer.