mirror of
https://github.com/sheumann/hush.git
synced 2024-12-21 23:29:34 +00:00
install: strip before mode/uid/gid is set, not after.
function old new delta install_main 694 716 +22 basename 21 - -21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
8ce1dc03c1
commit
43d9747f6e
@ -167,12 +167,23 @@ int install_main(int argc, char **argv)
|
||||
free(ddir);
|
||||
}
|
||||
if (isdir)
|
||||
dest = concat_path_file(last, basename(arg));
|
||||
if (copy_file(arg, dest, copy_flags)) {
|
||||
dest = concat_path_file(last, bb_basename(arg));
|
||||
if (copy_file(arg, dest, copy_flags) != 0) {
|
||||
/* copy is not made */
|
||||
ret = EXIT_FAILURE;
|
||||
goto next;
|
||||
}
|
||||
if (opts & OPT_STRIP) {
|
||||
char *args[4];
|
||||
args[0] = (char*)"strip";
|
||||
args[1] = (char*)"-p"; /* -p --preserve-dates */
|
||||
args[2] = dest;
|
||||
args[3] = NULL;
|
||||
if (spawn_and_wait(args)) {
|
||||
bb_perror_msg("strip");
|
||||
ret = EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Set the file mode (always, not only with -m).
|
||||
@ -192,16 +203,6 @@ int install_main(int argc, char **argv)
|
||||
bb_perror_msg("can't change %s of %s", "ownership", dest);
|
||||
ret = EXIT_FAILURE;
|
||||
}
|
||||
if (opts & OPT_STRIP) {
|
||||
char *args[3];
|
||||
args[0] = (char*)"strip";
|
||||
args[1] = dest;
|
||||
args[2] = NULL;
|
||||
if (spawn_and_wait(args)) {
|
||||
bb_perror_msg("strip");
|
||||
ret = EXIT_FAILURE;
|
||||
}
|
||||
}
|
||||
next:
|
||||
if (ENABLE_FEATURE_CLEAN_UP && isdir)
|
||||
free(dest);
|
||||
|
Loading…
Reference in New Issue
Block a user