]> cygwin.com Git - cygwin-apps/setup.git/blame - ChangeLog
* Makefile.am: Treat libgetopt++ as full-fledged SUBDIRS.
[cygwin-apps/setup.git] / ChangeLog
CommitLineData
fe434e30
YS
12010-08-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
2
3 * Makefile.am: Treat libgetopt++ as full-fledged SUBDIRS.
4 (setup_LDADD): Always link against included libgetopt++.
5
1f673500
CV
62010-08-08 Corinna Vinschen <corinna@vinschen.de>
7
8 * prereq.cc (PrereqChecker::getUnmetString): Improve dependency list
9 output.
10
c7c6e034
AK
112010-08-07 Andy Koppe <andy.koppe@gmail.com>
12
13 * prereq.cc (PrereqChecker::isMet): Find unmet indirect
14 dependencies too.
15
9dc2b7e9
AK
162010-08-06 Andy Koppe <andy.koppe@gmail.com>
17
18 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Rename "Partial" view
19 to "Pending" (again).
20
8399bd2d
AK
212010-08-05 Andy Koppe <andy.koppe@gmail.com>
22
23 * res.rc (IDD_PREREQ DIALOG): Tweak wording on dependency page.
24
d57da7e1
DK
252010-07-31 Dave Korn <dave.korn.cygwin@gmail.com>
26
27 * install.cc (Installer::installOne): Also record zero-sized
28 tarballs as successfully installed.
29
3a71ab77
JT
302010-07-30 Jon TURNEY <jon.turney@dronecode.org.uk>
31
a127a91e 32 * postinstall.cc (do_postinstall_reflector): Fix typo.
3a71ab77 33
b06628c5
CF
342010-07-30 Christopher Faylor <me+cygwin@cgf.cx>
35
36 * inilex.ll: Allow "~" in a string.
37
7d3de3ed
JT
382010-07-29 Jon TURNEY <jon.turney@dronecode.org.uk>
39
a127a91e
CF
40 * resource.h (IDD_POSTINSTALL, IDC_POSTINSTALL_EDIT): Add resource
41 identifiers for postinstall results page.
42 * res.rc (IDD_POSTINSTALL): Add dialog resource for postinstall results
43 page.
44 * postinstallresults.h: New file.
45 * postinstallresults.cc: New file.
46 * main.cc (main_display): Add a PostInstallResultsPage to the wizard.
47 * Makefile.am (setup_SOURCES): Add new files.
48 * threebar.cc (OnMessageApp): Allow WM_APP_POSTINSTALL_THREAD_COMPLETE
49 to select the next page shown.
50 * postinstall.cc (do_postinstall_thread)
51 (do_postinstall_reflector): Collect results of running scripts and
52 compose a reporting message which we pass to the postinstall results
53 page. Select postinstall results page next if there are results to
54 show, otherwise desktop setup page as before.
55 * script.cc (run): Don't rename as .done scripts which didn't run
56 successfully.
7d3de3ed 57
5a2eaf00
AK
582010-07-26 Andy Koppe <andy.koppe@gmail.com>
59
a127a91e 60 * PickView.cc (PickView::views::caption): Rename "Partial" view
5a2eaf00
AK
61 to "Pending".
62 * res.rc (IDS_VIEWBUTTON_TOOLTIP): Ditto.
63
642010-07-22 Andy Koppe <andy.koppe@gmail.com>
2c4487b3
CV
65
66 * PickPackageLine.cc (PickPackageLine::{click,set_action}):
67 Don't trigger automatic package selection when clicking on
68 packages or categories on chooser screen.
69 * PickCategoryLine.cc (PickCategoryLine::click): No more need to
70 prepare for automatic package selection with markUnVisited().
71 * res.rc: Drop "Warning!" from caption of Resolve Dependencies
72 screen.
73
65fa35d4
DK
742010-04-17 Dave Korn <dave.korn.cygwin@gmail.com>
75
76 * root.cc (RootPage::OnNext): Don't construct a packagedb here nor
77 do deferred initialisation of static packagedb::task.
78 * source.cc (save_dialog): Don't construct a packagedb here, and
79 set static packagedb::task directly instead of chosen_db_task.
80 * package_meta.cc (packagemeta::action_caption): Don't bother to
81 construct a packagedb here, just access packagedb::task directly.
82 * package_db.cc: Move 'static members' comment near static members.
83 (chosen_db_task): Delete.
84 * package_db.h (chosen_db_task): Don't declare extern.
85 (packagedb): Extend comments on class.
86
8baf5374
DK
872010-04-14 Dave Korn <dave.korn.cygwin@gmail.com>
88
89 * PickView.cc (PickView::WindowProc): Delete inadvertently-committed
90 debug logging.
91
325bb73a
DK
922010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
93
94 * PickView.h (PickView::set_vscroll_info): Add prototype.
95 (PickView::hasClientRect): Rename from this ...
96 (PickView::hasWindowRect): ... to this ...
97 (PickView::lastClientRect): ... and from this ...
98 (PickView::lastWindowRect): ... to this.
99 * PickView.cc (PickView::PickView): Adjust member init to match.
100 (PickView::set_vscroll_info): Abstract code to set vertical scroll
101 bar proportions from ...
102 (PickView::list_click): ... here. Call it. Fix comment typo.
103 (PickView::WindowProc): Update all renamed variables in WM_SIZE
104 case, and check also for a y delta, calling set_vscroll_info if so.
105
67ce5bee
DK
1062010-04-13 Dave Korn <dave.korn.cygwin@gmail.com>
107
108 * window.cc (Window::Window): Initialise BusyCount and BusyCursor.
109 (Window::SetBusy): Set hourglass cursor, counting nested activations.
110 (Window::ClearBusy): Cancel one call to SetBusy and restore original
111 cursor if no longer busy.
112 * window.h (Window::BusyCount): New data member.
113 (Window::OldCursor): Likewise.
114 (Window::BusyCursor): Likewise.
115 (Window::SetBusy): Prototype.
116 (Window::ClearBusy): Likewise.
117 * choose.cc (ChooserPage::createListview): Invoke busy cursor
118 around long-running operation.
119 (ChooserPage::OnInit): Likewise.
120 (ChooserPage::changeTrust): Likewise.
121 * PickCategoryLine.cc (PickCategoryLine::set_action): Likewise.
122
644ca185
CF
1232010-04-08 Christopher Faylor <me+cygwin@cgf.cx>
124
125 * bootstrap.sh: Always reconfigure in libgetopt++.
126
127 * Makefile.am: Remove old code for direct copying to sourceware. Add
128 -src to source tarball.
129
d7406b7d
CV
1302010-04-07 Matthias Andree <matthias.andree@gmx.de>
131
132 * README (HOW TO BUILD): Mention mingw-lib{gcrypt,lzma}-devel.
133
134 * res.rc (IDD_DESKTOP): Move Installation Status line,
135 IDC_STATUS_HEADER and IDC_STATUS up 20 units, make IDC_STATUS text
136 20 units taller and 40 units wider so that IDS_REBOOT_REQUIRED
137 message fits the screen.
138 * res.rc (IDD_SPLASH): Bump copyright years in IDC_SLASH_COPYR to
139 "2000-2010".
140
2b411596
CV
1412010-04-07 Corinna Vinschen <corinna@vinschen.de>
142
143 * install.cc (create_allow_protected_renames): New function to
144 create AllowProtectedRenames registry entry.
145 (Installer::installOne): Call create_allow_protected_renames if former
146 call to MoveFileEx was successful.
147
1e0f90f9
CW
1482010-03-18 Charles Wilson <cygwin@cwilson.fastmail.fm>
149
150 Use external crypto libraries
151 * Makefile.am: Remove local libgcrypt and libgpg-error
152 source directories from AM_CPPFLAGS.
153 * configure.ac: Remove libgcrypt and libgpg-error subdirs
154 from AC_CONFIG_SUBDIRS. Remove now-unnecessary cruft.
155 * doconfigure: Specify gcc-3 and g++-3. Set PATH when $build
156 is cygwin, so that correct (mingw) libgcrypt and libgpg-error
157 config scripts can be used.
158
159 Remove libgpg-error.
160 * libgpg-error/tests/Makefile.am, libgpg-error/tests/Makefile.in,
161 libgpg-error/tests/t-strerror.c, libgpg-error/tests/t-syserror.c,
162 libgpg-error/po/ChangeLog, libgpg-error/po/LINGUAS,
163 libgpg-error/po/Makefile.in.in, libgpg-error/po/Makevars,
164 libgpg-error/po/POTFILES.in, libgpg-error/po/Rules-quot,
165 libgpg-error/po/boldquot.sed, libgpg-error/po/de.gmo,
166 libgpg-error/po/de.po, libgpg-error/po/en@boldquot.header,
167 libgpg-error/po/en@quot.header, libgpg-error/po/fr.gmo,
168 libgpg-error/po/fr.po libgpg-error/po/insert-header.sin,
169 libgpg-error/po/libgpg-error.pot, libgpg-error/po/pl.gmo,
170 libgpg-error/po/pl.po, libgpg-error/po/quot.sed,
171 libgpg-error/po/remove-potcdate.sin, libgpg-error/po/ro.gmo,
172 libgpg-error/po/ro.po libgpg-error/po/stamp-po,
173 libgpg-error/po/sv.po, libgpg-error/po/vi.gmo,
174 libgpg-error/po/vi.po, libgpg-error/po/sv.gmo,
175 libgpg-error/m4/ChangeLog, libgpg-error/m4/Makefile.am,
176 libgpg-error/m4/ac_prog_cc_for_build.m4, libgpg-error/m4/autobuild.m4,
177 libgpg-error/m4/codeset.m4, libgpg-error/m4/gettext.m4,
178 libgpg-error/m4/glibc2.m4, libgpg-error/m4/glibc21.m4,
179 libgpg-error/m4/iconv.m4, libgpg-error/m4/intdiv0.m4,
180 libgpg-error/m4/intmax.m4, libgpg-error/m4/inttypes-h.m4,
181 libgpg-error/m4/inttypes-pri.m4, libgpg-error/m4/inttypes.m4,
182 libgpg-error/m4/inttypes_h.m4, libgpg-error/m4/isc-posix.m4,
183 libgpg-error/m4/lcmessage.m4, libgpg-error/m4/lib-ld.m4,
184 libgpg-error/m4/lib-link.m4, libgpg-error/m4/lib-prefix.m4,
185 libgpg-error/m4/libtool.m4, libgpg-error/m4/lock.m4,
186 libgpg-error/m4/longdouble.m4, libgpg-error/m4/longlong.m4,
187 libgpg-error/m4/nls.m4, libgpg-error/m4/po.m4,
188 libgpg-error/m4/printf-posix.m4, libgpg-error/m4/progtest.m4,
189 libgpg-error/m4/signed.m4, libgpg-error/m4/size_max.m4,
190 libgpg-error/m4/stdint_h.m4, libgpg-error/m4/uintmax_t.m4,
191 libgpg-error/m4/ulonglong.m4, libgpg-error/m4/visibility.m4,
192 libgpg-error/m4/wchar_t.m4, libgpg-error/m4/wint_t.m4,
193 libgpg-error/m4/xsize.m4, libgpg-error/m4/Makefile.in,
194 libgpg-error/lang/Makefile.am, libgpg-error/lang/README,
195 libgpg-error/lang/Makefile.in, libgpg-error/lang/cl/Makefile.am,
196 libgpg-error/lang/cl/README, libgpg-error/lang/cl/gpg-error-package.lisp,
197 libgpg-error/lang/cl/gpg-error.asd, libgpg-error/lang/cl/gpg-error.asd.in,
198 libgpg-error/lang/cl/gpg-error.lisp, libgpg-error/lang/cl/mkerrcodes.awk,
199 libgpg-error/lang/cl/Makefile.in, libgpg-error/src/Makefile.am,
200 libgpg-error/src/README, libgpg-error/src/code-from-errno.c,
201 libgpg-error/src/code-to-errno.c, libgpg-error/src/err-codes.h,
202 libgpg-error/src/err-codes.h.in, libgpg-error/src/err-sources.h,
203 libgpg-error/src/err-sources.h.in, libgpg-error/src/errnos.in,
204 libgpg-error/src/gettext.h, libgpg-error/src/gpg-error-config.in,
205 libgpg-error/src/gpg-error.c, libgpg-error/src/gpg-error.def,
206 libgpg-error/src/gpg-error.h, libgpg-error/src/gpg-error.h.in,
207 libgpg-error/src/gpg-error.m4, libgpg-error/src/init.c,
208 libgpg-error/src/mkerrcodes.awk, libgpg-error/src/mkerrcodes.c,
209 libgpg-error/src/mkerrcodes1.awk, libgpg-error/src/mkerrcodes2.awk,
210 libgpg-error/src/mkerrnos.awk, libgpg-error/src/mkheader.awk,
211 libgpg-error/src/mkstrtable.awk, libgpg-error/src/strerror-sym.c,
212 libgpg-error/src/strerror.c, libgpg-error/src/strsource-sym.c,
213 libgpg-error/src/strsource.c, libgpg-error/src/versioninfo.rc.in,
214 libgpg-error/src/w32-gettext.c, libgpg-error/src/w32-gettext.h,
215 libgpg-error/src/Makefile.in, libgpg-error/ABOUT-NLS,
216 libgpg-error/AUTHORS, libgpg-error/COPYING, libgpg-error/COPYING.LIB,
217 libgpg-error/ChangeLog, libgpg-error/INSTALL, libgpg-error/Makefile.am,
218 libgpg-error/NEWS, libgpg-error/README, libgpg-error/THANKS,
219 libgpg-error/VERSION, libgpg-error/autogen.sh, libgpg-error/compile,
220 libgpg-error/config.guess, libgpg-error/config.rpath,
221 libgpg-error/config.sub, libgpg-error/configure.ac, libgpg-error/depcomp,
222 libgpg-error/install-sh, libgpg-error/libgpg-error.spec,
223 libgpg-error/libgpg-error.spec.in, libgpg-error/ltmain.sh,
224 libgpg-error/missing, libgpg-error/mkinstalldirs,
225 libgpg-error/aclocal.m4, libgpg-error/configure,
226 libgpg-error/config.h.in, libgpg-error/Makefile.in: Remove.
227
228 Remove libgcrypt.
229 * libgcrypt/tests/ChangeLog, libgcrypt/tests/Makefile.am,
230 libgcrypt/tests/ac-data.c, libgcrypt/tests/ac-schemes.c,
231 libgcrypt/tests/ac.c, libgcrypt/tests/basic.c,
232 libgcrypt/tests/benchmark.c, libgcrypt/tests/hmac.c,
233 libgcrypt/tests/keygen.c, libgcrypt/tests/keygrip.c,
234 libgcrypt/tests/mpitests.c, libgcrypt/tests/pkbench.c,
235 libgcrypt/tests/prime.c, libgcrypt/tests/pubkey.c,
236 libgcrypt/tests/random.c, libgcrypt/tests/register.c,
237 libgcrypt/tests/t-mpi-bit.c, libgcrypt/tests/testapi.c,
238 libgcrypt/tests/tsexp.c, libgcrypt/tests/version.c,
239 libgcrypt/tests/Makefile.in, libgcrypt/src/ChangeLog
240 libgcrypt/src/Makefile.am, libgcrypt/src/Manifest, libgcrypt/src/ath.c,
241 libgcrypt/src/ath.h, libgcrypt/src/cipher.h, libgcrypt/src/dumpsexp.c,
242 libgcrypt/src/g10lib.h, libgcrypt/src/gcrypt-module.h,
243 libgcrypt/src/gcrypt.h, libgcrypt/src/gcrypt.h.in,
244 libgcrypt/src/gcryptrnd.c, libgcrypt/src/getrandom.c,
245 libgcrypt/src/global.c, libgcrypt/src/hwfeatures.c,
246 libgcrypt/src/libgcrypt-config.in, libgcrypt/src/libgcrypt.def,
247 libgcrypt/src/libgcrypt.m4, libgcrypt/src/libgcrypt.vers,
248 libgcrypt/src/misc.c, libgcrypt/src/missing-string.c,
249 libgcrypt/src/module.c, libgcrypt/src/mpi.h, libgcrypt/src/secmem.h,
250 libgcrypt/src/sexp.c, libgcrypt/src/stdmem.c, libgcrypt/src/stdmem.h,
251 libgcrypt/src/types.h, libgcrypt/src/versioninfo.rc.in,
252 libgcrypt/src/visibility.c, libgcrypt/src/visibility.h,
253 libgcrypt/src/Makefile.in, libgcrypt/src/secmem.c,
254 libgcrypt/m4/ChangeLog, libgcrypt/m4/Makefile.am,
255 libgcrypt/m4/libtool.m4, libgcrypt/m4/noexecstack.m4,
256 libgcrypt/m4/onceonly.m4, libgcrypt/m4/socklen.m4,
257 libgcrypt/m4/sys_socket_h.m4, libgcrypt/m4/Makefile.in,
258 libgcrypt/doc/ChangeLog, libgcrypt/doc/HACKING,
259 libgcrypt/doc/Makefile.am, libgcrypt/doc/README.apichanges,
260 libgcrypt/doc/gcrypt.texi, libgcrypt/doc/gpl.texi,
261 libgcrypt/doc/lgpl.texi, libgcrypt/doc/mdate-sh,
262 libgcrypt/doc/texinfo.tex, libgcrypt/doc/stamp-vti,
263 libgcrypt/doc/version.texi, libgcrypt/doc/gcrypt.info,
264 libgcrypt/doc/Makefile.in, libgcrypt/cipher/ChangeLog,
265 libgcrypt/cipher/Makefile.am, libgcrypt/cipher/Manifest,
266 libgcrypt/cipher/ac.c, libgcrypt/cipher/arcfour.c,
267 libgcrypt/cipher/bithelp.h, libgcrypt/cipher/blowfish.c,
268 libgcrypt/cipher/camellia-glue.c, libgcrypt/cipher/camellia.c,
269 libgcrypt/cipher/camellia.h, libgcrypt/cipher/cast5.c,
270 libgcrypt/cipher/cipher.c, libgcrypt/cipher/crc.c,
271 libgcrypt/cipher/des.c, libgcrypt/cipher/dsa.c, libgcrypt/cipher/ecc.c,
272 libgcrypt/cipher/elgamal.c, libgcrypt/cipher/md.c,
273 libgcrypt/cipher/md4.c, libgcrypt/cipher/md5.c,
274 libgcrypt/cipher/primegen.c, libgcrypt/cipher/pubkey.c,
275 libgcrypt/cipher/rand-internal.h, libgcrypt/cipher/random-daemon.c,
276 libgcrypt/cipher/random.c, libgcrypt/cipher/random.h,
277 libgcrypt/cipher/rfc2268.c, libgcrypt/cipher/rijndael-tables.h,
278 libgcrypt/cipher/rijndael.c, libgcrypt/cipher/rmd.h,
279 libgcrypt/cipher/rmd160.c, libgcrypt/cipher/rndegd.c,
280 libgcrypt/cipher/rndhw.c, libgcrypt/cipher/rndlinux.c,
281 libgcrypt/cipher/rndunix.c, libgcrypt/cipher/rndw32.c,
282 libgcrypt/cipher/rsa.c, libgcrypt/cipher/seed.c,
283 libgcrypt/cipher/serpent.c, libgcrypt/cipher/sha1.c,
284 libgcrypt/cipher/sha256.c, libgcrypt/cipher/sha512.c,
285 libgcrypt/cipher/tiger.c, libgcrypt/cipher/twofish.c,
286 libgcrypt/cipher/whirlpool.c, libgcrypt/cipher/Makefile.in,
287 libgcrypt/AUTHORS, libgcrypt/BUGS, libgcrypt/COPYING,
288 libgcrypt/COPYING.LIB, libgcrypt/ChangeLog, libgcrypt/INSTALL,
289 libgcrypt/Makefile.am, libgcrypt/NEWS, libgcrypt/README,
290 libgcrypt/README.SVN, libgcrypt/THANKS, libgcrypt/TODO, libgcrypt/VERSION,
291 libgcrypt/acinclude.m4, libgcrypt/autogen.sh, libgcrypt/compile,
292 libgcrypt/config.guess, libgcrypt/config.sub, libgcrypt/configure.ac,
293 libgcrypt/depcomp, libgcrypt/install-sh, libgcrypt/ltmain.sh,
294 libgcrypt/missing, libgcrypt/mkinstalldirs, , libgcrypt/aclocal.m4,
295 libgcrypt/configure, libgcrypt/config.h.in, libgcrypt/Makefile.in,
296 libgcrypt/mpi/ChangeLog, libgcrypt/mpi/Makefile.am,
297 libgcrypt/mpi/Manifest, libgcrypt/mpi/config.links, libgcrypt/mpi/ec.c,
298 libgcrypt/mpi/longlong.h, libgcrypt/mpi/mpi-add.c,
299 libgcrypt/mpi/mpi-bit.c, libgcrypt/mpi/mpi-cmp.c,
300 libgcrypt/mpi/mpi-div.c, libgcrypt/mpi/mpi-gcd.c,
301 libgcrypt/mpi/mpi-inline.c, libgcrypt/mpi/mpi-inline.h,
302 libgcrypt/mpi/mpi-internal.h, libgcrypt/mpi/mpi-inv.c,
303 libgcrypt/mpi/mpi-mod.c, libgcrypt/mpi/mpi-mpow.c,
304 libgcrypt/mpi/mpi-mul.c, libgcrypt/mpi/mpi-pow.c,
305 libgcrypt/mpi/mpi-scan.c, libgcrypt/mpi/mpicoder.c,
306 libgcrypt/mpi/mpih-div.c, libgcrypt/mpi/mpih-mul.c,
307 libgcrypt/mpi/mpiutil.c, libgcrypt/mpi/Makefile.in,
308 libgcrypt/mpi/alpha/README, libgcrypt/mpi/alpha/distfiles,
309 libgcrypt/mpi/alpha/mpih-add1.S, libgcrypt/mpi/alpha/mpih-lshift.S,
310 libgcrypt/mpi/alpha/mpih-mul1.S, libgcrypt/mpi/alpha/mpih-mul2.S,
311 libgcrypt/mpi/alpha/mpih-mul3.S, libgcrypt/mpi/alpha/mpih-rshift.S,
312 libgcrypt/mpi/alpha/mpih-sub1.S, libgcrypt/mpi/alpha/udiv-qrnnd.S,
313 libgcrypt/mpi/amd64/distfiles, libgcrypt/mpi/amd64/mpih-add1.S,
314 libgcrypt/mpi/amd64/mpih-lshift.S, libgcrypt/mpi/amd64/mpih-mul1.S,
315 libgcrypt/mpi/amd64/mpih-mul2.S, libgcrypt/mpi/amd64/mpih-mul3.S,
316 libgcrypt/mpi/amd64/mpih-rshift.S, libgcrypt/mpi/amd64/mpih-sub1.S,
317 libgcrypt/mpi/generic/Manifest, libgcrypt/mpi/generic/distfiles,
318 libgcrypt/mpi/generic/mpi-asm-defs.h, libgcrypt/mpi/generic/mpih-add1.c,
319 libgcrypt/mpi/generic/mpih-lshift.c, libgcrypt/mpi/generic/mpih-mul1.c,
320 libgcrypt/mpi/generic/mpih-mul2.c, libgcrypt/mpi/generic/mpih-mul3.c,
321 libgcrypt/mpi/generic/mpih-rshift.c, libgcrypt/mpi/generic/mpih-sub1.c,
322 libgcrypt/mpi/generic/udiv-w-sdiv.c, libgcrypt/mpi/hppa/README,
323 libgcrypt/mpi/hppa/distfiles, libgcrypt/mpi/hppa/mpih-add1.S,
324 libgcrypt/mpi/hppa/mpih-lshift.S, libgcrypt/mpi/hppa/mpih-rshift.S,
325 libgcrypt/mpi/hppa/mpih-sub1.S, libgcrypt/mpi/hppa/udiv-qrnnd.S,
326 libgcrypt/mpi/hppa1.1/distfiles, libgcrypt/mpi/hppa1.1/mpih-mul1.S,
327 libgcrypt/mpi/hppa1.1/mpih-mul2.S, libgcrypt/mpi/hppa1.1/mpih-mul3.S,
328 libgcrypt/mpi/hppa1.1/udiv-qrnnd.S, libgcrypt/mpi/i386/Manifest,
329 libgcrypt/mpi/i386/distfiles, libgcrypt/mpi/i386/mpih-add1.S,
330 libgcrypt/mpi/i386/mpih-lshift.S, libgcrypt/mpi/i386/mpih-mul1.S,
331 libgcrypt/mpi/i386/mpih-mul2.S, libgcrypt/mpi/i386/mpih-mul3.S,
332 libgcrypt/mpi/i386/mpih-rshift.S, libgcrypt/mpi/i386/mpih-sub1.S,
333 libgcrypt/mpi/i386/syntax.h, libgcrypt/mpi/i586/Manifest,
334 libgcrypt/mpi/i586/README, libgcrypt/mpi/i586/distfiles,
335 libgcrypt/mpi/i586/mpih-add1.S, libgcrypt/mpi/i586/mpih-lshift.S,
336 libgcrypt/mpi/i586/mpih-mul1.S, libgcrypt/mpi/i586/mpih-mul2.S,
337 libgcrypt/mpi/i586/mpih-mul3.S, libgcrypt/mpi/i586/mpih-rshift.S,
338 libgcrypt/mpi/i586/mpih-sub1.S, libgcrypt/mpi/m68k/Manifest,
339 libgcrypt/mpi/m68k/distfiles, libgcrypt/mpi/m68k/mpih-add1.S,
340 libgcrypt/mpi/m68k/mpih-lshift.S, libgcrypt/mpi/m68k/mpih-rshift.S,
341 libgcrypt/mpi/m68k/mpih-sub1.S, libgcrypt/mpi/m68k/syntax.h,
342 libgcrypt/mpi/mips3/Manifest, libgcrypt/mpi/mips3/README,
343 libgcrypt/mpi/mips3/distfiles, libgcrypt/mpi/mips3/mpi-asm-defs.h,
344 libgcrypt/mpi/mips3/mpih-add1.S, libgcrypt/mpi/mips3/mpih-lshift.S,
345 libgcrypt/mpi/mips3/mpih-mul1.S, libgcrypt/mpi/mips3/mpih-mul2.S,
346 libgcrypt/mpi/mips3/mpih-mul3.S, libgcrypt/mpi/mips3/mpih-rshift.S,
347 libgcrypt/mpi/mips3/mpih-sub1.S, libgcrypt/mpi/pa7100/Manifest,
348 libgcrypt/mpi/pa7100/distfiles, libgcrypt/mpi/pa7100/mpih-lshift.S,
349 libgcrypt/mpi/pa7100/mpih-rshift.S, libgcrypt/mpi/pentium4/README,
350 libgcrypt/mpi/pentium4/distfiles, libgcrypt/mpi/power/Manifest,
351 libgcrypt/mpi/power/distfiles, libgcrypt/mpi/power/mpih-add1.S,
352 libgcrypt/mpi/power/mpih-lshift.S, libgcrypt/mpi/power/mpih-mul1.S,
353 libgcrypt/mpi/power/mpih-mul2.S, libgcrypt/mpi/power/mpih-mul3.S,
354 libgcrypt/mpi/power/mpih-rshift.S, libgcrypt/mpi/power/mpih-sub1.S,
355 libgcrypt/mpi/powerpc32/Manifest, libgcrypt/mpi/powerpc32/distfiles,
356 libgcrypt/mpi/powerpc32/mpih-add1.S,
357 libgcrypt/mpi/powerpc32/mpih-lshift.S,
358 libgcrypt/mpi/powerpc32/mpih-mul1.S,
359 libgcrypt/mpi/powerpc32/mpih-mul2.S,
360 libgcrypt/mpi/powerpc32/mpih-mul3.S,
361 libgcrypt/mpi/powerpc32/mpih-rshift.S,
362 libgcrypt/mpi/powerpc32/mpih-sub1.S, libgcrypt/mpi/powerpc32/syntax.h,
363 libgcrypt/mpi/powerpc64/distfiles, libgcrypt/mpi/sparc32/Manifest,
364 libgcrypt/mpi/sparc32/distfiles, libgcrypt/mpi/sparc32/mpih-add1.S,
365 libgcrypt/mpi/sparc32/mpih-lshift.S,
366 libgcrypt/mpi/sparc32/mpih-rshift.S, libgcrypt/mpi/sparc32/udiv.S,
367 libgcrypt/mpi/sparc32v8/Manifest, libgcrypt/mpi/sparc32v8/distfiles,
368 libgcrypt/mpi/sparc32v8/mpih-mul1.S,
369 libgcrypt/mpi/sparc32v8/mpih-mul2.S,
370 libgcrypt/mpi/sparc32v8/mpih-mul3.S, libgcrypt/mpi/supersparc/Manifest,
371 libgcrypt/mpi/supersparc/distfiles,
372 libgcrypt/mpi/supersparc/udiv.S, libgcrypt/mpi/m68k/mc68020/distfiles
373 libgcrypt/mpi/m68k/mc68020/Manifest,
374 libgcrypt/mpi/m68k/mc68020/mpih-mul1.S,
375 libgcrypt/mpi/m68k/mc68020/mpih-mul2.S,
376 libgcrypt/mpi/m68k/mc68020/mpih-mul3.S,
377 libgcrypt/mpi/pentium4/mmx/distfiles,
378 libgcrypt/mpi/pentium4/mmx/mpih-lshift.S,
379 libgcrypt/mpi/pentium4/mmx/mpih-rshift.S,
380 libgcrypt/mpi/pentium4/sse2/distfiles,
381 libgcrypt/mpi/pentium4/sse2/mpih-add1.S,
382 libgcrypt/mpi/pentium4/sse2/mpih-mul1.S,
383 libgcrypt/mpi/pentium4/sse2/mpih-mul2.S,
384 libgcrypt/mpi/pentium4/sse2/mpih-mul3.S,
385 libgcrypt/mpi/pentium4/sse2/mpih-sub1.S: Remove.
386
d9129990
CV
3872010-03-17 Corinna Vinschen <corinna@vinschen.de>
388
389 * autoload.cc (Auto): Create autoload code in an executable section
390 called .autoload_text to avoid problems with DEP.
391
a3cc7986
CF
3922010-03-14 Christopher Faylor <me+cygwin@cgf.cx>
393
0a4e9289 394 * Makefile.am: Add a setup-src target.
a3cc7986 395
671140f9
CW
3962010-03-14 Charles Wilson <cygwin@cwilson.fastmail.fm>
397
398 Support xz and lzma decompression via liblzma
399 * Makefile.am: Add -DLZMA_API_STATIC to AM_CPPFLAGS,
400 -lzma to setup_LDADD, and -static-libtool-libs to
401 setup_LDFLAGS. Update setup_SOURCES.
402 * compress.cc: Update includes.
403 (compress::decompress): Use compress_xz rather than
404 compress_lzma; compress_xz supports both xz and lzma
405 decompression.
406 * compress_xz.h: New.
407 * compress_xz.cc: New.
408 * compress_lzma.h: Removed.
409 * compress_lzma.cc: Removed.
410 * lzma-sdk/LzmaDec.c: Removed.
411 * lzma-sdk/LzmaDec.h: Removed.
412 * lzma-sdk/Types.h: Removed.
413
f1c131f2
CV
4142010-03-13 DJ Delorie <dj@redhat.com>
415
416 * nio-ftp.c (read): Read RETR status code on EOF to avoid
417 deadlock with PASV.
418
08267187
CV
4192010-03-01 Corinna Vinschen <corinna@vinschen.de>
420
421 * filemanip.cc (mklongpath): Skip "." and ".." path components to
422 avoid error messages.
423
26c8444e
CV
4242010-02-15 Corinna Vinschen <corinna@vinschen.de>
425
426 * filemanip.cc (mklongpath): Simplify backslash folding.
427
6e2c72d0
CV
4282010-02-15 Corinna Vinschen <corinna@vinschen.de>
429
430 * filemanip.cc (transform_chars): Drop function.
431 (mklongpath): Call mbrtowc in a loop rather than just mbstowcs.
432 Transform characters on the fly. Fold multiple backslashes into one.
433 Drop trailing backslash.
434
7a4e611a
DK
4352010-02-15 Dave Korn <dave.korn.cygwin@gmail.com>
436
437 * choose.cc (ChooserPage::PlaceDialog): Only skip resizing window
438 in fully-unattended mode, not chooser-only mode.
439 (ChooserPage::OnUnattended): Return appropriate status to run page
440 or not according to kind of unattended mode.
441 * choose.h (ChooserPage::OnUnattended): Remove inline implementation
442 and retain prototype only.
443 * main.cc (PackageManagerOption): New boolean option.
444 (main): Take it into account when setting unattended_mode.
445 * proppage.cc (PropertyPage::DialogProc): Use new enum type when
446 setting unattended_mode.
447 * state.cc (unattended_mode): Change from bool to enum attend_mode.
448 * state.h (enum attend_mode): Declare new enum type.
449 (unattended_mode): Update extern declaration to use it.
450
2801c09c
CV
4512010-02-04 Corinna Vinschen <corinna@vinschen.de>
452
453 * win32.cc (NTSecurity::GetPosixPerms): Return NULL security descriptor
454 if is_legacy is set.
455 (NTSecurity::SetPosixPerms): Remove.
456 * win32.h (NTSecurity::GetPosixPerms): Remove declaration.
457
d2a5fdfb
CV
4582010-02-02 Corinna Vinschen <corinna@vinschen.de>
459
460 * desktop.cc (make_link): Use 0 default permissions when creating files
461 and directories.
462 * download.cc (download_one): Ditto.
463 * ini.cc (do_remote_ini): Ditto.
464 * localdir.cc (offer_to_create): Ditto.
465 * filemanip.cc (nt_wfopen): Use Windows default permissions if perms
466 is set to 0.
467 * mkdir.cc (mkdir_p): Ditto if mode is set to 0.
468
b67a5ea0
CF
4692010-01-29 Christopher Faylor <me+cygwin@cgf.cx>
470
471 * mount.cc (read_mounts_9x): Preserve old way of doing things when
472 is_legacy.
473
558484cc
CF
4742010-01-28 Christopher Faylor <me+cygwin@cgf.cx>
475
476 * desktop.cc (make_link): Preserve old way of doing things when
477 is_legacy.
478 (make_cygwin_bat): Ditto.
479 (save_icon): Ditto.
480 * mount.cc (read_mounts): Ditto.
481 (set_root_dir): Ditto.
482 * root.cc (load_dialog): Ditto.
483 (save_dialog): Ditto.
484 * install.cc (Installer::installOne): Don't install anything if there
485 is no canonical file associated with source.
486 (do_install_thread): Set up old-style registry entries if is_legacy
487 rather than just keying on whether this is Windows NT.
488 * io_stream_file.cc (io_stream_file::exists): Redefine "exists" to mean
489 "it's a file".
490
d0c6ddb9
CF
4912010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
492
493 * archive_tar.c (archive_tar_file::read): Always set read_something
494 even for zero-length files.
495
bb000e11
CF
4962010-01-16 Christopher Faylor <me+cygwin@cgf.cx>
497
498 * archive_tar.h (archive_tar_file::read_something): New member.
499 * archive_tar_file.cc (archive_tar_file::archive_tar_file): Don't reset
500 state unless we've actually read something.
501 (archive_tar_file::read): Set read_something variable here to indicate
502 that we've read something from the tar file.
503
7c907c13
CF
5042010-01-13 Christopher Faylor <me+cygwin@cgf.cx>
505
506 * localdir.cc (LocalDirPage::OnNext): Strip trailing slashes.
507
89216328
CF
5082009-12-27 Christopher Faylor <me+cygwin@cgf.cx>
509
510 * main.cc (dyn_AttachConsole): Make static.
511 (dyn_GetLongPathName): New variable.
512 (set_dynaddr): New function.
513 (set_cout): Don't set dyn_AttachConsole here.
514 (set_legacy): Don't attempt to call function which does not exist in
515 older versions of NT.
516 (main): Call set_dynaddr to set dynamic load addresses.
517
4ea94dbb
CF
5182009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
519
520 * ini.h: Use is_legacy to control setup.ini names.
521 * main.cc (set_legacy): New function.
522 (main): Call set_legacy with program name to determine if this is
523 supposed to be an installation of the legacy version of cygwin. Issue
524 a warning on attempt to install legacy on Windows NT class system.
525
84b04515
CF
5262009-12-22 Christopher Faylor <me+cygwin@cgf.cx>
527
528 * package_message (packagemessage::display): Avoid displaying a message
529 when in unattended mode.
530
4d10ec8c
CV
5312009-12-22 Corinna Vinschen <corinna@vinschen.de>
532
533 * win32.h (isdirsep): Define to replace local isslash definitions.
534 * UserSettings.cc (UserSettings::open_settings): Remove isslash.
535 Use isdirsep instead of isslash.
536 * filemanip.cc (mklongpath): Ditto.
537 * root.cc (directory_is_rootdir): Ditto.
538 * localdir.cc (LocalDirSetting::save): Avoid consecutive backslashes
539 in setup log file paths.
540 * main.cc (main): Ditto.
541
e305f965
CF
5422009-12-21 Christopher Faylor <me+cygwin@cgf.cx>
543
544 * choose.cc (ChooserPage::PlaceDialog): Put *correct* size in
545 WINDOWPLACEMENT length field.
546
26922cd2
CV
5472009-12-18 Corinna Vinschen <corinna@vinschen.de>
548
549 Throughout, revert prototypes and methods set_mtime_and_mode to
550 set_mtime and only care for the file timestamp.
551
552 Throughout, accommodate additional mode_t parameter in call to
553 io_stream::open.
554
555 * IOStreamProvider.h (IOStreamProvider::open): Add mode_t parameter.
556 * archive.cc (archive::extract_file): Reorder creation of in and tmp
557 to get the file mode from the tar archive earlier. Call io_stream::open
558 with additional mode from tar archive. Accommodate reversion to
559 set_mtime.
560 * filemanip.cc (nt_wfopen): Remove retry loop. Instead initialize
561 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
562 perms to create correct ACL on file creation. Remove subsequent call
563 to nt_sec.SetPosixPerms.
564 * io_stream.cc (io_stream::open): Take additional mode_t parameter
565 and connect through to IOStreamProvider's open.
566 * io_stream.h (io_stream::open): Add mode_t parameter.
567 * io_stream_cygfile.cc (CygFileProvider::open): Ditto.
568 (io_stream_cygfile::io_stream_cygfile): Ditto. Call nt_wfopen with
569 incoming mode_t parameter. Make sure .exe and .dll files always
570 have execute permissions set.
571 (io_stream_cygfile::set_mtime): Remove retry loop and open file with
572 just GENERIC_WRITE access.
573 * io_stream_cygfile.h (io_stream_cygfile::io_stream_cygfile): Add mode_t
574 parameter.
575 * io_stream_file.cc (FileProvider::open): Ditto.
576 (io_stream_file::io_stream_file): Ditto. Call nt_wfopen with incoming
577 mode_t parameter.
578 * io_stream_file.h (io_stream_file::io_stream_file): Add mode_t
579 parameter.
580 * io_stream_memory.h (class io_stream_memory): Remove mode member.
581 Just return 0 from get_mode.
582 * mkdir.cc (mkdir_p): Remove retry loop. Instead initialize
583 OBJECT_ATTRIBUTES with matching POSIX perms according to incoming
584 perms to create correct ACL on file creation. Remove subsequent call
585 to nt_sec.SetPosixPerms.
586 * mklink2.cc (mkcygsymlink_nt): Remove retry loop. Instead initialize
587 SECURITY_ATTRIBUTES with matching POSIX perms to create correct ACL on
588 file creation.
589 * win32.cc (NTSecurity::GetPosixPerms): New function to generate
590 POSIX ACL. Default to current owner and current primary group for
591 owner/group permissions.
592 (NTSecurity::SetPosixPerms): Let GetPosixPerms create the DACL.
593 (NTSecurity::setAdminGroup): Set groupSID to admins SID if successful.
594 (NTSecurity::setDefaultSecurity): Store user SID in ownerSID member.
595 Default groupSID to original primary group.
596 * win32.h (struct acl_t): Define here.
597 (class NTSecurity): Rename ownerSID and groupSID to cr_ownerSID and
598 cr_groupSID. Change throughout. Add members ownerSID and groupSID.
599 Declare new method GetPosixPerms.
600
7a332fb8
CV
6012009-12-17 Corinna Vinschen <corinna@vinschen.de>
602
603 * filemanip.cc (nt_wfopen): Only call nt_sec.SetPosixPerms if we have
604 WRITE_DAC access.
605 * mkdir.cc (mkdir_p): Ditto.
606
21aa9a8b
CV
6072009-12-17 Corinna Vinschen <corinna@vinschen.de>
608
609 * filemanip.cc (nt_wfopen): Fix requested access rights. Retry
610 without WRITE_DAC access on access denied. Add comment.
611 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode): Ditto.
612 * mkdir.cc (mkdir_p): Ditto.
613 * mklink2.cc (mkcygsymlink_nt): Ditto.
614
c459d893
CV
6152009-12-17 Corinna Vinschen <corinna@vinschen.de>
616
617 * localdir.cc (LocalDirSetting::save): Call mkdir_p with isadir set
618 since /var/log is a dir.
619
32049a60
CV
6202009-12-16 Corinna Vinschen <corinna@vinschen.de>
621
622 * UserSettings.cc (UserSettings::open_settings): Never add more than
623 one slash.
624 * filemanip.cc (tfx_chars): Align to Cygwin's transformation table.
625 * localdir.cc (LocalDirSetting::save): Call mkdir_p with DOS path.
626
ab9a95fc
CF
6272009-12-16 Christopher Faylor <me+cygwin@cgf.cx>
628
629 * package_message.h: New file.
630
f38044ff
CF
6312009-12-13 Christopher Faylor <me+cygwin@cgf.cx>
632
633 * IniDBBuilder.h (buildMessage): Define for base class.
634 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildMessage): Define.
635 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildMessage): Declare.
636 * PickPackageLine.cc: Pass pointer to package to "pick" throughout,
637 where appropriate.
638 * PickView.cc: Ditto.
639 * install.cc: Ditto.
640 * package_meta.cc: Ditto.
641 * prereq.cc: Ditto.
642 * package_version.cc: Ditto.
643 (packageversion::pick): Add pkg pointer as second argument. Display
644 message where appropriate.
645 * package_version.h (packageversion::pick): Add pkg pointer as second
646 argument.
647 * package_meta.h (packagemeta::mesage): Define.
648 (packagemeta::set_message): Define.
649 * inilex.ll: Properly return MESSAGE token.
650 * iniparse.yy: Handle message: keyword.
651
cc7a5bf5
DK
6522009-12-08 Dave Korn <dave.korn.cygwin@gmail.com>
653
654 * localdir.cc (offer_to_create): New function.
655 (browse_cb): Handle selection changed and validate failed
656 callbacks, and call offer_to_create where appropriate.
657 (browse): Set new dialog style flags in browser info.
658 (LocalDirPage::OnNext): Replace call to mkdir_p with offer to
659 create or error message dialog display, allow proceeding to
660 chooser even if local dir does not exist in unattend mode or
661 if user insists, and fix small memory leak.
662
663 * res.rc (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define new
664 string resources.
665 * resource.h (IDS_MAYBE_MKDIR, IDS_CANT_MKDIR, IDS_NO_CWD): Define
666 corresponding resource ID numbers.
667
a5405502
CV
6682009-12-03 Corinna Vinschen <corinna@vinschen.de>
669
670 * main.cc (WinMain): Disable running on Windows 9x. Show message box
671 instead and exit.
672
98756d2f
DK
6732009-12-03 Dave Korn <dave.korn.cygwin@gmail.com>
674
675 (ChooserPage::createListview): When nothing is found in the "All"
676 category, pass an empty static dummy category object to the PickView
677 constructor, instead of trying to dereference not-found iterator.
678
f72d5840
CV
6792009-11-23 Corinna Vinschen <corinna@vinschen.de>
680
681 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Don't try to
682 close invalid handle.
683 * io_stream_file.cc (io_stream_file::get_size): Ditto
684
e1751ab2
DK
6852009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
686
687 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Don't loop forever
688 retrying ini file download/parse if it errors in unattended mode.
689
513f7781
DK
6902009-11-22 Dave Korn <dave.korn.cygwin@gmail.com>
691
692 * package_meta.cc (CategoryOption): New StringOption for '-C'.
693 (parseNames): New helper subroutine abstracts string parsing from ...
694 (packagemeta::isManuallyWanted): Use it, and check for category names
695 from CategoryOption as well as individual package names.
696 * package_db.cc (packagedb::fillMissingCategory): Don't check for
697 manually-wanted packages until after initialising all the categories.
698
2b94fe1e
DK
6992009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
700
701 * localdir.cc (LocalDirSetting::LocalDirSetting): Restore -l option.
702
da434346
DK
7032009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
704
705 * site.cc: Add #include of BoolOption header from libgetopt.
706 (OnlySiteOption): New BoolOption for command-line -O option.
707 (get_site_list): Respect BoolOption by not downloading mirror
708 list, nor using nor updating cached mirrors.
709
c7c7a4e0
DK
7102009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
711
712 * download.cc (do_download_thread): Only retry an incomplete download
713 a limited number of times in unattended mode.
714
9e11837b
DK
7152009-11-04 Dave Korn <dave.korn.cygwin@gmail.com>
716
717 * main.cc (main_display): Use apartment-, not multi- threading model
718 when initialiseing COM.
719
64cf790e
CV
7202009-11-04 Corinna Vinschen <corinna@vinschen.de>
721
722 * localdir.cc (browse): Make title text depend on what we do.
723 (LocalDirPage::OnNext): If we plan to download, try to create directory
724 before cd'ing into it.
725
89cc2408
CV
7262009-11-03 Corinna Vinschen <corinna@vinschen.de>
727
728 * mkdir.cc: Include sys/stat.h unconditionally.
729 (mkdir_p): Add S_IFDIR flag in call to nt_sec.SetPosixPerms.
730 * win32.cc: Include sys/stat.h.
731 (NTSecurity::SetPosixPerms): Add CREATOR OWNER, CREATOR GROUP, and
732 Everyone inheritance-only entries when setting a directory DACL.
733 (NTSecurity::initialiseWellKnownSIDs): Create SIDs for CREATOR OWNER and
734 CREATOR GROUP.
735 * win32.h (class NTSecurity): Add members ownerSID and groupSID.
736
3e805913
CV
7372009-10-03 Andy Koppe <andy.koppe@gmail.com>
738
739 * main.cc (main): Make sure C runtime uses same codepage as GUI.
740
0188fce5
CF
7412009-09-20 Christopher Faylor <me+cygwin@cgf.cx>
742
743 * main (set_cout): Really do attach to a console if stdout is "bad".
744
8bc8a102
CF
7452009-09-18 Andy Koppe <andy.koppe@gmail.com>
746
747 * root.cc (string orig_root_dir): New variable.
748 (check_if_enable_next): Show warning against installing Cygwin into
749 disk root only if the root directory has actually been changed.
750 * res.rc: Make the root dir warning a bit more meaningful, and refrain
751 from using uppercase.
752
7532009-09-18 Christopher Faylor <me+cygwin@cgf.cx>
754
755 * choose.cc (ChooserPage::OnBack): Revert to non-maximized when
756 returning to mirror from package selection.
757
ca09f44c
DK
7582009-09-18 Dave Korn <dave.korn.cygwin@gmail.com>
759
760 * site.cc (get_site_list): Use empty string if user settings
761 return NULL pointer for cached mirrors list.
762 (SiteSetting::getSavedSites): Do nothing if user settings return
763 NULL pointer for last mirror URL.
764
83ab685b
CF
7652009-08-21 Christopher Faylor <me+cygwin@cgf.cx>
766
767 * site.cc (SiteSetting::registerSavedSite): Fix comment.
768
0cbac692
CF
7692009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
770
771 * main.cc (set_cout): Don't reset stdout if we already have a stdout.
772
7411af0f
CF
7732009-07-03 Christopher Faylor <me+cygwin@cgf.cx>
774
775 * choose.cc (ChooserPage::ChooserPage): Use more specific name for
776 saving window settings.
777 (ChooserPage::~ChooserPage): Ditto.
778
0baffe9a
DK
7792009-07-01 Dave Korn <dave.korn.cygwin@gmail.com>
780
781 * PickView.h (PickView::total_delta_x): New int member.
782 (PickView::set_header_column_order): Add prototype.
783 * PickView.cc (PickView::set_header_column_order): New function,
784 broken out from ...
785 (PickView::set_headers): ... here. Call it.
786 (PickView::init_headers): Apply total_delta_x to last_col width.
787 (PickView::PickView): Initialise new total_delta_x member to zero.
788 (PickView::WindowProc): Use set_header_column_order to find and
789 adjust final column for both sets of headers.
790
ca2b7505
CF
7912009-06-29 Christopher Faylor <me+cygwin@cgf.cx>
792
793 * SourceSetting.cc (SourceSetting::SourceSetting): Restore proper
794 remembrane of last source setting.
795 * choose.cc (ChooserPage::ChooserPage): Potentially retrieve dialog
796 placement info.
797 (ChooserPage::~ChooserPage): Save geometry settings if the user moved
798 or resized the page.
799 (ChooserPage::PlaceDialog): Rename from MaximizeDialog. Accommodate
800 changed user placement settings.
801 (ChooserPage::OnActivate): MaximizeDialog -> PlaceDialog.
802 (ChooserPage::OnNext): Ditto.
803 * choose.h (ChooserPage::~ChooserPage): Define.
804 (ChooserPage::cmd_show): Delete.
805 (ChooserPage::saved_geom): New field.
806 (ChooserPage::window_placement): Ditto.
807 (ChooserPage::pre_chooser_placement): Ditto.
808 (ChooserPage::PlaceDialog): Rename from MaximizeDialog.
809
7c863922
CF
8102009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
811
812 * ConnectionSetting.cc (ConnectionSetting::ConnectionSetting): Remove
813 old code which no longer makes sense when run from a constructor.
814 * SourceSetting.cc (SourceSetting::SourceSetting): Ditto.
815 * localdir.cc (LocalDirSetting::LocalDirSetting): Ditto. Fix typo
816 which caused saved settings to be ignored.
817
127febea
CF
8182009-06-28 Christopher Faylor <me+cygwin@cgf.cx>
819
820 * UserSettings.cc (UserSettings::UserSettings): settings.rc -> setup.rc.
821
e36b0f1e
CV
8222009-06-28 Corinna Vinschen <corinna@vinschen.de>
823
824 * desktop.cc (DesktopSetupPage::OnInit): Drop CoInitialize call here.
825 * main.cc (main_display): Use InitCommonControlsEx rather than
826 InitCommonControls per MSDN. Call CoInitializeEx and create IShellLink
827 instance here to workaround a problem on Windows 7. Release IShellLink
828 instance and call CoUninitialize on exit.
829 * mklink.cc (sl): Change to global variable. Drop call to
830 CoCreateInstance here. Check if sl is valid before using it.
831
f26f525f
CF
8322009-06-27 Christopher Faylor <me+cygwin@cgf.cx>
833
834 Preliminary option handling revamp.
835 Throughout, change load/save methods to constructors/destructors which
836 use new UserSettings methods. Do not inherit from UserSetting class.
837 * KeysSetting.cc (ExtraKeysSetting *ExtraKeysSetting::global): Define.
838 (ExtraKeysSetting::ExtraKeysSetting): Initialize some class members use
839 new UserSettings methods.
840 (ExtraKeysSetting::~ExtraKeysSetting): Use new UserSettings method.
841 * Makefile.am (setup_SOURCES): Eliminate UserSetting.h and
842 UserSetting.cc.
843 * UserSettings.cc: Complete rewrite. Implements new UserSettings
844 class methods.
845 * UserSettings.h: Complete rewrite. Defines new UserSettings class
846 methods.
847 * crypto.cc (ExtraKeys): Delete.
848 (add_key_from_sexpr): Use ExtraKeysSetting::instance rather than
849 ExtraKeys.
850 (verify_ini_file_sig): Ditto.
851 * io_stream.h (io_stream): Define virtual << operators.
852 * localdir.cc (localDir): Delete.
853 * main.cc: Include headers which declar new dynamically invoked
854 classes.
855 (main_display): New function. Controls order of option setting and
856 property page setup. Add new class invocations to force option setting
857 initializtion.
858 (main): Invoke new UserSettings class constructor to populate new
859 settings class. Call main_display() to do most of the setup work.
860 Call Settings.save () to save all settings.
861 * net.cc (theSetting): Delete.
862 * site.cc (SiteSetting::save): Record whether we've saved the
863 information already.
864 (get_site_list): Just use value returned from new UserSettings method
865 rather than parsing a file.
866 (SiteSetting::getSavedSites): Ditto.
867 (write_cache_list): Use UserSettings operator to store mirror cache.
868 (save_cache_file): Ditto.
869 * source.cc (theSetting): Delete.
870
871 * win32.h: gcc-4 accommodation.
872
9d0a3d8a
DK
8732009-06-26 Dave Korn <dave.korn.cygwin@gmail.com>
874
875 * res.rc (SETUP_STANDARD_DIALOG_W, SETUP_STANDARD_DIALOG_H,
876 SETUP_SMALL_DIALOG_W, SETUP_SMALL_DIALOG_H): Add constant defines
877 for dialog sizes.
878 (SETUP_STANDARD_DIALOG_DIMS, SETUP_SMALL_DIALOG_DIMS): Add helper
879 macros for (W,H) pairs of dimensions.
880 (SETUP_HEADICON_X): New global constant define.
881 (IDD_SOURCE, IDD_VIRUS, IDD_LOCAL, IDD_ROOT, IDD_SITE, IDD_NET,
882 IDD_INSTATUS, IDD_PROXY_AUTH, IDD_NET_AUTH, IDD_DESKTOP,
883 IDD_FTP_AUTH DIALOG, IDD_DROPPED): Use the above for dialog sizes,
884 horizontal rules and icon positioning.
885 (SETUP_KPCE_W): New define for radio-button size.
886 (SETUP_VIEWCAP_W, SETUP_VIEWCAP_X, SETUP_VIEW_W, SETUP_VIEW_X,
887 SETUP_EXP_X, SETUP_CURR_X, SETUP_PREV_X, SETUP_KEEP_X): Add defines
888 for right-aligned controls.
889 (SETUP_SEARCH_X, SETUP_SEARCH_W, SETUP_SEARCHTEXT_X,
890 SETUP_SEARCHTEXT_W, SETUP_CLEAR_X, SETUP_CLEAR_W): Likewise defines
891 for left-aligned controls.
892 (IDD_CHOOSE): Use all the above, and reformat with whitespace
893 between args for clarity.
894
1789ef54
CV
8952009-06-26 Corinna Vinschen <corinna@vinschen.de>
896
897 * Makefile.am (setup_LDADD): Add -lshlwapi.
898 * PickView.cc: Include shlwapi.h.
899 (PickView::setViewMode): Compare package name with search string
900 case-insensitive.
901 (PickView::insert_category): Ditto.
902
557b4e65
CV
9032009-06-26 Corinna Vinschen <corinna@vinschen.de>
904
905 * script.cc (init_run_script): Don't set $HOME to /tmp. It breaks
906 mkpasswd -c.
907
46cf12cd
CV
9082009-06-25 Corinna Vinschen <corinna@vinschen.de>
909
910 * script.cc (init_run_script): Reinstantiate accidentally removed
911 setting of sh.
912
b56d411d
CF
9132009-06-22 Christopher Faylor <me+cygwin@cgf.cx>
914
915 * script.cc (init_run_script): Revert to initializing cmd based on OS
916 type.
917
c14feb84
CV
9182009-06-22 Corinna Vinschen <corinna@vinschen.de>
919
920 * script.cc (Script::run): Start bash without -c option.
921
00fa5f6c
CF
9222009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
923
924 * threebar.cc (ThreeBarProgressPage::ins_dialog): Move variable to more
925 appropriate class.
926 (ThreeBarProgressPage::MaximizeDialog): Move function to more
927 appropriate class.
928 (ThreeBarProgressPage::OnMessageApp): Remove MaximizeDialog calls.
929 * threebar.h: Remove maximize handling.
930 * choose.cc (ChooserPage::ins_dialog): New variable.
931 (ChooserPage::MaximizeDialog): New function.
932 (ChooserPage::ChooserPage): Remove unneeded handling of nCmdShow.
933 (ChooserPage::OnActivate): Maximize chooser page via MaximizeDialog.
934 (ChooserPage::OnNext): Revert chooser page to normal before returning.
935 * main.cc (main): Don't pass cmd_show to ChooserPage.
936 * propsheet.cc (PropSheetProc): Accommodate change in class for
937 SetHwndDialog.
938
5a85457b
CF
9392009-06-20 Christopher Faylor <me+cygwin@cgf.cx>
940
941 * script.cc (shells): Delete.
942 (cmd): Just assign to "cmd.exe" since we're always running on NT now.
943 (sanitize_PATH ): New function.
944 (init_run_script): Ensure that we're only called once. Strip
945 environment of non-pertinent stuff. Call sanitize_PATH to remove
946 non-standard stuff from the PATH. Set up a few standard environment
947 variables.
948
b0bb51b4
CV
9492009-06-16 Corinna Vinschen <corinna@vinschen.de>
950
951 * mount.cc (create_install_root): Don't load mount table again.
952 (read_mounts_nt): Don't break loop, rather continue when not being
953 able to open "Cygwin" registry key.
954
ed1f007a
CF
9552009-06-03 Ralph Hempel <rhempel@bmts.com>
956
957 * source.cc: Add support for both -D and -L on the command line.
958
7cb7c06e
CV
9592009-06-03 Corinna Vinschen <corinna@vinschen.de>
960
961 * filemanip.cc (unlink): Rename from DeleteFileW. Take additional
962 parameter to indicate file type to unlink. Use in flags given to
963 NtCreateFile.
964 (DeleteFileW): Just call unlink from here with FILE_NON_DIRECTORY_FILE
965 flag.
966 (RemoveDirectoryW): Ditto with FILE_DIRECTORY_FILE flag.
967
1eb4caec
CW
9682009-05-30 Charles Wilson <cygwin@cwilson.fastmail.fm>
969
970 * script.cc (Script::run): Really start bash with --norc
971 --noprofile options.
972
b7940eb5
CV
9732009-05-13 Corinna Vinschen <corinna@vinschen.de>
974
975 * script.cc (Script::run): Start bash with --norc --noprofile options.
976
94f52d39
CV
9772009-05-13 Corinna Vinschen <corinna@vinschen.de>
978
979 * filemanip.cc (struct _FILE_RENAME_INFORMATION): Remove definition.
980 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Set
981 default permission for .exe files to 0755.
982 (io_stream_cygfile::mklink): Try to create real hardlink first. Add
983 comment.
984 * mklink2.cc (mkcyghardlink): New function to create real hardlink.
985 * mklink2.h (mkcyghardlink): Declare.
986 * mount.cc (from_fstab_line): Set got_usr_bin and got_usr_lib flags
987 if /usr/bin and /usr/lib mount points exist in /etc/fstab.
988 (add_usr_mnts): Only create mounts if corresponding got_usr_bin and
989 got_usr_lib flags are not set.
990 (read_mounts_nt): Initialize got_usr_bin and got_usr_lib to false.
991 Always call add_usr_mnts, even if from_fstab succeeded.
992 * ntdll.h: Include ddk/ntifs.h.
993
b4473ece
CV
9942009-05-12 Corinna Vinschen <corinna@vinschen.de>
995
996 * filemanip.cc (GetFileAttributesW): Add accidentally omited
997 OBJ_CASE_INSENSITIVE when creating OBJECT_ATTRIBUTES.
998 (SetFileAttributesW): Ditto.
999 (MoveFileW): Ditto.
1000 (DeleteFileW): Ditto.
1001 (RemoveDirectoryW): Ditto.
1002 (nt_wfopen): Ditto.
1003
e0fd9bd3
CF
10042009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
1005
1006 * localdir.cc (load_dialog): Choose description string based on install
1007 type.
1008 * res.rc (IDD_LOCAL_DIR): Replace static description text with
1009 IDC_LOCAL_DIR_DESC.
1010 * resource.h (IDS_LOCAL_DIR_DOWNLOAD): New string resource id.
1011 (IDS_LOCAL_DIR_INSTALL): Likewise.
1012 (IDC_LOCAL_DIR_DESC): New text control resource id.
1013
10142009-05-11 Christopher Faylor <me+cygwin@cgf.cx>
1015
1016 * main.cc (set_cout): Simplify code a little.
1017
18d74072
CV
10182009-05-11 Bryan Thrall <bryan.thrall@flightsafety.com>
1019
1020 * choose.cc (ChooserPage::OnMessageCmd): Clear search filter when
1021 clear button clicked.
1022 * res.rc (IDD_CHOOSE_DIALOG): Add IDC_CHOOSE_CLEAR_SEARCH button.
1023 * resource.h (IDC_CHOOSE_CLEAR_SEARCH): New button resource ID.
1024
6dcfeb7d
CV
10252009-05-11 Corinna Vinschen <corinna@vinschen.de>
1026
1027 * UserSettings.cc (UserSettings::settingFileForLoad): Fix local load
1028 path strings.
1029 (UserSettings::settingFileForSave): Never store in cwd.
1030 * autoload.c (ntdll): Autoload ntdll.dll functions here.
1031 * desktop.cc (make_cygwin_bat): Use GetFileAttributesW rather than
1032 _waccess. Use nt_wfopen instead of _wfopen.
1033 (save_icon): Ditto.
1034 * filemanip.cc (get_file_size): Call io_stream::open with empty mode
1035 string to avoid opening file twice.
1036 (GetFileAttributesW): New function to replace Win32 function with
1037 equivalent function opening files with backup intent.
1038 (SetFileAttributesW): Ditto.
1039 (MoveFileW): Ditto.
1040 (DeleteFileW): Ditto.
1041 (RemoveDirectoryW): Ditto.
1042 (nt_wfopen): New function to replace _wfopen with equivalent function
1043 opening files with backup intent.
1044 * filemanip.h (nt_wfopen): Declare.
1045 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Initalize
1046 lasterr to 0. Allow empty mode and don't open file, if so. Call
1047 nt_wfopen rather than _wfopen.
1048 (io_stream_cygfile::exists): Use GetFileAttributesW rather than
1049 _waccess.
1050 (io_stream_cygfile::get_size): Use CreateFileW/GetFileSize to get
1051 file size on NT.
1052 * io_stream_file.cc (io_stream_file::io_stream_file): Initalize lasterr
1053 to 0. Allow empty mode and don't open file, if so. Call nt_wfopen
1054 rather than _wfopen.
1055 (io_stream_file::exists): Use GetFileAttributesW rather than _waccess.
1056 (io_stream_file::remove): Don't try to remove non-existant file.
1057 (io_stream_file::get_size): Use CreateFileW/GetFileSize to get
1058 file size on NT. Add comment to keep track of 2GB border.
1059 * mkdir.cc: Remove function pointers for ntdll functions.
1060 (init_ntfuncs): Remove function.
1061 (mkdir_p): Drop call to init_ntfuncs. Call ntdll functions directly
1062 rather than over local function pointers.
1063 * ntdll.h: New file.
1064 * postinstall.cc (do_postinstall_reflector): Switch to admins group
ca2b7505 1065 as primary group after postinstall scripts have been written.
6dcfeb7d
CV
1066 Explain why.
1067 (do_postinstall): Add comment.
1068 * res.rc: Bump copyright date.
1069 * win32.h (class TokenGroupCollection): Remove.
1070 * win32.cc (TokenGroupCollection::populate): Remove.
1071 (TokenGroupCollection::find): Remove.
1072 (NTSecurity::setDefaultSecurity): Drop reading token groups. Just
1073 try to switch to admins group as primary group.
1074
4b47445f
CV
10752009-05-07 Corinna Vinschen <corinna@vinschen.de>
1076
1077 * package_db.cc (ConnectedLoopFinder::doIt): Revert patch from
1078 2008-08-29. Add dumb hardcoded algorithm to make sure base-cygwin
1079 and base-passwd are always the first packages in the postinstall
1080 executable order.
1081
8752dea2
CV
10822009-05-06 Corinna Vinschen <corinna@vinschen.de>
1083
1084 * install.cc (Installer::StandardDirs): Add /home with 1777 perms.
1085 * main.cc (main): Drop setting $CYGWIN to nontsec.
1086
059906b3
DK
10872009-04-24 Andrew Punch <andrew@magneticbooks.com.au>
1088
1089 * PickView.h: Add #include <string>.
1090 (PickView::SetPackageFilter): Add new function.
1091 (PickView::packageFilterString): Add new string data member.
1092 * PickView.cc (PickView::setViewMode): Use it to filter names.
1093 (PickView::insert_category): Likewise.
1094 (PickView::PickView): Initialise packageFilterString to blank.
1095 * res.rc (IDD_CHOOSE): Add IDC_CHOOSE_SEARCH_EDIT and
1096 IDC_CHOOSE_SEARCH_LABEL controls.
1097 (IDS_SEARCH_TOOLTIP): Add new string resource.
1098 * resource.h (IDS_SEARCH_TOOLTIP): New string resource ID.
1099 (IDC_CHOOSE_SEARCH_EDIT): New edit control ID.
1100 (IDC_CHOOSE_SEARCH_LABEL): Mew static text control ID.
1101 * choose.cc (ChooserControlsInfo[]): Add IDC_CHOOSE_SEARCH_LABEL
1102 and IDC_CHOOSE_SEARCH_EDIT controls to auto-resize list.
1103 (ChooserPage::OnInit): Add tooltip to search edit box.
1104 (ChooserPage::OnMessageCmd): Handle EN_CHANGE event from
1105 IDC_CHOOSE_SEARCH_EDIT.
1106
6bfd5236
DK
11072009-04-24 Dave Korn <dave.korn.cygwin@gmail.com>
1108
1109 * propsheet.cc (PropSheetWndProc): Re-enable hasMinRect.
1110
d29a864d
CV
11112009-04-23 Corinna Vinschen <corinna@vinschen.de>
1112
1113 * win32.h (NTSecurity::primaryGroupSID): Convert to a structure for
1114 direct usage in GetTokenInformation.
1115 (NTSecurity::osid): Remove.
1116 (NTSecurity::setAdminGroup): Declare.
1117 * win32.cc (NTSecurity::resetPrimaryGroup): Accommodate change to
1118 primaryGroupSID. Add log output.
1119 (NTSecurity::setAdminGroup): New method.
1120 (NTSecurity::setDefaultSecurity): Use local structures for getting
1121 TOKEN_USER and setting TOKEN_OWNER information. Accommodate change to
1122 primaryGroupSID. Slightly enhance log output.
1123 Only set primary group to Administrators group when installing for
1124 all users. Call setAdminGroup to do it.
1125
770e3aed
CV
11262009-04-22 Corinna Vinschen <corinna@vinschen.de>
1127
1128 * mklink2.cc (mkcygsymlink_nt): Allow 4K chars in symlink. Use strncat
1129 rather than strcat.
1130 * postinstall.cc (do_postinstall): Reset user token to original
1131 primary group.
d29a864d 1132 * win32.cc (NTSecurity::resetPrimaryGroup): New method.
770e3aed
CV
1133 (NTSecurity::setDefaultSecurity): Store original primary group in
1134 new NTSecurity member primaryGroupSID. Set primary group in user token
1135 to Administrators group for admin users. Align comment.
1136 * win32.h (class NTSecurity): Add member primaryGroupSID.
1137 (NTSecurity::resetPrimaryGroup): Declare.
1138
a03b43ad
CF
11392009-04-09 Christopher Faylor <me+cygwin@cgf.cx>
1140
1141 * main.cc (set_cout): Load AttachConsole dynamically to avoid using it
1142 on older Windows which don't support it.
1143
c8356810
CF
11442009-03-21 Christopher Faylor <me+cygwin@cgf.cx>
1145
1146 * LogFile.cc (LogFile::endEntry): Output messages to stdout.
1147 * main.cc (set_cout): New function. Sets stdout to console if one
1148 exists.
1149 (main): Redirect stdout to console if unattended_mode or help option is
1150 specified and no stdout is available.
1151
11522009-03-21 Terry Fleming <terrynfleming@gmail.com>
1153 Christopher Faylor <me+cygwin@cgf.cx>
1154
1155 * propsheet.cc (PropSheetWndProc): Detect a Window closing event and
1156 issue an "Are you sure" message.
1157
a2488a3c
CV
11582008-08-29 Corinna Vinschen <corinna@vinschen.de>
1159
1160 * package_db.cc (ConnectedLoopFinder::doIt): Add code to get a basic
1161 order into the dependency list. Add comment to explain why.
1162
ef3be327
BD
11632008-08-22 Brian Dessent <brian@dessent.net>
1164
1165 * KeysSetting.cc: Include string.h for memcpy et al.
1166 * filemanip.cc: Include stdlib.h for for mbstowcs.
1167 * io_stream_cygfile.h: Update cygmkdir_p prototype for mode_t.
1168 * mount.cc (conv_fstab_spaces): Silence gcc 4.3 warning ("parentheses
1169 around assignment used as truth value").
1170
e0a4fb63
CV
11712008-08-20 Corinna Vinschen <corinna@vinschen.de>
1172
1173 * install.cc (Installer::StandardDirs): Additionally create /var/log
1174 dir. Set mode of /var/log and /var/run to 01777.
1175 * localdir.cc (LocalDirSetting::save): Create /var/log with 01777
1176 permissions before creating setup.log files.
1177
be617b59
CV
11782008-08-20 Corinna Vinschen <corinna@vinschen.de>
1179
1180 * io_stream_cygfile.cc (io_stream_cygfile::set_mtime_and_mode):
1181 Accommodate SetPosixPerms being method of nt_sec.
1182 * mkdir.cc (mkdir_p): Ditto.
1183 * mklink2.cc (mkcygsymlink_nt): Ditto.
1184 * win32.cc: Slightly rearrange.
1185 (NTSecurity::SetPosixPerms): Make SetPosixPerms method of NTSecurity
1186 rather than stand-alone function. Remove dynamic allocation for
1187 security descriptors in favor of static allocation. Drop out
1188 preliminary if well-known SIDs are not initialized. Slightly change
1189 and rearrange comments. Add creating NULL SID ACE for special
1190 permissions.
1191 (NTSecurity::initialiseWellKnownSIDs): New function, replacing
1192 NTSecurity::initialiseEveryOneSID. Initialize all well-known SIDs
1193 here. Set wellKnownSIDsinitialized to true on success.
1194 (NTSecurity::setDefaultDACL): Don't call initialiseEveryOneSID. Change
1195 comment. Drop setting failed. Don't open process token here.
1196 (NTSecurity::setBackupPrivileges): New function.
1197 (NTSecurity::setDefaultSecurity): Call initialiseWellKnownSIDs.
1198 Open process token here. Disable setting primary group. Add comment
1199 to explain why.
1200 * win32.h (SetPosixPerms): Move to NTSecurity.
1201 (class NTSecurity): Add SetPosixPerms method. Make all SIDs private
1202 again. Make NoteFailedAPI private. Add setBackupPrivileges method.
1203 Rename usid to UsersSID. Remove failed method and _failed member.
1204 Add wellKnownSIDsinitialized accessors and _wellKnownSIDsinitialized
1205 member.
1206
b41c2908
CV
12072008-08-19 Corinna Vinschen <corinna@vinschen.de>
1208
1209 * install.cc (struct std_dirs_t): New type.
1210 (class Installer): Change type of StandardDirs to std_dirs_t.
1211 (Installer::StandardDirs): Store filename and mode.
1212 (do_install_thread): Call io_stream::mkpath_p with name and mode from
1213 Installer::StandardDirs.
1214 * main.cc (main): Call setDefaultSecurity on global nt_sec.
1215 * IOStreamProvider.h (IOStreamProvider::mkdir_p): Add mode parameter.
1216 * LogFile.cc (LogFile::log_save): Call io_stream::mkpath_p with 0755
1217 mode.
1218 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
1219 * desktop.cc (make_link): Ditto.
1220 * download.cc (download_one): Ditto.
1221 * ini.cc (do_remote_ini): Ditto.
1222 (do_ini_thread): Ditto.
1223 * package_db.cc (packagedb::flush): Ditto.
1224 * archive.cc (archive::extract_file): Ditto. Call set_mtime_and_mode
1225 with mode from archive. Add code to handle directory permissions as
1226 well.
1227 * archive_tar.cc (archive_tar::get_mtime): Return time_t. Reformat.
1228 (archive_tar::get_mode): New method.
1229 * archive_tar.h (class archive_tar_file): Fix prototypes. Replace
1230 prototype for set_mtime with prototype for set_mtime_and_mode.
1231 (class archive_tar): Ditto.
1232 * archive_tar_file.cc (archive_tar_file::get_mtime): Return time_t.
1233 (archive_tar_file::get_mode): New method returning mode from tar header.
1234 * compress_bz.cc (compress_bz::set_mtime_and_mode): Replace set_mtime.
1235 (compress_bz::get_mtime): Return time_t.
1236 (compress_bz::get_mode): New function.
1237 * compress_gz.cc: Ditto.
1238 * compress_lzma.cc: Ditto.
1239 * io_stream.cc (io_stream::mkpath_p): Take additional file mode.
1240 Call mkdir_p with additional file mode.
1241 * io_stream_cygfile.cc (CygFileProvider::mkdir_p): Take additional file
1242 mode.
1243 (cygmkdir_p): Ditto. Call mkdir_p with additional file mode.
1244 (io_stream_cygfile::set_mtime_and_mode): Replace set_mtime. Call
1245 SetPosixPerms.
1246 * io_stream_file.cc (FileProvider::mkdir_p): Take additional file mode.
1247 (io_stream_file::set_mtime_and_mode): Replace set_mtime.
1248 * mkdir.cc (init_ntfuncs): New function to initialize function pointers
1249 from ntdll.dll.
1250 (mkdir_p): Take additional file mode. On NT, use NT functions to create
1251 directory. Call SetPosixPerms.
1252 * compress_bz.h: Change prototypes accordingly.
1253 * compress_gz.h: Ditto.
1254 * compress_lzma.h: Ditto.
1255 * io_stream.h: Ditto.
1256 * io_stream_cygfile.h: Ditto.
1257 * io_stream_file.h: Ditto.
1258 * io_stream_memory.h: Ditto.
1259 * mkdir.h: Ditto.
1260 * mklink2.cc (mkcygsymlink_nt): Open file with STANDARD_RIGHTS_ALL
1261 access and FILE_FLAG_BACKUP_SEMANTICS flag. Call SetPosixPerms.
1262 * mount.cc (from_fstab): Open file with FILE_FLAG_BACKUP_SEMANTICS.
1263 * script.cc (OutputLog::OutputLog): Call io_stream::mkpath_p with 0755
1264 mode. Open file with FILE_FLAG_BACKUP_SEMANTICS.
1265 * win32.cc (SetPosixPerms): New function to set POSIX-like permissions.
1266 (nt_sec): New global NTSecurity variable.
1267 (NTSecurity::setDefaultDACL): Open token with TOKEN_ADJUST_PRIVILEGES.
1268 (NTSecurity::setDefaultSecurity): Enable SE_BACKUP_NAME and
1269 SE_RESTORE_NAME privileges if available.
1270 * win32.h (SetPosixPerms): Add prototype.
1271 (class NTSecurity): Make everyOneSID and administratorsSID public.
1272 (nt_sec): Declare.
1273
65288dc7
CV
12742008-08-14 Corinna Vinschen <corinna@vinschen.de>
1275
1276 * mount.cc (unconvert_slashes): New inline function.
1277 (skip_ws): New inline function.
1278 (find_ws): New inline function.
1279 (conv_fstab_spaces): New inline function.
1280 (from_fstab_line): New function to read single line from fstab file.
1281 (from_fstab): New function to read /etc/fstab file and fill mount
1282 table.
1283 (read_mounts_nt): Call from_fstab after getting setup/rootdir from
1284 registry. Only call add_usr_mnts if no fstab file found.
1285
1ae1adf7
CV
12862008-08-13 Corinna Vinschen <corinna@vinschen.de>
1287
1288 * install.cc (Installer::installOne): Skip 46 bytes type tar package
1289 silently.
1290
53d33c5d
CV
12912008-08-13 Corinna Vinschen <corinna@vinschen.de>
1292
1293 * install.cc (Installer::installOne): Use MoveFileExW on NT. Special
1294 case for bug in Windows 2000.
1295 * package_meta.cc (packagemeta::uninstall): Use wide char file functions
1296 on NT.
1297 * win32.h (VersionInfo::major): New method.
1298 (VersionInfo::minor): New method.
1299 (OSMajorVersion): Define.
1300 (OSMinorVersion): Define.
1301
2f0315ad
CV
13022008-08-12 Corinna Vinschen <corinna@vinschen.de>
1303
1304 Revamp for Cygwin 1.7.
1305 * desktop.cc (make_cygwin_bat): Use wide char file functions on NT.
1306 (save_icon): Ditto.
1307 * filemanip.cc (tfx_chars): New char table for wide char transformation
1308 of reserved FS chars to UNICODE private use area.
1309 (transform_chars): New static function.
1310 (mklongpath): New function to convert multibyte path to wide char
1311 path with long path prefix.
1312 * filemanip.h (mklongpath): Declare.
1313 * ini.h (SETUP_INI_FILENAME): Use setup.ini filenames as defined in
1314 real life (setup-2.ini/setup.ini).
1315 (SETUP_BZ2_FILENAME): Ditto.
1316 * install.cc (do_install_thread): Don't create registry mount points
1317 on NT, rather create setup/rootdir entry.
1318 * io_stream_cygfile.cc: Throughout use wide char file functions on NT.
1319 (io_stream_cygfile::w_str): New method to create wide char path.
1320 * io_stream_cygfile.h (class io_stream_cygfile): Remove lmode member.
1321 Add wname member and w_str method.
1322 * io_stream_file.cc: Throughout use wide char file functions on NT.
1323 (io_stream_file::w_str): New method to create wide char path.
1324 * io_stream_file.h (class io_stream_file): Remove lmode member.
1325 Add wname member and w_str method.
1326 * mkdir.cc (mkdir_p): Use wide char file functions on NT.
1327 * mklink2.cc (mkcygsymlink_9x): Rename from mkcygsymlink. Make static.
1328 (mkcygsymlink_nt): New static function.
1329 (mkcygsymlink): Just call mkcygsymlink_9x or mkcygsymlink_nt dependent
1330 on OS.
1331 * mount.cc (CYGWIN_INFO_CYGWIN_SETUP_REGISTRY_NAME): Define.
1332 (remove1): Move to earlier point in file to avoid declaration.
1333 (remove_mount): Ditto. Make static.
1334 (create_install_root): New function to create setup/rootdir registry
1335 value on NT.
1336 (read_mounts_9x): Rename from read_mounts. Make static. Conditionalize
1337 for OS.
1338 (add_usr_mnts): New static function.
1339 (read_mounts_nt): Ditto, to read mounts on NT.
1340 (read_mounts): Just call read_mounts_nt or read_mounts_9x dependent on
1341 OS.
1342 (set_root_dir): On NT, call read_mounts.
1343 (cygpath): Only add slash for non-root mount to avoid multiple slashes
1344 in resulting path (invalid in long path names).
1345 * mount.h (find_mount): Drop declaration.
1346 (remove_mount): Ditto.
1347 (create_install_root): Add declaration.
1348 (read_mounts): Accommodate new parameter.
1349 * package_db.cc (chosen_db_task): New global variable.
1350 * package_db.h (chosen_db_task): Declare.
1351 * root.cc (check_if_enable_next): Don't use get_root_dir here to
1352 avoid having to call save_dialog in RootPage::OnMessageCmd.
1353 (GetDlgItemRect): New static inline function.
1354 (SetDlgItemRect): Ditto.
1355 (load_dialog): On NT, stretch "Install For" block to full dialog width
1356 and hide "Default Text File Type" block.
1357 (save_dialog): On NT set root_text always to IDC_ROOT_BINARY.
1358 (RootPage::OnMessageCmd): Remove call to save_dialog.
1359 (RootPage::OnNext): Initialize packagedb here the first time, to
1360 avoid fetching wrong data from different previous installation.
1361 * source.cc (save_dialog): Don't initialize packagedb here, rather
1362 just memorize setting in chosen_db_task for the deferred initialization
1363 in RootPage::OnNext.
1364
0407753c
DK
13652008-08-07 Dave Korn <dave.korn.cygwin@gmail.com>
1366
1367 Implement command-line selection of packages to install and make
1368 unattended mode deal with any dialogs that might arise. A joint
1369 effort synthesized from contributions by:
1370
1371 Dr. Frank Lee <rl201@cam.ac.uk>
1372 Bryan Thrall <bryan.thrall@flightsafety.com>
1373 Kohsuke Kawaguchi <kk@kohsuke.org>
1374 Dave Korn <dave.korn.cygwin@gmail.com>
1375
1376 * install.cc (rebootneeded): Don't define statically here.
1377 (do_install_thread): Let exit_msg reflect rebootneeded.
1378 * main.cc (main): If rebootneeded, log it when exiting.
1379 * msg.cc (mbox): In unattended_mode, choose and log default answer.
1380 * package_db.cc (packagedb::fillMissingCategory): Iterate over all
1381 packages adding those selected by packagemeta::isManuallyWanted to
1382 base category so that command-line selections are installed.
1383 * package_meta.cc (PackageOption): Add new StringOption to allow
1384 command-line selection of packages to add to base install.
1385 (packagemeta::isManuallyWanted): New function tests if package was
1386 selected on command-line.
ca2b7505 1387 (packagemeta::addToCategoryBase): New function adds package to
0407753c
DK
1388 "base" category.
1389 * state.cc (rebootneeded): Define here non-static.
1390 * state.h (rebootneeded): Declare here with extern linkage.
1391 * threebar.cc (ThreeBarProgressPage::MaximizeDialog): Don't change
1392 size when running in unattended mode.
1393
da60e4b2
CF
13942008-08-05 Christopher Faylor <me+cygwin@cgf.cx>
1395
1396 * UserSettings.cc (UserSettings::settingFileForLoad): Look locally for
1397 settings before looking outside of current directory.
1398 * choose.cc (ChooserPage::ChooserPage): Record the property sheet's
1399 current show state via new passed in parameter.
1400 * choose.h (ChooserPage::ChooserPage): Reflect change in argument list.
1401 (ChooserPage::nCmdShow): Define new element.
1402 * main.cc (main): Send current show state to Chooser.
1403 * package_version.cc (packageversion::set_requirements): Increase
1404 recursion check from 5 to 30.
1405 * propsheet.cc (PropSheetWndProc): Register hwndDlg with
1406 ThreeBarProgressPage.
1407 * threebar.cc (ControlAdjuster::ControlInfo): Initialize cmd_show_set.
1408 (ThreeBarProgressPage::MaximizeDialog): New function.
1409 (ThreeBarProgressPage::OnMessageApp): Call MaximizeDialog to maximize
1410 package selection screen and restore when done.
1411 * threebar.h (ThreeBarProgressPage::MaximizeDialog): Declare function.
1412 (ThreeBarProgressPage::cmd_show_set): Declare variable.
1413 (ThreeBarProgressPage::cmd_show): Declare variable.
1414 (ThreeBarProgressPage::ins_dialog): Declare variable.
1415 (ThreeBarProgressPage::SetHwndDialog): Define function.
1416
5bb88929
CW
14172008-07-22 Charles Wilson <cygwin@cwilson.fastmail.fm>
1418
1419 Add support for .tar.lzma files (decompress only).
1420
1421 * Makefile.am: Add new files.
1422 * compress.cc (compress::decompress): add support
1423 for compress_lzma.
1424 * compress_lzma.h: new file.
1425 * compress_lzma.cc: new file.
1426 * filemanip.cc (find_tar_ext): add support for
1427 .tar.lzma files.
1428 * install.cc (Installer::installOne): update comments.
1429 * lzma-sdk/LzmaDec.h: new file.
1430 * lzma-sdk/LzmaDec.c: new file.
1431 * lzma-sdk/Types.h: new file.
1432
5bc84ff1
CW
14332008-07-08 Charles Wilson <cygwin@cwilson.fastmail.fm>
1434
1435 * compress.cc (compress::decompress): clean up concrete
1436 decompressor objects on failure -- but in that case, do
1437 NOT destroy original io_stream.
1438 * compress_bz.h (compress_bz::release_original): new method.
1439 (owns_original): new member variable.
1440 * compress_bz.cc (compress_bz::release_original): new method.
1441 (compress_bz::compress_bz): take ownership of parent by default.
ca2b7505 1442 (compress_bz::~compress_bz): only delete original if
5bc84ff1
CW
1443 owns_original is true.
1444 * compress_gz.h (compress_gz::release_original): new method.
1445 (owns_original): new member variable.
1446 * compress_gz.cc (compress_gz::release_original): new method.
1447 (compress_gz::construct): take ownership of parent by default.
ca2b7505 1448 (compress_gz::~compress_gz): only delete original if
5bc84ff1
CW
1449 owns_original is true.
1450
fe25359c
DK
14512008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
1452
1453 * configure.in, gpg-error-config-fake: Revert previous removal.
1454
586f2b08
DK
14552008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
1456
1457 * net.cc: Correct stray CRLF.
1458
8f016701
DK
14592008-06-25 Dave Korn <dave.korn.cygwin@gmail.com>
1460
1461 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Remove nasty hack.
1462 * gpg-error-config-fake: Delete file obsoleted by de-hackification.
1463
1cc1fad4
CF
14642008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
1465
1466 * configure.in: Disable shared library builds.
1467
be6622c0
CF
14682008-06-24 Christopher Faylor <me+cygwin@cgf.cx>
1469
1470 * Makefile.am: Make and install libraries into common location and use
1471 them from there.
1472 * configure.in: Find gpg-error-config in the libgpg-error/src
1473 subdirectory rather than using the host system's version. Set the
1474 prefix and exec_prefix to a common location for the subdirs so that
1475 useful files will be installed in a common location.
1476
dbfe3c19
DK
14772008-06-22 Dave Korn <dave.korn.cygwin@gmail.com>
1478
be6622c0
CF
1479 Merged across diffs between setup_crypto_branch_branchpoint and
1480 setup_crypto_branch_mergepoint2 from setup_crypto_branch.
dbfe3c19
DK
1481
1482 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
1483 KeysSetting.h, gpg-error-config-fake, cygwin.pub, cyg-pubkey.h,
be6622c0 1484 gpg-key-to-s-expr.sh: New files.
dbfe3c19 1485 * ini.cc, ini.h, resource.h, res.rc, netio.cc, Makefile.am,
be6622c0 1486 configure.ac, libgetopt++/src/OptionSet.cc: Modified files.
dbfe3c19 1487
a127a91e 14882008-06-21 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19 1489
ca2b7505 1490 * ini.cc (do_remote_ini): Revert misbegotten removal of
dbfe3c19
DK
1491 not-always-superfluous-after-all added slash in URLs.
1492
a127a91e 14932008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1494
1495 * gpg-packet.h (GPG_KEY_SEXPR_BUF_SIZE): Move from here ...
1496 * crypto.h (GPG_KEY_SEXPR_BUF_SIZE): ... to here.
1497 (GPG_KEY_MAX_COEFF_SIZE): Add related definition.
1498
a127a91e 14992008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1500
1501 * gpg-packet.cc (walk_packets_1): Check packet length field is
1502 valid sane and possible to avoid malicious manipulation.
1503 * ChangeLog: Corrected date on previous commit.
1504
a127a91e 15052008-06-18 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19 1506
ca2b7505 1507 * crypto.cc (add_key_from_sexpr): Use real buffer size, not debug
dbfe3c19
DK
1508 constant size.
1509
a127a91e 15102008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1511
1512 * crypto.cc (verify_ini_file_sig): Actually set init-once flag!
1513
a127a91e 15142008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1515
1516 * crypto.cc (KeepUntrustedKeysOption): Fix helpstring punctuation.
1517
a127a91e 15182008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1519
1520 * crypto.cc (verify_ini_file_sig): Fix two minor logic errors.
1521
a127a91e 15222008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1523
1524 * ini.h (current_ini_sig_name): Declare extern.
1525 * ini.cc (current_ini_sig_name): New variable.
1526 (NoVerifyOption): New boolean option.
1527 (do_remote_ini): If sig verification not disabled, attempt to
1528 download the matching sig file for any setup.bz2 or setup.ini
1529 and use it to verify or discard the download.
1530
a127a91e 15312008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1532
1533 * resource.h (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Reserve IDs for
1534 two new message strings.
1535 * res.rc (IDS_SIG_INVALID, IDS_CRYPTO_ERROR): Define the text.
1536
a127a91e 15372008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1538
1539 * Makefile.am (setup_SOURCES): Add new files crypto.cc, crypto.h,
1540 cyg-pubkey.h, gpg-packet.cc, gpg-packet.h. KeysSetting.cc and
1541 KeysSetting.h to the build.
1542 * crypto.cc, crypto.h, gpg-packet.cc, gpg-packet.h, KeysSetting.cc,
1543 KeysSetting.h: New files. Adds gpg sig verification support.
1544
a127a91e 15452008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1546
1547 * Makefile.am (DIST_SUBDIRS, SUBDIRS): Add libgpg-error and
1548 libgcrypt subdirs.
1549 (AM_CPPFLAGS): Add -I paths to generated headers in both and to
1550 shipped headers in libgcrypt.
1551 (setup_LDADD): Add libgpg-error.a and libgcrypt.a to final link.
1552
1553 * configure.in (ac_cv_path_GPG_ERROR_CONFIG): Preload into cache
1554 to fake out libgcrypt configure process.
1555 (AC_CONFIG_SUBDIRS): Add libgpg-error/ and libgcrypt/
1556
1557 * gpg-error-config-fake: New shell script to redirect libgcrypt
1558 sub-configure into looking for newly-built libgpg-error.
1559
a127a91e 15602008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1561
1562 * setup/libgpg-error/: Fresh import of upstream sources of
1563 libgpg-error-1.6.tar.bz2 from http://www.gnupg.org/
1564 * setup/libgcrypt/: Fresh import of upstream sources of
1565 libgcrypt-1.4.1.tar.bz2 from http://www.gnupg.org/
1566
a127a91e 15672008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1568
1569 * netio.cc (NetIO::set_url): Avoid double-free bug on delete
1570 by setting path to a strdup of url rather than using the same
1571 pointer value twice.
1572
a127a91e 15732008-06-16 Dave Korn <dave.korn.cygwin@gmail.com>
dbfe3c19
DK
1574
1575 * cygwin.pub: Add reference copy of Cygwin setup signing key.
1576 * gpg-key-to-s-expr.sh: New bash script. Outputs textual
1577 representation of public key in s-expr format.
1578 * cyg-pubkey.h: New header generated by the above from Cygwin
1579 setup signing key. Currently needs manual regeneration if key
1580 ever updated.
1581
2cae901b
BD
15822008-04-16 Brian Dessent <brian@dessent.net>
1583
1584 * mount.cc: Include malloc.h.
1585 (is_admin): Use alloca instead of a VLA in case
1586 GetTokenInformation is sensitive to alignment.
1587
784414bf
BD
15882008-04-15 Brian Dessent <brian@dessent.net>
1589
1590 * mount.cc (is_admin): Get explicit size of required buffer by
1591 calling GetTokenInformation first with NULL.
1592
9d44d4f7
BD
15932008-04-10 Brian Dessent <brian@dessent.net>
1594
1595 * Makefile.am (setup_LDFLAGS): Make sure static libbz2 and zlib
1596 are used.
1597
1db74bf0
BD
15982008-04-09 Brian Dessent <brian@dessent.net>
1599
1600 * README: flex and bison are required when building from CVS.
1601
09aa7d89
BD
16022008-04-08 Brian Dessent <brian@dessent.net>
1603
1604 * Makefile.am (snapshot): Provide default value of ${cygwinsite}
1605 if not set.
1606
60dfa7aa
BD
16072008-04-08 Brian Dessent <brian@dessent.net>
1608
1609 * Makefile.am (release): Use -f so that "make release" works
1610 when existing binaries of the same name exist.
1611
33ef69a7
BD
16122008-04-08 Brian Dessent <brian@dessent.net>
1613
1614 * res.rc (IDD_SPLASH): Update copyright years on splash page.
1615
51325df5
BD
16162008-04-08 Brian Dessent <brian@dessent.net>
1617
1618 * CHANGES: Update.
1619 * install.cc (Installer::installOne): Cope with compressed
1620 0-byte dummy packages. Fix progress bar update bug introduced
1621 in earlier refactoring.
1622
2e0aaec9
BD
16232008-04-08 Brian Dessent <brian@dessent.net>
1624
1625 * CHANGES: Update.
1626
16272008-04-08 Brian Dessent <brian@dessent.net>
1628
1629 Various warning/header cleanups necessary for clean gcc 4.3 build.
1630 * ConnectionSetting.cc: Include stdlib.h.
1631 * LogFile.cc: Ditto.
1632 * Makefile.am: Don't hardcode paths to MinGW libz and libbz2.
1633 * PickView.cc: Include limits.h.
1634 * String++.cc: Include string.h.
1635 * archive_tar.cc (archive_tar::next_file_name): Silence nested-if
1636 warning.
1637 * autoload.c: Switch back to .text section before emiting
1638 autoload_common.
1639 * choose.cc: Include stdlib.h and algorithm.
1640 * compress_gz.cc: Include memory.h and malloc.h.
1641 * filemanip.cc: Include string.h.
1642 (parse_filename): Silence nested-if warning.
1643 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Silence warning.
1644 * package_db.cc: Include algorithm.
1645 * site.cc (get_site_list): Silence warning.
1646 * win32.cc: Include memory.
1647 * csu_util/MD5Sum.cc: Include string.h.
1648
d0355815 16492008-03-02 Dave Korn <dave.korn@artimi.com>
4e6c8d9e 1650
d0355815 1651 * install.cc (Installer::installOne): Accept new HWND argument
4e6c8d9e
DK
1652 from caller and pass it to MessageBox calls so that MB_TASKMODAL
1653 can work.
1654 (check_for_old_cygwin): Likewise.
1655 (do_install_thread): Pass owner's HWND (from thread context) when
1656 calling them.
1657
84ea7bd6
DK
16582008-02-23 Dave Korn <dave.korn@artimi.com>
1659
1660 * cygpackage.cc (cygpackage::getfirstfile): Guard against trying to
1661 construct std::string from NULL returned by io_stream::gets when the
1662 stream decompressor fails on a corrupt *.lst.gz file.
1663
22ade75c
DK
16642008-02-21 Dave Korn <dave.korn@artimi.com>
1665
1666 * geturl.cc (progress): Correct SI unit notation.
1667
b612bff1
DK
16682008-02-01 Vincent Privat <vincent.privat@gmail.com>
1669
1670 * net.cc (OnInit): New StringOption (ProxyOption)
1671 This new option (-p) allows to call setup.exe with a proxy
1672 in its command-line arguments.
1673
a81fbc25
BD
16742007-07-31 Brian Dessent <brian@dessent.net>
1675
1676 * ini.cc (do_remote_ini): Fix crash due to double free of ini_file.
1677
92ef6cf8
BD
16782007-07-30 Brian Dessent <brian@dessent.net>
1679
1680 * CHANGES: Update.
1681 * configure.in (AM_INIT_AUTOMAKE): Enable more automake warnings.
1682 * Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
1683 (CLEANFILES): Add. Minor portability tweaks.
1684 * tests/Makefile.am (INCLUDES): Use AM_CPPFLAGS instead.
1685 * archive.cc (archive::extract): Try to be more compatible when
1686 opening tar files.
1687 * compress_bz.cc: Fix whitespace throughout.
1688 (compress_bz::~compress_bz): Ensure that underlying io_stream's dtor is
1689 also run.
1690 * install.cc (Installer::installOne): Refactor.
1691 * package_db.cc (ConnectedLoopFinder::doIt): Move some log spewage into
1692 setup.log.full from setup.log.
1693 (packagedb::connectedBegin): Ditto. Consolidate log output to one line.
1694
0a0203db
BD
16952007-07-02 Brian Dessent <brian@dessent.net>
1696
1697 * CHANGES: Update.
1698
475ee6a3
BD
16992007-06-26 Brian Dessent <brian@dessent.net>
1700
1701 * Makefile.am (release): Drop inconsistent use of $(EXEEXT). Leave an
1702 untouched copy of setup.exe so that later make invocations don't
1703 unnecessarily rebuild it.
1704 (snapshot): Fix typo.
1705 * install.cc (md5_one): Don't try to check packages whose
1706 pkgsource.Cached () is NULL, as with those whose download failed.
1707
12dea33a
BD
17082007-06-26 Brian Dessent <brian@dessent.net>
1709
1710 * CHANGES: Update to reflect release branch.
1711
17122007-06-26 Brian Dessent <brian@dessent.net>
812cdd92
BD
1713
1714 * CHANGES: Make current.
1715
feee2f2b
BD
17162007-05-30 Brian Dessent <brian@dessent.net>
1717
1718 * find.h (class Find): Make _start_dir non-const.
1719 * find.cc (Find::Find): Append a trailing slash to _start_dir only if
1720 it does not already contain one.
1721 (Find::accept): Use the previously stored value of _start_dir rather
1722 than unconditionally appending a slash.
1723
b941c8be
BD
17242007-05-29 Brian Dessent <brian@dessent.net>
1725
1726 * Makefile.am: No need to specify the default value of --preprocessor
1727 to windres. Rework the automatic version extraction rules so that the
1728 source tarball is generated with the proper name and directory instead
1729 of setup-0. Update snapshot rule to also upload a copy of the binary
1730 with debugging symbols still present.
1731
dacb1ebd
BD
17322007-05-29 Brian Dessent <brian@dessent.net>
1733
1734 This is a general tidying up/modernization of the build infrastructure.
1735 Renaming the lexer and parser to .ll and .yy allows using automake's
1736 builtin support for flex and bison with C++ sources, and libinilex is a
1737 slightly cleaner way of omitting -Werror.
1738
1739 * Makefile.am (AUTOMAKE_OPTIONS): Move to AM_INIT_AUTOMAKE.
1740 (AM_YFLAGS): Define.
1741 (AM_LFLAGS): Define.
1742 (INCLUDES): Remove redundant mingw directory.
1743 (EXTRA_DIST): Adjust for newly named lexer/parser.
1744 (BUILT_SOURCES): Ditto.
1745 (inilint_LDADD): Ditto.
1746 (inilint_SOURCES): Ditto.
1747 (setup_LDADD): Ditto.
1748 (setup_SOURCES): Ditto.
1749 (iniparse.cc): Remove custom rules.
1750 (inilex.cc): Ditto.
1751 * configure.in: Update quoting and use modern form of AC_INIT and
1752 AM_INIT_AUTOMAKE.
1753 * inilex.l: Rename from this ...
1754 * inilex.ll: ... to this.
1755 * iniparse.y: Rename from this ...
1756 * iniparse.yy: ... to this.
1757
eb20d728
BD
17582007-05-29 Brian Dessent <brian@dessent.net>
1759
1760 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
1761 Remove error_buf and error_count initializers.
1762 (IniParseFindVisitor::visitFile): Store filename in current_ini_name.
1763 Use yyerror_count and yyerror_messages in place of removed error_count
1764 and error_buf members.
1765 * IniParseFindVisitor.h (class IniParseFindVisitor): Remove error_buf
1766 and error_count members.
1767 * ini.cc: Include io_stream_memory.h. Remove file static variables
1768 error_buf, error_count, and ini_filename.
1769 (GuiParseFeedback::progress): Remove some verbose log spam.
1770 (do_remote_ini): Recode .ini-fetching logic to properly display parse
1771 errors, and to account for corrupt bzip2 files.
1772 (yyerror): Moved elsewhere.
1773 (fprintf): Delete unused function.
1774 * ini.h: Remove useless __cplusplus guard. Declare extern variables
1775 current_ini_name, yyerror_messages, and yyerror_count.
1776 * inilex.l: Add current_ini_name, yyerror_messages, and
1777 yyerror_count.
1778 (ini_init): Initialize new variables.
1779 (yybol): Delete.
1780 (yyerror): Reimplement using std::string and relocate from ini.cc.
1781 * io_stream.cc (io_stream::copy): Add clarifying comment.
1782
6c8daadf
IP
17832007-05-04 Igor Peshansky <pechtcha@cs.nyu.edu>
1784
1785 * resource.h (IDC_STATIC_HEADER): New control id.
1786 * res.rc (IDD_SPLASH): Adjust the copyright.
1787 (IDD_DESKTOP): Make header text accessible as a separate control.
1788 * desktop.cc (set_status): Use eset() instead of SetWindowText().
1789 (load_dialog): Disable checkboxes and change dialog text in
1790 download-only mode.
1791 (DesktopSetupPage::OnInit): Disable checkboxes in download-only
1792 mode.
1793 * threebar.cc (ThreeBarProgressPage::OnMessageApp): Deprecate the
1794 default fallthrough.
1795 * download.cc (do_download_thread): Explicitly return the next
1796 dialog.
1797
f8dcce01
MB
17982007-04-19 Max Bowsher <maxb1@ukf.net>
1799
1800 * configure.in: Turn inilint default build off again, since I cannot
1801 get it to work.
1802
6b457e67
MB
18032007-04-19 Max Bowsher <maxb1@ukf.net>
1804
54ac354e
MB
1805 * configure.in: Make inilint built by default.
1806
18072007-04-19 Max Bowsher <maxb1@ukf.net>
1808
1809 * inilintmain.cc: Fix multiple compile errors.
6b457e67 1810
86e53214
MB
18112007-04-19 Max Bowsher <maxb1@ukf.net>
1812
1813 * Makefile.am: Make inilint use same warnonly-inilex workaround that
1814 setup already does.
1815
7b21a88e
IP
18162007-03-29 Igor Peshansky <pechtcha@cs.nyu.edu>
1817
1818 * LogFile.cc (LogFile::exit): Write exit_msg directly to log, without
1819 the message box.
1820 * resource.h (IDC_DESKTOP_SEPARATOR,IDC_STATUS_HEADER,IDC_STATUS): New
1821 control ids.
1822 * res.rc (IDD_DESKTOP): Change the caption. Add status information.
1823 * desktop.h (DesktopSetupPage::DesktopSetupPage): Define constructor
1824 in the implementation.
1825 * desktop.cc (DesktopControlsInfo): Position specifiers for status
1826 information items.
1827 (DesktopSetupPage::DesktopSetupPage): Register position specifiers.
1828 (set_status): New static method.
1829 (load_dialog): Set status information, if available.
1830 (DesktopSetupPage::OnInit): Set status header font.
1831
909f5cf9
BD
18322007-03-01 Brian Dessent <brian@dessent.net>
1833
1834 * ini.h (SETUP_INI_FILENAME): Rename setup_9x.ini to setup_legacy.ini.
1835 (SETUP_BZ2_FILENAME): Likewise.
1836
5072c0bb
BD
18372007-02-27 Brian Dessent <brian@dessent.net>
1838
1839 * ini.h (SETUP_INI_FILENAME): Add define.
1840 (SETUP_BZ2_FILENAME): Add define.
1841 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use
1842 above macros to parameterize setup.ini filename.
1843 * fromcwd.cc (SetupFindVisitor::visitFile): Ditto.
1844 * ini.cc (do_remote_ini): Ditto.
1845 * Makefile.am (setup_SOURCES): Add win32.cc.
1846 * autoload.c: Include windows.h directly instead of win32.h so that
1847 win32.h can contain C++.
1848 * desktop.cc (verinfo): Delete.
1849 (make_link): Use IsWindowsNT to check for NT instead of verinfo.
1850 (DesktopSetupPage::OnInit): Likewise.
1851 * mount.cc (is_admin): Likewise.
1852 * script.cc (init_run_script): Likewise.
1853 * main.cc (class SIDWrapper, SIDWrapper::SIDWrapper,
1854 SIDWrapper::~SIDWrapper, SIDWrapper::theSID, class HANDLEWrapper,
1855 HANDLEWrapper::HANDLEWrapper, HANDLEWrapper::~HANDLEWrapper,
1856 HANDLEWrapper::theHANDLE, class TokenGroupCollection,
1857 TokenGroupCollection::TokenGroupCollection,
1858 TokenGroupCollection::~TokenGroupCollection,
1859 TokenGroupCollection::populate, TokenGroupCollection::find,
1860 class NTSecurity, set_default_sec, NTSecurity::NoteFailedAPI,
1861 NTSecurity::NTSecurity, NTSecurity::failed,
1862 NTSecurity::initialiseEveryOneSID, NTSecurity::setDefaultDACL,
1863 NTSecurity::setDefaultSecurity): Remove implementation of these
1864 classes from this file and into new file win32.cc and existing win32.h.
1865 (main): Fix whitespace and formatting per GNU coding standards.
1866 * res.rc (IDS_SETUPINI_MISSING): Parameterize filename with %s.
1867 * win32.cc: New file containing methods removed from main.cc as well
1868 as new class VersionInfo methods.
1869 * win32.h: Include <string> for std::string.
1870 (class SIDWrapper, class HANDLEWrapper, class TokenGroupCollection,
1871 class NTSecurity): Add classes removed from main.cc.
1872 (class VersionInfo): Add new class.
1873 (GetVer): Declare.
1874 (IsWindowsNT): Define.
1875
5cc32375
BD
18762007-02-20 Brian Dessent <brian@dessent.net>
1877
1878 * README: Modernize list of required packages, and mention doconfigure.
1879
5ef77c46
BD
18802007-02-17 Cesar Strauss <cstrauss@cea.inpe.br>
1881
3c1254b9
MB
1882 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
1883 Initialize the version and operator fields of the newly created
1884 PackageSpecification object, so setup can pick the correct source
1885 version later on.
5ef77c46 1886
a875b471
BD
18872007-02-17 Brian Dessent <brian@dessent.net>
1888
1889 * script.cc (Script::run): Check for existance of script file and
1890 return without doing anything if it does not exist.
1891
3a694862
MB
18922006-12-26 Max Bowsher <maxb1@ukf.net>
1893
1894 * IniDBBuilder.h (IniDBBuilder): Make this class abstract.
1895 * IniDBBuilder.cc: Delete file.
1896 * Makefile.am (inilint_SOURCES, setup_SOURCES): Remove IniDBBuilder.cc.
1897
be8736e4
MB
18982006-12-26 Max Bowsher <maxb1@ukf.net>
1899
1900 Add a shell script that documents/centralizes the standard configure
1901 command line.
1902
1903 * doconfigure: New file.
1904 * Makefile.am (EXTRA_DIST): Add doconfigure.
1905
cafda414
IP
19062006-11-28 Igor Peshansky <pechtcha@cs.nyu.edu>
1907
1908 * install.cc (Installer::installOne): If file is in use, ask the user
1909 to stop processes and retry.
1910 (MB_RETRYCONTINUE, IDCONTINUE): New macros.
1911 (hMsgBoxHook): New static field.
1912 (CBTProc): New window hook function.
1913 (_custom_MessageBox): New function.
1914 * CHANGES: Update with the above.
1915
effce34d
IP
19162006-10-12 Igor Peshansky <pechtcha@cs.nyu.edu>
1917
1918 * desktop.cc (make_cygwin_bat,save_icon): Capitalize filename.
1919
7dc7a0a4
BD
19202006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
1921
1922 * package_version.cc (packageversion::scan): Catch and handle
1923 validation exception.
1924
0ec7cbc9
BD
19252006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
1926
1927 * cygpackage.h (filesize): Remove unused field.
1928 (cygpackage::createInstance): Ditto.
1929 * cygpackage.cc (cygpackage::createInstance): Ditto.
1930 * package_db.cc (packagedb::packagedb): Remove unused variables.
1931 Simplify parsing of installed.db.
1932
c861f482
BD
19332006-08-06 Igor Peshansky <pechtcha@cs.nyu.edu>
1934
1935 * desktop.cc (DesktopSetupPage::OnInit): Remove stray MessageBox.
1936
3d4c5ebb
IP
19372006-05-24 Igor Peshansky <pechtcha@cs.nyu.edu>
1938
1939 * PickPackageLine.h (PickPackageLine::DrawIcon): Move to PickView.
1940 * PickView.h (PickView::DrawIcon): Move from PickPackageLine.
1941 (PickView::icon_dc,PickView::bm_icon): New instance field.
1942 (PickView::rect_icon,PickView::bg_fg_brush): Ditto.
1943 * PickCategoryLine.cc (PickCategoryLine::paint): Use
1944 PickView::DrawIcon() instead of BitBlt().
1945 * PickPackageLine.cc (PickPackageLine::DrawIcon): Move to PickView.
1946 (PickPackageLine::paint): Use PickView::DrawIcon().
1947 * PickView.cc (PickView::~PickView): Delete GDI objects.
1948 (PickView::init): Create icon drawing context.
1949 (PickView::DrawIcon): New function. Use system default colors to
1950 draw bitmaps.
1951 (PickView::paint): Set background color instead of using transparent
1952 mode. Create system-colored brush.
1953
ba2559db
BD
19542006-04-25 Brian Dessent <brian@dessent.net>
1955
1956 * COPYING: New file (GPL).
1957 * Makfile.am (EXTRA_DIST): Add COPYING.
1958
5f9ac473
MB
19592006-04-17 Max Bowsher <maxb1@ukf.net>
1960
1961 * String++.cc, String++.h: Finally, it's time for the long-awaited
1962 departure of 'class String' from this world. setup.exe can now
1963 happily claim to follow the sane path of using just one general
1964 purpose string class throughout :-)
1965
02d06553
MB
19662006-04-17 Max Bowsher <maxb1@ukf.net>
1967
1968 * cygpackage.cc, cygpackage.h, package_version.cc, package_version.h:
1969 Do some String to std::string migration.
1970
1eb2461a
MB
19712006-04-17 Max Bowsher <maxb1@ukf.net>
1972
1973 * package_meta.cc, package_meta.h, package_source.cc,
1974 package_source.h: Do some String to std::string migration.
1975 * package_db.cc: Small tweak to assist with the above.
1976
d19f12fd
MB
19772006-04-17 Max Bowsher <maxb1@ukf.net>
1978
1979 * PickView.cc, PickView.h, package_db.cc, package_db.h:
1980 Do some String to std::string migration.
1981 * package_meta.h: Change a couple of types to assist with the above.
1982
9b0876b3
MB
19832006-04-17 Max Bowsher <maxb1@ukf.net>
1984
1985 * IniDBBuilder.cc, IniDBBuilder.h, IniDBBuilderPackage.cc,
1986 IniDBBuilderPackage.h, PickLine.h, PickPackageLine.cc:
1987 Do some String to std::string migration.
1988
fd93eff9
MB
19892006-04-16 Max Bowsher <maxb1@ukf.net>
1990
1991 * FindVisitor.cc, FindVisitor.h, IniParseFindVisitor.cc,
1992 IniParseFindVisitor.h, ScanFindVisitor.cc, ScanFindVisitor.h, find.cc,
1993 find.h, fromcwd.cc, ini.cc, ini.h, iniparse.y, postinstall.cc:
1994 Do some String to std::string migration.
1995
a3a02820
MB
19962006-04-16 Max Bowsher <maxb1@ukf.net>
1997
1998 * IOStreamProvider.h, archive.cc, archive.h, archive_tar.cc,
1999 archive_tar.h, io_stream.cc, io_stream.h, io_stream_cygfile.cc,
2000 io_stream_cygfile.h, io_stream_file.cc, io_stream_file.h:
2001 Do some String to std::string migration.
2002
2bba98e8
MB
20032006-04-16 Max Bowsher <maxb1@ukf.net>
2004
2005 * desktop.cc, download.cc, install.cc, mount.cc, mount.h, script.cc,
2006 script.h: Do some String to std::string migration.
2007
ee4ad3a7
MB
20082006-04-16 Max Bowsher <maxb1@ukf.net>
2009
2010 * category.cc: Remove source file that contained no code!
2011 * category.h: Delete, moving the single useful line to...
2012 * package_meta.h: ...here. Remove category.h include.
2013 * choose.cc, package_db.h, package_meta.cc: Remove category.h include.
2014 * Makefile.am: Remove references to removed files.
2015
08678720
MB
20162006-04-15 Max Bowsher <maxb1@ukf.net>
2017
2018 * ConnectionSetting.cc, ConnectionSetting.h, Exception.cc,
2019 Exception.h, IniParseFeedback.cc, IniParseFeedback.h, LogFile.cc,
2020 LogFile.h, LogSingleton.h, PackageSpecification.cc,
2021 PackageSpecification.h, SourceSetting.cc, SourceSetting.h,
2022 UserSettings.cc, UserSettings.h, dialog.cc, dialog.h, diskfull.cc,
2023 diskfull.h, filemanip.cc, filemanip.h, inilintmain.cc, localdir.cc,
2024 main.cc, nio-file.cc, nio-http.cc, prereq.cc, prereq.h, proppage.cc,
2025 proppage.h, site.cc, site.h, splash.cc, state.cc, state.h, window.cc,
2026 window.h: Do some String to std::string migration.
2027
cb026227
MB
20282006-04-15 Max Bowsher <maxb1@ukf.net>
2029
2030 * String++.cc, String++.h
2031 (new_cstr_char_array, format_1000s): Migrate String to std::string.
ca2b7505 2032 (casecompare_lt_op, std::string operator+): New.
cb026227 2033
470f4928
MB
20342006-04-06 Max Bowsher <maxb1@ukf.net>
2035
2036 * String++.h, String++.cc
2037 (String::replace): Remove - usused.
2038 (String::find): Remove - semantics do not match std::string.
2039
2040 * root.cc (directory_is_rootdir): Switch to std::string.find().
2041 * script.cc (Script::baseName): Rewrite use of String.find().
2042
2b791966
MB
20432006-03-30 Max Bowsher <maxb1@ukf.net>
2044
2045 * String++.cc (replace): New function to take the place of one form
2046 of String::replace method.
2047 * String++.h (replace): Declare.
2048 (String::replace): Make private.
2049
2050 * desktop.cc (make_cygwin_bat): Use new function.
2051 * filemanip.cc (backslash): Use simple loop in place of
2052 String::replace.
2053 * filemanip.h (backslash): Change signature to use std::string in
2054 place of String.
2055
afa76033
MB
20562006-03-30 Max Bowsher <maxb1@ukf.net>
2057
2058 * String++.cc, String++.h (casecompare): New function replacing
2059 String.casecompare to increase parity with std::string.
2060 (String::casecompare): Make private.
2061
2062 * ConnectionSetting.cc, IniDBBuilderPackage.cc,
2063 IniParseFindVisitor.cc, LogFile.cc, PackageSpecification.cc,
2064 PickView.cc, SourceSetting.cc, String++.cc, String++.h, fromcwd.cc,
2065 io_stream.cc, mount.cc, package_db.cc, package_source.h,
2066 package_version.cc, prereq.h, script.cc:
2067 Use casecompare in place of String::casecompare.
2068
8300be9c
MB
20692006-03-30 Max Bowsher <maxb1@ukf.net>
2070
2071 * String++.cc, String++.h: Remove String(int) constructor, which
2072 was causing dangerously bizarre implicit conversions, and was a point
2073 of disparity between String and std::string.
2074 (stringify): New function to replace functionality removed above.
2075
2076 * PickView.cc (PickView::init_headers),
2077 archive_tar.cc (archive_tar::next_file_name),
2078 cygpackage.cc (cygpackage::setCanonicalVersion):
2079 Make explicit and call out with a FIXME some bizarre behaviour.
2080
2081 * ScanFindVisitor.cc (ScanFindVisitor::visitFile),
2082 filemanip.cc (base), iniparse.y,
2083 threebar.cc (ThreeBarProgressPage::SetBar2):
2084 Make simple adaptations to the changed API.
2085
7c593196
IP
20862006-03-14 Igor Peshansky <pechtcha@cs.nyu.edu>
2087
2088 * PickView.cc (PickView::setViewMode): Auto-expand category if
2089 its name starts with a dot.
2090
3dbb54fc
DK
20912006-03-14 Dave Korn <dave.korn@artimi.com>
2092
2093 * String++.cc (new_cstr_char_array): Handle null input correctly.
2094
e5e2eba8
CF
20952006-03-10 Christopher Faylor <cgf@timesys.com>
2096
2097 * res.rc: Update copyright.
2098 (IDS_MIRROR_LST): Use cygwin.com for mirror list, not
2099 sources.redhat.com.
e5e2eba8 2100 * site.cc (NOSAVE1): Use preferred name of sourceware site.
4f41c01c 2101 (NOSAVE2): sourceware.cygnus.com -> sources.redhat.com.
e5e2eba8
CF
2102 (NOSAVE1_LEN): Use just-defined name to determine length.
2103 (NOSAVE2_LEN): Ditto.
2104 (NOSAVE3_LEN): Ditto.
2105
21062006-03-10 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
2107
2108 * res.rc (IDD_DROPPED): New dialog.
2109 * resource.h (IDD_DROPPED): New dialog-id.
2110 (IDC_DROP_MIRRORS, IDC_DROP_NOWARN): New control-ids.
2111 * site.cc: Add enum for response on dropped mirrors.
2112 (cache_is_usable, cache_needs_writing): New bools.
2113 (cache_warn_urls): New string.
2114 (cached_site-list, dropped_site_list): New SiteLists.
2115 (site_list_type::init, site_list_type::site_list_type): Change to four
2116 parameter form.
2117 (site_list_type::site_list_type, site_list_type::operator=) Copy
2118 servername, area and location.
2119 (load_site_list): New function, broken out of get_site_list. Support
2120 four-parameter site_list_type.
2121 (get_site_list): Break out load_site_list. Move reading cache earlier.
2122 Don't write new cache. Set flags to record cache state. Load both
2123 all_site_list and cached_site_list.
2124 (SiteSetting::registerSavedSite): Use four-parameter site_list_type.
2125 (drop_proc, check_dropped_mirrors, write_cache_list, save_cache_file):
2126 New functions.
2127 (SitePage::OnNext): Check for dropped mirrors and save cache as
2128 appropriate.
2129 (SitePage::OnMessageCmd): Use four-parameter site_list_type.
2130 * site.h
2131 (site_list_type::init, site_list_type::site_list_type): Change to four
2132 parameter form.
2133 (site_list_type): Add servername, area and location members.
2134
b2b35a6e
IP
21352006-03-09 Igor Peshansky <pechtcha@cs.nyu.edu>
2136
2137 * script.cc (Script::run): Fix inverted test for abnormal exit.
2138
966a9815
MB
21392006-03-09 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
2140 Max Bowsher <maxb1@ukf.net>
2141
2142 Provide indication of site that a file is being downloaded from.
2143
2144 * geturl.cc: Use std::string instead of String throughout.
2145 (init_dialog): Put more information into GUI.
2146 Remove unused 'owner' parameter and change all callers.
2147 (progress): Remove spurious \n characters from GUI.
2148 * geturl.h: Use std::string instead of String throughout.
2149 * res.rc (IDD_INSTATUS): Use SS_ENDELLIPSIS.
2150
8e91c2fb
MB
21512006-03-09 Max Bowsher <maxb1@ukf.net>
2152
2153 * Makefile.am (EXTRA_DIST): Add tree-minus.bmp and tree-plus.bmp.
2154
bb810dd8
DK
21552006-01-20 Bryan Thrall <bryan.thrall@flightsafety.com>
2156
2157 * source.cc (SourcePage::OnActivate): Command line takes precedence
2158 over last user selection.
2159
253585ba
MB
21602005-11-30 Max Bowsher <maxb1@ukf.net>
2161
2162 * res.rc (IDD_ROOT, IDD_LOCAL_DIR): Rearrange some controls a little,
2163 in response to suggestion from Carl Karsten.
2164
d60832c6
MB
21652005-11-30 Max Bowsher <maxb1@ukf.net>
2166
2167 * site.h, site.cc: Use std::string in preference to String.
2168 (site_list_type::init): Convert some painful raw C string work to
2169 STL std::string work. Stop totally ignoring the result of this
2170 calculation, implementing the (somewhat weird) sort order for sites
2171 that was apparently indented for ages.
2172
3d3c6047
IP
21732005-10-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2174
2175 * io_stream.cc (url_scheme_not_registered): New macro.
2176 (io_stream::open): Better log message on error.
2177 (io_stream::mkpath_p,io_stream::remove,io_stream::mklink): Ditto.
2178 (io_stream::move,io_stream::exists): Ditto.
2179
b059e20b
IP
21802005-10-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2181
2182 * site.cc (get_site_list): Default to empty mirror list if
2183 server unavailable and none cached, to allow using preferred
2184 mirrors anyway.
2185
82573872
IP
21862005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2187
2188 * package_db.cc (packagedb::packagedb): Remember missing package
2189 database file.
2190
9237e1bb
IP
21912005-09-29 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2192
2193 * site.cc (get_site_list): Store mirror list locally.
2194 Use local copy if unable to download.
2195
a8be3f13
IP
21962005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2197
2198 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
2199 Better log message on error.
2200
2a8125be
IP
22012005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2202
bd3a38c7 2203 * script.cc (Script::isAScript): Fix string comparison.
2a8125be 2204
01b9378a
IP
22052005-09-27 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2206
2207 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Reconnect on FTP timeout.
2208
65ce9baf
BD
22092005-09-11 Masayuki FUJII <boochang@m4.kcn.ne.jp>
2210
2211 * package_meta.cc (packagemeta::ScanDownloadedFiles): Don't use an
2212 invalid iterator. Fix whitespace.
2213
3f6926b1
BD
22142005-09-09 Brian Dessent <brian@dessent.net>
2215
2216 * CHANGES: Document recent updates.
2217 * choose.cc (ChooserPage::OnInit): Add new tooltip.
2218 * res.rc (IDD_CHOOSE): Remove 'administrative' from description.
2219 (IDS_HIDEOBS_TOOLTIP): Add new string for tooltip.
2220 * resource.h (IDS_HIDEOBS_TOOLTIP): Define.
2221 * window.cc (Window::ActivateTooltips): Fix whitespace. Set tooltip
2222 delay to 30 seconds.
2223
9dda7744
BD
22242005-09-09 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2225
2226 * PickView.cc (PickView::paint): Set background mode to transparent.
2227 * PickCategoryLine.cc (PickCategoryLine::paint): Use bitwise AND to
2228 blit bitmaps.
2229 * PickPackageLine.cc (PickPackageLine::paint): Ditto.
2230
534c25cc
BD
22312005-09-01 Brian Dessent <brian@dessent.net>
2232
2233 * package_meta.cc (packagemeta::uninstall): Remove support for
2234 undocumented and dangerous postremove script.
2235
22362005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2237
2238 * script.cc (run): Change to return the exit code or negative error.
2239 (Script::run): Ditto.
2240 (try_run_script): Receive both filename and extension and run only
2241 one script. Also return the exit code.
2242 * script.h (try_run_script): Change signature.
2243 (Script::run): Ditto.
2244 * postinstall.cc (RunScript::operator()): Change to return the exit
2245 code or negative error.
2246 * install.cc (Installer::preremoveOne): Pass extension to
2247 try_run_script().
2248
22492005-09-01 Eric Blake <ebb9@byu.net>
2250
2251 * script.cc (shells): Use /bin/bash, not sh, to allow upgrades to
2252 /bin/sh.
2253
0ac305ec
BD
22542005-09-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
2255
2256 * PickView.h (PickView::size_col): New instance variable.
2257 * PickView.cc (pkg_headers, cat_headers): Add size column.
2258 (PickView::set_headers): Initialize size_col.
2259 (PickView::init_headers): Include width of size column.
2260 * PickPackageLine.cc (PickPackageLine::paint): Handle size_col.
2261 * String++.cc (format_1000s): New function.
2262 * String++.h (format_1000s): Declare new function.
2263
aa62e0f3
BD
22642005-09-01 Brian Dessent <brian@dessent.net>
2265
2266 * Makefile.am (BASECXXFLAGS): Add -Wno-uninitialized to work around
2267 spurious warnings with gcc 3.4.4.
2268
687dd890
BD
22692005-05-22 Brian Dessent <brian@dessent.net>
2270
2271 * res.rc (IDD_CHOOSE): Change description to include administrative
2272 packages in addition to obsolete.
2273
82306ac2
BD
22742005-05-21 Brian Dessent <brian@dessent.net>
2275
2276 * prereq.cc: New file.
2277 * prereq.h: Ditto.
2278 * tree-minus.bmp: Ditto.
2279 * tree-plus.bmp: Ditto.
2280 * Makefile.am: Add prereq.cc and prereq.h to build.
2281 * PickCategoryLine.cc (PickCategoryLine::paint): Add new parameter and
2282 refactor. Use bitmap for '+' and '-' indicators. Draw package lines
2283 column-wise for better drawing efficiency.
2284 (PickCategoryLine::click): Use previously calculated x value.
2285 * PickCategoryLine.h (PickCategoryLine::paint): Update prototype. Add
2286 'spin_x' member.
2287 * PickLine.h (PickLine:paint): Update prototype.
2288 * PickPackageLine.cc (PickPackageLine::DrawCheck): Remove.
2289 (PickPackageLine::DrawIcon): New function.
2290 (PickPackageLine::paint): Add parameter. Refactor completely for more
2291 efficient painting.
2292 * PickPackageLine.h (PickPackageLine::DrawIcon): Add prototype.
2293 (PickPackageLine::paint): Update prototype.
2294 (PickPackageLine::DrawCheck): Remove.
ca2b7505 2295 * PickView.cc (pkg_headers): Remove unused 'slen' field, add new
82306ac2 2296 'needs_clip' field to signify if clipping is necessary for this column.
ca2b7505 2297 (PickView::note_width): Fold long line. Refactor slightly for
82306ac2
BD
2298 simplicity.
2299 (PickView::set_view_mode): Remove.
2300 (PickView::cycleViewMode): New function.
2301 (PickView::setViewMode): Refactor completely. Incorporate functionality
2302 of clear_view() here instead. Simplify package selection into a single
2303 'for' loop rather than repeating code for each type.
2304 (isObsolete): New function, with second overloaded version.
2305 (PickView::setObsolete): New function.
2306 (PickView::insert_pkg): Do not show obsolete packages. Move
2307 declaration of 'db' lower. Fix whitespace.
2308 (PickView::insert_category): Do not show obsolete packages.
ca2b7505 2309 (PickView::clear_view): Remove. Moved logic into 'setViewMode'.
82306ac2
BD
2310 (PickView::scroll): Add additional parameter 'howmany' with default
2311 value of 1. Scroll by 'howmany' lines for SB_LINEDOWN and SB_LINEUP.
2312 (NUM_CATEGORY_COL_WIDTH): Define.
2313 (PickView::init_headers): Fix whitespace. Add comments. Ignore
2314 obsolete packages in width calculations. Add functionality to size
2315 'Category' column so that at least NUM_CATEGORY_COL_WIDTH categories
2316 are displayed for every package. Ensure that 'new_col' takes into
2317 account all possible labels.
2318 (PickView::PickView): Initialize showObsolete to false.
2319 (PickView::init): Remove unused bitmap bm_rtarrow. Add new bitmaps
2320 bm_treeplus and bm_treeminus. Use a macro for better readability.
2321 Fix whitespace formatting. Remove header computation from here, call
2322 refresh() instead.
2323 (PickView::registerWindowClass): Remove unnecessary background brush.
2324 (PickView::WindowProc): Add support for WM_MOUSEWHEEL message
2325 processing. Fix indentation. Reformat for readability.
2326 (PickView::paint): Get the update region before calling BeginPaint.
2327 Fill the update region with the default colors. Do not do clipping
2328 here. Pass update region to the PickLine paint function instead.
2329 Free the update region when finished.
2330 (PickView::Create): Fix indentation.
2331 (PickView::defaultTrust): Ditto.
2332 (PickView::refresh): Add column recalculation logic here.
2333 * PickView.h: Fix indentation.
2334 (RTARROW_WIDTH): Remove unused define.
2335 (NEW_COL_SIZE_SLOP): Ditto.
2336 (TREE_INDENT): Define.
2337 (PickView::get_view_mode): Remove.
2338 (PickView::set_view_mode): Rename to setViewMode for consistency.
2339 (PickView::cycleViewMode): Add new function.
2340 (PickView::setObsolete): Ditto.
2341 (PickView::clear_view): Remove.
2342 (PickView::bm_treeplus): Define new member.
2343 (PickView::bm_treeminus): Ditto.
2344 (PickView::scroll): Add parameter.
2345 (PickView::Header::slen): Remove unused member.
2346 (PickView::Header::needs_clip): Define new member.
2347 (PickView::showObsolete): Ditto.
2348 (isObsolete): Add prototype, and for overloaded version as well.
2349 * choose.cc: Add include.
2350 (ChooserControlsInfo): Allow new checkbox to be resized.
2351 (ChooserPage::OnInit): Start dialog with 'Hide obsolete' checked.
2352 (ChooserPage::OnNext): Call the dependency checker, act accordingly.
2353 (ChooserPage::changeTrust): Notify dependency checker of current trust
2354 level when it changes.
2355 (ChooserPage::OnMessageCmd): Just call cycleViewMode instead when
2356 changing the view. Update the chooser when the user toggles the
2357 'hide obsolete' checkbox.
2358 (ChooserPage::OnMouseWheel): New function. Pass mouse wheel message
2359 on to chooser.
2360 * choose.h (OnMouseWheel): Add prototype.
2361 * main.cc: Add include.
2362 (main): Define and initialize the PrereqPage object. Add it into
2363 the property sheet list.
2364 * PropPage.cc (PropertyPage::DialogProc): Add support for WM_MOUSEWHEEL
2365 message processing in derived classes.
2366 (PropertyPage::OnMouseWheel): New function.
2367 * PropPage.h (PropertyPage::OnMouseWheel): Add prototype.
2368 * res.rc (IDD_LOCAL_DIR): Shorten edit box so that pushbutton is not
2369 crowded.
2370 (IDD_SITE): Provide static text with an ID so that it can be resized
2371 properly. Move pushbutton slightly to right so that it doesn't crowd
2372 edit box.
2373 (IDD_SPLASH): Change copyright displayed on spash screen to be generic
2374 since the actual list of contributors is long.
2375 (IDD_CHOOSE): Add checkbox. Resize other controls to accomodate.
2376 (IDD_PREREQ): New dialog.
2377 (SPIN): Delete duplicated bitmap resource.
2378 (IDB_RTARROW): Remove unused bitmap resource.
2379 (IDB_TREE_PLUS): Add.
2380 (IDB_TREE_MINUS): Ditto.
2381 (IDS_TRUSTPREV_TOOLTIP): Revise wording to be more concise.
2382 (IDS_TRUSTCURR_TOOLTIP): Ditto.
2383 (IDS_TRUSTEXP_TOOLTIP): Ditto.
2384 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
2385 * resource.h (IDD_PREREQ): Define.
2386 (IDB_RTARROW): Remove.
2387 (IDB_TREE_PLUS): Add, and renumber.
2388 (IDB_TREE_MINUS): Ditto.
2389 (IDC_SITE_USERURL): Define.
2390 (IDC_CHOOSE_HIDE): Ditto.
2391 (IDC_PREREQ_TEXT): Ditto.
2392 (IDC_PREREQ_EDIT): Ditto.
2393 (IDC_PREREQ_CHECK): Ditto.
2394 * site.cc (SiteControlsInfo): Ensure that 'User URL' static text is
2395 properly resized.
2396
846e099d
MB
23972005-05-14 Max Bowsher <maxb@ukf.net>
2398
2399 "Type" field of packageversions was not even being filled in. Fix.
2400
2401 * cygpackage.h, cygpackage.cc (cygpackage::createInstance):
2402 Make "type" a mandatory parameter of the constructor.
2403 * IniDBBuilderPackage.cc: Adjust callers.
2404
c1352375
MB
24052005-05-14 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
2406
2407 Fix behaviour of hardlinks in source packages.
2408
2409 * archive.cc (archive::extract_file):
2410 Use prefixPath for link target on hardlinks.
2411
403f1027
MB
24122005-05-14 Max Bowsher <maxb@ukf.net>
2413
2414 Hopefully, solve the "preremove DLL dependency" bug, by running all
2415 preremove scripts before actually removing any files.
2416
ca2b7505 2417 * install.cc
403f1027
MB
2418 (Installer::preremoveOne): New method. Run preremove scripts here.
2419 (Installer::replaceOne): Remove method.
2420 (num_replacements): Remove variable.
2421 (do_install_thread): Significantly rewrite.
2422 * package_meta.cc (packagemeta::uninstall):
2423 Do not run preremove script here.
2424
f916c374
MB
24252005-05-14 Max Bowsher <maxb@ukf.net>
2426
2427 * download.cc (do_download_thread):
2428 Do not use packageversion::changeRequested().
2429 * package_version.cc (packageversion::Type):
2430 Implement declared but previously unimplemented method.
2431 (packageversion::changeRequested, _packageversion::changeRequested):
2432 Remove.
2433 * package_version.h
2434 (packageversion::changeRequested, _packageversion::changeRequested):
2435 Remove.
2436 * install.cc (Installer::replaceOne): Simplify, return void, not int.
2437 (installOneSource): Rename to...
403f1027 2438 (installOne): ...this. Change arguments and return type. Refactor.
f916c374
MB
2439 (install_one): Remove.
2440 (do_install_thread): Tidying up.
2441
655310ed
MB
24422005-05-07 Max Bowsher <maxb@ukf.net>
2443
2444 * download.cc (validateCachedPackage): Remove all MD5 checking code.
2445 It is not acceptable to check MD5 sums as part of simply answering
2446 whether a package exists in the local cache or not. It is too slow.
2447 MD5 sums always have been - and will continue to be - checked at
2448 install time.
2449 (NoMD5Option): Remove this option, as the code it controls has been
2450 removed.
2451
61a9e487
MB
24522005-05-07 Max Bowsher <maxb@ukf.net>
2453
2454 * install.cc (md5_one): Make the MD5 checking done at install time
2455 display a progess GUI, as the MD5 checking done at other times does.
2456
4c90a532
MB
24572005-05-07 Max Bowsher <maxb@ukf.net>
2458
2459 * resource.h, res.rc: Followup to recent de-MSVC-ification of
2460 resource.h, by removing a lot from res.rc, and the last few bits
2461 from resource.h.
2462
9a8a04fc
BD
24632005-05-05 Brian Dessent <brian@dessent.net>
2464
37f49caf
BD
2465 * choose.cc (ChooserPage::OnInit): Initialize tooltips for this
2466 dialog.
2467
2468 * proppage.h (PropertyPage::makeClickable): Update prototype to
2469 reflect same argument name as function.
2470
2471 * proppage.cc (PropertyPage::DialogProc): Remove redundant 'break'
ca2b7505 2472 statements that follow 'return's. Add missing braces to case
37f49caf
BD
2473 statements. Call handler for TTN_GETDISPINFO.
2474
2475 * res.rc (IDS_TRUSTKEEP_TOOLTIP): Add new STRINGTABLE entry for
2476 tooltip text.
2477 (IDS_TRUSTPREV_TOOLTIP): Ditto.
ca2b7505 2478 (IDS_TRUSTCURR_TOOLTIP): Ditto.
37f49caf
BD
2479 (IDS_TRUSTEXP_TOOLTIP): Ditto.
2480 (IDS_TRUSTPREV_TOOLTIP): Ditto.
2481 (IDS_VIEWBUTTON_TOOLTIP): Ditto.
2482
2483 * resource.h: Likewise, add identifiers for tooltip resources.
2484
2485 * window.h: Add includes.
2486 (Window::TooltipHandle): Add new private data structure.
2487 (Window::TooltipStrings): Ditto.
2488 (Window::ActivateTooltips): Define new function to support tooltip
2489 functionality.
2490 (Window::SetTooltipState): Ditto.
2491 (Window::AddTooltip): Ditto.
322281d3 2492 (Window::TooltipNotificationHandler): Ditto.
37f49caf
BD
2493
2494 * window.cc (Window::Window): Initialize handle to NULL.
2495 (Window::~Window): Call DestroyWindow on tooltip control if it was
2496 activated.
2497 (Window::ActivateTooltips): New function to activate the tooltip
2498 control.
2499 (Window::SetTooltipState): New function to allow toggling of
2500 tooltips.
2501 (Window::AddTooltip): New function that adds a tooltip to a given
2502 control in a given window. Also implement overloaded versions that
2503 provide simpler interface and the ability to use a string resource.
2504 (Window::TooltipNotificationHandler): New function to handle
2505 TTN_GETDISPINFO notification messages.
2506
25072005-05-05 Brian Dessent <brian@dessent.net>
4c90a532 2508
9a8a04fc
BD
2509 * resource.h: Reorganize. Group by type, and give each its own
2510 range of IDs. Regenerate IDs accordingly.
2511 (IDD_CHOOSER): Remove obsolete and unused symbol.
2512
9e6e3c68
BD
25132005-05-05 Brian Dessent <brian@dessent.net>
2514
2515 * root.h (class RootPage): Add missing virtual to OnMessageCmd.
2516
746fff8d
BD
25172005-05-05 Brian Dessent <brian@dessent.net>
2518
2519 * root.cc (dialog_cmd): Remove. Use OnMessageCmd instead.
2520 (RootPage::Create): Accomodate above change.
2521
2522 * root.h (class RootPage): Add prototype for OnMessageCmd.
2523
2524 * res.rc (IDD_ROOT): Fix broken button groups. Correct the order of
ca2b7505 2525 the controls and use of WS_GROUP so that the radio buttons act
746fff8d
BD
2526 correctly.
2527
d2a3615c
MB
25282005-05-05 Max Bowsher <maxb@ukf.net>
2529
2530 Bulk rename of String++ member cstr_oneuse () to c_str () for
2531 similarity to std::string.
2532
2533 * Exception.cc
2534 * IniDBBuilderPackage.cc
2535 * IniParseFindVisitor.cc
2536 * LogFile.cc
2537 * PickCategoryLine.cc
2538 * PickPackageLine.cc
2539 * PickView.cc
2540 * String++.cc
2541 * String++.h
2542 * archive.cc
2543 * cygpackage.cc
2544 * desktop.cc
2545 * dialog.cc
2546 * diskfull.cc
2547 * download.cc
2548 * filemanip.cc
2549 * find.cc
2550 * geturl.cc
2551 * ini.cc
2552 * install.cc
2553 * io_stream.cc
2554 * io_stream_cygfile.cc
2555 * io_stream_file.cc
2556 * localdir.cc
2557 * mount.cc
2558 * nio-http.cc
2559 * package_db.cc
2560 * package_meta.cc
2561 * package_source.h
2562 * postinstall.cc
2563 * proppage.cc
2564 * root.cc
2565 * script.cc
2566 * site.cc
2567 * splash.cc
2568 * threebar.cc
2569 * window.cc
2570
3a8630fd
MB
25712005-05-05 Max Bowsher <maxb@ukf.net>
2572
2573 Some String++ refactoring, setting out in the general direction of
2574 eventually just using the STL std::string, not our own class.
2575
2576 * String++.cc (String::cstr, String::cstr () const): Remove.
2577 (new_cstr_char_array): New function.
2578 * String++.h: Sync with above.
2579 Remove irrelevant "class io_stream;" declaration.
2580
2581 * cygpackage.h: Add "class io_stream;" declaration, now no longer
2582 being supplied by side-effect.
2583
2584 * filemanip.cc: Remove unneeded includes, add "using namespace std;".
2585 (parse_filename): Exchange some awkward pointer manipulation for
2586 std::string usage. Use new_cstr_char_array ().
2587 * filemanip.h: Sync with above.
2588 (fileparse): Improve style of declaration.
2589
2590 * io_stream_cygfile.cc (io_stream_cygfile::normalise):
2591 Use new_cstr_char_array ().
2592 * site.cc (site_list_type::init, get_site_list): Ditto.
2593
daab12c7
BD
25942005-05-05 Brian Dessent <brian@dessent.net>
2595
03e84729
MB
2596 * ControlAdjuster.h (enum ControlPosition): Declare new resizing
2597 methods CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, and their
2598 TOP/BOTTOM aliases.
daab12c7 2599
03e84729
MB
2600 * ControlAdjuster.cc (ControlAdjuster::ControlInfo::adjust):
2601 Implement CP_STRETCH_LEFTHALF and CP_STRETCH_RIGHTHALF, which are
2602 designed to resize elements in a two-column layout.
daab12c7 2603
03e84729
MB
2604 * localdir.h (class LocalDirPage): Remove constructor implementation
2605 from here...
daab12c7 2606
03e84729
MB
2607 * localdir.cc (LocalDirPage::LocalDirPage): ...to here, and call
2608 AddControlsInfo on initialization.
2609 (static LocaldirControlsInfo): Add. Define sizing rules for dialog
daab12c7
BD
2610 elements.
2611
03e84729
MB
2612 * proppage.h: Add includes.
2613 (PropertyPage::ClickableURL):
2614 Declare new storage type for internal use by class.
2615 (PropertyPage::urls): Likewise.
2616 (PropertyPage::urlWinProc): Add declaration.
daab12c7
BD
2617 (PropertyPage::makeClickable): Likewise.
2618
03e84729
MB
2619 * proppage.cc: Add includes.
2620 (PropertyPage::DialogProc): Implement handler for WM_CTLCOLORSTATIC
2621 message. Supports static controls that have been turned into
2622 clickable hyperlinks.
2623 (static PropertyPage::urls): Declare.
2624 (PropertyPage::makeClickable): Implement new member function that
2625 provides user interface for making text into clickable URLs.
2626 (PropertyPage::urlWinProc): Implement new private member function used
2627 as a windowproc for subclassing a static control.
2628
2629 * resource.h (IDC_SPLASH_URL, IDC_FILEMODES_LINK, IDC_ROOTDIR_GRP,
2630 IDC_INSTALLFOR_GRP, IDC_ALLUSERS_TEXT, IDC_JUSTME_TEXT, IDC_MODE_GRP,
2631 IDC_MODE_TEXT, IDC_MODE_BIN, IDC_LOCALDIR_GRP, IDC_SPLASH_TEXT,
2632 IDC_SPLASH_ICON, IDC_SPLASH_COPYR): Add. Replaces anonymous
daab12c7
BD
2633 IDC_STATIC ids, so that controls can be referenced by the resizer.
2634
03e84729
MB
2635 * res.rc (IDD_LOCAL_DIR): Rearrange controls to match top-down order
2636 in the dialog. Fold long lines. Replace anonymous IDC_STATIC ids.
2637 (IDD_ROOT): Reorder in same manner. Replace anonymous IDC_STATIC ids.
2638 Add descriptive text of each option, and hyperlink for more
2639 information. Mark suggested choice as "(RECOMMENDED)". Swap order of
2640 'unix'/'dos' radio buttons so that recommended choice is first in both
2641 columns.
2642 (IDD_SPLASH): Reorder elements to match top-down order of dialog, fold
2643 long lines. Add descriptive paragraph, remove anonymous ids. Update
2644 copyright text, replace sources.redhat.com with cygwin.com.
daab12c7 2645
03e84729 2646 * root.h (class RootPage): Remove constructor implementation from
daab12c7
BD
2647 here...
2648
03e84729
MB
2649 * root.cc: ...to here, and call AddControlInfo.
2650 (static RootControlsInfo): Add. Populate with resizing data.
daab12c7
BD
2651 (RootPage::OnInit): Make text a clickable hyperlink.
2652
03e84729 2653 * splash.h (class SplashPage): Likewise, move constructor from
daab12c7
BD
2654 here...
2655
03e84729
MB
2656 * splash.cc: ...to here. Call AddControlInfo.
2657 (static SplashControlsInfo): Add and populate.
2658 (SplashPage::Create): Make link on splash page a clickable hyperlink.
daab12c7 2659
03e84729
MB
2660 * window.h: Add include.
2661 (class Window): Store allocated fonts with a vector instead of fixed
2662 array. Change indentation of setParent to be consistent.
daab12c7 2663
03e84729
MB
2664 * window.cc (Window::Window): Remove FontCounter.
2665 (Window::~Window): Likewise. Iterate over vector of fonts instead.
2666 (Window::SetDlgItemFont): Use vector.
daab12c7 2667
042d83f9
MB
26682005-05-05 Max Bowsher <maxb@ukf.net>
2669
2670 * Makefile.am (EXTRA_DIST, inilint_SOURCES):
2671 Sync with several recent changes.
2672
a38fde1a
BD
26732005-05-05 Brian Dessent <brian@dessent.net>
2674
03e84729 2675 * res.rc: (CREATEPROCESS_MANIFEST_RESOURCE_ID): Include section
a38fde1a
BD
2676 comment.
2677
dd267526
BD
26782005-05-05 Brian Dessent <brian@dessent.net>
2679
2680 * res.rc: (IDC_CHOOSE): Widen 'view' button by 6px horizontally and
2681 4px vertically. Adjust other controls to accomodate.
2682 (CREATEPROCESS_MANIFEST_RESOURCE_ID): Define so that manifest is
2683 included in the binary.
2684
2685 * setup.exe.manifest: New file. Results in common controls with
2686 themed appearance on modern versions of Windows.
2687
83524e5b
MB
26882005-05-05 Brian Dessent <brian@dessent.net>
2689
03e84729 2690 * main.cc (WinMain): Change conditional to avoid spurious error
83524e5b 2691 message on success. Include reason for failure in log message.
96f50f64 2692
071f7af3
MB
26932005-05-04 Max Bowsher <maxb@ukf.net>
2694
2695 * state.cc, state.h (net_method, net_proxy_host, net_proxy_port,)
2696 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
2697 Inet_ftp_user, net_ftp_passwd):
2698 Move these global variables to be static variables of the NetIO class.
2699
2700 * netio.h, netio.cc (net_method, net_proxy_host, net_proxy_port,)
2701 (net_user, net_passwd, net_proxy_user, net_proxy_passwd,)
2702 net_ftp_user, net_ftp_passwd):
2703 As above.
2704
2705 * ConnectionSetting.cc, net.cc:
2706 Change include, refer to variables in new location.
2707
0a49fe44
MB
27082005-05-04 Max Bowsher <maxb@ukf.net>
2709
2710 * PickLine.cc: Remove file - redundant.
2711 * Makefile.am (setup_SOURCES): Adjust.
2712
7f3324d2
MB
27132005-05-04 Max Bowsher <maxb@ukf.net>
2714
2715 * package_version.h (packageversion::set_requirements):
2716 Remove deftrust argument default value.
2717
27182005-05-04 Max Bowsher <maxb@ukf.net>
2ef95e81
MB
2719
2720 * package_version.cc (DependencyProcessor): Remove trivial class.
2721 (select, processOneDependency): Do not use DependencyProcessor, just
2722 pass parameters normally.
2723
d20a2e29
MB
27242005-05-04 Brian Dessent <brian@dessent.net>
2725
2726 Fix bug #820: Clicking Curr, etc., causes some dependencies to not
2727 be installed.
2728
2729 * choose.cc (ChooserPage::changeTrust):
2730 Add a missing "packagedb.markUnVisited ()".
2731
9bd063e0
MB
27322005-05-03 Max Bowsher <maxb@ukf.net>
2733
2734 * PickCategoryLine.cc (PickCategoryLine::click):
2735 * PickPackageLine.cc (PickPackageLine::click):
2736 Abandon use of trivial packagemeta::PrepareForVisit() wrapper.
2737
2738 * package_meta.h (packagemeta::PrepareForVisit): Remove.
2739 * package_meta.cc (packagemeta::PrepareForVisit): Remove.
2740
97b50ad7
MB
27412005-05-03 Max Bowsher <maxb@ukf.net>
2742
2743 * choose.h (ChooserPage::ifChecked): Remove.
2744 (ChooserPage::changeTrust): Convert from template to ordinary function.
2745 * choose.cc (ChooserPage::changeTrust): As above, plus avoid the use
2746 of custom class SetRequirement, when bind2nd(mem_fun(...),...) can
2747 achieve the same effect.
2748 * package_meta.h (SetRequirement): Remove, now unused.
2749
98b84622
MB
27502005-05-03 Max Bowsher <maxb@ukf.net>
2751
2752 * package_meta.h (packagemeta::set_requirements):
2753 Remove default argument which seems inappropriate.
2754 * PickPackageLine.cc (PickPackageLine::click):
2755 Make an argument explicit, and not that it seems like the wrong value.
2756
7c86285f
MB
27572005-05-03 Brian Dessent <brian@dessent.net>
2758
2759 Fix part of bug #853 - proxy port not remembered.
2760
2761 * net.cc (doing_loading): New static boolean.
2762 (load_dialog): Use the boolean to prevent save_dialog() from taking
2763 action due to field changes due to initialization.
2764 (save_dialog): Check the boolean and respond appropriately.
2765
9ad9a0b0
MB
27662005-04-19 Max Bowsher <maxb@ukf.net>
2767
2768 * postinstall.cc (RunFindVisitor::visitFile): Fix crash on
2769 encountering a postinstall script with a name of 4 characters or less.
2770 Bug introduced on 2004-12-25.
2771
946198be
MB
27722005-04-05 Max Bowsher <maxb@ukf.net>
2773
2774 The Big Cleanup: Phase "rfc1738"
2775
2776 * rfc1738.cc, rfc1738.h: Delete.
2777 * csu_util/rfc1738.cc: Reimport latest version from upstream source.
2778 Make thread-safe. Rewrite C++ wrapper in terms of std::string.
2779 Document the divergences from the upstream source.
2780 * csu_util/rfc1738.h: Recreate for the std::string version of the
2781 C++ wrapper.
2782
2783 * Makefile.am (setup_SOURCES): Sync with added/removed files.
2784 * IniParseFindVisitor.cc: Modify #includes.
2785 (IniParseFindVisitor::visitFile): Change function name, as the new
2786 C++ wrapper does not contain an irregularity that the old one did.
2787 * download.cc: Modify #includes.
2788 * ini.cc: Modify #includes.
2789
e76de0f5
MB
27902005-04-05 Max Bowsher <maxb@ukf.net>
2791
2792 Remove setup's internal compression libraries, instead relying on the
2793 mingw-foo packages which have been part of the Cygwin net distribution
2794 for some time now. At the same time, reorganize the README file to
2795 inform about the change, and make some additional tidy-ups there whilst
2796 working there.
2797
2798 * GUIDELINES: Remove, contents transferred to README.
2799 * README: Add build instructions. Delete unconfirmed and fixed bugs
2800 sections. Incorporate the former contents of GUIDELINES.
2801
2802 * bz2lib/: Remove.
2803 * zlib/: Remove.
ca2b7505 2804 * Makefile.am (DIST_SUBDIRS, SUBDIRS):
e76de0f5
MB
2805 * configure.in: Remove AC_CONFIG_SUBDIRS for removed subdirs.
2806 * compress_bz.h: Remove complex _WIN32 preprocessor conditional.
2807 * compress_gz.h: Fix #include file name.
2808 * archive_tar_file.cc: Remove unused #include.
2809 * install.cc: Remove unused #include.
2810
069a187a
MB
28112005-01-27 Max Bowsher <maxb@ukf.net>
2812
2813 Set CYGWIN=nontsec, for postinstall scripts.
2814
2815 * main.cc (main): putenv("CYGWIN=nontsec").
2816
b4cf6208
MB
28172005-01-27 Bas van Gompel <patch-cygsup.buzz@bavag.tmfweb.nl>
2818
2819 Fix corrupt display of ini parse percentage in log file.
2820
2821 * ini.cc (GuiParseFeedback): Use a sensible data type for lastpct.
2822
eff7a094
MB
28232004-12-29 Max Bowsher <maxb@ukf.net>
2824
2825 * site.cc (get_site_list): Filter the incoming mirrors list to contain
2826 only URL schemes that we can read.
2827
2c539780
MB
28282004-12-28 Max Bowsher <maxb@ukf.net>
2829
2830 The Big Cleanup: Phase "hash"
2831
2832 * hash.cc, hash.h: Delete.
2833 * Makefile.am (setup_SOURCES): Sync with deleted files.
2834
2835 * package_mets: Modify includes.
2836 (standard_dirs): Remove.
2837 (hash::add_subdirs): Remove.
2838 (packagemeta::uninstall): Re-implement using STL set instead of
2839 homebrew hash.
2840
4abaa9f9
MB
28412004-12-28 Max Bowsher <maxb@ukf.net>
2842
2843 * String++.h (operator std::string): Take care to never do
2844 std::string((char*)NULL) - it causes a hang!
2845
a77b6167
MB
28462004-12-27 Max Bowsher <maxb@ukf.net>
2847
2848 The Big Cleanup: Phase "log"
2849
2850 * log.cc, log.h: Delete old C-style compatibility wrapper around the
2851 logging subsystem.
2852 * Makefile.am (setup_SOURCES): Sync with deleted files.
2853
2854 * AntiVirus.cc, archive_tar_file.cc, ini.cc, install.cc,
2855 * io_stream_cygfile.cc, localdir.cc, msg.cc, net.cc, netio.cc,
2856 * netio.h, nio-ftp.cc, nio-ftp.h, root.cc, source.cc:
2857 Throughout, refine includes, and update code using the old
2858 compatibility wrapper to C++ streams style code.
2859
b16e07fc
MB
28602004-12-27 Max Bowsher <maxb@ukf.net>
2861
2862 * compress.cc: Refine includes. Remove placeholder function
2863 definitions. Make destructor an empty function.
2864 * compress.h: Refine includes. Make placeholder functions pure
2865 virtual. Add missing const on buffer argument to write function,
2866 to match derived classes.
2867 * compress_bz.cc, compress_gz.cc: Refine includes. Throw exception,
2868 rather than logging and returning an error, when an unimplemented
2869 function is called.
2870 * compress_bz.h, compress_gz.h: Refine includes.
2871
2b734ec7
MB
28722004-12-26 Max Bowsher <maxb@ukf.net>
2873
2874 The Big Cleanup: Phase "version"
2875
2876 * String++.h (operator std::string): Add.
2877 * desktop.cc, fromcwd.cc: Remove irrelevant include.
2878
2879 * version.cc, version.h: Delete, replacing all functionality in new
2880 files.
2881
2882 * setup_version.h: Add, taking over declaration of generated version
2883 symbol functionality.
2884
2885 * Makefile.am (setup_SOURCES): Sync with new/deleted files.
2886 (setup_version.c): Rename the symbol 'version' to 'setup_version'.
2887 * main.cc: Modify includes.
2888 (main): Adapt to setup_version rename.
2889 * splash.cc: Modify includes.
2890 (SplashPage::OnInit): Adapt to setup_version rename.
2891
2892 * csu_util/version_compare.cc, csu_util/version_compare.h: Add,
2893 containing a completely rewritten replacement for canonical_version().
2894
2895 * IniDBBuilderPackage.cc: Modify includes.
2896 (IniDBBuilderPackage::buildVersion): Use new version_compare API.
2897 * ini.cc: Modify includes.
2898 (setup_version): Rename...
2899 (ini_setup_version): ...to this.
2900 (do_local_ini, do_remote_ini): Adapt to above change.
2901 (do_ini_thread): Adapt to above change. Use new version_compare API.
2902
0f45aabe
MB
29032004-12-25 Max Bowsher <maxb@ukf.net>
2904
2905 * install.cc (Installer::installOneSource): Remove a stray "break;"
2906 left over from the switch-case -> if-else conversion in the previous
2907 change.
2908
4875ac88
MB
29092004-12-25 Max Bowsher <maxb@ukf.net>
2910
2911 The Big Cleanup: Phase "win32"
2912
2913 * win32.h: Major overhaul. Document why we use _WIN32_IE. Move out
2914 fragment dealing with alloca() to the single file in which it is used.
2915 Remove fragment dealing with _MAX_PATH, and convert all uses of it
2916 elsewhere to MAX_PATH. Remove random include of <stdarg.h>. Remove
2917 NOCOMATTRIBUTE, as setup contains no code which it affects. Remove
2918 includes of <wininet.h> and <windowsx.h> - see later in this log.
2919 (IsWindowsNT): New inline function, a much simpler implementation of
2920 Win32::OS().
2921
2922 * win32.cc: Delete.
2923
2924 * Makefile.am (setup_SOURCES): Remove "win32.cc".
2925
2926 * AntiVirus.cc (detect), PickPackageLine.cc (PickPackageLine::paint),
2927 * install.c (Installer::installOneSource):
2928 Use IsWindowsNT(), not Win32::OS().
2929 * main.cc (main): Use IsWindowsNT(), not locally defined iswinnt.
2930
2931 * PickView.cc (PickView::WindowProc), netio.cc (auth_proc),
2932 * proppage.cc (PropertyPage::DialogProc):
2933 Avoid using obfuscating macros from <windowsx.h>.
2934
2935 * archive.cc: Include or #define alloca() in the only file in which
2936 it is used.
2937
2938 * nio-ie5.h: Include <wininet.h> here, where it is actually needed,
2939 rather than in "win32.h" which is included almost everywhere.
2940
2941 * archive_tar.cc, archive_tar.h, cygpackage.cc, cygpackage.h,
2942 * desktop.cc, find.cc, install.cc, main.cc, mklink2.c, mount.cc,
2943 * script.cc: Use MAX_PATH, not _MAX_PATH.
2944
f4a981ab
MB
29452004-12-25 Max Bowsher <maxb@ukf.net>
2946
2947 Remove some overcomplications.
2948
2949 * Makefile.am (setup_SOURCES): Remove FilterVisitor.{cc,h}.
2950 * FilterVisitor.cc, FilterVisitor.h: Delete.
2951 * String++.cc (strmatch, String::matches): Remove.
2952 * String++.h (String::matches): Remove.
2953 * postinstall.cc: Do not include "FilterVisitor.h".
2954 (RunFindVisitor): Exclude items with the extension ".done".
2955 (do_postinstall_thread): Remove overcomplicated exclusion of items
2956 with the extension ".done".
2957
768d880e
MB
29582004-12-24 Max Bowsher <maxb@ukf.net>
2959
2960 * String++.cc, String++.h: Remove unused and incomplete code.
2961 * LogFile.cc (LogFile::log_save): Don't leak memory.
2962 * filemanip.cc, geturl.cc, root.cc, version.cc:
2963 Don't pointlessly create temporary copies strings.
2964
db165a9a
MB
29652004-12-23 Max Bowsher <maxb@ukf.net>
2966
2967 * choose.cc (ChooserPage::OnNext): Relegate some overly verbose
2968 logging to an #ifdef DEBUG section.
2969 * geturl.h (dismiss_url_status_dialog): Remove stale function
2970 declaration, for which there is no definition.
2971 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile):
2972 Motivated by the recent unexplained hang bug, add some extra logging.
2973
0229b1d7
MB
29742004-11-22 Max Bowsher <maxb@ukf.net>
2975
2976 * MD5++.cc, MD5++.h: Remove this class.
2977 * csu_util/MD5Sum.cc, csu_util/MD5Sum.h: New more complete MD5 class.
2978 * Makefile.am (setup_SOURCES): Adjust to new files.
2979 * download.cc (validateCachedPackage): Simplify, using the new class.
2980 * install.cc (md5_one): Ditto.
2981 * package_source.h (packagesource::md5): Change to be an object of the
2982 new class.
2983
2c4261a8
MB
29842004-11-22 Max Bowsher <maxb@ukf.net>
2985
ba102d1c
MB
2986 * main.cc (main): Fix bug in one of the 2004-11-19 commits.
2987 Avoid referring to the theLog pointer before it is set.
2c4261a8 2988
9132ff16
MB
29892004-11-20 Max Bowsher <maxb@ukf.net>
2990
2991 * res.rc (IDD_SOURCE): Clarify the radio-button option descriptions.
2992 Re-layout the radio buttons.
2993
6beebaa3
MB
29942004-11-20 Max Bowsher <maxb@ukf.net>
2995
2996 Repair the broken detection of wrongly-sized package files.
2997
2998 * download.cc (validateCachedPackage): Make static, since not used
2999 elsewhere. Improve logging. Migrate file-size tests to here, alongside
3000 the MD5 tests.
3001 (check_for_cached): Remove broken testing of file-size, now covered by
3002 the above. Code cleanups.
3003
54ff37c8
MB
30042004-11-19 Max Bowsher <maxb@ukf.net>
3005
3006 * package_version.cc (dumpAndList): Make dependencies much more
3007 readable in full log output.
3008
4d7a6eeb
MB
30092004-11-19 Max Bowsher <maxb@ukf.net>
3010
3011 * proppage.cc (PropertyPage::DialogProc): Wrap in a TOPLEVEL_CATCH
3012 block, since allowing exceptions to unwind into the guts of Windows is
3013 quite disasterous.
3014
c66b9174
MB
30152004-11-19 Max Bowsher <maxb@ukf.net>
3016
3017 * main.cc (main): Move option parsing code earlier - it must execute
3018 before any significant object creations, which might test options in
3019 their initialization.
3020
82b64f8a
MB
30212004-11-19 Max Bowsher <maxb@ukf.net>
3022
3023 * main.cc (main): Remove some junk code - either commented out, or
3024 contained within unreachable preprocessor conditional sections.
3025
4fa49408
MB
30262004-11-19 Max Bowsher <maxb@ukf.net>
3027
3028 * install.cc (Installer::installOneSource): Avoid leaking the open
3029 file handles of every tarball that is installed.
3030
0e9a5c4f
MB
30312004-11-19 Max Bowsher <maxb@ukf.net>
3032
3033 * package_source.h (packagesource::Canonical, packagesource::Base)
3034 (packagesource::Filename): Add "const" specification to accessor
3035 methods.
3036
6b68e703
MB
30372004-11-18 Max Bowsher <maxb@ukf.net>
3038
3039 * archive.h (archive::~archive): Define a pure virtual destructor to
3040 enforce the abstract nature of this class.
3041 * archive.cc (archive::~archive): Pure virtual destructors require an
3042 implementation! Add one.
3043 * io_stream.h (io_stream::destroyed): Remove this severely
3044 brain-damaged implementation of a weakly-enforced abstract class.
3045 The pure virtual destructor was strongly enforcing the abstract nature
3046 anyway.
3047 * io_stream.cc (io_stream::~io_stream): Empty out horribly pointless
3048 code from the pure virtual destructor.
3049 * archive_tar.cc (archive_tar::~archive_tar): Remove all
3050 reference to the removed "destroyed" member.
3051 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
3052 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
3053 * compress_gz.cc (compress_gz::~compress_gz): Ditto.
3054 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Ditto.
3055 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
3056 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
3057
51200ef2
MB
30582004-11-17 Max Bowsher <maxb@ukf.net>
3059
3060 * mount.cc (create_mount): Fix operator precedence error introduced in
3061 first 2004-11-11 commit - warned of by gcc 3.3.3 but not 3.4.1 !
3062
f5d45c3b
MB
30632004-11-13 Max Bowsher <maxb@ukf.net>
3064
3065 Miscellaneous cleanup.
3066
3067 * geturl.cc (getUrlToStream): Make static.
3068 * geturl.h (getUrlToStream): Remove declaration.
3069
3070 * geturl.cc, geturl.h, netio.cc, netio.h, nio-ftp.cc, nio-ftp.h,
3071 nio-http.cc, nio-http.h:
3072 Remove unused "allow_ftp_auth" flag throughout.
3073
f4d80c3f
MB
30742004-11-11 Max Bowsher <maxb@ukf.net>
3075
3076 * libmd5-rfc: New directory, to hold code imported from the libmd5-rfc
3077 project in a clearly delineated fashion.
3078 * libmd5-rfc/README: New file.
3079 * md5.c, md5.h: Delete...
3080 * libmd5-rfc/md5.c, libmd5-rfc/md5.h: ...and replace with pristine
3081 versions from upstream (only change is restoration of upstream CVS
3082 keyword expansions).
3083 * libmd5-rfc/md5main.c: New file.
3084 * Makefile.ami (setup_SOURCES): Edit file paths.
3085 * download.cc, install.cc: Edit include paths.
3086
68d49419
MB
30872004-11-11 Max Bowsher <maxb@ukf.net>
3088
3089 * dialog.cc (fatal): Make capable of handling a passed-in error code,
3090 as an alternative to calling GetLastError().
3091 * dialog.h (fatal): Adjust prototype as above.
3092 * mount.cc (create_mount): Use the above to correctly report errors.
3093
af111c7d
MB
30942004-10-28 Max Bowsher <maxb@ukf.net>
3095
3096 * LogFile.cc (LogFile::getFileName), splash.cc (SplashPage::Create),
3097 threebar.cc (ThreeBarProgressPage::SetBar2):
3098 Migrate from cistring and string resources
3099 to String and string literals.
3100 * localdir.cc: Remove unneeded #include of "cistring.h".
3101 * cistring.cc, cistring.h: Remove this now-redundant class.
3102 * Makefile.am: Remove mention of the above removed files.
3103 * res.rc, resource.h: Remove obsolete strings and IDs, both those
3104 obseleted by and obselete before the above changes.
3105 * res.rc: Merge the 2 adjacent STRINGTABLEs.
3106
8a264069
MB
31072004-10-27 Max Bowsher <maxb@ukf.net>
3108
3109 * Makefile.am (setup_SOURCES): Add "RECTWrapper.h". It was missing.
3110
b4b8ab8d
MB
31112004-10-25 Bas van Gompel <cygsup-patch.buzz@bavag.tmfweb.nl>
3112
3113 * package_source.cc (packagesource::set_canonical):
3114 Fix one-off in 'base' when ini is in same dir as package.
3115
49560a44
MB
31162004-10-25 Max Bowsher <maxb@ukf.net>
3117
3118 * main.cc (next_dialog): Remove this legacy global variable.
3119 * download.cc (do_download_thread): Return a value instead of setting
3120 a global variable, then returning void.
3121 (do_download_reflector): Look for the next dialog code as a return
3122 value instead of a global variable.
3123
99ff5a8b
MB
31242004-10-25 Max Bowsher <maxb@ukf.net>
3125
3126 * port.h: Remove this redundant file - all contained definitions are
3127 duplicated in "win32.h".
3128 * Makefile.am, UserSetting.cc, UserSettings.cc, archive.cc,
3129 archive_tar.cc, archive_tar_file.cc, choose.cc, compress.cc,
3130 compress_bz.cc, compress_gz.cc, desktop.cc, find.cc, fromcwd.cc,
3131 iniparse.y, install.cc, io_stream_cygfile.cc, io_stream_file.cc,
3132 main.cc, netio.cc, site.cc, version.cc:
3133 Remove all references to "port.h".
3134
46d04e97
MB
31352004-10-25 Max Bowsher <maxb@ukf.net>
3136
3137 Fix compilation with w32api 3.1 and later.
3138
3139 * ControlAdjuster.h, RECTWrapper.h, cistring.h, propsheet.h,
3140 window.cc, window.h: Include "win32.h" not <windows.h> directly.
3141 * win32.h (WINBASEAPI): Define to empty string.
3142
5524909e
IP
31432004-09-13 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3144
3145 * script.cc (run): Kill stdin when running scripts.
3146
84b9cc5e
MB
31472004-09-01 Max Bowsher <maxb@ukf.net>
3148
3149 * Makefile.am: Oops. Unwanted keyword expansion ate the code of the
3150 previous commit. Restore the code, escaped to not look like a keyword.
3151
012374fe
MB
31522004-09-01 Max Bowsher <maxb@ukf.net>
3153
3154 * Makefile.am: Simplify the shell incantation for getting the revision
3155 of ChangeLog from grep-and-sed to just sed.
3156
b4113ac0
MB
31572004-08-31 Max Bowsher <maxb@ukf.net>
3158
3159 Attain GCC 3.4 compatibility.
3160
3161 * PackageSpecification.h (PackageSpecification): Make the
3162 unnecessarily private copy-constructor public.
3163
fc2ba841
MB
31642004-08-30 Max Bowsher <maxb@ukf.net>
3165
3166 Rework the implementation of not including -Werror for specific files,
3167 to a way that does not require hardcoding modified automake output back
3168 into its input.
3169
3170 * Makefile.am (AM_CXXFLAGS, BASECXXFLAGS): Seperate out -Werror.
3171 (autoload.o): Drop this rule, -finline-functions is no longer required
3172 and -Werror is acceptable here now we have __attribute__ ((used)).
3173 (WARNONLY_CFLAGS, inilex.o): Drop these.
3174 (EXTRA_PROGRAMS): Add a fake "warnonly" program.
3175 (warnonly_CXXFLAGS): Set to the $(BASECXXFLAGS).
3176 (warnonly_SOURCES): Set to "inilex.cc".
3177 (EXTRA_setup_SOURCES): Set to $(warnonly_SOURCES).
3178 (setup_SOURCES): Remove "inilex.cc".
3179 (setup_LDADD): Add "warnonly-inilex.o".
3180
d3c2a043
MB
31812004-08-30 Max Bowsher <maxb@ukf.net>
3182
3183 Move closer to GCC 3.4 compatibility.
3184
3185 * IOStreamProvider.h, io_stream_cygfile.cc, io_stream_cygfile.h,
3186 io_stream_file.cc: Do not incorrectly use "enum" after it has been
3187 hidden inside a typedef.
3188 * archive.h: In "virtual func() = 0;", the 0 is a language construct,
3189 not some symbol that might evaluate to 0, and gcc 3.4 enforces this.
3190 * autoload.c (DllInfo.name): Silence warning by making const.
3191 (DLL, autoload_common): __attribute__ ((used)) is now required to
3192 prevent gcc being over-eager in it's optimization, and removing these
3193 seemingly-unused (used only from assembly) functions.
3194 Silences some warnings, too.
3195 * Makefile.am (AM_CXXFLAGS, AM_CFLAGS): The options
3196 -Wstrict-prototypes -Wmissing-prototypes do not apply to C++ and
3197 g++ 3.4 complains about them.
3198
072fb49a
MB
31992004-08-29 Max Bowsher <maxb@ukf.net>
3200
ca2b7505 3201 * Exception.h: Reformatting, #include more, remove incorrect and
072fb49a
MB
3202 less-than-useful comments.
3203 (TOPLEVEL_CATCH): New preprocessor macro.
3204
3205 * LogFile.cc (LogFile::operator()): Throw an exception object, not a
3206 char* string.
3207
3208 Wrap the top-level of each thread (including the main thread) in a
3209 try...catch block, in order to display a useful error message if an
3210 exception is not caught.
3211 * download.cc (do_download_reflector): Here ...
3212 * ini.cc (do_ini_thread_reflector): ... and here ...
3213 * install.cc (do_install_reflector: ... and here ...
3214 * main.cc (main): ... and here ...
3215 * postinstall.cc (do_postinstall_thread): ... and here ...
3216 * site.cc (do_download_site_info_thread): ... and here!
3217
3218 * msg.h: Include a missing header requirement.
3219 * res.rc (IDS_UNCAUGHT_EXCEPTION, IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO):
3220 New strings.
3221 * resource.h (IDS_UNCAUGHT_EXCEPTION)
3222 (IDS_UNCAUGHT_EXCEPTION_WITH_ERRNO): New IDs.
3223
56c41dda
MB
32242004-08-28 Max Bowsher <maxb@ukf.net>
3225
3226 * res.rc (IDS_WINDOW_INIT_BADMSG): New string.
3227 * resource.h (IDS_WINDOW_INIT_BADMSG): New string resource ID.
3228 * window.cc (Window::FirstWindowProcReflector): Convert an abort()
3229 into a descriptive error.
3230
abdd4b38
MB
32312004-08-24 Max Bowsher <maxb@ukf.net>
3232
3233 The Doug Lee replacement malloc was no longer hooked up with the
3234 buildsystem in any way. Pruning the remaining unused file.
3235
3236 * dlmalloc.c: Removed.
3237
24649384
MB
32382004-08-18 Max Bowsher <maxb@ukf.net>
3239
ca2b7505 3240 "librsync is not wire-compatible with rsync 2.x, and is not likely
24649384
MB
3241 to be in the future." -- librsync.sourceforge.net
3242
3243 So, it is of no practical use to setup. Therefore, removing all
3244 rsync related files and code from setup.
3245
3246 * rsync: Directory removed.
3247 * Makefile.am: Remove rsync support from the buildsystem.
3248 * configure.in: Ditto.
3249 * README: Since it seems vanishingly unlikely that it will ever happen,
3250 remove rsync support from the wishlist.
3251 * io_stream_rsync.cc: Remove.
3252 * io_stream_rsync.h: Remove.
3253
2800a92a
RC
32542004-04-25 Robert Collins <rbtcollins@hotmail.com>
3255
24649384
MB
3256 * package_meta.cc (packagemeta::set_requirements): fix problem with
3257 libpcre0 not being pulled in automatically.
2800a92a 3258
304e9816
RC
32592004-04-25 Robert Collins <rbtcollins@hotmail.com>
3260
24649384
MB
3261 * IniDBBuilderPackage.cc (dumpAndList):
3262 Move out to packageversion for reuse.
304e9816 3263 * package_meta.cc (packagemeta::logAllVersions): log dependencies.
24649384
MB
3264 * package_version.cc (packageversion::depends):
3265 provide a const accessor.
304e9816
RC
3266 (dumpAndList): Moved from INIDBBuilder.cc.
3267 * package_version.h: declare new method and function.
3268
5419ce48
RC
32692003-12-21 Robert Collins <rbtcollins@hotmail.com>
3270
3271 * main.cc (main): Update to head libgetopt++ syntax.
3272
201741b7
RC
32732003-11-2 Robert Collins <rbtcollins@hotmail.com>
3274
3275 * ControlAdjuster.h (ControlPosition::CP_MIDDLE): Rename to
3276 CP_CENTERED.
3277 * ControlAdjuster.cc: Ditto.
3278
081bf320
RC
32792003-10-31 Frank Richter <frichter@gmx.li>
3280
ca2b7505
CF
3281 * localdir.cc (OnNext): When SelectDirectoryA() fails, display a
3282 message with the error returned from the system instead of just
081bf320
RC
3283 'could not change dir'. Also, offer the user to 'Retry', 'Ignore' the
3284 error or 'Abort' the directory change.
3285
4b6e5406
RC
32862003-10-31 Frank Richter <frichter@gmx.li>
3287
3288 * propsheet.cc (PropSheetWndProc): Don't do child resizing if a the
3289 window gets minimized. Otherwise some glitches (e.g. wrong child
3290 sizes) occur.
3291 Added support for WM_GETMINMAXINFO. Prevents the property sheet from
3292 getting smaller than the original size.
3293
576a2b0b
RC
32942003-11-1 Robert Collins <rbtcollins@hotmail.com>
3295
3296 * ControlAdjuster.h (ControlDimension): Add.
3297 (ControlAdjuster): Factor adjust functionality into ControlInfo.
3298 * ControlAdjuster.cc (ControlAdjuster::adjust): Ditto.
3299 (ControlAdjuster::ControlInfo::adjust): Ditto.
3300
a8d753b6
RC
33012003-10-31 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3302
3303 * ControlAdjuster.h (ControlPosition): New enum type.
3304 (ControlInfo::horizontalPos, ControlInfo::verticalPos): New
3305 instance variables.
3306 (ControlInfo::anchorLeft, ControlInfo::anchorTop,
3307 ControlInfo::anchorRight, ControlInfo::anchorBottom): Remove.
3308 * ControlAdjuster.cc (ControlAdjuster::AdjustControls): Switch to
3309 using position specifiers instead of anchors.
3310 * choose.cc (ChooserControlsInfo): Ditto.
3311 * proppage.cc (DefaultControlsInfo): Ditto.
3312 * propsheet.cc (PropSheetControlsInfo): Ditto.
3313 * site.cc (SiteControlsInfo): Position specifiers for site
3314 selection dialog controls.
3315 * threebar.cc (ThreeBarControlsInfo): Position specifiers for
3316 progress dialog controls.
3317
c9feb168
RC
33182003-10-27 Ralf Habacker <ralf.habacker@freenet.de>
3319
3320 * main.cc (HelpOption): New instance.
3321 (main): Added help command line option handling.
3322 * localdir.cc (LocalDirOption): New instance.
3323 (LocalDirSetting::load): allow setting localdir from command line.
3324
ee91d9be
RC
33252003-10-16 Frank Richter <frichter@gmx.li>
3326
ca2b7505
CF
3327 * ControlAdjuster.cc: New file, helper to move elements of a dialog
3328 along when the it's resized.
ee91d9be
RC
3329 * ControlAdjuster.h: Ditto.
3330 * Makefile.am: Add new source files.
3331 * proppage.cc (PropertyPage::DialogProc): Adjust some common
3332 controls (Cygwin icon top right, separator below) when a page is
3333 resized.
3334 (PropertyPage::PropertyPage): Dito.
3335 * propsheet.cc (IsDialog): New. Test whether a window is a dialog.
3336 Used internally by resize logic.
3337 (EnumPages): New. Used internally by resize logic: resizes the
3338 property sheet's individual pages.
3339 (PropSheetWndProc): New. Hook for the propery sheet window proc.
3340 (PropSheetProc): More style tweaks, add maximize box and thick border
3341 as well. Hook into the property sheet's window proc.
3342 (PropSheet::AdjustPageSize): New. Adjust the metrics of a single page
3343 to fit nicely into the property sheet. Part of resize logic.
3344 * res.rc (All dialogs): The top-right Cygwin icon and top separator
ca2b7505 3345 now have IDs distinct from IDC_STATIC, so their metrics can be
ee91d9be
RC
3346 adjusted upon a resize. Also, all those Cygwin icons are at the exact
3347 same spot now.
ca2b7505 3348 * choose.cc (ChooserPage::ChooserPage): Now the controls on the
ee91d9be
RC
3349 chooser page move/size when the page size is changed.
3350 * choose.h: Dito.
3351
1622a084
RC
33522003-10-23 Jerry D. Hedden <jerry@hedden.us>
3353
3354 * ConnectionSetting.cc (ConnectionSetting::load): Load proxysettings.
3355 (ConnectionSetting::save): Save proxy settings.
3356
7f6de8c0
RC
33572003-10-07 Robert Collins <rbtcollins@hotmail.com>
3358
3359 * proppage.h (PropertyPage::wantsActivation): const correctness fix.
3360
587a67fc
MB
33612003-08-19 Max Bowsher <maxb@ukf.net>
3362
3363 * win32.h: Define NOMINMAX only if not already defined - because
3364 libstdc++-v3 3.3.1 defines NOMINMAX itself.
3365
58b12a06
MB
33662003-08-03 Max Bowsher <maxb@ukf.net>
3367
3368 * ChangeLog: Fix broken line-wrapping throughout. Clarify that
3369 "Ran automake" in 2003-07-26 entry was in bz2lib and zlib subdirs.
3370
56a7c49e
MB
33712003-08-03 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3372
3373 * propsheet.cc (Copyright): Update copyright dates.
3374 (PropSheet::PropSheet): Remove NumPropPages initialization.
3375 (PropSheet::CreatePages): Use PropertyPages.size() instead of
3376 NumPropPages.
3377 (PropSheet::Create): Ditto.
3378 (PropSheet::AddPage): Change to use new PropertyPages std::vector<>.
3379 * propsheet.h (Copyright): Update copyright dates.
3380 (File Scope): Include <vector>.
3381 (PropSheet::PropertyPages): Change from array to vector<>.
3382 (PropSheet::NumPropPages): Remove.
3383
25130a4d
MB
33842003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3385
3386 Changes modified by Max Bowsher <maxb@ukf.net>
3387 * splash.cc (Copyright): Update copyright dates.
3388 (SplashPage::OnInit): Remove call to SetDlgItemFont(). Now handled in
3389 base class.
3390 * proppage.h (PropertyPage::setTitleFont): Declare.
3391 * proppage.cc (Copyright): Update copyright dates.
3392 (PropertyPage::DialogProc WM_INITDIALOG): Move all font setting code,
3393 including that from splash.cc into new function...
3394 (PropertyPage::setTitleFont): Create, using moved code. Change font
3395 "MS Sans Serif" to "MS Shell Dlg" in line with recent res.rc change.
3396 Set font for IDC_STATIC_WELCOME_TITLE here, to allow easy re-use of
3397 style for future "Finished" page.
3398
62489576
MB
33992003-08-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3400
3401 * propsheet.cc: Include "resource.h".
3402 (PropSheet::Create): Add the Cygwin icon in the left of the title bar.
3403
106d8160
MB
34042003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3405
3406 * proppage.cc (PropertyPage::FirstDialogProcReflector): Modify comment.
3407
5296fc07
MB
34082003-08-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3409
3410 * proppage.h (Copyright): Update copyright dates.
3411 (PropertyPage): Document OnNext and OnBack.
3412
5039f845
MB
34132003-07-31 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3414
3415 * proppage.cc (PropertyPage::Create): Use more self-documenting
3416 MAKEINTRESOURCE() instead of cast to LPCSTR.
3417
672d28ad
RC
34182003-07-31 Robert Collins <rbtcollins@hotmail.com>
3419
3420 * README: Mark completed items complete.
3421
c59b8da6
MB
34222003-07-31 Pierre Humblet <pierre.humblet@ieee.org>
3423
3424 * main.cc (set_default_sec): Set token owner from token user.
3425 Always try to set the token primary group to Users or Admins.
3426
25e21380
IP
34272003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3428
3429 * String++.h (String::replace): New instance functions.
3430 * String++.cc (String::replace): Implement.
3431 * filemanip.cc (backslash): Change to use String::replace.
3432 * desktop.cc (make_cygwin_bat): Escape '%' in path.
3433
346627e7
IP
34342003-07-30 Igor Pechtchanski <pechtcha@cs.nyu.edu>
3435
3436 * String++.h (TOSTRING): New macro.
3437 * UserSettings.cc (UserSettings::deRegisterSetting): Fix
3438 erroneous __LINE__/__FILE__ usage.
3439 * download.cc (validateCachedPackage, check_for_cached): Ditto.
3440 * geturl.cc (getUrlToStream): Ditto.
3441 * install.cc (md5_one): Ditto.
3442
d9f4a2ba
MB
34432003-07-30 Max Bowsher <maxb@ukf.net>
3444
3445 * ini.cc (do_ini_thread): Return bool.
3446 (do_ini_thread_reflector): Put returned bool in lParam.
3447 * threebar.cc (WM_APP_SETUP_INI_DOWNLOAD_COMPLETE): Rework for new
3448 meaning of lParam. Replace erroneous use of do_fromcwd with
3449 SetActivePageByID (IDD_SOURCE).
3450
39b42ff3
RC
34512003-07-30 Robert Collins <rbtcollins@hotmail.com>
3452
3453 * ConnectionSetting.cc: New file, persist connection type selection.
3454 * ConnectionSetting.h: Ditto.
3455 * net.cc: Hold a ConnectionSetting instance to trigger the logic.
3456 (NetPage::OnInit): Don't force net_method to any value.
3457 * Makefile.am: Add new source files.
3458
6ff96351
RC
34592003-07-30 Robert Collins <rbtcollins@hotmail.com>
3460
3461 * SourceSetting.cc: New file, persist source selection.
3462 * SourceSetting.h: Ditto.
3463 * source.cc: Hold a Source setting instance to trigger the logic.
3464 * Makefile.am: Add new source files.
3465
f0fd8856
RC
34662003-07-30 Robert Collins <rbtcollins@hotmail.com>
3467
3468 * UserSettings.h (UserSettings::settingFileForLoad): Extracted method
3469 from LocalDirSetting::load().
3470 * UserSettings.cc (UserSettings::settingFileForLoad): Ditto.
3471 * UserSettings.h (UserSettings::settingFileForSave): Extracted method
3472 from LocalDirSetting::save().
3473 * UserSettings.cc (UserSettings::settingFileForSave): Ditto.
3474 * localdir.cc (LocalDirSetting::load): Extract location logic to
3475 UserSettings.
3476 (LocalDirSetting::save): Extract location logic to UserSettings.
3477 * site.cc (SiteSetting::getSavedSites): Use
3478 UserSettings::settingFileForLoad.
3479 (SiteSetting::save): Use UserSettings::settingFileForSave.
3480
bb8e2353
RC
34812003-07-30 Robert Collins <rbtcollins@hotmail.com>
3482
ca2b7505 3483 * PickView.cc: Adjust ::GetClientRect(..) to the inherited one
bb8e2353
RC
3484 throughout.
3485
b28e9f01
MB
34862003-07-29 Max Bowsher <maxb@ukf.net>
3487
3488 Based on a patch by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
3489 * AntiVirus.cc (AntiVirusPage::wantsActivation): Define.
3490 * AntiVirus.h (AntiVirusPage::wantsActivation): Declare.
3491 * localdir.cc (LocalDirPage::OnBack): Remove logic subsumed by
3492 RootPage::wantsActivation.
3493 * proppage.cc (PropertyPage::DialogProc): Call wantsActivation(),
3494 and skip to next page in sequence if activation is refused.
3495 * proppage.h (PropertyPage::wantsActivation): Default implementation.
3496 * root.cc (RootPage::wantsActivation): Define.
3497 * root.h (RootPage::wantsActivation): Declare.
3498 * source.cc: Don't include "AntiVirus.h".
3499 (SourcePage::OnNext): Remove logic subsumed by
3500 RootPage::wantsActivation.
3501 (SourcePage::OnBack): Remove logic subsumed by
3502 AntiVirusPage::wantsActivation.
3503 * splash.cc: Don't include "AntiVirus.h" or "dialog.h".
3504 (SplashPage::OnNext): Remove - subsumed by
3505 AntiVirusPage::wantsActivation.
3506 * splash.h (SplashPage::OnNext): Remove declaration.
3507
ec2dbbf0
RC
35082003-07-29 Robert Collins <rbtcollins@hotmail.com>
3509
3510 * PickView.h (PickView::refresh): New method.
3511 * PickView.cc (PickView::refresh): Extracted from various
3512 ChooserPage callers.
3513 * choose.cc: Use PickView::refresh wherever possible.
3514
bc16bb7d
RC
35152003-07-29 Robert Collins <rbtcollins@hotmail.com>
3516
3517 * choose.h (ChooserPage::createListView): Remove last parameter.
3518 (ChooserPage::getDefaultListViewSize): Extracted method.
3519 * choose.cc (ChooserPage::createListView): Remove last parameter.
3520 (ChooserPage::getDefaultListViewSize): Extracted method.
3521
952ea3fe
RC
35222003-07-29 Robert Collins <rbtcollins@hotmail.com>
3523
ca2b7505 3524 * choose.cc (ChooserPage::createListView): Remove unneeded
952ea3fe
RC
3525 parameter.
3526 * choose.h: Ditto.
3527
55c6e691
MB
35282003-07-29 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3529
3530 * dialog.h (do_fromcwd): Change function declaration.
3531 * fromcwd.cc (do_fromcwd): Change return type to bool. Eliminate
3532 use of next_dialog, return true or false instead.
3533 * localdir.cc (LocalDirPage::OnNext): Use do_fromcwd()'s return
3534 value instead of next_dialog.
3535
2f18f94d
RC
35362003-07-29 Robert Collins <rbtcollins@hotmail.com>
3537
3538 * package_db.h (packagedb::fillMissingCategory): Move from ChooserPage.
3539 * choose.h (ChooserPage::fillMissingCategory): Delete.
3540 * package_db.cc (packagedb::fillMissingCategory): Move from ChooserPage.
ca2b7505 3541 * choose.cc (ChooserPage::fillMissingCategory): Delete and adjust
2f18f94d
RC
3542 callers.
3543
525531ca
RC
35442003-07-29 Robert Collins <rbtcollins@hotmail.com>
3545
3546 * PickView.h (CATEGORY_EXPANDED): Move from choose.h
3547 (CATEGORY_COLLAPSED): Move from choose.cc.
3548 (PickView::setViewMode): Move from ChooserPage.
3549 * choose.h (CATEGORY_EXPANDED): Delete.
3550 (CATEGORY_COLLAPSED): Delete.
3551 (ChooserPage::setViewMode): Delete.
3552 * PickView.cc (PickView::setViewMode): Move from ChooserPage.
3553 * chooser.cc (ChooserPage::setViewMode): Delete, and adjust callers
3554 throughout.
3555
0f61a6a4
MB
35562003-07-28 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3557
3558 * AntiVirus.cc (AntiVirusPage::OnNext): Do not explicitly specify the
3559 page to display next, since it follows in the default page ordering
3560 anyway.
3561
6d751ec8
MB
35622003-07-28 Max Bowsher <maxb@ukf.net>
3563
3564 * dialog.h: (NEXT): Remove obsolete macro.
3565 * site.cc (save_dialog): Remove use of NEXT(), and non-functional
3566 unnecessary error handler.
3567
358712d8
RC
35682003-07-28 Robert Collins <rbtcollins@hotmail.com>
3569
3570 * package_meta.h (packagemeta::addToCategoryAll): Declare.
ca2b7505 3571 * package_meta.cc (packagemeta::addToCategoryAll): New method,
358712d8
RC
3572 separated to allow clear iteration.
3573 * choose.cc (ChooserPage::fillMissingCategory): BUGFIX: "all" is
3574 meant to be added unconditionally.
3575
31f0ccce
RC
35762003-07-27 Robert Collins <rbtcollins@hotmail.com>
3577
3578 * Generic.h: New file, home for generic programming tools.
3579 (visit_if): Move here from package_meta.cc.
3580 Adjust to be fully parameterised.
ca2b7505 3581 * package_meta.h (packagemeta::hasNoCategories): Query for generic
31f0ccce
RC
3582 programming.
3583 (packagemeta::setDefaultCategories): set categories for packages
3584 with none.
ca2b7505 3585 * package_meta.cc: Move visit_if out. Adjust users for
31f0ccce
RC
3586 full paramterised operation.
3587 (packagemeta::hasNoCategories): Implement.
3588 (packagemeta::setDefaultCategories): Implement.
3589 * choose.cc (ChooserPage::fillMissingCategory): Use visit_if to
3590 reduce duplicate code.
3591 (ChooserPage::setExistence): Delete.
ca2b7505 3592 * choose.h (ChooserPage::setExistence): Rename to
31f0ccce
RC
3593 packagedb::setExistence.
3594 * package_db.h (packagedb::setExistence): Declare.
3595 * package_db.cc (packagedb::setExistence): Copy from choose.cc
3596
dbdc1d9d
RC
35972003-07-27 Robert Collins <rbtcollins@hotmail.com>
3598
3599 * localdir.h (LocalDirPage::OnInit): Remove.
3600 * localdir.cc (LocalDirPage::OnInit): Move to LocalDirSetting
3601 ::load().
3602 (LocalDirSetting::load): Copied from LocalDirPage::OnInit.
3603 * site.h (SitePage::OnInit): Remove.
3604 (SitePage::getSavedSites): New member, replaces get_saved_sites.
ca2b7505 3605 (SitePage::registerSavedSite): New member, replaces
dbdc1d9d
RC
3606 register_saved_site.
3607 * site.cc (SitePage::OnInit): Move to SiteSetting::load().
3608 (SiteSetting::load): Copied from SitePage::OnInit.
3609 (SitePage::getSavedSites): Renamed from get_saved_sites.
3610 (SitePage::registerSavedSite): Renamed from register_saved_site.
3611 (do_download_site_info_thread): Don't look at the list size for
3612 determining if the download was successful.
3613
22120c90
RC
36142003-07-27 Robert Collins <rbtcollins@hotmail.com>
3615
ca2b7505 3616 * choose.h (ChooserPage::setViewMode): Remove HWND from
22120c90
RC
3617 signature.
3618 (ChooserPage::defaultTrust): Ditto.
3619 Move to PickView.
ca2b7505 3620 (ChooserPage::ifChecked): Use Window helper function
22120c90
RC
3621 IsButtonChecked.
3622 * choose.cc (ChooserPage::setViewMode): Use chooser->GetHWND()
3623 throughout.
3624 Update all callers with new signature.
3625 (ChooserPage::defaultTrust): Ditto.
3626 Move to PickView.
3627 * PickView.h (PickView::defaultTrust): Declare.
3628 * PickView.cc (PickView::defaultTrust): Copy from chooser.cc.
3629
9c9cfce7
RC
36302003-07-27 Robert Collins <rbtcollins@hotmail.com>
3631
3632 * PickView.h (PickView::lv): Eliminate.
3633 * PickView.cc (PickView::init): Replace use of lv with
3634 GetHWND().
ca2b7505 3635 (PickView::list_click): Ditto.
9c9cfce7
RC
3636 * choose.h (ChooserPage::lv): Eliminate.
3637 * choose.cc: Replace lv with chooser->GetHWND()
3638 throughout.
3639
d2be933d
RC
36402003-07-27 Robert Collins <rbtcollins@hotmail.com>
3641
3642 * PickView.h (PickView::chooser): Eliminate.
3643 (PickView::list_vscroll): Make non-static.
3644 (PickView::list_hscroll): Ditto.
3645 (PickView::list_click): Ditto.
3646 (PickView::paint): Ditto.
3647 * PickView.cc (PickView::list_vscroll): Eliminate use
3648 of PickView::chooser.
3649 (PickView::list_hscroll): Ditto.
3650 (PickView::list_click): Ditto.
3651 (PickView::paint): Ditto.
3652 * choose.cc (Chooser::createListView): Eliminate use
3653 of PickView::chooser.
3654
693916f8
RC
36552003-07-27 Robert Collins <rbtcollins@hotmail.com>
3656
3657 * PickView.h (PickView): Inherit from Window.
3658 (PickView::RegisterWindows): Move from ChooserPage.
3659 (PickView::listview_proc): Likewise.
3660 (PickView::paint): Ditto.
3661 (PickView::list_click): Ditto.
3662 (PickView::list_hscroll): Ditto.
3663 (PickView::list_vscroll): Ditto.
3664 (PickView::lv): Ditto.
3665 (PickView::chooser): Ditto.
3666 (PickView::Create): Override Windows::Create as we migrate.
3667 (PickView::registerWindowClass): Renamed RegisterWindows.
3668 (PickView::WindowClassAtom): Prevent double registration.
3669 (PickView::init): Declare.
3670 * PickView.cc: Adjust for new inheritance.
3671 (PickView::RegisterWindows): Move from ChooserPage.
3672 (PickView::listview_proc): Likewise.
3673 (PickView::paint): Ditto.
3674 (PickView::list_click): Ditto.
3675 (PickView::list_hscroll): Ditto.
3676 (PickView::list_vscroll): Ditto.
3677 (PickView::lv): Ditto.
3678 (PickView::chooser): Ditto.
3679 (PickView::Create): Introduce stub.
3680 (PickView::RegisterWindows): Rename
3681 (PickView::init): Extracted from constructor to allow
3682 reordering.
ca2b7505 3683 * chooser.h (ChooserPage::registerWindows): Rename to
693916f8
RC
3684 PickView::RegisterWindows.
3685 (ChooserPage::listview_proc): Likewise.
3686 (ChooserPage::paint): Ditto.
3687 (ChooserPage::list_click): Ditto.
3688 (ChooserPage::list_hscroll): Ditto.
3689 (ChooserPage::list_vscroll): Ditto.
ca2b7505 3690 (ChooserPage::lv): Duplicate into PickView, observe
693916f8
RC
3691 as non-static.
3692 (ChooserPage::chooser): Ditto.
3693 * chooser.cc (ChooserPage::registerWindows): Delete.
3694 (ChooserPage::listview_proc): Ditto.
3695 (ChooserPage::paint): Ditto.
3696 (ChooserPage::list_click): Ditto.
3697 (ChooserPage::list_hscroll): Ditto.
3698 (ChooserPage::list_vscroll): Ditto.
3699 (ChooserPage::createListView): Create() on PickView.
ca2b7505 3700 * window.h (Window::RegisterWindowClass): Make virtual
693916f8
RC
3701 to allow Create to become a Template Method, and rename
3702 to registerWindowClass as it's not static.
3703 * window.cc (Window::registerWindowClass): Ditto.
3704 (Window::FirstWindowProcReflector): BUGFIX: Set window
3705 handle to prevent races with the window procedure.
3706
724c2956
RC
37072003-07-27 Robert Collins <rbtcollins@hotmail.com>
3708
3709 * choose.cc (set_view_mode): Rename to ChooserPage::setViewMode.
3710 (default_trust): Rename to ChooserPage::defaultTrust.
3711 (fill_missing_category): Rename to ChooserPage::fillMissingCategory.
3712 (set_existence): Rename to ChooserPage::setExistence.
3713 (register_windows): Rename to ChooserPage::registerWindows.
3714 (listview_proc): Rename to ChooserPage::listview_proc.
3715 (paint): Rename to ChooserPage::paint.
3716 (list_click): Rename to ChooserPage::list_click.
3717 (list_hscroll): Rename to ChooserPage::list_hscroll.
3718 (list_vscroll): Rename to ChooserPage::list_vscroll.
3719 (lv): Rename to ChooserPage::lv.
3720 (chooser): Rename to ChooserPage::chooser.
3721 * choose.h (ChooserPage::setViewMode): Declare.
3722 (ChooserPage::defaultTrust): Declare.
3723 (ChooserPage::fillMissingCategory): Declare.
3724 (ChooserPage::setExistence): Declare.
3725 (ChooserPage::registerWindows): Declare.
3726 (ChooserPage::listview_proc): Declare.
3727 (ChooserPage::paint): Declare.
3728 (ChooserPage::list_click): Declare.
3729 (ChooserPage::list_hscroll): Declare.
3730 (ChooserPage::list_vscroll): Declare.
3731 (ChooserPage::lv): Declare.
3732 (ChooserPage::chooser): Declare.
3733
d05ae76a
RC
37342003-07-27 Robert Collins <rbtcollins@hotmail.com>
3735
ca2b7505 3736 * choose.cc (create_listview): Use for_each instead of explicit
d05ae76a
RC
3737 iteration.
3738 (create_listview): Rename to ChooserPage::createListview.
3739 * package_meta.h (packagemeta::set_requirements): Explicitly separate
3740 the 1 and 2 parameter versions.
3741
37422003-07-27 Robert Collins <rbtcollins@hotmail.com>
69711722
RC
3743
3744 * String++.h (String::operator !=): Declare for char * and String.
3745 * String++.cc (String::operator !=): Implement.
3746 * package_meta.cc(StringConcatenator): Move above all users.
3747 (_visit_if): Predicate support for visitors.
ca2b7505 3748 (packagemeta::getReadableCategoryList): Refactor to use
69711722
RC
3749 StringConcatenator with a predicate.
3750 * choose.h: Remove unneeded c++ guards.
3751
cda26207
RC
37522003-07-26 Robert Collins <rbtcollins@hotmail.com>
3753
58b12a06
MB
3754 * choose.cc (scan_downloaded_files): Rename to
3755 packagemeta::ScanDownloadedFiles.
cda26207
RC
3756 (scanAVersion): Rename to packageversion::scan.
3757 (GetParentRect): Rename to ChooserPage::getParentRect.
3758 * choose.h (ChooserPage::getParentRect): Declare.
3759 * package_meta.h (packagemeta::ScanDownloadedFiles): Declare.
3760 * package_version.h (packageversion::scan): Declare.
3761 * package_version.cc (packageversion::scan): Move from choose.cc
58b12a06
MB
3762 * package_meta.cc (packagemeta::ScanDownloadedFiles): Move from
3763 choose.cc
cda26207 3764
edc3c6fc
RC
37652003-07-26 Robert Collins <rbtcollins@hotmail.com>
3766
3767 * choose.cc (ChooserPage::OnNext): log before starting activity threads.
3768 (ChooserPage::OnInit): Remove temporary variable frame.
3769 (ChooserPage::setPrompt): Extract method from OnInit.
3770 (choose_inst_text): Remove unused variable.
3771 * choose.h(ChooserPage::setPrompt): Declare
3772 * res.rc (IDD_CHOOSE): Bugfix: the chooser was setting a non-present
3773 caption.
3774
d55e14fe
RC
37752003-07-26 Robert Collins <rbtcollins@hotmail.com>
3776
3777 Remove package specific code from choose.cc.
3778 Update copyrights where appropriate.
3779 * choose.cc(ChooserPage::OnNext): Extract logging to
3780 packagemeta::logSelectionStatus.
3781 * package_meta.cc(packagemeta::logSelectionStatus): Extract from
3782 ChooserPage::OnNext.
3783 (StringConcatenator): helper for logSelectionStatus.
3784 (action_caption): Make const.
3785 * package_meta.h(packagemeta): Declare logSelectionStatus.
3786 (packagemeta::action_caption): Make const.
3787 * package_version.cc(packageversion::sourcePackage): Make const.
3788 * package_version.h(packageversion::sourcePackage): Make const.
3789
12f8ac69
RC
37902003-07-26 Robert Collins <rbtcollins@hotmail.com>
3791
3792 * choose.cc: Update copyright.
3793 (ChooserPage::keepClicked): Extracted from OnMessageCmd.
3794 (ChooserPage::changeTrust): Ditto.
3795 * choose.h (ChooserPage): Declare keepClicked and changeTrust.
3796 (ChooserPage::ifChecked): Extracted from OnMessageCmd.
58b12a06
MB
3797 * package_meta.h (SetRequirement): Adapter for visiting package
3798 collections.
12f8ac69 3799
93d7e783
MB
38002003-07-26 Max Bowsher <maxb@ukf.net>
3801
3802 * tests/.cvsignore: New file, listing Makefile.in.
3803
dea6cc21
RC
38042003-07-26 Robert Collins <rbtcollins@hotmail.com>
3805
3806 Save used local cache dir from initial run of setup, so the user doesn't
3807 need to retype it.
58b12a06
MB
3808 * localdir.h (LocalDirSetting): UserSetting class for the local cache
3809 dir.
3810 * localdir.cc (LocalDirSetting::save): Replace save_local_dir, and
3811 update callers.
dea6cc21 3812
0df9be37
RC
38132003-07-26 Robert Collins <rbtcollins@hotmail.com>
3814
ca2b7505 3815 Save used site from initial run of setup, so the user doesn't need to
0df9be37
RC
3816 retype it.
3817 * main.cc (main): Load and save all user settings.
3818 * site.cc (SiteSetting::save): Migrate logic from save_site_url.
58b12a06
MB
3819 (SitePage::OnNext): Use ChosenSites.save() to remove uneeded
3820 save_site_url call.
0df9be37
RC
3821 (save_site_url): Delete.
3822 * site.h (save_site_url): Remove declaration.
3823 * .cvsignore: Update autoconf generated files.
3824
bf137801
RC
38252003-07-26 Robert Collins <rbtcollins@hotmail.com>
3826
3827 * tests/Makefile.am: Driver for test suite.
3828 * tests/UserSettingTest.cc: Test UserSetting interface.
3829 * tests/UserSettingsTest.cc: Test UserSettings interface.
3830 * Makefile.am: Add the tests dir to recurse into.
3831 * configure.in: Ditto.
58b12a06
MB
3832 * UserSetting.h: Add load and save methods to allow global
3833 serialisation.
bf137801
RC
3834 Add explicit copy and assignment operators to prevent synthetics.
3835 Make the constructor protected to prevent direct instantiation.
3836 * UserSettings.h (UserSettings::loadAllSettings): New method.
3837 (UserSettings::savedAllSettings): New method.
3838 * UserSettings.cc: Implement new methods.
3839 * site.cc: Implement stubs for new required UserSetting methods.
3840 * site.h (ChosenSite): Ditto.
58b12a06
MB
3841 * bz2lib/: Ran automake.
3842 * zlib/: Ran automake.
bf137801 3843
3d5a4f16
MB
38442003-07-23 Max Bowsher <maxb@ukf.net>
3845
3846 * desktop.cc (DesktopSetupPage::OnBack): Remove obsolete use of NEXT().
3847 * root.cc (RootPage::OnNext): Ditto.
3848 (RootPage::OnBack): Ditto.
3849 * install.cc (do_install_thread): Remove obsolete use of next_dialog.
3850 * main.cc (main): Ditto.
3851 * postinstall.cc (do_postinstall_thread): Ditto.
3852
7108d406
MB
38532003-07-23 Max Bowsher <maxb@ukf.net>
3854
3855 * dialog.h (do_choose, do_desktop, do_local_dir, do_net, do_other)
3856 (do_root, do_site, do_source, do_splash): Remove declarations, since
3857 these functions no longer exist.
3858
b1c23913
MB
38592003-07-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3860
3861 * choose.cc (initialized): Remove obsolete file scope variable.
3862
d52a6cc8
MB
38632003-07-18 Max Bowsher <maxb@ukf.net>
3864
3865 * res.rc: Make caption of every dialog page begin with "Cygwin Setup".
3866 This aids recognition when minimized.
3867 Prompted by Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>.
3868
9d53f045
MB
38692003-07-10 Jeremy White <jwhite@codeweavers.com>
3870
3871 * mount.cc, root.cc, site.cc: Make StringOptions required,
3872 thereby making --longopt <parm> behave as a newbie would expect.
3873
12e726c4
MB
38742003-07-08 Max Bowsher <maxb@ukf.net>
3875
3876 * LogFile.h, cistring.h, dialog.h, diskfull.h, filemanip.h, geturl.h,
3877 hash.h, log.h, mkdir.h, mklink2.h, mount.h, msg.h, netio.h, nio-file.h,
3878 nio-ftp.h, nio-http.h, nio-ie5.h, port.h, simpsock.h, state.h,
3879 version.h: Add inclusion guard.
3880 * root.h: Standardize naming of inclusion guard.
3881
c93bc6d0
MB
38822003-06-23 Max Bowsher <maxb@ukf.net>
3883
3884 * AntiVirus.h, Exception.h, FilterVisitor.h, FindVisitor.h,
3885 IOStreamProvider.h, IniDBBuilder.h, IniDBBuilderPackage.h,
3886 IniParseFeedback.h, IniParseFindVisitor.h, LogSingleton.h, MD5++.h,
3887 PackageSpecification.h, PackageTrust.h, PickCategoryLine.h, PickLine.h,
3888 PickPackageLine.h, PickView.h, RECTWrapper.h, ScanFindVisitor.h,
3889 String++.h, UserSetting.h, UserSettings.h, archive.h, archive_tar.h,
3890 category.h, choose.h, compress.h, compress_bz.h, compress_gz.h,
3891 cygpackage.h, desktop.h, download.h, find.h, ini.h, io_stream.h,
3892 io_stream_cygfile.h, io_stream_file.h, io_stream_memory.h,
3893 io_stream_rsync.h, localdir.h, net.h, package_db.h, package_meta.h,
3894 package_source.h, package_version.h, proppage.h, propsheet.h, script.h,
3895 site.h, source.h, splash.h, threebar.h, win32.h, window.h:
3896 Standardize naming and placement of inclusion guards.
3897
4a2af5fb
MB
38982003-06-22 Benjamin Riefenstahl <Benjamin.Riefenstahl@epost.de>
3899
3900 * res.rc (all dialogs): Change font from "MS Sans Serif" to
3901 "MS Shell Dlg".
3902
8b726ef6
MB
39032003-06-22 Max Bowsher <maxb@ukf.net>
3904
3905 * Makefile.am: Clarify comment.
3906 Derive AM_CFLAGS from AM_CXXFLAGS, rather than the other way around.
3907 (AM_CXXFLAGS): Remove -Wmissing-declarations - it is a C-only warning.
3908 (AM_CFLAGS): Add -Winline, and -Wmissing-declarations.
3909
1e9ebf8a
MB
39102003-06-22 Max Bowsher <maxb@ukf.net>
3911
3912 * rfc1738.cc (rfc1738_do_escape): Eliminate redundant conditional.
3913
0a539fe4
MB
39142003-06-05 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3915
3916 * window.h (SETUP_WINDOW_H): Rename multi-include guard.
3917 (Copyright): Update.
3918 (RECTWrapper): New forward declaration.
3919 (Window::Create): Move.
3920 (Window::MoveWindow): New overload declaration.
3921 * window.cc: (RECTWrapper.h) Include.
3922 (Copyright): Update.
3923 (Window::FirstWindowProcReflector): Use reinterpret_cast<> instead
3924 of C-style casts.
3925 (Window::MoveWindow): New overload.
3926
3c0ca7aa
MB
39272003-05-31 Max Bowsher <maxb@ukf.net>
3928
3929 * res.rc: Resize title controls to fully fill available width.
3930
e0d021d0
MB
39312003-05-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
3932
3933 * RECTWrapper.h: New file.
3934
1e3b2ad4
RC
39352003-04-12 Robert Collins <rbtcollins@hotmail.com>
3936
3937 * script.cc (Script::extension): Extract method from Script::run.
3938 (Script::run): Extract extension generation to Script::extension.
3939 * script.h (Script::extension): Declare.
3940
2533f348
RC
39412003-04-12 Robert Collins <rbtcollins@hotmail.com>
3942
3943 * script.cc (run_script): Remove.
3944 (try_run_script): Inline method run_script.
3945 * script.h (run_script): Remove.
3946
34ea5b6d
RC
39472003-04-12 Robert Collins <rbtcollins@hotmail.com>
3948
3949 * postinstall.cc (RunScript::operator()): Use new run syntax.
3950 * script.h (Script::run): Eliminate to_log parameter.
3951 * script.cc (Script::run): Ditto.
3952 (run_script): Use new run syntax.
3953
9f27ab95
RC
39542003-04-12 Robert Collins <rbtcollins@hotmail.com>
3955
3956 * script.cc (Script::run): Eliminate temp variable 'f2'.
3957 Rename temp variable 'f2' to 'windowsName' for increased clarity.
3958
783ed9c5
RC
39592003-04-12 Robert Collins <rbtcollins@hotmail.com>
3960
3961 * script.cc (Script::run): Eliminate temp variable 'fname'.
3962
0900bd5b
RC
39632003-04-12 Robert Collins <rbtcollins@hotmail.com>
3964
3965 * script.cc (Script::run): Eliminate temp variable 'dir'.
3966
294e5067
RC
39672003-04-12 Robert Collins <rbtcollins@hotmail.com>
3968
3969 * script.cc (run_script): Always pass TRUE to Script::run.
3970 * script.h (run_script): Remove optional to_log parameter.
3971
a0e56f67
RC
39722003-04-12 Robert Collins <rbtcollins@hotmail.com>
3973
3974 * script.cc (run_script): Move functionality into Script.
3975 (Script::run): Absorb run_script.
3976
8c242540
RC
39772003-04-12 Robert Collins <rbtcollins@hotmail.com>
3978
3979 * PickCategoryLine.cc (PickCategoryLine::click): Tell packagemeta we
3980 are about to perform a visit.
3981 * PickPackageLine.cc (PickPackageLine::click): Tell packagemeta we
3982 are about to perform a visit.
ca2b7505 3983 * package_db.cc (packagedb::markUnVisited): Convenience wrapper -
8c242540
RC
3984 mark all packages as unvisited.
3985 * package_db.h (packagedb::markUnVisited): Declare.
3986 * package_meta.cc (packagemeta::PrepareForVisit): New static method
3987 to prepare for a loop-free visit.
3988 (packagemeta::packagemeta): Adjust for new member.
3989 (packagemeta::set_requirements): Only visit a node once.
3990 (packagemeta::visited): Get and Set methods for new member visited_.
3991 * package_meta.h (packagemeta::PrepareForVisit): Declare.
3992 (packagemeta::visited): Declare.
3993 (packagemeta::visited_): Declare.
3994
5f4b0e57
MB
39952003-04-07 Max Bowsher <maxb@ukf.net>
3996
3997 * download.cc: Add command line option to suppress MD5 checks.
3998 (validateCachedPackage): Test option and possibly skip.
3999
e46e15bf
RC
40002003-04-02 Robert Collins <rbtcollins@hotmail.com>
4001
4002 Merge in setup-200303-troubleshooting fixes.
4003
40042003-04-02 Robert Collins <rbtcollins@hotmail.com>
4005
4006 * main.cc (NTSecurity::setDefaultDACL): Reinstate commented code.
4007 (NTSecurity::setDefaultSecurity): Ditto.
4008
40092003-04-02 Robert Collins <rbtcollins@hotmail.com>
4010
4011 * main.cc (NTSecurity::setDefaultDACL): Use MS calculations for ACL
4012 buffer sizing.
4013
40142003-04-02 Robert Collins <rbtcollins@hotmail.com>
4015
4016 * main.cc (NTSecurity::setDefaultDACL): Sanity check memory allocation.
4017
40182003-04-02 Robert Collins <rbtcollins@hotmail.com>
4019
58b12a06
MB
4020 * main.cc (NTSecurity::setDefaultDACL): Adjust commented code for
4021 auto_ptr use.
e46e15bf
RC
4022
40232003-04-02 Robert Collins <rbtcollins@hotmail.com>
4024
4025 * main.cc (NTSecurity::NoteFailedAPI): Helper function.
4026 Use throughout NTSecurity routines.
4027 (NTSecurity::setDefaultDACL): Use dynamic memory for ACL storage.
4028
40292003-04-02 Robert Collins <rbtcollins@hotmail.com>
4030
58b12a06
MB
4031 * main.cc (NTSecurity::setDefaultDACL): Disable ~ 50% of remaining
4032 active code.
e46e15bf
RC
4033
40342003-04-02 Robert Collins <rbtcollins@hotmail.com>
4035
4036 * main.cc (NTSecurity::GroupInfo): Extract group query code.
4037 (NTSecurity::setDefaultDACL): Disable ~ 50% of code.
4038
40392003-04-02 Robert Collins <rbtcollins@hotmail.com>
4040
58b12a06
MB
4041 * main.cc (NTSecurity::setDefaultSecurity): Disable ~ 50% of security
4042 code.
e46e15bf
RC
4043
40442003-04-01 Robert Collins <rbtcollins@hotmail.com>
4045
58b12a06
MB
4046 * main.cc (NTSecurity::setDefaultSecurity): Remove double declaration of
4047 sz. User TokenGroupCollection to abstract token searching logic,
4048 eliminate isadmin and isuser temporary variables.
e46e15bf
RC
4049 (TokenGroupCollection): New class for querying token group information.
4050
40512003-04-01 Robert Collins <rbtcollins@hotmail.com>
4052
4053 * main.cc (NTSecurity::setDefaultSecurity): Extract esid initialisation.
4054 Move local variables to just before first use.
4055 SetTokenInformationFailures where being handled inconsistently.
4056 Remove assignments from if statements.
4057 (NTSecurity::esid): Rename to everyOneSID.
4058 (NTSecurity::initialiseEveryOneSID): new method.
4059 (NTSecurity::setDefaultDACL): Extract method for default DACL logic.
4060
40612003-04-01 Robert Collins <rbtcollins@hotmail.com>
4062
4063 * main.cc (SIDWrapper): Manage SID memory.
4064 (HANDLEWrapper): Likewise for HANDLES.
4065 (NTSecurity): Worker class for set_default_sec().
4066 (set_default_sec): Move body into NTSecurity::setDefaultSecurity().
58b12a06
MB
4067 (NTSecurity::setDefaultSecurity): Eliminate goto out: via memory
4068 managing objects.
e46e15bf 4069
da0b54f3
MB
40702003-04-01 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4071
4072 * cygwin.ico: Added two new resolutions, 64x64 and 72x72.
4073
3baca7c9
RC
40742003-03-29 Robert Collins <rbtcollins@hotmail.com>
4075
4076 * GUIDELINES: New file documenting code guidelines.
4077
11e37aca
MB
40782003-03-26 Max Bowsher <maxb@ukf.net>
4079
4080 * .cvsignore: Add cfgaux.
4081
18a3405d
RC
40822003-03-26 Robert Collins <rbtcollins@hotmail.com>
4083
11e37aca
MB
4084 * package_version.cc (_defaultversion::accessible): Override and make
4085 always false.
4086 (_packageversion::accessible): Fix a couple of logic bugs resulting in
4087 incorrect trues.
18a3405d
RC
4088 * package_version.h (_packageversion::accessible): Make virtual.
4089
39ba3555
MB
40902003-03-25 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4091
4092 * threebar.h (WM_APP_START_POSTINSTALL): New message.
4093 (WM_APP_POSTINSTALL_THREAD_COMPLETE): New message.
4094 * threebar.cc (ThreeBarProgressPage::OnMessageApp):
4095 Add handling for WM_APP_START_POSTINSTALL and
4096 WM_APP_POSTINSTALL_THREAD_COMPLETE.
4097 * install.cc (do_install_thread): Set next_dialog to
4098 IDD_S_POSTINSTALL.
4099 * desktop.cc (DesktopSetupPage::OnFinish): Move the
4100 do_postinstall call to ThreeBarProgressPage::OnMessageApp.
4101 * script.h (Script::fullName): New member function.
4102 (Script::run): New member function.
4103 (Script::ETCPostinstall): New static member constant.
4104 * script.cc (Script::fullName): Implement.
4105 (Script::run): Implement.
4106 (Script::ETCPostinstall): Define.
4107 (Script::isAScript): Use ETCPostinstall instead of a
4108 hardcoded string constant.
4109 (run): Enable "#if 0"'d code.
4110 * postinstall.cc (Progress): New extern variable.
4111 (RunFindVisitor::visitFile): Add script to vector
4112 instead of running.
4113 (RunFindVisitor::_scripts): New member variable.
4114 (RunScript): New helper class for use in for_each.
4115 (do_postinstall_thread): Rename do_postinstall to. Add
4116 Progress bar and text setting. Add package count.
4117 (do_postinstall_reflector): New static function.
4118 (do_postinstall): Rename to do_postinstall_thread.
4119 Create a thread instead.
4120
1069407c
MB
41212003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4122
4123 * script.cc (run): Add file_out parameter.
4124 Redirect output of subprocess to file, creating the
4125 path if necessary. Minimize the script window.
4126 (run_script): Add optional to_log boolean parameter.
4127 If to_log, redirect output to temporary file and then
4128 import it into LOG_BABBLE.
4129 (OutputLog): New helper class.
4130 (operator<<): New operation on OutputLog.
4131 * script.h (run_script): Add optional to_log parameter.
4132 * postinstall.cc (RunFindVisitor::visitFile): Instruct
4133 run_script() to log script output.
4134 (do_postinstall): Ditto.
4135
84fd41a9
RC
41362003-03-20 Robert Collins <rbtcollins@hotmail.com>
4137
ca2b7505 4138 * package_meta.cc (packagemeta::set_action): The logic
84fd41a9
RC
4139 test for the default action was reversed.
4140
864a5ec1
MB
41412003-03-18 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4142
4143 * postinstall.cc (do_postinstall): Filter out '*.done'.
4144 * FilterVisitor.h: New header file. Declare the
4145 FilterVisitor, Filter, and ExcludeNameFilter classes.
4146 * FilterVisitor.cc: New file. Implement FilterVisitor,
4147 Filter, and ExcludeNameFilter.
4148 * String++.h (String::matches): New instance function.
4149 * String++.cc (String::matches): Implement.
4150 (strmatch) Import and adapt for <buf,len> strings.
4151 * Makefile.am (setup_SOURCES): Add FilterVisitor.cc and
4152 FilterVisitor.h to value.
4153
560ac5e2
MB
41542002-03-18 Max Bowsher <maxb@ukf.net>
4155
4156 * LogFile.cc (LogFile::exit): Use CRT exit() instead of ExitProcess().
4157 Use passed exit_code even if been_here.
4158 Remove incorrect _CYGWIN_ preprocessor conditional.
4159
ad646f43
RC
41602003-03-16 Robert Collins <rbtcollins@hotmail.com>
4161
e0312c44
RC
4162 * package_db.h (PackageDBConnectedIterator): Typedef
4163 for connected loop detection collection iterator.
ca2b7505
CF
4164 * package_db.cc (ConnectedLoopDetector): An
4165 implementation of R.E. Tarjans strongly connected
e0312c44
RC
4166 set visitor algorithm.
4167 * postinstall.cc (do_postinstall): Use the new iterator
4168 for visiting postinstall scripts.
ad646f43
RC
4169
41702003-03-16 Robert Collins <rbtcollins@hotmail.com>
4171
4172 * install.cc: Introduce Installer class.
4173 (init_dialog): Rename to Installer::initDialog.
4174 (progress): Rename to Installer::progress.
4175 (standard_dirs): Rename to Installer::StandardDirs.
4176 (uninstall_one): Rename to Installer::uninstallOne.
4177 (replace_one): Rename to Installer::replaceOne.
ca2b7505 4178 (log_ror_failure): Rename to
e0312c44 4179 Installer::replaceOnRebootFailed.
ca2b7505 4180 (log_ror_success): Rename to
e0312c44 4181 Installer::replaceOnRebootSucceeded.
ad646f43
RC
4182 (install_one_source): Rename to Installer::installOneSource.
4183 Note script files as they are installed.
4184 * package_version.cc (packageversion::addScript): Implement.
4185 (packageversion::scripts): Implement.
ca2b7505 4186 * package_version.h (packageversion::addScript): Record the
e0312c44 4187 presence of a script.
ad646f43 4188 * script.h (Script): New class to track scripts.
e0312c44
RC
4189 * postinstall.cc (do_postinstall): Iterate through the
4190 package listed scripts before searching for scripts.
ca2b7505 4191 * String++.cc (String::substr): Second argument needed to
e0312c44 4192 be signed.
ca2b7505 4193 * String++.h (String::substr): Second argument needed to
e0312c44 4194 be signed.
ad646f43 4195
c0a46d04
MB
41962003-03-16 Max Bowsher <maxb@ukf.net>
4197
4198 * .cvsignore: Create, to ignore configure, aclocal.m4, Makefile.in and
4199 autom4te.cache.
4200
3d7ae5a2
MB
42012003-03-16 Max Bowsher <maxb@ukf.net>
4202
4203 * UserSettings.cc (UserSettings::Instance): Remove premature return.
4204
92f9402a
RC
42052003-03-15 Robert Collins <rbtcollins@hotmail.com>
4206
4207 * script.cc (run): Rename variable b to createSucceeded.
4208
42092003-03-15 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4210
4211 * script.cc (run): Close unneeded handles.
4212
b49f570f
RC
42132003-03-15 Robert Collins <rbtcollins@hotmail.com>
4214
4215 * configure: Remove.
4216 * aclocal.m4: Remove.
4217 * Makefile.in: Remove.
4218 * cfgaux: Remove.
4219 * cfgaux/compile: Remove.
4220 * cfgaux/config.guess: Remove.
4221 * cfgaux/config.sub: Remove.
4222 * cfgaux/depcomp: Remove.
4223 * cfgaux/install-sh: Remove.
4224 * cfgaux/ltmain.sh: Remove.
4225 * cfgaux/missing: Remove.
4226 * cfgaux/mkinstalldirs: Remove.
4227
b6001c0d
MB
42282003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4229
4230 * install.cc (replace_one): Clear Text3.
4231
46ccc05f
MB
42322003-03-14 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4233
4234 * install.cc (install_one_source): Add logging for successful
4235 replace-on-reboot scheduling. Factor out duplicate code.
4236 Set rebootneeded on Win9x.
4237 (log_ror_failure): New static function.
4238 (log_ror_success): New static function.
4239
c27b09ba
RC
42402003-03-14 Robert Collins <rbtcollins@hotmail.com>
4241
ca2b7505 4242 * choose.cc (ChooserPage::OnNext): Fix iterator bug. Reported by
c27b09ba
RC
4243 Igor Pechtchanski <pechtcha@cs.nyu.edu>.
4244
a081d4ff
MB
42452003-03-13 Max Bowsher <maxb@ukf.net>
4246
4247 * Update included zlib to 1.1.4.
4248
f430003c
RC
42492003-03-13 Robert Collins <rbtcollins@hotmail.com>
4250
46ccc05f
MB
4251 * install.cc (do_install_thread): Use a query method rather than temp
4252 variable do_skip.
f430003c 4253
46ccc05f 42542003-03-09 Pavel Tsekov <ptsekov@gmx.net>
f430003c 4255
ca2b7505 4256 * install.cc (do_install_thread): Use IDS_SKIP_PACKAGE
f430003c
RC
4257 instead of IDS_CORRUPT_PACKAGE when asking the user to take
4258 action if the hash verification check fails for a source package.
4259 Do not increase the value of 'total_bytes' variable if the
4260 user chooses to skip over a package, which failed the hash
4261 verification.
4262
48c7d667
MB
42632003-03-10 Max Bowsher <maxb@ukf.net>
4264
4265 * Makefile.am: Add foreign to AUTOMAKE_OPTIONS.
4266
aaeee283
RC
42672003-03-10 Robert Collins <rbtcollins@hotmail.com>
4268
4269 * UserSettings.cc (UserSettings::init): Really initialize all members.
4270
ead15931
RC
42712003-03-10 Robert Collins <rbtcollins@hotmail.com>
4272
4273 * Exception.h: Add a logic error exception id.
4274 * Makefile.am: Add new sources.
4275 * UserSettings.cc: New file.
4276 * UserSettings.h: New file.
4277 * UserSetting.cc: New file.
4278 * UserSetting.h: New file.
4279 * site.h: Add a SiteSetting as example of a UserSetting.
46ccc05f
MB
4280 * site.cc (ChosenSites): Add a instance of SiteSetting to trigger
4281 registration.
ead15931 4282
c1754473
RC
42832003-03-10 Robert Collins <rbtcollins@hotmail.com>
4284
46ccc05f
MB
4285 * compress_bz.cc (compress_bz::read): Adjust incorrect assignment of
4286 lasterr.
c1754473
RC
4287 (compress_bz::error): Return lasterr which will indicate any error.
4288
52620058
RC
42892003-03-10 Robert Collins <rbtcollins@hotmail.com>
4290
4291 * choose.h (ChooserPage): Override OnActivate.
46ccc05f
MB
4292 * choose.cc (ChooserPage::OnActivate): Refresh the current view when
4293 activating the dialog.
52620058 4294
6e754226
RC
42952003-03-09 Robert Collins <rbtcollins@hotmail.com>
4296
46ccc05f
MB
4297 * package_version.cc (_defaultversion::pick(bool)): Override this and
4298 do nothing.
4299 (packageversion::pick(bool): Use a mutator function rather than direct
4300 member access.
4301 * package_version.h (_packageversion::pick(bool)): Move method from
4302 _packageversion.
6e754226 4303
970149e8
RC
43042003-02-16 Pavel Tsekov <ptsekov@gmx.net>
4305
ca2b7505 4306 * install.cc (install_one_source): Remove the MD5 verification
970149e8
RC
4307 code.
4308 Delay the creation of the package listing file.
ca2b7505 4309 (do_install_thread): Check the hashes for packages which need
970149e8
RC
4310 to be installed before the uninstall step. Allow the user to
4311 skip over packages, which fail the hash verification.
4312 (md5_one): Define new function.
4313 * res.rc (IDS_SKIP_PACKAGE): New string resource.
4314 * resource.h (IDS_SKIP_PACKAGE): New macro definition.
4315
f37b36a3
RC
43162003-02-16 Pavel Tsekov <ptsekov@gmx.net>
4317
4318 * Exception.h: Declare new constructor.
4319 (Exception::_message): Change the type from 'const char *' to
4320 'class String'.
4321 (Exception::~Exception): Implement destructor (make gcc shut up).
4322 * Exception.cc: Implement new constructor.
4323 (Exception::what): Use String::cstr_oneuse ().
4324 * download.cc (validateCachedPackage): Use the constructor, which
4325 takes String& as its second argument, when throwing objects
4326 of type Exception.
4327 (check_for_cached): Ditto.
4328 * install.cc (install_one_source): Ditto.
4329
eef9ea26
RC
43302003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4331
4332 * res.rc (IDS_INSTALL_INCOMPLETE): Change hard-coded
4333 log filename to %s.
4334 (IDS_MISSING_LOG): New string resource.
4335 * resource.h (IDS_MISSING_LOG): New resource.
4336 * LogFile.cc (LogFile::exit): Pass log filename for
4337 LOG_BABBLE to note().
4338 (LogFile::getFileName): New function.
4339 * LogFile.h (LogFile::getFileName): New function.
4340
514b100e
RC
43412003-02-01 Igor Pechtchanski <pechtcha@cs.nyu.edu>
4342
4343 * String++.cc: Don't include concat.h.
4344 * Makefile.am: Remove concat.cc and concat.h references.
4345 * concat.h: Remove.
4346 * concat.cc: Remove.
4347
56c60dcc
MB
43482003-03-09 Max Bowsher <maxb@ukf.net>
4349
4350 * bootstrap.sh: Add sanity check of current directory.
4351 Recurse into libgetopt++ if needed.
4352
4f4b9def
RC
43532003-03-09 Robert Collins <rbtcollins@hotmail.com>
4354
4355 * Update readme of bugs and wishes.
4356
ed6137e5
MB
43572003-03-05 Max Bowsher <maxb@ukf.net>
4358
4359 * netio.cc (save_dialog): Allocate an empty string if the password is
4360 null, so that an empty password is accepted elsewhere in setup.
4361 (check_if_enable_ok): An empty password is OK.
4362
e0aec95e
MB
43632003-03-05 Brian Keener <bkeener@thesoftwaresource.com>
4364
ed6137e5 4365 * PickView.cc (PickView::views): Add two new views for Skipped
e0aec95e
MB
4366 packages and Installed Packages not requiring update.
4367 (PickView::set_headers () ): Ditto.
4368 (PickView::clear_view (void) ): Ditto.
4369 (PickView::views::caption () ): Add two new captions for the new
4370 views added for Skipped and Installed Packages.
4371 (PickView::scroll () ): Modify Scroll Bar property to Disable
ed6137e5 4372 instead of disappearing when there is nothing to Scroll.
e0aec95e
MB
4373 * PickView.h: Add two new views for Skipped packages and Installed
4374 packages to public class view.
4375 * choose.cc (list_click () ): Modify Scroll Bar property to Disable
ed6137e5 4376 instead of disappearing when there is nothing to Scroll.
e0aec95e
MB
4377 (listview_proc () ): Ditto.
4378 (set_view_mode): Add two new views for Skipped Packages and Installed
4379 Packages not requiring update. Modify Scroll Bar property to Disable
4380 instead of disappearing when there is nothing to scroll.
4381 * res.rc (IDD_CHOOSE): Reposition Radio Buttons, View Selection
4382 Button and View Button Caption to make room for longer captions.
4383
c7fb2f36
MB
43842003-03-04 Max Bowsher <maxb@ukf.net>
4385
4386 * compress_gz.cc (compress_gz::construct):
4387 Fix broken checkin dated 2002-07-03.
4388
d5be1d23
MB
43892003-02-28 Max Bowsher <maxb@ukf.net>
4390
4391 * main.cc (set_default_sec): Add logging.
4392
adaa168a
MB
43932003-02-28 Pierre Humblet <pierre.humblet@ieee.org>
4394
4395 * main.cc (set_default_dacl): Replace with set_default_sec.
4396 (set_default_sec): Attempt to change the default group to
4397 Users or Administrators if it is None, in addition to setting
4398 Everyone in the default DACL.
4399 (main): Call set_default_sec instead of set_default_dacl.
4400
3a8d1127
MB
44012003-01-31 Max Bowsher <maxb@ukf.net>
4402
4403 * install.cc (install_one_source): Fix spacing in log message.
4404
c7230a28
MB
44052003-01-19 Max Bowsher <maxb@ukf.net>
4406
4407 * resource.h (IDC_CHOOSE_KEEP): Define.
4408 * res.rc (IDD_CHOOSE): Add radio button IDC_CHOOSE_KEEP.
4409 * choose.cc (create_listview): Add IDC_CHOOSE_KEEP to ta[].
4410 (ChooserPage::OnMessageCmd): Handle new IDC_CHOOSE_KEEP button.
4411
ac949c48
MB
44122003-01-15 Max Bowsher <maxb@ukf.net>
4413
4414 * mkdir.cc [_CYGWIN_]: Implement what was pseudocode.
4415 * io_stream.h [__CYGWIN__]: Don't typedef ssize_t.
4416 * proppage.h: Include "win32.h" instead of <windows.h>.
4417
4f618d88
MB
44182003-01-15 Max Bowsher <maxb@ukf.net>
4419
4420 * mount.cc [MAINTAINER_FEATURES]: Add --override-registry-name option.
4421
1606c4e9
MB
44222002-12-11 Abraham Backus <abraham@backus.com>
4423
4424 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Leave port out of Host header,
4425 unless non-default.
4426
c4e25cde
MB
44272002-12-11 Max Bowsher <maxb@ukf.net>
4428
4429 * package_meta.cc: Change 'endl' to 'endLog' as appropriate.
4430 * package_version.cc: Ditto.
4431
bfdf6ac2
MB
44322002-09-22 Max Bowsher <maxb@ukf.net>
4433
4434 * PickView.cc (pkg_headers): Rename column 'Category' to 'Categories'.
4435 * package_meta.h (packagemeta::getReadableCategoryList): Declare.
4436 * package_meta.cc (packagemeta::getReadableCategoryList): Implement.
4437 * PickPackageLine.cc (PickPackageLine::paint): Change to use
4438 getReadableCategoryList.
4439 Fix x2 argument to IntersectClipRect.
4440
63c82708
RC
44412002-11-25 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
4442
4443 * window.h (Window::GetWindowRect): New method declaration.
4444 (Window::GetClientRect): Ditto.
4445 (Window::MoveWindow): Ditto.
4446 (Window::ScreenToClient): Ditto.
4447 * window.cc (REFLECTION_INFO): Remove.
4448 (ReflectionInfo): Remove.
4449 (Window::FirstWindowProcReflector): Use the WM_NCCREATE message instead
4450 of the horrid REFLECTION_INFO hack to hook the Window instance to the
4451 HWND instance.
4452 (Window::WindowProcReflector): Use GetWindowLongPtr() now that it's
4453 available.
4454 (Window::Create): Change to use new WM_NCCREATE reflection procedure
4455 above.
4456 (Window::GetWindowRect): New method.
4457 (Window::GetClientRect): New method.
4458 (Window::MoveWindow): New method.
4459 (Window::CenterWindow): Use new methods, also specify "::" for some non-
4460 member functions with the same names.
4461 (Window::ScreenToClient): New method.
4462
58983805
RC
44632002-11-26 Robert Collins <rbtcollins@hotmail.com>
4464
4465 * AntiVirus.cc: Change the short option again! It's now 'A'.
4466 * desktop.cc (etc_profile): Remove.
4467 (make_etc_profile): Remove.
4468 (uexists): Remove.
4469 (make_passwd_group): Remove.
4470 (do_desktop_setup): Don't call removed functions.
4471
b2028692
RC
44722002-11-26 Robert Collins <rbtcollins@hotmail.com>
4473
4474 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fix my botched application of
4475 Marcel's patch.
4476
2d8e4784
RC
44772002-07-08 Marcel Telka <marcel@telka.sk>
4478
b2028692 4479 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Fixed decoding of the FTP
2d8e4784
RC
4480 reply (code 227) to the PASV command.
4481
3a87705e
RC
44822002-11-26 Robert Collins <rbtcollins@hotmail.com>
4483
4484 * IniDBBuilderPackage.cc (IniDBBuilderPackage::~IniDBBuilderPackage):
4485 Sort the packages db once all the new packages have been added.
4486 * IniDBBuilderPackage.h (IniDBBuilderPackage::~IniDBBuilderPackage):
4487 Declare this.
4488
bd4e91a7
RC
44892002-11-26 Robert Collins <rbtcollins@hotmail.com>
4490
4491 * choose.cc (ChooserPage::OnNext): Remove extracted comment.
4492 * package_version.cc (processOneDependency): Return once selecting
4493 a package (bugfix to prevous rework).
4494 Log if the default trust fails the package specification.
4495
f416a2b6
RC
44962002-11-26 Robert Collins <rbtcollins@hotmail.com>
4497
4498 * package_meta.h (packagemeta::logAllVersions): Declare.
4499 (packagemeta::trustLabel): Ditto.
ca2b7505 4500 * choose.cc (ChooserPage::OnNext): Get each package to log all it's
f416a2b6
RC
4501 versions.
4502 * package_meta.cc (packagemeta::logAllVersions): Implement.
4503 (packagemeta::trustLabel): Ditto.
4504
14485ab2
RC
45052002-11-25 Robert Collins <rbtcollins@hotmail.com>
4506
4507 * AntiVirus.cc: Change 'd' to 'D' to fix command line conflict.
4508
f9e903a3
RC
45092002-11-25 Robert Collins <rbtcollins@hotmail.com>
4510
4511 * AntiVirus.cc: New file.
4512 * AntiVirus.h: Ditto.
4513 * LogFile.cc: Include AntiVirus.h for class definition.
4514 (LogFile::exit): Trigger AntiVirus::AtExit().
4515 * MakeFile.am(setup_SOURCES): Add AntiVirus files.
4516 * autoload.c: Declare Service Control Manager related API's.
4517 * main.cc: Include AntiVirus.h for class definition.
4518 (main): Add the AntiVirus page in.
4519 * res.rc: Define IDD_VIRUS.
4520 * resource.h: Define IDD_VIRUS related control ID's.
4521 * splash.h: Override OnNext.
4522 * splash.cc: Only show AntiVirus page when one has been detected.
4523 * source.cc: Ditto.
4524
05c5b8a6
RC
45252002-11-25 Robert Collins <rbtcollins@hotmail.com>
4526
4527 * package_version.cc (DependencyProcessor): Create convenience class.
4528 (select): Extract version selection method.
4529 (processOneDependency): Check for a satisfactory trusted version
4530 first.
4531
45322002-11-10 Robert Collins <rbtcollins@hotmail.com>
15004270
RC
4533
4534 * main.cc (main): Use the factory for LogFile.
4535 * String++.cc: Update to use sstream.
58b12a06 4536 (String::String): Use a ostringstream for libC++ 3.2.
15004270
RC
4537 * LogFile.h (LogFile): Make createLogFile static.
4538
05c5b8a6 45392002-11-10 Robert Collins <rbtcollins@hotmail.com>
51629951
RC
4540
4541 * main.cc (main): Oops, pass LogSingleton a reference, not a pointer.
4542
666bf37d
RC
45432002-11-04 Max Bowsher <maxb@ukf.net>
4544
4545 * Exception.h (Exception::what): Add throw() specification,
4546 to agree with libstdc++-v3.
4547 * Exception.cc (Exception::what): Ditto.
4548 * IniDBBuilderPackage.h: Add 'std::' where needed.
4549 * PickCategoryLine.h: Ditto.
4550 * category.h: Ditto.
4551 * package_db.h: Ditto.
4552 * package_meta.h: Ditto.
4553 * package_source.h: Ditto.
4554 * package_version.h: Ditto.
4555 * site.h: Ditto.
4556 * win32.h: Define NOMINMAX before including <windows.h>.
4557 * package_meta.cc: Add 'using namespace std;'.
4558 (packagemeta::set_requirements): Remove default parameter values
4559 from definition (gcc3 likes them only in declaration).
4560 * package_version.cc: Add 'using namespace std;'.
4561 (packageversion::set_requirements): Remove default parameter
4562 values from definition (gcc3 likes them only in declaration).
4563
37decc22
RC
45642002-11-10 Robert Collins <rbtcollins@hotmail.com>
4565
4566 * compress_bz.cc: Don't include bzlib.h directly, the compress_bz.h
4567 header includes it.
4568
45692002-11-04 Max Bowsher <maxb@ukf.net>
4570
ca2b7505
CF
4571 * compress_bz.h: #undef small before including bzlib.h - if we are
4572 going to hide the fact that we are _WIN32 from bzlib, then we need
37decc22
RC
4573 to #undef small for it as well (bad windows.h clash).
4574
a55c8f45
RC
45752002-11-10 Robert Collins <rbtcollins@hotmail.com>
4576
4577 * localdir.cc: Update the extern LogFile to be a pointer.
4578 (save_local_dir): Change . to -> for the above.
4579 * main.cc (theFile): Change from an instance to a pointer.
4580 (main): Change . to -> for the above.
4581
c83c52d8
RC
45822002-11-10 Robert Collins <rbtcollins@hotmail.com>
4583
4584 * LogFile.cc: use 'std::' where needed throughout.
4585 (LogFile::createLogFile): Implement a factory for LogFile.
4586 (LogFile::LogFile): Update for use with the factory, and to
4587 handle the latest g++ library changes.
4588 (LogFile::operator()): Ditto.
4589 (LogFile::endEntry()): Ditto.
4590 * LogFile.h: Ditto.
4591 * LogSingleton.cc: Ditto.
4592 * LogSingleton.h: Ditto.
4593
318af134
RC
45942002-11-04 Max Bowsher <maxb@ukf.net>
4595
4596 * String++.h: Add 'std::' where needed.
4597
6625e635
RC
45982002-11-04 Max Bowsher <maxb@ukf.net>
4599
4600 * IniDBBuilderPackage.cc: Add 'using namespace std;'.
4601 * IniParseFindVisitor.cc: Ditto.
4602 * LogFile.cc: Ditto.
4603 * LogSingleton.cc: Ditto.
4604 * PickView.cc: Ditto.
4605 * String++.cc: Ditto.
4606 * choose.cc: Ditto.
4607 * download.cc: Ditto.
4608 * find.cc: Ditto.
4609 * install.cc: Ditto.
4610 * io_stream.cc: Ditto.
4611 * io_stream_file.cc: Ditto.
4612 * package_db.cc: Ditto.
4613 * root.cc: Ditto.
4614 * site.cc: Ditto.
4615
955bf437
RC
46162002-11-04 Max Bowsher <maxb@ukf.net>
4617
4618 * LogSingleton.h: Add 'std::' where needed.
4619
b34fb59f
RC
46202002-11-04 Max Bowsher <maxb@ukf.net>
4621
4622 * archive_tar_file.cc: Include <algorithm>.
4623 Change min(a,b) to std::min(a,b)
4624 * compress_bz.cc: Ditto.
4625 * compress_gz.cc: Ditto.
4626
326fbcb8
RC
46272002-11-04 Max Bowsher <maxb@ukf.net>
4628
4629 * res.rc: Change a #-comment (invalid) to a //-comment.
4630
4361306f
RC
46312002-11-04 Max Bowsher <maxb@ukf.net>
4632
4633 * Makefile.am (%.o: %.rc): Make windres use $(CC) not hardcoded gcc.
58b12a06
MB
4634 (inilint_LDADD): Remove -lstd++.
4635 (setup_LDADD): Ditto.
4361306f 4636
05d7b7f2
RC
46372002-09-22 Max Bowsher <maxb@ukf.net>
4638
4639 * IniDBBuilderPackage.cc: Update DEBUG code to current class
4640 layout.
4641
f2ff9838
RC
46422002-09-21 Robert Collins <rbtcollins@hotmail.com>
4643
4644 * choose.h: Add OnUnattended method.
4645 * desktop.cc (DesktopSetupPage::OnInit): Allow fine grained
4646 control via command line options.
4647 (DesktopSetupPage::OnUnattended): Implement.
4648 (DesktopSetupPage::OnMessageApp): Implement.
4649 * desktop.h (DesktopSetupPage::OnUnattended): declare.
4650 (DesktopSetupPage::OnMessageApp): Ditto.
4651 * download.cc (do_download_thread): Support unattended mode.
4652 * install.cc (do_install_thread): Ditto.
4653 * localdir.h: Ditto.
4654 * main.cc (main): Ditto.
4655 * net.cc (NetPage::OnUnattended): Ditto.
4656 * net.h (NetPage::OnUnattended): Declare.
4657 * proppage.cc (PropertyPage::DialogProc): Support unattended mode.
4658 * proppage.h (PropertyPage::OnUnattended): Declare.
4659 * root.cc (RootPage::OnInit): Support unattended mode.
4660 (RootPage::OnUnattended): Implement.
4661 * root.h (RootPage::OnUnattended): Declare.
4662 * site.cc (register_saved_site): Extract Method from get_saved_sites.
4663 (get_saved_sites): Remove common code for adding a site.
4664 (SitePage::OnInit): Support unattended mode.
4665 (SitePage::OnUnattended): Implement.
4666 * site.h (SitePage::OnUnattended): Declare.
4667 * source.cc (SourcePage::OnActivate): Support unattended mode.
4668 (SourcePage::OnUnattended): Implement.
4669 * source.h (SourcePage::OnUnattended): Declare.
4670 * splash.h (SplashPage::OnUnattended): Declare.
4671 * state.cc (unattended_mode): Declare.
4672 * state.h (unattended_mode): Declare.
4673 * threebar.h (ThreeBarProgressPage::OnUnattended): New method.
4674
707f3d66
RC
46752002-09-21 Robert Collins <rbtcollins@hotmail.com>
4676
4677 * res.rc: Commit Harry Johnston's dialog caption patch. From July.
4678
ec13f13c
RC
46792002-07-15 Robert Collins <rbtcollins@hotmail.com>
4680
4681 * package_version.cc (packageversion::sources): Implement this.
4682 * download.cc (do_download_thread): Support multiple files per package.
4683
e5662e0a
RC
46842002-07-15 Robert Collins <rbtcollins@hotmail.com>
4685
4686 * package_version.h (packageversion::sources): Support multiple files in
4687 a single package version.
4688 * package_version.cc (_packageversion::accessible): Ditto.
4689 (packageversion::source): Ditto.
4690
60daae94
RC
46912002-07-15 Robert Collins <rbtcollins@hotmail.com>
4692
4693 * iniparse.y: Implement support for multiple source files for a source
4694 package.
4695 * IniDBBuilder.h (IniDBBuilder::buildSourceFile): Ditto.
4696 * IniDBBuilderPackage.h (IniDBBuilder::buildSourceFile): Ditto.
4697 * IniDBBuilder.cc (IniDBBuilder::buildSourceFile): Ditto.
ca2b7505 4698 * IniDBBuilderPackage.cc (IniDBBuilder::buildSourceFile): Implement a
60daae94
RC
4699 stub as preparation.
4700
4f591f9d
RC
47012002-07-13 Robert Collins <rbtcollins@hotmail.com>
4702
ca2b7505 4703 * PickPackageLine.cc (PickPackageLine::click): Set requirements for
4f591f9d
RC
4704 packages under all circumstances - slightly higher overheader, simpler
4705 code.
ca2b7505 4706 * download.cc (do_download_thread): Correctly download source
4f591f9d
RC
4707 packages.
4708 * package_meta.cc (checkForInstalled): Remove.
4709 (checkForUpgradeable): Ditto.
4710 (checkForSatisfiable): Ditto.
4711 (processOneDependency): Ditto.
4712 (packagemeta::set_requirements): Move guts to packageversion.
4713 * package_version.cc (checkForInstalled): Copied from package_meta.cc.
4714 (checkForUpgradeable): Ditto.
4715 (checkForSatisfiable): Ditto.
4716 (processOneDependency): Ditto.
4717 (packageversion::set_requirements): Ditto.
4718 * package_version.h (packageversion::set_requirements): Declare.
4719
b1ff53ed
RC
47202002-07-13 Robert Collins <rbtcollins@hotmail.com>
4721
4722 * IniDBBuilder.cc (IniDBBuilder::buildBeginBuildDepends): Implement.
4723 (IniDBBuilder::buildBeginBinary): Implement.
4724 * IniDBBuilder.h (IniDBBuilder::buildBeginBuildDepends): Declare.
4725 (IniDBBuilder::buildBeginBinary): Ditto.
4726 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildBeginBuildDepends):
4727 Implement.
4728 (IniDBBuilderPackage::buildBeginBinary): Ditto.
4729 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildBeginBuildDepends):
4730 Declare.
4731 (IniDBBuilderPackage::buildBeginBinary): Ditto.
4732 * inilex.l: Recognise Build-Depends-Indep, [,], >, < and remove
4733 T_UNKNOWN.
4734 * iniparse.y: Full support for parsing a debian Sources file in-line in
4735 setup.ini.
4736 * package_version.cc (packageversion::binaries): Implement.
4737 * package_version.h (packageversion::binaries): Declare list of what
4738 packages are created from a given source package.
4739 (_packageversion::binaries): Ditto.
4740
233a3e17
RC
47412002-07-10 Robert Collins <rbtcollins@hotmail.com>
4742
4743 * iniparse.y: Add basis for support for parsing a debian Sources file.
4744 * inilex.l: Ditto.
4745
cfae3b8d
RC
47462002-07-09 Robert Collins <rbtcollins@hotmail.com>
4747
4748 Change custom container code for packagedb::packages to STL containers
4749 throughout.
4750 * IniDBBuilderPackage.cc: Ditto.
4751 * PickView.cc: Ditto.
4752 * choose.cc: Ditto.
4753 * desktop.cc: Ditto.
4754 * download.cc: Ditto.
4755 * install.cc: Ditto.
4756 * package_db.cc: Ditto.
4757 * package_db.h: Ditto.
4758 * Makefile.am: Remove list.h references.
4759 * list.h: Remove.
4760
09130e58
RC
47612002-07-08 Max Bowsher <maxb@ukf.net>
4762
4763 * PickView.cc (PickView::PickView): Set font of package list header to
4764 the same as used in the rest of the package list.
4765
a75ed5ce
RC
47662002-07-08 Robert Collins <rbtcollins@hotmail.com>
4767
4768 * install.cc (NoReplaceOnReboot): New command line option to prevent
4769 replacing in use files.
4770 (install_one_source): Check the option and use it.
4771 * README: Update TODO lists.
4772
0cf68afd
RC
47732002-07-08 Robert Collins <rbtcollins@hotmail.com>
4774
ca2b7505 4775 * PickCategoryLine.cc: Change bucket to use STL container syntax
0cf68afd
RC
4776 throughout.
4777 (PickCategoryLine::paint): Use new Category type syntax.
ca2b7505 4778 * PickCategoryLine.h: Use STL vectors rather than custom containers
0cf68afd
RC
4779 throughout.
4780 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageCategory):
4781 Use new add_category syntax.
4782 * PickView.cc (PickView::insert_pkg): Use new Category type syntax.
4783 (PickView::insert_category): Ditto.
4784 (PickView::init_headers): Ditto.
4785 * category.cc: Trim obsolete code.
ca2b7505 4786 * category.h: Replace interconnecting class with a typedef to
0cf68afd
RC
4787 facilitate leveraging STL maps.
4788 * choose.cc (fill_missing_category): Use updated pkg.add_category
4789 syntax.
4790 (default_trust): Use new Category type syntax.
4791 (set_view_mode): Ditto.
4792 (create_listview): Ditto.
4793 * package_db.cc (categories): Ditto.
4794 * package_db.h: Update headers list to include needed headers.
4795 (packagedb::categories): Replace custom list with STL map.
4796 * package_meta.cc: Use new Category type syntax throughout.
4797 (packagemeta::add_category): Implement new syntax.
4798 * package_meta.h: Remove commented out source.
4799 (packagemeta::add_category): Update syntax to decouple interface from
4800 packagedb.
4801
89374d4a
CF
48022002-07-06 Christopher Faylor <cgf@redhat.com>
4803
4804 * site.cc (do_download_site_info_thread): Correct spelling error.
4805
405d7186
RC
48062002-07-06 Robert Collins <rbtcollins@hotmail.com>
4807
4808 * PickCategoryLine.h: Include required header list.h.
4809 * PickPackageLine.cc (PickPackageLine::paint): Adjust to use STL
4810 containers for listing of packages per category and vice verca.
4811 * PickView.cc (PickView::insert_pkg): Ditto.
4812 (PickView::insert_category): Ditto.
4813 * String++.h (String::caseless): STL helper to allow trivial containers
4814 of Strings with case insensitive comparisons.
4815 * category.h: Adjust to use STL containers for listing of packages per
4816 category and vice verca.
4817 * choose.cc (fill_missing_category): Ditto.
4818 (default_trust): Ditto.
4819 (ChooserPage::OnNext): Ditto.
4820 * package_meta.cc (CategoryPackage::~CategoryPackage): Remove.
4821 (packagemeta::packagemeta): Adjust for new category list name.
4822 (packagemeta::~packagemeta): Adjust to use STL containers for listing
4823 of packages per category and vice verca.
4824 (packagemeta::set_action): Ditto.
4825 * package_meta.h (CategoryPackage): Remove.
4826 (packagemeta): Adjust to use STL containers for listing of packages per
4827 category and vice verca.
4828
080bec6e
RC
48292002-07-05 Robert Collins <rbtcollins@hotmail.com>
4830
4831 * io_stream.cc: Use STL containers rather than custom ones.
4832 (io_stream::registerProvider): Ditto.
4833 (findProvider): Ditto.
4834
3f34f364
RC
48352002-07-05 Robert Collins <rbtcollins@hotmail.com>
4836
4837 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
4838 Use STL collections for download site collections.
4839 (IniDBBuilderPackage::add_correct_version): Ditto.
4840 (IniDBBuilderPackage::process_src): Ditto.
4841 * PickPackageLine.cc (PickPackageLine::click): Use the packageversion
4842 accessible() call to abstract package availability.
ca2b7505 4843 * choose.cc (scanAVersion): Use STL collections for download site
3f34f364
RC
4844 collections.
4845 * download.cc (check_for_cached): Ditto.
4846 (download_one): Ditto.
4847 * package_meta.cc (packagemeta::set_action): Use the packageversion
4848 accessible() call to abstract package availability.
4849 * package_source.h: Use STL containers rather than custom containers.
4850 (site): Create a == operator to allow STL container use.
4851 (packagesource::sites): Use STL containers rather than custom
4852 containers.
4853 * package_version.cc (_packageversion::accessible): Use STL containers
4854 for download site containers.
4855
e2cdf72c
RC
48562002-07-05 Robert Collins <rbtcollins@hotmail.com>
4857
4858 * LogFile.cc: Use STL containers rather than custom containers.
4859 (filedef): Create == and < operators for STL use.
4860 (files): Convert to an STL set.
4861 (LogFile::setFile): Use STL operations on files.
4862 (LogFile::exit): Ditto.
4863
3bac26a1
RC
48642002-07-05 Robert Collins <rbtcollins@hotmail.com>
4865
4866 * ini.cc (do_remote_ini): Use STL collection for site collection.
4867 * site.cc: Include site.h first to ensure it's parsable standalone.
4868 Use STL algorithms.
4869 (site_list): Convert to an STL container.
4870 (all_site_list): Ditto.
4871 (site_list_type::site_list_type): Implement copy constructor.
4872 (site_list_type::operator=): Implement assignment operator.
4873 (site_list_type::operator ==): Implement.
4874 (site_list_type::operator <): Ditto.
4875 (save_dialog): Use STL collection calls for site collection.
4876 (save_site_url): Ditto.
4877 (get_site_list): Ditto.
4878 (get_saved_sites): Ditto.
4879 (do_download_site_info_thread): Ditto.
4880 (SitePage::OnNext): Ditto.
4881 (SitePage::PopulateListBox): Ditto.
4882 (SitePage::OnMessageCmd): Ditto.
4883 * site.h: Use STL vectors instead of custom code.
4884 (site_list_type::site_list_type): Declare.
4885 (site_list_type::operator=): Ditto.
4886 (site_list_type::operator ==): Ditto.
4887 (site_list_type::operator !=): Ditto.
4888 (site_list_type::operator <): Ditto.
4889 (site_list_type::operator <=): Ditto.
4890 (site_list_type::operator >): Ditto.
4891 (site_list_type::operator >=): Ditto.
4892 (site_list): Convert to an STL container.
4893 (all_site_list): Ditto.
4894
528a8edb
RC
48952002-07-05 Robert Collins <rbtcollins@hotmail.com>
4896
4897 * choose.cc (default_trust): Check package accessibility before
4898 triggering an install. (Suggested by Pavel).
4899
49002002-07-03 Pavel Tsekov <ptsekov@gmx.net>
4901
4902 * compress_gz.cc (compress_gz::construct): Always initialize key members
4903 to ensure the destructor does the right thing.
4904
4e868a01
RC
49052002-07-03 Pavel Tsekov <ptsekov@gmx.net>
4906
4907 * filemanip.cc (parse_filename): Do not try to parse empty
4908 strings (filenames).
4909 * package_db.cc (packagedb::packagedb): For each line check if sscanf()
4910 extracted good package name and filename.
4911
7f2b9277
RC
49122002-07-03 Robert Collins <rbtcollins@hotmail.com>
4913
4914 * package_meta.cc (packagemeta::set_requirements): Automatically select
ca2b7505 4915 version of dependent packages that satisfies the requirements.
7f2b9277
RC
4916 Use processOneDependency to trigger the install of those packages.
4917 (checkForInstalled): Check that the package remains installed.
4918 (processOneDependency): Helper function for dependent packages.
4919 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackage): Add more
4920 debug information.
4921 Clear out all current state on new packages.
ca2b7505 4922 (IniDBBuilderPackage::add_correct_version): Copy the dependency list
7f2b9277
RC
4923 across.
4924
84c4f5d1
RC
49252002-07-02 Robert Collins <rbtcollins@hotmail.com>
4926
4927 * Makefile.am (inilint_SOURCES): Add PackageSpecification sources.
4928 nb: inilint is still incomplete, as the packageversion code is not
4929 ready for database-less linking.
4930 * site.cc (get_site_list): When the same site is reentered by the user
4931 replace the old one. (Suggested by John Marshall).
4932
64cd7f94
RC
49332002-07-02 Robert Collins <rbtcollins@hotmail.com>
4934
4935 * IniDBBuilderPackage.cc (IniDBBuilderPackage::buildPackageSource):
4936 Clear out package selections when generating implicit source packages.
4937 * PackageSpecification.cc (PackageSpecification::satisfies): Implement.
4938 (PackageSpecification::_operators::satisfies): Implement.
4939 * PackageSpecification.h (PackageSpecification::_operators::satisfies):
4940 Worker function for testing versions.
4941
3c196821
RC
49422002-07-01 Robert Collins <rbtcollins@hotmail.com>
4943
4944 * IniDBBuilder.cc (IniDBBuilder::buildPackageRequirement): Remove.
4945 * IniDBBuilder.h (IniDBBuilder::buildPackageRequirement): Ditto.
4946 * IniDBBuilderPackage.cc: Use the STL algorithms.
4947 Change cpv to cbpv throughout. Adjust -> to ., and use the new accessor
4948 functions for the same variable throughout.
4949 (IniDBBuilderPackage::IniDBBuilderPackage): Initialise new members.
4950 (IniDBBuilderPackage::buildPackage): Use new cygpackage syntax,
4951 and set an empty source package.
4952 (IniDBBuilderPackage::buildPackageInstall): Use the new source member
4953 to record an install package.
4954 (IniDBBuilderPackage::buildPackageSource): Move source package logic
4955 out from process_src, as it now occurs at separate times.
4956 (IniDBBuilderPackage::buildPackageRequirement): Remove.
ca2b7505 4957 (IniDBBuilderPackage::buildSourceName): Use renamed package
3c196821
RC
4958 specifiation accessor for clarity.
4959 (IniDBBuilderPackage::buildSourceNameVersion): Ditto.
4960 (IniDBBuilderPackage::add_correct_version): Use STL iterators rather
4961 than custom code.
4962 Remove source package references.
4963 (IniDBBuilderPackage::process_src): Remove source package code as it's
4964 now handled separately.
4965 Set Path information before merging versions, to prevent dangling
4966 pointers.
4967 * IniDBBuilderPackage.h (IniDBBuilderPackage::buildPackageRequirement):
4968 Remove.
4969 (IniDBBuilderPackage::cpv): Remove.
4970 (IniDBBuilderPackage::cbpv): New generic binary working variable.
4971 (IniDBBuilderPackage::cspv): Ditto, but for source packages.
4972 (IniDBBuilderPackage::csp): Source package variable for disjoint
4973 source packages.
4974 * Makefile.am (AM_CFLAGS): Remove -Winline to allow stl set code
4975 to compile. If it compiles cleanly in gcc 3.1, then reinstate.
4976 * PickPackageLine.cc: Adjust packageversion accessors to the new
4977 reference calls. (i.e. -> to .) throughout.
4978 (PickPackageLine::paint): Use accessible() for clarity.
4979 Use new split out source package logic.
4980 (PickPackageLine::click): Ditto.
4981 * PickView.cc (PickView::init_headers): Adjust packageversion accessors
4982 to the new reference calls. (i.e. -> to .) throughout.
4983 Use new split out source package logic.
4984 * choose.cc: Don't depend on a specific package type.
ca2b7505 4985 Adjust packageversion accessors to the new reference calls. (i.e. -> to
3c196821
RC
4986 .) throughout.
4987 (set_existence): Use accessible () for clarity.
4988 (default_trust): Simplify a little.
ca2b7505 4989 (scanAVersion): Factored out code from scan_downloaded_files for
3c196821
RC
4990 clarity.
4991 (scan_downloaded_files): Factor out inner loop for clarity.
4992 (ChooserPage::OnNext): Don't dump the dependency list,
ca2b7505 4993 it's parsing is robust now!.
3c196821
RC
4994 * cygpackage.cc (createInstance): Use a factory method to create new
4995 objects.
4996 (cygpackage::cygpackage): Make this private for use by the factory.
4997 (cygpackage::setCanonicalVersion): Renamed from set_canonical_version.
4998 Remove key usage as it's obsolete.
4999 * cygpackage.h (cygpackage): Inherit from _packageversion, not
5000 packageversion.
5001 (cygpackage::createInstance): New factory.
5002 (cygpackage::cygpackage): Make private.
5003 * desktop.cc (make_passwd_group): Use new packageversion reference.
5004 * download.cc (do_download_thread): Use changeRequested() for clarity.
5005 Use new packageversion reference calls.
5006 * iniparse.y (REQUIRES): Reuse the packageList code and dump the one-off
5007 requires code.
5008 * install.cc: Adjust -> to ., and use the new accessor functions for
5009 packageversion throughout.
5010 * package_db.cc: Adjust -> to ., and use the new accessor functions for
5011 packageversion throughout.
5012 (packagedb::packagedb): Use the new cygpackage factory.
5013 (packagedb::flush): Leverage String to remove buffer overflow chance in
5014 sprintf.
5015 (packagedb::findBinary): Find a binary meta package that has a version
5016 matching a given specification.
5017 (packagedb::findSource): Ditto, but for source.
5018 * package_db.h (packagedb::findBinary): Declare.
5019 (packagedb::findSource): Ditto.
5020 * package_meta.cc: Adjust packageversion accessors to the new
5021 reference calls. (i.e. -> to .) throughout.
5022 Include the package_meta header first to ensure it parses standalone.
5023 Use the STL algorithms.
5024 (packagemeta::packagemeta): Create a copy constructor to allowing
5025 cloning binary package metadata to source package metadata.
ca2b7505 5026 (packagemeta::~packagemeta): Use the STL coleltion code rather than
3c196821
RC
5027 custom collection code.
5028 (packagemeta::add_version): Ditto.
5029 (packagemeta::set_installed): Ditto.
5030 (packagemeta::SDesc): Ditto.
5031 (hasSDesc): Helper function for find_if.
5032 (checkForInstalled): Ditto.
5033 (checkForUpgradeable): Ditto.
5034 (checkForSatisfiable): Ditto.
5035 (packagemeta::action_caption): Update for split out source packages.
5036 (packagemeta::set_action): Ditto.
5037 (packagemeta::set_requirements): Support multi-valued dependency
5038 lists - a|b & c|d - with versioned package specifications.
5039 (packagemeta::accessible): Helper member to improve abstraction.
5040 (packagemeta::sourceAccessible): Ditto.
5041 * package_meta.h: Adjust packageversion accessors to the new
5042 reference calls. (i.e. "->" to "." and"*" to "" ) throughout.
58b12a06 5043 (packagemeta::packagemeta): Declare copy constructor.
3c196821
RC
5044 Remove self initialising members.
5045 (packagemeta::set_action): Update parameters for new packageversion.
5046 (packagemeta::trustp): Ditto.
5047 (packagemeta::versions): Becomes an STL set.
5048 * package_source.h (packagesource::Cached): Const correctness change.
5049 * package_version.cc: Rewrite the packageversion interface to remove
5050 the cygpackage nonvirtual members, and provide a copy by value,
5051 pointer semantics reference counting wrapper class to ease use and
5052 comparison of packageversions.
5053 Change existing packageversion class to _packageversion throughout.
5054 (_defaultversion): A trivial concrete class to prevent specialcasing
5055 the default constructor for packageversion;
5056 (packageversion::packageversion): Implement.
5057 (packageversion::~packageversion): Ditto.
5058 (packageversion::operator=): Ditto.
5059 (packageversion::operator !): Ditto.
5060 (packageversion::operator bool): Ditto.
5061 (packageversion::operator ==): Ditto.
5062 (packageversion::operator !=): Ditto.
5063 (packageversion::operator <): Ditto.
5064 (packageversion::Name): Ditto.
5065 (packageversion::Canonical_version): Ditto.
5066 (packageversion::setCanonicalVersion): Ditto.
5067 (packageversion::getfirstfile): Ditto.
5068 (packageversion::getnextfile): Ditto.
5069 (packageversion::SDesc): Ditto.
5070 (packageversion::set_sdesc): Ditto.
5071 (packageversion::LDesc): Ditto.
5072 (packageversion::set_ldesc): Ditto.
5073 (packageversion::sourcePackage): Ditto.
5074 (packageversion::sourcePackageSpecification): Ditto.
5075 (packageversion::setSourcePackageSpecification): Ditto.
5076 (packageversion::depends): Ditto.
5077 (packageversion::predepends): Ditto.
5078 (packageversion::recommends): Ditto.
5079 (packageversion::suggests): Ditto.
5080 (packageversion::replaces): Ditto.
5081 (packageversion::conflicts): Ditto.
5082 (packageversion::provides): Ditto.
5083 (packageversion::picked): Ditto.
5084 (packageversion::pick): Ditto.
5085 (packageversion::changeRequested): Ditto.
5086 (packageversion::uninstall): Ditto.
5087 (packageversion::source): Ditto.
5088 (packageversion::accessible): Ditto.
5089 (_packageversion::sourcePackage): Ditto.
5090 (_packageversion::accessible): Ditto.
5091 (_packageversion::changeRequested): Ditto.
5092 * package_version.h: Rewrite the packageversion interface to remove
5093 the cygpackage nonvirtual members, and provide a copy by value,
5094 pointer semantics reference counting wrapper class to ease use and
5095 comparison of packageversions.
5096 Change existing packageversion class to _packageversion throughout.
5097 (Dependency): Remove.
5098 (packageversion): New wrapper class.
5099 (_packageversion): Renamed from packageversion.
5100 (_packageversion::setCanonicalVersion): New method.
5101 (_packageversion::sourcePackage): Ditto.
5102 (_packageversion::sourcePackageSpecification): Ditto.
5103 (_packageversion::setSourcePackageSpecification): Ditto.
5104 (_packageversion::changeRequested): Ditto.
5105 (_packageversion::bin): Rename to source.
5106 (_packageversion::src): Remove.
5107 (_packageversion::accessible): New method.
5108 (_packageversion::references): Allow reference counting.
ca2b7505 5109 (_packageversion::sourceVersion): Cached the best-match source
3c196821
RC
5110 package version.
5111
387cb501
RC
51122002-06-27 Robert Collins <rbtcollins@hotmail.com>
5113
5114 * compress_bz.h (compress_bz::position): Track how much has been read.
5115 * compress_bz.cc (compress_bz::compress_bz): And initialise it.
5116 (compress_bz::read): Track amount read by the client.
5117 (compress_bz::tell): And report it when asked.
5118
7d702af3
RC
51192002-06-27 Robert Collins <rbtcollins@hotmail.com>
5120
5121 * Makefile.am (snapshot): Automate snapshot creation some more.
5122
08cd08c3
RC
51232002-06-27 Robert Collins <rbtcollins@hotmail.com>
5124
5125 * msg.cc (msg): Use vsnprintf to avoid buffer overflows.
5126 (mbox): Ditto.
5127 * ini.cc (fprintf): Ditto.
5128 * log.cc (log): Ditto.
5129 * package_db.cc (packagedb::sourcePackages): Split out source packages
5130 from binary packages.
5131 * package_db.h: Ditto.
5132
aa1e3b4d
RC
51332002-06-27 Robert Collins <rbtcollins@hotmail.com>
5134
5135 * PackageSpecification.h: New file. Abstracts the ability to refer
5136 to another package, by name, or name and version.
5137 * PackageSpecification.cc: Ditto.
5138 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Simplify.
5139 (IniDBBuilder::buildPackageSource): Ditto.
5140 (IniDBBuilder::buildBeginDepends): New method for versioned
5141 dependencies.
5142 (IniDBBuilder::buildBeginPreDepends): Likewise, for dependencies to be
5143 satisfied before pre-install.
5144 (IniDBBuilder::buildPriority): New method, for getting the package
5145 Priority.
5146 (IniDBBuilder::buildInstalledSize): How much disk space does it need?
5147 (IniDBBuilder::buildMaintainer): Who maintains the package?
5148 (IniDBBuilder::buildArchitecture): What platform is it for?
5149 (IniDBBuilder::buildInstallSize): How big is the binary download?
5150 (IniDBBuilder::buildInstallMD5): Whats the MD5 on the binary?
5151 (IniDBBuilder::buildSourceMD5): Whats the MD5 on the source package?
5152 (IniDBBuilder::buildBeginRecommends): What other packages are
5153 recommended with this one?
5154 (IniDBBuilder::buildBeginSuggests): And suggested?
5155 (IniDBBuilder::buildBeginReplaces): What packages does this replace?
5156 (IniDBBuilder::buildBeginConflicts): And collide with?
5157 (IniDBBuilder::buildBeginProvides): What virtual packages (or obsolete
5158 package names) does this provide?
5159 (IniDBBuilder::buildDescription): Grab a multi line description one
5160 line at a time.
5161 (IniDBBuilder::buildSourceName): What source package should be used to
5162 install the source for this binary package?
5163 (IniDBBuilder::buildSourceNameVersion): Is a specific version needed?
ca2b7505 5164 (IniDBBuilder::buildPackageListAndNode): Add another AND clause to a
aa1e3b4d
RC
5165 list of package specifications.
5166 (IniDBBuilder::buildPackageListOrNode): Add another OR clause.
5167 (IniDBBuilder::buildPackageListOperator): Add a versioning operator
5168 to the current specification.
5169 (IniDBBuilder::buildPackageListOperatorVersion): What version does the
5170 operator act on?
5171 * IniDBBuilder.h: Declare all the IniDBBuilder.cc changes.
5172 * IniDBBuilderPackage.cc: As for IniDBBuilder.cc.
5173 (IniDBBuilderPackage::IniDBBuilderPackage): Iniitialize new members.
ca2b7505 5174 (IniDBBuilderPackage::process_src): Streamline and split out
aa1e3b4d
RC
5175 functionality.
5176 (IniDBBuilderPackage::setSourceSize): From process_src.
5177 * IniDBBuilderPackage.h: Declare the IniDBBuilderPackage.cc changes.
5178 (IniDBBuilderPackage::currentSpec): Track the in-progress specifiation.
5179 (IniDBBuilderPackage::currentOrList): Track the current Or list.
5180 (IniDBBuilderPackage::currentAndList): Track the current And list.
5181 * IniParseFeedback.cc (IniParseFeedback::progress): Provide completion
349bd18c 5182 progress on parsing.
aa1e3b4d
RC
5183 (IniParseFeedback::iniName): Tell what ini filename we are currently
5184 processing.
5185 * IniParseFeedback.h: Declare IniParseFeedback.cc changes.
ca2b7505 5186 * IniParseFindVisitor.cc (IniParseFindVisitor::IniParseFindVisitor):
aa1e3b4d
RC
5187 Make the feedback object non-const to allow mutating methods which are
5188 needed when the object has state.
5189 (IniParseFindVisitor::visitFile): Tell the caller the name of each
5190 .ini found.
5191 Initialise the parser with the feedback object to allow it to tell of
5192 progress.
5193 * IniParseFindVisitor.h: Declare IniParseFindVisitor.cc changes.
5194 * Makefile.am (inilinst_SOURCES): Add more requisite classes.
5195 (setup_SOURCES): Add the new PackageSpecification sources.
5196 * ScanFindVisitor.cc (ScanFindVisitor::visitFile): Use the new
5197 builder syntax to setup binary package details.
5198 * choose.cc: Use the LogSingleton calls throughout.
5199 * configure.in: Create the INILINT substitution correctly for recent
5200 autotool configurations.
5201 * cygpackage.cc (cygpackage::getfirstfile): Return an empty String
5202 rather than a string built from an int. Thanks to Pavel Tsekov for
5203 identifying the bug.
5204 (cygpackage::getnextfile): Ditto.
5205 * download.cc: Use LogSIngletion calls throughout.
ca2b7505 5206 (validateCachedPackage): A refactoring of the
aa1e3b4d
RC
5207 check_for_cached code to eliminate duplciation.
5208 (check_for_cached): Use validateCachedPackage to check packages.
ca2b7505 5209 * ini.cc (GuiParseFeedback): Provide gui feedback on ini name and
aa1e3b4d
RC
5210 parsing progress.
5211 (do_remote_ini): Ditto.
5212 * ini.h (ini_init): Pass a IniParseFeedback to the parser, to allow
5213 progress reporting.
5214 * inilex.l: Identify new symbols - operators, and multi line plain text.
5215 Releases files.
5216 * inilintmain.cc (show_help): Provide basic infomation on inilint.
5217 * iniparse.y: Adjust for the new builder syntax, and process debian
5218 Release files.
5219 * io_stream_file.cc: Always include mkdir.h.
5220 * list.h: Factor index location into a private routine.
5221 (list::findindex): Implement this.
ca2b7505 5222 * mkdir.cc (mkdir_p): Make the use of WIN32 code conditional on mingw
aa1e3b4d
RC
5223 builds. NB: This breaks cygwin build functionality still.
5224 * package_meta.cc: Use the LogSingleton calls throughout.
5225 (packagemeta::set_requirements): Adjust for object changes in
5226 dependencies.
5227 * package_meta.h (packagemeta::packagemeta): Initialise new members.
ca2b7505 5228 (packagemeta::architecture): What platform does this package run on?
aa1e3b4d 5229 This may need to move in the future to a per packagefile object.
58b12a06 5230 (packagemeta::priority): What priority does this package have?
aa1e3b4d
RC
5231 * package_source.h (packagesource::packagesource): Initialise new
5232 members.
5233 (packagesource::installedSize): How much space does the package need?
5234 (packagesource::setInstalledSize): Tell the amount.
5235 (packagesource::_installedSize): And store it.
ca2b7505 5236 * package_version.cc (packageversion::sourcePackage): return the
aa1e3b4d
RC
5237 source package.
5238 (packageversion::setSourcePackage): And set it.
5239 * package_version.h: Declare the package_version.cc changes.
5240 (packageversion::depends): New package specification AND list.
5241 (packageversion::predepends): Ditto.
5242 (packageversion::recommends): Ditto.
5243 (packageversion::suggests): Ditto.
5244 (packageversion::replaces): Ditto.
5245 (packageversion::conflicts): Ditto.
5246 (packageversion::provides): Ditto.
5247 (packageversion::sourcePackage): What source package is needed?
5248 * threebar.cc (ThreeBarProgressPage::SetText4): Set the label beside
5249 the bottom bar.
5250 * threebar.h: Declare the threebar.cc change.
5251
52522002-06-27 John Marshall <johnm@falch.net>
5253
5254 * res.rc (SETUPINI_MISSING): Make trailing spaces visible.
5255 * site.cc (SitePage::OnMessageCmd): Ditto
5256
2a994e0b
RC
52572002-06-15 Robert Collins <rbtcollins@hotmail.com>
5258
5259 * nio-ie5.cc (NetIO_IE5::NetIO_IE): Allow cached data.
5260
ceff7035
RC
52612002-06-15 Robert Collins <rbtcollins@hotmail.com>
5262
5263 * package_meta.cc (packagemeta::set_action): When installing packages
5264 with no binaries, choose the source package.
5265
9bd27040
RC
52662002-06-10 Robert Collins <rbtcollins@hotmail.com>
5267
5268 * IniParseFindVisitor (IniParseFindVisitor::visitFile): Apply Max
ca2b7505 5269 Bowshers fix for the crash with a root level setup.ini.
9bd27040
RC
5270 * README: Update todos.
5271
1dcff4a0
RC
52722002-05-26 Ralf Habacker <ralf.habacker@freenet.de>
5273
5274 * archive_tar.cc (archive_tar::next_file_name()): fixed broken
5275 GNU long name extension support.
349bd18c 5276
0773e4f2
RC
52772002-05-27 Robert Collins <rbtcollins@hotmail.com>
5278
ca2b7505 5279 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Don't
0773e4f2
RC
5280 unescape 0 length strings.
5281
a828d772
RC
52822002-05-20 Robert Collins <rbtcollins@hotmail.com>
5283
5284 * package_meta.cc (packagemeta::set_action): Don't allow reinstall
5285 when local with no cached file, and install the default source if the
5286 default version has no binary.
5287
67829ce0
RC
52882002-05-19 Robert Collins <rbtcollins@hotmail.com>
5289
5290 * IniDBBuilderPackage.cc (IniDBBuilderPackage::IniDBBuilderPackage): New
349bd18c 5291 method.
ca2b7505 5292 (IniDBBuilderPackage::buildVersion): Provide a warning when a newer
67829ce0
RC
5293 setup version created the ini file.
5294 * IniDBBuilderPackage.h (IniDBBuilderPackage::IniDBBuilderPackage): New
5295 method.
5296 * IniParseFindVisitor.cc (IniParseFindVisitor::visitFile): Use the new
5297 feedback strategy.
5298 * IniParseFindVisitor.h (IniParseFindVisitor::IniParseFindVisitor):
5299 Require a feedback strategy.
5300 * Makefile.am (setup_SOURCES): Add IniParseFeedback sources.
5301 * Makefile.in: Regenerate.
5302
4849e2fc
RC
53032002-05-19 Robert Collins <rbtcollins@hotmail.com>
5304
5305 * io_stream_file.cc (io_stream_file::remove): Use the SetFileAttributes
5306 trick to delete read only files.
ca2b7505 5307 * io_stream_cygfile.cc (io_stream_cygfile::remove): Use file:// to
4849e2fc
RC
5308 remove files.
5309 * Makefile.am (release): Tweak to be more helpful.
5310 * Makefile.in: Regenerate.
5311
7cb35117
RC
53122002-05-19 Robert Collins <rbtcollins@hotmail.com>
5313
5314 * Makefile.am (release): Tweak to be more helpful.
5315 * Makefile.in: Regenerate.
7cb35117 5316
5090e3ce
RC
53172002-05-19 Robert Collins <rbtcollins@hotmail.com>
5318
5319 * Makefile.am (release): Tweak to be more helpful.
5320 * Makefile.in: Regenerate.
5321
9e9b881a
RC
53222002-05-19 Robert Collins <rbtcollins@hotmail.com>
5323
ca2b7505 5324 * choose.cc (scan_downloaded_files): When a non-installed version
9e9b881a
RC
5325 has neither bin nor src cached files for local installs,
5326 remove the version from availability.
5327
ea36e064
RC
53282002-05-19 Robert Collins <rbtcollins@hotmail.com>
5329
5330 * ini.cc (do_remote_ini): Save uncompressed ini's correctly.
5331
b401ef47
RC
53322002-05-19 Robert Collins <rbtcollins@hotmail.com>
5333
5334 * rsync: New support library, contains librsync. This is not (yet)
349bd18c 5335 rsync interoperable.
b401ef47
RC
5336 * configure.in: --with-rsync to enable rsync support. (Not complete).
5337 * Makefile.am: Enable building with rsync.
5338 * Makefile.in: Regenerate.
5339 * configure: Ditto.
5340 * IniDBBuilder.cc (IniDBBuilder::buildPackageInstall): Pass the md5 as
5341 an array.
5342 (IniDBBuilder::buildPackageSource): Ditto.
5343 * IniDBBuilder.h: Ditto.
5344 * IniDBBuilderPackage.cc: Ditto.
5345 * IniDBBuilderPackage.h: Ditto.
5346 * FindVisitor.cc: New file.
5347 * FindVisitor.h: New file, interface for visiting a file system
5348 aggregate.
5349 * IniParseFindVisitor.cc: New file.
ca2b7505 5350 * IniParseFindVisitor.h: New file, concrete FindVisitor that parses
b401ef47
RC
5351 found setup.ini's.
5352 * README: Update TODO's.
5353 * String++.cc (String::String): New constructor for <string> inter-
5354 operability.
5355 (String::substr): New method.
5356 * String++.h: Ditto.
5357 * choose.cc (scan2): Remove.
5358 (scan_downloaded_files): Simplify.
5359 * dialog.h: Include parsing pre-requirements.
5360 * download.cc (check_for_cached): Fullname was used incorrectly - fix.
5361 * filemanip.cc (parse_filename): -src packages where incorrectly parsed.
5362 * find.cc: Rewrite. Now uses a Visitor pattern and is re-entrant.
5363 * find.h: Ditto.
5364 * fromcwd.cc: Remove unneeded includes.
5365 (is_test_version): Remove.
5366 (found_file): Remove.
5367 (SetupFindVisitor): Trivial visitor to detect setup.ini's.
5368 (found_ini): Remove.
5369 (do_fromcwd): Remove commented code that has be replaced elsewhere.
5370 * ini.cc (local_ini): Remove.
5371 (findBuilder): Remove.
5372 (find_routine): Remove.
5373 (do_local_ini): Use new IniParseFindVisitor.
5374 * iniparse.y: Typecase MD5 arrays, as we know they are allocated as
5375 unsigned char.
5376 * postinstall.cc: Remove non-core includes.
5377 (run_script_in_postinstall): Remove.
5378 (RunFindVisitor): Trivial Visitor, runs each found script.
5379 (do_postinstall): Use new find syntax.
5380
0d4e0aad
CF
53812002-05-14 Christopher Faylor <cgf@redhat.com>
5382
5383 * ini.cc (find_routine): Don't clear buffer it it's NULL.
5384
53852002-05-14 Christopher Faylor <cgf@redhat.com>
5386
5387 * filemanip.h (trail): Declare.
5388 * filemanip.cc (trail): New function.
5389 (find_tar_ext): Use trail() instead of strstr().
5390 * fromcwd.cc (check_ini): Ditto.
5391 * ini.cc (find_routine): Ditto. Don't tack local_dir to path since it
5392 should now be fully qualified. Set ini_filename. Reset error_buf and
5393 error_count for any subsequent ini file parsing.
5394 (ini_filename): New static variable for parse error reporting.
5395 (yyerror): Use full path of setup.ini in error message. Subtract one
5396 from line number if at bol.
5397 * find.cc (found_part): Eliminate.
5398 (find_sub): Call for_each with full path found rather than just file
5399 component.
5400 (find): Don't calculate found_part.
5401 * inilex.l (ini_init): Flush input buffer and reset line number.
5402 (yybol): New function. Exports YY_AT_BOL.
5403 * iniparse.y: Increase stack depth to allow more tokens to be processed.
5404 (yyparse): Remove newline from error condition to allow subsequent
5405 per-line error processing to proceed normally.
5406
54072002-05-14 Christopher Faylor <cgf@redhat.com>
5408
5409 * find.cc (find_sub): Be more defensive in preserving trailing parts of
5410 components when doing recursive directory searches or calling user
5411 supplied for_each().
5412 * ini.cc (find_routine): Don't assume that any path name with
5413 "setup.ini" in it is actually a setup.ini file. Only honor trailing
5414 components. Copy path argument to temporary storage when unescaping
5415 to prevent nuking of argument.
5416
874c569a
RC
54172002-05-12 Robert Collins <rbtcollins@hotmail.com>
5418
5419 * CONTRIBUTORS: New file.
5420
f6a81f69
RC
54212002-04-02 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5422
5423 * choose.cc: Run indent.
5424 (nextbutton): Remove static variable.
5425 (default_trust): Remove use of nextbutton.
5426 (set_view_mode): Ditto.
5427 (create_listview): Add IDC_CHOOSE_PREV and IDC_CHOOSE_NEXT to ta[] so
5428 rbset() sets the prev/next/curr radio buttons properly.
5429 (dialog_cmd): Delete function.
5430 (dialog_proc): Delete function. Move WM_INITDIALOG functionality to
5431 ChooserPage::OnInit.
5432 (do_choose): Delete function. Move pre-DialogBox() code to
5433 ChooserPage::OnInit(), post-DialogBox() code to ChooserPage::OnNext.
5434 (WM_APP_START_CHOOSE): Remove define.
5435 (WM_APP_CHOOSE_IS_FINISHED): Remove define.
5436 (do_choose_thread): Delete function.
5437 (ChooserPage::OnActivate): Delete method.
5438 (ChooserPage::OnMessageApp): Delete method.
5439 (ChooserPage::OnInit): New method.
5440 (ChooserPage::OnNext): New method.
5441 (ChooserPage::OnBack): New method.
5442 (ChooserPage::OnMessageCmd): New method.
5443 * choose.h: Run indent.
5444 (ChooserPage::OnMessageApp): Delete declaration.
5445 (ChooserPage::OnActivate): Ditto.
5446 (ChooserPage::OnMessageCmd): New declaration.
5447 (ChooserPage::OnInit): Ditto.
5448 (ChooserPage::OnNext): Ditto.
5449 (ChooserPage::OnBack): Ditto.
5450 * desktop.cc (DesktopSetupPage::OnBack): Replace use of IDD_CHOOSER
5451 with IDD_CHOOSE.
5452 * fromcwd.cc (do_fromcwd): Replace use of IDD_CHOOSER with IDD_CHOOSE.
5453 * ini.cc (do_ini_thread): Replace use of IDD_CHOOSER with IDD_CHOOSE.
5454 * res.rc (IDD_CHOOSE): Remove dialog template.
5455 (IDD_CHOOSER): Alter dialog template to fit wizard size and format.
5456
74617327
RC
54572002-05-12 Robert Collins <rbtcollins@hotmail.com>
5458
5459 * LogFile.cc (endLog): Work around an apparent libg++-3 bug causing
5460 corrupt log file entries.
5461 * geturl.cc: Convert to the new LogSingleton logging.
5462
3272d625
RC
54632002-05-12 Robert Collins <rbtcollins@hotmail.com>
5464
5465 * ini.cc (do_remote_ini): Use setup.bz2 if it exists in preference to
5466 setup.ini.
5467
fc687221
RC
54682002-05-12 Robert Collins <rbtcollins@hotmail.com>
5469
5470 * geturl.h: Declare getUrlToStream.
5471 * geturl.cc (getUrlToStream): New function.
5472 (get_url_to_membuf): Refactor to use getUrlToStream.
5473
902c8a3f
RC
54742002-05-11 Robert Collins <rbtcollins@hotmail.com>
5475
5476 * Makefile.am: Add a release target to automate some of the routine
5477 work.
5478 * Makefile.in: Regenerate.
5479
2ab26cdb
RC
54802002-05-11 Robert Collins <rbtcollins@hotmail.com>
5481
5482 * choose.cc (scan_downloaded_files): On local installs remove all
5483 mirror sites if no cached copy of a package is found.
5484
94852d65
RC
54852002-05-10 Robert Collins <rbtcollins@hotmail.com>
5486
5487 * Makefile.in: Regenerate.
58b12a06 5488 * iniparse.y: Use left recursion, not right in the lines rule to
94852d65
RC
5489 avoid stack overflows.
5490 * README: Update TODO's.
5491 * io_stream_file.cc: Native builds need to include sys/stat.h
5492
3548fbc3
RC
54932002-05-06 John Marshall <jmarshall@acm.org>
5494
5495 * site.cc (SitePage::OnMessageCmd): recalculate navigation
5496 button activation when "Add" is pressed.
5497 (SitePage::CheckControlsAndDisableAccordingly): tweak comment.
5498
54992002-05-07 Robert Collins <rbtcollins@hotmail.com>
2b48ecd0
RC
5500
5501 * Makefile.am (inlint_SOURCES): Add conditional objects to inilint
5502 depending on platform.
5503 Add file:// support.
5504 * configure.in: Set conditional MINGWTARGET if compiling against mingw
5505 libraries.
5506 * Makefile.in: Regenerate.
5507 * configure: Ditto.
5508 * io_stream_file.cc: Only use win32 calls when building for mingw.
5509
19911586
RC
55102002-05-05 Robert Collins <rbtcollins@hotmail.com>
5511
5512 * Makefile.am (noinst_PROGRAMS): Make inilint configurable.
5513 * configure.in: Ditto.
5514 Fix incorrect header checking syntax.
5515 * aclocal.m4: Regenerate.
5516 * configure: Regenerate.
5517 * Makefile.in: Regenerate.
5518 * io_stream.cc: Remove platform specific and provider specific code.
5519 (io_stream::registerProvider): New method, registers a Url provider with
5520 the io_stream code.
5521 Make all methods consistently throw invalid_argument exceptions when
5522 a provider that is requested is not present.
5523 (findProvider): New private function, finds a provider.
5524 * io_stream.h: Declare io_stream::registerProvider.
5525 * io_stream_cygfile.cc: Create a Provider class to register with
5526 io_stream.cc.
5527 * io_stream_file.cc: Ditto.
5528 * archive.cc: Remove unneeded includes.
5529 * archive_tar.cc: Remove unneeded includes.
5530 * archive_tar.h: Add required include.
5531 * archive_tar_file.cc: Remove unneded includes.
5532 * choose.cc: Remove unneeded includes:
5533
bf4ffcd9
RC
55342002-05-04 Robert Collins <rbtcollins@hotmail.com>
5535
5536 * io_stream.cc: Use the new log interface thruout.
5537
9f4a0c62
RC
55382002-05-04 Robert Collins <rbtcollins@hotmail.com>
5539
5540 * log.cc (log): Reimplement via LogSingleton.
5541 (log_save): Remove.
5542 (exit_setup): Remove.
5543 * log.h (log_save): Remove.
5544 (exit_setup): Remove.
5545 * LogSingleton.cc: New file.
5546 * LogSingleton.h: New file.
5547 * LogFile.cc: New file.
5548 * LogFile.h: New file.
5549 * Makefile.am (inilint_SOURCES): Add the new log interface.
5550 (setup_SOURCES): Add the new log interface and the concrete File
5551 implementation.
5552 * Makefile.in: Regenerate.
5553 * archive.cc: Use the new log interface thruout.
5554 * archive_tar.cc: Ditto.
5555 * main.cc: Ditto.
5556 * dialog.cc (fatal): Use the new log interface.
5557 * ini.cc (do_ini_thread): Use the log interface to exit.
5558 * isntall.cc (do_install_thread): Ditto.
5559 * netio.cc (auth_cmd): Ditto.
5560 * msg.cc (fatal): Ditto.
5561 * localdir.cc (save_local_dir): Save to different files depending on
5562 the mode, and if a root dir exists.
5563
076654e7
RC
55642002-05-04 Robert Collins <rbtcollins@hotmail.com>
5565
5566 * IniDBBuilder.cc: New file.
5567 * IniDBBuilder.h: New file.
5568 * IniDBBuilderPackage.cc: New file.
5569 * IniDBBuilderPackage.h: New file.
5570 * PackageTrust.h: New file.
5571 * IniState.h: Remove, wasn't thought out well enough.
5572 * Makefile.am (inilint_SOURCES): Add more requirements.
5573 (setup_SOURCES): Add new Builder base and concrete classes.
5574 * Makefile.in: Regenerate.
5575 * String++.cc (String::String): Implement int contructor.
5576 * String++.h (String): Declare int constructor.
5577 * archive_tar.cc (archive_tar::next_file_name): Return String() when
5578 no filename exists.
5579 * archive_tar.h (archive_tar_file): Remove get_next_filename method,
5580 it's not needed.
5581 * ini.cc: Replace IniState wuth IniDBBuilderPacakge.
5582 (find_routine): Use new IniDBBuilder to configure the parser.
5583 (do_local_ini): Ditto.
5584 (do_remote_ini): Ditto.
5585 * ini.h: Use IniDBBuilder to initialise parsing.
ca2b7505 5586 * inilex.l (MD5): Parse the MD5 string correctly, we had the nibbles
076654e7
RC
5587 swapped.
5588 (ini_init): Use an IniDBBuilder rather than static variables.
5589 * iniparse.y: Hand off all the object creation to a builder, rather
ca2b7505 5590 than hardcoding the behaviour. This allows run-time configured
076654e7 5591 behaviour.
ca2b7505 5592 * io_stream_cygfile.h (io_stream_cygfile): Remove get_next_filename
076654e7
RC
5593 method, it's not needed.
5594 * io_stream_file.h (io_stream_file): Ditto.
5595 * mount.cc (cygpath): Return String() for missing mounts.
5596 * package_meta.cc (packagemeta::SDesc): Return String() for blank
5597 descriptions.
5598 * package_meta.h (trusts): Remove - replaced by PackageTrust.h.
5599 (packagemeta::packagemeta): Fix incorrect syntax in String constructor
5600 usage.
ca2b7505 5601 * cygpackage.cc (cygpackage::cygpackage): Fix incorrect syntax in
076654e7
RC
5602 String constructor usage.
5603 * site.h (site_list_type): Ditto.
5604
6391823e
RC
56052002-05-03 Robert Collins <rbtcollins@hotmail.com>
5606
5607 * String++.h: Declare a << operator that accepts String objects.
5608 * String++.cc: We need iostream for..
5609 (operator <<): this. Provide a << operator that accepts String objects.
5610 * ini.cc (yyerror): Remove the "C" classifier - it's not needed.
5611 Change from vargs to a String parameter.
5612 * inilintmail.cc: Remove the gui related headers.
5613 (yyerror): Implement this for parsing.
5614 * iniparse.y: Use the new yyerror syntax.
5615
b92028a4
RC
56162002-05-03 Robert Collins <rbtcollins@hotmail.com>
5617
5618 * Makefile.am: Add IniState.h.
5619 * Makefile.in: Regenerate.
5620 * IniState.h: New file.
5621 * choose.cc: Don't include ini.h - it's not needed.
5622 * configure: Regenerate.
5623 * desktop.cc: Don't include ini.h - it's not needed.
5624 * download.cc: Ditto.
5625 * fromcwd.cc: Ditto.
5626 * ini.cc: Use IniState.h to track each parsing calling.
5627 (find_routine): Ditto.
5628 (do_remote_ini): Ditto.
5629 (do_ini_thread): Ditto.
5630 * ini.h (ini_init): Adjust parameters to include state object.
5631 * inilex.l: Declare parser state variable.
5632 (ini_init): Adjust parameters to include state object.
ca2b7505 5633 * iniparse.y: Remove obsolete setup_timestamp and setup_version
b92028a4
RC
5634 declarations.
5635 (setup_header): Use new state variable to track time and version.
5636 (add_correct_version): Ditto.
5637 * install.cc: Don't include ini.h - it's not needed.
5638
e0a4db64
RC
56392002-05-03 Robert Collins <rbtcollins@hotmail.com>
5640
5641 * nio-files.cc (NetIO): Use io_stream syntax for get_file_size.
5642 * io_stream_file.cc: Don't include filemanip.h.
5643 (io_stream_file::get_size): Implement here to remove filemanip
5644 dependency.
5645 * io_stream_cygfile.cc: Don't include filemanip.h.
5646 (io_stream_cygfile::get_size): Implement here to remove filemanip
5647 dependency.
5648 Implement a stat based version for when win32 is not available.
5649 * filemanip.h (get_file_size): Return size_t - it's more appropriate.
5650 * filemanip.cc: Don't include win32.h - be platform independent.
5651 Include strings.h and io_stream.h as part of that.
5652 (get_file_size): Leverage io_streams and remove win32 implementation.
5653 * download.cc (check_for_cached): Use io_stream syntax for
5654 get_file_size.
5655 (download_one): Ditto.
5656
56572002-05-02 Robert Collins <rbtcollins@hotmail.com>
ac65f5c5
RC
5658
5659 * configure.in: Correct a typo in last change.
5660 * configure: Regenerate.
5661 * Makefile.in: Regenerate.
5662
e0a4db64 56632002-05-02 Robert Collins <rbtcollins@hotmail.com>
e06ded88
RC
5664
5665 * configure.in: Check for string.h and string.
5666 * configure: Regenerate.
5667 * Makefile.in: Regenerate.
5668
1fd0694a
RC
56692002-05-01 Robert Collins <rbtcollins@hotmail.com>
5670
5671 * res.rc (IDD_SPLASH): Remove white box.
5672
89ca06c0
RC
56732002-05-01 Robert Collins <rbtcollins@hotmail.com>
5674
5675 Oops! forgot to list these in the last checkin.
5676 * inilintmain.cc: New file.
5677 * md5.h: New file - imported md5 source, BSD style licence.
5678 * md5.cc: New file - imported md5 source, BSD style licence.
5679 * Exception.cc: New file.
5680 * Exception.h: New file.
5681 * MD5++.cc: New file.
5682 * MD5++.h: New file.
5683
58ee6135
RC
56842002-05-01 Robert Collins <rbtcollins@hotmail.com>
5685
ca2b7505 5686 * Makefile.am (AM_CFLAGS): Remove -mwindows, it's a linker flag.
58ee6135
RC
5687 Remove -fno-rtti, we need it for exceptions.
5688 (AM_CXXFLAGS): Ditto.
5689 (WARNONLY_CFLAGS): Ditto.
5690 (EXTRA_PROGRAMS): Add with initial linter sources - not functional yet.
5691 (setup_LDFLAGS): Add and set to -mwindows.
5692 (setup_SOURCES): Add new sources.
5693 * Makefile.in: Regenerate.
5694 * README: Update TODO.
5695 * choose.cc (scan_downloaded_files): Use ini information if it's
5696 available.
5697 * configure: Regenerate.
5698 * download.cc (check_for_cached): Make reusable from elsewhere.
5699 Throw exceptions on errors (as opposed to failures).
5700 Check MD5 sum when it's known.
5701 (download_one): Never force a download.
5702 Handle corrupt package exceptions.
5703 * ini.cc (find_routine): Reverse escape the URL to correctly identify
5704 the site URL.
5705 * inilex.l (MD5): Provide a parsing rule (note: lowercase is required).
ca2b7505 5706 * iniparse.y: Allow calculation of MD5 sums, and allow src only
58ee6135
RC
5707 packages.
5708 (process_src): New helper function.
5709 * isntall.cc (install_one_source): Check MD5 sums when possible.
5710 Throw exceptions on errors.
5711 (do_install_thread): Handle exceptions for installation calls.
5712 * package_source.h: Store MD5 information.
5713 * propsheet.cc (PropSheet::Create): Add a useful comment.
5714 * res.rc (IDS_INSTALL_ERROR): Define.
5715 (IDS_CORRUPT_PACKAGE): Define.
5716 * resource.h (IDS_INSTALL_ERROR): Define.
5717 (IDS_CORRUPT_PACKAGE): Define.
5718 * rfc1738.cc (rfc1738_unescape_part): Implement.
5719 * rfc1738.h (rfc1738_unescape_part): Declare.
5720
45e01f23
RC
57212002-04-29 Robert Collins <rbtcollins@hotmail.com>
5722
5723 * Makefile.am: Remove dependecy rules that automake emits.
5724 Correct badly copied dependency info for manually compiled files.
58b12a06 5725 (setup_SOURCES): Add all used headers.
45e01f23
RC
5726 (EXTRA_DIST): Include non compilate but required sources.
5727 (setup_LDADD): Remove mingw32, it is autodetected.
5728 * Makefile.in: Regenerate.
5729 * String++.h: sys/types is a system header.
5730 * choose.cc (do_choose_thread): Make into a Win32 thread routine.
5731 Use ExitThread.
5732 (ChooserPage::OnMessageApp): Use Win32 threads. (_beginthread is not
5733 portable).
5734 * configure: Regenerate.
5735 * configure.in: Check for mingw32/cygwin specific headers and libraries.
ca2b7505 5736 * cygpackage.h: Include the win32.h header to get correct macro
45e01f23
RC
5737 definitions in all situations.
5738 * download.cc (do_download_reflector): Make into a Win32 thread routine.
5739 Use ExitThread.
5740 (do_download): Use Win32 threads.
5741 * ini.cc: Ditto.
5742 * install.cc: Ditto.
ca2b7505 5743 * (WinMain): Adjust to build valid command line using application
45e01f23 5744 under both mingw32 and cygwin.
ca2b7505 5745 * mount.cc (set)cygdrive_flags): Create new system flags if the
45e01f23
RC
5746 user requests system and the value does not exist.
5747 * nio-http.cc: Define a _strnicmp for cygwin.
5748 * package_db.cc: Include <errno.h> if it exists.
ca2b7505 5749 * site.cc (do_download_site_info_thread): Make into a Win32 thread
45e01f23
RC
5750 routine.
5751 Use ExitThread.
5752 (do_download_site-Info): Use Win32 threads.
ca2b7505 5753 * state.cc: Explicity declare variables to avoid header conflicts
45e01f23
RC
5754 caused by '#define extern" on cygwin.
5755 * win32.h: Include <alloca.h> if it exists.
5756 (_MAX_PATH): Define as MAX_PATH when not defined by windows.h.
5757 (_access): Define as access if not defined by windows.h.
5758
8bb9dad9
RC
57592002-04-27 Robert Collins <rbtcollins@hotmail.com>
5760
5761 * compress_gz.cc (compress_gz::error): EOF is not an error condition.
5762
6908b7d7
RC
57632002-04-27 Robert Collins <rbtcollins@hotmail.com>
5764
5765 * Makefile.am: Add libgetopt++ to the subdirs list.
5766 Search the libgetopt++ header directory.
5767 Link against libgetopt++.la.
5768 (setup_SOURCES): Remove GetOption.cc and getopt.c and Option.cc.
5769 (setup_LDADD): Explicitly include res.o.
5770 * Makefile.in: Regenerate.
5771 * aclocal.m4: Regenerate.
5772 * bootstrap.sh: Call libtoolize.
5773 * configure: Regenerate.
5774 * configure.in: Add libtool support and configure libgetopt++.
5775 * desktop.cc (NoShortcutsOption): Turn into a BoolOption.
5776 (DesktopSetupPage::OnInit): Use the simpler syntax.
5777 * desktop.h: Remove dependency on Option.h, and remove NoShortcustOption
5778 declaration.
5779 * main.cc: Include getopt++/GetOption.h.
5780 (main): Use simpler syntax.
5781 * cdefs.h: Remove.
5782 * getopt.h: Remove.
5783 * getopt.c: Remove.
5784 * GetOption.h: Remove.
5785 * GetOption.cc: Remove.
5786 * Option.h: Remove.
5787 * Option.cc: Remove.
5788
9063358a
RC
57892002-04-26 Robert Collins <rbtcollins@hotmail.com>
5790
5791 * Makefile.am: Add zlib and bz2lib to SUBDIRS.
5792
f6100b6f
RC
57932002-04-26 Robert Collins <rbtcollins@hotmail.com>
5794
5795 * aclocal.m4: New file, cached macros.
ca2b7505 5796 * bootstrap.sh: New file, calls required autotools in appropriate
f6100b6f
RC
5797 order.
5798 * Makefile.am: New file, input Makefile for automake.
5799 * Makefile,in: Now a generated file - regenerate.
5800 * configure: Regenerate.
5801 * configure.in: Add automake support.
5802 * inilex.l: Change VERSION to PACKAGEVERSION to avoid a collision with
5803 automake's VERSION define.
5804 * iniparse.y: Ditto.
5805
db04fc41
RC
58062002-04-26 Robert Collins <rbtcollins@hotmail.com>
5807
5808 * cdefs.h: New file, imported to allow getopt.c to build without
5809 cygwin headers.
5810 * getopt.h: New file, imported to allow building without cygwin headers.
5811 * getopt.c: Ditto.
5812 * bz2lib: New directory, contains copy of bz2lib.
5813 * cfgaux: New directory, contains autotool helper scripts.
ca2b7505 5814 * Makefile,in: Adjust library and target definitions for building
db04fc41
RC
5815 outside the sourceware tree.
5816 * compress_bz.h: Use new bz2lib header location.
5817 * mount.cc: Import key defines and enums to be independent of cygwin
5818 headers.
ca2b7505 5819 * configure.in: Update to autoconf 2.53, and to be sourceware
db04fc41
RC
5820 independent.
5821 * configure: Regenerate.
5822
931f2755
RC
58232002-04-12 Robert Collins <rbtcollins@hotmail.com>
5824
5825 * mklink2.cc (make_link_2): Tweak to work with current w32api
5826 headers.
5827
58282002-04-10 Pavel Tsekov <ptsekov@gmx.net>
5829
5830 * version.cc (canonicalize_version): Fix a call delete[]
5831 to delete the allocated address.
5832
58332002-03-29 Robert Collins <rbtcollins@hotmail.com>
5834
5835 * PickView.cc (PickView::set_headers): Set last_col correctly. Thanks
5836 to Ton van Overbeek for locating the bug area.
5837
49cf3899
RC
58382003-03-27 Robert Collins <rbtcollins@hotmail.com>
5839
5840 * PickView.cc (PickView::insert_pkg): Be more generic with
5841 object use.
5842 (PickView::insert_category): Ditto.
5843 (PickView::~PickView): Create.
5844 * PickView.h (PickView::~PickView): Declare.
5845
1be8f8fd
RC
58462003-03-27 Robert Collins <rbtcollins@hotmail.com>
5847
5848 * Makefile.in (OBJS): Add new commandline objects.
5849 * desktop.cc (NoShortCutsOption): New option code.
5850 (DesktopSetupPage::OnInit): Check whether to skip shortcuts.
5851 * desktop.h (NoShortCutsOption): New concrete command line option class.
5852 * main.cc (WinMain): Process command line options.
5853 * GetOption.h: New file, singleton command line class.
5854 * GetOption.cc: New file, implementation of the above.
5855 * Option.h : New file, abstract option for GetOption.
5856 * Option.cc: New file, implement constructor and destructor.
5857
f2e49cf8
RC
58582002-03-26 Pavel Tsekov <ptsekov@gmx.net>
5859
58b12a06 5860 * mkdir.cc (mkdir_p): Stop processing if the path is exhausted.
f2e49cf8
RC
5861
58622002-03-26 Ton van Overbeek <tvoverbe@cistron.nl>
5863
58b12a06
MB
5864 * PickPackageLine.cc (PickPackageline::paint): Adjust clipping rectangle
5865 to textheight, so large fonts work.
f2e49cf8
RC
5866
58672003-03-26 Robert Collins <rbtcollins@hotmail.com>
5868
58b12a06
MB
5869 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Don't translate
5870 symlinks.
f2e49cf8
RC
5871
58722003-03-26 Robert Collins <rbtcollins@hotmail.com>
5873
58b12a06
MB
5874 * io_stream_cygfile.cc (cwd): New static for cwd storage.
5875 (io_stream_cygfile::normalise): New method.
5876 (io_stream_cygfile::io_stream_cygfile): Use it.
5877 (io_stream_cygfile::exists): Ditto.
5878 (io_stream_cygfile::remove): Ditto.
5879 (io_stream_cygfile::mklink): And again.
5880 (cygmkdir_p): Yes, again.
5881 (io_stream_cygfile::move): And once more.
5882 * io_stream_cygfile.h (io_stream_cygfile::normalise): Declare.
5883 (io_stream_cygfile::cwd): Ditto.
f2e49cf8 5884
51ebb760
RC
58852003-03-26 Robert Collins <rbtcollins@hotmail.com>
5886
5887 * package_meta.cc (package_meta::~package_meta): Remove duplicate.
ca2b7505 5888 (CategoryPackage::~CategoryPackage): Ditto. (Thanks to Ton van
51ebb760
RC
5889 Overbeek for the report).
5890 * mklink2.cc: Moved from mklink2.c to avoid 'not a prototype error'.
5891 Make g++ compatible.
5892 * mklink2.c: Remove.
5893 * site.cc (site_list_type::init): Delete the correct memory addres.
5894 Thanks to Pavel Tsekov for tracking this down.
5895
e7d67c03
RC
58962002-03-20 Robert Collins <rbtcollins@hotmail.com>
5897
5898 * win32.h: Only define alloca if it's not already.
5899
2fa7c5a4
RC
59002002-03-20 Robert Collins <rbtcollins@hotmail.com>
5901
58b12a06
MB
5902 * package_meta.h (packamgemeta::trustp): Make 'test' choice leave
5903 installed packages alone.
2fa7c5a4
RC
5904 * README: Update with latest requests.
5905 * Various: MTC fixes from setup200202 branch.
5906
7bf13fc9
CF
59072002-03-19 Christopher Faylor <cgf@redhat.com>
5908
5909 * Makefile.in (setup_version.c): Add back magic which allows detection
5910 of setup.exe version number.
5911
2fa7c5a4
RC
59122002-03-17 Robert Collins <rbtcollins@hotmail.com>
5913
58b12a06 5914 * PickPackageLine.cc (PickPackageLine::paint): Fix incorrect clip region
2fa7c5a4
RC
5915 calculation on win9x systems.
5916
59172002-03-16 Robert Collins <rbtcollins@hotmail.com>
5918
58b12a06
MB
5919 * install.cc (install_one_source): Write the correct length of a string
5920 to the lst file (Thanks to Pavel Tsekov for reporting the bug).
2fa7c5a4
RC
5921
59222002-03-15 Robert Collins <rbtcollins@hotmail.com>
5923
5924 * choose.cc (list_click): Always refresh the entire chooser, as our
58b12a06
MB
5925 package state change mechanism is broken with the new improved list
5926 classes.
2fa7c5a4
RC
5927
59282002-03-15 Robert Collins <rbtcollins@hotmail.com>
5929
58b12a06
MB
5930 * desktop.cc (make_passwd_group): Check for .lnk suffix on /etc/passwd
5931 and /etc/group.
2fa7c5a4
RC
5932
59332002-03-15 Robert Collins <rbtcollins@hotmail.com>
5934
58b12a06
MB
5935 * PickPackageLine.cc (PickPackageLine::DrawCheck): New method factored
5936 out from paint().
5937 (PickPackageLine::paint): Use DrawCheck to draw the src tick box, and
5938 the new bin tickbox.
2fa7c5a4
RC
5939 (PickPackageLine::click): Handle the new bin tickbox.
5940 * PickPackageLine.h (PickPackageLine::DrawCheck): Declare this.
5941 * PickView.cc (pkg_headers): Add a Bin? column.
5942 (cat_headers): Ditto.
5943 (PickView::set_headers): Ditto.
5944 (PickView::init_headers): Ditto.
5945 * PickView.h (PickView): Ditto.
58b12a06
MB
5946 * choose.cc (list_click): Use the new name for src_col to set the clip
5947 rectangle.
2fa7c5a4
RC
5948
59492002-02-24 Michael A Chase <mchase@ix.netcom.com>
5950
5951 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Fix up Robert's
5952 fixup.
5953
59542002-02-24 Michael A Chase <mchase@ix.netcom.com>
5955
5956 * desktop.cc (make_link): Add "file://" prefix to io_stream::mkpath_p()
5957 call.
5958 (make_passwd_group): Ditto.
5959 * localdir.cc (save_local_dir): Ditto.
5960 * io_stream_cygfile.cc (io_stream_cygfile::mklink): Wrap long lines.
5961 Add "cygfile://" prefix to io_stream::open() calls.
5962
204315f9
RC
59632002-02-24 Robert Collins <rbtcollins@hotmail.com>
5964
5965 * log.cc (log_save): Fix creating /var/log.
5966 * packate_meta.cc (standard_dirs): Remove duplicate '/''s.
5967
58db1046
RC
59682002-02-24 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
5969
5970 * res.rc (STRINGTABLE): Add IDS_CYGWIN_SETUP and
5971 IDS_CYGWIN_SETUP_WITH_PROGRESS strings.
5972 * resource.h: Add IDS_CYGWIN_SETUP and
5973 IDS_CYGWIN_SETUP_WITH_PROGRESS IDs.
5974
5975 * splash.cc (OnInit): Qualify SetWindowText() call with global scope
5976 operator (::SetWindowText()).
5977
5978 * threebar.cc: Run indent.
5979 (cistring.h): Add include.
5980 (SetText1, SetText2, SetText3): Qualify SetWindowText() call with
5981 global scope operator.
5982 (SetBar2): Add logic for writing percent complete into window title.
5983
5984 * window.h: Run indent.
5985 (SetWindowText): New function.
5986 (String): Add forward declaration.
5987 * window.cc: Run indent.
5988 (String++.h): Add include.
5989 (SetWindowText): New function.
5990
490717ef
RC
59912002-02-24 Robert Collins <rbtcollins@hotmail.com>
5992
5993 * README: Update TODO list.
5994 * install.cc (install_one): Fix src package location.
5995 (do_install_thread): Fix creating directories.
5996
7c6ef2c3
RC
59972002-02-19 Robert Collins <rbtcollins@hotmail.com>
5998
5999 * choose.cc: Include cygpackage.h for scan2 use.
6000 (set_existence): Ignore setup.ini mirrors when installing from cwd.
6001 (scan2): Process any valid file.
58b12a06
MB
6002 Add cache entries when a file matching a setup.ini listed version is
6003 found.
7c6ef2c3
RC
6004 * filemanip.cc (parse_filename): Remove pkgtar - not used anywhere else.
6005 * filemanip.h (filemanip::pkgtar): Remove.
6006 * package_meta.cc (CategoryPackage::~CategoryPackage): New method.
6007 (packagemeta::~packagemeta): Move from package_meta.h
6008 Remove and delete all version and category information.
6009 * package_meta.h (CategoryPackage): Create a destructor.
6010 (packagemeta::~packagemeta): Move to .cc file.
6011
60122002-02-19 Robert Collins <rbtcollins@hotmail.com>
6013
6014 * install.cc (install_one_source): Make NULL cached package names cause
6015 errors.
6016
bb087dce
RC
60172002-02-18 Michael A Chase <mchase@ix.netcom.com>
6018
6019 * desktop.cc (make_passwd_group): Don't create passwd-grp.bat
6020 unnecessarily.
6021
60222002-02-18 Michael A Chase <mchase@ix.netcom.com>
6023
6024 * log.cc (log_save): Put "\n" at end of log lines instead of "'".
6025
c90bc3df
RC
60262002-02-19 Robert Collins <rbtcollins@hotmail.com>
6027
6028 * mount.cc (create_mount): Avoid a const char*->char* warning.
6029 (read_mounts): Ditto.
6030
3bab9a49
RC
60312002-02-05 Jason Tishler <jason@tishler.net>
6032
58b12a06 6033 * download.cc (do_download_thread): Fix off-by-one error.
3bab9a49 6034
1ac649ed
RC
60352002-02-19 Robert Collins <rbtcollins@hotmail.com>
6036
6037 * configure.in (CXXFLAGS): Substitute at configure time, not runtime.
6038 * configure (CXXFLAGS): Regenerate.
6039 * Makefile.in (iniparse.o): Build via default rules - no errors now.
6040 * README: TODO list updates.
6041
60422002-02-19 Michael A Chase <mchase@ix.netcom.com>
6043
6044 * String++.cc (String::concat):: Remove.
6045 (String::vconcat):: Ditto.
6046 * String++.h (String::concat):: Remove.
6047 (String::vconcat):: Ditto.
6048 * archive_tar.cc: Don't include concat.h.
6049 * archive_tar_file.cc: Don't include concat.h.
6050 * compress_bz.cc (compress_bz::peek): Don't log unneeded messages.
6051 (compress_bz::seek): Ditto.
6052 (compress_bz::~compress_bz): Ditto.
6053 * compress_gz.cc (compress_gz::peek): Ditto.
6054 (compress_gz::error): Ditto.
6055 (compress_gz::~compress_gz): Ditto.
6056 * concat.cc (vconcat): Remove.
6057 (concat): Ditto.
6058 * concat.h (vconcat): Remove.
6059 (concat): Ditto.
6060 * desktop.cc (desktop_icon): Use new cygpath.
6061 (make_etc_profile): Ditto.
6062 (uexists): Ditto.
6063 (make_passwd_group): Ditto.
6064 (save_icon): Ditto.
6065 (check_desktop): Remove concat use.
6066 (check_start_menu): Ditto.
6067 * download.cc (download_one): Use new mkpath_p correctly.
6068 Use LOG_PLAIN.
6069 * fromcwd.cc: Don't include concat.h.
6070 * geturl.cc (get_url_to_membuf): Use String log() call.
6071 (get_url_to_file): Ditto.
6072 * install.cc: Don't include concat.h.
6073 (uninstall_one): Use LOG_PLAIN.
6074 (replace_one): Ditto.
6075 (install_one_source): Ditto.
6076 (install_one): More char to String conversion.
6077 (do_install_thread): Use new cygpath.
6078 Use new create_mount.
6079 * io_stream.cc (io_stream::move): Use new log().
58b12a06
MB
6080 * io_stream_cygfile (io_stream_cygfile::io_stream_cygfile): Use new
6081 cygpath.
1ac649ed
RC
6082 (io_stream_cygfile::exists): Ditto.
6083 (io_stream_cygfile::remove): Ditto.
6084 (io_stream_cygfile::mklink): Ditto.
6085 (io_stream_cygfile::write): Ditto.
6086 (cygmkdir_p): Ditto.
6087 (io_stream_cygfile::move): Ditto.
6088 * io_stream_file.cc: Don't include log.h.
6089 (io_stream_file::write): Don't log unneeded messages.
6090 * localdir.cc: Don't include concat.h.
6091 (LocalDirPage::OnNext): Use LOG_PLAIN.
6092 * log.cc: Don't include log.h.
6093 (exit_setup): Use new cygpath.
6094 * log.h (log_level): Add new level LOG_PLAIN.
6095 * main.cc (WinMain): Use new log().
6096 * mount.cc (SLASH_P): New macro from concat.h.
6097 (cygpath): Make String version globally visible.
6098 Remove varargs version.
6099 * mount,h: Ditto.
6100 * msg.cc (mbox): Use LOG_PLAIN.
6101 * net.cc (NetPage::OnNext): Ditto.
6102 * nio-ftp.cc (ftp_line): Use new log().
6103 * nio-http.cc: Don't include log.h.
6104 (retry_get): Use alternative url variable.
6105 * package_db.cc: Don't include concat.h.
6106 (packagedb::flush): Don't use concat.
6107 * package_meta.cc: Don't include concat.h.
6108 (packagemeta::uninstall): Use new cygpath.
6109 * postinstall.cc (do_postinstall): Ditto.
6110 * root.cc (RootPage::OnNext): Use LOG_PLAIN.
6111 * script.cc: Don't include concat.h.
6112 (init_run_script): Use new cygpath.
6113 (run_script): More char * to String conversion.
6114 (try_run_script): Ditto.
6115 * site.cc: Don't include concat.h.
6116 (SitePage::OnNext): Use LOG_PLAIN.
6117 (SitePage::OnMessageCmd): Use new log().
6118 * source.cc (SourcePage::OnDeactivate): Use LOG_PLAIN.
6119
3c054baf
RC
61202002-02-19 Robert Collins <rbtcollins@hotmail.com>
6121
6122 * Makefile.in (OBJS): Add new object.
58b12a06
MB
6123 * PickCategoryLine.cc (PickCategoryLine::paint): Print a "+" before the
6124 name.
3c054baf
RC
6125 * PickCategoryLine.h (PickCategoryLine::bucket): Use the String class.
6126 * PickLine.h (Pickline::key): Change to a String to help plug leaks.
6127 (PickLine::Pickline): Accept a String for the key.
58b12a06
MB
6128 * PickPackageLine.cc (PickPackageLine::paint): Convert all char use to
6129 Strings.
6130 * PickPackageLine.h (PickPackageLine::PickPackageLine): The key is
6131 automatically initialised now.
3c054baf 6132 * PickView.cc (PickView::note_width): Convert all char * use to Strings.
58b12a06
MB
6133 (PickView::init_header): Move category length checking out of the inner
6134 loop for efficiency.
3c054baf
RC
6135 Convert all char use to Strings.
6136 * PickView.h: Include the String++ header.
6137 (PickView::note_width): Update the prototype.
6138 * String++.cc: New file, implements a reference counting string class.
6139 * String++.h: New file, declares a reference counting string class.
6140 * archive.cc: Include String++ instead of concat.
6141 (archive::extract_file): Convert char * usage to Strings.
6142 * archive.h: Inlude the String++ header.
6143 (archive::extract_file): Update prototype.
6144 (archive::next_file_name): Convert to a String.
6145 (archive::linktarget): Ditto.
6146 * archive_tar.cc (archive_tar::next_file_name): Convert to String usage.
6147 (archive_tar::linktarget): Ditto.
6148 * arhive_tar.h: Update the copyright.
6149 Explicitly include the relevant headers.
6150 (tar_map_result_type): Convert to String usage.
6151 (archive_tar::next_file_name): Update prototype.
6152 (archive_tar::linktarget): Ditto.
6153 * category.cc (Category::Category): Update initialisers.
6154 Convert to String usage.
6155 (Categorycmp): Update to String usage.
6156 * category.h: Include the String++ header.
6157 (Category::Category): Update to String usage.
6158 (Category::name): Ditto.
6159 (Category::key): Ditto.
6160 * choose.cc: Remove concat.h, it's not needed.
6161 (scan2): Update to String usage.
6162 (do_choose): Ditto.
6163 * cygpackage.cc: Update includes for use of String class.
6164 (cygpackage::cygpackage): Update for String usage.
6165 (cygpackage::set_canonical_version): Ditto.
6166 (cygpackage::destroy): Ditto.
6167 (cygpackage::getfirstfile): Ditto.
6168 (cygpackage::getnextfile): Ditto.
6169 (cygpackage::Name): Ditto.
6170 (cygpackage::Vendor_version): Ditto.
6171 (cygpackage::Package_version): Ditto.
6172 (cygpackage::Canonical_version): Ditto.
6173 (cygpackage::set_sdesc): Ditto.
6174 (cygpackage::set_ldesc): Ditto.
6175 * cygpackage.h: Include String++.h for parsing this file.
6176 (cygpackage::cygpackage): Update for String usage.
6177 (cygpackage::set_canonical_version): Ditto.
6178 (cygpackage::destroy): Ditto.
6179 (cygpackage::getfirstfile): Ditto.
6180 (cygpackage::getnextfile): Ditto.
6181 (cygpackage::Name): Ditto.
6182 (cygpackage::Vendor_version): Ditto.
6183 (cygpackage::Package_version): Ditto.
6184 (cygpackage::Canonical_version): Ditto.
6185 (cygpackage::set_sdesc): Ditto.
6186 (cygpackage::set_ldesc): Ditto.
6187 (cygpackage::name): Ditto.
6188 (cygpackage::vendor): Ditto.
6189 (cygpackage::packagev): Ditto.
6190 (cygpackage::canonical): Ditto.
6191 (cygpackage::fn): Ditto.
6192 (cygpackage::sdesc): Ditto.
6193 (cygpackage::ldesc): Ditto.
6194 * desktop.cc: Update includes for use of String class.
6195 (batname): Update for String usage.
6196 (iconname): Ditto.
6197 (make_link): Ditto.
6198 (start)menu): Ditto.
6199 (desktop_icon): Ditto.
6200 (make_cygwin_bat): Ditto.
6201 (make_etc_profile): Ditto.
6202 (uexists): Ditto.
6203 (make_passwd_group): Ditto.
6204 (save_icon): Ditto.
6205 (check_desktop): Ditto.
6206 (check_startmenu): Ditto.
6207 * dialog.cc (eget): Update for String usage.
6208 (egetString): New function.
6209 (eset): New variant for Strings.
6210 * dialog.h: Include String++.h for parsing this file.
6211 (egetString): New function.
6212 (eset): New variant for Strings.
6213 * diskfull.cc (diskfull): Update for String usage.
6214 * diskfull.h: Include String++.h for parsing this file.
6215 (diskfull): Update for String usage.
6216 * download.cc: Update includes for use of String class.
6217 (check_for_cached): Update for String usage.
6218 (download_one): Ditto.
6219 * filemanip.cc (get_file_size): Ditto.
6220 (base): Ditto.
6221 (parse_filename): Ditto.
6222 (backslash): Ditto.
6223 * filemanip.h: Include String++.h for parsing this file.
6224 (fileparse): Update for String usage.
6225 (base): Ditto.
6226 (parse_filename): Ditto.
6227 Don't consider '_' to be a separator.
6228 (backslash): Ditto.
6229 * find.cc: Update includes for use of String class.
6230 (find_sub): Make more flexible.
6231 (find): Update for String usage.
6232 * find.h (find): Use Strings.
6233 * fromcwd.cc (found_file): Update for String usage.
6234 * geturl.cc: Ditto.
6235 (init_dialog): Ditto.
6236 (get_url_to_membuf): Ditto.
6237 (get_url_to_string): Ditto.
6238 (get_url_to_file): Ditto.
6239 * geturl.h: Ditto.
6240 (get_url_to_membuf): Ditto.
6241 (get_url_to_string): Ditto.
6242 (get_url_to_file): Ditto.
6243 * hash.h: Ditto.
6244 (add_subdirs): Ditto.
6245 * ini.cc: Update includes for String usage.
6246 (find_routine): Update for String usage.
6247 (do_remote_ini): Ditto.
6248 (do_ini_thread): Ditto.
6249 * ini.h (ini_init): Ditto.
6250 * inilex.l: Update includes for String usage.
6251 (ini_init): Update for String usage.
6252 * iniparse.y: Ditto.
6253 (add_correct_version): Ditto.
6254 * install.cc: Update includes for String usage.
6255 (install_one_source): Update for String usage.
6256 (uninstall_one): Ditto.
6257 (replace_one): Ditto.
6258 (install_one_source): Ditto.
6259 (do_install_thread): Ditto.
6260 * io_stream.cc: Update includes for String usage.
6261 (io_stream::open): Update for String usage.
6262 (io_stream::mkpath_p): Ditto.
6263 (io_stream::remove): Ditto.
6264 (io_stream::mklink): Ditto.
6265 (io_stream::move_copy): Ditto.
6266 (io_stream::move): Ditto.
6267 (io_stream::exists): Ditto.
6268 * io_stream.h: Update includes to allow correct parsing.
6269 (io_stream::open): Update for String usage.
6270 (io_stream::mkpath_p): Ditto.
6271 (io_stream::remove): Ditto.
6272 (io_stream::mklink): Ditto.
6273 (io_stream::move_copy): Ditto.
6274 (io_stream::move): Ditto.
6275 (io_stream::exists): Ditto.
6276 * io_stream_cygfile.cc: Update includes for String usage.
6277 (get_root_dir_now): Update for String usage.
6278 (io_stream_cygfile::io_stream_cygfile): Ditto.
6279 (io_stream_cygfile::~io_stream_cygfile): Ditto.
6280 (io_stream_cygfile::exists): Ditto.
6281 (io_stream_cygfile::remove): Ditto.
6282 (io_stream_cygfile::mklink): Ditto.
6283 (cygmkdir_p): Ditto.
6284 (io_stream_cygfile::set_mtime): Ditto.
6285 (io_stream_cygfile::move): Ditto.
6286 (io_stream_cygfile::get_size): Ditto.
6287 * io_stream_cygfile.h: Update includes for String usage.
6288 (io_stream_cygfile::io_stream_cygfile): Update for String usage.
6289 (io_stream_cygfile::~io_stream_cygfile): Ditto.
6290 (io_stream_cygfile::exists): Ditto.
6291 (io_stream_cygfile::remove): Ditto.
6292 (io_stream_cygfile::mklink): Ditto.
6293 (cygmkdir_p): Ditto.
6294 (io_stream_cygfile::set_mtime): Ditto.
6295 (io_stream_cygfile::move): Ditto.
6296 (io_stream_cygfile::get_size): Ditto.
6297 (io_stream_cygfile::fname): Ditto.
6298 (io_stream_cygfile::lmode): Ditto.
6299 * io_stream_file.cc: Update includes for String usage.
6300 (io_stream_file::io_stream_file): Update for String usage.
6301 (io_stream_file::~io_stream_file): Ditto.
6302 (io_stream_file::exists): Ditto.
6303 (io_stream_file::remove): Ditto.
6304 (io_stream_file::mklink): Ditto.
6305 (io_stream_file::set_mtime): Ditto.
6306 (io_stream_file::move): Ditto.
6307 (io_stream_file::get_size): Ditto.
6308 * io_stream_file.h: Update includes for String usage.
6309 * io_stream_file.cc: Update includes for String usage.
6310 (io_stream_file::io_stream_file): Update for String usage.
6311 (io_stream_file::~io_stream_file): Ditto.
6312 (io_stream_file::exists): Ditto.
6313 (io_stream_file::remove): Ditto.
6314 (io_stream_file::mklink): Ditto.
6315 (io_stream_file::set_mtime): Ditto.
6316 (io_stream_file::move): Ditto.
6317 (io_stream_file::get_size): Ditto.
6318 (io_stream_file::fname): Ditto.
6319 (io_stream_file::lmode): Ditto.
6320 * localdir.cc: Update includes for String usage.
6321 (save_local_dir): Update for String usage.
6322 (check_if_enable_next): Ditto.
6323 (load_dialog): Ditto.
6324 (browse_cb): Ditto.
6325 (LocalDirPage::OnInit): Ditto.
6326 (LocalDirPage::OnNext): Ditto.
6327 * log.cc: Update includes for String usage.
6328 (struct LogEnt): Update for String usage.
6329 (log): Ditto.
6330 (log_save): Ditto.
6331 (exit_setup): Ditto.
6332 * log.h: Update includes for String usage.
6333 (log_level): Update for String usage.
6334 (log): Ditto.
6335 (log_save): Ditto.
6336 * main.cc (WinMain): Update for String usage.
6337 * mklink2.c (make_link_2): Update for String usage.
6338 * mklink2.h (make_link_2): Update for String usage.
6339 * mount.cc: Update includes for String usage.
6340 (mount_table): Update for String usage.
6341 (find2): Ditto.
6342 (create_mount): Ditto.
6343 (remove1): Ditto.
6344 (remove_mount): Ditto.
6345 (read_mounts): Ditto.
6346 (set_root_dir): Ditto.
6347 (get_root_dir): Ditto.
6348 (path_prefix_p): Ditto.
6349 (cygpath): Ditto.
6350 * mount.h: Update includes for String usage.
6351 (create_mount): Update for String usage.
6352 (remove_mount): Ditto.
6353 (cygpath): Ditto.
6354 (set_root_dir): Ditto.
6355 (get_root_dir): Ditto.
6356 * msg.cc (mbox): Ditto.
6357 * net.cc (NetPage::OnNext): Ditto.
6358 * package_db.cc (packagedb::flush): Ditto.
6359 (packagedb::packages): Ditto.
6360 (packagedb::categories): Ditto.
6361 * package_db.h: Update includes for String usage.
6362 (packagedb::packages): Update for String usage.
6363 (packagedb::categories): Ditto.
6364 * package_meta.cc: Update includes for String usage.
6365 (hash::add_subdirs): Update for String usage.
6366 (packagemeta::uninstall): Ditto.
6367 (packagemeta::SDesc): Ditto.
6368 (packagemeta::action_caption): Ditto.
6369 * package_meta.h: Update includes for String usage.
6370 (packagemeta::packagemeta): Update for String usage.
6371 (packagemeta::~packagemeta): Ditto.
6372 (packagemeta::uninstall): Ditto.
6373 (packagemeta::SDesc): Ditto.
6374 (packagemeta::action_caption): Ditto.
6375 (package_source.cc site::site): Ditto.
6376 (packagesource::set_canonical): Ditto.
6377 (packagesource::set_cached): Ditto.
6378 * package_source.h: Update includes for String usage.
6379 (site::site): Update for String usage.
6380 (packagesource::set_canonical): Ditto.
6381 (packagesource::set_cached): Ditto.
6382 (packagesource::packagesource): Ditto.
6383 (packagesource::sites): Ditto.
6384 (packagesource::cached): Ditto.
6385 * package_version.h: Update includes for String usage.
6386 (Dependency): Update for String usage.
6387 (packageversion): Ditto.
6388 * postinstall.cc: Update includes for String usage.
6389 (do_postinstall): Update for String usage.
6390 * res.rc (IDD_LOCAL_DIR): Fix typo again!
6391 * rfc1738.cc (rfc1738_escape_part): Update for String usage.
6392 * rfc1738.h: Update includes for String usage.
6393 (rfc1738_escape_part): Update for String usage.
6394 * root.cc: Update includes for String usage.
6395 (check_if_enable_next): Update for String usage.
6396 (save_dialog): Ditto.
6397 (browse_cb): Ditto.
6398 (directory_is_absolute): Ditto.
6399 (directory_is_rootdir): Ditto.
6400 (directory_has_spaces): Ditto.
6401 (RootPage::OnInit): Ditto.
6402 (RootPage::OnNext): Ditto.
6403 * script.cc: Update includes for String usage.
6404 (init_run_script): Update for String usage.
6405 (run): Ditto.
6406 (run_script): Ditto.
6407 (try_run_script): Ditto.
6408 * script.h: Update includes for String usage.
6409 (run_script): Update for String usage.
6410 (try_run_script): Ditto.
6411 * site.cc site_list): Ditto.
6412 (all_site_list): Ditto.
6413 (other_url): Eliminate.
6414 (site_list_type::init): Update for String usage.
6415 (site_list_type::site_list_type): Ditto.
6416 (get_site_list): Ditto.
6417 (get_saved_sites): Ditto.
6418 (do_download_site_info_thread): Ditto.
6419 (SitePage::OnNext): Ditto.
6420 (SitePage::OnActivate): Ditto.
6421 (SitePage::PopulateListBox): Ditto.
6422 (SitePage::OnMessageCmd): Handle empty url's.
6423 * site.h: Update includes for String usage.
6424 (site_list_type::site_list_type): Update for String usage.
6425 (site_list_type::init): Ditto.
6426 (site_list_type::~site_list_type): Ditto.
6427 (site_list_type::url): Ditto.
6428 (site_list_type::displayed_url): Ditto.
6429 (site_list_type::key): Ditto.
6430 * source.cc (SourcePage::OnDeactivate): Ditto.
6431 * state.h: Update includes for String usage.
6432 (local_dir): Update for String usage.
6433 (trust_level): Remove.
6434 * version.cc: Update includes for String usage.
6435 (canonicalize_version): Update for String usage.
6436 * version.h: Update includes for String usage.
6437 (canonicalize_version): Update for String usage.
6438
08233ec7
CF
64392002-02-15 Christopher Faylor <cgf@redhat.com>
6440
6441 * filemanip.c (parse_filename): Revert previous change.
6442
94dffbdd
CF
64432002-02-14 Christopher Faylor <cgf@redhat.com>
6444
6445 * filemanip.c (parse_filename): Don't treat '_' as a version number
6446 introducer.
6447
cef493d7
CF
64482002-01-29 Christopher Faylor <cgf@redhat.com>
6449
6450 * configure: Regenerate.
6451
57219197
RC
64522002-01-27 Robert Collins <rbtcollins@hotmail.com>
6453
94dffbdd
CF
6454 * res.rc (IDD_LOCAL_DIR): Fix typo reported by Rene
6455 <Hoeck@extern.lrz-muenchen.de>
57219197 6456
cc7493c3
RC
64572002-01-27 Robert Collins <rbtcollins@hotmail.com>
6458
6459 * README: Update Todo's.
6460 * list.h: Run indent.
6461 (list): New methods checksize and insert to reduce code duplication.
6462 (list::registerbykey): Use them.
6463 (list::registerbyobject): Ditto.
94dffbdd
CF
6464 (list::removebyindex): Copy each object individually - safe for non
6465 trivial objects.
cc7493c3
RC
6466 (list::checksize): Implement.
6467 (list::insert): Implement.
6468
a900d1fa
RC
64692002-01-27 Robert Collins <rbtcollins@hotmail.com>
6470
6471 * Makefile.in: Remove the dlmalloc object by default.
94dffbdd
CF
6472 * install.cc (do_install_thread): Remove the mallinfo call for 'working
6473 around' the crashing issue.
a900d1fa 6474 * package_db.h: Include <string.h> - it's needed to parse this.
94dffbdd 6475 * package_source.cc (site::site): Move here from the header file.
a900d1fa
RC
6476 * package_source.h (site): Stop the constructor being inlinable.
6477
9835fb4a
RC
64782002-01-26 Robert Collins <rbtcollins@hotmail.com>
6479
6480 * filemanip.cc (find_tar_ext): Add a descriptive comment.
6481
64822002-01-25 Michael A Chase <mchase@ix.netcom.com>
6483
6484 * filemanip.cc (find_tar_ext): Clean up tests for .tar.gz and .tar.
6485 * fromcwd.cc (do_fromcwd): Expand FIXME comment in source file check.
94dffbdd
CF
6486 * install.cc (install_one_source): Add space between words in log()
6487 call.
cef493d7 6488
77ba23d8
RC
64892002-01-22 Robert Collins <rbtcollins@hotmail.com>
6490
94dffbdd
CF
6491 * log.cc (exit_setup): When saving to the download dir, explicity
6492 specify the path.
77ba23d8 6493
6dc75764
RC
64942002-01-22 Robert Collins <rbtcollins@hotmail.com>
6495
94dffbdd
CF
6496 * archive.cc (extract_file): Separate out the prefix and the URL
6497 scheme.
6dc75764 6498 * archive.h (archive::extract_file): Ditto.
94dffbdd
CF
6499 * install.cc (install_one_source): Ditto. Use the new
6500 archive::extract_file syntax.
6dc75764
RC
6501 (replace_one): Use the new syntax.
6502 (io_stream.cc): Add some log info for links.
6503
7e8fc33c
RC
65042002-01-22 Robert Collins <rbtcollins@hotmail.com>
6505
6506 * PickCategoryLine.cc (PickCategoryLine::actiontext): Remove.
6507 (PickCategoryLine::paint): Use the new action method.
6508 (PickCategoryLine::click): Set the action for all children.
6509 (PickCategoryLine::set_action): New method.
6510 * PickCategoryLine.h (PickCategoryLine::-actions): Remove.
6511 (PickCategoryLine::current_default): Use packagemeta _actions class.
94dffbdd
CF
6512 * PickLine.h (PickLine::set_action): New abstract method that requires
6513 including package_meta.h.
7e8fc33c
RC
6514 * PickPackageLine.cc (PickPackageLine::set_action): New method.
6515 * PickPackageLine.h (PickPackageLine::set_action): Declare this.
6516 * list.h (getbykey): A const correctness fix.
6517 * package_meta.cc: Run indent.
6518 (packagemeta::Default_action): New const.
6519 (packagemeta::Install_action): Ditto.
6520 (packagemeta::Reinstall_action): Ditto.
6521 (packagemeta::Uninstall_action): Ditto.
6522 (packagemeta::_actions::caption): New method.
6523 (packagemeta::_actions::operator++): Ditto.
6524 (packagemeta::set_action): New overload.
6525 * package_meta.h (packagemeta::_actions): New class.
6526 (packagemeta::set_action): Declare this.
6527
2c9254b6
RC
65282002-01-22 Robert Collins <rbtcollins@hotmail.com>
6529
6530 * Makefile.in (OBJS): Remove supp.o - it appears accidental.
6531 * choose.cc: Don't define alloca anymore, it's done in win32.h
6532
97647369
RC
65332002-01-22 Robert Collins <rbtcollins@hotmail.com>
6534
6535 * PickPackageLine.cc: New file.
6536 * PickPackageLine.h: New file.
6537 * PickLine.cc: New file.
6538 * PickLine.h: New file.
6539 * PickCategoryLine.cc: New file.
6540 * PickCategoryLine.h: New file.
6541 * PickView.cc: New file.
6542 * PickView.h: New file.
6543 * Makefile.in: Add new objects to setup.exe.
6544 Backout -fno-exceptions option.
6545 * choose.cc: Include PickView.h.
6546 Remove view related defines and static variables.
6547 (_pkg_headers): Moved to PickView.cc.
6548 (_cat_headers): Ditto.
6549 (view::views::Unknown): Ditto.
6550 (view::views::PackageFull):
6551 (view::views::Package):
6552 (view::views::Category):
6553 (pkgtrustp): Moved to package_meta.cc.
6554 (add_required): Moved to package_meta.cc.
6555 (pick_category_line::empty): Moved to PickCategoryLine.cc
6556 (paint): Adjust for moved static variables.
6557 (view::scroll): Moved to PickView.cc.
6558 (list_vscroll): Adjust for moved static variables.
6559 (list_hscroll): Ditto.
6560 (list_click): Ditto.
6561 (note_width): Moved to PickView.cc.
6562 (view::view): Ditto.
6563 (view::set_view_mode): Ditto.
6564 (view::mode_caption): Ditto.
6565 (view::views::caption): Ditto.
6566 (view::set_headers): Ditto.
6567 (DoInsertItem): Ditto.
6568 (view::init_headers): Ditto.
6569 (view::insert_pkg): Ditto.
6570 (view::insert_category): Ditto.
6571 (view::clear_view): Ditto.
6572 (view::views::operator++): Ditto.
6573 (view::click): Ditto.
6574 (default_trust): Adjust for moved statics.
6575 (pick_pkg_line::paint): Moved to PickPackageLine.cc.
6576 (pick_pkg_line::click): Ditto.
6577 (pick_category_line::actiontext): Moved to PickCategoryLine.cc
6578 (pick_category_line::paint): Ditto.
6579 (pick_category_line::click): Ditto.
6580 (set_view_mode): Adjust for moved statics.
6581 (create_listview): Ditto.
58b12a06
MB
6582 * choose.h: Remove Category and packagemeta forward defines -
6583 not needed.
97647369
RC
6584 Don't include unneeded headers list and package_meta.
6585 (_header): Move to PickView.h.
6586 (pick_line): Move to PickLine.h.
6587 (pick_pkg_line): Move to PickPackageLine.h.
6588 (pick_category_line): Move to PickCategoryLine.h.
6589 (view): Move to PickView.h.
6590 * ini.h (trusts): Move to package_meta.h.
6591 * package_meta.h (trusts): New enum.
6592 (packagemeta::set_requirements): New helper method.
6593 (packagemeta::trustp): Ditto.
6594
b566778e
CF
65952002-01-21 Christopher Faylor <cgf@redhat.com>
6596
6597 * choose.h (view): Move forward declaration of views into public area
6598 or g++ v3 will complain.
6599
f71e9756
CF
66002002-01-21 Christopher Faylor <cgf@redhat.com>
6601
6602 * Makefile.in (CXXFLAGS): Add -fno-exceptions.
6603 * win32.h (alloca): Define as __builtin_alloca.
6604 * io_stream_memory.cc: Add include file.
6605
e9440f0f
RC
66062002-01-21 Robert Collins <rbtcollins@hotmail.com>
6607
58b12a06
MB
6608 * archive_tar.cc (archive_tar::~archive_tar): Mark the stream as
6609 destroyed.
e9440f0f
RC
6610 * archive_tar_file.cc (archive_tar_file::~archive_tar_file): Ditto.
6611 * compress.cc (compress::~compress): Be less verbose.
6612 * compress_bz.cc (compress_bz::~compress_bz): Ditto.
6613 Mark the stream as destroyed.
58b12a06
MB
6614 * compress_gz.cc (compress_gz::~compress_gz): Mark the stream as
6615 destroyed.
6616 * io_stream.cc (io_stream::~io_stream): Only warn when the stream is not
6617 marked as destroyed.
cef493d7 6618 * io_stream_cygfile.cc (io_stream_cygfile::~io_stream_cygfile): Mark the
e9440f0f
RC
6619 stream as destroyed.
6620 * io_stream_file.cc (io_stream_file::~io_stream_file): Ditto.
6621 * io_stream_memory.cc (io_stream_memory::~io_stream_memory): Ditto.
cef493d7 6622
5e0464a1
RC
66232002-01-21 Robert Collins <rbtcollins@hotmail.com>
6624
6625 * Makefile.in (CFLAGS): Allow customisable malloc debug flags.
6626 (OBJS): Link in malloc objects.
6627 * category.cc (category): Use new char, not strdup.
6628 * choose.cc (pick_pkg_line::paint): Allow for the regionsize to shrink.
6629 (do_choose): Use new char, not malloc.
6630 * concat.cc (vconcat): Ditto.
6631 * cygpackage.cc (cygpackage): Use new char, not strdup.
6632 (set_canonical_version): Ditto.
6633 (cygpackage::destroy): Use delete[], not free.
6634 * desktop.cc (uexists): Ditto.
6635 * dialog.cc (egest): Use new char, not strdup.
6636 * dlmalloc.c: New file - Doug Lea's malloc 2.7.0
6637 * hash.cc (hash::hash): Use delete instead of free.
6638 (hash::add): Use new char, not strdup.
6639 * ini.cc (do_remote_ini): Use delete[] not free.
6640 * inilex.l: Use new char, not strdup.
6641 (ini_init): Ditto.
6642 * iniparse.y: Ditto.
6643 Use a local package_db rather than a static one.
6644 * install.cc (struct mallinfo): Workaround an apparent dlmalloc bug.
6645 (do_install_thread): Call mallinfo to force a consistency check. Appears
6646 to fix a 'inuse' error in -DDEBUG builds.
6647 Use delete[] for strings.
58b12a06
MB
6648 * io_stream_cygfile.cc (io_stream_cygfile::io_stream_cygfile): Use new
6649 char, not strdup.
5e0464a1
RC
6650 (io_stream_cygfile::~io_stream_cygfile): Use delete[], not free.
6651 (io_stream_cygfile::remove): Use new char, not strdup.
58b12a06
MB
6652 * io_stream_file.cc (io_stream_file::io_stream_file): Use new char, not
6653 strdup.
5e0464a1
RC
6654 (io_stream_file::io_stream_file): Use delete[], not free.
6655 (io_stream_file::remove): Use new char, not strdup.
6656 * io_stream_memory.cc (memblock::~memblock): Use delete[], not free.
6657 * io_stream_memory.h (memblock): Use new char, not malloc.
6658 * localdir.cc (LocalDirPage::OnInit): Use new char, not strdup.
6659 * main.cc (WinMain): Use new char, not strdup.
6660 * mount.cc (find2): Use new char, not malloc.
6661 (read_mounts): Ditto.
6662 (cygpath): Use new char, not strdup.
6663 * netio.cc (NetIO::~NetIO): Use delete[], not free.
6664 (NetIO::set_url): Use new char, not strdup.
6665 (NetIO::get_ftp_auth): Use delete[], not free.
6666 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
6667 Use new char instead of strdup.
6668 * nio-http.cc (base64_encode): Use new char, not malloc.
6669 * package_meta.cc (hash::add_subdirs): Use new char instead of strdup.
6670 * package_source.h (~ packagesource): Use delete[] instead of delete.
6671 * port.h (strdup): Deprecate the use of strdup.
6672 * rfc1738.cc (rfc1738_do_escape): Use new char, not calloc.
6673 * script.cc (init_run_script): Us delete[], not free.
6674 (run_script): Ditto.
6675 * simpsock.cc (SimpleSocket::fill): Use new char, not malloc.
6676 (SimpleSocket::invalidate): Use delete[], not free.
6677 * site.cc (site_list_type::init): Use new char instead of strdup.
6678 * site.h (~site_list_type): Use delete[], not free.
6679
ad3c7385
RC
66802002-01-20 Robert Collins <rbtcollins@hotmail.com>
6681
6682 * Makefile.in (OBJS): Add win32.o - win32 support functions.
6683 * README: Update todos.
58b12a06
MB
6684 * archive.cc (extract_file): Support a suffix for appending to extracted
6685 files.
ad3c7385
RC
6686 * archive.h: Ditto.
6687 * choose.cc (set_view_mode): Use the new view::views class.
6688 (view::views::Unknown): New static for defaulting view::views variables.
6689 (view::views::PackageFull): New static for the current view.
6690 (view::views::Package): Ditto.
6691 (view::views::Category): Ditto.
6692 (topbucket::paint): Remove.
6693 (topbucket::empty): Rename to pick_category_line::empty.
6694 (topbucket::~topbucket): Remove.
6695 (paint): Use the new view::views class.
6696 Don't paint 'all' as a category when showing package categoies.
6697 (pick_category_line::actiontext): New method.
58b12a06
MB
6698 (pick_category_line::paint): Make showing the category optional, and
6699 show the 'category action'.
ad3c7385 6700 (pick_category_line::click): Make showing the category optional, and
58b12a06
MB
6701 differentiate between the name being clicked, and the action
6702 description.
ad3c7385
RC
6703 (view::view): Use the new view::views class.
6704 (view::set_view_mode): Ditto.
6705 (view::mode_caption): Ditto.
6706 (view::views::caption): New method.
6707 (view::set_headers): Use the new view::views class.
6708 (view::clear_view): Ditto.
cef493d7 6709 (viewsplusplus): Replaced by
ad3c7385
RC
6710 (view::views::operator++): New operator.
6711 (set_view_mode): Use the new view::views class.
6712 (create_listview): Ditto.
6713 (dialog_cmd): Ditto.
6714 * choose.h (actions): Remove.
6715 (views): Remove.
6716 (pick_line): Add a new convenience constructor.
6717 (top_bucket): Remove.
6718 (pick_category_line): Reparent under pick_line, and adsorb top_bucket.
6719 (view::views): New class.
6720 * ini.h: Don't include choose.h
6721 (is_download_action): Remove.
6722 (is_upgrade_action): Remove.
6723 (is_uninstall_action): Remove.
6724 (is_full_action): Remove.
6725 * install.cc (num_replacements): New static.
6726 (rebootneeded): Ditto.
6727 (replace_one): Handle upgrades separate from removal or new installs.
6728 (install_one_source): Handle in use files.
6729 (install_one): Don't repeat upgrades.
6730 (do_install_thread): Initialize new statics.
6731 Order actions as uninstall, replace, install.
6732 Warn about rebooting if needed.
6733 * res.rc (IDS_REBOOT_REQUIRED): New string.
6734 * resource.h (IDS_REBOOT_REQUIRED): Give value.
6735 * win32.h: Declare class Win32, and update copyright and intent message.
6736 * win32.cc: New file.
6737
edef4f57
CV
67382002-01-15 Corinna Vinschen <corinna@vinschen.de>
6739
6740 * io_stream.cc (io_stream::gets): Eliminate trailing new line chars.
6741 * package_meta.cc (packagemeta::uninstall): Check for additional
6742 Windows shortcut. Unset R/O file attribute before trying to delete
6743 file.
6744
21f325d7
RC
67452002-01-09 Robert Collins <rbtcollins@hotmail.com>
6746
58b12a06
MB
6747 * choose.cc (pkgtrustp): Fall back to installed if a package is not
6748 present in the current trust level. For prev, fall back via curr.
21f325d7
RC
6749 (set_existence): Allow sources with no sites, but cached files to be
6750 kept.
6751 (pick_category_line::paint): Start drawing clickable categories.
6752 * fromcwd.cc (found_file): Reinstate local file scanning.
6753
858f100d
RC
67542002-01-07 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6755
cef493d7 6756 * fromcwd.cc: Run indent.
858f100d
RC
6757 (do_fromcwd): Reverse sense of comment. Set next_dialog
6758 to IDD_CHOOSER instead of IDD_CHOOSE.
6759 * ini.cc (find_routine): Remove "/" from "/setup.ini".
cef493d7 6760
d343da15
RC
67612001-01-07 Robert Collins <rbtcollins@hotmail.com>
6762
6763 * category.cc (Categorycmp): Add a const safe version.
6764 * category.h (Categorycmp): Add a const safe version.
6765 (Category): Add operator ==.
6766 * choose.cc (fill_missing_category): Add every package to "All".
58b12a06
MB
6767 (pick_category_line::paint): Add support for hidden labels, and a tree
6768 depth.
d343da15
RC
6769 (pick_category_line::click): Ditto.
6770 (view::view): Pass in a top level category to use.
6771 (view::insert_pkg): Special case - skip category "All".
6772 (view::insert_category): Ditto.
6773 (view::clear_view): Set the contents label state.
6774 (create_listview): Pass in a top level category to view().
6775 * choose.h (topbucket): Make bucket available to derived classes.
6776 (pick_category_line): Add support for hidden labels, and a tree depth.
6777 Remove our second copy of bucket.
6778 (view): Pass in a top level category to the constructor.
6779 Use pick_category_line to allow three level display.
6780
bcf20115
RC
67812001-01-06 Robert Collins <rbtcollins@hotmail.com>
6782
6783 * cygpackage.h (cygpackage): Make set_[s|l]desc virtual.
6784 * iniparse.y (add_correct_version): Copy descriptions across.
58b12a06
MB
6785 * package_meta.cc (SDesc): Iterate through versions, return the first
6786 with a description.
bcf20115
RC
6787 * package_version.h (packageversion): Add new virtuals set_[l|s]desc.
6788
bc78a6d5
RC
67892001-01-04 Robert Collins <rbtcollins@hotmail.com>
6790
6791 * script.cc (run_script): Change cygpath:// to cygfile://.
6792 * install.cc (do_install_thread): Fix off-by-one errors.
6793
4f4e55c2
RC
67942001-01-04 Robert Collins <rbtcollins@hotmail.com>
6795
6796 * package_db.cc (packagedb::flush): Fix an off-by-one error.
6797
8e9aa511
RC
67982002-01-04 Jan Nieuwenhuizen <janneke@gnu.org>
6799
6800 * Makefile.in (realclean): more clean.
6801 (OBJS): Add script.o.
6802 * postinstall.cc (run_script_in_etc_postinstall): New function.
6803 (do_postinstall): Split off new funtion init_run_script ().
6804 (init_run_script):
6805 (run):
6806 (run_script): Move to script.cc. Replace some deprecated remove
6807 and move calls.
6808 * script.h:
6809 * script.cc: New file.
6810 * Forward port cygwin-20010707.jcn3.patch.
6811 * package_meta.cc (uninstall): Run pre- and postremove scripts.
6812 * install.cc: Typo fix.
6813 (do_install): Run script initialisation.
cef493d7 6814
b7301c43
RC
68152001-01-04 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6816
6817 * cistring.cc: Run d2u.
6818 * cistring.h: Run d2u.
6819
6820 * desktop.cc (etc_profile): Remove "test -f ./.bashrc && . ./.bashrc"
6821 from the generated /etc/profile. Bash will source this file
6822 automatically, and having this here merely results in .bashrc being
6823 executed twice. Run d2u.
6824 * desktop.h: Run d2u.
6825
6826 * propsheet.cc: Run d2u.
6827 (PropSheetProc): New function. Add minimize box here instead of in
6828 PropertyPage::DialogProc.
6829 (PropSheet::Create): Change to use creation callback PropSheetProc.
6830 (DLGTEMPLATEEX): Add 'hidden' Windows struct definition.
6831
6832 * propsheet.h: Run indent, d2u.
6833 * proppage.h: Run indent, d2u.
6834
6835 * proppage.cc: Run d2u.
6836 (PropertyPage::DialogProc): Remove minimize-box-adding
6837 functionality. Remove commented-out "PropSheet_SetWizButtons" calls.
6838 Add support for calling virtual OnMessageCmd. Add setting of fonts in
6839 WM_INITDIALOG handler.
6840 (resource.h): New include for resource IDs.
6841
6842 * res.rc: Resize and rearrange property page dialog templates
6843 to bring them in line with "Microsoft's Backward Compatible Wizard 97"
6844 specification. Run d2u.
6845 (IDD_SITE): Add an edit control and an "Add" button in order to
6846 combine the IDD_SITE and IDD_OTHER_URL functionality onto one page.
6847 (IDD_OTHER_URL): Remove dialog template.
6848 (IDD_DLSTATUS): Remove dialog template.
6849
6850 * site.cc: Run d2u.
6851 (SitePage::OnBack): Remove NEXT() macro invocation.
6852 (SitePage::OnActivate): New member function.
6853 (load_dialog): Remove. Functionality subsumed into
6854 SitePage::OnActivate.
6855 (save_dialog): Change to support both list and user URLs. Remove
6856 OTHER_IDX and mirror_idx logic.
6857 (SitePage::PopulateListBox): New member function.
6858 (SitePage::CheckControlsAndDisableAccordingly): New member function.
6859 (SitePage::OnMessageCmd): New override.
6860 (check_if_enable_next): Remove.
6861 (dialog_cmd): Remove.
6862 (do_download_site_info_thread): Remove calls to NEXT() macro.
6863 (SitePage::Create): Call the single-param PropertyPage::Create
6864 overload.
6865 (other_url): New static taken from other.cc.
6866 (SitePage::OnNext): Remove mirror_idx logic.
6867 (SitePage::OnInit): Remove "Other URL" entry from list box. Remove
6868 list box populating code, now handled in SitePage::PopulateListBox.
6869 (mirror_idx, NO_IDX, OTHER_IDX): Remove.
6870 (save_site_url): Fix potential buffer overflow problem. Switched to
6871 TCHAR in grossly premature preparation for multilingual support.
6872 * site.h: Run d2u.
6873 (SitePage::OnActivate): New member function.
6874 (SitePage::CheckControlsAndDisableAccordingly) New member.
6875 (SitePage::OnMessageCmd): New override.
6876 (do_download_site_info_thread): Add MessageBox call on failure to
6877 download site list.
6878
6879 * splash.cc: Run d2u.
6880 (SplashPage::OnInit): Set the font for the title.
6881 * splash.h: Run d2u.
6882
6883 * threebar.cc: Run d2u.
6884 * threebar.h: Run d2u.
6885
6886 * window.h: Run d2u.
6887 (Window::IsButtonChecked): New member function declaration.
6888 (Window::OnMessageCmd): New member function.
6889 (Window::SetDlgItemFont): New member function declaration.
6890 (Window::MAXFONTS, Window::Fonts, Window::FontCounter): New data
6891 members.
6892 * window.cc: Run d2u.
6893 (Window::IsButtonChecked): New member function definition.
6894 (Window::SetDlgItemFont): New member function definition.
6895 (Window::Window): Add initialization for FontCounter.
6896 (Window::~Window): Delete any fonts we created.
6897
6898 * geturl.cc: Run d2u.
6899 (progress): Remove the "3" field width from the "%3d"
6900 percent-complete format indicator. Causes line to not start at
6901 beginning of text box, and does little to help with "jumping", since
6902 the "bytes downloaded so far" field is variable-width anyway. Change
6903 kb/s format field to "%03.1" to 0-pad the kb/s number in the event of
6904 painfully slow connections, or temporary slowdowns in faster
6905 connections should such more-instantaneous functionality become
6906 available.
6907
6908 * net.h: Run d2u.
6909 (NetPage::OnMessageCmd): New member function declaration.
6910 (NetPage::CheckIfEnableNext): New member function declaration.
6911 * net.cc: Run d2u.
6912 (NetPage::OnMessageCmd): New member function definition.
6913 (dialog_cmd): Remove, subsumed into NetPage::OnMessageCmd.
6914 (check_if_enable_next): Remove.
6915 (NetPage::CheckIfEnableNext): New member function, subsumes
6916 check_if_enable_next.
6917 (propsheet.h): Add include.
6918 (NetPage::Init): Add call to CheckIfEnableNext.
6919 (load_dialog): Remove call to check_if_enable_next.
6920 (NetPage::Create): Call single-template-ID-parameter overload of
6921 PropertyPage::Create instead of three-parameter one.
6922
6923 * Makefile.in (OBJS): Remove other.o.
6924 * other.cc: Remove file.
6925
df62e023
RC
69262002-01-01 Robert Collins <rbtcollins@hotmail.com>
6927
6928 * README: Update TODO's.
6929 * choose.cc (set_existence): Delete non installed packages with no
6930 mirrors.
6931 (fill_missing_category): Fix an off-by-one error.
cef493d7 6932 (default_trust): Ditto. Also delete any unused categories.
df62e023
RC
6933 (view::init_headers): Fix an off-by-one error.
6934 (set_view_mode): Ditto.
6935 (set_view_mode): Ditto.
6936 (create_listview): Ditto.
6937 (dialog_cmd): Ditto.
6938 (do_choose): Ditto.
6939 * io_stream.cc: Indent.
6940 * io_stream.h: Ditto.
6941 * package_db.cc: Ditto.
6942 * package_meta.h: Const correctness for SDesc ();
6943 * proppage.cc: Run d2u and indent.
6944 * propsheet.cc: Run d2u and indent.
6945 * window.cc: Run d2u and indent.
6946 * window.h: Run d2u and indent.
6947
cec57ee1
CF
69482001-12-28 Christopher Faylor <cgf@redhat.com>
6949
e98c531e 6950 * Makefile.in (iniparse.o): Accommodate newer bisons.
cec57ee1 6951
ab57ceaa
RC
69522001-12-23 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
6953
6954 * window.h (Window): New file, new class.
6955 * window.cc (Window): New file, new class.
6956
6957 * threebar.h (ThreeBarProgressPage): New file, new class.
6958 * threebar.cc (ThreeBarProgressPage): New file, new class.
6959
6960 * splash.h (SplashPage): New file, new class.
6961 * splash.cc (SplashPage): Replace file with implementation of new
6962 class.
6963
6964 * source.h (SourcePage): New file, new class.
6965 * source.cc: Run indent.
6966 (SourcePage): Add class implementation to this file.
6967 (do_source): Remove, functionality subsumed by SourcePage::Create()
6968 and SourcePage::OnDeactivate().
cef493d7 6969 (dialog_proc): Remove, functionality subsumed by
ab57ceaa
RC
6970 SourcePage::OnActivate().
6971
6972 * site.h: Run indent.
6973 (SitePage): Add class declaration.
6974 * site.cc: Run indent.
6975 (SitePage): Add class implementation.
6976 (do_download_site_info_thread): New function.
6977 (context): New var. Context info for do_download_site_info_thread().
6978 (do_download_site_info): New function.
6979 (SitePage::Create, SitePage::OnInit SitePage::OnNext)
6980 (SitePage::OnBack): SitePage class implementation..
6981 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers, now handled
6982 by SitePage members.
6983 (dialog_proc): Remove, now handled by SitePage::OnInit and base class
6984 functionality.
6985 (do_site): Remove, now handled by do_download_site_info_thread() and
6986 SitePage::OnNext functionality.
6987 (get_site_list): Remove dismiss_url_status_dialog() call.
6988
6989 * root.h (RootPage): New file, new class.
6990 * root.cc: Run indent.
6991 (dialog_cmd): Pass parent HWND parameter to note(), yesno().
6992 (dialog_proc): Remove.
6993 (do_root): Remove
6994 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL clauses from switch.
6995 (RootPage::OnInit): New member function. Move get_root_dir() logic to
6996 here from do_root().
6997 (RootPage::Create): New member function.
cef493d7 6998 (RootPage::OnNext): New member function. Move IDOK logic from
ab57ceaa
RC
6999 dialog_cmd() to here.
7000 (RootPage::OnBack): New member function.
7001
7002 * propsheet.h (PropSheet): New file, new class.
7003 * propsheet.cc (PropSheet): New file, new class.
7004
7005 * proppage.h (PropertyPage): New file, new class.
7006 * proppage.cc (PropertyPage): New file, new class.
7007
7008 * postinstall.cc (do_postinstall): Add owner parameter.
7009
7010 * other.cc (do_other): Add owner parameter.
7011
7012 * nio-file.cc (NetIO::Purl): Pass NULL parent param to note().
cef493d7 7013 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Pass NULL parent param to
ab57ceaa 7014 get_ftp_auth().
cef493d7 7015 * nio-http.cc (retry_get): Pass NULL parent param to get_auth(),
ab57ceaa
RC
7016 get_proxy_auth(),
7017 and get_ftp_auth().
cef493d7 7018 * nio-ie5.cc (NetIO::_url): Pass NULL parent param to note(),
ab57ceaa
RC
7019 get_auth(), get_proxy_auth().
7020
7021 * netio.h (get_auth, get_proxy_auth, get_ftp_auth): Add owner param.
cef493d7 7022 * netio.cc (auth_common, NetIO::get_auth, NetIO::get_proxy_auth,
ab57ceaa
RC
7023 NetIO::get_ftp_auth)
7024 (auth_common): Add owner param. Pass owner param to DialogBox.
cef493d7 7025 (NetIO::get_auth, NetIO::get_proxy_auth, NetIO::get_ftp_auth): Pass
ab57ceaa
RC
7026 owner param to auth_common().
7027
7028 * net.h (NetPage): New file, new class.
7029 * net.cc: Run indent.
7030 (net.h, threebar.h): Add includes.
7031 (Progress): Add extern.
7032 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, now handled by
7033 property sheet logic. Saved temporarily for reference.
cef493d7 7034 (NetPage::Create, NetPage::OnInit, NetPage::OnDeactivate,
ab57ceaa
RC
7035 NetPage::OnNext, NetPage::OnBack):
7036 New implementation of NetPage class members.
7037 (do_net): Remove.
7038 (dialog_proc): Remove.
7039
7040 * msg.h (fatal, note, yesno): Add owner param.
7041 * msg.c (fatal, note, yesno, mbox): Add owner param.
7042 (mbox): Remove MB_TOPMOST from MessageBox call. Unnecessary and wrong
7043 now that we have a parent.
7044
7045 * main.cc: Run indent.
cef493d7 7046 (commctrl.h, proppage.h, propsheet.h, splash.h, source.h)
ab57ceaa
RC
7047 (localdir.h, net.h, site.h, choose.h, threebar.h, desktop.h): Include
7048 headers.
7049 (root_dialog_proc): extern into this file.
7050 (Progress): Progress dialog defined here, used in several other files.
7051 (WinMain): Instantiate and create Splash, Source, Root, LocalDir, Net,
7052 Site, Chooser, Desktop pages and MainWindow sheet. Call
7053 InitCommonControls() to make sure Windows is set up for our use of
7054 property sheets. Add pages to sheet.
7055 Call MainWindow.Create() to "DoModal". Remove main loop, that logic is
7056 now handled by the PropSheet class.
7057 (root.h): Add include.
7058
7059 * log.cc (log_save): Pass NULL parent to fatal().
7060 (exit_setup): Pass NULL parent to note().
7061
7062 * localdir.h (LocalDirPage): New file, new class.
7063 * localdir.cc: Run indent.
7064 (localdir.h): New include.
7065 (threebar.h): New include.
7066 (Progress): extern into this file.
7067 (LocalDirPage::Create, LocalDirPage::OnInit, LocalDirPage::OnActivate)
cef493d7 7068 (LocalDirPage::OnNext, LocalDirPage::OnBack): Implementation of
ab57ceaa
RC
7069 LocalDirPage.
7070 (LocalDirPage::OnNext): Move log() call from do_local_dir() to here.
7071 (dialog_cmd): Remove IDOK, ID_BACK, and IDCANCEL handlers.
7072 (do_local_dir): Remove.
7073 (dialog_proc): Remove.
7074 (cwd): Remove, not used by anything.
7075
7076 * install.cc: Run indent.
7077 (process.h, threebar.h): New includes.
7078 (Progress): extern into this file.
7079 (ins_dialog, ins_action, ins_pkgname, ins_filename, ins_pprogress)
7080 (ins_iprogress, ins_diskfull, init_event): Remove, now handled by
7081 ThreeBarProgressPage.
cef493d7 7082 (dialog_cmd, dialog_proc, dialog): Removed, handled in
ab57ceaa 7083 ThreeBarProgressPage.
cef493d7
CF
7084 (init_dialog): Remove all mention of the above ins_* handles. Now
7085 handled in ThreeBarProgressPage. Altered SetWindowText()s to call
ab57ceaa
RC
7086 ThreeBarProgressPage instance Progress directly.
7087 (progress): Alter bar update logic to call ThreeBarProgressPage
7088 instance Progress directly.
7089 (uninstall_one): Alter SetWindowText()s to call ThreeBarProgressPage
7090 instance Progress directly.
cef493d7 7091 (install_one_source): Alter SetWindowText()s to call
ab57ceaa
RC
7092 ThreeBarProgressPage
7093 instance Progress directly. Pass NULL parent to note().
cef493d7 7094 (do_install_thread): Rename from do_install(), added owner param.
ab57ceaa
RC
7095 Alter SetWindowText()s to call ThreeBarProgressPage instance Progress
7096 directly.
7097 Remove dismiss_url_status_dialog() call, no longer necessary. Remove
cef493d7 7098 ShowWindow(<hide>) call, also unnecessary now. Pass owner handle to
ab57ceaa
RC
7099 fatal().
7100 (do_install_reflector): New function.
7101 (do_install): New function.
7102
7103 * ini.cc (process.h, threebar.h): New includes.
7104 (Progress): externed into this file.
7105 (find_routine): Pass NULL parent to note().
7106 (do_local_ini): Add owner param.
cef493d7 7107 (do_remote_ini): Add owner param. Pass owner to get_url_to_membuf()
ab57ceaa
RC
7108 and note(). Remove call to dismiss_url_status_dialog().
7109 (do_ini_thread): Rename from do_ini(). Add owner param. Pass owner to
cef493d7 7110 do_local_ini(), do_remote_ini(), yesno(), and note(). Set next_dialog
ab57ceaa
RC
7111 to IDD_CHOOSER on exit.
7112 (do_ini_thread_reflector): New function.
7113 (context): New var. Context for do_ini_thread.
7114 (do_ini): New function.
7115
7116 * geturl.h (get_url_to_membuf, get_url_to_string, get_url_to_file): Add
7117 owner param.
cef493d7 7118 * geturl.cc (gw_dialog, gw_url, gw_rate, gw_progress, gw_pprogress,
ab57ceaa 7119 gw_iprogress)
cef493d7 7120 (gw_progress_text, gw_pprogress_text, gw_iprogress_text, init_event):
ab57ceaa
RC
7121 Removed.
7122 (threebar.h): New include.
7123 (Progress): externed into this file.
cef493d7 7124 (dialog_cmd, dialog_proc, dialog): Removed, handled by
ab57ceaa 7125 ThreeBarProgressPage now.
cef493d7 7126 (init_dialog): Remove "if (gw_dialog == 0)" clause. Alter
ab57ceaa 7127 SetWindowText()s
cef493d7 7128 and bar setting SendMessage()s to call ThreeBarProgressPage instance
ab57ceaa
RC
7129 Progress directly. Remove "one bar only" logic, this is now handled
7130 explicitly in the ThreeBarProgressPage class.
cef493d7 7131 (progress): Altered bar and text update logic to call
ab57ceaa
RC
7132 ThreeBarProgressPage instance Progress directly. Changed kbps
7133 calculation to floating point and now print out a single decimal
7134 place.
7135 (get_url_to_membuf): Add owner param. Pass it to init_dialog.
7136 (get_url_to_string): Add owner param. Pass it to get_url_to_membuf.
cef493d7 7137 (get_url_to_file): Add owner param. Pass it to init_dialog. Alter bar
ab57ceaa
RC
7138 update logic to call ThreeBarProgressPage instance Progress directly.
7139 (dismiss_url_status_dialog): Remove.
7140
7141 * fromcwd.cc (do_fromcwd): Add owner param. Initialize found_ini to
7142 false, was true.
7143
7144 * download.cc: Run indent.
7145 (process.h, threebar.h): New includes.
7146 (Progress): externed into this file.
7147 (download_one): Add owner param. Pass it to get_url_to_file().
7148 (do_download_thread): Renamed from do_download. Add owner param. When
7149 calculating total_download_bytes, take binpicked and srcpicked into
7150 account. Remove call to dismiss_url_status_dialog(), no longer needed.
7151 Pass owner handle to download_one() and yesno().
7152 (do_download_reflector, do_download): New functions.
7153 (context): New var. Context for do_download_thread().
7154
7155 * dialog.h (D(x)): Add owner param.
7156
7157 * desktop.h (DesktopSetupPage): New file, new class.
7158 * desktop.cc: Run indent.
7159 (desktop.h): Add include.
cef493d7 7160 (dialog_proc, do_desktop): Remove, now handled in
ab57ceaa
RC
7161 DesktopSetupPage::OnInit().
7162 (dialog_cmd): Remove IDOK, IDC_BACK, and IDCANCEL cases, handled in
7163 DesktopSetupPage::OnFinish(), DesktopSetupPage::OnBack(), and PropSheet
7164 resp.
7165 (DesktopSetupPage::Create, DesktopSetupPage::OnInit)
7166 (DesktopSetupPage::OnBack, DesktopSetupPage::OnFinish): Implementation
7167 of DesktopSetupPage.
7168
7169 * cistring.h: New file, new class.
7170 * cistring.cc: New file, new class.
7171
7172 * choose.h: Run indent.
7173 (Chooser): New class declaration.
7174 * choose.cc: Run indent.
cef493d7 7175 (do_choose): Add owner param. Pass it to DialogBox() and
ab57ceaa
RC
7176 fatal().
7177 (Chooser): New class implementation.
7178
7179 * res.rc (IDS_VERSION_INFO): New string.
7180 (IDD_SOURCE, IDD_LOCAL_DIR, IDD_ROOT, IDD_SITE, IDD_OTHER_URL)
7181 (IDD_DLSTATUS, IDD_INSTATUS, IDD_SPLASH, IDD_CHOOSE, IDD_DESKTOP):
7182 Change WS_POPUP to WS_CHILD. Numerous positioning/size changes
7183 throughout.
7184 (IDD_CHOOSE): Give template the WS_EX_CONTROLPARENT style to enable
7185 TAB control navigation etc. Give the controls a reasonable tab order.
7186 Grouped radio buttons. Something's still not right, can't tab away
7187 from back/next/cancel group reliably.
7188 * resource.h (IDD_CHOOSER): New dialog ID.
7189
7190 * Makefile.in (OBJS): Add cistring.o, proppage.o, propsheet.o,
7191 threebar.o, and window.o.
7192
cc41a057
RC
71932001-12-21 Robert Collins <rbtcollins@hotmail.com>
7194
58b12a06
MB
7195 * choose.cc (listview_proc): Update the scrollbar when the headers are
7196 dragged.
cc41a057
RC
7197 (pick_pkg_line::paint): Clip columns to prevent overlap.
7198
cbfc4215
RC
71992001-12-20 Robert Collins <rbtcollins@hotmail.com>
7200
7201 * Makefile.in: Add libcomctl32.a for setup.exe.
7202 * archive.h (archive): Prevent non-child direct creation of the class.
58b12a06
MB
7203 * archive_tar.h (archive_tar): Prevent inaccurate synthetic copy and
7204 assignment.
cbfc4215
RC
7205 * choose.cc: Include commctrl for the choose header.
7206 (NEW_COL_SIZE_SLOP): Define without magic numbers.
7207 (pkgtrustp): Convert to function.
7208 (set_action): Remove.
cef493d7 7209 (add_required, fill_missing_category,default_trust): Use list syntax for
cbfc4215
RC
7210 package list.
7211 Use new set_action.
7212 (choose_caption): Remove.
7213 (topbucket::paint): New method.
7214 (topbucket::empty): Ditto.
7215 (topbucket::click): Ditto.
7216 (topbucket::~topbucket): Ditto.
7217 (paint): Remove i,ii and p as they are obsolete.
7218 Remove header drawing code.
7219 Use new chooser method to paint the chooser.
7220 Use new chooser itemcount method.
7221 (scroll_common): Rename to view::scroll.
7222 Scroll the header window separately.
58b12a06
MB
7223 (list_vscroll, list_hscroll, list_click): Update for new chooser
7224 methods.
cbfc4215
RC
7225 (listview_proc): Look for header messages.
7226 (note_width): Accept stringless calls.
7227 (pick_line::set_line): Remove.
7228 (pick_line::paint): Remove.
58b12a06
MB
7229 (pick_pkg_line::paint): Paint this one line, using the header column
7230 widths.
7231 (pick_category_line::paint): Paint this category, and anything in the
7232 bucket.
cbfc4215
RC
7233 (pick_line::click): Remove.
7234 (pick_pkg_line::click): Handle a click.
7235 (pick_category_line::click): Handle a click.
7236 (_view): Rename all to view.
7237 (view::view): Initialise the control contents.
7238 (view::set_headers): Work with the header control.
7239 (view::init_headers): Use list syntax for package list.
7240 Rearrange the width logic a little.
7241 (view::insert_pkg): Update to use the hierarchy.
7242 (view::insert_category): Ditto.
7243 (view::insert_at, view::insert_under): Remove.
7244 (view::clear_view): Update to use the hierarchy.
7245 (view::click): Update to use the hierarchy.
7246 (set_view_mode): Use list syntax for package list.
7247 Update for new chooser methods.
7248 (DoInsertItem): New helper function. (Needs a home somewhere).
58b12a06
MB
7249 (create_listview): Remove choose control code and use the constructor
7250 instead.
cbfc4215
RC
7251 (dialog_cmd,scan2,do_choose): Use list syntax for package list.
7252 * choose.h: Include newly required headers list and package_meta.
7253 (_voew): Rename to view.
7254 (pick_line): Convert to an ABC.
7255 (pick_pkg_line): New class.
7256 (pick_catgory_line): New class.
7257 (topbucket): New class.
7258 (view::scroll): New method created from listview_scroll function.
7259 * desktop.cc (make_passwd_group): Use list syntax for package list.
7260 * download.cc (do_download): Use list syntax for package list.
7261 * fromcwd.cc (found_file): Use list syntax for package list.
7262 * iniparse.y (pacakges): Use list syntax for package list.
7263 * install.cc (uninstall_one): Use list syntax for package list.
7264 (do_install): Use list syntax for package list.
58b12a06
MB
7265 * io_stream.h (io_stream): Prevent non-child direct creation of the
7266 class.
cbfc4215
RC
7267 Prevent inaccurate synthetic copy and assignment.
7268 * list.h: Include required header stdlib.
7269 Work on const correctness.
7270 * package_db.cc (packagedb::getpackagebyname): Remove.
7271 (packagedb::packagedb): Remove custom list code, and make db a local.
7272 (packagedb::getfirstpackage): Remove.
7273 (packagedb::getnextpackage): Remove.
7274 (packagedb::addpackage): Remove.
7275 (flush): Remove custom list code.
7276 (packagedb::registerpackage): Remove.
7277 (packagedb::packages): New static member.
7278 (packagedb::task): New static member.
7279 * package_db.h (PackageDBActions): New enum.
7280 (packagedb): Remove getfirstpackage, getnextpackage, getpackagebyname,
7281 addpackage, registerpackage, packages, packagecount, curr_package, db.
7282 Add packages, task.
7283 * pacakge_meta.cc: Include package_db.h.
7284 (packagemeta::action_caption): New method.
7285 (packagemeta::set_action): New method.
7286 * package_meta.h (CategoryPackage): Initialise key.
7287 (packagemeta): Initialise key.
7288 Add set_action and action_caption methods.
7289 Prevent inaccurate synthetic copy and assignment.
7290 * resource.h (IDC_CHOOSE_LISTHEADER): New ID.
7291 * source.cc: Include package_db for db manipulation.
7292 (save_dialog): Set the db task.
58b12a06
MB
7293 * win32.h: Tell the w32 include headers what IE version to
7294 expect/require.
cbfc4215 7295
cd8e5750
RC
72962001-12-06 Robert Collins <rbtcollins@hotmail.com>
7297
7298 * README: Wishlist updates.
7299
5519d243
RC
73002001-12-04 Robert Collins <rbtcollins@hotmail.com>
7301
7302 * package_db.cc (getnextpackage): Don't overrun the array.
7303
de6a1a64
RC
73042001-12-04 Robert Collins <rbtcollins@hotmail.com>
7305
7306 * Makefile.in (OBJS): Add setup_version.o.
7307 (version.c): Rename to setup_version.
7308 * choose.cc (set_action): Prevent NULL pointer dereference.
7309 (package_sort): Remove.
7310 * fromcwd.cc (canonicalize_version): Moved to version.cc.
58b12a06
MB
7311 (check_ini): New function for use with find to see if there is a cached
7312 setup.ini.
de6a1a64
RC
7313 (do_fromcwd): Check for a cached setup.ini from any mirror site.
7314 * ini.cc (find_routine): New function, for finding cached setup.ini's.
7315 (do_local_ini): New function, drives parsing of local ini's.
58b12a06
MB
7316 (do_remote_ini): New function, drives parsing and caching of remote
7317 ini's.
de6a1a64
RC
7318 (do_ini): Move guts to do_remote_ini and do_local_ini.
7319 * list.h (removebyindex): New method.
7320 * other.cc (save_dialog): Use new site_list and all_site_list to add the
7321 new site to the site picklist.
7322 (dialog_cmd): Only save the dialog when exiting the dialog.
7323 * res.rc (IDD_SITE): Make IDC_URL_LIST a multiple-selection control.
7324 * site.cc (site_list_type): Move to site.h
7325 (site_list): New global, sites chosen by the user.
7326 (all_site_list): New global, all potential sites.
58b12a06
MB
7327 (site_list_type::init): New method, parses a mirror.lst URL string into
7328 a site_list_type object.
de6a1a64
RC
7329 (site_list_type::site_list_type): New method.
7330 (check_if_enable_next): Examine the control, not a local variable.
7331 (load_dialog): Select all the user chosen sites by default.
cef493d7 7332 (save_dialog): Adjust for multiple selection semantics.
de6a1a64 7333 (save_site_url): Save all user chosen sites.
58b12a06
MB
7334 (dialog_cmd): Don't save the dialog when the listbox recieves a message
7335 - thats not needed.
de6a1a64
RC
7336 Remove obsolete other_url reference.
7337 (dialog_proc): Use all_site_list instead of site_list.
7338 (site_sort): Remove.
7339 (get_site_list): Remove malloc use - use list template instead.
7340 Move site_list_type initialisation to site_list_type::init().
7341 (get_initial_list_idx): Renamed to ...
7342 (get_saved_sites): this. Also read in multiple sites to the site_list.
7343 (do_site): Use all_site_list not site_list.
7344 Log all chosen sites.
7345 * site.h: New file, defines site related class, functions and variables.
7346 * state.h: Add comment about use of state.h
7347 (mirror_site): Remove.
7348 (other_url): Remove.
7349 (MIRROR_SITE): Remove.
7350 * version.cc: New file, for version-handling and related functions.
7351
341988b9
RC
73522001-12-02 Robert Collins <rbtcollins@hotmail.com>
7353
7354 * Makefile.in: Add filemanip.o to setup.
7355 * archive.cc (archive::extract_file): Use new io_stream method 'copy'.
7356 * archive_tar.h (archive_tar_file): Implement get_size virtual.
7357 (archive_tar): Ditto.
58b12a06
MB
7358 * choose.cc (set_action): Use [] operator instead of getnth - its more
7359 readable.
341988b9
RC
7360 (paint): Ditto.
7361 (_view::init_headers): Ditto.
7362 (_view::insert_pkg): Ditto.
7363 (set_view_mode): Ditto.
7364 (scan2): Ditto.
7365 (do_choose): Ditto.
7366 (base): Moved to filemanip.cc.
7367 (find_tar_ext): Ditto.
7368 (parse_filename): Ditto.
7369 (_Info::_Info): Remove.
7370 * compress_bz.h (compress_bz): Implement get_size virtual.
7371 * compress_gz.h (compress_gz): Implement get_size virtual.
58b12a06
MB
7372 * cygpackage.cc (cygpackage::destroy): Use array delete for char *
7373 objects.
341988b9 7374 * download.cc (get_file_size): Move to filemanip.cc.
58b12a06
MB
7375 (check_for_cached): Use [] operator instead of getnth - its more
7376 readable.
341988b9
RC
7377 (download_one): Ditto.
7378 * filemanip.cc: New file.
58b12a06
MB
7379 * geturl.cc (init_dialog): Make url a pointer to const as it is not
7380 modified.
7381 (get_url_to_membuf): New function - contains get_url_to_string worker
7382 code.
341988b9
RC
7383 (get_url_to_string): Becomes a trivial wrapper to get_url_to_membuf.
7384 * geturl.h: Declare new prototype.
7385 * ini.cc (do_ini): Use get_url_to_membuf and pass ini_init an io_stream.
7386 Tidy up the error code a little.
7387 * ini.h: Remove __cplusplus protection for ini_init.
7388 (_Info): Remove.
7389 * inilex.l: Remove old globals.
7390 (ini_init): Use an io_stream for getting the characters.
7391 (ini_getchar): Ditto.
7392 * iniparse.y: Declare yylex as a C++ function.
58b12a06
MB
7393 (add_correct_version): Use [] operator instead of getnth - its more
7394 readable.
341988b9
RC
7395 * io_stream.cc (io_stream::move_copy): Use the copy method.
7396 (io_stream::copy): New method to simply copy from one stream to another.
58b12a06
MB
7397 * io_stream.h (io_stream): New static method copy, and virtual method
7398 get_size.
341988b9
RC
7399 * io_stream_cygfile.cc (io_stream_cygfile::get_size): Implement this.
7400 * io_stream_cygfile.h (io_stream_cygfile::get_size): Declare this.
7401 * io_stream_file.cc (io_stream_file::get_size): Implement this.
7402 * io_stream_file.h (io_stream_file::get_size): Declare this.
7403 * io_stream_memory.h: Include errno as it's neded to parse the header.
7404 (io_stream_memory::get_size): Implement this.
7405 (io_stream_memory::st_size): Delete this.
7406 * list.h: Change getnth into the [] operator.
58b12a06
MB
7407 * netio.cc (NetIO::NetIO): Change prototype to reflect Purl not being
7408 modified.
341988b9
RC
7409 (NetIO::set_url): Ditto.
7410 (NetIO::open): Ditto.
7411 * netio.h: As for netio.cc.
58b12a06
MB
7412 * nio-file.cc (NetIO_File::NetIO_File): Change prototype to reflect
7413 Purl not being modified.
341988b9
RC
7414 * nio-file.h: Ditto.
7415 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Ditto.
7416 * nio-ftp.h (NetIO_FTP::NetIO_FTP): Ditto.
7417 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Ditto.
7418 * nio-http.h (NetIO_HTTP::NetIO_HTTP): Ditto.
7419 * nio-i5.cc (NetIO_IE5::NetIO_IE5): Ditto.
7420 * nio-i5.h (NetIO_IE5::NetIO_IE5): Ditto.
7421 * package_meta.cc (packagemeta::~packagemeta): Bugfix: use array delete.
7422 * package_source.cc (packagesource::set_canonical): Ditto.
7423 (packagesource::set_cached): Ditto.
7424 * package_source.h (site::~site): Ditto.
58b12a06
MB
7425 * site.cc: Change site_list_type to a class, and search and replace
7426 sort_key to key globally.
341988b9 7427
071c1c54
RC
74282001-12-01 Robert Collins <rbtcollins@hotmail.com>
7429
58b12a06
MB
7430 * package_source.cc (packagesource::set_canonical): Filename was out by
7431 one.
071c1c54 7432
4fe323f9
RC
74332001-11-30 Robert Collins <rbtcollins@hotmail.com>
7434
7435 * Makefile.in (OBJS): Remove category_list - it's not needed.
7436 * README: More wishlist updates.
7437 * category.cc (Category::Category): Initialise new members.
7438 (Categorycmp): New function.
7439 * category.h (Category): New member key for template use.
7440 * category_list.cc: Remove.
7441 * category_list.h: Remove.
7442 (Categorycmp): New function prototype.
7443 * choose.cc: Remove category_list - not needed.
cef493d7 7444 (set_action): Only show the 'source' option when the source is actually
4fe323f9
RC
7445 available.
7446 (add_required): Fix recursion limiter to 5.
7447 (fill_missing_category): Use list access.
7448 (default_trust): Ditto.
7449 (pick_line::paint): Ditto.
7450 (_view::init_headers): Ditto.
7451 (_view::insert_pkg): Ditto.
7452 (_view::insert_category): Ditto.
7453 (_view::click): Ditto.
7454 (set_view_mode): Ditto.
7455 (do_choose): Ditto.
7456 * cygpackage.h: Remove category_list - not needed.
7457 * geturl.cc (get_url_to_string): Fix null byte insertion.
7458 * inipatse.y: Remove category_list - not needed.
7459 (categories): Use list access.
7460 * package_db.cc: Ditto.
7461 * package_db.h: Remove category_list - not needed.
7462 (packagedb): Use the list template for categories.
7463 * package_meta.cc (add_category): Ditto.
7464 * package_meta.h (CategoryPackage): Link to the category as well.
cef493d7 7465 (packagemeta): Use a list of CategoryPackages instead of Categories
4fe323f9
RC
7466 for more memory efficient cross-referencing.
7467
7d66d192
RC
74682001-11-30 Robert Collins <rbtcollins@hotmail.com>
7469
58b12a06
MB
7470 * package_db.cc (packagedb::flush): Write a canonical version for all
7471 packages irrespective of the media they were installed from.
7d66d192 7472
bb849dbd
RC
74732001-11-29 Robert Collins <rbtcollins@hotmail.com>
7474
7475 * Makefile.in (OBJS): Add package_source and rfc1738.
7476 * README: Wishlist update.
7477 * category_list.cc (register_category): Use references.
7478 * category_list.h (CategoryList): Ditto.
7479 * choose.cc (isinstalled): Remove.
7480 (pkgtrustp): New macro.
7481 (set_action): Use packagemeta.
7482 (add_required): Ditto.
58b12a06
MB
7483 (choose_caption): Example package to choose caption, rather than state
7484 flags.
bb849dbd
RC
7485 (check_existence): Remove.
7486 (set_existence): Remove old code.
7487 (fill_missing_category): Use packagemeta.
7488 (keep_or_skip): Remove.
7489 (default_trust): Use packagemeta and set trust values directly.
7490 (pick_line::set_line): Use packagemeta.
7491 (_view::insert_pkg): Ditto.
7492 (_view::insert_category): Ditto.
7493 (_view::click): Ditto.
7494 (set_view_mode): Ditto. Also remove "exclude" code.
7495 (create_listview): Use packagemeta.
7496 (dialog_cmd): Ditto.
7497 (getpkgbyname): Remove
7498 (scan2): Use packagemeta. Temporarily comment out the holefinding code.
7499 (read_installed_db): Remove.
7500 (package_sort): Use packagemeta.
58b12a06
MB
7501 (do_choose): Use packagemeta. Don't sort the packages - the db does
7502 that.
bb849dbd
RC
7503 * choose.h: Use packagemeta.
7504 * cygpackage.cc (cygpackage::cygpackage): Initialise all variables.
7505 (cygpackage::cygpackage): Ditto.
7506 (cygpackage::set_canonical_version): Copy the passed string.
7507 (cygpackage::~cygpackage): Move cleanup code to destroy().
7508 (cygpackage::destroy): New function.
7509 (cygpackage::getfirstfile): Use a separate buffer.
7510 (cygpackage::getnextfile): Ditto.
7511 (cygpackage::Canonical_version): New function.
7512 (cygpackage::set_sdesc): Ditto.
7513 (cygpackage::set_ldesc): Ditto.
7514 * cygpackage.h (cygpackage::Canonical_version): New method.
7515 (cygpackage::set_sdesc): New method.
7516 (cygpackage::set_ldesc): New method.
7517 (cygpackage::SDesc): New method.
7518 (cygpackage::LDesc): New method.
7519 (cygpackage::set_canonical_version): New method.
7520 * desktop.cc: Include packagedb headers.
7521 (make_password_group): Use packagemeta.
7522 * download.cc: Include packagedb headers.
58b12a06
MB
7523 (check_for_cached): New method to find any cached file and fill out the
7524 database info.
bb849dbd
RC
7525 (download_one): Take a packagesource, support multiple mirrors.
7526 (do_download): Use packagemeta.
7527 * from cwd.cc: Include packagedb headers.
7528 (found_file): Use packagemeta.
7529 * ini.cc (do_ini): Beginning of multiple-mirror support.
7530 * ini.h (CategoryPackage): Remove.
7531 (Dependency): Remove.
7532 (Package): Remove.
58b12a06
MB
7533 (new_package,getpkgbyname,getpackagecategorybyname,add_category):
7534 Remove.
bb849dbd
RC
7535 * inilex.l: Support multiple mirrors.
7536 * iniparse.y: Include packagedb headers.
7537 (parser): Use packagemeta.
7538 (new_package): Remove.
7539 (add_correct_version): New function.
7540 (new_requirement): Remove.
7541 (add_category): Remove.
7542 * install.cc (uninstall_one): Use packagemeta.
7543 (install_one_source): New function.
7544 (install_one): Use packagemeta.
7545 (do_install): Use packagemeta.
7546 * io_stream.cc (io_stream::move): Bugfix on move/copy case.
58b12a06
MB
7547 * io_stream_cygfile.cc (io-stream_cygfile::set_mtime): Do not reopen the
7548 file after setting the mtime, it makes no sense, and results in 0 length
7549 files.
bb849dbd
RC
7550 * io_stream_file.cc (io-stream_file::set_mtime): Ditto.
7551 * list.h: New file, template class for a form of list.
7552 * package_db.cc (packagedb::registerpackage): New function.
7553 * package_db.h (packagedb::npackages ()): New method.
7554 * package_meta.cc (packagemeta::add_version): Use list template.
7555 (packagemeta::set_installed): Ditto.
7556 (packagemeta::add_category): New method.
7557 * package_meta.h: Include necessary headers to parse the class.
7558 (CategoryPackage): New class.
7559 (packagemeta): Initialise all members.
7560 (packagemeta::SDesc): New method.
7561 (packagemeta::Categories): New method.
7562 (packagemeta::add_category): Ditto.
7563 (packagemeta::versions): Change to be a list instance.
7564 * package_source.cc (packagesource::set_canonical): New method.
7565 (packagesource::set_cached): New method.
7566 * package_source.h: Include necessary headers to parse the class.
7567 (site): New class.
7568 (packagesource::packagesource): Initialize all members.
7569 (packagesource): Make this class non-abstract.
7570 * package_version.cc (packageversion::packageversion): New method.
7571 * package_version.h (Dependency): New class.
7572 (packageversion::Canonical_vesion): New method.
7573 (packageversion::SDesc): New method.
7574 (packageversion::LDesc): New method.
7575 (packageversion::new_requirement): Ditto.
7576 (packageversion::srcpicked, binpicked): What to install.
7577 (packageversion::src, bin): Installation source data.
7578 * rfc1738.cc: New file. Escapes special characters in URL's.
7579 * rfc1738.h: Ditto.
7580
90d14922
RC
75812001-11-26 Gary R. Van Sickle <g.r.vansickle@worldnet.att.net>
7582
7583 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Stop header parsing when
7584 SimpleSocket::gets() returns a zero-length string, so that we
7585 don't end up eating the entire stream thinking it's all header info.
7586
7c7034e8
RC
75872001-11-23 Robert Collins <rbtcollins@hotmail.com>
7588
7589 * install.cc (badrename): Remove.
58b12a06
MB
7590 (do_install): Use packagedb flush method to write
7591 /etc/setup/installed.db.
7c7034e8
RC
7592 * io_stream.cc (io_stream::move_copy): New method.
7593 (io_stream::move): New method.
7594 * io_stream.h (io_stream): New methods move and move_copy.
7595 * io_stream_cygfile.cc (io_stream_cygfile::move): New method.
7596 * io_stream_cygfile.h (io_stream_cygfile): New method move.
7597 * io_stream_file.cc (io_stream_file::move): New method.
7598 * io_stream_file.h (io_stream_file): New method move.
7599 * package_db.cc (packagedb::flush): New method.
7600 * package_db.h (packagedb): New method flush.
7601
fa0c0d10
RC
76022001-11-23 Robert Collins <rbtcollins@hotmail.com>
7603
7604 * Makefile.in (OBJS): Add package_version.
7605 * ategory.cc (Category::Category): Update constructors.
7606 * category_list.cc (CategoryList::register_category): Insert correctly.
7607 * choose.cc: Include package_version.h, not package.h.
7608 * cygpackage.cc: Ditto.
7609 (cygpackage::uninstall): New method.
7610 * cygpackage.h (cygpackage): Rename genericpackage to packageversion.
7611 New method uninstall.
7612 * hash.cc (add, has, enumerate): Change prototype to be accurate.
7613 * hash.h (hash): Change prototypes to be accurate.
7614 * ini.h (_Info): New parameterless constructor.
7615 (CategoryPackage): New constructor.
7616 (Package): Ditto.
7617 * install.cc: Don't include unneeded headers.
7618 Include package database headers.
7619 (hash::add_subdirs): Remove.
58b12a06
MB
7620 (uninstall_one): Use packagemeta->uninstall to perform the
7621 uninstallation. Don't uninstall source packages.
7622 (do_install): Just can uninstall_one once as we ignore source packages
7623 now. Don't copy the installed.old database accross, instead iterate
7624 through the packagedb packages list and write the installed packages
7625 out.
fa0c0d10
RC
7626 * package_db.cc: Include package_version.h, not package.h.
7627 (packagedb::packagedb): Never let db be undefined.
7628 Record the installation filename, so we can reconstruct installed.db.
7629 (packagedb::addpackage): Insert packages in alpha sorted order.
7630 (packagedb::categories): Initialise correctly.
7631 * package_meta.cc: Include win32 and mount headers as a workaround to
7632 current io_stream limitations. Include a TODO about that.
7633 (standard_dirs): New, from install.cc.
7634 (hash::add_subdirs): New, from install.cc.
7635 (packagemeta::set_installed): Rename genericpackage to packageversion.
7636 (packagemeta::uninstall): New method.
7637 * package_meta.h: Rename genericpackage to packageversion.
7638 (packagemeta): Update constructor.
7639 (add_version, set_installed): Rename genericpackage to packageversion.
7640 (uninstall): New method.
7641 (installed_from): New member.
7642 * package_source.cc: New file.
7643 * package_source.h: New file.
7644 * package_version.cc: New file.
7645 * package_version.h: New file.
7646 * package.cc: Removed.
7647 * package.h: Removed.
cef493d7 7648
7b606ae5
RC
76492001-11-21 Robert Collins <rbtcollins@hotmail.com>
7650
7651 * Makefile.in (OBJS): Add category.o and category_list.o.
7652 * category.h: New file.
7653 * category.cc: New file.
7654 * category_list.h: New file.
7655 * category_list.cc: New file.
7656 * choose.cc: Include category headers.
7657 (fill_missing_category): Use package_db to access global categories.
7658 (_view::insert_pkg): Ditto.
7659 (_view::insert_category): Ditto.
7660 (set_view_mode): Ditto.
7661 (getcategorybyname): Remove.
7662 * cygpackage.h: Include category_list.h to parse this correctly.
7663 (cygpackage): New virtual &Categories.
7664 * ini.h (_CategoryPackage): More C to C++ conversion.
7665 (Category): Remove.
7666 (getcategorybyname): Remove.
7667 (register_category): Remove.
7668 * iniparse.y: Include package db and category headers.
7669 (categories): Use package_db to access global categories.
7670 (category): Remove.
7671 (ncategories): Remove.
7672 (register_category): Remove.
7673 * package.h: New virtual &Categories.
58b12a06
MB
7674 * package_db.cc (packagedb::packagedb): Don't read the installed db
7675 twice.
7b606ae5 7676 (packagedb::categories): Declare.
58b12a06
MB
7677 * package_db.h (packagedb): New member categories for global categories
7678 list.
7b606ae5 7679
d0fa1c4e
RC
76802001-11-21 Robert Collins <rbtcollins@hotmail.com>
7681
7682 * choose.h: Don't include ini.h
7683 * ini.h: Allow pure c++ in the header file.
7684
24cbae7f
RC
76852001-11-21 Robert Collins <rbtcollins@hotmail.com>
7686
7687 * install.cc (do_install): Write a version 2 installed.db file.
58b12a06
MB
7688 * package_db.cc (packagedb::packagedb): Read version 1 and 2
7689 installed.db files.
24cbae7f 7690
7939f6d1
RC
76912001-11-21 Robert Collins <rbtcollins@hotmail.com>
7692
7693 * Makefile.in (OBJS): Add package abstraction objects.
7694 * choose.cc: Include package abstraction headers.
7695 (read_installed_db): Use packagedb class and ignore installed sources.
7696 * cygpackage.cc: New file.
7697 * cygpackage.h: New file.
7698 * filemanip.h (get_file_size): Use unixy types.
7699 * package.h: New file.
7700 * package.cc: New file.
7701 * package_db.cc: New file.
7702 * package_db.h: New file.
7703 * package_meta.cc: New file.
7704 * package_meta.h: New file.
7705
33bc0053
RC
77062001-11-21 Robert Collins <rbtcollins@hotmail.com>
7707
7708 * REAME: Updates to wishlist.
7709
12ccadc0
RC
77102001-11-16 Robert Collins <rbtcollins@hotmail.com>
7711
7712 * README: Updated and added my list of wishlist and todo items.
7713
ca9506cc
RC
77142001-11-14 Robert Collins <rbtcollins@hotmail.com>
7715
7716 * Makefile.in (OBJS): Include io_stream_memory in setup.exe.
7717 * archive_tar.cc (archive_tar::write): New prototype.
7718 (archive_tar::seek): New method.
7719 * archive.h (archive_tar_file): Update write() and add seek().
7720 (archive_tar): Ditto.
7721 * archive_tar_file.cc (archive_tar_file::write): New prototype.
7722 (archive_tar_file::seek): New method.
7723 * compress_bz.cc (compress_bz::write): New prototype.
7724 (compress_bz::seek): New function.
7725 * compress_bz.h (compress_bz): Update write() and add seek().
7726 * compress_gz.cc (compress_gz::write): New prototype.
7727 (compress_gz::seek): New function.
7728 * compress_gz.h (compress_gz): Update write() and add seek().
7729 * geturl.cc: Include io_stream headers.
7730 (GUBuf): Remove.
7731 (get_url_to_string): Use a io_stream_memory buffer instead of GUBuf.
7732 * io_stream.h (io_stream_seek_t): New enum.
7733 (io_stream): Update write() and add seek().
7734 * io_stream_cygfile.cc (io_stream_cygfile::write): New prototype.
7735 (io_stream_cygfile::seek): New function.
58b12a06
MB
7736 * io_stream_cygfile.h (io_stream_cygfile): Update write() and add
7737 seek().
ca9506cc
RC
7738 * io_stream_file.cc (io_stream_file::write): New prototype.
7739 (io_stream_file::seek): New function.
7740 * io_stream_file.h (io_stream_file): Update write() and add seek().
7741
2db33f10
RC
77422001-11-13 Brian Keener <bkeener@thesoftwaresource.com>
7743
7744 * localdir.cc: Add headers unistd.h and port.h.
cef493d7 7745 (save_local_dir): Expand search logic to include local directory for
2db33f10
RC
7746 location of file last-cache.
7747 (dialog_cmd): Skip IDD_ROOT when downloading and use Back button.
cef493d7 7748 (do_local_dir): Expand search logic to include local directory for file
2db33f10
RC
7749 last-cache.
7750 * res.rc (IDD_CHOOSE_DIALOG): Add hotkey to View button.
cef493d7 7751 * Source.cc (dialog_cmd): Skip IDD_ROOT if select Download from
2db33f10 7752 Internet.
cef493d7 7753 (do_source): Default to Install from Internet on first entry or
2db33f10
RC
7754 previous selection if backing up from IDD_ROOT or IDD_LOCAL_DIR.
7755
03a6c5b1
RC
77562001-11-13 Robert Collins <rbtcollins@hotmail.com>
7757
7758 * choose.cc (find_tar_ext): Only match at the end of the string.
7759 (getpkgbyname): Prevent NULL pointer dereference.
7760
b24c88b3
RC
77612001-11-13 Robert Collins <rbtcollins@hotmail.com>
7762
7763 * Makefile.in (CFLAGS): Add warnings and -Werr.
58b12a06
MB
7764 (WARNONLY_FLAGS): For sources that produce (harmless) errors no matter
7765 what.
b24c88b3
RC
7766 (OBJS): Add io_stream class' objects.
7767 (autoload.o): Use WARNONLY_FLAGS.
7768 (inilex.o): Ditto.
7769 (iniparse.o): Ditto.
7770 * archive.cc: New file.
7771 * archive.h: New file.
7772 * archive_tar.cc: New file.
7773 * archive_tar.h: New file.
7774 * archive_tar_file.cc: New file.
7775 * autoload.c: Fix compiler warnings (unused, deprecated conversion).
7776 * choose.cc: Use io_stream.h, not mount.h.
7777 Run indent.
58b12a06
MB
7778 (find_tar_ext): Rewritten to use strstr, and to accept .tar as an
7779 extension.
b24c88b3
RC
7780 (read_installed_db): Use io_streams.
7781 * choose.h: Run indent.
7782 * compress.cc: New file.
7783 * compress.h: New file.
7784 * compress_bz.cc: New file.
7785 * compress_bz.h: New file.
7786 * compress_gz.cc: New file.
7787 * compress_gz.h: New file.
7788 * concat.cc: Run indent.
7789 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7790 * concat.h: Run indent.
7791 * desktop.cc: Run indent.
7792 Include mklink2.h rather than redefining by hand.
7793 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7794 (etc_profile): Fix compiler warning (deprecated conversion).
7795 (make_link): Fix compiler warning (deprecated conversion).
7796 Tidy up use of args variable - consolidate into argbuf.
7797 (start_menu): Fix compiler warning (deprecated conversion).
7798 (desktop_icon): Fix compiler warning (deprecated conversion).
7799 (make_etc_profile): Fix compiler warning (deprecated conversion).
7800 (uexists): Fix compiler warning (deprecated conversion).
7801 (check_desktop): Fix compiler warning (deprecated conversion).
7802 (check_startmenu): Fix compiler warning (deprecated conversion).
7803 * dialog.cc: Run indent.
7804 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7805 (fatal): Fix compiler warning (deprecated conversion).
7806 * dialog.h: Run indent.
7807 * diskfull.cc: Run indent.
7808 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7809 * download.cc: Run indent.
7810 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7811 (download_one): Fix compiler warning (signed vs unsigned comparison).
7812 * filemanip.h: Run indent.
7813 * find.cc: Run indent.
7814 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7815 (find): Fix compiler warning (deprecated conversion).
7816 * find.h: Run indent.
7817 * fromcwd.cc: Run indent.
7818 * geturl.cc: Run indent.
7819 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7820 (dialog_cmd): Return a value.
7821 (dialog_proc): Remove unused variables.
7822 Return a value.
7823 (get_url_to_file): Fix compiler warning (deprecated conversion).
7824 * geturl.h: Run indent.
7825 * hash.cc: Run indent.
7826 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7827 * hash.h: Run indent.
7828 * ini.cc: Run indent.
7829 Use io_streams.
7830 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7831 (do_ini): Use io_streams for local io.
7832 * ini.h: Run indent.
7833 * inilex.l (ignore_line): Fix compiler warning (is not a prototype).
7834 Fix compiler warning (brackets for truth assignment).
7835 * install.cc: Run indent.
7836 Fix compiler warning (/* in comment).
7837 Use io_streams.
7838 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7839 (dialog_cmd): Return a value.
7840 (dialog_proc): Return a value.
7841 (start_tics): Deleted - was unused.
7842 (badrename): Fix compiler warnings (unused, deprecated conversion).
7843 (standard_dirs): Fix compiler warning (deprecated conversion).
7844 (exists): Remove.
7845 (uninstall_one): Convert to io_streams.
7846 (install_one): Convert to io_streams.
7847 (do_install): Convert to io_streans.
7848 Fix compiler warning (deprecated conversion).
7849 * io_stream.cc: New file.
7850 * io_stream.h: New file.
7851 * io_stream_cygfile.cc: New file.
7852 * io_stream_cygfile.h: New file.
7853 * io_stream_file.cc: New file.
7854 * io_stream_file.h: New file.
7855 * localdir.cc: Run indent.
7856 Use io_streams.
7857 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7858 (get_root_dir_now): Remove.
7859 (save_local_dir): Convert to io_streams.
7860 (dialog_cmd): Return a value.
7861 (do_local_dir): Convert to io_streams.
7862 (log.cc): Run indent.
7863 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7864 (log): Fix compiler warning (deprecated conversion).
7865 (log_save): Fix compiler warning (deprecated conversion).
7866 * log.h: Run indent.
7867 (log): Fix compiler warning (deprecated conversion).
7868 (log_save): Fix compiler warning (deprecated conversion).
7869 * main.cc: Run indent.
7870 Don't include "netio.h".
7871 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7872 (netio_test): Remove.
7873 (sid_auth): Fix compiler warning (partially bracketed initialiser).
7874 (WinMain): Return a value.
7875 * mkdir.cc: Run indent.
7876 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7877 * mklink2.c: Run indent.
7878 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7879 (mkcygsymlink): New function.
7880 * mklink2.h: New file.
7881 * mount.cc: Run indent.
7882 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7883 (create_mount): Remove unused variables.
7884 (cygpath): Fix compiler warning (signed vs unsigned comparison).
7885 * mount.h: Run indent.
7886 * msg.cc: Run indent.
7887 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7888 (msg): Fix compiler warning (deprecated conversion).
7889 (mbox): Fix compiler warning (deprecated conversion).
7890 * msg.h: Run indent.
7891 (msg): Fix compiler warning (deprecated conversion).
7892 * net.cc: Run indent.
7893 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7894 (dialog_cmd): Return a value.
7895 * netio.cc: Run indent.
7896 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7897 (auth_cmd): Return a value.
7898 * netio.h: Run indent.
7899 * nio-file.cc: Run indent.
7900 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7901 (NetIO_File::NetIO_File): Fix compiler warning (deprecated conversion).
7902 * nio-file.h: Run indent.
7903 * nio-ftp.cc: Run indent.
7904 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7905 * nio-ftp.h: Run indent.
7906 * nio-http.cc: Run indent.
7907 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7908 * nio-http.h: Run indent.
7909 * nio-ie5.cc: Run indent.
7910 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7911 * nio-ie5.h: Run indent.
7912 * other.cc: Run indent.
7913 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7914 (dialog_cmd): Return a value.
7915 * port.h: Run indent.
7916 * postinstall.cc: Run indent.
7917 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7918 (cmd): Fix compiler warning (deprecated conversion).
7919 (eun): Fix compiler warning (deprecated conversion).
7920 * root.cc: Run indent.
7921 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7922 * simpsock.cc: Run indent.
7923 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7924 * simpsock.h: Run indent.
7925 * site.cc: Run indent.
7926 Use io_streams.
7927 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7928 (get_root_dir_now): Remove.
7929 (save_site_url): Convert to io_streams.
7930 (dialog_cmd): Return 0.
7931 (get_initial_list_idx): Convert to io_streans.
7932 * source.cc: Run indent.
7933 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7934 (check_if_enable_next): Remove.
7935 (load_dialog): Remove unused variables.
7936 (save_dialog): Ditto.
7937 (dialog_cmd): Return a value.
7938 * splash.cc: Return a value.
7939 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7940 (dialog_cmd): Return a value.
7941 * state.cc: Run indent.
7942 (cvsid): Fix compiler warnings (unused, deprecated conversion).
7943 * state.h: Run indent.
7944 * tar.h: Remove.
7945 * tar.cc: Remove.
7946
398dd7b2
CF
79472001-11-12 Christopher Faylor <cgf@redhat.com>
7948
7949 * desktop.cc (start_menu): Change start menu name to "Cygwin".
7950 (check_startmenu): Ditto.
7951
c29ee141
CF
79522001-11-11 Christopher Faylor <cgf@redhat.com>
7953
7954 * choose.cc (parse_filename): Finish reorganization by correctly
7955 decrementing p in memmove.
7956
3a8276de
CF
79572001-11-11 Christopher Faylor <cgf@redhat.com>
7958
7959 * choose.cc (parse_filename): Reorganize code to work around gcc
7960 optimization problem.
7961
6eea52fb
RC
79622001-11-09 Gareth Pearce <tilps@hotmail.com>
7963
7964 * choose.cc (set_action): Allow skip as an option for installed
7965 packages that have version number not listed in setup.ini.
7966
cf99b153
RC
79672001-11-10 Robert Collins <rbtcollins@hotmail.com>
7968
7969 * choose.cc (set_cation): Backout last change.
7970 (choose_caption): Ditto.
7971
55e204f6
RC
79722001-11-10 Robert Collins <rbtcollins@hotmail.com>
7973
7974 * ini.h (actions): Remove - transferred to choose.h.
7975 (views): Ditto.
7976 * choose.h: Protect class's from "C" compilers.
7977 (actions): New enum, from ini.h. This may not be the 'right' place
7978 but that place doesn't exist yet.
7979 (_views): New enum, from ini.h.
58b12a06
MB
7980 * choose.cc (set_action): Handle installed packages with a version not
7981 in setup.ini.
55e204f6
RC
7982 (choose_caption): Ditto.
7983 * iniparse.y: Rearrange header order to handle new ini.h.
7984
79852001-11-10 Robert Collins <rbtcollins@hotmail.com>
7986
7987 * ini.h (_Info): Fix compiler warnings (signed vs unsigned comparison).
7988 (registry_category): Fix compiler warning (deprecated conversion).
7989 * iniparse.y (registry_category): Ditto.
58b12a06
MB
7990 * choose.cc (cvsid): Fix compiler warnings (unused, deprecated
7991 conversion).
55e204f6
RC
7992 (add_requried): Remove unused variable.
7993 (choose_caption): Handle all enumeration values via a default.
7994 (paint): Fix compiler warnings (unused, deprecated conversion).
58b12a06
MB
7995 (scroll_common): Fix compiler warnings (unused, signed vs unsigned
7996 comparison).
55e204f6
RC
7997 (list_clicK): Fix compiler warnings (signed vs unsigned comparison).
7998 (note_width): Fix compiler warnings (deprecated conversion).
7999 (keep_or_skip): Fix compiler warnings (unused).
8000 (_view::mode_caption): Fix compiler warnings (deprecated conversion).
8001 (set_view_mode): Fix compiler warnings (unused).
58b12a06
MB
8002 (create_listview): Fix compiler warnings (unused, incorrect format,
8003 reaches end of function).
55e204f6 8004 (dialog_proc): Fix compiler warnings (unused).
58b12a06
MB
8005 (read_installed_db): Fix compiler warnings (unused, deprecated
8006 conversion).
55e204f6
RC
8007 * choose.h (_header): Fix compiler warnings (deprecated conversion).
8008 (_view): Ditto.
8009
67a55ad9 80102001-11-08 Pavel Tsekov <ptsekov@syntrex.com>
cef493d7 8011
67a55ad9
RC
8012 * simpsock.h (SimpleSocket::invalidate): Declare new method.
8013 * simpsock.cc (SimpleSocket::invalidate): Implement new method.
8014 (SimpleSocket::SimpleSocket): Initialize buf to zero. Do not allocate
8015 memory for buf in the constructor.
8016 (SimpleSocket::~SimpleSocket): Use SimpleSocket::invalidate().
8017 (SimpleSocket::printf): Use SimpleSocket::write() instead of send().
8018 (SimpleSocket::write): Check object consistency - return -1 on error.
8019 invalidate() the object on socket write error.
8020 (SimpleSocket::fill): Check object consistency - return -1 on error.
8021 invalidate() the object if socket read error is encountered and there
8022 is no more data available in the internal read buffer.
8023 Allocate memory for the internal read buffer.
8024 (SimpleSocket::gets): Return zero (NULL pointer) if error is encountered
8025 during fill() and no more data is available in the internal read buffer.
8026 (SimpleSocket::read): Check object consistency - return -1 on error.
8027 invalidate() the object if socket read error is encountered.
8028 * nio-ftp.cc (NetIO_FTP:NetIO_FTP): Allow 125 as valid response code to
8029 the RETR command (fix for MS IIS ftp server 5 - possibly others too).
8030 (NetIO_FTP::ok): Check if the SimpleSocket object is ok().
8031 (NetIO_FTP::read): Use NetIO_FTP::ok().
8032 * nio-http.cc: Check for valid return value of SimpleSocket::gets().
8033 (NetIO_HTTP::ok): Check if the SimpleSocket object is ok().
8034
5898e300
RC
80352001-11-09 Robert Collins <rbtcollins@hotmail.com>
8036
58b12a06
MB
8037 * simpsock.cc (cvsid): Avoid compiler warnings (not used, deprecated
8038 conversion).
8039 (SimpleSocket::SimpleSocket): Avoid compiler warnings (deprecated
8040 conversion).
5898e300
RC
8041 (SimpleSocket::printf): Ditto.
8042 (SimpleSocket::write): Ditto.
8043 * simpsock.h (SimpleSocket): Avoid compiler warnings for constructor,
8044 printf and write.
58b12a06
MB
8045 * nio-ftp.cc (cvsid): Avoid compiler warnings (not used, deprecated
8046 conversion).
5898e300 8047 (NetIO_FTP::NetIO_FTP): Remove unused variable done.
58b12a06
MB
8048 * nio-http.cc (cvsid): Avoid compiler warnings (not used, deprecated
8049 conversion).
5898e300 8050
8e58f8fd
RC
80512001-11-07 Charles Wilson <cwilson@ece.gatech.edu>
8052
8053 * geturl.cc (get_url_to_string): clean up memory leak
8054 (get_url_to_file): ditto
cef493d7 8055
4b4002ab
RC
80562001-11-06 Robert Collins <rbtcollins@hotmail.com>
8057
8058 * localdir.cc (dialog_cmd): Go back to IDD_ROOT in every case.
8059 * source.cc (dialog_cmd): Go forward to IDD_ROOT in every case.
8060
94525fd9
RC
80612001-11-06 Pavel Tsekov <ptsekov@syntrex.com>
8062
8063 * fromcwd.cc (found_file): Free() memory containing the version and
58b12a06
MB
8064 filepath information for a given package, before replacing the pointers
8065 which reference this memory.
94525fd9
RC
8066
80672001-11-06 Robert Collins <rbtcollins@hotmail.com>
ca83c665
RC
8068
8069 * fromcwd: Fix compiler warnings for cvsid.
8070 (canonicalize_version): Fix compilter warnings.
8071 (do_fromcwd): Ditto.
8072 * version.h: Fix compiler warnings for canonicalize_version.
8073
ce1f9ec2
RC
80742001-11-03 Robert Collins <rbtcollins@hotmail.com>
8075
8076 * res.rc (IDD_CHOOSE): Move the view caption to the right hand side.
8077
89d82ec7
RC
80782001-11-02 Robert Collins <rbtcollins@hotmail.com>
8079
8080 * res.rc (IDD_CHOOSE): Tweak for use on a 640x480 screen.
8081
c8fea72a
RC
80822001-11-02 Robert Collins <rbtcollins@hotmail.com>
8083
58b12a06
MB
8084 * choose.cc (set_action): Correctly allow skip for any uninstalled
8085 package.
8114d309
RC
8086
80872001-11-02 Robert Collins <rbtcollins@hotmail.com>
8088
58b12a06
MB
8089 * choose.cc (default_trust): Change the "Required" forced install
8090 category to "Base".
c8fea72a 8091
f557695e
RC
80922001-11-02 Robert Collins <rbtcollins@hotmail.com>
8093
8094 * choose.cc: Ran indent.
58b12a06
MB
8095 (set_action): When the requested trust level is missing and the level
8096 was not user requested, set the action to ACTION_SAME_CURR.
f557695e 8097
9a60dafc
CF
80982001-11-01 Christopher Faylor <cgf@redhat.com>
8099
cef493d7 8100 * Makefile.in (mingw_getopt.o): Fix typo in non-verbose compilation.
f557695e
RC
8101
81022001-11-02 Robert Collins <rbtcollins@hotmail.com>
8103
8104 * choose.cc (_view::init_headers): Resync with the paint logic.
9a60dafc 8105
878faffd
RC
81062001-11-02 Robert Collins <rbtcollins@hotmail.com>
8107
58b12a06
MB
8108 * choose.cc (add_required): Allow SKIP and SRC_ONLY for currently
8109 installed packages.
878faffd 8110
05bfdf26
RC
81112001-11-02 Robert Collins <rbtcollins@hotmail.com>
8112
58b12a06
MB
8113 * choose.cc (default_trust): Autoset currently installed packages per
8114 the user's selection of prev/curr/exp.
05bfdf26 8115
0b9af00c
RC
81162001-11-02 Robert Collins <rbtcollins@hotmail.com>
8117
8118 * splash.cc (dialog_proc): Return TRUE as specified in the WIN32 API.
8119
7cefe128
RC
81202001-11-02 Pavel Tsekov <ptsekov@syntrex.com>
8121
8122 * geturl.cc (is_showing): Remove.
8123 (is_local_install): New static variable. Controls whether the
8124 progress dialog and the supporting thread will be created.
58b12a06
MB
8125 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the WIN32
8126 API.
7cefe128 8127 (init_dialog): Remove usage of SetForegroundWindow and is_showing.
cef493d7 8128 This prevents the progress dialog to gain control over the
7cefe128
RC
8129 application and fixes the "setup.exe going to background" problem.
8130 (progress): Use is_local_install.
8131 (get_url_to_string): Set is_local_install.
8132 (dismiss_url_status_dialog): Use is_local_install.
8133 * install.cc (dialog_proc): Return TRUE as specified in WIN32 API.
8134 (init_dialog): Remove usage of SetForegroundWindow.
cef493d7 8135 This prevents the progress dialog to gain control over the
7cefe128
RC
8136 application and fixes the "setup.exe going to background" problem.
8137
42a99ed1
RC
81382001-11-02 Robert Collins <rbtcollins@hotmail.com>
8139
8140 * choose.cc (list_click): Change r to row for clarity.
8141 When we shrink the list below 1 page, scroll to the top of the list.
8142 (_view::click): Return the actual change for contractions.
58b12a06
MB
8143 (dialog_proc): Return TRUE to WM_INITDIALOG as specified by the Win32
8144 API.
42a99ed1 8145
45c2d7d3
RC
81462001-11-02 Robert Collins <rbtcollins@hotmail.com>
8147
58b12a06
MB
8148 * choose.cc (dialog_cmd): Swap cygwin root selection and local dir
8149 selection order.
45c2d7d3
RC
8150 * localdir.cc: Ran indent.
8151 (get_root_dir_now): New function.
8152 (save_local_dir): New function.
58b12a06
MB
8153 (dialog_cmd): Use it and swap cygwin root selection and local dir
8154 selection order.
45c2d7d3 8155 (do_local_dir): If there is a saved local dir, read it in.
58b12a06
MB
8156 * net.cc (dialog_cmd): Swap cygwin root selection and local dir
8157 selection order.
45c2d7d3
RC
8158 * root.cc (dialog_cmd): Ditto.
8159 * source.cc (dialog_cmd): Ditto.
8160
2399c54d
RC
81612001-11-01 Robert Collins <rbtcollins@hotmail.com>
8162
8163 * choose.cc(list_vscroll): Return 0 as required by win32.
8164 (list_hscroll): Ditto.
8165 (list_click): Ditto.
8166
8e4402a9
RC
81672001-11-01 Robert Collins <rbtcollins@hotmail.com>
8168
8169 * argv.cc: Remove.
8170 * argv.h: Remove.
8171 * main.cc(WinMain): Use __argv to retrieve command line parameters.
8172 * Makefile,in: Remove argv.o.
8173
c168185f
RC
81742001-11-01 Matt Hargett <matt@use.net>
8175
cef493d7
CF
8176 * geturl.cc (progress): Change int to unsigned int to eliminate
8177 lint warnings.
8178 * (get_url_to_string): Check for NULL pointer.
8179 * mount.cc (find2): Use free instead of delete for malloc'd
8180 memory.
8181 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Fix memory leak.
c168185f 8182
f97a1ece
RC
81832001-10-31 Robert Collins <rbtcollins@hotmail.com>
8184
58b12a06
MB
8185 * choose.cc(_view::insert_under): Handle linen > nlines and lines[linen]
8186 with neither a package nor a category. The lines[linen] bug was reported
8187 by Matt (matt@usa.net).
8188 (read_installed_db): Bugfix for testing whether a package has a source
8189 tarball. Reported by Matt (matt@usa.net).
8190 * geturl.cc(dialog): Rename gw_dialog to local_gw_dialog to avoid
8191 programmer confusion and lint errors. Reported by Matt (matt@usa.net).
f97a1ece 8192
d52ed64b
RC
81932001-10-31 Robert Collins <rbtcollins@hotmail.com>
8194
58b12a06
MB
8195 * argv.cc: New file, converts arguments for -mwindows
8196 programs. (Simplified derivation from dcrt0.cc.)
d52ed64b
RC
8197 * argv.h: New file.
8198 * Makefile,in: Add argv.o and mingw_getopt.o to setup.exe object list.
8199 Add mingw_getopt.o build rule.
8200 * main.cc(WinMain): Initialise argv and argc for use by getopt.
8201
392ba1ba
CF
82022001-10-27 Christopher Faylor <cgf@redhat.com>
8203
8204 * res.rc: Rearrange info on top line slightly.
8205
31324d15
CF
82062001-10-27 Christopher Faylor <cgf@redhat.com>
8207
8208 * desktop.cc (make_passwd_group): Move file creation earlier in the
8209 process to ensure that passwd-grp.bat reflects desired operation.
8210
82112001-27-10 Trevor Forbes <t4bs@hotmail.com>
8212
8213 * postinstall.cc (each): Remove "*.done" file else rename will fail.
8214
ee411d77
CF
82152001-10-16 Christopher Faylor <cgf@redhat.com>
8216
8217 * res.rc: Oops. Take 640x480 screen size into account.
8218
e74944da
CF
82192001-10-16 Christopher Faylor <cgf@redhat.com>
8220
8221 * res.rc: Enlarge chooser screen.
8222
e368cfb9
CF
82232001-10-12 Christopher Faylor <cgf@redhat.com>
8224
8225 * Makefile.in: Accomodate changes to w32api_include macro.
8226
a6ba3670
CF
82272001-10-12 Christopher Faylor <cgf@redhat.com>
8228
8229 * Makefile.in: Use correct flags for windres.
8230
683e96f6
CF
82312001-10-12 Christopher Faylor <cgf@redhat.com>
8232
8233 * Makefile.in (CFLAGS): Remove -nostdinc from CFLAGS.
8234
2c18c00b
CF
82352001-10-12 Christopher Faylor <cgf@redhat.com>
8236
8237 * choose.cc (pick_line::paint): Reorganize after botched patch.
8238
0f61a05a
CF
82392001-10-12 Christopher Faylor <cgf@redhat.com>
8240
8241 * choose.cc (pick_line::paint): Add missing declaration.
8242
308d6f3e
CF
82432001-10-10 Ralf Habacker <Ralf.Habacker@freenet.de>
8244
8245 * choose.cc (pick_line::paint): Add package name to sdesc for display.
8246
3bcf85be
RC
8247Wed Sep 26 21:39:00 Robert Collins rbtcollins@hotmail.com
8248
8249 * choose.cc (_view::insert_pkg): Correctly exit loop.
8250 * iniparse.y (register_category): Always insert new categories.
8251
fb2cd8f6
CF
8252Fri Sep 21 13:56:32 2001 Christopher Faylor <cgf@cygnus.com>
8253
8254 * inilex.l (yylex): For comments, eat all characters up to, but not
8255 including newline.
8256
127b32e1
CF
8257Sun Aug 26 12:50:01 2001 John Marshall <jmarshall@acm.org>
8258
8259 * fromcwd.cc (found_file): Use correct package name when adding an
8260 unknown package rather than random stack garbage.
8261
2cd555aa
CF
8262Sun Aug 12 14:25:21 2001 Christopher Faylor <cgf@cygnus.com>
8263
8264 * desktop.cc (make_passwd_group): .bat files need \r\n endings.
8265
4254cc64
CF
8266Wed Aug 8 13:53:47 2001 Christopher Faylor <cgf@cygnus.com>
8267
8268 * desktop.cc (etc_profile): Leave environment variables untouched.
8269
acbae401
CV
82702001-08-07 Corinna Vinschen <corinna@vinschen.de>
8271
8272 * autoload.c: Add dynamic load statements for NT/W2K
8273 advapi32 functions not available in 9x/ME.
8274 * main.cc (set_default_dacl): New function.
8275 (WinMain): Call `set_default_dacl' if running on NT/W2K.
8276
969a294c
CF
8277Sat Aug 4 21:35:53 2001 Christopher Faylor <cgf@cygnus.com>
8278
8279 * ini.h (_CategoryPackage): Change pkg field to pkgname for
8280 consistency.
8281 * choose.cc: Use pkgname field when referencing _CategoryPackage
8282 throughout.
8283 (fill_missing_category): Don't add excluded packages.
8284 (default_trust): Ditto.
8285 (_view::insert_pkg): Ditto.
8286 * iniparse.y (register_category): Use consistent variable name.
8287
9eeb0e83
ED
82882001-07-09 Egor Duda <deo@logos-m.ru>
8289
8290 * choose.cc: Use system foreground color for text output.
8291
06560feb
CF
8292Sat Jul 7 00:40:28 2001 Christopher Faylor <cgf@cygnus.com>
8293
8294 * choose.cc (set_action): Use default trust for determining reinstall
8295 and source only.
8296 (default_trust): Set default trust.
8297 (pick_line::paint): Allow source selection when reinstalling or
8298 retrieving.
8299
1fb09149
CF
8300Fri Jul 6 18:08:49 2001 Christopher Faylor <cgf@cygnus.com>
8301
8302 * choose.cc (isinstalled): Modify to properly accomodate special case
8303 of "download only".
8304 (set_action): Check downloaded components, not installed components if
8305 "download only".
8306 (set_existence): Always include full list of files when "download
8307 only".
8308
14cfffa5
CF
8309Fri Jul 6 00:37:05 2001 Christopher Faylor <cgf@cygnus.com>
8310
8311 * choose.cc (pick_line::paint): Properly display "na" field when no
8312 source exists.
8313
f54385f6
CF
8314Thu Jul 5 00:34:23 2001 Christopher Faylor <cgf@cygnus.com>
8315
8316 * choose.cc (scan2): Ensure that older versions do not show up in
8317 "Test" slot.
8318
85b1fb54
CF
8319Mon Jul 2 15:47:59 2001 Christopher Faylor <cgf@cygnus.com>
8320
8321 * choose.cc (set_action): Allow "Skip" action if trust != installed.
8322 * res.rc: Fix copyright.
8323
2dada532
CF
8324Sat Jun 30 14:05:21 2001 Michael A Chase <mchase@ix.netcom.com>
8325
8326 * res.rc (IDD_LOCAL_DIR): Change caption to match the other dialog
8327 boxes.
06c6d195 8328 (IDD_CHOOSE): Adjust horizontal size so package names are visible.
2dada532
CF
8329
8330 * choose.cc: Restore some more changes from 2001-06-25, throughout.
8331 (paint): Wrap some excessively long lines.
8332 (pick_line::paint): Ditto. Move the arrow in the "Current" column
8333 right to where it belongs. Move the source checkbox slightly to the
8334 right.
8335 (do_choose): List categories and required packages in setup.log.full.
8336
8337Sat Jun 30 23:04:59 2001 Christopher Faylor <cgf@cygnus.com>
8338
58b12a06
MB
8339 * choose.cc (scan2): Restore source scanning eliminated by previous
8340 checkin.
2dada532 8341
1b13eeec
CF
8342Sat Jun 30 15:18:33 2001 Christopher Faylor <cgf@cygnus.com>
8343
8344 * ini.h (struct _Info): Add "derived" element.
8345 * choose.cc (scan2): Try to place unknown tar files into proper slot
8346 when package exists in setup.ini but tar file does not.
8347
9307254d
RC
8348Sat Jun 30 13:39:00 2001 Robert Collins <rbtcollins@hotmail.com>
8349
8350 * choose.cc (create_listview): Call set_view_mode with VIEW_CATEGORY.
8351 (do_choose): Log the first category name.
8352
3467d79f
CF
8353Fri Jun 29 23:07:44 2001 Christopher Faylor <cgf@cygnus.com>
8354
8355 *ini.h: Reapply 2001-06-25 changes.
8356 * choose.cc (add_required): Ditto. Default to "Keep" state if
8357 UNINSTALL and product is installed. Default to curr state if SKIP,
8358 etc.
8359 (keep_or_skip): New function. Returns skip or keep state depending on
8360 installed state of package.
8361 (default_trust): Use keep_or_skip to set state.
8362 (_view::insert_pkg): Use calloc to allocate lines.
8363 (set_view_mode): Adapt 2001-06-25 change to set_full_list here.
8364
8f53e82a
RC
8365Sat Jun 30 11:01:00 2001 Robert Collins <rbtcollins@hotmail.com>
8366
1fb09149 8367 * choose.cc: Remove globals full_list, headers, package_indexes and
8f53e82a
RC
8368 nindexes.
8369 Add globals cat_headers, pkg_headers and chooser.
8370 (add_required): New function.
8371 (paint): Use the chooser for header details.
8372 Call into the chooser to paint each line.
1fb09149 8373 (list_click): Use new global variables.
8f53e82a
RC
8374 Call into the chooser to handle the click.
8375 Repaint the entire view if packages have been added or removed.
8376 (note_width): Get passed a headers struct rather than using a global
8377 variable.
8378 (fill_missing_category): New function.
8379 (default_trust): Skip non-"Required" or "Misc" packages.
8380 (pick_line::set_line (Package *)): New function.
8381 (pick_line::set_line (Category *)): New function.
8382 (pick_line::paint): New function.
8383 (pick_line::click): New function.
8384 (_view::_view): New function.
8385 (_view::set_view_mode): New function.
8386 (_view::mode_caption): New function.
8387 (_view::set_headers): New function.
8388 (_view::init_header): New function.
8389 (_view::insert_pkg): New function.
8390 (_view::insert_category): New function.
8391 (_view::insert_at): New function.
8392 (_view::insert_under): New function.
8393 (_view::clear_view): New function.
8394 (viewsplusplus): New function.
8395 (_view::client): New function.
8396 (set_view_mode): Use new chooser functionality.
8397 (set_full_list): Use new global variables.
8398 (create_listview): Instantiate chooser.
8399 Remove all hardcoded headers[] code.
8400 (dialog_cmd): On trust changes, check dependencies.
8401 (getcategorybyname): New function.
8402 (getpackagecategorybyname): New function.
8403 (scan2): Use case-insensitive package comparison.
8404 (do_choose): Use fill_missing_category ().
8405 Show some category data.
8406 * ini.h: Protect against multiple inclusion.
8407 (views) New enum.
8408 (_CategoryPackage): New struct.
8409 (_Category): New struct.
8410 (_Package): Change category to Category * from char *.
8411 (extern Category category): New global variable.
8412 (extern in ncategories): Ditto.
8413 (getcategorybyname): New prototype.
8414 (catpackagecategorybyname): New prototype.
8415 (register_category): New prototype.
8416 (add_category): New prototype.
8417 * iniparse.y: Parse multiple categories per package.
2dada532
CF
8418 (category): New global variable.
8419 (ncategories): New global variable.
8f53e82a
RC
8420 (new_package): Compare package against NULL, not 0.
8421 (new_requirement): Source formatting fix.
8422 (register_category): New function.
8423 (add_category): New function.
8424 * res.rc: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
8425 IDC_CHOOSE_VIEWCAPTION: New control.
8426 * resource.h: Change IDC_CHOOSE_FULLPART to IDC_CHOOSE_VIEW.
8427 IDC_CHOOSE_VIEWCAPTION: New control.
8428 Increment _APS_NEXT_CONTROL_VALUE.
8429
26a27c14
CF
8430Mon Jun 25 00:56:37 2001 Michael A Chase <mchase@ix.netcom.com>
8431
e19ad6a3 8432 * choose.cc (paint): Wrap excessively long lines.
26a27c14
CF
8433 (list_click): Ditto.
8434 (create_listview): Ditto.
8435 (do_choose): Ditto. Replace TABs and remove CRs in lines written to
8436 setup.log.full. Allow "Yes" for source exists in setup.log.full when
8437 installing from local directories.
8438
97312777
CF
8439Mon Jun 25 00:56:37 2001 Christopher Faylor <cgf@cygnus.com>
8440
5f9f0d8d
CF
8441 * choose.cc (set_action): Only clear srcpicked when moving to next
8442 state. Allow source installation if it exists in the current "trust"
8443 state. Don't move to skip state when package is installed.
97312777
CF
8444 (list_click): Don't allow source clicking when no source is available.
8445 (set_full_list): Display package when not is_full_action.
8446 * ini.h (is_full_action): Define.
8447
72fd1d1e
CF
8448Sun Jun 17 12:06:14 2001 Christopher Faylor <cgf@cygnus.com>
8449
8450 * install.cc (check_for_old_cygwin): New function. First stab at
8451 checking for old cygwin versions.
8452 (do_install): Call check_for_old_cygwin if there were no errors during
8453 the install.
8454
41ac91b5 8455Sat Jun 16 11:33:51 2001 Michael A Chase <mchase@ix.netcom.com>
86202506
CF
8456
8457 * choose.cc (_Info::_Info): Test _source paramenter for non-NULL rather
8458 than zeroed "source" element.
8459
80429b97
CF
8460Fri Jun 15 20:54:43 2001 Christopher Faylor <cgf@cygnus.com>
8461
8462 * choose.cc (scan2): Insert unknown tar archives, found on disk, into
8463 the highest available "hole" in the trust array.
8464
654ea642
CF
8465Fri Jun 15 00:20:48 2001 Christopher Faylor <cgf@cygnus.com>
8466
8467 * choose.cc (set_existence): Use pointer method for indexing in trust
8468 array.
8469 (create_listview): Ditto.
8470 (scan2): Ditto. Also, use consistent variable name for indexing into
8471 trust array.
8472 * ini.h (Package): Reorganize info array for easier scanning.
8473
e98d90bd
CF
8474Fri Jun 15 00:01:51 2001 Christopher Faylor <cgf@cygnus.com>
8475
8476 * choose.cc (isinstalled): Eliminate special download only test.
8477 (set_action): Don't move to next state if in ACTION_SAME range and not
8478 incrementing.
8479 (choose_caption): Display "Retrieve" rather than "Reinstall" when just
8480 downloading.
8481 (do_choose): Sort packages after all packages have been read.
8482 Accomodate the fact that first element in trust array is empty so that
8483 log files don't report the wrong trust value.
8484 * iniparse.y (new_package): Malloc space for package name or suffer
8485 memory corruption.
8486
38c97581
CF
8487Thu Jun 14 22:43:59 2001 Robert Collins <rbtcollins@hotmail.com>
8488
8489 * ini.h (Dependency): New structure. Declare new function.
58b12a06
MB
8490 * inilex.l (yylex): Detect new setup.ini options - category and
8491 requires.
38c97581
CF
8492 * iniparse.y: Declare new setup.ini token values.
8493 (yyparse): Parse new token values.
8494 (new_requirement): New function.
8495
8496Thu Jun 14 22:43:26 2001 Christopher Faylor <cgf@cygnus.com>
8497
8498 * choose.cc (read_installed_db): Eliminate obsolete code.
8499
3ae6c15c
CF
8500Thu Jun 14 22:11:53 2001 Christopher Faylor <cgf@cygnus.com>
8501
8502 * choose.cc (set_action): Set trust on "redo".
8503 (_Info::_Info): New constructor.
8504 (read_installed_db): Use new constructor. Use trusts type for
8505 iterator.
8506 * ini.h (struct _Info): Label struct, add constructor.
8507 (Package): Make installed_ix a type 'trusts.'
8508 * install.cc (uninstall_one): Unset any installed info for current
8509 package.
8510 (install_one): Allocate new Info struct for installed reflecting new
8511 installed info.
8512 (do_install): Don't output line to installed.db if package is being
8513 uninstalled.
8514
9c0a9876
CF
8515Thu Jun 14 20:33:01 2001 Robert Collins <rbtcollins@hotmail.com>
8516
8517 * choose.cc (getpkgbyname): Use consistent method for scanning package
8518 array.
8519
68b27c12
CF
8520Wed Jun 13 23:33:08 2001 Christopher Faylor <cgf@cygnus.com>
8521
8522 * choose.cc: Add some comments.
8523 (getpkgbyname): Use strcasecmp for comparisons.
8524
07108cc2
CF
8525Wed Jun 13 16:07:00 2001 Christopher Faylor <cgf@cygnus.com>
8526
f0984dcb 8527 * install.cc (do_install): Avoid checking for download action if
07108cc2
CF
8528 package wasn't currently retrieved.
8529
c46a33a9
CF
8530Wed Jun 13 11:27:22 2001 Christopher Faylor <cgf@cygnus.com>
8531
8532 * choose.cc: Eliminate extra array throughout. Use element in package
8533 structure instead. Use pointers rather than array indexes where
8534 appropriate.
8535 (set_action): New function to set next action based on current.
8536 (choose_caption): New function. Returns display caption.
8537 (check_existence): Change arguments. Use pointer to 'info' structure.
8538 (set_existence): Use pointer rather than array index.
8539 (default_trust): Use trusts enum for second argument.
8540 (set_full_list): Honor exclude element in package structure.
8541 (build_labels): Eliminate.
8542 (base): Make global. Use const char * argument.
8543 (get_package_version): Eliminate.
8544 (getpkgbyname): New function.
8545 (read_installed_db): Use parse_filename to get version info.
8546 * desktop.cc (make_passwd_group): Use getpkgbyname function.
8547 * download.cc (get_file_size): const argument.
8548 (do_download): Use is_download_action to determine when something
8549 should be downloaded.
8550 * filemanip.h: Add some functions.
8551 * ini.cc (do_ini): Use NULL rather than 0 for pointer assignment.
8552 * ini.h: Use enums for actions and trusts.
8553 (is_download_action): New macro.
8554 (is_upgrade_action): Ditto.
8555 (is_uninstall_action): Ditto.
8556 (struct Package): Add new fields.
8557 * inilex.l (yylex): Detect new setup.ini options.
8558 * iniparse.y: Declare new tokens.
8559 (yyparse): Detect exclude keyword. Fill out version field even if
8560 version == 0.
8561 (new_package): Use greater granularity when allocating package array to
8562 avoid repeated calls to realloc.
8563 * install.cc (exists): const argument.
8564 (uninstall_one): Take pkg argument.
8565 (install_one): Ditto. Eliminate unneeded arguments which can be
8566 derived from package info.
8567 (do_install): Iterate over package array using a pointer. Use
8568 is_download_action to control when package should be downloaded.
8569 * tar.cc (tar_open): const argument.
8570 * tar.h: Refloect const argument.
8571
7cc06fd3
CF
85722001-05-31 Michael Chase mchase@ix.netcom.com
8573
8574 * main.cc (WinMain): Add setup version to starting setup.log entry
8575
9522028b
CF
8576Tue May 29 21:37:58 2001 Yukihiko Sohda <sohda@is.titech.ac.jp>
8577
8578 * inilex.l: Add + to list of valid string characters.
8579
e9b1aaa7
CF
8580Mon May 28 20:54:50 2001 Christopher Faylor <cgf@cygnus.com>
8581
8582 * Makefile.in: Remove more stuff in the clean target.
8583
8e1299fa
CF
8584Mon May 28 18:24:59 2001 Christopher Faylor <cgf@cygnus.com>
8585
8586 * Makefile.in: Correctly generate iniparse.h.
8587
85553593
CV
8588Tue Mar 6 19:14:00 2001 Corinna Vinschen <corinna@vinschen.de>
8589
8590 * geturl.cc (get_url_to_file): Add parameter `allow_ftp_auth'.
8591 * geturl.h: Change declaration of `get_url_to_file' accordingly.
8592 * netio.cc (NetIO::NetIO): Add parameter `allow_ftp_auth'.
8593 Set member `ftp_auth'.
8594 (NetIO::open): Add parameter `allow_ftp_auth'. Use it in calls
8595 to constructors of derived classes.
8596 (NetIO::get_ftp_auth): New method.
8597 * netio.h: Change class definition accordingly.
8598 * nio-ftp.cc (NetIO_FTP::NetIO_FTP): Add parameter `allow_ftp_auth'.
8599 Take global variables `net_ftp_user' and `net_ftp_passwd' into account.
8600 Add code for ftp authentication retry.
8601 * nio-ftp.h: Change class definition accordingly.
8602 * nio-http.cc (NetIO_HTTP::NetIO_HTTP): Add parameter `allow_ftp_auth'.
8603 Add code for ftp authentication retry in case of proxy connection.
8604 * nio-http.h: Change class definition accordingly.
8605 * res.rc: Add FTP authentication dialog.
8606 * resource.h: Add new constants used in res.rc.
8607 * state.h: Add variables `net_ftp_user' and `net_ftp_passwd'.
8608
c4174b9c
CF
8609Sun May 27 17:12:23 2001 Christopher Faylor <cgf@cygnus.com>
8610
8611 * res.rc (IDD_SPLASH): Add a copyright year.
8612
0af2d779
CF
8613Sun May 27 15:42:18 2001 Christopher Faylor <cgf@cygnus.com>
8614
8615 * Makefile.in: Make iniparse.y produce a c++ file.
8616 * choose.cc (set_existence): Revert 2001-05-27 change.
8617 * ini.cc: Remove "C" from declaration of yyparse.
8618 * iniparse.y (yyparse): Fill out version field by default when a binary
8619 install is detected and no version has been set yet.
8620 * install.cc (do_install): Mount things earlier so that we can use
8621 proper mount table settings. Don't remove mounts since they are now
8622 honored.
8623 * mount.cc (create_mount): Reread the mount table after establishing a
8624 new mount.
8625 (read_mounts): Explicitly clear root_here to allow multiple uses of
8626 this function. Ensure that there is no garbage in the table when we've
8627 exhausted all of the mounts in the registry.
8628 (cygpath): Accomodate ./ in path.
8629
85b43844
CF
8630Sun May 27 02:59:07 2001 Christopher Faylor <cgf@cygnus.com>
8631
0af2d779
CF
8632 Use parse_filename method to parse filenames throughout. Use
8633 get_root_dir to retrieve the current root directory throughout. Set
8634 const in argument list, where appropriate, throughout.
8635 * choose.cc (set_existence): Detect case of uninstalled package with no
8636 version.
85b43844
CF
8637 (parse_filename): New function.
8638 * filemanip.h (fileparse): New structure.
8639 * mount.cc (read_mounts): Remember where we found the root mount.
8640 (set_root_dir): New function.
8641 (get_root_dir): Ditto.
8642 * mount.h: Declare new functions.
8643 * site.cc (get_root_dir_now): Renamed from get_root_dir.
8644 (save_site_url): Use new function name.
8645 (get_initial_list_idx): Ditto.
8646
08f8c762
CF
8647Sat May 26 21:23:59 2001 Christopher Faylor <cgf@cygnus.com>
8648
8649 * choose.cc: Use a constant throughout to deal with chooser icon
8650 length.
8651 * res.rc (IDD_CHOOSE): Increase size of chooser box.
8652
47f8d8b3
CF
86532001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
8654
8655 * choose.cc (do_choose): Fix incorrect assignment of trust setting to
8656 use when Redownload or Sources Only selected.
8657
6a748750
CF
8658Thu May 10 22:35:59 2001 Christopher Faylor <cgf@cygnus.com>
8659
8660 Reformat file after botched patch formatting.
8661 * choose.cc (which_trust): Eliminate variable.
8662 (default_trust): Don't set which_trust.
8663 (do_choose): Use selected trust when reinstalling or installing source.
8664
a351e48c
CF
8665Thu May 10 21:04:18 2001 Christopher Faylor <cgf@cygnus.com>
8666
8667 Change concat to cygpath throughout.
8668 Change map_filename to cygpath throughout.
8669 * concat.cc (vconcat): New function.
8670 (concat): Use vconcat.
8671 * concat.h: Reflect above.
8672 * install.cc (map_filename): Eliminate.
8673 (install_one): Free dest_file.
8674 * mount.cc (find2): Expect input key to be pointing to mount record.
8675 (in_table): New function.
8676 (is_admin): Move from root.cc.
8677 (read_mounts): New function.
8678 (path_prefix_p): New function.
8679 (cygpath): New function.
8680 * mount.h: Define new functions and structure.
8681 * root.cc (in_table): Move to mount.cc.
8682 (do_root): Call read_mounts to initialize root stuff and mount table.
8683 * site.cc (get_root_dir): Ditto.
8684
e227ee24
CF
86852001-05-09 Matt Hargett <matt@use.net>
8686
8687 * Makefile.in: Remove *.rc from clean.
8688
25fd2965
CF
8689Tue May 8 23:33:38 2001 Christopher Faylor <cgf@cygnus.com>
8690
8691 * choose.cc (scan2): Fix incorrect setting of TRUST_CURR rather than
8692 TRUST_PREV which produced "0" versions.
8693
42bf5b92
CF
86942001-05-07 Brian Keener <bkeener@thesoftwaresource.com>
8695
8696 * resource.h: Add new field IDC_CHOOSE_INST_TEXT. Modify
8697 _APS_NEXT_CONTROL_VALUE to account for addition of
8698 IDC_CHOOSE_INST_TEXT.
8699 * res.rc (IDD_CHOOSE): Modify choose dialog to use new field
8700 IDC_CHOOSE_INST_TEXT for screen text. Modify choose Dialog to allow
8701 hot keys to select Prev, Curr, Exp.
8702 * ini.h: Add new actions for ACTION_REDO and ACTION_SRC_ONLY. Modify
8703 define for LOOP_PACKAGES to include new actions ACTION_REDO and
8704 ACTION_SRC_ONLY.
8705 * choose.cc: Add new Trusts for TRUST_REDO and TRUST_SRC_ONLY.
8706 (paint): Modify to check TRUST_SRC_ONLY when determining Bitmap for
8707 source Checkbox to use.
8708 (build_labels): Add logic to allow for selection of Source only
8709 Download/ReDownload/Install/Reinstall and also to Redownload/Reinstall
8710 current version binary.
8711 (dialog_proc): Add conditional display for file selection prompt based
8712 on download vs install using IDC_CHOOSE_INST_TEXT.
8713 (do_choose): Add new logic for TRUST_REDO and TRUST_SRC_ONLY selection
8714 and modify logic for TRUST_UNINSTALL, TRUST_KEEP, and TRUST_NONE to
8715 handle the instance where Source Download/Install was selected. Modify
8716 log file to store appropriate information regarding Action selected and
8717 the new actions that were added (I.E.: ACTION_REDO and
8718 ACTION_SRC_ONLY).
8719 * download.cc: Add include for <unistd.h> and "port.h".
8720 (download_one): Modify parameter list to include the selected action
8721 for the file to be downloaded. Modify size check against expected size
8722 to include check for ACTION_REDO and ACTION_SRC_ONLY. Modify rename of
8723 .tmp file to also remove the destination file if exists due to ability
8724 to redownload source and binary now.
8725 (do_download): Modify to also use ACTION_REDO and ACTION_SRC_ONLY in
8726 calculation of Download Bytes. Modify to also use ACTION_REDO and
8727 ACTION_SRC_ONLY in determining files selected for download.
8728 * install.cc (uninstall_one): Add check to treat a Reinstall like an
8729 upgrade so current version will be uninstalled prior to reinstall.
8730 (do_install): Add logic to handle ACTION_REDO and ACTION_SRC_ONLY for
8731 uninstalling and installing binary and source packages.
8732 * desktop.cc (make_passwd_group): Modify logic to account for a Source
8733 only cygwin install when checking for cygwin to determine need for
8734 mkpasswd and mkgroup.
8735
8736Mon May 7 23:33:30 2001 Matt Hargett <matt@use.net>
8a09aa99
CF
8737
8738 * winsup/cinstall/res.rc: Added accelerators and improved focus order.
8739 Removed WS_DISABLED from "OK" buttons to accomodate default focus
8740 changes in net.cc and source.cc.
8741 * winsup/cinstall/net.cc (dialog_proc): If no radio button is selected,
8742 a default is selected.
8743 * winsup/cinstall/source.cc (dialog_proc): Ditto.
8744 (check_if_enable_next): Removed. No longer needed since a radio button
8745 will always be selected.
8746 (load_dialog): Removed call to check_if_enable_next.
8747 (dialog_cmd): Ditto. Also added default to switch.
8748
87bdba0c
CF
8749Tue Apr 24 23:42:02 2001 Christopher Faylor <cgf@cygnus.com>
8750
8751 * res.rc: Resize affected text.
8752
8293fc16
CF
8753Tue Apr 24 23:35:31 2001 Christopher Faylor <cgf@cygnus.com>
8754
8755 * net.cc (do_net): Default to direct download.
87bdba0c 8756 * res.rc: Move default selections to the top.
8293fc16 8757
ed96c6da
EB
87582001-04-18 Earnie Boyd <earnie@users.sourceforge.net>
8759
8760 * win32.h: Remove the definitions for _UNION_NAME and _STRUCT_NAME.
8761 Must now include <windows.h> and not the pieces.
8762 * choose.cc (create_listview): Clean up type mismatch problems.
8763 * dialog.h (NEXT(id)): Ditto.
8764 * geturl.cc (dialog): Ditto.
8765 * install.cc (dialog): Ditto.
8766 * splash.cc (load_dialog): Ditto.
8767
fe94cc29
CF
8768Wed Apr 18 18:59:21 2001 Christopher Faylor <cgf@cygnus.com>
8769
8770 * tar.cc (class gzbz): Define dummy virtual functions.
8771
fb087b80
CF
8772Wed Apr 18 16:01:21 2001 Christopher Faylor <cgf@cygnus.com>
8773
8774 * Makefile.in: Add bz2 include/library support.
8775 * filemanip.h: New file.
fe94cc29
CF
8776 * choose.cc (find_tar_ext): New function. Returns TRUE if .tar.gz or
8777 .tar.bz2 found.
fb087b80
CF
8778 (scan2): Reorganize to use find_tar_ext, accomodating .bz2 extension.
8779 (read_installed_db): Ditto.
8780 (do_choose): Ditto.
8781 * fromcwd.cc (found_file): Ditto.
8782 (do_fromcwd): Ditto.
8783 * tar.cc (class gzbz): New super class for uncompression support.
8784 (gz): New class for gzip support.
8785 (bz): New class for bzip2 support.
8786 (tar_open): Use gzbz class to control file opening.
8787 (tar_ftell): Ditto for returning position in file.
8788 (skip_file): Ditto for reading file.
8789 (tar_next_file): Ditto.
8790 (tar_read_file): Ditto.
8791 (tar_close): Ditto for close.
8792
8793 * zlib/configure.in: Force NM substitution.
8794
8795 * source.cc (do_source): Default to "Install from Internet".
8796
88bcaf07
CF
87972001-03-16 Brian Keener <bkeener@thesoftwaresource.com>
8798
8799 * nio-file.cc (NetIO_File::NetIO_File): Use `get_file_size' instead of
8800 `stat'.
8801 * choose.cc (list_click): Correct inability to select source code for
8802 download.
8803 (scan2): Modify to skip source tarballs when scanning disk for
8804 installable packages.
8805
ef45c299
CV
88062001-03-10 Chris Abbey <chris_abbey@yahoo.com>
8807
8808 * install.cc: install sources into /usr/src instead
8809 of /, also include the sizes of source tarballs
8810 in total_bytes.
8811 * download.cc: include sizes of source tarballs in
8812 total_download_bytes.
8813
9fe1181b
CV
8814Tue Mar 6 19:31:00 2000 Corinna Vinschen <corinna@vinschen.com>
8815
8816 * download.cc (get_file_size): Remove `static'.
8817
2bfdb848
CV
8818Tue Mar 6 19:11:00 2000 Corinna Vinschen <corinna@vinschen.com>
8819
8820 * tar.cc (tar_open): Use `get_file_size' instead of `stat'.
8821
60c632b3
CV
88222001-03-06 Brian Keener <bkeener@thesoftwaresource.com>
8823
8824 * choose.cc (paint): Modify message for nothing to download vs
8825 nothing to install/update based on installation method.
8826 (list_click): Modify to skip versions in selection process if
88bcaf07 8827 installing from local directory and installation file does not exist.
60c632b3
CV
8828 Also leaves Source Action set to N/A if the source file does not exist
8829 and installing from local directory.
8830 (check_existence): New method to check current existence of installation
8831 files based on selected installation method.
8832 (set_existence): New method to set the current existence of installation
8833 files based on selected installation method.
8834 (best_trust): Modify decision process for best trust to base decision on
8835 current trust selected (IE: Prev, Curr, or Test), existence of file and
8836 installation method selected.
8837 (default_trust): Add logic to capture the current trust level and the
8838 trust selected for the given package.
88bcaf07 8839 (set_full_list): Expand decision criteria for displaying a package in
60c632b3
CV
8840 the selection list to include file existence/non-existence and selected
8841 installation method.
8842 (build_labels): Modify criteria for label addition to include
8843 installation method and file existence/non-existence.
88bcaf07 8844 (create_listview): Modify to establish package trust level for each
60c632b3
CV
8845 package before setting up the display list. Also modification to set
8846 current trust button as the default.
88bcaf07 8847 (dialog_cmd): Set response for Prev, Curr, Test button push to perform
60c632b3
CV
8848 a reset of the selection list in addition to setting the default trust.
8849 (get_package_version): New method to provide reusable code for
8850 determining the package version from the file name for a specified
8851 trust.
8852 (scan2): Modify to use new method get_package_version and
8853 also enhance handling of the build for the structures package and
8854 extra.
8855 (read_installed_db): Modify to use the new method
8856 get_package_version and also enhance handling of the build for the
8857 structures package and extra.
88bcaf07 8858 (do_choose): Add additional initialization of package and extra
60c632b3
CV
8859 structures. Modify to use read_installed_db all the time despite
8860 install method. Modify output to setup.log.full log file to increase
8861 readability by adding additional spacing, expanded code and available
8862 versions.
8863 * ini.h: Add new fields install_exists, source_exists and
88bcaf07 8864 partial_list_display to the structure definition for package.
60c632b3
CV
8865 * res.rc (IDD_CHOOSE): Modify choose dialog Prev, Curr, and Test
8866 pushbuttons by replacing with Radio Buttons thus allowing the
8867 operator to better determine which is selected.
8868
2f9645a1
CV
88692001-02-20 Brian Keener <bkeener@thesoftwaresource.com>
8870
88bcaf07 8871 * download.cc (do_download): Add new variables total_download_bytes and
2f9645a1
CV
8872 total_download_bytes_sofar for download progress meter. Add loop
8873 to accumulate the total bytes to download from the selected packages.
8874 * geturl.cc: Add state.h and diskfull.h to include list. Add new
8875 variables gw_iprogress, gw_pprogress, gw_progress_text,
8876 gw_pprogress_text, and gw_iprogress_text to allow for addition of
8877 total packages download progress meter and disk full percent
8878 progress meter. Add variables total_download_bytes and
8879 total_download_bytes_sofar for use by progress meters.
88bcaf07
CF
8880 (dialog_proc): Add new variables gw_iprogress, gw_pprogress,
8881 gw_progress_text, gw_pprogress_text, and gw_iprogress_text to
8882 allow for addition of total packages download progress meter and disk
8883 full percent progress meter.
2f9645a1
CV
8884 (init_dialog): Ditto.
8885 (progress): Ditto.
8886 (get_url_to_file): Ditto.
8887 * geturl.h: Add external definition for total_download_bytes and
8888 total_download_bytes_sofar.
88bcaf07 8889 * res.rc: Add two additional progress meters (IDC_DLS_IPROGRESS)
2f9645a1
CV
8890 and (IDC_DLS_PPROGRESS) and three text objects (IDC_DLS_PROGRESS_TEXT)
8891 and (IDC_DLS_IPROGRESS_TEXT, IDC_DLS_PPROGRESS_TEXT) for use in the
8892 download meters.
88bcaf07 8893 * resource.h: Add new fields for progress meters and text and update
2f9645a1
CV
8894 _APS_NEXT_CONTROL_VALUE.
8895
b41962a3
CV
8896Wed Feb 21 13:05:00 2000 Corinna Vinschen <vinschen@redhat.com>
8897
8898 * download.cc (get_file_size): Check for INVALID_HANDLE_VALUE instead
8899 for NULL.
8900
8901Wed Feb 21 11:21:00 2000 Corinna Vinschen <vinschen@redhat.com>
01954c34
CV
8902
8903 * download.cc (download_one): Add missing parenthesis.
8904
88a77116
CV
8905Mon Feb 19 18:59:00 2000 Corinna Vinschen <vinschen@redhat.com>
8906
8907 * download.cc (get_file_size): New function. Eliminates the need
8908 to call `stat'.
8909 (download_one): Call `get_file_size' instead of `stat'. This
8910 workarounds a problem with mingw's `stat' call.
8911
577f35ed
EB
89122001-02-07 Earnie Boyd <earnie@users.sourceforge.net>
8913
8914 * Makefile.in: (%.o: %.rc): Specify --include-dir $(w32api_include).
8915 This is to allow cinstall to build with 2.95.2-7 and to make the
8916 use of headers consistent.
8917
38f5563e
DD
89182000-12-26 Earnie Boyd <earnie_boyd@yahoo.com>
8919
8920 * Makefile.in (autoload.o): Add target to specify -fno-inline-functions
8921
c0a7e0f2
DD
8922Tue Dec 26 03:46:00 2000 Matt Hargett <matt@use.net>
8923
8924 * winsup/cinstall/res.rc: Added accelerators and improved focus
8925 order.
8926
72826a5b
CF
89272000-12-10 Egor Duda <deo@logos-m.ru>
8928
8929 * choose.cc (paint): Use system background color for text output.
8930
8931Sun Dec 10 19:05:25 2000 Christopher Faylor <cgf@cygnus.com>
8932
8933 * Makefile.in: Use CXX for linking and for compiling .cc files.
8934 * configure.in: Find correct c++ compiler.
8935 * configure: Regenerate.
8936
67bebcb5
DD
89372000-11-17 DJ Delorie <dj@redhat.com>
8938
8939 * splash.cc (load_dialog): Make message more obvious.
8940 * res.rc: Ditto.
8941
25fb9139
CF
8942Fri Nov 17 17:15:21 2000 Christopher Faylor <cgf@cygnus.com>
8943
8944 * Makefile.in: Use g++ to link so that libstdc++.a gets used. This is
8945 necessary for newer compilers.
8946
ef2007fd
CV
8947Wed Nov 9 2:19:00 2000 Corinna Vinschen <vinschen@redhat.com>
8948
8949 * desktop.cc: Include "ini.h" and "version.h".
8950 (make_passwd_group): Skip the function on 9x/ME boxes when an
8951 older version of Cygwin has been installed which doesn't
8952 support mkpasswd/mkgroup on 9x/ME.
8953 * install.cc: Move the `LOOP_PACKAGES' and `pi' macros to...
8954 * ini.h: ...here.
8955
277b4d56
CV
8956Wed Nov 8 17:10:00 2000 Corinna Vinschen <vinschen@redhat.com>
8957
8958 * desktop.cc (make_passwd_group): Don't exit when started
8959 on 9x/ME since mkpasswd/mkgroup are usable on 9x/ME now.
8960
f8a6415f
DD
8961Sun Nov 5 12:51:42 2000 Jason Tishler <jt@dothill.com>
8962
8963 * install.cc (do_install): Add call to set_cygdrive_flags to sync
8964 the mount modes.
8965 * mount.cc (set_cygdrive_flags): New function.
8966 (get_cygdrive_flags): Ditto.
8967 (default_cygdrive): Ditto.
8968 (set_cygdrive_flags): Ditto.
8969 * mount.h: Add prototype for set_cygdrive_flags.
8970
3b9077d4
DD
89712000-10-23 DJ Delorie <dj@redhat.com>
8972
8973 * ini.h: add source actions
8974 * fromcwd.cc: check for available sources
8975 * res.rc: add checkbox bitmaps
8976 * resource.h: ditto
8977 * check-*.bmp: new
8978 * choose.cc: add source column
8979 * download.cc: download sources if called for
8980 * install.cc: [un]install sources too
8981
1b1b33ac
DD
89822000-10-22 DJ Delorie <dj@redhat.com>
8983
8984 * choose.cc (build_labels): Don't skip TRUST_PREV completely; only
8985 ignore it wrt full_list if there's already a version installed.
8986 (do_choose): Sort the list.
8987 (package_sort): New.
8988
2a1a01e0
DD
89892000-10-12 DJ Delorie <dj@redhat.com>
8990
8991 * res.rc: Add more error strings.
8992 * resource.h: Ditto.
8993 * iniparse.y (new_package): re-initialize if needed.
8994 * download.cc (do_download): Keep track of errors; notify and
8995 allow retry.
8996 * install.cc (do_install): Ditto.
8997
1a9886fe
DD
89982000-10-05 DJ Delorie <dj@redhat.com>
8999
9000 * Makefile.in: fix %.cc rule
9001
40aef45e
DD
90022000-10-04 DJ Delorie <dj@redhat.com>
9003
9004 * desktop.cc: quote HOME and USER, don't . ./.profile
9005
9006 * choose.cc (build_labels): don't include in partial list just
9007 because there's a *previous* version available.
9008
9009 * install.cc (do_install): if installing from local directory with
9010 setup.ini and the file isn't found, look in "." also. Note errors.
9011
dd3f7f9b
DD
90122000-10-02 DJ Delorie <dj@redhat.com>
9013
9014 * ini.cc (do_ini): save setup.ini locally
9015
90162000-10-02 Chris Abbey <cabbey@bresnanlink.net>
9017
9018 * desktop.cc: quote escapes in prompt
9019
fee2a8d0
DD
90202000-10-02 Jason Tishler <jt@dothill.com>
9021
9022 * root.cc (is_admin): New function.
9023 (read_mount_table): Check for administrative priviledges and set
9024 installation scope as appropriate.
9025
a03db251
DD
90262000-09-28 DJ Delorie <dj@redhat.com>
9027
9028 * nio-ftp.cc (ftp_line): handle continuations more robustly
9029
b151e01e 90302000-09-14 Brian Keener <bkeener@thesoftwaresource.com>
0b758d4c
DD
9031
9032 * res.rc: increased the size of the site dialog (IDD_SITE) & the
9033 corresponding list box to provide for more URL's to be listed.
9034 Modified the position of the Back, Next and Cancel buttons to
9035 correspond to the new size of the dialog.
9036
d07591a3
DD
90372000-09-13 DJ Delorie <dj@redhat.com>
9038
9039 * install.cc (do_install): update disk fullness once per package
9040 to improve performance
9041
9042 * choose.cc (create_listview): call ReleaseDC
9043
89725f30
DD
9044Mon Sep 11 22:40 2000 Harold L Hunt II <harold@compasstechnologies.com>
9045
9046 * mkdir.cc: Create directories when ERROR_FILE_NOT_FOUND is
9047 returned, as it seems Samba 2.0.6+ returns this instead of
9048 ERROR_PATH_NOT_FOUND
88bcaf07 9049
6fbc690d
CF
9050Mon Sep 11 19:35:24 2000 Christopher Faylor <cgf@cygnus.com>
9051
9052 * site.cc (get_initial_list_idx): Don't default to saved URL if it
9053 refers to sources.
9054
13d27274
DD
90552000-09-07 DJ Delorie <dj@redhat.com>
9056
9057 * splash.cc: use version.h, not local decl
9058 * res.rc: add "old version" message
9059 * resource.h: ditto
9060 * version.h: new
9061 * fromcwd.cc (canonicalize_version): make global
89725f30
DD
9062 * iniparse.y: add setup-version support, fix bug in blank line
9063 handling
9064
13d27274
DD
9065 * inilex.l: add [exp] as alias for [test], add setup-version
9066 * Makefile.in (version.c): add setup-version tag
9067
9068 * desktop.cc (do_desktop): remove 1.1 version number
9069 (do_desktop_setup): ditto
9070
9071 * ini.cc (do_ini): zero out package list just in case we redo it.
9072
8cfbc487
DD
90732000-09-07 Jeffrey Juliano <juliano@cs.unc.edu>
9074
9075 * choose.cc (list_click): Check for nindexes==0; if so, return.
9076
c92e1307
DD
90772000-09-06 Andrej Borsenkow <Andrej.Borsenkow@mow.siemens.ru>
9078
9079 * localdir.cc: new, local package directory selection dialog; cd
9080 into selected directory
9081 * Makefile.in (OBJS): add localdir.o
9082 * dialog.h: add prototype for do_local_dir
9083 * main.cc (WinMain): initialize local_dir to cwd; add call to
9084 do_local_dir
9085 * net.cc (dialog_cmd): make DO_LOCAL_DIR next dialog
9086 * source.cc (dialog_cmd): ditto
9087 * res.rc: add DO_LOCAL_DIR dialog; remove "current directory" from
9088 presented choices in IDD_SOURCE; add IDS_ERR_CHDIR error string
9089 * resource.h: defines for DO_LOCAL_DIR dialog; define IDS_ERR_CHDIR
9090 * root.cc (dialog_cmd): make DO_LOCAL_DIR previous dialog
9091 * state.h: add local_dir variable
9092
90932000-09-06 Brian Keener <bkeener@thesoftwaresource.com>
50225eae
DD
9094
9095 * desktop.cc: added logic to handle to the new dialog and to
9096 default the setting for the new checkboxes based on whether the
9097 desktop icon or start menu link already exist.
9098 (desktop_icon): correction to desktop directories for desktop icon
9099 creation. Additional logic added for Win95 which does not appear
9100 to have Common Directories so if Common selected and null uses
9101 normal directory.
9102 (start_menu): Additional logic added for Win95 which does not
9103 appear to have Common Directories so if Common selected and null
9104 uses normal directory.
9105 (do_desktop_setup): moved the saving of the icon, creation of the
9106 bat file, profile, passwd, Start Menu link and desktop shortcut to
9107 this method from do_desktop. Made the creation of the desktop
9108 icon and start menu link conditional on settings of new dialog
9109 created for desktop.
9110 * install.cc (do_install): changed next from IDD_S_DESKTOP to
9111 IDD_DESKTOP.
9112 * main.cc (WinMain): changed case IDD_S_DESKTOP to IDD_DESKTOP.
9113 * res.rc: added new resource to create a desktop dialog with 2
9114 checkboxes for creating the desktop icon and start menu link.
9115 * resource.h: changed IDD_S_DESKTOP to IDD_DESKTOP and added two
9116 new controls: IDC_ROOT_MENU and IDC_ROOT_DESKTOP for new dialog.
9117 * state.h: added root_menu and root_desktop for use in dialog.
9118
4a83b7b0
DD
91192000-08-29 DJ Delorie <dj@redhat.com>
9120
9121 * choose.cc (scan_downloaded_files): scan for existing files, so
9122 that the user only sees new downloads.
9123
9124 * nio-ie5.cc (NetIO_IE5): pre-check for wininet.dll, enable dial-up
9125 * site.cc (do_site): if we can't download the mirror list, go back
9126 to the net setup box to choose another transport.
9127 * autoload.c: add more functions
9128 * Makefile.in (ALL_DEP_LDLIBS): remove wininet.a
9129 * resource.h: add WININET message
9130
9131 * net.cc (do_net): no longer default to IE5
9132 * simpsock.h (class SimpleSocket): new, simplify socket operations
9133 * simpsock.cc: ditto
9134 * nio-http.h: new, for direct http protocol
9135 * nio-http.cc: ditto
9136 * nio-ftp.h: new, for direct http protocol
9137 * nio-ftp.cc: ditto
9138 * netio.cc (set_url): move initialization here to handle redirections
9139 (open): add direct http/ftp
9140 * netio.h (NetIO::set_url): new
9141
9142 * log.cc (log_save): create directory for log if needed
9143
9144 * hash.cc, hash.h: new
9145 * Makefile: add hash.o
9146 * choose.cc: enable "uninstall" option
9147 * download.cc: invert action test to accomodate uninstalling
9148 * ini.h: add ACTION_UNINSTALL
9149 * install.cc: add uninstall functionality
9150 * res.rc: make install tag changeable
9151 * resource.h: add uninstall resources
9152
9153 * res.rc: update mirror list URL
88bcaf07 9154
50f64a4b
DD
91552000-08-24 DJ Delorie <dj@redhat.com>
9156
89b1a15b
DD
9157 * log.cc, log.h: new files
9158 * Makefile.in (OBJS): add log.o
9159 * tar.cc: use exit_setup instead of exit
9160 * dialog.cc (fatal): use exit_setup instead of ExitProcess
9161 * msg.cc (fatal): ditto
9162 * install.cc (dialog_cmd): ditto
9163 * ini.cc (do_ini): ditto
9164 * main.cc (main): add logging
9165 * source.cc (do_source): ditto
9166 * root.cc (do_source): ditto
9167 * site.cc (do_site): ditto
9168 * other.cc (do_other): ditto
9169 * net.cc (do_net): ditto
9170 * choose.cc (do_choose): ditto
9171 * download.cc (do_download): ditto
9172 * install.cc (do_install): ditto
9173 * msg.cc (fatal): ditto
9174
9175 * res.rc: mark password boxes as *being* password boxes.
9176
58b12a06
MB
9177 * fromcwd.cc (canonicalize_version): use multiple buffers so that
9178 multiple calls won't use the same buffer.
50f64a4b
DD
9179 * choose.cc (create_listview): don't default to full list if no changes
9180 (base): return computed value, not temporary :-(
9181 (do_choose): don't use installed.db if we're only downloading.
9182
348860fa
DD
91832000-08-23 DJ Delorie <dj@redhat.com>
9184
9185 * nio-ie5.cc (NetIO_IE5): Fix authentication logic
9186 * nio-ie5.h (flush_io): new
9187 * netio.cc (load_dialog): note when we're initializing the dialog
9188 box, and ignore changes to the edit fields then.
9189
5f48f258
DD
91902000-08-21 DJ Delorie <dj@redhat.com>
9191
9192 * README: Update
9193
9194 * fromcwd.cc (found_file): don't remember the canonicalized version
9195
9196 * choose.cc (paint): print "nothing to do" message when list is empty.
9197 (build_labels): Use version "0.0" if no version is available.
9198 (create_listview): default to full list if nothing to install/update.
9199 (base): new, returns basename of file
9200 (read_installed_db): compare base names, not full paths
9201
713bbe5f
DD
92022000-08-11 DJ Delorie <dj@redhat.com>
9203
9204 * choose.cc: add new chooser dialog
9205 * fromcwd.cc: use IDD_CHOOSE
9206 * ini.cc: use IDD_CHOOSE
9207 * main.cc: use IDD_CHOOSE
9208 * ini.h: cosmetic changes
9209 * res.rc: add choose dialog, bitmaps
9210 * choose-spin.bmp: new
9211 * choose-rtarrow.bmp: new
9212 * resource.h: add choose dialog controls
9213
9214 * mount.cc: remove debug statement
88bcaf07 9215
2e9cbac5
DD
92162000-08-08 DJ Delorie <dj@redhat.com>
9217
9218 * Makefile.in (version.c): make version checking more robust
9219 * splash.cc (load_dialog): handle case where there's no version
9220
8507f105
DD
92212000-08-07 DJ Delorie <dj@redhat.com>
9222
9223 * (all): add cvsid tags
9224 * Makefile.in: generate version.c from ChangeLog, add splash.o
9225 * splash.o: new
9226 * res.rc: add splash screen
88bcaf07 9227
f5d0464b
DD
92282000-08-02 DJ Delorie <dj@redhat.com>
9229
4e8ff53f
DD
9230 * net.cc: remove proxy password code
9231 * res.rc: remove proxy user/pass from net, add auth dialogs
9232 * netio.cc,h: add sys/proxy auth methods
9233 * nio-ie5: use them, check for http status codes
9234 * state.h: add system authorization
9235
f5d0464b
DD
9236 * concat.cc (concat): canonicalize x:// to x:/ (exception to ://
9237 meaning an url)
9238
76cbfa85
DD
92392000-08-02 Norman Vine <nhv@yahoo,com>
9240
9241 * msg.cc (mbox): added MB_TOPMOST to MessageBox type flags
9242
e92c4436
DD
92432000-08-01 DJ Delorie <dj@redhat.com>
9244
bf74c544
DD
9245 * postinstall.cc (each): don't rename files we ignore
9246 (do_postinstall): set CYGWINROOT to root_dir, chdir there
9247
e92c4436
DD
9248 * desktop.cc: have /etc/profile call ~/.profile and ~/.bashrc
9249
a6100861
DD
92502000-07-31 DJ Delorie <dj@redhat.com>
9251
9252 * desktop.cc: reverse PATH so /usr/bin precedes /bin
9253
b11b49f3
DD
92542000-07-18 DJ Delorie <dj@redhat.com>
9255
a99bdfd8
DD
9256 * autoload.c: new, autoload dlls that might not be available.
9257 * Makefile.in (OBJS): add autoload.o
9258
9259 * res.rc: rewrite root options (text/binary, system/user) to be
9260 more obvious.
9261
b5b282c4
DD
9262 * site.cc (get_site_list): trim displayed URL, sort by domain
9263
9264 * net.cc (do_net): make IE5 default to checked, for now
9265
b11b49f3
DD
9266 * choose.cc (do_choose): sort packages correctly
9267 * ini.cc (do_ini): handle parse errors more gracefully
9268 (yyerror): ditto
9269 (fprintf): line buffer output
b5b282c4 9270 (do_ini): if we can't load setup.ini, go back to the site list.
b11b49f3
DD
9271 * ini.h: add "unknown" trust level
9272 * inilex.l: absorb unknown trust levels and key/value pairs,
9273 add line number logic
9274 * iniparse.y: handle parse errors more gracefully.
9275 * install.cc: skip packages with no valid install entry
9276
1fd6d0a2
DD
92772000-07-17 DJ Delorie <dj@cygnus.com>
9278
9279 * coding standards fixups, many files
9280 * mkdir.cc: warn about deletions *before* deleting them
9281
ed3e8b9b
DD
92822000-07-17 Jeff Juliano <juliano@cs.unc.edu>
9283
9284 * res.rc (IDD_OTHER_URL): reorder to give default focus to entry
9285
9286 * other.cc (dialog_cmd): save download site URL
9287 * site.cc (get_root_dir): new
9288 (save_mirror_site): new
9289 (dialog_cmd): save download site URL
9290 (get_site_list): make list big enough to add prev site
9291 (get_initial_list_idx): new, read last-used URL from file and
9292 append it to site_list
9293 (do_site): call get_initial_list_idx
9294
9295 * concat.cc (concat): avoid segfault when first parm is null
88bcaf07 9296
f57c332f
DD
92972000-07-13 DJ Delorie <dj@cygnus.com>
9298
9299 * postinstall.cc: new
9300 * Makefile.in: add postinstall.o
9301 * concat.h: add backslash ()
9302 * concat.cc: ditto
9303 * desktop.cc (etc_profile): don't do postinstall
9304 (backslash): moved to concat.cc
9305 (uexists): new
9306 (make_postinstall_script): run directly
9307 (do_desktop): chain to do_postinstall
9308 * dialog.h: add exit_msg, do_postinstall
9309 * download.cc: use exit_msg
9310 * install.cc: ditto
9311 * main.cc: add postinstall, exit_msg
9312 * resource.h: add postinstall
d6cda811 9313 * README: add more to-do items
f57c332f 9314
3a8e3956
DD
93152000-07-12 DJ Delorie <dj@cygnus.com>
9316
9317 * desktop.cc: add /etc/postinstall/ support
1a18aed7 9318 * install.cc: add more "standard" directories
3a8e3956 9319
e0c3d906
DD
93202000-07-11 DJ Delorie <dj@cygnus.com>
9321
9322 * desktop.cc: create /etc/profile
ad09bcd9
DD
9323 * desktop.cc: fix include syntax
9324 * Makefile.in: add auto-dependencies
24e259bb
DD
9325 * root.cc: support system vs user
9326 * desktop.cc: ditto
9327 * mount.h: ditto
9328 * mount.cc: ditto
9329 * install.cc: ditto
9330 * res.rc: ditto
9331 * resource.h: ditto
9332 * state.h: ditto
84d58d4c 9333 * desktop.cc: make sure we use backslashes, not slashes.
bf1d5889
DD
9334 * desktop.cc: don't set PATH in cygwin.bat, create /etc/passwd
9335 * geturl.cc: change math for percentage to avoid overflow
9336 * install.cc: ditto
9337 * download.cc: post "download complete" message.
9338 * root.cc: pre-fill in defaults if needed, don't start
9339 browse at root_dir unless it's set.
a3f48e18 9340 * desktop.cc: quote $PATH in case it has spaces in it
88bcaf07 9341
904d24fe
DD
93422000-07-10 DJ Delorie <dj@cygnus.com>
9343
9344 * Makefile.in: add desktop.o and mklink2.o
9345 * dialog.h: add do_desktop
9346 * install.cc: create standard directories, call do_desktop
9347 * res.rc: add cygwin.ico as a file also
9348 * desktop.cc: new, do shortcuts, batch files, and icons
9349 * mklink2.c: new, for COM
1ab805b8 9350 * README: update to-do list
904d24fe 9351
04d6e06b
DD
93522000-07-10 DJ Delorie <dj@cygnus.com>
9353
9354 * ini.cc (do_ini): don't worry about timestamps if we're not
88bcaf07 9355 actually installing.
04d6e06b 9356
5601a13d
DD
93572000-07-09 DJ Delorie <dj@cygnus.com>
9358
9359 * Makefile.in: add -I$(srcdir) for ini.h
9360
23c9e63c
DD
93612000-07-06 DJ Delorie <dj@cygnus.com>
9362
9363 * Replace everything with a new GUI version
9364 * zlib/gzio.c: add gzctell() for progress displays
9365
93662000-06-22 DJ Delorie <dj@cygnus.com>
9367
9368 * setup.c (tarx): re-add call to write_pkg()
9369
aa32874b
DD
93702000-06-07 DJ Delorie <dj@cygnus.com>
9371
9372 * cygcalls.c: new, call cygwin1.dll functions directly
9373 * cygcalls.h: header for same
9374 * Makefile.in: add cygcalls.[ch], remove mount/cygpath/umount
9375 exes, fix cinstall.rc dependencies.
9376 * path.c: remove unneeded code
9377 * setup.c: use cygcalls instead of xcreate_process.
9378 uncompress embedded files with zlib
9379 add "-d" for "download only"
9380 add "-h" for help
9381 postpone mount changes until very end
9382 add download progress indicators
9383 pack multi-column listings more
9384 auto-delete temp files
9385 customize banner message according to options
9386 prompt user for text/binary mounts
9387 add warnings about empty setup directory, root installs, etc
9388
99d1bf2d
DD
93892000-05-24 DJ Delorie <dj@cygnus.com>
9390
9391 * tar.c: New file; built-in tar using zlib.
9392 * tar.h: New file; header for same.
9393 * ctar.c: New file; test program for same.
9394 * Makefile.in: add built-in tar, remove tar.exe and gzip.exe
58b12a06
MB
9395 * path.c (pathcat): convert slashes and canonicalize, instead of
9396 aborting
99d1bf2d
DD
9397 * setup.c (tarx): add support for built-in tar
9398 (main): accept unix-style slashes, check root dir for drive letters,
58b12a06
MB
9399 warn about installing in /, make sure cwd is empty for internet
9400 installs, defer mounts to end of install, support built-in tar.
99d1bf2d 9401
55650749
CF
9402Fri May 19 23:44:37 2000 Christopher Faylor <cgf@cygnus.com>
9403
9404 Fix compiler warnings throughout.
9405 * pkg.c (init_pkgs): Make static 'stuff' global_pkgstuff for use in
9406 get_pkg_stuff.
9407 * setup.c: Make 'root' global.
9408 (istargz): Return pointer to "stem" of matched .tar.gz file.
9409 (tarx): Special case cygwin-20000301 to == cygwin-1.1.0.tar.gz. Remove
9410 bogus check_for_installed check.
9411 (recurse_dirs): Add preliminary support for .bat file execution.
9412 (create_uninstall): Eliminate unneeded parameter.
9413 (do_start_menu): Ditto.
9414 (mkmount): Ditto.
9415 (get_pkg_stuff): Ditto. Check for currently installed cygwin by
9416 scanning for the version number. Eliminate unneeded argument to
9417 create_uninstall.
9418 (getdownloadsource): Add 'name' to list of names rather than url.
9419 (main): Eliminate unneeded argument in get_pkg_stuff. Eliminate
9420 unneeded argument in mkmount and do_start_menu.
9421
f4dda8f0
DD
94222000-05-18 DJ Delorie <dj@cygnus.com>
9423
9424 * setup.c (optionprompt): allow multi-column, clean up message
9425 about more options, be more robust about user input.
9426 (getdownloadsource): make the mirror URL a macro.
9427 (main): do mounts after done prompting user.
9428
62844d84
CF
9429Tue May 2 00:56:41 2000 Christopher Faylor <cgf@cygnus.com>
9430
9431 * setup.c (cleanup): Inverse order of deletion stands a better chance
9432 of deleting cygpath.exe. Still seems to suffer from occasional races,
9433 though.
9434 (cleanup_on_signal): Perform convoluted dance to accomodate win95 and
9435 w2k.
9436 (output_file): Defend against an unlikely handle leak.
9437 (main): Don't set up signal handling until we have something special to
9438 do.
9439
ad6749c8
CF
9440Mon May 1 17:56:32 2000 Christopher Faylor <cgf@cygnus.com>
9441
9442 * path.c (kill_cygpath): Delete function.
9443 (exit_cygpath): Make more defensive so that it can be called at any
9444 time.
9445 (cygpath_pipe): Don't set up signal here. Do it in main().
9446 * setup.c (istargz): New function.
9447 (recurse_dirs): Look for *.gz pattern rather than *tar.gz since *tar.gz
9448 inexplicably fails on samba mounted partitions. Use istargz to match
9449 tar.gz tail.
9450 (processdirlisting) Use istargz to match tar.gz tail.
9451 (cleanup): Renamed from filedel.
9452 (cleanup_on_signal): New function. Called on CTRL-C.
9453 (main): Record handle of main thread so that it can be suspended when
9454 CTRL-C occurs. Set up cleanup_on_signal signal handler.
9455
460cf7b6
CF
9456Mon May 1 11:05:07 2000 Christopher Faylor <cgf@cygnus.com>
9457
9458 * setup.c (do_start_menu): Don't concatenate paths to already built
9459 paths.
9460
9e76799c
CF
9461Sun Apr 30 22:37:34 2000 Christopher Faylor <cgf@cygnus.com>
9462
9463 * path.c (exit_cygpath): Wait for subprocess to exit before returning.
9464 (cygpath_pipe): Don't call exit_cygpath. Let main atexit routine do
9465 that.
9466 * pkg.c (init_pkgs): Accept root argument. Make registry key "cygwin
9467 root"-specific.
9468 * setup.c (filedel): Call exit_cygpath here so that we can be assured
9469 that cygpath subprocess has died. This allows us to delete cygpath.exe
9470 and cygwin1.dll.
9471 (optionprompt): Initialize response to -1 so that second screen of
9472 mirrors will appear.
9473 (get_pkg_stuff): Don't attempt to use HKCLU. Pass root to init_pkgs.
9474 * setup.h: Reflect init_pkgs prototype change.
9475
2cf65e6e
CF
9476Sat Apr 29 23:53:30 2000 Christopher Faylor <cgf@cygnus.com>
9477
9478 * pkg.c (init_pkgs): Accept an argument to control what root registry
9479 key should be used.
9480 * setup.c (get_pkg_stuff): Use HKCLU registry key if default fails.
9481 * setup.h: Reflect init_pkgs prototype change.
9482
9483Sat Apr 29 23:27:14 2000 Christopher Faylor <cgf@cygnus.com>
9484
9485 * error.c (winerror): Respond to gcc warning.
9486 * path.c (cygpath_pipe): Ditto.
9487 * setup.c (filedel): Call sa_cleanup on deleteme.
9488 (create_shortcut): Coerce argument to eliminate compiler warning.
9489 (tarx): Use installed version of cygwin1.dll, overriding tar file name.
9490 (refmatches): New function. Tests if ref is contained in a list of
9491 packages to install.
9492 (filematches): New function. Tests if filename matches one of a list
9493 of packages to install.
9494 (recurse_dirs): Accept list of packages to install. Generalize tar.gz
9495 test to accomodate _tar.gz.
9496 (prompt): Ensure that stdout is flushed prior to asking for input.
9497 (findhref): Initialize variables to quiet a compiler warning.
9498 (processdirlisting): Accept list of packages to install. Special case
9499 cygwin tar file version number.
9500 (downloaddir): Accept list of packages to install.
9501 (downloadfrom): Ditto.
9502 (create_uninstall): Eliminate unneeded variables. Quote arguments to
9503 regtool.
9504 (do_start_menu): Don't create uninstall bat file if updating or user
9505 specified a list of packages.
9506 (mkmount): Eliminate unneeded variables.
9507 (get_pkg_stuff): New function. Checks for previous unversioned
9508 installation.
9509 (main): Accept -u and -f options and package names on the command line.
9510 Use get_pkg_stuff to initialize package information. Umount /etc.
9511 Call recurse_dirs and downloadfrom with list of package to install.
9512 Ensure that all /usr/local directories are created. Output
9513 installation time to setup.log.
9514 * setup.h: Add some prototypes.
9515 * xsystem.c (xcreate_process): Eliminate unneeded variable.
9516
4cf88dd9
CF
9517Sat Apr 29 12:43:08 2000 Christopher Faylor <cgf@cygnus.com>
9518
9519 * setup.c (optionprompt): Don't overlap display of already seen options
9520 on next page.
9521 (geturl): Print name of site which we're connecting to rather than "ftp
9522 site".
9523 (processdirlisting): Avoid URLs that contain a /. or ./ . Is this
9524 test too simplistic?
9525 (do_start_menu): Use pathcat to build path to <root>\bin to avoid
9526 problems when user chooses x:\ as their root.
9527 (main): For now, default to "non-update" mode. Allow -u option to
9528 signify an update.
9529
36591a07
CF
9530Sat Apr 29 00:26:06 2000 Christopher Faylor <cgf@cygnus.com>
9531
9532 * pkg.c: New file.
9533 * setup.c (tarx): Skip already installed or older packages. Report
9534 when a package has been updated.
9535 (processdirlisting): Skip already installed or older packages.
9536 (main): Detect -f option for forced installation. Initialize pkg stuff
9537 if appropriate.
9538 * setup.h: Add pkg definitions.
9539
c298ea4a
CF
9540Thu Apr 27 14:21:30 2000 Christopher Faylor <cgf@cygnus.com>
9541
9542 * setup.c (findhref): Return NULL on empty string. Eat any trailing
9543 ";something".
9544 (processdirlisting): Attempt to limit recursively processing the same
9545 directory.
9546
f4cafa7e
CF
9547Thu Apr 27 11:42:23 2000 Christopher Faylor <cgf@cygnus.com>
9548
9549 * setup.c (filedel): New function.
9550 (output_file): Keep track of files extracted from setup.exe for
9551 subsequent deletion.
9552 (tarx): Close process handle of child tar process or suffer handle
9553 leak.
9554 (getdownloadsource): Close mirror file so that it can be unlinked.
9555 (processdirlisting): Return total number of files extracted.
9556 (main): Initialize array of files to delete. Ensure that files are
9557 closed on exit. Make the directory that setup.exe is started from ==
9558 the directory where temporary files are placed. Issue an error if no
9559 files were found to download.
9560 * xsystem.c (xcreate_process): Close the thread handle. Close the
9561 process handle if we waited for it to exit.
9562
cd475210
CF
9563Thu Apr 27 09:54:19 2000 Christopher Faylor <cgf@cygnus.com>
9564
9565 * setup.c (main): Change version number output.
9566
7dff5e71
CF
9567Thu Apr 27 09:23:17 2000 Christopher Faylor <cgf@cygnus.com>
9568
9569 * setup.c (tarx): Use full path name to tar executable.
9570 (main): Build full pathname to tar executable. Create /usr/local/etc
9571 by default.
9572
99437fdb
CF
9573Wed Apr 26 22:16:57 2000 Christopher Faylor <cgf@cygnus.com>
9574
9575 * setup.c (findhref): Change method for scanning for href= to choose
9576 the last one on the line. This is still not foolproof and probably
9577 will need to be changed eventually. Don't abort if no "size" field is
9578 evident.
9579 (processdirlisting): Fix boolean algebra.
9580
0f562d55
CF
9581Wed Apr 26 01:10:39 2000 Christopher Faylor <cgf@cygnus.com>
9582
9583 * main.c (tarx): Add some code for future task of unmounting
9584 directories encountered in tar file.
9585
4356382d
CF
9586Sat Apr 22 16:37:03 2000 Christopher Faylor <cgf@cygnus.com>
9587
9588 * setup.c (findhref): Decode file size, when appropriate.
9589 (needfile): New function. Returns 1 when file should be
9590 downloaded.
9591 (processdirlisting): Always download if file size does not
9592 match. Prompt when download fails for some reason.
9593 (getdownloadsource): Accomodate findhref argument changes.
9594
6ab1ce6c
CF
9595Sat Apr 22 15:13:42 2000 Christopher Faylor <cgf@cygnus.com>
9596
9597 Throughout, use global session handle rather than reinitializing for
9598 each connect. Don't pass session as an argument to setup.c functions.
9599 * setup.c (geturl): Only issue "Connecting to.." message when using
9600 http or first time for ftp since subsequent connections will be fast.
9601 (processdirlisting): Allocate space for "N" when user has specified
9602 "N"ever option so that it can be subsequently freed.
9603 (main): Abort if we can't get the list of mirrors.
9604
37ee316b
CF
9605Thu Apr 20 16:41:42 2000 Christopher Faylor <cgf@cygnus.com>
9606
9607 * setup.c (main): Umount /bin and /lib.
9608
a59fb4fa
CF
9609Wed Apr 19 13:34:44 2000 Christopher Faylor <cgf@cygnus.com>
9610
9611 * setup.c (main): Create an empty /var/run/utmp.
9612
75f4b861
CF
9613Tue Apr 18 19:16:56 2000 Christopher Faylor <cgf@cygnus.com>
9614
9615 * Makefile.in: Add umount to list of files to include in setup.exe.
9616 * setup.c (xumount): New function for unmounting directories.
9617 (main): Unmount /usr.
9618 (mkmount): Unmount "unix directory" before trying to figure out where
9619 to create the directory.
9620
d4a66789
CF
9621Tue Apr 18 17:28:55 2000 Christopher Faylor <cgf@cygnus.com>
9622
9623 * setup.c (mkmount): Use xcreate_process to start mount process,
9624 avoiding the shell.
9625 (main): Don't do buffering on stdout or prompts won't be displayed
9626 correctly if running in a cygwin shell with CYGWIN=tty.
9627
a6c3982d
CF
9628Tue Apr 18 15:35:19 2000 Christopher Faylor <cgf@cygnus.com>
9629
9630 * setup.c (main): Remove the CYGWIN environment variable before
9631 starting any cygwin programs.
9632
0ffd5e3b
CF
9633Mon Apr 17 19:20:52 2000 Vadim Egorov <egorovv@mailandnews.com>
9634
9635 * setup.c (geturl): Use alternative method for finding filename part of
9636 a URL.
9637 (processdirlisting): Accomodate strange output from non-MS ftp proxy.
9638 (downloaddir): Unlink file containing dir listing.
9639 (downloadfrom): Ditto.
9640
3e54bcf9
CF
9641Mon Apr 17 00:00:49 2000 Christopher Faylor <cgf@cygnus.com>
9642
9643 * setup.c (main): Disallow running setup.exe from the "root".
9644
005b73c4
CF
9645Sun Apr 16 18:50:58 2000 Christopher Faylor <cgf@cygnus.com>
9646
2cf65e6e 9647 Use "warning" function, where appropriate, to output warnings.
005b73c4
CF
9648 * setup.c (warning): New function -- outputs warning to console and log
9649 file.
9650 (tarx): Fix index used to reset file protection.
9651 (main): Open the log file earlier so that more stuff can be sent to it.
9652
36dc5fc8
CF
9653Sat Apr 15 20:05:33 2000 Christopher Faylor <cgf@cygnus.com>
9654
9655 * setup.c (processdirlisting): Make "N" option a little less aggressive.
9656
c73320de
CF
9657Fri Apr 14 11:11:29 2000 Christopher Faylor <cgf@cygnus.com>
9658
9659 * setup.c (tarx): Wait to after tar has completed to reset protections
9660 or suffer races with tar process.
9661
68cdfc92
CF
9662Thu Apr 13 12:51:19 2000 Christopher Faylor <cgf@cygnus.com>
9663
9664 * Makefile.in: Eliminate duplicate -nostdinc from CFLAGS.
9665 * setup.c (create_uninstall): Create the uninstall .bat file in the
9666 "root" so that we can remove the /bin directory. Add bin\cygwin.bat to
9667 list of files to be deleted. Fix directory detection for determining
9668 when to use 'rmdir'.
9669 (do_start_menu): Add /usr/local/bin to the path.
9670 (main): Add slop to files.array allocation so that we don't have to
9671 worry about reallocating the array when it grows too large when doing
9672 some trivial "pushes". Add /tmp and /usr/local/{bin,lib} to list of
9673 files.
9674
35d18861
CF
9675Thu Apr 13 01:59:44 2000 Christopher Faylor <cgf@cygnus.com>
9676
9677 * setup.c (processdirlisting): Fix handling of "A" for "A"lways
9678 download.
9679
20904de1
CF
9680Thu Apr 13 01:11:45 2000 Christopher Faylor <cgf@cygnus.com>
9681
9682 * path.c (kill_cygpath): New cleanup function.
9683 (exit_cygpath): New cleanup function.
9684 (cygpath_pipe): New function. Sets up cygpath in the background for
9685 translating filenames.
9686 (pathcvt): Use background cygpath for file translation.
9687 * setup.c (tarx): New function. Called to extract tar files, capture
9688 logging output, and translate it to Windows format.
9689 (recurse_dirs): Use 'tarx' function to extract files.
9690 (create_uninstall): Use file list built up by tarx rather than reading
9691 the log file.
9692 (mkmount): Add ability to mount root.
9693 (main): Track elapsed install time. Mount root.
9694 * starry.h: Add index field to strarry for tracking of tarx's usage of
9695 this structure.
9696 * xsystem.c (xcreate_process): Return proces handle when not waiting.
9697
c1246750
CF
9698Mon Apr 10 22:44:56 2000 Christopher Faylor <cgf@cygnus.com>
9699
9700 * path.c: New file.
9701 (pathfp): New function. Preliminary work for new -f cygpath
9702 functionality.
9703 * Makefile.in: Add new file.
9704 (pathcvt): Move to new file.
9705 (dtoupath): Ditto.
9706 (utodpath): Ditto.
9707 (pathcat): Ditto.
9708 * setup.c (processdirlisting): Always open file in text mode.
9709 (create_uninstall): Ditto.
9710 (getdownloadsource): Ditto.
9711 (main): Ditto.
9712
4b40edd0
CF
9713Mon Apr 10 20:33:40 2000 Christopher Faylor <cgf@cygnus.com>
9714
9715 * xsystem.c: New file.
9716 * Makefile.in: Accomodate new file.
9717 * setup.c (xsystem): Move to new file.
9718 (recurse_dirs): Accept handle to output log file. Don't use ">"
9719 redirection to trap tar output. Use supplied handle instead.
9720 (create_uninstall): Accept FILE pointer to opened log file. Don't
9721 unlink log file here.
9722 (do_start_menu): Accept FILE pointer to pass to create_uninstall.
9723 (main): Open log file here and pass it to various functions. Unlink
9724 when done.
9725
6f8e3b45
CF
9726Mon Apr 10 17:15:52 2000 Christopher Faylor <cgf@cygnus.com>
9727
9728 Change occurrences of .usr.bin to .bin throughout.
9729 * setup.c (geturl): Increase number of retries to 20. Let user know
9730 what's going on during long connects.
9731 (processdirlisting): Accept "A"lways and "N"ever as update options.
9732 (create_uninstall): Load cygwin1.dll from the current directory rather
9733 than \bin.
9734 (main): Add some expository text.
9735
2a907b70
CF
9736Sun Apr 9 20:59:15 2000 Christopher Faylor <cgf@cygnus.com>
9737
9738 * Makefile.in: Change method for compressing cygwin1.dll to avoid
9739 creating a cygwin1.dll in the current directory. Ensure the addition
9740 of -nostdinc to MINGW_CFLAGS.
9741
c4285a3c
CF
9742Sun Apr 9 02:15:47 2000 Christopher Faylor <cgf@cygnus.com>
9743
9744 * Makefile.in: Augment clean target.
9745
ea615d51
RP
9746Fri Apr 7 17:04:02 Ron Parker <rdparker@sourceware.cygnus.com>
9747
9748 * README: Added info about non-working mingw implementation
c1246750 9749 * gzip.exe.gz: Replace with a version from the same build as the other
ea615d51 9750 tools.
c1246750 9751 * tar.exe.gz: Replace with a version from the same build as the other
ea615d51 9752 tools.
c1246750 9753 * mount.exe.gz: Add to repository until, mingw can build setup.
ea615d51
RP
9754 * cygpath.exe.gz: ditto
9755 * cygwin1.dll.gz: ditto
c1246750
CF
9756 * setup.c: Overwrite /bin and /lib mounts. Generate working shortcut
9757 for Win9x. Display only a screenfull of options at a time. Call all
9758 tools with an absolute path.
9759 * setup.dsp: Restore the carriage returns, MS Developer Studio needs
9760 them.
ea615d51
RP
9761 * setup.dsw: ditto
9762 * zlib.dsw: ditto
9763
51954e74
CF
9764Thu Apr 6 19:15:27 2000 Christopher Faylor <cgf@cygnus.com>
9765
c1246750
CF
9766 * Makefile.in: Add "-nostdinc" to regular CFLAGS. Add target to grab
9767 cygwin1.dll from ../cygwin subdirectory.
51954e74
CF
9768 * gzip.exe.gz: Update.
9769 * tar.exe.gz: Update.
9770
7b777418
CF
9771Wed Apr 5 10:52:08 2000 Christopher Faylor <cgf@cygnus.com>
9772
9773 * Makefile.in: Use ZLIB variable as a target.
9774
4306b490
CF
9775Sat Apr 1 22:49:09 2000 Christopher Faylor <cgf@cygnus.com>
9776
5e7eb909
CF
9777 * Makefile.in: Eliminate traces of cygwinisms. Don't link with
9778 libmsvcrt.a. It's unneeded. Build .rc file on the fly from various
9779 sources.
4306b490
CF
9780 * configure.in: Locate correct objcopy.
9781 * configure: Regenerate.
9782
739457f4
CF
9783Sat Apr 1 20:48:09 2000 Christopher Faylor <cgf@cygnus.com>
9784
9785 * Makefile.in: New file.
9786 * configure.in: New file.
9787 * configure: New file.
9788 * zlib/Makefile.am: New file.
9789 * zlib/configure.in: New file.
9790 * zlib/aclocal.m4: New file.
9791 * zlib/acinclude.m4: New file.
9792 * zlib/configure: Regenerate from configure.in.
9793 * zlib/Makefile.in: Regenerate from Makefile.am
8507f105
DD
9794
9795%%% $Id$
9796$Revision$
This page took 1.344086 seconds and 5 git commands to generate.