Date: Fri, 31 Dec 2010 15:16:19 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r216842 - in user/nwhitehorn/bsdinstall: . distextract distfetch scripts Message-ID: <201012311516.oBVFGJW6078040@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Fri Dec 31 15:16:18 2010 New Revision: 216842 URL: http://svn.freebsd.org/changeset/base/216842 Log: Fix a spelling error pointed out by brucec, repair distfetch so it works again, and improve documentation. Modified: user/nwhitehorn/bsdinstall/NOTES user/nwhitehorn/bsdinstall/README user/nwhitehorn/bsdinstall/bsdinstall user/nwhitehorn/bsdinstall/distextract/distextract.c user/nwhitehorn/bsdinstall/distfetch/distfetch.c user/nwhitehorn/bsdinstall/scripts/auto Modified: user/nwhitehorn/bsdinstall/NOTES ============================================================================== --- user/nwhitehorn/bsdinstall/NOTES Fri Dec 31 14:03:57 2010 (r216841) +++ user/nwhitehorn/bsdinstall/NOTES Fri Dec 31 15:16:18 2010 (r216842) @@ -1,3 +1,15 @@ Targets for tarballs: installkernel installworld (distrib-dirs distribution) Tools used in scripts: dialog sh awk sort cp dd ifconfig sysctl xargs mkdir mount cat uname netstat newfs + +Environment variables affecting modules: +- DISTRIBUTIONS: List of tarballs to unpack, including .tgz extension +- BSDINSTALL_DISTDIR: Files system location at which to download distfiles and + from which to extract them +- BSDINSTALL_DISTSITE: Base URL for downloading distfiles. Will be downloaded + from $BSDINSTALL_DISTSITE/$DIST +- BSDINSTALL_LOG: Log file path for installation log +- PATH_FSTAB: fstab file to use. Need not exist yet. +- BSDINSTALL_CHROOT: Destination location for the installation. File systems + are mounted here and files installed to this path. + Modified: user/nwhitehorn/bsdinstall/README ============================================================================== --- user/nwhitehorn/bsdinstall/README Fri Dec 31 14:03:57 2010 (r216841) +++ user/nwhitehorn/bsdinstall/README Fri Dec 31 15:16:18 2010 (r216842) @@ -21,7 +21,7 @@ Missing features: Goals: - Reinvent as few wheels as possible -- Extensability +- Extensibility - Scriptability without a scripting language -- the installer itself should be a script a user can modify - Minimal grubbing around in outputs of shell commands with awk, sed, etc. Modified: user/nwhitehorn/bsdinstall/bsdinstall ============================================================================== --- user/nwhitehorn/bsdinstall/bsdinstall Fri Dec 31 14:03:57 2010 (r216841) +++ user/nwhitehorn/bsdinstall/bsdinstall Fri Dec 31 15:16:18 2010 (r216842) @@ -1,6 +1,6 @@ #!/bin/sh -DISTRIBUTIONS="kernel world distribution"; export DISTRIBUTIONS +DISTRIBUTIONS="kernel.tgz world.tgz distribution.tgz"; export DISTRIBUTIONS BSDINSTALL_LOG="/tmp/bsdinstall_log"; export BSDINSTALL_LOG PATH_FSTAB="/tmp/fstab"; export PATH_FSTAB BSDINSTALL_DISTDIR="/var/dist"; export BSDINSTALL_DISTDIR Modified: user/nwhitehorn/bsdinstall/distextract/distextract.c ============================================================================== --- user/nwhitehorn/bsdinstall/distextract/distextract.c Fri Dec 31 14:03:57 2010 (r216841) +++ user/nwhitehorn/bsdinstall/distextract/distextract.c Fri Dec 31 15:16:18 2010 (r216842) @@ -70,8 +70,7 @@ extract_files(int nfiles, const char **f archive = archive_read_new(); archive_read_support_format_all(archive); archive_read_support_compression_all(archive); - sprintf(path, "%s/%s.tgz", getenv("BSDINSTALL_DISTDIR"), - files[i]); + sprintf(path, "%s/%s", getenv("BSDINSTALL_DISTDIR"), files[i]); err = archive_read_open_filename(archive, path, 4096); if (err != ARCHIVE_OK) { snprintf(errormsg, sizeof(errormsg), @@ -101,8 +100,7 @@ extract_files(int nfiles, const char **f archive = archive_read_new(); archive_read_support_format_all(archive); archive_read_support_compression_all(archive); - sprintf(path, "%s/%s.tgz", getenv("BSDINSTALL_DISTDIR"), - files[i]); + sprintf(path, "%s/%s", getenv("BSDINSTALL_DISTDIR"), files[i]); err = archive_read_open_filename(archive, path, 4096); items[i*2 + 1] = "In Progress"; Modified: user/nwhitehorn/bsdinstall/distfetch/distfetch.c ============================================================================== --- user/nwhitehorn/bsdinstall/distfetch/distfetch.c Fri Dec 31 14:03:57 2010 (r216841) +++ user/nwhitehorn/bsdinstall/distfetch/distfetch.c Fri Dec 31 15:16:18 2010 (r216842) @@ -4,16 +4,37 @@ #include <fetch.h> #include <cdialog/dialog.h> -static int fetch_files(int nfiles, const char **urls); +static int fetch_files(int nfiles, char **urls); int main(void) { - return (fetch_files(argc - 1, &argv[1])); + char *diststring = strdup(getenv("DISTRIBUTIONS")); + char **urls; + int i, retval, ndists = 0; + for (i = 0; diststring[i] != 0; i++) + if (isspace(diststring[i]) && !isspace(diststring[i+1])) + ndists++; + ndists++; /* Last one */ + + urls = calloc(ndists, sizeof(const char *)); + for (i = 0; i < ndists; i++) { + urls[i] = malloc(PATH_MAX); + sprintf(urls[i], "%s/%s", getenv("BSDINSTALL_DISTSITE"), + strsep(&diststring, " \t")); + } + + chdir(getenv("BSDINSTALL_DISTDIR")); + retval = fetch_files(ndists, urls); + + free(diststring); + for (i = 0; i < ndists; i++) + free(urls[i]); + free(urls); } static int -fetch_files(int nfiles, const char **urls) +fetch_files(int nfiles, char **urls) { const char **items; FILE *fetch_out, *file_out; Modified: user/nwhitehorn/bsdinstall/scripts/auto ============================================================================== --- user/nwhitehorn/bsdinstall/scripts/auto Fri Dec 31 14:03:57 2010 (r216841) +++ user/nwhitehorn/bsdinstall/scripts/auto Fri Dec 31 15:16:18 2010 (r216842) @@ -8,7 +8,7 @@ bsdinstall hostname FETCH_DISTRIBUTIONS="" for dist in $DISTRIBUTIONS; do - if [ ! -f $BSDINSTALL_DISTDIR/$dist.tgz ]; then + if [ ! -f $BSDINSTALL_DISTDIR/$dist ]; then FETCH_DISTRIBUTIONS="$FETCH_DISTRIBUTIONS $dist" fi done
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201012311516.oBVFGJW6078040>