Commit Graph

42 Commits

Author SHA1 Message Date
dsl
7ef7a3f227 Checkpoint a load of changes - seems to work ok still.
- rework run_prog() so that the program name (etc) is usually displayed if
  the program generates any output, or terminates with an error.
  Allow arguments to included in single quotes.
  Try to collect console output so it doesn't interfere with curses.
- Add a '*' to the cylinder count if non-integral number of cylinders
  (on disklabel editor)
- Only show partition type for unused partitions.
- Show size including unused space on '+' partition, remove a..z since
  the don't relate to partition IDs (netbsd partition sizes)
- Fix deleting of 'user' partitions - killed size of next ptn.
- Don't default a swap partition is the disk already has one.
- Fix deleting of extended MBR partitions - changed size of ptn 2.
- Show error message if user tries something illegal in mbr editor.
- Default to old diskname (actually disk type - dunno why!)
- Use MI enable_rc_conf() to set RC_CONFIGURED=YES, use a single sed
  command instead of a raft of code playing with files etc.
- Float some menus to just below header text, saves counting and lets
  language variants have different height headers (use y=-1)
- Track whether anything is mounted on /mnt2 better.
- Put more texts into message file.
- Change english prose texts to be more correct.
- Stop french and polish versions core dumping if ptn start/size changed.
- Fix processing logic for saving /etc (action is still borked)
- Do tail-end setup if any sets (eg X) can't be found (but not if you give
  in (yet)).
2003-10-19 20:17:31 +00:00
dsl
02dbd70852 Remove extra process and pipe that relayed data from the master pty
to sysinst's main process when a command is run (eg the file list from pax).
Since the pty is in 'packet' mode, the boundaries of the pty reads would
need to be preserved in order to detect control records.
If the pipe became full the main process could treat part of a filename
as a control byte and then save the rest of the name as tty settings.
The effect of 'random' tty settings is unknown, but could be responsible
for core dumps while displaying the full file list from pax.
I suspect that the extra pipe was originally used because select wasn't
supported on the master side of a pty (not checked).

Also cd out of /targetroot if set installation is killed with ^C ^C.
2003-07-28 11:32:21 +00:00
dsl
96ace5d58c Remove 'menu_ent' parameter from action routines.
Add menu for all disklabel partition types.
Default 'partition type' and 'sizechoice' menus to current value.
Change 'standard/use existing' to 'set sizes/use existing'.
2003-07-27 07:45:08 +00:00
dsl
da36837548 Copy /etc.old back to /etc if it was saved, but we didn't actually
install the ETC set.
2003-07-18 09:46:11 +00:00
dsl
5a411fd464 Create mount point used for target system. 2003-07-09 20:02:35 +00:00
dsl
0e919832bd Another pass of the rototiller. Mainly:
1) New MBR editor
2) Hierarchic timezone menu
2003-07-07 12:30:19 +00:00
dsl
16a2d1e961 Add run-time selection of installation language.
Make 'doingwhat' an argument to find_disks() instead of a global.
2003-06-27 22:20:14 +00:00
dsl
9ef6b561d7 Add a -D (debug) option for testing.
Ignore inability to remove swap if -D specified.
Select disk before sets (but label after)
Let mac68k sysinst run on i386.
2003-06-25 15:45:21 +00:00
dsl
08fc1c1957 A load of KNF changes, plus a couple of strnxxx => strlxxx my fingers did
on the way through.
2003-06-16 19:42:13 +00:00
dsl
3316b2a3d8 Use dynamic menu for final editing of partition stable 2003-06-10 17:47:15 +00:00
dsl
d19795892c A rototil of the partition size requesting code. 2003-06-04 20:05:12 +00:00
dsl
19b2fb2fb0 Add NULL to all process_menu() calls - value is passed through to the
action routine.
Make the french and polish versions compile.
NB needs a new version of menuc - so need 'build.sh tools'
2003-06-03 11:54:48 +00:00
christos
2d7e213ded pass lint[pass1] 2003-01-10 20:00:27 +00:00
fvdl
171b46b525 FILE *log -> FILE *logfp, to avoid warnings about gcc-current's
builtin log() function.
2002-12-05 01:17:15 +00:00
grant
32c14ac1fc refresh screen before processing menus. 2002-07-27 10:02:50 +00:00
lukem
29f550aa8c - Replace make(1) and -D FTP_HOST with SYSINST_FTP_HOST.
Defaults to "ftp.netbsd.org"
- Replace make(1) and -D FTP_DIR with SYSINST_FTP_DIR.
  Defaults to "pub/NetBSD/NetBSD-" + VER + "/" + MACH.
  (FTP_DIR used to override "pub/NetBSD/NetBSD-", which meant the
  path name had to contain the release version in it)
