diff options
author | Jasper Lievisse Adriaanse <[email protected]> | 2015-04-16 13:08:28 +0200 |
---|---|---|
committer | raveit65 <[email protected]> | 2020-01-04 13:34:23 +0100 |
commit | 0ebcf1dcd060704f1d6adb6891592ab969569b7d (patch) | |
tree | b8a1878caf1c618bb887bf781ac8a52c06b77292 | |
parent | a918872fa8d9d904e2bca8ed15de4ebc3a998540 (diff) | |
download | engrampa-0ebcf1dcd060704f1d6adb6891592ab969569b7d.tar.bz2 engrampa-0ebcf1dcd060704f1d6adb6891592ab969569b7d.tar.xz |
add a configure environment variable to select the cpio path
on some systems (like OpenBSD), gcpio is prefered over the base cpio.
origin commit:
https://gitlab.gnome.org/GNOME/file-roller/commit/8a51165
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/commands/rpm2cpio.c | 2 | ||||
-rw-r--r-- | src/fr-command-cpio.c | 4 | ||||
-rw-r--r-- | src/fr-command-rpm.c | 4 |
4 files changed, 9 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index 778ff10..d0eabc0 100644 --- a/configure.ac +++ b/configure.ac @@ -198,6 +198,10 @@ fi AM_CONDITIONAL(ENABLE_MAGIC, test x"$enable_magic" != x"no") +AC_ARG_VAR([CPIO], [Path to the `cpio` command]) +AC_PATH_PROGS(CPIO, gcpio cpio) +AC_DEFINE_UNQUOTED(CPIO_PATH, "${CPIO}", [Path to cpio]) + dnl ****************************** YELP_HELP_INIT diff --git a/src/commands/rpm2cpio.c b/src/commands/rpm2cpio.c index b55fb24..e945d50 100644 --- a/src/commands/rpm2cpio.c +++ b/src/commands/rpm2cpio.c @@ -128,7 +128,7 @@ main (int argc, char **argv) archive_command = "bzip2 -dc"; fclose (stream); - command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | cpio %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str); + command = g_strdup_printf ("sh -c \"dd if=%s ibs=%u skip=1 2>/dev/null | %s | " CPIO_PATH " %s\"", g_shell_quote (filename), offset, archive_command, cpio_args->str); return system (command); } diff --git a/src/fr-command-cpio.c b/src/fr-command-cpio.c index 94608d7..b3d4282 100644 --- a/src/fr-command-cpio.c +++ b/src/fr-command-cpio.c @@ -176,7 +176,7 @@ fr_command_cpio_list (FrCommand *comm) fr_process_begin_command (comm->process, "sh"); fr_process_add_arg (comm->process, "-c"); - fr_process_add_arg_concat (comm->process, "cpio -itv < ", comm->e_filename, NULL); + fr_process_add_arg_concat (comm->process, CPIO_PATH " -itv < ", comm->e_filename, NULL); fr_process_end_command (comm->process); fr_process_start (comm->process); } @@ -240,7 +240,7 @@ fr_command_cpio_get_capabilities (FrCommand *comm, FrCommandCap capabilities; capabilities = FR_COMMAND_CAN_ARCHIVE_MANY_FILES; - if (is_program_available ("cpio", check_command)) + if (is_program_available (CPIO_PATH, check_command)) capabilities |= FR_COMMAND_CAN_READ; return capabilities; diff --git a/src/fr-command-rpm.c b/src/fr-command-rpm.c index 89cd285..60e2796 100644 --- a/src/fr-command-rpm.c +++ b/src/fr-command-rpm.c @@ -241,7 +241,7 @@ fr_command_rpm_get_capabilities (FrCommand *comm, FrCommandCap capabilities; capabilities = FR_COMMAND_CAN_ARCHIVE_MANY_FILES; - if (is_program_available ("cpio", check_command)) + if (is_program_available (CPIO_PATH, check_command)) capabilities |= FR_COMMAND_CAN_READ; return capabilities; @@ -252,7 +252,7 @@ static const char * fr_command_rpm_get_packages (FrCommand *comm, const char *mime_type) { - return PACKAGES ("cpio,rpm"); + return PACKAGES (CPIO_PATH ",rpm"); } |