version 1.118, 2004/04/18 20:42:19 |
version 1.119, 2004/04/18 21:34:56 |
Line 119 struct tarstats { |
|
Line 119 struct tarstats { |
|
int nskipped; |
int nskipped; |
} tarstats; |
} tarstats; |
|
|
static int extract_file(char *path); |
static int extract_file(int, int, char *path); |
static int extract_dist(void); |
static int extract_dist(int); |
int distribution_sets_exist_p(const char *path); |
int distribution_sets_exist_p(const char *path); |
static int check_for(unsigned int mode, const char *pathname); |
static int check_for(unsigned int mode, const char *pathname); |
|
|
Line 684 ask_verbose_dist(void) |
|
Line 684 ask_verbose_dist(void) |
|
} |
} |
|
|
static int |
static int |
extract_file(char *path) |
extract_file(int set, int update, char *path) |
{ |
{ |
char *owd; |
char *owd; |
int tarexit; |
int tarexit; |
Line 702 extract_file(char *path) |
|
Line 702 extract_file(char *path) |
|
|
|
tarstats.nfound++; |
tarstats.nfound++; |
/* cd to the target root. */ |
/* cd to the target root. */ |
target_chdir_or_die("/"); |
if (update && set == SET_ETC) { |
|
make_target_dir("/.sysinst"); |
|
target_chdir_or_die("/.sysinst"); |
|
} else |
|
target_chdir_or_die("/"); |
|
|
/* now extract set files files into "./". */ |
/* now extract set files files into "./". */ |
if (verbose == 1) |
if (verbose == 1) |
Line 726 extract_file(char *path) |
|
Line 730 extract_file(char *path) |
|
return yesno; |
return yesno; |
} |
} |
|
|
|
if (update && set == SET_ETC) { |
|
run_program(RUN_DISPLAY | RUN_CHROOT, |
|
"/etc/postinstall -s /.sysinst -d / fix"); |
|
} |
|
|
tarstats.nsuccess++; |
tarstats.nsuccess++; |
return 2; |
return 2; |
} |
} |
Line 738 extract_file(char *path) |
|
Line 747 extract_file(char *path) |
|
*/ |
*/ |
|
|
static int |
static int |
extract_dist(void) |
extract_dist(int update) |
{ |
{ |
char fname[STRSIZE]; |
char fname[STRSIZE]; |
distinfo *list; |
distinfo *list; |
Line 762 extract_dist(void) |
|
Line 771 extract_dist(void) |
|
ext_dir, list->name, dist_postfix); |
ext_dir, list->name, dist_postfix); |
|
|
/* if extraction failed and user aborted, punt. */ |
/* if extraction failed and user aborted, punt. */ |
extracted = extract_file(fname); |
extracted = extract_file(list->set, update, fname); |
if (extracted == 2) |
if (extracted == 2) |
sets_installed |= list->set; |
sets_installed |= list->set; |
} |
} |
Line 792 extract_dist(void) |
|
Line 801 extract_dist(void) |
|
* success_msg and failure_msg must both be 0-adic messages. |
* success_msg and failure_msg must both be 0-adic messages. |
*/ |
*/ |
int |
int |
get_and_unpack_sets(msg success_msg, msg failure_msg) |
get_and_unpack_sets(int update, msg success_msg, msg failure_msg) |
{ |
{ |
int got_dist; |
int got_dist; |
|
|
Line 823 get_and_unpack_sets(msg success_msg, msg |
|
Line 832 get_and_unpack_sets(msg success_msg, msg |
|
} |
} |
|
|
/* Extract the distribution, abort on errors. */ |
/* Extract the distribution, abort on errors. */ |
if (extract_dist()) |
if (extract_dist(update)) |
return 1; |
return 1; |
|
|
/* Configure the system */ |
/* Configure the system */ |