Ignore:
Timestamp:
Mar 7, 2024, 2:56:52 PM (2 months ago)
Author:
Bruno Cornec
Message:

Fix find_home_of_exe calls + errors

File:
1 edited

Legend:

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

    r3856 r3867  
    1414#include "mondostructures.h"
    1515#include "lib-common-externs.h"
    16 #include "libmondo-tools.h"
    1716#include "libmondo-gui-EXT.h"
    1817#include "libmondo-files-EXT.h"
     
    436435
    437436    if (bkpinfo->backup_media_type == dvd) {
    438         if (find_home_of_exe("growisofs")) {
    439             mr_asprintf(cdr_exe, "growisofs");
    440         }                       // unlikely to be used
    441         else {
     437        if ((cdr_exe = find_home_of_exe("growisofs")) == NULL) {
    442438            fatal_error("Please install growisofs.");
    443439        }
     
    462458            mondo_mkisofs_sz = mr_compute_uefi_string(cdr_exe);
    463459        }
     460        mr_free(cdr_exe);
     461
    464462        if (bkpinfo->manual_cd_tray) {
    465463            fatal_error("Manual CD tray + DVD not supported yet.");
     
    496494            mr_asprintf(extra_cdrom_params, " ");
    497495        }
    498         if (find_home_of_exe("cdrecord")) {
    499             mr_asprintf(cdr_exe, "cdrecord");
    500         } else if (find_home_of_exe("dvdrecord")) {
    501             mr_asprintf(cdr_exe, "dvdrecord");
     496        if ((cdr_exe = find_home_of_exe("cdrecord")) == NULL) {
     497            if ((cdr_exe = find_home_of_exe("wodim")) == NULL) {
     498                if ((cdr_exe = find_home_of_exe("dvdrecord")) == NULL) {
     499                    fatal_error("Please install either cdrecord, wodim or dvdrecord.");
     500                }
     501            }
     502        }
     503        if ((tmp = find_home_of_exe("xorriso")) != NULL) {
     504            mr_asprintf(isofs_cmd, "%s %s", tmp, MONDO_XORRISO_OPT);
     505        } else if ((tmp = find_home_of_exe("genisoimage")) != NULL) {
     506            mr_asprintf(isofs_cmd, "%s %s", tmp, MONDO_GENISOIMAGE_OPT);
     507        } else if ((tmp = find_home_of_exe("mkisofs")) != NULL) {
     508            mr_asprintf(isofs_cmd, "%s %s", tmp, MONDO_MKISOFS_OPT);
     509        } else if ((tmp = find_home_of_exe("wodim")) != NULL) {
     510            mr_asprintf(isofs_cmd, "%s %s", tmp, MONDO_WODIM_OPT);
    502511        } else {
    503             fatal_error("Please install either cdrecord or dvdrecord.");
    504         }
    505         if (find_home_of_exe("xorriso")) {
    506             mr_asprintf(isofs_cmd, "%s", MONDO_XORRISO_CMD);
    507         } else if (find_home_of_exe("genisoimage")) {
    508             mr_asprintf(isofs_cmd, "%s", MONDO_GENISOIMAGE_CMD);
    509         } else {
    510             mr_asprintf(isofs_cmd, "%s", MONDO_MKISOFS_CMD);
    511         }
     512            fatal_error("Unable to find a command to create ISO among xorriso, genisoimage, mksiofs or wodim, please install one");
     513        }
     514        mr_free(tmp);
     515
    512516        if (bkpinfo->nonbootable_backup) {
    513517            mr_asprintf(mondo_mkisofs_sz, "%s%s", isofs_cmd, MONDO_MKISOFS);
     
    965969    retval += whine_if_not_found("bzip2");
    966970    retval += whine_if_not_found("gzip");
     971    retval += whine_if_not_found("cmp");
    967972    retval += whine_if_not_found("awk");
    968973    retval += whine_if_not_found("md5sum");
     
    981986    }
    982987
    983     if (!find_home_of_exe("cmp")) {
    984         whine_if_not_found("cmp");
    985     }
    986988    run_program_and_log_output("umount `mount | grep cdr | cut -d' ' -f3 | tr '\n' ' '`", 5);
    987989    tmp = call_program_and_get_last_line_of_output("mount | grep -E 'cdr(om|w)'");
Note: See TracChangeset for help on using the changeset viewer.