]> cygwin.com Git - cygwin-apps/setup.git/blame - ChangeLog
* configure: Regenerate.
[cygwin-apps/setup.git] / ChangeLog
CommitLineData
cef493d7
CF
12002-01-29 Christopher Faylor <cgf@redhat.com>
2
3 * configure: Regenerate.
4
57219197
RC
52002-01-27 Robert Collins <rbtcollins@hotmail.com>
6
7 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene <Hoeck@extern.lrz-muenchen.de>
8
cc7493c3
RC
92002-01-27 Robert Collins <rbtcollins@hotmail.com>
10
11 * README: Update Todo's.
12 * list.h: Run indent.
13 (list): New methods checksize and insert to reduce code duplication.
14 (list::registerbykey): Use them.
15 (list::registerbyobject): Ditto.
16 (list::removebyindex): Copy each object individually - safe for non trivial
17 objects.
18 (list::checksize): Implement.
19 (list::insert): Implement.
20
a900d1fa
RC
212002-01-27 Robert Collins <rbtcollins@hotmail.com>
22
23 * Makefile.in: Remove the dlmalloc object by default.
24 * install.cc (do_install_thread): Remove the mallinfo call for 'working around'
25 the crashing issue.
26 * package_db.h: Include <string.h> - it's needed to parse this.
27 * package_source.cc (site::site): Move here from the header file.
28 * package_source.h (site): Stop the constructor being inlinable.
29
9835fb4a
RC
302002-01-26 Robert Collins <rbtcollins@hotmail.com>
31
32 * filemanip.cc (find_tar_ext): Add a descriptive comment.
33
342002-01-25 Michael A Chase <mchase@ix.netcom.com>
35
36 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
37 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
38 * install.cc (install_one_source): Add space between words in log() call.
cef493d7 39
77ba23d8
RC
402002-01-22 Robert Collins <rbtcollins@hotmail.com>
41
42 * log.cc (exit_setup): When saving to the download dir, explicity specify
43 the path.
44
6dc75764
RC
452002-01-22 Robert Collins <rbtcollins@hotmail.com>
46
47 * archive.cc (extract_file): Separate out the prefix and the URL scheme.
48 * archive.h (archive::extract_file): Ditto.
49 * install.cc (install_one_source): Ditto.
50 Use the new archive::extract_file syntax.
51 (replace_one): Use the new syntax.
52 (io_stream.cc): Add some log info for links.
53
7e8fc33c
RC
542002-01-22 Robert Collins <rbtcollins@hotmail.com>
55
56 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
57 (PickCategoryLine::paint): Use the new action method.
58 (PickCategoryLine::click): Set the action for all children.
59 (PickCategoryLine::set_action): New method.
60 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
61 (PickCategoryLine::current_default): Use packagemeta _actions class.
62 * PickLine.h (PickLine::set_action): New abstract method that requires including
63 package_meta.h.
64 * PickPackageLine.cc (PickPackageLine::set_action): New method.
65 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
66 * list.h (getbykey): A const correctness fix.
67 * package_meta.cc: Run indent.
68 (packagemeta::Default_action): New const.
69 (packagemeta::Install_action): Ditto.
70 (packagemeta::Reinstall_action): Ditto.
71 (packagemeta::Uninstall_action): Ditto.
72 (packagemeta::_actions::caption): New method.
73 (packagemeta::_actions::operator++): Ditto.
74 (packagemeta::set_action): New overload.
75 * package_meta.h (packagemeta::_actions): New class.
76 (packagemeta::set_action): Declare this.
77
2c9254b6
RC
782002-01-22 Robert Collins <rbtcollins@hotmail.com>
79
80 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
81 * choose.cc: Don't define alloca anymore, it's done in win32.h
82
97647369
RC
832002-01-22 Robert Collins <rbtcollins@hotmail.com>
84
85 * PickPackageLine.cc: New file.
86 * PickPackageLine.h: New file.
87 * PickLine.cc: New file.
88 * PickLine.h: New file.
89 * PickCategoryLine.cc: New file.
90 * PickCategoryLine.h: New file.
91 * PickView.cc: New file.
92 * PickView.h: New file.
93 * Makefile.in: Add new objects to setup.exe.
94 Backout -fno-exceptions option.
95 * choose.cc: Include PickView.h.
96 Remove view related defines and static variables.
97 (_pkg_headers): Moved to PickView.cc.
98 (_cat_headers): Ditto.
99 (view::views::Unknown): Ditto.
100 (view::views::PackageFull):
101 (view::views::Package):
102 (view::views::Category):
103 (pkgtrustp): Moved to package_meta.cc.
104 (add_required): Moved to package_meta.cc.
105 (pick_category_line::empty): Moved to PickCategoryLine.cc
106 (paint): Adjust for moved static variables.
107 (view::scroll): Moved to PickView.cc.
108 (list_vscroll): Adjust for moved static variables.
109 (list_hscroll): Ditto.
110 (list_click): Ditto.
111 (note_width): Moved to PickView.cc.
112 (view::view): Ditto.
113 (view::set_view_mode): Ditto.
114 (view::mode_caption): Ditto.
115 (view::views::caption): Ditto.
116 (view::set_headers): Ditto.
117 (DoInsertItem): Ditto.
118 (view::init_headers): Ditto.
119 (view::insert_pkg): Ditto.
120 (view::insert_category): Ditto.
121 (view::clear_view): Ditto.
122 (view::views::operator++): Ditto.
123 (view::click): Ditto.
124 (default_trust): Adjust for moved statics.
125 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
126 (pick_pkg_line::click): Ditto.
127 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
128 (pick_category_line::paint): Ditto.
129 (pick_category_line::click): Ditto.
130 (set_view_mode): Adjust for moved statics.
131 (create_listview): Ditto.
132 * choose.h: Remove Category and packagemeta forward defines - not needed.
133 Don't include unneeded headers list and package_meta.
134 (_header): Move to PickView.h.
135 (pick_line): Move to PickLine.h.
136 (pick_pkg_line): Move to PickPackageLine.h.
137 (pick_category_line): Move to PickCategoryLine.h.
138 (view): Move to PickView.h.
139 * ini.h (trusts): Move to package_meta.h.
140 * package_meta.h (trusts): New enum.
141 (packagemeta::set_requirements): New helper method.
142 (packagemeta::trustp): Ditto.
143
b566778e
CF
1442002-01-21 Christopher Faylor <cgf@redhat.com>
145
146 * choose.h (view): Move forward declaration of views into public area
147 or g++ v3 will complain.
148
f71e9756
CF
1492002-01-21 Christopher Faylor <cgf@redhat.com>
150
151 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
152 * win32.h (alloca): Define as __builtin_alloca.
153 * io_stream_memory.cc: Add include file.
154
e9440f0f
RC
1552002-01-21 Robert Collins <rbtcollins@hotmail.com>
156
157 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as destroyed.
158 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
159 * compress.cc (compress::~compress): Be less verbose.
160 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
161 Mark the stream as destroyed.
162 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as destroyed.
163 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not marked
164 as destroyed.
cef493d7 165 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
e9440f0f
RC
166 stream as destroyed.
167 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
168 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
cef493d7 169
5e0464a1
RC
1702002-01-21 Robert Collins <rbtcollins@hotmail.com>
171
172 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
173 (OBJS): Link in malloc objects.
174 * category.cc (category): Use new char, not strdup.
175 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
176 (do_choose): Use new char, not malloc.
177 * concat.cc (vconcat): Ditto.
178 * cygpackage.cc (cygpackage): Use new char, not strdup.
179 (set_canonical_version): Ditto.
180 (cygpackage::destroy): Use delete[], not free.
181 * desktop.cc (uexists): Ditto.
182 * dialog.cc (egest): Use new char, not strdup.
183 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
184 * hash.cc (hash::hash): Use delete instead of free.
185 (hash::add): Use new char, not strdup.
186 * ini.cc (do_remote_ini): Use delete[] not free.
187 * inilex.l: Use new char, not strdup.
188 (ini_init): Ditto.
189 * iniparse.y: Ditto.
190 Use a local package_db rather than a static one.
191 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
192 (do_install_thread): Call mallinfo to force a consistency check. Appears
193 to fix a 'inuse' error in -DDEBUG builds.
194 Use delete[] for strings.
195 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new char,
196 not strdup.
197 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
198 (io_stream_cygfile::remove): Use new char, not strdup.
199 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not strdup.
200 (io_stream_file::io_stream_file): Use delete[], not free.
201 (io_stream_file::remove): Use new char, not strdup.
202 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
203 * io_stream_memory.h (memblock): Use new char, not malloc.
204 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
205 * main.cc (WinMain): Use new char, not strdup.
206 * mount.cc (find2): Use new char, not malloc.
207 (read_mounts): Ditto.
208 (cygpath): Use new char, not strdup.
209 * netio.cc (NetIO::~NetIO): Use delete[], not free.
210 (NetIO::set_url): Use new char, not strdup.
211 (NetIO::get_ftp_auth): Use delete[], not free.
212 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
213 Use new char instead of strdup.
214 * nio-http.cc (base64_encode): Use new char, not malloc.
215 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
216 * package_source.h (~ packagesource): Use delete[] instead of delete.
217 * port.h (strdup): Deprecate the use of strdup.
218 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
219 * script.cc (init_run_script): Us delete[], not free.
220 (run_script): Ditto.
221 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
222 (SimpleSocket::invalidate): Use delete[], not free.
223 * site.cc (site_list_type::init): Use new char instead of strdup.
224 * site.h (~site_list_type): Use delete[], not free.
225
ad3c7385
RC
2262002-01-20 Robert Collins <rbtcollins@hotmail.com>
227
228 * Makefile.in (OBJS): Add win32.o - win32 support functions.
229 * README: Update todos.
230 * archive.cc (extract_file): Support a suffix for appending to extracted files.
231 * archive.h: Ditto.
232 * choose.cc (set_view_mode): Use the new view::views class.
233 (view::views::Unknown): New static for defaulting view::views variables.
234 (view::views::PackageFull): New static for the current view.
235 (view::views::Package): Ditto.
236 (view::views::Category): Ditto.
237 (topbucket::paint): Remove.
238 (topbucket::empty): Rename to pick_category_line::empty.
239 (topbucket::~topbucket): Remove.
240 (paint): Use the new view::views class.
241 Don't paint 'all' as a category when showing package categoies.
242 (pick_category_line::actiontext): New method.
243 (pick_category_line::paint): Make showing the category optional, and show the
244 'category action'.
245 (pick_category_line::click): Make showing the category optional, and
246 differentiate between the name being clicked, and the action description.
247 (view::view): Use the new view::views class.
248 (view::set_view_mode): Ditto.
249 (view::mode_caption): Ditto.
250 (view::views::caption): New method.
251 (view::set_headers): Use the new view::views class.
252 (view::clear_view): Ditto.
cef493d7 253 (viewsplusplus): Replaced by
ad3c7385
RC
254 (view::views::operator++): New operator.
255 (set_view_mode): Use the new view::views class.
256 (create_listview): Ditto.
257 (dialog_cmd): Ditto.
258 * choose.h (actions): Remove.
259 (views): Remove.
260 (pick_line): Add a new convenience constructor.
261 (top_bucket): Remove.
262 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
263 (view::views): New class.
264 * ini.h: Don't include choose.h
265 (is_download_action): Remove.
266 (is_upgrade_action): Remove.
267 (is_uninstall_action): Remove.
268 (is_full_action): Remove.
269 * install.cc (num_replacements): New static.
270 (rebootneeded): Ditto.
271 (replace_one): Handle upgrades separate from removal or new installs.
272 (install_one_source): Handle in use files.
273 (install_one): Don't repeat upgrades.
274 (do_install_thread): Initialize new statics.
275 Order actions as uninstall, replace, install.
276 Warn about rebooting if needed.
277 * res.rc (IDS_REBOOT_REQUIRED): New string.
278 * resource.h (IDS_REBOOT_REQUIRED): Give value.
279 * win32.h: Declare class Win32, and update copyright and intent message.
280 * win32.cc: New file.
281
edef4f57
CV
2822002-01-15 Corinna Vinschen <corinna@vinschen.de>
283
284 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
285 * package_meta.cc (packagemeta::uninstall): Check for additional
286 Windows shortcut. Unset R/O file attribute before trying to delete
287 file.
288
21f325d7
RC
2892002-01-09 Robert Collins <rbtcollins@hotmail.com>
290
291 * choose.cc (pkgtrustp): Fall back to installed if a package is not present in
292 the current trust level. For prev, fall back via curr.
293 (set_existence): Allow sources with no sites, but cached files to be
294 kept.
295 (pick_category_line::paint): Start drawing clickable categories.
296 * fromcwd.cc (found_file): Reinstate local file scanning.
297
858f100d
RC
2982002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
299
cef493d7 300 * fromcwd.cc: Run indent.
858f100d
RC
301 (do_fromcwd): Reverse sense of comment. Set next_dialog
302 to IDD_CHOOSER instead of IDD_CHOOSE.
303 * ini.cc (find_routine): Remove "/" from "/setup.ini".
cef493d7 304
d343da15
RC
3052001-01-07 Robert Collins <rbtcollins@hotmail.com>
306
307 * category.cc (Categorycmp): Add a const safe version.
308 * category.h (Categorycmp): Add a const safe version.
309 (Category): Add operator ==.
310 * choose.cc (fill_missing_category): Add every package to "All".
311 (pick_category_line::paint): Add support for hidden labels, and a tree depth.
312 (pick_category_line::click): Ditto.
313 (view::view): Pass in a top level category to use.
314 (view::insert_pkg): Special case - skip category "All".
315 (view::insert_category): Ditto.
316 (view::clear_view): Set the contents label state.
317 (create_listview): Pass in a top level category to view().
318 * choose.h (topbucket): Make bucket available to derived classes.
319 (pick_category_line): Add support for hidden labels, and a tree depth.
320 Remove our second copy of bucket.
321 (view): Pass in a top level category to the constructor.
322 Use pick_category_line to allow three level display.
323
bcf20115
RC
3242001-01-06 Robert Collins <rbtcollins@hotmail.com>
325
326 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
327 * iniparse.y (add_correct_version): Copy descriptions across.
cef493d7 328 * package_meta.cc (SDesc): Iterate through versions, return the first with a
bcf20115
RC
329 description.
330 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
331
bc78a6d5
RC
3322001-01-04 Robert Collins <rbtcollins@hotmail.com>
333
334 * script.cc (run_script): Change cygpath:// to cygfile://.
335 * install.cc (do_install_thread): Fix off-by-one errors.
336
4f4e55c2
RC
3372001-01-04 Robert Collins <rbtcollins@hotmail.com>
338
339 * package_db.cc (packagedb::flush): Fix an off-by-one error.
340
8e9aa511
RC
3412002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
342
343 * Makefile.in (realclean): more clean.
344 (OBJS): Add script.o.
345 * postinstall.cc (run_script_in_etc_postinstall): New function.
346 (do_postinstall): Split off new funtion init_run_script ().
347 (init_run_script):
348 (run):
349 (run_script): Move to script.cc. Replace some deprecated remove
350 and move calls.
351 * script.h:
352 * script.cc: New file.
353 * Forward port cygwin-20010707.jcn3.patch.
354 * package_meta.cc (uninstall): Run pre- and postremove scripts.
355 * install.cc: Typo fix.
356 (do_install): Run script initialisation.
cef493d7 357
b7301c43
RC
3582001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
359
360 * cistring.cc: Run d2u.
361 * cistring.h: Run d2u.
362
363 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
364 from the generated /etc/profile. Bash will source this file
365 automatically, and having this here merely results in .bashrc being
366 executed twice. Run d2u.
367 * desktop.h: Run d2u.
368
369 * propsheet.cc: Run d2u.
370 (PropSheetProc): New function. Add minimize box here instead of in
371 PropertyPage::DialogProc.
372 (PropSheet::Create): Change to use creation callback PropSheetProc.
373 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
374
375 * propsheet.h: Run indent, d2u.
376 * proppage.h: Run indent, d2u.
377
378 * proppage.cc: Run d2u.
379 (PropertyPage::DialogProc): Remove minimize-box-adding
380 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
381 Add support for calling virtual OnMessageCmd. Add setting of fonts in
382 WM_INITDIALOG handler.
383 (resource.h): New include for resource IDs.
384
385 * res.rc: Resize and rearrange property page dialog templates
386 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
387 specification. Run d2u.
388 (IDD_SITE): Add an edit control and an "Add" button in order to
389 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
390 (IDD_OTHER_URL): Remove dialog template.
391 (IDD_DLSTATUS): Remove dialog template.
392
393 * site.cc: Run d2u.
394 (SitePage::OnBack): Remove NEXT() macro invocation.
395 (SitePage::OnActivate): New member function.
396 (load_dialog): Remove. Functionality subsumed into
397 SitePage::OnActivate.
398 (save_dialog): Change to support both list and user URLs. Remove
399 OTHER_IDX and mirror_idx logic.
400 (SitePage::PopulateListBox): New member function.
401 (SitePage::CheckControlsAndDisableAccordingly): New member function.
402 (SitePage::OnMessageCmd): New override.
403 (check_if_enable_next): Remove.
404 (dialog_cmd): Remove.
405 (do_download_site_info_thread): Remove calls to NEXT() macro.
406 (SitePage::Create): Call the single-param PropertyPage::Create
407 overload.
408 (other_url): New static taken from other.cc.
409 (SitePage::OnNext): Remove mirror_idx logic.
410 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
411 list box populating code, now handled in SitePage::PopulateListBox.
412 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
413 (save_site_url): Fix potential buffer overflow problem. Switched to
414 TCHAR in grossly premature preparation for multilingual support.
415 * site.h: Run d2u.
416 (SitePage::OnActivate): New member function.
417 (SitePage::CheckControlsAndDisableAccordingly) New member.
418 (SitePage::OnMessageCmd): New override.
419 (do_download_site_info_thread): Add MessageBox call on failure to
420 download site list.
421
422 * splash.cc: Run d2u.
423 (SplashPage::OnInit): Set the font for the title.
424 * splash.h: Run d2u.
425
426 * threebar.cc: Run d2u.
427 * threebar.h: Run d2u.
428
429 * window.h: Run d2u.
430 (Window::IsButtonChecked): New member function declaration.
431 (Window::OnMessageCmd): New member function.
432 (Window::SetDlgItemFont): New member function declaration.
433 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
434 members.
435 * window.cc: Run d2u.
436 (Window::IsButtonChecked): New member function definition.
437 (Window::SetDlgItemFont): New member function definition.
438 (Window::Window): Add initialization for FontCounter.
439 (Window::~Window): Delete any fonts we created.
440
441 * geturl.cc: Run d2u.
442 (progress): Remove the "3" field width from the "%3d"
443 percent-complete format indicator. Causes line to not start at
444 beginning of text box, and does little to help with "jumping", since
445 the "bytes downloaded so far" field is variable-width anyway. Change
446 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
447 painfully slow connections, or temporary slowdowns in faster
448 connections should such more-instantaneous functionality become
449 available.
450
451 * net.h: Run d2u.
452 (NetPage::OnMessageCmd): New member function declaration.
453 (NetPage::CheckIfEnableNext): New member function declaration.
454 * net.cc: Run d2u.
455 (NetPage::OnMessageCmd): New member function definition.
456 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
457 (check_if_enable_next): Remove.
458 (NetPage::CheckIfEnableNext): New member function, subsumes
459 check_if_enable_next.
460 (propsheet.h): Add include.
461 (NetPage::Init): Add call to CheckIfEnableNext.
462 (load_dialog): Remove call to check_if_enable_next.
463 (NetPage::Create): Call single-template-ID-parameter overload of
464 PropertyPage::Create instead of three-parameter one.
465
466 * Makefile.in (OBJS): Remove other.o.
467 * other.cc: Remove file.
468
df62e023
RC
4692002-01-01 Robert Collins <rbtcollins@hotmail.com>
470
471 * README: Update TODO's.
472 * choose.cc (set_existence): Delete non installed packages with no
473 mirrors.
474 (fill_missing_category): Fix an off-by-one error.
cef493d7 475 (default_trust): Ditto. Also delete any unused categories.
df62e023
RC
476 (view::init_headers): Fix an off-by-one error.
477 (set_view_mode): Ditto.
478 (set_view_mode): Ditto.
479 (create_listview): Ditto.
480 (dialog_cmd): Ditto.
481 (do_choose): Ditto.
482 * io_stream.cc: Indent.
483 * io_stream.h: Ditto.
484 * package_db.cc: Ditto.
485 * package_meta.h: Const correctness for SDesc ();
486 * proppage.cc: Run d2u and indent.
487 * propsheet.cc: Run d2u and indent.
488 * window.cc: Run d2u and indent.
489 * window.h: Run d2u and indent.
490
cec57ee1
CF
4912001-12-28 Christopher Faylor <cgf@redhat.com>
492
e98c531e 493 * Makefile.in (iniparse.o): Accommodate newer bisons.
cec57ee1 494
ab57ceaa
RC
4952001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
496
497 * window.h (Window): New file, new class.
498 * window.cc (Window): New file, new class.
499
500 * threebar.h (ThreeBarProgressPage): New file, new class.
501 * threebar.cc (ThreeBarProgressPage): New file, new class.
502
503 * splash.h (SplashPage): New file, new class.
504 * splash.cc (SplashPage): Replace file with implementation of new
505 class.
506
507 * source.h (SourcePage): New file, new class.
508 * source.cc: Run indent.
509 (SourcePage): Add class implementation to this file.
510 (do_source): Remove, functionality subsumed by SourcePage::Create()
511 and SourcePage::OnDeactivate().
cef493d7 512 (dialog_proc): Remove, functionality subsumed by
ab57ceaa
RC
513 SourcePage::OnActivate().
514
515 * site.h: Run indent.
516 (SitePage): Add class declaration.
517 * site.cc: Run indent.
518 (SitePage): Add class implementation.
519 (do_download_site_info_thread): New function.
520 (context): New var. Context info for do_download_site_info_thread().
521 (do_download_site_info): New function.
522 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
523 (SitePage::OnBack): SitePage class implementation..
524 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
525 by SitePage members.
526 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
527 functionality.
528 (do_site): Remove, now handled by do_download_site_info_thread() and
529 SitePage::OnNext functionality.
530 (get_site_list): Remove dismiss_url_status_dialog() call.
531
532 * root.h (RootPage): New file, new class.
533 * root.cc: Run indent.
534 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
535 (dialog_proc): Remove.
536 (do_root): Remove
537 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
538 (RootPage::OnInit): New member function. Move get_root_dir() logic to
539 here from do_root().
540 (RootPage::Create): New member function.
cef493d7 541 (RootPage::OnNext): New member function. Move IDOK logic from
ab57ceaa
RC
542 dialog_cmd() to here.
543 (RootPage::OnBack): New member function.
544
545 * propsheet.h (PropSheet): New file, new class.
546 * propsheet.cc (PropSheet): New file, new class.
547
548 * proppage.h (PropertyPage): New file, new class.
549 * proppage.cc (PropertyPage): New file, new class.
550
551 * postinstall.cc (do_postinstall): Add owner parameter.
552
553 * other.cc (do_other): Add owner parameter.
554
555 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
cef493d7 556 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
ab57ceaa 557 get_ftp_auth().
cef493d7 558 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
ab57ceaa
RC
559 get_proxy_auth(),
560 and get_ftp_auth().
cef493d7 561 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
ab57ceaa
RC
562 get_auth(), get_proxy_auth().
563
564 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
cef493d7 565 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
ab57ceaa
RC
566 NetIO::get_ftp_auth)
567 (auth_common): Add owner param. Pass owner param to DialogBox.
cef493d7 568 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
ab57ceaa
RC
569 owner param to auth_common().
570
571 * net.h (NetPage): New file, new class.
572 * net.cc: Run indent.
573 (net.h, threebar.h): Add includes.
574 (Progress): Add extern.
575 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
576 property sheet logic. Saved temporarily for reference.
cef493d7 577 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
ab57ceaa
RC
578 NetPage::OnNext, NetPage::OnBack):
579 New implementation of NetPage class members.
580 (do_net): Remove.
581 (dialog_proc): Remove.
582
583 * msg.h (fatal, note, yesno): Add owner param.
584 * msg.c (fatal, note, yesno, mbox): Add owner param.
585 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
586 now that we have a parent.
587
588 * main.cc: Run indent.
cef493d7 589 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
ab57ceaa
RC
590 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
591 headers.
592 (root_dialog_proc): extern into this file.
593 (Progress): Progress dialog defined here, used in several other files.
594 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
595 Site, Chooser, Desktop pages and MainWindow sheet. Call
596 InitCommonControls() to make sure Windows is set up for our use of
597 property sheets. Add pages to sheet.
598 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
599 now handled by the PropSheet class.
600 (root.h): Add include.
601
602 * log.cc (log_save): Pass NULL parent to fatal().
603 (exit_setup): Pass NULL parent to note().
604
605 * localdir.h (LocalDirPage): New file, new class.
606 * localdir.cc: Run indent.
607 (localdir.h): New include.
608 (threebar.h): New include.
609 (Progress): extern into this file.
610 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
cef493d7 611 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
ab57ceaa
RC
612 LocalDirPage.
613 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
614 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
615 (do_local_dir): Remove.
616 (dialog_proc): Remove.
617 (cwd): Remove, not used by anything.
618
619 * install.cc: Run indent.
620 (process.h, threebar.h): New includes.
621 (Progress): extern into this file.
622 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
623 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
624 ThreeBarProgressPage.
cef493d7 625 (dialog_cmd, dialog_proc, dialog): Removed, handled in
ab57ceaa 626 ThreeBarProgressPage.
cef493d7
CF
627 (init_dialog): Remove all mention of the above ins_* handles. Now
628 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
ab57ceaa
RC
629 ThreeBarProgressPage instance Progress directly.
630 (progress): Alter bar update logic to call ThreeBarProgressPage
631 instance Progress directly.
632 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
633 instance Progress directly.
cef493d7 634 (install_one_source): Alter SetWindowText()s to call
ab57ceaa
RC
635 ThreeBarProgressPage
636 instance Progress directly. Pass NULL parent to note().
cef493d7 637 (do_install_thread): Rename from do_install(), added owner param.
ab57ceaa
RC
638 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
639 directly.
640 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
cef493d7 641 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
ab57ceaa
RC
642 fatal().
643 (do_install_reflector): New function.
644 (do_install): New function.
645
646 * ini.cc (process.h, threebar.h): New includes.
647 (Progress): externed into this file.
648 (find_routine): Pass NULL parent to note().
649 (do_local_ini): Add owner param.
cef493d7 650 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
ab57ceaa
RC
651 and note(). Remove call to dismiss_url_status_dialog().
652 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
cef493d7 653 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
ab57ceaa
RC
654 to IDD_CHOOSER on exit.
655 (do_ini_thread_reflector): New function.
656 (context): New var. Context for do_ini_thread.
657 (do_ini): New function.
658
659 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
660 owner param.
cef493d7 661 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
ab57ceaa 662 gw_iprogress)
cef493d7 663 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
ab57ceaa
RC
664 Removed.
665 (threebar.h): New include.
666 (Progress): externed into this file.
cef493d7 667 (dialog_cmd, dialog_proc, dialog): Removed, handled by
ab57ceaa 668 ThreeBarProgressPage now.
cef493d7 669 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
ab57ceaa 670 SetWindowText()s
cef493d7 671 and bar setting SendMessage()s to call ThreeBarProgressPage instance
ab57ceaa
RC
672 Progress directly. Remove "one bar only" logic, this is now handled
673 explicitly in the ThreeBarProgressPage class.
cef493d7 674 (progress): Altered bar and text update logic to call
ab57ceaa
RC
675 ThreeBarProgressPage instance Progress directly. Changed kbps
676 calculation to floating point and now print out a single decimal
677 place.
678 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
679 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
cef493d7 680 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
ab57ceaa
RC
681 update logic to call ThreeBarProgressPage instance Progress directly.
682 (dismiss_url_status_dialog): Remove.
683
684 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
685 false, was true.
686
687 * download.cc: Run indent.
688 (process.h, threebar.h): New includes.
689 (Progress): externed into this file.
690 (download_one): Add owner param. Pass it to get_url_to_file().
691 (do_download_thread): Renamed from do_download. Add owner param. When
692 calculating total_download_bytes, take binpicked and srcpicked into
693 account. Remove call to dismiss_url_status_dialog(), no longer needed.
694 Pass owner handle to download_one() and yesno().
695 (do_download_reflector, do_download): New functions.
696 (context): New var. Context for do_download_thread().
697
698 * dialog.h (D(x)): Add owner param.
699
700 * desktop.h (DesktopSetupPage): New file, new class.
701 * desktop.cc: Run indent.
702 (desktop.h): Add include.
cef493d7 703 (dialog_proc, do_desktop): Remove, now handled in
ab57ceaa
RC
704 DesktopSetupPage::OnInit().
705 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
706 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
707 resp.
708 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
709 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
710 of DesktopSetupPage.
711
712 * cistring.h: New file, new class.
713 * cistring.cc: New file, new class.
714
715 * choose.h: Run indent.
716 (Chooser): New class declaration.
717 * choose.cc: Run indent.
cef493d7 718 (do_choose): Add owner param. Pass it to DialogBox() and
ab57ceaa
RC
719 fatal().
720 (Chooser): New class implementation.
721
722 * res.rc (IDS_VERSION_INFO): New string.
723 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
724 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
725 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
726 throughout.
727 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
728 TAB control navigation etc. Give the controls a reasonable tab order.
729 Grouped radio buttons. Something's still not right, can't tab away
730 from back/next/cancel group reliably.
731 * resource.h (IDD_CHOOSER): New dialog ID.
732
733 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
734 threebar.o, and window.o.
735
cc41a057
RC
7362001-12-21 Robert Collins <rbtcollins@hotmail.com>
737
738 * choose.cc (listview_proc): Update the scrollbar when the headers are dragged.
739 (pick_pkg_line::paint): Clip columns to prevent overlap.
740
cbfc4215
RC
7412001-12-20 Robert Collins <rbtcollins@hotmail.com>
742
743 * Makefile.in: Add libcomctl32.a for setup.exe.
744 * archive.h (archive): Prevent non-child direct creation of the class.
745 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and assignment.
746 * choose.cc: Include commctrl for the choose header.
747 (NEW_COL_SIZE_SLOP): Define without magic numbers.
748 (pkgtrustp): Convert to function.
749 (set_action): Remove.
cef493d7 750 (add_required, fill_missing_category,default_trust): Use list syntax for
cbfc4215
RC
751 package list.
752 Use new set_action.
753 (choose_caption): Remove.
754 (topbucket::paint): New method.
755 (topbucket::empty): Ditto.
756 (topbucket::click): Ditto.
757 (topbucket::~topbucket): Ditto.
758 (paint): Remove i,ii and p as they are obsolete.
759 Remove header drawing code.
760 Use new chooser method to paint the chooser.
761 Use new chooser itemcount method.
762 (scroll_common): Rename to view::scroll.
763 Scroll the header window separately.
764 (list_vscroll, list_hscroll, list_click): Update for new chooser methods.
765 (listview_proc): Look for header messages.
766 (note_width): Accept stringless calls.
767 (pick_line::set_line): Remove.
768 (pick_line::paint): Remove.
769 (pick_pkg_line::paint): Paint this one line, using the header column widths.
770 (pick_category_line::paint): Paint this category, and anything in the bucket.
771 (pick_line::click): Remove.
772 (pick_pkg_line::click): Handle a click.
773 (pick_category_line::click): Handle a click.
774 (_view): Rename all to view.
775 (view::view): Initialise the control contents.
776 (view::set_headers): Work with the header control.
777 (view::init_headers): Use list syntax for package list.
778 Rearrange the width logic a little.
779 (view::insert_pkg): Update to use the hierarchy.
780 (view::insert_category): Ditto.
781 (view::insert_at, view::insert_under): Remove.
782 (view::clear_view): Update to use the hierarchy.
783 (view::click): Update to use the hierarchy.
784 (set_view_mode): Use list syntax for package list.
785 Update for new chooser methods.
786 (DoInsertItem): New helper function. (Needs a home somewhere).
787 (create_listview): Remove choose control code and use the constructor instead.
788 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
789 * choose.h: Include newly required headers list and package_meta.
790 (_voew): Rename to view.
791 (pick_line): Convert to an ABC.
792 (pick_pkg_line): New class.
793 (pick_catgory_line): New class.
794 (topbucket): New class.
795 (view::scroll): New method created from listview_scroll function.
796 * desktop.cc (make_passwd_group): Use list syntax for package list.
797 * download.cc (do_download): Use list syntax for package list.
798 * fromcwd.cc (found_file): Use list syntax for package list.
799 * iniparse.y (pacakges): Use list syntax for package list.
800 * install.cc (uninstall_one): Use list syntax for package list.
801 (do_install): Use list syntax for package list.
802 * io_stream.h (io_stream): Prevent non-child direct creation of the class.
803 Prevent inaccurate synthetic copy and assignment.
804 * list.h: Include required header stdlib.
805 Work on const correctness.
806 * package_db.cc (packagedb::getpackagebyname): Remove.
807 (packagedb::packagedb): Remove custom list code, and make db a local.
808 (packagedb::getfirstpackage): Remove.
809 (packagedb::getnextpackage): Remove.
810 (packagedb::addpackage): Remove.
811 (flush): Remove custom list code.
812 (packagedb::registerpackage): Remove.
813 (packagedb::packages): New static member.
814 (packagedb::task): New static member.
815 * package_db.h (PackageDBActions): New enum.
816 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
817 addpackage, registerpackage, packages, packagecount, curr_package, db.
818 Add packages, task.
819 * pacakge_meta.cc: Include package_db.h.
820 (packagemeta::action_caption): New method.
821 (packagemeta::set_action): New method.
822 * package_meta.h (CategoryPackage): Initialise key.
823 (packagemeta): Initialise key.
824 Add set_action and action_caption methods.
825 Prevent inaccurate synthetic copy and assignment.
826 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
827 * source.cc: Include package_db for db manipulation.
828 (save_dialog): Set the db task.
829 * win32.h: Tell the w32 include headers what IE version to expect/require.
830
cd8e5750
RC
8312001-12-06 Robert Collins <rbtcollins@hotmail.com>
832
833 * README: Wishlist updates.
834
5519d243
RC
8352001-12-04 Robert Collins <rbtcollins@hotmail.com>
836
837 * package_db.cc (getnextpackage): Don't overrun the array.
838
de6a1a64
RC
8392001-12-04 Robert Collins <rbtcollins@hotmail.com>
840
841 * Makefile.in (OBJS): Add setup_version.o.
842 (version.c): Rename to setup_version.
843 * choose.cc (set_action): Prevent NULL pointer dereference.
844 (package_sort): Remove.
845 * fromcwd.cc (canonicalize_version): Moved to version.cc.
846 (check_ini): New function for use with find to see if there is a cached setup.ini.
847 (do_fromcwd): Check for a cached setup.ini from any mirror site.
848 * ini.cc (find_routine): New function, for finding cached setup.ini's.
849 (do_local_ini): New function, drives parsing of local ini's.
850 (do_remote_ini): New function, drives parsing and caching of remote ini's.
851 (do_ini): Move guts to do_remote_ini and do_local_ini.
852 * list.h (removebyindex): New method.
853 * other.cc (save_dialog): Use new site_list and all_site_list to add the
854 new site to the site picklist.
855 (dialog_cmd): Only save the dialog when exiting the dialog.
856 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
857 * site.cc (site_list_type): Move to site.h
858 (site_list): New global, sites chosen by the user.
859 (all_site_list): New global, all potential sites.
cef493d7 860 (site_list_type::init): New method, parses a mirror.lst URL string into a
de6a1a64
RC
861 site_list_type object.
862 (site_list_type::site_list_type): New method.
863 (check_if_enable_next): Examine the control, not a local variable.
864 (load_dialog): Select all the user chosen sites by default.
cef493d7 865 (save_dialog): Adjust for multiple selection semantics.
de6a1a64 866 (save_site_url): Save all user chosen sites.
cef493d7 867 (dialog_cmd): Don't save the dialog when the listbox recieves a message -
de6a1a64
RC
868 thats not needed.
869 Remove obsolete other_url reference.
870 (dialog_proc): Use all_site_list instead of site_list.
871 (site_sort): Remove.
872 (get_site_list): Remove malloc use - use list template instead.
873 Move site_list_type initialisation to site_list_type::init().
874 (get_initial_list_idx): Renamed to ...
875 (get_saved_sites): this. Also read in multiple sites to the site_list.
876 (do_site): Use all_site_list not site_list.
877 Log all chosen sites.
878 * site.h: New file, defines site related class, functions and variables.
879 * state.h: Add comment about use of state.h
880 (mirror_site): Remove.
881 (other_url): Remove.
882 (MIRROR_SITE): Remove.
883 * version.cc: New file, for version-handling and related functions.
884
341988b9
RC
8852001-12-02 Robert Collins <rbtcollins@hotmail.com>
886
887 * Makefile.in: Add filemanip.o to setup.
888 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
889 * archive_tar.h (archive_tar_file): Implement get_size virtual.
890 (archive_tar): Ditto.
891 * choose.cc (set_action): Use [] operator instead of getnth - its more readable.
892 (paint): Ditto.
893 (_view::init_headers): Ditto.
894 (_view::insert_pkg): Ditto.
895 (set_view_mode): Ditto.
896 (scan2): Ditto.
897 (do_choose): Ditto.
898 (base): Moved to filemanip.cc.
899 (find_tar_ext): Ditto.
900 (parse_filename): Ditto.
901 (_Info::_Info): Remove.
902 * compress_bz.h (compress_bz): Implement get_size virtual.
903 * compress_gz.h (compress_gz): Implement get_size virtual.
904 * cygpackage.cc (cygpackage::destroy): Use array delete for char * objects.
905 * download.cc (get_file_size): Move to filemanip.cc.
906 (check_for_cached): Use [] operator instead of getnth - its more readable.
907 (download_one): Ditto.
908 * filemanip.cc: New file.
909 * geturl.cc (init_dialog): Make url a pointer to const as it is not modified.
910 (get_url_to_membuf): New function - contains get_url_to_string worker code.
911 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
912 * geturl.h: Declare new prototype.
913 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
914 Tidy up the error code a little.
915 * ini.h: Remove __cplusplus protection for ini_init.
916 (_Info): Remove.
917 * inilex.l: Remove old globals.
918 (ini_init): Use an io_stream for getting the characters.
919 (ini_getchar): Ditto.
920 * iniparse.y: Declare yylex as a C++ function.
921 (add_correct_version): Use [] operator instead of getnth - its more readable.
922 * io_stream.cc (io_stream::move_copy): Use the copy method.
923 (io_stream::copy): New method to simply copy from one stream to another.
924 * io_stream.h (io_stream): New static method copy, and virtual method get_size.
925 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
926 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
927 * io_stream_file.cc (io_stream_file::get_size): Implement this.
928 * io_stream_file.h (io_stream_file::get_size): Declare this.
929 * io_stream_memory.h: Include errno as it's neded to parse the header.
930 (io_stream_memory::get_size): Implement this.
931 (io_stream_memory::st_size): Delete this.
932 * list.h: Change getnth into the [] operator.
933 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being modified.
934 (NetIO::set_url): Ditto.
935 (NetIO::open): Ditto.
936 * netio.h: As for netio.cc.
937 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect Purl not
938 being modified.
939 * nio-file.h: Ditto.
940 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
941 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
942 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
943 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
944 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
945 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
946 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
947 * package_source.cc (packagesource::set_canonical): Ditto.
948 (packagesource::set_cached): Ditto.
949 * package_source.h (site::~site): Ditto.
cef493d7 950 * site.cc: Change site_list_type to a class, and search and replace sort_key to
341988b9
RC
951 key globally.
952
071c1c54
RC
9532001-12-01 Robert Collins <rbtcollins@hotmail.com>
954
955 * package_source.cc (packagesource::set_canonical): Filename was out by one.
956
4fe323f9
RC
9572001-11-30 Robert Collins <rbtcollins@hotmail.com>
958
959 * Makefile.in (OBJS): Remove category_list - it's not needed.
960 * README: More wishlist updates.
961 * category.cc (Category::Category): Initialise new members.
962 (Categorycmp): New function.
963 * category.h (Category): New member key for template use.
964 * category_list.cc: Remove.
965 * category_list.h: Remove.
966 (Categorycmp): New function prototype.
967 * choose.cc: Remove category_list - not needed.
cef493d7 968 (set_action): Only show the 'source' option when the source is actually
4fe323f9
RC
969 available.
970 (add_required): Fix recursion limiter to 5.
971 (fill_missing_category): Use list access.
972 (default_trust): Ditto.
973 (pick_line::paint): Ditto.
974 (_view::init_headers): Ditto.
975 (_view::insert_pkg): Ditto.
976 (_view::insert_category): Ditto.
977 (_view::click): Ditto.
978 (set_view_mode): Ditto.
979 (do_choose): Ditto.
980 * cygpackage.h: Remove category_list - not needed.
981 * geturl.cc (get_url_to_string): Fix null byte insertion.
982 * inipatse.y: Remove category_list - not needed.
983 (categories): Use list access.
984 * package_db.cc: Ditto.
985 * package_db.h: Remove category_list - not needed.
986 (packagedb): Use the list template for categories.
987 * package_meta.cc (add_category): Ditto.
988 * package_meta.h (CategoryPackage): Link to the category as well.
cef493d7 989 (packagemeta): Use a list of CategoryPackages instead of Categories
4fe323f9
RC
990 for more memory efficient cross-referencing.
991
7d66d192
RC
9922001-11-30 Robert Collins <rbtcollins@hotmail.com>
993
994 * package_db.cc (packagedb::flush): Write a canonical version for all packages
995 irrespective of the media they were installed from.
996
bb849dbd
RC
9972001-11-29 Robert Collins <rbtcollins@hotmail.com>
998
999 * Makefile.in (OBJS): Add package_source and rfc1738.
1000 * README: Wishlist update.
1001 * category_list.cc (register_category): Use references.
1002 * category_list.h (CategoryList): Ditto.
1003 * choose.cc (isinstalled): Remove.
1004 (pkgtrustp): New macro.
1005 (set_action): Use packagemeta.
1006 (add_required): Ditto.
1007 (choose_caption): Example package to choose caption, rather than state flags.
1008 (check_existence): Remove.
1009 (set_existence): Remove old code.
1010 (fill_missing_category): Use packagemeta.
1011 (keep_or_skip): Remove.
1012 (default_trust): Use packagemeta and set trust values directly.
1013 (pick_line::set_line): Use packagemeta.
1014 (_view::insert_pkg): Ditto.
1015 (_view::insert_category): Ditto.
1016 (_view::click): Ditto.
1017 (set_view_mode): Ditto. Also remove "exclude" code.
1018 (create_listview): Use packagemeta.
1019 (dialog_cmd): Ditto.
1020 (getpkgbyname): Remove
1021 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
1022 (read_installed_db): Remove.
1023 (package_sort): Use packagemeta.
1024 (do_choose): Use packagemeta. Don't sort the packages - the db does that.
1025 * choose.h: Use packagemeta.
1026 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
1027 (cygpackage::cygpackage): Ditto.
1028 (cygpackage::set_canonical_version): Copy the passed string.
1029 (cygpackage::~cygpackage): Move cleanup code to destroy().
1030 (cygpackage::destroy): New function.
1031 (cygpackage::getfirstfile): Use a separate buffer.
1032 (cygpackage::getnextfile): Ditto.
1033 (cygpackage::Canonical_version): New function.
1034 (cygpackage::set_sdesc): Ditto.
1035 (cygpackage::set_ldesc): Ditto.
1036 * cygpackage.h (cygpackage::Canonical_version): New method.
1037 (cygpackage::set_sdesc): New method.
1038 (cygpackage::set_ldesc): New method.
1039 (cygpackage::SDesc): New method.
1040 (cygpackage::LDesc): New method.
1041 (cygpackage::set_canonical_version): New method.
1042 * desktop.cc: Include packagedb headers.
1043 (make_password_group): Use packagemeta.
1044 * download.cc: Include packagedb headers.
1045 (check_for_cached): New method to find any cached file and fill out the database
1046 info.
1047 (download_one): Take a packagesource, support multiple mirrors.
1048 (do_download): Use packagemeta.
1049 * from cwd.cc: Include packagedb headers.
1050 (found_file): Use packagemeta.
1051 * ini.cc (do_ini): Beginning of multiple-mirror support.
1052 * ini.h (CategoryPackage): Remove.
1053 (Dependency): Remove.
1054 (Package): Remove.
1055 (new_package,getpkgbyname,getpackagecategorybyname,add_category): Remove.
1056 * inilex.l: Support multiple mirrors.
1057 * iniparse.y: Include packagedb headers.
1058 (parser): Use packagemeta.
1059 (new_package): Remove.
1060 (add_correct_version): New function.
1061 (new_requirement): Remove.
1062 (add_category): Remove.
1063 * install.cc (uninstall_one): Use packagemeta.
1064 (install_one_source): New function.
1065 (install_one): Use packagemeta.
1066 (do_install): Use packagemeta.
1067 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
1068 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the file
1069 after setting the mtime, it makes no sense, and results in 0 length files.
1070 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
1071 * list.h: New file, template class for a form of list.
1072 * package_db.cc (packagedb::registerpackage): New function.
1073 * package_db.h (packagedb::npackages ()): New method.
1074 * package_meta.cc (packagemeta::add_version): Use list template.
1075 (packagemeta::set_installed): Ditto.
1076 (packagemeta::add_category): New method.
1077 * package_meta.h: Include necessary headers to parse the class.
1078 (CategoryPackage): New class.
1079 (packagemeta): Initialise all members.
1080 (packagemeta::SDesc): New method.
1081 (packagemeta::Categories): New method.
1082 (packagemeta::add_category): Ditto.
1083 (packagemeta::versions): Change to be a list instance.
1084 * package_source.cc (packagesource::set_canonical): New method.
1085 (packagesource::set_cached): New method.
1086 * package_source.h: Include necessary headers to parse the class.
1087 (site): New class.
1088 (packagesource::packagesource): Initialize all members.
1089 (packagesource): Make this class non-abstract.
1090 * package_version.cc (packageversion::packageversion): New method.
1091 * package_version.h (Dependency): New class.
1092 (packageversion::Canonical_vesion): New method.
1093 (packageversion::SDesc): New method.
1094 (packageversion::LDesc): New method.
1095 (packageversion::new_requirement): Ditto.
1096 (packageversion::srcpicked, binpicked): What to install.
1097 (packageversion::src, bin): Installation source data.
1098 * rfc1738.cc: New file. Escapes special characters in URL's.
1099 * rfc1738.h: Ditto.
1100
90d14922
RC
11012001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
1102
1103 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
1104 SimpleSocket::gets() returns a zero-length string, so that we
1105 don't end up eating the entire stream thinking it's all header info.
1106
7c7034e8
RC
11072001-11-23 Robert Collins <rbtcollins@hotmail.com>
1108
1109 * install.cc (badrename): Remove.
1110 (do_install): Use packagedb flush method to write /etc/setup/installed.db.
1111 * io_stream.cc (io_stream::move_copy): New method.
1112 (io_stream::move): New method.
1113 * io_stream.h (io_stream): New methods move and move_copy.
1114 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
1115 * io_stream_cygfile.h (io_stream_cygfile): New method move.
1116 * io_stream_file.cc (io_stream_file::move): New method.
1117 * io_stream_file.h (io_stream_file): New method move.
1118 * package_db.cc (packagedb::flush): New method.
1119 * package_db.h (packagedb): New method flush.
1120
fa0c0d10
RC
11212001-11-23 Robert Collins <rbtcollins@hotmail.com>
1122
1123 * Makefile.in (OBJS): Add package_version.
1124 * ategory.cc (Category::Category): Update constructors.
1125 * category_list.cc (CategoryList::register_category): Insert correctly.
1126 * choose.cc: Include package_version.h, not package.h.
1127 * cygpackage.cc: Ditto.
1128 (cygpackage::uninstall): New method.
1129 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
1130 New method uninstall.
1131 * hash.cc (add, has, enumerate): Change prototype to be accurate.
1132 * hash.h (hash): Change prototypes to be accurate.
1133 * ini.h (_Info): New parameterless constructor.
1134 (CategoryPackage): New constructor.
1135 (Package): Ditto.
1136 * install.cc: Don't include unneeded headers.
1137 Include package database headers.
1138 (hash::add_subdirs): Remove.
1139 (uninstall_one): Use packagemeta->uninstall to perform the uninstallation.
1140 Don't uninstall source packages.
1141 (do_install): Just can uninstall_one once as we ignore source packages now.
cef493d7 1142 Don't copy the installed.old database accross, instead iterate through the
fa0c0d10
RC
1143 packagedb packages list and write the isntalled packages out.
1144 * package_db.cc: Include package_version.h, not package.h.
1145 (packagedb::packagedb): Never let db be undefined.
1146 Record the installation filename, so we can reconstruct installed.db.
1147 (packagedb::addpackage): Insert packages in alpha sorted order.
1148 (packagedb::categories): Initialise correctly.
1149 * package_meta.cc: Include win32 and mount headers as a workaround to
1150 current io_stream limitations. Include a TODO about that.
1151 (standard_dirs): New, from install.cc.
1152 (hash::add_subdirs): New, from install.cc.
1153 (packagemeta::set_installed): Rename genericpackage to packageversion.
1154 (packagemeta::uninstall): New method.
1155 * package_meta.h: Rename genericpackage to packageversion.
1156 (packagemeta): Update constructor.
1157 (add_version, set_installed): Rename genericpackage to packageversion.
1158 (uninstall): New method.
1159 (installed_from): New member.
1160 * package_source.cc: New file.
1161 * package_source.h: New file.
1162 * package_version.cc: New file.
1163 * package_version.h: New file.
1164 * package.cc: Removed.
1165 * package.h: Removed.
cef493d7 1166
7b606ae5
RC
11672001-11-21 Robert Collins <rbtcollins@hotmail.com>
1168
1169 * Makefile.in (OBJS): Add category.o and category_list.o.
1170 * category.h: New file.
1171 * category.cc: New file.
1172 * category_list.h: New file.
1173 * category_list.cc: New file.
1174 * choose.cc: Include category headers.
1175 (fill_missing_category): Use package_db to access global categories.
1176 (_view::insert_pkg): Ditto.
1177 (_view::insert_category): Ditto.
1178 (set_view_mode): Ditto.
1179 (getcategorybyname): Remove.
1180 * cygpackage.h: Include category_list.h to parse this correctly.
1181 (cygpackage): New virtual &Categories.
1182 * ini.h (_CategoryPackage): More C to C++ conversion.
1183 (Category): Remove.
1184 (getcategorybyname): Remove.
1185 (register_category): Remove.
1186 * iniparse.y: Include package db and category headers.
1187 (categories): Use package_db to access global categories.
1188 (category): Remove.
1189 (ncategories): Remove.
1190 (register_category): Remove.
1191 * package.h: New virtual &Categories.
1192 * package_db.cc (packagedb::packagedb): Don't read the installed db twice.
1193 (packagedb::categories): Declare.
1194 * package_db.h (packagedb): New member categories for global categories list.
1195
d0fa1c4e
RC
11962001-11-21 Robert Collins <rbtcollins@hotmail.com>
1197
1198 * choose.h: Don't include ini.h
1199 * ini.h: Allow pure c++ in the header file.
1200
24cbae7f
RC
12012001-11-21 Robert Collins <rbtcollins@hotmail.com>
1202
1203 * install.cc (do_install): Write a version 2 installed.db file.
1204 * package_db.cc (packagedb::packagedb): Read version 1 and 2 installed.db files.
1205
7939f6d1
RC
12062001-11-21 Robert Collins <rbtcollins@hotmail.com>
1207
1208 * Makefile.in (OBJS): Add package abstraction objects.
1209 * choose.cc: Include package abstraction headers.
1210 (read_installed_db): Use packagedb class and ignore installed sources.
1211 * cygpackage.cc: New file.
1212 * cygpackage.h: New file.
1213 * filemanip.h (get_file_size): Use unixy types.
1214 * package.h: New file.
1215 * package.cc: New file.
1216 * package_db.cc: New file.
1217 * package_db.h: New file.
1218 * package_meta.cc: New file.
1219 * package_meta.h: New file.
1220
33bc0053
RC
12212001-11-21 Robert Collins <rbtcollins@hotmail.com>
1222
1223 * REAME: Updates to wishlist.
1224
12ccadc0
RC
12252001-11-16 Robert Collins <rbtcollins@hotmail.com>
1226
1227 * README: Updated and added my list of wishlist and todo items.
1228
ca9506cc
RC
12292001-11-14 Robert Collins <rbtcollins@hotmail.com>
1230
1231 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
1232 * archive_tar.cc (archive_tar::write): New prototype.
1233 (archive_tar::seek): New method.
1234 * archive.h (archive_tar_file): Update write() and add seek().
1235 (archive_tar): Ditto.
1236 * archive_tar_file.cc (archive_tar_file::write): New prototype.
1237 (archive_tar_file::seek): New method.
1238 * compress_bz.cc (compress_bz::write): New prototype.
1239 (compress_bz::seek): New function.
1240 * compress_bz.h (compress_bz): Update write() and add seek().
1241 * compress_gz.cc (compress_gz::write): New prototype.
1242 (compress_gz::seek): New function.
1243 * compress_gz.h (compress_gz): Update write() and add seek().
1244 * geturl.cc: Include io_stream headers.
1245 (GUBuf): Remove.
1246 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
1247 * io_stream.h (io_stream_seek_t): New enum.
1248 (io_stream): Update write() and add seek().
1249 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
1250 (io_stream_cygfile::seek): New function.
1251 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add seek().
1252 * io_stream_file.cc (io_stream_file::write): New prototype.
1253 (io_stream_file::seek): New function.
1254 * io_stream_file.h (io_stream_file): Update write() and add seek().
1255
2db33f10
RC
12562001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
1257
1258 * localdir.cc: Add headers unistd.h and port.h.
cef493d7 1259 (save_local_dir): Expand search logic to include local directory for
2db33f10
RC
1260 location of file last-cache.
1261 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
cef493d7 1262 (do_local_dir): Expand search logic to include local directory for file
2db33f10
RC
1263 last-cache.
1264 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
cef493d7 1265 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
2db33f10 1266 Internet.
cef493d7 1267 (do_source): Default to Install from Internet on first entry or
2db33f10
RC
1268 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
1269
03a6c5b1
RC
12702001-11-13 Robert Collins <rbtcollins@hotmail.com>
1271
1272 * choose.cc (find_tar_ext): Only match at the end of the string.
1273 (getpkgbyname): Prevent NULL pointer dereference.
1274
b24c88b3
RC
12752001-11-13 Robert Collins <rbtcollins@hotmail.com>
1276
1277 * Makefile.in (CFLAGS): Add warnings and -Werr.
1278 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter what.
1279 (OBJS): Add io_stream class' objects.
1280 (autoload.o): Use WARNONLY_FLAGS.
1281 (inilex.o): Ditto.
1282 (iniparse.o): Ditto.
1283 * archive.cc: New file.
1284 * archive.h: New file.
1285 * archive_tar.cc: New file.
1286 * archive_tar.h: New file.
1287 * archive_tar_file.cc: New file.
1288 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
1289 * choose.cc: Use io_stream.h, not mount.h.
1290 Run indent.
1291 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an extension.
1292 (read_installed_db): Use io_streams.
1293 * choose.h: Run indent.
1294 * compress.cc: New file.
1295 * compress.h: New file.
1296 * compress_bz.cc: New file.
1297 * compress_bz.h: New file.
1298 * compress_gz.cc: New file.
1299 * compress_gz.h: New file.
1300 * concat.cc: Run indent.
1301 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1302 * concat.h: Run indent.
1303 * desktop.cc: Run indent.
1304 Include mklink2.h rather than redefining by hand.
1305 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1306 (etc_profile): Fix compiler warning (deprecated conversion).
1307 (make_link): Fix compiler warning (deprecated conversion).
1308 Tidy up use of args variable - consolidate into argbuf.
1309 (start_menu): Fix compiler warning (deprecated conversion).
1310 (desktop_icon): Fix compiler warning (deprecated conversion).
1311 (make_etc_profile): Fix compiler warning (deprecated conversion).
1312 (uexists): Fix compiler warning (deprecated conversion).
1313 (check_desktop): Fix compiler warning (deprecated conversion).
1314 (check_startmenu): Fix compiler warning (deprecated conversion).
1315 * dialog.cc: Run indent.
1316 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1317 (fatal): Fix compiler warning (deprecated conversion).
1318 * dialog.h: Run indent.
1319 * diskfull.cc: Run indent.
1320 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1321 * download.cc: Run indent.
1322 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1323 (download_one): Fix compiler warning (signed vs unsigned comparison).
1324 * filemanip.h: Run indent.
1325 * find.cc: Run indent.
1326 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1327 (find): Fix compiler warning (deprecated conversion).
1328 * find.h: Run indent.
1329 * fromcwd.cc: Run indent.
1330 * geturl.cc: Run indent.
1331 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1332 (dialog_cmd): Return a value.
1333 (dialog_proc): Remove unused variables.
1334 Return a value.
1335 (get_url_to_file): Fix compiler warning (deprecated conversion).
1336 * geturl.h: Run indent.
1337 * hash.cc: Run indent.
1338 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1339 * hash.h: Run indent.
1340 * ini.cc: Run indent.
1341 Use io_streams.
1342 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1343 (do_ini): Use io_streams for local io.
1344 * ini.h: Run indent.
1345 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
1346 Fix compiler warning (brackets for truth assignment).
1347 * install.cc: Run indent.
1348 Fix compiler warning (/* in comment).
1349 Use io_streams.
1350 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1351 (dialog_cmd): Return a value.
1352 (dialog_proc): Return a value.
1353 (start_tics): Deleted - was unused.
1354 (badrename): Fix compiler warnings (unused, deprecated conversion).
1355 (standard_dirs): Fix compiler warning (deprecated conversion).
1356 (exists): Remove.
1357 (uninstall_one): Convert to io_streams.
1358 (install_one): Convert to io_streams.
1359 (do_install): Convert to io_streans.
1360 Fix compiler warning (deprecated conversion).
1361 * io_stream.cc: New file.
1362 * io_stream.h: New file.
1363 * io_stream_cygfile.cc: New file.
1364 * io_stream_cygfile.h: New file.
1365 * io_stream_file.cc: New file.
1366 * io_stream_file.h: New file.
1367 * localdir.cc: Run indent.
1368 Use io_streams.
1369 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1370 (get_root_dir_now): Remove.
1371 (save_local_dir): Convert to io_streams.
1372 (dialog_cmd): Return a value.
1373 (do_local_dir): Convert to io_streams.
1374 (log.cc): Run indent.
1375 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1376 (log): Fix compiler warning (deprecated conversion).
1377 (log_save): Fix compiler warning (deprecated conversion).
1378 * log.h: Run indent.
1379 (log): Fix compiler warning (deprecated conversion).
1380 (log_save): Fix compiler warning (deprecated conversion).
1381 * main.cc: Run indent.
1382 Don't include "netio.h".
1383 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1384 (netio_test): Remove.
1385 (sid_auth): Fix compiler warning (partially bracketed initialiser).
1386 (WinMain): Return a value.
1387 * mkdir.cc: Run indent.
1388 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1389 * mklink2.c: Run indent.
1390 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1391 (mkcygsymlink): New function.
1392 * mklink2.h: New file.
1393 * mount.cc: Run indent.
1394 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1395 (create_mount): Remove unused variables.
1396 (cygpath): Fix compiler warning (signed vs unsigned comparison).
1397 * mount.h: Run indent.
1398 * msg.cc: Run indent.
1399 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1400 (msg): Fix compiler warning (deprecated conversion).
1401 (mbox): Fix compiler warning (deprecated conversion).
1402 * msg.h: Run indent.
1403 (msg): Fix compiler warning (deprecated conversion).
1404 * net.cc: Run indent.
1405 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1406 (dialog_cmd): Return a value.
1407 * netio.cc: Run indent.
1408 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1409 (auth_cmd): Return a value.
1410 * netio.h: Run indent.
1411 * nio-file.cc: Run indent.
1412 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1413 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
1414 * nio-file.h: Run indent.
1415 * nio-ftp.cc: Run indent.
1416 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1417 * nio-ftp.h: Run indent.
1418 * nio-http.cc: Run indent.
1419 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1420 * nio-http.h: Run indent.
1421 * nio-ie5.cc: Run indent.
1422 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1423 * nio-ie5.h: Run indent.
1424 * other.cc: Run indent.
1425 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1426 (dialog_cmd): Return a value.
1427 * port.h: Run indent.
1428 * postinstall.cc: Run indent.
1429 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1430 (cmd): Fix compiler warning (deprecated conversion).
1431 (eun): Fix compiler warning (deprecated conversion).
1432 * root.cc: Run indent.
1433 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1434 * simpsock.cc: Run indent.
1435 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1436 * simpsock.h: Run indent.
1437 * site.cc: Run indent.
1438 Use io_streams.
1439 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1440 (get_root_dir_now): Remove.
1441 (save_site_url): Convert to io_streams.
1442 (dialog_cmd): Return 0.
1443 (get_initial_list_idx): Convert to io_streans.
1444 * source.cc: Run indent.
1445 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1446 (check_if_enable_next): Remove.
1447 (load_dialog): Remove unused variables.
1448 (save_dialog): Ditto.
1449 (dialog_cmd): Return a value.
1450 * splash.cc: Return a value.
1451 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1452 (dialog_cmd): Return a value.
1453 * state.cc: Run indent.
1454 (cvsid): Fix compiler warnings (unused, deprecated conversion).
1455 * state.h: Run indent.
1456 * tar.h: Remove.
1457 * tar.cc: Remove.
1458
398dd7b2
CF
14592001-11-12 Christopher Faylor <cgf@redhat.com>
1460
1461 * desktop.cc (start_menu): Change start menu name to "Cygwin".
1462 (check_startmenu): Ditto.
1463
c29ee141
CF
14642001-11-11 Christopher Faylor <cgf@redhat.com>
1465
1466 * choose.cc (parse_filename): Finish reorganization by correctly
1467 decrementing p in memmove.
1468
3a8276de
CF
14692001-11-11 Christopher Faylor <cgf@redhat.com>
1470
1471 * choose.cc (parse_filename): Reorganize code to work around gcc
1472 optimization problem.
1473
6eea52fb
RC
14742001-11-09 Gareth Pearce <tilps@hotmail.com>
1475
1476 * choose.cc (set_action): Allow skip as an option for installed
1477 packages that have version number not listed in setup.ini.
1478
cf99b153
RC
14792001-11-10 Robert Collins <rbtcollins@hotmail.com>
1480
1481 * choose.cc (set_cation): Backout last change.
1482 (choose_caption): Ditto.
1483
55e204f6
RC
14842001-11-10 Robert Collins <rbtcollins@hotmail.com>
1485
1486 * ini.h (actions): Remove - transferred to choose.h.
1487 (views): Ditto.
1488 * choose.h: Protect class's from "C" compilers.
1489 (actions): New enum, from ini.h. This may not be the 'right' place
1490 but that place doesn't exist yet.
1491 (_views): New enum, from ini.h.
cef493d7 1492 * choose.cc (set_action): Handle installed packages with a version not in
55e204f6
RC
1493 setup.ini.
1494 (choose_caption): Ditto.
1495 * iniparse.y: Rearrange header order to handle new ini.h.
1496
14972001-11-10 Robert Collins <rbtcollins@hotmail.com>
1498
1499 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
1500 (registry_category): Fix compiler warning (deprecated conversion).
1501 * iniparse.y (registry_category): Ditto.
1502 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated conversion).
1503 (add_requried): Remove unused variable.
1504 (choose_caption): Handle all enumeration values via a default.
1505 (paint): Fix compiler warnings (unused, deprecated conversion).
1506 (scroll_common): Fix compiler warnings (unused, signed vs unsigned comparison).
1507 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
1508 (note_width): Fix compiler warnings (deprecated conversion).
1509 (keep_or_skip): Fix compiler warnings (unused).
1510 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
1511 (set_view_mode): Fix compiler warnings (unused).
1512 (create_listview): Fix compiler warnings (unused, incorrect format, reaches
1513 end of function).
1514 (dialog_proc): Fix compiler warnings (unused).
1515 (read_installed_db): Fix compiler warnings (unused, deprecated conversion).
1516 * choose.h (_header): Fix compiler warnings (deprecated conversion).
1517 (_view): Ditto.
1518
67a55ad9 15192001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
cef493d7 1520
67a55ad9
RC
1521 * simpsock.h (SimpleSocket::invalidate): Declare new method.
1522 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
1523 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
1524 memory for buf in the constructor.
1525 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
1526 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
1527 (SimpleSocket::write): Check object consistency - return -1 on error.
1528 invalidate() the object on socket write error.
1529 (SimpleSocket::fill): Check object consistency - return -1 on error.
1530 invalidate() the object if socket read error is encountered and there
1531 is no more data available in the internal read buffer.
1532 Allocate memory for the internal read buffer.
1533 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
1534 during fill() and no more data is available in the internal read buffer.
1535 (SimpleSocket::read): Check object consistency - return -1 on error.
1536 invalidate() the object if socket read error is encountered.
1537 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
1538 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
1539 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
1540 (NetIO_FTP::read): Use NetIO_FTP::ok().
1541 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
1542 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
1543
5898e300
RC
15442001-11-09 Robert Collins <rbtcollins@hotmail.com>
1545
1546 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
1547 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated conversion).
1548 (SimpleSocket::printf): Ditto.
1549 (SimpleSocket::write): Ditto.
1550 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
1551 printf and write.
1552 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
1553 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
1554 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated conversion).
1555
8e58f8fd
RC
15562001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
1557
1558 * geturl.cc (get_url_to_string): clean up memory leak
1559 (get_url_to_file): ditto
cef493d7 1560
4b4002ab
RC
15612001-11-06 Robert Collins <rbtcollins@hotmail.com>
1562
1563 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
1564 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
1565
94525fd9
RC
15662001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
1567
1568 * fromcwd.cc (found_file): Free() memory containing the version and
1569 filepath information for a given package, before replacing the pointers which
1570 reference this memory.
1571
15722001-11-06 Robert Collins <rbtcollins@hotmail.com>
ca83c665
RC
1573
1574 * fromcwd: Fix compiler warnings for cvsid.
1575 (canonicalize_version): Fix compilter warnings.
1576 (do_fromcwd): Ditto.
1577 * version.h: Fix compiler warnings for canonicalize_version.
1578
ce1f9ec2
RC
15792001-11-03 Robert Collins <rbtcollins@hotmail.com>
1580
1581 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
1582
89d82ec7
RC
15832001-11-02 Robert Collins <rbtcollins@hotmail.com>
1584
1585 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
1586
c8fea72a
RC
15872001-11-02 Robert Collins <rbtcollins@hotmail.com>
1588
8114d309
RC
1589 * choose.cc (set_action): Correctly allow skip for any uninstalled package.
1590
15912001-11-02 Robert Collins <rbtcollins@hotmail.com>
1592
cef493d7 1593 * choose.cc (default_trust): Change the "Required" forced install category to
8114d309 1594 "Base".
c8fea72a 1595
f557695e
RC
15962001-11-02 Robert Collins <rbtcollins@hotmail.com>
1597
1598 * choose.cc: Ran indent.
1599 (set_action): When the requested trust level is missing and the level was not
1600 user requested, set the action to ACTION_SAME_CURR.
1601
9a60dafc
CF
16022001-11-01 Christopher Faylor <cgf@redhat.com>
1603
cef493d7 1604 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
f557695e
RC
1605
16062001-11-02 Robert Collins <rbtcollins@hotmail.com>
1607
1608 * choose.cc (_view::init_headers): Resync with the paint logic.
9a60dafc 1609
878faffd
RC
16102001-11-02 Robert Collins <rbtcollins@hotmail.com>
1611
cef493d7 1612 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently installed
878faffd
RC
1613 packages.
1614
05bfdf26
RC
16152001-11-02 Robert Collins <rbtcollins@hotmail.com>
1616
1617 * choose.cc (default_trust): Autoset currently installed packages per the user's
1618 selection of prev/curr/exp.
1619
0b9af00c
RC
16202001-11-02 Robert Collins <rbtcollins@hotmail.com>
1621
1622 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
1623
7cefe128
RC
16242001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
1625
1626 * geturl.cc (is_showing): Remove.
1627 (is_local_install): New static variable. Controls whether the
1628 progress dialog and the supporting thread will be created.
1629 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32 API.
1630 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
cef493d7 1631 This prevents the progress dialog to gain control over the
7cefe128
RC
1632 application and fixes the "setup.exe going to background" problem.
1633 (progress): Use is_local_install.
1634 (get_url_to_string): Set is_local_install.
1635 (dismiss_url_status_dialog): Use is_local_install.
1636 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
1637 (init_dialog): Remove usage of SetForegroundWindow.
cef493d7 1638 This prevents the progress dialog to gain control over the
7cefe128
RC
1639 application and fixes the "setup.exe going to background" problem.
1640
42a99ed1
RC
16412001-11-02 Robert Collins <rbtcollins@hotmail.com>
1642
1643 * choose.cc (list_click): Change r to row for clarity.
1644 When we shrink the list below 1 page, scroll to the top of the list.
1645 (_view::click): Return the actual change for contractions.
1646 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32 API.
1647
45c2d7d3
RC
16482001-11-02 Robert Collins <rbtcollins@hotmail.com>
1649
1650 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir selection order.
1651 * localdir.cc: Ran indent.
1652 (get_root_dir_now): New function.
1653 (save_local_dir): New function.
1654 (dialog_cmd): Use it and swap cygwin root selection and local dir selection order.
1655 (do_local_dir): If there is a saved local dir, read it in.
1656 * net.cc (dialog_cmd): Swap cygwin root selection and local dir selection order.
1657 * root.cc (dialog_cmd): Ditto.
1658 * source.cc (dialog_cmd): Ditto.
1659
2399c54d
RC
16602001-11-01 Robert Collins <rbtcollins@hotmail.com>
1661
1662 * choose.cc(list_vscroll): Return 0 as required by win32.
1663 (list_hscroll): Ditto.
1664 (list_click): Ditto.
1665
8e4402a9
RC
16662001-11-01 Robert Collins <rbtcollins@hotmail.com>
1667
1668 * argv.cc: Remove.
1669 * argv.h: Remove.
1670 * main.cc(WinMain): Use __argv to retrieve command line parameters.
1671 * Makefile,in: Remove argv.o.
1672
c168185f
RC
16732001-11-01 Matt Hargett <matt@use.net>
1674
cef493d7
CF
1675 * geturl.cc (progress): Change int to unsigned int to eliminate
1676 lint warnings.
1677 * (get_url_to_string): Check for NULL pointer.
1678 * mount.cc (find2): Use free instead of delete for malloc'd
1679 memory.
1680 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
c168185f 1681
f97a1ece
RC
16822001-10-31 Robert Collins <rbtcollins@hotmail.com>
1683
1684 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen] with neither
1685 a package nor a category. The lines[linen] bug was reported by Matt (matt@usa.net).
1686 (read_installed_db): Bugfix for testing whether a package has a source tarball.
1687 Reported by Matt (matt@usa.net).
cef493d7 1688 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid programmer
f97a1ece
RC
1689 confusion and lint errors. Reported by Matt (matt@usa.net).
1690
d52ed64b
RC
16912001-10-31 Robert Collins <rbtcollins@hotmail.com>
1692
cef493d7 1693 * argv.cc: New file, converts arguments for -mwindows programs. (Simplified derivation
d52ed64b
RC
1694 from dcrt0.cc.)
1695 * argv.h: New file.
1696 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
1697 Add mingw_getopt.o build rule.
1698 * main.cc(WinMain): Initialise argv and argc for use by getopt.
1699
392ba1ba
CF
17002001-10-27 Christopher Faylor <cgf@redhat.com>
1701
1702 * res.rc: Rearrange info on top line slightly.
1703
31324d15
CF
17042001-10-27 Christopher Faylor <cgf@redhat.com>
1705
1706 * desktop.cc (make_passwd_group): Move file creation earlier in the
1707 process to ensure that passwd-grp.bat reflects desired operation.
1708
17092001-27-10 Trevor Forbes <t4bs@hotmail.com>
1710
1711 * postinstall.cc (each): Remove "*.done" file else rename will fail.
1712
ee411d77
CF
17132001-10-16 Christopher Faylor <cgf@redhat.com>
1714
1715 * res.rc: Oops. Take 640x480 screen size into account.
1716
e74944da
CF
17172001-10-16 Christopher Faylor <cgf@redhat.com>
1718
1719 * res.rc: Enlarge chooser screen.
1720
e368cfb9
CF
17212001-10-12 Christopher Faylor <cgf@redhat.com>
1722
1723 * Makefile.in: Accomodate changes to w32api_include macro.
1724
a6ba3670
CF
17252001-10-12 Christopher Faylor <cgf@redhat.com>
1726
1727 * Makefile.in: Use correct flags for windres.
1728
683e96f6
CF
17292001-10-12 Christopher Faylor <cgf@redhat.com>
1730
1731 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
1732
2c18c00b
CF
17332001-10-12 Christopher Faylor <cgf@redhat.com>
1734
1735 * choose.cc (pick_line::paint): Reorganize after botched patch.
1736
0f61a05a
CF
17372001-10-12 Christopher Faylor <cgf@redhat.com>
1738
1739 * choose.cc (pick_line::paint): Add missing declaration.
1740
308d6f3e
CF
17412001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
1742
1743 * choose.cc (pick_line::paint): Add package name to sdesc for display.
1744
3bcf85be
RC
1745Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
1746
1747 * choose.cc (_view::insert_pkg): Correctly exit loop.
1748 * iniparse.y (register_category): Always insert new categories.
1749
fb2cd8f6
CF
1750Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
1751
1752 * inilex.l (yylex): For comments, eat all characters up to, but not
1753 including newline.
1754
127b32e1
CF
1755Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
1756
1757 * fromcwd.cc (found_file): Use correct package name when adding an
1758 unknown package rather than random stack garbage.
1759
2cd555aa
CF
1760Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
1761
1762 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
1763
4254cc64
CF
1764Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
1765
1766 * desktop.cc (etc_profile): Leave environment variables untouched.
1767
acbae401
CV
17682001-08-07 Corinna Vinschen <corinna@vinschen.de>
1769
1770 * autoload.c: Add dynamic load statements for NT/W2K
1771 advapi32 functions not available in 9x/ME.
1772 * main.cc (set_default_dacl): New function.
1773 (WinMain): Call `set_default_dacl' if running on NT/W2K.
1774
969a294c
CF
1775Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
1776
1777 * ini.h (_CategoryPackage): Change pkg field to pkgname for
1778 consistency.
1779 * choose.cc: Use pkgname field when referencing _CategoryPackage
1780 throughout.
1781 (fill_missing_category): Don't add excluded packages.
1782 (default_trust): Ditto.
1783 (_view::insert_pkg): Ditto.
1784 * iniparse.y (register_category): Use consistent variable name.
1785
9eeb0e83
ED
17862001-07-09 Egor Duda <deo@logos-m.ru>
1787
1788 * choose.cc: Use system foreground color for text output.
1789
06560feb
CF
1790Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
1791
1792 * choose.cc (set_action): Use default trust for determining reinstall
1793 and source only.
1794 (default_trust): Set default trust.
1795 (pick_line::paint): Allow source selection when reinstalling or
1796 retrieving.
1797
1fb09149
CF
1798Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
1799
1800 * choose.cc (isinstalled): Modify to properly accomodate special case
1801 of "download only".
1802 (set_action): Check downloaded components, not installed components if
1803 "download only".
1804 (set_existence): Always include full list of files when "download
1805 only".
1806
14cfffa5
CF
1807Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
1808
1809 * choose.cc (pick_line::paint): Properly display "na" field when no
1810 source exists.
1811
f54385f6
CF
1812Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
1813
1814 * choose.cc (scan2): Ensure that older versions do not show up in
1815 "Test" slot.
1816
85b1fb54
CF
1817Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
1818
1819 * choose.cc (set_action): Allow "Skip" action if trust != installed.
1820 * res.rc: Fix copyright.
1821
2dada532
CF
1822Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
1823
1824 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
1825 boxes.
06c6d195 1826 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
2dada532
CF
1827
1828 * choose.cc: Restore some more changes from 2001-06-25, throughout.
1829 (paint): Wrap some excessively long lines.
1830 (pick_line::paint): Ditto. Move the arrow in the "Current" column
1831 right to where it belongs. Move the source checkbox slightly to the
1832 right.
1833 (do_choose): List categories and required packages in setup.log.full.
1834
1835Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
1836
1837 * choose.cc (scan2): Restore source scanning eliminated by previous checkin.
1838
1b13eeec
CF
1839Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
1840
1841 * ini.h (struct _Info): Add "derived" element.
1842 * choose.cc (scan2): Try to place unknown tar files into proper slot
1843 when package exists in setup.ini but tar file does not.
1844
9307254d
RC
1845Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
1846
1847 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
1848 (do_choose): Log the first category name.
1849
3467d79f
CF
1850Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
1851
1852 *ini.h: Reapply 2001-06-25 changes.
1853 * choose.cc (add_required): Ditto. Default to "Keep" state if
1854 UNINSTALL and product is installed. Default to curr state if SKIP,
1855 etc.
1856 (keep_or_skip): New function. Returns skip or keep state depending on
1857 installed state of package.
1858 (default_trust): Use keep_or_skip to set state.
1859 (_view::insert_pkg): Use calloc to allocate lines.
1860 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
1861
8f53e82a
RC
1862Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
1863
1fb09149 1864 * choose.cc: Remove globals full_list, headers, package_indexes and
8f53e82a
RC
1865 nindexes.
1866 Add globals cat_headers, pkg_headers and chooser.
1867 (add_required): New function.
1868 (paint): Use the chooser for header details.
1869 Call into the chooser to paint each line.
1fb09149 1870 (list_click): Use new global variables.
8f53e82a
RC
1871 Call into the chooser to handle the click.
1872 Repaint the entire view if packages have been added or removed.
1873 (note_width): Get passed a headers struct rather than using a global
1874 variable.
1875 (fill_missing_category): New function.
1876 (default_trust): Skip non-"Required" or "Misc" packages.
1877 (pick_line::set_line (Package *)): New function.
1878 (pick_line::set_line (Category *)): New function.
1879 (pick_line::paint): New function.
1880 (pick_line::click): New function.
1881 (_view::_view): New function.
1882 (_view::set_view_mode): New function.
1883 (_view::mode_caption): New function.
1884 (_view::set_headers): New function.
1885 (_view::init_header): New function.
1886 (_view::insert_pkg): New function.
1887 (_view::insert_category): New function.
1888 (_view::insert_at): New function.
1889 (_view::insert_under): New function.
1890 (_view::clear_view): New function.
1891 (viewsplusplus): New function.
1892 (_view::client): New function.
1893 (set_view_mode): Use new chooser functionality.
1894 (set_full_list): Use new global variables.
1895 (create_listview): Instantiate chooser.
1896 Remove all hardcoded headers[] code.
1897 (dialog_cmd): On trust changes, check dependencies.
1898 (getcategorybyname): New function.
1899 (getpackagecategorybyname): New function.
1900 (scan2): Use case-insensitive package comparison.
1901 (do_choose): Use fill_missing_category ().
1902 Show some category data.
1903 * ini.h: Protect against multiple inclusion.
1904 (views) New enum.
1905 (_CategoryPackage): New struct.
1906 (_Category): New struct.
1907 (_Package): Change category to Category * from char *.
1908 (extern Category category): New global variable.
1909 (extern in ncategories): Ditto.
1910 (getcategorybyname): New prototype.
1911 (catpackagecategorybyname): New prototype.
1912 (register_category): New prototype.
1913 (add_category): New prototype.
1914 * iniparse.y: Parse multiple categories per package.
2dada532
CF
1915 (category): New global variable.
1916 (ncategories): New global variable.
8f53e82a
RC
1917 (new_package): Compare package against NULL, not 0.
1918 (new_requirement): Source formatting fix.
1919 (register_category): New function.
1920 (add_category): New function.
1921 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
1922 IDC_CHOOSE_VIEWCAPTION: New control.
1923 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
1924 IDC_CHOOSE_VIEWCAPTION: New control.
1925 Increment _APS_NEXT_CONTROL_VALUE.
1926
26a27c14
CF
1927Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
1928
e19ad6a3 1929 * choose.cc (paint): Wrap excessively long lines.
26a27c14
CF
1930 (list_click): Ditto.
1931 (create_listview): Ditto.
1932 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
1933 setup.log.full. Allow "Yes" for source exists in setup.log.full when
1934 installing from local directories.
1935
97312777
CF
1936Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
1937
5f9f0d8d
CF
1938 * choose.cc (set_action): Only clear srcpicked when moving to next
1939 state. Allow source installation if it exists in the current "trust"
1940 state. Don't move to skip state when package is installed.
97312777
CF
1941 (list_click): Don't allow source clicking when no source is available.
1942 (set_full_list): Display package when not is_full_action.
1943 * ini.h (is_full_action): Define.
1944
72fd1d1e
CF
1945Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
1946
1947 * install.cc (check_for_old_cygwin): New function. First stab at
1948 checking for old cygwin versions.
1949 (do_install): Call check_for_old_cygwin if there were no errors during
1950 the install.
1951
41ac91b5 1952Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
86202506
CF
1953
1954 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
1955 than zeroed "source" element.
1956
80429b97
CF
1957Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
1958
1959 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
1960 the highest available "hole" in the trust array.
1961
654ea642
CF
1962Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
1963
1964 * choose.cc (set_existence): Use pointer method for indexing in trust
1965 array.
1966 (create_listview): Ditto.
1967 (scan2): Ditto. Also, use consistent variable name for indexing into
1968 trust array.
1969 * ini.h (Package): Reorganize info array for easier scanning.
1970
e98d90bd
CF
1971Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
1972
1973 * choose.cc (isinstalled): Eliminate special download only test.
1974 (set_action): Don't move to next state if in ACTION_SAME range and not
1975 incrementing.
1976 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
1977 downloading.
1978 (do_choose): Sort packages after all packages have been read.
1979 Accomodate the fact that first element in trust array is empty so that
1980 log files don't report the wrong trust value.
1981 * iniparse.y (new_package): Malloc space for package name or suffer
1982 memory corruption.
1983
38c97581
CF
1984Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
1985
1986 * ini.h (Dependency): New structure. Declare new function.
1987 * inilex.l (yylex): Detect new setup.ini options - category and requires.
1988 * iniparse.y: Declare new setup.ini token values.
1989 (yyparse): Parse new token values.
1990 (new_requirement): New function.
1991
1992Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
1993
1994 * choose.cc (read_installed_db): Eliminate obsolete code.
1995
3ae6c15c
CF
1996Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
1997
1998 * choose.cc (set_action): Set trust on "redo".
1999 (_Info::_Info): New constructor.
2000 (read_installed_db): Use new constructor. Use trusts type for
2001 iterator.
2002 * ini.h (struct _Info): Label struct, add constructor.
2003 (Package): Make installed_ix a type 'trusts.'
2004 * install.cc (uninstall_one): Unset any installed info for current
2005 package.
2006 (install_one): Allocate new Info struct for installed reflecting new
2007 installed info.
2008 (do_install): Don't output line to installed.db if package is being
2009 uninstalled.
2010
9c0a9876
CF
2011Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
2012
2013 * choose.cc (getpkgbyname): Use consistent method for scanning package
2014 array.
2015
68b27c12
CF
2016Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
2017
2018 * choose.cc: Add some comments.
2019 (getpkgbyname): Use strcasecmp for comparisons.
2020
07108cc2
CF
2021Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
2022
f0984dcb 2023 * install.cc (do_install): Avoid checking for download action if
07108cc2
CF
2024 package wasn't currently retrieved.
2025
c46a33a9
CF
2026Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
2027
2028 * choose.cc: Eliminate extra array throughout. Use element in package
2029 structure instead. Use pointers rather than array indexes where
2030 appropriate.
2031 (set_action): New function to set next action based on current.
2032 (choose_caption): New function. Returns display caption.
2033 (check_existence): Change arguments. Use pointer to 'info' structure.
2034 (set_existence): Use pointer rather than array index.
2035 (default_trust): Use trusts enum for second argument.
2036 (set_full_list): Honor exclude element in package structure.
2037 (build_labels): Eliminate.
2038 (base): Make global. Use const char * argument.
2039 (get_package_version): Eliminate.
2040 (getpkgbyname): New function.
2041 (read_installed_db): Use parse_filename to get version info.
2042 * desktop.cc (make_passwd_group): Use getpkgbyname function.
2043 * download.cc (get_file_size): const argument.
2044 (do_download): Use is_download_action to determine when something
2045 should be downloaded.
2046 * filemanip.h: Add some functions.
2047 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
2048 * ini.h: Use enums for actions and trusts.
2049 (is_download_action): New macro.
2050 (is_upgrade_action): Ditto.
2051 (is_uninstall_action): Ditto.
2052 (struct Package): Add new fields.
2053 * inilex.l (yylex): Detect new setup.ini options.
2054 * iniparse.y: Declare new tokens.
2055 (yyparse): Detect exclude keyword. Fill out version field even if
2056 version == 0.
2057 (new_package): Use greater granularity when allocating package array to
2058 avoid repeated calls to realloc.
2059 * install.cc (exists): const argument.
2060 (uninstall_one): Take pkg argument.
2061 (install_one): Ditto. Eliminate unneeded arguments which can be
2062 derived from package info.
2063 (do_install): Iterate over package array using a pointer. Use
2064 is_download_action to control when package should be downloaded.
2065 * tar.cc (tar_open): const argument.
2066 * tar.h: Refloect const argument.
2067
7cc06fd3
CF
20682001-05-31 Michael Chase mchase@ix.netcom.com
2069
2070 * main.cc (WinMain): Add setup version to starting setup.log entry
2071
9522028b
CF
2072Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
2073
2074 * inilex.l: Add + to list of valid string characters.
2075
e9b1aaa7
CF
2076Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
2077
2078 * Makefile.in: Remove more stuff in the clean target.
2079
8e1299fa
CF
2080Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
2081
2082 * Makefile.in: Correctly generate iniparse.h.
2083
85553593
CV
2084Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
2085
2086 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
2087 * geturl.h: Change declaration of `get_url_to_file' accordingly.
2088 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
2089 Set member `ftp_auth'.
2090 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
2091 to constructors of derived classes.
2092 (NetIO::get_ftp_auth): New method.
2093 * netio.h: Change class definition accordingly.
2094 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
2095 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
2096 Add code for ftp authentication retry.
2097 * nio-ftp.h: Change class definition accordingly.
2098 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
2099 Add code for ftp authentication retry in case of proxy connection.
2100 * nio-http.h: Change class definition accordingly.
2101 * res.rc: Add FTP authentication dialog.
2102 * resource.h: Add new constants used in res.rc.
2103 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
2104
c4174b9c
CF
2105Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
2106
2107 * res.rc (IDD_SPLASH): Add a copyright year.
2108
0af2d779
CF
2109Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
2110
2111 * Makefile.in: Make iniparse.y produce a c++ file.
2112 * choose.cc (set_existence): Revert 2001-05-27 change.
2113 * ini.cc: Remove "C" from declaration of yyparse.
2114 * iniparse.y (yyparse): Fill out version field by default when a binary
2115 install is detected and no version has been set yet.
2116 * install.cc (do_install): Mount things earlier so that we can use
2117 proper mount table settings. Don't remove mounts since they are now
2118 honored.
2119 * mount.cc (create_mount): Reread the mount table after establishing a
2120 new mount.
2121 (read_mounts): Explicitly clear root_here to allow multiple uses of
2122 this function. Ensure that there is no garbage in the table when we've
2123 exhausted all of the mounts in the registry.
2124 (cygpath): Accomodate ./ in path.
2125
85b43844
CF
2126Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
2127
0af2d779
CF
2128 Use parse_filename method to parse filenames throughout. Use
2129 get_root_dir to retrieve the current root directory throughout. Set
2130 const in argument list, where appropriate, throughout.
2131 * choose.cc (set_existence): Detect case of uninstalled package with no
2132 version.
85b43844
CF
2133 (parse_filename): New function.
2134 * filemanip.h (fileparse): New structure.
2135 * mount.cc (read_mounts): Remember where we found the root mount.
2136 (set_root_dir): New function.
2137 (get_root_dir): Ditto.
2138 * mount.h: Declare new functions.
2139 * site.cc (get_root_dir_now): Renamed from get_root_dir.
2140 (save_site_url): Use new function name.
2141 (get_initial_list_idx): Ditto.
2142
08f8c762
CF
2143Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
2144
2145 * choose.cc: Use a constant throughout to deal with chooser icon
2146 length.
2147 * res.rc (IDD_CHOOSE): Increase size of chooser box.
2148
47f8d8b3
CF
21492001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
2150
2151 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
2152 use when Redownload or Sources Only selected.
2153
6a748750
CF
2154Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
2155
2156 Reformat file after botched patch formatting.
2157 * choose.cc (which_trust): Eliminate variable.
2158 (default_trust): Don't set which_trust.
2159 (do_choose): Use selected trust when reinstalling or installing source.
2160
a351e48c
CF
2161Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
2162
2163 Change concat to cygpath throughout.
2164 Change map_filename to cygpath throughout.
2165 * concat.cc (vconcat): New function.
2166 (concat): Use vconcat.
2167 * concat.h: Reflect above.
2168 * install.cc (map_filename): Eliminate.
2169 (install_one): Free dest_file.
2170 * mount.cc (find2): Expect input key to be pointing to mount record.
2171 (in_table): New function.
2172 (is_admin): Move from root.cc.
2173 (read_mounts): New function.
2174 (path_prefix_p): New function.
2175 (cygpath): New function.
2176 * mount.h: Define new functions and structure.
2177 * root.cc (in_table): Move to mount.cc.
2178 (do_root): Call read_mounts to initialize root stuff and mount table.
2179 * site.cc (get_root_dir): Ditto.
2180
e227ee24
CF
21812001-05-09 Matt Hargett <matt@use.net>
2182
2183 * Makefile.in: Remove *.rc from clean.
2184
25fd2965
CF
2185Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
2186
2187 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
2188 TRUST_PREV which produced "0" versions.
2189
42bf5b92
CF
21902001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
2191
2192 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
2193 _APS_NEXT_CONTROL_VALUE to account for addition of
2194 IDC_CHOOSE_INST_TEXT.
2195 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
2196 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
2197 hot keys to select Prev, Curr, Exp.
2198 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
2199 define for LOOP_PACKAGES to include new actions ACTION_REDO and
2200 ACTION_SRC_ONLY.
2201 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
2202 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
2203 source Checkbox to use.
2204 (build_labels): Add logic to allow for selection of Source only
2205 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
2206 current version binary.
2207 (dialog_proc): Add conditional display for file selection prompt based
2208 on download vs install using IDC_CHOOSE_INST_TEXT.
2209 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
2210 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
2211 handle the instance where Source Download/Install was selected. Modify
2212 log file to store appropriate information regarding Action selected and
2213 the new actions that were added (I.E.: ACTION_REDO and
2214 ACTION_SRC_ONLY).
2215 * download.cc: Add include for <unistd.h> and "port.h".
2216 (download_one): Modify parameter list to include the selected action
2217 for the file to be downloaded. Modify size check against expected size
2218 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
2219 .tmp file to also remove the destination file if exists due to ability
2220 to redownload source and binary now.
2221 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
2222 calculation of Download Bytes. Modify to also use ACTION_REDO and
2223 ACTION_SRC_ONLY in determining files selected for download.
2224 * install.cc (uninstall_one): Add check to treat a Reinstall like an
2225 upgrade so current version will be uninstalled prior to reinstall.
2226 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
2227 uninstalling and installing binary and source packages.
2228 * desktop.cc (make_passwd_group): Modify logic to account for a Source
2229 only cygwin install when checking for cygwin to determine need for
2230 mkpasswd and mkgroup.
2231
2232Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
8a09aa99
CF
2233
2234 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
2235 Removed WS_DISABLED from "OK" buttons to accomodate default focus
2236 changes in net.cc and source.cc.
2237 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
2238 a default is selected.
2239 * winsup/cinstall/source.cc (dialog_proc): Ditto.
2240 (check_if_enable_next): Removed. No longer needed since a radio button
2241 will always be selected.
2242 (load_dialog): Removed call to check_if_enable_next.
2243 (dialog_cmd): Ditto. Also added default to switch.
2244
87bdba0c
CF
2245Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
2246
2247 * res.rc: Resize affected text.
2248
8293fc16
CF
2249Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
2250
2251 * net.cc (do_net): Default to direct download.
87bdba0c 2252 * res.rc: Move default selections to the top.
8293fc16 2253
ed96c6da
EB
22542001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
2255
2256 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
2257 Must now include <windows.h> and not the pieces.
2258 * choose.cc (create_listview): Clean up type mismatch problems.
2259 * dialog.h (NEXT(id)): Ditto.
2260 * geturl.cc (dialog): Ditto.
2261 * install.cc (dialog): Ditto.
2262 * splash.cc (load_dialog): Ditto.
2263
fe94cc29
CF
2264Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
2265
2266 * tar.cc (class gzbz): Define dummy virtual functions.
2267
fb087b80
CF
2268Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
2269
2270 * Makefile.in: Add bz2 include/library support.
2271 * filemanip.h: New file.
fe94cc29
CF
2272 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
2273 .tar.bz2 found.
fb087b80
CF
2274 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
2275 (read_installed_db): Ditto.
2276 (do_choose): Ditto.
2277 * fromcwd.cc (found_file): Ditto.
2278 (do_fromcwd): Ditto.
2279 * tar.cc (class gzbz): New super class for uncompression support.
2280 (gz): New class for gzip support.
2281 (bz): New class for bzip2 support.
2282 (tar_open): Use gzbz class to control file opening.
2283 (tar_ftell): Ditto for returning position in file.
2284 (skip_file): Ditto for reading file.
2285 (tar_next_file): Ditto.
2286 (tar_read_file): Ditto.
2287 (tar_close): Ditto for close.
2288
2289 * zlib/configure.in: Force NM substitution.
2290
2291 * source.cc (do_source): Default to "Install from Internet".
2292
88bcaf07
CF
22932001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
2294
2295 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
2296 `stat'.
2297 * choose.cc (list_click): Correct inability to select source code for
2298 download.
2299 (scan2): Modify to skip source tarballs when scanning disk for
2300 installable packages.
2301
ef45c299
CV
23022001-03-10 Chris Abbey <chris_abbey@yahoo.com>
2303
2304 * install.cc: install sources into /usr/src instead
2305 of /, also include the sizes of source tarballs
2306 in total_bytes.
2307 * download.cc: include sizes of source tarballs in
2308 total_download_bytes.
2309
9fe1181b
CV
2310Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
2311
2312 * download.cc (get_file_size): Remove `static'.
2313
2bfdb848
CV
2314Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
2315
2316 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
2317
60c632b3
CV
23182001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
2319
2320 * choose.cc (paint): Modify message for nothing to download vs
2321 nothing to install/update based on installation method.
2322 (list_click): Modify to skip versions in selection process if
88bcaf07 2323 installing from local directory and installation file does not exist.
60c632b3
CV
2324 Also leaves Source Action set to N/A if the source file does not exist
2325 and installing from local directory.
2326 (check_existence): New method to check current existence of installation
2327 files based on selected installation method.
2328 (set_existence): New method to set the current existence of installation
2329 files based on selected installation method.
2330 (best_trust): Modify decision process for best trust to base decision on
2331 current trust selected (IE: Prev, Curr, or Test), existence of file and
2332 installation method selected.
2333 (default_trust): Add logic to capture the current trust level and the
2334 trust selected for the given package.
88bcaf07 2335 (set_full_list): Expand decision criteria for displaying a package in
60c632b3
CV
2336 the selection list to include file existence/non-existence and selected
2337 installation method.
2338 (build_labels): Modify criteria for label addition to include
2339 installation method and file existence/non-existence.
88bcaf07 2340 (create_listview): Modify to establish package trust level for each
60c632b3
CV
2341 package before setting up the display list. Also modification to set
2342 current trust button as the default.
88bcaf07 2343 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
60c632b3
CV
2344 a reset of the selection list in addition to setting the default trust.
2345 (get_package_version): New method to provide reusable code for
2346 determining the package version from the file name for a specified
2347 trust.
2348 (scan2): Modify to use new method get_package_version and
2349 also enhance handling of the build for the structures package and
2350 extra.
2351 (read_installed_db): Modify to use the new method
2352 get_package_version and also enhance handling of the build for the
2353 structures package and extra.
88bcaf07 2354 (do_choose): Add additional initialization of package and extra
60c632b3
CV
2355 structures. Modify to use read_installed_db all the time despite
2356 install method. Modify output to setup.log.full log file to increase
2357 readability by adding additional spacing, expanded code and available
2358 versions.
2359 * ini.h: Add new fields install_exists, source_exists and
88bcaf07 2360 partial_list_display to the structure definition for package.
60c632b3
CV
2361 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
2362 pushbuttons by replacing with Radio Buttons thus allowing the
2363 operator to better determine which is selected.
2364
2f9645a1
CV
23652001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
2366
88bcaf07 2367 * download.cc (do_download): Add new variables total_download_bytes and
2f9645a1
CV
2368 total_download_bytes_sofar for download progress meter. Add loop
2369 to accumulate the total bytes to download from the selected packages.
2370 * geturl.cc: Add state.h and diskfull.h to include list. Add new
2371 variables gw_iprogress, gw_pprogress, gw_progress_text,
2372 gw_pprogress_text, and gw_iprogress_text to allow for addition of
2373 total packages download progress meter and disk full percent
2374 progress meter. Add variables total_download_bytes and
2375 total_download_bytes_sofar for use by progress meters.
88bcaf07
CF
2376 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
2377 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
2378 allow for addition of total packages download progress meter and disk
2379 full percent progress meter.
2f9645a1
CV
2380 (init_dialog): Ditto.
2381 (progress): Ditto.
2382 (get_url_to_file): Ditto.
2383 * geturl.h: Add external definition for total_download_bytes and
2384 total_download_bytes_sofar.
88bcaf07 2385 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
2f9645a1
CV
2386 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
2387 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
2388 download meters.
88bcaf07 2389 * resource.h: Add new fields for progress meters and text and update
2f9645a1
CV
2390 _APS_NEXT_CONTROL_VALUE.
2391
b41962a3
CV
2392Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
2393
2394 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
2395 for NULL.
2396
2397Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
01954c34
CV
2398
2399 * download.cc (download_one): Add missing parenthesis.
2400
88a77116
CV
2401Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
2402
2403 * download.cc (get_file_size): New function. Eliminates the need
2404 to call `stat'.
2405 (download_one): Call `get_file_size' instead of `stat'. This
2406 workarounds a problem with mingw's `stat' call.
2407
577f35ed
EB
24082001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
2409
2410 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
2411 This is to allow cinstall to build with 2.95.2-7 and to make the
2412 use of headers consistent.
2413
38f5563e
DD
24142000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
2415
2416 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
2417
c0a7e0f2
DD
2418Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
2419
2420 * winsup/cinstall/res.rc: Added accelerators and improved focus
2421 order.
2422
72826a5b
CF
24232000-12-10 Egor Duda <deo@logos-m.ru>
2424
2425 * choose.cc (paint): Use system background color for text output.
2426
2427Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
2428
2429 * Makefile.in: Use CXX for linking and for compiling .cc files.
2430 * configure.in: Find correct c++ compiler.
2431 * configure: Regenerate.
2432
67bebcb5
DD
24332000-11-17 DJ Delorie <dj@redhat.com>
2434
2435 * splash.cc (load_dialog): Make message more obvious.
2436 * res.rc: Ditto.
2437
25fb9139
CF
2438Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
2439
2440 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
2441 necessary for newer compilers.
2442
ef2007fd
CV
2443Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
2444
2445 * desktop.cc: Include "ini.h" and "version.h".
2446 (make_passwd_group): Skip the function on 9x/ME boxes when an
2447 older version of Cygwin has been installed which doesn't
2448 support mkpasswd/mkgroup on 9x/ME.
2449 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
2450 * ini.h: ...here.
2451
277b4d56
CV
2452Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
2453
2454 * desktop.cc (make_passwd_group): Don't exit when started
2455 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
2456
f8a6415f
DD
2457Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
2458
2459 * install.cc (do_install): Add call to set_cygdrive_flags to sync
2460 the mount modes.
2461 * mount.cc (set_cygdrive_flags): New function.
2462 (get_cygdrive_flags): Ditto.
2463 (default_cygdrive): Ditto.
2464 (set_cygdrive_flags): Ditto.
2465 * mount.h: Add prototype for set_cygdrive_flags.
2466
3b9077d4
DD
24672000-10-23 DJ Delorie <dj@redhat.com>
2468
2469 * ini.h: add source actions
2470 * fromcwd.cc: check for available sources
2471 * res.rc: add checkbox bitmaps
2472 * resource.h: ditto
2473 * check-*.bmp: new
2474 * choose.cc: add source column
2475 * download.cc: download sources if called for
2476 * install.cc: [un]install sources too
2477
1b1b33ac
DD
24782000-10-22 DJ Delorie <dj@redhat.com>
2479
2480 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
2481 ignore it wrt full_list if there's already a version installed.
2482 (do_choose): Sort the list.
2483 (package_sort): New.
2484
2a1a01e0
DD
24852000-10-12 DJ Delorie <dj@redhat.com>
2486
2487 * res.rc: Add more error strings.
2488 * resource.h: Ditto.
2489 * iniparse.y (new_package): re-initialize if needed.
2490 * download.cc (do_download): Keep track of errors; notify and
2491 allow retry.
2492 * install.cc (do_install): Ditto.
2493
1a9886fe
DD
24942000-10-05 DJ Delorie <dj@redhat.com>
2495
2496 * Makefile.in: fix %.cc rule
2497
40aef45e
DD
24982000-10-04 DJ Delorie <dj@redhat.com>
2499
2500 * desktop.cc: quote HOME and USER, don't . ./.profile
2501
2502 * choose.cc (build_labels): don't include in partial list just
2503 because there's a *previous* version available.
2504
2505 * install.cc (do_install): if installing from local directory with
2506 setup.ini and the file isn't found, look in "." also. Note errors.
2507
dd3f7f9b
DD
25082000-10-02 DJ Delorie <dj@redhat.com>
2509
2510 * ini.cc (do_ini): save setup.ini locally
2511
25122000-10-02 Chris Abbey <cabbey@bresnanlink.net>
2513
2514 * desktop.cc: quote escapes in prompt
2515
fee2a8d0
DD
25162000-10-02 Jason Tishler <jt@dothill.com>
2517
2518 * root.cc (is_admin): New function.
2519 (read_mount_table): Check for administrative priviledges and set
2520 installation scope as appropriate.
2521
a03db251
DD
25222000-09-28 DJ Delorie <dj@redhat.com>
2523
2524 * nio-ftp.cc (ftp_line): handle continuations more robustly
2525
b151e01e 25262000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
0b758d4c
DD
2527
2528 * res.rc: increased the size of the site dialog (IDD_SITE) & the
2529 corresponding list box to provide for more URL's to be listed.
2530 Modified the position of the Back, Next and Cancel buttons to
2531 correspond to the new size of the dialog.
2532
d07591a3
DD
25332000-09-13 DJ Delorie <dj@redhat.com>
2534
2535 * install.cc (do_install): update disk fullness once per package
2536 to improve performance
2537
2538 * choose.cc (create_listview): call ReleaseDC
2539
89725f30
DD
2540Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
2541
2542 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
2543 returned, as it seems Samba 2.0.6+ returns this instead of
2544 ERROR_PATH_NOT_FOUND
88bcaf07 2545
6fbc690d
CF
2546Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
2547
2548 * site.cc (get_initial_list_idx): Don't default to saved URL if it
2549 refers to sources.
2550
13d27274
DD
25512000-09-07 DJ Delorie <dj@redhat.com>
2552
2553 * splash.cc: use version.h, not local decl
2554 * res.rc: add "old version" message
2555 * resource.h: ditto
2556 * version.h: new
2557 * fromcwd.cc (canonicalize_version): make global
89725f30
DD
2558 * iniparse.y: add setup-version support, fix bug in blank line
2559 handling
2560
13d27274
DD
2561 * inilex.l: add [exp] as alias for [test], add setup-version
2562 * Makefile.in (version.c): add setup-version tag
2563
2564 * desktop.cc (do_desktop): remove 1.1 version number
2565 (do_desktop_setup): ditto
2566
2567 * ini.cc (do_ini): zero out package list just in case we redo it.
2568
8cfbc487
DD
25692000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
2570
2571 * choose.cc (list_click): Check for nindexes==0; if so, return.
2572
c92e1307
DD
25732000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
2574
2575 * localdir.cc: new, local package directory selection dialog; cd
2576 into selected directory
2577 * Makefile.in (OBJS): add localdir.o
2578 * dialog.h: add prototype for do_local_dir
2579 * main.cc (WinMain): initialize local_dir to cwd; add call to
2580 do_local_dir
2581 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
2582 * source.cc (dialog_cmd): ditto
2583 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
2584 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
2585 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
2586 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
2587 * state.h: add local_dir variable
2588
25892000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
50225eae
DD
2590
2591 * desktop.cc: added logic to handle to the new dialog and to
2592 default the setting for the new checkboxes based on whether the
2593 desktop icon or start menu link already exist.
2594 (desktop_icon): correction to desktop directories for desktop icon
2595 creation. Additional logic added for Win95 which does not appear
2596 to have Common Directories so if Common selected and null uses
2597 normal directory.
2598 (start_menu): Additional logic added for Win95 which does not
2599 appear to have Common Directories so if Common selected and null
2600 uses normal directory.
2601 (do_desktop_setup): moved the saving of the icon, creation of the
2602 bat file, profile, passwd, Start Menu link and desktop shortcut to
2603 this method from do_desktop. Made the creation of the desktop
2604 icon and start menu link conditional on settings of new dialog
2605 created for desktop.
2606 * install.cc (do_install): changed next from IDD_S_DESKTOP to
2607 IDD_DESKTOP.
2608 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
2609 * res.rc: added new resource to create a desktop dialog with 2
2610 checkboxes for creating the desktop icon and start menu link.
2611 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
2612 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
2613 * state.h: added root_menu and root_desktop for use in dialog.
2614
4a83b7b0
DD
26152000-08-29 DJ Delorie <dj@redhat.com>
2616
2617 * choose.cc (scan_downloaded_files): scan for existing files, so
2618 that the user only sees new downloads.
2619
2620 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
2621 * site.cc (do_site): if we can't download the mirror list, go back
2622 to the net setup box to choose another transport.
2623 * autoload.c: add more functions
2624 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
2625 * resource.h: add WININET message
2626
2627 * net.cc (do_net): no longer default to IE5
2628 * simpsock.h (class SimpleSocket): new, simplify socket operations
2629 * simpsock.cc: ditto
2630 * nio-http.h: new, for direct http protocol
2631 * nio-http.cc: ditto
2632 * nio-ftp.h: new, for direct http protocol
2633 * nio-ftp.cc: ditto
2634 * netio.cc (set_url): move initialization here to handle redirections
2635 (open): add direct http/ftp
2636 * netio.h (NetIO::set_url): new
2637
2638 * log.cc (log_save): create directory for log if needed
2639
2640 * hash.cc, hash.h: new
2641 * Makefile: add hash.o
2642 * choose.cc: enable "uninstall" option
2643 * download.cc: invert action test to accomodate uninstalling
2644 * ini.h: add ACTION_UNINSTALL
2645 * install.cc: add uninstall functionality
2646 * res.rc: make install tag changeable
2647 * resource.h: add uninstall resources
2648
2649 * res.rc: update mirror list URL
88bcaf07 2650
50f64a4b
DD
26512000-08-24 DJ Delorie <dj@redhat.com>
2652
89b1a15b
DD
2653 * log.cc, log.h: new files
2654 * Makefile.in (OBJS): add log.o
2655 * tar.cc: use exit_setup instead of exit
2656 * dialog.cc (fatal): use exit_setup instead of ExitProcess
2657 * msg.cc (fatal): ditto
2658 * install.cc (dialog_cmd): ditto
2659 * ini.cc (do_ini): ditto
2660 * main.cc (main): add logging
2661 * source.cc (do_source): ditto
2662 * root.cc (do_source): ditto
2663 * site.cc (do_site): ditto
2664 * other.cc (do_other): ditto
2665 * net.cc (do_net): ditto
2666 * choose.cc (do_choose): ditto
2667 * download.cc (do_download): ditto
2668 * install.cc (do_install): ditto
2669 * msg.cc (fatal): ditto
2670
2671 * res.rc: mark password boxes as *being* password boxes.
2672
50f64a4b
DD
2673 * fromcwd.cc (canonicalize_version): use multiple buffers so that multiple
2674 calls won't use the same buffer.
2675 * choose.cc (create_listview): don't default to full list if no changes
2676 (base): return computed value, not temporary :-(
2677 (do_choose): don't use installed.db if we're only downloading.
2678
348860fa
DD
26792000-08-23 DJ Delorie <dj@redhat.com>
2680
2681 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
2682 * nio-ie5.h (flush_io): new
2683 * netio.cc (load_dialog): note when we're initializing the dialog
2684 box, and ignore changes to the edit fields then.
2685
5f48f258
DD
26862000-08-21 DJ Delorie <dj@redhat.com>
2687
2688 * README: Update
2689
2690 * fromcwd.cc (found_file): don't remember the canonicalized version
2691
2692 * choose.cc (paint): print "nothing to do" message when list is empty.
2693 (build_labels): Use version "0.0" if no version is available.
2694 (create_listview): default to full list if nothing to install/update.
2695 (base): new, returns basename of file
2696 (read_installed_db): compare base names, not full paths
2697
713bbe5f
DD
26982000-08-11 DJ Delorie <dj@redhat.com>
2699
2700 * choose.cc: add new chooser dialog
2701 * fromcwd.cc: use IDD_CHOOSE
2702 * ini.cc: use IDD_CHOOSE
2703 * main.cc: use IDD_CHOOSE
2704 * ini.h: cosmetic changes
2705 * res.rc: add choose dialog, bitmaps
2706 * choose-spin.bmp: new
2707 * choose-rtarrow.bmp: new
2708 * resource.h: add choose dialog controls
2709
2710 * mount.cc: remove debug statement
88bcaf07 2711
2e9cbac5
DD
27122000-08-08 DJ Delorie <dj@redhat.com>
2713
2714 * Makefile.in (version.c): make version checking more robust
2715 * splash.cc (load_dialog): handle case where there's no version
2716
8507f105
DD
27172000-08-07 DJ Delorie <dj@redhat.com>
2718
2719 * (all): add cvsid tags
2720 * Makefile.in: generate version.c from ChangeLog, add splash.o
2721 * splash.o: new
2722 * res.rc: add splash screen
88bcaf07 2723
f5d0464b
DD
27242000-08-02 DJ Delorie <dj@redhat.com>
2725
4e8ff53f
DD
2726 * net.cc: remove proxy password code
2727 * res.rc: remove proxy user/pass from net, add auth dialogs
2728 * netio.cc,h: add sys/proxy auth methods
2729 * nio-ie5: use them, check for http status codes
2730 * state.h: add system authorization
2731
f5d0464b
DD
2732 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
2733 meaning an url)
2734
76cbfa85
DD
27352000-08-02 Norman Vine <nhv@yahoo,com>
2736
2737 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
2738
e92c4436
DD
27392000-08-01 DJ Delorie <dj@redhat.com>
2740
bf74c544
DD
2741 * postinstall.cc (each): don't rename files we ignore
2742 (do_postinstall): set CYGWINROOT to root_dir, chdir there
2743
e92c4436
DD
2744 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
2745
a6100861
DD
27462000-07-31 DJ Delorie <dj@redhat.com>
2747
2748 * desktop.cc: reverse PATH so /usr/bin precedes /bin
2749
b11b49f3
DD
27502000-07-18 DJ Delorie <dj@redhat.com>
2751
a99bdfd8
DD
2752 * autoload.c: new, autoload dlls that might not be available.
2753 * Makefile.in (OBJS): add autoload.o
2754
2755 * res.rc: rewrite root options (text/binary, system/user) to be
2756 more obvious.
2757
b5b282c4
DD
2758 * site.cc (get_site_list): trim displayed URL, sort by domain
2759
2760 * net.cc (do_net): make IE5 default to checked, for now
2761
b11b49f3
DD
2762 * choose.cc (do_choose): sort packages correctly
2763 * ini.cc (do_ini): handle parse errors more gracefully
2764 (yyerror): ditto
2765 (fprintf): line buffer output
b5b282c4 2766 (do_ini): if we can't load setup.ini, go back to the site list.
b11b49f3
DD
2767 * ini.h: add "unknown" trust level
2768 * inilex.l: absorb unknown trust levels and key/value pairs,
2769 add line number logic
2770 * iniparse.y: handle parse errors more gracefully.
2771 * install.cc: skip packages with no valid install entry
2772
1fd6d0a2
DD
27732000-07-17 DJ Delorie <dj@cygnus.com>
2774
2775 * coding standards fixups, many files
2776 * mkdir.cc: warn about deletions *before* deleting them
2777
ed3e8b9b
DD
27782000-07-17 Jeff Juliano <juliano@cs.unc.edu>
2779
2780 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
2781
2782 * other.cc (dialog_cmd): save download site URL
2783 * site.cc (get_root_dir): new
2784 (save_mirror_site): new
2785 (dialog_cmd): save download site URL
2786 (get_site_list): make list big enough to add prev site
2787 (get_initial_list_idx): new, read last-used URL from file and
2788 append it to site_list
2789 (do_site): call get_initial_list_idx
2790
2791 * concat.cc (concat): avoid segfault when first parm is null
88bcaf07 2792
f57c332f
DD
27932000-07-13 DJ Delorie <dj@cygnus.com>
2794
2795 * postinstall.cc: new
2796 * Makefile.in: add postinstall.o
2797 * concat.h: add backslash ()
2798 * concat.cc: ditto
2799 * desktop.cc (etc_profile): don't do postinstall
2800 (backslash): moved to concat.cc
2801 (uexists): new
2802 (make_postinstall_script): run directly
2803 (do_desktop): chain to do_postinstall
2804 * dialog.h: add exit_msg, do_postinstall
2805 * download.cc: use exit_msg
2806 * install.cc: ditto
2807 * main.cc: add postinstall, exit_msg
2808 * resource.h: add postinstall
d6cda811 2809 * README: add more to-do items
f57c332f 2810
3a8e3956
DD
28112000-07-12 DJ Delorie <dj@cygnus.com>
2812
2813 * desktop.cc: add /etc/postinstall/ support
1a18aed7 2814 * install.cc: add more "standard" directories
3a8e3956 2815
e0c3d906
DD
28162000-07-11 DJ Delorie <dj@cygnus.com>
2817
2818 * desktop.cc: create /etc/profile
ad09bcd9
DD
2819 * desktop.cc: fix include syntax
2820 * Makefile.in: add auto-dependencies
24e259bb
DD
2821 * root.cc: support system vs user
2822 * desktop.cc: ditto
2823 * mount.h: ditto
2824 * mount.cc: ditto
2825 * install.cc: ditto
2826 * res.rc: ditto
2827 * resource.h: ditto
2828 * state.h: ditto
84d58d4c 2829 * desktop.cc: make sure we use backslashes, not slashes.
bf1d5889
DD
2830 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
2831 * geturl.cc: change math for percentage to avoid overflow
2832 * install.cc: ditto
2833 * download.cc: post "download complete" message.
2834 * root.cc: pre-fill in defaults if needed, don't start
2835 browse at root_dir unless it's set.
a3f48e18 2836 * desktop.cc: quote $PATH in case it has spaces in it
88bcaf07 2837
904d24fe
DD
28382000-07-10 DJ Delorie <dj@cygnus.com>
2839
2840 * Makefile.in: add desktop.o and mklink2.o
2841 * dialog.h: add do_desktop
2842 * install.cc: create standard directories, call do_desktop
2843 * res.rc: add cygwin.ico as a file also
2844 * desktop.cc: new, do shortcuts, batch files, and icons
2845 * mklink2.c: new, for COM
1ab805b8 2846 * README: update to-do list
904d24fe 2847
04d6e06b
DD
28482000-07-10 DJ Delorie <dj@cygnus.com>
2849
2850 * ini.cc (do_ini): don't worry about timestamps if we're not
88bcaf07 2851 actually installing.
04d6e06b 2852
5601a13d
DD
28532000-07-09 DJ Delorie <dj@cygnus.com>
2854
2855 * Makefile.in: add -I$(srcdir) for ini.h
2856
23c9e63c
DD
28572000-07-06 DJ Delorie <dj@cygnus.com>
2858
2859 * Replace everything with a new GUI version
2860 * zlib/gzio.c: add gzctell() for progress displays
2861
28622000-06-22 DJ Delorie <dj@cygnus.com>
2863
2864 * setup.c (tarx): re-add call to write_pkg()
2865
aa32874b
DD
28662000-06-07 DJ Delorie <dj@cygnus.com>
2867
2868 * cygcalls.c: new, call cygwin1.dll functions directly
2869 * cygcalls.h: header for same
2870 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
2871 exes, fix cinstall.rc dependencies.
2872 * path.c: remove unneeded code
2873 * setup.c: use cygcalls instead of xcreate_process.
2874 uncompress embedded files with zlib
2875 add "-d" for "download only"
2876 add "-h" for help
2877 postpone mount changes until very end
2878 add download progress indicators
2879 pack multi-column listings more
2880 auto-delete temp files
2881 customize banner message according to options
2882 prompt user for text/binary mounts
2883 add warnings about empty setup directory, root installs, etc
2884
99d1bf2d
DD
28852000-05-24 DJ Delorie <dj@cygnus.com>
2886
2887 * tar.c: New file; built-in tar using zlib.
2888 * tar.h: New file; header for same.
2889 * ctar.c: New file; test program for same.
2890 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
2891 * path.c (pathcat): convert slashes and canonicalize, instead of aborting
2892 * setup.c (tarx): add support for built-in tar
2893 (main): accept unix-style slashes, check root dir for drive letters,
2894 warn about installing in /, make sure cwd is empty for internet installs,
2895 defer mounts to end of install, support built-in tar.
2896
55650749
CF
2897Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
2898
2899 Fix compiler warnings throughout.
2900 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
2901 get_pkg_stuff.
2902 * setup.c: Make 'root' global.
2903 (istargz): Return pointer to "stem" of matched .tar.gz file.
2904 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
2905 bogus check_for_installed check.
2906 (recurse_dirs): Add preliminary support for .bat file execution.
2907 (create_uninstall): Eliminate unneeded parameter.
2908 (do_start_menu): Ditto.
2909 (mkmount): Ditto.
2910 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
2911 scanning for the version number. Eliminate unneeded argument to
2912 create_uninstall.
2913 (getdownloadsource): Add 'name' to list of names rather than url.
2914 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
2915 unneeded argument in mkmount and do_start_menu.
2916
f4dda8f0
DD
29172000-05-18 DJ Delorie <dj@cygnus.com>
2918
2919 * setup.c (optionprompt): allow multi-column, clean up message
2920 about more options, be more robust about user input.
2921 (getdownloadsource): make the mirror URL a macro.
2922 (main): do mounts after done prompting user.
2923
62844d84
CF
2924Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
2925
2926 * setup.c (cleanup): Inverse order of deletion stands a better chance
2927 of deleting cygpath.exe. Still seems to suffer from occasional races,
2928 though.
2929 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
2930 w2k.
2931 (output_file): Defend against an unlikely handle leak.
2932 (main): Don't set up signal handling until we have something special to
2933 do.
2934
ad6749c8
CF
2935Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
2936
2937 * path.c (kill_cygpath): Delete function.
2938 (exit_cygpath): Make more defensive so that it can be called at any
2939 time.
2940 (cygpath_pipe): Don't set up signal here. Do it in main().
2941 * setup.c (istargz): New function.
2942 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
2943 inexplicably fails on samba mounted partitions. Use istargz to match
2944 tar.gz tail.
2945 (processdirlisting) Use istargz to match tar.gz tail.
2946 (cleanup): Renamed from filedel.
2947 (cleanup_on_signal): New function. Called on CTRL-C.
2948 (main): Record handle of main thread so that it can be suspended when
2949 CTRL-C occurs. Set up cleanup_on_signal signal handler.
2950
460cf7b6
CF
2951Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
2952
2953 * setup.c (do_start_menu): Don't concatenate paths to already built
2954 paths.
2955
9e76799c
CF
2956Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
2957
2958 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
2959 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
2960 that.
2961 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
2962 root"-specific.
2963 * setup.c (filedel): Call exit_cygpath here so that we can be assured
2964 that cygpath subprocess has died. This allows us to delete cygpath.exe
2965 and cygwin1.dll.
2966 (optionprompt): Initialize response to -1 so that second screen of
2967 mirrors will appear.
2968 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
2969 * setup.h: Reflect init_pkgs prototype change.
2970
2cf65e6e
CF
2971Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
2972
2973 * pkg.c (init_pkgs): Accept an argument to control what root registry
2974 key should be used.
2975 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
2976 * setup.h: Reflect init_pkgs prototype change.
2977
2978Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
2979
2980 * error.c (winerror): Respond to gcc warning.
2981 * path.c (cygpath_pipe): Ditto.
2982 * setup.c (filedel): Call sa_cleanup on deleteme.
2983 (create_shortcut): Coerce argument to eliminate compiler warning.
2984 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
2985 (refmatches): New function. Tests if ref is contained in a list of
2986 packages to install.
2987 (filematches): New function. Tests if filename matches one of a list
2988 of packages to install.
2989 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
2990 test to accomodate _tar.gz.
2991 (prompt): Ensure that stdout is flushed prior to asking for input.
2992 (findhref): Initialize variables to quiet a compiler warning.
2993 (processdirlisting): Accept list of packages to install. Special case
2994 cygwin tar file version number.
2995 (downloaddir): Accept list of packages to install.
2996 (downloadfrom): Ditto.
2997 (create_uninstall): Eliminate unneeded variables. Quote arguments to
2998 regtool.
2999 (do_start_menu): Don't create uninstall bat file if updating or user
3000 specified a list of packages.
3001 (mkmount): Eliminate unneeded variables.
3002 (get_pkg_stuff): New function. Checks for previous unversioned
3003 installation.
3004 (main): Accept -u and -f options and package names on the command line.
3005 Use get_pkg_stuff to initialize package information. Umount /etc.
3006 Call recurse_dirs and downloadfrom with list of package to install.
3007 Ensure that all /usr/local directories are created. Output
3008 installation time to setup.log.
3009 * setup.h: Add some prototypes.
3010 * xsystem.c (xcreate_process): Eliminate unneeded variable.
3011
4cf88dd9
CF
3012Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
3013
3014 * setup.c (optionprompt): Don't overlap display of already seen options
3015 on next page.
3016 (geturl): Print name of site which we're connecting to rather than "ftp
3017 site".
3018 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
3019 test too simplistic?
3020 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
3021 problems when user chooses x:\ as their root.
3022 (main): For now, default to "non-update" mode. Allow -u option to
3023 signify an update.
3024
36591a07
CF
3025Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
3026
3027 * pkg.c: New file.
3028 * setup.c (tarx): Skip already installed or older packages. Report
3029 when a package has been updated.
3030 (processdirlisting): Skip already installed or older packages.
3031 (main): Detect -f option for forced installation. Initialize pkg stuff
3032 if appropriate.
3033 * setup.h: Add pkg definitions.
3034
c298ea4a
CF
3035Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
3036
3037 * setup.c (findhref): Return NULL on empty string. Eat any trailing
3038 ";something".
3039 (processdirlisting): Attempt to limit recursively processing the same
3040 directory.
3041
f4cafa7e
CF
3042Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
3043
3044 * setup.c (filedel): New function.
3045 (output_file): Keep track of files extracted from setup.exe for
3046 subsequent deletion.
3047 (tarx): Close process handle of child tar process or suffer handle
3048 leak.
3049 (getdownloadsource): Close mirror file so that it can be unlinked.
3050 (processdirlisting): Return total number of files extracted.
3051 (main): Initialize array of files to delete. Ensure that files are
3052 closed on exit. Make the directory that setup.exe is started from ==
3053 the directory where temporary files are placed. Issue an error if no
3054 files were found to download.
3055 * xsystem.c (xcreate_process): Close the thread handle. Close the
3056 process handle if we waited for it to exit.
3057
cd475210
CF
3058Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
3059
3060 * setup.c (main): Change version number output.
3061
7dff5e71
CF
3062Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
3063
3064 * setup.c (tarx): Use full path name to tar executable.
3065 (main): Build full pathname to tar executable. Create /usr/local/etc
3066 by default.
3067
99437fdb
CF
3068Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
3069
3070 * setup.c (findhref): Change method for scanning for href= to choose
3071 the last one on the line. This is still not foolproof and probably
3072 will need to be changed eventually. Don't abort if no "size" field is
3073 evident.
3074 (processdirlisting): Fix boolean algebra.
3075
0f562d55
CF
3076Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
3077
3078 * main.c (tarx): Add some code for future task of unmounting
3079 directories encountered in tar file.
3080
4356382d
CF
3081Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
3082
3083 * setup.c (findhref): Decode file size, when appropriate.
3084 (needfile): New function. Returns 1 when file should be
3085 downloaded.
3086 (processdirlisting): Always download if file size does not
3087 match. Prompt when download fails for some reason.
3088 (getdownloadsource): Accomodate findhref argument changes.
3089
6ab1ce6c
CF
3090Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
3091
3092 Throughout, use global session handle rather than reinitializing for
3093 each connect. Don't pass session as an argument to setup.c functions.
3094 * setup.c (geturl): Only issue "Connecting to.." message when using
3095 http or first time for ftp since subsequent connections will be fast.
3096 (processdirlisting): Allocate space for "N" when user has specified
3097 "N"ever option so that it can be subsequently freed.
3098 (main): Abort if we can't get the list of mirrors.
3099
37ee316b
CF
3100Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
3101
3102 * setup.c (main): Umount /bin and /lib.
3103
a59fb4fa
CF
3104Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
3105
3106 * setup.c (main): Create an empty /var/run/utmp.
3107
75f4b861
CF
3108Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
3109
3110 * Makefile.in: Add umount to list of files to include in setup.exe.
3111 * setup.c (xumount): New function for unmounting directories.
3112 (main): Unmount /usr.
3113 (mkmount): Unmount "unix directory" before trying to figure out where
3114 to create the directory.
3115
d4a66789
CF
3116Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
3117
3118 * setup.c (mkmount): Use xcreate_process to start mount process,
3119 avoiding the shell.
3120 (main): Don't do buffering on stdout or prompts won't be displayed
3121 correctly if running in a cygwin shell with CYGWIN=tty.
3122
a6c3982d
CF
3123Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
3124
3125 * setup.c (main): Remove the CYGWIN environment variable before
3126 starting any cygwin programs.
3127
0ffd5e3b
CF
3128Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
3129
3130 * setup.c (geturl): Use alternative method for finding filename part of
3131 a URL.
3132 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
3133 (downloaddir): Unlink file containing dir listing.
3134 (downloadfrom): Ditto.
3135
3e54bcf9
CF
3136Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
3137
3138 * setup.c (main): Disallow running setup.exe from the "root".
3139
005b73c4
CF
3140Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
3141
2cf65e6e 3142 Use "warning" function, where appropriate, to output warnings.
005b73c4
CF
3143 * setup.c (warning): New function -- outputs warning to console and log
3144 file.
3145 (tarx): Fix index used to reset file protection.
3146 (main): Open the log file earlier so that more stuff can be sent to it.
3147
36dc5fc8
CF
3148Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
3149
3150 * setup.c (processdirlisting): Make "N" option a little less aggressive.
3151
c73320de
CF
3152Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
3153
3154 * setup.c (tarx): Wait to after tar has completed to reset protections
3155 or suffer races with tar process.
3156
68cdfc92
CF
3157Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
3158
3159 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
3160 * setup.c (create_uninstall): Create the uninstall .bat file in the
3161 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
3162 list of files to be deleted. Fix directory detection for determining
3163 when to use 'rmdir'.
3164 (do_start_menu): Add /usr/local/bin to the path.
3165 (main): Add slop to files.array allocation so that we don't have to
3166 worry about reallocating the array when it grows too large when doing
3167 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
3168 files.
3169
35d18861
CF
3170Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
3171
3172 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
3173 download.
3174
20904de1
CF
3175Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
3176
3177 * path.c (kill_cygpath): New cleanup function.
3178 (exit_cygpath): New cleanup function.
3179 (cygpath_pipe): New function. Sets up cygpath in the background for
3180 translating filenames.
3181 (pathcvt): Use background cygpath for file translation.
3182 * setup.c (tarx): New function. Called to extract tar files, capture
3183 logging output, and translate it to Windows format.
3184 (recurse_dirs): Use 'tarx' function to extract files.
3185 (create_uninstall): Use file list built up by tarx rather than reading
3186 the log file.
3187 (mkmount): Add ability to mount root.
3188 (main): Track elapsed install time. Mount root.
3189 * starry.h: Add index field to strarry for tracking of tarx's usage of
3190 this structure.
3191 * xsystem.c (xcreate_process): Return proces handle when not waiting.
3192
c1246750
CF
3193Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
3194
3195 * path.c: New file.
3196 (pathfp): New function. Preliminary work for new -f cygpath
3197 functionality.
3198 * Makefile.in: Add new file.
3199 (pathcvt): Move to new file.
3200 (dtoupath): Ditto.
3201 (utodpath): Ditto.
3202 (pathcat): Ditto.
3203 * setup.c (processdirlisting): Always open file in text mode.
3204 (create_uninstall): Ditto.
3205 (getdownloadsource): Ditto.
3206 (main): Ditto.
3207
4b40edd0
CF
3208Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
3209
3210 * xsystem.c: New file.
3211 * Makefile.in: Accomodate new file.
3212 * setup.c (xsystem): Move to new file.
3213 (recurse_dirs): Accept handle to output log file. Don't use ">"
3214 redirection to trap tar output. Use supplied handle instead.
3215 (create_uninstall): Accept FILE pointer to opened log file. Don't
3216 unlink log file here.
3217 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
3218 (main): Open log file here and pass it to various functions. Unlink
3219 when done.
3220
6f8e3b45
CF
3221Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
3222
3223 Change occurrences of .usr.bin to .bin throughout.
3224 * setup.c (geturl): Increase number of retries to 20. Let user know
3225 what's going on during long connects.
3226 (processdirlisting): Accept "A"lways and "N"ever as update options.
3227 (create_uninstall): Load cygwin1.dll from the current directory rather
3228 than \bin.
3229 (main): Add some expository text.
3230
2a907b70
CF
3231Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
3232
3233 * Makefile.in: Change method for compressing cygwin1.dll to avoid
3234 creating a cygwin1.dll in the current directory. Ensure the addition
3235 of -nostdinc to MINGW_CFLAGS.
3236
c4285a3c
CF
3237Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
3238
3239 * Makefile.in: Augment clean target.
3240
ea615d51
RP
3241Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
3242
3243 * README: Added info about non-working mingw implementation
c1246750 3244 * gzip.exe.gz: Replace with a version from the same build as the other
ea615d51 3245 tools.
c1246750 3246 * tar.exe.gz: Replace with a version from the same build as the other
ea615d51 3247 tools.
c1246750 3248 * mount.exe.gz: Add to repository until, mingw can build setup.
ea615d51
RP
3249 * cygpath.exe.gz: ditto
3250 * cygwin1.dll.gz: ditto
c1246750
CF
3251 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
3252 for Win9x. Display only a screenfull of options at a time. Call all
3253 tools with an absolute path.
3254 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
3255 them.
ea615d51
RP
3256 * setup.dsw: ditto
3257 * zlib.dsw: ditto
3258
51954e74
CF
3259Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
3260
c1246750
CF
3261 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
3262 cygwin1.dll from ../cygwin subdirectory.
51954e74
CF
3263 * gzip.exe.gz: Update.
3264 * tar.exe.gz: Update.
3265
7b777418
CF
3266Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
3267
3268 * Makefile.in: Use ZLIB variable as a target.
3269
4306b490
CF
3270Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
3271
5e7eb909
CF
3272 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
3273 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
3274 sources.
4306b490
CF
3275 * configure.in: Locate correct objcopy.
3276 * configure: Regenerate.
3277
739457f4
CF
3278Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
3279
3280 * Makefile.in: New file.
3281 * configure.in: New file.
3282 * configure: New file.
3283 * zlib/Makefile.am: New file.
3284 * zlib/configure.in: New file.
3285 * zlib/aclocal.m4: New file.
3286 * zlib/acinclude.m4: New file.
3287 * zlib/configure: Regenerate from configure.in.
3288 * zlib/Makefile.in: Regenerate from Makefile.am
8507f105
DD
3289
3290%%% $Id$
3291$Revision$
This page took 0.396926 seconds and 5 git commands to generate.