- Replace make(1) and -D FTP_HOST with SYSINST_FTP_HOST.

Defaults to "ftp.netbsd.org"
- Replace make(1) and -D FTP_DIR with SYSINST_FTP_DIR.
  Defaults to "pub/NetBSD/NetBSD-" + VER + "/" + MACH.
  (FTP_DIR used to override "pub/NetBSD/NetBSD-", which meant the
  path name had to contain the release version in it)
- Add make(1) and -D SYSINST_CDROM_DIR.
  Defaults to "/" + mach.
- only append ftp_prefix to ftp_dir and cdrom_dir once, just after
  the options are parsed.  Do this in newly added set_defaults().
This commit is contained in:
lukem 2002-06-06 09:53:22 +00:00
parent a3ffe0312f
commit 29f550aa8c
5 changed files with 61 additions and 28 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.inc,v 1.16 2002/04/29 04:40:00 sommerfeld Exp $
# $NetBSD: Makefile.inc,v 1.17 2002/06/06 09:53:22 lukem Exp $
#
# Makefile for install
@ -17,14 +17,29 @@ VER!= sh ${VERDEP}
CPPFLAGS+= -I. -I${.CURDIR}/../.. -I${.CURDIR} \
-DREL=\"${VER}\" -DMACH=\"${MACHINE}\"
# Host to ftp from. Default:
# "ftp.netbsd.org"
#
.if defined(SYSINST_FTP_HOST)
CPPFLAGS+= -DFTP_HOST="${SYSINST_FTP_HOST}"
CPPFLAGS+= -DSYSINST_FTP_HOST=\"${SYSINST_FTP_HOST}\"
.endif
# Top-level ftp directory. Default:
# "pub/NetBSD/NetBSD-" + VER + "/" + MACH
#
.if defined(SYSINST_FTP_DIR)
CPPFLAGS+= -DFTP_DIR="${SYSINST_FTP_DIR}"
CPPFLAGS+= -DSYSINST_FTP_DIR=\"${SYSINST_FTP_DIR}\"
.endif
# Top-level CDROM directory. Default:
# "/" + MACH
#
.if defined(SYSINST_CDROM_DIR)
CPPFLAGS+= -DSYSINST_CDROM_DIR=\"${SYSINST_CDROM_DIR}\"
.endif
WARNS= 1
CLEANFILES= menu_defs.c menu_defs.h menus.def \

View File

@ -1,4 +1,4 @@
/* $NetBSD: defs.h,v 1.69 2002/04/04 14:26:43 ad Exp $ */
/* $NetBSD: defs.h,v 1.70 2002/06/06 09:53:22 lukem Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@ -196,19 +196,21 @@ EXTERN char dist_dir[STRSIZE] INIT("/usr/INSTALL");
EXTERN int clean_dist_dir INIT(0);
/* Absolute path name where the distribution should be extracted from. */
#if !defined(FTP_HOST)
#define FTP_HOST ftp.netbsd.org
#if !defined(SYSINST_FTP_HOST)
#define SYSINST_FTP_HOST "ftp.netbsd.org"
#endif
#if !defined(FTP_DIR)
#define FTP_DIR pub/NetBSD/NetBSD-
#if !defined(SYSINST_FTP_DIR)
#define SYSINST_FTP_DIR "pub/NetBSD/NetBSD-" REL "/" MACH
#endif
#define STRING(x) __STRING(x)
#if !defined(SYSINST_CDROM_DIR)
#define SYSINST_CDROM_DIR "/" MACH
#endif
EXTERN char ext_dir[STRSIZE] INIT("");
EXTERN char ftp_host[STRSIZE] INIT(STRING(FTP_HOST));
EXTERN char ftp_dir[STRSIZE] INIT(STRING(FTP_DIR));
EXTERN char ftp_host[STRSIZE] INIT(SYSINST_FTP_HOST);
EXTERN char ftp_dir[STRSIZE] INIT(SYSINST_FTP_DIR);
EXTERN char ftp_prefix[STRSIZE] INIT("/binary/sets");
EXTERN char ftp_user[STRSIZE] INIT("ftp");
EXTERN char ftp_pass[STRSIZE] INIT("");
@ -218,7 +220,7 @@ EXTERN char nfs_host[STRSIZE] INIT("");
EXTERN char nfs_dir[STRSIZE] INIT("");
EXTERN char cdrom_dev[SSTRSIZE] INIT("cd0");
EXTERN char cdrom_dir[STRSIZE] INIT("/");
EXTERN char cdrom_dir[STRSIZE] INIT(SYSINST_CDROM_DIR);
EXTERN char localfs_dev[SSTRSIZE] INIT("sd0");
EXTERN char localfs_fs[SSTRSIZE] INIT("ffs");

