11.1Sdholland#	$NetBSD: TODO,v 1.1 2014/07/26 19:30:44 dholland Exp $
21.1Sdholland
31.1SdhollandThings to do ....  in no specific order.
41.1Sdholland
51.1Sdholland	-- On error messages, do something to allow the user to
61.1Sdholland	   see any errors from anything run by run_prog().
71.1Sdholland	   Ideas suggested  maximum entropy <entropy@zippy.bernstein.com>.
81.1Sdholland	   are:
91.1Sdholland
101.1Sdholland	   #1:
111.1Sdholland		if (run_prog("foo") != 0)
121.1Sdholland			sleep(5);
131.1Sdholland
141.1Sdholland	   #2:	   
151.1Sdholland		endwin();
161.1Sdholland		run_prog("foo");
171.1Sdholland		printf("press return to continue");
181.1Sdholland		getchar();
191.1Sdholland		initscr();
201.1Sdholland
211.1Sdholland	   #3: (modification of #2):
221.1Sdholland
231.1Sdholland		endwin();
241.1Sdholland		if (run_prog("foo") != 0) {
251.1Sdholland			printf("press return to continue");
261.1Sdholland			getchar();
271.1Sdholland		}
281.1Sdholland		initscr();
291.1Sdholland
301.1Sdholland	   #4:
311.1Sdholland
321.1Sdholland		Manually fork and exec everything, dup2 fd's 1 and 2
331.1Sdholland		onto sockets in the child, and paginate the output in
341.1Sdholland		your curses app :-)
351.1Sdholland
361.1Sdholland	   We currently implement a special-case variant of #1 for untarring
371.1Sdholland	   release sets, since the GNU tar in 1.3 fails to report many
381.1Sdholland	   errors in its exit status.
391.1Sdholland
401.1Sdholland        -- "browse" for a local directory to get the
411.1Sdholland           distribution set from.  Maybe just allowing the user to shell
421.1Sdholland           out and look around is good enough (this needs more thought).
431.1Sdholland
441.1Sdholland	-- check for already-mounted filesystems before install newfs.
451.1Sdholland	   Abort with message.
461.1Sdholland
471.1Sdholland	-- check for already-mounted filesystems before upgrade fsck.
481.1Sdholland	   (ignore?)
491.1Sdholland
501.1Sdholland	-- check for already-mounted filesystems before upgrade mount.
511.1Sdholland	   Continue, if device mount is where we wanted it?
521.1Sdholland
531.1Sdholland	    (Jonathan ran into the above 3 by upgrading from a live
541.1Sdholland	    system to a scratch disk.  sysinst copied the live /etc/fstab
551.1Sdholland	    to the target. The upgrade failed because sysinst wanted
561.1Sdholland	    to mount the active system's /usr. Could happen when a
571.1Sdholland	    real upgrade aborts, even running from ramdisk root.)
581.1Sdholland
591.1Sdholland	-- Handle ccd's and raid's during an upgrade.
601.1Sdholland
611.1Sdholland        -- Use bootp or dhcp to get network info (hostname, domain name,
621.1Sdholland           name servers, ...)
631.1Sdholland
641.1Sdholland	-- Things like having config_network()
651.1Sdholland           possibly use the information on the fixed disk instead of having
661.1Sdholland           to ask everything.
671.1Sdholland
681.1Sdholland        -- Build the disktab as a profile, not a true /etc/disktab so it
691.1Sdholland           doesn't overwrite the real disktab.
701.1Sdholland
711.1Sdholland        -- Have both ftp and floppy gets get the file, extract the file,
721.1Sdholland           and then remove the file before going on to the next set to
731.1Sdholland           save disk space.
741.1Sdholland
751.1Sdholland        -- Set current time and date.
761.1Sdholland
771.1Sdholland	-- Configure NTP servers, set NTP in rc.conf
781.1Sdholland
791.1Sdholland	-- On i386 (and others) allow for storing localtime in the RTC.
801.1Sdholland	   Need to patch kernel variable with offset from UTC.  Any
811.1Sdholland	   other kernel variables we might want to patch as well???
821.1Sdholland
831.1Sdholland        -- A little more clean-up of the run_prog suite so things work
841.1Sdholland           nicely for all ports.
851.1Sdholland
861.1Sdholland	-- fix "disklabel -r -w" vs. "disklabel -w": I still don't grok why
871.1Sdholland           the  -r, and the manpage says it will lose totally on sparcs.
881.1Sdholland           Phil, was there some reason to bypass the incore label on i386?
891.1Sdholland           Can we just do "disklabel -w" everywhere?
901.1Sdholland
911.1Sdholland	-- Michael bumped the in-memory disklabel struct up to 16 entries.
921.1Sdholland 	   Also add a runtime check in case that grows in future 
931.1Sdholland	   (e.g., slices).  Maybe bump to 32 entries just in case.
941.1Sdholland
951.1Sdholland	-- Fix sanity-check message code. It currently gets over-written
961.1Sdholland	   immediately by the following message.
971.1Sdholland
981.1Sdholland	-- check for disklabel edits changing active root partition.
991.1Sdholland	   reject.
1001.1Sdholland
1011.1Sdholland	-- remove any possibly-stale ld.so.cache files from the target
1021.1Sdholland           /etc after unpacking sets. Maybe just don't copy ld.so.cache
1031.1Sdholland           from /etc.old?
1041.1Sdholland
1051.1Sdholland	-- Full configuration of rc.conf?
1061.1Sdholland
1071.1Sdholland	-- If we're doing a fresh install and there's already a label
1081.1Sdholland	   on the disk, maybe use that instead of the compiled-in default
1091.1Sdholland	   label?
1101.1Sdholland
1111.1Sdholland	-- symlinks for /tmp (/tmp -> /var/tmp or some such)
1121.1Sdholland
1131.1Sdholland	-- Do non-standard installs from arbitrary tar files (?)
1141.1Sdholland
1151.1Sdholland	-- Install binary packages.  (possibly a second program
1161.1Sdholland	   run after installation.)
1171.1Sdholland
1181.1Sdholland	-- Provide the user a menu to select each installation step on
1191.1Sdholland	   its own. Currently there's no way to repeat steps or leave
1201.1Sdholland	   them out. (See the Debian installer for a good example.)
1211.1Sdholland
1221.1Sdholland	-- Allow the user to install binary snapshots available from releng.
1231.1Sdholland	   This could be done in the following way:
1241.1Sdholland		* list the available snapshots in ftp.NetBSD.org
1251.1Sdholland		  (eg.: ls /pub/NetBSD-daily/*/*/${ARCH} using ftp(1)).
1261.1Sdholland		* present the user with the possible selections (handle the
1271.1Sdholland		  case of zero options).
1281.1Sdholland		* set the variables and install via FTP showing first the
1291.1Sdholland		  FTP installation screen.
130