- Add make(1) and -D SYSINST_CDROM_DIR.
  Defaults to "/" + mach.
- only append ftp_prefix to ftp_dir and cdrom_dir once, just after
  the options are parsed.  Do this in newly added set_defaults().
2002-06-06 09:53:22 +00:00
perry
b4109e020f XXX if a color term, do color. horrible kludge. 2001-11-17 02:06:47 +00:00
scottr
d4a2f03f78 Add support for FTP through a web proxy (via the ftp_proxy environment
variable).
2001-06-06 23:12:48 +00:00
mrg
8da46e6897 de-__P()-ify 2000-12-22 10:12:12 +00:00
minoura
fa875fd970 Welcome message `If you booted from a floppy,...' is somewhat port-specific
instruction.
Create md_hello message and move that message to it.

Port-maintainers: please reflect the reality of your port.
Someone who can write french: please correct *.fr catalogue.
2000-12-03 01:54:46 +00:00
fvdl
30b8888d4a * Change the interface of run_prog: use a flags argument instead of
seperate booleans. Add flags to run as a plain 'system()' command,
  fullscreen (but on a pty), and chrooted, and implement their
  functionality. Add a bit of TIOCPKT handling code to handle
  programs messing with term settings better.
* Ask to set the root password at the end of an install.
* Remove a few unneeded comments.
* Sprinkle some touchwin() calls here and there to make the output cleaner.
  They shouldn't really be needed, but even normal usage (no syslog
  messages) even left the screen messy sometimes.
* Change some messages around that were apparently swapped by accident and
  thus caused confusion.
2000-10-11 23:47:55 +00:00
fvdl
4ee4b50498 Add a definition for md_init(), an MD function to initialize whatever
needs to be initialized before sysinst starts processing menus.
Call it from main().
2000-10-02 09:26:26 +00:00
hubertf
6458701315 fix typo 2000-05-11 02:23:53 +00:00
cgd
092b1acdb4 now that msg_window returns a value, check it 1999-06-22 15:04:15 +00:00
cgd
afa3578c2f provide a way to ignore tty-generated signals (INTR and QUIT) and/or
forward them on to subprocesses.  nice when running a subprocess in
a display window to allow the user to kill the subprocess w/o nuking
sysinst itself.  add handling for QUIT, which gets handled the same
as intr.  add handling for HUP which just cleans up.  More signals
should be handled.
1999-06-22 00:43:57 +00:00
cgd
a640bc7014 copyright notice typo fixups, as noticed in PR#7248. This software
was developed, not develooped.
1999-06-20 06:08:13 +00:00
garbled
128b6749ab Check the return code of subwin and newwin for NULL. 1999-06-20 04:17:57 +00:00
cgd
fb8da4672e initialize the menu systerm before setting up the message window. Then
use stdscr's maxx and maxy to set up the message window rather than hard
coding 78 and 22, respectively.  The latter, combined with large messages
and a relatively small screen (and perhaps badly-placed menus), would seem
to cause the SEGVs reported in PR#7806.  (For certain window sizes, the
menu system would reject the menus as too small, but for others sysinst
would just crash.)
1999-06-19 06:52:22 +00:00
cgd
bf0ffa5211 * hitting control-c (causing SIGINTR) would cause the SIGINTR handler to
be called.  it'd cleanup() then exit().  however, cleanup() is scheduled
  to run at exit via atexit().  This means that it gets run twice, and
  this causes confusion for things like endwin().  The end result is
  that rather than actually exiting and printing the "sysinst terminated"
  message, after one control-c it looks like it's still sitting at the
  last screen you were viewing even though it's actually at a shell prompt.
  squelch the cleanup() in the SIGINTR handler to avoid this problem.
* while here, nuke the annoying space before the "sysinst terminated."
  message.  it looks bad, and serves no purpose.
1999-06-18 08:54:28 +00:00
bouyer
04f9354ab3 Some fixes for the do_install() function:
- Make all the functions called from do_install() return an error code,
  so that we can abort install if something went wrong.
- Add a 'errstr' argument to run_prog(), which if not NULL is displayed
  with msg_printf() and followed by process_menu(MENU_ok) if the command fail.
  Used to warn the user that the current action is aborted.
- in a few places use msg_display() or msg_printf() rather than printf.
  It seems that stdout/stderr are not always pointing to the active curses
  window.
- garbage-collecd unused messages, add a few new one (error handling).
XXX only tested on i386. Other md parts should be tested as well.
1999-04-09 10:24:38 +00:00
fvdl
a5d73e00eb Rework the MBR code, and some of the labelling code.
* Use structures, not 2-dimensional arrays..
	* Use the DIOCGDEFLABEL ioctl to get the disk information,
	  to avoid confusion with (older) labels.
	* Don't ever call fdisk for partitioning. This was the
	  source of much confusion.
	* For the i386, use the BIOS geometry information passed by
	  the bootblocks.

Lots of things left to do, but it's a start.
1999-03-31 00:44:48 +00:00
garbled
865c31ac7b This change includes the following:
Scripting and logging functionality for sysinst.
Child programs are run in a "display window" so you can actually see what
	they did before the screen flashes back and you loose it all.
Lots of curses fixups.  Removed nasty endwins that mangled the tty upon
	rentry.
Change the yes/no box to accept Y or N, and not require cursor motion to
	decide one or the other.
Perform curses redraws when doing things that could cause the kernel to
	spew printfs onto your screen.
1999-01-21 08:02:17 +00:00
phil
be6397e767 Implement a config file (-f file) option that overrides compiled in
defaults for things like rel (release number), ftp host, ftp prefix,
cdrom device, cdrom directory and others.
1998-10-25 19:15:04 +00:00
mrg
d1b0d1b602 KNF. 1998-06-20 13:05:48 +00:00
simonb
424f55f4b5 Add a cleanup function (set with atexit()) that shuts down curses nicely
and unmounts any filesystems left mounted when sysinst exits under any
circumstances.
1997-12-05 13:38:59 +00:00
jonathan
fc3fa7cd7f Implement TODO item to unwind target mounts on completion:
* Add mount_with_unwind() that adds mountpoint to a LIFO queue
    of  mountpoints to undo on error.   Use in target_mount().
  * Add unwind_mounts() which traverses the LIFO queue and unmounts
    filesystems, silently ignoring errors.
  * create toplevel() function which displays banner message and
    calls unwind_mounts().
  * change toplevel menu to call toplevel() instead of inline banner.

Where to do unwinds needs more thought.  Perhaps we should only unwind
if an upgrade or install appears unsuccessful, so after a successful
install, the target is mounted (e.g., for upgrading /etc/rc.conf).
1997-12-04 09:05:35 +00:00
thorpej
75dd009b1d Update for the lay-of-the-land as described in release(7). As such, move
all pathname-on-server related definitions to MI code, since they are now
defined to be consistent across all platforms.  Also, nuke the "rels" global,
since release numbers are now always specified in "long form", i.e. 1.3A
vs. 13A.
1997-11-25 06:53:07 +00:00
simonb
b80b4d1cd0 Catch SIGINT and do a endwin() to leave tty in a sane state. 1997-11-21 12:08:06 +00:00
phil
5337c61bc4 -TODO: Remove names as they were source name rather than names of who should
do it.
-change install confirmation message to outline install process
-move english print text into msg.mi.eng.
1997-11-09 15:54:15 +00:00
phil
9e973cbe0a - extract_dist now uses dist_list to know which to extract
- Added -r rel flag to change the release tag on the tar files.
- Added Usage
- Fixed a menu bug (missing exit)
- Made target_expand available to all functions to produce correct
	file names.
1997-11-04 01:39:03 +00:00
phil
2cb88494a3 Tweeks to editing file system partitions, fix for PR4405, adding a method
to reselect the allocation multiplier while editing a disklabel.
1997-10-31 23:00:32 +00:00
phil
af1d23bed3 Import of sysinst. Not quite ready, but other ports want access for
parallel development.  i386 version about 90% complete.  pc532 version
just started, other architectures later in coordination with portmasters.

This is a curses based, menu driven installation program.

Better error checking is needed.
1997-09-26 23:02:53 +00:00