Here's a patch that allows you to install from any local directory from the
command line, building on what Harry did.
A Changelog entry is also attached.
-Len
Index: setup/localdir.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/localdir.cc,v
retrieving revision 2.11
diff -u -p -r2.11 localdir.cc
--- setup/localdir.cc 4 May 2002 12:15:56 -0000 2.11
+++ setup/localdir.cc 3 Oct 2002 18:44:25 -0000
@@ -158,18 +158,25 @@ LocalDirPage::OnInit ()
static int inited = 0;
if (!inited)
{
- io_stream *f =
- io_stream::open ("cygfile:///etc/setup/last-cache", "rt");
- if (!f)
- f = io_stream::open ("file://last-cache", "rt");
- if (f)
- {
- char localdir[1000];
- char *fg_ret = f->gets (localdir, 1000);
- delete f;
- if (fg_ret)
- local_dir = String (localdir);
- }
+ if (local_directory.size())
+ {
+ local_dir = String (local_directory);
+ }
+ else
+ {
+ io_stream *f =
+ io_stream::open ("cygfile:///etc/setup/last-cache", "rt");
+ if (!f)
+ f = io_stream::open ("file://last-cache", "rt");
+ if (f)
+ {
+ char localdir[1000];
+ char *fg_ret = f->gets (localdir, 1000);
+ delete f;
+ if (fg_ret)
+ local_dir = String (localdir);
+ }
+ }
inited = 1;
}
}
Index: setup/source.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/source.cc,v
retrieving revision 2.13
diff -u -p -r2.13 source.cc
--- setup/source.cc 21 Sep 2002 09:36:46 -0000 2.13
+++ setup/source.cc 3 Oct 2002 18:44:25 -0000
@@ -34,9 +34,10 @@ static const char *cvsid =
#include "source.h"
#include "getopt++/BoolOption.h"
+#include "getopt++/StringOption.h"
static BoolOption DownloadOption (false, 'D', "download", "Download from internet");
-static BoolOption LocalOption (false, 'L', "local-install", "Install from local
directory");
+static StringOption LocalOption ("", 'L', "local-install", "Install from local
+directory");
static int rb[] =
{ IDC_SOURCE_NETINST, IDC_SOURCE_DOWNLOAD, IDC_SOURCE_CWD, 0 };
@@ -87,8 +88,11 @@ SourcePage::OnActivate ()
{
if (DownloadOption)
source = IDC_SOURCE_DOWNLOAD;
- else if (LocalOption)
- source = IDC_SOURCE_CWD;
+ else if (((string)LocalOption).size())
+ {
+ source = IDC_SOURCE_CWD;
+ local_directory = (string)LocalOption;
+ }
else
source = IDC_SOURCE_NETINST;
}
Index: setup/state.cc
===================================================================
RCS file: /cvs/cygwin-apps/setup/state.cc,v
retrieving revision 2.3
diff -u -p -r2.3 state.cc
--- setup/state.cc 21 Sep 2002 09:36:46 -0000 2.3
+++ setup/state.cc 3 Oct 2002 18:44:25 -0000
@@ -27,6 +27,7 @@ bool unattended_mode;
int source;
String local_dir;
+String local_directory;
int root_text;
int root_scope;
Index: setup/state.h
===================================================================
RCS file: /cvs/cygwin-apps/setup/state.h,v
retrieving revision 2.8
diff -u -p -r2.8 state.h
--- setup/state.h 21 Sep 2002 09:36:46 -0000 2.8
+++ setup/state.h 3 Oct 2002 18:44:25 -0000
@@ -33,6 +33,7 @@ extern bool unattended_mode;
extern int source;
extern String local_dir;
+extern String local_directory;
extern int root_text;
extern int root_scope;
2002-10-03 Len Giambrone <[EMAIL PROTECTED]>
* source.cc (SourcePage::OnActivate): Support specification of Local
install directory from command line.
* localdir.cc (LocalDirPage::OnInit): Initialize local_dir from command
line if available.
* state.cc: add local_directory.
* state.h: add local_directory.