annotate netinstall/main.cc @ 1648:712931b4b71d

[xemacs-hg @ 2003-08-27 18:06:54 by youngs] 2003-08-28 Steve Youngs <youngs@xemacs.org> * README.packages: Update. 2003-08-28 Steve Youngs <youngs@xemacs.org> * PACKAGES: Update. 2003-08-28 Steve Youngs <youngs@xemacs.org> * xemacs-faq.texi (Q2.0.2): Rewrite, mentioning the correct way to remove a package. (Q3.8.2): big-menubar is in the edit-utils package. (Q4.3.2): Add a comment about not needing TM for things like Gnus, MH-E and VM. (Q5.3.3): State correct location of ps-print.el. * xemacs/packages.texi (Packages): Remove "Creating Packages" menu entry. (Package Terminology): Whitespace clean up. (Installing Packages): Whitespace clean up and add some @code formatters. Re-organise the menu so that installation via PUI is first and Sumo is last. (Automatically): mule-base is no longer a requirement for using PUI. Mention optionally requiring mailcrypt. (Note): Removed. (Manually): Move to below the PUI installation method. (Sumo): Move to below the manual installation method. (Which Packages): Add mailcrypt. (Building Packages): Remove duplicated stuff that is in lispref/packaging.texi, xref to it instead. (Local.rules File): xref to the appropriate node in lispref/packaging.texi. (Available Packages): Update to current reality. (all): Removed. (srckit): Removed. (binkit): Removed. * xemacs/reading.texi (Reading Mail): Mention Gnus and MEW. * new-users-guide/custom2.texi (Init File): big-menubar.el is in the edit-utils package. * lispref/packaging.texi (Packaging): (The User View): (The Library Maintainer View): (Infrastructure): (Control Files): (Obtaining): (The Package Release Engineer View): (Package Terminology): (Building Packages): (Makefile Targets): (packages): New. (Local.rules File): (XEMACS_PACKAGES): Removed. (XEMACS_INSTALLED_PACKAGES_ROOT): New. (NONMULE_PACKAGES): New. (EXCLUDES): New. (Creating Packages): (BATCH): New. (VERSION): Removed. (AUTHOR_VERSION): Removed. (MAINTAINER): Removed. (PACKAGE): Removed. (PKG_TYPE): Removed. (REQUIRES): Removed. (CATEGORY): Removed. (ELS): Removed. (ELCS): Removed. (all): Removed. (srckit): Removed. (binkit): Removed. (are): New. (STANDARD_DOCS): New. (ELCS_1_DEST): New. (example): New. (PACKAGE_SUPPRESS): New. (EXPLICIT_DOCS): New. (DATA_DEST): New. (Documenting Packages): Not quite a total rewrite, but a fairly thorough audit nonetheless.
author youngs
date Wed, 27 Aug 2003 18:07:10 +0000
parents ce0b3f2eff35
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
1 /*
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
2 * Copyright (c) 2000, Red Hat, Inc.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
3 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
4 * This program is free software; you can redistribute it and/or modify
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
5 * it under the terms of the GNU General Public License as published by
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
7 * (at your option) any later version.
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
8 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
9 * A copy of the GNU General Public License can be found at
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
10 * http://www.gnu.org/
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
11 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
12 * Written by DJ Delorie <dj@cygnus.com>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
13 *
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
14 */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
15
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
16 /* OK, here's how this works. Each of the steps needed for install -
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
17 dialogs, downloads, installs - are in their own files and have some
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
18 "do_*" function (prototype in dialog.h) and a resource id (IDD_* or
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
19 IDD_S_* in resource.h) for that step. Each step is responsible for
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
20 selecting the next step! See the NEXT macro in dialog.h. Note
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
21 that the IDD_S_* ids are fake; those are for steps that don't
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
22 really have a controlling dialog (some have progress dialogs, but
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
23 those don't count, although they could). Replace the IDD_S_* with
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
24 IDD_* if you create a real dialog for those steps. */
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
25
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
26 #include "win32.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
27
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
28 #include <stdio.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
29 #include <stdlib.h>
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
30 #include "resource.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
31 #include "dialog.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
32 #include "state.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
33 #include "msg.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
34 #include "netio.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
35 #include "find.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
36 #include "log.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
37
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
38 #include "port.h"
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
39
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
40 void netio_test (char *);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
41
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
42 int next_dialog;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
43 int exit_msg = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
44
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
45 HINSTANCE hinstance;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
46
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
47 int WINAPI
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
48 WinMain (HINSTANCE h,
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
49 HINSTANCE hPrevInstance,
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
50 LPSTR command_line,
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
51 int cmd_show)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
52 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
53 hinstance = h;
657
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
54 int pos = -1;
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
55 if ((pos = strcspn(command_line, "-")) >= 0
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
56 &&
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
57 command_line[pos+1] == 'u')
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
58 {
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
59 next_dialog = IDD_UNINSTALL;
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
60 log (LOG_TIMESTAMP, "Starting XEmacs uninstall");
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
61 uninstall = 1;
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
62 }
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
63 else
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
64 {
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
65 next_dialog = IDD_SPLASH;
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
66 log (LOG_TIMESTAMP, "Starting XEmacs install");
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
67 }
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
68
657
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
69 do_init(h);
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
70
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
71 while (next_dialog)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
72 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
73 switch (next_dialog)
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
74 {
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
75 case IDD_SPLASH: do_splash (h); break;
657
ce0b3f2eff35 [xemacs-hg @ 2001-09-09 04:37:41 by andyp]
andyp
parents: 448
diff changeset
76 case IDD_UNINSTALL: do_uninstall (h); break;
448
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
77 case IDD_SOURCE: do_source (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
78 case IDD_LOCAL_DIR: do_local_dir (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
79 case IDD_ROOT: do_root (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
80 case IDD_NET: do_net (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
81 case IDD_SITE: do_site (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
82 case IDD_OTHER_URL: do_other (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
83 case IDD_S_LOAD_INI: do_ini (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
84 case IDD_S_FROM_CWD: do_fromcwd (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
85 case IDD_CHOOSE: do_choose (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
86 case IDD_S_DOWNLOAD: do_download (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
87 case IDD_S_INSTALL: do_install (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
88 case IDD_DESKTOP: do_desktop (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
89 case IDD_S_POSTINSTALL: do_postinstall (h); break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
90
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
91 default:
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
92 next_dialog = 0;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
93 break;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
94 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
95 }
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
96
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
97 exit_setup (0);
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
98
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
99 return EXIT_SUCCESS;
3078fd1074e8 Import from CVS: tag r21-2-39
cvs
parents:
diff changeset
100 }