View File

@ -1,4 +1,4 @@
/* $NetBSD: main.c,v 1.26 2001/11/17 02:06:47 perry Exp $ */
/* $NetBSD: main.c,v 1.27 2002/06/06 09:53:22 lukem Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@ -59,6 +59,7 @@ static void usage (void);
static void miscsighandler (int);
static void ttysighandler (int);
static void cleanup (void);
static void set_defaults (void);
static void process_f_flag (char *);
static int exit_cleanly = 0; /* Did we finish nicely? */
@ -108,6 +109,8 @@ main(argc, argv)
usage();
}
set_defaults();
md_init();
/* initialize message window */
@ -251,6 +254,32 @@ cleanup()
fprintf(stderr, "\n\nsysinst terminated.\n");
}
static void
set_defaults(void)
{
/*
* Set defaults for ftp_dir & cdrom_dir, by appending ftp_prefix.
* This occurs even when the settings are read in from
* "-f definition-file".
*
* Default values (can be changed in definition-file):
* ftp_dir SYSINST_FTP_DIR
* SYSINST_FTP_DIR "pub/NetBSD/NetBSD-" + REL + "/" MACH
*
* cdrom_dir SYSINST_CDROM_DIR
# SYSINST_CDROM_DIR "/" + MACH
*
* ftp_prefix "/binary/sets"
*/
/* ftp_dir += ftp_prefix */
strncat(ftp_dir, ftp_prefix, STRSIZE - strlen(ftp_dir));
/* cdrom_dir += ftp_prefix */
strncat(cdrom_dir, ftp_prefix, STRSIZE - strlen(cdrom_dir));
}
/* Stuff for processing the -f file argument. */

View File

@ -1,4 +1,4 @@
/* $NetBSD: net.c,v 1.77 2002/05/24 07:58:23 itojun Exp $ */
/* $NetBSD: net.c,v 1.78 2002/06/06 09:53:22 lukem Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@ -690,11 +690,6 @@ get_via_ftp()
cd_dist_dir("ftp");
/* Fill in final values for ftp_dir. */
strncat(ftp_dir, rel, STRSIZE - strlen(ftp_dir));
strcat(ftp_dir, "/");
strncat(ftp_dir, machine, STRSIZE - strlen(ftp_dir));
strncat(ftp_dir, ftp_prefix, STRSIZE - strlen(ftp_dir));
process_menu(MENU_ftpsource);
list = dist_list;

View File

@ -1,4 +1,4 @@
/* $NetBSD: util.c,v 1.70 2002/06/05 10:00:43 enami Exp $ */
/* $NetBSD: util.c,v 1.71 2002/06/06 09:53:22 lukem Exp $ */
/*
* Copyright 1997 Piermont Information Systems Inc.
@ -252,14 +252,6 @@ get_via_cdrom()
{
char tmpdir[STRSIZE];
/*
* Fill in final default path, similar to ftp path
* because we expect the CDROM structure to be the
* same as the ftp site.
*/
strncat(cdrom_dir, machine, STRSIZE - strlen(cdrom_dir));
strncat(cdrom_dir, ftp_prefix, STRSIZE - strlen(cdrom_dir));
/* Get CD-rom device name and path within CD-rom */
process_menu(MENU_cdromsource);