]> cygwin.com Git - cygwin-apps/setup.git/blame - ChangeLog
more updates
[cygwin-apps/setup.git] / ChangeLog
CommitLineData
3bcf85be
RC
1Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
2
3 * choose.cc (_view::insert_pkg): Correctly exit loop.
4 * iniparse.y (register_category): Always insert new categories.
5
fb2cd8f6
CF
6Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
7
8 * inilex.l (yylex): For comments, eat all characters up to, but not
9 including newline.
10
127b32e1
CF
11Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
12
13 * fromcwd.cc (found_file): Use correct package name when adding an
14 unknown package rather than random stack garbage.
15
2cd555aa
CF
16Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
17
18 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
19
4254cc64
CF
20Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
21
22 * desktop.cc (etc_profile): Leave environment variables untouched.
23
acbae401
CV
242001-08-07 Corinna Vinschen <corinna@vinschen.de>
25
26 * autoload.c: Add dynamic load statements for NT/W2K
27 advapi32 functions not available in 9x/ME.
28 * main.cc (set_default_dacl): New function.
29 (WinMain): Call `set_default_dacl' if running on NT/W2K.
30
969a294c
CF
31Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
32
33 * ini.h (_CategoryPackage): Change pkg field to pkgname for
34 consistency.
35 * choose.cc: Use pkgname field when referencing _CategoryPackage
36 throughout.
37 (fill_missing_category): Don't add excluded packages.
38 (default_trust): Ditto.
39 (_view::insert_pkg): Ditto.
40 * iniparse.y (register_category): Use consistent variable name.
41
9eeb0e83
ED
422001-07-09 Egor Duda <deo@logos-m.ru>
43
44 * choose.cc: Use system foreground color for text output.
45
06560feb
CF
46Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
47
48 * choose.cc (set_action): Use default trust for determining reinstall
49 and source only.
50 (default_trust): Set default trust.
51 (pick_line::paint): Allow source selection when reinstalling or
52 retrieving.
53
1fb09149
CF
54Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
55
56 * choose.cc (isinstalled): Modify to properly accomodate special case
57 of "download only".
58 (set_action): Check downloaded components, not installed components if
59 "download only".
60 (set_existence): Always include full list of files when "download
61 only".
62
14cfffa5
CF
63Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
64
65 * choose.cc (pick_line::paint): Properly display "na" field when no
66 source exists.
67
f54385f6
CF
68Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
69
70 * choose.cc (scan2): Ensure that older versions do not show up in
71 "Test" slot.
72
85b1fb54
CF
73Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
74
75 * choose.cc (set_action): Allow "Skip" action if trust != installed.
76 * res.rc: Fix copyright.
77
2dada532
CF
78Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
79
80 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
81 boxes.
06c6d195 82 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
2dada532
CF
83
84 * choose.cc: Restore some more changes from 2001-06-25, throughout.
85 (paint): Wrap some excessively long lines.
86 (pick_line::paint): Ditto. Move the arrow in the "Current" column
87 right to where it belongs. Move the source checkbox slightly to the
88 right.
89 (do_choose): List categories and required packages in setup.log.full.
90
91Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
92
93 * choose.cc (scan2): Restore source scanning eliminated by previous checkin.
94
1b13eeec
CF
95Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
96
97 * ini.h (struct _Info): Add "derived" element.
98 * choose.cc (scan2): Try to place unknown tar files into proper slot
99 when package exists in setup.ini but tar file does not.
100
9307254d
RC
101Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
102
103 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
104 (do_choose): Log the first category name.
105
3467d79f
CF
106Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
107
108 *ini.h: Reapply 2001-06-25 changes.
109 * choose.cc (add_required): Ditto. Default to "Keep" state if
110 UNINSTALL and product is installed. Default to curr state if SKIP,
111 etc.
112 (keep_or_skip): New function. Returns skip or keep state depending on
113 installed state of package.
114 (default_trust): Use keep_or_skip to set state.
115 (_view::insert_pkg): Use calloc to allocate lines.
116 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
117
8f53e82a
RC
118Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
119
1fb09149 120 * choose.cc: Remove globals full_list, headers, package_indexes and
8f53e82a
RC
121 nindexes.
122 Add globals cat_headers, pkg_headers and chooser.
123 (add_required): New function.
124 (paint): Use the chooser for header details.
125 Call into the chooser to paint each line.
1fb09149 126 (list_click): Use new global variables.
8f53e82a
RC
127 Call into the chooser to handle the click.
128 Repaint the entire view if packages have been added or removed.
129 (note_width): Get passed a headers struct rather than using a global
130 variable.
131 (fill_missing_category): New function.
132 (default_trust): Skip non-"Required" or "Misc" packages.
133 (pick_line::set_line (Package *)): New function.
134 (pick_line::set_line (Category *)): New function.
135 (pick_line::paint): New function.
136 (pick_line::click): New function.
137 (_view::_view): New function.
138 (_view::set_view_mode): New function.
139 (_view::mode_caption): New function.
140 (_view::set_headers): New function.
141 (_view::init_header): New function.
142 (_view::insert_pkg): New function.
143 (_view::insert_category): New function.
144 (_view::insert_at): New function.
145 (_view::insert_under): New function.
146 (_view::clear_view): New function.
147 (viewsplusplus): New function.
148 (_view::client): New function.
149 (set_view_mode): Use new chooser functionality.
150 (set_full_list): Use new global variables.
151 (create_listview): Instantiate chooser.
152 Remove all hardcoded headers[] code.
153 (dialog_cmd): On trust changes, check dependencies.
154 (getcategorybyname): New function.
155 (getpackagecategorybyname): New function.
156 (scan2): Use case-insensitive package comparison.
157 (do_choose): Use fill_missing_category ().
158 Show some category data.
159 * ini.h: Protect against multiple inclusion.
160 (views) New enum.
161 (_CategoryPackage): New struct.
162 (_Category): New struct.
163 (_Package): Change category to Category * from char *.
164 (extern Category category): New global variable.
165 (extern in ncategories): Ditto.
166 (getcategorybyname): New prototype.
167 (catpackagecategorybyname): New prototype.
168 (register_category): New prototype.
169 (add_category): New prototype.
170 * iniparse.y: Parse multiple categories per package.
2dada532
CF
171 (category): New global variable.
172 (ncategories): New global variable.
8f53e82a
RC
173 (new_package): Compare package against NULL, not 0.
174 (new_requirement): Source formatting fix.
175 (register_category): New function.
176 (add_category): New function.
177 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
178 IDC_CHOOSE_VIEWCAPTION: New control.
179 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
180 IDC_CHOOSE_VIEWCAPTION: New control.
181 Increment _APS_NEXT_CONTROL_VALUE.
182
26a27c14
CF
183Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
184
e19ad6a3 185 * choose.cc (paint): Wrap excessively long lines.
26a27c14
CF
186 (list_click): Ditto.
187 (create_listview): Ditto.
188 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
189 setup.log.full. Allow "Yes" for source exists in setup.log.full when
190 installing from local directories.
191
97312777
CF
192Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
193
5f9f0d8d
CF
194 * choose.cc (set_action): Only clear srcpicked when moving to next
195 state. Allow source installation if it exists in the current "trust"
196 state. Don't move to skip state when package is installed.
97312777
CF
197 (list_click): Don't allow source clicking when no source is available.
198 (set_full_list): Display package when not is_full_action.
199 * ini.h (is_full_action): Define.
200
72fd1d1e
CF
201Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
202
203 * install.cc (check_for_old_cygwin): New function. First stab at
204 checking for old cygwin versions.
205 (do_install): Call check_for_old_cygwin if there were no errors during
206 the install.
207
41ac91b5 208Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
86202506
CF
209
210 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
211 than zeroed "source" element.
212
80429b97
CF
213Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
214
215 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
216 the highest available "hole" in the trust array.
217
654ea642
CF
218Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
219
220 * choose.cc (set_existence): Use pointer method for indexing in trust
221 array.
222 (create_listview): Ditto.
223 (scan2): Ditto. Also, use consistent variable name for indexing into
224 trust array.
225 * ini.h (Package): Reorganize info array for easier scanning.
226
e98d90bd
CF
227Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
228
229 * choose.cc (isinstalled): Eliminate special download only test.
230 (set_action): Don't move to next state if in ACTION_SAME range and not
231 incrementing.
232 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
233 downloading.
234 (do_choose): Sort packages after all packages have been read.
235 Accomodate the fact that first element in trust array is empty so that
236 log files don't report the wrong trust value.
237 * iniparse.y (new_package): Malloc space for package name or suffer
238 memory corruption.
239
38c97581
CF
240Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
241
242 * ini.h (Dependency): New structure. Declare new function.
243 * inilex.l (yylex): Detect new setup.ini options - category and requires.
244 * iniparse.y: Declare new setup.ini token values.
245 (yyparse): Parse new token values.
246 (new_requirement): New function.
247
248Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
249
250 * choose.cc (read_installed_db): Eliminate obsolete code.
251
3ae6c15c
CF
252Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
253
254 * choose.cc (set_action): Set trust on "redo".
255 (_Info::_Info): New constructor.
256 (read_installed_db): Use new constructor. Use trusts type for
257 iterator.
258 * ini.h (struct _Info): Label struct, add constructor.
259 (Package): Make installed_ix a type 'trusts.'
260 * install.cc (uninstall_one): Unset any installed info for current
261 package.
262 (install_one): Allocate new Info struct for installed reflecting new
263 installed info.
264 (do_install): Don't output line to installed.db if package is being
265 uninstalled.
266
9c0a9876
CF
267Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
268
269 * choose.cc (getpkgbyname): Use consistent method for scanning package
270 array.
271
68b27c12
CF
272Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
273
274 * choose.cc: Add some comments.
275 (getpkgbyname): Use strcasecmp for comparisons.
276
07108cc2
CF
277Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
278
f0984dcb 279 * install.cc (do_install): Avoid checking for download action if
07108cc2
CF
280 package wasn't currently retrieved.
281
c46a33a9
CF
282Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
283
284 * choose.cc: Eliminate extra array throughout. Use element in package
285 structure instead. Use pointers rather than array indexes where
286 appropriate.
287 (set_action): New function to set next action based on current.
288 (choose_caption): New function. Returns display caption.
289 (check_existence): Change arguments. Use pointer to 'info' structure.
290 (set_existence): Use pointer rather than array index.
291 (default_trust): Use trusts enum for second argument.
292 (set_full_list): Honor exclude element in package structure.
293 (build_labels): Eliminate.
294 (base): Make global. Use const char * argument.
295 (get_package_version): Eliminate.
296 (getpkgbyname): New function.
297 (read_installed_db): Use parse_filename to get version info.
298 * desktop.cc (make_passwd_group): Use getpkgbyname function.
299 * download.cc (get_file_size): const argument.
300 (do_download): Use is_download_action to determine when something
301 should be downloaded.
302 * filemanip.h: Add some functions.
303 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
304 * ini.h: Use enums for actions and trusts.
305 (is_download_action): New macro.
306 (is_upgrade_action): Ditto.
307 (is_uninstall_action): Ditto.
308 (struct Package): Add new fields.
309 * inilex.l (yylex): Detect new setup.ini options.
310 * iniparse.y: Declare new tokens.
311 (yyparse): Detect exclude keyword. Fill out version field even if
312 version == 0.
313 (new_package): Use greater granularity when allocating package array to
314 avoid repeated calls to realloc.
315 * install.cc (exists): const argument.
316 (uninstall_one): Take pkg argument.
317 (install_one): Ditto. Eliminate unneeded arguments which can be
318 derived from package info.
319 (do_install): Iterate over package array using a pointer. Use
320 is_download_action to control when package should be downloaded.
321 * tar.cc (tar_open): const argument.
322 * tar.h: Refloect const argument.
323
7cc06fd3
CF
3242001-05-31 Michael Chase mchase@ix.netcom.com
325
326 * main.cc (WinMain): Add setup version to starting setup.log entry
327
9522028b
CF
328Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
329
330 * inilex.l: Add + to list of valid string characters.
331
e9b1aaa7
CF
332Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
333
334 * Makefile.in: Remove more stuff in the clean target.
335
8e1299fa
CF
336Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
337
338 * Makefile.in: Correctly generate iniparse.h.
339
85553593
CV
340Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
341
342 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
343 * geturl.h: Change declaration of `get_url_to_file' accordingly.
344 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
345 Set member `ftp_auth'.
346 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
347 to constructors of derived classes.
348 (NetIO::get_ftp_auth): New method.
349 * netio.h: Change class definition accordingly.
350 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
351 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
352 Add code for ftp authentication retry.
353 * nio-ftp.h: Change class definition accordingly.
354 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
355 Add code for ftp authentication retry in case of proxy connection.
356 * nio-http.h: Change class definition accordingly.
357 * res.rc: Add FTP authentication dialog.
358 * resource.h: Add new constants used in res.rc.
359 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
360
c4174b9c
CF
361Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
362
363 * res.rc (IDD_SPLASH): Add a copyright year.
364
0af2d779
CF
365Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
366
367 * Makefile.in: Make iniparse.y produce a c++ file.
368 * choose.cc (set_existence): Revert 2001-05-27 change.
369 * ini.cc: Remove "C" from declaration of yyparse.
370 * iniparse.y (yyparse): Fill out version field by default when a binary
371 install is detected and no version has been set yet.
372 * install.cc (do_install): Mount things earlier so that we can use
373 proper mount table settings. Don't remove mounts since they are now
374 honored.
375 * mount.cc (create_mount): Reread the mount table after establishing a
376 new mount.
377 (read_mounts): Explicitly clear root_here to allow multiple uses of
378 this function. Ensure that there is no garbage in the table when we've
379 exhausted all of the mounts in the registry.
380 (cygpath): Accomodate ./ in path.
381
85b43844
CF
382Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
383
0af2d779
CF
384 Use parse_filename method to parse filenames throughout. Use
385 get_root_dir to retrieve the current root directory throughout. Set
386 const in argument list, where appropriate, throughout.
387 * choose.cc (set_existence): Detect case of uninstalled package with no
388 version.
85b43844
CF
389 (parse_filename): New function.
390 * filemanip.h (fileparse): New structure.
391 * mount.cc (read_mounts): Remember where we found the root mount.
392 (set_root_dir): New function.
393 (get_root_dir): Ditto.
394 * mount.h: Declare new functions.
395 * site.cc (get_root_dir_now): Renamed from get_root_dir.
396 (save_site_url): Use new function name.
397 (get_initial_list_idx): Ditto.
398
08f8c762
CF
399Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
400
401 * choose.cc: Use a constant throughout to deal with chooser icon
402 length.
403 * res.rc (IDD_CHOOSE): Increase size of chooser box.
404
47f8d8b3
CF
4052001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
406
407 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
408 use when Redownload or Sources Only selected.
409
6a748750
CF
410Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
411
412 Reformat file after botched patch formatting.
413 * choose.cc (which_trust): Eliminate variable.
414 (default_trust): Don't set which_trust.
415 (do_choose): Use selected trust when reinstalling or installing source.
416
a351e48c
CF
417Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
418
419 Change concat to cygpath throughout.
420 Change map_filename to cygpath throughout.
421 * concat.cc (vconcat): New function.
422 (concat): Use vconcat.
423 * concat.h: Reflect above.
424 * install.cc (map_filename): Eliminate.
425 (install_one): Free dest_file.
426 * mount.cc (find2): Expect input key to be pointing to mount record.
427 (in_table): New function.
428 (is_admin): Move from root.cc.
429 (read_mounts): New function.
430 (path_prefix_p): New function.
431 (cygpath): New function.
432 * mount.h: Define new functions and structure.
433 * root.cc (in_table): Move to mount.cc.
434 (do_root): Call read_mounts to initialize root stuff and mount table.
435 * site.cc (get_root_dir): Ditto.
436
e227ee24
CF
4372001-05-09 Matt Hargett <matt@use.net>
438
439 * Makefile.in: Remove *.rc from clean.
440
25fd2965
CF
441Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
442
443 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
444 TRUST_PREV which produced "0" versions.
445
42bf5b92
CF
4462001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
447
448 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
449 _APS_NEXT_CONTROL_VALUE to account for addition of
450 IDC_CHOOSE_INST_TEXT.
451 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
452 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
453 hot keys to select Prev, Curr, Exp.
454 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
455 define for LOOP_PACKAGES to include new actions ACTION_REDO and
456 ACTION_SRC_ONLY.
457 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
458 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
459 source Checkbox to use.
460 (build_labels): Add logic to allow for selection of Source only
461 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
462 current version binary.
463 (dialog_proc): Add conditional display for file selection prompt based
464 on download vs install using IDC_CHOOSE_INST_TEXT.
465 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
466 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
467 handle the instance where Source Download/Install was selected. Modify
468 log file to store appropriate information regarding Action selected and
469 the new actions that were added (I.E.: ACTION_REDO and
470 ACTION_SRC_ONLY).
471 * download.cc: Add include for <unistd.h> and "port.h".
472 (download_one): Modify parameter list to include the selected action
473 for the file to be downloaded. Modify size check against expected size
474 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
475 .tmp file to also remove the destination file if exists due to ability
476 to redownload source and binary now.
477 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
478 calculation of Download Bytes. Modify to also use ACTION_REDO and
479 ACTION_SRC_ONLY in determining files selected for download.
480 * install.cc (uninstall_one): Add check to treat a Reinstall like an
481 upgrade so current version will be uninstalled prior to reinstall.
482 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
483 uninstalling and installing binary and source packages.
484 * desktop.cc (make_passwd_group): Modify logic to account for a Source
485 only cygwin install when checking for cygwin to determine need for
486 mkpasswd and mkgroup.
487
488Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
8a09aa99
CF
489
490 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
491 Removed WS_DISABLED from "OK" buttons to accomodate default focus
492 changes in net.cc and source.cc.
493 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
494 a default is selected.
495 * winsup/cinstall/source.cc (dialog_proc): Ditto.
496 (check_if_enable_next): Removed. No longer needed since a radio button
497 will always be selected.
498 (load_dialog): Removed call to check_if_enable_next.
499 (dialog_cmd): Ditto. Also added default to switch.
500
87bdba0c
CF
501Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
502
503 * res.rc: Resize affected text.
504
8293fc16
CF
505Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
506
507 * net.cc (do_net): Default to direct download.
87bdba0c 508 * res.rc: Move default selections to the top.
8293fc16 509
ed96c6da
EB
5102001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
511
512 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
513 Must now include <windows.h> and not the pieces.
514 * choose.cc (create_listview): Clean up type mismatch problems.
515 * dialog.h (NEXT(id)): Ditto.
516 * geturl.cc (dialog): Ditto.
517 * install.cc (dialog): Ditto.
518 * splash.cc (load_dialog): Ditto.
519
fe94cc29
CF
520Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
521
522 * tar.cc (class gzbz): Define dummy virtual functions.
523
fb087b80
CF
524Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
525
526 * Makefile.in: Add bz2 include/library support.
527 * filemanip.h: New file.
fe94cc29
CF
528 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
529 .tar.bz2 found.
fb087b80
CF
530 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
531 (read_installed_db): Ditto.
532 (do_choose): Ditto.
533 * fromcwd.cc (found_file): Ditto.
534 (do_fromcwd): Ditto.
535 * tar.cc (class gzbz): New super class for uncompression support.
536 (gz): New class for gzip support.
537 (bz): New class for bzip2 support.
538 (tar_open): Use gzbz class to control file opening.
539 (tar_ftell): Ditto for returning position in file.
540 (skip_file): Ditto for reading file.
541 (tar_next_file): Ditto.
542 (tar_read_file): Ditto.
543 (tar_close): Ditto for close.
544
545 * zlib/configure.in: Force NM substitution.
546
547 * source.cc (do_source): Default to "Install from Internet".
548
88bcaf07
CF
5492001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
550
551 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
552 `stat'.
553 * choose.cc (list_click): Correct inability to select source code for
554 download.
555 (scan2): Modify to skip source tarballs when scanning disk for
556 installable packages.
557
ef45c299
CV
5582001-03-10 Chris Abbey <chris_abbey@yahoo.com>
559
560 * install.cc: install sources into /usr/src instead
561 of /, also include the sizes of source tarballs
562 in total_bytes.
563 * download.cc: include sizes of source tarballs in
564 total_download_bytes.
565
9fe1181b
CV
566Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
567
568 * download.cc (get_file_size): Remove `static'.
569
2bfdb848
CV
570Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
571
572 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
573
60c632b3
CV
5742001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
575
576 * choose.cc (paint): Modify message for nothing to download vs
577 nothing to install/update based on installation method.
578 (list_click): Modify to skip versions in selection process if
88bcaf07 579 installing from local directory and installation file does not exist.
60c632b3
CV
580 Also leaves Source Action set to N/A if the source file does not exist
581 and installing from local directory.
582 (check_existence): New method to check current existence of installation
583 files based on selected installation method.
584 (set_existence): New method to set the current existence of installation
585 files based on selected installation method.
586 (best_trust): Modify decision process for best trust to base decision on
587 current trust selected (IE: Prev, Curr, or Test), existence of file and
588 installation method selected.
589 (default_trust): Add logic to capture the current trust level and the
590 trust selected for the given package.
88bcaf07 591 (set_full_list): Expand decision criteria for displaying a package in
60c632b3
CV
592 the selection list to include file existence/non-existence and selected
593 installation method.
594 (build_labels): Modify criteria for label addition to include
595 installation method and file existence/non-existence.
88bcaf07 596 (create_listview): Modify to establish package trust level for each
60c632b3
CV
597 package before setting up the display list. Also modification to set
598 current trust button as the default.
88bcaf07 599 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
60c632b3
CV
600 a reset of the selection list in addition to setting the default trust.
601 (get_package_version): New method to provide reusable code for
602 determining the package version from the file name for a specified
603 trust.
604 (scan2): Modify to use new method get_package_version and
605 also enhance handling of the build for the structures package and
606 extra.
607 (read_installed_db): Modify to use the new method
608 get_package_version and also enhance handling of the build for the
609 structures package and extra.
88bcaf07 610 (do_choose): Add additional initialization of package and extra
60c632b3
CV
611 structures. Modify to use read_installed_db all the time despite
612 install method. Modify output to setup.log.full log file to increase
613 readability by adding additional spacing, expanded code and available
614 versions.
615 * ini.h: Add new fields install_exists, source_exists and
88bcaf07 616 partial_list_display to the structure definition for package.
60c632b3
CV
617 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
618 pushbuttons by replacing with Radio Buttons thus allowing the
619 operator to better determine which is selected.
620
2f9645a1
CV
6212001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
622
88bcaf07 623 * download.cc (do_download): Add new variables total_download_bytes and
2f9645a1
CV
624 total_download_bytes_sofar for download progress meter. Add loop
625 to accumulate the total bytes to download from the selected packages.
626 * geturl.cc: Add state.h and diskfull.h to include list. Add new
627 variables gw_iprogress, gw_pprogress, gw_progress_text,
628 gw_pprogress_text, and gw_iprogress_text to allow for addition of
629 total packages download progress meter and disk full percent
630 progress meter. Add variables total_download_bytes and
631 total_download_bytes_sofar for use by progress meters.
88bcaf07
CF
632 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
633 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
634 allow for addition of total packages download progress meter and disk
635 full percent progress meter.
2f9645a1
CV
636 (init_dialog): Ditto.
637 (progress): Ditto.
638 (get_url_to_file): Ditto.
639 * geturl.h: Add external definition for total_download_bytes and
640 total_download_bytes_sofar.
88bcaf07 641 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
2f9645a1
CV
642 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
643 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
644 download meters.
88bcaf07 645 * resource.h: Add new fields for progress meters and text and update
2f9645a1
CV
646 _APS_NEXT_CONTROL_VALUE.
647
b41962a3
CV
648Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
649
650 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
651 for NULL.
652
653Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
01954c34
CV
654
655 * download.cc (download_one): Add missing parenthesis.
656
88a77116
CV
657Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
658
659 * download.cc (get_file_size): New function. Eliminates the need
660 to call `stat'.
661 (download_one): Call `get_file_size' instead of `stat'. This
662 workarounds a problem with mingw's `stat' call.
663
577f35ed
EB
6642001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
665
666 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
667 This is to allow cinstall to build with 2.95.2-7 and to make the
668 use of headers consistent.
669
38f5563e
DD
6702000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
671
672 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
673
c0a7e0f2
DD
674Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
675
676 * winsup/cinstall/res.rc: Added accelerators and improved focus
677 order.
678
72826a5b
CF
6792000-12-10 Egor Duda <deo@logos-m.ru>
680
681 * choose.cc (paint): Use system background color for text output.
682
683Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
684
685 * Makefile.in: Use CXX for linking and for compiling .cc files.
686 * configure.in: Find correct c++ compiler.
687 * configure: Regenerate.
688
67bebcb5
DD
6892000-11-17 DJ Delorie <dj@redhat.com>
690
691 * splash.cc (load_dialog): Make message more obvious.
692 * res.rc: Ditto.
693
25fb9139
CF
694Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
695
696 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
697 necessary for newer compilers.
698
ef2007fd
CV
699Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
700
701 * desktop.cc: Include "ini.h" and "version.h".
702 (make_passwd_group): Skip the function on 9x/ME boxes when an
703 older version of Cygwin has been installed which doesn't
704 support mkpasswd/mkgroup on 9x/ME.
705 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
706 * ini.h: ...here.
707
277b4d56
CV
708Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
709
710 * desktop.cc (make_passwd_group): Don't exit when started
711 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
712
f8a6415f
DD
713Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
714
715 * install.cc (do_install): Add call to set_cygdrive_flags to sync
716 the mount modes.
717 * mount.cc (set_cygdrive_flags): New function.
718 (get_cygdrive_flags): Ditto.
719 (default_cygdrive): Ditto.
720 (set_cygdrive_flags): Ditto.
721 * mount.h: Add prototype for set_cygdrive_flags.
722
3b9077d4
DD
7232000-10-23 DJ Delorie <dj@redhat.com>
724
725 * ini.h: add source actions
726 * fromcwd.cc: check for available sources
727 * res.rc: add checkbox bitmaps
728 * resource.h: ditto
729 * check-*.bmp: new
730 * choose.cc: add source column
731 * download.cc: download sources if called for
732 * install.cc: [un]install sources too
733
1b1b33ac
DD
7342000-10-22 DJ Delorie <dj@redhat.com>
735
736 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
737 ignore it wrt full_list if there's already a version installed.
738 (do_choose): Sort the list.
739 (package_sort): New.
740
2a1a01e0
DD
7412000-10-12 DJ Delorie <dj@redhat.com>
742
743 * res.rc: Add more error strings.
744 * resource.h: Ditto.
745 * iniparse.y (new_package): re-initialize if needed.
746 * download.cc (do_download): Keep track of errors; notify and
747 allow retry.
748 * install.cc (do_install): Ditto.
749
1a9886fe
DD
7502000-10-05 DJ Delorie <dj@redhat.com>
751
752 * Makefile.in: fix %.cc rule
753
40aef45e
DD
7542000-10-04 DJ Delorie <dj@redhat.com>
755
756 * desktop.cc: quote HOME and USER, don't . ./.profile
757
758 * choose.cc (build_labels): don't include in partial list just
759 because there's a *previous* version available.
760
761 * install.cc (do_install): if installing from local directory with
762 setup.ini and the file isn't found, look in "." also. Note errors.
763
dd3f7f9b
DD
7642000-10-02 DJ Delorie <dj@redhat.com>
765
766 * ini.cc (do_ini): save setup.ini locally
767
7682000-10-02 Chris Abbey <cabbey@bresnanlink.net>
769
770 * desktop.cc: quote escapes in prompt
771
fee2a8d0
DD
7722000-10-02 Jason Tishler <jt@dothill.com>
773
774 * root.cc (is_admin): New function.
775 (read_mount_table): Check for administrative priviledges and set
776 installation scope as appropriate.
777
a03db251
DD
7782000-09-28 DJ Delorie <dj@redhat.com>
779
780 * nio-ftp.cc (ftp_line): handle continuations more robustly
781
b151e01e 7822000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
0b758d4c
DD
783
784 * res.rc: increased the size of the site dialog (IDD_SITE) & the
785 corresponding list box to provide for more URL's to be listed.
786 Modified the position of the Back, Next and Cancel buttons to
787 correspond to the new size of the dialog.
788
d07591a3
DD
7892000-09-13 DJ Delorie <dj@redhat.com>
790
791 * install.cc (do_install): update disk fullness once per package
792 to improve performance
793
794 * choose.cc (create_listview): call ReleaseDC
795
89725f30
DD
796Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
797
798 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
799 returned, as it seems Samba 2.0.6+ returns this instead of
800 ERROR_PATH_NOT_FOUND
88bcaf07 801
6fbc690d
CF
802Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
803
804 * site.cc (get_initial_list_idx): Don't default to saved URL if it
805 refers to sources.
806
13d27274
DD
8072000-09-07 DJ Delorie <dj@redhat.com>
808
809 * splash.cc: use version.h, not local decl
810 * res.rc: add "old version" message
811 * resource.h: ditto
812 * version.h: new
813 * fromcwd.cc (canonicalize_version): make global
89725f30
DD
814 * iniparse.y: add setup-version support, fix bug in blank line
815 handling
816
13d27274
DD
817 * inilex.l: add [exp] as alias for [test], add setup-version
818 * Makefile.in (version.c): add setup-version tag
819
820 * desktop.cc (do_desktop): remove 1.1 version number
821 (do_desktop_setup): ditto
822
823 * ini.cc (do_ini): zero out package list just in case we redo it.
824
8cfbc487
DD
8252000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
826
827 * choose.cc (list_click): Check for nindexes==0; if so, return.
828
c92e1307
DD
8292000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
830
831 * localdir.cc: new, local package directory selection dialog; cd
832 into selected directory
833 * Makefile.in (OBJS): add localdir.o
834 * dialog.h: add prototype for do_local_dir
835 * main.cc (WinMain): initialize local_dir to cwd; add call to
836 do_local_dir
837 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
838 * source.cc (dialog_cmd): ditto
839 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
840 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
841 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
842 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
843 * state.h: add local_dir variable
844
8452000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
50225eae
DD
846
847 * desktop.cc: added logic to handle to the new dialog and to
848 default the setting for the new checkboxes based on whether the
849 desktop icon or start menu link already exist.
850 (desktop_icon): correction to desktop directories for desktop icon
851 creation. Additional logic added for Win95 which does not appear
852 to have Common Directories so if Common selected and null uses
853 normal directory.
854 (start_menu): Additional logic added for Win95 which does not
855 appear to have Common Directories so if Common selected and null
856 uses normal directory.
857 (do_desktop_setup): moved the saving of the icon, creation of the
858 bat file, profile, passwd, Start Menu link and desktop shortcut to
859 this method from do_desktop. Made the creation of the desktop
860 icon and start menu link conditional on settings of new dialog
861 created for desktop.
862 * install.cc (do_install): changed next from IDD_S_DESKTOP to
863 IDD_DESKTOP.
864 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
865 * res.rc: added new resource to create a desktop dialog with 2
866 checkboxes for creating the desktop icon and start menu link.
867 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
868 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
869 * state.h: added root_menu and root_desktop for use in dialog.
870
4a83b7b0
DD
8712000-08-29 DJ Delorie <dj@redhat.com>
872
873 * choose.cc (scan_downloaded_files): scan for existing files, so
874 that the user only sees new downloads.
875
876 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
877 * site.cc (do_site): if we can't download the mirror list, go back
878 to the net setup box to choose another transport.
879 * autoload.c: add more functions
880 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
881 * resource.h: add WININET message
882
883 * net.cc (do_net): no longer default to IE5
884 * simpsock.h (class SimpleSocket): new, simplify socket operations
885 * simpsock.cc: ditto
886 * nio-http.h: new, for direct http protocol
887 * nio-http.cc: ditto
888 * nio-ftp.h: new, for direct http protocol
889 * nio-ftp.cc: ditto
890 * netio.cc (set_url): move initialization here to handle redirections
891 (open): add direct http/ftp
892 * netio.h (NetIO::set_url): new
893
894 * log.cc (log_save): create directory for log if needed
895
896 * hash.cc, hash.h: new
897 * Makefile: add hash.o
898 * choose.cc: enable "uninstall" option
899 * download.cc: invert action test to accomodate uninstalling
900 * ini.h: add ACTION_UNINSTALL
901 * install.cc: add uninstall functionality
902 * res.rc: make install tag changeable
903 * resource.h: add uninstall resources
904
905 * res.rc: update mirror list URL
88bcaf07 906
50f64a4b
DD
9072000-08-24 DJ Delorie <dj@redhat.com>
908
89b1a15b
DD
909 * log.cc, log.h: new files
910 * Makefile.in (OBJS): add log.o
911 * tar.cc: use exit_setup instead of exit
912 * dialog.cc (fatal): use exit_setup instead of ExitProcess
913 * msg.cc (fatal): ditto
914 * install.cc (dialog_cmd): ditto
915 * ini.cc (do_ini): ditto
916 * main.cc (main): add logging
917 * source.cc (do_source): ditto
918 * root.cc (do_source): ditto
919 * site.cc (do_site): ditto
920 * other.cc (do_other): ditto
921 * net.cc (do_net): ditto
922 * choose.cc (do_choose): ditto
923 * download.cc (do_download): ditto
924 * install.cc (do_install): ditto
925 * msg.cc (fatal): ditto
926
927 * res.rc: mark password boxes as *being* password boxes.
928
50f64a4b
DD
929 * fromcwd.cc (canonicalize_version): use multiple buffers so that multiple
930 calls won't use the same buffer.
931 * choose.cc (create_listview): don't default to full list if no changes
932 (base): return computed value, not temporary :-(
933 (do_choose): don't use installed.db if we're only downloading.
934
348860fa
DD
9352000-08-23 DJ Delorie <dj@redhat.com>
936
937 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
938 * nio-ie5.h (flush_io): new
939 * netio.cc (load_dialog): note when we're initializing the dialog
940 box, and ignore changes to the edit fields then.
941
5f48f258
DD
9422000-08-21 DJ Delorie <dj@redhat.com>
943
944 * README: Update
945
946 * fromcwd.cc (found_file): don't remember the canonicalized version
947
948 * choose.cc (paint): print "nothing to do" message when list is empty.
949 (build_labels): Use version "0.0" if no version is available.
950 (create_listview): default to full list if nothing to install/update.
951 (base): new, returns basename of file
952 (read_installed_db): compare base names, not full paths
953
713bbe5f
DD
9542000-08-11 DJ Delorie <dj@redhat.com>
955
956 * choose.cc: add new chooser dialog
957 * fromcwd.cc: use IDD_CHOOSE
958 * ini.cc: use IDD_CHOOSE
959 * main.cc: use IDD_CHOOSE
960 * ini.h: cosmetic changes
961 * res.rc: add choose dialog, bitmaps
962 * choose-spin.bmp: new
963 * choose-rtarrow.bmp: new
964 * resource.h: add choose dialog controls
965
966 * mount.cc: remove debug statement
88bcaf07 967
2e9cbac5
DD
9682000-08-08 DJ Delorie <dj@redhat.com>
969
970 * Makefile.in (version.c): make version checking more robust
971 * splash.cc (load_dialog): handle case where there's no version
972
8507f105
DD
9732000-08-07 DJ Delorie <dj@redhat.com>
974
975 * (all): add cvsid tags
976 * Makefile.in: generate version.c from ChangeLog, add splash.o
977 * splash.o: new
978 * res.rc: add splash screen
88bcaf07 979
f5d0464b
DD
9802000-08-02 DJ Delorie <dj@redhat.com>
981
4e8ff53f
DD
982 * net.cc: remove proxy password code
983 * res.rc: remove proxy user/pass from net, add auth dialogs
984 * netio.cc,h: add sys/proxy auth methods
985 * nio-ie5: use them, check for http status codes
986 * state.h: add system authorization
987
f5d0464b
DD
988 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
989 meaning an url)
990
76cbfa85
DD
9912000-08-02 Norman Vine <nhv@yahoo,com>
992
993 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
994
e92c4436
DD
9952000-08-01 DJ Delorie <dj@redhat.com>
996
bf74c544
DD
997 * postinstall.cc (each): don't rename files we ignore
998 (do_postinstall): set CYGWINROOT to root_dir, chdir there
999
e92c4436
DD
1000 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
1001
a6100861
DD
10022000-07-31 DJ Delorie <dj@redhat.com>
1003
1004 * desktop.cc: reverse PATH so /usr/bin precedes /bin
1005
b11b49f3
DD
10062000-07-18 DJ Delorie <dj@redhat.com>
1007
a99bdfd8
DD
1008 * autoload.c: new, autoload dlls that might not be available.
1009 * Makefile.in (OBJS): add autoload.o
1010
1011 * res.rc: rewrite root options (text/binary, system/user) to be
1012 more obvious.
1013
b5b282c4
DD
1014 * site.cc (get_site_list): trim displayed URL, sort by domain
1015
1016 * net.cc (do_net): make IE5 default to checked, for now
1017
b11b49f3
DD
1018 * choose.cc (do_choose): sort packages correctly
1019 * ini.cc (do_ini): handle parse errors more gracefully
1020 (yyerror): ditto
1021 (fprintf): line buffer output
b5b282c4 1022 (do_ini): if we can't load setup.ini, go back to the site list.
b11b49f3
DD
1023 * ini.h: add "unknown" trust level
1024 * inilex.l: absorb unknown trust levels and key/value pairs,
1025 add line number logic
1026 * iniparse.y: handle parse errors more gracefully.
1027 * install.cc: skip packages with no valid install entry
1028
1fd6d0a2
DD
10292000-07-17 DJ Delorie <dj@cygnus.com>
1030
1031 * coding standards fixups, many files
1032 * mkdir.cc: warn about deletions *before* deleting them
1033
ed3e8b9b
DD
10342000-07-17 Jeff Juliano <juliano@cs.unc.edu>
1035
1036 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
1037
1038 * other.cc (dialog_cmd): save download site URL
1039 * site.cc (get_root_dir): new
1040 (save_mirror_site): new
1041 (dialog_cmd): save download site URL
1042 (get_site_list): make list big enough to add prev site
1043 (get_initial_list_idx): new, read last-used URL from file and
1044 append it to site_list
1045 (do_site): call get_initial_list_idx
1046
1047 * concat.cc (concat): avoid segfault when first parm is null
88bcaf07 1048
f57c332f
DD
10492000-07-13 DJ Delorie <dj@cygnus.com>
1050
1051 * postinstall.cc: new
1052 * Makefile.in: add postinstall.o
1053 * concat.h: add backslash ()
1054 * concat.cc: ditto
1055 * desktop.cc (etc_profile): don't do postinstall
1056 (backslash): moved to concat.cc
1057 (uexists): new
1058 (make_postinstall_script): run directly
1059 (do_desktop): chain to do_postinstall
1060 * dialog.h: add exit_msg, do_postinstall
1061 * download.cc: use exit_msg
1062 * install.cc: ditto
1063 * main.cc: add postinstall, exit_msg
1064 * resource.h: add postinstall
d6cda811 1065 * README: add more to-do items
f57c332f 1066
3a8e3956
DD
10672000-07-12 DJ Delorie <dj@cygnus.com>
1068
1069 * desktop.cc: add /etc/postinstall/ support
1a18aed7 1070 * install.cc: add more "standard" directories
3a8e3956 1071
e0c3d906
DD
10722000-07-11 DJ Delorie <dj@cygnus.com>
1073
1074 * desktop.cc: create /etc/profile
ad09bcd9
DD
1075 * desktop.cc: fix include syntax
1076 * Makefile.in: add auto-dependencies
24e259bb
DD
1077 * root.cc: support system vs user
1078 * desktop.cc: ditto
1079 * mount.h: ditto
1080 * mount.cc: ditto
1081 * install.cc: ditto
1082 * res.rc: ditto
1083 * resource.h: ditto
1084 * state.h: ditto
84d58d4c 1085 * desktop.cc: make sure we use backslashes, not slashes.
bf1d5889
DD
1086 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
1087 * geturl.cc: change math for percentage to avoid overflow
1088 * install.cc: ditto
1089 * download.cc: post "download complete" message.
1090 * root.cc: pre-fill in defaults if needed, don't start
1091 browse at root_dir unless it's set.
a3f48e18 1092 * desktop.cc: quote $PATH in case it has spaces in it
88bcaf07 1093
904d24fe
DD
10942000-07-10 DJ Delorie <dj@cygnus.com>
1095
1096 * Makefile.in: add desktop.o and mklink2.o
1097 * dialog.h: add do_desktop
1098 * install.cc: create standard directories, call do_desktop
1099 * res.rc: add cygwin.ico as a file also
1100 * desktop.cc: new, do shortcuts, batch files, and icons
1101 * mklink2.c: new, for COM
1ab805b8 1102 * README: update to-do list
904d24fe 1103
04d6e06b
DD
11042000-07-10 DJ Delorie <dj@cygnus.com>
1105
1106 * ini.cc (do_ini): don't worry about timestamps if we're not
88bcaf07 1107 actually installing.
04d6e06b 1108
5601a13d
DD
11092000-07-09 DJ Delorie <dj@cygnus.com>
1110
1111 * Makefile.in: add -I$(srcdir) for ini.h
1112
23c9e63c
DD
11132000-07-06 DJ Delorie <dj@cygnus.com>
1114
1115 * Replace everything with a new GUI version
1116 * zlib/gzio.c: add gzctell() for progress displays
1117
11182000-06-22 DJ Delorie <dj@cygnus.com>
1119
1120 * setup.c (tarx): re-add call to write_pkg()
1121
aa32874b
DD
11222000-06-07 DJ Delorie <dj@cygnus.com>
1123
1124 * cygcalls.c: new, call cygwin1.dll functions directly
1125 * cygcalls.h: header for same
1126 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
1127 exes, fix cinstall.rc dependencies.
1128 * path.c: remove unneeded code
1129 * setup.c: use cygcalls instead of xcreate_process.
1130 uncompress embedded files with zlib
1131 add "-d" for "download only"
1132 add "-h" for help
1133 postpone mount changes until very end
1134 add download progress indicators
1135 pack multi-column listings more
1136 auto-delete temp files
1137 customize banner message according to options
1138 prompt user for text/binary mounts
1139 add warnings about empty setup directory, root installs, etc
1140
99d1bf2d
DD
11412000-05-24 DJ Delorie <dj@cygnus.com>
1142
1143 * tar.c: New file; built-in tar using zlib.
1144 * tar.h: New file; header for same.
1145 * ctar.c: New file; test program for same.
1146 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
1147 * path.c (pathcat): convert slashes and canonicalize, instead of aborting
1148 * setup.c (tarx): add support for built-in tar
1149 (main): accept unix-style slashes, check root dir for drive letters,
1150 warn about installing in /, make sure cwd is empty for internet installs,
1151 defer mounts to end of install, support built-in tar.
1152
55650749
CF
1153Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
1154
1155 Fix compiler warnings throughout.
1156 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
1157 get_pkg_stuff.
1158 * setup.c: Make 'root' global.
1159 (istargz): Return pointer to "stem" of matched .tar.gz file.
1160 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
1161 bogus check_for_installed check.
1162 (recurse_dirs): Add preliminary support for .bat file execution.
1163 (create_uninstall): Eliminate unneeded parameter.
1164 (do_start_menu): Ditto.
1165 (mkmount): Ditto.
1166 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
1167 scanning for the version number. Eliminate unneeded argument to
1168 create_uninstall.
1169 (getdownloadsource): Add 'name' to list of names rather than url.
1170 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
1171 unneeded argument in mkmount and do_start_menu.
1172
f4dda8f0
DD
11732000-05-18 DJ Delorie <dj@cygnus.com>
1174
1175 * setup.c (optionprompt): allow multi-column, clean up message
1176 about more options, be more robust about user input.
1177 (getdownloadsource): make the mirror URL a macro.
1178 (main): do mounts after done prompting user.
1179
62844d84
CF
1180Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
1181
1182 * setup.c (cleanup): Inverse order of deletion stands a better chance
1183 of deleting cygpath.exe. Still seems to suffer from occasional races,
1184 though.
1185 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
1186 w2k.
1187 (output_file): Defend against an unlikely handle leak.
1188 (main): Don't set up signal handling until we have something special to
1189 do.
1190
ad6749c8
CF
1191Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
1192
1193 * path.c (kill_cygpath): Delete function.
1194 (exit_cygpath): Make more defensive so that it can be called at any
1195 time.
1196 (cygpath_pipe): Don't set up signal here. Do it in main().
1197 * setup.c (istargz): New function.
1198 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
1199 inexplicably fails on samba mounted partitions. Use istargz to match
1200 tar.gz tail.
1201 (processdirlisting) Use istargz to match tar.gz tail.
1202 (cleanup): Renamed from filedel.
1203 (cleanup_on_signal): New function. Called on CTRL-C.
1204 (main): Record handle of main thread so that it can be suspended when
1205 CTRL-C occurs. Set up cleanup_on_signal signal handler.
1206
460cf7b6
CF
1207Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
1208
1209 * setup.c (do_start_menu): Don't concatenate paths to already built
1210 paths.
1211
9e76799c
CF
1212Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
1213
1214 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
1215 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
1216 that.
1217 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
1218 root"-specific.
1219 * setup.c (filedel): Call exit_cygpath here so that we can be assured
1220 that cygpath subprocess has died. This allows us to delete cygpath.exe
1221 and cygwin1.dll.
1222 (optionprompt): Initialize response to -1 so that second screen of
1223 mirrors will appear.
1224 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
1225 * setup.h: Reflect init_pkgs prototype change.
1226
2cf65e6e
CF
1227Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
1228
1229 * pkg.c (init_pkgs): Accept an argument to control what root registry
1230 key should be used.
1231 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
1232 * setup.h: Reflect init_pkgs prototype change.
1233
1234Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
1235
1236 * error.c (winerror): Respond to gcc warning.
1237 * path.c (cygpath_pipe): Ditto.
1238 * setup.c (filedel): Call sa_cleanup on deleteme.
1239 (create_shortcut): Coerce argument to eliminate compiler warning.
1240 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
1241 (refmatches): New function. Tests if ref is contained in a list of
1242 packages to install.
1243 (filematches): New function. Tests if filename matches one of a list
1244 of packages to install.
1245 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
1246 test to accomodate _tar.gz.
1247 (prompt): Ensure that stdout is flushed prior to asking for input.
1248 (findhref): Initialize variables to quiet a compiler warning.
1249 (processdirlisting): Accept list of packages to install. Special case
1250 cygwin tar file version number.
1251 (downloaddir): Accept list of packages to install.
1252 (downloadfrom): Ditto.
1253 (create_uninstall): Eliminate unneeded variables. Quote arguments to
1254 regtool.
1255 (do_start_menu): Don't create uninstall bat file if updating or user
1256 specified a list of packages.
1257 (mkmount): Eliminate unneeded variables.
1258 (get_pkg_stuff): New function. Checks for previous unversioned
1259 installation.
1260 (main): Accept -u and -f options and package names on the command line.
1261 Use get_pkg_stuff to initialize package information. Umount /etc.
1262 Call recurse_dirs and downloadfrom with list of package to install.
1263 Ensure that all /usr/local directories are created. Output
1264 installation time to setup.log.
1265 * setup.h: Add some prototypes.
1266 * xsystem.c (xcreate_process): Eliminate unneeded variable.
1267
4cf88dd9
CF
1268Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
1269
1270 * setup.c (optionprompt): Don't overlap display of already seen options
1271 on next page.
1272 (geturl): Print name of site which we're connecting to rather than "ftp
1273 site".
1274 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
1275 test too simplistic?
1276 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
1277 problems when user chooses x:\ as their root.
1278 (main): For now, default to "non-update" mode. Allow -u option to
1279 signify an update.
1280
36591a07
CF
1281Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
1282
1283 * pkg.c: New file.
1284 * setup.c (tarx): Skip already installed or older packages. Report
1285 when a package has been updated.
1286 (processdirlisting): Skip already installed or older packages.
1287 (main): Detect -f option for forced installation. Initialize pkg stuff
1288 if appropriate.
1289 * setup.h: Add pkg definitions.
1290
c298ea4a
CF
1291Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
1292
1293 * setup.c (findhref): Return NULL on empty string. Eat any trailing
1294 ";something".
1295 (processdirlisting): Attempt to limit recursively processing the same
1296 directory.
1297
f4cafa7e
CF
1298Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
1299
1300 * setup.c (filedel): New function.
1301 (output_file): Keep track of files extracted from setup.exe for
1302 subsequent deletion.
1303 (tarx): Close process handle of child tar process or suffer handle
1304 leak.
1305 (getdownloadsource): Close mirror file so that it can be unlinked.
1306 (processdirlisting): Return total number of files extracted.
1307 (main): Initialize array of files to delete. Ensure that files are
1308 closed on exit. Make the directory that setup.exe is started from ==
1309 the directory where temporary files are placed. Issue an error if no
1310 files were found to download.
1311 * xsystem.c (xcreate_process): Close the thread handle. Close the
1312 process handle if we waited for it to exit.
1313
cd475210
CF
1314Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
1315
1316 * setup.c (main): Change version number output.
1317
7dff5e71
CF
1318Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
1319
1320 * setup.c (tarx): Use full path name to tar executable.
1321 (main): Build full pathname to tar executable. Create /usr/local/etc
1322 by default.
1323
99437fdb
CF
1324Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
1325
1326 * setup.c (findhref): Change method for scanning for href= to choose
1327 the last one on the line. This is still not foolproof and probably
1328 will need to be changed eventually. Don't abort if no "size" field is
1329 evident.
1330 (processdirlisting): Fix boolean algebra.
1331
0f562d55
CF
1332Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
1333
1334 * main.c (tarx): Add some code for future task of unmounting
1335 directories encountered in tar file.
1336
4356382d
CF
1337Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
1338
1339 * setup.c (findhref): Decode file size, when appropriate.
1340 (needfile): New function. Returns 1 when file should be
1341 downloaded.
1342 (processdirlisting): Always download if file size does not
1343 match. Prompt when download fails for some reason.
1344 (getdownloadsource): Accomodate findhref argument changes.
1345
6ab1ce6c
CF
1346Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
1347
1348 Throughout, use global session handle rather than reinitializing for
1349 each connect. Don't pass session as an argument to setup.c functions.
1350 * setup.c (geturl): Only issue "Connecting to.." message when using
1351 http or first time for ftp since subsequent connections will be fast.
1352 (processdirlisting): Allocate space for "N" when user has specified
1353 "N"ever option so that it can be subsequently freed.
1354 (main): Abort if we can't get the list of mirrors.
1355
37ee316b
CF
1356Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
1357
1358 * setup.c (main): Umount /bin and /lib.
1359
a59fb4fa
CF
1360Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
1361
1362 * setup.c (main): Create an empty /var/run/utmp.
1363
75f4b861
CF
1364Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
1365
1366 * Makefile.in: Add umount to list of files to include in setup.exe.
1367 * setup.c (xumount): New function for unmounting directories.
1368 (main): Unmount /usr.
1369 (mkmount): Unmount "unix directory" before trying to figure out where
1370 to create the directory.
1371
d4a66789
CF
1372Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
1373
1374 * setup.c (mkmount): Use xcreate_process to start mount process,
1375 avoiding the shell.
1376 (main): Don't do buffering on stdout or prompts won't be displayed
1377 correctly if running in a cygwin shell with CYGWIN=tty.
1378
a6c3982d
CF
1379Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
1380
1381 * setup.c (main): Remove the CYGWIN environment variable before
1382 starting any cygwin programs.
1383
0ffd5e3b
CF
1384Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
1385
1386 * setup.c (geturl): Use alternative method for finding filename part of
1387 a URL.
1388 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
1389 (downloaddir): Unlink file containing dir listing.
1390 (downloadfrom): Ditto.
1391
3e54bcf9
CF
1392Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
1393
1394 * setup.c (main): Disallow running setup.exe from the "root".
1395
005b73c4
CF
1396Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
1397
2cf65e6e 1398 Use "warning" function, where appropriate, to output warnings.
005b73c4
CF
1399 * setup.c (warning): New function -- outputs warning to console and log
1400 file.
1401 (tarx): Fix index used to reset file protection.
1402 (main): Open the log file earlier so that more stuff can be sent to it.
1403
36dc5fc8
CF
1404Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
1405
1406 * setup.c (processdirlisting): Make "N" option a little less aggressive.
1407
c73320de
CF
1408Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
1409
1410 * setup.c (tarx): Wait to after tar has completed to reset protections
1411 or suffer races with tar process.
1412
68cdfc92
CF
1413Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
1414
1415 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
1416 * setup.c (create_uninstall): Create the uninstall .bat file in the
1417 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
1418 list of files to be deleted. Fix directory detection for determining
1419 when to use 'rmdir'.
1420 (do_start_menu): Add /usr/local/bin to the path.
1421 (main): Add slop to files.array allocation so that we don't have to
1422 worry about reallocating the array when it grows too large when doing
1423 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
1424 files.
1425
35d18861
CF
1426Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
1427
1428 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
1429 download.
1430
20904de1
CF
1431Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
1432
1433 * path.c (kill_cygpath): New cleanup function.
1434 (exit_cygpath): New cleanup function.
1435 (cygpath_pipe): New function. Sets up cygpath in the background for
1436 translating filenames.
1437 (pathcvt): Use background cygpath for file translation.
1438 * setup.c (tarx): New function. Called to extract tar files, capture
1439 logging output, and translate it to Windows format.
1440 (recurse_dirs): Use 'tarx' function to extract files.
1441 (create_uninstall): Use file list built up by tarx rather than reading
1442 the log file.
1443 (mkmount): Add ability to mount root.
1444 (main): Track elapsed install time. Mount root.
1445 * starry.h: Add index field to strarry for tracking of tarx's usage of
1446 this structure.
1447 * xsystem.c (xcreate_process): Return proces handle when not waiting.
1448
c1246750
CF
1449Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
1450
1451 * path.c: New file.
1452 (pathfp): New function. Preliminary work for new -f cygpath
1453 functionality.
1454 * Makefile.in: Add new file.
1455 (pathcvt): Move to new file.
1456 (dtoupath): Ditto.
1457 (utodpath): Ditto.
1458 (pathcat): Ditto.
1459 * setup.c (processdirlisting): Always open file in text mode.
1460 (create_uninstall): Ditto.
1461 (getdownloadsource): Ditto.
1462 (main): Ditto.
1463
4b40edd0
CF
1464Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
1465
1466 * xsystem.c: New file.
1467 * Makefile.in: Accomodate new file.
1468 * setup.c (xsystem): Move to new file.
1469 (recurse_dirs): Accept handle to output log file. Don't use ">"
1470 redirection to trap tar output. Use supplied handle instead.
1471 (create_uninstall): Accept FILE pointer to opened log file. Don't
1472 unlink log file here.
1473 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
1474 (main): Open log file here and pass it to various functions. Unlink
1475 when done.
1476
6f8e3b45
CF
1477Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
1478
1479 Change occurrences of .usr.bin to .bin throughout.
1480 * setup.c (geturl): Increase number of retries to 20. Let user know
1481 what's going on during long connects.
1482 (processdirlisting): Accept "A"lways and "N"ever as update options.
1483 (create_uninstall): Load cygwin1.dll from the current directory rather
1484 than \bin.
1485 (main): Add some expository text.
1486
2a907b70
CF
1487Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
1488
1489 * Makefile.in: Change method for compressing cygwin1.dll to avoid
1490 creating a cygwin1.dll in the current directory. Ensure the addition
1491 of -nostdinc to MINGW_CFLAGS.
1492
c4285a3c
CF
1493Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
1494
1495 * Makefile.in: Augment clean target.
1496
ea615d51
RP
1497Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
1498
1499 * README: Added info about non-working mingw implementation
c1246750 1500 * gzip.exe.gz: Replace with a version from the same build as the other
ea615d51 1501 tools.
c1246750 1502 * tar.exe.gz: Replace with a version from the same build as the other
ea615d51 1503 tools.
c1246750 1504 * mount.exe.gz: Add to repository until, mingw can build setup.
ea615d51
RP
1505 * cygpath.exe.gz: ditto
1506 * cygwin1.dll.gz: ditto
c1246750
CF
1507 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
1508 for Win9x. Display only a screenfull of options at a time. Call all
1509 tools with an absolute path.
1510 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
1511 them.
ea615d51
RP
1512 * setup.dsw: ditto
1513 * zlib.dsw: ditto
1514
51954e74
CF
1515Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
1516
c1246750
CF
1517 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
1518 cygwin1.dll from ../cygwin subdirectory.
51954e74
CF
1519 * gzip.exe.gz: Update.
1520 * tar.exe.gz: Update.
1521
7b777418
CF
1522Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
1523
1524 * Makefile.in: Use ZLIB variable as a target.
1525
4306b490
CF
1526Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
1527
5e7eb909
CF
1528 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
1529 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
1530 sources.
4306b490
CF
1531 * configure.in: Locate correct objcopy.
1532 * configure: Regenerate.
1533
739457f4
CF
1534Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
1535
1536 * Makefile.in: New file.
1537 * configure.in: New file.
1538 * configure: New file.
1539 * zlib/Makefile.am: New file.
1540 * zlib/configure.in: New file.
1541 * zlib/aclocal.m4: New file.
1542 * zlib/acinclude.m4: New file.
1543 * zlib/configure: Regenerate from configure.in.
1544 * zlib/Makefile.in: Regenerate from Makefile.am
8507f105
DD
1545
1546%%% $Id$
1547$Revision$
This page took 0.206452 seconds and 5 git commands to generate.